signalium 2.0.1 → 2.0.3

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 (64) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/cjs/index.d.ts +1 -1
  3. package/dist/cjs/index.d.ts.map +1 -1
  4. package/dist/cjs/index.js +2 -1
  5. package/dist/cjs/index.js.map +1 -1
  6. package/dist/cjs/internals/contexts.d.ts +2 -1
  7. package/dist/cjs/internals/contexts.d.ts.map +1 -1
  8. package/dist/cjs/internals/contexts.js +27 -6
  9. package/dist/cjs/internals/contexts.js.map +1 -1
  10. package/dist/cjs/internals/core-api.d.ts.map +1 -1
  11. package/dist/cjs/internals/core-api.js +1 -6
  12. package/dist/cjs/internals/core-api.js.map +1 -1
  13. package/dist/cjs/transform/async.d.ts +2 -0
  14. package/dist/cjs/transform/async.d.ts.map +1 -1
  15. package/dist/cjs/transform/async.js +80 -90
  16. package/dist/cjs/transform/async.js.map +1 -1
  17. package/dist/cjs/transform/callback.d.ts +3 -0
  18. package/dist/cjs/transform/callback.d.ts.map +1 -1
  19. package/dist/cjs/transform/callback.js +305 -230
  20. package/dist/cjs/transform/callback.js.map +1 -1
  21. package/dist/cjs/transform/preset.d.ts +5 -3
  22. package/dist/cjs/transform/preset.d.ts.map +1 -1
  23. package/dist/cjs/transform/preset.js +19 -6
  24. package/dist/cjs/transform/preset.js.map +1 -1
  25. package/dist/cjs/transform/promise.d.ts +3 -0
  26. package/dist/cjs/transform/promise.d.ts.map +1 -1
  27. package/dist/cjs/transform/promise.js +105 -113
  28. package/dist/cjs/transform/promise.js.map +1 -1
  29. package/dist/cjs/transform/utils.d.ts +4 -0
  30. package/dist/cjs/transform/utils.d.ts.map +1 -0
  31. package/dist/cjs/transform/utils.js +27 -0
  32. package/dist/cjs/transform/utils.js.map +1 -0
  33. package/dist/esm/index.d.ts +1 -1
  34. package/dist/esm/index.d.ts.map +1 -1
  35. package/dist/esm/index.js +1 -1
  36. package/dist/esm/index.js.map +1 -1
  37. package/dist/esm/internals/contexts.d.ts +2 -1
  38. package/dist/esm/internals/contexts.d.ts.map +1 -1
  39. package/dist/esm/internals/contexts.js +24 -4
  40. package/dist/esm/internals/contexts.js.map +1 -1
  41. package/dist/esm/internals/core-api.d.ts.map +1 -1
  42. package/dist/esm/internals/core-api.js +2 -7
  43. package/dist/esm/internals/core-api.js.map +1 -1
  44. package/dist/esm/transform/async.d.ts +2 -0
  45. package/dist/esm/transform/async.d.ts.map +1 -1
  46. package/dist/esm/transform/async.js +80 -90
  47. package/dist/esm/transform/async.js.map +1 -1
  48. package/dist/esm/transform/callback.d.ts +3 -0
  49. package/dist/esm/transform/callback.d.ts.map +1 -1
  50. package/dist/esm/transform/callback.js +305 -230
  51. package/dist/esm/transform/callback.js.map +1 -1
  52. package/dist/esm/transform/preset.d.ts +5 -3
  53. package/dist/esm/transform/preset.d.ts.map +1 -1
  54. package/dist/esm/transform/preset.js +19 -6
  55. package/dist/esm/transform/preset.js.map +1 -1
  56. package/dist/esm/transform/promise.d.ts +3 -0
  57. package/dist/esm/transform/promise.d.ts.map +1 -1
  58. package/dist/esm/transform/promise.js +105 -113
  59. package/dist/esm/transform/promise.js.map +1 -1
  60. package/dist/esm/transform/utils.d.ts +4 -0
  61. package/dist/esm/transform/utils.d.ts.map +1 -0
  62. package/dist/esm/transform/utils.js +22 -0
  63. package/dist/esm/transform/utils.js.map +1 -0
  64. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # signalium
2
2
 
