@symbo.ls/scratch 2.11.523 → 3.0.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.
@@ -29,19 +29,18 @@ __export(factory_exports, {
29
29
  });
30
30
  module.exports = __toCommonJS(factory_exports);
31
31
 
32
- // ../../node_modules/@domql/utils/dist/esm/globals.js
32
+ // ../../node_modules/@domql/utils/globals.js
33
33
  var window2 = globalThis;
34
34
  var document2 = window2.document;
35
35
 
36
- // ../../node_modules/@domql/utils/dist/esm/node.js
36
+ // ../../node_modules/@domql/utils/node.js
37
37
  var isDOMNode = (obj) => {
38
38
  return typeof window2 !== "undefined" && (obj instanceof window2.Node || obj instanceof window2.Window || obj === window2 || obj === document);
39
39
  };
40
40
 
41
- // ../../node_modules/@domql/utils/dist/esm/types.js
41
+ // ../../node_modules/@domql/utils/types.js
42
42
  var isObject = (arg) => {
43
- if (arg === null)
44
- return false;
43
+ if (arg === null) return false;
45
44
  return typeof arg === "object" && arg.constructor === Object;
46
45
  };
47
46
  var isString = (arg) => typeof arg === "string";
@@ -52,8 +51,7 @@ var isNull = (arg) => arg === null;
52
51
  var isArray = (arg) => Array.isArray(arg);
53
52
  var isDate = (d) => d instanceof Date;
54
53
  var isObjectLike = (arg) => {
55
- if (arg === null)
56
- return false;
54
+ if (arg === null) return false;
57
55
  return typeof arg === "object";
58
56
  };
