effectable 1.1.0 → 1.2.0-canary.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 (37) hide show
  1. package/README.md +10 -0
  2. package/build/bootstrap/bootstrap.d.ts.map +1 -1
  3. package/build/bootstrap/bootstrap.js +6 -2
  4. package/build/bootstrap/bootstrap.js.map +1 -1
  5. package/build/bootstrap/types.d.ts +4 -2
  6. package/build/bootstrap/types.d.ts.map +1 -1
  7. package/build/component/Component.d.ts.map +1 -1
  8. package/build/component/Component.js +16 -4
  9. package/build/component/Component.js.map +1 -1
  10. package/build/component/GraphRuntime.d.ts +43 -9
  11. package/build/component/GraphRuntime.d.ts.map +1 -1
  12. package/build/component/GraphRuntime.js +247 -74
  13. package/build/component/GraphRuntime.js.map +1 -1
  14. package/build/component/lifecycle.d.ts +11 -2
  15. package/build/component/lifecycle.d.ts.map +1 -1
  16. package/build/component/lifecycle.js +21 -4
  17. package/build/component/lifecycle.js.map +1 -1
  18. package/build/connect/connect.d.ts +12 -0
  19. package/build/connect/connect.d.ts.map +1 -1
  20. package/build/connect/connect.js +174 -34
  21. package/build/connect/connect.js.map +1 -1
  22. package/build/runtime/BusDecorators.d.ts +3 -0
  23. package/build/runtime/BusDecorators.d.ts.map +1 -1
  24. package/build/runtime/BusDecorators.js +21 -9
  25. package/build/runtime/BusDecorators.js.map +1 -1
  26. package/build/runtime/EventBus.d.ts +12 -0
  27. package/build/runtime/EventBus.d.ts.map +1 -1
  28. package/build/runtime/EventBus.js +23 -3
  29. package/build/runtime/EventBus.js.map +1 -1
  30. package/build/store/middleware.d.ts +4 -0
  31. package/build/store/middleware.d.ts.map +1 -1
  32. package/build/store/middleware.js +15 -4
  33. package/build/store/middleware.js.map +1 -1
  34. package/build/store/selector.d.ts.map +1 -1
  35. package/build/store/selector.js +6 -2
  36. package/build/store/selector.js.map +1 -1
  37. package/package.json +1 -1
@@ -44,19 +44,30 @@ function wrapDispatch(api, rawDispatch, middlewares) {
44
44
  api.dispatch = chain;
45
45
  return chain;
46
46
  }
