@zat-design/sisyphus-react 4.0.11 → 4.0.13

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.
@@ -1,19 +1,72 @@
1
+ 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; }
1
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; }
2
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; }
3
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; }
4
5
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
5
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 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); } }
8
+ 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); }); }; }
6
9
  import { getEnumData, setEnumData, cacheFieldNames } from "./index";
7
10
 
8
11
  /**
9
12
  * 替换频繁枚举缓存数据的参数接口
10
13
  */
11
-
14
+ /**
15
+ * IndexedDB 异步版本的替换频繁枚举缓存数据
16
+ */
17
+ function replaceFrequentEnumCacheAsync(_x) {
18
+ return _replaceFrequentEnumCacheAsync.apply(this, arguments);
19
+ }
12
20
  /**
13
21
  * 替换频繁枚举缓存数据
14
22
  * @param params 参数对象
15
23
  * @returns 更新后的缓存数据
16
24
  */
25
+ function _replaceFrequentEnumCacheAsync() {
26
+ _replaceFrequentEnumCacheAsync = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(params) {
27
+ var storage, cacheKey, enums, newData, fieldNames, clear, cacheData;
28
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
29
+ while (1) switch (_context.prev = _context.next) {
30
+ case 0:
31
+ storage = params.storage, cacheKey = params.cacheKey, enums = params.enums, newData = params.newData, fieldNames = params.fieldNames, clear = params.clear;
32
+ _context.next = 3;
33
+ return Promise.resolve(getEnumData(storage, cacheKey) || {
34
+ data: {}
35
+ });
36
+ case 3:
37
+ cacheData = _context.sent;
38
+ // 确保cacheData.data存在
39
+ if (!cacheData.data) {
40
+ cacheData.data = {};
41
+ }
42
+
43
+ // 只替换指定的枚举
44
+ enums.forEach(code => {
45
+ if (newData[code]) {
46
+ var processedData = newData[code];
47
+
48
+ // 应用数据清洗逻辑
49
+ if (clear && Array.isArray(processedData)) {
50
+ processedData = processedData.map(item => {
51
+ return cacheFieldNames(fieldNames, item);
52
+ });
53
+ }
54
+ cacheData.data[code] = processedData;
55
+ cacheData.time = Date.now();
56
+ }
57
+ });
58
+ _context.next = 8;
59
+ return Promise.resolve(setEnumData(storage, cacheKey, cacheData));
60
+ case 8:
61
+ return _context.abrupt("return", cacheData);
62
+ case 9:
63
+ case "end":
64
+ return _context.stop();
65
+ }
66
+ }, _callee);
67
+ }));
68
+ return _replaceFrequentEnumCacheAsync.apply(this, arguments);
69
+ }
17
70
  export function replaceFrequentEnumCache(params) {
18
71
  var _params$storage = params.storage,
19
72
  storage = _params$storage === void 0 ? 'localStorage' : _params$storage,
@@ -45,7 +98,17 @@ export function replaceFrequentEnumCache(params) {
45
98
  data: {}
46
99
  };
47
100
  }
