amis-core 6.4.1 → 6.6.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.
- package/esm/Root.js +1 -1
- package/esm/RootRenderer.js +1 -1
- package/esm/SchemaRenderer.js +16 -5
- package/esm/Scoped.d.ts +1 -1
- package/esm/Scoped.js +5 -1
- package/esm/StatusScoped.js +1 -1
- package/esm/WithRootStore.js +1 -1
- package/esm/WithStore.js +10 -4
- package/esm/actions/Action.js +6 -5
- package/esm/actions/AjaxAction.js +3 -3
- package/esm/actions/BreakAction.js +1 -1
- package/esm/actions/BroadcastAction.js +1 -1
- package/esm/actions/CmptAction.js +2 -2
- package/esm/actions/ContinueAction.js +1 -1
- package/esm/actions/CopyAction.js +4 -4
- package/esm/actions/CustomAction.js +2 -1
- package/esm/actions/DialogAction.js +2 -1
- package/esm/actions/DrawerAction.js +2 -1
- package/esm/actions/EmailAction.js +1 -1
- package/esm/actions/EventAction.js +2 -1
- package/esm/actions/LinkAction.js +1 -1
- package/esm/actions/LoopAction.js +2 -1
- package/esm/actions/PageAction.js +1 -1
- package/esm/actions/ParallelAction.js +1 -1
- package/esm/actions/PrintAction.d.ts +1 -1
- package/esm/actions/PrintAction.js +12 -6
- package/esm/actions/StatusAction.js +1 -1
- package/esm/actions/SwitchAction.js +3 -3
- package/esm/actions/ToastAction.js +1 -1
- package/esm/actions/WaitAction.js +1 -1
- package/esm/components/CustomStyle.js +3 -2
- package/esm/components/ErrorBoundary.js +1 -1
- package/esm/components/LazyComponent.js +1 -1
- package/esm/components/Overlay.js +2 -1
- package/esm/components/PopOver.js +2 -1
- package/esm/env.d.ts +2 -4
- package/esm/env.js +1 -1
- package/esm/envOverwrite.js +1 -1
- package/esm/factory.js +1 -1
- package/esm/index.js +4 -4
- package/esm/locale.js +2 -1
- package/esm/polyfills.js +1 -1
- package/esm/renderers/Form.d.ts +1 -1
- package/esm/renderers/Form.js +43 -9
- package/esm/renderers/Item.d.ts +27 -60
- package/esm/renderers/Item.js +75 -6
- package/esm/renderers/Options.js +40 -13
- package/esm/renderers/Placeholder.js +1 -1
- package/esm/renderers/builtin.js +1 -1
- package/esm/renderers/register.js +1 -1
- package/esm/renderers/wrapControl.js +19 -9
- package/esm/store/app.d.ts +2 -0
- package/esm/store/app.js +2 -1
- package/esm/store/combo.d.ts +6 -0
- package/esm/store/combo.js +1 -1
- package/esm/store/crud.d.ts +2 -0
- package/esm/store/crud.js +2 -1
- package/esm/store/form.d.ts +2 -0
- package/esm/store/form.js +2 -1
- package/esm/store/formItem.js +12 -2
- package/esm/store/iRenderer.d.ts +2 -0
- package/esm/store/iRenderer.js +13 -1
- package/esm/store/index.js +1 -1
- package/esm/store/list.d.ts +2 -0
- package/esm/store/list.js +1 -1
- package/esm/store/manager.js +1 -1
- package/esm/store/modal.d.ts +2 -0
- package/esm/store/modal.js +1 -1
- package/esm/store/node.js +1 -1
- package/esm/store/pagination.d.ts +2 -0
- package/esm/store/pagination.js +2 -1
- package/esm/store/root.d.ts +2 -0
- package/esm/store/root.js +2 -1
- package/esm/store/service.d.ts +2 -0
- package/esm/store/service.js +2 -1
- package/esm/store/status.js +1 -1
- package/esm/store/table.d.ts +6 -0
- package/esm/store/table.js +2 -1
- package/esm/store/table2.d.ts +2 -0
- package/esm/store/table2.js +1 -1
- package/esm/theme.js +1 -1
- package/esm/types.d.ts +2 -0
- package/esm/utils/Animation.js +1 -1
- package/esm/utils/ColorScale.js +1 -1
- package/esm/utils/DataSchema.js +1 -1
- package/esm/utils/DataScope.js +2 -1
- package/esm/utils/RootClose.js +1 -1
- package/esm/utils/SimpleMap.js +1 -1
- package/esm/utils/api.js +21 -3
- package/esm/utils/arraySlice.js +1 -1
- package/esm/utils/attachmentAdpator.js +1 -1
- package/esm/utils/autobind.js +1 -1
- package/esm/utils/browser.js +1 -1
- package/esm/utils/columnsSplit.js +1 -1
- package/esm/utils/concatData.js +1 -1
- package/esm/utils/dataMapping.js +1 -1
- package/esm/utils/date.d.ts +3 -1
- package/esm/utils/date.js +11 -5
- package/esm/utils/debug.js +1 -1
- package/esm/utils/decodeEntity.js +1 -1
- package/esm/utils/dom.js +1 -1
- package/esm/utils/errors.js +1 -1
- package/esm/utils/escapeHtml.js +1 -1
- package/esm/utils/filter-schema.js +7 -4
- package/esm/utils/filter.js +1 -1
- package/esm/utils/formatDuration.js +1 -1
- package/esm/utils/formula.js +2 -1
- package/esm/utils/getVariable.js +1 -1
- package/esm/utils/grammar.js +1 -1
- package/esm/utils/handleAction.js +1 -1
- package/esm/utils/helper.d.ts +1 -1
- package/esm/utils/helper.js +10 -6
- package/esm/utils/highlight.js +1 -1
- package/esm/utils/icon.js +1 -1
- package/esm/utils/image.js +1 -1
- package/esm/utils/isPureVariable.js +1 -1
- package/esm/utils/json-schema-2-amis-schema.js +1 -1
- package/esm/utils/keyToPath.js +1 -1
- package/esm/utils/labelToString.js +1 -1
- package/esm/utils/makeSorter.js +1 -1
- package/esm/utils/math.js +1 -1
- package/esm/utils/memoryParse.js +1 -1
- package/esm/utils/normalizeLink.js +1 -1
- package/esm/utils/normalizeOptions.d.ts +1 -1
- package/esm/utils/normalizeOptions.js +3 -2
- package/esm/utils/object.js +1 -1
- package/esm/utils/offset.js +1 -1
- package/esm/utils/offsetParent.js +1 -1
- package/esm/utils/optionValueCompare.js +1 -1
- package/esm/utils/position.js +1 -1
- package/esm/utils/prettyBytes.js +1 -1
- package/esm/utils/printElement.js +1 -1
- package/esm/utils/renderer-event.js +7 -6
- package/esm/utils/replaceText.js +1 -1
- package/esm/utils/resize-sensor.js +1 -1
- package/esm/utils/resolveCondition.d.ts +2 -1
- package/esm/utils/resolveCondition.js +60 -8
- package/esm/utils/resolveVariable.js +1 -1
- package/esm/utils/resolveVariableAndFilter.js +1 -1
- package/esm/utils/resolveVariableAndFilterForAsync.js +1 -1
- package/esm/utils/scrollPosition.js +1 -1
- package/esm/utils/string2regExp.js +1 -1
- package/esm/utils/stripNumber.js +2 -2
- package/esm/utils/style-helper.js +15 -8
- package/esm/utils/style.js +2 -1
- package/esm/utils/toNumber.js +1 -1
- package/esm/utils/tokenize.js +1 -1
- package/esm/utils/tpl-builtin.js +2 -1
- package/esm/utils/tpl-lodash.js +2 -1
- package/esm/utils/tpl.d.ts +8 -1
- package/esm/utils/tpl.js +18 -5
- package/esm/utils/uncontrollable.js +1 -1
- package/esm/utils/validateId.js +1 -1
- package/esm/utils/validations.js +2 -1
- package/lib/Root.js +1 -1
- package/lib/RootRenderer.d.ts +1 -1
- package/lib/RootRenderer.js +1 -1
- package/lib/SchemaRenderer.js +16 -5
- package/lib/Scoped.d.ts +1 -1
- package/lib/Scoped.js +5 -1
- package/lib/StatusScoped.js +1 -1
- package/lib/WithRootStore.js +1 -1
- package/lib/WithStore.js +10 -4
- package/lib/actions/Action.js +5 -4
- package/lib/actions/AjaxAction.js +2 -2
- package/lib/actions/BreakAction.js +1 -1
- package/lib/actions/BroadcastAction.js +1 -1
- package/lib/actions/CmptAction.js +2 -2
- package/lib/actions/ContinueAction.js +1 -1
- package/lib/actions/CopyAction.js +4 -4
- package/lib/actions/CustomAction.js +2 -1
- package/lib/actions/DialogAction.js +2 -1
- package/lib/actions/DrawerAction.js +2 -1
- package/lib/actions/EmailAction.js +1 -1
- package/lib/actions/EventAction.js +2 -1
- package/lib/actions/LinkAction.js +1 -1
- package/lib/actions/LoopAction.js +2 -1
- package/lib/actions/PageAction.js +1 -1
- package/lib/actions/ParallelAction.js +1 -1
- package/lib/actions/PrintAction.d.ts +1 -1
- package/lib/actions/PrintAction.js +12 -6
- package/lib/actions/StatusAction.js +1 -1
- package/lib/actions/SwitchAction.js +2 -2
- package/lib/actions/ToastAction.js +1 -1
- package/lib/actions/WaitAction.js +1 -1
- package/lib/components/CustomStyle.js +3 -2
- package/lib/components/ErrorBoundary.js +1 -1
- package/lib/components/LazyComponent.js +1 -1
- package/lib/components/Overlay.js +2 -1
- package/lib/components/PopOver.js +2 -1
- package/lib/env.d.ts +2 -4
- package/lib/env.js +1 -1
- package/lib/envOverwrite.js +1 -1
- package/lib/factory.js +1 -1
- package/lib/index.js +4 -2
- package/lib/locale.js +2 -1
- package/lib/polyfills.js +1 -1
- package/lib/renderers/Form.d.ts +1 -1
- package/lib/renderers/Form.js +43 -9
- package/lib/renderers/Item.d.ts +27 -60
- package/lib/renderers/Item.js +75 -6
- package/lib/renderers/Options.js +40 -13
- package/lib/renderers/Placeholder.js +1 -1
- package/lib/renderers/builtin.js +1 -1
- package/lib/renderers/register.js +1 -1
- package/lib/renderers/wrapControl.js +19 -9
- package/lib/store/app.d.ts +2 -0
- package/lib/store/app.js +2 -1
- package/lib/store/combo.d.ts +30 -24
- package/lib/store/combo.js +1 -1
- package/lib/store/crud.d.ts +2 -0
- package/lib/store/crud.js +2 -1
- package/lib/store/form.d.ts +12 -10
- package/lib/store/form.js +2 -1
- package/lib/store/formItem.js +12 -2
- package/lib/store/iRenderer.d.ts +2 -0
- package/lib/store/iRenderer.js +13 -1
- package/lib/store/index.js +1 -1
- package/lib/store/list.d.ts +2 -0
- package/lib/store/list.js +1 -1
- package/lib/store/manager.js +1 -1
- package/lib/store/modal.d.ts +2 -0
- package/lib/store/modal.js +1 -1
- package/lib/store/node.js +1 -1
- package/lib/store/pagination.d.ts +2 -0
- package/lib/store/pagination.js +2 -1
- package/lib/store/root.d.ts +2 -0
- package/lib/store/root.js +2 -1
- package/lib/store/service.d.ts +2 -0
- package/lib/store/service.js +2 -1
- package/lib/store/status.js +1 -1
- package/lib/store/table.d.ts +26 -20
- package/lib/store/table.js +2 -1
- package/lib/store/table2.d.ts +2 -0
- package/lib/store/table2.js +1 -1
- package/lib/theme.js +1 -1
- package/lib/types.d.ts +2 -0
- package/lib/utils/Animation.js +1 -1
- package/lib/utils/ColorScale.js +1 -1
- package/lib/utils/DataSchema.js +1 -1
- package/lib/utils/DataScope.js +2 -1
- package/lib/utils/RootClose.js +1 -1
- package/lib/utils/SimpleMap.js +1 -1
- package/lib/utils/api.js +23 -3
- package/lib/utils/arraySlice.js +1 -1
- package/lib/utils/attachmentAdpator.js +1 -1
- package/lib/utils/autobind.js +1 -1
- package/lib/utils/browser.js +1 -1
- package/lib/utils/columnsSplit.js +1 -1
- package/lib/utils/concatData.js +1 -1
- package/lib/utils/dataMapping.js +1 -1
- package/lib/utils/date.d.ts +3 -1
- package/lib/utils/date.js +11 -5
- package/lib/utils/debug.js +1 -1
- package/lib/utils/decodeEntity.js +1 -1
- package/lib/utils/dom.js +1 -1
- package/lib/utils/errors.js +1 -1
- package/lib/utils/escapeHtml.js +1 -1
- package/lib/utils/filter-schema.js +6 -3
- package/lib/utils/filter.js +1 -1
- package/lib/utils/formatDuration.js +1 -1
- package/lib/utils/formula.js +2 -1
- package/lib/utils/getVariable.js +1 -1
- package/lib/utils/grammar.js +1 -1
- package/lib/utils/handleAction.js +1 -1
- package/lib/utils/helper.d.ts +1 -1
- package/lib/utils/helper.js +9 -5
- package/lib/utils/highlight.js +1 -1
- package/lib/utils/icon.js +1 -1
- package/lib/utils/image.js +1 -1
- package/lib/utils/isPureVariable.js +1 -1
- package/lib/utils/json-schema-2-amis-schema.js +1 -1
- package/lib/utils/keyToPath.js +1 -1
- package/lib/utils/labelToString.js +1 -1
- package/lib/utils/makeSorter.js +1 -1
- package/lib/utils/math.js +1 -1
- package/lib/utils/memoryParse.js +1 -1
- package/lib/utils/normalizeLink.js +1 -1
- package/lib/utils/normalizeOptions.d.ts +1 -1
- package/lib/utils/normalizeOptions.js +3 -2
- package/lib/utils/object.js +1 -1
- package/lib/utils/offset.js +1 -1
- package/lib/utils/offsetParent.js +1 -1
- package/lib/utils/optionValueCompare.js +1 -1
- package/lib/utils/position.js +1 -1
- package/lib/utils/prettyBytes.js +1 -1
- package/lib/utils/printElement.js +1 -1
- package/lib/utils/renderer-event.js +6 -5
- package/lib/utils/replaceText.js +1 -1
- package/lib/utils/resize-sensor.js +1 -1
- package/lib/utils/resolveCondition.d.ts +2 -1
- package/lib/utils/resolveCondition.js +60 -7
- package/lib/utils/resolveVariable.js +1 -1
- package/lib/utils/resolveVariableAndFilter.js +1 -1
- package/lib/utils/resolveVariableAndFilterForAsync.js +1 -1
- package/lib/utils/scrollPosition.js +1 -1
- package/lib/utils/string2regExp.js +1 -1
- package/lib/utils/stripNumber.js +3 -3
- package/lib/utils/style-helper.js +15 -8
- package/lib/utils/style.js +2 -1
- package/lib/utils/toNumber.js +1 -1
- package/lib/utils/tokenize.js +1 -1
- package/lib/utils/tpl-builtin.js +2 -1
- package/lib/utils/tpl-lodash.js +2 -1
- package/lib/utils/tpl.d.ts +8 -1
- package/lib/utils/tpl.js +17 -3
- package/lib/utils/uncontrollable.js +1 -1
- package/lib/utils/validateId.js +1 -1
- package/lib/utils/validations.js +2 -1
- package/package.json +3 -2
- package/esm/node_modules/@babel/runtime/helpers/esm/classCallCheck.js +0 -12
- package/esm/node_modules/@babel/runtime/helpers/esm/createClass.js +0 -26
- package/esm/node_modules/@babel/runtime/helpers/esm/defineProperty.js +0 -23
- package/esm/node_modules/@babel/runtime/helpers/esm/toPrimitive.js +0 -19
- package/esm/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js +0 -14
- package/esm/node_modules/@babel/runtime/helpers/esm/typeof.js +0 -16
- package/esm/node_modules/@rc-component/mini-decimal/es/BigIntDecimal.js +0 -184
- package/esm/node_modules/@rc-component/mini-decimal/es/MiniDecimal.js +0 -56
- package/esm/node_modules/@rc-component/mini-decimal/es/NumberDecimal.js +0 -119
- package/esm/node_modules/@rc-component/mini-decimal/es/numberUtil.js +0 -105
- package/esm/node_modules/@rc-component/mini-decimal/es/supportUtil.js +0 -10
- package/lib/node_modules/@babel/runtime/helpers/esm/classCallCheck.js +0 -16
- package/lib/node_modules/@babel/runtime/helpers/esm/createClass.js +0 -30
- package/lib/node_modules/@babel/runtime/helpers/esm/defineProperty.js +0 -27
- package/lib/node_modules/@babel/runtime/helpers/esm/toPrimitive.js +0 -23
- package/lib/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js +0 -18
- package/lib/node_modules/@babel/runtime/helpers/esm/typeof.js +0 -20
- package/lib/node_modules/@rc-component/mini-decimal/es/BigIntDecimal.js +0 -188
- package/lib/node_modules/@rc-component/mini-decimal/es/MiniDecimal.js +0 -61
- package/lib/node_modules/@rc-component/mini-decimal/es/NumberDecimal.js +0 -123
- package/lib/node_modules/@rc-component/mini-decimal/es/numberUtil.js +0 -114
- package/lib/node_modules/@rc-component/mini-decimal/es/supportUtil.js +0 -14
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.
|
|
2
|
+
* amis-core v6.6.0
|
|
3
3
|
* Copyright 2018-2024 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -274,13 +274,14 @@ function formatStyle(themeCss, classNames, id, defaultData, data) {
|
|
|
274
274
|
};
|
|
275
275
|
}
|
|
276
276
|
function insertCustomStyle(prams) {
|
|
277
|
+
var _a;
|
|
277
278
|
var themeCss = prams.themeCss, classNames = prams.classNames, id = prams.id, defaultData = prams.defaultData, customStyleClassPrefix = prams.customStyleClassPrefix, doc = prams.doc, data = prams.data;
|
|
278
279
|
if (!themeCss) {
|
|
279
280
|
return;
|
|
280
281
|
}
|
|
281
282
|
var value = formatStyle(themeCss, classNames, id, defaultData, data).value;
|
|
282
283
|
value = customStyleClassPrefix ? "".concat(customStyleClassPrefix, " ").concat(value) : value;
|
|
283
|
-
var classId = id.replace('u:', '');
|
|
284
|
+
var classId = ((_a = id === null || id === void 0 ? void 0 : id.replace) === null || _a === void 0 ? void 0 : _a.call(id, 'u:', '')) || id + '';
|
|
284
285
|
if (typeof (data === null || data === void 0 ? void 0 : data.index) === 'number') {
|
|
285
286
|
classId += "-".concat(data.index);
|
|
286
287
|
}
|
|
@@ -335,7 +336,9 @@ function traverseStyle(style, path, result) {
|
|
|
335
336
|
* 设置源码编辑自定义样式
|
|
336
337
|
*/
|
|
337
338
|
function insertEditCustomStyle(params) {
|
|
338
|
-
var
|
|
339
|
+
var _a, _b;
|
|
340
|
+
var customStyle = params.customStyle, doc = params.doc, data = params.data;
|
|
341
|
+
var id = ((_b = (_a = params.id) === null || _a === void 0 ? void 0 : _a.replace) === null || _b === void 0 ? void 0 : _b.call(_a, 'u:', '')) || params.id + '';
|
|
339
342
|
var styles = {};
|
|
340
343
|
traverseStyle(customStyle, '', styles);
|
|
341
344
|
var content = '';
|
|
@@ -344,7 +347,7 @@ function insertEditCustomStyle(params) {
|
|
|
344
347
|
index = "-".concat(data.index);
|
|
345
348
|
}
|
|
346
349
|
if (!isEmpty__default["default"](styles)) {
|
|
347
|
-
var className_1 = "wrapperCustomStyle-".concat(id
|
|
350
|
+
var className_1 = "wrapperCustomStyle-".concat(id).concat(index);
|
|
348
351
|
Object.keys(styles).forEach(function (key) {
|
|
349
352
|
if (!isObject__default["default"](styles[key])) {
|
|
350
353
|
content += "\n.".concat(className_1, " {\n ").concat(key, ": ").concat(resolveVariableAndFilter.resolveVariableAndFilter(styles[key].replace(/['|"]/g, ''), data, '| raw') || styles[key], "\n}");
|
|
@@ -372,16 +375,17 @@ function insertEditCustomStyle(params) {
|
|
|
372
375
|
}
|
|
373
376
|
insertStyle({
|
|
374
377
|
style: content,
|
|
375
|
-
classId: 'wrapperCustomStyle-' + (
|
|
378
|
+
classId: 'wrapperCustomStyle-' + (id || helper.uuid()) + index,
|
|
376
379
|
doc: doc,
|
|
377
|
-
id: id
|
|
380
|
+
id: id.replace(/(-.*)/, '')
|
|
378
381
|
});
|
|
379
382
|
}
|
|
380
383
|
/**
|
|
381
384
|
* 移除自定义样式
|
|
382
385
|
*/
|
|
383
386
|
function removeCustomStyle(type, id, doc, data) {
|
|
384
|
-
var
|
|
387
|
+
var _a;
|
|
388
|
+
var styleId = 'amis-' + (type ? type + '-' : '') + (((_a = id.replace) === null || _a === void 0 ? void 0 : _a.call(id, 'u:', '')) || id + '');
|
|
385
389
|
if (typeof (data === null || data === void 0 ? void 0 : data.index) === 'number') {
|
|
386
390
|
styleId += "-".concat(data.index);
|
|
387
391
|
}
|
|
@@ -405,6 +409,7 @@ function formatInputThemeCss(themeCss) {
|
|
|
405
409
|
return inputFontThemeCss;
|
|
406
410
|
}
|
|
407
411
|
function setThemeClassName(params) {
|
|
412
|
+
var _a;
|
|
408
413
|
var name = params.name, id = params.id, themeCss = params.themeCss, extra = params.extra, data = params.data;
|
|
409
414
|
if (!id || !themeCss) {
|
|
410
415
|
return '';
|
|
@@ -416,7 +421,9 @@ function setThemeClassName(params) {
|
|
|
416
421
|
if (typeof (data === null || data === void 0 ? void 0 : data.index) === 'number') {
|
|
417
422
|
index = "-".concat(data.index);
|
|
418
423
|
}
|
|
419
|
-
return "".concat(name, "-").concat(id.replace('u:', ''))
|
|
424
|
+
return ("".concat(name, "-").concat(((_a = id.replace) === null || _a === void 0 ? void 0 : _a.call(id, 'u:', '')) || id) +
|
|
425
|
+
(extra ? "-".concat(extra) : '') +
|
|
426
|
+
index);
|
|
420
427
|
}
|
|
421
428
|
|
|
422
429
|
exports.addStyle = addStyle;
|
package/lib/utils/style.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.
|
|
2
|
+
* amis-core v6.6.0
|
|
3
3
|
* Copyright 2018-2024 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -11,6 +11,7 @@ require('tslib');
|
|
|
11
11
|
require('amis-formula');
|
|
12
12
|
require('moment');
|
|
13
13
|
require('lodash/isPlainObject');
|
|
14
|
+
require('@rc-component/mini-decimal');
|
|
14
15
|
var resolveVariableAndFilter = require('./resolveVariableAndFilter.js');
|
|
15
16
|
require('./filter.js');
|
|
16
17
|
var mapValues = require('lodash/mapValues');
|
package/lib/utils/toNumber.js
CHANGED
package/lib/utils/tokenize.js
CHANGED
package/lib/utils/tpl-builtin.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.
|
|
2
|
+
* amis-core v6.6.0
|
|
3
3
|
* Copyright 2018-2024 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -12,6 +12,7 @@ var amisFormula = require('amis-formula');
|
|
|
12
12
|
require('moment');
|
|
13
13
|
require('lodash/isPlainObject');
|
|
14
14
|
var tokenize = require('./tokenize.js');
|
|
15
|
+
require('@rc-component/mini-decimal');
|
|
15
16
|
var resolveVariableAndFilterForAsync = require('./resolveVariableAndFilterForAsync.js');
|
|
16
17
|
require('./filter.js');
|
|
17
18
|
|
package/lib/utils/tpl-lodash.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.
|
|
2
|
+
* amis-core v6.6.0
|
|
3
3
|
* Copyright 2018-2024 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -12,6 +12,7 @@ var template = require('lodash/template');
|
|
|
12
12
|
var amisFormula = require('amis-formula');
|
|
13
13
|
var moment = require('moment');
|
|
14
14
|
require('lodash/isPlainObject');
|
|
15
|
+
require('@rc-component/mini-decimal');
|
|
15
16
|
require('./filter.js');
|
|
16
17
|
|
|
17
18
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
package/lib/utils/tpl.d.ts
CHANGED
|
@@ -15,6 +15,13 @@ export declare function evalExpression(expression: string, data?: object): boole
|
|
|
15
15
|
* @param data 上下文
|
|
16
16
|
* @returns
|
|
17
17
|
*/
|
|
18
|
-
export declare function
|
|
18
|
+
export declare function evalExpressionWithConditionBuilderAsync(expression: any, data?: object, defaultResult?: boolean): Promise<boolean>;
|
|
19
|
+
/**
|
|
20
|
+
* 解析表达式(支持condition-builder)
|
|
21
|
+
* @param expression 表达式 or condition-builder对象
|
|
22
|
+
* @param data 上下文
|
|
23
|
+
* @returns
|
|
24
|
+
*/
|
|
25
|
+
export declare function evalExpressionWithConditionBuilder(expression: any, data?: object, defaultResult?: boolean): boolean | Promise<boolean>;
|
|
19
26
|
export declare function setCustomEvalJs(fn: (expression: string, data?: any) => any): void;
|
|
20
27
|
export declare function evalJS(js: string, data: object): any;
|
package/lib/utils/tpl.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.
|
|
2
|
+
* amis-core v6.6.0
|
|
3
3
|
* Copyright 2018-2024 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -112,19 +112,32 @@ function evalExpression(expression, data) {
|
|
|
112
112
|
* @param data 上下文
|
|
113
113
|
* @returns
|
|
114
114
|
*/
|
|
115
|
-
function
|
|
115
|
+
function evalExpressionWithConditionBuilderAsync(expression, data, defaultResult) {
|
|
116
116
|
return tslib.__awaiter(this, void 0, void 0, function () {
|
|
117
117
|
return tslib.__generator(this, function (_a) {
|
|
118
118
|
switch (_a.label) {
|
|
119
119
|
case 0:
|
|
120
120
|
if (!(Object.prototype.toString.call(expression) === '[object Object]')) return [3 /*break*/, 2];
|
|
121
|
-
return [4 /*yield*/, resolveCondition.
|
|
121
|
+
return [4 /*yield*/, resolveCondition.resolveConditionAsync(expression, data, defaultResult)];
|
|
122
122
|
case 1: return [2 /*return*/, _a.sent()];
|
|
123
123
|
case 2: return [2 /*return*/, evalExpression(String(expression), data)];
|
|
124
124
|
}
|
|
125
125
|
});
|
|
126
126
|
});
|
|
127
127
|
}
|
|
128
|
+
/**
|
|
129
|
+
* 解析表达式(支持condition-builder)
|
|
130
|
+
* @param expression 表达式 or condition-builder对象
|
|
131
|
+
* @param data 上下文
|
|
132
|
+
* @returns
|
|
133
|
+
*/
|
|
134
|
+
function evalExpressionWithConditionBuilder(expression, data, defaultResult) {
|
|
135
|
+
// 支持ConditionBuilder
|
|
136
|
+
if (Object.prototype.toString.call(expression) === '[object Object]') {
|
|
137
|
+
return resolveCondition.resolveCondition(expression, data, defaultResult);
|
|
138
|
+
}
|
|
139
|
+
return evalExpression(String(expression), data);
|
|
140
|
+
}
|
|
128
141
|
function evalFormula(expression, data) {
|
|
129
142
|
var ast = tokenize.memoParse(expression, {
|
|
130
143
|
evalMode: false
|
|
@@ -175,6 +188,7 @@ function evalJS(js, data) {
|
|
|
175
188
|
exports.asyncFilter = asyncFilter;
|
|
176
189
|
exports.evalExpression = evalExpression;
|
|
177
190
|
exports.evalExpressionWithConditionBuilder = evalExpressionWithConditionBuilder;
|
|
191
|
+
exports.evalExpressionWithConditionBuilderAsync = evalExpressionWithConditionBuilderAsync;
|
|
178
192
|
exports.evalJS = evalJS;
|
|
179
193
|
exports.filter = filter;
|
|
180
194
|
exports.registerTplEnginer = registerTplEnginer;
|
package/lib/utils/validateId.js
CHANGED
package/lib/utils/validations.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.
|
|
2
|
+
* amis-core v6.6.0
|
|
3
3
|
* Copyright 2018-2024 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -13,6 +13,7 @@ var tpl = require('./tpl.js');
|
|
|
13
13
|
require('amis-formula');
|
|
14
14
|
var isPlainObject = require('lodash/isPlainObject');
|
|
15
15
|
var isPureVariable = require('./isPureVariable.js');
|
|
16
|
+
require('@rc-component/mini-decimal');
|
|
16
17
|
var resolveVariableAndFilter = require('./resolveVariableAndFilter.js');
|
|
17
18
|
require('./filter.js');
|
|
18
19
|
var memoize = require('lodash/memoize');
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "amis-core",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.6.0",
|
|
4
4
|
"description": "amis-core",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "esm/index.js",
|
|
@@ -48,7 +48,8 @@
|
|
|
48
48
|
"esm"
|
|
49
49
|
],
|
|
50
50
|
"dependencies": {
|
|
51
|
-
"
|
|
51
|
+
"@rc-component/mini-decimal": "^1.0.1",
|
|
52
|
+
"amis-formula": "^6.6.0",
|
|
52
53
|
"classnames": "2.3.2",
|
|
53
54
|
"file-saver": "^2.0.2",
|
|
54
55
|
"hoist-non-react-statics": "^3.3.2",
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* amis-core v6.4.1
|
|
3
|
-
* Copyright 2018-2024 fex
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
function _classCallCheck(instance, Constructor) {
|
|
7
|
-
if (!(instance instanceof Constructor)) {
|
|
8
|
-
throw new TypeError("Cannot call a class as a function");
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
export { _classCallCheck as default };
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* amis-core v6.4.1
|
|
3
|
-
* Copyright 2018-2024 fex
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import toPropertyKey from './toPropertyKey.js';
|
|
7
|
-
|
|
8
|
-
function _defineProperties(target, props) {
|
|
9
|
-
for (var i = 0; i < props.length; i++) {
|
|
10
|
-
var descriptor = props[i];
|
|
11
|
-
descriptor.enumerable = descriptor.enumerable || false;
|
|
12
|
-
descriptor.configurable = true;
|
|
13
|
-
if ("value" in descriptor) descriptor.writable = true;
|
|
14
|
-
Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
function _createClass(Constructor, protoProps, staticProps) {
|
|
18
|
-
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
19
|
-
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
20
|
-
Object.defineProperty(Constructor, "prototype", {
|
|
21
|
-
writable: false
|
|
22
|
-
});
|
|
23
|
-
return Constructor;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
export { _createClass as default };
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* amis-core v6.4.1
|
|
3
|
-
* Copyright 2018-2024 fex
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import toPropertyKey from './toPropertyKey.js';
|
|
7
|
-
|
|
8
|
-
function _defineProperty(obj, key, value) {
|
|
9
|
-
key = toPropertyKey(key);
|
|
10
|
-
if (key in obj) {
|
|
11
|
-
Object.defineProperty(obj, key, {
|
|
12
|
-
value: value,
|
|
13
|
-
enumerable: true,
|
|
14
|
-
configurable: true,
|
|
15
|
-
writable: true
|
|
16
|
-
});
|
|
17
|
-
} else {
|
|
18
|
-
obj[key] = value;
|
|
19
|
-
}
|
|
20
|
-
return obj;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
export { _defineProperty as default };
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* amis-core v6.4.1
|
|
3
|
-
* Copyright 2018-2024 fex
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import _typeof from './typeof.js';
|
|
7
|
-
|
|
8
|
-
function toPrimitive(t, r) {
|
|
9
|
-
if ("object" != _typeof(t) || !t) return t;
|
|
10
|
-
var e = t[Symbol.toPrimitive];
|
|
11
|
-
if (void 0 !== e) {
|
|
12
|
-
var i = e.call(t, r || "default");
|
|
13
|
-
if ("object" != _typeof(i)) return i;
|
|
14
|
-
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
15
|
-
}
|
|
16
|
-
return ("string" === r ? String : Number)(t);
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
export { toPrimitive as default };
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* amis-core v6.4.1
|
|
3
|
-
* Copyright 2018-2024 fex
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import _typeof from './typeof.js';
|
|
7
|
-
import toPrimitive from './toPrimitive.js';
|
|
8
|
-
|
|
9
|
-
function toPropertyKey(t) {
|
|
10
|
-
var i = toPrimitive(t, "string");
|
|
11
|
-
return "symbol" == _typeof(i) ? i : i + "";
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
export { toPropertyKey as default };
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* amis-core v6.4.1
|
|
3
|
-
* Copyright 2018-2024 fex
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
function _typeof(o) {
|
|
7
|
-
"@babel/helpers - typeof";
|
|
8
|
-
|
|
9
|
-
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
|
|
10
|
-
return typeof o;
|
|
11
|
-
} : function (o) {
|
|
12
|
-
return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
|
|
13
|
-
}, _typeof(o);
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
export { _typeof as default };
|
|
@@ -1,184 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* amis-core v6.4.1
|
|
3
|
-
* Copyright 2018-2024 fex
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import _classCallCheck from '../../../@babel/runtime/helpers/esm/classCallCheck.js';
|
|
7
|
-
import _createClass from '../../../@babel/runtime/helpers/esm/createClass.js';
|
|
8
|
-
import _defineProperty from '../../../@babel/runtime/helpers/esm/defineProperty.js';
|
|
9
|
-
import { trimNumber, isEmpty, isE, num2str, validateNumber } from './numberUtil.js';
|
|
10
|
-
|
|
11
|
-
var BigIntDecimal = /*#__PURE__*/function () {
|
|
12
|
-
/** BigInt will convert `0009` to `9`. We need record the len of decimal */
|
|
13
|
-
|
|
14
|
-
function BigIntDecimal(value) {
|
|
15
|
-
_classCallCheck(this, BigIntDecimal);
|
|
16
|
-
_defineProperty(this, "origin", '');
|
|
17
|
-
_defineProperty(this, "negative", void 0);
|
|
18
|
-
_defineProperty(this, "integer", void 0);
|
|
19
|
-
_defineProperty(this, "decimal", void 0);
|
|
20
|
-
_defineProperty(this, "decimalLen", void 0);
|
|
21
|
-
_defineProperty(this, "empty", void 0);
|
|
22
|
-
_defineProperty(this, "nan", void 0);
|
|
23
|
-
if (isEmpty(value)) {
|
|
24
|
-
this.empty = true;
|
|
25
|
-
return;
|
|
26
|
-
}
|
|
27
|
-
this.origin = String(value);
|
|
28
|
-
|
|
29
|
-
// Act like Number convert
|
|
30
|
-
if (value === '-' || Number.isNaN(value)) {
|
|
31
|
-
this.nan = true;
|
|
32
|
-
return;
|
|
33
|
-
}
|
|
34
|
-
var mergedValue = value;
|
|
35
|
-
|
|
36
|
-
// We need convert back to Number since it require `toFixed` to handle this
|
|
37
|
-
if (isE(mergedValue)) {
|
|
38
|
-
mergedValue = Number(mergedValue);
|
|
39
|
-
}
|
|
40
|
-
mergedValue = typeof mergedValue === 'string' ? mergedValue : num2str(mergedValue);
|
|
41
|
-
if (validateNumber(mergedValue)) {
|
|
42
|
-
var trimRet = trimNumber(mergedValue);
|
|
43
|
-
this.negative = trimRet.negative;
|
|
44
|
-
var numbers = trimRet.trimStr.split('.');
|
|
45
|
-
this.integer = BigInt(numbers[0]);
|
|
46
|
-
var decimalStr = numbers[1] || '0';
|
|
47
|
-
this.decimal = BigInt(decimalStr);
|
|
48
|
-
this.decimalLen = decimalStr.length;
|
|
49
|
-
} else {
|
|
50
|
-
this.nan = true;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
_createClass(BigIntDecimal, [{
|
|
54
|
-
key: "getMark",
|
|
55
|
-
value: function getMark() {
|
|
56
|
-
return this.negative ? '-' : '';
|
|
57
|
-
}
|
|
58
|
-
}, {
|
|
59
|
-
key: "getIntegerStr",
|
|
60
|
-
value: function getIntegerStr() {
|
|
61
|
-
return this.integer.toString();
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
/**
|
|
65
|
-
* @private get decimal string
|
|
66
|
-
*/
|
|
67
|
-
}, {
|
|
68
|
-
key: "getDecimalStr",
|
|
69
|
-
value: function getDecimalStr() {
|
|
70
|
-
return this.decimal.toString().padStart(this.decimalLen, '0');
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
/**
|
|
74
|
-
* @private Align BigIntDecimal with same decimal length. e.g. 12.3 + 5 = 1230000
|
|
75
|
-
* This is used for add function only.
|
|
76
|
-
*/
|
|
77
|
-
}, {
|
|
78
|
-
key: "alignDecimal",
|
|
79
|
-
value: function alignDecimal(decimalLength) {
|
|
80
|
-
var str = "".concat(this.getMark()).concat(this.getIntegerStr()).concat(this.getDecimalStr().padEnd(decimalLength, '0'));
|
|
81
|
-
return BigInt(str);
|
|
82
|
-
}
|
|
83
|
-
}, {
|
|
84
|
-
key: "negate",
|
|
85
|
-
value: function negate() {
|
|
86
|
-
var clone = new BigIntDecimal(this.toString());
|
|
87
|
-
clone.negative = !clone.negative;
|
|
88
|
-
return clone;
|
|
89
|
-
}
|
|
90
|
-
}, {
|
|
91
|
-
key: "cal",
|
|
92
|
-
value: function cal(offset, calculator, calDecimalLen) {
|
|
93
|
-
var maxDecimalLength = Math.max(this.getDecimalStr().length, offset.getDecimalStr().length);
|
|
94
|
-
var myAlignedDecimal = this.alignDecimal(maxDecimalLength);
|
|
95
|
-
var offsetAlignedDecimal = offset.alignDecimal(maxDecimalLength);
|
|
96
|
-
var valueStr = calculator(myAlignedDecimal, offsetAlignedDecimal).toString();
|
|
97
|
-
var nextDecimalLength = calDecimalLen(maxDecimalLength);
|
|
98
|
-
|
|
99
|
-
// We need fill string length back to `maxDecimalLength` to avoid parser failed
|
|
100
|
-
var _trimNumber = trimNumber(valueStr),
|
|
101
|
-
negativeStr = _trimNumber.negativeStr,
|
|
102
|
-
trimStr = _trimNumber.trimStr;
|
|
103
|
-
var hydrateValueStr = "".concat(negativeStr).concat(trimStr.padStart(nextDecimalLength + 1, '0'));
|
|
104
|
-
return new BigIntDecimal("".concat(hydrateValueStr.slice(0, -nextDecimalLength), ".").concat(hydrateValueStr.slice(-nextDecimalLength)));
|
|
105
|
-
}
|
|
106
|
-
}, {
|
|
107
|
-
key: "add",
|
|
108
|
-
value: function add(value) {
|
|
109
|
-
if (this.isInvalidate()) {
|
|
110
|
-
return new BigIntDecimal(value);
|
|
111
|
-
}
|
|
112
|
-
var offset = new BigIntDecimal(value);
|
|
113
|
-
if (offset.isInvalidate()) {
|
|
114
|
-
return this;
|
|
115
|
-
}
|
|
116
|
-
return this.cal(offset, function (num1, num2) {
|
|
117
|
-
return num1 + num2;
|
|
118
|
-
}, function (len) {
|
|
119
|
-
return len;
|
|
120
|
-
});
|
|
121
|
-
}
|
|
122
|
-
}, {
|
|
123
|
-
key: "multi",
|
|
124
|
-
value: function multi(value) {
|
|
125
|
-
var target = new BigIntDecimal(value);
|
|
126
|
-
if (this.isInvalidate() || target.isInvalidate()) {
|
|
127
|
-
return new BigIntDecimal(NaN);
|
|
128
|
-
}
|
|
129
|
-
return this.cal(target, function (num1, num2) {
|
|
130
|
-
return num1 * num2;
|
|
131
|
-
}, function (len) {
|
|
132
|
-
return len * 2;
|
|
133
|
-
});
|
|
134
|
-
}
|
|
135
|
-
}, {
|
|
136
|
-
key: "isEmpty",
|
|
137
|
-
value: function isEmpty() {
|
|
138
|
-
return this.empty;
|
|
139
|
-
}
|
|
140
|
-
}, {
|
|
141
|
-
key: "isNaN",
|
|
142
|
-
value: function isNaN() {
|
|
143
|
-
return this.nan;
|
|
144
|
-
}
|
|
145
|
-
}, {
|
|
146
|
-
key: "isInvalidate",
|
|
147
|
-
value: function isInvalidate() {
|
|
148
|
-
return this.isEmpty() || this.isNaN();
|
|
149
|
-
}
|
|
150
|
-
}, {
|
|
151
|
-
key: "equals",
|
|
152
|
-
value: function equals(target) {
|
|
153
|
-
return this.toString() === (target === null || target === void 0 ? void 0 : target.toString());
|
|
154
|
-
}
|
|
155
|
-
}, {
|
|
156
|
-
key: "lessEquals",
|
|
157
|
-
value: function lessEquals(target) {
|
|
158
|
-
return this.add(target.negate().toString()).toNumber() <= 0;
|
|
159
|
-
}
|
|
160
|
-
}, {
|
|
161
|
-
key: "toNumber",
|
|
162
|
-
value: function toNumber() {
|
|
163
|
-
if (this.isNaN()) {
|
|
164
|
-
return NaN;
|
|
165
|
-
}
|
|
166
|
-
return Number(this.toString());
|
|
167
|
-
}
|
|
168
|
-
}, {
|
|
169
|
-
key: "toString",
|
|
170
|
-
value: function toString() {
|
|
171
|
-
var safe = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
|
172
|
-
if (!safe) {
|
|
173
|
-
return this.origin;
|
|
174
|
-
}
|
|
175
|
-
if (this.isInvalidate()) {
|
|
176
|
-
return '';
|
|
177
|
-
}
|
|
178
|
-
return trimNumber("".concat(this.getMark()).concat(this.getIntegerStr(), ".").concat(this.getDecimalStr())).fullStr;
|
|
179
|
-
}
|
|
180
|
-
}]);
|
|
181
|
-
return BigIntDecimal;
|
|
182
|
-
}();
|
|
183
|
-
|
|
184
|
-
export { BigIntDecimal as default };
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* amis-core v6.4.1
|
|
3
|
-
* Copyright 2018-2024 fex
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import BigIntDecimal from './BigIntDecimal.js';
|
|
7
|
-
export { default as BigIntDecimal } from './BigIntDecimal.js';
|
|
8
|
-
import NumberDecimal from './NumberDecimal.js';
|
|
9
|
-
export { default as NumberDecimal } from './NumberDecimal.js';
|
|
10
|
-
import { trimNumber } from './numberUtil.js';
|
|
11
|
-
import { supportBigInt } from './supportUtil.js';
|
|
12
|
-
|
|
13
|
-
/* eslint-disable max-classes-per-file */
|
|
14
|
-
function getMiniDecimal(value) {
|
|
15
|
-
// We use BigInt here.
|
|
16
|
-
// Will fallback to Number if not support.
|
|
17
|
-
if (supportBigInt()) {
|
|
18
|
-
return new BigIntDecimal(value);
|
|
19
|
-
}
|
|
20
|
-
return new NumberDecimal(value);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* Align the logic of toFixed to around like 1.5 => 2.
|
|
25
|
-
* If set `cutOnly`, will just remove the over decimal part.
|
|
26
|
-
*/
|
|
27
|
-
function toFixed(numStr, separatorStr, precision) {
|
|
28
|
-
var cutOnly = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
29
|
-
if (numStr === '') {
|
|
30
|
-
return '';
|
|
31
|
-
}
|
|
32
|
-
var _trimNumber = trimNumber(numStr),
|
|
33
|
-
negativeStr = _trimNumber.negativeStr,
|
|
34
|
-
integerStr = _trimNumber.integerStr,
|
|
35
|
-
decimalStr = _trimNumber.decimalStr;
|
|
36
|
-
var precisionDecimalStr = "".concat(separatorStr).concat(decimalStr);
|
|
37
|
-
var numberWithoutDecimal = "".concat(negativeStr).concat(integerStr);
|
|
38
|
-
if (precision >= 0) {
|
|
39
|
-
// We will get last + 1 number to check if need advanced number
|
|
40
|
-
var advancedNum = Number(decimalStr[precision]);
|
|
41
|
-
if (advancedNum >= 5 && !cutOnly) {
|
|
42
|
-
var advancedDecimal = getMiniDecimal(numStr).add("".concat(negativeStr, "0.").concat('0'.repeat(precision)).concat(10 - advancedNum));
|
|
43
|
-
return toFixed(advancedDecimal.toString(), separatorStr, precision, cutOnly);
|
|
44
|
-
}
|
|
45
|
-
if (precision === 0) {
|
|
46
|
-
return numberWithoutDecimal;
|
|
47
|
-
}
|
|
48
|
-
return "".concat(numberWithoutDecimal).concat(separatorStr).concat(decimalStr.padEnd(precision, '0').slice(0, precision));
|
|
49
|
-
}
|
|
50
|
-
if (precisionDecimalStr === '.0') {
|
|
51
|
-
return numberWithoutDecimal;
|
|
52
|
-
}
|
|
53
|
-
return "".concat(numberWithoutDecimal).concat(precisionDecimalStr);
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
export { getMiniDecimal as default, toFixed };
|