59
57
  var isDefined = (arg) => {
@@ -63,36 +61,92 @@ var isUndefined = (arg) => {
63
61
  return arg === void 0;
64
62
  };
65
63
 
66
- // ../../node_modules/@domql/utils/dist/esm/array.js
67
- var mergeArray = (arr, exclude = []) => {
68
- return arr.reduce((a, c) => deepMerge(a, deepClone(c, { exclude }), exclude), {});
64
+ // ../../node_modules/@domql/utils/array.js
65
+ var unstackArrayOfObjects = (arr, exclude = []) => {
66
+ return arr.reduce(
67
+ (a, c) => deepMerge(a, deepClone(c, { exclude }), exclude),
68
+ {}
69
+ );
69
70
  };
70
71
 
71
- // ../../node_modules/@domql/utils/dist/esm/object.js
72
- var __defProp2 = Object.defineProperty;
73
- var __defProps = Object.defineProperties;
74
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
75
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
76
- var __hasOwnProp2 = Object.prototype.hasOwnProperty;
77
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
78
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
79
- var __spreadValues = (a, b) => {
80
- for (var prop in b || (b = {}))
81
- if (__hasOwnProp2.call(b, prop))
82
- __defNormalProp(a, prop, b[prop]);
83
- if (__getOwnPropSymbols)
84
- for (var prop of __getOwnPropSymbols(b)) {
85
- if (__propIsEnum.call(b, prop))
86
- __defNormalProp(a, prop, b[prop]);
87
- }
88
- return a;
89
- };
90
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
91
- var deepMerge = (element, extend, excludeFrom = []) => {
72
+ // ../../node_modules/@domql/utils/keys.js
73
+ var STATE_METHODS = [
74
+ "update",
75
+ "parse",
76
+ "clean",
77
+ "create",
78
+ "destroy",
79
+ "add",
80
+ "toggle",
81
+ "remove",
82
+ "apply",
83
+ "set",
84
+ "reset",
85
+ "replace",
86
+ "quietReplace",
87
+ "quietUpdate",
88
+ "applyReplace",
89
+ "applyFunction",
90
+ "keys",
91
+ "values",
92
+ "ref",
93
+ "rootUpdate",
94
+ "parentUpdate",
95
+ "parent",
96
+ "__element",
97
+ "__depends",
98
+ "__ref",
99
+ "__children",
100
+ "root",
101
+ "setByPath",
102
+ "setPathCollection",
103
+ "removeByPath",
104
+ "removePathCollection",
105
+ "getByPath"
106
+ ];
107
+ var PROPS_METHODS = ["update", "__element"];
108
+ var METHODS = [
109
+ "set",
110
+ "reset",
111
+ "update",
112
+ "remove",
113
+ "updateContent",
114
+ "removeContent",
115
+ "lookup",
116
+ "lookdown",
117
+ "lookdownAll",
118
+ "getRef",
119
+ "getPath",
120
+ "setNodeStyles",
121
+ "spotByPath",
122
+ "keys",
123
+ "parse",
124
+ "setProps",
125
+ "parseDeep",
126
+ "variables",
127
+ "if",
128
+ "log",
129
+ "verbose",
130
+ "warn",
131
+ "error",
132
+ "call",
133
+ "nextElement",
134
+ "previousElement"
135
+ ];
136
+ var METHODS_EXL = [
137
+ ...["node", "context", "extends", "__element", "__ref"],
138
+ ...METHODS,
139
+ ...STATE_METHODS,
140
+ ...PROPS_METHODS
141
+ ];
142
+
143
+ // ../../node_modules/@domql/utils/object.js
144
+ var deepMerge = (element, extend, excludeFrom = METHODS_EXL) => {
92
145
  for (const e in extend) {
93
- const hasOwnProperty2 = Object.prototype.hasOwnProperty.call(extend, e);
94
- if (!hasOwnProperty2 || excludeFrom.includes(e) || e.startsWith("__"))
146
+ const hasOwnProperty = Object.prototype.hasOwnProperty.call(extend, e);
147
+ if (!hasOwnProperty || excludeFrom.includes(e) || e.startsWith("__")) {
95
148
  continue;
149
+ }
96
150
  const elementProp = element[e];
97
151
  const extendProp = extend[e];
98
152
  if (isObjectLike(elementProp) && isObjectLike(extendProp)) {
@@ -110,7 +164,7 @@ var deepClone = (obj, options = {}) => {
110
164
  cleanNull = false,
111
165
  window: targetWindow,
112
166
  visited = /* @__PURE__ */ new WeakMap(),
113
- handleExtend = false
167
+ handleExtends = false
114
168
  } = options;
115
169
  if (!isObjectLike(obj) || isDOMNode(obj)) {
116
170
  return obj;
@@ -118,40 +172,42 @@ var deepClone = (obj, options = {}) => {
118
172
  if (visited.has(obj)) {
119
173
  return visited.get(obj);
120
174
  }
121
- const clone2 = targetWindow ? isArray(obj) ? new targetWindow.Array() : new targetWindow.Object() : isArray(obj) ? [] : {};
122
- visited.set(obj, clone2);
175
+ const clone = targetWindow ? isArray(obj) ? new targetWindow.Array() : new targetWindow.Object() : isArray(obj) ? [] : {};
176
+ visited.set(obj, clone);
123
177
  for (const key in obj) {
124
- if (!Object.prototype.hasOwnProperty.call(obj, key))
125
- continue;
126
- if (exclude.includes(key) || key.startsWith("__") || key === "__proto__")
178
+ if (!Object.prototype.hasOwnProperty.call(obj, key)) continue;
179
+ if (exclude.includes(key) || key.startsWith("__") || key === "__proto__") {
127
180
  continue;
181
+ }
128
182
  const value = obj[key];
129
- if (cleanUndefined && isUndefined(value) || cleanNull && isNull(value))
183
+ if (cleanUndefined && isUndefined(value) || cleanNull && isNull(value)) {
130
184
  continue;
185
+ }
131
186
  if (isDOMNode(value)) {
132
- clone2[key] = value;
187
+ clone[key] = value;
133
188
  continue;
134
189
  }
135
- if (handleExtend && key === "extend" && isArray(value)) {
136
- clone2[key] = mergeArray(value, exclude);
190
+ if (handleExtends && key === "extends" && isArray(value)) {
191
+ clone[key] = unstackArrayOfObjects(value, exclude);
137
192
  continue;
138
193
  }
139
194
  if (isFunction(value) && targetWindow) {
140
- clone2[key] = targetWindow.eval("(" + value.toString() + ")");
195
+ clone[key] = targetWindow.eval("(" + value.toString() + ")");
141
196
  continue;
142
197
  }
143
198
  if (isObjectLike(value)) {
144
- clone2[key] = deepClone(value, __spreadProps(__spreadValues({}, options), {
199
+ clone[key] = deepClone(value, {
200
+ ...options,
145
201
  visited
146
- }));
202
+ });
147
203
  } else {
148
- clone2[key] = value;
204
+ clone[key] = value;
149
205
  }
150
206
  }
151
- return clone2;
207
+ return clone;
152
208
  };
153
209
 
154
- // ../../node_modules/@domql/utils/dist/esm/cookie.js
210
+ // ../../node_modules/@domql/utils/cookie.js
155
211
  var isMobile = (() => typeof navigator === "undefined" ? false : /Mobi/.test(navigator.userAgent))();
156
212
 
157
213
  // src/defaultConfig/index.js
@@ -381,8 +437,7 @@ var getActiveConfig = (def) => {
381
437
  return FACTORY[def || FACTORY.active] || CONFIG;
382
438
  };
383
439
  var setActiveConfig = (newConfig) => {
384
- if (!isObject(newConfig))
385
- return;
440
+ if (!isObject(newConfig)) return;
386
441
  FACTORY.active = "1";
387
442
  FACTORY["1"] = deepMerge(newConfig, deepClone(cachedConfig));
388
443
  return newConfig;