48
- var cacheData = getEnumData(storage, cacheKey) || {
101
+
102
+ // IndexedDB 异步处理
103
+ if (storage === 'indexedDB') {
104
+ return replaceFrequentEnumCacheAsync(params);
105
+ }
106
+
107
+ // localStorage/sessionStorage 同步处理(保持原逻辑)
108
+ var cacheDataResult = getEnumData(storage, cacheKey);
109
+ // getEnumData 对于非 indexedDB 返回同步值,对于 indexedDB 返回 Promise
110
+ // 这里 storage 不是 indexedDB,所以是同步值
111
+ var cacheData = cacheDataResult || {
49
112
  data: {}
50
113
  };
51
114
 
@@ -1,5 +1,5 @@
1
1
  import { DataOption } from '../propsType';
2
- type StorageType = 'localStorage' | 'sessionStorage';
2
+ type StorageType = 'localStorage' | 'sessionStorage' | 'indexedDB';
3
3
  export declare const baseCacheKey = "zat-design-pro-component-cacheKey";
4
4
  interface EnumRes {
5
5
  data: Record<string, DataOption[]>;
@@ -12,14 +12,20 @@ interface EnumRes {
12
12
  * @param baseEnumStorage
13
13
  * @returns
14
14
  */
15
- export declare function getEnumData(storage: StorageType, cacheKey: string, baseEnumStorage?: any): EnumRes;
15
+ export declare function getEnumData(storage: StorageType, cacheKey: string, baseEnumStorage?: any): EnumRes | Promise<EnumRes>;
16
16
  /**
17
17
  * 设置枚举数据
18
18
  * @param storage
19
19
  * @param cacheKey
20
20
  * @param data
21
21
  */
22
- export declare function setEnumData(storage: StorageType, cacheKey: string, data: any): boolean;
22
+ export declare function setEnumData(storage: StorageType, cacheKey: string, data: any): void | Promise<void>;
23
+ /**
24
+ * 删除枚举缓存数据
25
+ * @param storage
26
+ * @param cacheKey
27
+ */
28
+ export declare function removeEnumData(storage: StorageType, cacheKey: string): Promise<void>;
23
29
  /**
24
30
  * 判断枚举列表是否存在
25
31
  * @param storage
@@ -27,7 +33,7 @@ export declare function setEnumData(storage: StorageType, cacheKey: string, data
27
33
  * @param code
28
34
  * @returns
29
35
  */
30
- export declare function hasEnumList(storage: StorageType, cacheKey: any, code: string): import("../propsType").DataOptionType[];
36
+ export declare function hasEnumList(storage: StorageType, cacheKey: any, code: string): false | import("../propsType").DataOptionType[];
31
37
  /**
32
38
  * 判断是否是对象
33
39
  * @param obj
@@ -41,7 +47,7 @@ export declare function isObject(obj: any): boolean;
41
47
  * @param cacheKey
42
48
  * @param responseData
43
49
  */
44
- export declare function mergeCacheData(storage: string, code: string, cacheKey: string, responseData: any): void;
50
+ export declare function mergeCacheData(storage: string, code: string, cacheKey: string, responseData: any): Promise<void>;
45
51
  /**
46
52
  * diff code 差异
47
53
  * @param cacheCodes
@@ -1,7 +1,152 @@
1
- var _excluded = ["children"];
1
+ var _excluded = ["children"],
2
+ _excluded2 = ["params"];
3
+ 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; }
2
4
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
3
5
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
6
+ 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); } }
7
+ 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); }); }; }
8
+ import { get, set, del } from 'idb-keyval';
4
9
  export var baseCacheKey = 'zat-design-pro-component-cacheKey';
10
+
11
+ // IndexedDB 可用性检测缓存
12
+ var indexedDBAvailable = null;
13
+
14
+ /**
15
+ * 检测 IndexedDB 是否可用
16
+ */
17
+ function checkIndexedDBSupport() {
18
+ return _checkIndexedDBSupport.apply(this, arguments);
19
+ }
20
+ /**
21
+ * 从 IndexedDB 读取数据
22
+ */
23
+ function _checkIndexedDBSupport() {
24
+ _checkIndexedDBSupport = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
25
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
26
+ while (1) switch (_context.prev = _context.next) {
27
+ case 0:
28
+ if (!(indexedDBAvailable !== null)) {
29
+ _context.next = 2;
30
+ break;
31
+ }
32
+ return _context.abrupt("return", indexedDBAvailable);
33
+ case 2:
34
+ _context.prev = 2;
35
+ _context.next = 5;
36
+ return set('__idb_test__', 1);
37
+ case 5:
38
+ _context.next = 7;
39
+ return del('__idb_test__');
40
+ case 7:
41
+ indexedDBAvailable = true;
42
+ return _context.abrupt("return", true);
43
+ case 11:
44
+ _context.prev = 11;
45
+ _context.t0 = _context["catch"](2);
46
+ console.warn('ProEnum: IndexedDB is not available in this environment:', _context.t0);
47
+ console.warn('ProEnum: Please use localStorage or sessionStorage instead');
48
+ indexedDBAvailable = false;
49
+ return _context.abrupt("return", false);
50
+ case 17:
51
+ case "end":
52
+ return _context.stop();
53
+ }
54
+ }, _callee, null, [[2, 11]]);
55
+ }));
56
+ return _checkIndexedDBSupport.apply(this, arguments);
57
+ }
58
+ function getFromIndexedDB(_x) {
59
+ return _getFromIndexedDB.apply(this, arguments);
60
+ }
61
+ /**
62
+ * 写入数据到 IndexedDB
63
+ */
64
+ function _getFromIndexedDB() {
65
+ _getFromIndexedDB = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(key) {
66
+ var available, value;
67
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
68
+ while (1) switch (_context2.prev = _context2.next) {
69
+ case 0:
70
+ _context2.next = 2;
71
+ return checkIndexedDBSupport();
72
+ case 2:
73
+ available = _context2.sent;
74
+ if (available) {
75
+ _context2.next = 5;
76
+ break;
77
+ }
78
+ return _context2.abrupt("return", {
79
+ data: {}
80
+ });
81
+ case 5:
82
+ _context2.prev = 5;
83
+ _context2.next = 8;
84
+ return get(key);
85
+ case 8:
86
+ value = _context2.sent;
87
+ return _context2.abrupt("return", value || {
88
+ data: {}
89
+ });
90
+ case 12:
91
+ _context2.prev = 12;
92
+ _context2.t0 = _context2["catch"](5);
93
+ console.warn('ProEnum: IndexedDB read failed:', _context2.t0);
94
+ return _context2.abrupt("return", {
95
+ data: {}
96
+ });
97
+ case 16:
98
+ case "end":
99
+ return _context2.stop();
100
+ }
101
+ }, _callee2, null, [[5, 12]]);
102
+ }));
103
+ return _getFromIndexedDB.apply(this, arguments);
104
+ }
105
+ function setToIndexedDB(_x2, _x3) {
106
+ return _setToIndexedDB.apply(this, arguments);
107
+ }
108
+ function _setToIndexedDB() {
109
+ _setToIndexedDB = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(key, value) {
110
+ var available, params, cleanValue;
111
+ return _regeneratorRuntime().wrap(function _callee3$(_context3) {
112
+ while (1) switch (_context3.prev = _context3.next) {
113
+ case 0:
114
+ _context3.next = 2;
115
+ return checkIndexedDBSupport();
116
+ case 2:
117
+ available = _context3.sent;
118
+ if (available) {
119
+ _context3.next = 5;
120
+ break;
121
+ }
122
+ return _context3.abrupt("return");
123
+ case 5:
124
+ if (Object.keys((value === null || value === void 0 ? void 0 : value.data) || {}).length) {
125
+ _context3.next = 7;
126
+ break;
127
+ }
128
+ return _context3.abrupt("return");
129
+ case 7:
130
+ _context3.prev = 7;
131
+ // 清理 params 字段(ahooks useRequest 缓存结构中的冗余字段)
132
+ params = value.params, cleanValue = _objectWithoutProperties(value, _excluded2);
133
+ _context3.next = 11;
134
+ return set(key, cleanValue);
135
+ case 11:
136
+ _context3.next = 16;
137
+ break;
138
+ case 13:
139
+ _context3.prev = 13;
140
+ _context3.t0 = _context3["catch"](7);
141
+ console.warn('ProEnum: IndexedDB write failed:', _context3.t0);
142
+ case 16:
143
+ case "end":
144
+ return _context3.stop();
145
+ }
146
+ }, _callee3, null, [[7, 13]]);
147
+ }));
148
+ return _setToIndexedDB.apply(this, arguments);
149
+ }
5
150
  /**
6
151
  * 获取枚举数据
7
152
  * @param storage
@@ -10,15 +155,38 @@ export var baseCacheKey = 'zat-design-pro-component-cacheKey';
10
155
  * @returns
11
156
  */
