@adobe/data 0.1.2 → 0.1.3

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 (84) hide show
  1. package/cache/blob-store.d.ts +1 -1
  2. package/cache/managed-array.d.ts +1 -1
  3. package/core/functions/deep-merge.d.ts +3 -2
  4. package/core/functions/deep-merge.js +10 -7
  5. package/core/functions/deep-merge.js.map +1 -1
  6. package/core/functions/index.d.ts +0 -1
  7. package/core/functions/index.js +0 -1
  8. package/core/functions/index.js.map +1 -1
  9. package/core/index.d.ts +1 -1
  10. package/core/index.js +1 -1
  11. package/core/index.js.map +1 -1
  12. package/core/schema/dynamic/dynamic-schema.d.ts +27 -0
  13. package/core/schema/dynamic/dynamic-schema.js +2 -0
  14. package/core/schema/dynamic/dynamic-schema.js.map +1 -0
  15. package/core/schema/dynamic/enumerate-patches.d.ts +9 -0
  16. package/core/schema/dynamic/enumerate-patches.js +50 -0
  17. package/core/schema/dynamic/enumerate-patches.js.map +1 -0
  18. package/core/schema/dynamic/enumerate-patches.test.d.ts +134 -0
  19. package/core/schema/dynamic/enumerate-patches.test.js +209 -0
  20. package/core/schema/dynamic/enumerate-patches.test.js.map +1 -0
  21. package/core/schema/dynamic/get-dynamic-schema.d.ts +5 -0
  22. package/core/schema/dynamic/get-dynamic-schema.js +26 -0
  23. package/core/schema/dynamic/get-dynamic-schema.js.map +1 -0
  24. package/core/schema/dynamic/get-dynamic-schema.test.d.ts +1 -0
  25. package/core/schema/dynamic/get-dynamic-schema.test.js +94 -0
  26. package/core/schema/dynamic/get-dynamic-schema.test.js.map +1 -0
  27. package/core/schema/dynamic/index.d.ts +1 -0
  28. package/core/schema/dynamic/index.js +2 -0
  29. package/core/schema/dynamic/index.js.map +1 -0
  30. package/core/schema/dynamic/schema-path-value-path.d.ts +5 -0
  31. package/core/schema/dynamic/schema-path-value-path.js +12 -0
  32. package/core/schema/dynamic/schema-path-value-path.js.map +1 -0
  33. package/core/schema/dynamic-schema.d.ts +27 -0
  34. package/core/schema/dynamic-schema.js +2 -0
  35. package/core/schema/dynamic-schema.js.map +1 -0
  36. package/core/schema/index.d.ts +4 -0
  37. package/core/schema/index.js +26 -0
  38. package/core/schema/index.js.map +1 -0
  39. package/core/schema/schema.d.ts +122 -0
  40. package/core/schema/schema.js +34 -0
  41. package/core/schema/schema.js.map +1 -0
  42. package/core/schema/schemas.d.ts +45 -0
  43. package/core/schema/schemas.js +39 -0
  44. package/core/schema/schemas.js.map +1 -0
  45. package/core/schema/ui-schema.d.ts +25 -0
  46. package/core/schema/ui-schema.js +2 -0
  47. package/core/schema/ui-schema.js.map +1 -0
  48. package/core/schema/validation/is-valid.d.ts +2 -0
  49. package/core/schema/validation/is-valid.js +14 -0
  50. package/core/schema/validation/is-valid.js.map +1 -0
  51. package/core/schema/validation/is-valid.test.d.ts +1 -0
  52. package/core/schema/validation/is-valid.test.js +40 -0
  53. package/core/schema/validation/is-valid.test.js.map +1 -0
  54. package/core/schema/validation/validate.d.ts +2 -0
  55. package/core/schema/validation/validate.js +38 -0
  56. package/core/schema/validation/validate.js.map +1 -0
  57. package/core/schema/validation/validate.test.d.ts +1 -0
  58. package/core/schema/validation/validate.test.js +106 -0
  59. package/core/schema/validation/validate.test.js.map +1 -0
  60. package/core/schema/validation/with-validation.d.ts +5 -0
  61. package/core/schema/validation/with-validation.js +16 -0
  62. package/core/schema/validation/with-validation.js.map +1 -0
  63. package/core/schema/validation/with-validation.test.d.ts +1 -0
  64. package/core/schema/validation/with-validation.test.js +96 -0
  65. package/core/schema/validation/with-validation.test.js.map +1 -0
  66. package/core/schemas.d.ts +45 -0
  67. package/core/schemas.js +39 -0
  68. package/core/schemas.js.map +1 -0
  69. package/ecs/action-ecs/action-ecs.test.js +1 -1
  70. package/ecs/action-ecs/action-ecs.test.js.map +1 -1
  71. package/ecs/core-ecs/core-ecs.js +3 -3
  72. package/ecs/core-ecs/core-ecs.js.map +1 -1
  73. package/ecs/core-ecs/core-ecs.test.js +22 -1
  74. package/ecs/core-ecs/core-ecs.test.js.map +1 -1
  75. package/ecs/ecs/ecs.test.js +1 -1
  76. package/ecs/ecs/ecs.test.js.map +1 -1
  77. package/package.json +3 -2
  78. package/perftest/ecs-perf.js +1 -1
  79. package/perftest/ecs-perf.js.map +1 -1
  80. package/schemas/index.d.ts +1 -1
  81. package/schemas/index.js +1 -1
  82. package/schemas/index.js.map +1 -1
  83. package/service/progressive-result.d.ts +1 -1
  84. package/tsconfig.tsbuildinfo +1 -1