47
- function unboundDispatch(action) {
48
- return action;
47
+ function dispatchWhileConstructing(_action) {
48
+ throw new Error('Dispatching while constructing your middleware is not allowed. ' +
49
+ 'Other middleware would not be applied to this dispatch.');
49
50
  }
50
51
  function applyMiddleware(...args) {
51
52
  if (isWrapModeArgs(args)) {
52
53
  const [api, rawDispatch, ...middlewares] = args;
53
- return wrapDispatch(api, rawDispatch, middlewares);
54
+ // Same construction invariant as enhancer mode (PR #55): while middleware
55
+ // factories run, api.dispatch must not reach rawDispatch / a half-built chain.
56
+ const previousDispatch = api.dispatch;
57
+ api.dispatch = dispatchWhileConstructing;
58
+ try {
59
+ return wrapDispatch(api, rawDispatch, middlewares);
60
+ }
61
+ catch (error) {
62
+ api.dispatch = previousDispatch;
63
+ throw error;
64
+ }
54
65
  }
55
66
  return (createStore) => (reducer, initialState) => {
56
67
  const store = createStore(reducer, initialState);
57
68
  const api = {
58
69
  getState: store.getState,
59
- dispatch: unboundDispatch,
70
+ dispatch: dispatchWhileConstructing,
60
71
  };
61
72
  const dispatch = wrapDispatch(api, store.dispatch, args);
62
73
  return {
@@ -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":";AAAA;;;;;;;;GAQG;;AA4FH,0CA4BC;AAsBD,0BAiBC;AA7JD,mCAAiI;AAWjI,SAAS,WAAW,CAAE,KAAc;IAClC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,UAAU,IAAI,KAAK,CAAC;AAC5E,CAAC;AAED,SAAS,cAAc,CACrB,IAAe;IAEf,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACjD,CAAC;AAED;;;;;GAKG;AACH,SAAS,gBAAgB,CAA2B,UAAmB;IACrE,IAAI,IAAA,oBAAY,EAAgB,UAAU,CAAC,EAAE,CAAC;QAC5C,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,CAAC;QAClG,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QACzD,IAAI,IAAA,oBAAY,EAAgB,aAAa,CAAC,EAAE,CAAC;YAC/C,OAAO,aAAa,CAAC;QACvB,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CACb,uFAAuF,CACxF,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CACnB,GAAiC,EACjC,WAAuB,EACvB,WAA2B;IAE3B,MAAM,KAAK,GAAG,WAAW,CAAC,WAAW,CACnC,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE;QACnB,MAAM,OAAO,GAAG,gBAAgB,CAAgB,UAAU,CAAC,CAAC;QAC5D,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC,EACD,WAAW,CACZ,CAAC;IAEF,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC;IACrB,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,yBAAyB,CAAE,OAAgB;IAClD,MAAM,IAAI,KAAK,CACb,iEAAiE;QACjE,yDAAyD,CAC1D,CAAC;AACJ,CAAC;AAwBD,SAAgB,eAAe,CAAE,GAAG,IAAe;IACjD,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,WAAW,CAAC,GAAG,IAAI,CAAC;QAChD,0EAA0E;QAC1E,+EAA+E;QAC/E,MAAM,gBAAgB,GAAG,GAAG,CAAC,QAAQ,CAAC;QACtC,GAAG,CAAC,QAAQ,GAAG,yBAAyB,CAAC;QACzC,IAAI,CAAC;YACH,OAAO,YAAY,CAAC,GAAG,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;QACrD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,QAAQ,GAAG,gBAAgB,CAAC;YAChC,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO,CAAC,WAA0C,EAAE,EAAE,CACpD,CAAC,OAAiC,EAAE,YAAqB,EAAE,EAAE;QAC3D,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QACjD,MAAM,GAAG,GAAuC;YAC9C,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,QAAQ,EAAE,yBAAyB;SACpC,CAAC;QACF,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACzD,OAAO;YACL,GAAG,KAAK;YACR,QAAQ;SACT,CAAC;IACJ,CAAC,CAAC;AACN,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,SAAgB,OAAO,CAAK,GAAG,KAA2B;IACxD,iCAAiC;IACjC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,GAAM,EAAE,EAAE,CAAC,GAAG,CAAC;IACzB,CAAC;IAED,8BAA8B;IAC9B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,0CAA0C;IAC1C,OAAO,KAAK,CAAC,MAAM,CACjB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,CAAC,GAAM,EAAE,EAAE,CACT,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CACd,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"selector.d.ts","sourceRoot":"","sources":["../../src/store/selector.ts"],"names":[],"mappings":"AACA;;;;;;;;GAQG;AAEH,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAoHrD;;GAEG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EACrC,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAC1B,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,GACxB,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAE1B;;GAEG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EACzC,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAC1B,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAC1B,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,KAAK,CAAC,GAClC,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAE1B;;GAEG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAC7C,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAC1B,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAC1B,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAC1B,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,KAAK,CAAC,GAC5C,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAE1B;;GAEG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EACjD,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAC1B,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAC1B,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAC1B,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAC1B,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,KAAK,CAAC,GACtD,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAE1B;;GAEG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EACrD,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAC1B,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAC1B,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAC1B,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAC1B,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAC1B,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,KAAK,CAAC,GAChE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAE1B;;GAEG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,CAAC,EACjC,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAC7B,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAC9B,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AA8F1B;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACvE,YAAY,EAAE;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GAClD,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAWxB"}
1
+ {"version":3,"file":"selector.d.ts","sourceRoot":"","sources":["../../src/store/selector.ts"],"names":[],"mappings":"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"}
@@ -36,10 +36,14 @@ function defaultMemoize(func) {
36
36
  let called = false;
37
37
  let recomputationCount = 0;
38
38
  const memoized = (arg) => {
39
- // If never called or the argument changed — recompute
39
+ // If never called or the argument changed — recompute.
40
+ // Only commit cache slots after `func` succeeds: if `func` throws after
41
+ // `lastArg` was already updated, a later call with the same arg would
42
+ // shallow-equal-hit and return a stale `lastResult` (silent wrong value).
40
43
  if (!called || !shallowEqual(arg, lastArg)) {
44
+ const nextResult = func(arg);
41
45
  lastArg = arg;
42
- lastResult = func(arg);
46
+ lastResult = nextResult;
43
47
  called = true;
44
48
  recomputationCount++;
45
49
  }
@@ -1 +1 @@
1
- {"version":3,"file":"selector.js","sourceRoot":"","sources":["../../src/store/selector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"selector.js","sourceRoot":"","sources":["../../src/store/selector.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "effectable",
3
- "version": "1.1.0",
3
+ "version": "1.2.0-canary.1",
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": {