@tmagic/utils 1.8.0-manmanyu.27 → 1.8.0-manmanyu.28
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/dist/es/index.js +20 -3
- package/dist/tmagic-utils.umd.cjs +1303 -1155
- package/package.json +2 -2
- package/src/index.ts +25 -3
- package/types/index.d.ts +7 -1
package/dist/es/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DATA_SOURCE_FIELDS_CHANGE_EVENT_PREFIX, DATA_SOURCE_FIELDS_SELECT_VALUE_PREFIX, DATA_SOURCE_SET_DATA_METHOD_NAME } from "./const.js";
|
|
2
2
|
import { addClassName, asyncLoadCss, asyncLoadJs, calcValueByFontsize, createDiv, getDocument, getElById, getIdFromEl, injectStyle, removeClassName, removeClassNameByClassName, setDslDomRelateConfig, setIdToEl } from "./dom.js";
|
|
3
|
-
import { cloneDeep, set } from "lodash-es";
|
|
3
|
+
import { cloneDeep, get, set } from "lodash-es";
|
|
4
4
|
import { NodeType } from "@tmagic/schema";
|
|
5
5
|
//#region packages/utils/src/index.ts
|
|
6
6
|
var _globalThis;
|
|
@@ -159,6 +159,12 @@ var guid = (digit = 8) => "x".repeat(digit).replace(/[xy]/g, (c) => {
|
|
|
159
159
|
return (c === "x" ? r : r & 3 | 8).toString(16);
|
|
160
160
|
});
|
|
161
161
|
var getKeysArray = (keys) => `${keys}`.replace(/\[(\d+)\]/g, ".$1").split(".");
|
|
162
|
+
/**
|
|
163
|
+
* 判断某一层 key 是否为数组下标(纯数字)
|
|
164
|
+
* @param key 单层 key
|
|
165
|
+
* @returns 是否为数组下标
|
|
166
|
+
*/
|
|
167
|
+
var isArrayIndex = (key) => /^\d+$/.test(`${key}`);
|
|
162
168
|
var getValueByKeyPath = (keys = "", data = {}) => {
|
|
163
169
|
return (Array.isArray(keys) ? keys : getKeysArray(keys)).reduce((accumulator, currentValue) => {
|
|
164
170
|
if (isObject(accumulator)) return accumulator[currentValue];
|
|
@@ -166,7 +172,18 @@ var getValueByKeyPath = (keys = "", data = {}) => {
|
|
|
166
172
|
throw new Error(`${data}中不存在${keys}`);
|
|
167
173
|
}, data);
|
|
168
174
|
};
|
|
169
|
-
var setValueByKeyPath = (keys, value, data = {}) =>
|
|
175
|
+
var setValueByKeyPath = (keys, value, data = {}) => {
|
|
176
|
+
if (typeof value === "undefined") {
|
|
177
|
+
const keyArray = getKeysArray(keys);
|
|
178
|
+
const lastKey = keyArray[keyArray.length - 1];
|
|
179
|
+
if (keyArray.length > 1 && isArrayIndex(lastKey)) {
|
|
180
|
+
const parentPath = keyArray.slice(0, -1).join(".");
|
|
181
|
+
if (typeof get(data, parentPath) === "undefined") set(data, parentPath, []);
|
|
182
|
+
return data;
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
return set(data, keys, value);
|
|
186
|
+
};
|
|
170
187
|
var getNodes = (ids, data = []) => {
|
|
171
188
|
const nodes = [];
|
|
172
189
|
const get = function(ids, data) {
|
|
@@ -357,4 +374,4 @@ var isValueIncludeDataSource = (value) => {
|
|
|
357
374
|
};
|
|
358
375
|
var removeDataSourceFieldPrefix = (id) => id?.replace("ds-field::", "") || "";
|
|
359
376
|
//#endregion
|
|
360
|
-
export { DATA_SOURCE_FIELDS_CHANGE_EVENT_PREFIX, DATA_SOURCE_FIELDS_SELECT_VALUE_PREFIX, DATA_SOURCE_SET_DATA_METHOD_NAME, DSL_NODE_KEY_COPY_PREFIX, IS_DSL_NODE_KEY, PAGE_FRAGMENT_CONTAINER_ID_KEY, addClassName, addParamToUrl, asyncLoadCss, asyncLoadJs, calcValueByFontsize, calculatePercentage, compiledCond, compiledNode, convertToNumber, createDiv, dataSourceTemplateRegExp, delQueStr, emptyFn, filterXSS, getDefaultValueFromFields, getDepKeys, getDepNodeIds, getDocument, getElById, getGlobalThis, getHost, getIdFromEl, getKeys, getKeysArray, getNodeInfo, getNodePath, getNodes, getSearchObj, getUrlParam, getValueByKeyPath, guid, injectStyle, isDslNode, isNumber, isObject, isPage, isPageFragment, isPercentage, isPop, isSameDomain, isValueIncludeDataSource, removeClassName, removeClassNameByClassName, removeDataSourceFieldPrefix, replaceChildNode, setDslDomRelateConfig, setIdToEl, setUrlParam, setValueByKeyPath, sleep, toHump, toLine, traverseNode };
|
|
377
|
+
export { DATA_SOURCE_FIELDS_CHANGE_EVENT_PREFIX, DATA_SOURCE_FIELDS_SELECT_VALUE_PREFIX, DATA_SOURCE_SET_DATA_METHOD_NAME, DSL_NODE_KEY_COPY_PREFIX, IS_DSL_NODE_KEY, PAGE_FRAGMENT_CONTAINER_ID_KEY, addClassName, addParamToUrl, asyncLoadCss, asyncLoadJs, calcValueByFontsize, calculatePercentage, compiledCond, compiledNode, convertToNumber, createDiv, dataSourceTemplateRegExp, delQueStr, emptyFn, filterXSS, getDefaultValueFromFields, getDepKeys, getDepNodeIds, getDocument, getElById, getGlobalThis, getHost, getIdFromEl, getKeys, getKeysArray, getNodeInfo, getNodePath, getNodes, getSearchObj, getUrlParam, getValueByKeyPath, guid, injectStyle, isArrayIndex, isDslNode, isNumber, isObject, isPage, isPageFragment, isPercentage, isPop, isSameDomain, isValueIncludeDataSource, removeClassName, removeClassNameByClassName, removeDataSourceFieldPrefix, replaceChildNode, setDslDomRelateConfig, setIdToEl, setUrlParam, setValueByKeyPath, sleep, toHump, toLine, traverseNode };
|