@actualwave/deferred-data-access 2.0.1 → 2.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. package/README.md +400 -27
  2. package/SKILL.md +106 -0
  3. package/command/index.d.ts.map +1 -0
  4. package/command/index.es.js +98 -0
  5. package/command/index.es.js.map +1 -0
  6. package/command/index.js +102 -4
  7. package/command/index.js.map +1 -1
  8. package/command/package.json +4 -1
  9. package/command/src/command-chain.d.ts +8 -1
  10. package/command/src/command-chain.d.ts.map +1 -0
  11. package/command/src/command-chain.js +9 -0
  12. package/command/src/command-chain.js.map +1 -1
  13. package/command/src/command-handler.d.ts.map +1 -0
  14. package/command/src/command.d.ts +2 -2
  15. package/command/src/command.d.ts.map +1 -0
  16. package/command/src/command.js +5 -6
  17. package/command/src/command.js.map +1 -1
  18. package/core/core.d.ts.map +1 -0
  19. package/core/core.js +23 -25
  20. package/core/core.js.map +1 -1
  21. package/core/index.d.ts.map +1 -0
  22. package/deferred-data-access.umd.js +2 -0
  23. package/deferred-data-access.umd.js.map +1 -0
  24. package/index.d.ts.map +1 -0
  25. package/{dist/deferred-data-access.js → index.es.js} +199 -138
  26. package/index.es.js.map +1 -0
  27. package/index.js +627 -2
  28. package/index.js.map +1 -1
  29. package/interface/index.d.ts.map +1 -0
  30. package/interface/index.es.js +380 -0
  31. package/interface/index.es.js.map +1 -0
  32. package/interface/index.js +396 -7
  33. package/interface/index.js.map +1 -1
  34. package/interface/package.json +4 -1
  35. package/interface/src/handshake.d.ts.map +1 -0
  36. package/interface/src/handshake.js +6 -4
  37. package/interface/src/handshake.js.map +1 -1
  38. package/interface/src/helpers.d.ts.map +1 -0
  39. package/interface/src/intialize.d.ts +5 -2
  40. package/interface/src/intialize.d.ts.map +1 -0
  41. package/interface/src/intialize.js +37 -57
  42. package/interface/src/intialize.js.map +1 -1
  43. package/interface/src/request.d.ts +3 -2
  44. package/interface/src/request.d.ts.map +1 -0
  45. package/interface/src/request.js +39 -29
  46. package/interface/src/request.js.map +1 -1
  47. package/interface/src/types.d.ts.map +1 -0
  48. package/interface/src/utils.d.ts +2 -2
  49. package/interface/src/utils.d.ts.map +1 -0
  50. package/interface/src/utils.js +44 -29
  51. package/interface/src/utils.js.map +1 -1
  52. package/package.json +8 -6
  53. package/proxy/index.d.ts.map +1 -0
  54. package/proxy/index.es.js +144 -0
  55. package/proxy/index.es.js.map +1 -0
  56. package/proxy/index.js +155 -5
  57. package/proxy/index.js.map +1 -1
  58. package/proxy/package.json +4 -1
  59. package/proxy/src/command.d.ts.map +1 -0
  60. package/proxy/src/proxy.d.ts +2 -2
  61. package/proxy/src/proxy.d.ts.map +1 -0
  62. package/proxy/src/proxy.js +13 -3
  63. package/proxy/src/proxy.js.map +1 -1
  64. package/proxy/src/traps.d.ts +1 -1
  65. package/proxy/src/traps.d.ts.map +1 -0
  66. package/proxy/src/traps.js +4 -14
  67. package/proxy/src/traps.js.map +1 -1
  68. package/proxy/src/types.d.ts.map +1 -0
  69. package/proxy/src/utils.d.ts +6 -0
  70. package/proxy/src/utils.d.ts.map +1 -0
  71. package/proxy/src/utils.js +11 -5
  72. package/proxy/src/utils.js.map +1 -1
  73. package/record/index.d.ts.map +1 -0
  74. package/record/index.es.js +26 -0
  75. package/record/index.es.js.map +1 -0
  76. package/record/index.js +31 -2
  77. package/record/index.js.map +1 -1
  78. package/record/package.json +4 -1
  79. package/record/record.d.ts +2 -2
  80. package/record/record.d.ts.map +1 -0
  81. package/record/record.js +9 -3
  82. package/record/record.js.map +1 -1
  83. package/resource/index.d.ts +1 -0
  84. package/resource/index.d.ts.map +1 -0
  85. package/resource/index.es.js +191 -0
  86. package/resource/index.es.js.map +1 -0
  87. package/resource/index.js +206 -6
  88. package/resource/index.js.map +1 -1
  89. package/resource/package.json +4 -1
  90. package/resource/src/default-resource-pool.d.ts +1 -0
  91. package/resource/src/default-resource-pool.d.ts.map +1 -0
  92. package/resource/src/default-resource-pool.js +8 -5
  93. package/resource/src/default-resource-pool.js.map +1 -1
  94. package/resource/src/finalization-registry.d.ts +13 -0
  95. package/resource/src/finalization-registry.d.ts.map +1 -0
  96. package/resource/src/finalization-registry.js +18 -0
  97. package/resource/src/finalization-registry.js.map +1 -0
  98. package/resource/src/resource-pool-registry.d.ts +1 -0
  99. package/resource/src/resource-pool-registry.d.ts.map +1 -0
  100. package/resource/src/resource-pool-registry.js +10 -8
  101. package/resource/src/resource-pool-registry.js.map +1 -1
  102. package/resource/src/resource-pool.d.ts +8 -1
  103. package/resource/src/resource-pool.d.ts.map +1 -0
  104. package/resource/src/resource-pool.js +29 -17
  105. package/resource/src/resource-pool.js.map +1 -1
  106. package/resource/src/resource.d.ts +1 -1
  107. package/resource/src/resource.d.ts.map +1 -0
  108. package/resource/src/resource.js +3 -2
  109. package/resource/src/resource.js.map +1 -1
  110. package/resource/src/utils.d.ts +1 -1
  111. package/resource/src/utils.d.ts.map +1 -0
  112. package/resource/src/utils.js +9 -1
  113. package/resource/src/utils.js.map +1 -1
  114. package/utils/index.d.ts.map +1 -0
  115. package/utils/index.es.js +48 -0
  116. package/utils/index.es.js.map +1 -0
  117. package/utils/index.js +54 -3
  118. package/utils/index.js.map +1 -1
  119. package/utils/package.json +4 -1
  120. package/utils/src/types.d.ts +3 -3
  121. package/utils/src/types.d.ts.map +1 -0
  122. package/utils/src/utils.d.ts +18 -2
  123. package/utils/src/utils.d.ts.map +1 -0
  124. package/utils/src/utils.js +28 -4
  125. package/utils/src/utils.js.map +1 -1
  126. package/dist/deferred-data-access.js.map +0 -1
  127. package/dist/deferred-data-access.umd.js +0 -2
  128. package/dist/deferred-data-access.umd.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../packages/deferred-data-access/proxy/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../../packages/deferred-data-access/proxy/src/command.ts","../../../../../../packages/deferred-data-access/proxy/src/types.ts","../../../../../../packages/deferred-data-access/proxy/src/proxy.ts","../../../../../../packages/deferred-data-access/proxy/src/utils.ts","../../../../../../packages/deferred-data-access/proxy/src/traps.ts"],"sourcesContent":[null,null,null,null,null],"names":["ProxyCommand","CommandChain"],"mappings":"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"}
