@symbo.ls/fetch 3.5.1 → 3.6.1

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.
Files changed (2) hide show
  1. package/dist/iife/index.js +107 -22
  2. package/package.json +7 -6
@@ -266,7 +266,7 @@ var SmblsFetch = (() => {
266
266
  return (typeof HTMLElement === "object" ? obj instanceof window2.HTMLElement : obj && typeof obj === "object" && obj !== null && obj.nodeType === 1 && typeof obj.nodeName === "string") || false;
267
267
  };
268
268
  var isDOMNode = (obj) => {
269
- return typeof window2 !== "undefined" && (obj instanceof window2.Node || obj instanceof window2.Window || obj === window2 || obj === document);
269
+ return typeof window2 !== "undefined" && (window2.Node && obj instanceof window2.Node || window2.Window && obj instanceof window2.Window || obj === window2 || obj === document);
270
270
  };
271
271
 
272
272
  // ../utils/dist/esm/types.js
@@ -1595,6 +1595,7 @@ var SmblsFetch = (() => {
1595
1595
 
1596
1596
  // ../utils/dist/esm/extends.js
1597
1597
  var ENV3 = process.env.NODE_ENV;
1598
+ var isSourcemapEnabled = (options) => options.sourcemap !== false && ENV3 !== "production";
1598
1599
  var createExtendsFromKeys = (key) => {
1599
1600
  if (key.includes("+")) {
1600
1601
  return key.split("+").filter(matchesComponentNaming);
@@ -1669,17 +1670,17 @@ var SmblsFetch = (() => {
1669
1670
  }
1670
1671
  return setHashedExtend(extend, stack);
1671
1672
  };
1672
- var extractArrayExtend = (extend, stack, context, processed = /* @__PURE__ */ new Set()) => {
1673
+ var extractArrayExtend = (extend, stack, context, processed = /* @__PURE__ */ new Set(), nameStack, componentNameMap) => {
1673
1674
  for (const each of extend) {
1674
1675
  if (isArray(each)) {
1675
- extractArrayExtend(each, stack, context, processed);
1676
+ extractArrayExtend(each, stack, context, processed, nameStack, componentNameMap);
1676
1677
  } else {
1677
- flattenExtend(each, stack, context, processed);
1678
+ flattenExtend(each, stack, context, processed, nameStack, void 0, componentNameMap);
1678
1679
  }
1679
1680
  }
1680
1681
  return stack;
1681
1682
  };
1682
- var deepExtend = (extend, stack, context, processed = /* @__PURE__ */ new Set()) => {
1683
+ var deepExtend = (extend, stack, context, processed = /* @__PURE__ */ new Set(), nameStack, currentName, componentNameMap) => {
1683
1684
  const extendOflattenExtend = extend.extends || extend.extend;
1684
1685
  const cleanExtend = { ...extend };
1685
1686
  delete cleanExtend.extends;
@@ -1691,26 +1692,32 @@ var SmblsFetch = (() => {
1691
1692
  }
1692
1693
  if (hasKeys) {
1693
1694
  stack.push(cleanExtend);
1695
+ if (nameStack) nameStack.push(currentName);
1694
1696
  }
1695
1697
  if (extendOflattenExtend) {
1696
- flattenExtend(extendOflattenExtend, stack, context, processed);
1698
+ flattenExtend(extendOflattenExtend, stack, context, processed, nameStack, currentName, componentNameMap);
1697
1699
  }
1698
1700
  return stack;
1699
1701
  };
1700
- var flattenExtend = (extend, stack, context, processed = /* @__PURE__ */ new Set()) => {
1702
+ var flattenExtend = (extend, stack, context, processed = /* @__PURE__ */ new Set(), nameStack, parentName, componentNameMap) => {
1701
1703
  if (!extend) return stack;
1702
1704
  if (processed.has(extend)) return stack;
1703
1705
  if (isArray(extend)) {
1704
- return extractArrayExtend(extend, stack, context, processed);
1706
+ return extractArrayExtend(extend, stack, context, processed, nameStack, componentNameMap);
1705
1707
  }
1708
+ let currentName = parentName;
1706
1709
  if (isString(extend)) {
1710
+ currentName = extend;
1707
1711
  extend = mapStringsWithContextComponents(extend, context);
1712
+ } else if (componentNameMap && isObject(extend) && componentNameMap.has(extend)) {
1713
+ currentName = componentNameMap.get(extend);
1708
1714
  }
1709
1715
  processed.add(extend);
1710
1716
  if (extend?.extends || extend?.extend) {
1711
- deepExtend(extend, stack, context, processed);
1717
+ deepExtend(extend, stack, context, processed, nameStack, currentName, componentNameMap);
1712
1718
  } else if (extend) {
1713
1719
  stack.push(extend);
1720
+ if (nameStack) nameStack.push(currentName);
1714
1721
  }
1715
1722
  return stack;
1716
1723
  };
@@ -1723,7 +1730,7 @@ var SmblsFetch = (() => {
1723
1730
  "childExtend",
1724
1731
  "childExtendRecursive"
1725
1732
  ]);
1726
- var deepMergeExtends = (element, extend) => {
1733
+ var deepMergeExtends = (element, extend, sourcemap, sourceName, preBuiltSourcemap) => {
1727
1734
  extend = deepClone(extend);
1728
1735
  for (const e in extend) {
1729
1736
  if (MERGE_EXTENDS_SKIP.has(e)) continue;
@@ -1733,11 +1740,23 @@ var SmblsFetch = (() => {
1733
1740
  if (Object.prototype.hasOwnProperty.call(extend, e) && e !== "__proto__" && e !== "constructor" && e !== "prototype") {
1734
1741
  if (elementProp === void 0) {
1735
1742
  element[e] = extendProp;
1743
+ if (sourcemap && sourceName) {
1744
+ if (isObject(extendProp) && !isArray(extendProp)) {
1745
+ sourcemap[e] = sourcemap[e] || {};
1746
+ trackSourcemapDeep(sourcemap[e], extendProp, sourceName);
1747
+ } else {
1748
+ sourcemap[e] = sourceName;
1749
+ }
1750
+ } else if (sourcemap && preBuiltSourcemap?.[e]) {
1751
+ sourcemap[e] = preBuiltSourcemap[e];
1752
+ }
1736
1753
  } else if (isObject(elementProp) && isObject(extendProp)) {
1754
+ const nestedSourcemap = sourcemap ? sourcemap[e] = sourcemap[e] || {} : void 0;
1755
+ const nestedPreBuilt = preBuiltSourcemap?.[e];
1737
1756
  if (matchesComponentNaming(e)) {
1738
- element[e] = deepMergeExtends(elementProp, extendProp);
1757
+ element[e] = deepMergeExtends(elementProp, extendProp, nestedSourcemap, sourceName, nestedPreBuilt);
1739
1758
  } else {
1740
- deepMergeExtends(elementProp, extendProp);
1759
+ deepMergeExtends(elementProp, extendProp, nestedSourcemap, sourceName, nestedPreBuilt);
1741
1760
  }
1742
1761
  }
1743
1762
  if (e === "extends" || e === "childExtends" || e === "childExtendsRecursive") {
@@ -1752,10 +1771,24 @@ var SmblsFetch = (() => {
1752
1771
  }
1753
1772
  return element;
1754
1773
  };
1755
- var cloneAndMergeArrayExtend = (stack) => {
1756
- return stack.reduce((acc, current) => {
1774
+ var trackSourcemapDeep = (sourcemap, obj, sourceName) => {
1775
+ for (const key in obj) {
1776
+ if (!Object.prototype.hasOwnProperty.call(obj, key)) continue;
1777
+ if (key === "__proto__" || key === "constructor" || key === "prototype") continue;
1778
+ const val = obj[key];
1779
+ if (isObject(val) && !isArray(val)) {
1780
+ sourcemap[key] = sourcemap[key] || {};
1781
+ trackSourcemapDeep(sourcemap[key], val, sourceName);
1782
+ } else {
1783
+ sourcemap[key] = sourceName;
1784
+ }
1785
+ }
1786
+ };
1787
+ var cloneAndMergeArrayExtend = (stack, sourcemap, extendNames) => {
1788
+ return stack.reduce((acc, current, i) => {
1757
1789
  const cloned = deepClone(current);
1758
- return deepMergeExtends(acc, cloned);
1790
+ const sourceName = extendNames ? extendNames[i] : void 0;
1791
+ return deepMergeExtends(acc, cloned, sourcemap, sourceName);
1759
1792
  }, {});
1760
1793
  };
1761
1794
  var mapStringsWithContextComponents = (extend, context, options = {}, variant) => {
@@ -1778,11 +1811,12 @@ var SmblsFetch = (() => {
1778
1811
  var jointStacks = (extendStack, childExtendsStack) => {
1779
1812
  return [].concat(extendStack.slice(0, 1)).concat(childExtendsStack.slice(0, 1)).concat(extendStack.slice(1)).concat(childExtendsStack.slice(1));
1780
1813
  };
1781
- var getExtendsStack = (extend, context) => {
1814
+ var getExtendsStack = (extend, context, nameStack, componentNameMap) => {
1782
1815
  if (!extend) return [];
1783
1816
  if (extend.__hash) return getHashedExtend(extend) || [];
1784
1817
  const processed = /* @__PURE__ */ new Set();
1785
- const stack = flattenExtend(extend, [], context, processed);
1818
+ const stack = flattenExtend(extend, [], context, processed, nameStack, void 0, componentNameMap);
1819
+ if (nameStack) return stack;
1786
1820
  return getExtendsStackRegistry(extend, stack);
1787
1821
  };
1788
1822
  var addExtend = (newExtends, elementExtends) => {
@@ -1889,6 +1923,8 @@ var SmblsFetch = (() => {
1889
1923
  const { props, __ref: ref } = element;
1890
1924
  const context = element.context || parent.context;
1891
1925
  const variant = element.variant || props?.variant;
1926
+ const sourcemap = isSourcemapEnabled(options);
1927
+ const originalExtendNames = sourcemap ? [...ref.__extends] : null;
1892
1928
  const __extends = removeDuplicatesInArray(
1893
1929
  ref.__extends.map((val, i) => {
1894
1930
  return mapStringsWithContextComponents(
@@ -1899,15 +1935,40 @@ var SmblsFetch = (() => {
1899
1935
  );
1900
1936
  })
1901
1937
  );
1902
- const stack = getExtendsStack(__extends, context);
1903
- ref.__extendsStack = stack;
1938
+ if (sourcemap) {
1939
+ const componentNameMap = /* @__PURE__ */ new WeakMap();
1940
+ for (let i = 0; i < __extends.length; i++) {
1941
+ const resolved = __extends[i];
1942
+ const originalName = originalExtendNames[i];
1943
+ if (resolved && isObject(resolved) && isString(originalName)) {
1944
+ componentNameMap.set(resolved, originalName);
1945
+ }
1946
+ }
1947
+ const nameStack = [];
1948
+ const stack = getExtendsStack(__extends, context, nameStack, componentNameMap);
1949
+ ref.__extendsStack = stack;
1950
+ ref.__extendsNames = nameStack;
1951
+ } else {
1952
+ const stack = getExtendsStack(__extends, context);
1953
+ ref.__extendsStack = stack;
1954
+ }
1904
1955
  return ref.__extendsStack;
1905
1956
  };
1906
1957
  var finalizeExtends = (element, parent, options = {}) => {
1907
1958
  const { __ref: ref } = element;
1908
1959
  const { __extendsStack } = ref;
1909
- const flattenExtends = cloneAndMergeArrayExtend(__extendsStack);
1910
- return deepMergeExtends(element, flattenExtends);
1960
+ if (isSourcemapEnabled(options)) {
1961
+ const sourcemapAcc = {};
1962
+ const extendNames = ref.__extendsNames || [];
1963
+ const flattenExtends = cloneAndMergeArrayExtend(__extendsStack, sourcemapAcc, extendNames);
1964
+ const appliedSourcemap = {};
1965
+ deepMergeExtends(element, flattenExtends, appliedSourcemap, void 0, sourcemapAcc);
1966
+ ref.__sourcemap = appliedSourcemap;
1967
+ } else {
1968
+ const flattenExtends = cloneAndMergeArrayExtend(__extendsStack);
1969
+ deepMergeExtends(element, flattenExtends);
1970
+ }
1971
+ return element;
1911
1972
  };
1912
1973
  var applyExtends = (element, parent, options = {}) => {
1913
1974
  createElementExtends(element, parent, options);
@@ -1952,6 +2013,30 @@ var SmblsFetch = (() => {
1952
2013
  // ../utils/dist/esm/props.js
1953
2014
  var RE_UPPER = /^[A-Z]/;
1954
2015
  var RE_DIGITS = /^\d+$/;
2016
+ var ELEMENT_INDICATOR_KEYS = /* @__PURE__ */ new Set([
2017
+ "extend",
2018
+ "props",
2019
+ "text",
2020
+ "tag",
2021
+ "on",
2022
+ "if",
2023
+ "childExtend",
2024
+ "children",
2025
+ "childrenAs",
2026
+ "state",
2027
+ "html",
2028
+ "attr",
2029
+ "define",
2030
+ "content"
2031
+ ]);
2032
+ var looksLikeElement = (value) => {
2033
+ if (!value || typeof value !== "object" || Array.isArray(value)) return false;
2034
+ for (const k in value) {
2035
+ if (ELEMENT_INDICATOR_KEYS.has(k)) return true;
2036
+ if (RE_UPPER.test(k)) return true;
2037
+ }
2038
+ return false;
2039
+ };
1955
2040
  var createProps = (element, parent, key) => {
1956
2041
  const { props, __ref: ref } = element;
1957
2042
  ref.__propsStack = [];
@@ -1976,7 +2061,7 @@ var SmblsFetch = (() => {
1976
2061
  }
1977
2062
  const hasDefine = isObject(this.define?.[key]);
1978
2063
  const hasGlobalDefine = isObject(this.context?.define?.[key]);
1979
- const isElement = RE_UPPER.test(key) || RE_DIGITS.test(key);
2064
+ const isElement = RE_UPPER.test(key) || RE_DIGITS.test(key) || looksLikeElement(value);
1980
2065
  const isBuiltin = DOMQ_PROPERTIES.has(key);
1981
2066
  if (!isElement && !isBuiltin && !hasDefine && !hasGlobalDefine) {
1982
2067
  obj.props[key] = value;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symbo.ls/fetch",
3
- "version": "3.5.1",
3
+ "version": "3.6.1",
4
4
  "license": "MIT",
5
5
  "gitHead": "9fc1b79b41cdc725ca6b24aec64920a599634681",
6
6
  "type": "module",
@@ -11,9 +11,7 @@
11
11
  "exports": {
12
12
  ".": {
13
13
  "import": "./index.js",
14
- "require": "./index.js",
15
- "browser": "./index.js",
16
- "default": "./index.js"
14
+ "require": "./index.js"
17
15
  }
18
16
  },
19
17
  "source": "index.js",
@@ -30,8 +28,11 @@
30
28
  "prepublish": "npm run build && npm run copy:package:cjs"
31
29
  },
32
30
  "dependencies": {
33
- "@domql/utils": "^3.5.1"
31
+ "@domql/utils": "^3.6.1"
34
32
  },
35
33
  "browser": "./dist/esm/index.js",
36
- "sideEffects": false
34
+ "sideEffects": false,
35
+ "publishConfig": {
36
+ "access": "public"
37
+ }
37
38
  }