@yqg/simple 1.0.11 → 1.0.13-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 (164) hide show
  1. package/dist/cjs/common-fields-27e16d4f.js +605 -0
  2. package/dist/cjs/common-fields-27e16d4f.js.map +1 -0
  3. package/dist/cjs/constant/common-fields.js +44 -0
  4. package/dist/cjs/constant/common-fields.js.map +1 -0
  5. package/dist/cjs/constant/def-type.js +32 -0
  6. package/dist/cjs/constant/def-type.js.map +1 -0
  7. package/dist/cjs/constant/fields.js +543 -0
  8. package/dist/cjs/constant/fields.js.map +1 -0
  9. package/dist/cjs/constant/index.js +57 -0
  10. package/dist/cjs/constant/index.js.map +1 -0
  11. package/dist/cjs/constant/table.js +42 -0
  12. package/dist/cjs/constant/table.js.map +1 -0
  13. package/dist/cjs/filter/count-to-time.js +18 -0
  14. package/dist/cjs/filter/count-to-time.js.map +1 -0
  15. package/dist/cjs/filter/date.js +18 -0
  16. package/dist/cjs/filter/date.js.map +1 -0
  17. package/dist/cjs/filter/index.js +35 -0
  18. package/dist/cjs/filter/index.js.map +1 -0
  19. package/dist/cjs/filter/mardown-to-html.js +19 -0
  20. package/dist/cjs/filter/mardown-to-html.js.map +1 -0
  21. package/dist/cjs/filter/number-with-commas.js +25 -0
  22. package/dist/cjs/filter/number-with-commas.js.map +1 -0
  23. package/dist/cjs/filter/percent.js +23 -0
  24. package/dist/cjs/filter/percent.js.map +1 -0
  25. package/dist/cjs/filter/phone-mask.js +19 -0
  26. package/dist/cjs/filter/phone-mask.js.map +1 -0
  27. package/dist/cjs/mixin/card-list.js +63 -0
  28. package/dist/cjs/mixin/card-list.js.map +1 -0
  29. package/dist/cjs/mixin/client-table.js +51 -0
  30. package/dist/cjs/mixin/client-table.js.map +1 -0
  31. package/dist/cjs/mixin/collect-slots.js +69 -0
  32. package/dist/cjs/mixin/collect-slots.js.map +1 -0
  33. package/dist/cjs/mixin/common-table.js +31 -0
  34. package/dist/cjs/mixin/common-table.js.map +1 -0
  35. package/dist/cjs/mixin/enum-type.js +172 -0
  36. package/dist/cjs/mixin/enum-type.js.map +1 -0
  37. package/dist/cjs/mixin/gen-text.js +171 -0
  38. package/dist/cjs/mixin/gen-text.js.map +1 -0
  39. package/dist/cjs/mixin/index.js +25 -0
  40. package/dist/cjs/mixin/index.js.map +1 -0
  41. package/dist/cjs/mixin/modal.js +24 -0
  42. package/dist/cjs/mixin/modal.js.map +1 -0
  43. package/dist/cjs/mixin/static-props.js +50 -0
  44. package/dist/cjs/mixin/static-props.js.map +1 -0
  45. package/dist/cjs/mixin/table.js +110 -0
  46. package/dist/cjs/mixin/table.js.map +1 -0
  47. package/dist/cjs/mixin/watermark.js +53 -0
  48. package/dist/cjs/mixin/watermark.js.map +1 -0
  49. package/dist/cjs/object-c3fb7fa5.js +46 -0
  50. package/dist/cjs/object-c3fb7fa5.js.map +1 -0
  51. package/dist/cjs/store/module/timezone.js +21 -0
  52. package/dist/cjs/store/module/timezone.js.map +1 -0
  53. package/dist/cjs/util/enum.js +18 -0
  54. package/dist/cjs/util/enum.js.map +1 -0
  55. package/dist/cjs/util/format-map.js +167 -0
  56. package/dist/cjs/util/format-map.js.map +1 -0
  57. package/dist/cjs/util/index.js +28 -0
  58. package/dist/cjs/util/index.js.map +1 -0
  59. package/dist/cjs/util/json.js +43 -0
  60. package/dist/cjs/util/json.js.map +1 -0
  61. package/dist/cjs/util/keyCodeMap.js +20 -0
  62. package/dist/cjs/util/keyCodeMap.js.map +1 -0
  63. package/dist/cjs/util/local-storage.js +19 -0
  64. package/dist/cjs/util/local-storage.js.map +1 -0
  65. package/dist/cjs/util/object.js +134 -0
  66. package/dist/cjs/util/object.js.map +1 -0
  67. package/dist/cjs/util/storage/index.js +47 -0
  68. package/dist/cjs/util/storage/index.js.map +1 -0
  69. package/dist/cjs/util/storage/swim-lane.js +16 -0
  70. package/dist/cjs/util/storage/swim-lane.js.map +1 -0
  71. package/dist/cjs/util/tool.js +15 -0
  72. package/dist/cjs/util/tool.js.map +1 -0
  73. package/dist/common-fields-3a6d2d93.js +570 -0
  74. package/dist/common-fields-3a6d2d93.js.map +1 -0
  75. package/dist/constant/common-fields.d.ts +2 -0
  76. package/dist/constant/common-fields.js +5 -0
  77. package/dist/constant/common-fields.js.map +1 -0
  78. package/dist/constant/def-type.d.ts +26 -27
  79. package/dist/constant/def-type.js +30 -0
  80. package/dist/constant/def-type.js.map +1 -0
  81. package/dist/constant/fields.d.ts +2 -2
  82. package/dist/constant/fields.js +506 -0
  83. package/dist/constant/fields.js.map +1 -0
  84. package/dist/constant/index.d.ts +4 -0
  85. package/dist/constant/index.js +12 -0
  86. package/dist/constant/index.js.map +1 -0
  87. package/dist/constant/table.js +38 -0
  88. package/dist/constant/table.js.map +1 -0
  89. package/dist/filter/count-to-time.js +16 -0
  90. package/dist/filter/count-to-time.js.map +1 -0
  91. package/dist/filter/date.js +16 -0
  92. package/dist/filter/date.js.map +1 -0
  93. package/dist/filter/index.js +33 -0
  94. package/dist/filter/index.js.map +1 -0
  95. package/dist/filter/mardown-to-html.js +17 -0
  96. package/dist/filter/mardown-to-html.js.map +1 -0
  97. package/dist/filter/number-with-commas.js +21 -0
  98. package/dist/filter/number-with-commas.js.map +1 -0
  99. package/dist/filter/percent.js +21 -0
  100. package/dist/filter/percent.js.map +1 -0
  101. package/dist/filter/phone-mask.js +17 -0
  102. package/dist/filter/phone-mask.js.map +1 -0
  103. package/dist/{index-d66e191c.js → index-0c928ac5.js} +2 -2
  104. package/dist/{index-d66e191c.js.map → index-0c928ac5.js.map} +1 -1
  105. package/dist/{index-7c7980df.js → index-44c0c823.js} +2 -2
  106. package/dist/{index-7c7980df.js.map → index-44c0c823.js.map} +1 -1
  107. package/dist/{index-c54eddc8.js → index-56a74daa.js} +2 -2
  108. package/dist/{index-c54eddc8.js.map → index-56a74daa.js.map} +1 -1
  109. package/dist/{index-11e2a503.js → index-93a4c691.js} +2 -2
  110. package/dist/{index-11e2a503.js.map → index-93a4c691.js.map} +1 -1
  111. package/dist/index.esm.js +1 -1
  112. package/dist/index.js +1 -1
  113. package/dist/mixin/card-list.js +61 -0
  114. package/dist/mixin/card-list.js.map +1 -0
  115. package/dist/mixin/client-table.js +49 -0
  116. package/dist/mixin/client-table.js.map +1 -0
  117. package/dist/mixin/collect-slots.js +67 -0
  118. package/dist/mixin/collect-slots.js.map +1 -0
  119. package/dist/mixin/common-table.js +29 -0
  120. package/dist/mixin/common-table.js.map +1 -0
  121. package/dist/mixin/enum-type.js +170 -0
  122. package/dist/mixin/enum-type.js.map +1 -0
  123. package/dist/mixin/gen-text.js +169 -0
  124. package/dist/mixin/gen-text.js.map +1 -0
  125. package/dist/mixin/index.js +12 -0
  126. package/dist/mixin/index.js.map +1 -0
  127. package/dist/mixin/modal.js +22 -0
  128. package/dist/mixin/modal.js.map +1 -0
  129. package/dist/mixin/static-props.js +48 -0
  130. package/dist/mixin/static-props.js.map +1 -0
  131. package/dist/mixin/table.js +105 -0
  132. package/dist/mixin/table.js.map +1 -0
  133. package/dist/mixin/watermark.js +51 -0
  134. package/dist/mixin/watermark.js.map +1 -0
  135. package/dist/object-fc1e71db.js +42 -0
  136. package/dist/object-fc1e71db.js.map +1 -0
  137. package/dist/store/module/timezone.js +19 -0
  138. package/dist/store/module/timezone.js.map +1 -0
  139. package/dist/util/enum.js +15 -0
  140. package/dist/util/enum.js.map +1 -0
  141. package/dist/util/format-map.js +165 -0
  142. package/dist/util/format-map.js.map +1 -0
  143. package/dist/util/index.js +6 -0
  144. package/dist/util/index.js.map +1 -0
  145. package/dist/util/json.js +40 -0
  146. package/dist/util/json.js.map +1 -0
  147. package/dist/util/keyCodeMap.js +18 -0
  148. package/dist/util/keyCodeMap.js.map +1 -0
  149. package/dist/util/local-storage.js +15 -0
  150. package/dist/util/local-storage.js.map +1 -0
  151. package/dist/util/object.js +124 -0
  152. package/dist/util/object.js.map +1 -0
  153. package/dist/util/storage/index.js +45 -0
  154. package/dist/util/storage/index.js.map +1 -0
  155. package/dist/util/storage/swim-lane.js +14 -0
  156. package/dist/util/storage/swim-lane.js.map +1 -0
  157. package/dist/util/tool.js +13 -0
  158. package/dist/util/tool.js.map +1 -0
  159. package/package.json +1 -1
  160. package/src/constant/common-fields.ts +56 -1
  161. package/src/constant/fields.ts +3 -3
  162. package/src/constant/index.ts +10 -0
  163. package/src/constant/index.js +0 -10
  164. /package/src/constant/{def-type.js → def-type.ts} +0 -0
