Improve set overloads (#237)
Some checks are pending
analysis / Run Luau Analyze (push) Waiting to run
deploy-docs / build (push) Waiting to run
deploy-docs / Deploy (push) Blocked by required conditions
publish-npm / publish (push) Waiting to run
unit-testing / Run Luau Tests (push) Waiting to run

* Improve set overloads

* Change type generic
This commit is contained in:
dai 2025-06-09 16:37:52 +02:00 committed by GitHub
parent 8e35900f65
commit 28ef8d7234
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

20
jecs.d.ts vendored
View file

@ -150,6 +150,14 @@ export class World {
* @param component The component (or tag) to add.
*/
add<C>(entity: Entity, component: undefined extends InferComponent<C> ? C : Id<undefined>): void;
/**
* Assigns a value to a component on the given entity.
* @param entity The target entity.
* @param component The component definition (could be a Pair or Entity).
* @param value The value to store with that component.
*/
set<T>(entity: Entity, component: Id<T>, value: T): void;
/**
* Installs a hook on the given component.
@ -158,15 +166,13 @@ export class World {
* @param value The hook callback.
*/
set<T>(component: Entity<T>, hook: StatefulHook, value: (e: Entity<T>, id: Id<T>, data: T) => void): void;
set<T>(component: Entity<T>, hook: StatelessHook, value: (e: Entity<T>, id: Id<T>) => void): void;
/**
* Assigns a value to a component on the given entity.
* @param entity The target entity.
* @param component The component definition (could be a Pair or Entity).
* @param value The value to store with that component.
* Installs a hook on the given component.
* @param component The target component.
* @param hook The hook to install.
* @param value The hook callback.
*/
set<E extends Id<unknown>>(entity: Entity, component: E, value: InferComponent<E>): void;
set<T>(component: Entity<T>, hook: StatelessHook, value: (e: Entity<T>, id: Id<T>) => void): void;
/**
* Cleans up the world by removing empty archetypes and rebuilding the archetype collections.