state-decorator 6.8.0 → 6.10.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 (77) hide show
  1. package/README.md +90 -25
  2. package/dist/impl.d.ts +195 -0
  3. package/dist/impl.js +2 -0
  4. package/dist/impl.js.map +1 -0
  5. package/dist/index.d.ts +168 -0
  6. package/dist/index.js +2 -0
  7. package/dist/index.js.map +1 -0
  8. package/dist/middlewares.d.ts +26 -0
  9. package/dist/middlewares.js +2 -0
  10. package/dist/middlewares.js.map +1 -0
  11. package/dist/shallow.d.ts +15 -0
  12. package/dist/test.d.ts +134 -0
  13. package/dist/test.js +2 -0
  14. package/dist/test.js.map +1 -0
  15. package/dist/types.d.ts +352 -0
  16. package/dist/v5.d.ts +58 -0
  17. package/dist/v5.js +2 -0
  18. package/dist/v5.js.map +1 -0
  19. package/dist/v5_test.d.ts +70 -0
  20. package/dist/v5_test.js +2 -0
  21. package/dist/v5_test.js.map +1 -0
  22. package/dist/v5_types.d.ts +227 -0
  23. package/es/impl.d.ts +195 -0
  24. package/es/impl.js +2 -0
  25. package/es/impl.js.map +1 -0
  26. package/es/index.d.ts +168 -0
  27. package/es/index.js +2 -0
  28. package/es/index.js.map +1 -0
  29. package/es/middlewares.d.ts +26 -0
  30. package/es/middlewares.js +2 -0
  31. package/es/middlewares.js.map +1 -0
  32. package/es/shallow.d.ts +15 -0
  33. package/es/test.d.ts +134 -0
  34. package/es/test.js +2 -0
  35. package/es/test.js.map +1 -0
  36. package/es/types.d.ts +352 -0
  37. package/es/v5.d.ts +58 -0
  38. package/es/v5.js +2 -0
  39. package/es/v5.js.map +1 -0
  40. package/es/v5_test.d.ts +70 -0
  41. package/es/v5_test.js +2 -0
  42. package/es/v5_test.js.map +1 -0
  43. package/es/v5_types.d.ts +227 -0
  44. package/impl.d.ts +107 -3
  45. package/impl.js +1 -1
  46. package/impl.js.map +1 -1
  47. package/index.d.ts +14 -0
  48. package/index.js +1 -1
  49. package/index.js.map +1 -1
  50. package/middlewares.d.ts +14 -0
  51. package/middlewares.js +1 -1
  52. package/middlewares.js.map +1 -1
  53. package/package.json +3 -4
  54. package/shallow.d.ts +14 -0
  55. package/test.d.ts +17 -0
  56. package/test.js +1 -1
  57. package/test.js.map +1 -1
  58. package/types.d.ts +20 -0
  59. package/v5.d.ts +14 -0
  60. package/v5.js +1 -1
  61. package/v5.js.map +1 -1
  62. package/v5_test.d.ts +14 -0
  63. package/v5_test.js +1 -1
  64. package/v5_test.js.map +1 -1
  65. package/v5_types.d.ts +14 -0
  66. package/impl.es.js +0 -2
  67. package/impl.es.js.map +0 -1
  68. package/index.es.js +0 -2
  69. package/index.es.js.map +0 -1
  70. package/middlewares.es.js +0 -2
  71. package/middlewares.es.js.map +0 -1
  72. package/test.es.js +0 -2
  73. package/test.es.js.map +0 -1
  74. package/v5.es.js +0 -2
  75. package/v5.es.js.map +0 -1
  76. package/v5_test.es.js +0 -2
  77. package/v5_test.es.js.map +0 -1
