@cocreate/utils 1.42.0 → 1.42.2
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/cjs/ObjectId.js +54 -0
- package/dist/cjs/attributes.js +64 -0
- package/dist/cjs/checkValue.js +26 -0
- package/dist/cjs/clickedElement.js +48 -0
- package/dist/cjs/core.js +33 -0
- package/dist/cjs/createUpdate.js +188 -0
- package/dist/cjs/cssPath.js +60 -0
- package/dist/cjs/dataQuery.js +280 -0
- package/dist/cjs/dom.js +29 -0
- package/dist/cjs/domParser.js +44 -0
- package/dist/cjs/dotNotationToObject.js +103 -0
- package/dist/cjs/escapeHtml.js +25 -0
- package/dist/cjs/getRelativePath.js +39 -0
- package/dist/cjs/getValueFromObject.js +41 -0
- package/dist/cjs/index.js +112 -0
- package/dist/cjs/init-browser.js +4 -0
- package/dist/cjs/isValidDate.js +32 -0
- package/dist/cjs/objectToDotNotation.js +53 -0
- package/dist/cjs/objectToSearchParams.js +42 -0
- package/dist/cjs/operators copy.js +562 -0
- package/dist/cjs/operators.js +480 -0
- package/dist/cjs/parseTextToHtml.js +27 -0
- package/dist/cjs/queryElements.js +155 -0
- package/dist/cjs/safeParse.js +169 -0
- package/dist/cjs/uid.js +34 -0
- package/dist/esm/ObjectId.js +35 -0
- package/dist/esm/attributes.js +45 -0
- package/dist/esm/checkValue.js +7 -0
- package/dist/esm/clickedElement.js +29 -0
- package/dist/esm/core.js +14 -0
- package/dist/esm/createUpdate.js +185 -0
- package/dist/esm/cssPath.js +41 -0
- package/dist/esm/dataQuery.js +261 -0
- package/dist/esm/dom.js +10 -0
- package/dist/esm/domParser.js +25 -0
- package/dist/esm/dotNotationToObject.js +84 -0
- package/dist/esm/escapeHtml.js +6 -0
- package/dist/esm/getRelativePath.js +20 -0
- package/dist/esm/getValueFromObject.js +22 -0
- package/dist/esm/index.js +93 -0
- package/dist/esm/init-browser.js +4 -0
- package/dist/esm/isValidDate.js +13 -0
- package/dist/esm/objectToDotNotation.js +34 -0
- package/dist/esm/objectToSearchParams.js +23 -0
- package/dist/esm/operators copy.js +543 -0
- package/dist/esm/operators.js +461 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/parseTextToHtml.js +8 -0
- package/dist/esm/queryElements.js +136 -0
- package/dist/esm/safeParse.js +150 -0
- package/dist/esm/uid.js +15 -0
- package/package.json +9 -111
- package/src/index.js +3 -3
- package/src/operators copy.js +687 -0
- package/src/operators.js +407 -526
- package/.github/FUNDING.yml +0 -3
- package/.github/workflows/automated.yml +0 -44
- package/.github/workflows/manual.yml +0 -44
- package/CHANGELOG.md +0 -2075
- package/CoCreate.config.js +0 -23
- package/demo/index.html +0 -23
- package/docs/index.html +0 -331
- package/prettier.config.js +0 -16
- package/release.config.js +0 -22
- package/webpack.config.js +0 -65
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
var dataQuery_exports = {};
|
|
19
|
+
__export(dataQuery_exports, {
|
|
20
|
+
queryData: () => queryData,
|
|
21
|
+
searchData: () => searchData,
|
|
22
|
+
sortData: () => sortData
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(dataQuery_exports);
|
|
25
|
+
var import_getValueFromObject = require("./getValueFromObject.js");
|
|
26
|
+
var import_isValidDate = require("./isValidDate.js");
|
|
27
|
+
function isEqualArray(arr1, arr2) {
|
|
28
|
+
if (arr1.length !== arr2.length) {
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
for (let i = 0; i < arr1.length; i++) {
|
|
32
|
+
if (!isEqualObject(arr1[i], arr2[i])) {
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return true;
|
|
37
|
+
}
|
|
38
|
+
function isEqualObject(obj1, obj2) {
|
|
39
|
+
const keys1 = Object.keys(obj1);
|
|
40
|
+
const keys2 = Object.keys(obj2);
|
|
41
|
+
if (keys1.length !== keys2.length) {
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
for (const key of keys1) {
|
|
45
|
+
if (obj1[key] !== obj2[key]) {
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
return true;
|
|
50
|
+
}
|
|
51
|
+
function queryMatch(data, query) {
|
|
52
|
+
for (let key of Object.keys(query)) {
|
|
53
|
+
let dataValue;
|
|
54
|
+
try {
|
|
55
|
+
dataValue = (0, import_getValueFromObject.getValueFromObject)(data, key, true);
|
|
56
|
+
} catch (error) {
|
|
57
|
+
return false;
|
|
58
|
+
}
|
|
59
|
+
if (typeof query[key] === "string" || typeof query[key] === "number" || typeof query[key] === "boolean") {
|
|
60
|
+
if (Array.isArray(dataValue)) return dataValue.includes(query[key]);
|
|
61
|
+
else return dataValue === query[key];
|
|
62
|
+
} else if (Array.isArray(query[key])) {
|
|
63
|
+
if (Array.isArray(dataValue)) {
|
|
64
|
+
return isEqualArray(dataValue, query[key]);
|
|
65
|
+
} else {
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
68
|
+
} else {
|
|
69
|
+
for (let property of Object.keys(query[key])) {
|
|
70
|
+
if (property === "$options") continue;
|
|
71
|
+
if (!property.startsWith("$")) {
|
|
72
|
+
if (typeof dataValue !== "object") {
|
|
73
|
+
return false;
|
|
74
|
+
} else
|
|
75
|
+
return queryMatch(
|
|
76
|
+
{ [property]: (0, import_getValueFromObject.getValueFromObject)(dataValue, property) },
|
|
77
|
+
{ [property]: query[key][property] }
|
|
78
|
+
);
|
|
79
|
+
} else {
|
|
80
|
+
let queryValue = query[key][property];
|
|
81
|
+
if ((0, import_isValidDate.isValidDate)(queryValue) && (0, import_isValidDate.isValidDate)(dataValue)) {
|
|
82
|
+
queryValue = new Date(queryValue);
|
|
83
|
+
dataValue = new Date(dataValue);
|
|
84
|
+
}
|
|
85
|
+
let queryStatus = false;
|
|
86
|
+
switch (property) {
|
|
87
|
+
case "$eq":
|
|
88
|
+
if (Array.isArray(dataValue) && Array.isArray(queryValue)) {
|
|
89
|
+
queryStatus = isEqualArray(dataValue, queryValue);
|
|
90
|
+
} else {
|
|
91
|
+
queryStatus = dataValue === queryValue;
|
|
92
|
+
}
|
|
93
|
+
break;
|
|
94
|
+
case "$ne":
|
|
95
|
+
if (Array.isArray(dataValue) && Array.isArray(queryValue)) {
|
|
96
|
+
queryStatus = !isEqualArray(dataValue, queryValue);
|
|
97
|
+
} else {
|
|
98
|
+
queryStatus = dataValue !== queryValue;
|
|
99
|
+
}
|
|
100
|
+
break;
|
|
101
|
+
case "$not":
|
|
102
|
+
queryStatus = !queryMatch(data, {
|
|
103
|
+
[key]: query[key]["$not"]
|
|
104
|
+
});
|
|
105
|
+
break;
|
|
106
|
+
case "$lt":
|
|
107
|
+
queryStatus = dataValue < queryValue;
|
|
108
|
+
break;
|
|
109
|
+
case "$lte":
|
|
110
|
+
queryStatus = dataValue <= queryValue;
|
|
111
|
+
break;
|
|
112
|
+
case "$gt":
|
|
113
|
+
queryStatus = dataValue > queryValue;
|
|
114
|
+
break;
|
|
115
|
+
case "$gte":
|
|
116
|
+
queryStatus = dataValue >= queryValue;
|
|
117
|
+
break;
|
|
118
|
+
case "$in":
|
|
119
|
+
if (Array.isArray(dataValue)) {
|
|
120
|
+
queryStatus = dataValue.some(
|
|
121
|
+
(element) => queryValue.includes(element)
|
|
122
|
+
);
|
|
123
|
+
} else {
|
|
124
|
+
queryStatus = queryValue.includes(dataValue);
|
|
125
|
+
}
|
|
126
|
+
break;
|
|
127
|
+
case "$nin":
|
|
128
|
+
if (Array.isArray(dataValue)) {
|
|
129
|
+
queryStatus = !dataValue.some(
|
|
130
|
+
(element) => queryValue.includes(element)
|
|
131
|
+
);
|
|
132
|
+
} else {
|
|
133
|
+
queryStatus = !queryValue.includes(dataValue);
|
|
134
|
+
}
|
|
135
|
+
break;
|
|
136
|
+
case "$all":
|
|
137
|
+
if (Array.isArray(dataValue) && Array.isArray(queryValue)) {
|
|
138
|
+
queryStatus = queryValue.every(
|
|
139
|
+
(element) => dataValue.includes(element)
|
|
140
|
+
);
|
|
141
|
+
}
|
|
142
|
+
break;
|
|
143
|
+
case "$elemMatch":
|
|
144
|
+
if (Array.isArray(data[key])) {
|
|
145
|
+
queryStatus = data[key].some(
|
|
146
|
+
(element) => queryMatch(element, query[key][property])
|
|
147
|
+
);
|
|
148
|
+
}
|
|
149
|
+
break;
|
|
150
|
+
case "$size":
|
|
151
|
+
if (Array.isArray(dataValue)) {
|
|
152
|
+
queryStatus = dataValue.length === queryValue;
|
|
153
|
+
}
|
|
154
|
+
break;
|
|
155
|
+
case "$exists":
|
|
156
|
+
queryStatus = queryValue ? data.hasOwnProperty(key) : !data.hasOwnProperty(key);
|
|
157
|
+
break;
|
|
158
|
+
case "$regex":
|
|
159
|
+
if (typeof dataValue === "string") {
|
|
160
|
+
let regexFlag = query[key]["$options"] || "";
|
|
161
|
+
let regex = new RegExp(queryValue, regexFlag);
|
|
162
|
+
queryStatus = regex.test(dataValue);
|
|
163
|
+
}
|
|
164
|
+
break;
|
|
165
|
+
case "$type":
|
|
166
|
+
let dataType = typeof dataValue;
|
|
167
|
+
if (Array.isArray(dataValue)) {
|
|
168
|
+
dataType = "array";
|
|
169
|
+
}
|
|
170
|
+
queryStatus = dataType === queryValue;
|
|
171
|
+
break;
|
|
172
|
+
case "$mod":
|
|
173
|
+
if (typeof dataValue === "number" && Array.isArray(queryValue) && queryValue.length === 2) {
|
|
174
|
+
const [divisor, remainder] = queryValue;
|
|
175
|
+
queryStatus = dataValue % divisor === remainder;
|
|
176
|
+
}
|
|
177
|
+
break;
|
|
178
|
+
case "$where":
|
|
179
|
+
if (typeof queryValue === "function") {
|
|
180
|
+
try {
|
|
181
|
+
} catch (error) {
|
|
182
|
+
console.error(
|
|
183
|
+
"Error in queryData $where function:",
|
|
184
|
+
error
|
|
185
|
+
);
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
break;
|
|
189
|
+
default:
|
|
190
|
+
console.log("unknown operator");
|
|
191
|
+
break;
|
|
192
|
+
}
|
|
193
|
+
if (!queryStatus) return false;
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
return true;
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
function queryData(data, query) {
|
|
201
|
+
if (query.$and) {
|
|
202
|
+
for (let i = 0; i < query.$and.length; i++) {
|
|
203
|
+
if (!queryData(data, query.$and[i])) return false;
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
if (query.$nor) {
|
|
207
|
+
for (let i = 0; i < query.$nor.length; i++) {
|
|
208
|
+
if (queryData(data, query.$nor[i])) return false;
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
for (let key of Object.keys(query)) {
|
|
212
|
+
if (key === "$and" || key === "$or") continue;
|
|
213
|
+
if (!queryMatch(data, { [key]: query[key] })) return false;
|
|
214
|
+
}
|
|
215
|
+
if (query.$or) {
|
|
216
|
+
for (let i = 0; i < query.$or.length; i++) {
|
|
217
|
+
if (queryData(data, query.$or[i])) return true;
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
return true;
|
|
221
|
+
}
|
|
222
|
+
function searchData(data, search) {
|
|
223
|
+
if (!search) return true;
|
|
224
|
+
if (!Array.isArray(search)) search = [search];
|
|
225
|
+
for (let i = 0; i < search.length; i++) {
|
|
226
|
+
let searchValue = search[i].value;
|
|
227
|
+
if (!Array.isArray(searchValue)) searchValue = [searchValue];
|
|
228
|
+
for (let key in data) {
|
|
229
|
+
let value = data[key];
|
|
230
|
+
let status = false;
|
|
231
|
+
switch (typeof value) {
|
|
232
|
+
case "number":
|
|
233
|
+
value = value.toString();
|
|
234
|
+
break;
|
|
235
|
+
case "object":
|
|
236
|
+
value = JSON.stringify(value);
|
|
237
|
+
break;
|
|
238
|
+
case "function":
|
|
239
|
+
value = value.toString();
|
|
240
|
+
break;
|
|
241
|
+
}
|
|
242
|
+
if (search[i].caseSensitive != "true" || search[i].caseSensitive != true)
|
|
243
|
+
value = value.toLowerCase();
|
|
244
|
+
for (let i2 = 0; i2 < searchValue.length; i2++) {
|
|
245
|
+
let searchString = searchValue[i2];
|
|
246
|
+
if (search[i2].caseSensitive != "true" || search[i2].caseSensitive != true)
|
|
247
|
+
searchString = searchString.toLowerCase();
|
|
248
|
+
if (searchString === "" && search[i2].operator === "and") {
|
|
249
|
+
if (value !== "") return false;
|
|
250
|
+
}
|
|
251
|
+
if (value.indexOf(searchString) > -1) status = true;
|
|
252
|
+
if (status) return true;
|
|
253
|
+
else if (search[i2].operator == "and") return false;
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
if (search[i].value.length && search[i].operator == "or") return false;
|
|
257
|
+
}
|
|
258
|
+
return true;
|
|
259
|
+
}
|
|
260
|
+
function sortData(data, sort) {
|
|
261
|
+
return data.sort((a, b) => {
|
|
262
|
+
for (let i = 0; i < sort.length; i++) {
|
|
263
|
+
let key = sort[i].key;
|
|
264
|
+
if (a[key] == null && b[key] == null) continue;
|
|
265
|
+
if (a[key] == null) return sort[i].direction === "desc" ? -1 : 1;
|
|
266
|
+
if (b[key] == null) return sort[i].direction === "desc" ? 1 : -1;
|
|
267
|
+
if (typeof a[key] !== typeof b[key]) {
|
|
268
|
+
return typeof a[key] < typeof b[key] ? -1 : 1;
|
|
269
|
+
}
|
|
270
|
+
if (a[key] !== b[key]) {
|
|
271
|
+
if (typeof a[key] === "string") {
|
|
272
|
+
return sort[i].direction === "desc" ? b[key].localeCompare(a[key]) : a[key].localeCompare(b[key]);
|
|
273
|
+
} else {
|
|
274
|
+
return sort[i].direction === "desc" ? b[key] - a[key] : a[key] - b[key];
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
return 0;
|
|
279
|
+
});
|
|
280
|
+
}
|
package/dist/cjs/dom.js
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
var dom_exports = {};
|
|
19
|
+
__export(dom_exports, {
|
|
20
|
+
cssPath: () => import_cssPath.cssPath,
|
|
21
|
+
domParser: () => import_domParser.domParser,
|
|
22
|
+
escapeHtml: () => import_escapeHtml.escapeHtml,
|
|
23
|
+
parseTextToHtml: () => import_parseTextToHtml.parseTextToHtml
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(dom_exports);
|
|
26
|
+
var import_domParser = require("./domParser.js");
|
|
27
|
+
var import_parseTextToHtml = require("./parseTextToHtml.js");
|
|
28
|
+
var import_escapeHtml = require("./escapeHtml.js");
|
|
29
|
+
var import_cssPath = require("./cssPath.js");
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
var domParser_exports = {};
|
|
19
|
+
__export(domParser_exports, {
|
|
20
|
+
domParser: () => domParser
|
|
21
|
+
});
|
|
22
|
+
module.exports = __toCommonJS(domParser_exports);
|
|
23
|
+
function domParser(str) {
|
|
24
|
+
try {
|
|
25
|
+
var mainTag = str.match(/\<(?<tag>[a-z0-9]+)(.*?)?\>/).groups.tag;
|
|
26
|
+
} catch (e) {
|
|
27
|
+
}
|
|
28
|
+
let doc;
|
|
29
|
+
switch (mainTag) {
|
|
30
|
+
case "html":
|
|
31
|
+
doc = new DOMParser().parseFromString(str, "text/html");
|
|
32
|
+
return doc.documentElement;
|
|
33
|
+
case "body":
|
|
34
|
+
doc = new DOMParser().parseFromString(str, "text/html");
|
|
35
|
+
return doc.body;
|
|
36
|
+
case "head":
|
|
37
|
+
doc = new DOMParser().parseFromString(str, "text/html");
|
|
38
|
+
return doc.head;
|
|
39
|
+
default:
|
|
40
|
+
let con = document.createElement("dom-parser");
|
|
41
|
+
con.innerHTML = str;
|
|
42
|
+
return con;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
var dotNotationToObject_exports = {};
|
|
19
|
+
__export(dotNotationToObject_exports, {
|
|
20
|
+
dotNotationToObject: () => dotNotationToObject
|
|
21
|
+
});
|
|
22
|
+
module.exports = __toCommonJS(dotNotationToObject_exports);
|
|
23
|
+
function dotNotationToObject(data, obj = {}) {
|
|
24
|
+
try {
|
|
25
|
+
let arrayGroup = {};
|
|
26
|
+
for (const key of Object.keys(data)) {
|
|
27
|
+
let value = data[key];
|
|
28
|
+
let newObject = obj;
|
|
29
|
+
let oldObject = new Object(obj);
|
|
30
|
+
let keys = key.split(".");
|
|
31
|
+
let length = keys.length - 1;
|
|
32
|
+
for (let i = 0; i < keys.length; i++) {
|
|
33
|
+
if (keys[i].endsWith("]")) {
|
|
34
|
+
if (keys[i].endsWith("[]")) {
|
|
35
|
+
let baseKey = keys[i].slice(0, -2);
|
|
36
|
+
if (!Array.isArray(newObject[baseKey])) {
|
|
37
|
+
newObject[baseKey] = [];
|
|
38
|
+
}
|
|
39
|
+
if (length == i) {
|
|
40
|
+
if (Array.isArray(value)) {
|
|
41
|
+
newObject[baseKey].push(...value);
|
|
42
|
+
} else {
|
|
43
|
+
newObject[baseKey].push(value);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
} else if (/\[([0-9]+)\]/g.test(keys[i])) {
|
|
47
|
+
let [k, index] = keys[i].split("[");
|
|
48
|
+
index = index.slice(0, -1);
|
|
49
|
+
if (!Array.isArray(newObject[k])) {
|
|
50
|
+
newObject[k] = [];
|
|
51
|
+
}
|
|
52
|
+
if (length == i) {
|
|
53
|
+
if (value === void 0) {
|
|
54
|
+
newObject[k].splice(index, 1);
|
|
55
|
+
} else {
|
|
56
|
+
newObject[k][index] = value;
|
|
57
|
+
}
|
|
58
|
+
} else {
|
|
59
|
+
newObject[k][index] = oldObject[k][index] || {};
|
|
60
|
+
newObject = newObject[k][index];
|
|
61
|
+
oldObject = oldObject[k][index];
|
|
62
|
+
}
|
|
63
|
+
} else if (/\[\w\]/g.test(keys[i])) {
|
|
64
|
+
let [k, group] = keys[i].split("[");
|
|
65
|
+
group = group.slice(0, -1);
|
|
66
|
+
if (!Array.isArray(newObject[k])) {
|
|
67
|
+
newObject[k] = [];
|
|
68
|
+
}
|
|
69
|
+
let index;
|
|
70
|
+
if (arrayGroup[keys.slice(0, i + 1).join(".")]) {
|
|
71
|
+
index = arrayGroup[keys.slice(0, i + 1).join(".")];
|
|
72
|
+
} else {
|
|
73
|
+
index = newObject[k].length;
|
|
74
|
+
arrayGroup[keys.slice(0, i + 1).join(".")] = index;
|
|
75
|
+
newObject[k][index] = {};
|
|
76
|
+
}
|
|
77
|
+
if (length == i) {
|
|
78
|
+
newObject[k][index] = value;
|
|
79
|
+
} else {
|
|
80
|
+
newObject = newObject[k][index];
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
} else {
|
|
84
|
+
if (length == i) {
|
|
85
|
+
if (value === void 0) {
|
|
86
|
+
delete newObject[keys[i]];
|
|
87
|
+
} else {
|
|
88
|
+
newObject[keys[i]] = value;
|
|
89
|
+
}
|
|
90
|
+
} else {
|
|
91
|
+
newObject[keys[i]] = oldObject[keys[i]] || {};
|
|
92
|
+
newObject = newObject[keys[i]];
|
|
93
|
+
oldObject = oldObject[keys[i]];
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
return obj;
|
|
99
|
+
} catch (error) {
|
|
100
|
+
console.log("Error converting dot notation to object", error);
|
|
101
|
+
return false;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
var escapeHtml_exports = {};
|
|
19
|
+
__export(escapeHtml_exports, {
|
|
20
|
+
escapeHtml: () => escapeHtml
|
|
21
|
+
});
|
|
22
|
+
module.exports = __toCommonJS(escapeHtml_exports);
|
|
23
|
+
function escapeHtml(html) {
|
|
24
|
+
return html.replaceAll("&", "&").replaceAll("<", "<").replaceAll(">", ">").replaceAll("'", "'").replaceAll('"', """);
|
|
25
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
var getRelativePath_exports = {};
|
|
19
|
+
__export(getRelativePath_exports, {
|
|
20
|
+
getRelativePath: () => getRelativePath
|
|
21
|
+
});
|
|
22
|
+
module.exports = __toCommonJS(getRelativePath_exports);
|
|
23
|
+
function getRelativePath(path) {
|
|
24
|
+
const isBrowser = typeof window !== "undefined";
|
|
25
|
+
if (!path && isBrowser) {
|
|
26
|
+
path = window.location.pathname.replace(/\/[^\/]*$/, "");
|
|
27
|
+
}
|
|
28
|
+
if (isBrowser && (location.hostname === "localhost" || location.hostname === "127.0.0.1")) {
|
|
29
|
+
const srcIndex = path.indexOf("/src");
|
|
30
|
+
if (srcIndex !== -1) {
|
|
31
|
+
path = path.slice(srcIndex + 4);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
if (!path.endsWith("/")) {
|
|
35
|
+
path += "/";
|
|
36
|
+
}
|
|
37
|
+
let depth = path.split("/").filter(Boolean).length;
|
|
38
|
+
return depth > 0 ? "../".repeat(depth) : "./";
|
|
39
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
var getValueFromObject_exports = {};
|
|
19
|
+
__export(getValueFromObject_exports, {
|
|
20
|
+
getValueFromObject: () => getValueFromObject
|
|
21
|
+
});
|
|
22
|
+
module.exports = __toCommonJS(getValueFromObject_exports);
|
|
23
|
+
function getValueFromObject(object = {}, path = "", throwError = false) {
|
|
24
|
+
try {
|
|
25
|
+
if (!Array.isArray(object) && !Object.keys(object).length || !path) {
|
|
26
|
+
if (throwError) throw new Error("Invalid input to getValueFromObject");
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
path = path.replace(/\[(\d+)\]/g, ".$1").replace(/^\./, "");
|
|
30
|
+
let data = object, subpath = path.split(".");
|
|
31
|
+
for (let i = 0; i < subpath.length; i++) {
|
|
32
|
+
if (throwError && !(subpath[i] in data))
|
|
33
|
+
throw new Error("Key not found in object: " + subpath[i]);
|
|
34
|
+
data = data[subpath[i]];
|
|
35
|
+
if (!data) break;
|
|
36
|
+
}
|
|
37
|
+
return data;
|
|
38
|
+
} catch (error) {
|
|
39
|
+
if (throwError) throw error;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
var index_exports = {};
|
|
19
|
+
__export(index_exports, {
|
|
20
|
+
ObjectId: () => import_ObjectId.ObjectId,
|
|
21
|
+
checkMediaQueries: () => import_queryElements.checkMediaQueries,
|
|
22
|
+
checkValue: () => import_checkValue.checkValue,
|
|
23
|
+
clickedElement: () => import_clickedElement.clickedElement,
|
|
24
|
+
createUpdate: () => import_createUpdate.createUpdate,
|
|
25
|
+
cssPath: () => import_cssPath.cssPath,
|
|
26
|
+
default: () => index_default,
|
|
27
|
+
domParser: () => import_domParser.domParser,
|
|
28
|
+
dotNotationToObject: () => import_dotNotationToObject.dotNotationToObject,
|
|
29
|
+
escapeHtml: () => import_escapeHtml.escapeHtml,
|
|
30
|
+
getAttributeNames: () => import_attributes.getAttributeNames,
|
|
31
|
+
getAttributes: () => import_attributes.getAttributes,
|
|
32
|
+
getRelativePath: () => import_getRelativePath.getRelativePath,
|
|
33
|
+
getValueFromObject: () => import_getValueFromObject.getValueFromObject,
|
|
34
|
+
isValidDate: () => import_isValidDate.isValidDate,
|
|
35
|
+
objectToDotNotation: () => import_objectToDotNotation.objectToDotNotation,
|
|
36
|
+
objectToSearchParams: () => import_objectToSearchParams.objectToSearchParams,
|
|
37
|
+
parseTextToHtml: () => import_parseTextToHtml.parseTextToHtml,
|
|
38
|
+
processOperators: () => import_operators.processOperators,
|
|
39
|
+
processOperatorsAsync: () => import_operators.processOperatorsAsync,
|
|
40
|
+
queryData: () => import_dataQuery.queryData,
|
|
41
|
+
queryElements: () => import_queryElements.queryElements,
|
|
42
|
+
searchData: () => import_dataQuery.searchData,
|
|
43
|
+
setAttributeNames: () => import_attributes.setAttributeNames,
|
|
44
|
+
sortData: () => import_dataQuery.sortData,
|
|
45
|
+
uid: () => import_uid.uid
|
|
46
|
+
});
|
|
47
|
+
module.exports = __toCommonJS(index_exports);
|
|
48
|
+
var import_getRelativePath = require("./getRelativePath.js");
|
|
49
|
+
var import_ObjectId = require("./ObjectId.js");
|
|
50
|
+
var import_uid = require("./uid.js");
|
|
51
|
+
var import_checkValue = require("./checkValue.js");
|
|
52
|
+
var import_isValidDate = require("./isValidDate.js");
|
|
53
|
+
var import_objectToSearchParams = require("./objectToSearchParams.js");
|
|
54
|
+
var import_dotNotationToObject = require("./dotNotationToObject.js");
|
|
55
|
+
var import_objectToDotNotation = require("./objectToDotNotation.js");
|
|
56
|
+
var import_getValueFromObject = require("./getValueFromObject.js");
|
|
57
|
+
var import_createUpdate = require("./createUpdate.js");
|
|
58
|
+
var import_domParser = require("./domParser.js");
|
|
59
|
+
var import_parseTextToHtml = require("./parseTextToHtml.js");
|
|
60
|
+
var import_escapeHtml = require("./escapeHtml.js");
|
|
61
|
+
var import_cssPath = require("./cssPath.js");
|
|
62
|
+
var import_queryElements = require("./queryElements.js");
|
|
63
|
+
var import_dataQuery = require("./dataQuery.js");
|
|
64
|
+
var import_attributes = require("./attributes.js");
|
|
65
|
+
var import_clickedElement = require("./clickedElement.js");
|
|
66
|
+
var import_operators = require("./operators.js");
|
|
67
|
+
var import_getRelativePath2 = require("./getRelativePath.js");
|
|
68
|
+
var import_ObjectId2 = require("./ObjectId.js");
|
|
69
|
+
var import_uid2 = require("./uid.js");
|
|
70
|
+
var import_checkValue2 = require("./checkValue.js");
|
|
71
|
+
var import_isValidDate2 = require("./isValidDate.js");
|
|
72
|
+
var import_objectToSearchParams2 = require("./objectToSearchParams.js");
|
|
73
|
+
var import_dotNotationToObject2 = require("./dotNotationToObject.js");
|
|
74
|
+
var import_objectToDotNotation2 = require("./objectToDotNotation.js");
|
|
75
|
+
var import_getValueFromObject2 = require("./getValueFromObject.js");
|
|
76
|
+
var import_createUpdate2 = require("./createUpdate.js");
|
|
77
|
+
var import_domParser2 = require("./domParser.js");
|
|
78
|
+
var import_parseTextToHtml2 = require("./parseTextToHtml.js");
|
|
79
|
+
var import_escapeHtml2 = require("./escapeHtml.js");
|
|
80
|
+
var import_cssPath2 = require("./cssPath.js");
|
|
81
|
+
var import_queryElements2 = require("./queryElements.js");
|
|
82
|
+
var import_dataQuery2 = require("./dataQuery.js");
|
|
83
|
+
var import_attributes2 = require("./attributes.js");
|
|
84
|
+
var import_operators2 = require("./operators.js");
|
|
85
|
+
const utils = {
|
|
86
|
+
getRelativePath: import_getRelativePath2.getRelativePath,
|
|
87
|
+
ObjectId: import_ObjectId2.ObjectId,
|
|
88
|
+
uid: import_uid2.uid,
|
|
89
|
+
checkValue: import_checkValue2.checkValue,
|
|
90
|
+
isValidDate: import_isValidDate2.isValidDate,
|
|
91
|
+
dotNotationToObject: import_dotNotationToObject2.dotNotationToObject,
|
|
92
|
+
objectToDotNotation: import_objectToDotNotation2.objectToDotNotation,
|
|
93
|
+
getValueFromObject: import_getValueFromObject2.getValueFromObject,
|
|
94
|
+
objectToSearchParams: import_objectToSearchParams2.objectToSearchParams,
|
|
95
|
+
domParser: import_domParser2.domParser,
|
|
96
|
+
parseTextToHtml: import_parseTextToHtml2.parseTextToHtml,
|
|
97
|
+
escapeHtml: import_escapeHtml2.escapeHtml,
|
|
98
|
+
cssPath: import_cssPath2.cssPath,
|
|
99
|
+
queryElements: import_queryElements2.queryElements,
|
|
100
|
+
checkMediaQueries: import_queryElements2.checkMediaQueries,
|
|
101
|
+
queryData: import_dataQuery2.queryData,
|
|
102
|
+
searchData: import_dataQuery2.searchData,
|
|
103
|
+
sortData: import_dataQuery2.sortData,
|
|
104
|
+
createUpdate: import_createUpdate2.createUpdate,
|
|
105
|
+
getAttributes: import_attributes2.getAttributes,
|
|
106
|
+
setAttributeNames: import_attributes2.setAttributeNames,
|
|
107
|
+
getAttributeNames: import_attributes2.getAttributeNames,
|
|
108
|
+
// safeParse,
|
|
109
|
+
processOperators: import_operators2.processOperators,
|
|
110
|
+
processOperatorsAsync: import_operators2.processOperatorsAsync
|
|
111
|
+
};
|
|
112
|
+
var index_default = utils;
|