@@ -1,4 +1,7 @@
1
1
  {
2
2
  "name": "@actualwave/deferred-data-access/proxy",
3
- "version": "2.0.0"
3
+ "version": "2.0.0",
4
+ "main": "index.js",
5
+ "module": "index.es.js",
6
+ "types": "index.d.ts"
4
7
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../../packages/deferred-data-access/proxy/src/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AACxE,OAAO,EACL,YAAY,EACZ,cAAc,EACd,aAAa,EACd,MAAM,wCAAwC,CAAC;AAEhD,oBAAY,YAAY;IACtB,GAAG,UAAU;IACb,GAAG,UAAU;IACb,KAAK,YAAY;IACjB,eAAe,UAAU;IAEzB,WAAW,WAAW;CACvB;AAED,eAAO,MAAM,oBAAoB,GAC/B,MAAM,aAAa,GAAG,SAAS,EAC/B,MAAM,YAAY,EAClB,MAAM,YAAY,GAAG,SAAS,EAC9B,OAAO,OAAO,EACd,SAAS,cAAc,EACvB,MAAM,OAAO,KACZ,YAYF,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,UAAU,YAAY,6BAAe,CAAC;AACpE,eAAO,MAAM,oBAAoB,GAAI,UAAU,YAAY,+BAAkB,CAAC"}
@@ -2,5 +2,5 @@ import { ProxyWrapper, APIObject } from './types';
2
2
  export declare const wrapWithProxy: (target: any, traps: {
3
3
  [key: string]: () => void;
4
4
  }, api?: APIObject) => ProxyWrapper;
5
- export declare const isWrappedWithProxy: (obj: any) => boolean;
6
- export declare const unwrapProxy: <T = unknown>(obj: any) => T;
5
+ export declare const isWrappedWithProxy: (obj: unknown) => boolean;
6
+ export declare const unwrapProxy: <T = unknown>(obj: unknown) => T;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../../../packages/deferred-data-access/proxy/src/proxy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAY,MAAM,SAAS,CAAC;AAE5D,eAAO,MAAM,aAAa,GAExB,QAAQ,GAAG,EACX,OAAO;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,IAAI,CAAA;CAAE,EACpC,MAAK,SAAc,iBAoBpB,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,KAAK,OAAO,KAAG,OAGvC,CAAC;AAEZ,eAAO,MAAM,WAAW,GAAI,CAAC,GAAG,OAAO,EAAE,KAAK,OAAO,KAAG,CAKvD,CAAC"}
@@ -2,18 +2,28 @@ import { API_PROP } from './types';
2
2
  export const wrapWithProxy = (
3
3
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
4
4
  target, traps, api = {}) => {
5
+ // Always use a function as the wrapper so the Proxy can intercept `apply`.
6
+ // For non-function targets the wrapper body is intentionally empty — it is
7
+ // never actually called; the apply trap intercepts all invocations first.
5
8
  const wrapper = Object.assign(typeof target === 'function'
6
9
  ? function $RequestFn(...args) {
7
10
  return target.apply(this, args);
8
11
  }
9
12
  : function $Request() {
10
- // because
13
+ /* intentionally empty — apply trap handles all calls */
11
14
  }, {
12
15
  target,
13
16
  [API_PROP]: { getTarget: () => target, ...api },
14
17
  });
15
18
  return new Proxy(wrapper, traps);
16
19
  };
17
- export const isWrappedWithProxy = (obj) => !!(obj && obj[API_PROP]);
18
- export const unwrapProxy = (obj) => obj && obj[API_PROP] && obj[API_PROP].getTarget() || obj;
20
+ export const isWrappedWithProxy = (obj) => obj != null && typeof obj === 'object' || typeof obj === 'function'
21
+ ? !!(obj && obj[API_PROP])
22
+ : false;
23
+ export const unwrapProxy = (obj) => {
24
+ if (obj != null && obj[API_PROP]) {
25
+ return obj[API_PROP].getTarget();
26
+ }
27
+ return obj;
28
+ };
19
29
  //# sourceMappingURL=proxy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../../../packages/deferred-data-access/proxy/src/proxy.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE5D,MAAM,CAAC,MAAM,aAAa,GAAG;AAC3B,8DAA8D;AAC9D,MAAW,EACX,KAAoC,EACpC,MAAiB,EAAE,EACnB,EAAE;IACF,MAAM,OAAO,GAAiB,MAAM,CAAC,MAAM,CACzC,OAAO,MAAM,KAAK,UAAU;QAC1B,CAAC,CAAC,SAAS,UAAU,CAAY,GAAG,IAAO;YACvC,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAClC,CAAC;QACH,CAAC,CAAC,SAAS,QAAQ;YACf,UAAU;QACZ,CAAC,EACL;QACE,MAAM;QACN,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,GAAG,GAAG,EAAE;KAChD,CACF,CAAC;IAEF,OAAO,IAAI,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AACnC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,GAAQ,EAAW,EAAE,CACtD,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;AAE3B,MAAM,CAAC,MAAM,WAAW,GAAG,CAAc,GAAQ,EAAK,EAAE,CACtD,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAK,GAAG,CAAC,QAAQ,CAAe,CAAC,SAAS,EAAE,IAAI,GAAG,CAAC"}
1
+ {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../../../packages/deferred-data-access/proxy/src/proxy.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE5D,MAAM,CAAC,MAAM,aAAa,GAAG;AAC3B,8DAA8D;AAC9D,MAAW,EACX,KAAoC,EACpC,MAAiB,EAAE,EACnB,EAAE;IACF,2EAA2E;IAC3E,2EAA2E;IAC3E,0EAA0E;IAC1E,MAAM,OAAO,GAAiB,MAAM,CAAC,MAAM,CACzC,OAAO,MAAM,KAAK,UAAU;QAC1B,CAAC,CAAC,SAAS,UAAU,CAAY,GAAG,IAAe;YAC/C,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAClC,CAAC;QACH,CAAC,CAAC,SAAS,QAAQ;YACf,wDAAwD;QAC1D,CAAC,EACL;QACE,MAAM;QACN,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,GAAG,GAAG,EAAE;KAChD,CACF,CAAC;IAEF,OAAO,IAAI,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AACnC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,GAAY,EAAW,EAAE,CAC1D,GAAG,IAAI,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,GAAG,KAAK,UAAU;IACjE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAK,GAAW,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC,CAAC,KAAK,CAAC;AAEZ,MAAM,CAAC,MAAM,WAAW,GAAG,CAAc,GAAY,EAAK,EAAE;IAC1D,IAAI,GAAG,IAAI,IAAI,IAAK,GAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1C,OAAS,GAAW,CAAC,QAAQ,CAAe,CAAC,SAAS,EAAO,CAAC;IAChE,CAAC;IACD,OAAO,GAAQ,CAAC;AAClB,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
1
  import { ProxyHandler } from './types';
2
2
  export declare const createProxyTrapsObject: (handler: ProxyHandler) => {
3
- [key: string]: (...args: never[]) => unknown;
3
+ [key: string]: (...args: any[]) => unknown;
4
4
  };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"traps.d.ts","sourceRoot":"","sources":["../../../../packages/deferred-data-access/proxy/src/traps.ts"],"names":[],"mappings":"AAEA,OAAO,EAA4B,YAAY,EAAE,MAAM,SAAS,CAAC;AAmEjE,eAAO,MAAM,sBAAsB,GACjC,SAAS,YAAY,KACpB;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAA;CAU7C,CAAC"}
@@ -18,15 +18,6 @@ const createSetTrap = (handler) => ({ target }, name, value) => {
18
18
  if (isNameExcluded(name)) {
19
19
  return false;
20
20
  }
21
- /* TODO why this might be needed?
22
- if (isNameSymbol(name)) {
23
- target.then((context: any) => {
24
- context[name] = value;
25
- });
26
-
27
- return false;
28
- }
29
- */
30
21
  handler(ProxyCommand.SET, name, value, target);
31
22
  return true;
32
23
  };
@@ -41,13 +32,11 @@ const proxyHasTrap = (wrapper, name) => {
41
32
  if (isNameExcluded(name)) {
42
33
  return wrapper[name];
43
34
  }
44
- // because of this Promise does not call ProxyWrapper.then() and just returns it.
45
- // if change to true, it will subscribe to ProxyWrapper.then() and wait for it to resolve
35
+ // Because of this, Promise does not call ProxyWrapper.then() and just returns it.
36
+ // If changed to true, it will subscribe to ProxyWrapper.then() and wait for it to resolve.
46
37
  return false;
47
38
  };
48
39
  const proxyOwnKeysTrap = () => Object.getOwnPropertyNames(EXCLUSIONS);
49
- // INFO You cannot enumerate properties of request object, this may possibly require processing a lot of data
50
- const proxyEnumerateTrap = () => Object.getOwnPropertyNames(EXCLUSIONS)[Symbol.iterator]();
51
40
  const proxyGetOwnPropertyDescriptorTrap = (wrapper, name) => {
52
41
  if (isNameExcluded(name)) {
53
42
  return Object.getOwnPropertyDescriptor(wrapper, name);
@@ -61,7 +50,8 @@ export const createProxyTrapsObject = (handler) => ({
61
50
  deleteProperty: createDeletePropertyTrap(handler),
62
51
  has: proxyHasTrap,
63
52
  ownKeys: proxyOwnKeysTrap,
64
- enumerate: proxyEnumerateTrap,
53
+ // NOTE: `enumerate` trap was removed from the ES Proxy spec and is a no-op
54
+ // in all modern runtimes — removed to avoid confusion.
65
55
  getOwnPropertyDescriptor: proxyGetOwnPropertyDescriptorTrap,
66
56
  });
67
57
  //# sourceMappingURL=traps.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"traps.js","sourceRoot":"","sources":["../../../../packages/deferred-data-access/proxy/src/traps.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"traps.js","sourceRoot":"","sources":["../../../../packages/deferred-data-access/proxy/src/traps.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../packages/deferred-data-access/proxy/src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,cAAc,EACf,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,eAAO,MAAM,UAAU;;;;CAQtB,CAAC;AAEF,eAAO,MAAM,QAAQ,eAAkB,CAAC;AAExC,MAAM,MAAM,SAAS,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,OAAO,CAAA;CAAE,CAAC;AAEzD,MAAM,MAAM,QAAQ,GAAG;IAAE,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAA;CAAE,CAAC;AAEjD,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG;IAAE,IAAI,IAAI,CAAC;IAAC,MAAM,EAAE,cAAc,CAAA;CAAE,CAAC;AAE3E,MAAM,MAAM,YAAY,GAAG,CACzB,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE,YAAY,GAAG,SAAS,EAC9B,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,cAAc,KACpB,OAAO,CAAC"}
@@ -2,4 +2,10 @@ import { PropertyName } from '@actualwave/deferred-data-access/utils';
2
2
  import { CommandChain } from '@actualwave/deferred-data-access/command';
3
3
  export declare const isNameExcluded: (name: PropertyName) => boolean;
4
4
  export declare const isNameSymbol: (name: PropertyName) => name is symbol;
5
+ /**
6
+ * Walks a CommandChain and resolves it against a live target.
7
+ * Only GET and APPLY commands are supported — all other command types
8
+ * (SET, DELETE_PROPERTY, METHOD_CALL) are write/side-effect operations
9
+ * that cannot be replayed safely and will throw.
10
+ */
5
11
  export declare const followCommandChain: <T = unknown>(head: CommandChain, context?: any) => Promise<T>;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../packages/deferred-data-access/proxy/src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AAIxE,eAAO,MAAM,cAAc,GAAI,MAAM,YAAY,YAAyD,CAAC;AAE3G,eAAO,MAAM,YAAY,GAAI,MAAM,YAAY,mBAA6B,CAAC;AAE7E;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,GAAU,CAAC,GAAG,OAAO,EAClD,MAAM,YAAY,EAElB,UAAU,GAAG,KACZ,OAAO,CAAC,CAAC,CAsBX,CAAC"}
@@ -1,17 +1,22 @@
1
- import { hasOwn } from '@actualwave/has-own';
2
1
  import { ProxyCommand, getMethodCallContext } from './command';
3
2
  import { API_PROP, EXCLUSIONS } from './types';
4
- export const isNameExcluded = (name) => name === API_PROP || hasOwn(EXCLUSIONS, name);
3
+ export const isNameExcluded = (name) => name === API_PROP || Object.hasOwn(EXCLUSIONS, name);
5
4
  export const isNameSymbol = (name) => typeof name === 'symbol';
5
+ /**
6
+ * Walks a CommandChain and resolves it against a live target.
7
+ * Only GET and APPLY commands are supported — all other command types
8
+ * (SET, DELETE_PROPERTY, METHOD_CALL) are write/side-effect operations
9
+ * that cannot be replayed safely and will throw.
10
+ */
6
11
  export const followCommandChain = async (head,
7
12
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
8
13
  context) => {
9
14
  let target = context;
10
- if (!context) {
15
+ if (context === undefined) {
11
16
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
12
17
  target = head.prev
13
18
  ? await followCommandChain(head.prev)
14
- : head.context;
19
+ : await head.context;
15
20
  }
16
21
  const { type, name, value } = head;
17
22
  switch (type) {
@@ -19,7 +24,8 @@ context) => {
19
24
  return target[name];
20
25
  case ProxyCommand.APPLY:
21
26
  return target.apply(getMethodCallContext(head), value);
27
+ default:
28
+ throw new Error(`Command "${type}" cannot be followed. Only ProxyCommand.GET and ProxyCommand.APPLY are supported by followCommandChain.`);
22
29
  }
23
- throw new Error(`Unknown command "${type}" cannot be followed, only ProxyCommand.GET and APPLY are allowed.`);
24
30
  };
25
31
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../packages/deferred-data-access/proxy/src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAG7C,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE/C,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAAkB,EAAE,EAAE,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;AAEpG,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAkB,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC;AAE7E,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EACrC,IAAkB;AAClB,8DAA8D;AAC9D,OAAa,EACD,EAAE;IACd,IAAI,MAAM,GAAG,OAAO,CAAC;IAErB,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,8DAA8D;QAC9D,MAAM,GAAG,IAAI,CAAC,IAAI;YAChB,CAAC,CAAC,MAAM,kBAAkB,CAAC,IAAI,CAAC,IAAoB,CAAC;YACrD,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;IACnB,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IAEnC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,YAAY,CAAC,GAAG;YACnB,OAAO,MAAM,CAAC,IAAoB,CAAC,CAAC;QACtC,KAAK,YAAY,CAAC,KAAK;YACrB,OAAO,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,KAAgB,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,IAAI,KAAK,CACb,oBAAoB,IAAI,oEAAoE,CAC7F,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../packages/deferred-data-access/proxy/src/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE/C,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAAkB,EAAE,EAAE,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;AAE3G,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAkB,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC;AAE7E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EACrC,IAAkB;AAClB,8DAA8D;AAC9D,OAAa,EACD,EAAE;IACd,IAAI,MAAM,GAAG,OAAO,CAAC;IAErB,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,8DAA8D;QAC9D,MAAM,GAAG,IAAI,CAAC,IAAI;YAChB,CAAC,CAAC,MAAM,kBAAkB,CAAC,IAAI,CAAC,IAAoB,CAAC;YACrD,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC;IACzB,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IAEnC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,YAAY,CAAC,GAAG;YACnB,OAAO,MAAM,CAAC,IAAoB,CAAC,CAAC;QACtC,KAAK,YAAY,CAAC,KAAK;YACrB,OAAO,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,KAAgB,CAAC,CAAC;QACpE;YACE,MAAM,IAAI,KAAK,CACb,YAAY,IAAI,yGAAyG,CAC1H,CAAC;IACN,CAAC;AACH,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../packages/deferred-data-access/record/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { unwrapProxy } from '@actualwave/deferred-data-access/proxy';
2
+
3
+ const calls = new Map();
4
+ let latest = Promise.resolve();
5
+ // Silently swallow unhandled rejections from tracked calls so that cleanup
6
+ // always runs — callers are responsible for handling errors on the original promise.
7
+ const noop = () => undefined;
8
+ const latestCall = () => latest;
9
+ const latestCallFor = (context) => calls.get(unwrapProxy(context));
10
+ const clearLatestCalls = () => calls.clear();
11
+ const recordHandlerCalls = (handler) => (command, context, wrap) => {
12
+ const promise = handler(command, context, wrap);
13
+ // Only track the *first* call per context — subsequent calls for the same
14
+ // context update `latest` but do not overwrite the stored per-context entry.
15
+ // Use strict identity (not truthiness) so falsy-but-valid contexts aren't skipped.
16
+ if (context !== undefined && context !== null && !calls.has(context)) {
17
+ calls.set(context, promise);
18
+ // Clean up the entry once the call settles (regardless of outcome)
19
+ promise.then(() => calls.delete(context), noop);
20
+ }
21
+ latest = promise;
22
+ return promise;
23
+ };
24
+
25
+ export { clearLatestCalls, latestCall, latestCallFor, recordHandlerCalls };
26
+ //# sourceMappingURL=index.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.es.js","sources":["../../../../../../packages/deferred-data-access/record/record.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAQA,MAAM,KAAK,GAAG,IAAI,GAAG,EAAoC;AACzD,IAAI,MAAM,GAAqB,OAAO,CAAC,OAAO,EAAE;AAEhD;AACA;AACA,MAAM,IAAI,GAAG,MAAM,SAAS;MAEf,UAAU,GAAG,MAAwB;AAE3C,MAAM,aAAa,GAAG,CAAC,OAAuB,KACnD,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC;AAEzB,MAAM,gBAAgB,GAAG,MAAY,KAAK,CAAC,KAAK;AAEhD,MAAM,kBAAkB,GAC7B,CAAC,OAAuB,KACxB,CACE,OAAqB,EACrB,OAAmC,EACnC,IAAmE,KAC/C;IACpB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC;;;;AAK/C,IAAA,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;AACpE,QAAA,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC;;AAE3B,QAAA,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC;IACjD;IAEA,MAAM,GAAG,OAAO;AAChB,IAAA,OAAO,OAAO;AAChB;;;;"}
package/record/index.js CHANGED
@@ -1,2 +1,31 @@
1
- export * from './record';
2
- //# sourceMappingURL=index.js.map
1
+ 'use strict';
2
+
3
+ var proxy = require('@actualwave/deferred-data-access/proxy');
4
+
5
+ const calls = new Map();
6
+ let latest = Promise.resolve();
7
+ // Silently swallow unhandled rejections from tracked calls so that cleanup
8
+ // always runs — callers are responsible for handling errors on the original promise.
9
+ const noop = () => undefined;
10
+ const latestCall = () => latest;
11
+ const latestCallFor = (context) => calls.get(proxy.unwrapProxy(context));
12
+ const clearLatestCalls = () => calls.clear();
13
+ const recordHandlerCalls = (handler) => (command, context, wrap) => {
14
+ const promise = handler(command, context, wrap);
15
+ // Only track the *first* call per context — subsequent calls for the same
16
+ // context update `latest` but do not overwrite the stored per-context entry.
17
+ // Use strict identity (not truthiness) so falsy-but-valid contexts aren't skipped.
18
+ if (context !== undefined && context !== null && !calls.has(context)) {
19
+ calls.set(context, promise);
20
+ // Clean up the entry once the call settles (regardless of outcome)
21
+ promise.then(() => calls.delete(context), noop);
22
+ }
23
+ latest = promise;
24
+ return promise;
25
+ };
26
+
27
+ exports.clearLatestCalls = clearLatestCalls;
28
+ exports.latestCall = latestCall;
29
+ exports.latestCallFor = latestCallFor;
30
+ exports.recordHandlerCalls = recordHandlerCalls;
31
+ //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../packages/deferred-data-access/record/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../../packages/deferred-data-access/record/record.ts"],"sourcesContent":[null],"names":["unwrapProxy"],"mappings":";;;;AAQA,MAAM,KAAK,GAAG,IAAI,GAAG,EAAoC;AACzD,IAAI,MAAM,GAAqB,OAAO,CAAC,OAAO,EAAE;AAEhD;AACA;AACA,MAAM,IAAI,GAAG,MAAM,SAAS;MAEf,UAAU,GAAG,MAAwB;AAE3C,MAAM,aAAa,GAAG,CAAC,OAAuB,KACnD,KAAK,CAAC,GAAG,CAACA,iBAAW,CAAC,OAAO,CAAC;AAEzB,MAAM,gBAAgB,GAAG,MAAY,KAAK,CAAC,KAAK;AAEhD,MAAM,kBAAkB,GAC7B,CAAC,OAAuB,KACxB,CACE,OAAqB,EACrB,OAAmC,EACnC,IAAmE,KAC/C;IACpB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC;;;;AAK/C,IAAA,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;AACpE,QAAA,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC;;AAE3B,QAAA,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC;IACjD;IAEA,MAAM,GAAG,OAAO;AAChB,IAAA,OAAO,OAAO;AAChB;;;;;;;"}
@@ -1,4 +1,7 @@
1
1
  {
2
2
  "name": "@actualwave/deferred-data-access/record",
3
- "version": "2.0.0"
3
+ "version": "2.0.0",
4
+ "main": "index.js",
5
+ "module": "index.es.js",
6
+ "types": "index.d.ts"
4
7
  }
@@ -1,5 +1,5 @@
1
1
  import { CommandContext, CommandHandler, ICommandChain, ICommandList } from '@actualwave/deferred-data-access/utils';
2
2
  export declare const latestCall: () => Promise<unknown>;
3
- export declare const latestCallFor: (context: Promise<unknown>) => Promise<unknown> | undefined;
3
+ export declare const latestCallFor: (context: CommandContext) => Promise<unknown> | undefined;
4
4
  export declare const clearLatestCalls: () => void;
5
- export declare const recordHandlerCalls: (handler: CommandHandler) => (command: ICommandList, context: CommandContext | undefined, wrap: (context: CommandContext, command?: ICommandChain | undefined) => unknown) => Promise<unknown>;
5
+ export declare const recordHandlerCalls: (handler: CommandHandler) => (command: ICommandList, context: CommandContext | undefined, wrap: (context: CommandContext, command?: ICommandChain) => unknown) => Promise<unknown>;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record.d.ts","sourceRoot":"","sources":["../../../packages/deferred-data-access/record/record.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EACd,cAAc,EACd,aAAa,EACb,YAAY,EACb,MAAM,wCAAwC,CAAC;AAShD,eAAO,MAAM,UAAU,QAAO,OAAO,CAAC,OAAO,CAAW,CAAC;AAEzD,eAAO,MAAM,aAAa,GAAI,SAAS,cAAc,KAAG,OAAO,CAAC,OAAO,CAAC,GAAG,SAC1C,CAAC;AAElC,eAAO,MAAM,gBAAgB,QAAO,IAAqB,CAAC;AAE1D,eAAO,MAAM,kBAAkB,GAC5B,SAAS,cAAc,MAEtB,SAAS,YAAY,EACrB,SAAS,cAAc,GAAG,SAAS,EACnC,MAAM,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,aAAa,KAAK,OAAO,KAClE,OAAO,CAAC,OAAO,CAcjB,CAAC"}
package/record/record.js CHANGED
@@ -1,15 +1,21 @@
1
1
  import { unwrapProxy } from '@actualwave/deferred-data-access/proxy';
2
2
  const calls = new Map();
3
3
  let latest = Promise.resolve();
4
- const noop = () => null;
4
+ // Silently swallow unhandled rejections from tracked calls so that cleanup
5
+ // always runs — callers are responsible for handling errors on the original promise.
6
+ const noop = () => undefined;
5
7
  export const latestCall = () => latest;
6
8
  export const latestCallFor = (context) => calls.get(unwrapProxy(context));
7
9
  export const clearLatestCalls = () => calls.clear();
8
10
  export const recordHandlerCalls = (handler) => (command, context, wrap) => {
9
11
  const promise = handler(command, context, wrap);
10
- if (context && !calls.has(context)) {
12
+ // Only track the *first* call per context subsequent calls for the same
13
+ // context update `latest` but do not overwrite the stored per-context entry.
14
+ // Use strict identity (not truthiness) so falsy-but-valid contexts aren't skipped.
15
+ if (context !== undefined && context !== null && !calls.has(context)) {
11
16
  calls.set(context, promise);
12
- promise.catch(noop).then(() => calls.delete(context));
17
+ // Clean up the entry once the call settles (regardless of outcome)
18
+ promise.then(() => calls.delete(context), noop);
13
19
  }
14
20
  latest = promise;
15
21
  return promise;
@@ -1 +1 @@
1
- {"version":3,"file":"record.js","sourceRoot":"","sources":["../../../packages/deferred-data-access/record/record.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAQrE,MAAM,KAAK,GAAG,IAAI,GAAG,EAAoC,CAAC;AAC1D,IAAI,MAAM,GAAqB,OAAO,CAAC,OAAO,EAAE,CAAC;AAEjD,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC;AAExB,MAAM,CAAC,MAAM,UAAU,GAAG,GAAqB,EAAE,CAAC,MAAM,CAAC;AACzD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,OAAyB,EAAE,EAAE,CACzD,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;AAClC,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;AAEpD,MAAM,CAAC,MAAM,kBAAkB,GAC7B,CAAC,OAAuB,EAAE,EAAE,CAC5B,CACE,OAAqB,EACrB,OAAmC,EACnC,IAGY,EACZ,EAAE;IACF,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAEhD,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QACnC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAE5B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,GAAG,OAAO,CAAC;IACjB,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC"}
1
+ {"version":3,"file":"record.js","sourceRoot":"","sources":["../../../packages/deferred-data-access/record/record.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAQrE,MAAM,KAAK,GAAG,IAAI,GAAG,EAAoC,CAAC;AAC1D,IAAI,MAAM,GAAqB,OAAO,CAAC,OAAO,EAAE,CAAC;AAEjD,2EAA2E;AAC3E,qFAAqF;AACrF,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC;AAE7B,MAAM,CAAC,MAAM,UAAU,GAAG,GAAqB,EAAE,CAAC,MAAM,CAAC;AAEzD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,OAAuB,EAAgC,EAAE,CACrF,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;AAElC,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAS,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;AAE1D,MAAM,CAAC,MAAM,kBAAkB,GAC7B,CAAC,OAAuB,EAAE,EAAE,CAC5B,CACE,OAAqB,EACrB,OAAmC,EACnC,IAAmE,EACjD,EAAE;IACpB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAEhD,0EAA0E;IAC1E,6EAA6E;IAC7E,mFAAmF;IACnF,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QACrE,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC5B,mEAAmE;QACnE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,GAAG,OAAO,CAAC;IACjB,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC"}
@@ -1,3 +1,4 @@
1
+ export * from './src/finalization-registry';
1
2
  export * from './src/resource-pool-registry';
2
3
  export * from './src/resource-pool';
3
4
  export * from './src/default-resource-pool';
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../packages/deferred-data-access/resource/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC"}
@@ -0,0 +1,191 @@
1
+ import { IdOwner } from '@actualwave/deferred-data-access/utils';
2
+ import { WeakValueMap } from '@actualwave/weak-storage';
3
+
4
+ let finalizationRegistryClass;
5
+ /**
6
+ * Returns class of a custom FinalizationRegistry if set with setCustomFinalizationRegistryClass()
7
+ * @returns {IFinalizationRegistryConstructor}
8
+ */
9
+ const getCustomFinalizationRegistryClass = () => {
10
+ return finalizationRegistryClass;
11
+ };
12
+ /**
13
+ * Allows to setup custom FinalizationRegistry in environments where
14
+ * it is not available natively. It is used to cleanup stored weak
15
+ * references in ResourcePools.
16
+ * @param definition FinalizationRegistry, its mock or polyfill, etc.
17
+ */
18
+ const setCustomFinalizationRegistryClass = (definition) => {
19
+ finalizationRegistryClass = definition;
20
+ };
21
+
22
+ class Resource extends IdOwner {
23
+ constructor(pool, type) {
24
+ super();
25
+ this.pool = pool;
26
+ this.type = type;
27
+ Object.defineProperty(this, 'pool', { value: pool, writable: false, configurable: false });
28
+ Object.defineProperty(this, 'type', { value: type, writable: false, configurable: false });
29
+ }
30
+ toObject() {
31
+ return { id: this.id, poolId: this.pool.id, type: this.type };
32
+ }
33
+ toJSON() {
34
+ return JSON.stringify(this.toObject());
35
+ }
36
+ }
37
+ const createResource = (pool, target, type) => new Resource(pool, type || typeof target);
38
+ const isResourceObject = (obj) => obj != null &&
39
+ typeof obj === 'object' &&
40
+ typeof obj.id === 'string' &&
41
+ typeof obj.poolId === 'string';
42
+
43
+ // Valid target types are scoped per-module and intentionally not shared across
44
+ // ResourcePool instances. If you need per-pool validity rules, pass a custom
45
+ // isValidTarget predicate into ResourcePool directly.
46
+ const validTargets = new Set();
47
+ const getDefaultValidTargets = () => ['object', 'function'];
48
+ const isValidTarget = (value) => {
49
+ // typeof null === 'object' but null cannot be used as a WeakMap key
50
+ if (value === null)
51
+ return false;
52
+ return validTargets.has(typeof value);
53
+ };
54
+ const setValidTargets = (list) => {
55
+ validTargets.clear();
56
+ list.forEach((item) => validTargets.add(item));
57
+ };
58
+ setValidTargets(getDefaultValidTargets());
59
+
60
+ /* eslint-disable @typescript-eslint/ban-types */
61
+ class ResourcePool extends IdOwner {
62
+ constructor(FinalizationRegistry = getCustomFinalizationRegistryClass()) {
63
+ super();
64
+ // target → Resource: allows lookup by target object
65
+ this.resources = new WeakMap();
66
+ this.refs = new WeakValueMap(FinalizationRegistry);
67
+ }
68
+ get active() {
69
+ return !!this.resources;
70
+ }
71
+ set(target, type) {
72
+ if (!isValidTarget(target)) {
73
+ return null;
74
+ }
75
+ const existing = this.resources.get(target);
76
+ if (existing) {
77
+ return existing;
78
+ }
79
+ const resource = createResource(this, target, type);
80
+ this.refs.set(resource.id, target);
81
+ this.resources.set(target, resource);
82
+ return resource;
83
+ }
84
+ /**
85
+ * Returns true only when the target is registered AND its weakref is still
86
+ * alive. Checks both maps to avoid the asymmetry where WeakMap.has() returns
87
+ * true for a target whose WeakValueMap entry has already been collected.
88
+ */
89
+ has(target) {
90
+ if (!this.resources.has(target)) {
91
+ return false;
92
+ }
93
+ const resource = this.resources.get(target);
94
+ // Confirm the forward ref is still alive too
95
+ return resource !== undefined && this.refs.get(resource.id) !== undefined;
96
+ }
97
+ get({ id }) {
98
+ return this.getById(id);
99
+ }
100
+ getById(id) {
101
+ return this.refs.get(id);
102
+ }
103
+ getResource(target) {
104
+ return this.resources.get(target);
105
+ }
106
+ remove(target) {
107
+ const resource = this.resources.get(target);
108
+ if (resource) {
109
+ this.refs.delete(resource.id);
110
+ return this.resources.delete(target);
111
+ }
112
+ return false;
113
+ }
114
+ clear() {
115
+ this.refs.forEach((_value, key) => {
116
+ const target = this.refs.get(key);
117
+ if (target !== undefined) {
118
+ this.resources.delete(target);
119
+ }
120
+ });
121
+ this.refs.clear();
122
+ }
123
+ }
124
+
125
+ let defaultResourcePool;
126
+ const getDefaultResourcePool = () => {
127
+ if (!defaultResourcePool) {
128
+ defaultResourcePool = new ResourcePool();
129
+ }
130
+ return defaultResourcePool;
131
+ };
132
+ const setDefaultResourcePool = (pool) => {
133
+ defaultResourcePool = pool;
134
+ };
135
+
136
+ class ResourcePoolRegistry extends IdOwner {
137
+ constructor() {
138
+ super();
139
+ this.pools = {};
140
+ this.register(getDefaultResourcePool());
141
+ }
142
+ /**
143
+ * Create and register ResourcePool
144
+ */
145
+ createPool() {
146
+ const pool = new ResourcePool();
147
+ this.register(pool);
148
+ return pool;
149
+ }
150
+ /**
151
+ * Register ResourcePool instance.
152
+ */
153
+ register(pool) {
154
+ if (Object.hasOwn(this.pools, pool.id))
155
+ return false;
156
+ this.pools[pool.id] = pool;
157
+ return true;
158
+ }
159
+ /**
160
+ * Retrieve ResourcePool instance from registry by its Id.
161
+ */
162
+ get(poolId) {
163
+ return this.pools[poolId] || null;
164
+ }
165
+ /**
166
+ * Check if ResourcePool registered in this registry instance.
167
+ */
168
+ isRegistered(pool) {
169
+ return Object.hasOwn(this.pools, pool.id);
170
+ }
171
+ /**
172
+ * Remove ResourcePool from current registry instance.
173
+ */
174
+ remove(pool) {
175
+ const poolId = typeof pool === 'string' ? pool : pool.id;
176
+ return delete this.pools[poolId];
177
+ }
178
+ }
179
+ let defaultRegistry;
180
+ const getRegistry = () => {
181
+ if (!defaultRegistry) {
182
+ defaultRegistry = new ResourcePoolRegistry();
183
+ }
184
+ return defaultRegistry;
185
+ };
186
+ const setRegistry = (registry) => {
187
+ defaultRegistry = registry;
188
+ };
189
+
190
+ export { Resource, ResourcePool, ResourcePoolRegistry, createResource, getCustomFinalizationRegistryClass, getDefaultResourcePool, getDefaultValidTargets, getRegistry, isResourceObject, isValidTarget, setCustomFinalizationRegistryClass, setDefaultResourcePool, setRegistry, setValidTargets };
191
+ //# sourceMappingURL=index.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.es.js","sources":["../../../../../../packages/deferred-data-access/resource/src/finalization-registry.ts","../../../../../../packages/deferred-data-access/resource/src/resource.ts","../../../../../../packages/deferred-data-access/resource/src/utils.ts","../../../../../../packages/deferred-data-access/resource/src/resource-pool.ts","../../../../../../packages/deferred-data-access/resource/src/default-resource-pool.ts","../../../../../../packages/deferred-data-access/resource/src/resource-pool-registry.ts"],"sourcesContent":[null,null,null,null,null,null],"names":[],"mappings":"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"}