package/v5_test.es.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"v5_test.es.js","sources":["../node_modules/@babel/runtime/helpers/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/iterableToArray.js","../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/nonIterableSpread.js","../node_modules/@babel/runtime/helpers/toConsumableArray.js","../node_modules/@babel/runtime/helpers/defineProperty.js","../src/v5_test.ts"],"sourcesContent":["function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\n\nmodule.exports = _arrayWithoutHoles;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}\n\nmodule.exports = _iterableToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableSpread;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var arrayWithoutHoles = require(\"./arrayWithoutHoles.js\");\n\nvar iterableToArray = require(\"./iterableToArray.js\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\n\nvar nonIterableSpread = require(\"./nonIterableSpread.js\");\n\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","import type { StoreAction } from './types';\n\nimport { setGlobalConfig, ConflictPolicy } from './index';\n\nimport {\n AdvancedSynchAction,\n AsynchActionPromiseGet,\n StateDecoratorAction,\n StateDecoratorActions,\n StateDecoratorOptions,\n AsynchActionPromise,\n SynchAction,\n LoadingMap,\n LoadingProps,\n LoadingMapParallelActions,\n AsynchAction,\n} from './v5_types';\n\nimport {\n isSimpleSyncAction as isV6SyncAction,\n isSyncAction as isV6AdvancedAction,\n isAsyncAction as isV6AsyncAction,\n isAsyncGetPromiseAction as isV6AsyncGetPromiseAction,\n isAsyncGetPromiseGetAction as isV6AsyncGetPromiseGetAction,\n} from './impl';\n\nexport {\n AdvancedSynchAction,\n AsynchActionPromiseGet,\n StateDecoratorAction,\n StateDecoratorActions,\n StateDecoratorOptions,\n AsynchActionPromise,\n SynchAction,\n LoadingMap,\n LoadingMapParallelActions,\n LoadingProps,\n ConflictPolicy,\n setGlobalConfig,\n};\n\n/**\n * Type guard function to test if an action is a asynchronous action.\n */\nexport function isAsyncAction<S, F extends (...args: any[]) => any, A, P>(\n action: StateDecoratorAction<S, F, A, P>\n): action is AsynchAction<S, F, A, P> {\n return !(action instanceof Function) && (action.hasOwnProperty('promise') || action.hasOwnProperty('promiseGet'));\n}\n\n/**\n * Type guard function to test if an action is a asynchronous action.\n */\nexport function isAsyncPromiseGetAction<S, F extends (...args: any[]) => any, A, P>(\n action: StateDecoratorAction<S, F, A, P>\n): action is AsynchActionPromiseGet<S, F, A, P> {\n return !(action instanceof Function) && !(action.hasOwnProperty('promise') && action.hasOwnProperty('promiseGet'));\n}\n\n/**\n * Type guard function to test if an action is a synchronous action.\n */\nexport function isSyncAction<S, F extends (...args: any[]) => any, A, P>(\n action: StateDecoratorAction<S, F, A, P>\n): action is SynchAction<S, F, P> {\n return action instanceof Function;\n}\n\n/**\n * Type guard function to test if an action is a synchronous action.\n */\nexport function isAdvancedSyncAction<S, F extends (...args: any[]) => any, A, P>(\n action: StateDecoratorAction<S, F, A, P>\n): action is AdvancedSynchAction<S, F, A, P> {\n return !(action instanceof Function) && !action.hasOwnProperty('promise') && !action.hasOwnProperty('promiseGet');\n}\n\n/**\n * @private\n */\nfunction computeAsyncActionInput<S, F extends (...args: any[]) => any, A, P>(\n action: AsynchAction<S, F, A, P>\n): AsynchActionPromise<S, F, A, P> {\n if ('promiseGet' in action) {\n return {\n ...action,\n promise: action.promiseGet,\n retryCount: 3,\n conflictPolicy: ConflictPolicy.REUSE,\n };\n }\n return action;\n}\n\n/**\n * Utility to test an asynchronous action.\n * @param action The action to test\n * @param test The test function that takes the discrimined action type and cam return a promise\n */\nexport function testAsyncAction<S, F extends (...args: any[]) => any, A, P>(\n action: StateDecoratorAction<S, F, A, P>,\n test: (action: AsynchActionPromise<S, F, A, P>) => any | Promise<any>\n) {\n if (isAsyncAction(action)) {\n return test(computeAsyncActionInput(action));\n }\n return Promise.reject(new Error('This action is not an asynchronous action'));\n}\n\n/**\n * Utility to test an synchronous action.\n * @param action The action to test\n * @param test The test function that takes the discrimined action type and cam return a promise\n */\nexport function testSyncAction<S, F extends (...args: any[]) => any, A, P>(\n action: StateDecoratorAction<S, F, A, P>,\n test: (action: SynchAction<S, F, P>) => any | Promise<any>\n) {\n if (isSyncAction(action)) {\n return test(action);\n }\n return Promise.reject(new Error('This action is not a synchronous action'));\n}\n\n/**\n * Utility to test an advanced synchronous action.\n * @param action The action to test\n * @param test The test function that takes the discrimined action type and cam return a promise\n */\nexport function testAdvancedSyncAction<S, F extends (...args: any[]) => any, A, P>(\n action: StateDecoratorAction<S, F, A, P>,\n test: (action: AdvancedSynchAction<S, F, A, P>) => any | Promise<any>\n) {\n if (isAdvancedSyncAction(action)) {\n return test(action);\n }\n return Promise.reject(new Error('This action is not a synchronous advanced action'));\n}\n\n/**\n * Utility to test a V6 synchronous action using v5 test.\n * @param action The action to test\n * @param test The test function that takes the discrimined action type and cam return a promise\n */\nexport function testV6SyncAction<S, F extends (...args: any[]) => any, A, P>(\n action: StoreAction<S, F, A, P>,\n test: (action: SynchAction<S, F, P>) => any | Promise<any>\n) {\n if (isV6SyncAction(action)) {\n const decoratedAction: SynchAction<S, F, P> = (s, args, p) =>\n action({\n s,\n args,\n p,\n ds: null,\n derived: null,\n state: s,\n props: p,\n promiseId: null,\n });\n\n test(decoratedAction);\n return Promise.resolve();\n }\n return Promise.reject(new Error('This action is not a synchronous action'));\n}\n\n/**\n * Utility to test a V6 synchronous action using v5 test.\n * @param actionIn The action to test\n * @param test The test function that takes the discrimined action type and cam return a promise\n */\nexport function testV6AdvancedSyncAction<S, F extends (...args: any[]) => any, A, P>(\n actionIn: StoreAction<S, F, A, P>,\n test: (action: AdvancedSynchAction<S, F, A, P>) => any | Promise<any>\n) {\n if (isV6AdvancedAction(actionIn)) {\n const decoratedAction: AdvancedSynchAction<S, F, A, P> = {\n action: (s, args, p) =>\n actionIn.effects({\n s,\n args,\n p,\n ds: null,\n derived: null,\n state: s,\n props: p,\n res: null,\n result: null,\n promiseId: null,\n }),\n\n onActionDone: (s, args, p, a, notifyWarning) => {\n actionIn.sideEffects({\n s,\n args,\n p,\n a,\n notifyWarning,\n ds: null,\n derived: null,\n state: s,\n props: p,\n actions: a,\n res: null,\n result: null,\n promiseId: null,\n });\n },\n };\n\n test(decoratedAction);\n\n return Promise.resolve();\n }\n return Promise.reject(new Error('This action is not a synchronous action'));\n}\n\n/**\n * Utility to test a V6 synchronous action using v5 test.\n * @param actionIn The action to test\n * @param test The test function that takes the discrimined action type and cam return a promise\n */\nexport function testV6AsyncAction<S, F extends (...args: any[]) => any, A, P>(\n actionIn: StoreAction<S, F, A, P>,\n test: (action: AsynchAction<S, F, A, P>) => any | Promise<any>\n) {\n if (isV6AsyncAction(actionIn)) {\n const decoratedAction: AsynchAction<S, F, A, P> = {\n abortable: actionIn.abortable,\n rejectPromiseOnError: actionIn.rejectPromiseOnError,\n retryCount: actionIn.retryCount,\n retryDelaySeed: actionIn.retryDelaySeed,\n isTriggerRetryError: actionIn.isTriggerRetryError,\n conflictPolicy: actionIn.conflictPolicy,\n getPromiseId: actionIn.getPromiseId,\n\n promise: (args, s, p, a, abortSignal) => {\n if (isV6AsyncGetPromiseAction(actionIn)) {\n return actionIn.getPromise({\n s,\n args,\n p,\n a,\n abortSignal,\n ds: null,\n derived: null,\n state: s,\n props: p,\n actions: a,\n promiseId: null,\n });\n }\n return actionIn.getGetPromise({\n s,\n args,\n p,\n a,\n abortSignal,\n ds: null,\n derived: null,\n state: s,\n props: p,\n actions: a,\n promiseId: null,\n });\n },\n\n promiseGet: (args, s, p, a, abortSignal) => {\n if (isV6AsyncGetPromiseGetAction(actionIn)) {\n return actionIn.getGetPromise({\n s,\n args,\n p,\n a,\n abortSignal,\n ds: null,\n derived: null,\n state: s,\n props: p,\n actions: a,\n promiseId: null,\n });\n }\n return null;\n },\n\n reducer: (s, res, args, p) =>\n actionIn.effects\n ? actionIn.effects({\n s,\n args,\n p,\n res,\n ds: null,\n derived: null,\n state: s,\n props: p,\n result: res,\n promiseId: null,\n })\n : null,\n\n preReducer: (s, args, p) =>\n actionIn.preEffects\n ? actionIn.preEffects({\n s,\n args,\n p,\n ds: null,\n derived: null,\n state: s,\n props: p,\n promiseId: null,\n })\n : null,\n optimisticReducer: (s, args, p) =>\n actionIn.optimisticEffects\n ? actionIn.optimisticEffects({\n s,\n args,\n p,\n ds: null,\n derived: null,\n state: s,\n props: p,\n promiseId: actionIn.getPromiseId?.(...args),\n })\n : null,\n\n errorReducer: (s, err, args, p) =>\n actionIn.errorEffects\n ? actionIn.errorEffects({\n s,\n args,\n p,\n err,\n ds: null,\n derived: null,\n state: s,\n props: p,\n error: err,\n promiseId: actionIn.getPromiseId?.(...args),\n })\n : null,\n\n onDone: (s, res, args, p, a, notifyWarning) => {\n actionIn.sideEffects?.({\n s,\n args,\n p,\n a,\n res,\n notifyWarning,\n ds: null,\n derived: null,\n state: s,\n props: p,\n actions: a,\n result: res,\n promiseId: actionIn.getPromiseId?.(...args),\n });\n },\n\n onFail: (s, err, args, p, a, notifyWarning) => {\n actionIn.errorSideEffects?.({\n s,\n args,\n p,\n a,\n err,\n notifyWarning,\n ds: null,\n derived: null,\n state: s,\n props: p,\n actions: a,\n error: err,\n promiseId: actionIn.getPromiseId?.(...args),\n });\n },\n\n getErrorMessage: (err, args, p) =>\n actionIn.getErrorMessage?.({\n err,\n p,\n args,\n ds: null,\n derived: null,\n state: null,\n s: null,\n error: err,\n props: p,\n promiseId: actionIn.getPromiseId?.(...args),\n }),\n\n getSuccessMessage: (res, args, p) =>\n actionIn.getSuccessMessage?.({\n res,\n args,\n p,\n ds: null,\n derived: null,\n state: null,\n s: null,\n result: res,\n props: p,\n promiseId: actionIn.getPromiseId?.(...args),\n }),\n };\n return test(decoratedAction);\n }\n return Promise.reject(new Error('This action is not a synchronous action'));\n}\n"],"names":["module","arr","len","length","i","arr2","Array","exports","isArray","arrayLikeToArray","iter","Symbol","iterator","Object","from","o","minLen","n","prototype","toString","call","slice","constructor","name","test","TypeError","arrayWithoutHoles","iterableToArray","unsupportedIterableToArray","nonIterableSpread","obj","key","value","defineProperty","enumerable","configurable","writable","isAsyncAction","action","Function","hasOwnProperty","isAsyncPromiseGetAction","isSyncAction","isAdvancedSyncAction","testAsyncAction","promise","promiseGet","retryCount","conflictPolicy","ConflictPolicy","REUSE","computeAsyncActionInput","Promise","reject","Error","testSyncAction","testAdvancedSyncAction","testV6SyncAction","isV6SyncAction","s","args","p","ds","derived","state","props","promiseId","resolve","testV6AdvancedSyncAction","actionIn","isV6AdvancedAction","effects","res","result","onActionDone","a","notifyWarning","sideEffects","actions","testV6AsyncAction","isV6AsyncAction","abortable","rejectPromiseOnError","retryDelaySeed","isTriggerRetryError","getPromiseId","abortSignal","isV6AsyncGetPromiseAction","getPromise","getGetPromise","isV6AsyncGetPromiseGetAction","reducer","preReducer","preEffects","optimisticReducer","optimisticEffects","_actionIn$getPromiseI","errorReducer","err","errorEffects","error","_actionIn$getPromiseI2","onDone","_actionIn$getPromiseI3","onFail","errorSideEffects","_actionIn$getPromiseI4","getErrorMessage","_actionIn$getErrorMes","_actionIn$getPromiseI5","getSuccessMessage","_actionIn$getSuccessM","_actionIn$getPromiseI6"],"mappings":"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"}