@symbo.ls/fetch 2.10.20 → 2.10.37

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/index.cjs.js CHANGED
@@ -21,21 +21,252 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
21
21
  var fetch_exports = {};
22
22
  __export(fetch_exports, {
23
23
  fetch: () => fetch,
24
+ fetchProject: () => fetchProject,
24
25
  fetchRemote: () => fetchRemote
25
26
  });
26
27
  module.exports = __toCommonJS(fetch_exports);
28
+
29
+ // ../../node_modules/@domql/globals/index.js
30
+ var window2 = globalThis;
31
+ var document = window2.document;
32
+
33
+ // ../../node_modules/@domql/utils/types.js
34
+ var isObject = (arg) => {
35
+ if (arg === null)
36
+ return false;
37
+ return typeof arg === "object" && arg.constructor === Object;
38
+ };
39
+ var isString = (arg) => typeof arg === "string";
40
+ var isFunction = (arg) => typeof arg === "function";
41
+ var isArray = (arg) => Array.isArray(arg);
42
+ var isObjectLike = (arg) => {
43
+ if (arg === null)
44
+ return false;
45
+ return typeof arg === "object";
46
+ };
47
+
48
+ // ../../node_modules/@domql/utils/object.js
49
+ var exec = (param, element, state) => {
50
+ if (isFunction(param))
51
+ return param(element, state || element.state);
52
+ return param;
53
+ };
54
+ var map = (obj2, extention, element) => {
55
+ for (const e in extention) {
56
+ obj2[e] = exec(extention[e], element);
57
+ }
58
+ };
59
+ var merge = (element, obj2) => {
60
+ for (const e in obj2) {
61
+ const elementProp = element[e];
62
+ const objProp2 = obj2[e];
63
+ if (elementProp === void 0) {
64
+ element[e] = objProp2;
65
+ }
66
+ }
67
+ return element;
68
+ };
69
+ var deepMerge = (element, extend) => {
70
+ for (const e in extend) {
71
+ const elementProp = element[e];
72
+ const extendProp = extend[e];
73
+ if (e === "parent" || e === "props")
74
+ continue;
75
+ if (elementProp === void 0) {
76
+ element[e] = extendProp;
77
+ } else if (isObjectLike(elementProp) && isObject(extendProp)) {
78
+ deepMerge(elementProp, extendProp);
79
+ }
80
+ }
81
+ return element;
82
+ };
83
+ var clone = (obj2) => {
84
+ const o = {};
85
+ for (const prop2 in obj2) {
86
+ if (prop2 === "node")
87
+ continue;
88
+ o[prop2] = obj2[prop2];
89
+ }
90
+ return o;
91
+ };
92
+ var deepClone = (obj2) => {
93
+ if (isArray(obj2)) {
94
+ return obj2.map(deepClone);
95
+ }
96
+ const o = {};
97
+ for (const prop2 in obj2) {
98
+ let objProp2 = obj2[prop2];
99
+ if (prop2 === "extend" && isArray(objProp2)) {
100
+ objProp2 = mergeArray(objProp2);
101
+ }
102
+ if (isArray(objProp2)) {
103
+ o[prop2] = objProp2.map((v) => isObject(v) ? deepClone(v) : v);
104
+ } else if (isObject(objProp2)) {
105
+ o[prop2] = deepClone(objProp2);
106
+ } else
107
+ o[prop2] = objProp2;
108
+ }
109
+ return o;
110
+ };
111
+ var deepStringify = (obj2, stringified2 = {}) => {
112
+ for (const prop2 in obj2) {
113
+ const objProp2 = obj2[prop2];
114
+ if (isFunction(objProp2)) {
115
+ stringified2[prop2] = objProp2.toString();
116
+ } else
117
+ stringified2[prop2] = objProp2;
118
+ if (isObject(objProp2))
119
+ deepStringify(stringified2[prop2], stringified2[prop2]);
120
+ }
121
+ return stringified2;
122
+ };
123
+ var deepDestringify = (obj, stringified = {}) => {
124
+ for (const prop in obj) {
125
+ const objProp = obj[prop];
126
+ if (isString(objProp)) {
127
+ if (objProp.includes("=>") || objProp.includes("function") || objProp[0] === "(") {
128
+ try {
129
+ const evalProp = eval(objProp);
130
+ stringified[prop] = evalProp;
131
+ } catch (e) {
132
+ if (e)
133
+ stringified[prop] = objProp;
134
+ }
135
+ }
136
+ } else
137
+ stringified[prop] = objProp;
138
+ if (isObject(objProp))
139
+ deepDestringify(stringified[prop], stringified[prop]);
140
+ }
141
+ return stringified;
142
+ };
143
+ var overwrite = (element, params, options) => {
144
+ const { ref } = element;
145
+ const changes = {};
146
+ for (const e in params) {
147
+ if (e === "props")
148
+ continue;
149
+ const elementProp = element[e];
150
+ const paramsProp = params[e];
151
+ if (paramsProp) {
152
+ ref.__cache[e] = changes[e] = elementProp;
153
+ ref[e] = paramsProp;
154
+ }
155
+ }
156
+ return changes;
157
+ };
158
+ var diff = (obj2, original, cache) => {
159
+ const changes = cache || {};
160
+ for (const e in obj2) {
161
+ if (e === "ref")
162
+ continue;
163
+ const originalProp = original[e];
164
+ const objProp2 = obj2[e];
165
+ if (isObjectLike(originalProp) && isObjectLike(objProp2)) {
166
+ changes[e] = {};
167
+ diff(originalProp, objProp2, changes[e]);
168
+ } else if (objProp2 !== void 0) {
169
+ changes[e] = objProp2;
170
+ }
171
+ }
172
+ return changes;
173
+ };
174
+ var overwriteObj = (params, obj2) => {
175
+ const changes = {};
176
+ for (const e in params) {
177
+ const objProp2 = obj2[e];
178
+ const paramsProp = params[e];
179
+ if (paramsProp) {
180
+ obj2[e] = changes[e] = objProp2;
181
+ }
182
+ }
183
+ return changes;
184
+ };
185
+ var overwriteDeep = (params, obj2) => {
186
+ for (const e in params) {
187
+ const objProp2 = obj2[e];
188
+ const paramsProp = params[e];
189
+ if (isObjectLike(objProp2) && isObjectLike(paramsProp)) {
190
+ overwriteDeep(objProp2, paramsProp);
191
+ } else if (paramsProp !== void 0) {
192
+ obj2[e] = paramsProp;
193
+ }
194
+ }
195
+ return obj2;
196
+ };
197
+ var mergeIfExisted = (a, b) => {
198
+ if (isObjectLike(a) && isObjectLike(b))
199
+ return deepMerge(a, b);
200
+ return a || b;
201
+ };
202
+ var mergeArray = (arr) => {
203
+ return arr.reduce((a, c) => deepMerge(a, deepClone(c)), {});
204
+ };
205
+ var mergeAndCloneIfArray = (obj2) => {
206
+ return isArray(obj2) ? mergeArray(obj2) : deepClone(obj2);
207
+ };
208
+ var flattenRecursive = (param, prop2, stack = []) => {
209
+ const objectized = mergeAndCloneIfArray(param);
210
+ stack.push(objectized);
211
+ const extendOfExtend = objectized[prop2];
212
+ if (extendOfExtend)
213
+ flattenRecursive(extendOfExtend, prop2, stack);
214
+ delete objectized[prop2];
215
+ return stack;
216
+ };
217
+ var isEqualDeep = (param, element) => {
218
+ if (param === element)
219
+ return true;
220
+ if (!param || !element)
221
+ return false;
222
+ for (const prop2 in param) {
223
+ const paramProp = param[prop2];
224
+ const elementProp = element[prop2];
225
+ if (isObjectLike(paramProp)) {
226
+ const isEqual = isEqualDeep(paramProp, elementProp);
227
+ if (!isEqual)
228
+ return false;
229
+ } else {
230
+ const isEqual = paramProp === elementProp;
231
+ if (!isEqual)
232
+ return false;
233
+ }
234
+ }
235
+ return true;
236
+ };
237
+
238
+ // ../../node_modules/@domql/utils/node.js
239
+ var createID = function* () {
240
+ let index = 1;
241
+ while (index < index + 1) {
242
+ yield index++;
243
+ }
244
+ }();
245
+
246
+ // index.js
27
247
  var SERVER_URL = window.location.host.includes("local") ? "localhost:13335" : "api.symbols.app";
