@adobe/data 0.9.5 → 0.9.6
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.
- package/ecs/database/create-plugin-cryos-pattern.test.d.ts +3 -0
- package/ecs/database/create-plugin-cryos-pattern.test.js +83 -0
- package/ecs/database/create-plugin-cryos-pattern.test.js.map +1 -0
- package/ecs/database/create-plugin-graphics.test.d.ts +93 -0
- package/ecs/database/create-plugin-graphics.test.js +135 -0
- package/ecs/database/create-plugin-graphics.test.js.map +1 -0
- package/ecs/database/create-plugin-type.type-test.js +563 -0
- package/ecs/database/create-plugin-type.type-test.js.map +1 -0
- package/ecs/database/create-plugin-type.type.test.js +563 -0
- package/ecs/database/create-plugin-type.type.test.js.map +1 -0
- package/ecs/database/database.d.ts +6 -1
- package/ecs/database/database.js.map +1 -1
- package/ecs/database/experimental-action-types.js +275 -0
- package/ecs/database/experimental-action-types.js.map +1 -0
- package/ecs/database/from-plugin.type-test.js +180 -0
- package/ecs/database/from-plugin.type-test.js.map +1 -0
- package/ecs/database/plugin-types.js +5 -0
- package/ecs/database/plugin-types.js.map +1 -0
- package/ecs/database/type-investigation.test.js +54 -0
- package/ecs/database/type-investigation.test.js.map +1 -0
- package/ecs/store/core/create-core.test.js +21 -0
- package/ecs/store/core/create-core.test.js.map +1 -1
- package/package.json +1 -1
- package/tsconfig.tsbuildinfo +1 -1
- package/typed-buffer/create-array-buffer.js +10 -0
- package/typed-buffer/create-array-buffer.js.map +1 -1
- package/typed-buffer/create-array-buffer.test.js +50 -0
- package/typed-buffer/create-array-buffer.test.js.map +1 -1
- package/typed-buffer/create-const-buffer.js +3 -0
- package/typed-buffer/create-const-buffer.js.map +1 -1
- package/typed-buffer/create-const-buffer.test.js +24 -0
- package/typed-buffer/create-const-buffer.test.js.map +1 -1
- package/typed-buffer/create-number-buffer.js +4 -0
- package/typed-buffer/create-number-buffer.js.map +1 -1
- package/typed-buffer/create-number-buffer.test.js +38 -0
- package/typed-buffer/create-number-buffer.test.js.map +1 -1
- package/typed-buffer/create-struct-buffer.js +11 -0
- package/typed-buffer/create-struct-buffer.js.map +1 -1
- package/typed-buffer/create-struct-buffer.test.js +60 -0
- package/typed-buffer/create-struct-buffer.test.js.map +1 -1
- package/typed-buffer/typed-buffer.d.ts +2 -0
- package/typed-buffer/typed-buffer.js.map +1 -1
- package/assembly/package.json +0 -1
- package/blob/package.json +0 -1
- package/cache/package.json +0 -1
- package/debug-type-test.js +0 -12
- package/debug-type-test.js.map +0 -1
- package/ecs/database/archetype-type-safety-test.d.ts +0 -21
- package/ecs/database/archetype-type-safety-test.js +0 -36
- package/ecs/database/archetype-type-safety-test.js.map +0 -1
- package/ecs/database/create-database-schema-test.js +0 -150
- package/ecs/database/create-database-schema-test.js.map +0 -1
- package/ecs/database/create-plugin-v2.d.ts +0 -79
- package/ecs/database/create-plugin-v2.js +0 -68
- package/ecs/database/create-plugin-v2.js.map +0 -1
- package/ecs/database/create-plugin-v2.test.js +0 -362
- package/ecs/database/create-plugin-v2.test.js.map +0 -1
- package/ecs/database/create-plugin.OLD.d.ts +0 -138
- package/ecs/database/create-plugin.OLD.js +0 -59
- package/ecs/database/create-plugin.OLD.js.map +0 -1
- package/ecs/database/database-with-systems.test.js +0 -292
- package/ecs/database/database-with-systems.test.js.map +0 -1
- package/ecs/database/database.plugin.create.test.OLD.js +0 -601
- package/ecs/database/database.plugin.create.test.OLD.js.map +0 -1
- package/ecs/database/database.plugin.create.test.js +0 -321
- package/ecs/database/database.plugin.create.test.js.map +0 -1
- package/ecs/database/database.plugin.test.d.ts +0 -1
- package/ecs/database/database.plugin.test.js +0 -90
- package/ecs/database/database.plugin.test.js.map +0 -1
- package/ecs/database/database.test copy.d.ts +0 -1
- package/ecs/database/database.test copy.js +0 -199
- package/ecs/database/database.test copy.js.map +0 -1
- package/ecs/database/multi-param-inference-poc.test.d.ts +0 -1
- package/ecs/database/multi-param-inference-poc.test.js +0 -96
- package/ecs/database/multi-param-inference-poc.test.js.map +0 -1
- package/ecs/database/old-plugin-create-with-dependencies-array.d.ts +0 -61
- package/ecs/database/old-plugin-create-with-dependencies-array.js +0 -76
- package/ecs/database/old-plugin-create-with-dependencies-array.js.map +0 -1
- package/ecs/database/overload-inference-poc.test.d.ts +0 -1
- package/ecs/database/overload-inference-poc.test.js +0 -109
- package/ecs/database/overload-inference-poc.test.js.map +0 -1
- package/ecs/database/schedule-type-check-demo.d.ts +0 -10
- package/ecs/database/schedule-type-check-demo.js +0 -71
- package/ecs/database/schedule-type-check-demo.js.map +0 -1
- package/ecs/database/test-archetype-validation.d.ts +0 -9
- package/ecs/database/test-archetype-validation.js +0 -14
- package/ecs/database/test-archetype-validation.js.map +0 -1
- package/ecs/database/test-exactkeys.d.ts +0 -1
- package/ecs/database/test-exactkeys.js +0 -17
- package/ecs/database/test-exactkeys.js.map +0 -1
- package/ecs/database/transactional-store/coalesce-transactions.test.js +0 -433
- package/ecs/database/transactional-store/coalesce-transactions.test.js.map +0 -1
- package/ecs/database/type-inference-demo.d.ts +0 -75
- package/ecs/database/type-inference-demo.js +0 -73
- package/ecs/database/type-inference-demo.js.map +0 -1
- package/ecs/database/type-inference-poc.test.d.ts +0 -1
- package/ecs/database/type-inference-poc.test.js +0 -73
- package/ecs/database/type-inference-poc.test.js.map +0 -1
- package/ecs/package.json +0 -1
- package/ecs/plugins/scheduler/create-scheduler-plugin.d.ts +0 -8
- package/ecs/plugins/scheduler/create-scheduler-plugin.js +0 -54
- package/ecs/plugins/scheduler/create-scheduler-plugin.js.map +0 -1
- package/ecs/plugins/scheduler/create-scheduler-plugin.test.d.ts +0 -1
- package/ecs/plugins/scheduler/create-scheduler-plugin.test.js +0 -198
- package/ecs/plugins/scheduler/create-scheduler-plugin.test.js.map +0 -1
- package/ecs/plugins/scheduler/type-inference-test.d.ts +0 -1
- package/ecs/plugins/scheduler/type-inference-test.js +0 -2
- package/ecs/plugins/scheduler/type-inference-test.js.map +0 -1
- package/ecs/store/entity-functions.d.ts +0 -7
- package/ecs/store/entity-functions.js +0 -2
- package/ecs/store/entity-functions.js.map +0 -1
- package/ecs/store/functions.d.ts +0 -2
- package/ecs/store/functions.js +0 -2
- package/ecs/store/functions.js.map +0 -1
- package/ecs/system/system-declaration.d.ts +0 -7
- package/ecs/system/system-declaration.js +0 -23
- package/ecs/system/system-declaration.js.map +0 -1
- package/ecs/system/system-declarations.d.ts +0 -4
- package/ecs/system/system-declarations.js +0 -23
- package/ecs/system/system-declarations.js.map +0 -1
- package/ecs/system/system-factory/public/create copy.d.ts +0 -12
- package/ecs/system/system-factory/public/create copy.js +0 -8
- package/ecs/system/system-factory/public/create copy.js.map +0 -1
- package/ecs/system/system-factory/public/create.d.ts +0 -12
- package/ecs/system/system-factory/public/create.js +0 -8
- package/ecs/system/system-factory/public/create.js.map +0 -1
- package/ecs/system/system-factory/public/create.test.d.ts +0 -1
- package/ecs/system/system-factory/public/create.test.js +0 -42
- package/ecs/system/system-factory/public/create.test.js.map +0 -1
- package/ecs/system/system-factory/public/index.d.ts +0 -1
- package/ecs/system/system-factory/public/index.js +0 -2
- package/ecs/system/system-factory/public/index.js.map +0 -1
- package/ecs/system/system-factory/system-factory.d.ts +0 -17
- package/ecs/system/system-factory/system-factory.js +0 -23
- package/ecs/system/system-factory/system-factory.js.map +0 -1
- package/ecs/system/system-factory.d.ts +0 -9
- package/ecs/system/system-factory.js +0 -23
- package/ecs/system/system-factory.js.map +0 -1
- package/ecs/system/system-interface.d.ts +0 -5
- package/ecs/system/system-interface.js +0 -2
- package/ecs/system/system-interface.js.map +0 -1
- package/ecs/system/system.d.ts +0 -4
- package/ecs/system/system.js +0 -23
- package/ecs/system/system.js.map +0 -1
- package/ecs/system/systems-type.d.ts +0 -2
- package/ecs/system/systems-type.js +0 -2
- package/ecs/system/systems-type.js.map +0 -1
- package/ecs/system/systems.d.ts +0 -2
- package/ecs/system/systems.js +0 -23
- package/ecs/system/systems.js.map +0 -1
- package/ecs/system/world-schema/public/create.d.ts +0 -12
- package/ecs/system/world-schema/public/create.js +0 -8
- package/ecs/system/world-schema/public/create.js.map +0 -1
- package/ecs/system/world-schema/public/create.test.d.ts +0 -1
- package/ecs/system/world-schema/public/create.test.js +0 -42
- package/ecs/system/world-schema/public/create.test.js.map +0 -1
- package/ecs/system/world-schema/public/index.d.ts +0 -1
- package/ecs/system/world-schema/public/index.js +0 -2
- package/ecs/system/world-schema/public/index.js.map +0 -1
- package/ecs/system/world-schema/system-factory.d.ts +0 -17
- package/ecs/system/world-schema/system-factory.js +0 -23
- package/ecs/system/world-schema/system-factory.js.map +0 -1
- package/ecs/world/calculate-system-order.d.ts +0 -18
- package/ecs/world/calculate-system-order.js +0 -113
- package/ecs/world/calculate-system-order.js.map +0 -1
- package/ecs/world/calculate-system-order.test.d.ts +0 -1
- package/ecs/world/calculate-system-order.test.js +0 -168
- package/ecs/world/calculate-system-order.test.js.map +0 -1
- package/ecs/world/create-world-schema-test.d.ts +0 -1
- package/ecs/world/create-world-schema-test.js +0 -294
- package/ecs/world/create-world-schema-test.js.map +0 -1
- package/ecs/world/create-world-type-test.d.ts +0 -1
- package/ecs/world/create-world-type-test.js +0 -129
- package/ecs/world/create-world-type-test.js.map +0 -1
- package/ecs/world/create-world.d.ts +0 -19
- package/ecs/world/create-world.js +0 -80
- package/ecs/world/create-world.js.map +0 -1
- package/ecs/world/create-world.test.d.ts +0 -1
- package/ecs/world/create-world.test.js +0 -292
- package/ecs/world/create-world.test.js.map +0 -1
- package/ecs/world/public/world-schema/public/create.d.ts +0 -12
- package/ecs/world/public/world-schema/public/create.js +0 -8
- package/ecs/world/public/world-schema/public/create.js.map +0 -1
- package/ecs/world/public/world-schema/public/create.test.d.ts +0 -1
- package/ecs/world/public/world-schema/public/create.test.js +0 -42
- package/ecs/world/public/world-schema/public/create.test.js.map +0 -1
- package/ecs/world/public/world-schema/public/index.d.ts +0 -1
- package/ecs/world/public/world-schema/public/index.js +0 -2
- package/ecs/world/public/world-schema/public/index.js.map +0 -1
- package/ecs/world/public/world-schema/world-schema.d.ts +0 -17
- package/ecs/world/public/world-schema/world-schema.js +0 -23
- package/ecs/world/public/world-schema/world-schema.js.map +0 -1
- package/ecs/world/system-declaration.d.ts +0 -1
- package/ecs/world/system-declaration.js +0 -23
- package/ecs/world/system-declaration.js.map +0 -1
- package/ecs/world/system-schedule-typing-test.d.ts +0 -1
- package/ecs/world/system-schedule-typing-test.js +0 -83
- package/ecs/world/system-schedule-typing-test.js.map +0 -1
- package/ecs/world/world-schema/public/create.d.ts +0 -12
- package/ecs/world/world-schema/public/create.js +0 -10
- package/ecs/world/world-schema/public/create.js.map +0 -1
- package/ecs/world/world-schema/public/create.test.d.ts +0 -1
- package/ecs/world/world-schema/public/create.test.js +0 -41
- package/ecs/world/world-schema/public/create.test.js.map +0 -1
- package/ecs/world/world-schema/public/index.d.ts +0 -1
- package/ecs/world/world-schema/public/index.js +0 -2
- package/ecs/world/world-schema/public/index.js.map +0 -1
- package/ecs/world/world-schema/system-factory.d.ts +0 -17
- package/ecs/world/world-schema/system-factory.js +0 -23
- package/ecs/world/world-schema/system-factory.js.map +0 -1
- package/ecs/world/world-schema/world-schema.d.ts +0 -19
- package/ecs/world/world-schema/world-schema.js +0 -23
- package/ecs/world/world-schema/world-schema.js.map +0 -1
- package/ecs/world/world.d.ts +0 -86
- package/ecs/world/world.js +0 -81
- package/ecs/world/world.js.map +0 -1
- package/ecs/world/world.test.d.ts +0 -1
- package/ecs/world/world.test.js +0 -176
- package/ecs/world/world.test.js.map +0 -1
- package/functions/package.json +0 -1
- package/lit/elements/application-element copy.d.ts +0 -9
- package/lit/elements/application-element copy.js +0 -62
- package/lit/elements/application-element copy.js.map +0 -1
- package/lit/package.json +0 -1
- package/math/package.json +0 -1
- package/observe/package.json +0 -1
- package/old-ecs/package.json +0 -1
- package/perftest/package.json +0 -1
- package/samples/package.json +0 -1
- package/schema/package.json +0 -1
- package/service/package.json +0 -1
- package/table/package.json +0 -1
- package/typed-buffer/package.json +0 -1
- package/types/package.json +0 -1
- /package/{debug-type-test.d.ts → ecs/database/create-plugin-type.type-test.d.ts} +0 -0
- /package/ecs/database/{create-database-schema-test.d.ts → create-plugin-type.type.test.d.ts} +0 -0
- /package/ecs/database/{create-plugin-v2.test.d.ts → experimental-action-types.d.ts} +0 -0
- /package/ecs/database/{database-with-systems.test.d.ts → from-plugin.type-test.d.ts} +0 -0
- /package/ecs/database/{database.plugin.create.test.OLD.d.ts → plugin-types.d.ts} +0 -0
- /package/ecs/database/{database.plugin.create.test.d.ts → type-investigation.test.d.ts} +0 -0
|
@@ -1,294 +0,0 @@
|
|
|
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 { World } from "./world.js";
|
|
23
|
-
const worldSchema = World.Schema.create({
|
|
24
|
-
components: {
|
|
25
|
-
velocity: { type: "number" },
|
|
26
|
-
particle: { type: "boolean" },
|
|
27
|
-
},
|
|
28
|
-
resources: {
|
|
29
|
-
mousePosition: { type: "number", default: 0 },
|
|
30
|
-
fooPosition: { type: "number", default: 0 },
|
|
31
|
-
},
|
|
32
|
-
archetypes: {
|
|
33
|
-
Particle: ["particle"],
|
|
34
|
-
DynamicParticle: ["particle", "velocity"],
|
|
35
|
-
},
|
|
36
|
-
systems: {
|
|
37
|
-
renderSystem: {
|
|
38
|
-
create: (world) => () => { }
|
|
39
|
-
},
|
|
40
|
-
updateSystem: {
|
|
41
|
-
create: (world) => () => { }
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
});
|
|
45
|
-
// Test world schema dependencies and merging
|
|
46
|
-
const aSchema = World.Schema.create({
|
|
47
|
-
components: {
|
|
48
|
-
a: { type: "number" },
|
|
49
|
-
b: { type: "string" }
|
|
50
|
-
},
|
|
51
|
-
resources: {
|
|
52
|
-
c: { default: "string" }
|
|
53
|
-
},
|
|
54
|
-
archetypes: {
|
|
55
|
-
one: ["a", "b"]
|
|
56
|
-
},
|
|
57
|
-
systems: {
|
|
58
|
-
systemA: {
|
|
59
|
-
create: (world) => () => { }
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
});
|
|
63
|
-
const bSchema = World.Schema.create({
|
|
64
|
-
components: {
|
|
65
|
-
x: { type: "number" },
|
|
66
|
-
y: { type: "string" }
|
|
67
|
-
},
|
|
68
|
-
resources: {
|
|
69
|
-
z: { default: "string" }
|
|
70
|
-
},
|
|
71
|
-
archetypes: {
|
|
72
|
-
two: ["x", "y"]
|
|
73
|
-
},
|
|
74
|
-
systems: {
|
|
75
|
-
systemB: {
|
|
76
|
-
create: (world) => () => { }
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
});
|
|
80
|
-
const cSchema = World.Schema.create({
|
|
81
|
-
components: {
|
|
82
|
-
m: { type: "number" },
|
|
83
|
-
n: { type: "string" }
|
|
84
|
-
},
|
|
85
|
-
resources: {
|
|
86
|
-
c: { default: "string" }
|
|
87
|
-
},
|
|
88
|
-
archetypes: {
|
|
89
|
-
three: ["m", "n", "x"]
|
|
90
|
-
},
|
|
91
|
-
systems: {
|
|
92
|
-
systemC: {
|
|
93
|
-
create: (world) => () => { }
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
}, [aSchema, bSchema]);
|
|
97
|
-
// Note: Systems also includes the 'create' property from the schema
|
|
98
|
-
// type CheckMergedSystems = Assert<Equal<keyof MergedSchemaSystems, "systemA" | "systemB" | "systemC">>;
|
|
99
|
-
// Runtime checks: verify the merged schema contains all properties
|
|
100
|
-
const hasAllComponents = "a" in cSchema.components &&
|
|
101
|
-
"b" in cSchema.components &&
|
|
102
|
-
"x" in cSchema.components &&
|
|
103
|
-
"y" in cSchema.components &&
|
|
104
|
-
"m" in cSchema.components &&
|
|
105
|
-
"n" in cSchema.components;
|
|
106
|
-
const hasAllResources = "c" in cSchema.resources &&
|
|
107
|
-
"z" in cSchema.resources;
|
|
108
|
-
const hasAllArchetypes = "one" in cSchema.archetypes &&
|
|
109
|
-
"two" in cSchema.archetypes &&
|
|
110
|
-
"three" in cSchema.archetypes;
|
|
111
|
-
const hasAllSystems = "systemA" in cSchema.systems &&
|
|
112
|
-
"systemB" in cSchema.systems &&
|
|
113
|
-
"systemC" in cSchema.systems;
|
|
114
|
-
if (!hasAllComponents) {
|
|
115
|
-
throw new Error("World schema merging failed: missing components");
|
|
116
|
-
}
|
|
117
|
-
if (!hasAllResources) {
|
|
118
|
-
throw new Error("World schema merging failed: missing resources");
|
|
119
|
-
}
|
|
120
|
-
if (!hasAllArchetypes) {
|
|
121
|
-
throw new Error("World schema merging failed: missing archetypes");
|
|
122
|
-
}
|
|
123
|
-
if (!hasAllSystems) {
|
|
124
|
-
throw new Error("World schema merging failed: missing systems");
|
|
125
|
-
}
|
|
126
|
-
// Test system declarations are present
|
|
127
|
-
const hasAllSystemDeclarations = "systemA" in cSchema.systems &&
|
|
128
|
-
"systemB" in cSchema.systems &&
|
|
129
|
-
"systemC" in cSchema.systems &&
|
|
130
|
-
typeof cSchema.systems.systemA.create === "function" &&
|
|
131
|
-
typeof cSchema.systems.systemB.create === "function" &&
|
|
132
|
-
typeof cSchema.systems.systemC.create === "function";
|
|
133
|
-
if (!hasAllSystemDeclarations) {
|
|
134
|
-
throw new Error("World schema merging failed: missing system declarations");
|
|
135
|
-
}
|
|
136
|
-
// Test that individual system creates work
|
|
137
|
-
const mockDb = {};
|
|
138
|
-
const systemA = cSchema.systems.systemA.create(mockDb);
|
|
139
|
-
const systemB = cSchema.systems.systemB.create(mockDb);
|
|
140
|
-
const systemC = cSchema.systems.systemC.create(mockDb);
|
|
141
|
-
if (typeof systemA !== "function" || typeof systemB !== "function" || typeof systemC !== "function") {
|
|
142
|
-
throw new Error("System create functions failed to return system functions");
|
|
143
|
-
}
|
|
144
|
-
// Test with more complex dependencies
|
|
145
|
-
const baseSchemaWithSystems = World.Schema.create({
|
|
146
|
-
components: {
|
|
147
|
-
position: { type: "number" },
|
|
148
|
-
health: { type: "number" }
|
|
149
|
-
},
|
|
150
|
-
resources: {
|
|
151
|
-
time: { default: 0 }
|
|
152
|
-
},
|
|
153
|
-
transactions: {
|
|
154
|
-
updateHealth: () => { }
|
|
155
|
-
},
|
|
156
|
-
systems: {
|
|
157
|
-
healthSystem: {
|
|
158
|
-
create: (world) => () => { }
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
});
|
|
162
|
-
const extendedSchemaWithSystems = World.Schema.create({
|
|
163
|
-
components: {
|
|
164
|
-
velocity: { type: "number" }
|
|
165
|
-
},
|
|
166
|
-
resources: {
|
|
167
|
-
delta: { default: 0 }
|
|
168
|
-
},
|
|
169
|
-
archetypes: {
|
|
170
|
-
Moving: ["position", "velocity"]
|
|
171
|
-
},
|
|
172
|
-
transactions: {
|
|
173
|
-
move: () => { }
|
|
174
|
-
},
|
|
175
|
-
systems: {
|
|
176
|
-
movementSystem: {
|
|
177
|
-
create: (world) => () => { }
|
|
178
|
-
},
|
|
179
|
-
collisionSystem: {
|
|
180
|
-
create: (world) => () => { }
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
}, [baseSchemaWithSystems]);
|
|
184
|
-
// Runtime checks for extended schema
|
|
185
|
-
const hasExtendedComponents = "position" in extendedSchemaWithSystems.components &&
|
|
186
|
-
"health" in extendedSchemaWithSystems.components &&
|
|
187
|
-
"velocity" in extendedSchemaWithSystems.components;
|
|
188
|
-
const hasExtendedResources = "time" in extendedSchemaWithSystems.resources &&
|
|
189
|
-
"delta" in extendedSchemaWithSystems.resources;
|
|
190
|
-
const hasExtendedTransactions = "updateHealth" in extendedSchemaWithSystems.transactions &&
|
|
191
|
-
"move" in extendedSchemaWithSystems.transactions;
|
|
192
|
-
const hasExtendedSystems = "healthSystem" in extendedSchemaWithSystems.systems &&
|
|
193
|
-
"movementSystem" in extendedSchemaWithSystems.systems &&
|
|
194
|
-
"collisionSystem" in extendedSchemaWithSystems.systems;
|
|
195
|
-
const hasExtendedArchetypes = "Moving" in extendedSchemaWithSystems.archetypes;
|
|
196
|
-
if (!hasExtendedComponents) {
|
|
197
|
-
throw new Error("Extended world schema merging failed: missing components");
|
|
198
|
-
}
|
|
199
|
-
if (!hasExtendedResources) {
|
|
200
|
-
throw new Error("Extended world schema merging failed: missing resources");
|
|
201
|
-
}
|
|
202
|
-
if (!hasExtendedTransactions) {
|
|
203
|
-
throw new Error("Extended world schema merging failed: missing transactions");
|
|
204
|
-
}
|
|
205
|
-
if (!hasExtendedSystems) {
|
|
206
|
-
throw new Error("Extended world schema merging failed: missing systems");
|
|
207
|
-
}
|
|
208
|
-
if (!hasExtendedArchetypes) {
|
|
209
|
-
throw new Error("Extended world schema merging failed: missing archetypes");
|
|
210
|
-
}
|
|
211
|
-
// Test system declarations are present in extended schema
|
|
212
|
-
const hasAllExtendedSystemDeclarations = "healthSystem" in extendedSchemaWithSystems.systems &&
|
|
213
|
-
"movementSystem" in extendedSchemaWithSystems.systems &&
|
|
214
|
-
"collisionSystem" in extendedSchemaWithSystems.systems &&
|
|
215
|
-
typeof extendedSchemaWithSystems.systems.healthSystem.create === "function" &&
|
|
216
|
-
typeof extendedSchemaWithSystems.systems.movementSystem.create === "function" &&
|
|
217
|
-
typeof extendedSchemaWithSystems.systems.collisionSystem.create === "function";
|
|
218
|
-
if (!hasAllExtendedSystemDeclarations) {
|
|
219
|
-
throw new Error("Extended world schema merging failed: missing system declarations");
|
|
220
|
-
}
|
|
221
|
-
// Test that individual system creates work for extended schema
|
|
222
|
-
const healthSystem = extendedSchemaWithSystems.systems.healthSystem.create(mockDb);
|
|
223
|
-
const movementSystem = extendedSchemaWithSystems.systems.movementSystem.create(mockDb);
|
|
224
|
-
const collisionSystem = extendedSchemaWithSystems.systems.collisionSystem.create(mockDb);
|
|
225
|
-
if (typeof healthSystem !== "function" || typeof movementSystem !== "function" || typeof collisionSystem !== "function") {
|
|
226
|
-
throw new Error("Extended schema system create functions failed to return system functions");
|
|
227
|
-
}
|
|
228
|
-
// Test system schedule type constraints
|
|
229
|
-
const scheduleTestBaseSchema = World.Schema.create({
|
|
230
|
-
components: {
|
|
231
|
-
transform: { type: "number" }
|
|
232
|
-
},
|
|
233
|
-
systems: {
|
|
234
|
-
inputSystem: {
|
|
235
|
-
create: (world) => () => { }
|
|
236
|
-
},
|
|
237
|
-
updateSystem: {
|
|
238
|
-
create: (world) => () => { },
|
|
239
|
-
// Valid: references system in same schema
|
|
240
|
-
schedule: {
|
|
241
|
-
after: ["inputSystem"]
|
|
242
|
-
}
|
|
243
|
-
},
|
|
244
|
-
physicsSystem: {
|
|
245
|
-
create: (world) => () => { },
|
|
246
|
-
// Valid: references multiple systems in same schema
|
|
247
|
-
schedule: {
|
|
248
|
-
after: ["inputSystem", "updateSystem"]
|
|
249
|
-
}
|
|
250
|
-
},
|
|
251
|
-
renderSystem: {
|
|
252
|
-
create: (world) => () => { },
|
|
253
|
-
// Valid: uses both before and after
|
|
254
|
-
schedule: {
|
|
255
|
-
after: ["physicsSystem"],
|
|
256
|
-
before: ["debugSystem"]
|
|
257
|
-
}
|
|
258
|
-
},
|
|
259
|
-
debugSystem: {
|
|
260
|
-
create: (world) => () => { },
|
|
261
|
-
// Valid: references system using before
|
|
262
|
-
schedule: {
|
|
263
|
-
after: []
|
|
264
|
-
}
|
|
265
|
-
}
|
|
266
|
-
}
|
|
267
|
-
});
|
|
268
|
-
// Test that schedule properties are accessible at runtime
|
|
269
|
-
const hasSchedule = scheduleTestBaseSchema.systems.updateSystem.schedule !== undefined;
|
|
270
|
-
const afterInput = scheduleTestBaseSchema.systems.updateSystem.schedule?.after?.[0] === "inputSystem";
|
|
271
|
-
if (!hasSchedule || !afterInput) {
|
|
272
|
-
throw new Error("System schedule runtime properties missing");
|
|
273
|
-
}
|
|
274
|
-
// Note: Due to TypeScript's incremental type inference during object literal construction,
|
|
275
|
-
// invalid system names in schedule clauses cannot be perfectly caught at compile time.
|
|
276
|
-
// The type system provides good IDE hints for valid names but doesn't error on invalid ones during construction.
|
|
277
|
-
// Runtime validation would be needed for strict enforcement.
|
|
278
|
-
const invalidScheduleExample = World.Schema.create({
|
|
279
|
-
systems: {
|
|
280
|
-
systemA: {
|
|
281
|
-
create: (world) => () => { },
|
|
282
|
-
},
|
|
283
|
-
systemB: {
|
|
284
|
-
create: (world) => () => { },
|
|
285
|
-
schedule: {
|
|
286
|
-
// This would ideally error but TypeScript infers "nonExistentSystem" as a valid name
|
|
287
|
-
// @ts-expect-error - Type error: "nonExistentSystem" is not assignable to "systemA"
|
|
288
|
-
after: ["nonExistentSystem"],
|
|
289
|
-
before: ["systemA"]
|
|
290
|
-
}
|
|
291
|
-
}
|
|
292
|
-
}
|
|
293
|
-
});
|
|
294
|
-
//# sourceMappingURL=create-world-schema-test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create-world-schema-test.js","sourceRoot":"","sources":["../../../src/ecs/world/create-world-schema-test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,129 +0,0 @@
|
|
|
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 { createWorld } from "./create-world.js";
|
|
23
|
-
import { World } from "./world.js";
|
|
24
|
-
// Type Test 1: Empty World
|
|
25
|
-
const emptyWorld = createWorld();
|
|
26
|
-
// Type Test 2: World from Schema with Components and Systems
|
|
27
|
-
const schema1 = World.Schema.create({
|
|
28
|
-
components: {
|
|
29
|
-
position: { type: "vec3", default: { x: 0, y: 0, z: 0 } },
|
|
30
|
-
velocity: { type: "vec3", default: { x: 0, y: 0, z: 0 } }
|
|
31
|
-
},
|
|
32
|
-
resources: {
|
|
33
|
-
time: { default: { delta: 0, elapsed: 0 } }
|
|
34
|
-
},
|
|
35
|
-
systems: {
|
|
36
|
-
physicsSystem: {
|
|
37
|
-
create: (db) => () => { }
|
|
38
|
-
},
|
|
39
|
-
renderSystem: {
|
|
40
|
-
create: (db) => () => { }
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
});
|
|
44
|
-
const world1 = createWorld(schema1);
|
|
45
|
-
// Type Test 3: Extended World Types
|
|
46
|
-
const baseSchema = World.Schema.create({
|
|
47
|
-
components: {
|
|
48
|
-
position: { type: "vec3", default: { x: 0, y: 0, z: 0 } }
|
|
49
|
-
},
|
|
50
|
-
systems: {
|
|
51
|
-
systemA: {
|
|
52
|
-
create: () => () => { }
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
});
|
|
56
|
-
const extensionSchema = World.Schema.create({
|
|
57
|
-
components: {
|
|
58
|
-
velocity: { type: "vec3", default: { x: 0, y: 0, z: 0 } }
|
|
59
|
-
},
|
|
60
|
-
systems: {
|
|
61
|
-
systemB: {
|
|
62
|
-
create: () => () => { }
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
});
|
|
66
|
-
const baseWorld = createWorld(baseSchema);
|
|
67
|
-
const extendedWorld = baseWorld.extend(extensionSchema);
|
|
68
|
-
// Type Test 5: System Order Array Type
|
|
69
|
-
const orderedSchema = World.Schema.create({
|
|
70
|
-
systems: {
|
|
71
|
-
inputSystem: {
|
|
72
|
-
create: () => () => { }
|
|
73
|
-
},
|
|
74
|
-
physicsSystem: {
|
|
75
|
-
create: () => () => { },
|
|
76
|
-
schedule: { after: ["inputSystem"] }
|
|
77
|
-
},
|
|
78
|
-
renderSystem: {
|
|
79
|
-
create: () => () => { },
|
|
80
|
-
schedule: { after: ["physicsSystem"] }
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
});
|
|
84
|
-
const orderedWorld = createWorld(orderedSchema);
|
|
85
|
-
// Type Test 6: Database Access in System
|
|
86
|
-
const dbAccessSchema = World.Schema.create({
|
|
87
|
-
components: {
|
|
88
|
-
position: { type: "vec3", default: { x: 0, y: 0, z: 0 } }
|
|
89
|
-
},
|
|
90
|
-
transactions: {
|
|
91
|
-
moveEntity: (store, entityId, newPos) => {
|
|
92
|
-
store.update(entityId, { position: newPos });
|
|
93
|
-
}
|
|
94
|
-
},
|
|
95
|
-
systems: {
|
|
96
|
-
testSystem: {
|
|
97
|
-
create: (db) => {
|
|
98
|
-
// Type check: db should have proper types
|
|
99
|
-
const _store = db.store;
|
|
100
|
-
const _transactions = db.transactions;
|
|
101
|
-
return () => {
|
|
102
|
-
// System can access database
|
|
103
|
-
const entities = db.select(["position"]);
|
|
104
|
-
db.transactions.moveEntity(entities[0] ?? 0, { x: 1, y: 2, z: 3 });
|
|
105
|
-
};
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
});
|
|
110
|
-
const dbWorld = createWorld(dbAccessSchema);
|
|
111
|
-
// Type Test 7: Async System Support
|
|
112
|
-
const asyncSchema = World.Schema.create({
|
|
113
|
-
systems: {
|
|
114
|
-
asyncSystem: {
|
|
115
|
-
create: () => async () => {
|
|
116
|
-
await Promise.resolve();
|
|
117
|
-
}
|
|
118
|
-
},
|
|
119
|
-
syncSystem: {
|
|
120
|
-
create: () => () => {
|
|
121
|
-
// sync
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
});
|
|
126
|
-
const asyncWorld = createWorld(asyncSchema);
|
|
127
|
-
// Runtime type check - if this file compiles, all type tests pass!
|
|
128
|
-
console.log("✅ All createWorld type tests passed!");
|
|
129
|
-
//# sourceMappingURL=create-world-type-test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create-world-type-test.js","sourceRoot":"","sources":["../../../src/ecs/world/create-world-type-test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { FromSchemas } from "../../schema/index.js";
|
|
2
|
-
import { StringKeyof } from "../../types/types.js";
|
|
3
|
-
import { ArchetypeComponents, ComponentSchemas, Components, Database, OptionalComponents, ResourceComponents, ResourceSchemas } from "../index.js";
|
|
4
|
-
import { ActionDeclarations, ActionFunctions, ToActionFunctions } from "../store/action-functions.js";
|
|
5
|
-
import { World } from "./world.js";
|
|
6
|
-
type SystemFunction = () => void | Promise<void>;
|
|
7
|
-
type SystemDeclaration<C extends Components = any, R extends ResourceComponents = any, A extends ArchetypeComponents<StringKeyof<C & OptionalComponents>> = any, F extends ActionFunctions = any, S extends string = any> = {
|
|
8
|
-
readonly create: (world: World<C, R, A, F, S>) => SystemFunction;
|
|
9
|
-
readonly schedule?: {
|
|
10
|
-
readonly before?: readonly string[];
|
|
11
|
-
readonly after?: readonly string[];
|
|
12
|
-
};
|
|
13
|
-
};
|
|
14
|
-
export declare function createWorld(): World<{}, {}, {}, {}, never>;
|
|
15
|
-
export declare function createWorld<CS extends ComponentSchemas, RS extends ResourceSchemas, A extends ArchetypeComponents<StringKeyof<CS>>, TD extends ActionDeclarations<FromSchemas<CS>, FromSchemas<RS>, A>, S extends string>(schema: World.Schema<CS, RS, A, TD, S>): World<FromSchemas<CS>, FromSchemas<RS>, A, ToActionFunctions<TD>, S>;
|
|
16
|
-
export declare function createWorld<C extends Components, R extends ResourceComponents, A extends ArchetypeComponents<StringKeyof<C & OptionalComponents>>, F extends ActionFunctions, S extends string>(database: Database<C, R, A, F>, systemDeclarations: {
|
|
17
|
-
readonly [K in S]: SystemDeclaration<C, R, A, F, S>;
|
|
18
|
-
}): World<C, R, A, F, S>;
|
|
19
|
-
export {};
|
|
@@ -1,80 +0,0 @@
|
|
|
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 { Database } from "../index.js";
|
|
23
|
-
import { World } from "./world.js";
|
|
24
|
-
import { calculateSystemOrder } from "./calculate-system-order.js";
|
|
25
|
-
export function createWorld(schemaOrDatabase, systemDeclarations) {
|
|
26
|
-
if (!schemaOrDatabase) {
|
|
27
|
-
return createWorldFromSchema(World.Schema.create({}));
|
|
28
|
-
}
|
|
29
|
-
if (systemDeclarations) {
|
|
30
|
-
return createWorldFromDatabaseAndSystems(schemaOrDatabase, systemDeclarations);
|
|
31
|
-
}
|
|
32
|
-
else {
|
|
33
|
-
return createWorldFromSchema(schemaOrDatabase);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
function createWorldFromSchema(schema) {
|
|
37
|
-
const dbSchema = {
|
|
38
|
-
components: schema.components,
|
|
39
|
-
resources: schema.resources,
|
|
40
|
-
archetypes: schema.archetypes,
|
|
41
|
-
transactions: schema.transactions
|
|
42
|
-
};
|
|
43
|
-
const database = Database.create(dbSchema);
|
|
44
|
-
return createWorldFromDatabaseAndSystems(database, schema.systems);
|
|
45
|
-
}
|
|
46
|
-
function createWorldFromDatabaseAndSystems(database, systemDeclarations) {
|
|
47
|
-
// Calculate execution order from schedule constraints
|
|
48
|
-
const executionOrder = calculateSystemOrder(systemDeclarations);
|
|
49
|
-
// Create partial world shell (two-phase initialization to avoid circular dependency)
|
|
50
|
-
const partialWorld = {
|
|
51
|
-
database,
|
|
52
|
-
system: {
|
|
53
|
-
functions: {}, // Empty initially
|
|
54
|
-
order: executionOrder
|
|
55
|
-
},
|
|
56
|
-
extend: undefined // Will be set later
|
|
57
|
-
};
|
|
58
|
-
// NOW instantiate system functions with full world reference
|
|
59
|
-
const systemFunctions = {};
|
|
60
|
-
for (const name in systemDeclarations) {
|
|
61
|
-
systemFunctions[name] = systemDeclarations[name].create(partialWorld);
|
|
62
|
-
}
|
|
63
|
-
// Assign systems to world
|
|
64
|
-
partialWorld.system.functions = systemFunctions;
|
|
65
|
-
// Add extend method
|
|
66
|
-
const extend = (schema) => {
|
|
67
|
-
// Extend database with new components, resources, transactions
|
|
68
|
-
const extendedDatabase = database.extend(schema);
|
|
69
|
-
// Merge system declarations
|
|
70
|
-
const mergedSystemDeclarations = {
|
|
71
|
-
...systemDeclarations,
|
|
72
|
-
...schema.systems
|
|
73
|
-
};
|
|
74
|
-
// Create new world with merged systems
|
|
75
|
-
return createWorldFromDatabaseAndSystems(extendedDatabase, mergedSystemDeclarations);
|
|
76
|
-
};
|
|
77
|
-
partialWorld.extend = extend;
|
|
78
|
-
return partialWorld;
|
|
79
|
-
}
|
|
80
|
-
//# sourceMappingURL=create-world.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create-world.js","sourceRoot":"","sources":["../../../src/ecs/world/create-world.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;AAIX,OAAO,EAAqD,QAAQ,EAA2D,MAAM,aAAa,CAAC;AAEnJ,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AA0CnE,MAAM,UAAU,WAAW,CACvB,gBAAuF,EACvF,kBAAwB;IAExB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACpB,OAAO,qBAAqB,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1D,CAAC;IACD,IAAI,kBAAkB,EAAE,CAAC;QACrB,OAAO,iCAAiC,CAAC,gBAAuB,EAAE,kBAAkB,CAAC,CAAC;IAC1F,CAAC;SAAM,CAAC;QACJ,OAAO,qBAAqB,CAAC,gBAAuB,CAAC,CAAC;IAC1D,CAAC;AACL,CAAC;AAED,SAAS,qBAAqB,CAM5B,MAAsC;IAOpC,MAAM,QAAQ,GAAG;QACb,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,YAAY,EAAE,MAAM,CAAC,YAAY;KACpC,CAAC;IAEF,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC3C,OAAO,iCAAiC,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,iCAAiC,CAOtC,QAA8B,EAC9B,kBAA2E;IAI3E,sDAAsD;IACtD,MAAM,cAAc,GAAG,oBAAoB,CAAC,kBAAkB,CAAC,CAAC;IAEhE,qFAAqF;IACrF,MAAM,YAAY,GAAQ;QACtB,QAAQ;QACR,MAAM,EAAE;YACJ,SAAS,EAAE,EAAE,EAAG,kBAAkB;YAClC,KAAK,EAAE,cAAc;SACxB;QACD,MAAM,EAAE,SAAS,CAAE,oBAAoB;KAC1C,CAAC;IAEF,6DAA6D;IAC7D,MAAM,eAAe,GAAQ,EAAE,CAAC;IAChC,KAAK,MAAM,IAAI,IAAI,kBAAkB,EAAE,CAAC;QACpC,eAAe,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC1E,CAAC;IAED,0BAA0B;IAC1B,YAAY,CAAC,MAAM,CAAC,SAAS,GAAG,eAAe,CAAC;IAEhD,oBAAoB;IACpB,MAAM,MAAM,GAAG,CACX,MAAU,EACP,EAAE;QACL,+DAA+D;QAC/D,MAAM,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAEjD,4BAA4B;QAC5B,MAAM,wBAAwB,GAAG;YAC7B,GAAG,kBAAkB;YACrB,GAAG,MAAM,CAAC,OAAO;SACb,CAAC;QAET,uCAAuC;QACvC,OAAO,iCAAiC,CAAC,gBAAuB,EAAE,wBAAwB,CAAC,CAAC;IAChG,CAAC,CAAC;IAEF,YAAY,CAAC,MAAM,GAAG,MAAM,CAAC;IAE7B,OAAO,YAA8C,CAAC;AAC1D,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|