@frameless/strapi-plugin-notes 1.0.0 → 1.0.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.
@@ -1513,12 +1513,27 @@ var formats$2 = {
1513
1513
  RFC1738: Format.RFC1738
1514
1514
  };
1515
1515
  var formats$1 = formats$2;
1516
+ var getSideChannel$1 = sideChannel;
1516
1517
  var has$1 = Object.prototype.hasOwnProperty;
1517
1518
  var isArray$1 = Array.isArray;
1519
+ var overflowChannel = getSideChannel$1();
1520
+ var markOverflow = function markOverflow2(obj, maxIndex) {
1521
+ overflowChannel.set(obj, maxIndex);
1522
+ return obj;
1523
+ };
1524
+ var isOverflow = function isOverflow2(obj) {
1525
+ return overflowChannel.has(obj);
1526
+ };
1527
+ var getMaxIndex = function getMaxIndex2(obj) {
1528
+ return overflowChannel.get(obj);
1529
+ };
1530
+ var setMaxIndex = function setMaxIndex2(obj, maxIndex) {
1531
+ overflowChannel.set(obj, maxIndex);
1532
+ };
1518
1533
  var hexTable = function() {
1519
1534
  var array = [];
1520
1535
  for (var i = 0; i < 256; ++i) {
1521
- array.push("%" + ((i < 16 ? "0" : "") + i.toString(16)).toUpperCase());
1536
+ array[array.length] = "%" + ((i < 16 ? "0" : "") + i.toString(16)).toUpperCase();
1522
1537
  }
1523
1538
  return array;
1524
1539
  }();
@@ -1530,7 +1545,7 @@ var compactQueue = function compactQueue2(queue) {
1530
1545
  var compacted = [];
1531
1546
  for (var j = 0; j < obj.length; ++j) {
1532
1547
  if (typeof obj[j] !== "undefined") {
1533
- compacted.push(obj[j]);
1548
+ compacted[compacted.length] = obj[j];
1534
1549
  }
1535
1550
  }
1536
1551
  item.obj[item.prop] = compacted;
@@ -1538,7 +1553,7 @@ var compactQueue = function compactQueue2(queue) {
1538
1553
  }
1539
1554
  };
