effectable 1.0.0-canary.2 → 1.0.0

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 (58) hide show
  1. package/README.md +3 -9
  2. package/build/bootstrap/bootstrap.d.ts.map +1 -1
  3. package/build/bootstrap/bootstrap.js +6 -12
  4. package/build/bootstrap/bootstrap.js.map +1 -1
  5. package/build/bootstrap/types.d.ts +1 -7
  6. package/build/bootstrap/types.d.ts.map +1 -1
  7. package/build/component/GraphRuntime.d.ts +18 -226
  8. package/build/component/GraphRuntime.d.ts.map +1 -1
  9. package/build/component/GraphRuntime.js +211 -944
  10. package/build/component/GraphRuntime.js.map +1 -1
  11. package/build/component/context.d.ts +11 -3
  12. package/build/component/context.d.ts.map +1 -1
  13. package/build/component/context.js +23 -24
  14. package/build/component/context.js.map +1 -1
  15. package/build/component/h.d.ts +6 -14
  16. package/build/component/h.d.ts.map +1 -1
  17. package/build/component/h.js +1 -19
  18. package/build/component/h.js.map +1 -1
  19. package/build/component/refs.d.ts +5 -7
  20. package/build/component/refs.d.ts.map +1 -1
  21. package/build/component/refs.js +22 -45
  22. package/build/component/refs.js.map +1 -1
  23. package/build/component/types.d.ts +5 -16
  24. package/build/component/types.d.ts.map +1 -1
  25. package/build/component/types.js.map +1 -1
  26. package/build/connect/connect.d.ts.map +1 -1
  27. package/build/connect/connect.js +12 -3
  28. package/build/connect/connect.js.map +1 -1
  29. package/build/connect/types.d.ts +2 -2
  30. package/build/connect/types.d.ts.map +1 -1
  31. package/build/runtime/BusDecorators.d.ts +0 -6
  32. package/build/runtime/BusDecorators.d.ts.map +1 -1
  33. package/build/runtime/BusDecorators.js +56 -117
  34. package/build/runtime/BusDecorators.js.map +1 -1
  35. package/build/runtime/CommandBus.d.ts +1 -1
  36. package/build/runtime/CommandBus.d.ts.map +1 -1
  37. package/build/runtime/CommandBus.js +3 -6
  38. package/build/runtime/CommandBus.js.map +1 -1
  39. package/build/runtime/HandleRegistry.d.ts +1 -2
  40. package/build/runtime/HandleRegistry.d.ts.map +1 -1
  41. package/build/runtime/HandleRegistry.js +7 -38
  42. package/build/runtime/HandleRegistry.js.map +1 -1
  43. package/build/runtime/QueryBus.d.ts +1 -1
  44. package/build/runtime/QueryBus.d.ts.map +1 -1
  45. package/build/runtime/QueryBus.js +3 -6
  46. package/build/runtime/QueryBus.js.map +1 -1
  47. package/build/store/createStore.d.ts +2 -2
  48. package/build/store/createStore.d.ts.map +1 -1
  49. package/build/store/createStore.js +4 -31
  50. package/build/store/createStore.js.map +1 -1
  51. package/build/store/middleware.d.ts +1 -16
  52. package/build/store/middleware.d.ts.map +1 -1
  53. package/build/store/middleware.js +15 -16
  54. package/build/store/middleware.js.map +1 -1
  55. package/build/store/types.d.ts +4 -11
  56. package/build/store/types.d.ts.map +1 -1
  57. package/build/store/types.js.map +1 -1
  58. package/package.json +3 -10
@@ -62,7 +62,7 @@ function UseImperativeHandle() {
62
62
  return;
63
63
  }
64
64
  const ctor = target.constructor;
65
- const current = Reflect.getOwnMetadata(USE_IMPERATIVE_HANDLE_METADATA_KEY, ctor);
65
+ const current = Reflect.getMetadata(USE_IMPERATIVE_HANDLE_METADATA_KEY, ctor);
66
66
  const next = typeof current === 'undefined'
67
67
  ? new Set()
68
68
  : new Set(current);
