@kachina/hooks 0.0.1-beta.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 (63) hide show
  1. package/README.md +41 -0
  2. package/dist/cjs/Biz/useDictionary/index.d.ts +32 -0
  3. package/dist/cjs/Biz/useDictionary/index.d.ts.map +1 -0
  4. package/dist/cjs/Biz/useDictionary/index.js +66 -0
  5. package/dist/cjs/Biz/useDictionary/services.d.ts +3 -0
  6. package/dist/cjs/Biz/useDictionary/services.d.ts.map +1 -0
  7. package/dist/cjs/Biz/useDictionary/services.js +42 -0
  8. package/dist/cjs/Biz/useQueryList/index.d.ts +13 -0
  9. package/dist/cjs/Biz/useQueryList/index.d.ts.map +1 -0
  10. package/dist/cjs/Biz/useQueryList/index.js +90 -0
  11. package/dist/cjs/Biz/useQueryList/services.d.ts +8 -0
  12. package/dist/cjs/Biz/useQueryList/services.d.ts.map +1 -0
  13. package/dist/cjs/Biz/useQueryList/services.js +47 -0
  14. package/dist/cjs/Biz/useQueryList/utils.d.ts +36 -0
  15. package/dist/cjs/Biz/useQueryList/utils.d.ts.map +1 -0
  16. package/dist/cjs/Biz/useQueryList/utils.js +63 -0
  17. package/dist/cjs/Effect/useOneValidEffect/index.d.ts +9 -0
  18. package/dist/cjs/Effect/useOneValidEffect/index.d.ts.map +1 -0
  19. package/dist/cjs/Effect/useOneValidEffect/index.js +39 -0
  20. package/dist/cjs/Effect/useUpdateEffect/index.d.ts +8 -0
  21. package/dist/cjs/Effect/useUpdateEffect/index.d.ts.map +1 -0
  22. package/dist/cjs/Effect/useUpdateEffect/index.js +36 -0
  23. package/dist/cjs/State/useDialState/index.d.ts +3 -0
  24. package/dist/cjs/State/useDialState/index.d.ts.map +1 -0
  25. package/dist/cjs/State/useDialState/index.js +35 -0
  26. package/dist/cjs/State/useSwitch/index.d.ts +19 -0
  27. package/dist/cjs/State/useSwitch/index.d.ts.map +1 -0
  28. package/dist/cjs/State/useSwitch/index.js +63 -0
  29. package/dist/cjs/index.d.ts +11 -0
  30. package/dist/cjs/index.d.ts.map +1 -0
  31. package/dist/cjs/index.js +54 -0
  32. package/dist/esm/Biz/useDictionary/index.d.ts +32 -0
  33. package/dist/esm/Biz/useDictionary/index.d.ts.map +1 -0
  34. package/dist/esm/Biz/useDictionary/index.js +70 -0
  35. package/dist/esm/Biz/useDictionary/services.d.ts +3 -0
  36. package/dist/esm/Biz/useDictionary/services.d.ts.map +1 -0
  37. package/dist/esm/Biz/useDictionary/services.js +6 -0
  38. package/dist/esm/Biz/useQueryList/index.d.ts +13 -0
  39. package/dist/esm/Biz/useQueryList/index.d.ts.map +1 -0
  40. package/dist/esm/Biz/useQueryList/index.js +129 -0
  41. package/dist/esm/Biz/useQueryList/services.d.ts +8 -0
  42. package/dist/esm/Biz/useQueryList/services.d.ts.map +1 -0
  43. package/dist/esm/Biz/useQueryList/services.js +12 -0
  44. package/dist/esm/Biz/useQueryList/utils.d.ts +36 -0
  45. package/dist/esm/Biz/useQueryList/utils.d.ts.map +1 -0
  46. package/dist/esm/Biz/useQueryList/utils.js +43 -0
  47. package/dist/esm/Effect/useOneValidEffect/index.d.ts +9 -0
  48. package/dist/esm/Effect/useOneValidEffect/index.d.ts.map +1 -0
  49. package/dist/esm/Effect/useOneValidEffect/index.js +25 -0
  50. package/dist/esm/Effect/useUpdateEffect/index.d.ts +8 -0
  51. package/dist/esm/Effect/useUpdateEffect/index.d.ts.map +1 -0
  52. package/dist/esm/Effect/useUpdateEffect/index.js +17 -0
  53. package/dist/esm/State/useDialState/index.d.ts +3 -0
  54. package/dist/esm/State/useDialState/index.d.ts.map +1 -0
  55. package/dist/esm/State/useDialState/index.js +29 -0
  56. package/dist/esm/State/useSwitch/index.d.ts +19 -0
  57. package/dist/esm/State/useSwitch/index.d.ts.map +1 -0
  58. package/dist/esm/State/useSwitch/index.js +56 -0
  59. package/dist/esm/index.d.ts +11 -0
  60. package/dist/esm/index.d.ts.map +1 -0
  61. package/dist/esm/index.js +11 -0
  62. package/dist/umd/hooks.min.js +1 -0
  63. package/package.json +74 -0
