@adobe/data 0.9.41 → 0.9.42

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/AGENTS.md CHANGED
@@ -71,7 +71,7 @@ Source lives under `src/` with one main `index.ts` per area; built output is in
71
71
  | Property | Purpose |
72
72
  |----------|---------|
73
73
  | `extends` | Base plugin to extend (single parent only) |
74
- | `services` | `(db) => ServiceInstance` — singleton service factories; extended plugin services initialize first |
74
+ | `services` | `(db) => { name1: service1, ... }` — single factory returning all services; extended plugin services initialize first |
75
75
  | `components` | Schema object for ECS component data. Use `transient: true` for non-persistable values (DOM refs, HTML elements). |
76
76
  | `resources` | `{ default: value as Type }` — global state. Use `as Type` for compile-time type; use `null as unknown as Type` for resources initialized later in a system. |
77
77
  | `archetypes` | `['comp1', 'comp2']` — standard ECS archetypes for querying and inserting related components |
@@ -1,5 +1,5 @@
1
1
  import { Simplify } from "../../types/types.js";
2
- import type { Database } from "./database.js";
2
+ import type { Database, FromServiceFactory } from "./database.js";
3
3
  type IntersectAll<T extends readonly unknown[]> = Simplify<T extends readonly [infer H, ...infer R] ? H & IntersectAll<R> : unknown>;
4
4
  type UnionAll<T extends readonly unknown[]> = Simplify<T extends readonly [infer H, ...infer R] ? H | UnionAll<R> : never>;
5
5
  export type CombinePlugins<Plugins extends readonly Database.Plugin[]> = Database.Plugin<Simplify<{} & IntersectAll<{
@@ -14,8 +14,8 @@ export type CombinePlugins<Plugins extends readonly Database.Plugin[]> = Databas
14
14
  [K in keyof Plugins]: Plugins[K] extends Database.Plugin<any, any, any, any, infer S, any, any, any> ? S : never;
15
15
  }>>, string>, Simplify<{} & IntersectAll<{
16
16
  [K in keyof Plugins]: Plugins[K] extends Database.Plugin<any, any, any, any, any, infer AD, any, any> ? AD : never;
17
- }>>, Simplify<{} & IntersectAll<{
18
- [K in keyof Plugins]: Plugins[K] extends Database.Plugin<any, any, any, any, any, any, infer SVF, any> ? SVF : never;
17
+ }>>, (db: any) => Simplify<{} & IntersectAll<{
18
+ [K in keyof Plugins]: Plugins[K] extends Database.Plugin<any, any, any, any, any, any, infer SVF, any> ? FromServiceFactory<SVF> : {};
19
19
  }>>, Simplify<{} & IntersectAll<{
20
20
  [K in keyof Plugins]: Plugins[K] extends Database.Plugin<any, any, any, any, any, any, any, infer CVF> ? CVF : never;
21
21
  }>>>;
@@ -9,7 +9,31 @@
9
9
  */
