@ezez/utils 4.7.1 → 4.7.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.
Files changed (107) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/dist/serializeToBuffer/serializeToBuffer.d.ts.map +1 -1
  3. package/dist/serializeToBuffer/serializeToBuffer.js +5 -2
  4. package/dist/serializeToBuffer/serializeToBuffer.js.map +1 -1
  5. package/docs/documents/Changelog.html +25 -22
  6. package/docs/functions/index.assertProps.html +2 -2
  7. package/docs/functions/index.cap.html +2 -2
  8. package/docs/functions/index.capitalize.html +2 -2
  9. package/docs/functions/index.coalesce.html +2 -2
  10. package/docs/functions/index.compareArrays.html +2 -2
  11. package/docs/functions/index.compareProps.html +2 -2
  12. package/docs/functions/index.deserialize.html +2 -2
  13. package/docs/functions/index.ensureArray.html +2 -2
  14. package/docs/functions/index.ensureDate.html +2 -2
  15. package/docs/functions/index.ensureError.html +2 -2
  16. package/docs/functions/index.ensurePrefix.html +2 -2
  17. package/docs/functions/index.ensureSuffix.html +2 -2
  18. package/docs/functions/index.ensureTimestamp.html +2 -2
  19. package/docs/functions/index.escapeRegExp.html +2 -2
  20. package/docs/functions/index.formatDate.html +2 -2
  21. package/docs/functions/index.get.html +2 -2
  22. package/docs/functions/index.getMultiple.html +2 -2
  23. package/docs/functions/index.hasProps.html +2 -2
  24. package/docs/functions/index.ignore.html +2 -2
  25. package/docs/functions/index.insertSeparator.html +2 -2
  26. package/docs/functions/index.isEmpty.html +2 -2
  27. package/docs/functions/index.isNumericString.html +2 -2
  28. package/docs/functions/index.isPlainObject.html +2 -2
  29. package/docs/functions/index.last.html +2 -2
  30. package/docs/functions/index.later-1.html +2 -2
  31. package/docs/functions/index.mapAsync.html +2 -2
  32. package/docs/functions/index.mapValues.html +2 -2
  33. package/docs/functions/index.match.html +2 -2
  34. package/docs/functions/index.memoize.html +2 -2
  35. package/docs/functions/index.merge.html +2 -2
  36. package/docs/functions/index.mostFrequent.html +2 -2
  37. package/docs/functions/index.noop.html +2 -2
  38. package/docs/functions/index.occurrences.html +2 -2
  39. package/docs/functions/index.omit.html +2 -2
  40. package/docs/functions/index.pick.html +2 -2
  41. package/docs/functions/index.pull.html +2 -2
  42. package/docs/functions/index.race.html +2 -2
  43. package/docs/functions/index.remove.html +2 -2
  44. package/docs/functions/index.removeCommonProperties.html +2 -2
  45. package/docs/functions/index.replace.html +2 -2
  46. package/docs/functions/index.replaceDeep.html +2 -2
  47. package/docs/functions/index.rethrow.html +2 -2
  48. package/docs/functions/index.retry.html +2 -2
  49. package/docs/functions/index.round.html +2 -2
  50. package/docs/functions/index.safe.html +2 -2
  51. package/docs/functions/index.sample.html +2 -2
  52. package/docs/functions/index.samples.html +2 -2
  53. package/docs/functions/index.scale.html +2 -2
  54. package/docs/functions/index.seq.html +2 -2
  55. package/docs/functions/index.seqEarlyBreak.html +2 -2
  56. package/docs/functions/index.serialize.html +2 -2
  57. package/docs/functions/index.serializeToBuffer.html +2 -2
  58. package/docs/functions/index.set.html +2 -2
  59. package/docs/functions/index.setImmutable.html +2 -2
  60. package/docs/functions/index.shuffle.html +2 -2
  61. package/docs/functions/index.sortBy.html +2 -2
  62. package/docs/functions/index.sortByMultiple.html +2 -2
  63. package/docs/functions/index.sortProps.html +2 -2
  64. package/docs/functions/index.stripPrefix.html +2 -2
  65. package/docs/functions/index.stripSuffix.html +2 -2
  66. package/docs/functions/index.throttle.html +2 -2
  67. package/docs/functions/index.toggle.html +2 -2
  68. package/docs/functions/index.trim.html +2 -2
  69. package/docs/functions/index.trimEnd.html +2 -2
  70. package/docs/functions/index.trimStart.html +2 -2
  71. package/docs/functions/index.truthy.html +2 -2
  72. package/docs/functions/index.unique.html +2 -2
  73. package/docs/functions/index.unserializeFromBuffer.html +2 -2
  74. package/docs/functions/index.wait.html +2 -2
  75. package/docs/functions/index.waitFor.html +2 -2
  76. package/docs/functions/index.waitSync.html +2 -2
  77. package/docs/index.html +2 -2
  78. package/docs/interfaces/index.ComparePropsOptions.html +3 -3
  79. package/docs/interfaces/index.GetMultipleSource.html +2 -2
  80. package/docs/interfaces/index.GetSource.html +2 -2
  81. package/docs/interfaces/index.IsNumericStringOptions.html +2 -2
  82. package/docs/interfaces/index.OccurencesOptions.html +2 -2
  83. package/docs/interfaces/index.SetImmutableSource.html +2 -2
  84. package/docs/interfaces/index.SetSource.html +2 -2
  85. package/docs/interfaces/index.ThrottleOptions.html +3 -3
  86. package/docs/interfaces/index.ThrottledFunctionExtras.html +3 -3
  87. package/docs/modules/index.html +1 -1
  88. package/docs/modules.html +1 -1
  89. package/docs/types/index.CustomDeserializers.html +1 -1
  90. package/docs/types/index.CustomSerializers.html +1 -1
  91. package/docs/types/index.Later.html +2 -2
  92. package/docs/types/index.MapValuesFn.html +2 -2
  93. package/docs/types/index.MatchCallback.html +1 -1
  94. package/docs/types/index.MergeTwo.html +2 -2
  95. package/docs/types/index.SeqEarlyBreaker.html +2 -2
  96. package/docs/types/index.SeqFn.html +2 -2
  97. package/docs/types/index.SeqFunctions.html +2 -2
  98. package/docs/types/index.SetImmutablePath.html +2 -2
  99. package/docs/types/index.ThrottledFunction.html +1 -1
  100. package/docs/variables/index.mapValuesUNSET.html +2 -2
  101. package/docs/variables/index.mergeUNSET.html +2 -2
  102. package/esm/serializeToBuffer/serializeToBuffer.d.ts.map +1 -1
  103. package/esm/serializeToBuffer/serializeToBuffer.js +5 -2
  104. package/esm/serializeToBuffer/serializeToBuffer.js.map +1 -1
  105. package/package.json +1 -1
  106. package/src/serializeToBuffer/serializeToBuffer.spec.ts +28 -0
  107. package/src/serializeToBuffer/serializeToBuffer.ts +6 -2
package/CHANGELOG.md CHANGED
@@ -6,6 +6,10 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
6
6
  ## [UNRELEASED]
7
7
  - (nothing yet)
8
8
 
9
+ ## [4.7.2] - 2025-10-16
10
+ ### Fixed
11
+ - serializeToBuffer misbehaving on multi-byte characters
12
+
9
13
  ## [4.7.1] - 2025-10-16
10
14
  ### Fixed
11
15
  - added missing exports of `hasProps` and `assertProps`
