From e2ab3be3e5c0264441b1ec801ac6e51fd8ee2263 Mon Sep 17 00:00:00 2001 From: dai Date: Sun, 21 Sep 2025 19:11:14 +0200 Subject: [PATCH] Make optionals not required in bulk_insert (#281) * Allow any amount of undefined in bulk_insert * Also handle unknown --- jecs.d.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/jecs.d.ts b/jecs.d.ts index 65b6728..d2cb20d 100755 --- a/jecs.d.ts +++ b/jecs.d.ts @@ -350,12 +350,19 @@ 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 + : R extends undefined + ? L | T | TrimOptional + : T + : T export function bulk_insert( world: World, entity: Entity, ids: C, - values: { [K in keyof C]: TagToUndefined> }, + values: TrimOptional<{ [K in keyof C]: TagToUndefined> }>, ): void; export function bulk_remove(world: World, entity: Entity, ids: Id[]): void;