diff --git a/jecs.d.ts b/jecs.d.ts
index 9bdc31f..6264ec7 100755
--- a/jecs.d.ts
+++ b/jecs.d.ts
@@ -43,35 +43,35 @@ type InferComponents = { [K in keyof A]: InferComponent };
type ArchetypeId = number;
export type Column = T[];
-export type Archetype = {
+export type Archetype = {
id: number;
types: number[];
type: string;
entities: number[];
columns: Column[];
- columns_map: Record>
+ columns_map: { [K in T[number]]: Column> };
};
type Iter = IterableFunction>;
-export type CachedQuery = {
+export type CachedQuery = {
/**
* Returns an iterator that produces a tuple of [Entity, ...queriedComponents].
*/
- iter(): Iter;
+ iter(): Iter>;
/**
* Returns the matched archetypes of the query
* @returns An array of archetypes of the query
*/
archetypes(): Archetype[];
-} & Iter;
+} & Iter>;
-export type Query = {
+export type Query = {
/**
* Returns an iterator that produces a tuple of [Entity, ...queriedComponents].
*/
- iter(): Iter;
+ iter(): Iter>;
/**
* Creates and returns a cached version of this query for efficient reuse.
@@ -99,7 +99,7 @@ export type Query = {
* @returns An array of archetypes of the query
*/
archetypes(): Archetype[];
-} & Iter;
+} & Iter>;
export class World {
/**
@@ -246,11 +246,11 @@ export class World {
* @param components The list of components to query.
* @returns A Query object to iterate over results.
*/
- query(...components: T): Query>;
+ query(...components: T): Query;
- added(component: Entity, listener: (e: Entity, id: Id, value: T) => void): () => void
- changed(component: Entity, listener: (e: Entity, id: Id, value: T) => void): () => void
- removed(component: Entity, listener: (e: Entity, id: Id) => void): () => void
+ added(component: Entity, listener: (e: Entity, id: Id, value: T) => void): () => void;
+ changed(component: Entity, listener: (e: Entity, id: Id, value: T) => void): () => void;
+ removed(component: Entity, listener: (e: Entity, id: Id) => void): () => void;
}
export function world(): World;
@@ -297,11 +297,11 @@ export function ECS_PAIR_FIRST(pair: Pair): number;
export function ECS_PAIR_SECOND(pair: Pair): number;
type StatefulHook = Entity<(e: Entity, id: Id, data: T) => void> & {
- readonly __nominal_StatefulHook: unique symbol,
-}
+ readonly __nominal_StatefulHook: unique symbol;
+};
type StatelessHook = Entity<(e: Entity, id: Id) => void> & {
- readonly __nominal_StatelessHook: unique symbol,
-}
+ readonly __nominal_StatelessHook: unique symbol;
+};
export declare const OnAdd: StatefulHook;
export declare const OnRemove: StatelessHook;
@@ -319,12 +319,17 @@ export declare const Exclusive: Tag;
export declare const Rest: Entity;
export type ComponentRecord = {
- records: Map,
- counts: Map,
- size: number,
-}
+ records: Map;
+ counts: Map;
+ size: number;
+};
-export function component_record(world: World, id: Id): ComponentRecord
+export function component_record(world: World, id: Id): ComponentRecord;
-export function bulk_insert(world: World, entity: Entity, ids: C, values: InferComponents): void
-export function bulk_remove(world: World, entity: Entity, ids: Id[]): void
+export function bulk_insert(
+ world: World,
+ entity: Entity,
+ ids: C,
+ values: InferComponents,
+): void;
+export function bulk_remove(world: World, entity: Entity, ids: Id[]): void;