@@ -1 +1 @@
1
- {"version":3,"file":"serializeToBuffer.d.ts","sourceRoot":"","sources":["../../src/serializeToBuffer/serializeToBuffer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,KAAK,aAAa,GAAG,UAAU,CAAC,OAAO,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,MAAM,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;AAiC9F,QAAA,MAAM,iBAAiB,GACnB,sBAAsB,OAAO,MAAM,EAAE,eAAe,aAAa,EAAE,GAAG,MAAM,OAAO,EAAE,KACtF,MA8CF,CAAC;AAEF,OAAO,EACH,iBAAiB,GACpB,CAAC"}
1
+ {"version":3,"file":"serializeToBuffer.d.ts","sourceRoot":"","sources":["../../src/serializeToBuffer/serializeToBuffer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,KAAK,aAAa,GAAG,UAAU,CAAC,OAAO,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,MAAM,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;AAiC9F,QAAA,MAAM,iBAAiB,GACnB,sBAAsB,OAAO,MAAM,EAAE,eAAe,aAAa,EAAE,GAAG,MAAM,OAAO,EAAE,KACtF,MAkDF,CAAC;AAEF,OAAO,EACH,iBAAiB,GACpB,CAAC"}
@@ -26,12 +26,15 @@ const serializeToBuffer = (BufferImplementation, serializeArgs, ...args) => {
26
26
  const dataToSend = [];
27
27
  let totalLength = 0;
28
28
  convertedArgs.forEach((arg) => {
29
- const len = String(arg.data.length) + arg.mark;
29
+ const dataByteLength = arg.mark === const_js_1.BINARY_MARK_BIN
30
+ ? arg.data.length
31
+ : BufferImplementation.byteLength(arg.data, "utf-8");
32
+ const len = String(dataByteLength) + arg.mark;
30
33
  dataToSend.push(BufferImplementation.from(len, "utf-8"));
31
34
  dataToSend.push(separator);
32
35
  dataToSend.push(arg.mark === const_js_1.BINARY_MARK_BIN ? arg.data : BufferImplementation.from(arg.data, "utf-8"));
33
36
  dataToSend.push(separator);
34
- totalLength += len.length + separator.length + arg.data.length + separator.length;
37
+ totalLength += len.length + separator.length + dataByteLength + separator.length;
35
38
  });
36
39
  return BufferImplementation.concat(dataToSend, totalLength);
37
40
  };
@@ -1 +1 @@
1
- {"version":3,"file":"serializeToBuffer.js","sourceRoot":"","sources":["../../src/serializeToBuffer/serializeToBuffer.ts"],"names":[],"mappings":";;;AAAA,kDAA4C;AAC5C,yCAAmF;AAmCnF,MAAM,iBAAiB,GAAG,CACtB,oBAAmC,EAAE,aAA4B,EAAE,GAAG,IAAe,EAC/E,EAAE;IACR,MAAM,SAAS,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAYnD,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACnC,IAAI,GAAG,YAAY,oBAAoB,EAAE,CAAC;YACtC,OAAO;gBACH,IAAI,EAAE,0BAAe;gBACrB,IAAI,EAAE,GAAG;aACO,CAAC;QACzB,CAAC;QACD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC1B,OAAO;gBACH,IAAI,EAAE,6BAAkB;gBACxB,IAAI,EAAE,GAAG;aACO,CAAC;QACzB,CAAC;QACD,OAAO;YACH,IAAI,EAAE,2BAAgB;YACtB,IAAI,EAAE,IAAA,wBAAS,EAAC,GAAG,EAAE,GAAG,aAAa,CAAC;SACtB,CAAC;IACzB,CAAC,CAAC,CAAC;IACH,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QAC1B,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC;QAE/C,UAAU,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;QACzD,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAE3B,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,0BAAe,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QACxG,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAE3B,WAAW,IAAI,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;IACtF,CAAC,CAAC,CAAC;IAEH,OAAO,oBAAoB,CAAC,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;AAChE,CAAC,CAAC;AAGE,8CAAiB"}
1
+ {"version":3,"file":"serializeToBuffer.js","sourceRoot":"","sources":["../../src/serializeToBuffer/serializeToBuffer.ts"],"names":[],"mappings":";;;AAAA,kDAA4C;AAC5C,yCAAmF;AAmCnF,MAAM,iBAAiB,GAAG,CACtB,oBAAmC,EAAE,aAA4B,EAAE,GAAG,IAAe,EAC/E,EAAE;IACR,MAAM,SAAS,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAYnD,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACnC,IAAI,GAAG,YAAY,oBAAoB,EAAE,CAAC;YACtC,OAAO;gBACH,IAAI,EAAE,0BAAe;gBACrB,IAAI,EAAE,GAAG;aACO,CAAC;QACzB,CAAC;QACD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC1B,OAAO;gBACH,IAAI,EAAE,6BAAkB;gBACxB,IAAI,EAAE,GAAG;aACO,CAAC;QACzB,CAAC;QACD,OAAO;YACH,IAAI,EAAE,2BAAgB;YACtB,IAAI,EAAE,IAAA,wBAAS,EAAC,GAAG,EAAE,GAAG,aAAa,CAAC;SACtB,CAAC;IACzB,CAAC,CAAC,CAAC;IACH,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QAE1B,MAAM,cAAc,GAAG,GAAG,CAAC,IAAI,KAAK,0BAAe;YAC/C,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM;YACjB,CAAC,CAAC,oBAAoB,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACzD,MAAM,GAAG,GAAG,MAAM,CAAC,cAAc,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC;QAE9C,UAAU,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;QACzD,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAE3B,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,0BAAe,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QACxG,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAE3B,WAAW,IAAI,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,GAAG,cAAc,GAAG,SAAS,CAAC,MAAM,CAAC;IACrF,CAAC,CAAC,CAAC;IAEH,OAAO,oBAAoB,CAAC,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;AAChE,CAAC,CAAC;AAGE,8CAAiB"}
@@ -1,10 +1,13 @@
1
- <!DOCTYPE html><html class="default" lang="en" data-base=".."><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>Changelog | @ezez/utils - v4.7.1</title><meta name="description" content="Documentation for @ezez/utils"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search"><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@ezez/utils - v4.7.1</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">@ezez/utils</a></li><li><a href="Changelog.html">Changelog</a></li></ul></div><div class="tsd-panel tsd-typography"><p>All notable changes to this project will be documented in this file.</p>
1
+ <!DOCTYPE html><html class="default" lang="en" data-base=".."><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>Changelog | @ezez/utils - v4.7.2</title><meta name="description" content="Documentation for @ezez/utils"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search"><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@ezez/utils - v4.7.2</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">@ezez/utils</a></li><li><a href="Changelog.html">Changelog</a></li></ul></div><div class="tsd-panel tsd-typography"><p>All notable changes to this project will be documented in this file.</p>
2
2
  <p>The format is based on <a href="https://ezez.dev/changelog/">EZEZ Changelog</a>
3
3
  and this project adheres to <a href="http://semver.org/spec/v2.0.0.html">Semantic Versioning</a>.</p>
4
4
  <a id="unreleased" class="tsd-anchor"></a><h2 class="tsd-anchor-link">[UNRELEASED]<a href="#unreleased" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2><ul>
5
5
  <li>(nothing yet)</li>
6
6
  </ul>
7
- <a id="471---2025-10-16" class="tsd-anchor"></a><h2 class="tsd-anchor-link">[4.7.1] - 2025-10-16<a href="#471---2025-10-16" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2><a id="fixed" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Fixed<a href="#fixed" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul>
7
+ <a id="472---2025-10-16" class="tsd-anchor"></a><h2 class="tsd-anchor-link">[4.7.2] - 2025-10-16<a href="#472---2025-10-16" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2><a id="fixed" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Fixed<a href="#fixed" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul>
8
+ <li>serializeToBuffer misbehaving on multi-byte characters</li>
9
+ </ul>
10
+ <a id="471---2025-10-16" class="tsd-anchor"></a><h2 class="tsd-anchor-link">[4.7.1] - 2025-10-16<a href="#471---2025-10-16" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2><a id="fixed-1" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Fixed<a href="#fixed-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul>
8
11
  <li>added missing exports of <code>hasProps</code> and <code>assertProps</code></li>
9
12
  </ul>
10
13
  <a id="470---2025-10-16" class="tsd-anchor"></a><h2 class="tsd-anchor-link">[4.7.0] - 2025-10-16<a href="#470---2025-10-16" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2><a id="added" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Added<a href="#added" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul>
@@ -32,7 +35,7 @@ and this project adheres to <a href="http://semver.org/spec/v2.0.0.html">Semanti
32
35
  <li><code>unserializeFromBuffer</code> method (aliased as <code>deserializeFromBuffer</code>)</li>
33
36
  <li><code>unserialize</code> alias to <code>deserialize</code> method</li>
34
37
  </ul>
35
- <a id="fixed-1" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Fixed<a href="#fixed-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul>
38
+ <a id="fixed-2" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Fixed<a href="#fixed-2" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul>
36
39
  <li><code>serialize</code> JSDoc mentioned custom serializer limitation with values with <code>.toJSON</code> method that was fixed in 4.0.0</li>
37
40
  </ul>
38
41
  <a id="440---2025-03-23" class="tsd-anchor"></a><h2 class="tsd-anchor-link">[4.4.0] - 2025-03-23<a href="#440---2025-03-23" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2><a id="added-3" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Added<a href="#added-3" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul>
@@ -47,7 +50,7 @@ and this project adheres to <a href="http://semver.org/spec/v2.0.0.html">Semanti
47
50
  <a id="420---2025-03-04" class="tsd-anchor"></a><h2 class="tsd-anchor-link">[4.2.0] - 2025-03-04<a href="#420---2025-03-04" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2><a id="added-5" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Added<a href="#added-5" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul>
48
51
  <li><code>retry</code> method</li>
49
52
  </ul>
50
- <a id="410---2024-05-31" class="tsd-anchor"></a><h2 class="tsd-anchor-link">[4.1.0] - 2024-05-31<a href="#410---2024-05-31" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2><a id="fixed-2" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Fixed<a href="#fixed-2" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul>
53
+ <a id="410---2024-05-31" class="tsd-anchor"></a><h2 class="tsd-anchor-link">[4.1.0] - 2024-05-31<a href="#410---2024-05-31" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2><a id="fixed-3" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Fixed<a href="#fixed-3" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul>
51
54
  <li><code>sample</code> adds <code>undefined</code> to the result type unless the input is a tuple</li>
52
55
  <li><code>merge</code> return type was a basic intersection, which is not a correct way to represent merging</li>
53
56
  <li><code>waitFor</code> will reject but call the callback indefinitely if timeout is set without <code>maxRetries</code></li>
@@ -114,7 +117,7 @@ transpile this lib yourself</li>
114
117
  <a id="190---2023-07-07" class="tsd-anchor"></a><h2 class="tsd-anchor-link">[1.9.0] - 2023-07-07<a href="#190---2023-07-07" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2><a id="added-11" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Added<a href="#added-11" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul>
115
118
  <li><code>removeCommonProperties</code> method</li>
116
119
  </ul>
117
- <a id="181---2023-06-24" class="tsd-anchor"></a><h2 class="tsd-anchor-link">[1.8.1] - 2023-06-24<a href="#181---2023-06-24" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2><a id="fixed-3" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Fixed<a href="#fixed-3" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul>
120
+ <a id="181---2023-06-24" class="tsd-anchor"></a><h2 class="tsd-anchor-link">[1.8.1] - 2023-06-24<a href="#181---2023-06-24" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2><a id="fixed-4" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Fixed<a href="#fixed-4" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul>
118
121
  <li><code>replace</code> method replacing everything with bunch of <code>undefined</code> when empty map is given</li>
119
122
  </ul>
120
123
  <a id="180---2023-06-03" class="tsd-anchor"></a><h2 class="tsd-anchor-link">[1.8.0] - 2023-06-03<a href="#180---2023-06-03" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2><a id="added-12" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Added<a href="#added-12" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul>
@@ -192,14 +195,14 @@ transpile this lib yourself</li>
192
195
  <a id="changed-6" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Changed<a href="#changed-6" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul>
193
196
  <li><code>throttle</code> with multiple timeouts working more as intended with <code>opts.leading</code> = true</li>
194
197
  </ul>
195
- <a id="fixed-4" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Fixed<a href="#fixed-4" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul>
198
+ <a id="fixed-5" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Fixed<a href="#fixed-5" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul>
196
199
  <li>first timeout of <code>throttle</code> with multiple timeouts repeated two times</li>
197
200
  </ul>
198
- <a id="0232---2022-08-21" class="tsd-anchor"></a><h2 class="tsd-anchor-link">[0.23.2] - 2022-08-21<a href="#0232---2022-08-21" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2><a id="fixed-5" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Fixed<a href="#fixed-5" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul>
201
+ <a id="0232---2022-08-21" class="tsd-anchor"></a><h2 class="tsd-anchor-link">[0.23.2] - 2022-08-21<a href="#0232---2022-08-21" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2><a id="fixed-6" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Fixed<a href="#fixed-6" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul>
199
202
  <li><code>throttle</code> with trailing call not respecting multiple timeouts</li>
200
203
  <li><code>truthy</code> typings</li>
201
204
  </ul>
202
- <a id="0231---2022-07-17" class="tsd-anchor"></a><h2 class="tsd-anchor-link">[0.23.1] - 2022-07-17<a href="#0231---2022-07-17" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2><a id="fixed-6" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Fixed<a href="#fixed-6" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul>
205
+ <a id="0231---2022-07-17" class="tsd-anchor"></a><h2 class="tsd-anchor-link">[0.23.1] - 2022-07-17<a href="#0231---2022-07-17" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2><a id="fixed-7" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Fixed<a href="#fixed-7" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul>
203
206
  <li>missing <code>mostFrequent</code> export</li>
204
207
  </ul>
205
208
  <a id="0230---2022-07-17" class="tsd-anchor"></a><h2 class="tsd-anchor-link">[0.23.0] - 2022-07-17<a href="#0230---2022-07-17" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2><a id="added-22" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Added<a href="#added-22" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul>
@@ -208,7 +211,7 @@ transpile this lib yourself</li>
208
211
  <a id="0220---2022-07-16" class="tsd-anchor"></a><h2 class="tsd-anchor-link">[0.22.0] - 2022-07-16<a href="#0220---2022-07-16" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2><a id="added-23" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Added<a href="#added-23" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul>
209
212
  <li><code>capitalize</code> method</li>
210
213
  </ul>
211
- <a id="fixed-7" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Fixed<a href="#fixed-7" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul>
214
+ <a id="fixed-8" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Fixed<a href="#fixed-8" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul>
212
215
  <li><code>throttle</code> reset not resetting array of times</li>
213
216
  </ul>
214
217
  <a id="0210---2022-07-08" class="tsd-anchor"></a><h2 class="tsd-anchor-link">[0.21.0] - 2022-07-08<a href="#0210---2022-07-08" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2><a id="added-24" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Added<a href="#added-24" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul>
@@ -217,7 +220,7 @@ transpile this lib yourself</li>
217
220
  <a id="0200---2022-07-03" class="tsd-anchor"></a><h2 class="tsd-anchor-link">[0.20.0] - 2022-07-03<a href="#0200---2022-07-03" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2><a id="added-25" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Added<a href="#added-25" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul>
218
221
  <li><code>ensureError</code> method</li>
219
222
  </ul>
220
- <a id="0191---2022-04-27" class="tsd-anchor"></a><h2 class="tsd-anchor-link">[0.19.1] - 2022-04-27<a href="#0191---2022-04-27" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2><a id="fixed-8" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Fixed<a href="#fixed-8" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul>
223
+ <a id="0191---2022-04-27" class="tsd-anchor"></a><h2 class="tsd-anchor-link">[0.19.1] - 2022-04-27<a href="#0191---2022-04-27" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2><a id="fixed-9" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Fixed<a href="#fixed-9" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul>
221
224
  <li>new methods not exported</li>
222
225
  </ul>
223
226
  <a id="0190---2022-04-27" class="tsd-anchor"></a><h2 class="tsd-anchor-link">[0.19.0] - 2022-04-27<a href="#0190---2022-04-27" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2><a id="added-26" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Added<a href="#added-26" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul>
@@ -234,7 +237,7 @@ transpile this lib yourself</li>
234
237
  <li><code>wait</code> method</li>
235
238
  <li><code>mapAsync</code> method</li>
236
239
  </ul>
237
- <a id="0171---2021-10-31" class="tsd-anchor"></a><h2 class="tsd-anchor-link">[0.17.1] - 2021-10-31<a href="#0171---2021-10-31" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2><a id="fixed-9" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Fixed<a href="#fixed-9" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul>
240
+ <a id="0171---2021-10-31" class="tsd-anchor"></a><h2 class="tsd-anchor-link">[0.17.1] - 2021-10-31<a href="#0171---2021-10-31" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2><a id="fixed-10" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Fixed<a href="#fixed-10" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul>
238
241
  <li>missing <code>merge</code> export</li>
239
242
  </ul>
240
243
  <a id="0170---2021-10-31" class="tsd-anchor"></a><h2 class="tsd-anchor-link">[0.17.0] - 2021-10-31<a href="#0170---2021-10-31" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2><a id="added-28" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Added<a href="#added-28" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul>
@@ -288,7 +291,7 @@ transpile this lib yourself</li>
288
291
  <a id="changed-14" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Changed<a href="#changed-14" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul>
289
292
  <li>small README update</li>
290
293
  </ul>
291
- <a id="0101---2020-09-14" class="tsd-anchor"></a><h2 class="tsd-anchor-link">[0.10.1] - 2020-09-14<a href="#0101---2020-09-14" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2><a id="fixed-10" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Fixed<a href="#fixed-10" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul>
294
+ <a id="0101---2020-09-14" class="tsd-anchor"></a><h2 class="tsd-anchor-link">[0.10.1] - 2020-09-14<a href="#0101---2020-09-14" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2><a id="fixed-11" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Fixed<a href="#fixed-11" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul>
292
295
  <li><code>pages</code> export</li>
293
296
  </ul>
294
297
  <a id="0100---2020-09-14" class="tsd-anchor"></a><h2 class="tsd-anchor-link">[0.10.0] - 2020-09-14<a href="#0100---2020-09-14" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2><a id="added-34" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Added<a href="#added-34" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul>
@@ -297,14 +300,14 @@ transpile this lib yourself</li>
297
300
  <a id="090---2020-07-09" class="tsd-anchor"></a><h2 class="tsd-anchor-link">[0.9.0] - 2020-07-09<a href="#090---2020-07-09" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2><a id="added-35" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Added<a href="#added-35" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul>
298
301
  <li><code>remove</code> method</li>
299
302
  </ul>
300
- <a id="080---2020-03-13" class="tsd-anchor"></a><h2 class="tsd-anchor-link">[0.8.0] - 2020-03-13<a href="#080---2020-03-13" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2><a id="fixed-11" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Fixed<a href="#fixed-11" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul>
303
+ <a id="080---2020-03-13" class="tsd-anchor"></a><h2 class="tsd-anchor-link">[0.8.0] - 2020-03-13<a href="#080---2020-03-13" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2><a id="fixed-12" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Fixed<a href="#fixed-12" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul>
301
304
  <li>CommonJS code still not working properly</li>
302
305
  </ul>
303
306
  <a id="changed-15" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Changed<a href="#changed-15" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul>
304
307
  <li><code>REMOVE</code> enum from mapValues attached to the function instead of extra export</li>
305
308
  <li>better native ESM support</li>
306
309
  </ul>
307
- <a id="071---2020-03-12" class="tsd-anchor"></a><h2 class="tsd-anchor-link">[0.7.1] - 2020-03-12<a href="#071---2020-03-12" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2><a id="fixed-12" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Fixed<a href="#fixed-12" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul>
310
+ <a id="071---2020-03-12" class="tsd-anchor"></a><h2 class="tsd-anchor-link">[0.7.1] - 2020-03-12<a href="#071---2020-03-12" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2><a id="fixed-13" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Fixed<a href="#fixed-13" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul>
308
311
  <li>CommonJS code not working properly</li>
309
312
  </ul>
310
313
  <a id="070---2020-03-10" class="tsd-anchor"></a><h2 class="tsd-anchor-link">[0.7.0] - 2020-03-10<a href="#070---2020-03-10" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2><a id="added-36" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Added<a href="#added-36" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul>
@@ -317,13 +320,13 @@ transpile this lib yourself</li>
317
320
  <li>support for deep imports like: <code>bottom-line-utils/get</code>, use <code>bottom-line-utils/src/get</code> or
318
321
  <code>bottom-line-utils/dist/get</code> for now</li>
319
322
  </ul>
320
- <a id="063---2019-08-29" class="tsd-anchor"></a><h2 class="tsd-anchor-link">[0.6.3] - 2019-08-29<a href="#063---2019-08-29" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2><a id="fixed-13" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Fixed<a href="#fixed-13" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul>
323
+ <a id="063---2019-08-29" class="tsd-anchor"></a><h2 class="tsd-anchor-link">[0.6.3] - 2019-08-29<a href="#063---2019-08-29" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2><a id="fixed-14" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Fixed<a href="#fixed-14" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul>
321
324
  <li>dev deps audit issues</li>
322
325
  </ul>
323
- <a id="062---2019-06-06" class="tsd-anchor"></a><h2 class="tsd-anchor-link">[0.6.2] - 2019-06-06<a href="#062---2019-06-06" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2><a id="fixed-14" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Fixed<a href="#fixed-14" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul>
326
+ <a id="062---2019-06-06" class="tsd-anchor"></a><h2 class="tsd-anchor-link">[0.6.2] - 2019-06-06<a href="#062---2019-06-06" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2><a id="fixed-15" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Fixed<a href="#fixed-15" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul>
324
327
  <li>deps audit issue, related to development (eslint), not the code (0.6.2 is not released to npm as a result)</li>
325
328
  </ul>
326
- <a id="061---2019-06-05" class="tsd-anchor"></a><h2 class="tsd-anchor-link">[0.6.1] - 2019-06-05<a href="#061---2019-06-05" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2><a id="fixed-15" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Fixed<a href="#fixed-15" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul>
329
+ <a id="061---2019-06-05" class="tsd-anchor"></a><h2 class="tsd-anchor-link">[0.6.1] - 2019-06-05<a href="#061---2019-06-05" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2><a id="fixed-16" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Fixed<a href="#fixed-16" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul>
327
330
  <li>deps audit issue, related to docs generating, not the code (0.6.1 is not released to npm as a result)</li>
328
331
  </ul>
329
332
  <a id="060---2019-05-12" class="tsd-anchor"></a><h2 class="tsd-anchor-link">[0.6.0] - 2019-05-12<a href="#060---2019-05-12" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2><a id="added-37" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Added<a href="#added-37" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul>
@@ -335,16 +338,16 @@ transpile this lib yourself</li>
335
338
  <a id="050---2019-04-09" class="tsd-anchor"></a><h2 class="tsd-anchor-link">[0.5.0] - 2019-04-09<a href="#050---2019-04-09" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2><a id="added-38" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Added<a href="#added-38" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul>
336
339
  <li><code>coalesce</code> method</li>
337
340
  </ul>
338
- <a id="041---2019-01-31" class="tsd-anchor"></a><h2 class="tsd-anchor-link">[0.4.1] - 2019-01-31<a href="#041---2019-01-31" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2><a id="fixed-16" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Fixed<a href="#fixed-16" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul>
341
+ <a id="041---2019-01-31" class="tsd-anchor"></a><h2 class="tsd-anchor-link">[0.4.1] - 2019-01-31<a href="#041---2019-01-31" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2><a id="fixed-17" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Fixed<a href="#fixed-17" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul>
339
342
  <li><code>setImmutable</code> not allowing number as path and allowing other incorrect/unexpected values as paths</li>
340
343
  </ul>
341
344
  <a id="040---2019-01-30" class="tsd-anchor"></a><h2 class="tsd-anchor-link">[0.4.0] - 2019-01-30<a href="#040---2019-01-30" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2><a id="added-39" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Added<a href="#added-39" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul>
342
345
  <li><code>insertSeparator</code> method</li>
343
346
  </ul>
344
- <a id="031---2018-12-09" class="tsd-anchor"></a><h2 class="tsd-anchor-link">[0.3.1] - 2018-12-09<a href="#031---2018-12-09" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2><a id="fixed-17" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Fixed<a href="#fixed-17" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul>
347
+ <a id="031---2018-12-09" class="tsd-anchor"></a><h2 class="tsd-anchor-link">[0.3.1] - 2018-12-09<a href="#031---2018-12-09" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2><a id="fixed-18" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Fixed<a href="#fixed-18" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul>
345
348
  <li>added missing export of <code>setImmutable</code> to index</li>
346
349
  </ul>
347
- <a id="030---2018-12-09" class="tsd-anchor"></a><h2 class="tsd-anchor-link">[0.3.0] - 2018-12-09<a href="#030---2018-12-09" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2><a id="fixed-18" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Fixed<a href="#fixed-18" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul>
350
+ <a id="030---2018-12-09" class="tsd-anchor"></a><h2 class="tsd-anchor-link">[0.3.0] - 2018-12-09<a href="#030---2018-12-09" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2><a id="fixed-19" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Fixed<a href="#fixed-19" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul>
348
351
  <li>missing labels in <code>set</code> tests</li>
349
352
  <li>disabled removing unused labels in tests</li>
350
353
  </ul>
@@ -364,7 +367,7 @@ transpile this lib yourself</li>
364
367
  <li>switched code to es modules</li>
365
368
  <li>linted code</li>
366
369
  </ul>
367
- <a id="012---2018-11-09" class="tsd-anchor"></a><h2 class="tsd-anchor-link">[0.1.2] - 2018-11-09<a href="#012---2018-11-09" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2><a id="fixed-19" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Fixed<a href="#fixed-19" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul>
370
+ <a id="012---2018-11-09" class="tsd-anchor"></a><h2 class="tsd-anchor-link">[0.1.2] - 2018-11-09<a href="#012---2018-11-09" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2><a id="fixed-20" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Fixed<a href="#fixed-20" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul>
368
371
  <li>fixed <code>mapValues</code> calling the method twice</li>
369
372
  </ul>
370
373
  <a id="011---2018-05-31" class="tsd-anchor"></a><h2 class="tsd-anchor-link">[0.1.1] - 2018-05-31<a href="#011---2018-05-31" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2><a id="changed-20" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Changed<a href="#changed-20" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul>
@@ -377,4 +380,4 @@ transpile this lib yourself</li>
377
380
  <li><code>last</code> function</li>
378
381
  <li><code>mapValues</code> function</li>
379
382
  </ul>
380
- </div></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>On This Page</h3></summary><div class="tsd-accordion-details"><a href="#unreleased"><span>[UNRELEASED]</span></a><a href="#471---2025-10-16"><span>[4.7.1] -<wbr/> 2025-<wbr/>10-<wbr/>16</span></a><ul><li><a href="#fixed"><span>Fixed</span></a></li></ul><a href="#470---2025-10-16"><span>[4.7.0] -<wbr/> 2025-<wbr/>10-<wbr/>16</span></a><ul><li><a href="#added"><span>Added</span></a></li><li><a href="#changed"><span>Changed</span></a></li></ul><a href="#460---2025-10-10"><span>[4.6.0] -<wbr/> 2025-<wbr/>10-<wbr/>10</span></a><ul><li><a href="#added-1"><span>Added</span></a></li><li><a href="#changed-1"><span>Changed</span></a></li><li><a href="#dev"><span>Dev</span></a></li></ul><a href="#450---2025-05-08"><span>[4.5.0] -<wbr/> 2025-<wbr/>05-<wbr/>08</span></a><ul><li><a href="#added-2"><span>Added</span></a></li><li><a href="#fixed-1"><span>Fixed</span></a></li></ul><a href="#440---2025-03-23"><span>[4.4.0] -<wbr/> 2025-<wbr/>03-<wbr/>23</span></a><ul><li><a href="#added-3"><span>Added</span></a></li><li><a href="#dev-1"><span>Dev</span></a></li></ul><a href="#430---2025-03-04"><span>[4.3.0] -<wbr/> 2025-<wbr/>03-<wbr/>04</span></a><ul><li><a href="#added-4"><span>Added</span></a></li></ul><a href="#420---2025-03-04"><span>[4.2.0] -<wbr/> 2025-<wbr/>03-<wbr/>04</span></a><ul><li><a href="#added-5"><span>Added</span></a></li></ul><a href="#410---2024-05-31"><span>[4.1.0] -<wbr/> 2024-<wbr/>05-<wbr/>31</span></a><ul><li><a href="#fixed-2"><span>Fixed</span></a></li><li><a href="#added-6"><span>Added</span></a></li><li><a href="#changed-2"><span>Changed</span></a></li></ul><a href="#400---2024-05-16"><span>[4.0.0] -<wbr/> 2024-<wbr/>05-<wbr/>16</span></a><ul><li><a href="#breaking"><span>Breaking</span></a></li><li><a href="#changed-3"><span>Changed</span></a></li><li><a href="#added-7"><span>Added</span></a></li><li><a href="#dev-2"><span>Dev</span></a></li></ul><a href="#300---2024-03-25"><span>[3.0.0] -<wbr/> 2024-<wbr/>03-<wbr/>25</span></a><ul><li><a href="#breaking-1"><span>Breaking</span></a></li><li><a href="#added-8"><span>Added</span></a></li><li><a href="#dev-3"><span>Dev</span></a></li></ul><a href="#210---2023-10-29"><span>[2.1.0] -<wbr/> 2023-<wbr/>10-<wbr/>29</span></a><ul><li><a href="#added-9"><span>Added</span></a></li></ul><a href="#200---2023-10-09"><span>[2.0.0] -<wbr/> 2023-<wbr/>10-<wbr/>09</span></a><ul><li><a href="#breaking-2"><span>Breaking</span></a></li><li><a href="#added-10"><span>Added</span></a></li></ul><a href="#190---2023-07-07"><span>[1.9.0] -<wbr/> 2023-<wbr/>07-<wbr/>07</span></a><ul><li><a href="#added-11"><span>Added</span></a></li></ul><a href="#181---2023-06-24"><span>[1.8.1] -<wbr/> 2023-<wbr/>06-<wbr/>24</span></a><ul><li><a href="#fixed-3"><span>Fixed</span></a></li></ul><a href="#180---2023-06-03"><span>[1.8.0] -<wbr/> 2023-<wbr/>06-<wbr/>03</span></a><ul><li><a href="#added-12"><span>Added</span></a></li><li><a href="#dev-4"><span>Dev</span></a></li></ul><a href="#170---2023-05-22"><span>[1.7.0] -<wbr/> 2023-<wbr/>05-<wbr/>22</span></a><ul><li><a href="#added-13"><span>Added</span></a></li></ul><a href="#160---2023-05-12"><span>[1.6.0] -<wbr/> 2023-<wbr/>05-<wbr/>12</span></a><ul><li><a href="#added-14"><span>Added</span></a></li></ul><a href="#150---2023-05-12"><span>[1.5.0] -<wbr/> 2023-<wbr/>05-<wbr/>12</span></a><ul><li><a href="#added-15"><span>Added</span></a></li></ul><a href="#140---2023-05-11"><span>[1.4.0] -<wbr/> 2023-<wbr/>05-<wbr/>11</span></a><ul><li><a href="#added-16"><span>Added</span></a></li></ul><a href="#130---2023-05-07"><span>[1.3.0] -<wbr/> 2023-<wbr/>05-<wbr/>07</span></a><ul><li><a href="#added-17"><span>Added</span></a></li><li><a href="#dev-5"><span>Dev</span></a></li></ul><a href="#120---2023-03-01"><span>[1.2.0] -<wbr/> 2023-<wbr/>03-<wbr/>01</span></a><ul><li><a href="#added-18"><span>Added</span></a></li></ul><a href="#110---2023-02-20"><span>[1.1.0] -<wbr/> 2023-<wbr/>02-<wbr/>20</span></a><ul><li><a href="#added-19"><span>Added</span></a></li><li><a href="#changed-4"><span>Changed</span></a></li></ul><a href="#100---2023-02-19"><span>[1.0.0] -<wbr/> 2023-<wbr/>02-<wbr/>19</span></a><ul><li><a href="#added-20"><span>Added</span></a></li><li><a href="#breaking-3"><span>Breaking</span></a></li><li><a href="#changed-5"><span>Changed</span></a></li><li><a href="#dev-6"><span>Dev</span></a></li></ul><a href="#0241---2022-11-08"><span>[0.24.1] -<wbr/> 2022-<wbr/>11-<wbr/>08</span></a><ul><li><a href="#dev-7"><span>Dev</span></a></li></ul><a href="#0240---2022-09-23"><span>[0.24.0] -<wbr/> 2022-<wbr/>09-<wbr/>23</span></a><ul><li><a href="#added-21"><span>Added</span></a></li><li><a href="#changed-6"><span>Changed</span></a></li><li><a href="#fixed-4"><span>Fixed</span></a></li></ul><a href="#0232---2022-08-21"><span>[0.23.2] -<wbr/> 2022-<wbr/>08-<wbr/>21</span></a><ul><li><a href="#fixed-5"><span>Fixed</span></a></li></ul><a href="#0231---2022-07-17"><span>[0.23.1] -<wbr/> 2022-<wbr/>07-<wbr/>17</span></a><ul><li><a href="#fixed-6"><span>Fixed</span></a></li></ul><a href="#0230---2022-07-17"><span>[0.23.0] -<wbr/> 2022-<wbr/>07-<wbr/>17</span></a><ul><li><a href="#added-22"><span>Added</span></a></li></ul><a href="#0220---2022-07-16"><span>[0.22.0] -<wbr/> 2022-<wbr/>07-<wbr/>16</span></a><ul><li><a href="#added-23"><span>Added</span></a></li><li><a href="#fixed-7"><span>Fixed</span></a></li></ul><a href="#0210---2022-07-08"><span>[0.21.0] -<wbr/> 2022-<wbr/>07-<wbr/>08</span></a><ul><li><a href="#added-24"><span>Added</span></a></li></ul><a href="#0200---2022-07-03"><span>[0.20.0] -<wbr/> 2022-<wbr/>07-<wbr/>03</span></a><ul><li><a href="#added-25"><span>Added</span></a></li></ul><a href="#0191---2022-04-27"><span>[0.19.1] -<wbr/> 2022-<wbr/>04-<wbr/>27</span></a><ul><li><a href="#fixed-8"><span>Fixed</span></a></li></ul><a href="#0190---2022-04-27"><span>[0.19.0] -<wbr/> 2022-<wbr/>04-<wbr/>27</span></a><ul><li><a href="#added-26"><span>Added</span></a></li><li><a href="#changed-7"><span>Changed</span></a></li><li><a href="#breaking-4"><span>Breaking</span></a></li></ul><a href="#0180---2021-12-04"><span>[0.18.0] -<wbr/> 2021-<wbr/>12-<wbr/>04</span></a><ul><li><a href="#added-27"><span>Added</span></a></li></ul><a href="#0171---2021-10-31"><span>[0.17.1] -<wbr/> 2021-<wbr/>10-<wbr/>31</span></a><ul><li><a href="#fixed-9"><span>Fixed</span></a></li></ul><a href="#0170---2021-10-31"><span>[0.17.0] -<wbr/> 2021-<wbr/>10-<wbr/>31</span></a><ul><li><a href="#added-28"><span>Added</span></a></li><li><a href="#changed-8"><span>Changed</span></a></li></ul><a href="#0160---2021-09-24"><span>[0.16.0] -<wbr/> 2021-<wbr/>09-<wbr/>24</span></a><ul><li><a href="#added-29"><span>Added</span></a></li></ul><a href="#0150---2021-07-04"><span>[0.15.0] -<wbr/> 2021-<wbr/>07-<wbr/>04</span></a><ul><li><a href="#added-30"><span>Added</span></a></li><li><a href="#changed-9"><span>Changed</span></a></li></ul><a href="#0141---2021-06-13"><span>[0.14.1] -<wbr/> 2021-<wbr/>06-<wbr/>13</span></a><ul><li><a href="#changed-10"><span>Changed</span></a></li></ul><a href="#0140---2021-06-05"><span>[0.14.0] -<wbr/> 2021-<wbr/>06-<wbr/>05</span></a><ul><li><a href="#changed-11"><span>Changed</span></a></li><li><a href="#added-31"><span>Added</span></a></li></ul><a href="#0132---2021-05-16"><span>[0.13.2] -<wbr/> 2021-<wbr/>05-<wbr/>16</span></a><ul><li><a href="#changed-12"><span>Changed</span></a></li></ul><a href="#0131---2021-04-14"><span>[0.13.1] -<wbr/> 2021-<wbr/>04-<wbr/>14</span></a><ul><li><a href="#changed-13"><span>Changed</span></a></li><li><a href="#dev-8"><span>Dev</span></a></li></ul><a href="#0130---2021-02-03"><span>[0.13.0] -<wbr/> 2021-<wbr/>02-<wbr/>03</span></a><ul><li><a href="#added-32"><span>Added</span></a></li></ul><a href="#0120---2021-01-19"><span>[0.12.0] -<wbr/> 2021-<wbr/>01-<wbr/>19</span></a><ul><li><a href="#added-33"><span>Added</span></a></li></ul><a href="#0110-beta2---2021-01-08"><span>[0.11.0-<wbr/>beta.2] -<wbr/> 2021-<wbr/>01-<wbr/>08</span></a><ul><li><a href="#dev-9"><span>Dev</span></a></li><li><a href="#changed-14"><span>Changed</span></a></li></ul><a href="#0101---2020-09-14"><span>[0.10.1] -<wbr/> 2020-<wbr/>09-<wbr/>14</span></a><ul><li><a href="#fixed-10"><span>Fixed</span></a></li></ul><a href="#0100---2020-09-14"><span>[0.10.0] -<wbr/> 2020-<wbr/>09-<wbr/>14</span></a><ul><li><a href="#added-34"><span>Added</span></a></li></ul><a href="#090---2020-07-09"><span>[0.9.0] -<wbr/> 2020-<wbr/>07-<wbr/>09</span></a><ul><li><a href="#added-35"><span>Added</span></a></li></ul><a href="#080---2020-03-13"><span>[0.8.0] -<wbr/> 2020-<wbr/>03-<wbr/>13</span></a><ul><li><a href="#fixed-11"><span>Fixed</span></a></li><li><a href="#changed-15"><span>Changed</span></a></li></ul><a href="#071---2020-03-12"><span>[0.7.1] -<wbr/> 2020-<wbr/>03-<wbr/>12</span></a><ul><li><a href="#fixed-12"><span>Fixed</span></a></li></ul><a href="#070---2020-03-10"><span>[0.7.0] -<wbr/> 2020-<wbr/>03-<wbr/>10</span></a><ul><li><a href="#added-36"><span>Added</span></a></li><li><a href="#changed-16"><span>Changed</span></a></li><li><a href="#removed"><span>Removed</span></a></li></ul><a href="#063---2019-08-29"><span>[0.6.3] -<wbr/> 2019-<wbr/>08-<wbr/>29</span></a><ul><li><a href="#fixed-13"><span>Fixed</span></a></li></ul><a href="#062---2019-06-06"><span>[0.6.2] -<wbr/> 2019-<wbr/>06-<wbr/>06</span></a><ul><li><a href="#fixed-14"><span>Fixed</span></a></li></ul><a href="#061---2019-06-05"><span>[0.6.1] -<wbr/> 2019-<wbr/>06-<wbr/>05</span></a><ul><li><a href="#fixed-15"><span>Fixed</span></a></li></ul><a href="#060---2019-05-12"><span>[0.6.0] -<wbr/> 2019-<wbr/>05-<wbr/>12</span></a><ul><li><a href="#added-37"><span>Added</span></a></li><li><a href="#changed-17"><span>Changed</span></a></li></ul><a href="#050---2019-04-09"><span>[0.5.0] -<wbr/> 2019-<wbr/>04-<wbr/>09</span></a><ul><li><a href="#added-38"><span>Added</span></a></li></ul><a href="#041---2019-01-31"><span>[0.4.1] -<wbr/> 2019-<wbr/>01-<wbr/>31</span></a><ul><li><a href="#fixed-16"><span>Fixed</span></a></li></ul><a href="#040---2019-01-30"><span>[0.4.0] -<wbr/> 2019-<wbr/>01-<wbr/>30</span></a><ul><li><a href="#added-39"><span>Added</span></a></li></ul><a href="#031---2018-12-09"><span>[0.3.1] -<wbr/> 2018-<wbr/>12-<wbr/>09</span></a><ul><li><a href="#fixed-17"><span>Fixed</span></a></li></ul><a href="#030---2018-12-09"><span>[0.3.0] -<wbr/> 2018-<wbr/>12-<wbr/>09</span></a><ul><li><a href="#fixed-18"><span>Fixed</span></a></li><li><a href="#changed-18"><span>Changed</span></a></li><li><a href="#added-40"><span>Added</span></a></li></ul><a href="#020-2018-12-09"><span>[0.2.0] 2018-<wbr/>12-<wbr/>09</span></a><ul><li><a href="#added-41"><span>Added</span></a></li><li><a href="#changed-19"><span>Changed</span></a></li></ul><a href="#012---2018-11-09"><span>[0.1.2] -<wbr/> 2018-<wbr/>11-<wbr/>09</span></a><ul><li><a href="#fixed-19"><span>Fixed</span></a></li></ul><a href="#011---2018-05-31"><span>[0.1.1] -<wbr/> 2018-<wbr/>05-<wbr/>31</span></a><ul><li><a href="#changed-20"><span>Changed</span></a></li></ul><a href="#010---2018-05-31"><span>[0.1.0] -<wbr/> 2018-<wbr/>05-<wbr/>31</span></a><ul><li><a href="#added-42"><span>Added</span></a></li></ul></div></details></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">@ezez/utils - v4.7.1</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
383
+ </div></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>On This Page</h3></summary><div class="tsd-accordion-details"><a href="#unreleased"><span>[UNRELEASED]</span></a><a href="#472---2025-10-16"><span>[4.7.2] -<wbr/> 2025-<wbr/>10-<wbr/>16</span></a><ul><li><a href="#fixed"><span>Fixed</span></a></li></ul><a href="#471---2025-10-16"><span>[4.7.1] -<wbr/> 2025-<wbr/>10-<wbr/>16</span></a><ul><li><a href="#fixed-1"><span>Fixed</span></a></li></ul><a href="#470---2025-10-16"><span>[4.7.0] -<wbr/> 2025-<wbr/>10-<wbr/>16</span></a><ul><li><a href="#added"><span>Added</span></a></li><li><a href="#changed"><span>Changed</span></a></li></ul><a href="#460---2025-10-10"><span>[4.6.0] -<wbr/> 2025-<wbr/>10-<wbr/>10</span></a><ul><li><a href="#added-1"><span>Added</span></a></li><li><a href="#changed-1"><span>Changed</span></a></li><li><a href="#dev"><span>Dev</span></a></li></ul><a href="#450---2025-05-08"><span>[4.5.0] -<wbr/> 2025-<wbr/>05-<wbr/>08</span></a><ul><li><a href="#added-2"><span>Added</span></a></li><li><a href="#fixed-2"><span>Fixed</span></a></li></ul><a href="#440---2025-03-23"><span>[4.4.0] -<wbr/> 2025-<wbr/>03-<wbr/>23</span></a><ul><li><a href="#added-3"><span>Added</span></a></li><li><a href="#dev-1"><span>Dev</span></a></li></ul><a href="#430---2025-03-04"><span>[4.3.0] -<wbr/> 2025-<wbr/>03-<wbr/>04</span></a><ul><li><a href="#added-4"><span>Added</span></a></li></ul><a href="#420---2025-03-04"><span>[4.2.0] -<wbr/> 2025-<wbr/>03-<wbr/>04</span></a><ul><li><a href="#added-5"><span>Added</span></a></li></ul><a href="#410---2024-05-31"><span>[4.1.0] -<wbr/> 2024-<wbr/>05-<wbr/>31</span></a><ul><li><a href="#fixed-3"><span>Fixed</span></a></li><li><a href="#added-6"><span>Added</span></a></li><li><a href="#changed-2"><span>Changed</span></a></li></ul><a href="#400---2024-05-16"><span>[4.0.0] -<wbr/> 2024-<wbr/>05-<wbr/>16</span></a><ul><li><a href="#breaking"><span>Breaking</span></a></li><li><a href="#changed-3"><span>Changed</span></a></li><li><a href="#added-7"><span>Added</span></a></li><li><a href="#dev-2"><span>Dev</span></a></li></ul><a href="#300---2024-03-25"><span>[3.0.0] -<wbr/> 2024-<wbr/>03-<wbr/>25</span></a><ul><li><a href="#breaking-1"><span>Breaking</span></a></li><li><a href="#added-8"><span>Added</span></a></li><li><a href="#dev-3"><span>Dev</span></a></li></ul><a href="#210---2023-10-29"><span>[2.1.0] -<wbr/> 2023-<wbr/>10-<wbr/>29</span></a><ul><li><a href="#added-9"><span>Added</span></a></li></ul><a href="#200---2023-10-09"><span>[2.0.0] -<wbr/> 2023-<wbr/>10-<wbr/>09</span></a><ul><li><a href="#breaking-2"><span>Breaking</span></a></li><li><a href="#added-10"><span>Added</span></a></li></ul><a href="#190---2023-07-07"><span>[1.9.0] -<wbr/> 2023-<wbr/>07-<wbr/>07</span></a><ul><li><a href="#added-11"><span>Added</span></a></li></ul><a href="#181---2023-06-24"><span>[1.8.1] -<wbr/> 2023-<wbr/>06-<wbr/>24</span></a><ul><li><a href="#fixed-4"><span>Fixed</span></a></li></ul><a href="#180---2023-06-03"><span>[1.8.0] -<wbr/> 2023-<wbr/>06-<wbr/>03</span></a><ul><li><a href="#added-12"><span>Added</span></a></li><li><a href="#dev-4"><span>Dev</span></a></li></ul><a href="#170---2023-05-22"><span>[1.7.0] -<wbr/> 2023-<wbr/>05-<wbr/>22</span></a><ul><li><a href="#added-13"><span>Added</span></a></li></ul><a href="#160---2023-05-12"><span>[1.6.0] -<wbr/> 2023-<wbr/>05-<wbr/>12</span></a><ul><li><a href="#added-14"><span>Added</span></a></li></ul><a href="#150---2023-05-12"><span>[1.5.0] -<wbr/> 2023-<wbr/>05-<wbr/>12</span></a><ul><li><a href="#added-15"><span>Added</span></a></li></ul><a href="#140---2023-05-11"><span>[1.4.0] -<wbr/> 2023-<wbr/>05-<wbr/>11</span></a><ul><li><a href="#added-16"><span>Added</span></a></li></ul><a href="#130---2023-05-07"><span>[1.3.0] -<wbr/> 2023-<wbr/>05-<wbr/>07</span></a><ul><li><a href="#added-17"><span>Added</span></a></li><li><a href="#dev-5"><span>Dev</span></a></li></ul><a href="#120---2023-03-01"><span>[1.2.0] -<wbr/> 2023-<wbr/>03-<wbr/>01</span></a><ul><li><a href="#added-18"><span>Added</span></a></li></ul><a href="#110---2023-02-20"><span>[1.1.0] -<wbr/> 2023-<wbr/>02-<wbr/>20</span></a><ul><li><a href="#added-19"><span>Added</span></a></li><li><a href="#changed-4"><span>Changed</span></a></li></ul><a href="#100---2023-02-19"><span>[1.0.0] -<wbr/> 2023-<wbr/>02-<wbr/>19</span></a><ul><li><a href="#added-20"><span>Added</span></a></li><li><a href="#breaking-3"><span>Breaking</span></a></li><li><a href="#changed-5"><span>Changed</span></a></li><li><a href="#dev-6"><span>Dev</span></a></li></ul><a href="#0241---2022-11-08"><span>[0.24.1] -<wbr/> 2022-<wbr/>11-<wbr/>08</span></a><ul><li><a href="#dev-7"><span>Dev</span></a></li></ul><a href="#0240---2022-09-23"><span>[0.24.0] -<wbr/> 2022-<wbr/>09-<wbr/>23</span></a><ul><li><a href="#added-21"><span>Added</span></a></li><li><a href="#changed-6"><span>Changed</span></a></li><li><a href="#fixed-5"><span>Fixed</span></a></li></ul><a href="#0232---2022-08-21"><span>[0.23.2] -<wbr/> 2022-<wbr/>08-<wbr/>21</span></a><ul><li><a href="#fixed-6"><span>Fixed</span></a></li></ul><a href="#0231---2022-07-17"><span>[0.23.1] -<wbr/> 2022-<wbr/>07-<wbr/>17</span></a><ul><li><a href="#fixed-7"><span>Fixed</span></a></li></ul><a href="#0230---2022-07-17"><span>[0.23.0] -<wbr/> 2022-<wbr/>07-<wbr/>17</span></a><ul><li><a href="#added-22"><span>Added</span></a></li></ul><a href="#0220---2022-07-16"><span>[0.22.0] -<wbr/> 2022-<wbr/>07-<wbr/>16</span></a><ul><li><a href="#added-23"><span>Added</span></a></li><li><a href="#fixed-8"><span>Fixed</span></a></li></ul><a href="#0210---2022-07-08"><span>[0.21.0] -<wbr/> 2022-<wbr/>07-<wbr/>08</span></a><ul><li><a href="#added-24"><span>Added</span></a></li></ul><a href="#0200---2022-07-03"><span>[0.20.0] -<wbr/> 2022-<wbr/>07-<wbr/>03</span></a><ul><li><a href="#added-25"><span>Added</span></a></li></ul><a href="#0191---2022-04-27"><span>[0.19.1] -<wbr/> 2022-<wbr/>04-<wbr/>27</span></a><ul><li><a href="#fixed-9"><span>Fixed</span></a></li></ul><a href="#0190---2022-04-27"><span>[0.19.0] -<wbr/> 2022-<wbr/>04-<wbr/>27</span></a><ul><li><a href="#added-26"><span>Added</span></a></li><li><a href="#changed-7"><span>Changed</span></a></li><li><a href="#breaking-4"><span>Breaking</span></a></li></ul><a href="#0180---2021-12-04"><span>[0.18.0] -<wbr/> 2021-<wbr/>12-<wbr/>04</span></a><ul><li><a href="#added-27"><span>Added</span></a></li></ul><a href="#0171---2021-10-31"><span>[0.17.1] -<wbr/> 2021-<wbr/>10-<wbr/>31</span></a><ul><li><a href="#fixed-10"><span>Fixed</span></a></li></ul><a href="#0170---2021-10-31"><span>[0.17.0] -<wbr/> 2021-<wbr/>10-<wbr/>31</span></a><ul><li><a href="#added-28"><span>Added</span></a></li><li><a href="#changed-8"><span>Changed</span></a></li></ul><a href="#0160---2021-09-24"><span>[0.16.0] -<wbr/> 2021-<wbr/>09-<wbr/>24</span></a><ul><li><a href="#added-29"><span>Added</span></a></li></ul><a href="#0150---2021-07-04"><span>[0.15.0] -<wbr/> 2021-<wbr/>07-<wbr/>04</span></a><ul><li><a href="#added-30"><span>Added</span></a></li><li><a href="#changed-9"><span>Changed</span></a></li></ul><a href="#0141---2021-06-13"><span>[0.14.1] -<wbr/> 2021-<wbr/>06-<wbr/>13</span></a><ul><li><a href="#changed-10"><span>Changed</span></a></li></ul><a href="#0140---2021-06-05"><span>[0.14.0] -<wbr/> 2021-<wbr/>06-<wbr/>05</span></a><ul><li><a href="#changed-11"><span>Changed</span></a></li><li><a href="#added-31"><span>Added</span></a></li></ul><a href="#0132---2021-05-16"><span>[0.13.2] -<wbr/> 2021-<wbr/>05-<wbr/>16</span></a><ul><li><a href="#changed-12"><span>Changed</span></a></li></ul><a href="#0131---2021-04-14"><span>[0.13.1] -<wbr/> 2021-<wbr/>04-<wbr/>14</span></a><ul><li><a href="#changed-13"><span>Changed</span></a></li><li><a href="#dev-8"><span>Dev</span></a></li></ul><a href="#0130---2021-02-03"><span>[0.13.0] -<wbr/> 2021-<wbr/>02-<wbr/>03</span></a><ul><li><a href="#added-32"><span>Added</span></a></li></ul><a href="#0120---2021-01-19"><span>[0.12.0] -<wbr/> 2021-<wbr/>01-<wbr/>19</span></a><ul><li><a href="#added-33"><span>Added</span></a></li></ul><a href="#0110-beta2---2021-01-08"><span>[0.11.0-<wbr/>beta.2] -<wbr/> 2021-<wbr/>01-<wbr/>08</span></a><ul><li><a href="#dev-9"><span>Dev</span></a></li><li><a href="#changed-14"><span>Changed</span></a></li></ul><a href="#0101---2020-09-14"><span>[0.10.1] -<wbr/> 2020-<wbr/>09-<wbr/>14</span></a><ul><li><a href="#fixed-11"><span>Fixed</span></a></li></ul><a href="#0100---2020-09-14"><span>[0.10.0] -<wbr/> 2020-<wbr/>09-<wbr/>14</span></a><ul><li><a href="#added-34"><span>Added</span></a></li></ul><a href="#090---2020-07-09"><span>[0.9.0] -<wbr/> 2020-<wbr/>07-<wbr/>09</span></a><ul><li><a href="#added-35"><span>Added</span></a></li></ul><a href="#080---2020-03-13"><span>[0.8.0] -<wbr/> 2020-<wbr/>03-<wbr/>13</span></a><ul><li><a href="#fixed-12"><span>Fixed</span></a></li><li><a href="#changed-15"><span>Changed</span></a></li></ul><a href="#071---2020-03-12"><span>[0.7.1] -<wbr/> 2020-<wbr/>03-<wbr/>12</span></a><ul><li><a href="#fixed-13"><span>Fixed</span></a></li></ul><a href="#070---2020-03-10"><span>[0.7.0] -<wbr/> 2020-<wbr/>03-<wbr/>10</span></a><ul><li><a href="#added-36"><span>Added</span></a></li><li><a href="#changed-16"><span>Changed</span></a></li><li><a href="#removed"><span>Removed</span></a></li></ul><a href="#063---2019-08-29"><span>[0.6.3] -<wbr/> 2019-<wbr/>08-<wbr/>29</span></a><ul><li><a href="#fixed-14"><span>Fixed</span></a></li></ul><a href="#062---2019-06-06"><span>[0.6.2] -<wbr/> 2019-<wbr/>06-<wbr/>06</span></a><ul><li><a href="#fixed-15"><span>Fixed</span></a></li></ul><a href="#061---2019-06-05"><span>[0.6.1] -<wbr/> 2019-<wbr/>06-<wbr/>05</span></a><ul><li><a href="#fixed-16"><span>Fixed</span></a></li></ul><a href="#060---2019-05-12"><span>[0.6.0] -<wbr/> 2019-<wbr/>05-<wbr/>12</span></a><ul><li><a href="#added-37"><span>Added</span></a></li><li><a href="#changed-17"><span>Changed</span></a></li></ul><a href="#050---2019-04-09"><span>[0.5.0] -<wbr/> 2019-<wbr/>04-<wbr/>09</span></a><ul><li><a href="#added-38"><span>Added</span></a></li></ul><a href="#041---2019-01-31"><span>[0.4.1] -<wbr/> 2019-<wbr/>01-<wbr/>31</span></a><ul><li><a href="#fixed-17"><span>Fixed</span></a></li></ul><a href="#040---2019-01-30"><span>[0.4.0] -<wbr/> 2019-<wbr/>01-<wbr/>30</span></a><ul><li><a href="#added-39"><span>Added</span></a></li></ul><a href="#031---2018-12-09"><span>[0.3.1] -<wbr/> 2018-<wbr/>12-<wbr/>09</span></a><ul><li><a href="#fixed-18"><span>Fixed</span></a></li></ul><a href="#030---2018-12-09"><span>[0.3.0] -<wbr/> 2018-<wbr/>12-<wbr/>09</span></a><ul><li><a href="#fixed-19"><span>Fixed</span></a></li><li><a href="#changed-18"><span>Changed</span></a></li><li><a href="#added-40"><span>Added</span></a></li></ul><a href="#020-2018-12-09"><span>[0.2.0] 2018-<wbr/>12-<wbr/>09</span></a><ul><li><a href="#added-41"><span>Added</span></a></li><li><a href="#changed-19"><span>Changed</span></a></li></ul><a href="#012---2018-11-09"><span>[0.1.2] -<wbr/> 2018-<wbr/>11-<wbr/>09</span></a><ul><li><a href="#fixed-20"><span>Fixed</span></a></li></ul><a href="#011---2018-05-31"><span>[0.1.1] -<wbr/> 2018-<wbr/>05-<wbr/>31</span></a><ul><li><a href="#changed-20"><span>Changed</span></a></li></ul><a href="#010---2018-05-31"><span>[0.1.0] -<wbr/> 2018-<wbr/>05-<wbr/>31</span></a><ul><li><a href="#added-42"><span>Added</span></a></li></ul></div></details></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">@ezez/utils - v4.7.2</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
@@ -1,6 +1,6 @@
1
- <!DOCTYPE html><html class="default" lang="en" data-base=".."><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>assertProps | @ezez/utils - v4.7.1</title><meta name="description" content="Documentation for @ezez/utils"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search"><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@ezez/utils - v4.7.1</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">@ezez/utils</a></li><li><a href="../modules/index.html">index</a></li><li><a href="index.assertProps.html">assertProps</a></li></ul><h1>Function assertProps</h1></div><section class="tsd-panel tsd-comment"><div class="tsd-comment tsd-typography"><p>Asserts that an object has the specified properties with the specified types. Ideal for quick runtime type checking
1
+ <!DOCTYPE html><html class="default" lang="en" data-base=".."><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>assertProps | @ezez/utils - v4.7.2</title><meta name="description" content="Documentation for @ezez/utils"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search"><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@ezez/utils - v4.7.2</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">@ezez/utils</a></li><li><a href="../modules/index.html">index</a></li><li><a href="index.assertProps.html">assertProps</a></li></ul><h1>Function assertProps</h1></div><section class="tsd-panel tsd-comment"><div class="tsd-comment tsd-typography"><p>Asserts that an object has the specified properties with the specified types. Ideal for quick runtime type checking
2
2
  of API responses if you don't need a full schema validation.</p>
3
3
  </div><div class="tsd-comment tsd-typography"><div class="tsd-tag-example"><h4 class="tsd-anchor-link"><a id="example" class="tsd-anchor"></a>Example<a href="#example" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="typescript"><span class="hl-0">const</span><span class="hl-1"> </span><span class="hl-8">validated</span><span class="hl-1"> = </span><span class="hl-2">assertProps</span><span class="hl-1">(</span><span class="hl-3">obj</span><span class="hl-1">, { </span><span class="hl-3">id:</span><span class="hl-1"> </span><span class="hl-7">&quot;string&quot;</span><span class="hl-1">, </span><span class="hl-3">age:</span><span class="hl-1"> </span><span class="hl-7">&quot;number&quot;</span><span class="hl-1"> });</span><br/><span class="hl-6">// obj is runtime validated and type is now narrowed down to { id: string; age: number }</span><br/><span class="hl-6">// if the assertion fails, an error is thrown</span><br/><span class="hl-3">console</span><span class="hl-1">.</span><span class="hl-2">log</span><span class="hl-1">(</span><span class="hl-3">obj</span><span class="hl-1">.</span><span class="hl-3">id</span><span class="hl-1">, </span><span class="hl-3">obj</span><span class="hl-1">.</span><span class="hl-3">age</span><span class="hl-1">);</span>
4
4
  </code><button type="button">Copy</button></pre>
5
5
 
6
- </div></div></section><section class="tsd-panel"><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="assertprops" class="tsd-anchor"></a><span class="tsd-kind-call-signature">assertProps</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="index.assertProps.html#assertpropst">T</a> <span class="tsd-signature-keyword">extends</span> <span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">&quot;string&quot;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;number&quot;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;boolean&quot;</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><br/>    <span class="tsd-kind-parameter">obj</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-kind-parameter">schema</span><span class="tsd-signature-symbol">:</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="index.assertProps.html#assertpropst">T</a><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-keyword">asserts</span> <span class="tsd-kind-parameter">obj</span> <span class="tsd-signature-keyword">is</span> <span class="tsd-signature-symbol">{</span><br/>    <span class="tsd-signature-symbol">[</span><span class="tsd-kind-type-parameter">K</span> <span class="tsd-signature-keyword">in</span> <span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">symbol</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">:</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="index.assertProps.html#assertpropst">T</a><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type tsd-kind-type-parameter">K</span><span class="tsd-signature-symbol">]</span> <span class="tsd-signature-keyword">extends</span> <span class="tsd-signature-type">&quot;string&quot;</span><br/>        <span class="tsd-signature-symbol">?</span> <span class="tsd-signature-type">string</span><br/>        <span class="tsd-signature-symbol">:</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="index.assertProps.html#assertpropst">T</a><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type tsd-kind-type-parameter">K</span><span class="tsd-signature-symbol">]</span> <span class="tsd-signature-keyword">extends</span> <span class="tsd-signature-type">&quot;number&quot;</span><br/>            <span class="tsd-signature-symbol">?</span> <span class="tsd-signature-type">number</span><br/>            <span class="tsd-signature-symbol">:</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="index.assertProps.html#assertpropst">T</a><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type tsd-kind-type-parameter">K</span><span class="tsd-signature-symbol">]</span> <span class="tsd-signature-keyword">extends</span> <span class="tsd-signature-type">&quot;boolean&quot;</span> <span class="tsd-signature-symbol">?</span> <span class="tsd-signature-type">boolean</span> <span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">never</span><br/><span class="tsd-signature-symbol">}</span><a href="#assertprops" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><section class="tsd-panel"><h4>Type Parameters</h4><ul class="tsd-type-parameter-list"><li><span><a id="assertpropst" class="tsd-anchor"></a><span class="tsd-kind-type-parameter">T</span><span class="tsd-signature-keyword"> extends </span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">&quot;string&quot;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;number&quot;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;boolean&quot;</span><span class="tsd-signature-symbol">&gt;</span></span></li></ul></section><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">obj</span>: <span class="tsd-signature-type">unknown</span></span></li><li><span><span class="tsd-kind-parameter">schema</span>: <a class="tsd-signature-type tsd-kind-type-parameter" href="index.assertProps.html#assertpropst">T</a></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-keyword">asserts</span> <span class="tsd-kind-parameter">obj</span> <span class="tsd-signature-keyword">is</span> <span class="tsd-signature-symbol">{</span><br/>    <span class="tsd-signature-symbol">[</span><span class="tsd-kind-type-parameter">K</span> <span class="tsd-signature-keyword">in</span> <span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">symbol</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">:</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="index.assertProps.html#assertpropst">T</a><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type tsd-kind-type-parameter">K</span><span class="tsd-signature-symbol">]</span> <span class="tsd-signature-keyword">extends</span> <span class="tsd-signature-type">&quot;string&quot;</span><br/>        <span class="tsd-signature-symbol">?</span> <span class="tsd-signature-type">string</span><br/>        <span class="tsd-signature-symbol">:</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="index.assertProps.html#assertpropst">T</a><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type tsd-kind-type-parameter">K</span><span class="tsd-signature-symbol">]</span> <span class="tsd-signature-keyword">extends</span> <span class="tsd-signature-type">&quot;number&quot;</span><br/>            <span class="tsd-signature-symbol">?</span> <span class="tsd-signature-type">number</span><br/>            <span class="tsd-signature-symbol">:</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="index.assertProps.html#assertpropst">T</a><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type tsd-kind-type-parameter">K</span><span class="tsd-signature-symbol">]</span> <span class="tsd-signature-keyword">extends</span> <span class="tsd-signature-type">&quot;boolean&quot;</span> <span class="tsd-signature-symbol">?</span> <span class="tsd-signature-type">boolean</span> <span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">never</span><br/><span class="tsd-signature-symbol">}</span></h4><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/dzek69/ezez-utils/blob/1cd5c71656bc313fc9d0a787a5487d184123358a/src/assertProps.ts#L26">assertProps.ts:26</a></li></ul></aside></li></ul></section></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">@ezez/utils - v4.7.1</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
6
+ </div></div></section><section class="tsd-panel"><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="assertprops" class="tsd-anchor"></a><span class="tsd-kind-call-signature">assertProps</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="index.assertProps.html#assertpropst">T</a> <span class="tsd-signature-keyword">extends</span> <span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">&quot;string&quot;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;number&quot;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;boolean&quot;</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><br/>    <span class="tsd-kind-parameter">obj</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-kind-parameter">schema</span><span class="tsd-signature-symbol">:</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="index.assertProps.html#assertpropst">T</a><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-keyword">asserts</span> <span class="tsd-kind-parameter">obj</span> <span class="tsd-signature-keyword">is</span> <span class="tsd-signature-symbol">{</span><br/>    <span class="tsd-signature-symbol">[</span><span class="tsd-kind-type-parameter">K</span> <span class="tsd-signature-keyword">in</span> <span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">symbol</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">:</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="index.assertProps.html#assertpropst">T</a><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type tsd-kind-type-parameter">K</span><span class="tsd-signature-symbol">]</span> <span class="tsd-signature-keyword">extends</span> <span class="tsd-signature-type">&quot;string&quot;</span><br/>        <span class="tsd-signature-symbol">?</span> <span class="tsd-signature-type">string</span><br/>        <span class="tsd-signature-symbol">:</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="index.assertProps.html#assertpropst">T</a><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type tsd-kind-type-parameter">K</span><span class="tsd-signature-symbol">]</span> <span class="tsd-signature-keyword">extends</span> <span class="tsd-signature-type">&quot;number&quot;</span><br/>            <span class="tsd-signature-symbol">?</span> <span class="tsd-signature-type">number</span><br/>            <span class="tsd-signature-symbol">:</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="index.assertProps.html#assertpropst">T</a><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type tsd-kind-type-parameter">K</span><span class="tsd-signature-symbol">]</span> <span class="tsd-signature-keyword">extends</span> <span class="tsd-signature-type">&quot;boolean&quot;</span> <span class="tsd-signature-symbol">?</span> <span class="tsd-signature-type">boolean</span> <span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">never</span><br/><span class="tsd-signature-symbol">}</span><a href="#assertprops" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><section class="tsd-panel"><h4>Type Parameters</h4><ul class="tsd-type-parameter-list"><li><span><a id="assertpropst" class="tsd-anchor"></a><span class="tsd-kind-type-parameter">T</span><span class="tsd-signature-keyword"> extends </span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">&quot;string&quot;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;number&quot;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;boolean&quot;</span><span class="tsd-signature-symbol">&gt;</span></span></li></ul></section><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">obj</span>: <span class="tsd-signature-type">unknown</span></span></li><li><span><span class="tsd-kind-parameter">schema</span>: <a class="tsd-signature-type tsd-kind-type-parameter" href="index.assertProps.html#assertpropst">T</a></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-keyword">asserts</span> <span class="tsd-kind-parameter">obj</span> <span class="tsd-signature-keyword">is</span> <span class="tsd-signature-symbol">{</span><br/>    <span class="tsd-signature-symbol">[</span><span class="tsd-kind-type-parameter">K</span> <span class="tsd-signature-keyword">in</span> <span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">symbol</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">:</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="index.assertProps.html#assertpropst">T</a><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type tsd-kind-type-parameter">K</span><span class="tsd-signature-symbol">]</span> <span class="tsd-signature-keyword">extends</span> <span class="tsd-signature-type">&quot;string&quot;</span><br/>        <span class="tsd-signature-symbol">?</span> <span class="tsd-signature-type">string</span><br/>        <span class="tsd-signature-symbol">:</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="index.assertProps.html#assertpropst">T</a><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type tsd-kind-type-parameter">K</span><span class="tsd-signature-symbol">]</span> <span class="tsd-signature-keyword">extends</span> <span class="tsd-signature-type">&quot;number&quot;</span><br/>            <span class="tsd-signature-symbol">?</span> <span class="tsd-signature-type">number</span><br/>            <span class="tsd-signature-symbol">:</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="index.assertProps.html#assertpropst">T</a><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type tsd-kind-type-parameter">K</span><span class="tsd-signature-symbol">]</span> <span class="tsd-signature-keyword">extends</span> <span class="tsd-signature-type">&quot;boolean&quot;</span> <span class="tsd-signature-symbol">?</span> <span class="tsd-signature-type">boolean</span> <span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">never</span><br/><span class="tsd-signature-symbol">}</span></h4><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/dzek69/ezez-utils/blob/b7b4c69d1ce8fb253fe901a33ef542bce3796d54/src/assertProps.ts#L26">assertProps.ts:26</a></li></ul></aside></li></ul></section></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">@ezez/utils - v4.7.2</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>