1540
1555
  var arrayToObject = function arrayToObject2(source, options) {
1541
- var obj = options && options.plainObjects ? /* @__PURE__ */ Object.create(null) : {};
1556
+ var obj = options && options.plainObjects ? { __proto__: null } : {};
1542
1557
  for (var i = 0; i < source.length; ++i) {
1543
1558
  if (typeof source[i] !== "undefined") {
1544
1559
  obj[i] = source[i];
@@ -1550,11 +1565,21 @@ var merge = function merge2(target, source, options) {
1550
1565
  if (!source) {
1551
1566
  return target;
1552
1567
  }
1553
- if (typeof source !== "object") {
1568
+ if (typeof source !== "object" && typeof source !== "function") {
1554
1569
  if (isArray$1(target)) {
1555
- target.push(source);
1570
+ var nextIndex = target.length;
1571
+ if (options && typeof options.arrayLimit === "number" && nextIndex > options.arrayLimit) {
1572
+ return markOverflow(arrayToObject(target.concat(source), options), nextIndex);
1573
+ }
1574
+ target[nextIndex] = source;
1556
1575
  } else if (target && typeof target === "object") {
1557
- if (options && (options.plainObjects || options.allowPrototypes) || !has$1.call(Object.prototype, source)) {
1576
+ if (isOverflow(target)) {
1577
+ var newIndex = getMaxIndex(target) + 1;
1578
+ target[newIndex] = source;
1579
+ setMaxIndex(target, newIndex);
1580
+ } else if (options && options.strictMerge) {
1581
+ return [target, source];
1582
+ } else if (options && (options.plainObjects || options.allowPrototypes) || !has$1.call(Object.prototype, source)) {
1558
1583
  target[source] = true;
1559
1584
  }
1560
1585
  } else {
@@ -1563,7 +1588,20 @@ var merge = function merge2(target, source, options) {
1563
1588
  return target;
1564
1589
  }
1565
1590
  if (!target || typeof target !== "object") {
1566
- return [target].concat(source);
1591
+ if (isOverflow(source)) {
1592
+ var sourceKeys = Object.keys(source);
1593
+ var result = options && options.plainObjects ? { __proto__: null, 0: target } : { 0: target };
1594
+ for (var m = 0; m < sourceKeys.length; m++) {
1595
+ var oldKey = parseInt(sourceKeys[m], 10);
1596
+ result[oldKey + 1] = source[sourceKeys[m]];
1597
+ }
1598
+ return markOverflow(result, getMaxIndex(source) + 1);
1599
+ }
1600
+ var combined = [target].concat(source);
1601
+ if (options && typeof options.arrayLimit === "number" && combined.length > options.arrayLimit) {
1602
+ return markOverflow(arrayToObject(combined, options), combined.length - 1);
1603
+ }
1604
+ return combined;
1567
1605
  }
1568
1606
  var mergeTarget = target;
1569
1607
  if (isArray$1(target) && !isArray$1(source)) {
@@ -1576,7 +1614,7 @@ var merge = function merge2(target, source, options) {
1576
1614
  if (targetItem && typeof targetItem === "object" && item && typeof item === "object") {
1577
1615
  target[i] = merge2(targetItem, item, options);
1578
1616
  } else {
1579
- target.push(item);
1617
+ target[target.length] = item;
1580
1618
  }
1581
1619
  } else {
1582
1620
  target[i] = item;
@@ -1591,6 +1629,15 @@ var merge = function merge2(target, source, options) {
1591
1629
  } else {
1592
1630
  acc[key] = value;
1593
1631
  }
1632
+ if (isOverflow(source) && !isOverflow(acc)) {
1633
+ markOverflow(acc, getMaxIndex(source));
1634
+ }
1635
+ if (isOverflow(acc)) {
1636
+ var keyNum = parseInt(key, 10);
1637
+ if (String(keyNum) === key && keyNum >= 0 && keyNum > getMaxIndex(acc)) {
1638
+ setMaxIndex(acc, keyNum);
1639
+ }
1640
+ }
1594
1641
  return acc;
1595
1642
  }, mergeTarget);
1596
1643
  };
@@ -1600,7 +1647,7 @@ var assign = function assignSingleSource(target, source) {
1600
1647
  return acc;
1601
1648
  }, target);
1602
1649
  };
1603
- var decode = function(str, decoder, charset) {
1650
+ var decode = function(str, defaultDecoder, charset) {
1604
1651
  var strWithoutPlus = str.replace(/\+/g, " ");
1605
1652
  if (charset === "iso-8859-1") {
1606
1653
  return strWithoutPlus.replace(/%[0-9a-f]{2}/gi, unescape);
@@ -1611,6 +1658,7 @@ var decode = function(str, decoder, charset) {
1611
1658
  return strWithoutPlus;
1612
1659
  }
1613
1660
  };
1661
+ var limit = 1024;
1614
1662
  var encode = function encode2(str, defaultEncoder, charset, kind, format) {
1615
1663
  if (str.length === 0) {
1616
1664
  return str;
@@ -1627,27 +1675,32 @@ var encode = function encode2(str, defaultEncoder, charset, kind, format) {
1627
1675
  });
1628
1676
  }
1629
1677
  var out = "";
1630
- for (var i = 0; i < string.length; ++i) {
1631
- var c = string.charCodeAt(i);
1632
- if (c === 45 || c === 46 || c === 95 || c === 126 || c >= 48 && c <= 57 || c >= 65 && c <= 90 || c >= 97 && c <= 122 || format === formats$1.RFC1738 && (c === 40 || c === 41)) {
1633
- out += string.charAt(i);
1634
- continue;
1635
- }
1636
- if (c < 128) {
1637
- out = out + hexTable[c];
1638
- continue;
1639
- }
1640
- if (c < 2048) {
1641
- out = out + (hexTable[192 | c >> 6] + hexTable[128 | c & 63]);
1642
- continue;
1643
- }
1644
- if (c < 55296 || c >= 57344) {
1645
- out = out + (hexTable[224 | c >> 12] + hexTable[128 | c >> 6 & 63] + hexTable[128 | c & 63]);
1646
- continue;
1678
+ for (var j = 0; j < string.length; j += limit) {
1679
+ var segment = string.length >= limit ? string.slice(j, j + limit) : string;
1680
+ var arr = [];
1681
+ for (var i = 0; i < segment.length; ++i) {
1682
+ var c = segment.charCodeAt(i);
1683
+ if (c === 45 || c === 46 || c === 95 || c === 126 || c >= 48 && c <= 57 || c >= 65 && c <= 90 || c >= 97 && c <= 122 || format === formats$1.RFC1738 && (c === 40 || c === 41)) {
1684
+ arr[arr.length] = segment.charAt(i);
1685
+ continue;
1686
+ }
1687
+ if (c < 128) {
1688
+ arr[arr.length] = hexTable[c];
1689
+ continue;
1690
+ }
1691
+ if (c < 2048) {
1692
+ arr[arr.length] = hexTable[192 | c >> 6] + hexTable[128 | c & 63];
1693
+ continue;
1694
+ }
1695
+ if (c < 55296 || c >= 57344) {
1696
+ arr[arr.length] = hexTable[224 | c >> 12] + hexTable[128 | c >> 6 & 63] + hexTable[128 | c & 63];
1697
+ continue;
1698
+ }
1699
+ i += 1;
1700
+ c = 65536 + ((c & 1023) << 10 | segment.charCodeAt(i) & 1023);
1701
+ arr[arr.length] = hexTable[240 | c >> 18] + hexTable[128 | c >> 12 & 63] + hexTable[128 | c >> 6 & 63] + hexTable[128 | c & 63];
1647
1702
  }
1648
- i += 1;
1649
- c = 65536 + ((c & 1023) << 10 | string.charCodeAt(i) & 1023);
1650
- out += hexTable[240 | c >> 18] + hexTable[128 | c >> 12 & 63] + hexTable[128 | c >> 6 & 63] + hexTable[128 | c & 63];
1703
+ out += arr.join("");
1651
1704
  }
1652
1705
  return out;
1653
1706
  };
@@ -1662,8 +1715,8 @@ var compact = function compact2(value) {
1662
1715
  var key = keys[j];
1663
1716
  var val = obj[key];
1664
1717
  if (typeof val === "object" && val !== null && refs.indexOf(val) === -1) {
1665
- queue.push({ obj, prop: key });
1666
- refs.push(val);
1718
+ queue[queue.length] = { obj, prop: key };
1719
+ refs[refs.length] = val;
1667
1720
  }
1668
1721
  }
1669
1722
  }
@@ -1679,14 +1732,24 @@ var isBuffer = function isBuffer2(obj) {
1679
1732
  }
1680
1733
  return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));
1681
1734
  };
1682
- var combine = function combine2(a, b) {
1683
- return [].concat(a, b);
1735
+ var combine = function combine2(a, b, arrayLimit, plainObjects) {
1736
+ if (isOverflow(a)) {
1737
+ var newIndex = getMaxIndex(a) + 1;
1738
+ a[newIndex] = b;
1739
+ setMaxIndex(a, newIndex);
1740
+ return a;
1741
+ }
1742
+ var result = [].concat(a, b);
1743
+ if (result.length > arrayLimit) {
1744
+ return markOverflow(arrayToObject(result, { plainObjects }), result.length - 1);
1745
+ }
1746
+ return result;
1684
1747
  };
1685
1748
  var maybeMap = function maybeMap2(val, fn) {
1686
1749
  if (isArray$1(val)) {
1687
1750
  var mapped = [];
1688
1751
  for (var i = 0; i < val.length; i += 1) {
1689
- mapped.push(fn(val[i]));
1752
+ mapped[mapped.length] = fn(val[i]);
1690
1753
  }
1691
1754
  return mapped;
1692
1755
  }
@@ -1700,7 +1763,9 @@ var utils$1 = {
1700
1763
  decode,
1701
1764
  encode,
1702
1765
  isBuffer,
1766
+ isOverflow,
1703
1767
  isRegExp,
1768
+ markOverflow,
1704
1769
  maybeMap,
1705
1770
  merge
1706
1771
  };
@@ -1730,12 +1795,17 @@ var defaultFormat = formats["default"];
1730
1795
  var defaults = {
1731
1796
  addQueryPrefix: false,
1732
1797
  allowDots: false,
1798
+ allowEmptyArrays: false,
1799
+ arrayFormat: "indices",
1733
1800
  charset: "utf-8",
1734
1801
  charsetSentinel: false,
1802
+ commaRoundTrip: false,
1735
1803
  delimiter: "&",
1736
1804
  encode: true,
1805
+ encodeDotInKeys: false,
1737
1806
  encoder: utils.encode,
1738
1807
  encodeValuesOnly: false,
1808
+ filter: void 0,
1739
1809
  format: defaultFormat,
1740
1810
  formatter: formats.formatters[defaultFormat],
1741
1811
  // deprecated
@@ -1750,7 +1820,7 @@ var isNonNullishPrimitive = function isNonNullishPrimitive2(v) {
1750
1820
  return typeof v === "string" || typeof v === "number" || typeof v === "boolean" || typeof v === "symbol" || typeof v === "bigint";
1751
1821
  };
1752
1822
  var sentinel = {};
1753
- var stringify$1 = function stringify(object, prefix, generateArrayPrefix, commaRoundTrip, strictNullHandling, skipNulls, encoder, filter, sort, allowDots, serializeDate2, format, formatter, encodeValuesOnly, charset, sideChannel2) {
1823
+ var stringify$1 = function stringify(object, prefix, generateArrayPrefix, commaRoundTrip, allowEmptyArrays, strictNullHandling, skipNulls, encodeDotInKeys, encoder, filter, sort, allowDots, serializeDate2, format, formatter, encodeValuesOnly, charset, sideChannel2) {
1754
1824
  var obj = object;
1755
1825
  var tmpSc = sideChannel2;
1756
1826
  var step = 0;
@@ -1810,14 +1880,19 @@ var stringify$1 = function stringify(object, prefix, generateArrayPrefix, commaR
1810
1880
  var keys = Object.keys(obj);
1811
1881
  objKeys = sort ? keys.sort(sort) : keys;
1812
1882
  }
1813
- var adjustedPrefix = commaRoundTrip && isArray(obj) && obj.length === 1 ? prefix + "[]" : prefix;
1883
+ var encodedPrefix = encodeDotInKeys ? String(prefix).replace(/\./g, "%2E") : String(prefix);
1884
+ var adjustedPrefix = commaRoundTrip && isArray(obj) && obj.length === 1 ? encodedPrefix + "[]" : encodedPrefix;
1885
+ if (allowEmptyArrays && isArray(obj) && obj.length === 0) {
1886
+ return adjustedPrefix + "[]";
1887
+ }
1814
1888
  for (var j = 0; j < objKeys.length; ++j) {
1815
1889
  var key = objKeys[j];
1816
- var value = typeof key === "object" && typeof key.value !== "undefined" ? key.value : obj[key];
1890
+ var value = typeof key === "object" && key && typeof key.value !== "undefined" ? key.value : obj[key];
1817
1891
  if (skipNulls && value === null) {
1818
1892
  continue;
1819
1893
  }
1820
- var keyPrefix = isArray(obj) ? typeof generateArrayPrefix === "function" ? generateArrayPrefix(adjustedPrefix, key) : adjustedPrefix : adjustedPrefix + (allowDots ? "." + key : "[" + key + "]");
1894
+ var encodedKey = allowDots && encodeDotInKeys ? String(key).replace(/\./g, "%2E") : String(key);
1895
+ var keyPrefix = isArray(obj) ? typeof generateArrayPrefix === "function" ? generateArrayPrefix(adjustedPrefix, encodedKey) : adjustedPrefix : adjustedPrefix + (allowDots ? "." + encodedKey : "[" + encodedKey + "]");
1821
1896
  sideChannel2.set(object, step);
1822
1897
  var valueSideChannel = getSideChannel2();
1823
1898
  valueSideChannel.set(sentinel, sideChannel2);
@@ -1826,8 +1901,10 @@ var stringify$1 = function stringify(object, prefix, generateArrayPrefix, commaR
1826
1901
  keyPrefix,
1827
1902
  generateArrayPrefix,
1828
1903
  commaRoundTrip,
1904
+ allowEmptyArrays,
1829
1905
  strictNullHandling,
1830
1906
  skipNulls,
1907
+ encodeDotInKeys,
1831
1908
  generateArrayPrefix === "comma" && encodeValuesOnly && isArray(obj) ? null : encoder,
1832
1909
  filter,
1833
1910
  sort,
@@ -1846,6 +1923,12 @@ var normalizeStringifyOptions = function normalizeStringifyOptions2(opts) {
1846
1923
  if (!opts) {
1847
1924
  return defaults;
1848
1925
  }
1926
+ if (typeof opts.allowEmptyArrays !== "undefined" && typeof opts.allowEmptyArrays !== "boolean") {
1927
+ throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");
1928
+ }
1929
+ if (typeof opts.encodeDotInKeys !== "undefined" && typeof opts.encodeDotInKeys !== "boolean") {
1930
+ throw new TypeError("`encodeDotInKeys` option can only be `true` or `false`, when provided");
1931
+ }
1849
1932
  if (opts.encoder !== null && typeof opts.encoder !== "undefined" && typeof opts.encoder !== "function") {
1850
1933
  throw new TypeError("Encoder has to be a function.");
1851
1934
  }
@@ -1865,13 +1948,29 @@ var normalizeStringifyOptions = function normalizeStringifyOptions2(opts) {
1865
1948
  if (typeof opts.filter === "function" || isArray(opts.filter)) {
1866
1949
  filter = opts.filter;
1867
1950
  }
1951
+ var arrayFormat;
1952
+ if (opts.arrayFormat in arrayPrefixGenerators) {
1953
+ arrayFormat = opts.arrayFormat;
1954
+ } else if ("indices" in opts) {
1955
+ arrayFormat = opts.indices ? "indices" : "repeat";
1956
+ } else {
1957
+ arrayFormat = defaults.arrayFormat;
1958
+ }
1959
+ if ("commaRoundTrip" in opts && typeof opts.commaRoundTrip !== "boolean") {
1960
+ throw new TypeError("`commaRoundTrip` must be a boolean, or absent");
1961
+ }
1962
+ var allowDots = typeof opts.allowDots === "undefined" ? opts.encodeDotInKeys === true ? true : defaults.allowDots : !!opts.allowDots;
1868
1963
  return {
1869
1964
  addQueryPrefix: typeof opts.addQueryPrefix === "boolean" ? opts.addQueryPrefix : defaults.addQueryPrefix,
1870
- allowDots: typeof opts.allowDots === "undefined" ? defaults.allowDots : !!opts.allowDots,
1965
+ allowDots,
1966
+ allowEmptyArrays: typeof opts.allowEmptyArrays === "boolean" ? !!opts.allowEmptyArrays : defaults.allowEmptyArrays,
1967
+ arrayFormat,
1871
1968
  charset,
1872
1969
  charsetSentinel: typeof opts.charsetSentinel === "boolean" ? opts.charsetSentinel : defaults.charsetSentinel,
1970
+ commaRoundTrip: !!opts.commaRoundTrip,
1873
1971
  delimiter: typeof opts.delimiter === "undefined" ? defaults.delimiter : opts.delimiter,
1874
1972
  encode: typeof opts.encode === "boolean" ? opts.encode : defaults.encode,
1973
+ encodeDotInKeys: typeof opts.encodeDotInKeys === "boolean" ? opts.encodeDotInKeys : defaults.encodeDotInKeys,
1875
1974
  encoder: typeof opts.encoder === "function" ? opts.encoder : defaults.encoder,
1876
1975
  encodeValuesOnly: typeof opts.encodeValuesOnly === "boolean" ? opts.encodeValuesOnly : defaults.encodeValuesOnly,
1877
1976
  filter,
@@ -1899,19 +1998,8 @@ var stringify_1 = function(object, opts) {
1899
1998
  if (typeof obj !== "object" || obj === null) {
1900
1999
  return "";
1901
2000
  }
1902
- var arrayFormat;
1903
- if (opts && opts.arrayFormat in arrayPrefixGenerators) {
1904
- arrayFormat = opts.arrayFormat;
1905
- } else if (opts && "indices" in opts) {
1906
- arrayFormat = opts.indices ? "indices" : "repeat";
1907
- } else {
1908
- arrayFormat = "indices";
1909
- }
1910
- var generateArrayPrefix = arrayPrefixGenerators[arrayFormat];
1911
- if (opts && "commaRoundTrip" in opts && typeof opts.commaRoundTrip !== "boolean") {
1912
- throw new TypeError("`commaRoundTrip` must be a boolean, or absent");
1913
- }
1914
- var commaRoundTrip = generateArrayPrefix === "comma" && opts && opts.commaRoundTrip;
2001
+ var generateArrayPrefix = arrayPrefixGenerators[options.arrayFormat];
2002
+ var commaRoundTrip = generateArrayPrefix === "comma" && options.commaRoundTrip;
1915
2003
  if (!objKeys) {
1916
2004
  objKeys = Object.keys(obj);
1917
2005
  }
@@ -1921,16 +2009,19 @@ var stringify_1 = function(object, opts) {
1921
2009
  var sideChannel2 = getSideChannel2();
1922
2010
  for (var i = 0; i < objKeys.length; ++i) {
1923
2011
  var key = objKeys[i];
1924
- if (options.skipNulls && obj[key] === null) {
2012
+ var value = obj[key];
2013
+ if (options.skipNulls && value === null) {
1925
2014
  continue;
1926
2015
  }
1927
2016
  pushToArray(keys, stringify$1(
1928
- obj[key],
2017
+ value,
1929
2018
  key,
1930
2019
  generateArrayPrefix,
1931
2020
  commaRoundTrip,
2021
+ options.allowEmptyArrays,
1932
2022
  options.strictNullHandling,
1933
2023
  options.skipNulls,
2024
+ options.encodeDotInKeys,
1934
2025
  options.encode ? options.encoder : null,
1935
2026
  options.filter,
1936
2027
  options.sort,
@@ -1512,12 +1512,27 @@ var formats$2 = {
1512
1512
  RFC1738: Format.RFC1738
1513
1513
  };
1514
1514
  var formats$1 = formats$2;
1515
+ var getSideChannel$1 = sideChannel;
1515
1516
  var has$1 = Object.prototype.hasOwnProperty;
1516
1517
  var isArray$1 = Array.isArray;
1518
+ var overflowChannel = getSideChannel$1();
1519
+ var markOverflow = function markOverflow2(obj, maxIndex) {
1520
+ overflowChannel.set(obj, maxIndex);
1521
+ return obj;
1522
+ };
1523
+ var isOverflow = function isOverflow2(obj) {
1524
+ return overflowChannel.has(obj);
1525
+ };
1526
+ var getMaxIndex = function getMaxIndex2(obj) {
1527
+ return overflowChannel.get(obj);
1528
+ };
1529
+ var setMaxIndex = function setMaxIndex2(obj, maxIndex) {
1530
+ overflowChannel.set(obj, maxIndex);
1531
+ };
1517
1532
  var hexTable = function() {
1518
1533
  var array = [];
1519
1534
  for (var i = 0; i < 256; ++i) {
1520
- array.push("%" + ((i < 16 ? "0" : "") + i.toString(16)).toUpperCase());
1535
+ array[array.length] = "%" + ((i < 16 ? "0" : "") + i.toString(16)).toUpperCase();
1521
1536
  }
1522
1537
  return array;
1523
1538
  }();
@@ -1529,7 +1544,7 @@ var compactQueue = function compactQueue2(queue) {
1529
1544
  var compacted = [];
1530
1545
  for (var j = 0; j < obj.length; ++j) {
1531
1546
  if (typeof obj[j] !== "undefined") {
1532
- compacted.push(obj[j]);
1547
+ compacted[compacted.length] = obj[j];
1533
1548
  }
1534
1549
  }
1535
1550
  item.obj[item.prop] = compacted;
@@ -1537,7 +1552,7 @@ var compactQueue = function compactQueue2(queue) {
1537
1552
  }
1538
1553
  };
1539
1554
  var arrayToObject = function arrayToObject2(source, options) {
1540
- var obj = options && options.plainObjects ? /* @__PURE__ */ Object.create(null) : {};
1555
+ var obj = options && options.plainObjects ? { __proto__: null } : {};
1541
1556
  for (var i = 0; i < source.length; ++i) {
1542
1557
  if (typeof source[i] !== "undefined") {
1543
1558
  obj[i] = source[i];
@@ -1549,11 +1564,21 @@ var merge = function merge2(target, source, options) {
1549
1564
  if (!source) {
1550
1565
  return target;
1551
1566
  }
1552
- if (typeof source !== "object") {
1567
+ if (typeof source !== "object" && typeof source !== "function") {
1553
1568
  if (isArray$1(target)) {
1554
- target.push(source);
1569
+ var nextIndex = target.length;
1570
+ if (options && typeof options.arrayLimit === "number" && nextIndex > options.arrayLimit) {
1571
+ return markOverflow(arrayToObject(target.concat(source), options), nextIndex);
1572
+ }
1573
+ target[nextIndex] = source;
1555
1574
  } else if (target && typeof target === "object") {
1556
- if (options && (options.plainObjects || options.allowPrototypes) || !has$1.call(Object.prototype, source)) {
1575
+ if (isOverflow(target)) {
1576
+ var newIndex = getMaxIndex(target) + 1;
1577
+ target[newIndex] = source;
1578
+ setMaxIndex(target, newIndex);
1579
+ } else if (options && options.strictMerge) {
1580
+ return [target, source];
1581
+ } else if (options && (options.plainObjects || options.allowPrototypes) || !has$1.call(Object.prototype, source)) {
1557
1582
  target[source] = true;
1558
1583
  }
1559
1584
  } else {
@@ -1562,7 +1587,20 @@ var merge = function merge2(target, source, options) {
1562
1587
  return target;
1563
1588
  }
1564
1589
  if (!target || typeof target !== "object") {
1565
- return [target].concat(source);
1590
+ if (isOverflow(source)) {
1591
+ var sourceKeys = Object.keys(source);
1592
+ var result = options && options.plainObjects ? { __proto__: null, 0: target } : { 0: target };
1593
+ for (var m = 0; m < sourceKeys.length; m++) {
1594
+ var oldKey = parseInt(sourceKeys[m], 10);
1595
+ result[oldKey + 1] = source[sourceKeys[m]];
1596
+ }
1597
+ return markOverflow(result, getMaxIndex(source) + 1);
1598
+ }
1599
+ var combined = [target].concat(source);
1600
+ if (options && typeof options.arrayLimit === "number" && combined.length > options.arrayLimit) {
1601
+ return markOverflow(arrayToObject(combined, options), combined.length - 1);
1602
+ }
1603
+ return combined;
1566
1604
  }
1567
1605
  var mergeTarget = target;
1568
1606
  if (isArray$1(target) && !isArray$1(source)) {
@@ -1575,7 +1613,7 @@ var merge = function merge2(target, source, options) {
1575
1613
  if (targetItem && typeof targetItem === "object" && item && typeof item === "object") {
1576
1614
  target[i] = merge2(targetItem, item, options);
1577
1615
  } else {
1578
- target.push(item);
1616
+ target[target.length] = item;
1579
1617
  }
1580
1618
  } else {
1581
1619
  target[i] = item;
@@ -1590,6 +1628,15 @@ var merge = function merge2(target, source, options) {
1590
1628
  } else {
1591
1629
  acc[key] = value;
1592
1630
  }
1631
+ if (isOverflow(source) && !isOverflow(acc)) {
1632
+ markOverflow(acc, getMaxIndex(source));
1633
+ }
1634
+ if (isOverflow(acc)) {
1635
+ var keyNum = parseInt(key, 10);
1636
+ if (String(keyNum) === key && keyNum >= 0 && keyNum > getMaxIndex(acc)) {
1637
+ setMaxIndex(acc, keyNum);
1638
+ }
1639
+ }
1593
1640
  return acc;
1594
1641
  }, mergeTarget);
1595
1642
  };
@@ -1599,7 +1646,7 @@ var assign = function assignSingleSource(target, source) {
1599
1646
  return acc;
1600
1647
  }, target);
1601
1648
  };
1602
- var decode = function(str, decoder, charset) {
1649
+ var decode = function(str, defaultDecoder, charset) {
1603
1650
  var strWithoutPlus = str.replace(/\+/g, " ");
1604
1651
  if (charset === "iso-8859-1") {
1605
1652
  return strWithoutPlus.replace(/%[0-9a-f]{2}/gi, unescape);
@@ -1610,6 +1657,7 @@ var decode = function(str, decoder, charset) {
1610
1657
  return strWithoutPlus;
1611
1658
  }
1612
1659
  };
1660
+ var limit = 1024;
1613
1661
  var encode = function encode2(str, defaultEncoder, charset, kind, format) {
1614
1662
  if (str.length === 0) {
1615
1663
  return str;
@@ -1626,27 +1674,32 @@ var encode = function encode2(str, defaultEncoder, charset, kind, format) {
1626
1674
  });
1627
1675
  }
1628
1676
  var out = "";
1629
- for (var i = 0; i < string.length; ++i) {
1630
- var c = string.charCodeAt(i);
1631
- if (c === 45 || c === 46 || c === 95 || c === 126 || c >= 48 && c <= 57 || c >= 65 && c <= 90 || c >= 97 && c <= 122 || format === formats$1.RFC1738 && (c === 40 || c === 41)) {
1632
- out += string.charAt(i);
1633
- continue;
1634
- }
1635
- if (c < 128) {
1636
- out = out + hexTable[c];
1637
- continue;
1638
- }
1639
- if (c < 2048) {
1640
- out = out + (hexTable[192 | c >> 6] + hexTable[128 | c & 63]);
1641
- continue;
1642
- }
1643
- if (c < 55296 || c >= 57344) {
1644
- out = out + (hexTable[224 | c >> 12] + hexTable[128 | c >> 6 & 63] + hexTable[128 | c & 63]);
1645
- continue;
1677
+ for (var j = 0; j < string.length; j += limit) {
1678
+ var segment = string.length >= limit ? string.slice(j, j + limit) : string;
1679
+ var arr = [];
1680
+ for (var i = 0; i < segment.length; ++i) {
1681
+ var c = segment.charCodeAt(i);
1682
+ if (c === 45 || c === 46 || c === 95 || c === 126 || c >= 48 && c <= 57 || c >= 65 && c <= 90 || c >= 97 && c <= 122 || format === formats$1.RFC1738 && (c === 40 || c === 41)) {
1683
+ arr[arr.length] = segment.charAt(i);
1684
+ continue;
1685
+ }
1686
+ if (c < 128) {
1687
+ arr[arr.length] = hexTable[c];
1688
+ continue;
1689
+ }
1690
+ if (c < 2048) {
1691
+ arr[arr.length] = hexTable[192 | c >> 6] + hexTable[128 | c & 63];
1692
+ continue;
1693
+ }
1694
+ if (c < 55296 || c >= 57344) {
1695
+ arr[arr.length] = hexTable[224 | c >> 12] + hexTable[128 | c >> 6 & 63] + hexTable[128 | c & 63];
1696
+ continue;
1697
+ }
1698
+ i += 1;
1699
+ c = 65536 + ((c & 1023) << 10 | segment.charCodeAt(i) & 1023);
1700
+ arr[arr.length] = hexTable[240 | c >> 18] + hexTable[128 | c >> 12 & 63] + hexTable[128 | c >> 6 & 63] + hexTable[128 | c & 63];
1646
1701
  }
1647
- i += 1;
1648
- c = 65536 + ((c & 1023) << 10 | string.charCodeAt(i) & 1023);
1649
- out += hexTable[240 | c >> 18] + hexTable[128 | c >> 12 & 63] + hexTable[128 | c >> 6 & 63] + hexTable[128 | c & 63];
1702
+ out += arr.join("");
1650
1703
  }
1651
1704
  return out;
1652
1705
  };
@@ -1661,8 +1714,8 @@ var compact = function compact2(value) {
1661
1714
  var key = keys[j];
1662
1715
  var val = obj[key];
1663
1716
  if (typeof val === "object" && val !== null && refs.indexOf(val) === -1) {
1664
- queue.push({ obj, prop: key });
1665
- refs.push(val);
1717
+ queue[queue.length] = { obj, prop: key };
1718
+ refs[refs.length] = val;
1666
1719
  }
1667
1720
  }
1668
1721
  }
@@ -1678,14 +1731,24 @@ var isBuffer = function isBuffer2(obj) {
1678
1731
  }
1679
1732
  return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));
1680
1733
  };
1681
- var combine = function combine2(a, b) {
1682
- return [].concat(a, b);
1734
+ var combine = function combine2(a, b, arrayLimit, plainObjects) {
1735
+ if (isOverflow(a)) {
1736
+ var newIndex = getMaxIndex(a) + 1;
1737
+ a[newIndex] = b;
1738
+ setMaxIndex(a, newIndex);
1739
+ return a;
1740
+ }
1741
+ var result = [].concat(a, b);
1742
+ if (result.length > arrayLimit) {
1743
+ return markOverflow(arrayToObject(result, { plainObjects }), result.length - 1);
1744
+ }
1745
+ return result;
1683
1746
  };
1684
1747
  var maybeMap = function maybeMap2(val, fn) {
1685
1748
  if (isArray$1(val)) {
1686
1749
  var mapped = [];
1687
1750
  for (var i = 0; i < val.length; i += 1) {
1688
- mapped.push(fn(val[i]));
1751
+ mapped[mapped.length] = fn(val[i]);
1689
1752
  }
1690
1753
  return mapped;
1691
1754
  }
@@ -1699,7 +1762,9 @@ var utils$1 = {
1699
1762
  decode,
1700
1763
  encode,
1701
1764
  isBuffer,
1765
+ isOverflow,
1702
1766
  isRegExp,
1767
+ markOverflow,
1703
1768
  maybeMap,
1704
1769
  merge
1705
1770
  };
@@ -1729,12 +1794,17 @@ var defaultFormat = formats["default"];
1729
1794
  var defaults = {
1730
1795
  addQueryPrefix: false,
1731
1796
  allowDots: false,
1797
+ allowEmptyArrays: false,
1798
+ arrayFormat: "indices",
1732
1799
  charset: "utf-8",
1733
1800
  charsetSentinel: false,
1801
+ commaRoundTrip: false,
1734
1802
  delimiter: "&",
1735
1803
  encode: true,
1804
+ encodeDotInKeys: false,
1736
1805
  encoder: utils.encode,
1737
1806
  encodeValuesOnly: false,
1807
+ filter: void 0,
1738
1808
  format: defaultFormat,
1739
1809
  formatter: formats.formatters[defaultFormat],
1740
1810
  // deprecated
@@ -1749,7 +1819,7 @@ var isNonNullishPrimitive = function isNonNullishPrimitive2(v) {
1749
1819
  return typeof v === "string" || typeof v === "number" || typeof v === "boolean" || typeof v === "symbol" || typeof v === "bigint";
1750
1820
  };
1751
1821
  var sentinel = {};
1752
- var stringify$1 = function stringify(object, prefix, generateArrayPrefix, commaRoundTrip, strictNullHandling, skipNulls, encoder, filter, sort, allowDots, serializeDate2, format, formatter, encodeValuesOnly, charset, sideChannel2) {
1822
+ var stringify$1 = function stringify(object, prefix, generateArrayPrefix, commaRoundTrip, allowEmptyArrays, strictNullHandling, skipNulls, encodeDotInKeys, encoder, filter, sort, allowDots, serializeDate2, format, formatter, encodeValuesOnly, charset, sideChannel2) {
1753
1823
  var obj = object;
1754
1824
  var tmpSc = sideChannel2;
1755
1825
  var step = 0;
@@ -1809,14 +1879,19 @@ var stringify$1 = function stringify(object, prefix, generateArrayPrefix, commaR
1809
1879
  var keys = Object.keys(obj);
1810
1880
  objKeys = sort ? keys.sort(sort) : keys;
1811
1881
  }
1812
- var adjustedPrefix = commaRoundTrip && isArray(obj) && obj.length === 1 ? prefix + "[]" : prefix;
1882
+ var encodedPrefix = encodeDotInKeys ? String(prefix).replace(/\./g, "%2E") : String(prefix);
1883
+ var adjustedPrefix = commaRoundTrip && isArray(obj) && obj.length === 1 ? encodedPrefix + "[]" : encodedPrefix;
1884
+ if (allowEmptyArrays && isArray(obj) && obj.length === 0) {
1885
+ return adjustedPrefix + "[]";
1886
+ }
1813
1887
  for (var j = 0; j < objKeys.length; ++j) {
1814
1888
  var key = objKeys[j];
1815
- var value = typeof key === "object" && typeof key.value !== "undefined" ? key.value : obj[key];
1889
+ var value = typeof key === "object" && key && typeof key.value !== "undefined" ? key.value : obj[key];
1816
1890
  if (skipNulls && value === null) {
1817
1891
  continue;
1818
1892
  }
1819
- var keyPrefix = isArray(obj) ? typeof generateArrayPrefix === "function" ? generateArrayPrefix(adjustedPrefix, key) : adjustedPrefix : adjustedPrefix + (allowDots ? "." + key : "[" + key + "]");
1893
+ var encodedKey = allowDots && encodeDotInKeys ? String(key).replace(/\./g, "%2E") : String(key);
1894
+ var keyPrefix = isArray(obj) ? typeof generateArrayPrefix === "function" ? generateArrayPrefix(adjustedPrefix, encodedKey) : adjustedPrefix : adjustedPrefix + (allowDots ? "." + encodedKey : "[" + encodedKey + "]");
1820
1895
  sideChannel2.set(object, step);
1821
1896
  var valueSideChannel = getSideChannel2();
1822
1897
  valueSideChannel.set(sentinel, sideChannel2);
@@ -1825,8 +1900,10 @@ var stringify$1 = function stringify(object, prefix, generateArrayPrefix, commaR
1825
1900
  keyPrefix,
1826
1901
  generateArrayPrefix,
1827
1902
  commaRoundTrip,
1903
+ allowEmptyArrays,
1828
1904
  strictNullHandling,
1829
1905
  skipNulls,
1906
+ encodeDotInKeys,
1830
1907
  generateArrayPrefix === "comma" && encodeValuesOnly && isArray(obj) ? null : encoder,
1831
1908
  filter,
1832
1909
  sort,
@@ -1845,6 +1922,12 @@ var normalizeStringifyOptions = function normalizeStringifyOptions2(opts) {
1845
1922
  if (!opts) {
1846
1923
  return defaults;
1847
1924
  }
1925
+ if (typeof opts.allowEmptyArrays !== "undefined" && typeof opts.allowEmptyArrays !== "boolean") {
1926
+ throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");
1927
+ }
1928
+ if (typeof opts.encodeDotInKeys !== "undefined" && typeof opts.encodeDotInKeys !== "boolean") {
1929
+ throw new TypeError("`encodeDotInKeys` option can only be `true` or `false`, when provided");
1930
+ }
1848
1931
  if (opts.encoder !== null && typeof opts.encoder !== "undefined" && typeof opts.encoder !== "function") {
1849
1932
  throw new TypeError("Encoder has to be a function.");
1850
1933
  }
@@ -1864,13 +1947,29 @@ var normalizeStringifyOptions = function normalizeStringifyOptions2(opts) {
1864
1947
  if (typeof opts.filter === "function" || isArray(opts.filter)) {
1865
1948
  filter = opts.filter;
1866
1949
  }
1950
+ var arrayFormat;
1951
+ if (opts.arrayFormat in arrayPrefixGenerators) {
1952
+ arrayFormat = opts.arrayFormat;
1953
+ } else if ("indices" in opts) {
1954
+ arrayFormat = opts.indices ? "indices" : "repeat";
1955
+ } else {
1956
+ arrayFormat = defaults.arrayFormat;
1957
+ }
1958
+ if ("commaRoundTrip" in opts && typeof opts.commaRoundTrip !== "boolean") {
1959
+ throw new TypeError("`commaRoundTrip` must be a boolean, or absent");
1960
+ }
1961
+ var allowDots = typeof opts.allowDots === "undefined" ? opts.encodeDotInKeys === true ? true : defaults.allowDots : !!opts.allowDots;
1867
1962
  return {
1868
1963
  addQueryPrefix: typeof opts.addQueryPrefix === "boolean" ? opts.addQueryPrefix : defaults.addQueryPrefix,
1869
- allowDots: typeof opts.allowDots === "undefined" ? defaults.allowDots : !!opts.allowDots,
1964
+ allowDots,
1965
+ allowEmptyArrays: typeof opts.allowEmptyArrays === "boolean" ? !!opts.allowEmptyArrays : defaults.allowEmptyArrays,
1966
+ arrayFormat,
1870
1967
  charset,
1871
1968
  charsetSentinel: typeof opts.charsetSentinel === "boolean" ? opts.charsetSentinel : defaults.charsetSentinel,
1969
+ commaRoundTrip: !!opts.commaRoundTrip,
1872
1970
  delimiter: typeof opts.delimiter === "undefined" ? defaults.delimiter : opts.delimiter,
1873
1971
  encode: typeof opts.encode === "boolean" ? opts.encode : defaults.encode,
1972
+ encodeDotInKeys: typeof opts.encodeDotInKeys === "boolean" ? opts.encodeDotInKeys : defaults.encodeDotInKeys,
1874
1973
  encoder: typeof opts.encoder === "function" ? opts.encoder : defaults.encoder,
1875
1974
  encodeValuesOnly: typeof opts.encodeValuesOnly === "boolean" ? opts.encodeValuesOnly : defaults.encodeValuesOnly,
1876
1975
  filter,
@@ -1898,19 +1997,8 @@ var stringify_1 = function(object, opts) {
1898
1997
  if (typeof obj !== "object" || obj === null) {
1899
1998
  return "";
1900
1999
  }
1901
- var arrayFormat;
1902
- if (opts && opts.arrayFormat in arrayPrefixGenerators) {
1903
- arrayFormat = opts.arrayFormat;
1904
- } else if (opts && "indices" in opts) {
1905
- arrayFormat = opts.indices ? "indices" : "repeat";
1906
- } else {
1907
- arrayFormat = "indices";
1908
- }
1909
- var generateArrayPrefix = arrayPrefixGenerators[arrayFormat];
1910
- if (opts && "commaRoundTrip" in opts && typeof opts.commaRoundTrip !== "boolean") {
1911
- throw new TypeError("`commaRoundTrip` must be a boolean, or absent");
1912
- }
1913
- var commaRoundTrip = generateArrayPrefix === "comma" && opts && opts.commaRoundTrip;
2000
+ var generateArrayPrefix = arrayPrefixGenerators[options.arrayFormat];
2001
+ var commaRoundTrip = generateArrayPrefix === "comma" && options.commaRoundTrip;
1914
2002
  if (!objKeys) {
1915
2003
  objKeys = Object.keys(obj);
1916
2004
  }
@@ -1920,16 +2008,19 @@ var stringify_1 = function(object, opts) {
1920
2008
  var sideChannel2 = getSideChannel2();
1921
2009
  for (var i = 0; i < objKeys.length; ++i) {
1922
2010
  var key = objKeys[i];
1923
- if (options.skipNulls && obj[key] === null) {
2011
+ var value = obj[key];
2012
+ if (options.skipNulls && value === null) {
1924
2013
  continue;
1925
2014
  }
1926
2015
  pushToArray(keys, stringify$1(
1927
- obj[key],
2016
+ value,
1928
2017
  key,
1929
2018
  generateArrayPrefix,
1930
2019
  commaRoundTrip,
2020
+ options.allowEmptyArrays,
1931
2021
  options.strictNullHandling,
1932
2022
  options.skipNulls,
2023
+ options.encodeDotInKeys,
1933
2024
  options.encode ? options.encoder : null,
1934
2025
  options.filter,
1935
2026
  options.sort,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@frameless/strapi-plugin-notes",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "description": "A plugin for Strapi CMS that provides the ability to add notes to entity records.",
5
5
  "strapi": {
6
6
  "displayName": "Notes",
@@ -51,8 +51,8 @@
51
51
  "@strapi/design-system": "2.1.2",
52
52
  "@strapi/icons": "2.1.2",
53
53
  "@strapi/sdk-plugin": "5.4.0",
54
- "@strapi/strapi": "5.33.4",
55
- "@strapi/typescript-utils": "5.33.4",
54
+ "@strapi/strapi": "5.46.0",
55
+ "@strapi/typescript-utils": "5.46.0",
56
56
  "@testing-library/jest-dom": "6.9.1",
57
57
  "@testing-library/react": "16.3.2",
58
58
  "@types/jest": "29.5.12",
@@ -68,7 +68,7 @@
68
68
  "ts-jest": "29.4.6",
69
69
  "ts-node": "10.9.2",
70
70
  "typescript": "5.9.3",
71
- "@frameless/eslint-config": "1.1.2",
71
+ "@frameless/eslint-config": "1.2.0",
72
72
  "@frameless/typescript-config": "1.0.1"
73
73
  },
74
74
  "peerDependencies": {