Factory
Factories are tasked with creating instances of their corresponding Entity and managing the internal cache for that Entity type. So, for example, the Security Token Factory is tasked with fetching necessary data to instance a Security Token, as well as fetching/refreshing the internal Security Token cache
Type parameters
▪ EntityType: Entity‹T›
▪ T: any
▪ U: any
Hierarchy
Factory
↳ Erc20TokenBalanceFactory
↳ InvestmentFactory
↳ SimpleStoFactory
↳ TieredStoFactory
↳ TokenholderFactory
↳ TaxWithholdingFactory
↳ WalletFactory
Index
Constructors
constructor
Properties
Entity
cache
context
Methods
create
fetch
refresh
update
Constructors
constructor
+ new Factory(eClass
: EntityClass‹T, U›, context
: Context): Factory
Create a factory that can generate an entity
Parameters:
Name
Type
eClass
context
Returns: Factory
Properties
Entity
• Entity: EntityClass‹T, U›
entity class that this Factory is in charge of generating and caching
cache
• cache: object
Type declaration:
[ key: string]: EntityType | undefined
context
• context: Context
Methods
create
▸ create(uid
: string, params
: T): EntityType
Get an entity from the cache. Creates it if it isn't cached, updates it if it is
Parameters:
Name
Type
Description
uid
string
unique identifier for the entity
params
T
constructor data for the entity
Returns: EntityType
fetch
▸ fetch(uid
: string): Promise‹EntityType›
Get an entity from the cache. Fetches the necessary data to create it if it isn't cached, refreshes it if it is
Parameters:
Name
Type
Description
uid
string
unique identifier for the entity
Returns: Promise‹EntityType›
refresh
▸ refresh(uid
: string): Promise‹void›
Fetch the data for an entity and updates its properties
Parameters:
Name
Type
Description
uid
string
unique identifier for the entity
Returns: Promise‹void›
update
▸ update(uid
: string, params
: Partial‹T›): Promise‹void›
Update an entity's properties in place
Parameters:
Name
Type
Description
uid
string
unique identifier for the entity
params
Partial‹T›
properties that should be updated
Returns: Promise‹void›
Last updated
Was this helpful?