@@ -0,0 +1,53 @@
1
+ 'use strict';
2
+
3
+ var Vue = require('vue');
4
+ var vuex = require('vuex');
5
+
6
+ /*
7
+ * @Author: xiaodongyu
8
+ * @Date 2019-11-18 14:41:13
9
+ * @Last Modified by: xiaodongyu
10
+ * @Last Modified time: 2021-11-16 12:58:46
11
+ */
12
+
13
+ const NoWatermarkRouteNames = ['login'];
14
+ var watermark = {
15
+ computed: {
16
+ ...vuex.mapGetters(['user'])
17
+ },
18
+ methods: {
19
+ getBackgroundImage() {
20
+ const {
21
+ user: {
22
+ name
23
+ },
24
+ $route: {
25
+ name: routeName
26
+ }
27
+ } = this;
28
+ if (!name || NoWatermarkRouteNames.includes(routeName)) return {};
29
+ const width = 260;
30
+ const height = 180;
31
+ const canvas = document.createElement('canvas');
32
+ Object.assign(canvas, {
33
+ width,
34
+ height
35
+ });
36
+ const ctx = canvas.getContext('2d');
37
+ ctx.fillStyle = 'rgba(221,221,221, .6)';
38
+ ctx.rotate(20 * (Math.PI / 180));
39
+ ctx.font = 'normal 14px Microsoft Yahei';
40
+ ctx.fillText(name, 20, 10);
41
+ ctx.font = 'normal 12px Microsoft Yahei';
42
+ ctx.fillText(Vue.filter('dateTime')(Date.now()), 20, 30);
43
+ const imgUrl = canvas.toDataURL();
44
+ const background = `url(${imgUrl}) 0 0 repeat, url(${imgUrl}) ${width / 2}px ${height / 2}px repeat`;
45
+ return {
46
+ background
47
+ };
48
+ }
49
+ }
50
+ };
51
+
52
+ module.exports = watermark;
53
+ //# sourceMappingURL=watermark.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watermark.js","sources":["../../../src/mixin/watermark.js"],"sourcesContent":["/*\n * @Author: xiaodongyu\n * @Date 2019-11-18 14:41:13\n * @Last Modified by: xiaodongyu\n * @Last Modified time: 2021-11-16 12:58:46\n */\n\nimport Vue from 'vue';\nimport {mapGetters} from 'vuex';\n\nconst NoWatermarkRouteNames = ['login'];\n\nexport default {\n computed: {\n ...mapGetters(['user'])\n },\n\n methods: {\n getBackgroundImage() {\n const {user: {name}, $route: {name: routeName}} = this;\n if (!name || NoWatermarkRouteNames.includes(routeName)) return {};\n\n const width = 260;\n const height = 180;\n const canvas = document.createElement('canvas');\n Object.assign(canvas, {width, height});\n\n const ctx = canvas.getContext('2d');\n ctx.fillStyle = 'rgba(221,221,221, .6)';\n ctx.rotate(20 * (Math.PI / 180));\n ctx.font = 'normal 14px Microsoft Yahei';\n ctx.fillText(name, 20, 10);\n ctx.font = 'normal 12px Microsoft Yahei';\n ctx.fillText(Vue.filter('dateTime')(Date.now()), 20, 30);\n const imgUrl = canvas.toDataURL();\n const background = `url(${imgUrl}) 0 0 repeat, url(${imgUrl}) ${width / 2}px ${height / 2}px repeat`;\n\n return {background};\n }\n }\n};\n"],"names":["NoWatermarkRouteNames","computed","mapGetters","methods","getBackgroundImage","user","name","$route","routeName","includes","width","height","canvas","document","createElement","Object","assign","ctx","getContext","fillStyle","rotate","Math","PI","font","fillText","Vue","filter","Date","now","imgUrl","toDataURL","background"],"mappings":";;;;;AAAA;AACA;AACA;AACA;AACA;AACA;;AAKA,MAAMA,qBAAqB,GAAG,CAAC,OAAO,CAAC,CAAA;AAEvC,gBAAe;AACXC,EAAAA,QAAQ,EAAE;AACN,IAAA,GAAGC,eAAU,CAAC,CAAC,MAAM,CAAC,CAAA;GACzB;AAEDC,EAAAA,OAAO,EAAE;AACLC,IAAAA,kBAAkBA,GAAG;MACjB,MAAM;AAACC,QAAAA,IAAI,EAAE;AAACC,UAAAA,IAAAA;SAAK;AAAEC,QAAAA,MAAM,EAAE;AAACD,UAAAA,IAAI,EAAEE,SAAAA;AAAS,SAAA;AAAC,OAAC,GAAG,IAAI,CAAA;AACtD,MAAA,IAAI,CAACF,IAAI,IAAIN,qBAAqB,CAACS,QAAQ,CAACD,SAAS,CAAC,EAAE,OAAO,EAAE,CAAA;MAEjE,MAAME,KAAK,GAAG,GAAG,CAAA;MACjB,MAAMC,MAAM,GAAG,GAAG,CAAA;AAClB,MAAA,MAAMC,MAAM,GAAGC,QAAQ,CAACC,aAAa,CAAC,QAAQ,CAAC,CAAA;AAC/CC,MAAAA,MAAM,CAACC,MAAM,CAACJ,MAAM,EAAE;QAACF,KAAK;AAAEC,QAAAA,MAAAA;AAAM,OAAC,CAAC,CAAA;AAEtC,MAAA,MAAMM,GAAG,GAAGL,MAAM,CAACM,UAAU,CAAC,IAAI,CAAC,CAAA;MACnCD,GAAG,CAACE,SAAS,GAAG,uBAAuB,CAAA;MACvCF,GAAG,CAACG,MAAM,CAAC,EAAE,IAAIC,IAAI,CAACC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAA;MAChCL,GAAG,CAACM,IAAI,GAAG,6BAA6B,CAAA;MACxCN,GAAG,CAACO,QAAQ,CAAClB,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;MAC1BW,GAAG,CAACM,IAAI,GAAG,6BAA6B,CAAA;MACxCN,GAAG,CAACO,QAAQ,CAACC,GAAG,CAACC,MAAM,CAAC,UAAU,CAAC,CAACC,IAAI,CAACC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;AACxD,MAAA,MAAMC,MAAM,GAAGjB,MAAM,CAACkB,SAAS,EAAE,CAAA;AACjC,MAAA,MAAMC,UAAU,GAAG,CAAOF,IAAAA,EAAAA,MAAM,qBAAqBA,MAAM,CAAA,EAAA,EAAKnB,KAAK,GAAG,CAAC,CAAA,GAAA,EAAMC,MAAM,GAAG,CAAC,CAAW,SAAA,CAAA,CAAA;MAEpG,OAAO;AAACoB,QAAAA,UAAAA;OAAW,CAAA;AACvB,KAAA;AACJ,GAAA;AACJ,CAAC;;;;"}
@@ -0,0 +1,46 @@
1
+ 'use strict';
2
+
3
+ /*
4
+ * @Author: xiaodongyu
5
+ * @Date 2019-12-07 14:00:32
6
+ * @Last Modified by: mengpeng
7
+ * @Last Modified time: 2022-11-10 15:39:31
8
+ */
9
+
10
+ const evalProp = (value, values) => {
11
+ if (typeof value === 'function') {
12
+ return value(values);
13
+ }
14
+ return value;
15
+ };
16
+ const getKeys = (keyString = '') => keyString.split(/\]?[[.]/);
17
+ const pickValue = (obj, keyString) => {
18
+ const keys = getKeys(keyString);
19
+ let value = obj;
20
+ try {
21
+ keys.forEach(key => value = value[key]);
22
+ } catch (err) {
23
+ value = undefined;
24
+ }
25
+ return value;
26
+ };
27
+ function spreadProps({
28
+ class: className,
29
+ style,
30
+ ref,
31
+ key,
32
+ ...props
33
+ } = {}) {
34
+ return {
35
+ key,
36
+ class: className,
37
+ style,
38
+ ref,
39
+ props
40
+ };
41
+ }
42
+
43
+ exports.evalProp = evalProp;
44
+ exports.pickValue = pickValue;
45
+ exports.spreadProps = spreadProps;
46
+ //# sourceMappingURL=object-c3fb7fa5.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object-c3fb7fa5.js","sources":["../../src/util/object.js"],"sourcesContent":["/*\n * @Author: xiaodongyu\n * @Date 2019-12-07 14:00:32\n * @Last Modified by: mengpeng \n * @Last Modified time: 2022-11-10 15:39:31 \n */\n\nexport const evalProp = (value, values) => {\n if (typeof value === 'function') {\n return value(values);\n }\n\n return value;\n};\n\nconst getKeys = (keyString = '') => keyString.split(/\\]?[[.]/);\n\nexport const pickValue = (obj, keyString) => {\n const keys = getKeys(keyString);\n let value = obj;\n try {\n keys.forEach(key => (value = value[key]));\n } catch (err) {\n value = undefined;\n }\n\n return value;\n};\n\nexport const setValue = (obj = {}, keyString, value) => {\n const keys = getKeys(keyString);\n const result = {...obj};\n let target = result;\n keys.forEach((key, idx) => {\n if (idx === keys.length - 1) {\n target[key] = value;\n } else {\n if (!target[key]) {\n const nextKey = keys[idx + 1];\n if (/^\\d+$/.test(nextKey) && new RegExp(`${key}]?[${nextKey}]`).test(keyString)) {\n target[key] = [];\n } else {\n target[key] = {};\n }\n }\n\n target = target[key];\n }\n });\n\n return result;\n};\n\nexport const spreadObjectKeys = origin => {\n if (!origin) return origin;\n\n return Object.entries(origin)\n .reduce((acc, [key, value]) => setValue(acc, key, value), {});\n};\n\nconst numberToStr = val => {\n if ((val || val === 0 || val === false) && (val.constructor === Number || val.constructor === Boolean)) {\n return val.toString();\n }\n\n return val;\n};\n\nexport const numbersToStr = val => {\n if (val && val.constructor === Array) {\n return val.map(numberToStr);\n }\n\n return numberToStr(val);\n};\n\nexport const isMobile = /mobile/i.test(navigator.userAgent);\n\nexport function spreadProps({class: className, style, ref, key, ...props} = {}) {\n return {\n key,\n class: className,\n style,\n ref,\n props\n };\n}\n\nexport function appendClass(className, appendix) {\n // 目前只支持append string\n if (typeof appendix !== 'string') return className;\n\n if (!className) return appendix;\n\n switch (className.constructor) {\n case String:\n return `${className} ${appendix}`;\n case Object:\n return {...className, [appendix]: true};\n case Array:\n return [...className, appendix];\n }\n\n return className;\n}\n\nconst isPlainObject = obj => {\n if (obj === null || Array.isArray(obj)) {\n return false;\n }\n\n return typeof obj === 'object';\n};\n\nconst customizer = (target, source) => {\n //对象需要考虑深层对象\n if (isPlainObject(target) && isPlainObject(target)) {\n return merge(target, source);\n }\n\n //其他格式一律返回新值\n return source;\n};\n\n//两两合并\nexport const merge = (target = {}, source = {}) => {\n const res = {};\n [...Object.keys(target), ...Object.keys(source)]\n .forEach(key => {\n const val = customizer(target[key], source[key]);\n\n res[key] = typeof val === 'undefined' ? target[key] : val;\n });\n\n return res;\n};\n"],"names":["evalProp","value","values","getKeys","keyString","split","pickValue","obj","keys","forEach","key","err","undefined","spreadProps","class","className","style","ref","props"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;;MAEaA,QAAQ,GAAGA,CAACC,KAAK,EAAEC,MAAM,KAAK;AACvC,EAAA,IAAI,OAAOD,KAAK,KAAK,UAAU,EAAE;IAC7B,OAAOA,KAAK,CAACC,MAAM,CAAC,CAAA;AACxB,GAAA;AAEA,EAAA,OAAOD,KAAK,CAAA;AAChB,EAAC;AAED,MAAME,OAAO,GAAGA,CAACC,SAAS,GAAG,EAAE,KAAKA,SAAS,CAACC,KAAK,CAAC,SAAS,CAAC,CAAA;MAEjDC,SAAS,GAAGA,CAACC,GAAG,EAAEH,SAAS,KAAK;AACzC,EAAA,MAAMI,IAAI,GAAGL,OAAO,CAACC,SAAS,CAAC,CAAA;EAC/B,IAAIH,KAAK,GAAGM,GAAG,CAAA;EACf,IAAI;IACAC,IAAI,CAACC,OAAO,CAACC,GAAG,IAAKT,KAAK,GAAGA,KAAK,CAACS,GAAG,CAAE,CAAC,CAAA;GAC5C,CAAC,OAAOC,GAAG,EAAE;AACVV,IAAAA,KAAK,GAAGW,SAAS,CAAA;AACrB,GAAA;AAEA,EAAA,OAAOX,KAAK,CAAA;AAChB,EAAC;AAmDM,SAASY,WAAWA,CAAC;AAACC,EAAAA,KAAK,EAAEC,SAAS;EAAEC,KAAK;EAAEC,GAAG;EAAEP,GAAG;EAAE,GAAGQ,KAAAA;AAAK,CAAC,GAAG,EAAE,EAAE;EAC5E,OAAO;IACHR,GAAG;AACHI,IAAAA,KAAK,EAAEC,SAAS;IAChBC,KAAK;IACLC,GAAG;AACHC,IAAAA,KAAAA;GACH,CAAA;AACL;;;;;;"}
@@ -0,0 +1,21 @@
1
+ 'use strict';
2
+
3
+ /*
4
+ * @Author: pengmeng
5
+ * @Date: 2020-04-20 17:34:39
6
+ * @Last Modified by: pengmeng
7
+ * @Last Modified time: 2020-04-20 20:09:40
8
+ */
9
+
10
+ const current = 'Asia/Shanghai';
11
+ var timezone = {
12
+ state: {
13
+ current
14
+ },
15
+ getters: {
16
+ timezone: state => state.current
17
+ }
18
+ };
19
+
20
+ module.exports = timezone;
21
+ //# sourceMappingURL=timezone.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timezone.js","sources":["../../../../src/store/module/timezone.js"],"sourcesContent":["/*\n * @Author: pengmeng\n * @Date: 2020-04-20 17:34:39\n * @Last Modified by: pengmeng\n * @Last Modified time: 2020-04-20 20:09:40\n */\n\nconst current = 'Asia/Shanghai';\n\nexport default {\n state: {\n current\n },\n\n getters: {\n timezone: state => state.current\n }\n};\n"],"names":["current","state","getters","timezone"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAMA,OAAO,GAAG,eAAe,CAAA;AAE/B,eAAe;AACXC,EAAAA,KAAK,EAAE;AACHD,IAAAA,OAAAA;GACH;AAEDE,EAAAA,OAAO,EAAE;AACLC,IAAAA,QAAQ,EAAEF,KAAK,IAAIA,KAAK,CAACD,OAAAA;AAC7B,GAAA;AACJ,CAAC;;;;"}
@@ -0,0 +1,18 @@
1
+ 'use strict';
2
+
3
+ /*
4
+ * @Author: xiaodongyu
5
+ * @Date 2020-04-07 14:56:22
6
+ * @Last Modified by: xiaodongyu
7
+ * @Last Modified time: 2020-04-07 14:56:56
8
+ */
9
+
10
+ const boolOf = str => !!str && str === 'TRUE';
11
+ const valueOf = bool => {
12
+ if (typeof bool !== 'boolean') return undefined;
13
+ return bool ? 'TRUE' : 'FALSE';
14
+ };
15
+
16
+ exports.boolOf = boolOf;
17
+ exports.valueOf = valueOf;
18
+ //# sourceMappingURL=enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enum.js","sources":["../../../src/util/enum.js"],"sourcesContent":["/*\n * @Author: xiaodongyu\n * @Date 2020-04-07 14:56:22\n * @Last Modified by: xiaodongyu\n * @Last Modified time: 2020-04-07 14:56:56\n */\n\nexport const boolOf = str => !!str && str === 'TRUE';\n\nexport const valueOf = bool => {\n if (typeof bool !== 'boolean') return undefined;\n\n return bool ? 'TRUE' : 'FALSE';\n};\n"],"names":["boolOf","str","valueOf","bool","undefined"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;;AAEO,MAAMA,MAAM,GAAGC,GAAG,IAAI,CAAC,CAACA,GAAG,IAAIA,GAAG,KAAK,OAAM;AAEvCC,MAAAA,OAAO,GAAGC,IAAI,IAAI;AAC3B,EAAA,IAAI,OAAOA,IAAI,KAAK,SAAS,EAAE,OAAOC,SAAS,CAAA;AAE/C,EAAA,OAAOD,IAAI,GAAG,MAAM,GAAG,OAAO,CAAA;AAClC;;;;;"}
@@ -0,0 +1,167 @@
1
+ 'use strict';
2
+
3
+ var moment = require('moment');
4
+ var util_enum = require('./enum.js');
5
+
6
+ /*
7
+ * @Author: xiaodongyu
8
+ * @Date 2019-12-12 11:35:18
9
+ * @Last Modified by: wenxiujiang
10
+ * @Last Modified time: 2024-04-16 14:02:52
11
+ */
12
+ const listSeparator = '\n';
13
+
14
+ // ListBrList 展示textarea, 接口要List
15
+ const list = {
16
+ format: val => val && val.join(listSeparator),
17
+ unformat: (val, {
18
+ lineTrim
19
+ }) => {
20
+ if (lineTrim) {
21
+ if (val?.trim()) {
22
+ return val.trim().split(listSeparator).reduce((acc, cur) => cur.trim() ? [...acc, cur.trim()] : acc, []);
23
+ }
24
+ return undefined;
25
+ }
26
+ return val ? val.trim().split(listSeparator) : undefined;
27
+ }
28
+ };
29
+
30
+ // CommaBrComma 展示textarea, 接口要CommaString
31
+ const comma = {
32
+ format: val => val && val.split(',').join(listSeparator),
33
+ unformat: val => val && val.trim().split(listSeparator).join(',')
34
+ };
35
+
36
+ // ListBrJsonList 展示textarea, 接口要JsonList, 多用于查询条件,不支持编辑
37
+ const listJson = {
38
+ ...list,
39
+ unformat: val => val && JSON.stringify(val.trim().split(listSeparator))
40
+ };
41
+
42
+ // BooleanEnumBoolean 展示enum, 接口要boolean
43
+ const boolean = {
44
+ format: util_enum.valueOf,
45
+ unformat: util_enum.boolOf
46
+ };
47
+ const bool = {
48
+ format: val => !!val || val === false ? `${val}` : undefined,
49
+ unformat: val => typeof val !== 'string' ? undefined : val === 'true'
50
+ };
51
+
52
+ // CommaListComma 展示enum, 接口要CommaString
53
+ const listComma = {
54
+ format: val => val && val.trim().split(','),
55
+ unformat: val => val && val.join(',')
56
+ };
57
+
58
+ // 展示,分隔string,接口要list
59
+ const commaToList = {
60
+ format(val) {
61
+ return val && val.join(',');
62
+ },
63
+ unformat(val) {
64
+ return val ? val.trim().split(',') : undefined;
65
+ }
66
+ };
67
+
68
+ // ObjectJsonObject 展示textarea, 接口要Object
69
+ const json = {
70
+ format: val => {
71
+ try {
72
+ return JSON.stringify(val, null, 2);
73
+ } catch (err) {
74
+ return val;
75
+ }
76
+ },
77
+ unformat: val => {
78
+ try {
79
+ return JSON.parse(val);
80
+ } catch (err) {
81
+ return val;
82
+ }
83
+ }
84
+ };
85
+
86
+ // StringMomentString 财务相关接口要 DateString
87
+ const date = {
88
+ format: val => {
89
+ if (!val) return val;
90
+ if (Array.isArray(val)) {
91
+ return val.map(item => moment(item).valueOf());
92
+ }
93
+ return moment(val).valueOf();
94
+ },
95
+ unformat: val => {
96
+ if (!val) return val;
97
+ if (Array.isArray(val)) {
98
+ return val.map(item => moment(item).format('YYYY-MM-DD'));
99
+ }
100
+ return moment(val).format('YYYY-MM-DD');
101
+ }
102
+ };
103
+ const dateTime = {
104
+ format: val => {
105
+ if (!val) return val;
106
+ if (Array.isArray(val)) {
107
+ return val.map(item => moment(item).valueOf());
108
+ }
109
+ return moment(val).valueOf();
110
+ },
111
+ unformat: val => {
112
+ if (!val) return val;
113
+ if (Array.isArray(val)) {
114
+ return val.map(item => moment(item).format('YYYY-MM-DD HH:mm:ss'));
115
+ }
116
+ return moment(val).format('YYYY-MM-DD HH:mm:ss');
117
+ }
118
+ };
119
+ const getPrecision = num => {
120
+ const [integer, decimal = ''] = `${num}`.split('.');
121
+ return {
122
+ num: +`${integer}${decimal}`,
123
+ digits: decimal?.length
124
+ };
125
+ };
126
+ const percent = {
127
+ format: val => {
128
+ if (!val) return val;
129
+ const {
130
+ num,
131
+ digits
132
+ } = getPrecision(val);
133
+ const res = num * 100 / Math.pow(10, digits);
134
+ return !isNaN(res) ? res : val;
135
+ },
136
+ unformat: val => {
137
+ if (!val) return val;
138
+ const {
139
+ num,
140
+ digits
141
+ } = getPrecision(val);
142
+ const res = num / (100 * Math.pow(10, digits));
143
+ return !isNaN(res) ? res : val;
144
+ }
145
+ };
146
+ const FormatMap = {
147
+ boolean,
148
+ bool,
149
+ list,
150
+ comma,
151
+ listJson,
152
+ json,
153
+ listComma,
154
+ date,
155
+ dateTime,
156
+ percent,
157
+ commaToList
158
+ };
159
+ var formatMap = format => {
160
+ if (typeof format === 'string') {
161
+ return FormatMap[format];
162
+ }
163
+ return format;
164
+ };
165
+
166
+ module.exports = formatMap;
167
+ //# sourceMappingURL=format-map.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format-map.js","sources":["../../../src/util/format-map.js"],"sourcesContent":["/*\n * @Author: xiaodongyu\n * @Date 2019-12-12 11:35:18\n * @Last Modified by: wenxiujiang\n * @Last Modified time: 2024-04-16 14:02:52\n */\nimport moment from 'moment';\n\nimport {boolOf, valueOf} from './enum.js';\n\nconst listSeparator = '\\n';\n\n// ListBrList 展示textarea, 接口要List\nconst list = {\n format: val => val && val.join(listSeparator),\n unformat: (val, {lineTrim}) => {\n if (lineTrim) {\n if (val?.trim()) {\n return val.trim().split(listSeparator).reduce((acc, cur) => cur.trim() ? [...acc, cur.trim()] : acc, []);\n }\n\n return undefined;\n }\n\n return (val ? val.trim().split(listSeparator) : undefined);\n }\n};\n\n// CommaBrComma 展示textarea, 接口要CommaString\nconst comma = {\n format: val => val && val.split(',').join(listSeparator),\n unformat: val => val\n && val\n .trim()\n .split(listSeparator)\n .join(',')\n};\n\n// ListBrJsonList 展示textarea, 接口要JsonList, 多用于查询条件,不支持编辑\nconst listJson = {\n ...list,\n unformat: val => val && JSON.stringify(val.trim().split(listSeparator))\n};\n\n// BooleanEnumBoolean 展示enum, 接口要boolean\nconst boolean = {\n format: valueOf,\n unformat: boolOf\n};\n\nconst bool = {\n format: val => ((!!val || val === false) ? `${val}` : undefined),\n unformat: val => (typeof val !== 'string' ? undefined : val === 'true')\n};\n\n// CommaListComma 展示enum, 接口要CommaString\nconst listComma = {\n format: val => val && val.trim().split(','),\n unformat: val => val && val.join(',')\n};\n\n// 展示,分隔string,接口要list\nconst commaToList = {\n format(val) {\n return val && val.join(',');\n },\n unformat(val) {\n return val ? val.trim().split(',') : undefined;\n }\n};\n\n// ObjectJsonObject 展示textarea, 接口要Object\nconst json = {\n format: val => {\n try {\n return JSON.stringify(val, null, 2);\n } catch (err) {\n return val;\n }\n },\n unformat: val => {\n try {\n return JSON.parse(val);\n } catch (err) {\n return val;\n }\n }\n};\n\n// StringMomentString 财务相关接口要 DateString\nconst date = {\n format: val => {\n if (!val) return val;\n if (Array.isArray(val)) {\n return val.map(item => (moment(item).valueOf()));\n }\n\n return (moment(val).valueOf());\n },\n unformat: val => {\n if (!val) return val;\n if (Array.isArray(val)) {\n return val.map(item => moment(item).format('YYYY-MM-DD'));\n }\n\n return moment(val).format('YYYY-MM-DD');\n }\n};\nconst dateTime = {\n format: val => {\n if (!val) return val;\n if (Array.isArray(val)) {\n return val.map(item => moment(item).valueOf());\n }\n\n return moment(val).valueOf();\n },\n unformat: val => {\n if (!val) return val;\n if (Array.isArray(val)) {\n return val.map(item => moment(item).format('YYYY-MM-DD HH:mm:ss'));\n }\n\n return moment(val).format('YYYY-MM-DD HH:mm:ss');\n }\n};\n\nconst getPrecision = num => {\n const [integer, decimal = ''] = `${num}`.split('.');\n\n return {\n num: +`${integer}${decimal}`,\n digits: decimal?.length\n };\n};\n\nconst percent = {\n format: val => {\n if (!val) return val;\n\n const {num, digits} = getPrecision(val);\n const res = (num * 100) / Math.pow(10, digits);\n\n return !isNaN(res) ? res : val;\n },\n unformat: val => {\n if (!val) return val;\n\n const {num, digits} = getPrecision(val);\n const res = num / (100 * Math.pow(10, digits));\n\n return !isNaN(res) ? res : val;\n }\n};\n\nconst FormatMap = {\n boolean,\n bool,\n list,\n comma,\n listJson,\n json,\n listComma,\n date,\n dateTime,\n percent,\n commaToList\n};\n\nexport default format => {\n if (typeof format === 'string') {\n return FormatMap[format];\n }\n\n return format;\n};\n\n"],"names":["listSeparator","list","format","val","join","unformat","lineTrim","trim","split","reduce","acc","cur","undefined","comma","listJson","JSON","stringify","boolean","valueOf","boolOf","bool","listComma","commaToList","json","err","parse","date","Array","isArray","map","item","moment","dateTime","getPrecision","num","integer","decimal","digits","length","percent","res","Math","pow","isNaN","FormatMap"],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ 'use strict';
2
+
3
+ var util_tool = require('./tool.js');
4
+ var util_localStorage = require('./local-storage.js');
5
+ var util_object = require('./object.js');
6
+ var util_enum = require('./enum.js');
7
+ var util_json = require('./json.js');
8
+
9
+
10
+
11
+ exports.camelCaseToUnderscore = util_tool.camelCaseToUnderscore;
12
+ exports.getStorage = util_localStorage.getStorage;
13
+ exports.removeItem = util_localStorage.removeItem;
14
+ exports.setStorage = util_localStorage.setStorage;
15
+ exports.appendClass = util_object.appendClass;
16
+ exports.evalProp = util_object.evalProp;
17
+ exports.isMobile = util_object.isMobile;
18
+ exports.merge = util_object.merge;
19
+ exports.numbersToStr = util_object.numbersToStr;
20
+ exports.pickValue = util_object.pickValue;
21
+ exports.setValue = util_object.setValue;
22
+ exports.spreadObjectKeys = util_object.spreadObjectKeys;
23
+ exports.spreadProps = util_object.spreadProps;
24
+ exports.boolOf = util_enum.boolOf;
25
+ exports.valueOf = util_enum.valueOf;
26
+ exports.pureJSONString = util_json.pureJSONString;
27
+ exports.reformatJson = util_json.reformatJson;
28
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,43 @@
1
+ 'use strict';
2
+
3
+ /*
4
+ * @Author: YQG Team
5
+ * @Date: 2024-12-19
6
+ * @Description: JSON utility functions
7
+ */
8
+
9
+ /**
10
+ * Convert value to pure JSON string
11
+ * @param {any} value - The value to convert
12
+ * @returns {string} JSON string
13
+ */
14
+ const pureJSONString = value => {
15
+ try {
16
+ return JSON.stringify(value, null, 2);
17
+ } catch (error) {
18
+ console.error('Error converting to JSON string:', error);
19
+ return String(value);
20
+ }
21
+ };
22
+
23
+ /**
24
+ * Reformat JSON string
25
+ * @param {string} value - The JSON string to reformat
26
+ * @param {Object} context - Component context
27
+ * @returns {string} Reformatted JSON string
28
+ */
29
+ const reformatJson = (value, context) => {
30
+ try {
31
+ // Parse and re-stringify to format properly
32
+ const parsed = JSON.parse(value);
33
+ return JSON.stringify(parsed, null, 2);
34
+ } catch (error) {
35
+ console.error('Error reformatting JSON:', error);
36
+ // If parsing fails, return original value
37
+ return value;
38
+ }
39
+ };
40
+
41
+ exports.pureJSONString = pureJSONString;
42
+ exports.reformatJson = reformatJson;
43
+ //# sourceMappingURL=json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.js","sources":["../../../src/util/json.js"],"sourcesContent":["/*\n * @Author: YQG Team\n * @Date: 2024-12-19\n * @Description: JSON utility functions\n */\n\n/**\n * Convert value to pure JSON string\n * @param {any} value - The value to convert\n * @returns {string} JSON string\n */\nexport const pureJSONString = (value) => {\n try {\n return JSON.stringify(value, null, 2);\n } catch (error) {\n console.error('Error converting to JSON string:', error);\n return String(value);\n }\n};\n\n/**\n * Reformat JSON string\n * @param {string} value - The JSON string to reformat\n * @param {Object} context - Component context\n * @returns {string} Reformatted JSON string\n */\nexport const reformatJson = (value, context) => {\n try {\n // Parse and re-stringify to format properly\n const parsed = JSON.parse(value);\n return JSON.stringify(parsed, null, 2);\n } catch (error) {\n console.error('Error reformatting JSON:', error);\n // If parsing fails, return original value\n return value;\n }\n};\n"],"names":["pureJSONString","value","JSON","stringify","error","console","String","reformatJson","context","parsed","parse"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACaA,MAAAA,cAAc,GAAIC,KAAK,IAAK;EACrC,IAAI;IACA,OAAOC,IAAI,CAACC,SAAS,CAACF,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;GACxC,CAAC,OAAOG,KAAK,EAAE;AACZC,IAAAA,OAAO,CAACD,KAAK,CAAC,kCAAkC,EAAEA,KAAK,CAAC,CAAA;IACxD,OAAOE,MAAM,CAACL,KAAK,CAAC,CAAA;AACxB,GAAA;AACJ,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;MACaM,YAAY,GAAGA,CAACN,KAAK,EAAEO,OAAO,KAAK;EAC5C,IAAI;AACA;AACA,IAAA,MAAMC,MAAM,GAAGP,IAAI,CAACQ,KAAK,CAACT,KAAK,CAAC,CAAA;IAChC,OAAOC,IAAI,CAACC,SAAS,CAACM,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;GACzC,CAAC,OAAOL,KAAK,EAAE;AACZC,IAAAA,OAAO,CAACD,KAAK,CAAC,0BAA0B,EAAEA,KAAK,CAAC,CAAA;AAChD;AACA,IAAA,OAAOH,KAAK,CAAA;AAChB,GAAA;AACJ;;;;;"}
@@ -0,0 +1,20 @@
1
+ 'use strict';
2
+
3
+ /*
4
+ * @Author: chengyuzhang
5
+ * @Date: 2020-05-12 10:43:56
6
+ * @Last Modified by: chengyuzhang
7
+ * @Last Modified time: 2020-05-12 10:43:56
8
+ */
9
+
10
+ var keyCodeMap = {
11
+ esc: 27,
12
+ tab: 9,
13
+ enter: 13,
14
+ up: 38,
15
+ down: 40,
16
+ backSpace: 8
17
+ };
18
+
19
+ module.exports = keyCodeMap;
20
+ //# sourceMappingURL=keyCodeMap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyCodeMap.js","sources":["../../../src/util/keyCodeMap.js"],"sourcesContent":["/*\n * @Author: chengyuzhang\n * @Date: 2020-05-12 10:43:56\n * @Last Modified by: chengyuzhang\n * @Last Modified time: 2020-05-12 10:43:56\n */\n\nexport default {\n esc: 27,\n tab: 9,\n enter: 13,\n up: 38,\n down: 40,\n backSpace: 8\n};\n"],"names":["esc","tab","enter","up","down","backSpace"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAe;AACXA,EAAAA,GAAG,EAAE,EAAE;AACPC,EAAAA,GAAG,EAAE,CAAC;AACNC,EAAAA,KAAK,EAAE,EAAE;AACTC,EAAAA,EAAE,EAAE,EAAE;AACNC,EAAAA,IAAI,EAAE,EAAE;AACRC,EAAAA,SAAS,EAAE,CAAA;AACf,CAAC;;;;"}
@@ -0,0 +1,19 @@
1
+ 'use strict';
2
+
3
+ /*
4
+ * @Author: hongweihu
5
+ * @Date: 2022-01-06 16:54:15
6
+ * @Last Modified by: hongweihu
7
+ * @Last Modified time: 2022-01-06 17:39:21
8
+ */
9
+
10
+ const setStorage = (itemName, item) => {
11
+ window.localStorage.setItem(itemName, item);
12
+ };
13
+ const getStorage = itemName => window.localStorage.getItem(itemName);
14
+ const removeItem = itemName => window.localStorage.removeItem(itemName);
15
+
16
+ exports.getStorage = getStorage;
17
+ exports.removeItem = removeItem;
18
+ exports.setStorage = setStorage;
19
+ //# sourceMappingURL=local-storage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-storage.js","sources":["../../../src/util/local-storage.js"],"sourcesContent":["/*\n * @Author: hongweihu\n * @Date: 2022-01-06 16:54:15\n * @Last Modified by: hongweihu\n * @Last Modified time: 2022-01-06 17:39:21\n */\n\nconst setStorage = (itemName, item) => {\n window.localStorage.setItem(itemName, item);\n};\n\nconst getStorage = itemName => window.localStorage.getItem(itemName);\n\nconst removeItem = itemName => window.localStorage.removeItem(itemName);\n\nexport {setStorage, getStorage, removeItem};\n"],"names":["setStorage","itemName","item","window","localStorage","setItem","getStorage","getItem","removeItem"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAMA,UAAU,GAAGA,CAACC,QAAQ,EAAEC,IAAI,KAAK;EACnCC,MAAM,CAACC,YAAY,CAACC,OAAO,CAACJ,QAAQ,EAAEC,IAAI,CAAC,CAAA;AAC/C,EAAC;AAEKI,MAAAA,UAAU,GAAGL,QAAQ,IAAIE,MAAM,CAACC,YAAY,CAACG,OAAO,CAACN,QAAQ,EAAC;AAE9DO,MAAAA,UAAU,GAAGP,QAAQ,IAAIE,MAAM,CAACC,YAAY,CAACI,UAAU,CAACP,QAAQ;;;;;;"}
@@ -0,0 +1,134 @@
1
+ 'use strict';
2
+
3
+ /*
4
+ * @Author: xiaodongyu
5
+ * @Date 2019-12-07 14:00:32
6
+ * @Last Modified by: mengpeng
7
+ * @Last Modified time: 2022-11-10 15:39:31
8
+ */
9
+
10
+ const evalProp = (value, values) => {
11
+ if (typeof value === 'function') {
12
+ return value(values);
13
+ }
14
+ return value;
15
+ };
16
+ const getKeys = (keyString = '') => keyString.split(/\]?[[.]/);
17
+ const pickValue = (obj, keyString) => {
18
+ const keys = getKeys(keyString);
19
+ let value = obj;
20
+ try {
21
+ keys.forEach(key => value = value[key]);
22
+ } catch (err) {
23
+ value = undefined;
24
+ }
25
+ return value;
26
+ };
27
+ const setValue = (obj = {}, keyString, value) => {
28
+ const keys = getKeys(keyString);
29
+ const result = {
30
+ ...obj
31
+ };
32
+ let target = result;
33
+ keys.forEach((key, idx) => {
34
+ if (idx === keys.length - 1) {
35
+ target[key] = value;
36
+ } else {
37
+ if (!target[key]) {
38
+ const nextKey = keys[idx + 1];
39
+ if (/^\d+$/.test(nextKey) && new RegExp(`${key}]?[${nextKey}]`).test(keyString)) {
40
+ target[key] = [];
41
+ } else {
42
+ target[key] = {};
43
+ }
44
+ }
45
+ target = target[key];
46
+ }
47
+ });
48
+ return result;
49
+ };
50
+ const spreadObjectKeys = origin => {
51
+ if (!origin) return origin;
52
+ return Object.entries(origin).reduce((acc, [key, value]) => setValue(acc, key, value), {});
53
+ };
54
+ const numberToStr = val => {
55
+ if ((val || val === 0 || val === false) && (val.constructor === Number || val.constructor === Boolean)) {
56
+ return val.toString();
57
+ }
58
+ return val;
59
+ };
60
+ const numbersToStr = val => {
61
+ if (val && val.constructor === Array) {
62
+ return val.map(numberToStr);
63
+ }
64
+ return numberToStr(val);
65
+ };
66
+ const isMobile = /mobile/i.test(navigator.userAgent);
67
+ function spreadProps({
68
+ class: className,
69
+ style,
70
+ ref,
71
+ key,
72
+ ...props
73
+ } = {}) {
74
+ return {
75
+ key,
76
+ class: className,
77
+ style,
78
+ ref,
79
+ props
80
+ };
81
+ }
82
+ function appendClass(className, appendix) {
83
+ // 目前只支持append string
84
+ if (typeof appendix !== 'string') return className;
85
+ if (!className) return appendix;
86
+ switch (className.constructor) {
87
+ case String:
88
+ return `${className} ${appendix}`;
89
+ case Object:
90
+ return {
91
+ ...className,
92
+ [appendix]: true
93
+ };
94
+ case Array:
95
+ return [...className, appendix];
96
+ }
97
+ return className;
98
+ }
99
+ const isPlainObject = obj => {
100
+ if (obj === null || Array.isArray(obj)) {
101
+ return false;
102
+ }
103
+ return typeof obj === 'object';
104
+ };
105
+ const customizer = (target, source) => {
106
+ //对象需要考虑深层对象
107
+ if (isPlainObject(target) && isPlainObject(target)) {
108
+ return merge(target, source);
109
+ }
110
+
111
+ //其他格式一律返回新值
112
+ return source;
113
+ };
114
+
115
+ //两两合并
116
+ const merge = (target = {}, source = {}) => {
117
+ const res = {};
118
+ [...Object.keys(target), ...Object.keys(source)].forEach(key => {
119
+ const val = customizer(target[key], source[key]);
120
+ res[key] = typeof val === 'undefined' ? target[key] : val;
121
+ });
122
+ return res;
123
+ };
124
+
125
+ exports.appendClass = appendClass;
126
+ exports.evalProp = evalProp;
127
+ exports.isMobile = isMobile;
128
+ exports.merge = merge;
129
+ exports.numbersToStr = numbersToStr;
130
+ exports.pickValue = pickValue;
131
+ exports.setValue = setValue;
132
+ exports.spreadObjectKeys = spreadObjectKeys;
133
+ exports.spreadProps = spreadProps;
134
+ //# sourceMappingURL=object.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object.js","sources":["../../../src/util/object.js"],"sourcesContent":["/*\n * @Author: xiaodongyu\n * @Date 2019-12-07 14:00:32\n * @Last Modified by: mengpeng \n * @Last Modified time: 2022-11-10 15:39:31 \n */\n\nexport const evalProp = (value, values) => {\n if (typeof value === 'function') {\n return value(values);\n }\n\n return value;\n};\n\nconst getKeys = (keyString = '') => keyString.split(/\\]?[[.]/);\n\nexport const pickValue = (obj, keyString) => {\n const keys = getKeys(keyString);\n let value = obj;\n try {\n keys.forEach(key => (value = value[key]));\n } catch (err) {\n value = undefined;\n }\n\n return value;\n};\n\nexport const setValue = (obj = {}, keyString, value) => {\n const keys = getKeys(keyString);\n const result = {...obj};\n let target = result;\n keys.forEach((key, idx) => {\n if (idx === keys.length - 1) {\n target[key] = value;\n } else {\n if (!target[key]) {\n const nextKey = keys[idx + 1];\n if (/^\\d+$/.test(nextKey) && new RegExp(`${key}]?[${nextKey}]`).test(keyString)) {\n target[key] = [];\n } else {\n target[key] = {};\n }\n }\n\n target = target[key];\n }\n });\n\n return result;\n};\n\nexport const spreadObjectKeys = origin => {\n if (!origin) return origin;\n\n return Object.entries(origin)\n .reduce((acc, [key, value]) => setValue(acc, key, value), {});\n};\n\nconst numberToStr = val => {\n if ((val || val === 0 || val === false) && (val.constructor === Number || val.constructor === Boolean)) {\n return val.toString();\n }\n\n return val;\n};\n\nexport const numbersToStr = val => {\n if (val && val.constructor === Array) {\n return val.map(numberToStr);\n }\n\n return numberToStr(val);\n};\n\nexport const isMobile = /mobile/i.test(navigator.userAgent);\n\nexport function spreadProps({class: className, style, ref, key, ...props} = {}) {\n return {\n key,\n class: className,\n style,\n ref,\n props\n };\n}\n\nexport function appendClass(className, appendix) {\n // 目前只支持append string\n if (typeof appendix !== 'string') return className;\n\n if (!className) return appendix;\n\n switch (className.constructor) {\n case String:\n return `${className} ${appendix}`;\n case Object:\n return {...className, [appendix]: true};\n case Array:\n return [...className, appendix];\n }\n\n return className;\n}\n\nconst isPlainObject = obj => {\n if (obj === null || Array.isArray(obj)) {\n return false;\n }\n\n return typeof obj === 'object';\n};\n\nconst customizer = (target, source) => {\n //对象需要考虑深层对象\n if (isPlainObject(target) && isPlainObject(target)) {\n return merge(target, source);\n }\n\n //其他格式一律返回新值\n return source;\n};\n\n//两两合并\nexport const merge = (target = {}, source = {}) => {\n const res = {};\n [...Object.keys(target), ...Object.keys(source)]\n .forEach(key => {\n const val = customizer(target[key], source[key]);\n\n res[key] = typeof val === 'undefined' ? target[key] : val;\n });\n\n return res;\n};\n"],"names":["evalProp","value","values","getKeys","keyString","split","pickValue","obj","keys","forEach","key","err","undefined","setValue","result","target","idx","length","nextKey","test","RegExp","spreadObjectKeys","origin","Object","entries","reduce","acc","numberToStr","val","constructor","Number","Boolean","toString","numbersToStr","Array","map","isMobile","navigator","userAgent","spreadProps","class","className","style","ref","props","appendClass","appendix","String","isPlainObject","isArray","customizer","source","merge","res"],"mappings":"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"}