3
+ ## 2.0.3
4
+
5
+ ### Patch Changes
6
+
7
+ - aa56f71: Add additional transform options and improve transform performance
8
+
9
+ ## 2.0.2
10
+
11
+ ### Patch Changes
12
+
13
+ - 9248c66: Add setScopeOwner API. This was an oversight from the v2 release, it's necessary
14
+ for reactiveMethod to work correctly on nested context objects. The API is a bit
15
+ clunky, it's likely to change in the future as we refine the context API and add
16
+ some better abstractions for dependency-injection like features.
17
+
3
18
  ## 2.0.1
4
19
 
5
20
  ### Patch Changes
@@ -3,5 +3,5 @@ export { reactive, reactiveMethod, task, relay, watcher } from './internals/core
3
3
  export { signal, notifier } from './internals/signal.js';
4
4
  export { ReactivePromise } from './internals/async.js';
5
5
  export { callback } from './internals/callback.js';
6
- export { context, getContext, withContexts, setGlobalContexts, clearGlobalContexts } from './internals/contexts.js';
6
+ export { context, getContext, withContexts, setGlobalContexts, clearGlobalContexts, setScopeOwner, } from './internals/contexts.js';
7
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,YAAY,CAAC;AAEhC,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAEzF,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,YAAY,CAAC;AAEhC,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAEzF,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD,OAAO,EACL,OAAO,EACP,UAAU,EACV,YAAY,EACZ,iBAAiB,EACjB,mBAAmB,EACnB,aAAa,GACd,MAAM,yBAAyB,CAAC"}
package/dist/cjs/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.clearGlobalContexts = exports.setGlobalContexts = exports.withContexts = exports.getContext = exports.context = exports.callback = exports.ReactivePromise = exports.notifier = exports.signal = exports.watcher = exports.relay = exports.task = exports.reactiveMethod = exports.reactive = void 0;
3
+ exports.setScopeOwner = exports.clearGlobalContexts = exports.setGlobalContexts = exports.withContexts = exports.getContext = exports.context = exports.callback = exports.ReactivePromise = exports.notifier = exports.signal = exports.watcher = exports.relay = exports.task = exports.reactiveMethod = exports.reactive = void 0;
4
4
  var core_api_js_1 = require("./internals/core-api.js");
5
5
  Object.defineProperty(exports, "reactive", { enumerable: true, get: function () { return core_api_js_1.reactive; } });
6
6
  Object.defineProperty(exports, "reactiveMethod", { enumerable: true, get: function () { return core_api_js_1.reactiveMethod; } });