@@ -0,0 +1,106 @@
1
+ /*MIT License
2
+
3
+ © Copyright 2025 Adobe. All rights reserved.
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.*/
22
+ import { describe, it, expect } from 'vitest';
23
+ import { validate } from './validate.js';
24
+ describe('validate', () => {
25
+ const userSchema = {
26
+ type: 'object',
27
+ properties: {
28
+ name: { type: 'string' },
29
+ age: { type: 'number' },
30
+ email: { type: 'string', pattern: '^[^@]+@[^@]+\\.[^@]+$' }
31
+ },
32
+ required: ['name', 'age', 'email']
33
+ };
34
+ it('should return empty array for valid data', () => {
35
+ const validData = {
36
+ name: 'John Doe',
37
+ age: 30,
38
+ email: 'john@example.com'
39
+ };
40
+ const errors = validate(userSchema, validData);
41
+ expect(errors).toEqual([]);
42
+ });
43
+ it('should return validation errors for invalid data', () => {
44
+ const invalidData = {
45
+ name: 'John Doe',
46
+ age: '30', // Should be a number
47
+ email: 'not-an-email'
48
+ };
49
+ const errors = validate(userSchema, invalidData);
50
+ expect(errors.length).toBeGreaterThan(0);
51
+ expect(errors).toContain('Property "age" does not match schema.');
52
+ expect(errors).toContain('Instance type "string" is invalid. Expected "number".');
53
+ });
54
+ it('should return errors for missing required fields', () => {
55
+ const incompleteData = {
56
+ name: 'John Doe'
57
+ // Missing age and email
58
+ };
59
+ const errors = validate(userSchema, incompleteData);
60
+ expect(errors.length).toBeGreaterThan(0);
61
+ expect(errors).toContain('Instance does not have required property "age".');
62
+ expect(errors).toContain('Instance does not have required property "email".');
63
+ });
64
+ it('should reuse validator instance for the same schema', () => {
65
+ const data1 = { name: 'John', age: 30, email: 'john@example.com' };
66
+ const data2 = { name: 'Jane', age: 25, email: 'jane@example.com' };
67
+ // First validation
68
+ const errors1 = validate(userSchema, data1);
69
+ expect(errors1).toEqual([]);
70
+ // Second validation with same schema
71
+ const errors2 = validate(userSchema, data2);
72
+ expect(errors2).toEqual([]);
73
+ // The validator should be reused from the WeakMap cache
74
+ // We can verify this by checking that the schema object is still the same reference
75
+ expect(userSchema).toBe(userSchema);
76
+ });
77
+ it('should handle nested schema validation', () => {
78
+ const nestedSchema = {
79
+ type: 'object',
80
+ properties: {
81
+ user: userSchema,
82
+ metadata: {
83
+ type: 'object',
84
+ properties: {
85
+ createdAt: { type: 'string', pattern: '^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$' }
86
+ },
87
+ required: ['createdAt']
88
+ }
89
+ },
90
+ required: ['user', 'metadata']
91
+ };
92
+ const validNestedData = {
93
+ user: {
94
+ name: 'John Doe',
95
+ age: 30,
96
+ email: 'john@example.com'
97
+ },
98
+ metadata: {
99
+ createdAt: '2024-03-20T12:00:00Z'
100
+ }
101
+ };
102
+ const errors = validate(nestedSchema, validNestedData);
103
+ expect(errors).toEqual([]);
104
+ });
105
+ });
106
+ //# sourceMappingURL=validate.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.test.js","sourceRoot":"","sources":["../../../../src/core/schema/validation/validate.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { Schema, FromSchema } from '../index.js';
2
+ /**
3
+ * Creates a function which can wrap another function and validate the input against a JSON Schema.
4
+ */
5
+ export declare function withValidation<T extends Schema>(schema: T): <F extends (arg: FromSchema<T>) => any>(fn: F) => F;
@@ -0,0 +1,16 @@
1
+ import { validate } from './validate.js';
2
+ /**
3
+ * Creates a function which can wrap another function and validate the input against a JSON Schema.
4
+ */
5
+ export function withValidation(schema) {
6
+ return function (fn) {
7
+ return function (arg) {
8
+ const errors = validate(schema, arg);
9
+ if (errors.length > 0) {
10
+ throw new Error(`Validation failed: ${JSON.stringify(errors)}`);
11
+ }
12
+ return fn.call(this, arg);
13
+ };
14
+ };
15
+ }
16
+ //# sourceMappingURL=with-validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"with-validation.js","sourceRoot":"","sources":["../../../../src/core/schema/validation/with-validation.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC;;GAEG;AACH,MAAM,UAAU,cAAc,CAAmB,MAAS;IACtD,OAAO,UAAiD,EAAK;QACzD,OAAO,UAAqB,GAAkB;YAC1C,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAErC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CACX,sBAAsB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CACjD,CAAC;YACN,CAAC;YAED,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC9B,CAAM,CAAC;IACX,CAAC,CAAC;AACN,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,96 @@
1
+ /*MIT License
2
+
3
+ © Copyright 2025 Adobe. All rights reserved.
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.*/
22
+ import { describe, it, expect } from 'vitest';
23
+ import { withValidation } from './with-validation.js';
24
+ // Define a test schema
25
+ const userSchema = {
26
+ type: 'object',
27
+ properties: {
28
+ name: { type: 'string' },
29
+ age: { type: 'number' },
30
+ foo: { type: 'string' },
31
+ email: { type: 'string', format: 'email' }
32
+ },
33
+ required: ['name', 'age', 'email']
34
+ };
35
+ describe('withValidation', () => {
36
+ it('should pass validation for valid input', () => {
37
+ const createUser = withValidation(userSchema)((user) => user);
38
+ const validUser = {
39
+ name: 'John Doe',
40
+ age: 30,
41
+ email: 'john@example.com'
42
+ };
43
+ expect(() => createUser(validUser)).not.toThrow();
44
+ expect(createUser(validUser)).toEqual(validUser);
45
+ });
46
+ it('should throw error for invalid input', () => {
47
+ const createUser = withValidation(userSchema)((user) => user);
48
+ const invalidUser = {
49
+ name: 'John Doe',
50
+ age: '30', // Should be a number
51
+ email: 'not-an-email'
52
+ };
53
+ expect(() => createUser(invalidUser)).toThrow(/Validation failed/);
54
+ });
55
+ it('should throw error for missing required fields', () => {
56
+ const createUser = withValidation(userSchema)((user) => user);
57
+ const incompleteUser = {
58
+ name: 'John Doe',
59
+ // Missing age and email
60
+ };
61
+ expect(() => createUser(incompleteUser)).toThrow(/Validation failed/);
62
+ });
63
+ it('should preserve function return type', () => {
64
+ const processUser = withValidation(userSchema)((user) => ({
65
+ ...user,
66
+ processed: true
67
+ }));
68
+ const result = processUser({
69
+ name: 'John Doe',
70
+ age: 30,
71
+ email: 'john@example.com'
72
+ });
73
+ expect(result).toEqual({
74
+ name: 'John Doe',
75
+ age: 30,
76
+ email: 'john@example.com',
77
+ processed: true
78
+ });
79
+ });
80
+ it("should pass 'this' context to the wrapped function", () => {
81
+ const context = { value: 42 };
82
+ const fn = function (user) {
83
+ return this.value;
84
+ };
85
+ const wrapped = withValidation(userSchema)(fn);
86
+ const validUser = {
87
+ name: 'Jane Doe',
88
+ age: 25,
89
+ email: 'jane@example.com'
90
+ };
91
+ // Bind context and call
92
+ const result = wrapped.call(context, validUser);
93
+ expect(result).toBe(42);
94
+ });
95
+ });
96
+ //# sourceMappingURL=with-validation.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"with-validation.test.js","sourceRoot":"","sources":["../../../../src/core/schema/validation/with-validation.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ import { Schema } from "./index.js";
2
+ export declare function Nullable<T extends Schema>(schema: T): {
3
+ oneOf: [T, {
4
+ type: "null";
5
+ }];
6
+ };
7
+ export declare function Tuple<T extends Schema, N extends number>(items: T, length: N): {
8
+ readonly type: "array";
9
+ readonly items: T;
10
+ readonly minItems: N;
11
+ readonly maxItems: N;
12
+ };
13
+ export declare const TrueSchema: {
14
+ readonly const: true;
15
+ };
16
+ export declare const BooleanSchema: {
17
+ readonly type: "boolean";
18
+ };
19
+ export declare const Float32Schema: {
20
+ readonly type: "number";
21
+ readonly precision: 1;
22
+ };
23
+ export declare const Float64Schema: {
24
+ readonly type: "number";
25
+ readonly precision: 2;
26
+ };
27
+ export declare const TimeSchema: {
28
+ readonly type: "number";
29
+ readonly precision: 2;
30
+ };
31
+ export declare const Uint8Schema: {
32
+ readonly type: "integer";
33
+ readonly minimum: 0;
34
+ readonly maximum: 255;
35
+ };
36
+ export declare const Uint16Schema: {
37
+ readonly type: "integer";
38
+ readonly minimum: 0;
39
+ readonly maximum: 65535;
40
+ };
41
+ export declare const Uint32Schema: {
42
+ readonly type: "integer";
43
+ readonly minimum: 0;
44
+ readonly maximum: 4294967295;
45
+ };
@@ -0,0 +1,39 @@
1
+ export function Nullable(schema) {
2
+ return {
3
+ oneOf: [schema, { type: "null" }],
4
+ };
5
+ }
6
+ export function Tuple(items, length) {
7
+ return { type: "array", items, minItems: length, maxItems: length };
8
+ }
9
+ export const TrueSchema = {
10
+ const: true,
11
+ };
12
+ export const BooleanSchema = {
13
+ type: "boolean",
14
+ };
15
+ export const Float32Schema = {
16
+ type: "number",
17
+ precision: 1,
18
+ };
19
+ export const Float64Schema = {
20
+ type: "number",
21
+ precision: 2,
22
+ };
23
+ export const TimeSchema = Float64Schema;
24
+ export const Uint8Schema = {
25
+ type: "integer",
26
+ minimum: 0,
27
+ maximum: 0xff,
28
+ };
29
+ export const Uint16Schema = {
30
+ type: "integer",
31
+ minimum: 0,
32
+ maximum: 0xffff,
33
+ };
34
+ export const Uint32Schema = {
35
+ type: "integer",
36
+ minimum: 0,
37
+ maximum: 0xffffffff,
38
+ };
39
+ //# sourceMappingURL=schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/core/schemas.ts"],"names":[],"mappings":"AAuBA,MAAM,UAAU,QAAQ,CACtB,MAAS;IAET,OAAO;QACL,KAAK,EAAE,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;KAClC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,KAAK,CAAqC,KAAQ,EAAE,MAAS;IAC3E,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAA4B,CAAC;AAChG,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,KAAK,EAAE,IAAI;CACc,CAAC;AAE5B,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,IAAI,EAAE,SAAS;CACU,CAAC;AAE5B,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,IAAI,EAAE,QAAQ;IACd,SAAS,EAAE,CAAC;CACa,CAAC;AAE5B,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,IAAI,EAAE,QAAQ;IACd,SAAS,EAAE,CAAC;CACa,CAAC;AAE5B,MAAM,CAAC,MAAM,UAAU,GAAG,aAAa,CAAC;AAExC,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,CAAC;IACV,OAAO,EAAE,IAAI;CACY,CAAC;AAE5B,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,CAAC;IACV,OAAO,EAAE,MAAM;CACU,CAAC;AAE5B,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,CAAC;IACV,OAAO,EAAE,UAAU;CACM,CAAC"}
@@ -21,7 +21,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
21
  SOFTWARE.*/
