@symbo.ls/scratch 2.11.446 → 2.11.453
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/factory.js +91 -21
- package/dist/cjs/index.js +182 -42
- package/dist/cjs/set.js +182 -42
- package/dist/cjs/system/color.js +182 -42
- package/dist/cjs/system/document.js +182 -42
- package/dist/cjs/system/font.js +182 -42
- package/dist/cjs/system/index.js +182 -42
- package/dist/cjs/system/reset.js +182 -42
- package/dist/cjs/system/shadow.js +182 -42
- package/dist/cjs/system/spacing.js +182 -42
- package/dist/cjs/system/svg.js +182 -42
- package/dist/cjs/system/theme.js +182 -42
- package/dist/cjs/system/timing.js +182 -42
- package/dist/cjs/system/typography.js +182 -42
- package/dist/cjs/transforms/index.js +182 -42
- package/dist/cjs/utils/color.js +91 -21
- package/dist/cjs/utils/index.js +182 -42
- package/dist/cjs/utils/sequence.js +182 -42
- package/dist/cjs/utils/sprite.js +91 -21
- package/dist/cjs/utils/var.js +182 -42
- package/package.json +4 -4
package/dist/cjs/system/color.js
CHANGED
|
@@ -302,6 +302,8 @@ var require_array = __commonJS({
|
|
|
302
302
|
arraysEqual: () => arraysEqual,
|
|
303
303
|
cutArrayAfterValue: () => cutArrayAfterValue,
|
|
304
304
|
cutArrayBeforeValue: () => cutArrayBeforeValue,
|
|
305
|
+
filterArrays: () => filterArrays,
|
|
306
|
+
filterArraysFast: () => filterArraysFast,
|
|
305
307
|
getFrequencyInArray: () => getFrequencyInArray,
|
|
306
308
|
joinArrays: () => joinArrays,
|
|
307
309
|
mergeAndCloneIfArray: () => mergeAndCloneIfArray,
|
|
@@ -410,6 +412,13 @@ var require_array = __commonJS({
|
|
|
410
412
|
}
|
|
411
413
|
return true;
|
|
412
414
|
};
|
|
415
|
+
var filterArrays = (sourceArr, excludeArr) => {
|
|
416
|
+
return sourceArr.filter((item) => !excludeArr.includes(item));
|
|
417
|
+
};
|
|
418
|
+
var filterArraysFast = (sourceArr, excludeArr) => {
|
|
419
|
+
const excludeSet = new Set(excludeArr);
|
|
420
|
+
return sourceArr.filter((item) => !excludeSet.has(item));
|
|
421
|
+
};
|
|
413
422
|
}
|
|
414
423
|
});
|
|
415
424
|
|
|
@@ -603,9 +612,11 @@ var require_object = __commonJS({
|
|
|
603
612
|
diff: () => diff,
|
|
604
613
|
diffArrays: () => diffArrays,
|
|
605
614
|
diffObjects: () => diffObjects,
|
|
615
|
+
excludeKeysFromObject: () => excludeKeysFromObject,
|
|
606
616
|
exec: () => exec,
|
|
607
617
|
flattenRecursive: () => flattenRecursive,
|
|
608
618
|
hasOwnProperty: () => hasOwnProperty,
|
|
619
|
+
isCyclic: () => isCyclic,
|
|
609
620
|
isEmpty: () => isEmpty,
|
|
610
621
|
isEmptyObject: () => isEmptyObject,
|
|
611
622
|
isEqualDeep: () => isEqualDeep,
|
|
@@ -731,20 +742,28 @@ var require_object = __commonJS({
|
|
|
731
742
|
}
|
|
732
743
|
return clone2;
|
|
733
744
|
};
|
|
734
|
-
var deepCloneWithExtend = (obj, excludeFrom = ["node"], options = {}) => {
|
|
745
|
+
var deepCloneWithExtend = (obj, excludeFrom = ["node"], options = {}, visited = /* @__PURE__ */ new WeakSet()) => {
|
|
746
|
+
if ((0, import_types.isObjectLike)(obj)) {
|
|
747
|
+
if (visited.has(obj)) {
|
|
748
|
+
return obj;
|
|
749
|
+
}
|
|
750
|
+
visited.add(obj);
|
|
751
|
+
}
|
|
735
752
|
const o = options.window ? (0, import_types.isArray)(obj) ? new options.window.Array([]) : new options.window.Object({}) : (0, import_types.isArray)(obj) ? [] : {};
|
|
736
753
|
for (const prop in obj) {
|
|
737
754
|
if (!Object.prototype.hasOwnProperty.call(obj, prop))
|
|
738
755
|
continue;
|
|
739
756
|
const objProp = obj[prop];
|
|
740
|
-
if (excludeFrom.includes(prop) || prop.startsWith("__") || options.cleanUndefined && (0, import_types.isUndefined)(objProp) || options.cleanNull && (0, import_types.isNull)(objProp))
|
|
757
|
+
if (excludeFrom.includes(prop) || prop.startsWith("__") || options.cleanUndefined && (0, import_types.isUndefined)(objProp) || options.cleanNull && (0, import_types.isNull)(objProp)) {
|
|
741
758
|
continue;
|
|
759
|
+
}
|
|
742
760
|
if ((0, import_types.isObjectLike)(objProp)) {
|
|
743
|
-
o[prop] = deepCloneWithExtend(objProp, excludeFrom, options);
|
|
761
|
+
o[prop] = deepCloneWithExtend(objProp, excludeFrom, options, visited);
|
|
744
762
|
} else if ((0, import_types.isFunction)(objProp) && options.window) {
|
|
745
763
|
o[prop] = (options.window || import_globals2.window).eval("(" + objProp.toString() + ")");
|
|
746
|
-
} else
|
|
764
|
+
} else {
|
|
747
765
|
o[prop] = objProp;
|
|
766
|
+
}
|
|
748
767
|
}
|
|
749
768
|
return o;
|
|
750
769
|
};
|
|
@@ -921,7 +940,7 @@ var require_object = __commonJS({
|
|
|
921
940
|
};
|
|
922
941
|
var stringToObject = (str, opts = { verbose: true }) => {
|
|
923
942
|
try {
|
|
924
|
-
return import_globals2.window.eval("(" + str + ")");
|
|
943
|
+
return str ? import_globals2.window.eval("(" + str + ")") : {};
|
|
925
944
|
} catch (e) {
|
|
926
945
|
if (opts.verbose)
|
|
927
946
|
console.warn(e);
|
|
@@ -1001,20 +1020,27 @@ var require_object = __commonJS({
|
|
|
1001
1020
|
return acc;
|
|
1002
1021
|
}, deletedValues);
|
|
1003
1022
|
};
|
|
1004
|
-
var overwrite = (element, params,
|
|
1005
|
-
const { ref } = element;
|
|
1006
|
-
const
|
|
1023
|
+
var overwrite = (element, params, opts = {}) => {
|
|
1024
|
+
const { __ref: ref } = element;
|
|
1025
|
+
const excl = opts.exclude || [];
|
|
1026
|
+
const allowUnderscore = opts.preventUnderscore;
|
|
1027
|
+
const preventCaching = opts.preventCaching;
|
|
1007
1028
|
for (const e in params) {
|
|
1008
|
-
if (
|
|
1029
|
+
if (excl.includes(e) || !allowUnderscore && e.startsWith("__"))
|
|
1009
1030
|
continue;
|
|
1010
1031
|
const elementProp = element[e];
|
|
1011
1032
|
const paramsProp = params[e];
|
|
1012
|
-
if (paramsProp) {
|
|
1013
|
-
|
|
1014
|
-
ref
|
|
1033
|
+
if (paramsProp !== void 0) {
|
|
1034
|
+
element[e] = paramsProp;
|
|
1035
|
+
if (ref && !preventCaching) {
|
|
1036
|
+
ref.__cache[e] = elementProp;
|
|
1037
|
+
}
|
|
1038
|
+
if ((0, import_types.isObject)(opts.diff)) {
|
|
1039
|
+
diff[e] = elementProp;
|
|
1040
|
+
}
|
|
1015
1041
|
}
|
|
1016
1042
|
}
|
|
1017
|
-
return
|
|
1043
|
+
return element;
|
|
1018
1044
|
};
|
|
1019
1045
|
var overwriteShallow = (obj, params, excludeFrom = []) => {
|
|
1020
1046
|
for (const e in params) {
|
|
@@ -1024,23 +1050,26 @@ var require_object = __commonJS({
|
|
|
1024
1050
|
}
|
|
1025
1051
|
return obj;
|
|
1026
1052
|
};
|
|
1027
|
-
var overwriteDeep = (obj, params,
|
|
1053
|
+
var overwriteDeep = (obj, params, opts = {}, visited = /* @__PURE__ */ new WeakMap()) => {
|
|
1054
|
+
const excl = opts.exclude || [];
|
|
1055
|
+
const forcedExclude = opts.preventForce ? [] : ["node", "window"];
|
|
1028
1056
|
if (!(0, import_types.isObjectLike)(obj) || !(0, import_types.isObjectLike)(params) || (0, import_node.isDOMNode)(obj) || (0, import_node.isDOMNode)(params)) {
|
|
1029
1057
|
return params;
|
|
1030
1058
|
}
|
|
1031
|
-
if (visited.has(obj))
|
|
1059
|
+
if (visited.has(obj))
|
|
1032
1060
|
return visited.get(obj);
|
|
1033
|
-
}
|
|
1034
1061
|
visited.set(obj, obj);
|
|
1035
1062
|
for (const e in params) {
|
|
1036
|
-
if (
|
|
1063
|
+
if (!Object.hasOwnProperty.call(params, e))
|
|
1064
|
+
continue;
|
|
1065
|
+
if (excl.includes(e) || forcedExclude && e.startsWith("__"))
|
|
1037
1066
|
continue;
|
|
1038
1067
|
const objProp = obj[e];
|
|
1039
1068
|
const paramsProp = params[e];
|
|
1040
1069
|
if ((0, import_node.isDOMNode)(paramsProp)) {
|
|
1041
1070
|
obj[e] = paramsProp;
|
|
1042
1071
|
} else if ((0, import_types.isObjectLike)(objProp) && (0, import_types.isObjectLike)(paramsProp)) {
|
|
1043
|
-
obj[e] = overwriteDeep(objProp, paramsProp,
|
|
1072
|
+
obj[e] = overwriteDeep(objProp, paramsProp, opts, visited);
|
|
1044
1073
|
} else if (paramsProp !== void 0) {
|
|
1045
1074
|
obj[e] = paramsProp;
|
|
1046
1075
|
}
|
|
@@ -1203,6 +1232,30 @@ var require_object = __commonJS({
|
|
|
1203
1232
|
}
|
|
1204
1233
|
}
|
|
1205
1234
|
};
|
|
1235
|
+
var isCyclic = (obj) => {
|
|
1236
|
+
const seenObjects = [];
|
|
1237
|
+
function detect(obj2) {
|
|
1238
|
+
if (obj2 && typeof obj2 === "object") {
|
|
1239
|
+
if (seenObjects.indexOf(obj2) !== -1) {
|
|
1240
|
+
return true;
|
|
1241
|
+
}
|
|
1242
|
+
seenObjects.push(obj2);
|
|
1243
|
+
for (const key in obj2) {
|
|
1244
|
+
if (Object.hasOwnProperty.call(obj2, key) && detect(obj2[key])) {
|
|
1245
|
+
console.log(obj2, "cycle at " + key);
|
|
1246
|
+
return true;
|
|
1247
|
+
}
|
|
1248
|
+
}
|
|
1249
|
+
}
|
|
1250
|
+
return false;
|
|
1251
|
+
}
|
|
1252
|
+
return detect(obj);
|
|
1253
|
+
};
|
|
1254
|
+
var excludeKeysFromObject = (obj, excludedKeys) => {
|
|
1255
|
+
const result = { ...obj };
|
|
1256
|
+
excludedKeys.forEach((key) => delete result[key]);
|
|
1257
|
+
return result;
|
|
1258
|
+
};
|
|
1206
1259
|
}
|
|
1207
1260
|
});
|
|
1208
1261
|
|
|
@@ -1622,6 +1675,8 @@ var require_component = __commonJS({
|
|
|
1622
1675
|
return /^[a-z]*$/.test(firstCharKey);
|
|
1623
1676
|
};
|
|
1624
1677
|
var addAdditionalExtend = (newExtend, element) => {
|
|
1678
|
+
if (!newExtend)
|
|
1679
|
+
return element;
|
|
1625
1680
|
const { extend: elementExtend } = element;
|
|
1626
1681
|
const originalArray = (0, import__.isArray)(elementExtend) ? elementExtend : [elementExtend];
|
|
1627
1682
|
const receivedArray = (0, import__.isArray)(newExtend) ? newExtend : [newExtend];
|
|
@@ -1629,8 +1684,23 @@ var require_component = __commonJS({
|
|
|
1629
1684
|
return { ...element, extend };
|
|
1630
1685
|
};
|
|
1631
1686
|
var checkIfSugar = (element, parent, key) => {
|
|
1632
|
-
const {
|
|
1687
|
+
const {
|
|
1688
|
+
extend,
|
|
1689
|
+
props,
|
|
1690
|
+
childExtend,
|
|
1691
|
+
extends: extendProps,
|
|
1692
|
+
childrenExtends,
|
|
1693
|
+
childProps,
|
|
1694
|
+
children,
|
|
1695
|
+
on,
|
|
1696
|
+
$collection,
|
|
1697
|
+
$stateCollection,
|
|
1698
|
+
$propsCollection
|
|
1699
|
+
} = element;
|
|
1633
1700
|
const hasComponentAttrs = extend || childExtend || props || on || $collection || $stateCollection || $propsCollection;
|
|
1701
|
+
if (hasComponentAttrs && (childProps || extendProps || children || childrenExtends)) {
|
|
1702
|
+
element.error("Sugar component includes params for builtin components");
|
|
1703
|
+
}
|
|
1634
1704
|
return !hasComponentAttrs || childProps || extendProps || children || childrenExtends;
|
|
1635
1705
|
};
|
|
1636
1706
|
var extendizeByKey = (element, parent, key) => {
|
|
@@ -1642,11 +1712,11 @@ var require_component = __commonJS({
|
|
|
1642
1712
|
if (element === isExtendKeyComponent)
|
|
1643
1713
|
return element;
|
|
1644
1714
|
else if (isSugar) {
|
|
1645
|
-
const newElem = {
|
|
1715
|
+
const newElem = addAdditionalExtend(element.extends, {
|
|
1646
1716
|
extend: extendFromKey,
|
|
1647
1717
|
tag,
|
|
1648
1718
|
props: { ...element }
|
|
1649
|
-
};
|
|
1719
|
+
});
|
|
1650
1720
|
if (childrenExtends)
|
|
1651
1721
|
newElem.childExtend = childrenExtends;
|
|
1652
1722
|
return newElem;
|
|
@@ -2153,6 +2223,8 @@ var require_cjs3 = __commonJS({
|
|
|
2153
2223
|
arraysEqual: () => arraysEqual,
|
|
2154
2224
|
cutArrayAfterValue: () => cutArrayAfterValue,
|
|
2155
2225
|
cutArrayBeforeValue: () => cutArrayBeforeValue,
|
|
2226
|
+
filterArrays: () => filterArrays,
|
|
2227
|
+
filterArraysFast: () => filterArraysFast,
|
|
2156
2228
|
getFrequencyInArray: () => getFrequencyInArray,
|
|
2157
2229
|
joinArrays: () => joinArrays,
|
|
2158
2230
|
mergeAndCloneIfArray: () => mergeAndCloneIfArray,
|
|
@@ -2261,6 +2333,13 @@ var require_cjs3 = __commonJS({
|
|
|
2261
2333
|
}
|
|
2262
2334
|
return true;
|
|
2263
2335
|
};
|
|
2336
|
+
var filterArrays = (sourceArr, excludeArr) => {
|
|
2337
|
+
return sourceArr.filter((item) => !excludeArr.includes(item));
|
|
2338
|
+
};
|
|
2339
|
+
var filterArraysFast = (sourceArr, excludeArr) => {
|
|
2340
|
+
const excludeSet = new Set(excludeArr);
|
|
2341
|
+
return sourceArr.filter((item) => !excludeSet.has(item));
|
|
2342
|
+
};
|
|
2264
2343
|
}
|
|
2265
2344
|
});
|
|
2266
2345
|
var require_string2 = __commonJS2({
|
|
@@ -2450,9 +2529,11 @@ var require_cjs3 = __commonJS({
|
|
|
2450
2529
|
diff: () => diff,
|
|
2451
2530
|
diffArrays: () => diffArrays,
|
|
2452
2531
|
diffObjects: () => diffObjects,
|
|
2532
|
+
excludeKeysFromObject: () => excludeKeysFromObject,
|
|
2453
2533
|
exec: () => exec,
|
|
2454
2534
|
flattenRecursive: () => flattenRecursive,
|
|
2455
2535
|
hasOwnProperty: () => hasOwnProperty,
|
|
2536
|
+
isCyclic: () => isCyclic,
|
|
2456
2537
|
isEmpty: () => isEmpty,
|
|
2457
2538
|
isEmptyObject: () => isEmptyObject,
|
|
2458
2539
|
isEqualDeep: () => isEqualDeep,
|
|
@@ -2578,20 +2659,28 @@ var require_cjs3 = __commonJS({
|
|
|
2578
2659
|
}
|
|
2579
2660
|
return clone2;
|
|
2580
2661
|
};
|
|
2581
|
-
var deepCloneWithExtend = (obj, excludeFrom = ["node"], options = {}) => {
|
|
2662
|
+
var deepCloneWithExtend = (obj, excludeFrom = ["node"], options = {}, visited = /* @__PURE__ */ new WeakSet()) => {
|
|
2663
|
+
if ((0, import_types.isObjectLike)(obj)) {
|
|
2664
|
+
if (visited.has(obj)) {
|
|
2665
|
+
return obj;
|
|
2666
|
+
}
|
|
2667
|
+
visited.add(obj);
|
|
2668
|
+
}
|
|
2582
2669
|
const o = options.window ? (0, import_types.isArray)(obj) ? new options.window.Array([]) : new options.window.Object({}) : (0, import_types.isArray)(obj) ? [] : {};
|
|
2583
2670
|
for (const prop in obj) {
|
|
2584
2671
|
if (!Object.prototype.hasOwnProperty.call(obj, prop))
|
|
2585
2672
|
continue;
|
|
2586
2673
|
const objProp = obj[prop];
|
|
2587
|
-
if (excludeFrom.includes(prop) || prop.startsWith("__") || options.cleanUndefined && (0, import_types.isUndefined)(objProp) || options.cleanNull && (0, import_types.isNull)(objProp))
|
|
2674
|
+
if (excludeFrom.includes(prop) || prop.startsWith("__") || options.cleanUndefined && (0, import_types.isUndefined)(objProp) || options.cleanNull && (0, import_types.isNull)(objProp)) {
|
|
2588
2675
|
continue;
|
|
2676
|
+
}
|
|
2589
2677
|
if ((0, import_types.isObjectLike)(objProp)) {
|
|
2590
|
-
o[prop] = deepCloneWithExtend(objProp, excludeFrom, options);
|
|
2678
|
+
o[prop] = deepCloneWithExtend(objProp, excludeFrom, options, visited);
|
|
2591
2679
|
} else if ((0, import_types.isFunction)(objProp) && options.window) {
|
|
2592
2680
|
o[prop] = (options.window || import_globals2.window).eval("(" + objProp.toString() + ")");
|
|
2593
|
-
} else
|
|
2681
|
+
} else {
|
|
2594
2682
|
o[prop] = objProp;
|
|
2683
|
+
}
|
|
2595
2684
|
}
|
|
2596
2685
|
return o;
|
|
2597
2686
|
};
|
|
@@ -2768,7 +2857,7 @@ var require_cjs3 = __commonJS({
|
|
|
2768
2857
|
};
|
|
2769
2858
|
var stringToObject = (str, opts = { verbose: true }) => {
|
|
2770
2859
|
try {
|
|
2771
|
-
return import_globals2.window.eval("(" + str + ")");
|
|
2860
|
+
return str ? import_globals2.window.eval("(" + str + ")") : {};
|
|
2772
2861
|
} catch (e) {
|
|
2773
2862
|
if (opts.verbose)
|
|
2774
2863
|
console.warn(e);
|
|
@@ -2848,20 +2937,27 @@ var require_cjs3 = __commonJS({
|
|
|
2848
2937
|
return acc;
|
|
2849
2938
|
}, deletedValues);
|
|
2850
2939
|
};
|
|
2851
|
-
var overwrite = (element, params,
|
|
2852
|
-
const { ref } = element;
|
|
2853
|
-
const
|
|
2940
|
+
var overwrite = (element, params, opts = {}) => {
|
|
2941
|
+
const { __ref: ref } = element;
|
|
2942
|
+
const excl = opts.exclude || [];
|
|
2943
|
+
const allowUnderscore = opts.preventUnderscore;
|
|
2944
|
+
const preventCaching = opts.preventCaching;
|
|
2854
2945
|
for (const e in params) {
|
|
2855
|
-
if (
|
|
2946
|
+
if (excl.includes(e) || !allowUnderscore && e.startsWith("__"))
|
|
2856
2947
|
continue;
|
|
2857
2948
|
const elementProp = element[e];
|
|
2858
2949
|
const paramsProp = params[e];
|
|
2859
|
-
if (paramsProp) {
|
|
2860
|
-
|
|
2861
|
-
ref
|
|
2950
|
+
if (paramsProp !== void 0) {
|
|
2951
|
+
element[e] = paramsProp;
|
|
2952
|
+
if (ref && !preventCaching) {
|
|
2953
|
+
ref.__cache[e] = elementProp;
|
|
2954
|
+
}
|
|
2955
|
+
if ((0, import_types.isObject)(opts.diff)) {
|
|
2956
|
+
diff[e] = elementProp;
|
|
2957
|
+
}
|
|
2862
2958
|
}
|
|
2863
2959
|
}
|
|
2864
|
-
return
|
|
2960
|
+
return element;
|
|
2865
2961
|
};
|
|
2866
2962
|
var overwriteShallow = (obj, params, excludeFrom = []) => {
|
|
2867
2963
|
for (const e in params) {
|
|
@@ -2871,23 +2967,26 @@ var require_cjs3 = __commonJS({
|
|
|
2871
2967
|
}
|
|
2872
2968
|
return obj;
|
|
2873
2969
|
};
|
|
2874
|
-
var overwriteDeep = (obj, params,
|
|
2970
|
+
var overwriteDeep = (obj, params, opts = {}, visited = /* @__PURE__ */ new WeakMap()) => {
|
|
2971
|
+
const excl = opts.exclude || [];
|
|
2972
|
+
const forcedExclude = opts.preventForce ? [] : ["node", "window"];
|
|
2875
2973
|
if (!(0, import_types.isObjectLike)(obj) || !(0, import_types.isObjectLike)(params) || (0, import_node.isDOMNode)(obj) || (0, import_node.isDOMNode)(params)) {
|
|
2876
2974
|
return params;
|
|
2877
2975
|
}
|
|
2878
|
-
if (visited.has(obj))
|
|
2976
|
+
if (visited.has(obj))
|
|
2879
2977
|
return visited.get(obj);
|
|
2880
|
-
}
|
|
2881
2978
|
visited.set(obj, obj);
|
|
2882
2979
|
for (const e in params) {
|
|
2883
|
-
if (
|
|
2980
|
+
if (!Object.hasOwnProperty.call(params, e))
|
|
2981
|
+
continue;
|
|
2982
|
+
if (excl.includes(e) || forcedExclude && e.startsWith("__"))
|
|
2884
2983
|
continue;
|
|
2885
2984
|
const objProp = obj[e];
|
|
2886
2985
|
const paramsProp = params[e];
|
|
2887
2986
|
if ((0, import_node.isDOMNode)(paramsProp)) {
|
|
2888
2987
|
obj[e] = paramsProp;
|
|
2889
2988
|
} else if ((0, import_types.isObjectLike)(objProp) && (0, import_types.isObjectLike)(paramsProp)) {
|
|
2890
|
-
obj[e] = overwriteDeep(objProp, paramsProp,
|
|
2989
|
+
obj[e] = overwriteDeep(objProp, paramsProp, opts, visited);
|
|
2891
2990
|
} else if (paramsProp !== void 0) {
|
|
2892
2991
|
obj[e] = paramsProp;
|
|
2893
2992
|
}
|
|
@@ -3050,6 +3149,30 @@ var require_cjs3 = __commonJS({
|
|
|
3050
3149
|
}
|
|
3051
3150
|
}
|
|
3052
3151
|
};
|
|
3152
|
+
var isCyclic = (obj) => {
|
|
3153
|
+
const seenObjects = [];
|
|
3154
|
+
function detect(obj2) {
|
|
3155
|
+
if (obj2 && typeof obj2 === "object") {
|
|
3156
|
+
if (seenObjects.indexOf(obj2) !== -1) {
|
|
3157
|
+
return true;
|
|
3158
|
+
}
|
|
3159
|
+
seenObjects.push(obj2);
|
|
3160
|
+
for (const key in obj2) {
|
|
3161
|
+
if (Object.hasOwnProperty.call(obj2, key) && detect(obj2[key])) {
|
|
3162
|
+
console.log(obj2, "cycle at " + key);
|
|
3163
|
+
return true;
|
|
3164
|
+
}
|
|
3165
|
+
}
|
|
3166
|
+
}
|
|
3167
|
+
return false;
|
|
3168
|
+
}
|
|
3169
|
+
return detect(obj);
|
|
3170
|
+
};
|
|
3171
|
+
var excludeKeysFromObject = (obj, excludedKeys) => {
|
|
3172
|
+
const result = { ...obj };
|
|
3173
|
+
excludedKeys.forEach((key) => delete result[key]);
|
|
3174
|
+
return result;
|
|
3175
|
+
};
|
|
3053
3176
|
}
|
|
3054
3177
|
});
|
|
3055
3178
|
var require_function2 = __commonJS2({
|
|
@@ -3459,6 +3582,8 @@ var require_cjs3 = __commonJS({
|
|
|
3459
3582
|
return /^[a-z]*$/.test(firstCharKey);
|
|
3460
3583
|
};
|
|
3461
3584
|
var addAdditionalExtend = (newExtend, element) => {
|
|
3585
|
+
if (!newExtend)
|
|
3586
|
+
return element;
|
|
3462
3587
|
const { extend: elementExtend } = element;
|
|
3463
3588
|
const originalArray = (0, import__.isArray)(elementExtend) ? elementExtend : [elementExtend];
|
|
3464
3589
|
const receivedArray = (0, import__.isArray)(newExtend) ? newExtend : [newExtend];
|
|
@@ -3466,8 +3591,23 @@ var require_cjs3 = __commonJS({
|
|
|
3466
3591
|
return { ...element, extend };
|
|
3467
3592
|
};
|
|
3468
3593
|
var checkIfSugar = (element, parent, key) => {
|
|
3469
|
-
const {
|
|
3594
|
+
const {
|
|
3595
|
+
extend,
|
|
3596
|
+
props,
|
|
3597
|
+
childExtend,
|
|
3598
|
+
extends: extendProps,
|
|
3599
|
+
childrenExtends,
|
|
3600
|
+
childProps,
|
|
3601
|
+
children,
|
|
3602
|
+
on,
|
|
3603
|
+
$collection,
|
|
3604
|
+
$stateCollection,
|
|
3605
|
+
$propsCollection
|
|
3606
|
+
} = element;
|
|
3470
3607
|
const hasComponentAttrs = extend || childExtend || props || on || $collection || $stateCollection || $propsCollection;
|
|
3608
|
+
if (hasComponentAttrs && (childProps || extendProps || children || childrenExtends)) {
|
|
3609
|
+
element.error("Sugar component includes params for builtin components");
|
|
3610
|
+
}
|
|
3471
3611
|
return !hasComponentAttrs || childProps || extendProps || children || childrenExtends;
|
|
3472
3612
|
};
|
|
3473
3613
|
var extendizeByKey = (element, parent, key) => {
|
|
@@ -3479,11 +3619,11 @@ var require_cjs3 = __commonJS({
|
|
|
3479
3619
|
if (element === isExtendKeyComponent)
|
|
3480
3620
|
return element;
|
|
3481
3621
|
else if (isSugar) {
|
|
3482
|
-
const newElem = {
|
|
3622
|
+
const newElem = addAdditionalExtend(element.extends, {
|
|
3483
3623
|
extend: extendFromKey,
|
|
3484
3624
|
tag,
|
|
3485
3625
|
props: { ...element }
|
|
3486
|
-
};
|
|
3626
|
+
});
|
|
3487
3627
|
if (childrenExtends)
|
|
3488
3628
|
newElem.childExtend = childrenExtends;
|
|
3489
3629
|
return newElem;
|