12
157
  export function getEnumData(storage, cacheKey, baseEnumStorage) {
158
+ // IndexedDB 返回 Promise
159
+ if (storage === 'indexedDB') {
160
+ return getFromIndexedDB(cacheKey);
161
+ }
162
+
163
+ // localStorage/sessionStorage 保持同步
13
164
  if (baseEnumStorage && window.localStorage.getItem(cacheKey) && cacheKey === baseCacheKey) {
14
165
  return baseEnumStorage;
15
166
  }
16
167
  if (storage === 'localStorage') {
17
- return JSON.parse(window.localStorage.getItem(cacheKey) || '{}');
168
+ var data = JSON.parse(window.localStorage.getItem(cacheKey) || '{}');
169
+ // 确保返回的数据格式正确,包含 data 字段
170
+ if (data && typeof data === 'object' && 'data' in data) {
171
+ return data;
172
+ }
173
+ return {
174
+ data: {}
175
+ };
18
176
  }
19
177
  if (storage === 'sessionStorage') {
20
- return JSON.parse(window.sessionStorage.getItem(cacheKey) || '{}');
178
+ var _data = JSON.parse(window.sessionStorage.getItem(cacheKey) || '{}');
179
+ // 确保返回的数据格式正确,包含 data 字段
180
+ if (_data && typeof _data === 'object' && 'data' in _data) {
181
+ return _data;
182
+ }
183
+ return {
184
+ data: {}
185
+ };
21
186
  }
187
+ return {
188
+ data: {}
189
+ };
22
190
  }