@@ -89,21 +89,6 @@ function UseRef() {
89
89
  */
90
90
  class HandleRegistry {
91
91
  handles = new Map();
92
- getInheritedMetadata(ctor, metaKey) {
93
- let current = ctor;
94
- while (current != null && typeof current === 'function') {
95
- const value = Reflect.getOwnMetadata(metaKey, current);
96
- if (value !== undefined) {
97
- return value;
98
- }
99
- const next = Object.getPrototypeOf(current);
100
- if (typeof next !== 'function' || next === null) {
101
- break;
102
- }
103
- current = next;
104
- }
105
- return undefined;
106
- }
107
92
  buildRefHandle(instance) {
108
93
  const ctor = instance !== null && typeof instance === 'object'
109
94
  ? instance.constructor
@@ -111,7 +96,7 @@ class HandleRegistry {
111
96
  if (typeof ctor !== 'function') {
112
97
  throw new Error('HandleRegistry.autoRegister: invalid instance');
113
98
  }
114
- const refPropertyKey = this.getInheritedMetadata(ctor, USE_REF_PROPERTY_METADATA_KEY);
99
+ const refPropertyKey = Reflect.getMetadata(USE_REF_PROPERTY_METADATA_KEY, ctor);
115
100
  if (typeof refPropertyKey === 'undefined') {
116
101
  throw new Error('HandleRegistry.autoRegister: missing ref property metadata (@UseRef)');
117
102
  }
@@ -119,22 +104,8 @@ class HandleRegistry {
119
104
  if (typeof ref !== 'object' || ref === null) {
120
105
  throw new Error('HandleRegistry.autoRegister: ref property is not an object');
121
106
  }
122
- const methodNames = new Set();
123
- let current = ctor;
124
- while (current != null && typeof current === 'function') {
125
- const ownMethods = Reflect.getOwnMetadata(USE_IMPERATIVE_HANDLE_METADATA_KEY, current);
126
- if (ownMethods !== undefined) {
127
- for (const methodName of ownMethods) {
128
- methodNames.add(methodName);
129
- }
130
- }
131
- const next = Object.getPrototypeOf(current);
132
- if (typeof next !== 'function' || next === null) {
133
- break;
134
- }
135
- current = next;
136
- }
137
- if (methodNames.size === 0) {
107
+ const methodNames = Reflect.getMetadata(USE_IMPERATIVE_HANDLE_METADATA_KEY, ctor);
108
+ if (typeof methodNames === 'undefined' || methodNames.size === 0) {
138
109
  throw new Error('HandleRegistry.autoRegister: no @UseImperativeHandle methods');
139
110
  }
140
111
  for (const methodName of methodNames) {
@@ -153,7 +124,7 @@ class HandleRegistry {
153
124
  if (typeof ctor !== 'function') {
154
125
  throw new Error('HandleRegistry.autoRegister: invalid instance');
155
126
  }
156
- const keyOrFactory = this.getInheritedMetadata(ctor, USE_REF_METADATA_KEY);
127
+ const keyOrFactory = Reflect.getMetadata(USE_REF_METADATA_KEY, ctor);
157
128
  if (typeof keyOrFactory === 'undefined') {
158
129
  throw new Error('HandleRegistry.autoRegister: missing @UseRef metadata');
159
130
  }
@@ -185,14 +156,12 @@ class HandleRegistry {
185
156
  *
186
157
  * @param {string} key - handle key
187
158
  * @param {THandle} handle - imperative API object
188
- * @returns {() => void} unregister function; no-op if a different handle is now registered under the same key
159
+ * @returns {() => void} unregister function
189
160
  */
190
161
  register(key, handle) {
191
162
  this.handles.set(key, handle);
192
163
  return () => {
193
- if (this.handles.get(key) === handle) {
194
- this.handles.delete(key);
195
- }
164
+ this.unregister(key);
196
165
  };
197
166
  }
198
167
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"HandleRegistry.js","sourceRoot":"","sources":["../../src/runtime/HandleRegistry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HandleRegistry.js","sourceRoot":"","sources":["../../src/runtime/HandleRegistry.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;;;AAoBH,gCAMC;AAQD,kDAmBC;AAOD,wBASC;AAnED,4BAA0B;AAE1B,MAAM,oBAAoB,GAAG,kCAAkC,CAAC;AAChE,MAAM,6BAA6B,GAAG,0CAA0C,CAAC;AACjF,MAAM,kCAAkC,GAAG,+CAA+C,CAAC;AAM3F;;;;;;;GAOG;AACH,SAAgB,UAAU,CACxB,YAA4C;IAE5C,OAAO,CAAC,MAAM,EAAE,EAAE;QAChB,OAAO,CAAC,cAAc,CAAC,oBAAoB,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;IACrE,CAAC,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAgB,mBAAmB;IACjC,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE;QAC7B,IAAI,OAAO,WAAW,KAAK,WAAW,EAAE,CAAC;YACvC,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC;QAChC,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,CACjC,kCAAkC,EAClC,IAAI,CACsB,CAAC;QAE7B,MAAM,IAAI,GAAG,OAAO,OAAO,KAAK,WAAW;YACzC,CAAC,CAAC,IAAI,GAAG,EAAU;YACnB,CAAC,CAAC,IAAI,GAAG,CAAS,OAAO,CAAC,CAAC;QAE7B,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;QAC9B,OAAO,CAAC,cAAc,CAAC,kCAAkC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACzE,CAAC,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAgB,MAAM;IACpB,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE;QAC7B,IAAI,OAAO,WAAW,KAAK,WAAW,EAAE,CAAC;YACvC,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC;QAChC,OAAO,CAAC,cAAc,CAAC,6BAA6B,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;IAC3E,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAa,cAAc;IACR,OAAO,GAAG,IAAI,GAAG,EAAmB,CAAC;IAE9C,cAAc,CAAE,QAAiB;QACvC,MAAM,IAAI,GAAG,QAAQ,KAAK,IAAI,IAAI,OAAO,QAAQ,KAAK,QAAQ;YAC5D,CAAC,CAAE,QAAsC,CAAC,WAAW;YACrD,CAAC,CAAC,IAAI,CAAC;QACT,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACnE,CAAC;QAED,MAAM,cAAc,GAAG,OAAO,CAAC,WAAW,CACxC,6BAA6B,EAC7B,IAAI,CACiB,CAAC;QAExB,IAAI,OAAO,cAAc,KAAK,WAAW,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;QAC1F,CAAC;QAED,MAAM,GAAG,GAAI,QAAoC,CAAC,cAAc,CAAC,CAAC;QAClE,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAChF,CAAC;QAED,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CACrC,kCAAkC,EAClC,IAAI,CACsB,CAAC;QAE7B,IAAI,OAAO,WAAW,KAAK,WAAW,IAAI,WAAW,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACjE,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;QAClF,CAAC;QAED,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YACrC,MAAM,EAAE,GAAI,QAAoC,CAAC,UAAU,CAAC,CAAC;YAC7D,IAAI,OAAO,EAAE,KAAK,UAAU,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CAAC,0DAA0D,UAAU,EAAE,CAAC,CAAC;YAC1F,CAAC;YAEA,GAA+B,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACnE,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,gBAAgB,CAAE,QAAiB;QACzC,MAAM,IAAI,GAAG,QAAQ,KAAK,IAAI,IAAI,OAAO,QAAQ,KAAK,QAAQ;YAC5D,CAAC,CAAE,QAAsC,CAAC,WAAW;YACrD,CAAC,CAAC,IAAI,CAAC;QACT,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACnE,CAAC;QAED,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,CACtC,oBAAoB,EACpB,IAAI,CACuC,CAAC;QAE9C,IAAI,OAAO,YAAY,KAAK,WAAW,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC3E,CAAC;QAED,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;YACrC,OAAO,YAAY,CAAC;QACtB,CAAC;QAED,OAAO,YAAY,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAED;;;;;;;;;OASG;IACI,YAAY,CAAE,QAAiB;QACpC,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACpC,CAAC;IAED;;;;;;;;;OASG;IACI,QAAQ,CAAW,GAAW,EAAE,MAAe;QACpD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC9B,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACI,UAAU,CAAE,GAAW;QAC5B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED;;;;;;;OAOG;IACI,GAAG,CAAW,GAAW;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAwB,CAAC;IACtD,CAAC;IAED;;;;;;;;;;OAUG;IACI,OAAO,CAAW,GAAW;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAU,GAAG,CAAC,CAAC;QACtC,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,6BAA6B,GAAG,EAAE,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;;OAQG;IACI,GAAG,CAAE,GAAW;QACrB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED;;;;;;;OAOG;IACI,IAAI;QACT,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC;IAED;;;;;;;OAOG;IACI,KAAK;QACV,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;CACF;AAvLD,wCAuLC"}
@@ -14,7 +14,7 @@ export declare class QueryBus<TQuery extends RuntimeQuery = RuntimeQuery> {
14
14
  *
15
15
  * @param {TQuery['type']} queryType - query type
16
16
  * @param {QueryHandler<TQuery, TResult>} handler - query handler
17
- * @returns {() => void} unregister function; no-op if a different handler is now registered for the type
17
+ * @returns {() => void} unregister function
18
18
  * @throws {Error} if a handler is already registered
19
19
  */
20
20
  register<TResult>(queryType: TQuery['type'], handler: QueryHandler<TQuery, TResult>): () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"QueryBus.d.ts","sourceRoot":"","sources":["../../src/runtime/QueryBus.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE1D;;GAEG;AACH,qBAAa,QAAQ,CAAC,MAAM,SAAS,YAAY,GAAG,YAAY;IAC9D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoD;IAE7E;;;;;;;OAOG;IACI,QAAQ,CAAC,OAAO,EACrB,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,EACzB,OAAO,EAAE,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,GACrC,MAAM,IAAI;IAcb;;;;;;OAMG;IACU,OAAO,CAAC,OAAO,EAAG,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAU/D;;;;;OAKG;IACI,UAAU,CAAE,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI;IAInD;;;;OAIG;IACI,KAAK,IAAK,IAAI;CAGtB"}
1
+ {"version":3,"file":"QueryBus.d.ts","sourceRoot":"","sources":["../../src/runtime/QueryBus.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE1D;;GAEG;AACH,qBAAa,QAAQ,CAAC,MAAM,SAAS,YAAY,GAAG,YAAY;IAC9D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoD;IAE7E;;;;;;;OAOG;IACI,QAAQ,CAAC,OAAO,EACrB,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,EACzB,OAAO,EAAE,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,GACrC,MAAM,IAAI;IAWb;;;;;;OAMG;IACU,OAAO,CAAC,OAAO,EAAG,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAU/D;;;;;OAKG;IACI,UAAU,CAAE,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI;IAInD;;;;OAIG;IACI,KAAK,IAAK,IAAI;CAGtB"}
@@ -16,19 +16,16 @@ class QueryBus {
16
16
  *
17
17
  * @param {TQuery['type']} queryType - query type
18
18
  * @param {QueryHandler<TQuery, TResult>} handler - query handler
19
- * @returns {() => void} unregister function; no-op if a different handler is now registered for the type
19
+ * @returns {() => void} unregister function
20
20
  * @throws {Error} if a handler is already registered
21
21
  */
22
22
  register(queryType, handler) {
23
23
  if (this.handlers.has(queryType)) {
24
24
  throw new Error(`Query handler is already registered: ${queryType}`);
25
25
  }
26
- const registered = handler;
27
- this.handlers.set(queryType, registered);
26
+ this.handlers.set(queryType, handler);
28
27
  return () => {
29
- if (this.handlers.get(queryType) === registered) {
30
- this.handlers.delete(queryType);
31
- }
28
+ this.unregister(queryType);
32
29
  };
33
30
  }
34
31
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"QueryBus.js","sourceRoot":"","sources":["../../src/runtime/QueryBus.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAIH;;GAEG;AACH,MAAa,QAAQ;IACF,QAAQ,GAAG,IAAI,GAAG,EAAyC,CAAC;IAE7E;;;;;;;OAOG;IACI,QAAQ,CACb,SAAyB,EACzB,OAAsC;QAEtC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,wCAAwC,SAAS,EAAE,CAAC,CAAC;QACvE,CAAC;QAED,MAAM,UAAU,GAAG,OAAwC,CAAC;QAC5D,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QACzC,OAAO,GAAG,EAAE;YACV,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,UAAU,EAAE,CAAC;gBAChD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAClC,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,OAAO,CAAW,KAAa;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,oCAAoC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QACpE,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC;QACpC,OAAO,MAAiB,CAAC;IAC3B,CAAC;IAED;;;;;OAKG;IACI,UAAU,CAAE,SAAyB;QAC1C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;IAED;;;;OAIG;IACI,KAAK;QACV,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;CACF;AA/DD,4BA+DC"}
1
+ {"version":3,"file":"QueryBus.js","sourceRoot":"","sources":["../../src/runtime/QueryBus.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAIH;;GAEG;AACH,MAAa,QAAQ;IACF,QAAQ,GAAG,IAAI,GAAG,EAAyC,CAAC;IAE7E;;;;;;;OAOG;IACI,QAAQ,CACb,SAAyB,EACzB,OAAsC;QAEtC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,wCAAwC,SAAS,EAAE,CAAC,CAAC;QACvE,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,OAAwC,CAAC,CAAC;QACvE,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAC7B,CAAC,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,OAAO,CAAW,KAAa;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,oCAAoC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QACpE,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC;QACpC,OAAO,MAAiB,CAAC;IAC3B,CAAC;IAED;;;;;OAKG;IACI,UAAU,CAAE,SAAyB;QAC1C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;IAED;;;;OAIG;IACI,KAAK;QACV,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;CACF;AA5DD,4BA4DC"}
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * Redux Store Creator with RxJS Support
3
3
  *
4
- * Implements createStore with strict Redux v4 compatibility
5
- * plus reactive RxJS extensions (state$, select).
4
+ * Implements createStore, compatible with Redux v4,
5
+ * but using RxJS for reactive state management.
6
6
  *
7
7
  * @module Effectable/store/createStore
8
8
  */
@@ -1 +1 @@
1
- {"version":3,"file":"createStore.d.ts","sourceRoot":"","sources":["../../src/store/createStore.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAY,MAAM,SAAS,CAAC;AAE1E;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,EAC7C,OAAO,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EACtB,YAAY,EAAE,CAAC,EACf,QAAQ,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,GAC7B,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAyJb"}
1
+ {"version":3,"file":"createStore.d.ts","sourceRoot":"","sources":["../../src/store/createStore.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAY,MAAM,SAAS,CAAC;AAE1E;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,EAC7C,OAAO,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EACtB,YAAY,EAAE,CAAC,EACf,QAAQ,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,GAC7B,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CA+Gb"}
@@ -2,8 +2,8 @@
2
2
  /**
3
3
  * Redux Store Creator with RxJS Support
4
4
  *
5
- * Implements createStore with strict Redux v4 compatibility
6
- * plus reactive RxJS extensions (state$, select).
5
+ * Implements createStore, compatible with Redux v4,
6
+ * but using RxJS for reactive state management.
7
7
  *
8
8
  * @module Effectable/store/createStore
9
9
  */
@@ -46,8 +46,6 @@ function createStore(reducer, initialState, enhancer) {
46
46
  const state$ = new rxjs_1.BehaviorSubject(initialState);
47
47
  // Flag to prevent dispatch while a reducer is running
48
48
  let isDispatching = false;
49
- // Flag to track if the store has been destroyed
50
- let isDestroyed = false;
51
49
  /**
52
50
  * Base dispatch without middleware
53
51
  *
@@ -58,24 +56,10 @@ function createStore(reducer, initialState, enhancer) {
58
56
  * @returns The same action
59
57
  */
60
58
  function dispatch(action) {
61
- // Guard: store has been destroyed
62
- if (isDestroyed) {
63
- throw new Error('Cannot dispatch an action after the store has been destroyed.');
64
- }
65
- // Action validation - strict plain object check (Redux-compatible)
59
+ // Action validation
66
60
  if (typeof action !== 'object' || action === null) {
67
61
  throw new Error('Actions must be plain objects. Use custom middleware for async actions.');
68
62
  }
69
- // Reject arrays (typeof [] === 'object' but not a plain object)
70
- if (Array.isArray(action)) {
71
- throw new Error('Actions must be plain objects. Use custom middleware for async actions.');
72
- }
73
- // Reject class instances and Object.create(null) (strict Redux v4 behavior)
74
- // Real Redux only accepts objects with Object.prototype
75
- const proto = Object.getPrototypeOf(action);
76
- if (proto !== Object.prototype) {
77
- throw new Error('Actions must be plain objects. Use custom middleware for async actions.');
78
- }
79
63
  if (typeof action.type === 'undefined') {
80
64
  throw new Error('Actions may not have an undefined "type" property. Have you misspelled a constant?');
81
65
  }
@@ -90,11 +74,6 @@ function createStore(reducer, initialState, enhancer) {
90
74
  const currentState = state$.getValue();
91
75
  // Call reducer to get the new state
92
76
  newState = reducer(currentState, action);
93
- // Redux-compatible: reject undefined state from reducer
94
- if (typeof newState === 'undefined') {
95
- throw new Error(`Reducer returned undefined when handling action "${action.type}". ` +
96
- 'To ignore an action, you must explicitly return the previous state.');
97
- }
98
77
  }
99
78
  finally {
100
79
  // Important: reset the flag before notifying subscribers
@@ -110,12 +89,7 @@ function createStore(reducer, initialState, enhancer) {
110
89
  *
111
90
  * @returns Current Store state
112
91
  */
113
- const getState = () => {
114
- if (isDestroyed) {
115
- throw new Error('Cannot access state after the store has been destroyed.');
116
- }
117
- return state$.getValue();
118
- };
92
+ const getState = () => state$.getValue();
119
93
  /**
120
94
  * Universal select method for applying selectors
121
95
  *
@@ -144,7 +118,6 @@ function createStore(reducer, initialState, enhancer) {
144
118
  * store.destroy();
145
119
  */
146
120
  const destroy = () => {
147
- isDestroyed = true;
148
121
  state$.complete();
149
122
  };
150
123
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"createStore.js","sourceRoot":"","sources":["../../src/store/createStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createStore.js","sourceRoot":"","sources":["../../src/store/createStore.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;AA+BH,kCAmHC;AAhJD,+BAAmD;AACnD,8CAA2D;AAG3D;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,SAAgB,WAAW,CACzB,OAAsB,EACtB,YAAe,EACf,QAA8B;IAE9B,4EAA4E;IAC5E,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,QAAQ,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACtD,CAAC;IAED,8CAA8C;IAC9C,oEAAoE;IACpE,MAAM,MAAM,GAAG,IAAI,sBAAe,CAAI,YAAY,CAAC,CAAC;IAEpD,sDAAsD;IACtD,IAAI,aAAa,GAAG,KAAK,CAAC;IAE1B;;;;;;;;OAQG;IACH,SAAS,QAAQ,CAAe,MAAS;QACvC,oBAAoB;QACpB,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YAClD,MAAM,IAAI,KAAK,CACb,yEAAyE,CAC1E,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CACb,oFAAoF,CACrF,CAAC;QACJ,CAAC;QAED,sDAAsD;QACtD,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,QAAW,CAAC;QAChB,IAAI,CAAC;YACH,aAAa,GAAG,IAAI,CAAC;YAErB,oBAAoB;YACpB,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;YAEvC,oCAAoC;YACpC,QAAQ,GAAG,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAC3C,CAAC;gBAAS,CAAC;YACT,yDAAyD;YACzD,+DAA+D;YAC/D,aAAa,GAAG,KAAK,CAAC;QACxB,CAAC;QAED,yEAAyE;QACzE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEtB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACH,MAAM,QAAQ,GAAG,GAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;IAE5C;;;;;;;;;;;;;OAaG;IACH,MAAM,MAAM,GAAG,CAAI,UAA0B,EAAiB,EAAE;QAC9D,OAAO,MAAM,CAAC,IAAI,CAChB,IAAA,eAAG,EAAC,UAAU,CAAC,EACf,IAAA,gCAAoB,GAAE,CACvB,CAAC;IACJ,CAAC,CAAC;IAEF;;;;;;;;;OASG;IACH,MAAM,OAAO,GAAG,GAAS,EAAE;QACzB,MAAM,CAAC,QAAQ,EAAE,CAAC;IACpB,CAAC,CAAC;IAEF,OAAO;QACL,QAAQ;QACR,QAAQ;QACR,MAAM,EAAE,MAAM,CAAC,YAAY,EAAE,EAAE,4CAA4C;QAC3E,MAAM;QACN,OAAO;KACR,CAAC;AACJ,CAAC"}
@@ -7,27 +7,13 @@
7
7
  *
8
8
  * @module Effectable/store/middleware
9
9
  */
10
- import { Action, MiddlewareAPI, MiddlewareInput, StoreEnhancer } from './types';
11
- /**
12
- * Dispatch-shaped function used to type the wrap-mode chain.
13
- * Method-syntax bivariance lets {@link DispatchMethod} satisfy this type under
14
- * `strictFunctionTypes`, so wrap-mode `D extends DispatchFn` typechecks without `as`.
15
- */
16
- type DispatchFn = {
17
- bivarianceHack(action: unknown): unknown | Promise<unknown>;
18
- }['bivarianceHack'];
19
10
  /**
20
11
  * Supports two modes:
21
12
  * 1. `applyMiddleware(api, rawDispatch, ...middlewares)` — wrap an existing dispatch
22
13
  * 2. `applyMiddleware(...middlewares)` — legacy enhancer-style for compatibility
23
14
  * 3. Middleware may arrive as default-export functions from slice modules.
24
- *
25
- * Wrap-mode overload is first so `applyMiddleware(api, rawDispatch, ...)` is not
26
- * parsed as enhancer-style rest middlewares.
27
15
  */
28
- export declare function applyMiddleware<S, D extends DispatchFn>(api: MiddlewareAPI<D, S>, rawDispatch: D, ...middlewares: unknown[]): D;
29
- export declare function applyMiddleware(): StoreEnhancer;
30
- export declare function applyMiddleware<S = unknown, A extends Action = Action>(...middlewares: Array<MiddlewareInput<unknown, S>>): StoreEnhancer<S, A>;
16
+ export declare function applyMiddleware(...args: unknown[]): unknown;
31
17
  /**
32
18
  * Compose function for function composition
33
19
  *
@@ -49,5 +35,4 @@ export declare function applyMiddleware<S = unknown, A extends Action = Action>(
49
35
  * Rarely needed for external use.
50
36
  */
51
37
  export declare function compose<T>(...funcs: Array<(arg: T) => T>): (arg: T) => T;
52
- export {};
53
38
  //# sourceMappingURL=middleware.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/store/middleware.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,MAAM,EAA4B,aAAa,EAAE,eAAe,EAAyB,aAAa,EAAE,MAAM,SAAS,CAAC;AAEjI;;;;GAIG;AACH,KAAK,UAAU,GAAG;IAChB,cAAc,CAAE,MAAM,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC9D,CAAC,gBAAgB,CAAC,CAAC;AAwDpB;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,CAAC,SAAS,UAAU,EACrD,GAAG,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,EACxB,WAAW,EAAE,CAAC,EACd,GAAG,WAAW,EAAE,OAAO,EAAE,GACxB,CAAC,CAAC;AACL,wBAAgB,eAAe,IAAK,aAAa,CAAC;AAClD,wBAAgB,eAAe,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,EACpE,GAAG,WAAW,EAAE,KAAK,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,GACjD,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAsBvB;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAG,GAAG,KAAK,EAAE,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAiBzE"}
1
+ {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/store/middleware.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA8CH;;;;;GAKG;AACH,wBAAgB,eAAe,CAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAoB5D;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAG,GAAG,KAAK,EAAE,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAiBzE"}
@@ -11,13 +11,6 @@
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.applyMiddleware = applyMiddleware;
13
13
  exports.compose = compose;
14
- const types_1 = require("./types");
15
- function hasGetState(value) {
16
- return typeof value === 'object' && value !== null && 'getState' in value;
17
- }
18
- function isWrapModeArgs(args) {
19
- return args.length > 1 && hasGetState(args[0]);
20
- }
21
14
  /**
22
15
  * Normalizes middleware: a function or a default-export module `{ default: fn }`.
23
16
  *
@@ -25,12 +18,12 @@ function isWrapModeArgs(args) {
25
18
  * @returns {Middleware<unknown, S, D>}
26
19
  */
27
20
  function coerceMiddleware(middleware) {
28
- if ((0, types_1.isMiddleware)(middleware)) {
21
+ if (typeof middleware === 'function') {
29
22
  return middleware;
30
23
  }
31
24
  if (typeof middleware === 'object' && middleware !== null && Object.hasOwn(middleware, 'default')) {
32
25
  const defaultExport = Reflect.get(middleware, 'default');
33
- if ((0, types_1.isMiddleware)(defaultExport)) {
26
+ if (typeof defaultExport === 'function') {
34
27
  return defaultExport;
35
28
  }
36
29
  }
@@ -39,26 +32,32 @@ function coerceMiddleware(middleware) {
39
32
  function wrapDispatch(api, rawDispatch, middlewares) {
40
33
  const chain = middlewares.reduceRight((next, middleware) => {
41
34
  const coerced = coerceMiddleware(middleware);
42
- return coerced(api)(next);
35
+ // FIXME: teach middleware so action can carry a type and the output has a known type
36
+ const resolvedMiddleware = coerced(api);
37
+ return resolvedMiddleware(next);
43
38
  }, rawDispatch);
44
39
  api.dispatch = chain;
45
40
  return chain;
46
41
  }
47
- function unboundDispatch(action) {
48
- return action;
49
- }
42
+ /**
43
+ * Supports two modes:
44
+ * 1. `applyMiddleware(api, rawDispatch, ...middlewares)` — wrap an existing dispatch
45
+ * 2. `applyMiddleware(...middlewares)` — legacy enhancer-style for compatibility
46
+ * 3. Middleware may arrive as default-export functions from slice modules.
47
+ */
50
48
  function applyMiddleware(...args) {
51
- if (isWrapModeArgs(args)) {
49
+ if (args.length > 1 && typeof args[0] === 'object' && args[0] !== null && 'getState' in args[0]) {
52
50
  const [api, rawDispatch, ...middlewares] = args;
53
51
  return wrapDispatch(api, rawDispatch, middlewares);
54
52
  }
53
+ const middlewares = args;
55
54
  return (createStore) => (reducer, initialState) => {
56
55
  const store = createStore(reducer, initialState);
57
56
  const api = {
58
57
  getState: store.getState,
59
- dispatch: unboundDispatch,
58
+ dispatch: null,
60
59
  };
61
- const dispatch = wrapDispatch(api, store.dispatch, args);
60
+ const dispatch = wrapDispatch(api, store.dispatch, middlewares);
62
61
  return {
63
62
  ...store,
64
63
  dispatch,
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../src/store/middleware.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../src/store/middleware.ts"],"names":[],"mappings":"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"}
@@ -179,11 +179,11 @@ export interface MiddlewareAPI<D = Dispatch, S = unknown> {
179
179
  * Middleware can:
180
180
  * - Intercept actions
181
181
  * - Perform side-effects
182
- * - Dispatch new actions via api.dispatch()
183
- * - Read state via api.getState()
182
+ * - Dispatch new actions
184
183
  * - Modify or block actions
185
184
  * - Call next() multiple times
186
185
  * - Use async/await
186
+ * - Subscribe to state$ for reactive logic
187
187
  *
188
188
  * @template S - State type
189
189
  * @template A - Action type
@@ -204,7 +204,7 @@ export interface MiddlewareAPI<D = Dispatch, S = unknown> {
204
204
  * return result;
205
205
  * };
206
206
  */
207
- export interface Middleware<_DispatchExt = {}, S = unknown, D = Dispatch> {
207
+ export interface Middleware<DispatchExt = {}, S = unknown, D = Dispatch> {
208
208
  /**
209
209
  * Creates middleware in redux-style format `(api) => (next) => (action)`.
210
210
  * `next(action)` forwards the action down the current chain.
@@ -217,13 +217,6 @@ export interface Middleware<_DispatchExt = {}, S = unknown, D = Dispatch> {
217
217
  */
218
218
  (api: MiddlewareAPI<D, S>): (next: D) => (action: unknown) => unknown | Promise<unknown>;
219
219
  }
220
- /**
221
- * Middleware argument accepted by enhancer-mode `applyMiddleware`.
222
- * Matches runtime: a middleware function or a module namespace `{ default: fn }`.
223
- */
224
- export type MiddlewareInput<DispatchExt = {}, S = unknown, D = Dispatch> = Middleware<DispatchExt, S, D> | {
225
- default: Middleware<DispatchExt, S, D>;
226
- };
227
220
  /**
228
221
  * Memoized selector
229
222
  *
@@ -262,5 +255,5 @@ export declare function isAction(obj: any): obj is Action;
262
255
  /**
263
256
  * Type guard to check whether a function is Middleware
264
257
  */
265
- export declare function isMiddleware<DispatchExt = {}, S = unknown, D = Dispatch>(fn: unknown): fn is Middleware<DispatchExt, S, D>;
258
+ export declare function isMiddleware<DispatchExt = {}, S = unknown, D extends Dispatch = Dispatch>(fn: any): fn is Middleware<DispatchExt, S, D>;
266
259
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/store/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/store/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAMlC;;;;GAIG;AACH,MAAM,WAAW,MAAM,CAAC,CAAC,GAAG,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,CAAC,CAAC;CACb;AAED;;;;;GAKG;AACH,MAAM,WAAW,SAAU,SAAQ,MAAM,CAAC,OAAO,CAAC;CAAG;AAErD;;;;;;;;GAQG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,CACxD,KAAK,EAAE,CAAC,EACR,MAAM,EAAE,CAAC,KACN,CAAC,CAAC;AAEP;;;;;;;GAOG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,GAAG,SAAS,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAEpE;;;;;GAKG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAEvG;;;;;;;;GAQG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;AAE7C;;;;;;;;GAQG;AACH,MAAM,MAAM,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;AAMpE;;;;GAIG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,CAC7D,OAAO,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EACtB,YAAY,EAAE,CAAC,KACZ,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAEjB;;;;;GAKG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,CAC9D,WAAW,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,KAC5B,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAExB;;;;;;;GAOG;AACH,MAAM,WAAW,KAAK,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM;IACvD;;;;;;;;;OASG;IACH,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;IAE5B;;;;;;OAMG;IACH,QAAQ,IAAI,CAAC,CAAC;IAEd;;;;;;;;;;OAUG;IACH,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IAEtB;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAErD;;;;;OAKG;IACH,OAAO,IAAI,IAAI,CAAC;CACjB;AAMD;;;;;;;;GAQG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,GAAG,QAAQ,EAAE,CAAC,GAAG,OAAO;IACtD;;;;;OAKG;IACH,QAAQ,EAAE,CAAC,CAAC;IAEZ;;;;OAIG;IACH,QAAQ,IAAI,CAAC,CAAC;CACf;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,WAAW,UAAU,CACzB,WAAW,GAAG,EAAE,EAChB,CAAC,GAAG,OAAO,EACX,CAAC,GAAG,QAAQ;IAEZ;;;;;;;;;OASG;IACH,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC1F;AAMD;;;;;;;;GAQG;AACH,MAAM,WAAW,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAE,SAAQ,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5D;;;;;;;;OAQG;IACH,gBAAgB,IAAI,IAAI,CAAC;IAEzB;;;;;;;;OAQG;IACH,cAAc,IAAI,MAAM,CAAC;CAC1B;AAMD;;GAEG;AACH,wBAAgB,QAAQ,CAAE,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,MAAM,CAEjD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,WAAW,GAAG,EAAE,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,SAAS,QAAQ,GAAG,QAAQ,EACvF,EAAE,EAAE,GAAG,GACN,EAAE,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC,CAErC"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/store/types.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;AAoTH,4BAEC;AAKD,oCAIC;AAlBD,+EAA+E;AAC/E,cAAc;AACd,+EAA+E;AAE/E;;GAEG;AACH,SAAgB,QAAQ,CAAE,GAAQ;IAChC,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC;AACjF,CAAC;AAED;;GAEG;AACH,SAAgB,YAAY,CAC1B,EAAW;IAEX,OAAO,OAAO,EAAE,KAAK,UAAU,CAAC;AAClC,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/store/types.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;AA0SH,4BAEC;AAKD,oCAIC;AAlBD,+EAA+E;AAC/E,cAAc;AACd,+EAA+E;AAE/E;;GAEG;AACH,SAAgB,QAAQ,CAAE,GAAQ;IAChC,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC;AACjF,CAAC;AAED;;GAEG;AACH,SAAgB,YAAY,CAC1B,EAAO;IAEP,OAAO,OAAO,EAAE,KAAK,UAAU,CAAC;AAClC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "effectable",
3
- "version": "1.0.0-canary.2",
3
+ "version": "1.0.0",
4
4
  "description": "Declarative reactive runtime for Node.js: bootstrap, Redux-style RxJS store, Component lifecycle, class-based connect, and GraphRuntime.",
5
5
  "license": "MIT",
6
6
  "author": {
@@ -81,10 +81,7 @@
81
81
  "build": "npm run clean && tsc --project ./tsconfig.build.json && npm run build:license",
82
82
  "build:license": "cp ./LICENSE ./build/LICENSE",
83
83
  "typecheck": "tsc --noEmit --project ./tsconfig.json",
84
- "lint": "eslint .",
85
- "lint:fix": "eslint . --fix",
86
84
  "test": "jest --config ./jest.config.js --runInBand",
87
- "test:pack-smoke": "node ./scripts/pack-smoke.cjs",
88
85
  "test:watch": "jest --config ./jest.config.js --watch",
89
86
  "test:spec": "jest --config ./jest.config.js --runInBand --testPathPatterns=spec",
90
87
  "test:entity": "jest --config ./jest.config.js --runInBand --testPathPatterns=entity",
@@ -99,7 +96,7 @@
99
96
  "access": "public"
100
97
  },
101
98
  "engines": {
102
- "node": ">=22",
99
+ "node": ">=18.18.0",
103
100
  "npm": ">=9"
104
101
  },
105
102
  "dependencies": {
@@ -111,13 +108,9 @@
111
108
  "@commitlint/config-conventional": "^21.2.0",
112
109
  "@semantic-release/changelog": "^7.0.0",
113
110
  "@semantic-release/git": "^11.0.1",
111
+ "conventional-changelog-conventionalcommits": "^10.2.1",
114
112
  "@types/jest": "^29.5.14",
115
113
  "@types/node": "^22.16.0",
116
- "@typescript-eslint/eslint-plugin": "^8.67.0",
117
- "@typescript-eslint/parser": "^8.67.0",
118
- "conventional-changelog-conventionalcommits": "^10.2.1",
119
- "eslint": "^10.8.1",
120
- "eslint-plugin-unused-imports": "^4.4.1",
121
114
  "jest": "^30.1.3",
122
115
  "lefthook": "^2.1.10",
123
116
  "semantic-release": "^25.0.9",