@vvlad1973/simple-logger 2.1.7 → 2.1.9

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 (60) hide show
  1. package/.markdownlint.json +9 -0
  2. package/CHANGELOG.md +173 -173
  3. package/dist/__test__/simple-logger.test.js +65 -65
  4. package/dist/classes/simple-logger.d.ts +125 -125
  5. package/dist/classes/simple-logger.js +294 -289
  6. package/dist/classes/simple-logger.js.map +1 -1
  7. package/dist/constants/constants.d.ts +9 -9
  8. package/dist/constants/constants.js +9 -9
  9. package/dist/helpers/helpers.d.ts +31 -31
  10. package/dist/helpers/helpers.js +80 -80
  11. package/dist/helpers/validators.d.ts +17 -17
  12. package/dist/helpers/validators.js +26 -26
  13. package/dist/index.d.ts +5 -5
  14. package/dist/index.js +5 -5
  15. package/dist/simple-logger.d.ts +80 -80
  16. package/dist/simple-logger.js +151 -151
  17. package/dist/types/simple-logger.types.d.ts +33 -33
  18. package/dist/types/simple-logger.types.js +1 -1
  19. package/docs/typedoc/assets/main.js +60 -0
  20. package/docs/typedoc/assets/search.js +1 -0
  21. package/docs/{assets → typedoc/assets}/style.css +248 -226
  22. package/docs/typedoc/classes/SimpleLogger.html +37 -0
  23. package/docs/typedoc/hierarchy.html +1 -0
  24. package/docs/typedoc/index.html +68 -0
  25. package/docs/typedoc/interfaces/ExternalLogger.html +10 -0
  26. package/docs/typedoc/interfaces/LogFn.html +1 -0
  27. package/docs/typedoc/interfaces/LoggerOptions.html +6 -0
  28. package/docs/typedoc/modules.html +1 -0
  29. package/docs/typedoc/types/LoggerFactory.html +1 -0
  30. package/docs/typedoc/types/LoggerLevel.html +1 -0
  31. package/docs/typedoc/types/PreparedLogCall.html +1 -0
  32. package/docs/typedoc/variables/LoggerLevels.html +1 -0
  33. package/eslint.config.js +63 -0
  34. package/package.json +27 -10
  35. package/src/__test__/simple-logger.test.ts +1 -1
  36. package/src/classes/simple-logger.ts +27 -16
  37. package/src/helpers/helpers.ts +1 -1
  38. package/src/helpers/validators.ts +1 -1
  39. package/src/index.ts +1 -1
  40. package/src/types/simple-logger.types.ts +2 -2
  41. package/typedoc.json +1 -1
  42. package/vitest.config.ts +35 -0
  43. package/docs/assets/main.js +0 -60
  44. package/docs/assets/search.js +0 -1
  45. package/docs/classes/SimpleLogger.html +0 -37
  46. package/docs/index.html +0 -68
  47. package/docs/interfaces/ExternalLogger.html +0 -10
  48. package/docs/interfaces/LogFn.html +0 -1
  49. package/docs/interfaces/LoggerOptions.html +0 -5
  50. package/docs/modules.html +0 -1
  51. package/docs/types/LoggerFactory.html +0 -1
  52. package/docs/types/LoggerLevel.html +0 -1
  53. package/docs/types/PreparedLogCall.html +0 -1
  54. package/docs/variables/LoggerLevels.html +0 -1
  55. /package/docs/{.nojekyll → typedoc/.nojekyll} +0 -0
  56. /package/docs/{assets → typedoc/assets}/hierarchy.js +0 -0
  57. /package/docs/{assets → typedoc/assets}/highlight.css +0 -0
  58. /package/docs/{assets → typedoc/assets}/icons.js +0 -0
  59. /package/docs/{assets → typedoc/assets}/icons.svg +0 -0
  60. /package/docs/{assets → typedoc/assets}/navigation.js +0 -0
