@rxap/config 18.2.3-dev.0 → 19.0.0-dev.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/README.md +1 -1
- package/compodoc/changelog.html +32 -0
- package/compodoc/dependencies.html +6 -6
- package/compodoc/index.html +1 -1
- package/compodoc/injectables/ConfigService.html +199 -31
- package/compodoc/interfaces/AppsNavigationConfig.html +5 -0
- package/compodoc/interfaces/Config.html +50 -0
- package/compodoc/interfaces/ConfigLoadOptions.html +36 -0
- package/compodoc/interfaces/LogoConfig.html +5 -0
- package/compodoc/interfaces/NavigationConfig.html +5 -0
- package/compodoc/interfaces/Oauth2Config.html +333 -0
- package/compodoc/interfaces/i18nConfig.html +5 -0
- package/compodoc/js/menu-wc.js +3 -0
- package/compodoc/js/menu-wc_es5.js +2 -2
- package/compodoc/js/search/search_index.js +2 -2
- package/compodoc/overview.html +1 -1
- package/compodoc/properties.html +1 -1
- package/docs/assets/navigation.js +1 -1
- package/docs/assets/search.js +1 -1
- package/docs/classes/ConfigLoaderService.html +2 -2
- package/docs/classes/ConfigService.html +6 -6
- package/docs/classes/ConfigTestingService.html +2 -2
- package/docs/documentation.json +288 -205
- package/docs/functions/ProvideConfig.html +1 -1
- package/docs/index.html +1 -1
- package/docs/interfaces/AppsNavigationConfig.html +2 -2
- package/docs/interfaces/Config.html +3 -2
- package/docs/interfaces/ConfigLoadOptions.html +3 -3
- package/docs/interfaces/LogoConfig.html +2 -2
- package/docs/interfaces/NavigationConfig.html +2 -2
- package/docs/interfaces/Oauth2Config.html +2 -0
- package/docs/interfaces/i18nConfig.html +2 -2
- package/docs/modules.html +1 -0
- package/docs/types/AnySchema.html +1 -1
- package/docs/types/Join.html +1 -1
- package/docs/types/LanguagesConfig.html +1 -1
- package/docs/types/Leaves.html +1 -1
- package/docs/types/NoInferType.html +1 -1
- package/docs/types/Paths.html +1 -1
- package/docs/variables/RXAP_CONFIG.html +1 -1
- package/fesm2022/rxap-config.mjs +9 -9
- package/fesm2022/rxap-config.mjs.map +1 -1
- package/package.json +11 -14
- package/theme.css +72 -1
- package/esm2022/index.mjs +0 -10
- package/esm2022/lib/config-loader.service.mjs +0 -34
- package/esm2022/lib/config-testing-service.mjs +0 -33
- package/esm2022/lib/config.mjs +0 -2
- package/esm2022/lib/config.service.mjs +0 -294
- package/esm2022/lib/provide-config.mjs +0 -8
- package/esm2022/lib/tokens.mjs +0 -3
- package/esm2022/lib/types.mjs +0 -2
- package/esm2022/rxap-config.mjs +0 -5
package/docs/types/Paths.html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html class="default" lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>Paths | @rxap/config</title><meta name="description" content="Documentation for @rxap/config"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@rxap/config</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">@rxap/config</a></li><li><a href="Paths.html">Paths</a></li></ul><h1>Type alias Paths<T, D></h1></div><div class="tsd-signature"><span class="tsd-kind-type-alias">Paths</span><span class="tsd-signature-symbol"><</span><a class="tsd-signature-type tsd-kind-type-parameter" href="Paths.html#T">T</a><span class="tsd-signature-symbol">, </span><a class="tsd-signature-type tsd-kind-type-parameter" href="Paths.html#D">D</a><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a class="tsd-signature-type tsd-kind-type-parameter" href="Paths.html#D">D</a><span class="tsd-signature-symbol">]</span><span class="tsd-signature-keyword"> extends </span><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">never</span><span class="tsd-signature-symbol">]</span><br/><span> </span><span class="tsd-signature-symbol">? </span><span class="tsd-signature-type">never</span><br/><span> </span><span class="tsd-signature-symbol">: </span><a class="tsd-signature-type tsd-kind-type-parameter" href="Paths.html#T">T</a><span class="tsd-signature-keyword"> extends </span><span class="tsd-signature-type">object</span><br/><span> </span><span class="tsd-signature-symbol">? </span><span class="tsd-signature-symbol">{</span><br/><span> </span><span class="tsd-signature-symbol">[</span><span class="tsd-kind-type-parameter">K</span><span class="tsd-signature-keyword"> in </span><span class="tsd-signature-keyword">keyof </span><a class="tsd-signature-type tsd-kind-type-parameter" href="Paths.html#T">T</a><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">-?: </span><span class="tsd-signature-type tsd-kind-type-parameter">K</span><span class="tsd-signature-keyword"> extends </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">number</span><br/><span> </span><span class="tsd-signature-symbol">? </span><span class="tsd-signature-symbol">`</span><span class="tsd-signature-symbol">${</span><span class="tsd-signature-type tsd-kind-type-parameter">K</span><span class="tsd-signature-symbol">}</span><span class="tsd-signature-symbol">`</span><span class="tsd-signature-symbol"> | </span><a href="Join.html" class="tsd-signature-type tsd-kind-type-alias">Join</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type tsd-kind-type-parameter">K</span><span class="tsd-signature-symbol">, </span><a href="Paths.html" class="tsd-signature-type tsd-kind-type-alias">Paths</a><span class="tsd-signature-symbol"><</span><a class="tsd-signature-type tsd-kind-type-parameter" href="Paths.html#T">T</a><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type tsd-kind-type-parameter">K</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">Prev</span><span class="tsd-signature-symbol">[</span><a class="tsd-signature-type tsd-kind-type-parameter" href="Paths.html#D">D</a><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">></span><br/><span> </span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">never</span><br/><span> </span><span class="tsd-signature-symbol">}</span><span class="tsd-signature-symbol">[</span><span class="tsd-signature-keyword">keyof </span><a class="tsd-signature-type tsd-kind-type-parameter" href="Paths.html#T">T</a><span class="tsd-signature-symbol">]</span><br/><span> </span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">""</span></div><section class="tsd-panel"><h4>Type Parameters</h4><ul class="tsd-type-parameter-list"><li><span><a id="T" class="tsd-anchor"></a><span class="tsd-kind-type-parameter">T</span></span></li><li><span><a id="D" class="tsd-anchor"></a><span class="tsd-kind-type-parameter">D</span><span class="tsd-signature-keyword"> extends </span><span class="tsd-signature-type">number</span> = <span class="tsd-signature-type">10</span></span></li></ul></section><aside class="tsd-sources"><ul><li>Defined in <a href="https://gitlab.com/rxap/packages/-/blob/
|
|
1
|
+
<!DOCTYPE html><html class="default" lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>Paths | @rxap/config</title><meta name="description" content="Documentation for @rxap/config"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@rxap/config</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">@rxap/config</a></li><li><a href="Paths.html">Paths</a></li></ul><h1>Type alias Paths<T, D></h1></div><div class="tsd-signature"><span class="tsd-kind-type-alias">Paths</span><span class="tsd-signature-symbol"><</span><a class="tsd-signature-type tsd-kind-type-parameter" href="Paths.html#T">T</a><span class="tsd-signature-symbol">, </span><a class="tsd-signature-type tsd-kind-type-parameter" href="Paths.html#D">D</a><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a class="tsd-signature-type tsd-kind-type-parameter" href="Paths.html#D">D</a><span class="tsd-signature-symbol">]</span><span class="tsd-signature-keyword"> extends </span><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">never</span><span class="tsd-signature-symbol">]</span><br/><span> </span><span class="tsd-signature-symbol">? </span><span class="tsd-signature-type">never</span><br/><span> </span><span class="tsd-signature-symbol">: </span><a class="tsd-signature-type tsd-kind-type-parameter" href="Paths.html#T">T</a><span class="tsd-signature-keyword"> extends </span><span class="tsd-signature-type">object</span><br/><span> </span><span class="tsd-signature-symbol">? </span><span class="tsd-signature-symbol">{</span><br/><span> </span><span class="tsd-signature-symbol">[</span><span class="tsd-kind-type-parameter">K</span><span class="tsd-signature-keyword"> in </span><span class="tsd-signature-keyword">keyof </span><a class="tsd-signature-type tsd-kind-type-parameter" href="Paths.html#T">T</a><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">-?: </span><span class="tsd-signature-type tsd-kind-type-parameter">K</span><span class="tsd-signature-keyword"> extends </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">number</span><br/><span> </span><span class="tsd-signature-symbol">? </span><span class="tsd-signature-symbol">`</span><span class="tsd-signature-symbol">${</span><span class="tsd-signature-type tsd-kind-type-parameter">K</span><span class="tsd-signature-symbol">}</span><span class="tsd-signature-symbol">`</span><span class="tsd-signature-symbol"> | </span><a href="Join.html" class="tsd-signature-type tsd-kind-type-alias">Join</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type tsd-kind-type-parameter">K</span><span class="tsd-signature-symbol">, </span><a href="Paths.html" class="tsd-signature-type tsd-kind-type-alias">Paths</a><span class="tsd-signature-symbol"><</span><a class="tsd-signature-type tsd-kind-type-parameter" href="Paths.html#T">T</a><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type tsd-kind-type-parameter">K</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">Prev</span><span class="tsd-signature-symbol">[</span><a class="tsd-signature-type tsd-kind-type-parameter" href="Paths.html#D">D</a><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">></span><br/><span> </span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">never</span><br/><span> </span><span class="tsd-signature-symbol">}</span><span class="tsd-signature-symbol">[</span><span class="tsd-signature-keyword">keyof </span><a class="tsd-signature-type tsd-kind-type-parameter" href="Paths.html#T">T</a><span class="tsd-signature-symbol">]</span><br/><span> </span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">""</span></div><section class="tsd-panel"><h4>Type Parameters</h4><ul class="tsd-type-parameter-list"><li><span><a id="T" class="tsd-anchor"></a><span class="tsd-kind-type-parameter">T</span></span></li><li><span><a id="D" class="tsd-anchor"></a><span class="tsd-kind-type-parameter">D</span><span class="tsd-signature-keyword"> extends </span><span class="tsd-signature-type">number</span> = <span class="tsd-signature-type">10</span></span></li></ul></section><aside class="tsd-sources"><ul><li>Defined in <a href="https://gitlab.com/rxap/packages/-/blob/253084bd23ad946dca139ac3fa4b171003a4106b/packages/angular/config/src/lib/types.ts#L13">lib/types.ts:13</a></li></ul></aside></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-index-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><h4 class="uppercase">Member Visibility</h4><form><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-private" name="private"/><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>Private</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></form></div><div class="tsd-theme-toggle"><h4 class="uppercase">Theme</h4><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"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1"></use></svg><span>@rxap/config</span></a><ul class="tsd-small-nested-navigation" id="tsd-nav-container" data-base=".."><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html class="default" lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>RXAP_CONFIG | @rxap/config</title><meta name="description" content="Documentation for @rxap/config"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@rxap/config</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">@rxap/config</a></li><li><a href="RXAP_CONFIG.html">RXAP_CONFIG</a></li></ul><h1>Variable RXAP_CONFIG<code class="tsd-tag ts-flagConst">Const</code> </h1></div><div class="tsd-signature"><span class="tsd-kind-variable">RXAP_<wbr/>CONFIG</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">InjectionToken</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></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://gitlab.com/rxap/packages/-/blob/
|
|
1
|
+
<!DOCTYPE html><html class="default" lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>RXAP_CONFIG | @rxap/config</title><meta name="description" content="Documentation for @rxap/config"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@rxap/config</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">@rxap/config</a></li><li><a href="RXAP_CONFIG.html">RXAP_CONFIG</a></li></ul><h1>Variable RXAP_CONFIG<code class="tsd-tag ts-flagConst">Const</code> </h1></div><div class="tsd-signature"><span class="tsd-kind-variable">RXAP_<wbr/>CONFIG</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">InjectionToken</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></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://gitlab.com/rxap/packages/-/blob/253084bd23ad946dca139ac3fa4b171003a4106b/packages/angular/config/src/lib/tokens.ts#L3">lib/tokens.ts:3</a></li></ul></aside></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-index-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><h4 class="uppercase">Member Visibility</h4><form><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-private" name="private"/><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>Private</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></form></div><div class="tsd-theme-toggle"><h4 class="uppercase">Theme</h4><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"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1"></use></svg><span>@rxap/config</span></a><ul class="tsd-small-nested-navigation" id="tsd-nav-container" data-base=".."><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>
|
package/fesm2022/rxap-config.mjs
CHANGED
|
@@ -23,10 +23,10 @@ class ConfigLoaderService {
|
|
|
23
23
|
this.configLoading.set(url, loading$);
|
|
24
24
|
return firstValueFrom(loading$);
|
|
25
25
|
}
|
|
26
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
27
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
26
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ConfigLoaderService, deps: [{ token: HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
27
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ConfigLoaderService, providedIn: 'root' }); }
|
|
28
28
|
}
|
|
29
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ConfigLoaderService, decorators: [{
|
|
30
30
|
type: Injectable,
|
|
31
31
|
args: [{ providedIn: 'root' }]
|
|
32
32
|
}], ctorParameters: () => [{ type: i1.HttpClient, decorators: [{
|
|
@@ -57,10 +57,10 @@ class ConfigTestingService {
|
|
|
57
57
|
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
58
58
|
setLocalConfig(config) {
|
|
59
59
|
}
|
|
60
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
61
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
60
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ConfigTestingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
61
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ConfigTestingService }); }
|
|
62
62
|
}
|
|
63
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
63
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ConfigTestingService, decorators: [{
|
|
64
64
|
type: Injectable
|
|
65
65
|
}] });
|
|
66
66
|
|
|
@@ -340,10 +340,10 @@ class ConfigService {
|
|
|
340
340
|
}
|
|
341
341
|
return value;
|
|
342
342
|
}
|
|
343
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
344
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
343
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ConfigService, deps: [{ token: RXAP_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
344
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ConfigService, providedIn: 'root' }); }
|
|
345
345
|
}
|
|
346
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
346
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ConfigService, decorators: [{
|
|
347
347
|
type: Injectable,
|
|
348
348
|
args: [{
|
|
349
349
|
providedIn: 'root',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rxap-config.mjs","sources":["../../../../../packages/angular/config/src/lib/config-loader.service.ts","../../../../../packages/angular/config/src/lib/config-testing-service.ts","../../../../../packages/angular/config/src/lib/tokens.ts","../../../../../packages/angular/config/src/lib/config.service.ts","../../../../../packages/angular/config/src/lib/provide-config.ts","../../../../../packages/angular/config/src/index.ts","../../../../../packages/angular/config/src/rxap-config.ts"],"sourcesContent":["import {\n Inject,\n Injectable,\n} from '@angular/core';\nimport {\n firstValueFrom,\n Observable,\n} from 'rxjs';\nimport { HttpClient } from '@angular/common/http';\nimport {\n finalize,\n share,\n} from 'rxjs/operators';\n\n@Injectable({ providedIn: 'root' })\nexport class ConfigLoaderService {\n public readonly configs = new Map<string, any>();\n\n public readonly configLoading = new Map<string, Observable<any>>();\n\n constructor(\n @Inject(HttpClient)\n public readonly http: HttpClient,\n ) {\n }\n\n public async load$<T = any>(url: string): Promise<T> {\n if (this.configs.has(url)) {\n return this.configs.get(url);\n }\n\n if (this.configLoading.has(url)) {\n return this.configLoading.get(url)!.toPromise();\n }\n\n const loading$ = this.http.get<T>(url).pipe(\n finalize(() => this.configLoading.delete(url)),\n share(),\n );\n\n this.configLoading.set(url, loading$);\n\n return firstValueFrom(loading$);\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n getFromObject,\n SetToObject,\n} from '@rxap/utilities';\nimport { ConfigService } from './config.service';\n\n@Injectable()\nexport class ConfigTestingService implements ConfigService {\n readonly config: Record<string, any> = {};\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n clearLocalConfig(): void {\n }\n\n set<T>(propertyPath: string, value: T): void {\n SetToObject(this.config, propertyPath, value);\n }\n\n get<T>(propertyPath: string, defaultValue?: T): T | undefined {\n return getFromObject<T, T>(this.config, propertyPath, defaultValue);\n }\n\n getOrThrow<T>(propertyPath: string): T {\n const value = this.get<T>(propertyPath);\n if (value === undefined) {\n throw new Error(`Could not find config in path '${ propertyPath }'`);\n }\n return value;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n setLocalConfig(config: Record<string, any>): void {\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const RXAP_CONFIG = new InjectionToken('rxap/config');\n","import {\n Inject,\n Injectable,\n Optional,\n} from '@angular/core';\nimport { Environment } from '@rxap/environment';\nimport {\n coerceArray,\n deepMerge,\n SetObjectValue,\n} from '@rxap/utilities';\nimport { ReplaySubject } from 'rxjs';\nimport { RXAP_CONFIG } from './tokens';\nimport { NoInferType } from './types';\n\nexport type AnySchema = { validateAsync: (...args: any[]) => any };\n\nexport interface ConfigLoadOptions {\n fromUrlParam?: string | boolean;\n fromLocalStorage?: boolean;\n schema?: AnySchema;\n url?: string | string[] | ((environment: Environment) => string | string[]);\n /**\n * static config values\n */\n static?: Record<string, any>;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ConfigService<Config extends Record<string, any> = Record<string, any>> {\n\n public static onError = new ReplaySubject<unknown>(1);\n public static onRequestError = new ReplaySubject<Response>(1);\n\n public static onErrorFnc: Array<(error: any) => void> = [];\n public static onRequestErrorFnc: Array<(response: Response) => void> = [];\n\n public static Config: any = null;\n\n /**\n * Static default values for the config object.\n * Will be overwritten by an dynamic config file specified in\n * the Urls array.\n */\n public static Defaults: any = {};\n\n /**\n * Any value definition in the Overwrites object will overwrite any\n * value form the Defaults values or dynamic config files\n */\n public static Overwrites: any = {};\n\n public static LocalStorageKey = 'rxap/config/local-config';\n\n /**\n * @deprecated instead use the url property of the ConfigLoadOptions\n */\n public static Urls = [];\n public readonly config!: Config;\n\n constructor(@Optional() @Inject(RXAP_CONFIG) config: any | null = null) {\n this.config = ConfigService.Config;\n if (config) {\n this.config = deepMerge(this.config ?? {}, config);\n }\n if (!this.config) {\n throw new Error('config not available');\n }\n }\n\n /**\n * Used to load the app config from a remote resource.\n *\n * Promise.all([ ConfigService.Load() ])\n * .then(() => platformBrowserDynamic().bootstrapModule(AppModule))\n * .catch(err => console.error(err))\n *\n */\n public static async Load(options?: ConfigLoadOptions, environment?: Environment): Promise<void> {\n options ??= {};\n\n let config: any = deepMerge(this.Defaults, {});\n\n if (environment?.config) {\n if (typeof environment.config === 'string') {\n options.url = environment.config;\n } else {\n options.static = environment.config.static;\n options.url = environment.config.url;\n options.fromUrlParam = environment.config.fromUrlParam;\n options.fromLocalStorage = environment.config.fromLocalStorage;\n options.schema = environment.config.schema;\n }\n }\n\n config = deepMerge(config, options?.static ?? {});\n\n const urls = (options?.url ? coerceArray(options.url) : ConfigService.Urls).map(url => {\n if (typeof url === 'function') {\n if (!environment) {\n throw new Error('environment is required when url is a function');\n }\n return coerceArray(url(environment));\n }\n return coerceArray(url);\n }).flat();\n\n for (const url of urls) {\n config = deepMerge(config, await this.loadConfig(url, true, options?.schema));\n }\n\n config = deepMerge(config, this.Overwrites);\n\n if (options?.fromLocalStorage !== false) {\n\n const localConfig = localStorage.getItem(ConfigService.LocalStorageKey);\n\n if (localConfig) {\n try {\n config = deepMerge(config, JSON.parse(localConfig));\n } catch (e: any) {\n console.error('local config could not be parsed');\n }\n }\n\n }\n\n if (options?.fromUrlParam) {\n const param = typeof options.fromUrlParam === 'string' ? options.fromUrlParam : 'config';\n config = deepMerge(config, this.LoadConfigDefaultFromUrlParam(param));\n }\n\n console.debug('app config', config);\n\n this.Config = config;\n }\n\n private static handleError(error: any) {\n this.onError.next(error);\n for (const fnc of this.onErrorFnc) {\n try {\n fnc(error);\n } catch (e: any) {\n console.error('Error in onErrorFnc', e);\n }\n }\n }\n\n private static handleRequestError(response: Response) {\n this.onRequestError.next(response);\n for (const fnc of this.onRequestErrorFnc) {\n try {\n fnc(response);\n } catch (e: any) {\n console.error('Error in onRequestErrorFnc', e);\n }\n }\n }\n\n private static async loadConfig<T = any>(url: string, required?: boolean, schema?: AnySchema): Promise<T | null> {\n\n let config: any;\n let response: any;\n\n try {\n response = await fetch(url);\n } catch (error: any) {\n const message = `Could not fetch config from '${ url }': ${ error.message }`;\n if (required) {\n this.handleError(error);\n this.showError(message);\n throw new Error(message);\n } else {\n console.warn(message);\n return null;\n }\n }\n\n if (!response.ok) {\n let message = `Config request results in non ok response for '${ url }': (${ response.status }) ${ response.statusText }`;\n switch (response.status) {\n case 404:\n message = `Config not found at '${ url }'`;\n break;\n case 405:\n message = `Config service is not started yet. Wait 30s and try again.`;\n break;\n case 401:\n message = `Unauthorized to fetch config from '${ url }'`;\n break;\n }\n if (required) {\n this.handleRequestError(response);\n this.showError(message);\n throw new Error(message);\n } else {\n console.warn(message);\n return null;\n }\n }\n\n try {\n config = await response.json();\n } catch (error: any) {\n const message = `Could not parse config from '${ url }' to a json object: ${ error.message }`;\n if (required) {\n this.handleError(error);\n this.showError(message);\n throw new Error(message);\n } else {\n console.warn(message);\n return null;\n }\n }\n\n if (schema) {\n try {\n config = await schema.validateAsync(config);\n } catch (error: any) {\n const message = `Config from '${ url }' is not valid: ${ error.message }`;\n if (required) {\n this.handleError(error);\n this.showError(message);\n throw new Error(message);\n } else {\n console.warn(message);\n return null;\n }\n }\n }\n\n return config;\n\n }\n\n private static LoadConfigDefaultFromUrlParam(param = 'config') {\n\n const queryString = window.location.search;\n const urlParams = new URLSearchParams(queryString);\n\n const configFromParams = {};\n\n for (const configParam of urlParams.getAll('config')) {\n\n try {\n const split = configParam.split(';');\n if (split.length === 2) {\n const keyPath = split[0];\n const value = split[1];\n SetObjectValue(configFromParams, keyPath, value);\n }\n } catch (e: any) {\n console.warn(`Parsing of url config param failed for '${ configParam }': ${ e.message }`);\n }\n\n }\n\n return configFromParams;\n\n }\n\n public static async SideLoad(\n url: string,\n propertyPath: string,\n required?: boolean,\n schema?: AnySchema,\n ): Promise<void> {\n\n if (!this.Config) {\n throw new Error('Config side load is only possible after the initial config load.');\n }\n\n const config = await this.loadConfig(url, required, schema);\n\n SetObjectValue(this.Config, propertyPath, config);\n\n console.debug(`Side loaded config for '${ propertyPath }' successful`, this.Config);\n\n }\n\n public static Get<T = any, K extends Record<string, any> = Record<string, any>>(\n path: string,\n defaultValue: T | undefined,\n config: Record<string, any>,\n ): T\n\n public static Get<T = any, K extends Record<string, any> = Record<string, any>>(\n path: string,\n defaultValue: NoInferType<T>,\n config: Record<string, any> = this.Config,\n ): T {\n if (!config) {\n throw new Error('config not loaded');\n }\n let configValue: any = config;\n if (typeof path !== 'string') {\n throw new Error('The config property path is not a string');\n }\n for (const fragment of (path as any).split('.')) {\n // eslint-disable-next-line no-prototype-builtins\n if (configValue.hasOwnProperty(fragment)) {\n configValue = configValue[fragment];\n } else {\n if (defaultValue !== undefined) {\n return defaultValue;\n }\n console.warn(`Config with path '${ path }' not found`);\n return undefined as any;\n }\n }\n return configValue;\n }\n\n private static showError(message: string) {\n const hasUl = document.getElementById('rxap-config-error') !== null;\n const ul = document.getElementById('rxap-config-error') ?? document.createElement('ul');\n ul.id = 'rxap-config-error';\n ul.style.position = 'fixed';\n ul.style.bottom = '16px';\n ul.style.right = '16px';\n ul.style.backgroundColor = 'white';\n ul.style.padding = '32px';\n ul.style.zIndex = '99999999';\n ul.style.color = 'black';\n const messageLi = document.createElement('li');\n messageLi.innerText = message;\n ul.appendChild(messageLi);\n const refreshHintLi = document.createElement('li');\n refreshHintLi.innerText = 'Please refresh the page to try again.';\n ul.appendChild(refreshHintLi);\n const autoRefreshHintLi = document.createElement('li');\n autoRefreshHintLi.innerText = 'The page will refresh automatically in 30 seconds.';\n ul.appendChild(autoRefreshHintLi);\n if (!hasUl) {\n document.body.appendChild(ul);\n }\n setTimeout(() => location.reload(), 30000);\n }\n\n public setLocalConfig(config: Config): void {\n localStorage.setItem(ConfigService.LocalStorageKey, JSON.stringify(config));\n }\n\n public clearLocalConfig(): void {\n localStorage.removeItem(ConfigService.LocalStorageKey);\n }\n\n public get<T = any>(propertyPath: string): T | undefined;\n public get<T = any>(propertyPath: string, defaultValue: NoInferType<T>): T;\n public get<T = any>(propertyPath: string, defaultValue?: T): T | undefined {\n return ConfigService.Get(propertyPath, defaultValue, this.config);\n }\n\n public getOrThrow<T = any>(propertyPath: string): T;\n public getOrThrow<T = any>(propertyPath: string, defaultValue: NoInferType<T>): T;\n public getOrThrow<T = any>(propertyPath: string, defaultValue?: T): T {\n const value = ConfigService.Get(propertyPath, defaultValue, this.config);\n if (value === undefined) {\n throw new Error(`Could not find config in path '${ propertyPath }'`);\n }\n return value;\n }\n\n}\n","import { RXAP_CONFIG } from './tokens';\n\nexport function ProvideConfig(config: Record<string, unknown> = {}) {\n return {\n provide: RXAP_CONFIG,\n useValue: config,\n };\n}\n","// region \nexport * from './lib/config-loader.service';\nexport * from './lib/config-testing-service';\nexport * from './lib/config.service';\nexport * from './lib/config';\nexport * from './lib/provide-config';\nexport * from './lib/tokens';\nexport * from './lib/types';\n// endregion\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rxap-config.mjs","sources":["../../../../../packages/angular/config/src/lib/config-loader.service.ts","../../../../../packages/angular/config/src/lib/config-testing-service.ts","../../../../../packages/angular/config/src/lib/tokens.ts","../../../../../packages/angular/config/src/lib/config.service.ts","../../../../../packages/angular/config/src/lib/provide-config.ts","../../../../../packages/angular/config/src/index.ts","../../../../../packages/angular/config/src/rxap-config.ts"],"sourcesContent":["import {\n Inject,\n Injectable,\n} from '@angular/core';\nimport {\n firstValueFrom,\n Observable,\n} from 'rxjs';\nimport { HttpClient } from '@angular/common/http';\nimport {\n finalize,\n share,\n} from 'rxjs/operators';\n\n@Injectable({ providedIn: 'root' })\nexport class ConfigLoaderService {\n public readonly configs = new Map<string, any>();\n\n public readonly configLoading = new Map<string, Observable<any>>();\n\n constructor(\n @Inject(HttpClient)\n public readonly http: HttpClient,\n ) {\n }\n\n public async load$<T = any>(url: string): Promise<T> {\n if (this.configs.has(url)) {\n return this.configs.get(url);\n }\n\n if (this.configLoading.has(url)) {\n return this.configLoading.get(url)!.toPromise();\n }\n\n const loading$ = this.http.get<T>(url).pipe(\n finalize(() => this.configLoading.delete(url)),\n share(),\n );\n\n this.configLoading.set(url, loading$);\n\n return firstValueFrom(loading$);\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n getFromObject,\n SetToObject,\n} from '@rxap/utilities';\nimport { ConfigService } from './config.service';\n\n@Injectable()\nexport class ConfigTestingService implements ConfigService {\n readonly config: Record<string, any> = {};\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n clearLocalConfig(): void {\n }\n\n set<T>(propertyPath: string, value: T): void {\n SetToObject(this.config, propertyPath, value);\n }\n\n get<T>(propertyPath: string, defaultValue?: T): T | undefined {\n return getFromObject<T, T>(this.config, propertyPath, defaultValue);\n }\n\n getOrThrow<T>(propertyPath: string): T {\n const value = this.get<T>(propertyPath);\n if (value === undefined) {\n throw new Error(`Could not find config in path '${ propertyPath }'`);\n }\n return value;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n setLocalConfig(config: Record<string, any>): void {\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const RXAP_CONFIG = new InjectionToken('rxap/config');\n","import {\n Inject,\n Injectable,\n Optional,\n} from '@angular/core';\nimport { Environment } from '@rxap/environment';\nimport {\n coerceArray,\n deepMerge,\n SetObjectValue,\n} from '@rxap/utilities';\nimport { ReplaySubject } from 'rxjs';\nimport { RXAP_CONFIG } from './tokens';\nimport { NoInferType } from './types';\n\nexport type AnySchema = { validateAsync: (...args: any[]) => any };\n\nexport interface ConfigLoadOptions {\n fromUrlParam?: string | boolean;\n fromLocalStorage?: boolean;\n schema?: AnySchema;\n url?: string | string[] | ((environment: Environment) => string | string[]);\n /**\n * static config values\n */\n static?: Record<string, any>;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ConfigService<Config extends Record<string, any> = Record<string, any>> {\n\n public static onError = new ReplaySubject<unknown>(1);\n public static onRequestError = new ReplaySubject<Response>(1);\n\n public static onErrorFnc: Array<(error: any) => void> = [];\n public static onRequestErrorFnc: Array<(response: Response) => void> = [];\n\n public static Config: any = null;\n\n /**\n * Static default values for the config object.\n * Will be overwritten by an dynamic config file specified in\n * the Urls array.\n */\n public static Defaults: any = {};\n\n /**\n * Any value definition in the Overwrites object will overwrite any\n * value form the Defaults values or dynamic config files\n */\n public static Overwrites: any = {};\n\n public static LocalStorageKey = 'rxap/config/local-config';\n\n /**\n * @deprecated instead use the url property of the ConfigLoadOptions\n */\n public static Urls = [];\n public readonly config!: Config;\n\n constructor(@Optional() @Inject(RXAP_CONFIG) config: any | null = null) {\n this.config = ConfigService.Config;\n if (config) {\n this.config = deepMerge(this.config ?? {}, config);\n }\n if (!this.config) {\n throw new Error('config not available');\n }\n }\n\n /**\n * Used to load the app config from a remote resource.\n *\n * Promise.all([ ConfigService.Load() ])\n * .then(() => platformBrowserDynamic().bootstrapModule(AppModule))\n * .catch(err => console.error(err))\n *\n */\n public static async Load(options?: ConfigLoadOptions, environment?: Environment): Promise<void> {\n options ??= {};\n\n let config: any = deepMerge(this.Defaults, {});\n\n if (environment?.config) {\n if (typeof environment.config === 'string') {\n options.url = environment.config;\n } else {\n options.static = environment.config.static;\n options.url = environment.config.url;\n options.fromUrlParam = environment.config.fromUrlParam;\n options.fromLocalStorage = environment.config.fromLocalStorage;\n options.schema = environment.config.schema;\n }\n }\n\n config = deepMerge(config, options?.static ?? {});\n\n const urls = (options?.url ? coerceArray(options.url) : ConfigService.Urls).map(url => {\n if (typeof url === 'function') {\n if (!environment) {\n throw new Error('environment is required when url is a function');\n }\n return coerceArray(url(environment));\n }\n return coerceArray(url);\n }).flat();\n\n for (const url of urls) {\n config = deepMerge(config, await this.loadConfig(url, true, options?.schema));\n }\n\n config = deepMerge(config, this.Overwrites);\n\n if (options?.fromLocalStorage !== false) {\n\n const localConfig = localStorage.getItem(ConfigService.LocalStorageKey);\n\n if (localConfig) {\n try {\n config = deepMerge(config, JSON.parse(localConfig));\n } catch (e: any) {\n console.error('local config could not be parsed');\n }\n }\n\n }\n\n if (options?.fromUrlParam) {\n const param = typeof options.fromUrlParam === 'string' ? options.fromUrlParam : 'config';\n config = deepMerge(config, this.LoadConfigDefaultFromUrlParam(param));\n }\n\n console.debug('app config', config);\n\n this.Config = config;\n }\n\n private static handleError(error: any) {\n this.onError.next(error);\n for (const fnc of this.onErrorFnc) {\n try {\n fnc(error);\n } catch (e: any) {\n console.error('Error in onErrorFnc', e);\n }\n }\n }\n\n private static handleRequestError(response: Response) {\n this.onRequestError.next(response);\n for (const fnc of this.onRequestErrorFnc) {\n try {\n fnc(response);\n } catch (e: any) {\n console.error('Error in onRequestErrorFnc', e);\n }\n }\n }\n\n private static async loadConfig<T = any>(url: string, required?: boolean, schema?: AnySchema): Promise<T | null> {\n\n let config: any;\n let response: any;\n\n try {\n response = await fetch(url);\n } catch (error: any) {\n const message = `Could not fetch config from '${ url }': ${ error.message }`;\n if (required) {\n this.handleError(error);\n this.showError(message);\n throw new Error(message);\n } else {\n console.warn(message);\n return null;\n }\n }\n\n if (!response.ok) {\n let message = `Config request results in non ok response for '${ url }': (${ response.status }) ${ response.statusText }`;\n switch (response.status) {\n case 404:\n message = `Config not found at '${ url }'`;\n break;\n case 405:\n message = `Config service is not started yet. Wait 30s and try again.`;\n break;\n case 401:\n message = `Unauthorized to fetch config from '${ url }'`;\n break;\n }\n if (required) {\n this.handleRequestError(response);\n this.showError(message);\n throw new Error(message);\n } else {\n console.warn(message);\n return null;\n }\n }\n\n try {\n config = await response.json();\n } catch (error: any) {\n const message = `Could not parse config from '${ url }' to a json object: ${ error.message }`;\n if (required) {\n this.handleError(error);\n this.showError(message);\n throw new Error(message);\n } else {\n console.warn(message);\n return null;\n }\n }\n\n if (schema) {\n try {\n config = await schema.validateAsync(config);\n } catch (error: any) {\n const message = `Config from '${ url }' is not valid: ${ error.message }`;\n if (required) {\n this.handleError(error);\n this.showError(message);\n throw new Error(message);\n } else {\n console.warn(message);\n return null;\n }\n }\n }\n\n return config;\n\n }\n\n private static LoadConfigDefaultFromUrlParam(param = 'config') {\n\n const queryString = window.location.search;\n const urlParams = new URLSearchParams(queryString);\n\n const configFromParams = {};\n\n for (const configParam of urlParams.getAll('config')) {\n\n try {\n const split = configParam.split(';');\n if (split.length === 2) {\n const keyPath = split[0];\n const value = split[1];\n SetObjectValue(configFromParams, keyPath, value);\n }\n } catch (e: any) {\n console.warn(`Parsing of url config param failed for '${ configParam }': ${ e.message }`);\n }\n\n }\n\n return configFromParams;\n\n }\n\n public static async SideLoad(\n url: string,\n propertyPath: string,\n required?: boolean,\n schema?: AnySchema,\n ): Promise<void> {\n\n if (!this.Config) {\n throw new Error('Config side load is only possible after the initial config load.');\n }\n\n const config = await this.loadConfig(url, required, schema);\n\n SetObjectValue(this.Config, propertyPath, config);\n\n console.debug(`Side loaded config for '${ propertyPath }' successful`, this.Config);\n\n }\n\n public static Get<T = any, K extends Record<string, any> = Record<string, any>>(\n path: string,\n defaultValue: T | undefined,\n config: Record<string, any>,\n ): T\n\n public static Get<T = any, K extends Record<string, any> = Record<string, any>>(\n path: string,\n defaultValue: NoInferType<T>,\n config: Record<string, any> = this.Config,\n ): T {\n if (!config) {\n throw new Error('config not loaded');\n }\n let configValue: any = config;\n if (typeof path !== 'string') {\n throw new Error('The config property path is not a string');\n }\n for (const fragment of (path as any).split('.')) {\n // eslint-disable-next-line no-prototype-builtins\n if (configValue.hasOwnProperty(fragment)) {\n configValue = configValue[fragment];\n } else {\n if (defaultValue !== undefined) {\n return defaultValue;\n }\n console.warn(`Config with path '${ path }' not found`);\n return undefined as any;\n }\n }\n return configValue;\n }\n\n private static showError(message: string) {\n const hasUl = document.getElementById('rxap-config-error') !== null;\n const ul = document.getElementById('rxap-config-error') ?? document.createElement('ul');\n ul.id = 'rxap-config-error';\n ul.style.position = 'fixed';\n ul.style.bottom = '16px';\n ul.style.right = '16px';\n ul.style.backgroundColor = 'white';\n ul.style.padding = '32px';\n ul.style.zIndex = '99999999';\n ul.style.color = 'black';\n const messageLi = document.createElement('li');\n messageLi.innerText = message;\n ul.appendChild(messageLi);\n const refreshHintLi = document.createElement('li');\n refreshHintLi.innerText = 'Please refresh the page to try again.';\n ul.appendChild(refreshHintLi);\n const autoRefreshHintLi = document.createElement('li');\n autoRefreshHintLi.innerText = 'The page will refresh automatically in 30 seconds.';\n ul.appendChild(autoRefreshHintLi);\n if (!hasUl) {\n document.body.appendChild(ul);\n }\n setTimeout(() => location.reload(), 30000);\n }\n\n public setLocalConfig(config: Config): void {\n localStorage.setItem(ConfigService.LocalStorageKey, JSON.stringify(config));\n }\n\n public clearLocalConfig(): void {\n localStorage.removeItem(ConfigService.LocalStorageKey);\n }\n\n public get<T = any>(propertyPath: string): T | undefined;\n public get<T = any>(propertyPath: string, defaultValue: NoInferType<T>): T;\n public get<T = any>(propertyPath: string, defaultValue?: T): T | undefined {\n return ConfigService.Get(propertyPath, defaultValue, this.config);\n }\n\n public getOrThrow<T = any>(propertyPath: string): T;\n public getOrThrow<T = any>(propertyPath: string, defaultValue: NoInferType<T>): T;\n public getOrThrow<T = any>(propertyPath: string, defaultValue?: T): T {\n const value = ConfigService.Get(propertyPath, defaultValue, this.config);\n if (value === undefined) {\n throw new Error(`Could not find config in path '${ propertyPath }'`);\n }\n return value;\n }\n\n}\n","import { RXAP_CONFIG } from './tokens';\n\nexport function ProvideConfig(config: Record<string, unknown> = {}) {\n return {\n provide: RXAP_CONFIG,\n useValue: config,\n };\n}\n","// region \nexport * from './lib/config-loader.service';\nexport * from './lib/config-testing-service';\nexport * from './lib/config.service';\nexport * from './lib/config';\nexport * from './lib/provide-config';\nexport * from './lib/tokens';\nexport * from './lib/types';\n// endregion\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "
|
|
2
|
+
"version": "19.0.0-dev.2",
|
|
3
3
|
"name": "@rxap/config",
|
|
4
4
|
"description": "Simple config file manager for angular applications.",
|
|
5
5
|
"license": "GPL-3.0-or-later",
|
|
6
6
|
"dependencies": {
|
|
7
|
-
"@nx/devkit": "
|
|
7
|
+
"@nx/devkit": "20.2.1",
|
|
8
8
|
"tslib": "2.6.2"
|
|
9
9
|
},
|
|
10
10
|
"peerDependencies": {
|
|
11
|
-
"@angular/common": "
|
|
12
|
-
"@angular/core": "
|
|
13
|
-
"@rxap/environment": "^
|
|
14
|
-
"@rxap/utilities": "^16.4.
|
|
15
|
-
"rxjs": "
|
|
11
|
+
"@angular/common": "19.0.3",
|
|
12
|
+
"@angular/core": "19.0.3",
|
|
13
|
+
"@rxap/environment": "^19.0.0-dev.2",
|
|
14
|
+
"@rxap/utilities": "^16.4.1-dev.2",
|
|
15
|
+
"rxjs": "7.8.1"
|
|
16
16
|
},
|
|
17
17
|
"author": {
|
|
18
18
|
"name": "Merzough Münker",
|
|
@@ -37,19 +37,19 @@
|
|
|
37
37
|
"packageGroup": [
|
|
38
38
|
{
|
|
39
39
|
"package": "@angular/common",
|
|
40
|
-
"version": "
|
|
40
|
+
"version": "19.0.3"
|
|
41
41
|
},
|
|
42
42
|
{
|
|
43
43
|
"package": "@angular/core",
|
|
44
|
-
"version": "
|
|
44
|
+
"version": "19.0.3"
|
|
45
45
|
},
|
|
46
46
|
{
|
|
47
47
|
"package": "@rxap/environment",
|
|
48
|
-
"version": "
|
|
48
|
+
"version": "19.0.0-dev.2"
|
|
49
49
|
},
|
|
50
50
|
{
|
|
51
51
|
"package": "@rxap/utilities",
|
|
52
|
-
"version": "16.4.
|
|
52
|
+
"version": "16.4.1-dev.2"
|
|
53
53
|
}
|
|
54
54
|
]
|
|
55
55
|
},
|
|
@@ -63,7 +63,6 @@
|
|
|
63
63
|
"directory": "packages/angular/config"
|
|
64
64
|
},
|
|
65
65
|
"sideEffects": false,
|
|
66
|
-
"gitHead": "5844fe366e2b05fecc4f482cd21cb6d0a77225fa",
|
|
67
66
|
"module": "fesm2022/rxap-config.mjs",
|
|
68
67
|
"typings": "index.d.ts",
|
|
69
68
|
"exports": {
|
|
@@ -72,8 +71,6 @@
|
|
|
72
71
|
},
|
|
73
72
|
".": {
|
|
74
73
|
"types": "./index.d.ts",
|
|
75
|
-
"esm2022": "./esm2022/rxap-config.mjs",
|
|
76
|
-
"esm": "./esm2022/rxap-config.mjs",
|
|
77
74
|
"default": "./fesm2022/rxap-config.mjs"
|
|
78
75
|
},
|
|
79
76
|
"./theme": "./theme.css"
|
package/theme.css
CHANGED
|
@@ -1 +1,72 @@
|
|
|
1
|
-
.visible{
|
|
1
|
+
.visible {
|
|
2
|
+
visibility: visible
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
.static {
|
|
6
|
+
position: static
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.fixed {
|
|
10
|
+
position: fixed
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.absolute {
|
|
14
|
+
position: absolute
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.relative {
|
|
18
|
+
position: relative
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.sticky {
|
|
22
|
+
position: sticky
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.block {
|
|
26
|
+
display: block
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.inline {
|
|
30
|
+
display: inline
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.table {
|
|
34
|
+
display: table
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.contents {
|
|
38
|
+
display: contents
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.hidden {
|
|
42
|
+
display: none
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.table-auto {
|
|
46
|
+
table-layout: auto
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.p-4 {
|
|
50
|
+
padding: 1rem
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.pb-2 {
|
|
54
|
+
padding-bottom: 0.5rem
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.text-xl {
|
|
58
|
+
font-size: 1.25rem;
|
|
59
|
+
line-height: 1.75rem
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.font-bold {
|
|
63
|
+
font-weight: 700
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.capitalize {
|
|
67
|
+
text-transform: capitalize
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.filter {
|
|
71
|
+
filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
|
|
72
|
+
}
|
package/esm2022/index.mjs
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
// region
|
|
2
|
-
export * from './lib/config-loader.service';
|
|
3
|
-
export * from './lib/config-testing-service';
|
|
4
|
-
export * from './lib/config.service';
|
|
5
|
-
export * from './lib/config';
|
|
6
|
-
export * from './lib/provide-config';
|
|
7
|
-
export * from './lib/tokens';
|
|
8
|
-
export * from './lib/types';
|
|
9
|
-
// endregion
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyL2NvbmZpZy9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVTtBQUNWLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxhQUFhLENBQUM7QUFDNUIsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbIi8vIHJlZ2lvbiBcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbmZpZy1sb2FkZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb25maWctdGVzdGluZy1zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbmZpZy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbmZpZyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wcm92aWRlLWNvbmZpZyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90b2tlbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdHlwZXMnO1xuLy8gZW5kcmVnaW9uXG4iXX0=
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { Inject, Injectable, } from '@angular/core';
|
|
2
|
-
import { firstValueFrom, } from 'rxjs';
|
|
3
|
-
import { HttpClient } from '@angular/common/http';
|
|
4
|
-
import { finalize, share, } from 'rxjs/operators';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/common/http";
|
|
7
|
-
export class ConfigLoaderService {
|
|
8
|
-
constructor(http) {
|
|
9
|
-
this.http = http;
|
|
10
|
-
this.configs = new Map();
|
|
11
|
-
this.configLoading = new Map();
|
|
12
|
-
}
|
|
13
|
-
async load$(url) {
|
|
14
|
-
if (this.configs.has(url)) {
|
|
15
|
-
return this.configs.get(url);
|
|
16
|
-
}
|
|
17
|
-
if (this.configLoading.has(url)) {
|
|
18
|
-
return this.configLoading.get(url).toPromise();
|
|
19
|
-
}
|
|
20
|
-
const loading$ = this.http.get(url).pipe(finalize(() => this.configLoading.delete(url)), share());
|
|
21
|
-
this.configLoading.set(url, loading$);
|
|
22
|
-
return firstValueFrom(loading$);
|
|
23
|
-
}
|
|
24
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ConfigLoaderService, deps: [{ token: HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
25
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ConfigLoaderService, providedIn: 'root' }); }
|
|
26
|
-
}
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ConfigLoaderService, decorators: [{
|
|
28
|
-
type: Injectable,
|
|
29
|
-
args: [{ providedIn: 'root' }]
|
|
30
|
-
}], ctorParameters: () => [{ type: i1.HttpClient, decorators: [{
|
|
31
|
-
type: Inject,
|
|
32
|
-
args: [HttpClient]
|
|
33
|
-
}] }] });
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLWxvYWRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci9jb25maWcvc3JjL2xpYi9jb25maWctbG9hZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLE1BQU0sRUFDTixVQUFVLEdBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLGNBQWMsR0FFZixNQUFNLE1BQU0sQ0FBQztBQUNkLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQ0wsUUFBUSxFQUNSLEtBQUssR0FDTixNQUFNLGdCQUFnQixDQUFDOzs7QUFHeEIsTUFBTSxPQUFPLG1CQUFtQjtJQUs5QixZQUVrQixJQUFnQjtRQUFoQixTQUFJLEdBQUosSUFBSSxDQUFZO1FBTmxCLFlBQU8sR0FBRyxJQUFJLEdBQUcsRUFBZSxDQUFDO1FBRWpDLGtCQUFhLEdBQUcsSUFBSSxHQUFHLEVBQTJCLENBQUM7SUFNbkUsQ0FBQztJQUVNLEtBQUssQ0FBQyxLQUFLLENBQVUsR0FBVztRQUNyQyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDMUIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMvQixDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2hDLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFFLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDbEQsQ0FBQztRQUVELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FDekMsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQzlDLEtBQUssRUFBRSxDQUNSLENBQUM7UUFFRixJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFFdEMsT0FBTyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbEMsQ0FBQzs4R0E1QlUsbUJBQW1CLGtCQU1wQixVQUFVO2tIQU5ULG1CQUFtQixjQUROLE1BQU07OzJGQUNuQixtQkFBbUI7a0JBRC9CLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzswQkFPN0IsTUFBTTsyQkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSW5qZWN0LFxuICBJbmplY3RhYmxlLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIGZpcnN0VmFsdWVGcm9tLFxuICBPYnNlcnZhYmxlLFxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge1xuICBmaW5hbGl6ZSxcbiAgc2hhcmUsXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBDb25maWdMb2FkZXJTZXJ2aWNlIHtcbiAgcHVibGljIHJlYWRvbmx5IGNvbmZpZ3MgPSBuZXcgTWFwPHN0cmluZywgYW55PigpO1xuXG4gIHB1YmxpYyByZWFkb25seSBjb25maWdMb2FkaW5nID0gbmV3IE1hcDxzdHJpbmcsIE9ic2VydmFibGU8YW55Pj4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KEh0dHBDbGllbnQpXG4gICAgcHVibGljIHJlYWRvbmx5IGh0dHA6IEh0dHBDbGllbnQsXG4gICkge1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGxvYWQkPFQgPSBhbnk+KHVybDogc3RyaW5nKTogUHJvbWlzZTxUPiB7XG4gICAgaWYgKHRoaXMuY29uZmlncy5oYXModXJsKSkge1xuICAgICAgcmV0dXJuIHRoaXMuY29uZmlncy5nZXQodXJsKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5jb25maWdMb2FkaW5nLmhhcyh1cmwpKSB7XG4gICAgICByZXR1cm4gdGhpcy5jb25maWdMb2FkaW5nLmdldCh1cmwpIS50b1Byb21pc2UoKTtcbiAgICB9XG5cbiAgICBjb25zdCBsb2FkaW5nJCA9IHRoaXMuaHR0cC5nZXQ8VD4odXJsKS5waXBlKFxuICAgICAgZmluYWxpemUoKCkgPT4gdGhpcy5jb25maWdMb2FkaW5nLmRlbGV0ZSh1cmwpKSxcbiAgICAgIHNoYXJlKCksXG4gICAgKTtcblxuICAgIHRoaXMuY29uZmlnTG9hZGluZy5zZXQodXJsLCBsb2FkaW5nJCk7XG5cbiAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20obG9hZGluZyQpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { getFromObject, SetToObject, } from '@rxap/utilities';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class ConfigTestingService {
|
|
5
|
-
constructor() {
|
|
6
|
-
this.config = {};
|
|
7
|
-
}
|
|
8
|
-
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
9
|
-
clearLocalConfig() {
|
|
10
|
-
}
|
|
11
|
-
set(propertyPath, value) {
|
|
12
|
-
SetToObject(this.config, propertyPath, value);
|
|
13
|
-
}
|
|
14
|
-
get(propertyPath, defaultValue) {
|
|
15
|
-
return getFromObject(this.config, propertyPath, defaultValue);
|
|
16
|
-
}
|
|
17
|
-
getOrThrow(propertyPath) {
|
|
18
|
-
const value = this.get(propertyPath);
|
|
19
|
-
if (value === undefined) {
|
|
20
|
-
throw new Error(`Could not find config in path '${propertyPath}'`);
|
|
21
|
-
}
|
|
22
|
-
return value;
|
|
23
|
-
}
|
|
24
|
-
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
25
|
-
setLocalConfig(config) {
|
|
26
|
-
}
|
|
27
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ConfigTestingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
28
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ConfigTestingService }); }
|
|
29
|
-
}
|
|
30
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ConfigTestingService, decorators: [{
|
|
31
|
-
type: Injectable
|
|
32
|
-
}] });
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLXRlc3Rpbmctc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXIvY29uZmlnL3NyYy9saWIvY29uZmlnLXRlc3Rpbmctc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFDTCxhQUFhLEVBQ2IsV0FBVyxHQUNaLE1BQU0saUJBQWlCLENBQUM7O0FBSXpCLE1BQU0sT0FBTyxvQkFBb0I7SUFEakM7UUFFVyxXQUFNLEdBQXdCLEVBQUUsQ0FBQztLQXlCM0M7SUF2QkMsZ0VBQWdFO0lBQ2hFLGdCQUFnQjtJQUNoQixDQUFDO0lBRUQsR0FBRyxDQUFJLFlBQW9CLEVBQUUsS0FBUTtRQUNuQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxZQUFZLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELEdBQUcsQ0FBSSxZQUFvQixFQUFFLFlBQWdCO1FBQzNDLE9BQU8sYUFBYSxDQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsWUFBWSxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxVQUFVLENBQUksWUFBb0I7UUFDaEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBSSxZQUFZLENBQUMsQ0FBQztRQUN4QyxJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN4QixNQUFNLElBQUksS0FBSyxDQUFDLGtDQUFtQyxZQUFhLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZFLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxnRUFBZ0U7SUFDaEUsY0FBYyxDQUFDLE1BQTJCO0lBQzFDLENBQUM7OEdBekJVLG9CQUFvQjtrSEFBcEIsb0JBQW9COzsyRkFBcEIsb0JBQW9CO2tCQURoQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgZ2V0RnJvbU9iamVjdCxcbiAgU2V0VG9PYmplY3QsXG59IGZyb20gJ0ByeGFwL3V0aWxpdGllcyc7XG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi9jb25maWcuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDb25maWdUZXN0aW5nU2VydmljZSBpbXBsZW1lbnRzIENvbmZpZ1NlcnZpY2Uge1xuICByZWFkb25seSBjb25maWc6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fTtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gIGNsZWFyTG9jYWxDb25maWcoKTogdm9pZCB7XG4gIH1cblxuICBzZXQ8VD4ocHJvcGVydHlQYXRoOiBzdHJpbmcsIHZhbHVlOiBUKTogdm9pZCB7XG4gICAgU2V0VG9PYmplY3QodGhpcy5jb25maWcsIHByb3BlcnR5UGF0aCwgdmFsdWUpO1xuICB9XG5cbiAgZ2V0PFQ+KHByb3BlcnR5UGF0aDogc3RyaW5nLCBkZWZhdWx0VmFsdWU/OiBUKTogVCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIGdldEZyb21PYmplY3Q8VCwgVD4odGhpcy5jb25maWcsIHByb3BlcnR5UGF0aCwgZGVmYXVsdFZhbHVlKTtcbiAgfVxuXG4gIGdldE9yVGhyb3c8VD4ocHJvcGVydHlQYXRoOiBzdHJpbmcpOiBUIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZ2V0PFQ+KHByb3BlcnR5UGF0aCk7XG4gICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQ291bGQgbm90IGZpbmQgY29uZmlnIGluIHBhdGggJyR7IHByb3BlcnR5UGF0aCB9J2ApO1xuICAgIH1cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gIHNldExvY2FsQ29uZmlnKGNvbmZpZzogUmVjb3JkPHN0cmluZywgYW55Pik6IHZvaWQge1xuICB9XG59XG4iXX0=
|
package/esm2022/lib/config.mjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci9jb25maWcvc3JjL2xpYi9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEljb25Db25maWcgfSBmcm9tICdAcnhhcC91dGlsaXRpZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFwcHNOYXZpZ2F0aW9uQ29uZmlnIHtcbiAgdGFyZ2V0Pzogc3RyaW5nO1xuICBpbWFnZT86IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbiAgaHJlZj86IHN0cmluZztcbiAgcm91dGVyTGluaz86IHN0cmluZ1tdO1xuICBlbXB0eT86IGZhbHNlO1xuICBoaWRkZW4/OiBib29sZWFuO1xuICBpZD86IHN0cmluZztcbiAgcGVybWlzc2lvbnM/OiBzdHJpbmdbXTtcbiAgaWNvbj86IEljb25Db25maWc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG9nb0NvbmZpZyB7XG4gIHNyYz86IHN0cmluZztcbiAgd2lkdGg/OiBudW1iZXI7XG4gIGhlaWdodD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOYXZpZ2F0aW9uQ29uZmlnIHtcbiAgYXBwcz86IEFwcHNOYXZpZ2F0aW9uQ29uZmlnW107XG4gIGNvbGxhcHNhYmxlPzogYm9vbGVhbjtcbiAgcGlubmVkPzogYm9vbGVhbjtcbiAgbW9kZT86ICdzaWRlJyB8ICdvdmVyJztcbiAgb3BlbmVkPzogYm9vbGVhbjtcbiAgZml4ZWRJblZpZXdwb3J0PzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IHR5cGUgTGFuZ3VhZ2VzQ29uZmlnID0gUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcblxuZXhwb3J0IGludGVyZmFjZSBpMThuQ29uZmlnIHtcbiAgbGFuZ3VhZ2VzPzogTGFuZ3VhZ2VzQ29uZmlnO1xuICBkZWZhdWx0TGFuZ3VhZ2U/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT2F1dGgyQ29uZmlnIHtcbiAgcHJvZmlsZVVybD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb25maWcge1xuICBuYXZpZ2F0aW9uPzogTmF2aWdhdGlvbkNvbmZpZztcbiAgbG9nbz86IExvZ29Db25maWc7XG4gIGkxOG4/OiBpMThuQ29uZmlnO1xuICBvYXV0aDI/OiBPYXV0aDJDb25maWc7XG59XG4iXX0=
|