@@ -0,0 +1,63 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // src/State/useSwitch/index.ts
20
+ var useSwitch_exports = {};
21
+ __export(useSwitch_exports, {
22
+ default: () => useSwitch_default
23
+ });
24
+ module.exports = __toCommonJS(useSwitch_exports);
25
+ var import_react = require("react");
26
+ var useSwitch = (names) => {
27
+ const [state, setState] = (0, import_react.useState)(() => {
28
+ const initial = {};
29
+ names.forEach((item) => {
30
+ if (typeof item === "string")
31
+ initial[item] = false;
32
+ else
33
+ Object.assign(initial, item);
34
+ });
35
+ return initial;
36
+ });
37
+ const [data, setData] = (0, import_react.useState)(() => {
38
+ const result = {};
39
+ Object.keys(state).forEach((name) => {
40
+ result[name] = void 0;
41
+ });
42
+ return result;
43
+ });
44
+ const toggleSwitch = (0, import_react.useCallback)(
45
+ (option, record) => {
46
+ const options = Array.isArray(option) ? option : [option];
47
+ const records = Array.isArray(record) ? record : record ? [record] : [];
48
+ setState((st) => {
49
+ const result = { ...st };
50
+ options.forEach((op) => Object.assign(result, op));
51
+ return result;
52
+ });
53
+ records && setData((dt) => {
54
+ const result = { ...dt };
55
+ records.forEach((rd) => Object.assign(result, rd));
56
+ return result;
57
+ });
58
+ },
59
+ []
60
+ );
61
+ return [state, toggleSwitch, data];
62
+ };
63
+ var useSwitch_default = useSwitch;
@@ -0,0 +1,11 @@
1
+ import useOneValidEffect from './Effect/useOneValidEffect';
2
+ import useUpdateEffect from './Effect/useUpdateEffect';
3
+ import useDialState from './State/useDialState';
4
+ import useSwitch from './State/useSwitch';
5
+ import { useDictionary } from './Biz/useDictionary';
6
+ import { useQueryList } from './Biz/useQueryList';
7
+ export { useOneValidEffect, useUpdateEffect, useDialState, useSwitch, useDictionary, useQueryList, };
8
+ export type { SwitchTarget, UseSwitchReturn } from './State/useSwitch';
9
+ export type { DictOption, DictRequestItem, DictFetcher, GetDictLabel, UseDictionaryResult } from './Biz/useDictionary';
10
+ export type { Pagination, ServiceConfige, ServiceParams, Config, DataType } from './Biz/useQueryList/utils';
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,4BAA4B,CAAC;AAC3D,OAAO,eAAe,MAAM,0BAA0B,CAAC;AACvD,OAAO,YAAY,MAAM,sBAAsB,CAAC;AAChD,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,SAAS,EACT,aAAa,EACb,YAAY,GACb,CAAC;AAGF,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACvE,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,WAAW,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACvH,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,54 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+
29
+ // src/index.ts
30
+ var src_exports = {};
31
+ __export(src_exports, {
32
+ useDialState: () => import_useDialState.default,
33
+ useDictionary: () => import_useDictionary.useDictionary,
34
+ useOneValidEffect: () => import_useOneValidEffect.default,
35
+ useQueryList: () => import_useQueryList.useQueryList,
36
+ useSwitch: () => import_useSwitch.default,
37
+ useUpdateEffect: () => import_useUpdateEffect.default
38
+ });
39
+ module.exports = __toCommonJS(src_exports);
40
+ var import_useOneValidEffect = __toESM(require("./Effect/useOneValidEffect"));
41
+ var import_useUpdateEffect = __toESM(require("./Effect/useUpdateEffect"));
42
+ var import_useDialState = __toESM(require("./State/useDialState"));
43
+ var import_useSwitch = __toESM(require("./State/useSwitch"));
44
+ var import_useDictionary = require("./Biz/useDictionary");
45
+ var import_useQueryList = require("./Biz/useQueryList");
46
+ // Annotate the CommonJS export names for ESM import in node:
47
+ 0 && (module.exports = {
48
+ useDialState,
49
+ useDictionary,
50
+ useOneValidEffect,
51
+ useQueryList,
52
+ useSwitch,
53
+ useUpdateEffect
54
+ });
@@ -0,0 +1,32 @@
1
+ export interface DictOption {
2
+ label: string;
3
+ value: string | number;
4
+ [key: string]: unknown;
5
+ }
6
+ export type DictRequestItem = {
7
+ /** 字典名称,同时作为返回对象上的属性名 */
8
+ name: string;
9
+ /** 该字典的请求参数 */
10
+ params?: Record<string, unknown>;
11
+ } | string;
12
+ export type DictFetcher = (item: DictRequestItem) => Promise<DictOption[]>;
13
+ export type GetDictLabel = (options: DictOption[] | undefined, value: DictOption['value'] | null | undefined, defaultLabel?: string) => string;
14
+ export type UseDictionaryResult<T extends string = string> = Record<T, DictOption[]> & {
15
+ /** 是否在获取字典 */
16
+ loading: boolean;
17
+ /** 转码函数:根据字典数组、字典码值、默认反显的 label 返回对应 label */
18
+ getLabel: GetDictLabel;
19
+ };
20
+ /**
21
+ * useDictionary
22
+ * 批量请求字典的 hook。
23
+ * @param options 配置项,配置如service请求接口
24
+ * @param dictList 字典配置数组,如 [{ name: '字典1', params: { type: 'xxx' } }]
25
+ * @param deps 依赖数组,用法同 useEffect 的 deps,变化时重新请求
26
+ * @returns 以字典名为属性名的字典数组集合,附带 loading 标识和 getLabel 转码函数
27
+ */
28
+ export declare const useDictionary: <T extends string = string>({ service, }: {
29
+ service: (list: DictRequestItem[]) => Promise<DictOption[][]>;
30
+ }, dictList: DictRequestItem[], deps?: unknown[]) => UseDictionaryResult<T>;
31
+ export declare const useDictionaryDemo: (dictList: DictRequestItem[], deps?: unknown[] | undefined) => UseDictionaryResult<string>;
32
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Biz/useDictionary/index.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,eAAe;IACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC,GAAG,MAAM,CAAA;AAEV,MAAM,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,eAAe,KAAK,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;AAE3E,MAAM,MAAM,YAAY,GAAG,CACzB,OAAO,EAAE,UAAU,EAAE,GAAG,SAAS,EACjC,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,EAC7C,YAAY,CAAC,EAAE,MAAM,KAClB,MAAM,CAAC;AAEZ,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,MAAM,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,GAAG;IACrF,cAAc;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,8CAA8C;IAC9C,QAAQ,EAAE,YAAY,CAAC;CACxB,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa;oBAIN,eAAe,EAAE,KAAK,QAAQ,UAAU,EAAE,EAAE,CAAC;aAErD,eAAe,EAAE,SACrB,OAAO,EAAE,KACd,oBAAoB,CAAC,CA6BvB,CAAC;AAQF,eAAO,MAAM,iBAAiB,4FAAgE,CAAA"}
@@ -0,0 +1,70 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
6
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
8
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
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
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
12
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
13
+ import { useEffect, useState } from 'react';
14
+ import { queryDictionaryService } from "./services";
15
+ /**
16
+ * useDictionary
17
+ * 批量请求字典的 hook。
18
+ * @param options 配置项,配置如service请求接口
19
+ * @param dictList 字典配置数组,如 [{ name: '字典1', params: { type: 'xxx' } }]
20
+ * @param deps 依赖数组,用法同 useEffect 的 deps,变化时重新请求
21
+ * @returns 以字典名为属性名的字典数组集合,附带 loading 标识和 getLabel 转码函数
22
+ */
23
+ export var useDictionary = function useDictionary(_ref, dictList) {
24
+ var service = _ref.service;
25
+ var deps = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
26
+ var _useState = useState(function () {
27
+ var map = {};
28
+ dictList.forEach(function (item) {
29
+ map[typeof item === 'string' ? item : item.name] = [];
30
+ });
31
+ return map;
32
+ }),
33
+ _useState2 = _slicedToArray(_useState, 2),
34
+ dicts = _useState2[0],
35
+ setDicts = _useState2[1];
36
+ var _useState3 = useState(false),
37
+ _useState4 = _slicedToArray(_useState3, 2),
38
+ loading = _useState4[0],
39
+ setLoading = _useState4[1];
40
+ useEffect(function () {
41
+ setLoading(true);
42
+ service(dictList).then(function (results) {
43
+ var map = {};
44
+ dictList.forEach(function (item, index) {
45
+ var _results$index;
46
+ map[typeof item === 'string' ? item : item.name] = (_results$index = results[index]) !== null && _results$index !== void 0 ? _results$index : [];
47
+ });
48
+ setDicts(map);
49
+ setLoading(false);
50
+ }).catch(function (error) {
51
+ console.error(error);
52
+ setLoading(false);
53
+ });
54
+ }, deps);
55
+ return _objectSpread(_objectSpread({}, dicts), {}, {
56
+ loading: loading,
57
+ getLabel: getLabel
58
+ });
59
+ };
60
+ var getLabel = function getLabel(options, value) {
61
+ var defaultLabel = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
62
+ if (value === null || value === undefined) return defaultLabel;
63
+ var target = options === null || options === void 0 ? void 0 : options.find(function (option) {
64
+ return String(option.value) === String(value);
65
+ });
66
+ return target ? target.label : defaultLabel;
67
+ };
68
+ export var useDictionaryDemo = useDictionary.bind(null, {
69
+ service: queryDictionaryService
70
+ });
@@ -0,0 +1,3 @@
1
+ import { DictRequestItem } from './index';
2
+ export declare const queryDictionaryService: (dictList: DictRequestItem[]) => Promise<any>;
3
+ //# sourceMappingURL=services.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../../src/Biz/useDictionary/services.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,eAAO,MAAM,sBAAsB,aAAa,eAAe,EAAE,iBAGhE,CAAA"}
@@ -0,0 +1,6 @@
1
+ import axios from 'axios';
2
+ export var queryDictionaryService = function queryDictionaryService(dictList) {
3
+ return axios.post('/mockApi/queryDictionaryService', dictList).then(function (res) {
4
+ return res.data;
5
+ });
6
+ };
@@ -0,0 +1,13 @@
1
+ import { DependencyList } from 'react';
2
+ import { Config, DataType } from './utils';
3
+ interface ParamsType {
4
+ api?: string;
5
+ payload?: Record<string, any>;
6
+ validateFields?: () => Promise<Record<string, any>>;
7
+ fieldsHandle?: (params: Record<string, any>) => Record<string, any>;
8
+ listName?: string;
9
+ }
10
+ export declare const useQueryList: <F>(config: Config, params: ParamsType, deps?: DependencyList) => readonly [DataType, (page?: number, pageSize?: number, emptyRows?: boolean) => Promise<boolean>, (selectedRowKeys: any[], selectedRows: any[]) => void, () => void];
11
+ export declare const useQueryListDemo: (params: ParamsType, deps?: DependencyList | undefined) => readonly [DataType, (page?: number, pageSize?: number, emptyRows?: boolean) => Promise<boolean>, (selectedRowKeys: any[], selectedRows: any[]) => void, () => void];
12
+ export {};
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Biz/useQueryList/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,cAAc,EAAE,MAAM,OAAO,CAAC;AAEjD,OAAO,EAAmB,MAAM,EAA0B,QAAQ,EAAE,MAAM,SAAS,CAAC;AAIpF,UAAU,UAAU;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IACpD,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACpE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AACD,eAAO,MAAM,YAAY,cACb,MAAM,UACN,UAAU,2GAef,QAAQ,OAAO,CAAC,oEAoCtB,CAAA;AAGD,eAAO,MAAM,gBAAgB,4IAvCtB,QAAQ,OAAO,CAAC,oEAuC4D,CAAC"}
@@ -0,0 +1,129 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
3
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
7
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
8
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
9
+ function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
10
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
11
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
12
+ 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); }
13
+ 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; }
14
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
15
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
16
+ import { useState } from 'react';
17
+ import useOneValidEffect from "../../Effect/useOneValidEffect";
18
+ import { setDefaultValue, setSelect, getInitData } from "./utils";
19
+ import { queryListDemo } from "./services";
20
+ export var useQueryList = function useQueryList(config, params) {
21
+ var deps = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [true];
22
+ var _params$payload = params.payload,
23
+ payload = _params$payload === void 0 ? {} : _params$payload,
24
+ api = params.api,
25
+ validateFields = params.validateFields,
26
+ fieldsHandle = params.fieldsHandle,
27
+ listName = params.listName;
28
+ var option = setDefaultValue(config);
29
+ var _useState = useState(getInitData(option)),
30
+ _useState2 = _slicedToArray(_useState, 2),
31
+ data = _useState2[0],
32
+ setData = _useState2[1];
33
+ var resetData = function resetData() {
34
+ return setData(getInitData(option));
35
+ };
36
+ useOneValidEffect(function () {
37
+ var _data$pagination, _data$pagination2;
38
+ searchData(data === null || data === void 0 || (_data$pagination = data.pagination) === null || _data$pagination === void 0 ? void 0 : _data$pagination.current, data === null || data === void 0 || (_data$pagination2 = data.pagination) === null || _data$pagination2 === void 0 ? void 0 : _data$pagination2.pageSize);
39
+ }, deps);
40
+ var searchData = /*#__PURE__*/function () {
41
+ var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
42
+ var _data$pagination3, _data$pagination4;
43
+ var page,
44
+ pageSize,
45
+ emptyRows,
46
+ queryParams,
47
+ formData,
48
+ result,
49
+ _result$dataList,
50
+ dataList,
51
+ pagination,
52
+ _args = arguments;
53
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
54
+ while (1) switch (_context.prev = _context.next) {
55
+ case 0:
56
+ page = _args.length > 0 && _args[0] !== undefined ? _args[0] : data === null || data === void 0 || (_data$pagination3 = data.pagination) === null || _data$pagination3 === void 0 ? void 0 : _data$pagination3.current;
57
+ pageSize = _args.length > 1 && _args[1] !== undefined ? _args[1] : data === null || data === void 0 || (_data$pagination4 = data.pagination) === null || _data$pagination4 === void 0 ? void 0 : _data$pagination4.pageSize;
58
+ emptyRows = _args.length > 2 && _args[2] !== undefined ? _args[2] : true;
59
+ setData(function (i) {
60
+ return _objectSpread(_objectSpread({}, i), {}, {
61
+ loading: true
62
+ });
63
+ });
64
+ queryParams = _objectSpread(_objectSpread({}, payload), {}, _defineProperty(_defineProperty({}, option.page, page), option.pageSize, pageSize));
65
+ _context.prev = 5;
66
+ if (!validateFields) {
67
+ _context.next = 11;
68
+ break;
69
+ }
70
+ _context.next = 9;
71
+ return validateFields();
72
+ case 9:
73
+ formData = _context.sent;
74
+ Object.assign(queryParams, formData);
75
+ case 11:
76
+ if (fieldsHandle) {
77
+ queryParams = fieldsHandle(queryParams);
78
+ }
79
+ _context.next = 14;
80
+ return option.service({
81
+ api: api,
82
+ payload: queryParams
83
+ }, {
84
+ listName: listName || option.listName
85
+ });
86
+ case 14:
87
+ result = _context.sent;
88
+ if (result) {
89
+ _context.next = 17;
90
+ break;
91
+ }
92
+ throw new Error();
93
+ case 17:
94
+ _result$dataList = result.dataList, dataList = _result$dataList === void 0 ? [] : _result$dataList, pagination = result.pagination;
95
+ setData(function (i) {
96
+ return _objectSpread(_objectSpread({}, i), {}, {
97
+ list: dataList,
98
+ pagination: pagination,
99
+ loading: false,
100
+ selectedRowKeys: emptyRows ? [] : i.selectedRowKeys,
101
+ selectedRows: emptyRows ? [] : i.selectedRows
102
+ });
103
+ });
104
+ return _context.abrupt("return", true);
105
+ case 22:
106
+ _context.prev = 22;
107
+ _context.t0 = _context["catch"](5);
108
+ setData(function (i) {
109
+ return _objectSpread(_objectSpread({}, i), {}, {
110
+ loading: false
111
+ });
112
+ });
113
+ console.error(_context.t0);
114
+ return _context.abrupt("return", false);
115
+ case 27:
116
+ case "end":
117
+ return _context.stop();
118
+ }
119
+ }, _callee, null, [[5, 22]]);
120
+ }));
121
+ return function searchData() {
122
+ return _ref.apply(this, arguments);
123
+ };
124
+ }();
125
+ return [data, searchData, setSelect(setData), resetData];
126
+ };
127
+ export var useQueryListDemo = useQueryList.bind(null, {
128
+ service: queryListDemo
129
+ });
@@ -0,0 +1,8 @@
1
+ import { ServiceParams, Pagination } from './utils';
2
+ export declare const queryListDemo: ({ api, payload }: ServiceParams, { listName }: {
3
+ listName: string;
4
+ }) => Promise<{
5
+ dataList: Record<string, any>[];
6
+ pagination: Pagination;
7
+ }>;
8
+ //# sourceMappingURL=services.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../../src/Biz/useQueryList/services.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAEpD,eAAO,MAAM,aAAa,qBAAqB,aAAa;cAA4B,MAAM;MAAI,QAAQ;IAAC,QAAQ,EAAE,OAAO,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;IAAC,UAAU,EAAE,UAAU,CAAA;CAAC,CAQlK,CAAA"}
@@ -0,0 +1,12 @@
1
+ import axios from 'axios';
2
+ export var queryListDemo = function queryListDemo(_ref, _ref2) {
3
+ var api = _ref.api,
4
+ payload = _ref.payload;
5
+ var listName = _ref2.listName;
6
+ return axios.post(api !== null && api !== void 0 ? api : '/queryListDemoService', payload).then(function (res) {
7
+ return {
8
+ dataList: res.data[listName],
9
+ pagination: res.data.pagination
10
+ };
11
+ });
12
+ };
@@ -0,0 +1,36 @@
1
+ import { Dispatch } from 'react';
2
+ export interface Pagination {
3
+ total: number;
4
+ pageSize: number;
5
+ current: number;
6
+ }
7
+ export interface ServiceConfige {
8
+ listName: string;
9
+ }
10
+ export type ServiceParams = {
11
+ api?: string;
12
+ payload?: Record<string, any>;
13
+ };
14
+ export interface Config {
15
+ page?: string;
16
+ pageSize?: string;
17
+ pagination?: Pagination;
18
+ listName?: string;
19
+ service?: (params: ServiceParams, { listName }: ServiceConfige) => Promise<{
20
+ dataList: Record<string, any>[];
21
+ pagination: Pagination;
22
+ }>;
23
+ }
24
+ export declare const setDefaultValue: (option: Config) => Required<Config>;
25
+ export interface DataType {
26
+ list: any[];
27
+ selectedRowKeys: string[] | number[];
28
+ selectedRows: any[];
29
+ pagination: Pagination;
30
+ loading: boolean;
31
+ }
32
+ export declare const getInitData: (option: Required<Config>) => DataType;
33
+ type SetData = Dispatch<React.SetStateAction<DataType>>;
34
+ export declare const setSelect: (setData: SetData) => (selectedRowKeys: any[], selectedRows: any[]) => void;
35
+ export {};
36
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/Biz/useQueryList/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,MAAM,WAAW,UAAU;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC3B,QAAQ,EAAE,MAAM,CAAC;CACpB;AACD,MAAM,MAAM,aAAa,GAAG;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACjC,CAAA;AAED,MAAM,WAAW,MAAM;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,QAAQ,EAAE,EAAC,cAAc,KAAK,OAAO,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;QAAC,UAAU,EAAE,UAAU,CAAA;KAAC,CAAC,CAAC;CACxI;AAGD,eAAO,MAAM,eAAe,WAAY,MAAM,KAAG,SAAS,MAAM,CAU/D,CAAA;AAED,MAAM,WAAW,QAAQ;IACrB,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,eAAe,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;IACrC,YAAY,EAAE,GAAG,EAAE,CAAC;IACpB,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;CACpB;AAGD,eAAO,MAAM,WAAW,WAAY,SAAS,MAAM,CAAC,KAAG,QAQtD,CAAA;AAED,KAAK,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;AAGxD,eAAO,MAAM,SAAS,YAAa,OAAO,uBACb,GAAG,EAAE,gBAAgB,GAAG,EAAE,KAAG,IAOzD,CAAC"}
@@ -0,0 +1,43 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
6
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
+ // 统一设置默认值
8
+ export var setDefaultValue = function setDefaultValue(option) {
9
+ if (!option.pagination) {
10
+ option.pagination = {
11
+ total: 0,
12
+ pageSize: 10,
13
+ current: 1
14
+ };
15
+ }
16
+ if (!option.listName) {
17
+ option.listName = 'dataList';
18
+ }
19
+ if (!option.page) option.page = 'page';
20
+ if (!option.pageSize) option.pageSize = 'pageSize';
21
+ return option;
22
+ };
23
+ // useState 初始化默认值 & 重置
24
+ export var getInitData = function getInitData(option) {
25
+ return {
26
+ list: [],
27
+ selectedRowKeys: [],
28
+ selectedRows: [],
29
+ loading: false,
30
+ pagination: option.pagination
31
+ };
32
+ };
33
+ // 暴露 setSelect 仅用来修改 selectedRowKeys & selectedRows
34
+ export var setSelect = function setSelect(setData) {
35
+ return function (selectedRowKeys, selectedRows) {
36
+ setData(function (prevState) {
37
+ return _objectSpread(_objectSpread({}, prevState), {}, {
38
+ selectedRowKeys: selectedRowKeys,
39
+ selectedRows: selectedRows
40
+ });
41
+ });
42
+ };
43
+ };
@@ -0,0 +1,9 @@
1
+ import { useEffect } from 'react';
2
+ /**
3
+ * useOneValidEffect
4
+ * 用法与 useEffect 完全一致,但只有当依赖数组中所有值的 Boolean 结果都为 true 时,
5
+ * effect 才会执行;且组件整个生命周期内最多执行一次,之后依赖更新不再触发。
6
+ */
7
+ declare const useOneValidEffect: typeof useEffect;
8
+ export default useOneValidEffect;
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Effect/useOneValidEffect/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAU,MAAM,OAAO,CAAC;AAE1C;;;;GAIG;AACH,QAAA,MAAM,iBAAiB,EAAE,OAAO,SAe/B,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { useEffect, useRef } from 'react';
2
+
3
+ /**
4
+ * useOneValidEffect
5
+ * 用法与 useEffect 完全一致,但只有当依赖数组中所有值的 Boolean 结果都为 true 时,
6
+ * effect 才会执行;且组件整个生命周期内最多执行一次,之后依赖更新不再触发。
7
+ */
8
+ var useOneValidEffect = function useOneValidEffect(effect, deps) {
9
+ var hasRun = useRef(false);
10
+ useEffect(function () {
11
+ // 已执行过则不再执行
12
+ if (hasRun.current) {
13
+ return;
14
+ }
15
+ // 依赖存在假值时不执行
16
+ if (deps && deps.some(function (dep) {
17
+ return !dep;
18
+ })) {
19
+ return;
20
+ }
21
+ hasRun.current = true;
22
+ return effect();
23
+ }, deps);
24
+ };
25
+ export default useOneValidEffect;
@@ -0,0 +1,8 @@
1
+ import { useEffect } from 'react';
2
+ /**
3
+ * useUpdateEffect
4
+ * 用法与 useEffect 完全一致,但跳过首次挂载,只在依赖更新时执行 effect。
5
+ */
6
+ declare const useUpdateEffect: typeof useEffect;
7
+ export default useUpdateEffect;
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Effect/useUpdateEffect/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAU,MAAM,OAAO,CAAC;AAE1C;;;GAGG;AACH,QAAA,MAAM,eAAe,EAAE,OAAO,SAU7B,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { useEffect, useRef } from 'react';
2
+
3
+ /**
4
+ * useUpdateEffect
5
+ * 用法与 useEffect 完全一致,但跳过首次挂载,只在依赖更新时执行 effect。
6
+ */
7
+ var useUpdateEffect = function useUpdateEffect(effect, deps) {
8
+ var isMounted = useRef(false);
9
+ useEffect(function () {
10
+ if (!isMounted.current) {
11
+ isMounted.current = true;
12
+ } else {
13
+ return effect();
14
+ }
15
+ }, deps);
16
+ };
17
+ export default useUpdateEffect;
@@ -0,0 +1,3 @@
1
+ declare const useDialState: <T>(getValue: () => T, initialValue: T) => [T, () => void];
2
+ export default useDialState;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/State/useDialState/index.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,YAAY,gBAAiB,MAAM,CAAC,gBAAgB,CAAC,KAAG,CAAC,CAAC,EAAE,MAAM,IAAI,CAU3E,CAAA;AAED,eAAe,YAAY,CAAC"}