mirror of
				https://github.com/Ukendio/jecs.git
				synced 2025-11-03 18:39:19 +00:00 
			
		
		
		
	Change TS types for Archetype
	
		
			
	
		
	
	
		
	
		
			Some checks failed
		
		
	
	
	
				
					
				
			
		
			Some checks failed
		
		
	
	
This commit is contained in:
		
							parent
							
								
									62af051e7a
								
							
						
					
					
						commit
						4435d718a7
					
				
					 3 changed files with 14 additions and 4022 deletions
				
			
		
							
								
								
									
										30
									
								
								jecs.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										30
									
								
								jecs.d.ts
									
									
									
									
										vendored
									
									
								
							| 
						 | 
					@ -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>
 | 
					export type InferComponent<E> = E extends Entity<infer D>
 | 
				
			||||||
	? D
 | 
						? D
 | 
				
			||||||
	: E extends Pair<infer P, infer O>
 | 
						: E extends Pair<infer P, infer O>
 | 
				
			||||||
		? P extends undefined
 | 
						? P extends undefined
 | 
				
			||||||
			? O
 | 
							? O
 | 
				
			||||||
			: P
 | 
							: P
 | 
				
			||||||
		: never;
 | 
						: never;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type FlattenTuple<T extends unknown[]> = T extends [infer U] ? U : LuaTuple<T>;
 | 
					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 Nullable<T extends unknown[]> = { [K in keyof T]: T[K] | undefined };
 | 
				
			||||||
type InferComponents<A extends Id[]> = { [K in keyof A]: InferComponent<A[K]> };
 | 
					type InferComponents<A extends Id[]> = { [K in keyof A]: InferComponent<A[K]> };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type ArchetypeId = number
 | 
					type ArchetypeId = number;
 | 
				
			||||||
type Column = unknown[];
 | 
					type Column = unknown[];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type ArchetypeRecord = {
 | 
					 | 
				
			||||||
    count: number;
 | 
					 | 
				
			||||||
    column: number;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export type Archetype = {
 | 
					export type Archetype = {
 | 
				
			||||||
    id: number;
 | 
						id: number;
 | 
				
			||||||
    types: number[];
 | 
						types: number[];
 | 
				
			||||||
    type: string;
 | 
						type: string;
 | 
				
			||||||
    entities: number[];
 | 
						entities: number[];
 | 
				
			||||||
    columns: Column[];
 | 
						columns: Column[];
 | 
				
			||||||
    records: ArchetypeRecord[];
 | 
						records: number[];
 | 
				
			||||||
}
 | 
						counts: number[];
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type Iter<T extends unknown[]> = IterableFunction<LuaTuple<[Entity, ...T]>>;
 | 
					type Iter<T extends unknown[]> = IterableFunction<LuaTuple<[Entity, ...T]>>;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										4004
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										4004
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							| 
						 | 
					@ -1,6 +1,6 @@
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	"name": "@rbxts/jecs",
 | 
						"name": "@rbxts/jecs",
 | 
				
			||||||
	"version": "0.5.4",
 | 
						"version": "0.5.5",
 | 
				
			||||||
	"description": "Stupidly fast Entity Component System",
 | 
						"description": "Stupidly fast Entity Component System",
 | 
				
			||||||
	"main": "jecs.luau",
 | 
						"main": "jecs.luau",
 | 
				
			||||||
	"repository": {
 | 
						"repository": {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue