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;