23
191
 
24
192
  /**
@@ -28,10 +196,16 @@ export function getEnumData(storage, cacheKey, baseEnumStorage) {
28
196
  * @param data
29
197
  */
30
198
  export function setEnumData(storage, cacheKey, data) {
31
- var _Object$keys;
32
- if (!((_Object$keys = Object.keys(data === null || data === void 0 ? void 0 : data.data)) !== null && _Object$keys !== void 0 && _Object$keys.length)) {
33
- return false;
199
+ if (!Object.keys((data === null || data === void 0 ? void 0 : data.data) || {}).length) {
200
+ return;
201
+ }
202
+
203
+ // IndexedDB 返回 Promise
204
+ if (storage === 'indexedDB') {
205
+ return setToIndexedDB(cacheKey, data);
34
206
  }
207
+
208
+ // localStorage/sessionStorage 保持同步
35
209
  if (storage === 'localStorage') {
36
210
  window.localStorage.setItem(cacheKey, JSON.stringify(data));
37
211
  } else if (storage === 'sessionStorage') {
@@ -39,6 +213,15 @@ export function setEnumData(storage, cacheKey, data) {
39
213
  }
40
214
  }
41
215
 
216
+ /**
217
+ * 删除枚举缓存数据
218
+ * @param storage
219
+ * @param cacheKey
220
+ */
221
+ export function removeEnumData(_x4, _x5) {
222
+ return _removeEnumData.apply(this, arguments);
223
+ }
224
+
42
225
  /**
43
226
  * 判断枚举列表是否存在
44
227
  * @param storage
@@ -46,7 +229,60 @@ export function setEnumData(storage, cacheKey, data) {
46
229
  * @param code
47
230
  * @returns
48
231
  */
232
+ function _removeEnumData() {
233
+ _removeEnumData = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(storage, cacheKey) {
234
+ var available;
235
+ return _regeneratorRuntime().wrap(function _callee4$(_context4) {
236
+ while (1) switch (_context4.prev = _context4.next) {
237
+ case 0:
238
+ if (!(storage === 'indexedDB')) {
239
+ _context4.next = 16;
240
+ break;
241
+ }
242
+ _context4.next = 3;
243
+ return checkIndexedDBSupport();
244
+ case 3:
245
+ available = _context4.sent;
246
+ if (available) {
247
+ _context4.next = 6;
248
+ break;
249
+ }
250
+ return _context4.abrupt("return");
251
+ case 6:
252
+ _context4.prev = 6;
253
+ _context4.next = 9;
254
+ return del(cacheKey);
255
+ case 9:
256
+ _context4.next = 14;
257
+ break;
258
+ case 11:
259
+ _context4.prev = 11;
260
+ _context4.t0 = _context4["catch"](6);
261
+ console.warn('ProEnum: IndexedDB delete failed:', _context4.t0);
262
+ case 14:
263
+ _context4.next = 17;
264
+ break;
265
+ case 16:
266
+ if (storage === 'localStorage') {
267
+ window.localStorage.removeItem(cacheKey);
268
+ } else if (storage === 'sessionStorage') {
269
+ window.sessionStorage.removeItem(cacheKey);
270
+ }
271
+ case 17:
272
+ case "end":
273
+ return _context4.stop();
274
+ }
275
+ }, _callee4, null, [[6, 11]]);
276
+ }));
277
+ return _removeEnumData.apply(this, arguments);
278
+ }
49
279
  export function hasEnumList(storage, cacheKey, code) {
280
+ // 对于 indexedDB,getEnumData 返回 Promise,但 hasEnumList 是同步函数
281
+ // 这里只支持同步存储类型
282
+ if (storage === 'indexedDB') {
283
+ console.warn('ProEnum: hasEnumList does not support indexedDB, please use async version');
284
+ return false;
285
+ }
50
286
  var res = getEnumData(storage, cacheKey);
51
287
  var enumList = (res === null || res === void 0 ? void 0 : res.data) || {};
52
288
  return enumList === null || enumList === void 0 ? void 0 : enumList[code];
@@ -68,15 +304,8 @@ export function isObject(obj) {
68
304
  * @param cacheKey
69
305
  * @param responseData
70
306
  */
71
- export function mergeCacheData(storage, code, cacheKey, responseData) {
72
- var _window, _window2;
73
- var cacheStorage = storage === 'localStorage' ? 'localStorage' : 'sessionStorage';
74
- var cacheData = JSON.parse((_window = window) === null || _window === void 0 ? void 0 : _window[cacheStorage].getItem(cacheKey));
75
- // 合并枚举到总数据源上
76
- if (cacheData && cacheData.data) {
77
- cacheData.data[code] = responseData;
78
- }
79
- (_window2 = window) === null || _window2 === void 0 || _window2[cacheStorage].setItem(cacheKey, JSON.stringify(cacheData));
307
+ export function mergeCacheData(_x6, _x7, _x8, _x9) {
308
+ return _mergeCacheData.apply(this, arguments);
80
309
  }
81
310
 
82
311
  /**
@@ -85,6 +314,43 @@ export function mergeCacheData(storage, code, cacheKey, responseData) {
85
314
  * @param codes
86
315
  * @returns
87
316
  */
317
+ function _mergeCacheData() {
318
+ _mergeCacheData = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(storage, code, cacheKey, responseData) {
319
+ var cacheData, _window, _window2, cacheStorage, _cacheData;
320
+ return _regeneratorRuntime().wrap(function _callee5$(_context5) {
321
+ while (1) switch (_context5.prev = _context5.next) {
322
+ case 0:
323
+ if (!(storage === 'indexedDB')) {
324
+ _context5.next = 9;
325
+ break;
326
+ }
327
+ _context5.next = 3;
328
+ return getFromIndexedDB(cacheKey);
329
+ case 3:
330
+ cacheData = _context5.sent;
331
+ if (cacheData && cacheData.data) {
332
+ cacheData.data[code] = responseData;
333
+ }
334
+ _context5.next = 7;
335
+ return setToIndexedDB(cacheKey, cacheData);
336
+ case 7:
337
+ _context5.next = 13;
338
+ break;
339
+ case 9:
340
+ cacheStorage = storage === 'localStorage' ? 'localStorage' : 'sessionStorage';
341
+ _cacheData = JSON.parse(((_window = window) === null || _window === void 0 || (_window = _window[cacheStorage]) === null || _window === void 0 ? void 0 : _window.getItem(cacheKey)) || '{}'); // 合并枚举到总数据源上
342
+ if (_cacheData && _cacheData.data) {
343
+ _cacheData.data[code] = responseData;
344
+ }
345
+ (_window2 = window) === null || _window2 === void 0 || (_window2 = _window2[cacheStorage]) === null || _window2 === void 0 || _window2.setItem(cacheKey, JSON.stringify(_cacheData));
346
+ case 13:
347
+ case "end":
348
+ return _context5.stop();
349
+ }
350
+ }, _callee5);
351
+ }));
352
+ return _mergeCacheData.apply(this, arguments);
353
+ }
88
354
  export function diffCode(cacheCodes, codes) {
89
355
  var diff = false;
90
356
  // 以后面传入的作计算
@@ -110,10 +376,12 @@ export function cacheFieldNames(fieldNames, dataSource) {
110
376
  restFieldNames = _objectWithoutProperties(fieldNames, _excluded);
111
377
  var result = {};
112
378
  Object.keys(restFieldNames).forEach(key => {
113
- if (![undefined, null].includes(dataSource[restFieldNames[key]])) {
114
- result[key] = dataSource[restFieldNames[key]];
115
- } else {
116
- result[key] = dataSource[key];
379
+ var sourceKey = restFieldNames[key];
380
+ var sourceVal = dataSource[sourceKey];
381
+ var fallbackVal = dataSource[key];
382
+ var val = ![undefined, null, ''].includes(sourceVal) ? sourceVal : fallbackVal;
383
+ if (![undefined, null, ''].includes(val)) {
384
+ result[key] = val;
117
385
  }
118
386
  });
119
387
  // 递归去对数据进行清洗
@@ -76,37 +76,34 @@ export declare const useFormItemProps: (column: FlexibleGroupColumnType, context
76
76
  show?: boolean | ReactiveFunction<any, boolean>;
77
77
  component?: React.ReactNode | ReactiveFunction<any, React.ReactNode>;
78
78
  children?: React.ReactNode | ((form: FormInstance<any>) => React.ReactNode);
79
- trim?: boolean;
80
- normalize?: (value: any, prevValue: any, allValues: import("@rc-component/form/lib/interface").Store) => any;
81
- className?: string;
79
+ isView?: boolean;
80
+ id?: string;
82
81
  prefixCls?: string;
82
+ className?: string;
83
83
  style?: React.CSSProperties;
84
+ rootClassName?: string;
85
+ hidden?: boolean;
84
86
  onReset?: () => void;
85
87
  status?: "" | "warning" | "error" | "success" | "validating";
86
- hidden?: boolean;
87
- id?: string;
88
88
  vertical?: boolean;
89
- rootClassName?: string;
90
- isView?: boolean;
89
+ validateTrigger?: string | false | string[];
91
90
  getValueProps?: ((value: any) => Record<string, unknown>) & ((value: any) => Record<string, unknown>);
92
91
  desensitization?: [number, number] | ReactiveFunction<any, [number, number]>;
93
- htmlFor?: string;
94
- layout?: import("antd/es/form/Form").FormItemLayout;
95
- help?: React.ReactNode;
96
- preserve?: boolean;
97
- trigger?: string;
92
+ valueType?: import("../../../render/propsType").ProFormValueType;
98
93
  colon?: boolean;
99
- clearNotShow?: boolean;
94
+ htmlFor?: string;
100
95
  labelAlign?: import("antd/es/form/interface").FormLabelAlign;
101
96
  labelCol?: import("antd").ColProps;
102
97
  getValueFromEvent?: (...args: import("@rc-component/form/lib/interface").EventArgs) => any;
98
+ normalize?: (value: any, prevValue: any, allValues: import("@rc-component/form/lib/interface").Store) => any;
103
99
  shouldUpdate?: import("@rc-component/form/lib/Field").ShouldUpdate<any>;
104
- validateTrigger?: string | false | string[];
100
+ trigger?: string;
105
101
  validateDebounce?: number;
106
102
  valuePropName?: string;
107
103
  messageVariables?: Record<string, string>;
108
104
  initialValue?: any;
109
105
  onMetaChange?: (meta: import("@rc-component/form/lib/Field").MetaEvent) => void;
106
+ preserve?: boolean;
110
107
  isListField?: boolean;
111
108
  isList?: boolean;
112
109
  noStyle?: boolean;
@@ -114,9 +111,10 @@ export declare const useFormItemProps: (column: FlexibleGroupColumnType, context
114
111
  icons: import("antd/es/form/FormItem").FeedbackIcons;
115
112
  };
116
113
  validateStatus?: "" | "warning" | "error" | "success" | "validating";
114
+ layout?: import("antd/es/form/Form").FormItemLayout;
117
115
  wrapperCol?: import("antd").ColProps;
116
+ help?: React.ReactNode;
118
117
  fieldId?: string;
119
- valueType?: import("../../../render/propsType").ProFormValueType;
120
118
  switchValue?: [any, any];
121
119
  viewRender?: (value: any, record: any, { form, index, namePath, }: {
122
120
  [key: string]: any;
@@ -124,9 +122,11 @@ export declare const useFormItemProps: (column: FlexibleGroupColumnType, context
124
122
  index?: number;
125
123
  }) => string | React.ReactElement<any, any>;
126
124
  viewType?: import("../../../render/propsType").ViewType;
125
+ trim?: boolean;
127
126
  upperCase?: boolean;
128
127
  toISOString?: boolean;
129
128
  toCSTString?: boolean;
129
+ clearNotShow?: boolean;
130
130
  name: any;
131
131
  dependencies: any[];
132
132
  tooltip: string | {
@@ -141,7 +141,7 @@ export declare const useFormItemProps: (column: FlexibleGroupColumnType, context
141
141
  * 创建组件属性
142
142
  */
143
143
  export declare const createComponentProps: (column: FlexibleGroupColumnType, formItemProps: any) => {
144
- componentProps: import("lodash").Omit<any, "format" | "clearNotShow" | "valueType" | "switchValue" | "dependNames" | "toISOString" | "toCSTString" | "precision">;
144
+ componentProps: import("lodash").Omit<any, "precision" | "format" | "valueType" | "switchValue" | "dependNames" | "toISOString" | "toCSTString" | "clearNotShow">;
145
145
  formItemTransform: {
146
146
  getValueProps: any;
147
147
  normalize: any;