amis-core 6.4.1 → 6.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (305) hide show
  1. package/esm/Root.js +1 -1
  2. package/esm/RootRenderer.js +1 -1
  3. package/esm/SchemaRenderer.js +15 -5
  4. package/esm/Scoped.d.ts +1 -1
  5. package/esm/Scoped.js +2 -1
  6. package/esm/StatusScoped.js +1 -1
  7. package/esm/WithRootStore.js +1 -1
  8. package/esm/WithStore.js +9 -3
  9. package/esm/actions/Action.js +6 -5
  10. package/esm/actions/AjaxAction.js +3 -3
  11. package/esm/actions/BreakAction.js +1 -1
  12. package/esm/actions/BroadcastAction.js +1 -1
  13. package/esm/actions/CmptAction.js +2 -2
  14. package/esm/actions/ContinueAction.js +1 -1
  15. package/esm/actions/CopyAction.js +4 -4
  16. package/esm/actions/CustomAction.js +2 -1
  17. package/esm/actions/DialogAction.js +2 -1
  18. package/esm/actions/DrawerAction.js +2 -1
  19. package/esm/actions/EmailAction.js +1 -1
  20. package/esm/actions/EventAction.js +2 -1
  21. package/esm/actions/LinkAction.js +1 -1
  22. package/esm/actions/LoopAction.js +2 -1
  23. package/esm/actions/PageAction.js +1 -1
  24. package/esm/actions/ParallelAction.js +1 -1
  25. package/esm/actions/PrintAction.d.ts +1 -1
  26. package/esm/actions/PrintAction.js +12 -6
  27. package/esm/actions/StatusAction.js +1 -1
  28. package/esm/actions/SwitchAction.js +3 -3
  29. package/esm/actions/ToastAction.js +1 -1
  30. package/esm/actions/WaitAction.js +1 -1
  31. package/esm/components/CustomStyle.js +1 -1
  32. package/esm/components/ErrorBoundary.js +1 -1
  33. package/esm/components/LazyComponent.js +1 -1
  34. package/esm/components/Overlay.js +2 -1
  35. package/esm/components/PopOver.js +2 -1
  36. package/esm/env.d.ts +2 -4
  37. package/esm/env.js +1 -1
  38. package/esm/envOverwrite.js +1 -1
  39. package/esm/factory.js +1 -1
  40. package/esm/index.js +4 -4
  41. package/esm/locale.js +2 -1
  42. package/esm/polyfills.js +1 -1
  43. package/esm/renderers/Form.d.ts +1 -1
  44. package/esm/renderers/Form.js +40 -6
  45. package/esm/renderers/Item.d.ts +27 -60
  46. package/esm/renderers/Item.js +74 -6
  47. package/esm/renderers/Options.js +2 -1
  48. package/esm/renderers/Placeholder.js +1 -1
  49. package/esm/renderers/builtin.js +1 -1
  50. package/esm/renderers/register.js +1 -1
  51. package/esm/renderers/wrapControl.js +7 -1
  52. package/esm/store/app.js +2 -1
  53. package/esm/store/combo.js +1 -1
  54. package/esm/store/crud.js +2 -1
  55. package/esm/store/form.js +2 -1
  56. package/esm/store/formItem.js +11 -1
  57. package/esm/store/iRenderer.js +2 -1
  58. package/esm/store/index.js +1 -1
  59. package/esm/store/list.js +1 -1
  60. package/esm/store/manager.js +1 -1
  61. package/esm/store/modal.js +1 -1
  62. package/esm/store/node.js +1 -1
  63. package/esm/store/pagination.js +2 -1
  64. package/esm/store/root.js +2 -1
  65. package/esm/store/service.js +2 -1
  66. package/esm/store/status.js +1 -1
  67. package/esm/store/table.js +2 -1
  68. package/esm/store/table2.js +1 -1
  69. package/esm/theme.js +1 -1
  70. package/esm/types.d.ts +1 -0
  71. package/esm/utils/Animation.js +1 -1
  72. package/esm/utils/ColorScale.js +1 -1
  73. package/esm/utils/DataSchema.js +1 -1
  74. package/esm/utils/DataScope.js +1 -1
  75. package/esm/utils/RootClose.js +1 -1
  76. package/esm/utils/SimpleMap.js +1 -1
  77. package/esm/utils/api.js +21 -3
  78. package/esm/utils/arraySlice.js +1 -1
  79. package/esm/utils/attachmentAdpator.js +1 -1
  80. package/esm/utils/autobind.js +1 -1
  81. package/esm/utils/browser.js +1 -1
  82. package/esm/utils/columnsSplit.js +1 -1
  83. package/esm/utils/concatData.js +1 -1
  84. package/esm/utils/dataMapping.js +1 -1
  85. package/esm/utils/date.d.ts +3 -1
  86. package/esm/utils/date.js +11 -5
  87. package/esm/utils/debug.js +1 -1
  88. package/esm/utils/decodeEntity.js +1 -1
  89. package/esm/utils/dom.js +1 -1
  90. package/esm/utils/errors.js +1 -1
  91. package/esm/utils/escapeHtml.js +1 -1
  92. package/esm/utils/filter-schema.js +7 -4
  93. package/esm/utils/filter.js +1 -1
  94. package/esm/utils/formatDuration.js +1 -1
  95. package/esm/utils/formula.js +2 -1
  96. package/esm/utils/getVariable.js +1 -1
  97. package/esm/utils/grammar.js +1 -1
  98. package/esm/utils/handleAction.js +1 -1
  99. package/esm/utils/helper.js +2 -1
  100. package/esm/utils/highlight.js +1 -1
  101. package/esm/utils/icon.js +1 -1
  102. package/esm/utils/image.js +1 -1
  103. package/esm/utils/isPureVariable.js +1 -1
  104. package/esm/utils/json-schema-2-amis-schema.js +1 -1
  105. package/esm/utils/keyToPath.js +1 -1
  106. package/esm/utils/labelToString.js +1 -1
  107. package/esm/utils/makeSorter.js +1 -1
  108. package/esm/utils/math.js +1 -1
  109. package/esm/utils/memoryParse.js +1 -1
  110. package/esm/utils/normalizeLink.js +1 -1
  111. package/esm/utils/normalizeOptions.d.ts +1 -1
  112. package/esm/utils/normalizeOptions.js +3 -2
  113. package/esm/utils/object.js +1 -1
  114. package/esm/utils/offset.js +1 -1
  115. package/esm/utils/offsetParent.js +1 -1
  116. package/esm/utils/optionValueCompare.js +1 -1
  117. package/esm/utils/position.js +1 -1
  118. package/esm/utils/prettyBytes.js +1 -1
  119. package/esm/utils/printElement.js +1 -1
  120. package/esm/utils/renderer-event.js +3 -3
  121. package/esm/utils/replaceText.js +1 -1
  122. package/esm/utils/resize-sensor.js +1 -1
  123. package/esm/utils/resolveCondition.d.ts +2 -1
  124. package/esm/utils/resolveCondition.js +60 -8
  125. package/esm/utils/resolveVariable.js +1 -1
  126. package/esm/utils/resolveVariableAndFilter.js +1 -1
  127. package/esm/utils/resolveVariableAndFilterForAsync.js +1 -1
  128. package/esm/utils/scrollPosition.js +1 -1
  129. package/esm/utils/string2regExp.js +1 -1
  130. package/esm/utils/stripNumber.js +2 -2
  131. package/esm/utils/style-helper.js +5 -3
  132. package/esm/utils/style.js +2 -1
  133. package/esm/utils/toNumber.js +1 -1
  134. package/esm/utils/tokenize.js +1 -1
  135. package/esm/utils/tpl-builtin.js +2 -1
  136. package/esm/utils/tpl-lodash.js +2 -1
  137. package/esm/utils/tpl.d.ts +8 -1
  138. package/esm/utils/tpl.js +18 -5
  139. package/esm/utils/uncontrollable.js +1 -1
  140. package/esm/utils/validateId.js +1 -1
  141. package/esm/utils/validations.js +2 -1
  142. package/lib/Root.js +1 -1
  143. package/lib/RootRenderer.js +1 -1
  144. package/lib/SchemaRenderer.js +15 -5
  145. package/lib/Scoped.d.ts +1 -1
  146. package/lib/Scoped.js +2 -1
  147. package/lib/StatusScoped.js +1 -1
  148. package/lib/WithRootStore.js +1 -1
  149. package/lib/WithStore.js +9 -3
  150. package/lib/actions/Action.js +5 -4
  151. package/lib/actions/AjaxAction.js +2 -2
  152. package/lib/actions/BreakAction.js +1 -1
  153. package/lib/actions/BroadcastAction.js +1 -1
  154. package/lib/actions/CmptAction.js +2 -2
  155. package/lib/actions/ContinueAction.js +1 -1
  156. package/lib/actions/CopyAction.js +4 -4
  157. package/lib/actions/CustomAction.js +2 -1
  158. package/lib/actions/DialogAction.js +2 -1
  159. package/lib/actions/DrawerAction.js +2 -1
  160. package/lib/actions/EmailAction.js +1 -1
  161. package/lib/actions/EventAction.js +2 -1
  162. package/lib/actions/LinkAction.js +1 -1
  163. package/lib/actions/LoopAction.js +2 -1
  164. package/lib/actions/PageAction.js +1 -1
  165. package/lib/actions/ParallelAction.js +1 -1
  166. package/lib/actions/PrintAction.d.ts +1 -1
  167. package/lib/actions/PrintAction.js +12 -6
  168. package/lib/actions/StatusAction.js +1 -1
  169. package/lib/actions/SwitchAction.js +2 -2
  170. package/lib/actions/ToastAction.js +1 -1
  171. package/lib/actions/WaitAction.js +1 -1
  172. package/lib/components/CustomStyle.js +1 -1
  173. package/lib/components/ErrorBoundary.js +1 -1
  174. package/lib/components/LazyComponent.js +1 -1
  175. package/lib/components/Overlay.js +2 -1
  176. package/lib/components/PopOver.js +2 -1
  177. package/lib/env.d.ts +2 -4
  178. package/lib/env.js +1 -1
  179. package/lib/envOverwrite.js +1 -1
  180. package/lib/factory.js +1 -1
  181. package/lib/index.js +4 -2
  182. package/lib/locale.js +2 -1
  183. package/lib/polyfills.js +1 -1
  184. package/lib/renderers/Form.d.ts +1 -1
  185. package/lib/renderers/Form.js +40 -6
  186. package/lib/renderers/Item.d.ts +27 -60
  187. package/lib/renderers/Item.js +74 -6
  188. package/lib/renderers/Options.js +2 -1
  189. package/lib/renderers/Placeholder.js +1 -1
  190. package/lib/renderers/builtin.js +1 -1
  191. package/lib/renderers/register.js +1 -1
  192. package/lib/renderers/wrapControl.js +7 -1
  193. package/lib/store/app.js +2 -1
  194. package/lib/store/combo.js +1 -1
  195. package/lib/store/crud.js +2 -1
  196. package/lib/store/form.js +2 -1
  197. package/lib/store/formItem.js +11 -1
  198. package/lib/store/iRenderer.js +2 -1
  199. package/lib/store/index.js +1 -1
  200. package/lib/store/list.js +1 -1
  201. package/lib/store/manager.js +1 -1
  202. package/lib/store/modal.js +1 -1
  203. package/lib/store/node.js +1 -1
  204. package/lib/store/pagination.js +2 -1
  205. package/lib/store/root.js +2 -1
  206. package/lib/store/service.js +2 -1
  207. package/lib/store/status.js +1 -1
  208. package/lib/store/table.js +2 -1
  209. package/lib/store/table2.js +1 -1
  210. package/lib/theme.js +1 -1
  211. package/lib/types.d.ts +1 -0
  212. package/lib/utils/Animation.js +1 -1
  213. package/lib/utils/ColorScale.js +1 -1
  214. package/lib/utils/DataSchema.js +1 -1
  215. package/lib/utils/DataScope.js +1 -1
  216. package/lib/utils/RootClose.js +1 -1
  217. package/lib/utils/SimpleMap.js +1 -1
  218. package/lib/utils/api.js +23 -3
  219. package/lib/utils/arraySlice.js +1 -1
  220. package/lib/utils/attachmentAdpator.js +1 -1
  221. package/lib/utils/autobind.js +1 -1
  222. package/lib/utils/browser.js +1 -1
  223. package/lib/utils/columnsSplit.js +1 -1
  224. package/lib/utils/concatData.js +1 -1
  225. package/lib/utils/dataMapping.js +1 -1
  226. package/lib/utils/date.d.ts +3 -1
  227. package/lib/utils/date.js +11 -5
  228. package/lib/utils/debug.js +1 -1
  229. package/lib/utils/decodeEntity.js +1 -1
  230. package/lib/utils/dom.js +1 -1
  231. package/lib/utils/errors.js +1 -1
  232. package/lib/utils/escapeHtml.js +1 -1
  233. package/lib/utils/filter-schema.js +6 -3
  234. package/lib/utils/filter.js +1 -1
  235. package/lib/utils/formatDuration.js +1 -1
  236. package/lib/utils/formula.js +2 -1
  237. package/lib/utils/getVariable.js +1 -1
  238. package/lib/utils/grammar.js +1 -1
  239. package/lib/utils/handleAction.js +1 -1
  240. package/lib/utils/helper.js +2 -1
  241. package/lib/utils/highlight.js +1 -1
  242. package/lib/utils/icon.js +1 -1
  243. package/lib/utils/image.js +1 -1
  244. package/lib/utils/isPureVariable.js +1 -1
  245. package/lib/utils/json-schema-2-amis-schema.js +1 -1
  246. package/lib/utils/keyToPath.js +1 -1
  247. package/lib/utils/labelToString.js +1 -1
  248. package/lib/utils/makeSorter.js +1 -1
  249. package/lib/utils/math.js +1 -1
  250. package/lib/utils/memoryParse.js +1 -1
  251. package/lib/utils/normalizeLink.js +1 -1
  252. package/lib/utils/normalizeOptions.d.ts +1 -1
  253. package/lib/utils/normalizeOptions.js +3 -2
  254. package/lib/utils/object.js +1 -1
  255. package/lib/utils/offset.js +1 -1
  256. package/lib/utils/offsetParent.js +1 -1
  257. package/lib/utils/optionValueCompare.js +1 -1
  258. package/lib/utils/position.js +1 -1
  259. package/lib/utils/prettyBytes.js +1 -1
  260. package/lib/utils/printElement.js +1 -1
  261. package/lib/utils/renderer-event.js +2 -2
  262. package/lib/utils/replaceText.js +1 -1
  263. package/lib/utils/resize-sensor.js +1 -1
  264. package/lib/utils/resolveCondition.d.ts +2 -1
  265. package/lib/utils/resolveCondition.js +60 -7
  266. package/lib/utils/resolveVariable.js +1 -1
  267. package/lib/utils/resolveVariableAndFilter.js +1 -1
  268. package/lib/utils/resolveVariableAndFilterForAsync.js +1 -1
  269. package/lib/utils/scrollPosition.js +1 -1
  270. package/lib/utils/string2regExp.js +1 -1
  271. package/lib/utils/stripNumber.js +3 -3
  272. package/lib/utils/style-helper.js +5 -3
  273. package/lib/utils/style.js +2 -1
  274. package/lib/utils/toNumber.js +1 -1
  275. package/lib/utils/tokenize.js +1 -1
  276. package/lib/utils/tpl-builtin.js +2 -1
  277. package/lib/utils/tpl-lodash.js +2 -1
  278. package/lib/utils/tpl.d.ts +8 -1
  279. package/lib/utils/tpl.js +17 -3
  280. package/lib/utils/uncontrollable.js +1 -1
  281. package/lib/utils/validateId.js +1 -1
  282. package/lib/utils/validations.js +2 -1
  283. package/package.json +3 -2
  284. package/esm/node_modules/@babel/runtime/helpers/esm/classCallCheck.js +0 -12
  285. package/esm/node_modules/@babel/runtime/helpers/esm/createClass.js +0 -26
  286. package/esm/node_modules/@babel/runtime/helpers/esm/defineProperty.js +0 -23
  287. package/esm/node_modules/@babel/runtime/helpers/esm/toPrimitive.js +0 -19
  288. package/esm/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js +0 -14
  289. package/esm/node_modules/@babel/runtime/helpers/esm/typeof.js +0 -16
  290. package/esm/node_modules/@rc-component/mini-decimal/es/BigIntDecimal.js +0 -184
  291. package/esm/node_modules/@rc-component/mini-decimal/es/MiniDecimal.js +0 -56
  292. package/esm/node_modules/@rc-component/mini-decimal/es/NumberDecimal.js +0 -119
  293. package/esm/node_modules/@rc-component/mini-decimal/es/numberUtil.js +0 -105
  294. package/esm/node_modules/@rc-component/mini-decimal/es/supportUtil.js +0 -10
  295. package/lib/node_modules/@babel/runtime/helpers/esm/classCallCheck.js +0 -16
  296. package/lib/node_modules/@babel/runtime/helpers/esm/createClass.js +0 -30
  297. package/lib/node_modules/@babel/runtime/helpers/esm/defineProperty.js +0 -27
  298. package/lib/node_modules/@babel/runtime/helpers/esm/toPrimitive.js +0 -23
  299. package/lib/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js +0 -18
  300. package/lib/node_modules/@babel/runtime/helpers/esm/typeof.js +0 -20
  301. package/lib/node_modules/@rc-component/mini-decimal/es/BigIntDecimal.js +0 -188
  302. package/lib/node_modules/@rc-component/mini-decimal/es/MiniDecimal.js +0 -61
  303. package/lib/node_modules/@rc-component/mini-decimal/es/NumberDecimal.js +0 -123
  304. package/lib/node_modules/@rc-component/mini-decimal/es/numberUtil.js +0 -114
  305. package/lib/node_modules/@rc-component/mini-decimal/es/supportUtil.js +0 -14
