Compare commits

...

3 commits

Author SHA1 Message Date
Ajay
3bf385c772
Merge 918231a1ad into 4435d718a7 2025-03-02 19:52:57 +03:00
Ukendio
4435d718a7 Change TS types for Archetype
Some checks failed
analysis / Run Luau Analyze (push) Has been cancelled
deploy-docs / build (push) Has been cancelled
publish-npm / publish (push) Has been cancelled
unit-testing / Run Luau Tests (push) Has been cancelled
deploy-docs / Deploy (push) Has been cancelled
2025-03-02 01:24:53 +01:00
aybanda
918231a1ad Start work on #50 2025-02-19 16:36:07 +05:30
3 changed files with 14 additions and 4022 deletions

30
jecs.d.ts vendored
View file

@ -31,31 +31,27 @@ export type Id<TData = unknown> = Entity<TData> | Pair<TData, unknown> | Pair<un
export type InferComponent<E> = E extends Entity<infer D>
? D
: E extends Pair<infer P, infer O>
? P extends undefined
? O
: P
: never;
? P extends undefined
? O
: P
: never;
type FlattenTuple<T extends unknown[]> = T extends [infer U] ? U : LuaTuple<T>;
type Nullable<T extends unknown[]> = { [K in keyof T]: T[K] | undefined };
type InferComponents<A extends Id[]> = { [K in keyof A]: InferComponent<A[K]> };
type ArchetypeId = number
type ArchetypeId = number;
type Column = unknown[];
type ArchetypeRecord = {
count: number;
column: number;
}
export type Archetype = {
id: number;
types: number[];
type: string;
entities: number[];
columns: Column[];
records: ArchetypeRecord[];
}
id: number;
types: number[];
type: string;
entities: number[];
columns: Column[];
records: number[];
counts: number[];
};
type Iter<T extends unknown[]> = IterableFunction<LuaTuple<[Entity, ...T]>>;

4004
package-lock.json generated

File diff suppressed because it is too large Load diff

View file

@ -1,6 +1,6 @@
{
"name": "@rbxts/jecs",
"version": "0.5.4",
"version": "0.5.5",
"description": "Stupidly fast Entity Component System",
"main": "jecs.luau",
"repository": {