@mic-rexjs/usecases-react 1.3.32

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 (46) hide show
  1. package/README.md +187 -0
  2. package/dist/index.min.js +2 -0
  3. package/dist/index.min.js.LICENSE.txt +9 -0
  4. package/es/components/UseCaseFragment/index.d.ts +3 -0
  5. package/es/components/UseCaseFragment/index.js +7 -0
  6. package/es/components/UseCaseFragment/types.d.ts +7 -0
  7. package/es/components/UseCaseFragment/types.js +1 -0
  8. package/es/configs/defaultUseCaseContext/index.d.ts +2 -0
  9. package/es/configs/defaultUseCaseContext/index.js +2 -0
  10. package/es/configs/usecaseContextMap/index.d.ts +3 -0
  11. package/es/configs/usecaseContextMap/index.js +1 -0
  12. package/es/configs/usecaseContextMap/types.d.ts +20 -0
  13. package/es/configs/usecaseContextMap/types.js +1 -0
  14. package/es/core/usecases/optionsGetterCellectionUseCase/index.d.ts +2 -0
  15. package/es/core/usecases/optionsGetterCellectionUseCase/index.js +13 -0
  16. package/es/core/usecases/optionsGetterCellectionUseCase/types.d.ts +8 -0
  17. package/es/core/usecases/optionsGetterCellectionUseCase/types.js +1 -0
  18. package/es/hooks/useOptionsTransfer/index.d.ts +3 -0
  19. package/es/hooks/useOptionsTransfer/index.js +15 -0
  20. package/es/hooks/useUseCase/index.d.ts +2 -0
  21. package/es/hooks/useUseCase/index.js +99 -0
  22. package/es/hooks/useUseCase/index.test.d.ts +1 -0
  23. package/es/hooks/useUseCase/index.test.js +670 -0
  24. package/es/hooks/useUseCase/methods/triggerCallbacks/index.d.ts +3 -0
  25. package/es/hooks/useUseCase/methods/triggerCallbacks/index.js +11 -0
  26. package/es/hooks/useUseCase/methods/triggerWatchers/index.d.ts +2 -0
  27. package/es/hooks/useUseCase/methods/triggerWatchers/index.js +10 -0
  28. package/es/hooks/useUseCase/types.d.ts +25 -0
  29. package/es/hooks/useUseCase/types.js +1 -0
  30. package/es/index.d.ts +2 -0
  31. package/es/index.js +2 -0
  32. package/lib/components/UseCaseFragment/index.js +20 -0
  33. package/lib/components/UseCaseFragment/types.js +5 -0
  34. package/lib/configs/defaultUseCaseContext/index.js +9 -0
  35. package/lib/configs/usecaseContextMap/index.js +8 -0
  36. package/lib/configs/usecaseContextMap/types.js +5 -0
  37. package/lib/core/usecases/optionsGetterCellectionUseCase/index.js +23 -0
  38. package/lib/core/usecases/optionsGetterCellectionUseCase/types.js +5 -0
  39. package/lib/hooks/useOptionsTransfer/index.js +23 -0
  40. package/lib/hooks/useUseCase/index.js +135 -0
  41. package/lib/hooks/useUseCase/index.test.js +951 -0
  42. package/lib/hooks/useUseCase/methods/triggerCallbacks/index.js +32 -0
  43. package/lib/hooks/useUseCase/methods/triggerWatchers/index.js +22 -0
  44. package/lib/hooks/useUseCase/types.js +5 -0
  45. package/lib/index.js +27 -0
  46. package/package.json +84 -0
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.triggerCallbacks = void 0;
7
+ var _triggerWatchers = require("../triggerWatchers");
8
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
9
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
10
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
11
+ var triggerCallbacks = function triggerCallbacks(getterList, newEntity, prevEntity) {
12
+ var _iterator = _createForOfIteratorHelper(getterList),
13
+ _step;
14
+ try {
15
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
16
+ var getter = _step.value;
17
+ var _getter = getter(),
18
+ onChange = _getter.onChange,
19
+ watch = _getter.watch;
20
+ onChange === null || onChange === void 0 ? void 0 : onChange(newEntity, prevEntity);
21
+ if (!watch) {
22
+ continue;
23
+ }
24
+ (0, _triggerWatchers.triggerWatchers)(watch, newEntity, prevEntity);
25
+ }
26
+ } catch (err) {
27
+ _iterator.e(err);
28
+ } finally {
29
+ _iterator.f();
30
+ }
31
+ };
32
+ exports.triggerCallbacks = triggerCallbacks;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.triggerWatchers = void 0;
8
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
+ var triggerWatchers = function triggerWatchers(watch, newEntity, prevEntity) {
10
+ for (var _i = 0, _Object$entries = Object.entries(watch); _i < _Object$entries.length; _i++) {
11
+ var _Object$entries$_i = (0, _slicedToArray2["default"])(_Object$entries[_i], 2),
12
+ property = _Object$entries$_i[0],
13
+ watcher = _Object$entries$_i[1];
14
+ var newValue = newEntity === null || newEntity === void 0 ? void 0 : newEntity[property];
15
+ var prevValue = prevEntity === null || prevEntity === void 0 ? void 0 : prevEntity[property];
16
+ if (newValue === prevValue) {
17
+ continue;
18
+ }
19
+ watcher(newEntity, prevEntity);
20
+ }
21
+ };
22
+ exports.triggerWatchers = triggerWatchers;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
package/lib/index.js ADDED
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _UseCaseFragment = require("./components/UseCaseFragment");
7
+ Object.keys(_UseCaseFragment).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _UseCaseFragment[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function get() {
13
+ return _UseCaseFragment[key];
14
+ }
15
+ });
16
+ });
17
+ var _useUseCase = require("./hooks/useUseCase");
18
+ Object.keys(_useUseCase).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (key in exports && exports[key] === _useUseCase[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function get() {
24
+ return _useUseCase[key];
25
+ }
26
+ });
27
+ });
package/package.json ADDED
@@ -0,0 +1,84 @@
1
+ {
2
+ "name": "@mic-rexjs/usecases-react",
3
+ "version": "1.3.32",
4
+ "description": "React-based solution for use usecases of Clean Architecture",
5
+ "private": false,
6
+ "keywords": [
7
+ "clean architecture",
8
+ "entity",
9
+ "usecase",
10
+ "use case",
11
+ "react",
12
+ "hooks"
13
+ ],
14
+ "scripts": {},
15
+ "main": "lib/index.js",
16
+ "module": "es/index.js",
17
+ "typings": "es/index.d.ts",
18
+ "unpkg": "dist/index.min.js",
19
+ "files": [
20
+ "lib",
21
+ "es",
22
+ "dist",
23
+ "package.json",
24
+ "README.md"
25
+ ],
26
+ "repository": {
27
+ "type": "git",
28
+ "url": "git+https://github.com/mic-rexjs/usecase-react"
29
+ },
30
+ "homepage": "https://github.com/mic-rexjs/usecase-react#README.md",
31
+ "author": {
32
+ "name": "Michael Lee",
33
+ "email": "hello_zaizi@163.com"
34
+ },
35
+ "license": "MIT",
36
+ "peerDependencies": {
37
+ "@mic-rexjs/usecases": "^1.4.4",
38
+ "ahooks": "^3.7.8",
39
+ "react": "^18.2.0"
40
+ },
41
+ "devDependencies": {
42
+ "@babel/cli": "^7.22.9",
43
+ "@babel/core": "^7.22.8",
44
+ "@babel/plugin-transform-runtime": "^7.22.7",
45
+ "@babel/preset-env": "^7.22.7",
46
+ "@babel/preset-react": "^7.22.5",
47
+ "@babel/preset-typescript": "^7.22.5",
48
+ "@commitlint/cli": "^17.6.6",
49
+ "@commitlint/config-angular": "^17.6.6",
50
+ "@jest/globals": "^29.5.0",
51
+ "@mic-rexjs/usecases": "^1.4.4",
52
+ "@testing-library/react": "^14.0.0",
53
+ "@types/node": "^20.4.2",
54
+ "@types/react": "^18.2.14",
55
+ "@types/react-dom": "^18.2.7",
56
+ "@typescript-eslint/eslint-plugin": "^5.60.1",
57
+ "@typescript-eslint/parser": "^5.60.1",
58
+ "ahooks": "^3.7.8",
59
+ "babel-loader": "^9.1.3",
60
+ "copy-webpack-plugin": "^11.0.0",
61
+ "eslint": "^8.42.0",
62
+ "eslint-config-prettier": "^8.8.0",
63
+ "eslint-plugin-jest": "^27.2.1",
64
+ "eslint-plugin-prettier": "^4.2.1",
65
+ "eslint-plugin-react-hooks": "^4.6.0",
66
+ "husky": "^8.0.1",
67
+ "jest": "^29.5.0",
68
+ "jest-environment-jsdom": "^29.6.1",
69
+ "lint-staged": "^13.0.3",
70
+ "prettier": "^2.7.1",
71
+ "react": "^18.2.0",
72
+ "react-dom": "^18.2.0",
73
+ "rimraf": "^5.0.1",
74
+ "ts-jest": "^29.1.0",
75
+ "ts-node": "^10.9.1",
76
+ "tsc-alias": "^1.8.7",
77
+ "typescript": "^5.1.5",
78
+ "webpack": "^5.74.0",
79
+ "webpack-cli": "^4.10.0"
80
+ },
81
+ "lint-staged": {
82
+ "./**/*.{js,ts,tsx}": "eslint"
83
+ }
84
+ }