@@ -0,0 +1 @@
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>LoggerFactory | @vvlad1973/simple-logger - v2.1.8</title><meta name="description" content="Documentation for @vvlad1973/simple-logger"/><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(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">@vvlad1973/simple-logger - v2.1.8</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="" aria-current="page">LoggerFactory</a></li></ul><h1>Type Alias LoggerFactory</h1></div><div class="tsd-signature"><span class="tsd-kind-type-alias">LoggerFactory</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">options</span><span class="tsd-signature-symbol">:</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">unknown</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=&gt;</span> <a href="../interfaces/ExternalLogger.html" class="tsd-signature-type tsd-kind-interface">ExternalLogger</a></div><div class="tsd-type-declaration"><h4>Type Declaration</h4><ul class="tsd-parameters"><li class="tsd-parameter-signature"><ul class="tsd-signatures"><li class="tsd-signature" id="__type"><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">options</span><span class="tsd-signature-symbol">:</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">unknown</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <a href="../interfaces/ExternalLogger.html" class="tsd-signature-type tsd-kind-interface">ExternalLogger</a></li><li class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">options</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">unknown</span><span class="tsd-signature-symbol">&gt;</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <a href="../interfaces/ExternalLogger.html" class="tsd-signature-type tsd-kind-interface">ExternalLogger</a></h4></li></ul></li></ul></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vvlad1973/vvlad1973-simple-logger/blob/362b3e5d224e3d1374cbb44c2170f51f61127482/src/types/simple-logger.types.ts#L25">types/simple-logger.types.ts:25</a></li></ul></aside></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>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">@vvlad1973/simple-logger - v2.1.8</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>
@@ -0,0 +1 @@
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>LoggerLevel | @vvlad1973/simple-logger - v2.1.8</title><meta name="description" content="Documentation for @vvlad1973/simple-logger"/><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(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">@vvlad1973/simple-logger - v2.1.8</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="" aria-current="page">LoggerLevel</a></li></ul><h1>Type Alias LoggerLevel</h1></div><div class="tsd-signature"><span class="tsd-kind-type-alias">LoggerLevel</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-keyword">typeof</span> <a href="../variables/LoggerLevels.html" class="tsd-signature-type tsd-kind-variable">LoggerLevels</a><span class="tsd-signature-symbol">[</span><span class="tsd-signature-keyword">keyof</span> <span class="tsd-signature-keyword">typeof</span> <a href="../variables/LoggerLevels.html" class="tsd-signature-type tsd-kind-variable">LoggerLevels</a><span class="tsd-signature-symbol">]</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vvlad1973/vvlad1973-simple-logger/blob/362b3e5d224e3d1374cbb44c2170f51f61127482/src/types/simple-logger.types.ts#L3">types/simple-logger.types.ts:3</a></li></ul></aside></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>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">@vvlad1973/simple-logger - v2.1.8</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>
@@ -0,0 +1 @@
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>PreparedLogCall | @vvlad1973/simple-logger - v2.1.8</title><meta name="description" content="Documentation for @vvlad1973/simple-logger"/><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(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">@vvlad1973/simple-logger - v2.1.8</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="" aria-current="page">PreparedLogCall</a></li></ul><h1>Type Alias PreparedLogCall</h1></div><div class="tsd-signature"><span class="tsd-kind-type-alias">PreparedLogCall</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-symbol">...</span><span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">]</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">object</span><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-symbol">...</span><span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">]</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">null</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vvlad1973/vvlad1973-simple-logger/blob/362b3e5d224e3d1374cbb44c2170f51f61127482/src/types/simple-logger.types.ts#L43">types/simple-logger.types.ts:43</a></li></ul></aside></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>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">@vvlad1973/simple-logger - v2.1.8</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>
@@ -0,0 +1 @@
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>LoggerLevels | @vvlad1973/simple-logger - v2.1.8</title><meta name="description" content="Documentation for @vvlad1973/simple-logger"/><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(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">@vvlad1973/simple-logger - v2.1.8</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="" aria-current="page">LoggerLevels</a></li></ul><h1>Variable LoggerLevels<code class="tsd-tag">Const</code></h1></div><div class="tsd-signature"><span class="tsd-kind-variable">LoggerLevels</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{</span><br/>    <span class="tsd-kind-property">DEBUG</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">&quot;debug&quot;</span><span class="tsd-signature-symbol">;</span><br/>    <span class="tsd-kind-property">ERROR</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">&quot;error&quot;</span><span class="tsd-signature-symbol">;</span><br/>    <span class="tsd-kind-property">FATAL</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">&quot;fatal&quot;</span><span class="tsd-signature-symbol">;</span><br/>    <span class="tsd-kind-property">INFO</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">&quot;info&quot;</span><span class="tsd-signature-symbol">;</span><br/>    <span class="tsd-kind-property">SILENT</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">&quot;silent&quot;</span><span class="tsd-signature-symbol">;</span><br/>    <span class="tsd-kind-property">TRACE</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">&quot;trace&quot;</span><span class="tsd-signature-symbol">;</span><br/>    <span class="tsd-kind-property">WARN</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">&quot;warn&quot;</span><span class="tsd-signature-symbol">;</span><br/><span class="tsd-signature-symbol">}</span><span class="tsd-signature-symbol"> = ...</span></div><div class="tsd-type-declaration"><h4>Type Declaration</h4><ul class="tsd-parameters"><li class="tsd-parameter"><h5 id="debug"><code class="tsd-tag">Readonly</code><span class="tsd-kind-property">DEBUG</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">&quot;debug&quot;</span></h5></li><li class="tsd-parameter"><h5 id="error"><code class="tsd-tag">Readonly</code><span class="tsd-kind-property">ERROR</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">&quot;error&quot;</span></h5></li><li class="tsd-parameter"><h5 id="fatal"><code class="tsd-tag">Readonly</code><span class="tsd-kind-property">FATAL</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">&quot;fatal&quot;</span></h5></li><li class="tsd-parameter"><h5 id="info"><code class="tsd-tag">Readonly</code><span class="tsd-kind-property">INFO</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">&quot;info&quot;</span></h5></li><li class="tsd-parameter"><h5 id="silent"><code class="tsd-tag">Readonly</code><span class="tsd-kind-property">SILENT</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">&quot;silent&quot;</span></h5></li><li class="tsd-parameter"><h5 id="trace"><code class="tsd-tag">Readonly</code><span class="tsd-kind-property">TRACE</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">&quot;trace&quot;</span></h5></li><li class="tsd-parameter"><h5 id="warn"><code class="tsd-tag">Readonly</code><span class="tsd-kind-property">WARN</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">&quot;warn&quot;</span></h5></li></ul></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vvlad1973/vvlad1973-simple-logger/blob/362b3e5d224e3d1374cbb44c2170f51f61127482/src/constants/constants.ts#L1">constants/constants.ts:1</a></li></ul></aside></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>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">@vvlad1973/simple-logger - v2.1.8</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>
@@ -0,0 +1,63 @@
1
+ /**
2
+ * ESLint configuration for @vvlad1973/simple-logger
3
+ * @module eslint.config
4
+ */
5
+
6
+ import { fixupPluginRules } from '@eslint/compat';
7
+ import love from 'eslint-config-love';
8
+ import tseslint from '@typescript-eslint/eslint-plugin';
9
+ import tsparser from '@typescript-eslint/parser';
10
+ import eslintComments from 'eslint-plugin-eslint-comments';
11
+ import n from 'eslint-plugin-n';
12
+ import importPlugin from 'eslint-plugin-import';
13
+ import promisePlugin from 'eslint-plugin-promise';
14
+
15
+ export default [
16
+ {
17
+ ignores: ['dist/**', 'node_modules/**', 'docs/**', 'coverage/**', '*.js', '!eslint.config.js']
18
+ },
19
+ {
20
+ files: ['src/**/*.ts'],
21
+ languageOptions: {
22
+ parser: tsparser,
23
+ parserOptions: {
24
+ project: './tsconfig.json',
25
+ tsconfigRootDir: import.meta.dirname
26
+ }
27
+ },
28
+ plugins: {
29
+ '@typescript-eslint': tseslint,
30
+ 'eslint-comments': fixupPluginRules(eslintComments),
31
+ 'n': fixupPluginRules(n),
32
+ 'import': fixupPluginRules(importPlugin),
33
+ 'promise': fixupPluginRules(promisePlugin)
34
+ },
35
+ rules: {
36
+ ...love.rules,
37
+ '@typescript-eslint/no-explicit-any': 'warn',
38
+ '@typescript-eslint/explicit-function-return-type': 'off',
39
+ '@typescript-eslint/strict-boolean-expressions': 'off',
40
+ '@typescript-eslint/no-confusing-void-expression': 'off',
41
+ '@typescript-eslint/no-magic-numbers': 'off',
42
+ '@typescript-eslint/init-declarations': 'off',
43
+ '@typescript-eslint/no-empty-function': 'off',
44
+ '@typescript-eslint/no-unsafe-member-access': 'warn',
45
+ '@typescript-eslint/no-unsafe-call': 'warn',
46
+ '@typescript-eslint/no-unsafe-assignment': 'warn',
47
+ '@typescript-eslint/no-unsafe-type-assertion': 'warn',
48
+ '@typescript-eslint/prefer-destructuring': 'off',
49
+ '@typescript-eslint/unbound-method': 'warn',
50
+ '@typescript-eslint/no-unnecessary-condition': 'warn',
51
+ '@typescript-eslint/consistent-type-assertions': 'warn',
52
+ '@typescript-eslint/no-unused-vars': 'warn',
53
+ '@typescript-eslint/restrict-template-expressions': 'warn',
54
+ '@typescript-eslint/prefer-nullish-coalescing': 'warn',
55
+ '@typescript-eslint/no-unnecessary-type-parameters': 'warn',
56
+ '@typescript-eslint/no-unsafe-function-type': 'warn',
57
+ 'no-console': 'off',
58
+ 'no-negated-condition': 'off',
59
+ 'no-param-reassign': 'off',
60
+ 'complexity': ['warn', 25]
61
+ }
62
+ }
63
+ ];
package/package.json CHANGED
@@ -1,12 +1,19 @@
1
1
  {
2
2
  "name": "@vvlad1973/simple-logger",
3
- "version": "2.1.7",
3
+ "version": "2.1.9",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "type": "module",
7
7
  "scripts": {
8
- "test": "npm run build && node --loader ts-node/esm --test",
8
+ "test": "vitest run",
9
+ "test:watch": "vitest",
10
+ "test:coverage": "vitest run --coverage",
11
+ "test:ui": "vitest --ui",
9
12
  "build": "tsc",
13
+ "lint": "eslint src/**/*.ts",
14
+ "lint:fix": "eslint src/**/*.ts --fix",
15
+ "lint:md": "markdownlint \"**/*.md\" --ignore node_modules",
16
+ "lint:md:fix": "markdownlint \"**/*.md\" --ignore node_modules --fix",
10
17
  "doc": "npx typedoc",
11
18
  "changelog": "npx gen-changelog",
12
19
  "release": "npm run changelog && git add CHANGELOG.md && commit-and-tag-version",
@@ -18,17 +25,27 @@
18
25
  "license": "MIT with Commercial Use",
19
26
  "description": "A simple logging utility for JavaScript applications, providing customizable log levels and flexible external logger integration.",
20
27
  "devDependencies": {
21
- "@types/node": "^22.15.3",
22
- "@typescript-eslint/parser": "^7.18.0",
23
- "@vvlad1973/gen-changelog": "^1.0.2",
28
+ "@eslint/compat": "^2.0.0",
29
+ "@types/node": "^25.0.3",
30
+ "@typescript-eslint/eslint-plugin": "^8.50.0",
31
+ "@typescript-eslint/parser": "^8.50.0",
32
+ "@vitest/coverage-v8": "^4.0.16",
33
+ "@vvlad1973/gen-changelog": "^1.1.5",
34
+ "eslint": "^9.39.2",
35
+ "eslint-config-love": "^140.0.0",
36
+ "eslint-plugin-eslint-comments": "^3.2.0",
37
+ "eslint-plugin-import": "^2.32.0",
38
+ "eslint-plugin-n": "^17.23.1",
39
+ "eslint-plugin-promise": "^7.2.1",
40
+ "markdownlint-cli": "^0.47.0",
24
41
  "ts-node": "^10.9.2",
25
- "typedoc": "^0.27.9",
26
- "typescript": "^5.8.3",
27
- "vitest": "^3.1.2"
42
+ "typedoc": "^0.28.15",
43
+ "typescript": "^5.9.3",
44
+ "vitest": "^4.0.16"
28
45
  },
29
46
  "dependencies": {
30
- "chalk": "^5.4.1",
31
- "vvlad1973-utils": "^2.7.0"
47
+ "@vvlad1973/utils": "^5.1.0",
48
+ "chalk": "^5.6.2"
32
49
  },
33
50
  "commit-and-tag-version": {
34
51
  "skip": {
@@ -1,6 +1,6 @@
1
1
  import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
2
2
  import SimpleLogger from '../classes/simple-logger.js';
3
- import { ExternalLogger } from '../types/simple-logger.types.js';
3
+ import type { ExternalLogger } from '../types/simple-logger.types.js';
4
4
 
5
5
  describe('SimpleLogger', () => {
6
6
  let consoleSpy: ReturnType<typeof vi.spyOn>;
@@ -3,8 +3,8 @@
3
3
  * @module SimpleLogger
4
4
  */
5
5
 
6
- import util from 'util';
7
- import { getCallerName } from 'vvlad1973-utils';
6
+ import util from 'node:util';
7
+ import { getCallerName } from '@vvlad1973/utils';
8
8
  import { hasChild, isValidLogger } from '../helpers/validators.js';
9
9
  import {
10
10
  extractContext,
@@ -14,11 +14,12 @@ import {
14
14
  } from '../helpers/helpers.js';
15
15
  import { LoggerLevels } from '../constants/constants.js';
16
16
  import {
17
- ExternalLogger,
18
- LogFn,
19
- LoggerFactory,
20
- LoggerLevel,
21
- LoggerOptions,
17
+ type ExternalLogger,
18
+ type LogFn,
19
+ type LoggerFactory,
20
+ type LoggerLevel,
21
+ type LoggerOptions,
22
+ PreparedLogCall,
22
23
  } from '../types/simple-logger.types.js';
23
24
 
24
25
  export default class SimpleLogger {
@@ -106,10 +107,14 @@ export default class SimpleLogger {
106
107
  ...restOptions
107
108
  } = options;
108
109
 
109
- const hasParams = level || msgPrefix || Object.keys(bindings).length > 0;
110
+ const hasParams =
111
+ level ||
112
+ msgPrefix ||
113
+ transport ||
114
+ Object.keys(bindings).length > 0 ||
115
+ Object.keys(restOptions).length > 0;
110
116
  const effectiveBindings = {
111
117
  ...bindings,
112
- ...(msgPrefix ? { msgPrefix } : {}),
113
118
  };
114
119
 
115
120
  this.bindings = effectiveBindings;
@@ -129,6 +134,7 @@ export default class SimpleLogger {
129
134
  level,
130
135
  ...restOptions,
131
136
  ...(transport ? { transport } : {}),
137
+ ...(msgPrefix ? { msgPrefix } : {}),
132
138
  });
133
139
  this.isExternal = true;
134
140
  this.setLevel(this.resolveEffectiveLevel(this.logger, level));
@@ -156,11 +162,18 @@ export default class SimpleLogger {
156
162
 
157
163
  // CASE 5: логгер с .child()
158
164
  if (hasChild(externalLogger)) {
159
- this.logger = externalLogger.child({
160
- ...effectiveBindings,
165
+ const childOptions = {
166
+ ...(level ? { level } : {}),
161
167
  ...restOptions,
162
168
  ...(transport ? { transport } : {}),
163
- });
169
+ ...(msgPrefix ? { msgPrefix } : {}),
170
+ };
171
+
172
+ // Pass transports/options separately so pino treats them as logger options, not bindings
173
+ this.logger = externalLogger.child(
174
+ effectiveBindings,
175
+ Object.keys(childOptions).length > 0 ? childOptions : undefined
176
+ );
164
177
  this.isExternal = true;
165
178
  this.setLevel(this.resolveEffectiveLevel(this.logger, level));
166
179
  return;
@@ -216,7 +229,7 @@ export default class SimpleLogger {
216
229
  const prepared = prepareLogCall(args);
217
230
 
218
231
  if (prepared !== null) {
219
- (method as (...args: unknown[]) => void)(...prepared);
232
+ (method as (...args: unknown[]) => void).apply(this.logger, prepared);
220
233
  } else {
221
234
  console.warn(`Invalid log arguments for "${level}"`, args);
222
235
  }
@@ -318,7 +331,6 @@ export default class SimpleLogger {
318
331
  return new SimpleLogger(childLogger, {
319
332
  level: this.getLevel(),
320
333
  bindings: merged,
321
- msgPrefix: this.msgPrefix,
322
334
  });
323
335
  }
324
336
  }
@@ -326,7 +338,6 @@ export default class SimpleLogger {
326
338
  return new SimpleLogger(this.logger as ExternalLogger, {
327
339
  level: this.getLevel(),
328
340
  bindings: merged,
329
- msgPrefix: this.msgPrefix,
330
341
  });
331
342
  }
332
343
 
@@ -337,7 +348,7 @@ export default class SimpleLogger {
337
348
  * @return {void}
338
349
  */
339
350
  public logFunctionStart(name?: string): void {
340
- const caller = name || getCallerName();
351
+ const caller = name ?? getCallerName();
341
352
  this.trace(`Function start: ${caller}`);
342
353
  }
343
354
 
@@ -1,5 +1,5 @@
1
1
  import chalk from 'chalk';
2
- import { LoggerLevel, PreparedLogCall } from '../types/simple-logger.types.js';
2
+ import type { LoggerLevel, PreparedLogCall } from '../types/simple-logger.types.js';
3
3
  import { LoggerLevels } from '../constants/constants.js';
4
4
 
5
5
  /**
@@ -1,5 +1,5 @@
1
1
  import { LoggerLevels } from '../constants/constants.js';
2
- import { ExternalLogger } from '../types/simple-logger.types.js';
2
+ import type { ExternalLogger } from '../types/simple-logger.types.js';
3
3
 
4
4
  /**
5
5
  * Checks if the provided logger is a valid ExternalLogger instance.
package/src/index.ts CHANGED
@@ -3,5 +3,5 @@ import SimpleLogger from './classes/simple-logger.js';
3
3
  export default SimpleLogger;
4
4
  export { SimpleLogger };
5
5
 
6
- export * from './types/simple-logger.types.js';
6
+ export type * from './types/simple-logger.types.js';
7
7
  export * from './constants/constants.js';
@@ -1,4 +1,4 @@
1
- import { LoggerLevels } from '../constants/constants';
1
+ import type { LoggerLevels } from '../constants/constants';
2
2
 
3
3
  export type LoggerLevel = (typeof LoggerLevels)[keyof typeof LoggerLevels];
4
4
 
@@ -19,7 +19,7 @@ export interface ExternalLogger {
19
19
 
20
20
  level?: string;
21
21
 
22
- child?(bindings: Record<string, unknown>): ExternalLogger;
22
+ child?: (bindings: Record<string, unknown>, options?: Record<string, unknown>) => ExternalLogger;
23
23
  }
24
24
 
25
25
  export type LoggerFactory = (
package/typedoc.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "entryPoints": [
3
3
  "src/index.ts"
4
4
  ],
5
- "out": "docs",
5
+ "out": "docs/typedoc",
6
6
  "includeVersion": true,
7
7
 
8
8
  }
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Vitest configuration
3
+ * @module vitest.config
4
+ */
5
+
6
+ import { defineConfig } from 'vitest/config';
7
+
8
+ export default defineConfig({
9
+ test: {
10
+ globals: true,
11
+ environment: 'node',
12
+ include: ['src/**/*.test.ts'],
13
+ exclude: ['node_modules/**', 'dist/**', 'docs/**'],
14
+ coverage: {
15
+ provider: 'v8',
16
+ reporter: ['text', 'json', 'html', 'lcov'],
17
+ include: ['src/**/*.ts'],
18
+ exclude: [
19
+ 'node_modules/**',
20
+ 'dist/**',
21
+ 'docs/**',
22
+ '**/*.test.ts',
23
+ '**/*.config.ts',
24
+ '**/*.config.js',
25
+ 'src/__test__/**'
26
+ ],
27
+ thresholds: {
28
+ lines: 80,
29
+ functions: 80,
30
+ branches: 80,
31
+ statements: 80
32
+ }
33
+ }
34
+ }
35
+ });
@@ -1,60 +0,0 @@
1
- "use strict";
2
- window.translations={"copy":"Copy","copied":"Copied!","normally_hidden":"This member is normally hidden due to your filter settings.","hierarchy_expand":"Expand","hierarchy_collapse":"Collapse","folder":"Folder","kind_1":"Project","kind_2":"Module","kind_4":"Namespace","kind_8":"Enumeration","kind_16":"Enumeration Member","kind_32":"Variable","kind_64":"Function","kind_128":"Class","kind_256":"Interface","kind_512":"Constructor","kind_1024":"Property","kind_2048":"Method","kind_4096":"Call Signature","kind_8192":"Index Signature","kind_16384":"Constructor Signature","kind_32768":"Parameter","kind_65536":"Type Literal","kind_131072":"Type Parameter","kind_262144":"Accessor","kind_524288":"Get Signature","kind_1048576":"Set Signature","kind_2097152":"Type Alias","kind_4194304":"Reference","kind_8388608":"Document"};
3
- "use strict";(()=>{var De=Object.create;var le=Object.defineProperty;var Fe=Object.getOwnPropertyDescriptor;var Ne=Object.getOwnPropertyNames;var Ve=Object.getPrototypeOf,Be=Object.prototype.hasOwnProperty;var qe=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var je=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Ne(e))!Be.call(t,i)&&i!==n&&le(t,i,{get:()=>e[i],enumerable:!(r=Fe(e,i))||r.enumerable});return t};var $e=(t,e,n)=>(n=t!=null?De(Ve(t)):{},je(e||!t||!t.__esModule?le(n,"default",{value:t,enumerable:!0}):n,t));var pe=qe((de,he)=>{(function(){var t=function(e){var n=new t.Builder;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),n.searchPipeline.add(t.stemmer),e.call(n,n),n.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(n){e.console&&console.warn&&console.warn(n)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var n=Object.create(null),r=Object.keys(e),i=0;i<r.length;i++){var s=r[i],o=e[s];if(Array.isArray(o)){n[s]=o.slice();continue}if(typeof o=="string"||typeof o=="number"||typeof o=="boolean"){n[s]=o;continue}throw new TypeError("clone is not deep and does not support nested objects")}return n},t.FieldRef=function(e,n,r){this.docRef=e,this.fieldName=n,this._stringValue=r},t.FieldRef.joiner="/",t.FieldRef.fromString=function(e){var n=e.indexOf(t.FieldRef.joiner);if(n===-1)throw"malformed field ref string";var r=e.slice(0,n),i=e.slice(n+1);return new t.FieldRef(i,r,e)},t.FieldRef.prototype.toString=function(){return this._stringValue==null&&(this._stringValue=this.fieldName+t.FieldRef.joiner+this.docRef),this._stringValue};t.Set=function(e){if(this.elements=Object.create(null),e){this.length=e.length;for(var n=0;n<this.length;n++)this.elements[e[n]]=!0}else this.length=0},t.Set.complete={intersect:function(e){return e},union:function(){return this},contains:function(){return!0}},t.Set.empty={intersect:function(){return this},union:function(e){return e},contains:function(){return!1}},t.Set.prototype.contains=function(e){return!!this.elements[e]},t.Set.prototype.intersect=function(e){var n,r,i,s=[];if(e===t.Set.complete)return this;if(e===t.Set.empty)return e;this.length<e.length?(n=this,r=e):(n=e,r=this),i=Object.keys(n.elements);for(var o=0;o<i.length;o++){var a=i[o];a in r.elements&&s.push(a)}return new t.Set(s)},t.Set.prototype.union=function(e){return e===t.Set.complete?t.Set.complete:e===t.Set.empty?this:new t.Set(Object.keys(this.elements).concat(Object.keys(e.elements)))},t.idf=function(e,n){var r=0;for(var i in e)i!="_index"&&(r+=Object.keys(e[i]).length);var s=(n-r+.5)/(r+.5);return Math.log(1+Math.abs(s))},t.Token=function(e,n){this.str=e||"",this.metadata=n||{}},t.Token.prototype.toString=function(){return this.str},t.Token.prototype.update=function(e){return this.str=e(this.str,this.metadata),this},t.Token.prototype.clone=function(e){return e=e||function(n){return n},new t.Token(e(this.str,this.metadata),this.metadata)};t.tokenizer=function(e,n){if(e==null||e==null)return[];if(Array.isArray(e))return e.map(function(m){return new t.Token(t.utils.asString(m).toLowerCase(),t.utils.clone(n))});for(var r=e.toString().toLowerCase(),i=r.length,s=[],o=0,a=0;o<=i;o++){var l=r.charAt(o),c=o-a;if(l.match(t.tokenizer.separator)||o==i){if(c>0){var d=t.utils.clone(n)||{};d.position=[a,c],d.index=s.length,s.push(new t.Token(r.slice(a,o),d))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index.
4
- `,e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(r){var i=t.Pipeline.registeredFunctions[r];if(i)n.add(i);else throw new Error("Cannot load unregistered function: "+r)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(n){t.Pipeline.warnIfFunctionNotRegistered(n),this._stack.push(n)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");r=r+1,this._stack.splice(r,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");this._stack.splice(r,0,n)},t.Pipeline.prototype.remove=function(e){var n=this._stack.indexOf(e);n!=-1&&this._stack.splice(n,1)},t.Pipeline.prototype.run=function(e){for(var n=this._stack.length,r=0;r<n;r++){for(var i=this._stack[r],s=[],o=0;o<e.length;o++){var a=i(e[o],o,e);if(!(a==null||a===""))if(Array.isArray(a))for(var l=0;l<a.length;l++)s.push(a[l]);else s.push(a)}e=s}return e},t.Pipeline.prototype.runString=function(e,n){var r=new t.Token(e,n);return this.run([r]).map(function(i){return i.toString()})},t.Pipeline.prototype.reset=function(){this._stack=[]},t.Pipeline.prototype.toJSON=function(){return this._stack.map(function(e){return t.Pipeline.warnIfFunctionNotRegistered(e),e.label})};t.Vector=function(e){this._magnitude=0,this.elements=e||[]},t.Vector.prototype.positionForIndex=function(e){if(this.elements.length==0)return 0;for(var n=0,r=this.elements.length/2,i=r-n,s=Math.floor(i/2),o=this.elements[s*2];i>1&&(o<e&&(n=s),o>e&&(r=s),o!=e);)i=r-n,s=n+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(o<e)return(s+1)*2},t.Vector.prototype.insert=function(e,n){this.upsert(e,n,function(){throw"duplicate index"})},t.Vector.prototype.upsert=function(e,n,r){this._magnitude=0;var i=this.positionForIndex(e);this.elements[i]==e?this.elements[i+1]=r(this.elements[i+1],n):this.elements.splice(i,0,e,n)},t.Vector.prototype.magnitude=function(){if(this._magnitude)return this._magnitude;for(var e=0,n=this.elements.length,r=1;r<n;r+=2){var i=this.elements[r];e+=i*i}return this._magnitude=Math.sqrt(e)},t.Vector.prototype.dot=function(e){for(var n=0,r=this.elements,i=e.elements,s=r.length,o=i.length,a=0,l=0,c=0,d=0;c<s&&d<o;)a=r[c],l=i[d],a<l?c+=2:a>l?d+=2:a==l&&(n+=r[c+1]*i[d+1],c+=2,d+=2);return n},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),n=1,r=0;n<this.elements.length;n+=2,r++)e[r]=this.elements[n];return e},t.Vector.prototype.toJSON=function(){return this.elements};t.stemmer=function(){var e={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},n={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},r="[^aeiou]",i="[aeiouy]",s=r+"[^aeiouy]*",o=i+"[aeiou]*",a="^("+s+")?"+o+s,l="^("+s+")?"+o+s+"("+o+")?$",c="^("+s+")?"+o+s+o+s,d="^("+s+")?"+i,m=new RegExp(a),p=new RegExp(c),L=new RegExp(l),v=new RegExp(d),b=/^(.+?)(ss|i)es$/,f=/^(.+?)([^s])s$/,y=/^(.+?)eed$/,S=/^(.+?)(ed|ing)$/,w=/.$/,k=/(at|bl|iz)$/,O=new RegExp("([^aeiouylsz])\\1$"),q=new RegExp("^"+s+i+"[^aeiouwxy]$"),F=/^(.+?[^aeiou])y$/,j=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,$=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,N=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,z=/^(.+?)(s|t)(ion)$/,Q=/^(.+?)e$/,W=/ll$/,U=new RegExp("^"+s+i+"[^aeiouwxy]$"),V=function(u){var g,P,T,h,x,_,R;if(u.length<3)return u;if(T=u.substr(0,1),T=="y"&&(u=T.toUpperCase()+u.substr(1)),h=b,x=f,h.test(u)?u=u.replace(h,"$1$2"):x.test(u)&&(u=u.replace(x,"$1$2")),h=y,x=S,h.test(u)){var E=h.exec(u);h=m,h.test(E[1])&&(h=w,u=u.replace(h,""))}else if(x.test(u)){var E=x.exec(u);g=E[1],x=v,x.test(g)&&(u=g,x=k,_=O,R=q,x.test(u)?u=u+"e":_.test(u)?(h=w,u=u.replace(h,"")):R.test(u)&&(u=u+"e"))}if(h=F,h.test(u)){var E=h.exec(u);g=E[1],u=g+"i"}if(h=j,h.test(u)){var E=h.exec(u);g=E[1],P=E[2],h=m,h.test(g)&&(u=g+e[P])}if(h=$,h.test(u)){var E=h.exec(u);g=E[1],P=E[2],h=m,h.test(g)&&(u=g+n[P])}if(h=N,x=z,h.test(u)){var E=h.exec(u);g=E[1],h=p,h.test(g)&&(u=g)}else if(x.test(u)){var E=x.exec(u);g=E[1]+E[2],x=p,x.test(g)&&(u=g)}if(h=Q,h.test(u)){var E=h.exec(u);g=E[1],h=p,x=L,_=U,(h.test(g)||x.test(g)&&!_.test(g))&&(u=g)}return h=W,x=p,h.test(u)&&x.test(u)&&(h=w,u=u.replace(h,"")),T=="y"&&(u=T.toLowerCase()+u.substr(1)),u};return function(M){return M.update(V)}}(),t.Pipeline.registerFunction(t.stemmer,"stemmer");t.generateStopWordFilter=function(e){var n=e.reduce(function(r,i){return r[i]=i,r},{});return function(r){if(r&&n[r.toString()]!==r.toString())return r}},t.stopWordFilter=t.generateStopWordFilter(["a","able","about","across","after","all","almost","also","am","among","an","and","any","are","as","at","be","because","been","but","by","can","cannot","could","dear","did","do","does","either","else","ever","every","for","from","get","got","had","has","have","he","her","hers","him","his","how","however","i","if","in","into","is","it","its","just","least","let","like","likely","may","me","might","most","must","my","neither","no","nor","not","of","off","often","on","only","or","other","our","own","rather","said","say","says","she","should","since","so","some","than","that","the","their","them","then","there","these","they","this","tis","to","too","twas","us","wants","was","we","were","what","when","where","which","while","who","whom","why","will","with","would","yet","you","your"]),t.Pipeline.registerFunction(t.stopWordFilter,"stopWordFilter");t.trimmer=function(e){return e.update(function(n){return n.replace(/^\W+/,"").replace(/\W+$/,"")})},t.Pipeline.registerFunction(t.trimmer,"trimmer");t.TokenSet=function(){this.final=!1,this.edges={},this.id=t.TokenSet._nextId,t.TokenSet._nextId+=1},t.TokenSet._nextId=1,t.TokenSet.fromArray=function(e){for(var n=new t.TokenSet.Builder,r=0,i=e.length;r<i;r++)n.insert(e[r]);return n.finish(),n.root},t.TokenSet.fromClause=function(e){return"editDistance"in e?t.TokenSet.fromFuzzyString(e.term,e.editDistance):t.TokenSet.fromString(e.term)},t.TokenSet.fromFuzzyString=function(e,n){for(var r=new t.TokenSet,i=[{node:r,editsRemaining:n,str:e}];i.length;){var s=i.pop();if(s.str.length>0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}if(s.str.length==0&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var c=s.node.edges["*"];else{var c=new t.TokenSet;s.node.edges["*"]=c}s.str.length==1&&(c.final=!0),i.push({node:c,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var d=s.str.charAt(0),m=s.str.charAt(1),p;m in s.node.edges?p=s.node.edges[m]:(p=new t.TokenSet,s.node.edges[m]=p),s.str.length==1&&(p.final=!0),i.push({node:p,editsRemaining:s.editsRemaining-1,str:d+s.str.slice(2)})}}}return r},t.TokenSet.fromString=function(e){for(var n=new t.TokenSet,r=n,i=0,s=e.length;i<s;i++){var o=e[i],a=i==s-1;if(o=="*")n.edges[o]=n,n.final=a;else{var l=new t.TokenSet;l.final=a,n.edges[o]=l,n=l}}return r},t.TokenSet.prototype.toArray=function(){for(var e=[],n=[{prefix:"",node:this}];n.length;){var r=n.pop(),i=Object.keys(r.node.edges),s=i.length;r.node.final&&(r.prefix.charAt(0),e.push(r.prefix));for(var o=0;o<s;o++){var a=i[o];n.push({prefix:r.prefix.concat(a),node:r.node.edges[a]})}}return e},t.TokenSet.prototype.toString=function(){if(this._str)return this._str;for(var e=this.final?"1":"0",n=Object.keys(this.edges).sort(),r=n.length,i=0;i<r;i++){var s=n[i],o=this.edges[s];e=e+s+o.id}return e},t.TokenSet.prototype.intersect=function(e){for(var n=new t.TokenSet,r=void 0,i=[{qNode:e,output:n,node:this}];i.length;){r=i.pop();for(var s=Object.keys(r.qNode.edges),o=s.length,a=Object.keys(r.node.edges),l=a.length,c=0;c<o;c++)for(var d=s[c],m=0;m<l;m++){var p=a[m];if(p==d||d=="*"){var L=r.node.edges[p],v=r.qNode.edges[d],b=L.final&&v.final,f=void 0;p in r.output.edges?(f=r.output.edges[p],f.final=f.final||b):(f=new t.TokenSet,f.final=b,r.output.edges[p]=f),i.push({qNode:v,output:f,node:L})}}}return n},t.TokenSet.Builder=function(){this.previousWord="",this.root=new t.TokenSet,this.uncheckedNodes=[],this.minimizedNodes={}},t.TokenSet.Builder.prototype.insert=function(e){var n,r=0;if(e<this.previousWord)throw new Error("Out of order word insertion");for(var i=0;i<e.length&&i<this.previousWord.length&&e[i]==this.previousWord[i];i++)r++;this.minimize(r),this.uncheckedNodes.length==0?n=this.root:n=this.uncheckedNodes[this.uncheckedNodes.length-1].child;for(var i=r;i<e.length;i++){var s=new t.TokenSet,o=e[i];n.edges[o]=s,this.uncheckedNodes.push({parent:n,char:o,child:s}),n=s}n.final=!0,this.previousWord=e},t.TokenSet.Builder.prototype.finish=function(){this.minimize(0)},t.TokenSet.Builder.prototype.minimize=function(e){for(var n=this.uncheckedNodes.length-1;n>=e;n--){var r=this.uncheckedNodes[n],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(n){var r=new t.QueryParser(e,n);r.parse()})},t.Index.prototype.query=function(e){for(var n=new t.Query(this.fields),r=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),l=0;l<this.fields.length;l++)i[this.fields[l]]=new t.Vector;e.call(n,n);for(var l=0;l<n.clauses.length;l++){var c=n.clauses[l],d=null,m=t.Set.empty;c.usePipeline?d=this.pipeline.runString(c.term,{fields:c.fields}):d=[c.term];for(var p=0;p<d.length;p++){var L=d[p];c.term=L;var v=t.TokenSet.fromClause(c),b=this.tokenSet.intersect(v).toArray();if(b.length===0&&c.presence===t.Query.presence.REQUIRED){for(var f=0;f<c.fields.length;f++){var y=c.fields[f];o[y]=t.Set.empty}break}for(var S=0;S<b.length;S++)for(var w=b[S],k=this.invertedIndex[w],O=k._index,f=0;f<c.fields.length;f++){var y=c.fields[f],q=k[y],F=Object.keys(q),j=w+"/"+y,$=new t.Set(F);if(c.presence==t.Query.presence.REQUIRED&&(m=m.union($),o[y]===void 0&&(o[y]=t.Set.complete)),c.presence==t.Query.presence.PROHIBITED){a[y]===void 0&&(a[y]=t.Set.empty),a[y]=a[y].union($);continue}if(i[y].upsert(O,c.boost,function(Ae,He){return Ae+He}),!s[j]){for(var N=0;N<F.length;N++){var z=F[N],Q=new t.FieldRef(z,y),W=q[z],U;(U=r[Q])===void 0?r[Q]=new t.MatchData(w,y,W):U.add(w,y,W)}s[j]=!0}}}if(c.presence===t.Query.presence.REQUIRED)for(var f=0;f<c.fields.length;f++){var y=c.fields[f];o[y]=o[y].intersect(m)}}for(var V=t.Set.complete,M=t.Set.empty,l=0;l<this.fields.length;l++){var y=this.fields[l];o[y]&&(V=V.intersect(o[y])),a[y]&&(M=M.union(a[y]))}var u=Object.keys(r),g=[],P=Object.create(null);if(n.isNegated()){u=Object.keys(this.fieldVectors);for(var l=0;l<u.length;l++){var Q=u[l],T=t.FieldRef.fromString(Q);r[Q]=new t.MatchData}}for(var l=0;l<u.length;l++){var T=t.FieldRef.fromString(u[l]),h=T.docRef;if(V.contains(h)&&!M.contains(h)){var x=this.fieldVectors[T],_=i[T.fieldName].similarity(x),R;if((R=P[h])!==void 0)R.score+=_,R.matchData.combine(r[T]);else{var E={ref:h,score:_,matchData:r[T]};P[h]=E,g.push(E)}}}return g.sort(function(Me,Re){return Re.score-Me.score})},t.Index.prototype.toJSON=function(){var e=Object.keys(this.invertedIndex).sort().map(function(r){return[r,this.invertedIndex[r]]},this),n=Object.keys(this.fieldVectors).map(function(r){return[r,this.fieldVectors[r].toJSON()]},this);return{version:t.version,fields:this.fields,fieldVectors:n,invertedIndex:e,pipeline:this.pipeline.toJSON()}},t.Index.load=function(e){var n={},r={},i=e.fieldVectors,s=Object.create(null),o=e.invertedIndex,a=new t.TokenSet.Builder,l=t.Pipeline.load(e.pipeline);e.version!=t.version&&t.utils.warn("Version mismatch when loading serialised index. Current version of lunr '"+t.version+"' does not match serialized index '"+e.version+"'");for(var c=0;c<i.length;c++){var d=i[c],m=d[0],p=d[1];r[m]=new t.Vector(p)}for(var c=0;c<o.length;c++){var d=o[c],L=d[0],v=d[1];a.insert(L),s[L]=v}return a.finish(),n.fields=e.fields,n.fieldVectors=r,n.invertedIndex=s,n.tokenSet=a.root,n.pipeline=l,new t.Index(n)};t.Builder=function(){this._ref="id",this._fields=Object.create(null),this._documents=Object.create(null),this.invertedIndex=Object.create(null),this.fieldTermFrequencies={},this.fieldLengths={},this.tokenizer=t.tokenizer,this.pipeline=new t.Pipeline,this.searchPipeline=new t.Pipeline,this.documentCount=0,this._b=.75,this._k1=1.2,this.termIndex=0,this.metadataWhitelist=[]},t.Builder.prototype.ref=function(e){this._ref=e},t.Builder.prototype.field=function(e,n){if(/\//.test(e))throw new RangeError("Field '"+e+"' contains illegal character '/'");this._fields[e]=n||{}},t.Builder.prototype.b=function(e){e<0?this._b=0:e>1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,n){var r=e[this._ref],i=Object.keys(this._fields);this._documents[r]=n||{},this.documentCount+=1;for(var s=0;s<i.length;s++){var o=i[s],a=this._fields[o].extractor,l=a?a(e):e[o],c=this.tokenizer(l,{fields:[o]}),d=this.pipeline.run(c),m=new t.FieldRef(r,o),p=Object.create(null);this.fieldTermFrequencies[m]=p,this.fieldLengths[m]=0,this.fieldLengths[m]+=d.length;for(var L=0;L<d.length;L++){var v=d[L];if(p[v]==null&&(p[v]=0),p[v]+=1,this.invertedIndex[v]==null){var b=Object.create(null);b._index=this.termIndex,this.termIndex+=1;for(var f=0;f<i.length;f++)b[i[f]]=Object.create(null);this.invertedIndex[v]=b}this.invertedIndex[v][o][r]==null&&(this.invertedIndex[v][o][r]=Object.create(null));for(var y=0;y<this.metadataWhitelist.length;y++){var S=this.metadataWhitelist[y],w=v.metadata[S];this.invertedIndex[v][o][r][S]==null&&(this.invertedIndex[v][o][r][S]=[]),this.invertedIndex[v][o][r][S].push(w)}}}},t.Builder.prototype.calculateAverageFieldLengths=function(){for(var e=Object.keys(this.fieldLengths),n=e.length,r={},i={},s=0;s<n;s++){var o=t.FieldRef.fromString(e[s]),a=o.fieldName;i[a]||(i[a]=0),i[a]+=1,r[a]||(r[a]=0),r[a]+=this.fieldLengths[o]}for(var l=Object.keys(this._fields),s=0;s<l.length;s++){var c=l[s];r[c]=r[c]/i[c]}this.averageFieldLength=r},t.Builder.prototype.createFieldVectors=function(){for(var e={},n=Object.keys(this.fieldTermFrequencies),r=n.length,i=Object.create(null),s=0;s<r;s++){for(var o=t.FieldRef.fromString(n[s]),a=o.fieldName,l=this.fieldLengths[o],c=new t.Vector,d=this.fieldTermFrequencies[o],m=Object.keys(d),p=m.length,L=this._fields[a].boost||1,v=this._documents[o.docRef].boost||1,b=0;b<p;b++){var f=m[b],y=d[f],S=this.invertedIndex[f]._index,w,k,O;i[f]===void 0?(w=t.idf(this.invertedIndex[f],this.documentCount),i[f]=w):w=i[f],k=w*((this._k1+1)*y)/(this._k1*(1-this._b+this._b*(l/this.averageFieldLength[a]))+y),k*=L,k*=v,O=Math.round(k*1e3)/1e3,c.insert(S,O)}e[o]=c}this.fieldVectors=e},t.Builder.prototype.createTokenSet=function(){this.tokenSet=t.TokenSet.fromArray(Object.keys(this.invertedIndex).sort())},t.Builder.prototype.build=function(){return this.calculateAverageFieldLengths(),this.createFieldVectors(),this.createTokenSet(),new t.Index({invertedIndex:this.invertedIndex,fieldVectors:this.fieldVectors,tokenSet:this.tokenSet,fields:Object.keys(this._fields),pipeline:this.searchPipeline})},t.Builder.prototype.use=function(e){var n=Array.prototype.slice.call(arguments,1);n.unshift(this),e.apply(this,n)},t.MatchData=function(e,n,r){for(var i=Object.create(null),s=Object.keys(r||{}),o=0;o<s.length;o++){var a=s[o];i[a]=r[a].slice()}this.metadata=Object.create(null),e!==void 0&&(this.metadata[e]=Object.create(null),this.metadata[e][n]=i)},t.MatchData.prototype.combine=function(e){for(var n=Object.keys(e.metadata),r=0;r<n.length;r++){var i=n[r],s=Object.keys(e.metadata[i]);this.metadata[i]==null&&(this.metadata[i]=Object.create(null));for(var o=0;o<s.length;o++){var a=s[o],l=Object.keys(e.metadata[i][a]);this.metadata[i][a]==null&&(this.metadata[i][a]=Object.create(null));for(var c=0;c<l.length;c++){var d=l[c];this.metadata[i][a][d]==null?this.metadata[i][a][d]=e.metadata[i][a][d]:this.metadata[i][a][d]=this.metadata[i][a][d].concat(e.metadata[i][a][d])}}}},t.MatchData.prototype.add=function(e,n,r){if(!(e in this.metadata)){this.metadata[e]=Object.create(null),this.metadata[e][n]=r;return}if(!(n in this.metadata[e])){this.metadata[e][n]=r;return}for(var i=Object.keys(r),s=0;s<i.length;s++){var o=i[s];o in this.metadata[e][n]?this.metadata[e][n][o]=this.metadata[e][n][o].concat(r[o]):this.metadata[e][n][o]=r[o]}},t.Query=function(e){this.clauses=[],this.allFields=e},t.Query.wildcard=new String("*"),t.Query.wildcard.NONE=0,t.Query.wildcard.LEADING=1,t.Query.wildcard.TRAILING=2,t.Query.presence={OPTIONAL:1,REQUIRED:2,PROHIBITED:3},t.Query.prototype.clause=function(e){return"fields"in e||(e.fields=this.allFields),"boost"in e||(e.boost=1),"usePipeline"in e||(e.usePipeline=!0),"wildcard"in e||(e.wildcard=t.Query.wildcard.NONE),e.wildcard&t.Query.wildcard.LEADING&&e.term.charAt(0)!=t.Query.wildcard&&(e.term="*"+e.term),e.wildcard&t.Query.wildcard.TRAILING&&e.term.slice(-1)!=t.Query.wildcard&&(e.term=""+e.term+"*"),"presence"in e||(e.presence=t.Query.presence.OPTIONAL),this.clauses.push(e),this},t.Query.prototype.isNegated=function(){for(var e=0;e<this.clauses.length;e++)if(this.clauses[e].presence!=t.Query.presence.PROHIBITED)return!1;return!0},t.Query.prototype.term=function(e,n){if(Array.isArray(e))return e.forEach(function(i){this.term(i,t.utils.clone(n))},this),this;var r=n||{};return r.term=e.toString(),this.clause(r),this},t.QueryParseError=function(e,n,r){this.name="QueryParseError",this.message=e,this.start=n,this.end=r},t.QueryParseError.prototype=new Error,t.QueryLexer=function(e){this.lexemes=[],this.str=e,this.length=e.length,this.pos=0,this.start=0,this.escapeCharPositions=[]},t.QueryLexer.prototype.run=function(){for(var e=t.QueryLexer.lexText;e;)e=e(this)},t.QueryLexer.prototype.sliceString=function(){for(var e=[],n=this.start,r=this.pos,i=0;i<this.escapeCharPositions.length;i++)r=this.escapeCharPositions[i],e.push(this.str.slice(n,r)),n=r+1;return e.push(this.str.slice(n,this.pos)),this.escapeCharPositions.length=0,e.join("")},t.QueryLexer.prototype.emit=function(e){this.lexemes.push({type:e,str:this.sliceString(),start:this.start,end:this.pos}),this.start=this.pos},t.QueryLexer.prototype.escapeCharacter=function(){this.escapeCharPositions.push(this.pos-1),this.pos+=1},t.QueryLexer.prototype.next=function(){if(this.pos>=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,n;do e=this.next(),n=e.charCodeAt(0);while(n>47&&n<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos<this.length},t.QueryLexer.EOS="EOS",t.QueryLexer.FIELD="FIELD",t.QueryLexer.TERM="TERM",t.QueryLexer.EDIT_DISTANCE="EDIT_DISTANCE",t.QueryLexer.BOOST="BOOST",t.QueryLexer.PRESENCE="PRESENCE",t.QueryLexer.lexField=function(e){return e.backup(),e.emit(t.QueryLexer.FIELD),e.ignore(),t.QueryLexer.lexText},t.QueryLexer.lexTerm=function(e){if(e.width()>1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var n=e.next();if(n==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(n.charCodeAt(0)==92){e.escapeCharacter();continue}if(n==":")return t.QueryLexer.lexField;if(n=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(n=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(n=="+"&&e.width()===1||n=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(n.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,n){this.lexer=new t.QueryLexer(e),this.query=n,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var n=e.peekLexeme();if(n!=null)switch(n.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expected either a field or a term, found "+n.type;throw n.str.length>=1&&(r+=" with value '"+n.str+"'"),new t.QueryParseError(r,n.start,n.end)}},t.QueryParser.parsePresence=function(e){var n=e.consumeLexeme();if(n!=null){switch(n.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var r="unrecognised presence operator'"+n.str+"'";throw new t.QueryParseError(r,n.start,n.end)}var i=e.peekLexeme();if(i==null){var r="expecting term or field, found nothing";throw new t.QueryParseError(r,n.start,n.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(r,i.start,i.end)}}},t.QueryParser.parseField=function(e){var n=e.consumeLexeme();if(n!=null){if(e.query.allFields.indexOf(n.str)==-1){var r=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+n.str+"', possible fields: "+r;throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.fields=[n.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,n.start,n.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var n=e.consumeLexeme();if(n!=null){e.currentClause.term=n.str.toLowerCase(),n.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var r=e.peekLexeme();if(r==null){e.nextClause();return}switch(r.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+r.type+"'";throw new t.QueryParseError(i,r.start,r.end)}}},t.QueryParser.parseEditDistance=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="edit distance must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.editDistance=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="boost must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.boost=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,n){typeof define=="function"&&define.amd?define(n):typeof de=="object"?he.exports=n():e.lunr=n()}(this,function(){return t})})()});window.translations||={copy:"Copy",copied:"Copied!",normally_hidden:"This member is normally hidden due to your filter settings.",hierarchy_expand:"Expand",hierarchy_collapse:"Collapse",folder:"Folder",kind_1:"Project",kind_2:"Module",kind_4:"Namespace",kind_8:"Enumeration",kind_16:"Enumeration Member",kind_32:"Variable",kind_64:"Function",kind_128:"Class",kind_256:"Interface",kind_512:"Constructor",kind_1024:"Property",kind_2048:"Method",kind_4096:"Call Signature",kind_8192:"Index Signature",kind_16384:"Constructor Signature",kind_32768:"Parameter",kind_65536:"Type Literal",kind_131072:"Type Parameter",kind_262144:"Accessor",kind_524288:"Get Signature",kind_1048576:"Set Signature",kind_2097152:"Type Alias",kind_4194304:"Reference",kind_8388608:"Document"};var ce=[];function G(t,e){ce.push({selector:e,constructor:t})}var J=class{alwaysVisibleMember=null;constructor(){this.createComponents(document.body),this.ensureFocusedElementVisible(),this.listenForCodeCopies(),window.addEventListener("hashchange",()=>this.ensureFocusedElementVisible()),document.body.style.display||(this.ensureFocusedElementVisible(),this.updateIndexVisibility(),this.scrollToHash())}createComponents(e){ce.forEach(n=>{e.querySelectorAll(n.selector).forEach(r=>{r.dataset.hasInstance||(new n.constructor({el:r,app:this}),r.dataset.hasInstance=String(!0))})})}filterChanged(){this.ensureFocusedElementVisible()}showPage(){document.body.style.display&&(document.body.style.removeProperty("display"),this.ensureFocusedElementVisible(),this.updateIndexVisibility(),this.scrollToHash())}scrollToHash(){if(location.hash){let e=document.getElementById(location.hash.substring(1));if(!e)return;e.scrollIntoView({behavior:"instant",block:"start"})}}ensureActivePageVisible(){let e=document.querySelector(".tsd-navigation .current"),n=e?.parentElement;for(;n&&!n.classList.contains(".tsd-navigation");)n instanceof HTMLDetailsElement&&(n.open=!0),n=n.parentElement;if(e&&!ze(e)){let r=e.getBoundingClientRect().top-document.documentElement.clientHeight/4;document.querySelector(".site-menu").scrollTop=r,document.querySelector(".col-sidebar").scrollTop=r}}updateIndexVisibility(){let e=document.querySelector(".tsd-index-content"),n=e?.open;e&&(e.open=!0),document.querySelectorAll(".tsd-index-section").forEach(r=>{r.style.display="block";let i=Array.from(r.querySelectorAll(".tsd-index-link")).every(s=>s.offsetParent==null);r.style.display=i?"none":"block"}),e&&(e.open=n)}ensureFocusedElementVisible(){if(this.alwaysVisibleMember&&(this.alwaysVisibleMember.classList.remove("always-visible"),this.alwaysVisibleMember.firstElementChild.remove(),this.alwaysVisibleMember=null),!location.hash)return;let e=document.getElementById(location.hash.substring(1));if(!e)return;let n=e.parentElement;for(;n&&n.tagName!=="SECTION";)n=n.parentElement;if(!n)return;let r=n.offsetParent==null,i=n;for(;i!==document.body;)i instanceof HTMLDetailsElement&&(i.open=!0),i=i.parentElement;if(n.offsetParent==null){this.alwaysVisibleMember=n,n.classList.add("always-visible");let s=document.createElement("p");s.classList.add("warning"),s.textContent=window.translations.normally_hidden,n.prepend(s)}r&&e.scrollIntoView()}listenForCodeCopies(){document.querySelectorAll("pre > button").forEach(e=>{let n;e.addEventListener("click",()=>{e.previousElementSibling instanceof HTMLElement&&navigator.clipboard.writeText(e.previousElementSibling.innerText.trim()),e.textContent=window.translations.copied,e.classList.add("visible"),clearTimeout(n),n=setTimeout(()=>{e.classList.remove("visible"),n=setTimeout(()=>{e.textContent=window.translations.copy},100)},1e3)})})}};function ze(t){let e=t.getBoundingClientRect(),n=Math.max(document.documentElement.clientHeight,window.innerHeight);return!(e.bottom<0||e.top-n>=0)}var ue=(t,e=100)=>{let n;return()=>{clearTimeout(n),n=setTimeout(()=>t(),e)}};var ge=$e(pe(),1);async function A(t){let e=Uint8Array.from(atob(t),s=>s.charCodeAt(0)),r=new Blob([e]).stream().pipeThrough(new DecompressionStream("deflate")),i=await new Response(r).text();return JSON.parse(i)}async function fe(t,e){if(!window.searchData)return;let n=await A(window.searchData);t.data=n,t.index=ge.Index.load(n.index),e.classList.remove("loading"),e.classList.add("ready")}function ve(){let t=document.getElementById("tsd-search");if(!t)return;let e={base:document.documentElement.dataset.base+"/"},n=document.getElementById("tsd-search-script");t.classList.add("loading"),n&&(n.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),n.addEventListener("load",()=>{fe(e,t)}),fe(e,t));let r=document.querySelector("#tsd-search input"),i=document.querySelector("#tsd-search .results");if(!r||!i)throw new Error("The input field or the result list wrapper was not found");i.addEventListener("mouseup",()=>{re(t)}),r.addEventListener("focus",()=>t.classList.add("has-focus")),We(t,i,r,e)}function We(t,e,n,r){n.addEventListener("input",ue(()=>{Ue(t,e,n,r)},200)),n.addEventListener("keydown",i=>{i.key=="Enter"?Je(e,t):i.key=="ArrowUp"?(me(e,n,-1),i.preventDefault()):i.key==="ArrowDown"&&(me(e,n,1),i.preventDefault())}),document.body.addEventListener("keypress",i=>{i.altKey||i.ctrlKey||i.metaKey||!n.matches(":focus")&&i.key==="/"&&(i.preventDefault(),n.focus())}),document.body.addEventListener("keyup",i=>{t.classList.contains("has-focus")&&(i.key==="Escape"||!e.matches(":focus-within")&&!n.matches(":focus"))&&(n.blur(),re(t))})}function re(t){t.classList.remove("has-focus")}function Ue(t,e,n,r){if(!r.index||!r.data)return;e.textContent="";let i=n.value.trim(),s;if(i){let o=i.split(" ").map(a=>a.length?`*${a}*`:"").join(" ");s=r.index.search(o)}else s=[];for(let o=0;o<s.length;o++){let a=s[o],l=r.data.rows[Number(a.ref)],c=1;l.name.toLowerCase().startsWith(i.toLowerCase())&&(c*=1+1/(1+Math.abs(l.name.length-i.length))),a.score*=c}if(s.length===0){let o=document.createElement("li");o.classList.add("no-results");let a=document.createElement("span");a.textContent="No results found",o.appendChild(a),e.appendChild(o)}s.sort((o,a)=>a.score-o.score);for(let o=0,a=Math.min(10,s.length);o<a;o++){let l=r.data.rows[Number(s[o].ref)],c=`<svg width="20" height="20" viewBox="0 0 24 24" fill="none" class="tsd-kind-icon"><use href="#icon-${l.kind}"></use></svg>`,d=ye(l.name,i);globalThis.DEBUG_SEARCH_WEIGHTS&&(d+=` (score: ${s[o].score.toFixed(2)})`),l.parent&&(d=`<span class="parent">
5
- ${ye(l.parent,i)}.</span>${d}`);let m=document.createElement("li");m.classList.value=l.classes??"";let p=document.createElement("a");p.href=r.base+l.url,p.innerHTML=c+d,m.append(p),p.addEventListener("focus",()=>{e.querySelector(".current")?.classList.remove("current"),m.classList.add("current")}),e.appendChild(m)}}function me(t,e,n){let r=t.querySelector(".current");if(!r)r=t.querySelector(n==1?"li:first-child":"li:last-child"),r&&r.classList.add("current");else{let i=r;if(n===1)do i=i.nextElementSibling??void 0;while(i instanceof HTMLElement&&i.offsetParent==null);else do i=i.previousElementSibling??void 0;while(i instanceof HTMLElement&&i.offsetParent==null);i?(r.classList.remove("current"),i.classList.add("current")):n===-1&&(r.classList.remove("current"),e.focus())}}function Je(t,e){let n=t.querySelector(".current");if(n||(n=t.querySelector("li:first-child")),n){let r=n.querySelector("a");r&&(window.location.href=r.href),re(e)}}function ye(t,e){if(e==="")return t;let n=t.toLocaleLowerCase(),r=e.toLocaleLowerCase(),i=[],s=0,o=n.indexOf(r);for(;o!=-1;)i.push(ne(t.substring(s,o)),`<b>${ne(t.substring(o,o+r.length))}</b>`),s=o+r.length,o=n.indexOf(r,s);return i.push(ne(t.substring(s))),i.join("")}var Ge={"&":"&amp;","<":"&lt;",">":"&gt;","'":"&#039;",'"':"&quot;"};function ne(t){return t.replace(/[&<>"'"]/g,e=>Ge[e])}var I=class{el;app;constructor(e){this.el=e.el,this.app=e.app}};var H="mousedown",Ee="mousemove",B="mouseup",X={x:0,y:0},xe=!1,ie=!1,Xe=!1,D=!1,be=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(be?"is-mobile":"not-mobile");be&&"ontouchstart"in document.documentElement&&(Xe=!0,H="touchstart",Ee="touchmove",B="touchend");document.addEventListener(H,t=>{ie=!0,D=!1;let e=H=="touchstart"?t.targetTouches[0]:t;X.y=e.pageY||0,X.x=e.pageX||0});document.addEventListener(Ee,t=>{if(ie&&!D){let e=H=="touchstart"?t.targetTouches[0]:t,n=X.x-(e.pageX||0),r=X.y-(e.pageY||0);D=Math.sqrt(n*n+r*r)>10}});document.addEventListener(B,()=>{ie=!1});document.addEventListener("click",t=>{xe&&(t.preventDefault(),t.stopImmediatePropagation(),xe=!1)});var Y=class extends I{active;className;constructor(e){super(e),this.className=this.el.dataset.toggle||"",this.el.addEventListener(B,n=>this.onPointerUp(n)),this.el.addEventListener("click",n=>n.preventDefault()),document.addEventListener(H,n=>this.onDocumentPointerDown(n)),document.addEventListener(B,n=>this.onDocumentPointerUp(n))}setActive(e){if(this.active==e)return;this.active=e,document.documentElement.classList.toggle("has-"+this.className,e),this.el.classList.toggle("active",e);let n=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(n),setTimeout(()=>document.documentElement.classList.remove(n),500)}onPointerUp(e){D||(this.setActive(!0),e.preventDefault())}onDocumentPointerDown(e){if(this.active){if(e.target.closest(".col-sidebar, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(e){if(!D&&this.active&&e.target.closest(".col-sidebar")){let n=e.target.closest("a");if(n){let r=window.location.href;r.indexOf("#")!=-1&&(r=r.substring(0,r.indexOf("#"))),n.href.substring(0,r.length)==r&&setTimeout(()=>this.setActive(!1),250)}}}};var se;try{se=localStorage}catch{se={getItem(){return null},setItem(){}}}var C=se;var Le=document.head.appendChild(document.createElement("style"));Le.dataset.for="filters";var Z=class extends I{key;value;constructor(e){super(e),this.key=`filter-${this.el.name}`,this.value=this.el.checked,this.el.addEventListener("change",()=>{this.setLocalStorage(this.el.checked)}),this.setLocalStorage(this.fromLocalStorage()),Le.innerHTML+=`html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; }
6
- `,this.app.updateIndexVisibility()}fromLocalStorage(){let e=C.getItem(this.key);return e?e==="true":this.el.checked}setLocalStorage(e){C.setItem(this.key,e.toString()),this.value=e,this.handleValueChange()}handleValueChange(){this.el.checked=this.value,document.documentElement.classList.toggle(this.key,this.value),this.app.filterChanged(),this.app.updateIndexVisibility()}};var oe=new Map,ae=class{open;accordions=[];key;constructor(e,n){this.key=e,this.open=n}add(e){this.accordions.push(e),e.open=this.open,e.addEventListener("toggle",()=>{this.toggle(e.open)})}toggle(e){for(let n of this.accordions)n.open=e;C.setItem(this.key,e.toString())}},K=class extends I{constructor(e){super(e);let n=this.el.querySelector("summary"),r=n.querySelector("a");r&&r.addEventListener("click",()=>{location.assign(r.href)});let i=`tsd-accordion-${n.dataset.key??n.textContent.trim().replace(/\s+/g,"-").toLowerCase()}`,s;if(oe.has(i))s=oe.get(i);else{let o=C.getItem(i),a=o?o==="true":this.el.open;s=new ae(i,a),oe.set(i,s)}s.add(this.el)}};function Se(t){let e=C.getItem("tsd-theme")||"os";t.value=e,we(e),t.addEventListener("change",()=>{C.setItem("tsd-theme",t.value),we(t.value)})}function we(t){document.documentElement.dataset.theme=t}var ee;function Ce(){let t=document.getElementById("tsd-nav-script");t&&(t.addEventListener("load",Te),Te())}async function Te(){let t=document.getElementById("tsd-nav-container");if(!t||!window.navigationData)return;let e=await A(window.navigationData);ee=document.documentElement.dataset.base,ee.endsWith("/")||(ee+="/"),t.innerHTML="";for(let n of e)Ie(n,t,[]);window.app.createComponents(t),window.app.showPage(),window.app.ensureActivePageVisible()}function Ie(t,e,n){let r=e.appendChild(document.createElement("li"));if(t.children){let i=[...n,t.text],s=r.appendChild(document.createElement("details"));s.className=t.class?`${t.class} tsd-accordion`:"tsd-accordion";let o=s.appendChild(document.createElement("summary"));o.className="tsd-accordion-summary",o.dataset.key=i.join("$"),o.innerHTML='<svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="#icon-chevronDown"></use></svg>',ke(t,o);let a=s.appendChild(document.createElement("div"));a.className="tsd-accordion-details";let l=a.appendChild(document.createElement("ul"));l.className="tsd-nested-navigation";for(let c of t.children)Ie(c,l,i)}else ke(t,r,t.class)}function ke(t,e,n){if(t.path){let r=e.appendChild(document.createElement("a"));if(r.href=ee+t.path,n&&(r.className=n),location.pathname===r.pathname&&!r.href.includes("#")&&r.classList.add("current"),t.kind){let i=window.translations[`kind_${t.kind}`].replaceAll('"',"&quot;");r.innerHTML=`<svg width="20" height="20" viewBox="0 0 24 24" fill="none" class="tsd-kind-icon" aria-label="${i}"><use href="#icon-${t.kind}"></use></svg>`}r.appendChild(document.createElement("span")).textContent=t.text}else{let r=e.appendChild(document.createElement("span")),i=window.translations.folder.replaceAll('"',"&quot;");r.innerHTML=`<svg width="20" height="20" viewBox="0 0 24 24" fill="none" class="tsd-kind-icon" aria-label="${i}"><use href="#icon-folder"></use></svg>`,r.appendChild(document.createElement("span")).textContent=t.text}}var te=document.documentElement.dataset.base;te.endsWith("/")||(te+="/");function Pe(){document.querySelector(".tsd-full-hierarchy")?Ye():document.querySelector(".tsd-hierarchy")&&Ze()}function Ye(){document.addEventListener("click",r=>{let i=r.target;for(;i.parentElement&&i.parentElement.tagName!="LI";)i=i.parentElement;i.dataset.dropdown&&(i.dataset.dropdown=String(i.dataset.dropdown!=="true"))});let t=new Map,e=new Set;for(let r of document.querySelectorAll(".tsd-full-hierarchy [data-refl]")){let i=r.querySelector("ul");t.has(r.dataset.refl)?e.add(r.dataset.refl):i&&t.set(r.dataset.refl,i)}for(let r of e)n(r);function n(r){let i=t.get(r).cloneNode(!0);i.querySelectorAll("[id]").forEach(s=>{s.removeAttribute("id")}),i.querySelectorAll("[data-dropdown]").forEach(s=>{s.dataset.dropdown="false"});for(let s of document.querySelectorAll(`[data-refl="${r}"]`)){let o=tt(),a=s.querySelector("ul");s.insertBefore(o,a),o.dataset.dropdown=String(!!a),a||s.appendChild(i.cloneNode(!0))}}}function Ze(){let t=document.getElementById("tsd-hierarchy-script");t&&(t.addEventListener("load",Qe),Qe())}async function Qe(){let t=document.querySelector(".tsd-panel.tsd-hierarchy:has(h4 a)");if(!t||!window.hierarchyData)return;let e=+t.dataset.refl,n=await A(window.hierarchyData),r=t.querySelector("ul"),i=document.createElement("ul");if(i.classList.add("tsd-hierarchy"),Ke(i,n,e),r.querySelectorAll("li").length==i.querySelectorAll("li").length)return;let s=document.createElement("span");s.classList.add("tsd-hierarchy-toggle"),s.textContent=window.translations.hierarchy_expand,t.querySelector("h4 a")?.insertAdjacentElement("afterend",s),s.insertAdjacentText("beforebegin",", "),s.addEventListener("click",()=>{s.textContent===window.translations.hierarchy_expand?(r.insertAdjacentElement("afterend",i),r.remove(),s.textContent=window.translations.hierarchy_collapse):(i.insertAdjacentElement("afterend",r),i.remove(),s.textContent=window.translations.hierarchy_expand)})}function Ke(t,e,n){let r=e.roots.filter(i=>et(e,i,n));for(let i of r)t.appendChild(_e(e,i,n))}function _e(t,e,n,r=new Set){if(r.has(e))return;r.add(e);let i=t.reflections[e],s=document.createElement("li");if(s.classList.add("tsd-hierarchy-item"),e===n){let o=s.appendChild(document.createElement("span"));o.textContent=i.name,o.classList.add("tsd-hierarchy-target")}else{for(let a of i.uniqueNameParents||[]){let l=t.reflections[a],c=s.appendChild(document.createElement("a"));c.textContent=l.name,c.href=te+l.url,c.className=l.class+" tsd-signature-type",s.append(document.createTextNode("."))}let o=s.appendChild(document.createElement("a"));o.textContent=t.reflections[e].name,o.href=te+i.url,o.className=i.class+" tsd-signature-type"}if(i.children){let o=s.appendChild(document.createElement("ul"));o.classList.add("tsd-hierarchy");for(let a of i.children){let l=_e(t,a,n,r);l&&o.appendChild(l)}}return r.delete(e),s}function et(t,e,n){if(e===n)return!0;let r=new Set,i=[t.reflections[e]];for(;i.length;){let s=i.pop();if(!r.has(s)){r.add(s);for(let o of s.children||[]){if(o===n)return!0;i.push(t.reflections[o])}}}return!1}function tt(){let t=document.createElementNS("http://www.w3.org/2000/svg","svg");return t.setAttribute("width","20"),t.setAttribute("height","20"),t.setAttribute("viewBox","0 0 24 24"),t.setAttribute("fill","none"),t.innerHTML='<use href="#icon-chevronDown"></use>',t}G(Y,"a[data-toggle]");G(K,".tsd-accordion");G(Z,".tsd-filter-item input[type=checkbox]");var Oe=document.getElementById("tsd-theme");Oe&&Se(Oe);var nt=new J;Object.defineProperty(window,"app",{value:nt});ve();Ce();Pe();})();
7
- /*! Bundled license information:
8
-
9
- lunr/lunr.js:
10
- (**
11
- * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9
12
- * Copyright (C) 2020 Oliver Nightingale
13
- * @license MIT
14
- *)
15
- (*!
16
- * lunr.utils
17
- * Copyright (C) 2020 Oliver Nightingale
18
- *)
19
- (*!
20
- * lunr.Set
21
- * Copyright (C) 2020 Oliver Nightingale
22
- *)
23
- (*!
24
- * lunr.tokenizer
25
- * Copyright (C) 2020 Oliver Nightingale
26
- *)
27
- (*!
28
- * lunr.Pipeline
29
- * Copyright (C) 2020 Oliver Nightingale
30
- *)
31
- (*!
32
- * lunr.Vector
33
- * Copyright (C) 2020 Oliver Nightingale
34
- *)
35
- (*!
36
- * lunr.stemmer
37
- * Copyright (C) 2020 Oliver Nightingale
38
- * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt
39
- *)
40
- (*!
41
- * lunr.stopWordFilter
42
- * Copyright (C) 2020 Oliver Nightingale
43
- *)
44
- (*!
45
- * lunr.trimmer
46
- * Copyright (C) 2020 Oliver Nightingale
47
- *)
48
- (*!
49
- * lunr.TokenSet
50
- * Copyright (C) 2020 Oliver Nightingale
51
- *)
52
- (*!
53
- * lunr.Index
54
- * Copyright (C) 2020 Oliver Nightingale
55
- *)
56
- (*!
57
- * lunr.Builder
58
- * Copyright (C) 2020 Oliver Nightingale
59
- *)
60
- */
@@ -1 +0,0 @@
1
- window.searchData = "eJytmsFu2zgQht+FuQqJOaRsy7dsN1kUCNoi7e4ehKBQbVoVVpYMSU5bGHn3hSwq4piUNHJ6ahHN/D9FfpxhqBxZkf8o2So8sv+SbMNWHJYey6KdYiv2OdntU/WQx7EqmMcORcpWbJ1GZanKG/Ph9fdqlzKvfcZWjL14r4ozkK+SWZ7vx6WudJih57F9VKisOh9W5+NzeLVZ51lZFYd1lRMGfoWjJ5mil0vKu5+VKrIoJZgmpeqCL/esimitCHZt3OVOG/XtEBOc2rg3zGO2zSkz2IRd7vMjKjKCjw673EcVBYnDNu5yp21UkeBr4y53KpO0Dh63eg2c5AUz2dWhWFUP6llRXixWVapDL/cr6X7l7/BTWfQtpWzi18DLvTZJSTTrIi93W39P0g2lAuu4y53SPL4/ZOsqybPPVVRQyEzzeKtTSp3yW/zvMsorG+4qu+DdgwX3u4bXBGBqq197Vd4YTwbbNPhzU+2+q4xJVqliG60bsfuMLNN2w7MThKGHI+jHCNz1hgVHWt/ZIEnNb8RwuAPSDFEPHPEbbIQ0O9QKR+wG+yHNDnfEEb/htkgzxI1xxHC4O9IMz/rjiONIk6RZpmj3jzgOd61ew4HqPmI4XOIHDF2F7j6qD+u/nKVOP5tS7GJVfNyf+kBP0esC6DWqdzlsvZHVwCPssfuWZJski4lvcGWEv8F0V8afCrVNfhJdd2W8b+PfYFsVUVbu88K5vxy2Zvw023P8PhWqztk85PG7KD3vtWdPB1kRzubdLd9zVCT1+Qt18An4fXm8fXdHUbv6+rUe/XCXRFlNQp/xn3d//P3XBOPhbjnB+P2H+48TfAe75gTbf28fP0ywHeyeE2zvHh8/Pk7wHe6iE4zvb7/cPkwwHu6mE4w/v3+4+/BlgvNIVx22ljyQYmaeALfRIe0qzi7fHFJVtie+9qG5MZ88lmQb9ZOtjuxZFWWSZ2zF4FpcB8xj20Slm/rqrXHw2Drf7ZrxbvL14fTfJx32j6p7Wh3cRN/MmBfOPCGvpVw8PXlhm3x6cPpBq9H95JTImRdyVyK3EjlKBOaF4EoEKxFQomBeKFyJwkoUKFEyL5Qe+NfBQqJEaSVKlOgzL/Rdib6V6KPEOfPCuStxbiXOUeKCeeHClbiwEhcoccm8cOlKXFqJS5QYMC8MXImBlRhgAGoe+MyVym14+Bk9J3zc/DgAwgTxmgvuZIjbEHFMEa/Z4E6OuA0SxyTxmg8unck2TBzTxGtGuO9BcC1EgJNtoDgmitec8LnT2YaKY6p4zQpfOJNtsDgmi9e88KUz2YaLY7p4zQwPnMk2YBwTBjUz4KxOYBMGmDDgfbsebMDgrERB38YHR5HCfIHo2/tg4wUYL5B92x9sugDTBX5fBQAbLsBwwbyvCIDNFmC2YNFbBsBmCzBbUNMC3LUlwGYLMFsQ9O4nsNkCzJY4seWsIcJmS2C2RI0LuHuRDZfAcAnofWdh0yXOemANDDgLkHC0QYyXqIkB35ls8yUwX6JGBpwFSNiACQyYqJkBZwESNmECEyZqZsBZgIRNmMCEiWVfGRA2YAIDJoK+MiBsvgTmS876yoC08ZIYL8n7yoC06ZKYLgl9ZUDacEkMlxR9ZUDabMmzM5bsLQPScczCbMkTW84uIW229I9Oh+JnVVRq8745HIehcXlxZF/1mbk7+R+ZEGx1fHnpzsir44txTK6fndybO6ZOg/udBvebLAhoWuZHYWNUnSCQdPSvt52CMaR2RND8K2gje/1lwxhV0IlKn6bSft4xZsuYcS5JKu0XKUNEGCK0ZdO/mnYay05iqadIT5WkTXr7aT3VXx6MmZoZCzgjielfYDsNY7IDPby5Hh7thbuvlMa8cWPeOEmmucHoJOadgh4PCD0u2puaf5PQyRoLSns9693AeDfQKypoK1l/JsvQPBmzz2kb5vxTmyG2MMQWU8X0V0NDzlgBPqfKxaeby+Y+25gzo9II2vI1WjZZxnbiy6lKuCYbUoI8X7Eq8vZ63dAyuaIBb1wfGzpGQRW0qtX8eZExQ8YEkQT2+qI3zeP16RrYGI6BlKAxULrKgbH8nLZV2usuQ8QodnymS8JClwTaVJWn7892HTWUaXDq++VOwWg2Ug+N69JAg9S41Tem39iCgtYJmxvZTsJYQD1XoAcoCXQ8eWyf7FWaZIqtwqeXl/8BwfGuAA==";