22
22
  import { describe, expect, test } from "vitest";
23
23
  import { createActionECS } from "./action-ecs.js";
24
- import { Float32Schema, Tuple } from "../../schemas/schemas.js";
24
+ import { Float32Schema, Tuple } from "../../core/schema/schemas.js";
25
25
  const user = "test";
26
26
  const createECSWithMassAndSize = () => {
27
27
  return createActionECS({ user })
@@ -1 +1 @@
1
- {"version":3,"file":"action-ecs.test.js","sourceRoot":"","sources":["../../../src/ecs/action-ecs/action-ecs.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"action-ecs.test.js","sourceRoot":"","sources":["../../../src/ecs/action-ecs/action-ecs.test.ts"],"names":[],"mappings":"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"}
@@ -22,7 +22,7 @@ SOFTWARE.*/
22
22
  import { equals, normalize, } from "../../core/index.js";
23
23
  import { createManagedArray, } from "../../cache/managed-array.js";
24
24
  import { createSimpleMemoryAllocator, } from "../../cache/memory-allocator.js";
25
- import { Uint32Schema } from "../../schemas/schemas.js";
25
+ import { Uint32Schema } from "../../core/schema/schemas.js";
26
26
  // This is a sentinel value used to indicate a component should be deleted.
27
27
  export const DELETE = "_@_DELETE_@_";
28
28
  export function createCoreECS(options = {}) {
@@ -293,14 +293,14 @@ export function createCoreECS(options = {}) {
293
293
  const selectEntities = (archetype) => {
294
294
  const tables = getTables(archetype, { mode: "read" });
295
295
  const entities = [];
296
- const offset = 0;
296
+ let offset = 0;
297
297
  for (const table of tables) {
298
298
  // this native array will probably be longer than the actual size.
299
299
  const size = table.rows;
300
300
  const nativeArray = table.columns.id.native;
301
301
  // copy from 0 .. size to entities
302
302
  for (let i = 0; i < size; i++) {
303
- entities[offset + i] = nativeArray[i];
303
+ entities[offset++] = nativeArray[i];
304
304
  }
305
305
  }
306
306
  return entities;
@@ -1 +1 @@
1
- {"version":3,"file":"core-ecs.js","sourceRoot":"","sources":["../../../src/ecs/core-ecs/core-ecs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core-ecs.js","sourceRoot":"","sources":["../../../src/ecs/core-ecs/core-ecs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;AAEX,OAAO,EAIL,MAAM,EACN,SAAS,GACV,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAEL,kBAAkB,GACnB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAEL,2BAA2B,GAC5B,MAAM,iCAAiC,CAAC;AAWzC,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5D,4EAA4E;AAC5E,MAAM,CAAC,MAAM,MAAM,GAAY,cAAc,CAAC;AAkB9C,MAAM,UAAU,aAAa,CAI3B,UAGI,EAAE;IAGN,MAAM,mBAAmB,GAAG,CAAC,CAAC;IAC9B,MAAM,iBAAiB,GAAG,IAAI,CAAC;IAE/B,MAAM,gBAAgB,GAAG;QACvB,EAAE,EAAE,YAAY;KACa,CAAC;IAChC,MAAM,SAAS,GAAG,CAAC,IAAe,EAAE,EAAE;QACpC,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,cAAc,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,EAAO,CAAC;IAE1B,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,cAAc,GAAG,IAAI,CAAC;IAC1B,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,OAAO,GAAG,IAAI,WAAW,CAAC,cAAc,GAAG,mBAAmB,CAAC,CAAC;IAEpE,MAAM,EAAE,SAAS,GAAG,2BAA2B,EAAE,EAAE,GAAG,OAAO,CAAC;IAC9D,0CAA0C;IAC1C,gCAAgC;IAChC,+DAA+D;IAC/D,kDAAkD;IAClD,yCAAyC;IACzC,MAAM,eAAe,GAAyC,EAAE,CAAC;IACjE,mEAAmE;IACnE,MAAM,WAAW,GAA2B,EAAE,CAAC;IAC/C,oDAAoD;IACpD,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAAsC,CAAC;IAE7E;;OAEG;IACH,MAAM,yBAAyB,GAAG,CAAC,UAAuB,EAAa,EAAE;QACvE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,CAAC;QACD,IAAI,aAAa,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,IAAI,GAAG,MAAM,CAAC,iBAAiB,CAAC;QACpC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,MAAM,UAAU,GAAG,yBAAyB,CAAC,SAAS,CAAE,CAAC;YACzD,IAAI,UAAU,CAAC,IAAI,GAAG,IAAI,EAAE,CAAC;gBAC3B,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;gBACvB,aAAa,GAAG,SAAS,CAAC;YAC5B,CAAC;QACH,CAAC;QACD,OAAO,aAAa,CAAC;IACvB,CAAC,CAAC;IAEF,MAAM,oBAAoB,GAAG,CAC3B,UAAgC,EAChC,SAAoB,EACpB,WAA+C,EACzB,EAAE;QACxB,IAAI,QAAQ,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACtD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,GAAG,GAAG,WAAW,KAAK,cAAc,CAAC;YAC3C,MAAM,aAAa,GAAG,CACpB,GAAG;gBACD,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,IAAI,EAAE;gBAC9C,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAC1C,CAAC;YACjB,QAAQ,GAAG,YAAY,CAAC,GAAG,aAAa,CAAC,CAAC;YAC1C,wCAAwC;YACxC,UAAU,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YACjD,QAAQ,CACN,WAAW,KAAK,cAAc,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,cAAc,CACpE,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAC/B,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,CACxB,EAAU,EACV,SAAe,EACM,EAAE;QACvB,MAAM,KAAK,GAAG,EAAE,GAAG,mBAAmB,CAAC;QACvC,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAC/B,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC5C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAY,CAAC;IACnC,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,CACxB,EAAU,EACV,SAAe,EACf,KAAc,EACR,EAAE;QACR,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,KAAK,GAAG,MAAa,CAAC;QACxB,CAAC;QACD,MAAM,KAAK,GAAG,EAAE,GAAG,mBAAmB,CAAC;QACvC,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QACtC,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC5C,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YACrB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,iBAAiB;gBACjB,MAAM,QAAQ,GAAG,oBAAoB,CACnC,UAAU,EACV,SAAS,EACT,cAAc,CACf,CAAC;gBACF,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;gBACpC,6BAA6B;gBAC7B,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,UAAyB,EAAE,CAAC;oBACxD,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBAC9C,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;wBAC/B,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;oBACnE,CAAC;gBACH,CAAC;gBACD,+BAA+B;gBAC/B,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBAE/C,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;gBACjC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC;gBACjC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACN,kBAAkB;gBAClB,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;aAAM,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YAC/B,oBAAoB;YACpB,MAAM,QAAQ,GAAG,oBAAoB,CACnC,UAAU,EACV,SAAS,EACT,iBAAiB,CAClB,CAAC;YACF,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;YACpC,yDAAyD;YACzD,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,UAAyB,EAAE,CAAC;gBACxD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;oBACvB,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CACxB,MAAM,EACN,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CACzC,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;YACjC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC;YACjC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC;QAC9B,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,GAAG,UAAuB,EAAwB,EAAE;QACxE,UAAU,CAAC,IAAI,EAAE,CAAC;QAClB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;QAChC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACnB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACd,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;QACD,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,SAAS,GAAyB,eAAe,CAAC,GAAG,CAAC,CAAC;QAC3D,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAChC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;gBACvB,IAAI;gBACJ,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC;aAC/C,CAAC,CAC4B,CAAC;YAEjC,MAAM,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC;YAC9B,SAAS;gBACP,WAAW,CAAC,EAAE,CAAC;oBACf,eAAe,CAAC,GAAG,CAAC;wBACpB;4BACE,UAAU;4BACV,EAAE;4BACF,IAAI,EAAE,CAAC;4BACP,OAAO;4BACP,YAAY,EAAE,IAAI,GAAG,EAAE;4BACvB,eAAe,EAAE,IAAI,GAAG,EAAE;4BAC1B,OAAO,EAAE,CAAC,GAAW,EAAE,EAAE;gCACvB,MAAM,MAAM,GAAQ,EAAE,CAAC;gCACvB,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;oCAC9B,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gCACxC,CAAC;gCACD,OAAO,MAAM,CAAC;4BAChB,CAAC;4BACD,SAAS,EAAE,CAAC,MAAqB,EAAE,EAAE;gCACnC,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;gCAChC,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;oCAC9B,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAsB,CAAC;oCAClD,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;oCACtC,IAAI,MAAM,EAAE,CAAC;wCACX,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;wCAC3B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;4CACxB,MAAM,IAAI,KAAK,CACb,6BAA6B,MAAM,CAAC,IAAI,CAAC,GAAG,CAC7C,CAAC;wCACJ,CAAC;wCACD,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;oCAC5B,CAAC;gCACH,CAAC;gCACD,OAAO,MAAM,CAAC;4BAChB,CAAC;4BACD,SAAS,EAAE,CAAC,GAAW,EAAE,EAAE;gCACzB,SAAS,CAAC,IAAI,EAAE,CAAC;gCACjB,6DAA6D;gCAC7D,IAAI,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;oCACvB,MAAM,UAAU,GAAG,OAAO,CAAC,EAAE,CAAC,MAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;oCACtD,MAAM,aAAa,GAAG,UAAU,GAAG,mBAAmB,CAAC;oCACvD,OAAO,CAAC,aAAa,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;gCACnC,CAAC;gCACD,mEAAmE;gCACnE,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;oCAC9B,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;oCAC7B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;wCACzB,IAAI,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;4CACvB,6DAA6D;4CAC7D,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;wCACnC,CAAC;oCACH,CAAC;gCACH,CAAC;4BACH,CAAC;yBACF,CAAC;YACJ,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;gBAC9B,yBAAyB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,CAAC,EAAU,EAAiB,EAAE;QACvD,OAAO,WAAW,CAAC,OAAO,CAAC,EAAE,GAAG,mBAAmB,CAAC,CAAQ,CAAC;IAC/D,CAAC,CAAC;IAEF,MAAM,yBAAyB,GAAG,CAChC,IAAa,EACc,EAAE;QAC7B,IAAI,GAAG,GAAG,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,sBAAsB,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,CAIrB,UAAa,EACb,EAAE;QACF,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,EAAE;YACvD,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAe,CAAC,CAAC;YACpD,wDAAwD;YACxD,sCAAsC;YACtC,IAAI,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;gBACrE,OAAO,CAAC,IAAI,CAAC,cAAc,IAAI,yBAAyB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YACvH,CAAC;YACD,gBAAgB,CAAC,IAAe,CAAC,GAAG,SAAS,CAAC;QAChD,CAAC,CAAC,CAAC;QACH,OAAO,GAAkC,CAAC;IAC5C,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,CACpB,YAAe,EACV,EAAE;QACP,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE;YACrD,yCAAyC;YACzC,cAAc,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YAC/B,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,EAAE,IAAiB,CAAC,CAAC;YACxD,yDAAyD;YACzD,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI;gBAC7B,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC;gBAC1C,CAAC,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAS,CAAC,CAAC;YACtD,MAAM,MAAM,GAAI,SAAS,CAAC,OAAe,CAAC,IAAI,CAAuB,CAAC;YACtE,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,EAAE;gBACrC,GAAG,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;gBACxB,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE;oBAChB,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC/C,CAAC;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,OAAO,GAAU,CAAC;IACpB,CAAC,CAAC;IAOF,SAAS,SAAS,CAChB,SAA4B,EAC5B,OAAqD;QAErD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;YACnB,OAAO,CAAC,SAAiC,CAAC,CAAC;QAC7C,CAAC;QACD,MAAM,UAAU,GAAG,SAAS,CAAC,UAAyB,CAAC;QACvD,MAAM,MAAM,GAAuB,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,yBAAyB,CACvC,yBAAyB,CAAC,UAAU,CAAC,CACrC,CAAC;QACH,KAAK,MAAM,UAAU,IAAI,OAAO,EAAE,CAAC;YACjC,IAAI,UAAU,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBAC1B,SAAS;YACX,CAAC;YACD,IAAI,MAAM,GAAG,IAAI,CAAC;YAClB,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;gBACnC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;oBACnC,MAAM,GAAG,KAAK,CAAC;oBACf,MAAM;gBACR,CAAC;YACH,CAAC;YACD,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,aAAa,GAAG,CAAC,SAAwB,EAAE,EAAE;QACjD,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;YAC3D,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC;QACtB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,CAAC,SAAwB,EAAE,EAAE;QAClD,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACtD,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,kEAAkE;YAClE,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;YACxB,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,MAAO,CAAC;YAC7C,kCAAkC;YAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC9B,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,CACtB,EAAU,EACgC,EAAE;QAC5C,MAAM,KAAK,GAAG,EAAE,GAAG,mBAAmB,CAAC;QACvC,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QACvC,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,iBAAiB,EAAE,CAAC;YACnE,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAC/B,MAAM,MAAM,GAAQ,EAAE,CAAC;QACvB,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;YACzC,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CACnB,EAAU,EACV,MAAuE,EACvE,EAAE;QACF,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;YAC1B,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;YACtC,CAAC;YACD,IAAI,KAAK,GAAG,MAAM,CAAC,IAA4B,CAAQ,CAAC;YACxD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,KAAK,GAAG,MAAM,CAAC;YACjB,CAAC;YACD,iBAAiB,CAAC,EAAE,EAAE,IAAe,EAAE,KAAK,CAAC,CAAC;QAChD,CAAC;IACH,CAAC,CAAC;IAEF,SAAS,oBAAoB,CAAC,QAAgB;QAC5C,IAAI,cAAc,GAAG,QAAQ,EAAE,CAAC;YAC9B,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,cAAc,GAAG,CAAC,CAAC,CAAC;YACxD,MAAM,UAAU,GAAG,IAAI,WAAW,CAAC,cAAc,GAAG,mBAAmB,CAAC,CAAC;YACzE,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACxB,OAAO,GAAG,UAAU,CAAC;QACvB,CAAC;IACH,CAAC;IAED,MAAM,YAAY,GAAG,CACnB,UAA6B,EAC7B,MAAsB,EACtB,EAAE;QACF,MAAM,SAAS,GAAI,UAAmC,IAAI,cAAc,CAAC;QACzE,IAAI,EAAU,CAAC;QACf,IAAI,cAAc,GAAG,CAAC,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;YAC1C,EAAE,GAAG,cAAc,CAAC;YACpB,MAAM,KAAK,GAAG,EAAE,GAAG,mBAAmB,CAAC;YACvC,gCAAgC;YAChC,cAAc,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,4BAA4B;YAC5B,oBAAoB,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;YACtC,EAAE,GAAG,WAAW,EAAE,CAAC;QACrB,CAAC;QACD,2CAA2C;QAC3C,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAQ,CAAC;QACtD,MAAM,GAAG,GAAG,SAAS,CAAC,SAAS,CAAC,MAAa,CAAC,CAAC;QAE/C,6BAA6B;QAC7B,MAAM,KAAK,GAAG,EAAE,GAAG,mBAAmB,CAAC;QAEvC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC;QAClC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;QAEzB,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,CAClB,SAA2B,EAC3B,KAAa,EACb,EAAE;QACF,MAAM,KAAK,GAAG,SAAS,CAAC,SAAgB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAoC,CAAC;QAChH,oBAAoB,CAAC,WAAW,GAAG,KAAK,CAAC,CAAC;QAC1C,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACnC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC;QAC5C,CAAC;QACD,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,MAAO,CAAC;QACrC,0FAA0F;QAC1F,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,iCAAiC;QACjC,OAAO,OAAO,GAAG,KAAK,IAAI,cAAc,GAAG,CAAC,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;YAChE,MAAM,EAAE,GAAG,cAAc,CAAC;YAC1B,MAAM,KAAK,GAAG,EAAE,GAAG,mBAAmB,CAAC;YACvC,gCAAgC;YAChC,cAAc,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YACpC,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,GAAG,OAAO,EAAE,CAAC;YACnC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;YACzB,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC;QACD,WAAW,IAAI,OAAO,CAAC;QACvB,gCAAgC;QAChC,OAAO,OAAO,GAAG,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC;YAClC,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC;YACjC,OAAO,CAAC,EAAE,GAAG,mBAAmB,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC;YACjD,OAAO,CAAC,EAAE,GAAG,mBAAmB,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;YAC5C,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC;QAED,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC;QAEpB,OAAO,KAAiB,CAAC;IAC3B,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,EAAU,EAAE,EAAE;QAClC,MAAM,KAAK,GAAG,EAAE,GAAG,mBAAmB,CAAC;QACvC,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAC/B,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACzB,MAAM,aAAa,GAAG,cAAc,CAAC;QACrC,cAAc,GAAG,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,iBAAiB,CAAC;QACvC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,aAAa,CAAC;IACrC,CAAC,CAAC;IAEF,oGAAoG;IACpG,MAAM,cAAc,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAE1C,eAAe;IACf,yBAAyB;IACzB,+DAA+D;IAC/D,mDAAmD;IACnD,MAAM,qBAAqB,GAAG,CAAC,CAAC;IAChC,MAAM,MAAM,GAAG,GAAG,EAAE;QAClB,OAAO;YACL,GAAG,EAAE,IAAI;YACT,OAAO,EAAE,qBAAqB;YAC9B,UAAU,EAAE,gBAAgB;YAC5B,QAAQ,EAAE,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC;YAChD,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;gBACvC,IAAI,KAAK,KAAK,KAAK,CAAC,EAAE,EAAE,CAAC;oBACvB,MAAM,IAAI,KAAK,CAAC,sBAAsB,KAAK,QAAQ,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;gBACjE,CAAC;gBACD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;gBAChC,OAAO;oBACL,IAAI;oBACJ,OAAO,EAAE,MAAM,CAAC,WAAW,CACzB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE;wBAC7C,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC,CAAC;wBACjD,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;oBACvB,CAAC,CAAC,CACH;iBACF,CAAC;YACJ,CAAC,CAAC;SACM,CAAC;IACb,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,CAAC,IAAS,EAAE,EAAE;QAC7B,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QAChD,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;QAChC,CAAC;QACD,IAAI,OAAO,KAAK,qBAAqB,EAAE,CAAC;YACtC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,WAAW,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;QAClC,oBAAoB,CAAC,WAAW,CAAC,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtB,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAEjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,MAAM,cAAc,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC;YACzC,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAgB,CAAC;YACvD,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,UAAU,CAAC,CAAC;YAC9C,MAAM,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC,SAAS,EAAE;gBACxC,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,IAAI;aACZ,CAA2B,CAAC;YAC7B,IAAI,UAAU,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CACb,sEAAsE,CACvE,CAAC;YACJ,CAAC;YACD,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC;YACvB,KAAK,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBACzD,MAAM,MAAM,GAAI,UAAU,CAAC,OAAe,CAAC,IAAI,CAAC,CAAC;gBACjD,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,MAAM,GAAG,GAAY;QACnB,UAAU,EAAE,gBAAgB;QAC5B,SAAS;QACT,iBAAiB;QACjB,iBAAiB;QACjB,aAAa;QACb,cAAc;QACd,SAAS;QACT,YAAY,EAAE,YAAmB;QACjC,kBAAkB;QAClB,cAAc;QACd,aAAa;QACb,eAAe;QACf,WAAW;QACX,YAAY;QACZ,YAAY;QACZ,YAAY;QACZ,MAAM;KACP,CAAC;IAEF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -22,7 +22,7 @@ SOFTWARE.*/
22
22
  import { assert } from "riteway/vitest";
23
23
  import { describe, expect, test } from "vitest";
24
24
  import { createCoreECS } from "./core-ecs.js";
25
- import { Float32Schema, Tuple } from "../../schemas/schemas.js";
25
+ import { Float32Schema, Tuple } from "../../core/schema/schemas.js";
26
26
  const createCoreEcsWithMassAndSize = (data) => {
27
27
  return createCoreECS({ data })
28
28
  .withComponents({
@@ -383,6 +383,27 @@ describe("Core ECS", () => {
383
383
  });
384
384
  expect(F).toEqual(e + 1);
385
385
  });
386
+ test("selectEntities returns all entities matching a subset of components", () => {
387
+ const ecs = createCoreECS()
388
+ .withComponents({
389
+ position: { type: "number" },
390
+ size: { type: "number" }
391
+ });
392
+ const idPositionArchetype = ecs.getArchetype("id", "position");
393
+ const idPositionSizeArchetype = ecs.getArchetype("id", "position", "size");
394
+ // Create one entity with just position
395
+ const a = ecs.createEntity(idPositionArchetype, { position: 1 });
396
+ // Create two entities with position and size
397
+ const b = ecs.createEntity(idPositionSizeArchetype, { position: 2, size: 1 });
398
+ const c = ecs.createEntity(idPositionSizeArchetype, { position: 3, size: 2 });
399
+ // Query for all entities with position
400
+ const entities = ecs.selectEntities(idPositionArchetype);
401
+ // Should get all three entities
402
+ expect(entities.length).toEqual(3);
403
+ expect(entities).toContain(a);
404
+ expect(entities).toContain(b);
405
+ expect(entities).toContain(c);
406
+ });
386
407
  });
387
408
  {
388
409
  // some type checks.