@adobe/data 0.9.2 → 0.9.4
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/assembly/package.json +1 -0
- package/blob/package.json +1 -0
- package/cache/package.json +1 -0
- package/ecs/database/combine-plugins.d.ts +21 -0
- package/ecs/database/combine-plugins.js +47 -0
- package/ecs/database/combine-plugins.js.map +1 -0
- package/ecs/database/create-plugin.d.ts +22 -55
- package/ecs/database/create-plugin.js +15 -24
- package/ecs/database/create-plugin.js.map +1 -1
- package/ecs/database/create-plugin.test.js +111 -65
- package/ecs/database/create-plugin.test.js.map +1 -1
- package/ecs/database/create-plugin.type-test.d.ts +1 -0
- package/ecs/database/create-plugin.type-test.js +671 -0
- package/ecs/database/create-plugin.type-test.js.map +1 -0
- package/ecs/database/database-schema/create-database-schema.d.ts +3 -3
- package/ecs/database/database-schema/database-schema.d.ts +3 -3
- package/ecs/database/database.d.ts +33 -45
- package/ecs/database/database.js +2 -16
- package/ecs/database/database.js.map +1 -1
- package/ecs/database/database.test.js +17 -11
- package/ecs/database/database.test.js.map +1 -1
- package/ecs/database/observed/create-observed-database.test.js +5 -6
- package/ecs/database/observed/create-observed-database.test.js.map +1 -1
- package/ecs/database/public/create-database-scheduler.test.d.ts +1 -0
- package/ecs/database/public/create-database-scheduler.test.js +82 -0
- package/ecs/database/public/create-database-scheduler.test.js.map +1 -0
- package/ecs/database/public/create-database.d.ts +18 -5
- package/ecs/database/public/create-database.js +73 -39
- package/ecs/database/public/create-database.js.map +1 -1
- package/ecs/database/public/create-database.test.js +156 -159
- package/ecs/database/public/create-database.test.js.map +1 -1
- package/ecs/database/reconciling/create-reconciling-database.d.ts +2 -2
- package/ecs/database/reconciling/create-reconciling-database.js.map +1 -1
- package/ecs/database/reconciling/create-reconciling-database.test.js +4 -6
- package/ecs/database/reconciling/create-reconciling-database.test.js.map +1 -1
- package/ecs/database/reconciling/reconciling-database.d.ts +2 -2
- package/ecs/index.d.ts +1 -2
- package/ecs/index.js +1 -1
- package/ecs/index.js.map +1 -1
- package/ecs/package.json +1 -0
- package/ecs/plugins/scheduler/scheduler.d.ts +6 -2
- package/ecs/plugins/scheduler/scheduler.js +17 -3
- package/ecs/plugins/scheduler/scheduler.js.map +1 -1
- package/ecs/store/action-functions.d.ts +9 -10
- package/ecs/store/action-functions.js +21 -0
- package/ecs/store/action-functions.js.map +1 -1
- package/ecs/store/archetype-components.d.ts +4 -2
- package/ecs/store/public/create-store.d.ts +1 -2
- package/ecs/store/store.d.ts +5 -5
- package/ecs/store/transaction-functions.d.ts +21 -0
- package/ecs/store/transaction-functions.js +2 -0
- package/ecs/store/transaction-functions.js.map +1 -0
- package/functions/package.json +1 -0
- package/lit/hooks/use-drag-transaction.d.ts +1 -1
- package/lit/package.json +1 -0
- package/math/package.json +1 -0
- package/observe/package.json +1 -0
- package/old-ecs/package.json +1 -0
- package/package.json +109 -1
- package/perftest/package.json +1 -0
- package/samples/package.json +1 -0
- package/samples/todo/services/state-service/create-todo-database.d.ts +2 -2
- package/samples/todo/services/state-service/create-todo-store.d.ts +1 -1
- package/schema/package.json +1 -0
- package/service/package.json +1 -0
- package/table/package.json +1 -0
- package/tsconfig.tsbuildinfo +1 -1
- package/typed-buffer/package.json +1 -0
- package/types/package.json +1 -0
- package/types/types.d.ts +1 -0
- package/types/types.js.map +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"type":"module","main":"./index.js","types":"./index.d.ts","exports":{".": {"import":"./index.js","types":"./index.d.ts"}}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"type":"module","main":"./index.js","types":"./index.d.ts","exports":{".": {"import":"./index.js","types":"./index.d.ts"}}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"type":"module","main":"./index.js","types":"./index.d.ts","exports":{".": {"import":"./index.js","types":"./index.d.ts"}}}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { IntersectTuple, UnionTuple } from "../../types/types.js";
|
|
2
|
+
import type { Database } from "./database.js";
|
|
3
|
+
export type CombinePlugins<Plugins extends readonly Database.Plugin[]> = Database.Plugin<{} & IntersectTuple<{
|
|
4
|
+
[K in keyof Plugins]: Plugins[K] extends Database.Plugin<infer C, any, any, any, any, any> ? C : never;
|
|
5
|
+
}>, {} & IntersectTuple<{
|
|
6
|
+
[K in keyof Plugins]: Plugins[K] extends Database.Plugin<any, infer R, any, any, any, any> ? R : never;
|
|
7
|
+
}>, {} & IntersectTuple<{
|
|
8
|
+
[K in keyof Plugins]: Plugins[K] extends Database.Plugin<any, any, infer A, any, any, any> ? A : never;
|
|
9
|
+
}>, {} & IntersectTuple<{
|
|
10
|
+
[K in keyof Plugins]: Plugins[K] extends Database.Plugin<any, any, any, infer TD, any, any> ? TD : never;
|
|
11
|
+
}>, Extract<UnionTuple<{
|
|
12
|
+
[K in keyof Plugins]: Plugins[K] extends Database.Plugin<any, any, any, any, infer S, any> ? S : never;
|
|
13
|
+
}>, string>, {} & IntersectTuple<{
|
|
14
|
+
[K in keyof Plugins]: Plugins[K] extends Database.Plugin<any, any, any, any, any, infer AD> ? AD : never;
|
|
15
|
+
}>>;
|
|
16
|
+
/**
|
|
17
|
+
* Combines multiple plugins into a single plugin.
|
|
18
|
+
* All plugin properties (components, resources, archetypes, transactions, systems, actions)
|
|
19
|
+
* require identity (===) when the same key exists across plugins.
|
|
20
|
+
*/
|
|
21
|
+
export declare function combinePlugins<const Plugins extends readonly Database.Plugin[]>(...plugins: Plugins): CombinePlugins<Plugins>;
|
|
@@ -0,0 +1,47 @@
|
|
|
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
|
+
/**
|
|
23
|
+
* Combines multiple plugins into a single plugin.
|
|
24
|
+
* All plugin properties (components, resources, archetypes, transactions, systems, actions)
|
|
25
|
+
* require identity (===) when the same key exists across plugins.
|
|
26
|
+
*/
|
|
27
|
+
export function combinePlugins(...plugins) {
|
|
28
|
+
const keys = ['components', 'resources', 'archetypes', 'transactions', 'systems', 'actions'];
|
|
29
|
+
const merge = (base, next) => Object.fromEntries(keys.map(key => {
|
|
30
|
+
const baseObj = base[key] ?? {};
|
|
31
|
+
const nextObj = next[key] ?? {};
|
|
32
|
+
// All keys require identity (===) check
|
|
33
|
+
const merged = { ...baseObj };
|
|
34
|
+
for (const [k, v] of Object.entries(nextObj)) {
|
|
35
|
+
if (k in baseObj && baseObj[k] !== v) {
|
|
36
|
+
throw new Error(`Plugin combine conflict: ${key}.${k} must be identical (===) across plugins`);
|
|
37
|
+
}
|
|
38
|
+
merged[k] = v;
|
|
39
|
+
}
|
|
40
|
+
return [key, merged];
|
|
41
|
+
}));
|
|
42
|
+
const emptyPlugin = { components: {}, resources: {}, archetypes: {}, transactions: {}, systems: {}, actions: {} };
|
|
43
|
+
// Merge all plugins together
|
|
44
|
+
const result = plugins.reduce(merge, emptyPlugin);
|
|
45
|
+
return result;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=combine-plugins.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"combine-plugins.js","sourceRoot":"","sources":["../../../src/ecs/database/combine-plugins.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;AAsDX;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAG5B,GAAG,OAAgB;IAEnB,MAAM,IAAI,GAAG,CAAC,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,CAAU,CAAC;IAEtG,MAAM,KAAK,GAAG,CAAC,IAAS,EAAE,IAAS,EAAE,EAAE,CACrC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QAChC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAEhC,wCAAwC;QACxC,MAAM,MAAM,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC;QAC9B,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7C,IAAI,CAAC,IAAI,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;gBACrC,MAAM,IAAI,KAAK,CACb,4BAA4B,GAAG,IAAI,CAAC,yCAAyC,CAC9E,CAAC;YACJ,CAAC;YACD,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAChB,CAAC;QACD,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC,CAAC;IAEN,MAAM,WAAW,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IAElH,6BAA6B;IAC7B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAElD,OAAO,MAAa,CAAC;AACvB,CAAC"}
|
|
@@ -1,69 +1,36 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { Database, SystemFunction } from "./database.js";
|
|
2
2
|
import type { ComponentSchemas } from "../component-schemas.js";
|
|
3
3
|
import type { ResourceSchemas } from "../resource-schemas.js";
|
|
4
4
|
import type { ArchetypeComponents } from "../store/archetype-components.js";
|
|
5
|
+
import type { TransactionDeclarations, ToTransactionFunctions } from "../store/transaction-functions.js";
|
|
5
6
|
import type { ActionDeclarations, ToActionFunctions } from "../store/action-functions.js";
|
|
6
7
|
import type { FromSchemas } from "../../schema/index.js";
|
|
7
|
-
import type { StringKeyof,
|
|
8
|
-
import
|
|
9
|
-
type
|
|
10
|
-
type RemoveIndexSignature<T> = {
|
|
8
|
+
import type { StringKeyof, Simplify, NoInfer } from "../../types/types.js";
|
|
9
|
+
import { CombinePlugins } from "./combine-plugins.js";
|
|
10
|
+
type RemoveIndex<T> = Simplify<{
|
|
11
11
|
[K in keyof T as string extends K ? never : number extends K ? never : symbol extends K ? never : K]: T[K];
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
type PluginDatabase<CS extends ComponentSchemas, RS extends ResourceSchemas, A extends ArchetypeComponents<StringKeyof<CS & OptionalComponents>>, TD extends ActionDeclarations<any, any, any>, S extends string> = Database<FromSchemas<RemoveIndexSignature<CS>>, FromSchemas<RemoveIndexSignature<RS>>, RemoveIndexSignature<{
|
|
15
|
-
readonly [K in keyof A as string extends K ? never : K]: A[K];
|
|
16
|
-
} & ArchetypeComponents<StringKeyof<FromSchemas<RemoveIndexSignature<CS>> & OptionalComponents>>>, ToActionFunctions<TD>, S>;
|
|
17
|
-
type MergeDependencies<D extends readonly Database.Plugin<any, any, any, any, any>[]> = {
|
|
18
|
-
components: {} & IntersectTuple<{
|
|
19
|
-
[K in keyof D]: D[K] extends Database.Plugin<infer C, any, any, any, any> ? (C extends undefined ? {} : C) : never;
|
|
20
|
-
}>;
|
|
21
|
-
resources: {} & IntersectTuple<{
|
|
22
|
-
[K in keyof D]: D[K] extends Database.Plugin<any, infer R, any, any, any> ? (R extends undefined ? {} : R) : never;
|
|
23
|
-
}>;
|
|
24
|
-
archetypes: {} & IntersectTuple<{
|
|
25
|
-
[K in keyof D]: D[K] extends Database.Plugin<any, any, infer A, any, any> ? (A extends undefined ? {} : A) : never;
|
|
26
|
-
}>;
|
|
27
|
-
transactions: {} & IntersectTuple<{
|
|
28
|
-
[K in keyof D]: D[K] extends Database.Plugin<any, any, any, infer TD, any> ? (TD extends undefined ? Record<never, never> : TD) : never;
|
|
29
|
-
}>;
|
|
30
|
-
systemNames: Extract<{
|
|
31
|
-
[K in keyof D]: ExtractSystemNames<D[K]>;
|
|
32
|
-
}[number], string>;
|
|
33
|
-
};
|
|
34
|
-
export declare function createPlugin<const CS extends ComponentSchemas, const RS extends ResourceSchemas, const A extends ArchetypeComponents<StringKeyof<CS & OptionalComponents>>, const TD extends ActionDeclarations<any, any, any>, const SYS extends {
|
|
35
|
-
readonly [K in string]: {
|
|
36
|
-
readonly create: (db: PluginDatabase<CS, RS, A, TD, string>) => SystemFunction;
|
|
37
|
-
readonly schedule?: {
|
|
38
|
-
readonly before?: readonly Extract<keyof SYS, string>[];
|
|
39
|
-
readonly after?: readonly Extract<keyof SYS, string>[];
|
|
40
|
-
readonly during?: readonly Extract<keyof SYS, string>[];
|
|
41
|
-
};
|
|
42
|
-
};
|
|
43
|
-
}>(descriptor: {
|
|
12
|
+
}>;
|
|
13
|
+
export declare function createPlugin<const XP extends Database.Plugin<{}, {}, {}, {}, never, {}>, const CS extends ComponentSchemas, const RS extends ResourceSchemas, const A extends ArchetypeComponents<StringKeyof<RemoveIndex<CS> & XP['components']>>, const TD extends TransactionDeclarations<FromSchemas<RemoveIndex<CS> & XP['components']>, FromSchemas<RemoveIndex<RS> & XP['resources']>, RemoveIndex<A> & XP['archetypes']>, const AD, const S extends string = never>(plugins: {
|
|
44
14
|
components?: CS;
|
|
45
15
|
resources?: RS;
|
|
46
16
|
archetypes?: A;
|
|
47
17
|
transactions?: TD;
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
readonly
|
|
53
|
-
|
|
54
|
-
readonly
|
|
55
|
-
|
|
56
|
-
|
|
18
|
+
actions?: AD & {
|
|
19
|
+
readonly [K: string]: (db: Database<FromSchemas<RemoveIndex<CS> & XP['components']>, FromSchemas<RemoveIndex<RS> & XP['resources']>, RemoveIndex<A> & XP['archetypes'], ToTransactionFunctions<RemoveIndex<TD> & XP['transactions']>, string, ToActionFunctions<XP['actions']>>, input?: any) => any;
|
|
20
|
+
};
|
|
21
|
+
systems?: {
|
|
22
|
+
readonly [K in S]: {
|
|
23
|
+
readonly create: (db: Database<FromSchemas<RemoveIndex<CS> & XP['components']>, FromSchemas<RemoveIndex<RS> & XP['resources']>, RemoveIndex<A> & XP['archetypes'], ToTransactionFunctions<RemoveIndex<TD> & XP['transactions']>, string, ToActionFunctions<RemoveIndex<AD> & XP['actions']>>) => SystemFunction | void;
|
|
24
|
+
readonly schedule?: {
|
|
25
|
+
readonly before?: readonly NoInfer<Exclude<S | StringKeyof<XP['systems']>, K>>[];
|
|
26
|
+
readonly after?: readonly NoInfer<Exclude<S | StringKeyof<XP['systems']>, K>>[];
|
|
27
|
+
readonly during?: readonly NoInfer<Exclude<S | StringKeyof<XP['systems']>, K>>[];
|
|
28
|
+
};
|
|
57
29
|
};
|
|
58
30
|
};
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
transactions?: TD;
|
|
64
|
-
systems?: SYS;
|
|
65
|
-
}, dependencies: D): Database.Plugin.Intersect<[
|
|
66
|
-
...D,
|
|
67
|
-
Database.Plugin<CS & MergeDependencies<D>['components'], RS, A, TD, StringKeyof<SYS>>
|
|
31
|
+
extends?: XP;
|
|
32
|
+
}): CombinePlugins<[
|
|
33
|
+
XP,
|
|
34
|
+
Database.Plugin<RemoveIndex<CS>, RemoveIndex<RS>, RemoveIndex<A>, RemoveIndex<TD>, S, AD & ActionDeclarations<FromSchemas<RemoveIndex<CS>>, FromSchemas<RemoveIndex<RS>>, RemoveIndex<A>, ToTransactionFunctions<RemoveIndex<TD>>, S>>
|
|
68
35
|
]>;
|
|
69
36
|
export {};
|
|
@@ -19,29 +19,20 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
|
19
19
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
20
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
21
|
SOFTWARE.*/
|
|
22
|
-
|
|
23
|
-
export function createPlugin(
|
|
24
|
-
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
}
|
|
38
|
-
return [key, { ...baseObj, ...nextObj }];
|
|
39
|
-
}));
|
|
40
|
-
// Merge dependencies first
|
|
41
|
-
const mergedDeps = (dependencies ?? []).reduce(merge, emptyPlugin);
|
|
42
|
-
// Merge descriptor on top of dependencies
|
|
43
|
-
return merge(mergedDeps, descriptor);
|
|
22
|
+
import { combinePlugins } from "./combine-plugins.js";
|
|
23
|
+
export function createPlugin(plugins) {
|
|
24
|
+
// Normalize plugins descriptor to a plugin object
|
|
25
|
+
const plugin = {
|
|
26
|
+
components: plugins.components ?? {},
|
|
27
|
+
resources: plugins.resources ?? {},
|
|
28
|
+
archetypes: plugins.archetypes ?? {},
|
|
29
|
+
transactions: plugins.transactions ?? {},
|
|
30
|
+
systems: plugins.systems ?? {},
|
|
31
|
+
actions: plugins.actions ?? {},
|
|
32
|
+
};
|
|
33
|
+
if (plugins.extends) {
|
|
34
|
+
return combinePlugins(plugins.extends, plugin);
|
|
35
|
+
}
|
|
36
|
+
return plugin;
|
|
44
37
|
}
|
|
45
|
-
const keys = ['components', 'resources', 'archetypes', 'transactions', 'systems'];
|
|
46
|
-
const emptyPlugin = { components: {}, resources: {}, archetypes: {}, transactions: {}, systems: {} };
|
|
47
38
|
//# sourceMappingURL=create-plugin.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-plugin.js","sourceRoot":"","sources":["../../../src/ecs/database/create-plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;
|
|
1
|
+
{"version":3,"file":"create-plugin.js","sourceRoot":"","sources":["../../../src/ecs/database/create-plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;AAUX,OAAO,EAAkB,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAWtE,MAAM,UAAU,YAAY,CASxB,OA8BC;IAUD,kDAAkD;IAClD,MAAM,MAAM,GAAQ;QAChB,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,EAAE;QACpC,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,EAAE;QAClC,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,EAAE;QACpC,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,EAAE;QACxC,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE;QAC9B,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE;KACjC,CAAC;IAEF,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QAClB,OAAO,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAQ,CAAC;IAC1D,CAAC;IACD,OAAO,MAAa,CAAC;AACzB,CAAC"}
|
|
@@ -21,6 +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, it, expect } from "vitest";
|
|
23
23
|
import { createPlugin } from "./create-plugin.js";
|
|
24
|
+
import { Database } from "./database.js";
|
|
24
25
|
describe("Database.Plugin.create", () => {
|
|
25
26
|
describe("single descriptor (no dependencies)", () => {
|
|
26
27
|
it("should create plugin with components, resources, and archetypes", () => {
|
|
@@ -99,6 +100,16 @@ describe("Database.Plugin.create", () => {
|
|
|
99
100
|
});
|
|
100
101
|
});
|
|
101
102
|
it("should constrain schedule references to dependency system names", () => {
|
|
103
|
+
const basePlugin = createPlugin({
|
|
104
|
+
systems: {
|
|
105
|
+
update: {
|
|
106
|
+
create: (_db) => () => { }
|
|
107
|
+
},
|
|
108
|
+
render: {
|
|
109
|
+
create: (_db) => () => { }
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
});
|
|
102
113
|
const plugin = createPlugin({
|
|
103
114
|
systems: {
|
|
104
115
|
renderSystem: {
|
|
@@ -109,19 +120,9 @@ describe("Database.Plugin.create", () => {
|
|
|
109
120
|
before: ["render2"]
|
|
110
121
|
}
|
|
111
122
|
}
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
systems: {
|
|
116
|
-
update: {
|
|
117
|
-
create: (_db) => () => { }
|
|
118
|
-
},
|
|
119
|
-
render: {
|
|
120
|
-
create: (_db) => () => { }
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
})
|
|
124
|
-
]);
|
|
123
|
+
},
|
|
124
|
+
extends: basePlugin
|
|
125
|
+
});
|
|
125
126
|
expect(plugin).toBeDefined();
|
|
126
127
|
expect(plugin.systems).toBeDefined();
|
|
127
128
|
});
|
|
@@ -137,8 +138,9 @@ describe("Database.Plugin.create", () => {
|
|
|
137
138
|
const extendedPlugin = createPlugin({
|
|
138
139
|
components: {
|
|
139
140
|
velocity: { type: "number" }
|
|
140
|
-
}
|
|
141
|
-
|
|
141
|
+
},
|
|
142
|
+
extends: basePlugin
|
|
143
|
+
});
|
|
142
144
|
expect("position" in extendedPlugin.components).toBe(true);
|
|
143
145
|
expect("health" in extendedPlugin.components).toBe(true);
|
|
144
146
|
expect("velocity" in extendedPlugin.components).toBe(true);
|
|
@@ -153,8 +155,9 @@ describe("Database.Plugin.create", () => {
|
|
|
153
155
|
const extendedPlugin = createPlugin({
|
|
154
156
|
resources: {
|
|
155
157
|
delta: { default: 0 }
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
+
},
|
|
159
|
+
extends: basePlugin
|
|
160
|
+
});
|
|
158
161
|
expect("time" in extendedPlugin.resources).toBe(true);
|
|
159
162
|
expect("config" in extendedPlugin.resources).toBe(true);
|
|
160
163
|
expect("delta" in extendedPlugin.resources).toBe(true);
|
|
@@ -172,8 +175,9 @@ describe("Database.Plugin.create", () => {
|
|
|
172
175
|
renderSystem: {
|
|
173
176
|
create: (_db) => () => { }
|
|
174
177
|
}
|
|
175
|
-
}
|
|
176
|
-
|
|
178
|
+
},
|
|
179
|
+
extends: basePlugin
|
|
180
|
+
});
|
|
177
181
|
expect("inputSystem" in extendedPlugin.systems).toBe(true);
|
|
178
182
|
expect("renderSystem" in extendedPlugin.systems).toBe(true);
|
|
179
183
|
});
|
|
@@ -191,8 +195,9 @@ describe("Database.Plugin.create", () => {
|
|
|
191
195
|
expect(typeof time).toBe("number");
|
|
192
196
|
}
|
|
193
197
|
}
|
|
194
|
-
}
|
|
195
|
-
|
|
198
|
+
},
|
|
199
|
+
extends: basePlugin
|
|
200
|
+
});
|
|
196
201
|
expect(extendedPlugin).toBeDefined();
|
|
197
202
|
});
|
|
198
203
|
it("should allow multiple dependencies", () => {
|
|
@@ -205,9 +210,11 @@ describe("Database.Plugin.create", () => {
|
|
|
205
210
|
const plugin3 = createPlugin({
|
|
206
211
|
components: { c: { type: "boolean" } }
|
|
207
212
|
});
|
|
213
|
+
const combinedBase = Database.Plugin.combine(plugin1, plugin2, plugin3);
|
|
208
214
|
const merged = createPlugin({
|
|
209
|
-
components: { d: { type: "number" } }
|
|
210
|
-
|
|
215
|
+
components: { d: { type: "number" } },
|
|
216
|
+
extends: combinedBase
|
|
217
|
+
});
|
|
211
218
|
expect("a" in merged.components).toBe(true);
|
|
212
219
|
expect("b" in merged.components).toBe(true);
|
|
213
220
|
expect("c" in merged.components).toBe(true);
|
|
@@ -215,24 +222,6 @@ describe("Database.Plugin.create", () => {
|
|
|
215
222
|
});
|
|
216
223
|
});
|
|
217
224
|
describe("schedule validation", () => {
|
|
218
|
-
it("should allow valid system references in schedule", () => {
|
|
219
|
-
expect(() => {
|
|
220
|
-
createPlugin({
|
|
221
|
-
systems: {
|
|
222
|
-
system1: {
|
|
223
|
-
create: (_db) => () => { }
|
|
224
|
-
},
|
|
225
|
-
system2: {
|
|
226
|
-
create: (_db) => () => { },
|
|
227
|
-
schedule: {
|
|
228
|
-
// @ts-expect-error - system1 does not exist
|
|
229
|
-
after: ["system1"]
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
});
|
|
234
|
-
}).not.toThrow();
|
|
235
|
-
});
|
|
236
225
|
it("should allow referencing dependency systems in schedule", () => {
|
|
237
226
|
const basePlugin = createPlugin({
|
|
238
227
|
systems: {
|
|
@@ -250,8 +239,9 @@ describe("Database.Plugin.create", () => {
|
|
|
250
239
|
after: ["inputSystem"] // Reference from dependency!
|
|
251
240
|
}
|
|
252
241
|
}
|
|
253
|
-
}
|
|
254
|
-
|
|
242
|
+
},
|
|
243
|
+
extends: basePlugin
|
|
244
|
+
});
|
|
255
245
|
}).not.toThrow();
|
|
256
246
|
});
|
|
257
247
|
it("should validate across multiple dependencies", () => {
|
|
@@ -278,8 +268,9 @@ describe("Database.Plugin.create", () => {
|
|
|
278
268
|
after: ["system1", "system2"] // Both from dependencies
|
|
279
269
|
}
|
|
280
270
|
}
|
|
281
|
-
}
|
|
282
|
-
|
|
271
|
+
},
|
|
272
|
+
extends: Database.Plugin.combine(plugin1, plugin2)
|
|
273
|
+
});
|
|
283
274
|
}).not.toThrow();
|
|
284
275
|
});
|
|
285
276
|
it("should constrain schedule references to dependency system names", () => {
|
|
@@ -303,8 +294,9 @@ describe("Database.Plugin.create", () => {
|
|
|
303
294
|
after: ["inputSystem", "physicsSystem"]
|
|
304
295
|
}
|
|
305
296
|
}
|
|
306
|
-
}
|
|
307
|
-
|
|
297
|
+
},
|
|
298
|
+
extends: basePlugin
|
|
299
|
+
});
|
|
308
300
|
expect(validPlugin).toBeDefined();
|
|
309
301
|
expect(validPlugin.systems).toHaveProperty("renderSystem");
|
|
310
302
|
});
|
|
@@ -346,8 +338,9 @@ describe("Database.Plugin.create", () => {
|
|
|
346
338
|
const invalid = db.resources.nonExistent;
|
|
347
339
|
}
|
|
348
340
|
}
|
|
349
|
-
}
|
|
350
|
-
|
|
341
|
+
},
|
|
342
|
+
extends: basePlugin
|
|
343
|
+
});
|
|
351
344
|
expect(extendedPlugin).toBeDefined();
|
|
352
345
|
});
|
|
353
346
|
});
|
|
@@ -362,9 +355,10 @@ describe("Database.Plugin.create", () => {
|
|
|
362
355
|
createPlugin({
|
|
363
356
|
components: {
|
|
364
357
|
health: { type: "string" } // Different definition
|
|
365
|
-
}
|
|
366
|
-
|
|
367
|
-
|
|
358
|
+
},
|
|
359
|
+
extends: plugin1
|
|
360
|
+
});
|
|
361
|
+
}).toThrow('Plugin combine conflict: components.health must be identical (===) across plugins');
|
|
368
362
|
});
|
|
369
363
|
it("should throw error when merging different resource definitions", () => {
|
|
370
364
|
const plugin1 = createPlugin({
|
|
@@ -376,9 +370,10 @@ describe("Database.Plugin.create", () => {
|
|
|
376
370
|
createPlugin({
|
|
377
371
|
resources: {
|
|
378
372
|
score: { default: 100 } // Different definition
|
|
379
|
-
}
|
|
380
|
-
|
|
381
|
-
|
|
373
|
+
},
|
|
374
|
+
extends: plugin1
|
|
375
|
+
});
|
|
376
|
+
}).toThrow('Plugin combine conflict: resources.score must be identical (===) across plugins');
|
|
382
377
|
});
|
|
383
378
|
it("should throw error when merging different archetype definitions", () => {
|
|
384
379
|
const plugin1 = createPlugin({
|
|
@@ -394,9 +389,10 @@ describe("Database.Plugin.create", () => {
|
|
|
394
389
|
createPlugin({
|
|
395
390
|
archetypes: {
|
|
396
391
|
Entity: ["position", "velocity"] // Different definition
|
|
397
|
-
}
|
|
398
|
-
|
|
399
|
-
|
|
392
|
+
},
|
|
393
|
+
extends: plugin1
|
|
394
|
+
});
|
|
395
|
+
}).toThrow('Plugin combine conflict: archetypes.Entity must be identical (===) across plugins');
|
|
400
396
|
});
|
|
401
397
|
it("should allow same component with identical reference", () => {
|
|
402
398
|
const sharedComponent = { type: "number" };
|
|
@@ -409,11 +405,43 @@ describe("Database.Plugin.create", () => {
|
|
|
409
405
|
createPlugin({
|
|
410
406
|
components: {
|
|
411
407
|
health: sharedComponent // Same reference - OK
|
|
412
|
-
}
|
|
413
|
-
|
|
408
|
+
},
|
|
409
|
+
extends: plugin1
|
|
410
|
+
});
|
|
414
411
|
}).not.toThrow();
|
|
415
412
|
});
|
|
416
|
-
it("should
|
|
413
|
+
it("should throw error when merging different transaction definitions", () => {
|
|
414
|
+
const plugin1 = createPlugin({
|
|
415
|
+
transactions: {
|
|
416
|
+
updateEntity: (store) => { }
|
|
417
|
+
}
|
|
418
|
+
});
|
|
419
|
+
expect(() => {
|
|
420
|
+
createPlugin({
|
|
421
|
+
transactions: {
|
|
422
|
+
updateEntity: (store) => { } // Different function reference - error
|
|
423
|
+
},
|
|
424
|
+
extends: plugin1
|
|
425
|
+
});
|
|
426
|
+
}).toThrow('Plugin combine conflict: transactions.updateEntity must be identical (===) across plugins');
|
|
427
|
+
});
|
|
428
|
+
it("should allow same transaction with identical reference", () => {
|
|
429
|
+
const sharedTransaction = (store) => { };
|
|
430
|
+
const plugin1 = createPlugin({
|
|
431
|
+
transactions: {
|
|
432
|
+
updateEntity: sharedTransaction
|
|
433
|
+
}
|
|
434
|
+
});
|
|
435
|
+
expect(() => {
|
|
436
|
+
createPlugin({
|
|
437
|
+
transactions: {
|
|
438
|
+
updateEntity: sharedTransaction // Same reference - OK
|
|
439
|
+
},
|
|
440
|
+
extends: plugin1
|
|
441
|
+
});
|
|
442
|
+
}).not.toThrow();
|
|
443
|
+
});
|
|
444
|
+
it("should throw error when merging different system definitions", () => {
|
|
417
445
|
const plugin1 = createPlugin({
|
|
418
446
|
systems: {
|
|
419
447
|
update: {
|
|
@@ -421,15 +449,33 @@ describe("Database.Plugin.create", () => {
|
|
|
421
449
|
}
|
|
422
450
|
}
|
|
423
451
|
});
|
|
424
|
-
// Should not throw - systems can be overwritten
|
|
425
452
|
expect(() => {
|
|
426
453
|
createPlugin({
|
|
427
454
|
systems: {
|
|
428
455
|
update: {
|
|
429
|
-
create: () => () => { } // Different function -
|
|
456
|
+
create: () => () => { } // Different function - error
|
|
430
457
|
}
|
|
431
|
-
}
|
|
432
|
-
|
|
458
|
+
},
|
|
459
|
+
extends: plugin1
|
|
460
|
+
});
|
|
461
|
+
}).toThrow('Plugin combine conflict: systems.update must be identical (===) across plugins');
|
|
462
|
+
});
|
|
463
|
+
it("should allow same system with identical reference", () => {
|
|
464
|
+
const sharedSystem = {
|
|
465
|
+
create: () => () => { }
|
|
466
|
+
};
|
|
467
|
+
const plugin1 = createPlugin({
|
|
468
|
+
systems: {
|
|
469
|
+
update: sharedSystem
|
|
470
|
+
}
|
|
471
|
+
});
|
|
472
|
+
expect(() => {
|
|
473
|
+
createPlugin({
|
|
474
|
+
systems: {
|
|
475
|
+
update: sharedSystem // Same reference - OK
|
|
476
|
+
},
|
|
477
|
+
extends: plugin1
|
|
478
|
+
});
|
|
433
479
|
}).not.toThrow();
|
|
434
480
|
});
|
|
435
481
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-plugin.test.js","sourceRoot":"","sources":["../../../src/ecs/database/create-plugin.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"create-plugin.test.js","sourceRoot":"","sources":["../../../src/ecs/database/create-plugin.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|