UNPKG

siegel

Version:

Web application development ecosystem

72 lines (58 loc) 1.46 kB
type State<_E> = { byID: Obj<_E>, sorted: string[] } type Entities<Entity extends Obj = Obj> = { /** * Deletes all the entities from struct */ clear(): Entities<Entity> /** * Populates struct with one entity * Replaces entity if already exists */ addOrUpdate(entity: Entity): Entities<Entity> /** * Populate struct with multiple entities * Replaces entity if already exists */ addAll( entities: Entity[], postProcessEach?: (entity: Entity, index: number) => void ): Entities<Entity> /** * Removes an entity from struct */ remove(entityID: string): Entities<Entity> /** * Sort entities */ sort(cb: (entity_a: Entity, entity_b: Entity) => number): Entities<Entity> /** * Iterates over all entities * Breaks iteration if true is returned from callback */ each(cb: (entity: Entity, index: number) => boolean | void): Entities<Entity> /** * Get entity by id */ get(id: string): Entity | undefined /** * Entities count */ len(): number /** * Receives entities the way they stored */ raw(): State<Entity> /** * Last update occured timestamp */ lastUpdated: number /** * [ UNSAFE !!! ] * Replaces existing entities with new ones */ setRaw(newState: State<Entity>): Entities<Entity> } export type { Entities }