From 22877f3fc5394d14b0b71659eda0ddf9341b967e Mon Sep 17 00:00:00 2001 From: Junjie <138041510+NormalDuck@users.noreply.github.com> Date: Sat, 17 May 2025 16:44:22 -0700 Subject: [PATCH] Allow world.add() to accept component, add world.entity overload (#225) * fix: allow components for world.add in typescript * fix: add overload for world.entity * build: downgrade deps to v0.6.0 * fix: world.entity accepts entity instead of number * fix: allow union undefined union to be passed in .add --- jecs.d.ts | 3 ++- package-lock.json | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/jecs.d.ts b/jecs.d.ts index 01239fd..6047d30 100644 --- a/jecs.d.ts +++ b/jecs.d.ts @@ -120,6 +120,7 @@ export class World { * @returns An entity (Tag) with no data. */ entity(): Tag; + entity(id: T): InferComponent extends undefined ? Tag : T; /** * Creates a new entity in the first 256 IDs, typically used for static @@ -148,7 +149,7 @@ export class World { * @param entity The target entity. * @param component The component (or tag) to add. */ - add(entity: Entity, component: Id): void; + add(entity: Entity, component: undefined extends InferComponent ? C : Id): void; /** * Assigns a value to a component on the given entity. diff --git a/package-lock.json b/package-lock.json index ba8032d..ee2861d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@rbxts/jecs", - "version": "0.6.0-rc.1", + "version": "0.6.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@rbxts/jecs", - "version": "0.6.0-rc.1", + "version": "0.6.0", "license": "MIT", "devDependencies": { "@rbxts/compiler-types": "^2.3.0-types.1",