@perplexdotgg/mecs 0.3.1 → 0.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/build/index.d.ts +8 -8
  2. package/package.json +3 -3
package/build/index.d.ts CHANGED
@@ -47,13 +47,13 @@ export declare type ComponentMapInput<CM extends ComponentMap> = Partial<{
47
47
  [K in keyof CM as LowercaseFirstLetter<K>]: ComponentInput<ExtractMonomorphClass<CM[K]>>;
48
48
  }>;
49
49
 
50
- export declare function createEntityClass<C>(options?: EntityCodeGenerationOptions): <CM extends ComponentMap, QM extends QueryMap<C, CM>, I extends EntityInput<CM> = EntityInput<CM>>(componentMap: CM, queries?: QM) => EntityClassWithStatics<C, CM, QM, I>;
50
+ export declare function createEntityClass<C>(options?: EntityCodeGenerationOptions): <CM extends ComponentMap, QM extends QueryMap<C, CM>, I extends ComponentMapInput<CM> = ComponentMapInput<CM>>(componentMap: CM, queries?: QM) => EntityClassWithStatics<C, CM, QM, I>;
51
51
 
52
- export declare type CreateEntityFunction<C, CM extends ComponentMap, I extends EntityInput<CM>> = (data?: I, pool?: EntityPoolClass<C>) => EntityInstanceWithPool<CM, I, C>;
52
+ export declare type CreateEntityFunction<C, CM extends ComponentMap, I extends ComponentMapInput<CM>> = (data?: I, pool?: EntityPoolClass<C>) => EntityInstanceWithPool<CM, I, C>;
53
53
 
54
54
  declare type ElementOfArray<T> = T extends (infer E)[] ? E : never;
55
55
 
56
- declare interface EntityBaseProperties<CM extends ComponentMap, I extends any = EntityInput<CM>> {
56
+ declare interface EntityBaseProperties<CM extends ComponentMap, I extends any = ComponentMapInput<CM>> {
57
57
  componentMap: CM;
58
58
  __typescriptOnlyInputType: I;
59
59
  addComponent: <CCK extends LowercaseFirstLetter<keyof CM>, CC extends CM[OriginalComponentKey<CCK, CM>] = CM[OriginalComponentKey<CCK, CM>]>(...a: (undefined extends ComponentInput<ExtractMonomorphClass<CC>> ? [key: CCK, data?: ComponentInput<ExtractMonomorphClass<CC>>] : [key: CCK, data: ComponentInput<ExtractMonomorphClass<CC>>])) => void;
@@ -64,9 +64,9 @@ declare interface EntityBaseProperties<CM extends ComponentMap, I extends any =
64
64
  isDestroyed(): boolean;
65
65
  }
66
66
 
67
- export declare type EntityClass<CM extends ComponentMap, I extends EntityInput<CM> = EntityInput<CM>, QM extends QueryMap<any, CM> = QueryMap<any, CM>, E extends EntityInstance<CM, I> = EntityInstance<CM, I>> = EntityConstructor<QM, E, I, CM>;
67
+ export declare type EntityClass<CM extends ComponentMap, I extends ComponentMapInput<CM> = ComponentMapInput<CM>, QM extends QueryMap<any, CM> = QueryMap<any, CM>, E extends EntityInstance<CM, I> = EntityInstance<CM, I>> = EntityConstructor<QM, E, I, CM>;
68
68
 
69
- export declare type EntityClassWithStatics<C, CM extends ComponentMap, QM extends QueryMap<C, CM>, I extends EntityInput<CM> = EntityInput<CM>> = EntityClass<CM, I, QM> & {
69
+ export declare type EntityClassWithStatics<C, CM extends ComponentMap, QM extends QueryMap<C, CM>, I extends ComponentMapInput<CM> = ComponentMapInput<CM>> = EntityClass<CM, I, QM> & {
70
70
  create: CreateEntityFunction<C, CM, I>;
71
71
  Pool: NoInfer<EntityPoolClass<C>>;
72
72
  };
@@ -124,9 +124,9 @@ export declare interface EntityConstructor<QM extends QueryMap<any, CM>, E exten
124
124
 
125
125
  export declare type EntityInput<X extends ComponentMap | EntityClass<any, any, any, any> | EntityInstanceWithPool<any, any, any> | EntityInstance<any, any>> = X extends ComponentMap ? ComponentMapInput<X> : X extends EntityConstructor<infer QM, infer E, infer I, infer CM> ? I : X extends EntityInstanceWithPool<infer CM, infer I, infer E> ? I : X extends EntityInstance<infer CM, infer I> ? I : never;
126
126
 
127
- export declare type EntityInstance<CM extends ComponentMap, I extends any = EntityInput<CM>> = ComponentMapClassProperties<CM> & EntityBaseProperties<CM, I>;
127
+ export declare type EntityInstance<CM extends ComponentMap, I extends any = ComponentMapInput<CM>> = ComponentMapClassProperties<CM> & EntityBaseProperties<CM, I>;
128
128
 
129
- export declare type EntityInstanceWithPool<CM extends ComponentMap, I extends EntityInput<CM>, E> = NoInfer<E & {
129
+ export declare type EntityInstanceWithPool<CM extends ComponentMap, I extends ComponentMapInput<CM>, E> = NoInfer<E & {
130
130
  pool: EntityPoolClass<E> | null;
131
131
  createInPool(data?: I): EntityInstanceWithPool<CM, I, E>;
132
132
  }>;
@@ -150,7 +150,7 @@ export declare interface EntityPoolClass<M> {
150
150
  /** how many non-destroyed objects are in this pool, i.e. how many would be iterated on */
151
151
  length: number;
152
152
  [Symbol.iterator](): IterableIterator<WithPool<M>>;
153
- create(data?: M extends EntityInstance<infer CM, infer I> ? EntityInput<CM> : undefined): M extends EntityInstanceWithPool<infer CM, infer I, any> ? EntityInstanceWithPool<CM, I, M> : never;
153
+ create(data?: M extends EntityInstance<infer CM, infer I> ? ComponentMapInput<CM> : undefined): M extends EntityInstanceWithPool<infer CM, infer I, any> ? EntityInstanceWithPool<CM, I, M> : never;
154
154
  toArray(array: NumberArray, startOffset?: number): number;
155
155
  fromArray(array: NumberArray, startOffset?: number, classConstructor?: new (...args: any[]) => M): number;
156
156
  fromArrayNoReferences(array: NumberArray, startOffset?: number, classConstructor?: new (...args: any[]) => M): number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@perplexdotgg/mecs",
3
- "version": "0.3.1",
3
+ "version": "0.3.2",
4
4
  "description": "MECS - Monomorph ECS - A high-performance Entity Component System for TypeScript and JavaScript projects, designed for games and simulations.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -28,7 +28,7 @@
28
28
  "bench": "vitest bench"
29
29
  },
30
30
  "peerDependencies": {
31
- "monomorph": "^1.5.5"
31
+ "monomorph": "^1.5.6"
32
32
  },
33
33
  "peerDependenciesMeta": {
34
34
  "monomorph": {
@@ -37,7 +37,7 @@
37
37
  },
38
38
  "devDependencies": {
39
39
  "@types/node": "^25.0.1",
40
- "monomorph": "^1.5.5",
40
+ "monomorph": "^1.5.6",
41
41
  "ts-node": "^10.9.2",
42
42
  "tslib": "^2.8.1",
43
43
  "typescript": "^5.9.3",