diff --git a/src/jecs.d.ts b/src/jecs.d.ts index 5b18303..0c79c54 100755 --- a/src/jecs.d.ts +++ b/src/jecs.d.ts @@ -30,19 +30,15 @@ export type Pair

= number & { * An `Id` can be either a single Entity or a Pair of Entities. * By providing `TData`, you can specifically require an Id that yields that type. */ -export type Id = - | Entity - | Pair - | Pair; +export type Id = Entity | Pair | Pair; -export type InferComponent = - E extends Entity - ? D - : E extends Pair - ? P extends TagDiscriminator - ? O - : P - : never; +export type InferComponent = E extends Entity + ? D + : E extends Pair + ? P extends TagDiscriminator + ? O + : P + : never; type FlattenTuple = T extends [infer U] ? U : LuaTuple; type Nullable = { [K in keyof T]: T[K] | undefined }; @@ -67,7 +63,7 @@ type Iter = IterFn & { * @hidden * @deprecated */ - (): never; + (): never }; export type CachedQuery = { @@ -182,10 +178,7 @@ export class World { * @param entity The target entity. * @param component The component (or tag) to add. */ - add( - entity: Entity, - component: TagDiscriminator extends InferComponent ? C : Id, - ): void; + add(entity: Entity, component: TagDiscriminator extends InferComponent ? C : Id ): void; /** * Installs a hook on the given component. @@ -193,11 +186,7 @@ export class World { * @param hook The hook to install. * @param value The hook callback. */ - set( - component: Entity, - hook: StatefulHook, - value: (e: Entity, id: Id, data: T) => void, - ): void; + set(component: Entity, hook: StatefulHook, value: (e: Entity, id: Id, data: T) => void): void; set(component: Entity, hook: StatelessHook, value: (e: Entity, id: Id) => void): void; /** * Assigns a value to a component on the given entity. @@ -301,10 +290,7 @@ export class World { 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; + changed(component: Entity, listener: (e: Entity, id: Id, value: T) => void): () => void; removed(component: Entity, listener: (e: Entity, id: Id) => void): () => void; } @@ -381,14 +367,14 @@ export type ComponentRecord = { export function component_record(world: World, id: Id): ComponentRecord; -type TagToUndefined = T extends TagDiscriminator ? undefined : T; -type TrimOptional = T extends [...infer L, infer R] - ? unknown extends R - ? L | T | TrimOptional +type TagToUndefined = T extends TagDiscriminator ? undefined : T +type TrimOptional = T extends [...infer L, infer R] + ? unknown extends R + ? L | T | TrimOptional : R extends undefined ? L | T | TrimOptional : T - : T; + : T export function bulk_insert( world: World, @@ -399,9 +385,9 @@ export function bulk_insert( export function bulk_remove(world: World, entity: Entity, ids: Id[]): void; export type EntityRecord = { - archetype: Archetype; - row: number; - dense: number; + archetype: Archetype, + row: number, + dense: number, }; export function record(world: World, entity: Entity): EntityRecord;