10
10
  export function combinePlugins(...plugins) {
11
11
  const keys = ['services', 'components', 'resources', 'archetypes', 'computed', 'transactions', 'actions', 'systems'];
12
+ const emptyServiceFactory = () => ({});
12
13
  const merge = (base, next) => Object.fromEntries(keys.map(key => {
14
+ if (key === "services") {
15
+ const baseFn = typeof base[key] === "function" ? base[key] : emptyServiceFactory;
16
+ const nextFn = typeof next[key] === "function" ? next[key] : emptyServiceFactory;
17
+ if (baseFn === emptyServiceFactory)
18
+ return [key, nextFn];
19
+ if (nextFn === emptyServiceFactory)
20
+ return [key, baseFn];
21
+ return [key, (db) => {
22
+ const s1 = baseFn(db) ?? {};
23
+ Object.assign(db.services, s1);
24
+ const s2 = nextFn(db) ?? {};
25
+ const merged = { ...s1 };
26
+ for (const k of Object.keys(s2)) {
27
+ // if (k in merged && merged[k] !== (s2 as Record<string, unknown>)[k]) {
28
+ // throw new Error(
29
+ // `Plugin combine conflict: services.${k} must be identical (===) across plugins`
30
+ // );
31
+ // }
32
+ merged[k] = s2[k];
33
+ }
34
+ return merged;
35
+ }];
36
+ }
13
37
  const baseObj = base[key] ?? {};
14
38
  const nextObj = next[key] ?? {};
15
39
  // All keys require identity (===) check
@@ -1 +1 @@
1
- {"version":3,"file":"combine-plugins.js","sourceRoot":"","sources":["../../../src/ecs/database/combine-plugins.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAiCvD;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAE5B,GAAG,OAAgB;IACnB,MAAM,IAAI,GAAG,CAAC,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,CAAU,CAAC;IAE9H,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,QAAQ,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAE9I,6BAA6B;IAC7B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAElD,OAAO,MAAiC,CAAC;AAC3C,CAAC"}
1
+ {"version":3,"file":"combine-plugins.js","sourceRoot":"","sources":["../../../src/ecs/database/combine-plugins.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Database, SystemFunction, ServiceFactories, FromServiceFactories, FromComputedFactories, type PluginComputedFactories } from "./database.js";
1
+ import { Database, SystemFunction, ServiceFactory, FromServiceFactory, FromComputedFactories, type PluginComputedFactories } 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";
@@ -31,10 +31,10 @@ type RemoveIndex<T> = Simplify<{
31
31
  * ```ts
32
32
  * Database.Plugin.create({
33
33
  * extends: basePlugin, // 1. extends first
34
- * services: { // 2. services last
35
- * myService: (db) => createMyService(db.resources.config),
36
- * }
37
- * components: { ... }, // 3. components
34
+ * services: (db) => ({ // 2. single factory returns all services
35
+ * myService: createMyService(db.resources.config),
36
+ * }),
37
+ * components: { ... }, // 3. components
38
38
  * resources: { ... }, // 4. resources
39
39
  * archetypes: { ... }, // 5. archetypes
40
40
  * computed: { ... }, // 6. computed
@@ -44,10 +44,10 @@ type RemoveIndex<T> = Simplify<{
44
44
  * })
45
45
  * ```
46
46
  *
47
- * **Services**: Factory functions that create singleton services. Services from
48
- * extended plugins are initialized first, ensuring proper dependency order.
49
- * Service factories receive the database with access to extended plugin's
50
- * resources, transactions, actions, and services.
47
+ * **Services**: A single factory function `(db) => ({ name1: service1, ... })` that
48
+ * creates all plugin services. Services from extended plugins are initialized first,
49
+ * so the factory receives a database with access to extended plugin's resources,
50
+ * transactions, actions, and services.
51
51
  *
52
52
  * **Computed**: Factory functions that return values extending Observe<unknown>. Each receives
53
53
  * the full db (CS, RS, A from current plugin and extend). Database keeps ComputedFactories
@@ -55,23 +55,22 @@ type RemoveIndex<T> = Simplify<{
55
55
  *
56
56
  * @throws Error if properties are not in the correct order
57
57
  */
58
- type FullDBForPlugin<CS, RS, A, TD, S extends string, AD, XP extends Database.Plugin, SVF extends ServiceFactories<Database.FromPlugin<XP>>> = Database<FromSchemas<CS & XP['components']>, FromSchemas<RS & XP['resources']>, A & XP['archetypes'], ToTransactionFunctions<TD & XP['transactions']>, S | StringKeyof<XP['systems']>, ToActionFunctions<AD & XP['actions']>, FromServiceFactories<RemoveIndex<SVF> & XP['services']>>;
59
- 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, const SVF extends ServiceFactories<Database.FromPlugin<XP>> = {}, const CVF extends PluginComputedFactories<FullDBForPlugin<RemoveIndex<CS>, RemoveIndex<RS>, RemoveIndex<A>, RemoveIndex<TD>, S, RemoveIndex<AD> & XP['actions'], XP, RemoveIndex<SVF>>> = {}>(plugins: {
58
+ type FullDBForPlugin<CS, RS, A, TD, S extends string, AD, XP extends Database.Plugin, SVF extends ServiceFactory<Database.FromPlugin<XP>>> = Database<FromSchemas<CS & XP['components']>, FromSchemas<RS & XP['resources']>, A & XP['archetypes'], ToTransactionFunctions<TD & XP['transactions']>, S | StringKeyof<XP['systems']>, ToActionFunctions<AD & XP['actions']>, FromServiceFactory<SVF> & FromServiceFactory<XP['services']>>;
59
+ declare const emptyServiceFactory: (_db: unknown) => Record<string, unknown>;
60
+ export declare function createPlugin<const XP extends Database.Plugin<{}, {}, {}, {}, never, {}, any, {}>, 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, const SVF extends ServiceFactory<Database.FromPlugin<XP>> = typeof emptyServiceFactory, const CVF extends PluginComputedFactories<FullDBForPlugin<RemoveIndex<CS>, RemoveIndex<RS>, RemoveIndex<A>, RemoveIndex<TD>, S, RemoveIndex<AD> & XP['actions'], XP, SVF>> = {}>(plugins: {
60
61
  extends?: XP;
61
- services?: SVF & {
62
- readonly [K: string]: (db: Database.FromPlugin<XP>) => unknown;
63
- };
62
+ services?: SVF & ((db: Database.FromPlugin<XP>) => Record<string, unknown>);
64
63
  components?: CS;
65
64
  resources?: RS;
66
65
  archetypes?: A;
67
- computed?: CVF & PluginComputedFactories<FullDBForPlugin<RemoveIndex<CS>, RemoveIndex<RS>, RemoveIndex<A>, {}, string, RemoveIndex<AD> & XP['actions'], XP, RemoveIndex<SVF>>>;
66
+ computed?: CVF & PluginComputedFactories<FullDBForPlugin<RemoveIndex<CS>, RemoveIndex<RS>, RemoveIndex<A>, {}, string, RemoveIndex<AD> & XP['actions'], XP, SVF>>;
68
67
  transactions?: TD;
69
68
  actions?: AD & {
70
- readonly [K: string]: (db: Database<FromSchemas<RemoveIndex<CS> & XP['components']>, FromSchemas<RemoveIndex<RS> & XP['resources']>, RemoveIndex<A> & XP['archetypes'], ToTransactionFunctions<RemoveIndex<TD> & XP['transactions']>, S | StringKeyof<XP['systems']>, ToActionFunctions<XP['actions']>, FromServiceFactories<RemoveIndex<SVF> & XP['services']>, FromComputedFactories<RemoveIndex<CVF> & XP['computed']>>, input?: any) => any;
69
+ readonly [K: string]: (db: Database<FromSchemas<RemoveIndex<CS> & XP['components']>, FromSchemas<RemoveIndex<RS> & XP['resources']>, RemoveIndex<A> & XP['archetypes'], ToTransactionFunctions<RemoveIndex<TD> & XP['transactions']>, S | StringKeyof<XP['systems']>, ToActionFunctions<XP['actions']>, FromServiceFactory<SVF> & FromServiceFactory<XP['services']>, FromComputedFactories<RemoveIndex<CVF> & XP['computed']>>, input?: any) => any;
71
70
  };
72
71
  systems?: {
73
72
  readonly [K in S]: {
74
- readonly create: (db: Database<FromSchemas<RemoveIndex<CS> & XP['components']>, FromSchemas<RemoveIndex<RS> & XP['resources']>, RemoveIndex<A> & XP['archetypes'], ToTransactionFunctions<RemoveIndex<TD> & XP['transactions']>, S | StringKeyof<XP['systems']>, ToActionFunctions<RemoveIndex<AD> & XP['actions']>, FromServiceFactories<RemoveIndex<SVF> & XP['services']>, FromComputedFactories<RemoveIndex<CVF> & XP['computed']>> & {
73
+ readonly create: (db: Database<FromSchemas<RemoveIndex<CS> & XP['components']>, FromSchemas<RemoveIndex<RS> & XP['resources']>, RemoveIndex<A> & XP['archetypes'], ToTransactionFunctions<RemoveIndex<TD> & XP['transactions']>, S | StringKeyof<XP['systems']>, ToActionFunctions<RemoveIndex<AD> & XP['actions']>, FromServiceFactory<SVF> & FromServiceFactory<XP['services']>, FromComputedFactories<RemoveIndex<CVF> & XP['computed']>> & {
75
74
  readonly store: Store<FromSchemas<RemoveIndex<CS> & XP['components']>, FromSchemas<RemoveIndex<RS> & XP['resources']>, RemoveIndex<A> & XP['archetypes']>;
76
75
  }) => SystemFunction | void;
77
76
  readonly schedule?: {
@@ -83,6 +82,6 @@ export declare function createPlugin<const XP extends Database.Plugin<{}, {}, {}
83
82
  };
84
83
  }): CombinePlugins<[
85
84
  XP,
86
- 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>, RemoveIndex<SVF>, RemoveIndex<CVF>>
85
+ 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>, SVF, RemoveIndex<CVF>>
87
86
  ]>;
88
87
  export {};
@@ -21,11 +21,12 @@ function validatePropertyOrder(plugins) {
21
21
  }
22
22
  }
23
23
  }
24
+ const emptyServiceFactory = (_db) => ({});
24
25
  export function createPlugin(plugins) {
25
26
  validatePropertyOrder(plugins);
26
27
  // Normalize plugins descriptor to a plugin object in correct order
27
28
  const plugin = {
28
- services: plugins.services ?? {},
29
+ services: plugins.services ?? emptyServiceFactory,
29
30
  components: plugins.components ?? {},
30
31
  resources: plugins.resources ?? {},
31
32
  archetypes: plugins.archetypes ?? {},
@@ -1 +1 @@
1
- {"version":3,"file":"create-plugin.js","sourceRoot":"","sources":["../../../src/ecs/database/create-plugin.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAUvD,OAAO,EAAkB,cAAc,EAAE,MAAM,sBAAsB,CAAC;AA4BtE,SAAS,qBAAqB,CAAC,OAAgC;IAC3D,MAAM,aAAa,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IACzI,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,OAAO,CAAC,CAAC;IAE7D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,MAAM,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,aAAa,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjD,IAAI,aAAa,KAAK,CAAC,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,6CAA6C,GAAG,4BAA4B,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5H,CAAC;QACD,uDAAuD;QACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,iBAAiB,GAAG,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACzD,IAAI,iBAAiB,GAAG,aAAa,EAAE,CAAC;gBACpC,MAAM,IAAI,KAAK,CACX,qCAAqC,GAAG,uBAAuB,OAAO,KAAK;oBAC3E,mBAAmB,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACrF,CAAC;YACN,CAAC;QACL,CAAC;IACL,CAAC;AACL,CAAC;AA2DD,MAAM,UAAU,YAAY,CAWxB,OA8CC;IAWD,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAE/B,mEAAmE;IACnE,MAAM,MAAM,GAAQ;QAChB,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,EAAE;QAChC,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,EAAE;QACpC,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,EAAE;QAClC,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,EAAE;QACpC,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,EAAE;QAChC,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"}
1
+ {"version":3,"file":"create-plugin.js","sourceRoot":"","sources":["../../../src/ecs/database/create-plugin.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAUvD,OAAO,EAAkB,cAAc,EAAE,MAAM,sBAAsB,CAAC;AA4BtE,SAAS,qBAAqB,CAAC,OAAgC;IAC3D,MAAM,aAAa,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IACzI,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,OAAO,CAAC,CAAC;IAE7D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,MAAM,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,aAAa,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjD,IAAI,aAAa,KAAK,CAAC,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,6CAA6C,GAAG,4BAA4B,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5H,CAAC;QACD,uDAAuD;QACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,iBAAiB,GAAG,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACzD,IAAI,iBAAiB,GAAG,aAAa,EAAE,CAAC;gBACpC,MAAM,IAAI,KAAK,CACX,qCAAqC,GAAG,uBAAuB,OAAO,KAAK;oBAC3E,mBAAmB,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACrF,CAAC;YACN,CAAC;QACL,CAAC;IACL,CAAC;AACL,CAAC;AA2DD,MAAM,mBAAmB,GAAG,CAAC,GAAY,EAA2B,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AAE5E,MAAM,UAAU,YAAY,CAWxB,OA4CC;IAWD,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAE/B,mEAAmE;IACnE,MAAM,MAAM,GAAQ;QAChB,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,mBAAmB;QACjD,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,EAAE;QACpC,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,EAAE;QAClC,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,EAAE;QACpC,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,EAAE;QAChC,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,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC"}
@@ -15,7 +15,7 @@ describe("Database.Plugin.create", () => {
15
15
  expect(() => {
16
16
  Database.Plugin.create({
17
17
  components: {},
18
- services: {}, // services should come before components
18
+ services: () => ({}), // services should come before components
19
19
  });
20
20
  }).toThrow('Property "services" must come before "components"');
21
21
  expect(() => {
@@ -44,7 +44,7 @@ describe("Database.Plugin.create", () => {
44
44
  expect(() => {
45
45
  Database.Plugin.create({
46
46
  extends: undefined,
47
- services: {},
47
+ services: () => ({}),
48
48
  components: {},
49
49
  resources: {},
50
50
  archetypes: {},
@@ -56,7 +56,7 @@ describe("Database.Plugin.create", () => {
56
56
  }).not.toThrow();
57
57
  expect(() => {
58
58
  Database.Plugin.create({
59
- services: {},
59
+ services: () => ({}),
60
60
  components: {},
61
61
  resources: {},
62
62
  archetypes: {},
@@ -112,16 +112,16 @@ describe("Database.Plugin.create", () => {
112
112
  expect(scaledValue).toBe(30);
113
113
  });
114
114
  it("should allow actions to access services from the same plugin", () => {
115
- const authService = { token: 'test', isAuthenticated: true };
115
+ const authService = { token: "test", isAuthenticated: true };
116
116
  const plugin = Database.Plugin.create({
117
- services: {
118
- auth: () => authService,
119
- },
117
+ services: () => ({ auth: authService }),
120
118
  actions: {
121
119
  getAuth: (db) => db.services.auth,
122
120
  },
123
121
  });
124
- expect(plugin.services.auth).toBeDefined();
122
+ const db = Database.create(plugin);
123
+ expect(db.services.auth).toBeDefined();
124
+ expect(db.services.auth).toBe(authService);
125
125
  expect(plugin.actions.getAuth).toBeDefined();
126
126
  });
127
127
  });
@@ -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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"}
@@ -816,17 +816,13 @@ function checkDatabaseTypeFromExtendedPlugin() {
816
816
  // Test: Basic service factory inference
817
817
  function validServiceFactoryBasic() {
818
818
  const plugin = createPlugin({
819
- services: {
820
- auth: (_db) => ({ token: 'test', isAuthenticated: true }),
821
- },
819
+ services: (db) => ({ auth: { token: "test", isAuthenticated: true } }),
822
820
  });
823
821
  }
824
822
  // Test: Service accessible in systems
825
823
  function validServiceAccessInSystems() {
826
824
  const plugin = createPlugin({
827
- services: {
828
- auth: (_db) => ({ token: 'test', isAuthenticated: true }),
829
- },
825
+ services: () => ({ auth: { token: "test", isAuthenticated: true } }),
830
826
  systems: {
831
827
  testSystem: {
832
828
  create: (db) => () => {
@@ -849,23 +845,17 @@ function validServiceFactoryWithExtendedPlugin() {
849
845
  });
850
846
  const extendedPlugin = createPlugin({
851
847
  extends: basePlugin,
852
- services: {
853
- // Service factory has access to base plugin's db type
854
- auth: (db) => {
855
- // Verify db has access to base plugin's transactions
856
- // Note: ToTransactionFunctions wraps the input type with AsyncArgsProvider union
857
- db.transactions.setEnvironment(null);
858
- return { token: 'test', isAuthenticated: true };
859
- },
848
+ services: (db) => {
849
+ // Verify db has access to base plugin's transactions
850
+ db.transactions.setEnvironment(null);
851
+ return { auth: { token: "test", isAuthenticated: true } };
860
852
  },
861
853
  });
862
854
  }
863
855
  // Test: Service accessible in actions (same plugin)
864
856
  function validServiceAccessInActions() {
865
857
  const plugin = createPlugin({
866
- services: {
867
- auth: (_db) => ({ token: 'test', isAuthenticated: true }),
868
- },
858
+ services: () => ({ auth: { token: "test", isAuthenticated: true } }),
869
859
  actions: {
870
860
  useAuth: (db) => {
871
861
  },
@@ -875,9 +865,7 @@ function validServiceAccessInActions() {
875
865
  // Test: Extended plugin services accessible in current plugin's actions
876
866
  function validExtendedServiceAccessInActions() {
877
867
  const basePlugin = createPlugin({
878
- services: {
879
- auth: (_db) => ({ token: 'test', isAuthenticated: true }),
880
- },
868
+ services: () => ({ auth: { token: "test", isAuthenticated: true } }),
881
869
  });
882
870
  const extendedPlugin = createPlugin({
883
871
  extends: basePlugin,
@@ -896,20 +884,14 @@ function validChainedExtensionWithServices() {
896
884
  });
897
885
  const level2 = createPlugin({
898
886
  extends: level1,
899
- services: {
900
- // Service can access level1's resources
901
- auth: (db) => {
902
- return { token: 'test', isAuthenticated: true };
903
- },
887
+ services: (db) => {
888
+ return { auth: { token: "test", isAuthenticated: true } };
904
889
  },
905
890
  });
906
891
  const level3 = createPlugin({
907
892
  extends: level2,
908
- services: {
909
- // Service can access level1's resources and level2's services
910
- session: (db) => {
911
- return { sessionId: 'abc123' };
912
- },
893
+ services: (db) => {
894
+ return { session: { sessionId: "abc123" } };
913
895
  },
914
896
  systems: {
915
897
  testSystem: {
@@ -922,13 +904,11 @@ function validChainedExtensionWithServices() {
922
904
  // Test: Service cannot access current plugin's services (only extended)
923
905
  function invalidServiceAccessCurrentPluginServices() {
924
906
  createPlugin({
925
- services: {
926
- a: (_db) => ({ value: 1 }),
927
- b: (db) => {
928
- // @ts-expect-error - Service 'a' is not accessible because it's in the same plugin
929
- const _value = db.services.a;
930
- return { value: 2 };
931
- },
907
+ services: (db) => {
908
+ // @ts-expect-error - Service 'a' is not accessible via db.services (same plugin)
909
+ const _value = db.services.a;
910
+ const a = { value: 1 };
911
+ return { a, b: { value: 2 } };
932
912
  },
933
913
  });
934
914
  }
@@ -1 +1 @@
1
- {"version":3,"file":"create-plugin.type-test.js","sourceRoot":"","sources":["../../../src/ecs/database/create-plugin.type-test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-plugin.type-test.js","sourceRoot":"","sources":["../../../src/ecs/database/create-plugin.type-test.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAEvD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEjD;;;;;;;;GAQG;AAEH,+EAA+E;AAC/E,6BAA6B;AAC7B,+EAA+E;AAE/E,SAAS,uBAAuB;IAC5B,+BAA+B;IAC/B,MAAM,WAAW,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;IACrC,yGAAyG;IAEzG,6CAA6C;IAC7C,MAAM,oBAAoB,GAAG,YAAY,CAAC;QACtC,UAAU,EAAE;YACR,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACrB,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SACxB;QACD,UAAU,EAAE;YACR,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;YACb,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,WAAW,CAAC;YACpC,SAAS,EAAE,CAAC,WAAW,CAAC;SAC3B;KACJ,CAAC,CAAC;IAEH,sEAAsE;IACtE,MAAM,sBAAsB,GAAG,YAAY,CAAC;QACxC,UAAU,EAAE;YACR,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACrB,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SACxB;QACD,SAAS,EAAE;YACP,CAAC,EAAE,EAAE,OAAO,EAAE,KAAgB,EAAE;SACnC;QACD,UAAU,EAAE;YACR,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;YACb,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,WAAW,CAAC;SACvC;QACD,YAAY,EAAE;YACV,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE;gBACnB,4BAA4B;gBAC5B,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC;gBACzB,mBAAmB;gBACnB,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC5C,eAAe;gBACf,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC9B,CAAC;SACJ;KACJ,CAAC,CAAC;IAEH,sGAAsG;IACtG,MAAM,mBAAmB,GAAG,YAAY,CAAC;QACrC,UAAU,EAAE;YACR,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACrB,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SACxB;QACD,SAAS,EAAE;YACP,CAAC,EAAE,EAAE,OAAO,EAAE,KAAgB,EAAE;SACnC;QACD,UAAU,EAAE;YACR,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;SAChB;QACD,QAAQ,EAAE;YACN,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE;gBACZ,MAAM,EAAE,GAAY,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;gBACnC,OAAO,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACnC,CAAC;SACJ;QACD,YAAY,EAAE,EAAE;QAChB,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,EAAE;KACd,CAAC,CAAC;IAEH,sGAAsG;IACtG,MAAM,2BAA2B,GAAG,YAAY,CAAC;QAC7C,UAAU,EAAE;YACR,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACrB,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SACxB;QACD,SAAS,EAAE;YACP,CAAC,EAAE,EAAE,OAAO,EAAE,KAAgB,EAAE;SACnC;QACD,UAAU,EAAE;YACR,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;SAChB;QACD,QAAQ,EAAE;YACN,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;YACpD,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC;YAC3E,gBAAgB,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;SACzF;QACD,YAAY,EAAE,EAAE;QAChB,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,EAAE;KACd,CAAC,CAAC;IASH,+EAA+E;IAC/E,MAAM,6BAA6B,GAAG,YAAY,CAAC;QAC/C,SAAS,EAAE;YACP,CAAC,EAAE,EAAE,OAAO,EAAE,EAAY,EAAE;SAC/B;QACD,QAAQ,EAAE;YACN,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;YACtE,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,SAAiB,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC;SACzG;QACD,OAAO,EAAE;YACL,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE;gBAChB,MAAM,CAAC,GAAoB,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAC/C,MAAM,CAAC,GAA4C,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC5E,CAAC;SACJ;KACJ,CAAC,CAAC;IAEH,6CAA6C;IAC7C,sEAAsE;IACtE,wEAAwE;IACxE,yDAAyD;IACzD,MAAM,qBAAqB,GAAG,YAAY,CAAC;QACvC,UAAU,EAAE;YACR,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SACxB;QACD,UAAU,EAAE;YACR,CAAC,EAAE,CAAC,GAAG,CAAC;SACX;QACD,YAAY,EAAE;YACV,IAAI,EAAE,CAAC,KAAK,EAAE,KAAa,EAAE,EAAE;gBAC3B,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YAClC,CAAC;SACJ;KACJ,CAAC,CAAC;IAEH,MAAM,wBAAwB,GAAG,YAAY,CAAC;QAC1C,OAAO,EAAE,qBAAqB;QAC9B,SAAS,EAAE;YACP,YAAY,EAAE,EAAE,OAAO,EAAE,IAAe,EAAE;SAC7C;QACD,QAAQ,EAAE;YACN,YAAY,EAAE,CAAC,EAAE,EAAE,EAAE;gBACjB,OAAO,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACtC,CAAC;SACJ;QACD,YAAY,EAAE;YACV,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE;gBACnB,KAAK,CAAC,SAAS,CAAC,YAAY,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC;YACjE,CAAC;SACJ;KACJ,CAAC,CAAC;IAOH,wCAAwC;IACxC,MAAM,iBAAiB,GAAG,YAAY,CAAC;QACnC,UAAU,EAAE;YACR,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACrB,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SACxB;QACD,SAAS,EAAE;YACP,CAAC,EAAE,EAAE,OAAO,EAAE,KAAgB,EAAE;SACnC;QACD,UAAU,EAAE;YACR,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;SAChB;QACD,YAAY,EAAE;YACV,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE;gBACnB,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC;YAC7B,CAAC;SACJ;QACD,OAAO,EAAE;YACL,MAAM,EAAE;gBACJ,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE;oBACjB,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;gBAClC,CAAC;aACJ;YACD,MAAM,EAAE;gBACJ,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;gBACzB,QAAQ,EAAE;oBACN,KAAK,EAAE,CAAC,QAAQ,CAAC;iBACpB;aACJ;SACJ;KACJ,CAAC,CAAC;IAGH,8CAA8C;IAC9C,MAAM,UAAU,GAAG,YAAY,CAAC;QAC5B,UAAU,EAAE;YACR,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC3B;QACD,SAAS,EAAE;YACP,OAAO,EAAE,EAAE,OAAO,EAAE,KAAgB,EAAE;SACzC;QACD,UAAU,EAAE;YACR,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;YACtB,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC;SAC/C;QACD,YAAY,EAAE;YACV,OAAO,EAAE,CAAC,KAAK,EAAE,KAA+B,EAAE,EAAE,GAAG,CAAC;YACxD,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,GAAG,CAAC;SACzB;QACD,OAAO,EAAE;YACL,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE;gBACb,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC1C,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YAC7B,CAAC;YACD,aAAa,EAAE,CAAC,EAAE,EAAE,EAAE;YACtB,CAAC;SACJ;QACD,OAAO,EAAE;YACL,KAAK,EAAE;gBACH,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE;oBACjB,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;oBAC1C,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;gBAC7B,CAAC;aACJ;YACD,MAAM,EAAE;gBACJ,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE;oBACjB,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;oBACtB,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;gBAC/B,CAAC;aACJ;SACJ;KACJ,CAAC,CAAC;IAGH,+DAA+D;IAC/D,MAAM,cAAc,GAAG,YAAY,CAAC;QAChC,OAAO,EAAE,UAAU;QACnB,UAAU,EAAE;YACR,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACrB,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SACxB;QACD,SAAS,EAAE;YACP,CAAC,EAAE,EAAE,OAAO,EAAE,KAAgB,EAAE;SACnC;QACD,UAAU,EAAE;YACR,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC;YAC9B,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC;SACxD;QACD,YAAY,EAAE;YACV,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE;gBACnB,uCAAuC;gBACvC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC;gBAKzB,mBAAmB;gBACnB,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;gBACjE,qCAAqC;gBACrC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;YACxC,CAAC;SACJ;QACD,OAAO,EAAE;YACL,gBAAgB,EAAE,CAAC,EAAE,EAAE,EAAE;gBACrB,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC1C,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;gBACzB,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;YAClC,CAAC;YACD,qBAAqB,EAAE,CAAC,EAAE,EAAE,EAAE;YAC9B,CAAC;SACJ;QACD,OAAO,EAAE;YACL,MAAM,EAAE;gBACJ,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE;oBACjB,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;oBAC1C,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;oBACzB,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;gBAClC,CAAC;gBACD,QAAQ,EAAE,EAAE;aACf;YACD,MAAM,EAAE;gBACJ,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE;oBACjB,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;gBAClC,CAAC;gBACD,QAAQ,EAAE,EAAE;aACf;SACJ;KACJ,CAAC,CAAC;AACP,CAAC;AAED,+EAA+E;AAC/E,+BAA+B;AAC/B,+EAA+E;AAE/E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,sEAAsE;AACtE,SAAS,kCAAkC;IACvC,YAAY,CAAC;QACT,UAAU,EAAE;YACR,kFAAkF;YAClF,gBAAgB,EAAE,CAAC,KAAK,CAAC;SAC5B;KACJ,CAAC,CAAC;AACP,CAAC;AAED,wEAAwE;AACxE,SAAS,mCAAmC;IACxC,YAAY,CAAC;QACT,UAAU,EAAE;YACR,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SACxB;QACD,UAAU,EAAE;YACR,gFAAgF;YAChF,gBAAgB,EAAE,CAAC,GAAG,CAAC;SAC1B;KACJ,CAAC,CAAC;AACP,CAAC;AAED,+CAA+C;AAC/C,SAAS,kCAAkC;IACvC,YAAY,CAAC;QACT,SAAS,EAAE;YACP,CAAC,EAAE,EAAE,OAAO,EAAE,KAAgB,EAAE;SACnC;QACD,YAAY,EAAE;YACV,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE;gBACnB,+EAA+E;gBAC/E,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC;YAC7B,CAAC;SACJ;KACJ,CAAC,CAAC;AACP,CAAC;AAED,gDAAgD;AAChD,SAAS,mCAAmC;IACxC,YAAY,CAAC;QACT,UAAU,EAAE;YACR,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SACxB;QACD,UAAU,EAAE;YACR,CAAC,EAAE,CAAC,GAAG,CAAC;SACX;QACD,YAAY,EAAE;YACV,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE;gBACnB,kFAAkF;gBAClF,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;YACzB,CAAC;SACJ;KACJ,CAAC,CAAC;AACP,CAAC;AAED,gDAAgD;AAChD,SAAS,mCAAmC;IACxC,YAAY,CAAC;QACT,UAAU,EAAE;YACR,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACrB,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SACxB;QACD,YAAY,EAAE;YACV,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE;gBACnB,mEAAmE;gBACnE,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YAC/B,CAAC;SACJ;KACJ,CAAC,CAAC;AACP,CAAC;AAED,kDAAkD;AAClD,SAAS,0BAA0B;IAC/B,YAAY,CAAC;QACT,OAAO,EAAE;YACL,MAAM,EAAE;gBACJ,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;gBACzB,QAAQ,EAAE;oBACN,wFAAwF;oBACxF,MAAM,EAAE,CAAC,QAAQ,CAAC;iBACrB;aACJ;SACJ;KACJ,CAAC,CAAC;AACP,CAAC;AAED,6CAA6C;AAC7C,SAAS,sBAAsB;IAC3B,YAAY,CAAC;QACT,OAAO,EAAE;YACL,MAAM,EAAE;gBACJ,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;aAC5B;YACD,MAAM,EAAE;gBACJ,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;gBACzB,QAAQ,EAAE;oBACN,gFAAgF;oBAChF,MAAM,EAAE,CAAC,SAAS,CAAC;iBACtB;aACJ;SACJ;KACJ,CAAC,CAAC;AACP,CAAC;AAED,oEAAoE;AACpE,SAAS,yBAAyB;IAC9B,YAAY,CAAC;QACT,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;QACrC,SAAS,EAAE,EAAE;QACb,UAAU,EAAE,EAAE;QACd,QAAQ,EAAE;YACN,2GAA2G;YAC3G,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;SACnB;QACD,YAAY,EAAE,EAAE;QAChB,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,EAAE;KACd,CAAC,CAAC;AACP,CAAC;AAED,gGAAgG;AAChG,SAAS,iCAAiC;IACtC,YAAY,CAAC;QACT,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;QACrC,SAAS,EAAE,EAAE;QACb,UAAU,EAAE,EAAE;QACd,QAAQ,EAAE;YACN,oGAAoG;YACpG,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC;SACrC;QACD,YAAY,EAAE,EAAE;QAChB,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,EAAE;KACd,CAAC,CAAC;AACP,CAAC;AAED,iGAAiG;AACjG,SAAS,4BAA4B;IACjC,YAAY,CAAC;QACT,SAAS,EAAE,EAAE;QACb,QAAQ,EAAE;YACN,8FAA8F;YAC9F,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO;SACxB;QACD,YAAY,EAAE,EAAE;QAChB,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,EAAE;KACd,CAAC,CAAC;AACP,CAAC;AAED,uGAAuG;AACvG,SAAS,4BAA4B;IACjC,YAAY,CAAC;QACT,SAAS,EAAE,EAAE;QACb,QAAQ,EAAE;YACN,8FAA8F;YAC9F,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;SAChC;QACD,YAAY,EAAE,EAAE;QAChB,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,EAAE;KACd,CAAC,CAAC;AACP,CAAC;AAED,2CAA2C;AAC3C,SAAS,8BAA8B;IACnC,YAAY,CAAC;QACT,YAAY,EAAE;YACV,gBAAgB,EAAE,CAAC,KAAK,EAAE,EAAE,GAAG,CAAC;SACnC;QACD,OAAO,EAAE;YACL,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE;gBACb,0FAA0F;gBAC1F,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;YACnC,CAAC;SACJ;KACJ,CAAC,CAAC;AACP,CAAC;AAED,sCAAsC;AACtC,SAAS,yBAAyB;IAC9B,YAAY,CAAC;QACT,OAAO,EAAE;YACL,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC;SAC3B;QACD,OAAO,EAAE;YACL,UAAU,EAAE;gBACR,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE;oBACjB,gFAAgF;oBAChF,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;gBAC9B,CAAC;aACJ;SACJ;KACJ,CAAC,CAAC;AACP,CAAC;AAED,0CAA0C;AAC1C,SAAS,6BAA6B;IAClC,YAAY,CAAC;QACT,SAAS,EAAE;YACP,aAAa,EAAE,EAAE,OAAO,EAAE,CAAW,EAAE;SAC1C;QACD,OAAO,EAAE;YACL,UAAU,EAAE;gBACR,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE;oBACjB,yFAAyF;oBACzF,MAAM,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,eAAe,CAAC;gBAC/C,CAAC;aACJ;SACJ;KACJ,CAAC,CAAC;AACP,CAAC;AAED,2CAA2C;AAC3C,SAAS,8BAA8B;IACnC,YAAY,CAAC;QACT,UAAU,EAAE;YACR,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SACxB;QACD,UAAU,EAAE;YACR,CAAC,EAAE,CAAC,GAAG,CAAC;SACX;QACD,OAAO,EAAE;YACL,UAAU,EAAE;gBACR,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE;oBACjB,mFAAmF;oBACnF,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;gBAC1B,CAAC;aACJ;SACJ;KACJ,CAAC,CAAC;AACP,CAAC;AAED,0DAA0D;AAC1D,SAAS,mCAAmC;IACxC,MAAM,UAAU,GAAG,YAAY,CAAC;QAC5B,SAAS,EAAE;YACP,OAAO,EAAE,EAAE,OAAO,EAAE,KAAgB,EAAE;SACzC;KACJ,CAAC,CAAC;IAEH,YAAY,CAAC;QACT,SAAS,EAAE;YACP,CAAC,EAAE,EAAE,OAAO,EAAE,KAAgB,EAAE;SACnC;QACD,YAAY,EAAE;YACV,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE;gBACnB,sGAAsG;gBACtG,KAAK,CAAC,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC;YACjC,CAAC;SACJ;QACD,OAAO,EAAE,UAAU;KACtB,CAAC,CAAC;AACP,CAAC;AAED,2DAA2D;AAC3D,SAAS,oCAAoC;IACzC,MAAM,UAAU,GAAG,YAAY,CAAC;QAC5B,UAAU,EAAE;YACR,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC5B;QACD,UAAU,EAAE;YACR,GAAG,EAAE,CAAC,OAAO,CAAC;SACjB;KACJ,CAAC,CAAC;IAEH,YAAY,CAAC;QACT,UAAU,EAAE;YACR,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SACxB;QACD,YAAY,EAAE;YACV,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE;gBACnB,qGAAqG;gBACrG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;YACzB,CAAC;SACJ;QACD,OAAO,EAAE,UAAU;KACtB,CAAC,CAAC;AACP,CAAC;AAED,uEAAuE;AACvE,SAAS,oCAAoC;IACzC,MAAM,UAAU,GAAG,YAAY,CAAC;QAC5B,OAAO,EAAE;YACL,KAAK,EAAE;gBACH,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;aAC5B;SACJ;KACJ,CAAC,CAAC;IAEH,YAAY,CAAC;QACT,OAAO,EAAE;YACL,MAAM,EAAE;gBACJ,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;gBACzB,QAAQ,EAAE;oBACN,mGAAmG;oBACnG,KAAK,EAAE,CAAC,SAAS,CAAC;iBACrB;aACJ;SACJ;QACD,OAAO,EAAE,UAAU;KACtB,CAAC,CAAC;AACP,CAAC;AAED,2DAA2D;AAC3D,SAAS,oCAAoC;IACzC,MAAM,UAAU,GAAG,YAAY,CAAC;QAC5B,YAAY,EAAE;YACV,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,GAAG,CAAC;SAC1B;KACJ,CAAC,CAAC;IAEH,YAAY,CAAC;QACT,OAAO,EAAE;YACL,UAAU,EAAE;gBACR,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE;oBACjB,0FAA0F;oBAC1F,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;oBAE/B,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;oBAE1B,2FAA2F;oBAC3F,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC9C,CAAC;aACJ;SACJ;QACD,OAAO,EAAE,UAAU;KACtB,CAAC,CAAC;AACP,CAAC;AAED,sDAAsD;AACtD,SAAS,+BAA+B;IACpC,MAAM,UAAU,GAAG,YAAY,CAAC;QAC5B,OAAO,EAAE;YACL,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC;SACxB;KACJ,CAAC,CAAC;IAEH,YAAY,CAAC;QACT,OAAO,EAAE;YACL,UAAU,EAAE;gBACR,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE;oBACjB,gFAAgF;oBAChF,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;oBAE1B,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;oBAEtB,iFAAiF;oBACjF,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC1C,CAAC;aACJ;SACJ;QACD,OAAO,EAAE,UAAU;KACtB,CAAC,CAAC;AACP,CAAC;AAED,yGAAyG;AACzG,SAAS,mCAAmC;IACxC,YAAY,CAAC;QACT,OAAO,EAAE;YACL,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE;gBACZ,oGAAoG;gBACpG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACzB,CAAC;YACD,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC;SACvB;KACJ,CAAC,CAAC;AACP,CAAC;AAED,0EAA0E;AAC1E,SAAS,mCAAmC;IACxC,YAAY,CAAC;QACT,UAAU,EAAE;YACR,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SACxB;QACD,YAAY,EAAE;YACV,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE;gBACnB,6EAA6E;gBAC7E,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;YACrC,CAAC;SACJ;KACJ,CAAC,CAAC;AACP,CAAC;AAED,qEAAqE;AACrE,SAAS,8BAA8B;IACnC,YAAY,CAAC;QACT,UAAU,EAAE;YACR,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SACxB;QACD,OAAO,EAAE;YACL,UAAU,EAAE;gBACR,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE;oBACjB,6EAA6E;oBAC7E,MAAM,KAAK,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;gBAClC,CAAC;aACJ;SACJ;KACJ,CAAC,CAAC;AACP,CAAC;AAED,2DAA2D;AAC3D,SAAS,mCAAmC;IACxC,MAAM,UAAU,GAAG,YAAY,CAAC;QAC5B,OAAO,EAAE;YACL,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC;SAC1B;KACJ,CAAC,CAAC;IAEH,YAAY,CAAC;QACT,OAAO,EAAE;YACL,cAAc,EAAE,CAAC,EAAE,EAAE,EAAE;gBACnB,gDAAgD;gBAChD,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YAC5B,CAAC;SACJ;QACD,OAAO,EAAE,UAAU;KACtB,CAAC,CAAC;AACP,CAAC;AAED,wEAAwE;AACxE,SAAS,+BAA+B;IACpC,MAAM,UAAU,GAAG,YAAY,CAAC;QAC5B,OAAO,EAAE;YACL,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE;gBACd,OAAO,EAAY,CAAC;YACxB,CAAC;YACD,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE;gBAChB,OAAO,OAAiB,CAAC;YAC7B,CAAC;YACD,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE;gBAChB,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAkC,CAAC;YAClE,CAAC;SACJ;KACJ,CAAC,CAAC;IAEH,YAAY,CAAC;QACT,OAAO,EAAE;YACL,cAAc,EAAE,CAAC,EAAE,EAAE,EAAE;gBACnB,sDAAsD;gBACtD,MAAM,MAAM,GAAW,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;gBAC9C,MAAM,QAAQ,GAAW,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;gBAClD,MAAM,QAAQ,GAAiC,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;gBAExE,+CAA+C;gBAC/C,MAAM,QAAQ,GAAG,GAAG,QAAQ,KAAK,MAAM,GAAG,CAAC;gBAC3C,MAAM,OAAO,GAAG,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC;gBAEhC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;YAC7D,CAAC;YACD,qBAAqB,EAAE,CAAC,EAAE,EAAE,EAAE;gBAC1B,kCAAkC;gBAClC,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;gBAClC,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;gBACtC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;YACxB,CAAC;SACJ;QACD,OAAO,EAAE,UAAU;KACtB,CAAC,CAAC;AACP,CAAC;AAED,iFAAiF;AACjF,SAAS,oCAAoC;IACzC,MAAM,UAAU,GAAG,YAAY,CAAC;QAC5B,OAAO,EAAE;YACL,KAAK,CAAC,aAAa,CAAC,EAAE;gBAClB,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;YACpC,CAAC;YACD,KAAK,CAAC,WAAW,CAAC,EAAE;gBAChB,OAAO,EAAE,CAAC;YACd,CAAC;YACD,KAAK,CAAC,aAAa,CAAC,EAAE;gBAClB,OAAO,KAAK,CAAC;YACjB,CAAC;SACJ;KACJ,CAAC,CAAC;IAEH,YAAY,CAAC;QACT,OAAO,EAAE;YACL,KAAK,CAAC,mBAAmB,CAAC,EAAE;gBACxB,uEAAuE;gBACvE,MAAM,QAAQ,GAAiC,MAAM,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;gBAChF,MAAM,MAAM,GAAW,MAAM,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;gBACtD,MAAM,QAAQ,GAAW,MAAM,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;gBAE1D,uDAAuD;gBACvD,MAAM,QAAQ,GAAG,GAAG,QAAQ,KAAK,MAAM,GAAG,CAAC;gBAE3C,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;YACxC,CAAC;YACD,KAAK,CAAC,0BAA0B,CAAC,EAAE;gBAC/B,4CAA4C;gBAC5C,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;gBAC9C,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;gBAC1C,OAAO,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;YACxB,CAAC;YACD,KAAK,CAAC,gBAAgB,CAAC,EAAE;gBACrB,mDAAmD;gBACnD,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;gBAClD,OAAO,QAAQ,CAAC,IAAI,CAAC;YACzB,CAAC;SACJ;QACD,OAAO,EAAE,UAAU;KACtB,CAAC,CAAC;AACP,CAAC;AAED,uEAAuE;AACvE,SAAS,mCAAmC;IACxC,MAAM,UAAU,GAAG,YAAY,CAAC;QAC5B,OAAO,EAAE;YACL,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE;gBACf,OAAO,MAAgB,CAAC;YAC5B,CAAC;YACD,KAAK,CAAC,WAAW,CAAC,EAAE;gBAChB,OAAO,GAAG,CAAC;YACf,CAAC;SACJ;KACJ,CAAC,CAAC;IAEH,YAAY,CAAC;QACT,OAAO,EAAE;YACL,KAAK,CAAC,mBAAmB,CAAC,EAAE;gBACxB,oDAAoD;gBACpD,MAAM,SAAS,GAAW,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;gBAElD,+DAA+D;gBAC/D,MAAM,UAAU,GAAW,MAAM,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;gBAE1D,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;YAClD,CAAC;YACD,kBAAkB,EAAE,CAAC,EAAE,EAAE,EAAE;gBACvB,mEAAmE;gBACnE,MAAM,SAAS,GAAW,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;gBAClD,OAAO,SAAS,CAAC,WAAW,EAAE,CAAC;YACnC,CAAC;SACJ;QACD,OAAO,EAAE,UAAU;KACtB,CAAC,CAAC;AACP,CAAC;AAED,SAAS,mCAAmC;IACxC,MAAM,UAAU,GAAG,SAAS,CAAC;IAE7B,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;QAC1C,OAAO,EAAE;YACL,UAAU,EAAE;gBACR,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE;oBACjB,cAAc;gBAClB,CAAC;aACJ;SACJ;QACD,OAAO,EAAE,UAAU;KACtB,CAAC,CAAC;IAEH,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;AAM/C,CAAC;AAUD,wCAAwC;AACxC,SAAS,wBAAwB;IAC7B,MAAM,MAAM,GAAG,YAAY,CAAC;QACxB,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAqB,EAAE,CAAC;KAC5F,CAAC,CAAC;AAMP,CAAC;AAED,sCAAsC;AACtC,SAAS,2BAA2B;IAChC,MAAM,MAAM,GAAG,YAAY,CAAC;QACxB,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAqB,EAAE,CAAC;QACvF,OAAO,EAAE;YACL,UAAU,EAAE;gBACR,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE;gBAIrB,CAAC;aACJ;SACJ;KACJ,CAAC,CAAC;AACP,CAAC;AAED,4EAA4E;AAC5E,SAAS,qCAAqC;IAC1C,MAAM,UAAU,GAAG,YAAY,CAAC;QAC5B,SAAS,EAAE;YACP,WAAW,EAAE,EAAE,OAAO,EAAE,IAAqC,EAAE;SAClE;QACD,YAAY,EAAE;YACV,cAAc,EAAE,CAAC,KAAK,EAAE,GAAkC,EAAE,EAAE;gBAC1D,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,GAAG,CAAC;YACtC,CAAC;SACJ;KACJ,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,YAAY,CAAC;QAChC,OAAO,EAAE,UAAU;QACnB,QAAQ,EAAE,CAAC,EAA0C,EAAE,EAAE;YAKrD,qDAAqD;YACrD,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAErC,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAqB,EAAE,CAAC;QACjF,CAAC;KACJ,CAAC,CAAC;AAMP,CAAC;AAED,oDAAoD;AACpD,SAAS,2BAA2B;IAChC,MAAM,MAAM,GAAG,YAAY,CAAC;QACxB,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAqB,EAAE,CAAC;QACvF,OAAO,EAAE;YACL,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE;YAIhB,CAAC;SACJ;KACJ,CAAC,CAAC;AACP,CAAC;AAED,wEAAwE;AACxE,SAAS,mCAAmC;IACxC,MAAM,UAAU,GAAG,YAAY,CAAC;QAC5B,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAqB,EAAE,CAAC;KAC1F,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,YAAY,CAAC;QAChC,OAAO,EAAE,UAAU;QACnB,OAAO,EAAE;YACL,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE;YAIhB,CAAC;SACJ;KACJ,CAAC,CAAC;AACP,CAAC;AAED,wCAAwC;AACxC,SAAS,iCAAiC;IACtC,MAAM,MAAM,GAAG,YAAY,CAAC;QACxB,SAAS,EAAE;YACP,GAAG,EAAE,EAAE,OAAO,EAAE,IAAqC,EAAE;SAC1D;KACJ,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,YAAY,CAAC;QACxB,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE,CAAC,EAAsC,EAAE,EAAE;YAEjD,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAqB,EAAE,CAAC;QACjF,CAAC;KACJ,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,YAAY,CAAC;QACxB,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE,CAAC,EAAsC,EAAE,EAAE;YAGjD,OAAO,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,EAA2B,EAAE,CAAC;QACzE,CAAC;QACD,OAAO,EAAE;YACL,UAAU,EAAE;gBACR,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE;gBAMrB,CAAC;aACJ;SACJ;KACJ,CAAC,CAAC;AACP,CAAC;AAED,wEAAwE;AACxE,SAAS,yCAAyC;IAC9C,YAAY,CAAC;QACT,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE;YACb,iFAAiF;YACjF,MAAM,MAAM,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC7B,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;YACvB,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,CAAC;KACJ,CAAC,CAAC;AACP,CAAC"}
@@ -40,17 +40,14 @@ export type SystemDeclarations<S extends string> = {
40
40
  readonly [K in S]: SystemDeclaration;
41
41
  };
42
42
  /**
43
- * Service factories map - functions that create services from the database.
43
+ * Service factory - single function that creates all plugin services from the database.
44
+ * Returns an object with named services matching the plugin's service declarations.
44
45
  */
45
- export type ServiceFactories<DB = any> = {
46
- readonly [K: string]: (db: DB) => unknown;
47
- };
46
+ export type ServiceFactory<DB = any> = (db: DB) => Record<string, unknown>;
48
47
  /**
49
- * Extracts service types from service factories.
48
+ * Extracts service types from a service factory function's return type.
50
49
  */
51
- export type FromServiceFactories<SF> = {
52
- [K in keyof SF]: SF[K] extends (db: any) => infer R ? R : never;
53
- };
50
+ export type FromServiceFactory<SF> = SF extends (...args: any[]) => infer R ? R : {};
54
51
  /**
55
52
  * Computed factories map - functions that create computed values from the database.
56
53
  * Used on Database and Plugin for flexible typing (return type unknown).
@@ -107,7 +104,7 @@ export interface Database<C extends Components = {}, R extends ResourceComponent
107
104
  };
108
105
  toData(): unknown;
109
106
  fromData(data: unknown): void;
110
- extend<P extends Database.Plugin<any, any, any, any, any, any, any, any>>(plugin: P): Database<C & (P extends Database.Plugin<infer XC, any, any, any, any, any, any, any> ? FromSchemas<XC> : never), R & (P extends Database.Plugin<any, infer XR, any, any, any, any, any, any> ? FromSchemas<XR> : never), A & (P extends Database.Plugin<any, any, infer XA, any, any, any, any, any> ? XA : never), F & (P extends Database.Plugin<any, any, any, infer XTD, any, any, any, any> ? ToTransactionFunctions<XTD> : never), S | (P extends Database.Plugin<any, any, any, any, infer XS, any, any, any> ? XS : never), AF & (P extends Database.Plugin<any, any, any, any, any, infer XAD, any, any> ? ToActionFunctions<XAD> : never), SV & (P extends Database.Plugin<any, any, any, any, any, any, infer XSVF, any> ? FromServiceFactories<XSVF> : never), CV & (P extends Database.Plugin<any, any, any, any, any, any, any, infer XCVF> ? FromComputedFactories<XCVF> : never)>;
107
+ extend<P extends Database.Plugin<any, any, any, any, any, any, any, any>>(plugin: P): Database<C & (P extends Database.Plugin<infer XC, any, any, any, any, any, any, any> ? FromSchemas<XC> : never), R & (P extends Database.Plugin<any, infer XR, any, any, any, any, any, any> ? FromSchemas<XR> : never), A & (P extends Database.Plugin<any, any, infer XA, any, any, any, any, any> ? XA : never), F & (P extends Database.Plugin<any, any, any, infer XTD, any, any, any, any> ? ToTransactionFunctions<XTD> : never), S | (P extends Database.Plugin<any, any, any, any, infer XS, any, any, any> ? XS : never), AF & (P extends Database.Plugin<any, any, any, any, any, infer XAD, any, any> ? ToActionFunctions<XAD> : never), SV & (P extends Database.Plugin<any, any, any, any, any, any, infer XSVF, any> ? FromServiceFactory<XSVF> : never), CV & (P extends Database.Plugin<any, any, any, any, any, any, any, infer XCVF> ? FromComputedFactories<XCVF> : never)>;
111
108
  }
112
109
  export declare namespace Database {
113
110
  /** Stepwise inference helpers - each infers one Plugin param to reduce compiler depth. */
@@ -119,11 +116,11 @@ export declare namespace Database {
119
116
  type FromPluginActions<P> = P extends Database.Plugin<any, any, any, any, any, infer AD, any, any> ? AD : never;
120
117
  type FromPluginServices<P> = P extends Database.Plugin<any, any, any, any, any, any, infer SVF, any> ? SVF : never;
121
118
  type FromPluginComputed<P> = P extends Database.Plugin<any, any, any, any, any, any, any, infer CVF> ? CVF : never;
122
- export type FromPlugin<P extends Database.Plugin> = P extends Database.Plugin ? Database<FromSchemas<FromPluginComponents<P>>, FromSchemas<FromPluginResources<P>>, FromPluginArchetypes<P>, ToTransactionFunctions<FromPluginTransactions<P>>, FromPluginSystems<P>, ToActionFunctions<FromPluginActions<P>>, FromServiceFactories<FromPluginServices<P>>, FromComputedFactories<FromPluginComputed<P>>> : never;
119
+ export type FromPlugin<P extends Database.Plugin> = P extends Database.Plugin ? Database<FromSchemas<FromPluginComponents<P>>, FromSchemas<FromPluginResources<P>>, FromPluginArchetypes<P>, ToTransactionFunctions<FromPluginTransactions<P>>, FromPluginSystems<P>, ToActionFunctions<FromPluginActions<P>>, FromServiceFactory<FromPluginServices<P>>, FromComputedFactories<FromPluginComputed<P>>> : never;
123
120
  export const create: typeof createDatabase;
124
121
  export const is: (value: unknown) => value is Database;
125
122
  export const observeSelectDeep: <C extends Components, Include extends StringKeyof<C>>(db: Database<C, any, any, any, any, any, any, any>, include: readonly Include[] | ReadonlySet<Include | "id">, options?: EntitySelectOptions<C, Pick<C & RequiredComponents, Include>>) => Observe<readonly (RequiredComponents & { readonly [K in Include]: C[K]; })[]>;
126
- export type Plugin<CS extends ComponentSchemas = any, RS extends ResourceSchemas = any, A extends ArchetypeComponents<StringKeyof<CS>> = any, TD extends TransactionDeclarations<FromSchemas<CS>, FromSchemas<RS>, any> = any, S extends string = any, AD extends ActionDeclarations<FromSchemas<CS>, FromSchemas<RS>, A, ToTransactionFunctions<TD>, S> = any, SVF extends ServiceFactories = any, CVF extends ComputedFactories = any> = {
123
+ export type Plugin<CS extends ComponentSchemas = any, RS extends ResourceSchemas = any, A extends ArchetypeComponents<StringKeyof<CS>> = any, TD extends TransactionDeclarations<FromSchemas<CS>, FromSchemas<RS>, any> = any, S extends string = any, AD extends ActionDeclarations<FromSchemas<CS>, FromSchemas<RS>, A, ToTransactionFunctions<TD>, S> = any, SVF extends ServiceFactory = any, CVF extends ComputedFactories = any> = {
127
124
  readonly components: CS;
128
125
  readonly resources: RS;
129
126
  readonly archetypes: A;
@@ -1,6 +1,6 @@
1
- import { Database, FromServiceFactories, FromComputedFactories } from "../database.js";
1
+ import { Database, FromServiceFactory, FromComputedFactories } from "../database.js";
2
2
  import type { ToTransactionFunctions } from "../../store/transaction-functions.js";
3
3
  import type { ToActionFunctions } from "../../store/action-functions.js";
4
4
  import { FromSchemas } from "../../../schema/from-schemas.js";
5
5
  export declare function createDatabase(): Database<{}, {}, {}, {}, never, {}, {}, {}>;
6
- export declare function createDatabase<P extends Database.Plugin<{}, {}, {}, {}, never, {}, any, any>>(plugin: P): Database<FromSchemas<P extends Database.Plugin<infer CS, any, any, any, any, any, any, any> ? CS : never>, FromSchemas<P extends Database.Plugin<any, infer RS, any, any, any, any, any, any> ? RS : never>, P extends Database.Plugin<any, any, infer A, any, any, any, any, any> ? A : never, ToTransactionFunctions<P extends Database.Plugin<any, any, any, infer TD, any, any, any, any> ? TD : never>, P extends Database.Plugin<any, any, any, any, infer S, any, any, any> ? S : never, ToActionFunctions<P extends Database.Plugin<any, any, any, any, any, infer AD, any, any> ? AD : never>, P extends Database.Plugin<any, any, any, any, any, any, infer SVF, any> ? FromServiceFactories<SVF> : never, P extends Database.Plugin<any, any, any, any, any, any, any, infer CVF> ? FromComputedFactories<CVF> : never>;
6
+ export declare function createDatabase<P extends Database.Plugin<{}, {}, {}, {}, never, {}, any, any>>(plugin: P): Database<FromSchemas<P extends Database.Plugin<infer CS, any, any, any, any, any, any, any> ? CS : never>, FromSchemas<P extends Database.Plugin<any, infer RS, any, any, any, any, any, any> ? RS : never>, P extends Database.Plugin<any, any, infer A, any, any, any, any, any> ? A : never, ToTransactionFunctions<P extends Database.Plugin<any, any, any, infer TD, any, any, any, any> ? TD : never>, P extends Database.Plugin<any, any, any, any, infer S, any, any, any> ? S : never, ToActionFunctions<P extends Database.Plugin<any, any, any, any, any, infer AD, any, any> ? AD : never>, P extends Database.Plugin<any, any, any, any, any, any, infer SVF, any> ? FromServiceFactory<SVF> : never, P extends Database.Plugin<any, any, any, any, any, any, any, infer CVF> ? FromComputedFactories<CVF> : never>;
@@ -135,13 +135,21 @@ function createEmptyDatabase() {
135
135
  reconcilingDatabase.extend(plugin);
136
136
  const pluginTransactions = plugin.transactions ?? {};
137
137
  const pluginActions = plugin.actions ?? {};
138
- const pluginServices = plugin.services ?? {};
138
+ const pluginServices = plugin.services;
139
139
  const pluginComputed = plugin.computed ?? {};
140
140
  addTransactionWrappers(pluginTransactions);
141
141
  addActionWrappers(pluginActions, partialDatabase);
142
- for (const name in pluginServices) {
143
- if (!(name in services))
144
- services[name] = pluginServices[name](partialDatabase);
142
+ if (typeof pluginServices === "function") {
143
+ const newServices = pluginServices(partialDatabase);
144
+ if (newServices && typeof newServices === "object") {
145
+ for (const name of Object.keys(newServices)) {
146
+ if (name in services && services[name] !== newServices[name]) {
147
+ throw new Error(`Plugin combine conflict: services.${name} must be identical (===) across plugins`);
148
+ }
149
+ if (!(name in services))
150
+ services[name] = newServices[name];
151
+ }
152
+ }
145
153
  }
146
154
  for (const name in pluginComputed) {
147
155
  if (!(name in computed))