diff --git a/jecs.luau b/jecs.luau index eef2e2f..d5a3c82 100755 --- a/jecs.luau +++ b/jecs.luau @@ -41,16 +41,8 @@ export type Iter = (query: Query) -> () -> (Entity, T...) export type Query = typeof(setmetatable( {} :: { iter: Iter, - with: ((Query, Id) -> Query) - & ((Query, Id, Id) -> Query) - & ((Query, Id, Id, Id) -> Query) - & ((Query, Id, Id, Id) -> Query) - & ((Query, Id, Id, Id, Id) -> Query), - without: ((Query, Id) -> Query) - & ((Query, Id, Id) -> Query) - & ((Query, Id, Id, Id) -> Query) - & ((Query, Id, Id, Id) -> Query) - & ((Query, Id, Id, Id, Id) -> Query), + with: ((Query, ...Id) -> Query), + without: ((Query, ...Id) -> Query), archetypes: (self: Query) -> { Archetype }, cached: (self: Query) -> Query, ids: { Id }, @@ -169,9 +161,9 @@ export type World = { observable: Map>, - added: (World, Entity, (e: Entity, id: Id, value: T, oldarchetype: Archetype) -> ()) -> () -> (), + added: (World, Entity, (e: Entity, id: Id, value: T, oldarchetype: Archetype) -> ()) -> () -> (), removed: (World, Entity, (e: Entity, id: Id) -> ()) -> () -> (), - changed: (World, Entity, (e: Entity, id: Id, value: T, oldarchetype: Archetype) -> ()) -> () -> (), + changed: (World, Entity, (e: Entity, id: Id, value: T, oldarchetype: Archetype) -> ()) -> () -> (), --- Enforce a check on entities to be created within desired range range: (self: World, range_begin: number, range_end: number?) -> (),