28
248
  var defaultOptions = {
29
249
  endpoint: SERVER_URL
30
250
  };
31
251
  var fetchRemote = async (key, options = defaultOptions) => {
32
- let data = {};
33
- await window.fetch(`https://${options.endpoint || SERVER_URL}/${options.route || ""}`, {
252
+ const baseUrl = `https://${options.endpoint || SERVER_URL}/`;
253
+ const route = options.serviceRoute || "";
254
+ const response = await window.fetch(baseUrl + route, {
34
255
  method: "GET",
35
256
  headers: { "Content-Type": "application/json", "X-AppKey": key }
36
- }).then((response) => {
37
- return response.json().then((d) => data = d);
38
257
  });
39
- return data;
258
+ return await response.json();
40
259
  };
41
260
  var fetch = fetchRemote;
261
+ var fetchProject = async (key, options) => {
262
+ const { editor } = options;
263
+ if (editor && editor.remote) {
264
+ const data = await fetchRemote(key, editor);
265
+ const evalData = deepDestringify(data);
266
+ if (editor.serviceRoute) {
267
+ overwriteDeep(options[editor.serviceRoute], evalData);
268
+ } else
269
+ overwriteDeep(options, evalData);
270
+ }
271
+ return options;
272
+ };
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../index.js"],
4
- "sourcesContent": ["'use strict'\n\nconst SERVER_URL = window.location\n .host.includes('local')\n ? 'localhost:13335'\n : 'api.symbols.app'\n\nconst defaultOptions = {\n endpoint: SERVER_URL\n}\n \nexport const fetchRemote = async (key, options = defaultOptions) => {\n let data = {}\n await window.fetch(`https://${options.endpoint || SERVER_URL}/${options.route || ''}`, {\n method: 'GET',\n headers: { 'Content-Type': 'application/json', 'X-AppKey': key }\n }).then((response) => {\n return response.json().then(d => data = d)\n })\n return data\n}\n\nexport const fetch = fetchRemote\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,IAAM,aAAa,OAAO,SACvB,KAAK,SAAS,OAAO,IACpB,oBACA;AAEJ,IAAM,iBAAiB;AAAA,EACrB,UAAU;AACZ;AAEO,IAAM,cAAc,OAAO,KAAK,UAAU,mBAAmB;AAClE,MAAI,OAAO,CAAC;AACZ,QAAM,OAAO,MAAM,WAAW,QAAQ,YAAY,cAAc,QAAQ,SAAS,MAAM;AAAA,IACrF,QAAQ;AAAA,IACR,SAAS,EAAE,gBAAgB,oBAAoB,YAAY,IAAI;AAAA,EACjE,CAAC,EAAE,KAAK,CAAC,aAAa;AACpB,WAAO,SAAS,KAAK,EAAE,KAAK,OAAK,OAAO,CAAC;AAAA,EAC3C,CAAC;AACD,SAAO;AACT;AAEO,IAAM,QAAQ;",
6
- "names": []
3
+ "sources": ["../index.js", "../../../node_modules/@domql/globals/index.js", "../../../node_modules/@domql/utils/types.js", "../../../node_modules/@domql/utils/object.js", "../../../node_modules/@domql/utils/node.js"],
4
+ "sourcesContent": ["'use strict'\n\nimport { overwriteDeep, deepDestringify } from '@domql/utils'\n\nconst SERVER_URL = window.location\n .host.includes('local')\n ? 'localhost:13335'\n : 'api.symbols.app'\n\nconst defaultOptions = {\n endpoint: SERVER_URL\n}\n\nexport const fetchRemote = async (key, options = defaultOptions) => {\n const baseUrl = `https://${options.endpoint || SERVER_URL}/`\n const route = options.serviceRoute || ''\n\n const response = await window.fetch(baseUrl + route, {\n method: 'GET',\n headers: { 'Content-Type': 'application/json', 'X-AppKey': key }\n })\n\n return await response.json()\n}\n\nexport const fetch = fetchRemote\n\nexport const fetchProject = async (key, options) => {\n const { editor } = options\n\n if (editor && editor.remote) {\n const data = await fetchRemote(key, editor)\n const evalData = deepDestringify(data)\n\n if (editor.serviceRoute) {\n overwriteDeep(options[editor.serviceRoute], evalData)\n } else overwriteDeep(options, evalData)\n }\n\n return options\n}\n", "'use strict'\n\nconst global = globalThis\nconst self = globalThis\nconst window = globalThis\nconst document = window.document // eslint-disable-line\n\nexport { global, self, window, document }\n", "'use strict'\n\nimport { window } from '@domql/globals'\nimport { HTML_TAGS } from '@domql/tags'\n\nexport const isValidHtmlTag = arg => HTML_TAGS.body.indexOf(arg)\n\nexport const isObject = arg => {\n if (arg === null) return false\n return (typeof arg === 'object') && (arg.constructor === Object)\n}\n\nexport const isString = arg => typeof arg === 'string'\n\nexport const isNumber = arg => typeof arg === 'number'\n\nexport const isFunction = arg => typeof arg === 'function'\n\nexport const isBoolean = arg => arg === true || arg === false\n\nexport const isNull = arg => arg === null\n\nexport const isArray = arg => Array.isArray(arg)\n\nexport const isObjectLike = arg => {\n if (arg === null) return false\n // if (isArray(arg)) return false\n return (typeof arg === 'object')\n}\n\nexport const isNode = obj => {\n return (\n typeof window.Node === 'object'\n ? obj instanceof window.Node\n : obj && typeof obj === 'object' && typeof obj.nodeType === 'number' && typeof obj.nodeName === 'string'\n )\n}\n\nexport const isHtmlElement = obj => {\n return (\n typeof window.HTMLElement === 'object'\n ? obj instanceof window.HTMLElement // DOM2\n : obj && typeof obj === 'object' && obj !== null && obj.nodeType === 1 && typeof obj.nodeName === 'string'\n )\n}\n\nexport const isDefined = arg => {\n return isObject(arg) ||\n isObjectLike(arg) ||\n isString(arg) ||\n isNumber(arg) ||\n isFunction(arg) ||\n isArray(arg) ||\n isObjectLike(arg) ||\n isBoolean(arg) ||\n isNull(arg)\n}\n\nexport const isUndefined = arg => {\n return arg === undefined\n}\n\nexport const TYPES = {\n boolean: isBoolean,\n array: isArray,\n object: isObject,\n string: isString,\n number: isNumber,\n null: isNull,\n function: isFunction,\n objectLike: isObjectLike,\n node: isNode,\n htmlElement: isHtmlElement,\n defined: isDefined\n}\n\nexport const is = (arg) => {\n return (...args) => {\n return args.map(val => TYPES[val](arg)).filter(v => v).length > 0\n }\n}\n\nexport const isNot = (arg) => {\n return (...args) => {\n return args.map(val => TYPES[val](arg)).filter(v => v).length === 0\n }\n}\n", "'use strict'\n\nimport { isFunction, isObjectLike, isObject, isArray, isString } from './types'\n\nexport const exec = (param, element, state) => {\n if (isFunction(param)) return param(element, state || element.state)\n return param\n}\n\nexport const map = (obj, extention, element) => {\n for (const e in extention) {\n obj[e] = exec(extention[e], element)\n }\n}\n\nexport const merge = (element, obj) => {\n for (const e in obj) {\n const elementProp = element[e]\n const objProp = obj[e]\n if (elementProp === undefined) {\n element[e] = objProp\n }\n }\n return element\n}\n\nexport const deepMerge = (element, extend) => {\n for (const e in extend) {\n const elementProp = element[e]\n const extendProp = extend[e]\n // const cachedProps = cache.props\n if (e === 'parent' || e === 'props') continue\n if (elementProp === undefined) {\n element[e] = extendProp\n } else if (isObjectLike(elementProp) && isObject(extendProp)) {\n deepMerge(elementProp, extendProp)\n }\n }\n return element\n}\n\nexport const clone = obj => {\n const o = {}\n for (const prop in obj) {\n if (prop === 'node') continue\n o[prop] = obj[prop]\n }\n return o\n}\n\n/**\n * Deep cloning of object\n */\nexport const deepClone = (obj) => {\n if (isArray(obj)) {\n return obj.map(deepClone)\n }\n const o = {}\n for (const prop in obj) {\n let objProp = obj[prop]\n if (prop === 'extend' && isArray(objProp)) {\n objProp = mergeArray(objProp)\n }\n if (isArray(objProp)) {\n o[prop] = objProp.map(v => isObject(v) ? deepClone(v) : v)\n } else if (isObject(objProp)) {\n o[prop] = deepClone(objProp)\n } else o[prop] = objProp\n }\n return o\n}\n\n/**\n * Stringify object\n */\nexport const deepStringify = (obj, stringified = {}) => {\n for (const prop in obj) {\n const objProp = obj[prop]\n if (isFunction(objProp)) {\n stringified[prop] = objProp.toString()\n } else stringified[prop] = objProp\n // if (prop === 'src') {\n // console.log(typeof stringified[prop])\n // console.log(prop, stringified[prop])\n // }\n if (isObject(objProp)) deepStringify(stringified[prop], stringified[prop])\n }\n return stringified\n}\n\n/**\n * Detringify object\n */\nexport const deepDestringify = (obj, stringified = {}) => {\n for (const prop in obj) {\n const objProp = obj[prop]\n if (isString(objProp)) {\n if (objProp.includes('=>') || objProp.includes('function') || objProp[0] === '(') {\n // console.groupCollapsed(prop)\n // console.log(obj)\n // console.log(objProp)\n try {\n const evalProp = eval(objProp) // eslint-disable-line\n // console.log(evalProp)\n stringified[prop] = evalProp\n } catch (e) { if (e) stringified[prop] = objProp }\n // console.groupEnd(prop)\n }\n } else stringified[prop] = objProp\n if (isObject(objProp)) deepDestringify(stringified[prop], stringified[prop])\n }\n return stringified\n}\n\n/**\n * Overwrites object properties with another\n */\nexport const overwrite = (element, params, options) => {\n const { ref } = element\n const changes = {}\n\n for (const e in params) {\n if (e === 'props') continue\n\n const elementProp = element[e]\n const paramsProp = params[e]\n\n if (paramsProp) {\n ref.__cache[e] = changes[e] = elementProp\n ref[e] = paramsProp\n }\n }\n\n return changes\n}\n\nexport const diff = (obj, original, cache) => {\n const changes = cache || {}\n for (const e in obj) {\n if (e === 'ref') continue\n const originalProp = original[e]\n const objProp = obj[e]\n if (isObjectLike(originalProp) && isObjectLike(objProp)) {\n changes[e] = {}\n diff(originalProp, objProp, changes[e])\n } else if (objProp !== undefined) {\n changes[e] = objProp\n }\n }\n return changes\n}\n\n/**\n * Overwrites object properties with another\n */\nexport const overwriteObj = (params, obj) => {\n const changes = {}\n\n for (const e in params) {\n const objProp = obj[e]\n const paramsProp = params[e]\n\n if (paramsProp) {\n obj[e] = changes[e] = objProp\n }\n }\n\n return changes\n}\n\n/**\n * Overwrites DEEPly object properties with another\n */\nexport const overwriteDeep = (params, obj) => {\n for (const e in params) {\n const objProp = obj[e]\n const paramsProp = params[e]\n if (isObjectLike(objProp) && isObjectLike(paramsProp)) {\n overwriteDeep(objProp, paramsProp)\n } else if (paramsProp !== undefined) {\n obj[e] = paramsProp\n }\n }\n return obj\n}\n\n/**\n * Overwrites object properties with another\n */\nexport const mergeIfExisted = (a, b) => {\n if (isObjectLike(a) && isObjectLike(b)) return deepMerge(a, b)\n return a || b\n}\n\n/**\n * Merges array extendtypes\n */\nexport const mergeArray = (arr) => {\n return arr.reduce((a, c) => deepMerge(a, deepClone(c)), {})\n}\n\n/**\n * Merges array extendtypes\n */\nexport const mergeAndCloneIfArray = obj => {\n return isArray(obj) ? mergeArray(obj) : deepClone(obj)\n}\n\n/**\n * Overwrites object properties with another\n */\nexport const flattenRecursive = (param, prop, stack = []) => {\n const objectized = mergeAndCloneIfArray(param)\n stack.push(objectized)\n\n const extendOfExtend = objectized[prop]\n if (extendOfExtend) flattenRecursive(extendOfExtend, prop, stack)\n\n delete objectized[prop]\n\n return stack\n}\n\nexport const isEqualDeep = (param, element) => {\n if (param === element) return true\n if (!param || !element) return false\n for (const prop in param) {\n const paramProp = param[prop]\n const elementProp = element[prop]\n if (isObjectLike(paramProp)) {\n const isEqual = isEqualDeep(paramProp, elementProp)\n if (!isEqual) return false\n } else {\n const isEqual = paramProp === elementProp\n if (!isEqual) return false\n }\n }\n return true\n}\n", "'use strict'\n\nexport const cleanWithNode = extend => delete extend.node && extend\n\nexport const createID = (function * () {\n let index = 1\n while (index < index + 1) {\n yield index++\n }\n}())\n"],
5
+ "mappings": "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",
6
+ "names": ["window", "obj", "objProp", "prop", "stringified"]
7
7
  }
package/index.js CHANGED
@@ -1,5 +1,7 @@
1
1
  'use strict'
2
2
 
3
+ import { overwriteDeep, deepDestringify } from '@domql/utils'
4
+
3
5
  const SERVER_URL = window.location
4
6
  .host.includes('local')
5
7
  ? 'localhost:13335'
@@ -8,16 +10,32 @@ const SERVER_URL = window.location
8
10
  const defaultOptions = {
9
11
  endpoint: SERVER_URL
10
12
  }
11
-
13
+
12
14
  export const fetchRemote = async (key, options = defaultOptions) => {
13
- let data = {}
14
- await window.fetch(`https://${options.endpoint || SERVER_URL}/${options.route || ''}`, {
15
+ const baseUrl = `https://${options.endpoint || SERVER_URL}/`
16
+ const route = options.serviceRoute || ''
17
+
18
+ const response = await window.fetch(baseUrl + route, {
15
19
  method: 'GET',
16
20
  headers: { 'Content-Type': 'application/json', 'X-AppKey': key }
17
- }).then((response) => {
18
- return response.json().then(d => data = d)
19
21
  })
20
- return data
22
+
23
+ return await response.json()
21
24
  }
22
25
 
23
26
  export const fetch = fetchRemote
27
+
28
+ export const fetchProject = async (key, options) => {
29
+ const { editor } = options
30
+
31
+ if (editor && editor.remote) {
32
+ const data = await fetchRemote(key, editor)
33
+ const evalData = deepDestringify(data)
34
+
35
+ if (editor.serviceRoute) {
36
+ overwriteDeep(options[editor.serviceRoute], evalData)
37
+ } else overwriteDeep(options, evalData)
38
+ }
39
+
40
+ return options
41
+ }
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@symbo.ls/fetch",
3
- "version": "2.10.20",
3
+ "version": "2.10.37",
4
4
  "license": "MIT",
5
- "gitHead": "2916a041146a954910251d5d73dd5e912858d562",
5
+ "gitHead": "e7e25070efb0ec60fcf6383e69623869689f7dde",
6
6
  "source": "index.js",
7
7
  "main": "dist/index.js",
8
8
  "browser": "dist/index.js",
@@ -10,6 +10,9 @@
10
10
  "index.js",
11
11
  "dist"
12
12
  ],
13
+ "dependencies": {
14
+ "@domql/utils": "latest"
15
+ },
13
16
  "scripts": {
14
17
  "prepublish": "rm -rf dist && npx esbuild index.js --target=es2020 --format=cjs --bundle --sourcemap=external --outfile=dist/index.cjs.js"
15
18
  }