@@ -1,188 +0,0 @@
1
- /**
2
- * amis-core v6.4.1
3
- * Copyright 2018-2024 fex
4
- */
5
-
6
- 'use strict';
7
-
8
- Object.defineProperty(exports, '__esModule', { value: true });
9
-
10
- var classCallCheck = require('../../../@babel/runtime/helpers/esm/classCallCheck.js');
11
- var createClass = require('../../../@babel/runtime/helpers/esm/createClass.js');
12
- var defineProperty = require('../../../@babel/runtime/helpers/esm/defineProperty.js');
13
- var numberUtil = require('./numberUtil.js');
14
-
15
- var BigIntDecimal = /*#__PURE__*/function () {
16
- /** BigInt will convert `0009` to `9`. We need record the len of decimal */
17
-
18
- function BigIntDecimal(value) {
19
- classCallCheck["default"](this, BigIntDecimal);
20
- defineProperty["default"](this, "origin", '');
21
- defineProperty["default"](this, "negative", void 0);
22
- defineProperty["default"](this, "integer", void 0);
23
- defineProperty["default"](this, "decimal", void 0);
24
- defineProperty["default"](this, "decimalLen", void 0);
25
- defineProperty["default"](this, "empty", void 0);
26
- defineProperty["default"](this, "nan", void 0);
27
- if (numberUtil.isEmpty(value)) {
28
- this.empty = true;
29
- return;
30
- }
31
- this.origin = String(value);
32
-
33
- // Act like Number convert
34
- if (value === '-' || Number.isNaN(value)) {
35
- this.nan = true;
36
- return;
37
- }
38
- var mergedValue = value;
39
-
40
- // We need convert back to Number since it require `toFixed` to handle this
41
- if (numberUtil.isE(mergedValue)) {
42
- mergedValue = Number(mergedValue);
43
- }
44
- mergedValue = typeof mergedValue === 'string' ? mergedValue : numberUtil.num2str(mergedValue);
45
- if (numberUtil.validateNumber(mergedValue)) {
46
- var trimRet = numberUtil.trimNumber(mergedValue);
47
- this.negative = trimRet.negative;
48
- var numbers = trimRet.trimStr.split('.');
49
- this.integer = BigInt(numbers[0]);
50
- var decimalStr = numbers[1] || '0';
51
- this.decimal = BigInt(decimalStr);
52
- this.decimalLen = decimalStr.length;
53
- } else {
54
- this.nan = true;
55
- }
56
- }
57
- createClass["default"](BigIntDecimal, [{
58
- key: "getMark",
59
- value: function getMark() {
60
- return this.negative ? '-' : '';
61
- }
62
- }, {
63
- key: "getIntegerStr",
64
- value: function getIntegerStr() {
65
- return this.integer.toString();
66
- }
67
-
68
- /**
69
- * @private get decimal string
70
- */
71
- }, {
72
- key: "getDecimalStr",
73
- value: function getDecimalStr() {
74
- return this.decimal.toString().padStart(this.decimalLen, '0');
75
- }
76
-
77
- /**
78
- * @private Align BigIntDecimal with same decimal length. e.g. 12.3 + 5 = 1230000
79
- * This is used for add function only.
80
- */
81
- }, {
82
- key: "alignDecimal",
83
- value: function alignDecimal(decimalLength) {
84
- var str = "".concat(this.getMark()).concat(this.getIntegerStr()).concat(this.getDecimalStr().padEnd(decimalLength, '0'));
85
- return BigInt(str);
86
- }
87
- }, {
88
- key: "negate",
89
- value: function negate() {
90
- var clone = new BigIntDecimal(this.toString());
91
- clone.negative = !clone.negative;
92
- return clone;
93
- }
94
- }, {
95
- key: "cal",
96
- value: function cal(offset, calculator, calDecimalLen) {
97
- var maxDecimalLength = Math.max(this.getDecimalStr().length, offset.getDecimalStr().length);
98
- var myAlignedDecimal = this.alignDecimal(maxDecimalLength);
99
- var offsetAlignedDecimal = offset.alignDecimal(maxDecimalLength);
100
- var valueStr = calculator(myAlignedDecimal, offsetAlignedDecimal).toString();
101
- var nextDecimalLength = calDecimalLen(maxDecimalLength);
102
-
103
- // We need fill string length back to `maxDecimalLength` to avoid parser failed
104
- var _trimNumber = numberUtil.trimNumber(valueStr),
105
- negativeStr = _trimNumber.negativeStr,
106
- trimStr = _trimNumber.trimStr;
107
- var hydrateValueStr = "".concat(negativeStr).concat(trimStr.padStart(nextDecimalLength + 1, '0'));
108
- return new BigIntDecimal("".concat(hydrateValueStr.slice(0, -nextDecimalLength), ".").concat(hydrateValueStr.slice(-nextDecimalLength)));
109
- }
110
- }, {
111
- key: "add",
112
- value: function add(value) {
113
- if (this.isInvalidate()) {
114
- return new BigIntDecimal(value);
115
- }
116
- var offset = new BigIntDecimal(value);
117
- if (offset.isInvalidate()) {
118
- return this;
119
- }
120
- return this.cal(offset, function (num1, num2) {
121
- return num1 + num2;
122
- }, function (len) {
123
- return len;
124
- });
125
- }
126
- }, {
127
- key: "multi",
128
- value: function multi(value) {
129
- var target = new BigIntDecimal(value);
130
- if (this.isInvalidate() || target.isInvalidate()) {
131
- return new BigIntDecimal(NaN);
132
- }
133
- return this.cal(target, function (num1, num2) {
134
- return num1 * num2;
135
- }, function (len) {
136
- return len * 2;
137
- });
138
- }
139
- }, {
140
- key: "isEmpty",
141
- value: function isEmpty() {
142
- return this.empty;
143
- }
144
- }, {
145
- key: "isNaN",
146
- value: function isNaN() {
147
- return this.nan;
148
- }
149
- }, {
150
- key: "isInvalidate",
151
- value: function isInvalidate() {
152
- return this.isEmpty() || this.isNaN();
153
- }
154
- }, {
155
- key: "equals",
156
- value: function equals(target) {
157
- return this.toString() === (target === null || target === void 0 ? void 0 : target.toString());
158
- }
159
- }, {
160
- key: "lessEquals",
161
- value: function lessEquals(target) {
162
- return this.add(target.negate().toString()).toNumber() <= 0;
163
- }
164
- }, {
165
- key: "toNumber",
166
- value: function toNumber() {
167
- if (this.isNaN()) {
168
- return NaN;
169
- }
170
- return Number(this.toString());
171
- }
172
- }, {
173
- key: "toString",
174
- value: function toString() {
175
- var safe = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
176
- if (!safe) {
177
- return this.origin;
178
- }
179
- if (this.isInvalidate()) {
180
- return '';
181
- }
182
- return numberUtil.trimNumber("".concat(this.getMark()).concat(this.getIntegerStr(), ".").concat(this.getDecimalStr())).fullStr;
183
- }
184
- }]);
185
- return BigIntDecimal;
186
- }();
187
-
188
- exports["default"] = BigIntDecimal;
@@ -1,61 +0,0 @@
1
- /**
2
- * amis-core v6.4.1
3
- * Copyright 2018-2024 fex
4
- */
5
-
6
- 'use strict';
7
-
8
- Object.defineProperty(exports, '__esModule', { value: true });
9
-
10
- var BigIntDecimal = require('./BigIntDecimal.js');
11
- var NumberDecimal = require('./NumberDecimal.js');
12
- var numberUtil = require('./numberUtil.js');
13
- var supportUtil = require('./supportUtil.js');
14
-
15
- /* eslint-disable max-classes-per-file */
16
- function getMiniDecimal(value) {
17
- // We use BigInt here.
18
- // Will fallback to Number if not support.
19
- if (supportUtil.supportBigInt()) {
20
- return new BigIntDecimal["default"](value);
21
- }
22
- return new NumberDecimal["default"](value);
23
- }
24
-
25
- /**
26
- * Align the logic of toFixed to around like 1.5 => 2.
27
- * If set `cutOnly`, will just remove the over decimal part.
28
- */
29
- function toFixed(numStr, separatorStr, precision) {
30
- var cutOnly = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
31
- if (numStr === '') {
32
- return '';
33
- }
34
- var _trimNumber = numberUtil.trimNumber(numStr),
35
- negativeStr = _trimNumber.negativeStr,
36
- integerStr = _trimNumber.integerStr,
37
- decimalStr = _trimNumber.decimalStr;
38
- var precisionDecimalStr = "".concat(separatorStr).concat(decimalStr);
39
- var numberWithoutDecimal = "".concat(negativeStr).concat(integerStr);
40
- if (precision >= 0) {
41
- // We will get last + 1 number to check if need advanced number
42
- var advancedNum = Number(decimalStr[precision]);
43
- if (advancedNum >= 5 && !cutOnly) {
44
- var advancedDecimal = getMiniDecimal(numStr).add("".concat(negativeStr, "0.").concat('0'.repeat(precision)).concat(10 - advancedNum));
45
- return toFixed(advancedDecimal.toString(), separatorStr, precision, cutOnly);
46
- }
47
- if (precision === 0) {
48
- return numberWithoutDecimal;
49
- }
50
- return "".concat(numberWithoutDecimal).concat(separatorStr).concat(decimalStr.padEnd(precision, '0').slice(0, precision));
51
- }
52
- if (precisionDecimalStr === '.0') {
53
- return numberWithoutDecimal;
54
- }
55
- return "".concat(numberWithoutDecimal).concat(precisionDecimalStr);
56
- }
57
-
58
- exports.BigIntDecimal = BigIntDecimal["default"];
59
- exports.NumberDecimal = NumberDecimal["default"];
60
- exports["default"] = getMiniDecimal;
61
- exports.toFixed = toFixed;
@@ -1,123 +0,0 @@
1
- /**
2
- * amis-core v6.4.1
3
- * Copyright 2018-2024 fex
4
- */
5
-
6
- 'use strict';
7
-
8
- Object.defineProperty(exports, '__esModule', { value: true });
9
-
10
- var classCallCheck = require('../../../@babel/runtime/helpers/esm/classCallCheck.js');
11
- var createClass = require('../../../@babel/runtime/helpers/esm/createClass.js');
12
- var defineProperty = require('../../../@babel/runtime/helpers/esm/defineProperty.js');
13
- var numberUtil = require('./numberUtil.js');
14
-
15
- /**
16
- * We can remove this when IE not support anymore
17
- */
18
- var NumberDecimal = /*#__PURE__*/function () {
19
- function NumberDecimal(value) {
20
- classCallCheck["default"](this, NumberDecimal);
21
- defineProperty["default"](this, "origin", '');
22
- defineProperty["default"](this, "number", void 0);
23
- defineProperty["default"](this, "empty", void 0);
24
- if (numberUtil.isEmpty(value)) {
25
- this.empty = true;
26
- return;
27
- }
28
- this.origin = String(value);
29
- this.number = Number(value);
30
- }
31
- createClass["default"](NumberDecimal, [{
32
- key: "negate",
33
- value: function negate() {
34
- return new NumberDecimal(-this.toNumber());
35
- }
36
- }, {
37
- key: "add",
38
- value: function add(value) {
39
- if (this.isInvalidate()) {
40
- return new NumberDecimal(value);
41
- }
42
- var target = Number(value);
43
- if (Number.isNaN(target)) {
44
- return this;
45
- }
46
- var number = this.number + target;
47
-
48
- // [Legacy] Back to safe integer
49
- if (number > Number.MAX_SAFE_INTEGER) {
50
- return new NumberDecimal(Number.MAX_SAFE_INTEGER);
51
- }
52
- if (number < Number.MIN_SAFE_INTEGER) {
53
- return new NumberDecimal(Number.MIN_SAFE_INTEGER);
54
- }
55
- var maxPrecision = Math.max(numberUtil.getNumberPrecision(this.number), numberUtil.getNumberPrecision(target));
56
- return new NumberDecimal(number.toFixed(maxPrecision));
57
- }
58
- }, {
59
- key: "multi",
60
- value: function multi(value) {
61
- var target = Number(value);
62
- if (this.isInvalidate() || Number.isNaN(target)) {
63
- return new NumberDecimal(NaN);
64
- }
65
- var number = this.number * target;
66
-
67
- // [Legacy] Back to safe integer
68
- if (number > Number.MAX_SAFE_INTEGER) {
69
- return new NumberDecimal(Number.MAX_SAFE_INTEGER);
70
- }
71
- if (number < Number.MIN_SAFE_INTEGER) {
72
- return new NumberDecimal(Number.MIN_SAFE_INTEGER);
73
- }
74
- var maxPrecision = Math.max(numberUtil.getNumberPrecision(this.number), numberUtil.getNumberPrecision(target));
75
- return new NumberDecimal(number.toFixed(maxPrecision));
76
- }
77
- }, {
78
- key: "isEmpty",
79
- value: function isEmpty() {
80
- return this.empty;
81
- }
82
- }, {
83
- key: "isNaN",
84
- value: function isNaN() {
85
- return Number.isNaN(this.number);
86
- }
87
- }, {
88
- key: "isInvalidate",
89
- value: function isInvalidate() {
90
- return this.isEmpty() || this.isNaN();
91
- }
92
- }, {
93
- key: "equals",
94
- value: function equals(target) {
95
- return this.toNumber() === (target === null || target === void 0 ? void 0 : target.toNumber());
96
- }
97
- }, {
98
- key: "lessEquals",
99
- value: function lessEquals(target) {
100
- return this.add(target.negate().toString()).toNumber() <= 0;
101
- }
102
- }, {
103
- key: "toNumber",
104
- value: function toNumber() {
105
- return this.number;
106
- }
107
- }, {
108
- key: "toString",
109
- value: function toString() {
110
- var safe = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
111
- if (!safe) {
112
- return this.origin;
113
- }
114
- if (this.isInvalidate()) {
115
- return '';
116
- }
117
- return numberUtil.num2str(this.number);
118
- }
119
- }]);
120
- return NumberDecimal;
121
- }();
122
-
123
- exports["default"] = NumberDecimal;
@@ -1,114 +0,0 @@
1
- /**
2
- * amis-core v6.4.1
3
- * Copyright 2018-2024 fex
4
- */
5
-
6
- 'use strict';
7
-
8
- Object.defineProperty(exports, '__esModule', { value: true });
9
-
10
- var supportUtil = require('./supportUtil.js');
11
-
12
- function isEmpty(value) {
13
- return !value && value !== 0 && !Number.isNaN(value) || !String(value).trim();
14
- }
15
-
16
- /**
17
- * Format string number to readable number
18
- */
19
- function trimNumber(numStr) {
20
- var str = numStr.trim();
21
- var negative = str.startsWith('-');
22
- if (negative) {
23
- str = str.slice(1);
24
- }
25
- str = str
26
- // Remove decimal 0. `1.000` => `1.`, `1.100` => `1.1`
27
- .replace(/(\.\d*[^0])0*$/, '$1')
28
- // Remove useless decimal. `1.` => `1`
29
- .replace(/\.0*$/, '')
30
- // Remove integer 0. `0001` => `1`, 000.1' => `.1`
31
- .replace(/^0+/, '');
32
- if (str.startsWith('.')) {
33
- str = "0".concat(str);
34
- }
35
- var trimStr = str || '0';
36
- var splitNumber = trimStr.split('.');
37
- var integerStr = splitNumber[0] || '0';
38
- var decimalStr = splitNumber[1] || '0';
39
- if (integerStr === '0' && decimalStr === '0') {
40
- negative = false;
41
- }
42
- var negativeStr = negative ? '-' : '';
43
- return {
44
- negative: negative,
45
- negativeStr: negativeStr,
46
- trimStr: trimStr,
47
- integerStr: integerStr,
48
- decimalStr: decimalStr,
49
- fullStr: "".concat(negativeStr).concat(trimStr)
50
- };
51
- }
52
- function isE(number) {
53
- var str = String(number);
54
- return !Number.isNaN(Number(str)) && str.includes('e');
55
- }
56
-
57
- /**
58
- * [Legacy] Convert 1e-9 to 0.000000001.
59
- * This may lose some precision if user really want 1e-9.
60
- */
61
- function getNumberPrecision(number) {
62
- var numStr = String(number);
63
- if (isE(number)) {
64
- var precision = Number(numStr.slice(numStr.indexOf('e-') + 2));
65
- var decimalMatch = numStr.match(/\.(\d+)/);
66
- if (decimalMatch !== null && decimalMatch !== void 0 && decimalMatch[1]) {
67
- precision += decimalMatch[1].length;
68
- }
69
- return precision;
70
- }
71
- return numStr.includes('.') && validateNumber(numStr) ? numStr.length - numStr.indexOf('.') - 1 : 0;
72
- }
73
-
74
- /**
75
- * Convert number (includes scientific notation) to -xxx.yyy format
76
- */
77
- function num2str(number) {
78
- var numStr = String(number);
79
- if (isE(number)) {
80
- if (number > Number.MAX_SAFE_INTEGER) {
81
- return String(supportUtil.supportBigInt() ? BigInt(number).toString() : Number.MAX_SAFE_INTEGER);
82
- }
83
- if (number < Number.MIN_SAFE_INTEGER) {
84
- return String(supportUtil.supportBigInt() ? BigInt(number).toString() : Number.MIN_SAFE_INTEGER);
85
- }
86
- numStr = number.toFixed(getNumberPrecision(numStr));
87
- }
88
- return trimNumber(numStr).fullStr;
89
- }
90
- function validateNumber(num) {
91
- if (typeof num === 'number') {
92
- return !Number.isNaN(num);
93
- }
94
-
95
- // Empty
96
- if (!num) {
97
- return false;
98
- }
99
- return (
100
- // Normal type: 11.28
101
- /^\s*-?\d+(\.\d+)?\s*$/.test(num) ||
102
- // Pre-number: 1.
103
- /^\s*-?\d+\.\s*$/.test(num) ||
104
- // Post-number: .1
105
- /^\s*-?\.\d+\s*$/.test(num)
106
- );
107
- }
108
-
109
- exports.getNumberPrecision = getNumberPrecision;
110
- exports.isE = isE;
111
- exports.isEmpty = isEmpty;
112
- exports.num2str = num2str;
113
- exports.trimNumber = trimNumber;
114
- exports.validateNumber = validateNumber;
@@ -1,14 +0,0 @@
1
- /**
2
- * amis-core v6.4.1
3
- * Copyright 2018-2024 fex
4
- */
5
-
6
- 'use strict';
7
-
8
- Object.defineProperty(exports, '__esModule', { value: true });
9
-
10
- function supportBigInt() {
11
- return typeof BigInt === 'function';
12
- }
13
-
14
- exports.supportBigInt = supportBigInt;