@adobe/data 0.9.57 → 0.9.59

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.
@@ -1,6 +1,6 @@
1
1
  // © 2026 Adobe. MIT License. See /LICENSE for details.
2
2
  import { preventParallelExecution } from "./prevent-parallel-execution.js";
3
- import { getDataCache } from "../index.js";
3
+ import { getDataCache } from "../data-cache.js";
4
4
  export function memoize(uniqueNameAndVersionOrFn, fn) {
5
5
  if (typeof uniqueNameAndVersionOrFn === "function") {
6
6
  const fn = uniqueNameAndVersionOrFn;
@@ -1 +1 @@
1
- {"version":3,"file":"memoize.js","sourceRoot":"","sources":["../../../src/cache/functions/memoize.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAEvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAI3E,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAgB3C,MAAM,UAAU,OAAO,CACrB,wBAAuD,EACvD,EAA+B;IAE/B,IAAI,OAAO,wBAAwB,KAAK,UAAU,EAAE,CAAC;QACnD,MAAM,EAAE,GAAG,wBAAwB,CAAC;QACpC,MAAM,KAAK,GAAG,IAAI,OAAO,EAAW,CAAC;QACrC,OAAO,CAAC,KAAS,EAAE,EAAE;YACnB,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAChC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,MAAM,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;YACzB,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACzB,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,wBAAwB,KAAK,QAAQ,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;QACrE,8EAA8E;QAC9E,EAAE,GAAG,wBAAwB,CAAC,EAAE,CAAC,CAAC;QAClC,MAAM,KAAK,GAAG,YAAY,CAAC,wBAAwB,CAAC,CAAC;QACrD,MAAM,QAAQ,GAAG,KAAK,EAAE,GAAG,IAAiB,EAAiB,EAAE;YAC7D,MAAM,YAAY,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC7C,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;gBAC/B,OAAO,YAAY,CAAC;YACtB,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,EAAG,CAAC,GAAI,IAAW,CAAC,CAAC;YAC1C,MAAM,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC9B,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC;QACF,OAAO,QAAiD,CAAC;IAC3D,CAAC;IACD,MAAM,IAAI,KAAK,EAAC,gBAAgB,CAAC,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"memoize.js","sourceRoot":"","sources":["../../../src/cache/functions/memoize.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAEvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAI3E,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAgBhD,MAAM,UAAU,OAAO,CACrB,wBAAuD,EACvD,EAA+B;IAE/B,IAAI,OAAO,wBAAwB,KAAK,UAAU,EAAE,CAAC;QACnD,MAAM,EAAE,GAAG,wBAAwB,CAAC;QACpC,MAAM,KAAK,GAAG,IAAI,OAAO,EAAW,CAAC;QACrC,OAAO,CAAC,KAAS,EAAE,EAAE;YACnB,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAChC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,MAAM,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;YACzB,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACzB,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,wBAAwB,KAAK,QAAQ,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;QACrE,8EAA8E;QAC9E,EAAE,GAAG,wBAAwB,CAAC,EAAE,CAAC,CAAC;QAClC,MAAM,KAAK,GAAG,YAAY,CAAC,wBAAwB,CAAC,CAAC;QACrD,MAAM,QAAQ,GAAG,KAAK,EAAE,GAAG,IAAiB,EAAiB,EAAE;YAC7D,MAAM,YAAY,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC7C,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;gBAC/B,OAAO,YAAY,CAAC;YACtB,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,EAAG,CAAC,GAAI,IAAW,CAAC,CAAC;YAC1C,MAAM,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC9B,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC;QACF,OAAO,QAAiD,CAAC;IAC3D,CAAC;IACD,MAAM,IAAI,KAAK,EAAC,gBAAgB,CAAC,CAAC;AACpC,CAAC"}
@@ -4,7 +4,7 @@ import { ReadonlyStore, Store } from "../store/index.js";
4
4
  import { Entity } from "../entity/entity.js";
5
5
  import { EntityReadValues } from "../store/core/index.js";
6
6
  import { Observe } from "../../observe/index.js";
7
- import { TransactionResult } from "./transactional-store/index.js";
7
+ import { TransactionContext, TransactionResult } from "./transactional-store/index.js";
8
8
  import { TransactionEnvelope } from "./reconciling/reconciling-database.js";
9
9
  import { StringKeyof, RemoveIndex } from "../../types/types.js";
10
10
  import { Components } from "../store/components.js";
@@ -182,6 +182,14 @@ export declare namespace Database {
182
182
  const combine: typeof combinePlugins;
183
183
  type ToDatabase<P extends Database.Plugin> = Database.FromPlugin<P>;
184
184
  type ToStore<P extends Database.Plugin> = Store<FromSchemas<RemoveIndex<P['components']>>, FromSchemas<RemoveIndex<P['resources']>>, RemoveIndex<P['archetypes']>>;
185
+ /**
186
+ * The plugin's store as seen *inside a transaction body* — i.e. `ToStore<P>`
187
+ * plus the `userId` field added by the transaction dispatcher. Use this
188
+ * when typing helper functions that forward a transaction's store into
189
+ * another plugin's transaction declaration; `ToStore<P>` is the bare
190
+ * store type and does not include `userId`.
191
+ */
192
+ type ToTransactionContext<P extends Database.Plugin> = TransactionContext<FromSchemas<RemoveIndex<P['components']>>, FromSchemas<RemoveIndex<P['resources']>>, RemoveIndex<P['archetypes']>>;
185
193
  type ToSystemDatabase<P extends Database.Plugin> = Database.FromPlugin<P> & {
186
194
  readonly store: Database.Plugin.ToStore<P>;
187
195
  services: {
@@ -1 +1 @@
1
- {"version":3,"file":"database.js","sourceRoot":"","sources":["../../../src/ecs/database/database.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAgBvD,OAAO,EAAE,cAAc,EAA4B,MAAM,6BAA6B,CAAC;AACvF,OAAO,EAAE,iBAAiB,IAAI,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAc1F,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AA0JtD,MAAM,KAAW,QAAQ,CA6DxB;AA7DD,WAAiB,QAAQ;IAkBV,eAAM,GAAG,cAAc,CAAC;IAExB,WAAE,GAAG,CAAC,KAAc,EAAqB,EAAE;QACtD,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,cAAc,IAAI,KAAK,IAAI,SAAS,IAAI,KAAK,IAAI,OAAO,IAAI,KAAK,IAAI,SAAS,IAAI,KAAK,IAAI,QAAQ,IAAI,KAAK,IAAI,QAAQ,IAAI,KAAK,CAAC;IAC1L,CAAC,CAAA;IAEY,0BAAiB,GAAG,kBAAkB,CAAC;IAsBpD,IAAiB,MAAM,CAatB;IAbD,WAAiB,MAAM;QACR,aAAM,GAAG,YAAY,CAAC;QACtB,cAAO,GAAG,cAAc,CAAC;IAWxC,CAAC,EAbgB,MAAM,GAAN,eAAM,KAAN,eAAM,QAatB;AAEH,CAAC,EA7DgB,QAAQ,KAAR,QAAQ,QA6DxB"}
1
+ {"version":3,"file":"database.js","sourceRoot":"","sources":["../../../src/ecs/database/database.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAgBvD,OAAO,EAAE,cAAc,EAA4B,MAAM,6BAA6B,CAAC;AACvF,OAAO,EAAE,iBAAiB,IAAI,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAc1F,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AA0JtD,MAAM,KAAW,QAAQ,CAqExB;AArED,WAAiB,QAAQ;IAkBV,eAAM,GAAG,cAAc,CAAC;IAExB,WAAE,GAAG,CAAC,KAAc,EAAqB,EAAE;QACtD,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,cAAc,IAAI,KAAK,IAAI,SAAS,IAAI,KAAK,IAAI,OAAO,IAAI,KAAK,IAAI,SAAS,IAAI,KAAK,IAAI,QAAQ,IAAI,KAAK,IAAI,QAAQ,IAAI,KAAK,CAAC;IAC1L,CAAC,CAAA;IAEY,0BAAiB,GAAG,kBAAkB,CAAC;IAsBpD,IAAiB,MAAM,CAqBtB;IArBD,WAAiB,MAAM;QACR,aAAM,GAAG,YAAY,CAAC;QACtB,cAAO,GAAG,cAAc,CAAC;IAmBxC,CAAC,EArBgB,MAAM,GAAN,eAAM,KAAN,eAAM,QAqBtB;AAEH,CAAC,EArEgB,QAAQ,KAAR,QAAQ,QAqExB"}
@@ -30,3 +30,24 @@ export type TransactionFunction = (args?: any) => void | Entity;
30
30
  export type TransactionFunctions = {
31
31
  readonly [AF: string]: TransactionFunction;
32
32
  };
33
+ /**
34
+ * Extracts the `AsyncArgsProvider`-arg overload from a `ToTransactionFunctions`
35
+ * entry as a single-signature function. TypeScript's structural assignment and
36
+ * `Parameters` / `ReturnType` see only the *last* overload of an overloaded
37
+ * function type, which hides the async-provider overload when a transaction is
38
+ * passed by value (e.g. as a prop). This helper recovers the async-provider
39
+ * signature without forcing consumers to copy/paste the Input shape.
40
+ */
41
+ export type ToAsyncTransactionFn<T> = T extends {
42
+ (arg: AsyncArgsProvider<infer Input>): Promise<infer R>;
43
+ (arg: any): any;
44
+ } ? (arg: AsyncArgsProvider<Input>) => Promise<R> : never;
45
+ /**
46
+ * Extracts the plain-arg (synchronous) overload from a `ToTransactionFunctions`
47
+ * entry as a single-signature function. Pairs with `ToAsyncTransactionFn`
48
+ * for consumers that need to type each call path independently.
49
+ */
50
+ export type ToSyncTransactionFn<T> = T extends {
51
+ (arg: AsyncArgsProvider<any>): any;
52
+ (arg: infer Input): infer R;
53
+ } ? (arg: Input) => R : never;
@@ -1 +1 @@
1
- {"version":3,"file":"transaction-functions.type-test.js","sourceRoot":"","sources":["../../../src/ecs/store/transaction-functions.type-test.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,EAAE;AACF,mDAAmD;AACnD,EAAE;AACF,kEAAkE;AAClE,EAAE;AACF,uFAAuF;AACvF,iEAAiE;AACjE,mEAAmE;AACnE,EAAE;AACF,wEAAwE;AACxE,uEAAuE;AACvE,yEAAyE;AACzE,qCAAqC;AAyDrC,MAAM,SAAS,GAAS,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAEjD,MAAM,qBAAqB,GACvB,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAEpD,MAAM,uBAAuB,GACzB,GAAG,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC;IACpB,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;AACzB,CAAC,CAAC,CAAC;AAEP,MAAM,UAAU,GAAW,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;AAE3D,MAAM,WAAW,GACb,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;AAE3D,wEAAwE;AACxE,mEAAmE;AACnE,GAAG,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC;IACpB,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;AACzB,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;AAE1B,8EAA8E;AAC9E,wCAAwC;AACxC,8EAA8E;AAE9E,2EAA2E;AAC3E,4EAA4E;AAC5E,4DAA4D;AAC5D,6CAA6C;AAC7C,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;AAEhD,wDAAwD;AACxD,kCAAkC;AAClC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAEnB,gEAAgE;AAChE,4DAA4D;AAC5D,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAE1C,uDAAuD;AACvD,GAAG,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC;IACpB,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;AACnB,CAAC,CAAC,CAAC;AAEH,wDAAwD;AACxD,iDAAiD;AACjD,GAAG,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;AAUlC,MAAM,iBAAiB,GAA4C,GAAG,CAAC,IAAI,CAAC"}
1
+ {"version":3,"file":"transaction-functions.type-test.js","sourceRoot":"","sources":["../../../src/ecs/store/transaction-functions.type-test.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,EAAE;AACF,mDAAmD;AACnD,EAAE;AACF,kEAAkE;AAClE,EAAE;AACF,uFAAuF;AACvF,iEAAiE;AACjE,mEAAmE;AACnE,EAAE;AACF,wEAAwE;AACxE,uEAAuE;AACvE,yEAAyE;AACzE,qCAAqC;AA2DrC,MAAM,SAAS,GAAS,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAEjD,MAAM,qBAAqB,GACvB,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAEpD,MAAM,uBAAuB,GACzB,GAAG,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC;IACpB,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;AACzB,CAAC,CAAC,CAAC;AAEP,MAAM,UAAU,GAAW,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;AAE3D,MAAM,WAAW,GACb,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;AAE3D,wEAAwE;AACxE,mEAAmE;AACnE,GAAG,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC;IACpB,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;AACzB,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;AAE1B,8EAA8E;AAC9E,wCAAwC;AACxC,8EAA8E;AAE9E,2EAA2E;AAC3E,4EAA4E;AAC5E,4DAA4D;AAC5D,6CAA6C;AAC7C,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;AAEhD,wDAAwD;AACxD,kCAAkC;AAClC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAEnB,gEAAgE;AAChE,4DAA4D;AAC5D,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAE1C,uDAAuD;AACvD,GAAG,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC;IACpB,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;AACnB,CAAC,CAAC,CAAC;AAEH,wDAAwD;AACxD,iDAAiD;AACjD,GAAG,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;AAUlC,MAAM,iBAAiB,GAA4C,GAAG,CAAC,IAAI,CAAC"}