@@ -20,4 +20,5 @@ Object.defineProperty(exports, "getContext", { enumerable: true, get: function (
20
20
  Object.defineProperty(exports, "withContexts", { enumerable: true, get: function () { return contexts_js_1.withContexts; } });
21
21
  Object.defineProperty(exports, "setGlobalContexts", { enumerable: true, get: function () { return contexts_js_1.setGlobalContexts; } });
22
22
  Object.defineProperty(exports, "clearGlobalContexts", { enumerable: true, get: function () { return contexts_js_1.clearGlobalContexts; } });
23
+ Object.defineProperty(exports, "setScopeOwner", { enumerable: true, get: function () { return contexts_js_1.setScopeOwner; } });
23
24
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAEA,uDAAyF;AAAhF,uGAAA,QAAQ,OAAA;AAAE,6GAAA,cAAc,OAAA;AAAE,mGAAA,IAAI,OAAA;AAAE,oGAAA,KAAK,OAAA;AAAE,sGAAA,OAAO,OAAA;AAEvD,mDAAyD;AAAhD,mGAAA,MAAM,OAAA;AAAE,qGAAA,QAAQ,OAAA;AAEzB,iDAAuD;AAA9C,2GAAA,eAAe,OAAA;AAExB,uDAAmD;AAA1C,uGAAA,QAAQ,OAAA;AAEjB,uDAAoH;AAA3G,sGAAA,OAAO,OAAA;AAAE,yGAAA,UAAU,OAAA;AAAE,2GAAA,YAAY,OAAA;AAAE,gHAAA,iBAAiB,OAAA;AAAE,kHAAA,mBAAmB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAEA,uDAAyF;AAAhF,uGAAA,QAAQ,OAAA;AAAE,6GAAA,cAAc,OAAA;AAAE,mGAAA,IAAI,OAAA;AAAE,oGAAA,KAAK,OAAA;AAAE,sGAAA,OAAO,OAAA;AAEvD,mDAAyD;AAAhD,mGAAA,MAAM,OAAA;AAAE,qGAAA,QAAQ,OAAA;AAEzB,iDAAuD;AAA9C,2GAAA,eAAe,OAAA;AAExB,uDAAmD;AAA1C,uGAAA,QAAQ,OAAA;AAEjB,uDAOiC;AAN/B,sGAAA,OAAO,OAAA;AACP,yGAAA,UAAU,OAAA;AACV,2GAAA,YAAY,OAAA;AACZ,gHAAA,iBAAiB,OAAA;AACjB,kHAAA,mBAAmB,OAAA;AACnB,4GAAA,aAAa,OAAA"}
@@ -36,6 +36,7 @@ export declare const clearGlobalContexts: () => void;
36
36
  export declare let CURRENT_SCOPE: SignalScope | undefined;
37
37
  export declare const setCurrentScope: (scope: SignalScope | undefined) => void;
38
38
  export declare const getCurrentScope: () => SignalScope;
39
- export declare const getOwner: (owner: object) => SignalScope | undefined;
39
+ export declare const setScopeOwner: (obj: object, ownerObject: object) => void;
40
+ export declare const getScopeOwner: (obj: object) => SignalScope;
40
41
  export declare function forceGc(_signal: object): void;
41
42
  //# sourceMappingURL=contexts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"contexts.d.ts","sourceRoot":"","sources":["../../../src/internals/contexts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAA0B,MAAM,eAAe,CAAC;AAO/F,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI;IACvB,YAAY,EAAE,CAAC,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,OAAO,EAAE,IAAI;KAC5C,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC/C,CAAC;AAIF,qBAAa,WAAW,CAAC,CAAC;aAKN,YAAY,EAAE,CAAC;IAJjC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;gBAGH,YAAY,EAAE,CAAC,EAC/B,IAAI,CAAC,EAAE,MAAM;CAKhB;AAED,eAAO,MAAM,OAAO,GAAI,CAAC,gBAAgB,CAAC,gBAAgB,MAAM,KAAG,OAAO,CAAC,CAAC,CAE3E,CAAC;AAEF,wBAAgB,YAAY,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAUlG;AAED,eAAO,MAAM,UAAU,GAAI,CAAC,WAAW,OAAO,CAAC,CAAC,CAAC,KAAG,CAUnD,CAAC;AAIF,qBAAa,WAAW;IACtB,OAAO,CAAC,WAAW,CAAC,CAAc;gBAEtB,QAAQ,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,WAAW;IAO7E,OAAO,CAAC,QAAQ,CAA0B;IAC1C,OAAO,CAAC,QAAQ,CAAkC;IAClD,OAAO,CAAC,OAAO,CAAiD;IAChE,OAAO,CAAC,YAAY,CAAyC;IAE7D,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE;IAYvD,QAAQ,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE;IAapD,UAAU,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS;IAMlD,GAAG,CAAC,CAAC,EAAE,IAAI,SAAS,OAAO,EAAE,EAAE,GAAG,EAAE,oBAAoB,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,GAAG,gBAAgB,CAAC,CAAC,EAAE,IAAI,CAAC;IAazG,SAAS,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC;IAO5C,YAAY,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC;IAI/C,OAAO,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC;IAI1C,OAAO;CASR;AAED,eAAO,IAAI,YAAY,aAAsB,CAAC;AAE9C,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAE7F;AAED,eAAO,MAAM,mBAAmB,YAE/B,CAAC;AAEF,eAAO,IAAI,aAAa,EAAE,WAAW,GAAG,SAAS,CAAC;AAElD,eAAO,MAAM,eAAe,UAAW,WAAW,GAAG,SAAS,SAE7D,CAAC;AAEF,eAAO,MAAM,eAAe,QAAO,WAElC,CAAC;AAMF,eAAO,MAAM,QAAQ,UAAW,MAAM,KAAG,WAAW,GAAG,SAEtD,CAAC;AAIF,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,QAGtC"}
1
+ {"version":3,"file":"contexts.d.ts","sourceRoot":"","sources":["../../../src/internals/contexts.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getOwner = exports.getCurrentScope = exports.setCurrentScope = exports.CURRENT_SCOPE = exports.clearGlobalContexts = exports.GLOBAL_SCOPE = exports.SignalScope = exports.getContext = exports.context = exports.ContextImpl = void 0;
3
+ exports.getScopeOwner = exports.setScopeOwner = exports.getCurrentScope = exports.setCurrentScope = exports.CURRENT_SCOPE = exports.clearGlobalContexts = exports.GLOBAL_SCOPE = exports.SignalScope = exports.getContext = exports.context = exports.ContextImpl = void 0;
4
4
  exports.withContexts = withContexts;
5
5
  exports.setGlobalContexts = setGlobalContexts;
6
6
  exports.forceGc = forceGc;
@@ -59,7 +59,7 @@ class SignalScope {
59
59
  for (const [context, value] of contexts) {
60
60
  this.contexts[context._key] = value;
61
61
  if (typeof value === 'object' && value !== null) {
62
- OWNER_SCOPE_MAP.set(value, this);
62
+ SCOPE_OWNER_MAP.set(value, this);
63
63
  }
64
64
  }
65
65
  this.signals.clear();
@@ -126,11 +126,32 @@ const getCurrentScope = () => {
126
126
  };
127
127
  exports.getCurrentScope = getCurrentScope;
128
128
  // ======= Owner =======
129
- const OWNER_SCOPE_MAP = new Map();
130
- const getOwner = (owner) => {
131
- return OWNER_SCOPE_MAP.get(owner);
129
+ const SCOPE_OWNER_MAP = new WeakMap();
130
+ const OWNER_CHILD_MAP = new WeakMap();
131
+ const setScopeOwner = (obj, ownerObject) => {
132
+ if (OWNER_CHILD_MAP.has(obj)) {
133
+ throw new Error('Object already has a scope owner, owners cannot be dynamic');
134
+ }
135
+ OWNER_CHILD_MAP.set(obj, ownerObject);
136
+ };
137
+ exports.setScopeOwner = setScopeOwner;
138
+ const reifyScopeOwner = (obj) => {
139
+ const owner = OWNER_CHILD_MAP.get(obj);
140
+ if (!owner) {
141
+ throw new Error('Object has no scope owner, reactiveMethod must be attached to an owned context object');
142
+ }
143
+ const scope = SCOPE_OWNER_MAP.get(owner) ?? reifyScopeOwner(owner);
144
+ SCOPE_OWNER_MAP.set(obj, scope);
145
+ return scope;
146
+ };
147
+ const getScopeOwner = (obj) => {
148
+ let scope = SCOPE_OWNER_MAP.get(obj);
149
+ if (!scope) {
150
+ scope = reifyScopeOwner(obj);
151
+ }
152
+ return scope;
132
153
  };
133
- exports.getOwner = getOwner;
154
+ exports.getScopeOwner = getScopeOwner;
134
155
  // ======= Test Helper =======
135
156
  function forceGc(_signal) {
136
157
  const signal = _signal;
@@ -1 +1 @@
1
- {"version":3,"file":"contexts.js","sourceRoot":"","sources":["../../../src/internals/contexts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contexts.js","sourceRoot":"","sources":["../../../src/internals/contexts.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"core-api.d.ts","sourceRoot":"","sources":["../../../src/internals/core-api.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,aAAa,EACb,OAAO,EACP,eAAe,EACf,aAAa,EACb,KAAK,4BAA4B,EACjC,aAAa,EACb,UAAU,EACX,MAAM,aAAa,CAAC;AAErB,OAAO,EAA0B,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAE7E,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAIpC,eAAO,MAAM,sBAAsB,2BAAgC,GAAG,KAAK,GAAG,kCAAoC,CAAC;AAEnH,wBAAgB,0BAA0B,CAAC,CAAC,EAAE,IAAI,SAAS,OAAO,EAAE,EAClE,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,CAAC,EACxB,IAAI,CAAC,EAAE,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,GAC9B,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CA2BtE;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,IAAI,SAAS,OAAO,EAAE,EAChD,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,CAAC,EACxB,IAAI,CAAC,EAAE,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,GAC9B,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAErB;AAED,eAAO,MAAM,cAAc,GAAI,CAAC,EAAE,IAAI,SAAS,OAAO,EAAE,SAC/C,MAAM,MACT,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,CAAC,SACjB,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,KAC9B,UAAU,CAAC,CAAC,EAAE,IAAI,CA0BpB,CAAC;AAEF,wBAAgB,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,4BAA4B,CAAC,CAAC,CAAC,CAI7G;AAED,eAAO,MAAM,IAAI,GAAI,CAAC,EAAE,IAAI,SAAS,OAAO,EAAE,MACxC,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,SAC1B,aAAa,CAAC,CAAC,CAAC,KACtB,YAAY,CAAC,CAAC,EAAE,IAAI,CAItB,CAAC;AAEF,wBAAgB,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAcpH"}
1
+ {"version":3,"file":"core-api.d.ts","sourceRoot":"","sources":["../../../src/internals/core-api.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,aAAa,EACb,OAAO,EACP,eAAe,EACf,aAAa,EACb,KAAK,4BAA4B,EACjC,aAAa,EACb,UAAU,EACX,MAAM,aAAa,CAAC;AAErB,OAAO,EAA0B,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAE7E,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAIpC,eAAO,MAAM,sBAAsB,2BAAgC,GAAG,KAAK,GAAG,kCAAoC,CAAC;AAEnH,wBAAgB,0BAA0B,CAAC,CAAC,EAAE,IAAI,SAAS,OAAO,EAAE,EAClE,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,CAAC,EACxB,IAAI,CAAC,EAAE,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,GAC9B,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CA2BtE;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,IAAI,SAAS,OAAO,EAAE,EAChD,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,CAAC,EACxB,IAAI,CAAC,EAAE,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,GAC9B,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAErB;AAED,eAAO,MAAM,cAAc,GAAI,CAAC,EAAE,IAAI,SAAS,OAAO,EAAE,SAC/C,MAAM,MACT,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,CAAC,SACjB,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,KAC9B,UAAU,CAAC,CAAC,EAAE,IAAI,CAkBpB,CAAC;AAEF,wBAAgB,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,4BAA4B,CAAC,CAAC,CAAC,CAI7G;AAED,eAAO,MAAM,IAAI,GAAI,CAAC,EAAE,IAAI,SAAS,OAAO,EAAE,MACxC,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,SAC1B,aAAa,CAAC,CAAC,CAAC,KACtB,YAAY,CAAC,CAAC,EAAE,IAAI,CAItB,CAAC;AAEF,wBAAgB,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAcpH"}
@@ -47,12 +47,7 @@ const reactiveMethod = (owner, fn, opts) => {
47
47
  tracer: undefined,
48
48
  };
49
49
  const reactiveFn = (...args) => {
50
- const scope = (0, contexts_js_1.getOwner)(owner);
51
- if (scope === undefined) {
52
- throw new Error('reactiveMethods must be attached to an owned context object');
53
- }
54
- const signal = scope.get(def, args);
55
- return signal.value;
50
+ return (0, contexts_js_1.getScopeOwner)(owner).get(def, args).value;
56
51
  };
57
52
  exports.DERIVED_DEFINITION_MAP.set(reactiveFn, [reactiveFn, def]);
58
53
  return reactiveFn;
@@ -1 +1 @@
1
- {"version":3,"file":"core-api.js","sourceRoot":"","sources":["../../../src/internals/core-api.ts"],"names":[],"mappings":";;;AAmBA,gEA8BC;AAED,4BAKC;AAkCD,sBAIC;AAWD,0BAcC;AA7GD,+CAAuE;AACvE,+CAA6E;AAC7E,yCAA8F;AAE9F,iDAA+C;AAE/C,sEAAsE;AACzD,QAAA,sBAAsB,GAAG,IAAI,GAAG,EAAqE,CAAC;AAEnH,SAAgB,0BAA0B,CACxC,EAAwB,EACxB,IAA+B;IAE/B,IAAI,QAAQ,GAAG,8BAAsB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAE9C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,GAAG,GAAkC;YACzC,OAAO,EAAE,EAAE;YACX,MAAM,EAAE,IAAA,sBAAU,EAAC,IAAI,EAAE,MAAM,CAAC;YAChC,OAAO,EAAE,KAAK;YACd,EAAE,EAAE,IAAI,EAAE,EAAE;YACZ,IAAI,EAAE,IAAI,EAAE,IAAI;YAChB,QAAQ,EAAE,IAAI,EAAE,QAAQ;YACxB,MAAM,EAAE,SAAS;SAClB,CAAC;QAEF,MAAM,UAAU,GAAwB,CAAC,GAAG,IAAI,EAAE,EAAE;YAClD,MAAM,KAAK,GAAG,IAAA,6BAAe,GAAE,CAAC;YAChC,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAW,CAAC,CAAC;YAE3C,OAAO,MAAM,CAAC,KAAK,CAAC;QACtB,CAAC,CAAC;QAEF,QAAQ,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QAE7B,8BAAsB,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAgB,QAAQ,CACtB,EAAwB,EACxB,IAA+B;IAE/B,OAAO,0BAA0B,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACjD,CAAC;AAEM,MAAM,cAAc,GAAG,CAC5B,KAAa,EACb,EAAwB,EACxB,IAA+B,EACV,EAAE;IACvB,MAAM,GAAG,GAAkC;QACzC,OAAO,EAAE,EAAE;QACX,MAAM,EAAE,IAAA,sBAAU,EAAC,IAAI,EAAE,MAAM,CAAC;QAChC,OAAO,EAAE,KAAK;QACd,EAAE,EAAE,IAAI,EAAE,EAAE;QACZ,IAAI,EAAE,IAAI,EAAE,IAAI;QAChB,QAAQ,EAAE,IAAI,EAAE,QAAQ;QACxB,MAAM,EAAE,SAAS;KAClB,CAAC;IAEF,MAAM,UAAU,GAAwB,CAAC,GAAG,IAAI,EAAE,EAAE;QAClD,MAAM,KAAK,GAAG,IAAA,sBAAQ,EAAC,KAAK,CAAC,CAAC;QAE9B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;QACjF,CAAC;QAED,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAW,CAAC,CAAC;QAE3C,OAAO,MAAM,CAAC,KAAK,CAAC;IACtB,CAAC,CAAC;IAEF,8BAAsB,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC;IAE1D,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AA9BW,QAAA,cAAc,kBA8BzB;AAEF,SAAgB,KAAK,CAAI,QAA0B,EAAE,IAAuB;IAC1E,MAAM,KAAK,GAAG,IAAA,6BAAe,GAAE,CAAC;IAEhC,OAAO,IAAA,sBAAW,EAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAoC,CAAC;AAC/E,CAAC;AAEM,MAAM,IAAI,GAAG,CAClB,EAAiC,EACjC,IAAuB,EACA,EAAE;IACzB,MAAM,KAAK,GAAG,IAAA,6BAAe,GAAE,CAAC;IAEhC,OAAO,IAAA,qBAAU,EAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AACrC,CAAC,CAAC;AAPW,QAAA,IAAI,QAOf;AAEF,SAAgB,OAAO,CAAI,EAAW,EAAE,IAAgE;IACtG,MAAM,GAAG,GAAuC;QAC9C,OAAO,EAAE,EAAE;QACX,MAAM,EAAE,IAAA,sBAAU,EAAC,IAAI,EAAE,MAAM,CAAC;QAChC,OAAO,EAAE,KAAK;QACd,EAAE,EAAE,IAAI,EAAE,EAAE;QACZ,IAAI,EAAE,IAAI,EAAE,IAAI;QAChB,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE,IAAI,EAAE,MAAM;KACrB,CAAC;IAEF,MAAM,KAAK,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,yBAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAA,6BAAe,GAAE,CAAC;IAEtE,OAAO,IAAA,oCAAsB,EAAC,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;AAClE,CAAC"}
1
+ {"version":3,"file":"core-api.js","sourceRoot":"","sources":["../../../src/internals/core-api.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  import type { PluginObj } from '@babel/core';
2
2
  export interface SignaliumAsyncTransformOptions {
3
3
  transformedImports: [string, string | RegExp][];
4
+ importPaths?: (string | RegExp)[];
4
5
  }
6
+ export declare function signaliumAsyncTransform(api: any, opts?: SignaliumAsyncTransformOptions): PluginObj;
5
7
  export declare function signaliumAsyncTransform(opts?: SignaliumAsyncTransformOptions): (api: any) => PluginObj;
6
8
  //# sourceMappingURL=async.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"async.d.ts","sourceRoot":"","sources":["../../../src/transform/async.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAY,SAAS,EAAc,MAAM,aAAa,CAAC;AAEnE,MAAM,WAAW,8BAA8B;IAC7C,kBAAkB,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;CACjD;AAED,wBAAgB,uBAAuB,CAAC,IAAI,CAAC,EAAE,8BAA8B,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK,SAAS,CAqHtG"}
1
+ {"version":3,"file":"async.d.ts","sourceRoot":"","sources":["../../../src/transform/async.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAY,SAAS,EAAc,MAAM,aAAa,CAAC;AAGnE,MAAM,WAAW,8BAA8B;IAC7C,kBAAkB,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAChD,WAAW,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;CACnC;AAiGD,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,8BAA8B,GAAG,SAAS,CAAC;AACpG,wBAAgB,uBAAuB,CAAC,IAAI,CAAC,EAAE,8BAA8B,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK,SAAS,CAAC"}
@@ -1,105 +1,95 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.signaliumAsyncTransform = signaliumAsyncTransform;
4
- function signaliumAsyncTransform(opts) {
5
- const transformedImports = {
6
- callback: ['signalium'],
7
- reactive: ['signalium'],
8
- reactiveMethod: ['signalium'],
9
- relay: ['signalium'],
10
- task: ['signalium'],
4
+ const utils_js_1 = require("./utils.js");
5
+ function createSignaliumAsyncTransform(api, opts) {
6
+ const transformedImports = (0, utils_js_1.createTransformedImports)([
7
+ ['callback', ['signalium']],
8
+ ['reactive', ['signalium']],
9
+ ['reactiveMethod', ['signalium']],
10
+ ['relay', ['signalium']],
11
+ ['task', ['signalium']],
12
+ ], opts?.transformedImports, opts?.importPaths);
13
+ const t = api.types;
14
+ const isTrackedImport = (localName, path) => {
15
+ const binding = path.scope.getBinding(localName);
16
+ if (!binding || !t.isImportSpecifier(binding.path.node))
17
+ return false;
18
+ const importSpec = binding.path.node;
19
+ const importedName = importSpec.imported.name;
20
+ const importDecl = binding.path.parent;
21
+ if (!t.isImportDeclaration(importDecl))
22
+ return false;
23
+ const importPaths = transformedImports.get(importedName);
24
+ if (!importPaths)
25
+ return false;
26
+ return importPaths.some(p => typeof p === 'string' ? importDecl.source.value === p : p.test(importDecl.source.value));
11
27
  };
12
- for (const [name, path] of opts?.transformedImports ?? []) {
13
- const existing = transformedImports[name];
14
- if (existing) {
15
- existing.push(path);
16
- }
17
- else {
18
- transformedImports[name] = [path];
19
- }
20
- }
21
- return api => {
22
- const t = api.types;
23
- const isReactiveCall = (path) => {
24
- if (!t.isCallExpression(path.node))
25
- return false;
26
- const callee = path.node.callee;
27
- if (!t.isIdentifier(callee))
28
- return false;
29
- // Resolve binding for the local identifier (may be aliased)
30
- const binding = path.scope.getBinding(callee.name);
31
- if (!binding || !t.isImportSpecifier(binding.path.node))
32
- return false;
33
- const importSpec = binding.path.node;
34
- const imported = importSpec.imported.name;
35
- const importDecl = binding.path.parent;
36
- if (!t.isImportDeclaration(importDecl))
37
- return false;
38
- const importPaths = transformedImports[imported];
39
- if (!importPaths)
40
- return false;
41
- return importPaths.some(p => typeof p === 'string' ? importDecl.source.value === p : p.test(importDecl.source.value));
42
- };
43
- const isWithinTrackedCall = (path) => {
44
- let current = path.parentPath;
45
- while (current) {
46
- if (current.isCallExpression() && isReactiveCall(current))
47
- return true;
48
- current = current.parentPath;
49
- }
28
+ const isReactiveCall = (path) => {
29
+ if (!t.isCallExpression(path.node))
50
30
  return false;
51
- };
52
- function convertReactiveToGenerator(path) {
53
- // Only transform if within a tracked call (reactive/task/relay/callback)
54
- if (!isWithinTrackedCall(path))
55
- return;
56
- if (!path.node.async)
57
- return;
58
- // Transform all await expressions to yields
31
+ const callee = path.node.callee;
32
+ if (!t.isIdentifier(callee))
33
+ return false;
34
+ return isTrackedImport(callee.name, path);
35
+ };
36
+ const isWithinTrackedCall = (path) => {
37
+ let current = path.parentPath;
38
+ while (current) {
39
+ if (current.isCallExpression() && isReactiveCall(current))
40
+ return true;
41
+ current = current.parentPath;
42
+ }
43
+ return false;
44
+ };
45
+ function convertReactiveToGenerator(path) {
46
+ if (!isWithinTrackedCall(path))
47
+ return;
48
+ if (!path.node.async)
49
+ return;
50
+ path.traverse({
51
+ AwaitExpression(awaitPath) {
52
+ const funcParent = awaitPath.getFunctionParent();
53
+ if (funcParent?.node !== path.node)
54
+ return;
55
+ awaitPath.replaceWith(t.yieldExpression(awaitPath.node.argument));
56
+ },
57
+ });
58
+ path.node.async = false;
59
+ if (t.isArrowFunctionExpression(path.node)) {
60
+ let hasThis = false;
59
61
  path.traverse({
60
- AwaitExpression(awaitPath) {
61
- const funcParent = awaitPath.getFunctionParent();
62
- if (funcParent?.node !== path.node)
63
- return;
64
- awaitPath.replaceWith(t.yieldExpression(awaitPath.node.argument));
62
+ ThisExpression() {
63
+ hasThis = true;
65
64
  },
66
65
  });
67
- // Remove async keyword
68
- path.node.async = false;
69
- if (t.isArrowFunctionExpression(path.node)) {
70
- // Convert arrow function to regular function expression
71
- let hasThis = false;
72
- // Scan for this keywords
73
- path.traverse({
74
- ThisExpression() {
75
- hasThis = true;
76
- },
77
- });
78
- const functionBody = t.isBlockStatement(path.node.body)
79
- ? path.node.body
80
- : t.blockStatement([t.returnStatement(path.node.body)]);
81
- const newFunction = t.functionExpression(null, path.node.params, functionBody, true, // generator
82
- false);
83
- // If we found 'this' usage, wrap in bind call
84
- if (hasThis) {
85
- path.replaceWith(t.callExpression(t.memberExpression(newFunction, t.identifier('bind')), [t.thisExpression()]));
86
- }
87
- else {
88
- path.replaceWith(newFunction);
89
- }
66
+ const functionBody = t.isBlockStatement(path.node.body)
67
+ ? path.node.body
68
+ : t.blockStatement([t.returnStatement(path.node.body)]);
69
+ const newFunction = t.functionExpression(null, path.node.params, functionBody, true, false);
70
+ if (hasThis) {
71
+ path.replaceWith(t.callExpression(t.memberExpression(newFunction, t.identifier('bind')), [t.thisExpression()]));
90
72
  }
91
73
  else {
92
- // Regular function - just set generator flag
93
- path.node.generator = true;
74
+ path.replaceWith(newFunction);
94
75
  }
95
76
  }
96
- return {
97
- name: 'transform-reactive-async',
98
- visitor: {
99
- FunctionExpression: convertReactiveToGenerator,
100
- ArrowFunctionExpression: convertReactiveToGenerator,
101
- },
102
- };
77
+ else {
78
+ path.node.generator = true;
79
+ }
80
+ }
81
+ return {
82
+ name: 'signalium-transform-reactive-async',
83
+ visitor: {
84
+ FunctionExpression: convertReactiveToGenerator,
85
+ ArrowFunctionExpression: convertReactiveToGenerator,
86
+ },
103
87
  };
104
88
  }
89
+ function signaliumAsyncTransform(apiOrOpts, maybeOpts) {
90
+ if ((0, utils_js_1.isBabelApi)(apiOrOpts)) {
91
+ return createSignaliumAsyncTransform(apiOrOpts, maybeOpts);
92
+ }
93
+ return (api) => createSignaliumAsyncTransform(api, apiOrOpts);
94
+ }
105
95
  //# sourceMappingURL=async.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"async.js","sourceRoot":"","sources":["../../../src/transform/async.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"async.js","sourceRoot":"","sources":["../../../src/transform/async.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,9 @@
1
1
  import type { PluginObj } from '@babel/core';
2
2
  export interface SignaliumCallbackTransformOptions {
3
3
  transformedImports: [string, string | RegExp][];
4
+ importPaths?: (string | RegExp)[];
5
+ callbackImportPath?: string;
4
6
  }
7
+ export declare function signaliumCallbackTransform(api: any, opts?: SignaliumCallbackTransformOptions): PluginObj;
5
8
  export declare function signaliumCallbackTransform(opts?: SignaliumCallbackTransformOptions): (api: any) => PluginObj;
6
9
  //# sourceMappingURL=callback.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"callback.d.ts","sourceRoot":"","sources":["../../../src/transform/callback.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAY,SAAS,EAAc,MAAM,aAAa,CAAC;AAEnE,MAAM,WAAW,iCAAiC;IAChD,kBAAkB,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;CACjD;AAED,wBAAgB,0BAA0B,CAAC,IAAI,CAAC,EAAE,iCAAiC,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK,SAAS,CAqR5G"}
1
+ {"version":3,"file":"callback.d.ts","sourceRoot":"","sources":["../../../src/transform/callback.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAuB,SAAS,EAAc,MAAM,aAAa,CAAC;AAG9E,MAAM,WAAW,iCAAiC;IAChD,kBAAkB,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAChD,WAAW,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAClC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAiWD,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,iCAAiC,GAAG,SAAS,CAAC;AAC1G,wBAAgB,0BAA0B,CAAC,IAAI,CAAC,EAAE,iCAAiC,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK,SAAS,CAAC"}