@skyux/config 8.0.3 → 8.2.0

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.
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLXBhcmFtcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb25maWcvc3JjL2xpYi9jb25maWctcGFyYW1zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRoZSBsaXN0IG9mIHBhcmFtZXRlcnMgdGhhdCBhcmUgYWxsb3dlZCBhdCBydW50aW1lLlxuICovXG5leHBvcnQgdHlwZSBTa3l1eENvbmZpZ1BhcmFtcyA9IHtcbiAgW2tleTogc3RyaW5nXTpcbiAgICB8IGJvb2xlYW5cbiAgICB8IHtcbiAgICAgICAgdmFsdWU/OiBhbnk7XG4gICAgICAgIHJlcXVpcmVkPzogYm9vbGVhbjtcbiAgICAgICAgZXhjbHVkZUZyb21SZXF1ZXN0cz86IGJvb2xlYW47XG4gICAgICB9O1xufTtcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLXBhcmFtcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb25maWcvc3JjL2xpYi9jb25maWctcGFyYW1zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRoZSBsaXN0IG9mIHBhcmFtZXRlcnMgdGhhdCBhcmUgYWxsb3dlZCBhdCBydW50aW1lLlxuICovXG5leHBvcnQgdHlwZSBTa3l1eENvbmZpZ1BhcmFtcyA9IHtcbiAgW2tleTogc3RyaW5nXTpcbiAgICB8IGJvb2xlYW5cbiAgICB8IHtcbiAgICAgICAgdmFsdWU/OiBhbnk7XG4gICAgICAgIHJlcXVpcmVkPzogYm9vbGVhbjtcbiAgICAgICAgZXhjbHVkZUZyb21MaW5rcz86IGJvb2xlYW47XG4gICAgICAgIGV4Y2x1ZGVGcm9tUmVxdWVzdHM/OiBib29sZWFuO1xuICAgICAgfTtcbn07XG4iXX0=
@@ -1,4 +1,4 @@
1
- var _SkyAppRuntimeConfigParams_params, _SkyAppRuntimeConfigParams_defaultParamValues, _SkyAppRuntimeConfigParams_requiredParams, _SkyAppRuntimeConfigParams_encodedParams, _SkyAppRuntimeConfigParams_excludeFromRequestsParams;
1
+ var _SkyAppRuntimeConfigParams_instances, _SkyAppRuntimeConfigParams_params, _SkyAppRuntimeConfigParams_defaultParamValues, _SkyAppRuntimeConfigParams_requiredParams, _SkyAppRuntimeConfigParams_encodedParams, _SkyAppRuntimeConfigParams_excludeFromLinksParams, _SkyAppRuntimeConfigParams_excludeFromRequestsParams, _SkyAppRuntimeConfigParams_buildUrlWithParams;
2
2
  import { __classPrivateFieldGet } from "tslib";
3
3
  import { HttpParams } from '@angular/common/http';
4
4
  /**
@@ -17,11 +17,13 @@ function getUrlSearchParams(url) {
17
17
  }
18
18
  export class SkyAppRuntimeConfigParams {
19
19
  constructor(url, configParams) {
20
+ _SkyAppRuntimeConfigParams_instances.add(this);
20
21
  _SkyAppRuntimeConfigParams_params.set(this, {});
21
22
  _SkyAppRuntimeConfigParams_defaultParamValues.set(this, {});
22
23
  _SkyAppRuntimeConfigParams_requiredParams.set(this, []);
23
24
  _SkyAppRuntimeConfigParams_encodedParams.set(this, []);
24
- _SkyAppRuntimeConfigParams_excludeFromRequestsParams.set(this, []);
25
+ _SkyAppRuntimeConfigParams_excludeFromLinksParams.set(this, new Set());
26
+ _SkyAppRuntimeConfigParams_excludeFromRequestsParams.set(this, new Set());
25
27
  const allowed = [];
26
28
  for (const paramName of Object.keys(configParams)) {
27
29
  const configParam = configParams[paramName];
@@ -40,8 +42,11 @@ export class SkyAppRuntimeConfigParams {
40
42
  __classPrivateFieldGet(this, _SkyAppRuntimeConfigParams_params, "f")[paramName] = paramValue;
41
43
  __classPrivateFieldGet(this, _SkyAppRuntimeConfigParams_defaultParamValues, "f")[paramName] = paramValue;
42
44
  }
45
+ if (configParam.excludeFromLinks) {
46
+ __classPrivateFieldGet(this, _SkyAppRuntimeConfigParams_excludeFromLinksParams, "f").add(paramName);
47
+ }
43
48
  if (configParam.excludeFromRequests) {
44
- __classPrivateFieldGet(this, _SkyAppRuntimeConfigParams_excludeFromRequestsParams, "f").push(paramName);
49
+ __classPrivateFieldGet(this, _SkyAppRuntimeConfigParams_excludeFromRequestsParams, "f").add(paramName);
45
50
  }
46
51
  }
47
52
  }
@@ -118,23 +123,42 @@ export class SkyAppRuntimeConfigParams {
118
123
  return Object.keys(__classPrivateFieldGet(this, _SkyAppRuntimeConfigParams_params, "f"));
119
124
  }
120
125
  /**
121
- * Adds the current params to the supplied url.
126
+ * Adds the current params to the supplied URL.
122
127
  */
123
128
  getUrl(url) {
124
- const httpParams = getUrlSearchParams(url);
125
- const delimiter = url.indexOf('?') === -1 ? '?' : '&';
126
- const joined = [];
127
- this.getAllKeys().forEach((key) => {
128
- if (__classPrivateFieldGet(this, _SkyAppRuntimeConfigParams_excludeFromRequestsParams, "f").indexOf(key) === -1 &&
129
- !httpParams.has(key)) {
130
- const decodedValue = this.get(key);
131
- if (decodedValue) {
132
- joined.push(`${key}=${encodeURIComponent(decodedValue)}`);
133
- }
134
- }
135
- });
136
- return joined.length === 0 ? url : `${url}${delimiter}${joined.join('&')}`;
129
+ return __classPrivateFieldGet(this, _SkyAppRuntimeConfigParams_instances, "m", _SkyAppRuntimeConfigParams_buildUrlWithParams).call(this, url, __classPrivateFieldGet(this, _SkyAppRuntimeConfigParams_excludeFromRequestsParams, "f"));
130
+ }
131
+ /**
132
+ * Adds the current params to the supplied link URL.
133
+ */
134
+ getLinkUrl(url) {
135
+ return __classPrivateFieldGet(this, _SkyAppRuntimeConfigParams_instances, "m", _SkyAppRuntimeConfigParams_buildUrlWithParams).call(this, url, new Set([
136
+ ...__classPrivateFieldGet(this, _SkyAppRuntimeConfigParams_excludeFromRequestsParams, "f"),
137
+ ...__classPrivateFieldGet(this, _SkyAppRuntimeConfigParams_excludeFromLinksParams, "f"),
138
+ ]));
137
139
  }
138
140
  }
139
- _SkyAppRuntimeConfigParams_params = new WeakMap(), _SkyAppRuntimeConfigParams_defaultParamValues = new WeakMap(), _SkyAppRuntimeConfigParams_requiredParams = new WeakMap(), _SkyAppRuntimeConfigParams_encodedParams = new WeakMap(), _SkyAppRuntimeConfigParams_excludeFromRequestsParams = new WeakMap();
140
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvbmZpZy9zcmMvbGliL3BhcmFtcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUlsRDs7O0dBR0c7QUFDSCxTQUFTLGtCQUFrQixDQUFDLEdBQVc7SUFDckMsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDO0lBRVosSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFO1FBQ3pCLEVBQUUsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZCLEVBQUUsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ3ZCO0lBRUQsT0FBTyxJQUFJLFVBQVUsQ0FBQztRQUNwQixVQUFVLEVBQUUsRUFBRTtLQUNmLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxNQUFNLE9BQU8seUJBQXlCO0lBV3BDLFlBQVksR0FBVyxFQUFFLFlBQStCO1FBVnhELDRDQUFrQyxFQUFFLEVBQUM7UUFFckMsd0RBQThDLEVBQUUsRUFBQztRQUVqRCxvREFBNEIsRUFBRSxFQUFDO1FBRS9CLG1EQUEyQixFQUFFLEVBQUM7UUFFOUIsK0RBQXVDLEVBQUUsRUFBQztRQUd4QyxNQUFNLE9BQU8sR0FBYSxFQUFFLENBQUM7UUFFN0IsS0FBSyxNQUFNLFNBQVMsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFO1lBQ2pELE1BQU0sV0FBVyxHQUFHLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUU1Qyw2RUFBNkU7WUFDN0Usd0NBQXdDO1lBQ3hDLElBQUksV0FBVyxFQUFFO2dCQUNmLE9BQU8sQ0FBQyxJQUFJLENB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O2dCQUNuQyxJQUFJLFlBQVksRUFBRTtvQkFDaEIsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUM7aUJBQzNEO2FBQ0Y7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcsU0FBUyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztJQUM3RSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5pbXBvcnQgeyBTa3l1eENvbmZpZ1BhcmFtcyB9IGZyb20gJy4vY29uZmlnLXBhcmFtcyc7XG5cbi8qKlxuICogR2l2ZW4gYSBcInVybFwiIChjb3VsZCBiZSBqdXN0IHF1ZXJ5c3RyaW5nLCBvciBmdWxseSBxdWFsaWZpZWQpLFxuICogUmV0dXJucyB0aGUgZXh0cmFjdGVkIEh0dHBQYXJhbXMuXG4gKi9cbmZ1bmN0aW9uIGdldFVybFNlYXJjaFBhcmFtcyh1cmw6IHN0cmluZyk6IEh0dHBQYXJhbXMge1xuICBsZXQgcXMgPSAnJztcblxuICBpZiAodXJsLmluZGV4T2YoJz8nKSA+IC0xKSB7XG4gICAgcXMgPSB1cmwuc3BsaXQoJz8nKVsxXTtcbiAgICBxcyA9IHFzLnNwbGl0KCcjJylbMF07XG4gIH1cblxuICByZXR1cm4gbmV3IEh0dHBQYXJhbXMoe1xuICAgIGZyb21TdHJpbmc6IHFzLFxuICB9KTtcbn1cblxuZXhwb3J0IGNsYXNzIFNreUFwcFJ1bnRpbWVDb25maWdQYXJhbXMge1xuICAjcGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge307XG5cbiAgI2RlZmF1bHRQYXJhbVZhbHVlczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHt9O1xuXG4gICNyZXF1aXJlZFBhcmFtczogc3RyaW5nW10gPSBbXTtcblxuICAjZW5jb2RlZFBhcmFtczogc3RyaW5nW10gPSBbXTtcblxuICAjZXhjbHVkZUZyb21SZXF1ZXN0c1BhcmFtczogc3RyaW5nW10gPSBbXTtcblxuICBjb25zdHJ1Y3Rvcih1cmw6IHN0cmluZywgY29uZmlnUGFyYW1zOiBTa3l1eENvbmZpZ1BhcmFtcykge1xuICAgIGNvbnN0IGFsbG93ZWQ6IHN0cmluZ1tdID0gW107XG5cbiAgICBmb3IgKGNvbnN0IHBhcmFtTmFtZSBvZiBPYmplY3Qua2V5cyhjb25maWdQYXJhbXMpKSB7XG4gICAgICBjb25zdCBjb25maWdQYXJhbSA9IGNvbmZpZ1BhcmFtc1twYXJhbU5hbWVdO1xuXG4gICAgICAvLyBUaGUgY29uZmlnIHBhcmFtIGNvdWxkIGJlIHByZXNlbnQgYnV0IGJlIHNldCB0byBmYWxzZS91bmRlZmluZWQgaW5kaWNhdGluZ1xuICAgICAgLy8gYW4gb3ZlcnJpZGUgb2YgdGhlIGRlZmF1bHQgcGFyYW1ldGVyLlxuICAgICAgaWYgKGNvbmZpZ1BhcmFtKSB7XG4gICAgICAgIGFsbG93ZWQucHVzaChwYXJhbU5hbWUpO1xuXG4gICAgICAgIC8vIEEgYm9vbGVhbiB2YWx1ZSBtYXkgYmUgcHJlc2VudCB0byBzaW1wbHkgaW5kaWNhdGUgdGhhdCBhIHBhcmFtZXRlciBpcyBhbGxvd2VkLlxuICAgICAgICAvLyBJZiB0aGUgdHlwZSBpcyBvYmplY3QsIGxvb2sgZm9yIGFkZGl0aW9uYWwgY29uZmlnIHByb3BlcnRpZXMuXG4gICAgICAgIGlmICh0eXBlb2YgY29uZmlnUGFyYW0gPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgY29uc3QgcGFyYW1WYWx1ZSA9IGNvbmZpZ1BhcmFtLnZhbHVlO1xuXG4gICAgICAgICAgaWYgKGNvbmZpZ1BhcmFtLnJlcXVpcmVkKSB7XG4gICAgICAgICAgICB0aGlzLiNyZXF1aXJlZFBhcmFtcy5wdXNoKHBhcmFtTmFtZSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHBhcmFtVmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuI3BhcmFtc1twYXJhbU5hbWVdID0gcGFyYW1WYWx1ZTtcbiAgICAgICAgICAgIHRoaXMuI2RlZmF1bHRQYXJhbVZhbHVlc1twYXJhbU5hbWVdID0gcGFyYW1WYWx1ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoY29uZmlnUGFyYW0uZXhjbHVkZUZyb21SZXF1ZXN0cykge1xuICAgICAgICAgICAgdGhpcy4jZXhjbHVkZUZyb21SZXF1ZXN0c1BhcmFtcy5wdXNoKHBhcmFtTmFtZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgaHR0cFBhcmFtcyA9IGdldFVybFNlYXJjaFBhcmFtcyh1cmwpO1xuXG4gICAgLy8gR2V0IHVwcGVyY2FzZSBrZXlzLlxuICAgIGNvbnN0IGFsbG93ZWRLZXlzVUMgPSBhbGxvd2VkLm1hcCgoa2V5KSA9PiBrZXkudG9VcHBlckNhc2UoKSk7XG4gICAgY29uc3QgdXJsU2VhcmNoUGFyYW1LZXlzID0gQXJyYXkuZnJvbShodHRwUGFyYW1zLmtleXMoKSk7XG5cbiAgICAvLyBGaWx0ZXIgdG8gYWxsb3dlZCBwYXJhbXMgYW5kIG92ZXJyaWRlIGRlZmF1bHQgdmFsdWVzLlxuICAgIHVybFNlYXJjaFBhcmFtS2V5cy5mb3JFYWNoKChnaXZlbktleSkgPT4ge1xuICAgICAgY29uc3QgZ2l2ZW5LZXlVQyA9IGdpdmVuS2V5LnRvVXBwZXJDYXNlKCk7XG4gICAgICBhbGxvd2VkS2V5c1VDLmZvckVhY2goKGFsbG93ZWRLZXlVQywgaW5kZXgpID0+IHtcbiAgICAgICAgaWYgKGdpdmVuS2V5VUMgPT09IGFsbG93ZWRLZXlVQykge1xuICAgICAgICAgIGNvbnN0IHBhcmFtID0gaHR0cFBhcmFtcy5nZXQoZ2l2ZW5LZXkpO1xuXG4gICAgICAgICAgaWYgKHBhcmFtKSB7XG4gICAgICAgICAgICB0aGlzLiNwYXJhbXNbYWxsb3dlZFtpbmRleF1dID0gcGFyYW07XG4gICAgICAgICAgICB0aGlzLiNlbmNvZGVkUGFyYW1zLnB1c2goZ2l2ZW5LZXkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogRG9lcyB0aGUga2V5IGV4aXN0XG4gICAqL1xuICBwdWJsaWMgaGFzKGtleTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0aGlzLiNwYXJhbXMsIGtleSk7XG4gIH1cblxuICAvKipcbiAgICogQXJlIGFsbCB0aGUgcmVxdWlyZWQgcGFyYW1zIGRlZmluZWQ/XG4gICAqL1xuICBwdWJsaWMgaGFzQWxsUmVxdWlyZWRQYXJhbXMoKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuI3JlcXVpcmVkUGFyYW1zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuI3JlcXVpcmVkUGFyYW1zLmV2ZXJ5KChwYXJhbTogc3RyaW5nKSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy4jcGFyYW1zW3BhcmFtXSAhPT0gdW5kZWZpbmVkO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBmbGFnIGluZGljYXRpbmcgd2hldGhlciBhIHBhcmFtZXRlciBpcyByZXF1aXJlZC5cbiAgICovXG4gIHB1YmxpYyBpc1JlcXVpcmVkKGtleTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI3JlcXVpcmVkUGFyYW1zLmluZGV4T2Yoa2V5KSA+PSAwO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGRlY29kZWQgdmFsdWUgb2YgdGhlIHJlcXVlc3RlZCBwYXJhbS5cbiAgICogQHBhcmFtIGtleSBUaGUgcGFyYW1ldGVyJ3Mga2V5LlxuICAgKi9cbiAgcHVibGljIGdldChrZXk6IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHRoaXMuaGFzKGtleSkpIHtcbiAgICAgIHJldHVybiB0aGlzLiNwYXJhbXNba2V5XTtcbiAgICB9XG5cbiAgICByZXR1cm47XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgcGFyYW1zIG9iamVjdC5cbiAgICogQHBhcmFtIGV4Y2x1ZGVEZWZhdWx0cyBFeGNsdWRlIHBhcmFtcyB0aGF0IGhhdmUgZGVmYXVsdCB2YWx1ZXNcbiAgICovXG4gIHB1YmxpYyBnZXRBbGwoZXhjbHVkZURlZmF1bHRzPzogYm9vbGVhbik6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4ge1xuICAgIGNvbnN0IGZpbHRlcmVkUGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge307XG5cbiAgICB0aGlzLmdldEFsbEtleXMoKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIGlmIChcbiAgICAgICAgIWV4Y2x1ZGVEZWZhdWx0cyB8fFxuICAgICAgICB0aGlzLiNwYXJhbXNba2V5XSAhPT0gdGhpcy4jZGVmYXVsdFBhcmFtVmFsdWVzW2tleV1cbiAgICAgICkge1xuICAgICAgICBmaWx0ZXJlZFBhcmFtc1trZXldID0gdGhpcy4jcGFyYW1zW2tleV07XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gZmlsdGVyZWRQYXJhbXM7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhbGwga2V5cyBmb3IgY3VycmVudCBwYXJhbXMuXG4gICAqL1xuICBwdWJsaWMgZ2V0QWxsS2V5cygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKHRoaXMuI3BhcmFtcyk7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyB0aGUgY3VycmVudCBwYXJhbXMgdG8gdGhlIHN1cHBsaWVkIHVybC5cbiAgICovXG4gIHB1YmxpYyBnZXRVcmwodXJsOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IGh0dHBQYXJhbXMgPSBnZXRVcmxTZWFyY2hQYXJhbXModXJsKTtcbiAgICBjb25zdCBkZWxpbWl0ZXIgPSB1cmwuaW5kZXhPZignPycpID09PSAtMSA/ICc/JyA6ICcmJztcbiAgICBjb25zdCBqb2luZWQ6IHN0cmluZ1tdID0gW107XG5cbiAgICB0aGlzLmdldEFsbEtleXMoKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy4jZXhjbHVkZUZyb21SZXF1ZXN0c1BhcmFtcy5pbmRleE9mKGtleSkgPT09IC0xICYmXG4gICAgICAgICFodHRwUGFyYW1zLmhhcyhrZXkpXG4gICAgICApIHtcbiAgICAgICAgY29uc3QgZGVjb2RlZFZhbHVlID0gdGhpcy5nZXQoa2V5KTtcbiAgICAgICAgaWYgKGRlY29kZWRWYWx1ZSkge1xuICAgICAgICAgIGpvaW5lZC5wdXNoKGAke2tleX09JHtlbmNvZGVVUklDb21wb25lbnQoZGVjb2RlZFZhbHVlKX1gKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIGpvaW5lZC5sZW5ndGggPT09IDAgPyB1cmwgOiBgJHt1cmx9JHtkZWxpbWl0ZXJ9JHtqb2luZWQuam9pbignJicpfWA7XG4gIH1cbn1cbiJdfQ==
141
+ _SkyAppRuntimeConfigParams_params = new WeakMap(), _SkyAppRuntimeConfigParams_defaultParamValues = new WeakMap(), _SkyAppRuntimeConfigParams_requiredParams = new WeakMap(), _SkyAppRuntimeConfigParams_encodedParams = new WeakMap(), _SkyAppRuntimeConfigParams_excludeFromLinksParams = new WeakMap(), _SkyAppRuntimeConfigParams_excludeFromRequestsParams = new WeakMap(), _SkyAppRuntimeConfigParams_instances = new WeakSet(), _SkyAppRuntimeConfigParams_buildUrlWithParams = function _SkyAppRuntimeConfigParams_buildUrlWithParams(url, excludeParams) {
142
+ let httpParams = getUrlSearchParams(url);
143
+ // Add requested parameters to the URL.
144
+ for (const key of this.getAllKeys()) {
145
+ if (!excludeParams.has(key) && !httpParams.has(key)) {
146
+ const decodedValue = this.get(key);
147
+ if (decodedValue) {
148
+ httpParams = httpParams.set(key, encodeURIComponent(decodedValue));
149
+ }
150
+ }
151
+ }
152
+ // Combine all parameters and their values, e.g. 'a=b'.
153
+ const joinedParams = httpParams
154
+ .keys()
155
+ .map((key) => `${key}=${httpParams.get(key)}`);
156
+ // Build and return the final URL.
157
+ const [beforeFragment, fragment] = url.split('#', 2);
158
+ const [baseUrl] = beforeFragment.split('?', 1);
159
+ return joinedParams.length === 0
160
+ ? url
161
+ : `${baseUrl}?${joinedParams.join('&')}` +
162
+ (fragment ? `#${fragment}` : '');
163
+ };
164
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvbmZpZy9zcmMvbGliL3BhcmFtcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUlsRDs7O0dBR0c7QUFDSCxTQUFTLGtCQUFrQixDQUFDLEdBQVc7SUFDckMsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDO0lBRVosSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFO1FBQ3pCLEVBQUUsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZCLEVBQUUsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ3ZCO0lBRUQsT0FBTyxJQUFJLFVBQVUsQ0FBQztRQUNwQixVQUFVLEVBQUUsRUFBRTtLQUNmLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxNQUFNLE9BQU8seUJBQXlCO0lBWXBDLFlBQVksR0FBVyxFQUFFLFlBQStCOztRQVh4RCw0Q0FBa0MsRUFBRSxFQUFDO1FBRXJDLHdEQUE4QyxFQUFFLEVBQUM7UUFFakQsb0RBQTRCLEVBQUUsRUFBQztRQUUvQixtREFBMkIsRUFBRSxFQUFDO1FBRTlCLDREQUEwQixJQUFJLEdBQUcsRUFBVSxFQUFDO1FBQzVDLCtEQUE2QixJQUFJLEdBQUcsRUFBVSxFQUFDO1FBRzdDLE1BQU0sT0FBTyxHQUFhLEVBQUUsQ0FBQztRQUU3QixLQUFLLE1BQU0sU0FBUyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUU7WUFDakQsTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBRTVDLDZFQUE2RTtZQUM3RSx3Q0FBd0M7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QUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDekMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5cbmltcG9ydCB7IFNreXV4Q29uZmlnUGFyYW1zIH0gZnJvbSAnLi9jb25maWctcGFyYW1zJztcblxuLyoqXG4gKiBHaXZlbiBhIFwidXJsXCIgKGNvdWxkIGJlIGp1c3QgcXVlcnlzdHJpbmcsIG9yIGZ1bGx5IHF1YWxpZmllZCksXG4gKiBSZXR1cm5zIHRoZSBleHRyYWN0ZWQgSHR0cFBhcmFtcy5cbiAqL1xuZnVuY3Rpb24gZ2V0VXJsU2VhcmNoUGFyYW1zKHVybDogc3RyaW5nKTogSHR0cFBhcmFtcyB7XG4gIGxldCBxcyA9ICcnO1xuXG4gIGlmICh1cmwuaW5kZXhPZignPycpID4gLTEpIHtcbiAgICBxcyA9IHVybC5zcGxpdCgnPycpWzFdO1xuICAgIHFzID0gcXMuc3BsaXQoJyMnKVswXTtcbiAgfVxuXG4gIHJldHVybiBuZXcgSHR0cFBhcmFtcyh7XG4gICAgZnJvbVN0cmluZzogcXMsXG4gIH0pO1xufVxuXG5leHBvcnQgY2xhc3MgU2t5QXBwUnVudGltZUNvbmZpZ1BhcmFtcyB7XG4gICNwYXJhbXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fTtcblxuICAjZGVmYXVsdFBhcmFtVmFsdWVzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge307XG5cbiAgI3JlcXVpcmVkUGFyYW1zOiBzdHJpbmdbXSA9IFtdO1xuXG4gICNlbmNvZGVkUGFyYW1zOiBzdHJpbmdbXSA9IFtdO1xuXG4gICNleGNsdWRlRnJvbUxpbmtzUGFyYW1zID0gbmV3IFNldDxzdHJpbmc+KCk7XG4gICNleGNsdWRlRnJvbVJlcXVlc3RzUGFyYW1zID0gbmV3IFNldDxzdHJpbmc+KCk7XG5cbiAgY29uc3RydWN0b3IodXJsOiBzdHJpbmcsIGNvbmZpZ1BhcmFtczogU2t5dXhDb25maWdQYXJhbXMpIHtcbiAgICBjb25zdCBhbGxvd2VkOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgZm9yIChjb25zdCBwYXJhbU5hbWUgb2YgT2JqZWN0LmtleXMoY29uZmlnUGFyYW1zKSkge1xuICAgICAgY29uc3QgY29uZmlnUGFyYW0gPSBjb25maWdQYXJhbXNbcGFyYW1OYW1lXTtcblxuICAgICAgLy8gVGhlIGNvbmZpZyBwYXJhbSBjb3VsZCBiZSBwcmVzZW50IGJ1dCBiZSBzZXQgdG8gZmFsc2UvdW5kZWZpbmVkIGluZGljYXRpbmdcbiAgICAgIC8vIGFuIG92ZXJyaWRlIG9mIHRoZSBkZWZhdWx0IHBhcmFtZXRlci5cbiAgICAgIGlmIChjb25maWdQYXJhbSkge1xuICAgICAgICBhbGxvd2VkLnB1c2gocGFyYW1OYW1lKTtcblxuICAgICAgICAvLyBBIGJvb2xlYW4gdmFsdWUgbWF5IGJlIHByZXNlbnQgdG8gc2ltcGx5IGluZGljYXRlIHRoYXQgYSBwYXJhbWV0ZXIgaXMgYWxsb3dlZC5cbiAgICAgICAgLy8gSWYgdGhlIHR5cGUgaXMgb2JqZWN0LCBsb29rIGZvciBhZGRpdGlvbmFsIGNvbmZpZyBwcm9wZXJ0aWVzLlxuICAgICAgICBpZiAodHlwZW9mIGNvbmZpZ1BhcmFtID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgIGNvbnN0IHBhcmFtVmFsdWUgPSBjb25maWdQYXJhbS52YWx1ZTtcblxuICAgICAgICAgIGlmIChjb25maWdQYXJhbS5yZXF1aXJlZCkge1xuICAgICAgICAgICAgdGhpcy4jcmVxdWlyZWRQYXJhbXMucHVzaChwYXJhbU5hbWUpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChwYXJhbVZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLiNwYXJhbXNbcGFyYW1OYW1lXSA9IHBhcmFtVmFsdWU7XG4gICAgICAgICAgICB0aGlzLiNkZWZhdWx0UGFyYW1WYWx1ZXNbcGFyYW1OYW1lXSA9IHBhcmFtVmFsdWU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGNvbmZpZ1BhcmFtLmV4Y2x1ZGVGcm9tTGlua3MpIHtcbiAgICAgICAgICAgIHRoaXMuI2V4Y2x1ZGVGcm9tTGlua3NQYXJhbXMuYWRkKHBhcmFtTmFtZSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGNvbmZpZ1BhcmFtLmV4Y2x1ZGVGcm9tUmVxdWVzdHMpIHtcbiAgICAgICAgICAgIHRoaXMuI2V4Y2x1ZGVGcm9tUmVxdWVzdHNQYXJhbXMuYWRkKHBhcmFtTmFtZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgaHR0cFBhcmFtcyA9IGdldFVybFNlYXJjaFBhcmFtcyh1cmwpO1xuXG4gICAgLy8gR2V0IHVwcGVyY2FzZSBrZXlzLlxuICAgIGNvbnN0IGFsbG93ZWRLZXlzVUMgPSBhbGxvd2VkLm1hcCgoa2V5KSA9PiBrZXkudG9VcHBlckNhc2UoKSk7XG4gICAgY29uc3QgdXJsU2VhcmNoUGFyYW1LZXlzID0gQXJyYXkuZnJvbShodHRwUGFyYW1zLmtleXMoKSk7XG5cbiAgICAvLyBGaWx0ZXIgdG8gYWxsb3dlZCBwYXJhbXMgYW5kIG92ZXJyaWRlIGRlZmF1bHQgdmFsdWVzLlxuICAgIHVybFNlYXJjaFBhcmFtS2V5cy5mb3JFYWNoKChnaXZlbktleSkgPT4ge1xuICAgICAgY29uc3QgZ2l2ZW5LZXlVQyA9IGdpdmVuS2V5LnRvVXBwZXJDYXNlKCk7XG4gICAgICBhbGxvd2VkS2V5c1VDLmZvckVhY2goKGFsbG93ZWRLZXlVQywgaW5kZXgpID0+IHtcbiAgICAgICAgaWYgKGdpdmVuS2V5VUMgPT09IGFsbG93ZWRLZXlVQykge1xuICAgICAgICAgIGNvbnN0IHBhcmFtID0gaHR0cFBhcmFtcy5nZXQoZ2l2ZW5LZXkpO1xuXG4gICAgICAgICAgaWYgKHBhcmFtKSB7XG4gICAgICAgICAgICB0aGlzLiNwYXJhbXNbYWxsb3dlZFtpbmRleF1dID0gcGFyYW07XG4gICAgICAgICAgICB0aGlzLiNlbmNvZGVkUGFyYW1zLnB1c2goZ2l2ZW5LZXkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogRG9lcyB0aGUga2V5IGV4aXN0XG4gICAqL1xuICBwdWJsaWMgaGFzKGtleTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0aGlzLiNwYXJhbXMsIGtleSk7XG4gIH1cblxuICAvKipcbiAgICogQXJlIGFsbCB0aGUgcmVxdWlyZWQgcGFyYW1zIGRlZmluZWQ/XG4gICAqL1xuICBwdWJsaWMgaGFzQWxsUmVxdWlyZWRQYXJhbXMoKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuI3JlcXVpcmVkUGFyYW1zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuI3JlcXVpcmVkUGFyYW1zLmV2ZXJ5KChwYXJhbTogc3RyaW5nKSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy4jcGFyYW1zW3BhcmFtXSAhPT0gdW5kZWZpbmVkO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBmbGFnIGluZGljYXRpbmcgd2hldGhlciBhIHBhcmFtZXRlciBpcyByZXF1aXJlZC5cbiAgICovXG4gIHB1YmxpYyBpc1JlcXVpcmVkKGtleTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI3JlcXVpcmVkUGFyYW1zLmluZGV4T2Yoa2V5KSA+PSAwO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGRlY29kZWQgdmFsdWUgb2YgdGhlIHJlcXVlc3RlZCBwYXJhbS5cbiAgICogQHBhcmFtIGtleSBUaGUgcGFyYW1ldGVyJ3Mga2V5LlxuICAgKi9cbiAgcHVibGljIGdldChrZXk6IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHRoaXMuaGFzKGtleSkpIHtcbiAgICAgIHJldHVybiB0aGlzLiNwYXJhbXNba2V5XTtcbiAgICB9XG5cbiAgICByZXR1cm47XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgcGFyYW1zIG9iamVjdC5cbiAgICogQHBhcmFtIGV4Y2x1ZGVEZWZhdWx0cyBFeGNsdWRlIHBhcmFtcyB0aGF0IGhhdmUgZGVmYXVsdCB2YWx1ZXNcbiAgICovXG4gIHB1YmxpYyBnZXRBbGwoZXhjbHVkZURlZmF1bHRzPzogYm9vbGVhbik6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4ge1xuICAgIGNvbnN0IGZpbHRlcmVkUGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge307XG5cbiAgICB0aGlzLmdldEFsbEtleXMoKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIGlmIChcbiAgICAgICAgIWV4Y2x1ZGVEZWZhdWx0cyB8fFxuICAgICAgICB0aGlzLiNwYXJhbXNba2V5XSAhPT0gdGhpcy4jZGVmYXVsdFBhcmFtVmFsdWVzW2tleV1cbiAgICAgICkge1xuICAgICAgICBmaWx0ZXJlZFBhcmFtc1trZXldID0gdGhpcy4jcGFyYW1zW2tleV07XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gZmlsdGVyZWRQYXJhbXM7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhbGwga2V5cyBmb3IgY3VycmVudCBwYXJhbXMuXG4gICAqL1xuICBwdWJsaWMgZ2V0QWxsS2V5cygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKHRoaXMuI3BhcmFtcyk7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyB0aGUgY3VycmVudCBwYXJhbXMgdG8gdGhlIHN1cHBsaWVkIFVSTC5cbiAgICovXG4gIHB1YmxpYyBnZXRVcmwodXJsOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLiNidWlsZFVybFdpdGhQYXJhbXModXJsLCB0aGlzLiNleGNsdWRlRnJvbVJlcXVlc3RzUGFyYW1zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIHRoZSBjdXJyZW50IHBhcmFtcyB0byB0aGUgc3VwcGxpZWQgbGluayBVUkwuXG4gICAqL1xuICBwdWJsaWMgZ2V0TGlua1VybCh1cmw6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuI2J1aWxkVXJsV2l0aFBhcmFtcyhcbiAgICAgIHVybCxcbiAgICAgIG5ldyBTZXQoW1xuICAgICAgICAuLi50aGlzLiNleGNsdWRlRnJvbVJlcXVlc3RzUGFyYW1zLFxuICAgICAgICAuLi50aGlzLiNleGNsdWRlRnJvbUxpbmtzUGFyYW1zLFxuICAgICAgXSlcbiAgICApO1xuICB9XG5cbiAgI2J1aWxkVXJsV2l0aFBhcmFtcyh1cmw6IHN0cmluZywgZXhjbHVkZVBhcmFtczogU2V0PHN0cmluZz4pOiBzdHJpbmcge1xuICAgIGxldCBodHRwUGFyYW1zID0gZ2V0VXJsU2VhcmNoUGFyYW1zKHVybCk7XG5cbiAgICAvLyBBZGQgcmVxdWVzdGVkIHBhcmFtZXRlcnMgdG8gdGhlIFVSTC5cbiAgICBmb3IgKGNvbnN0IGtleSBvZiB0aGlzLmdldEFsbEtleXMoKSkge1xuICAgICAgaWYgKCFleGNsdWRlUGFyYW1zLmhhcyhrZXkpICYmICFodHRwUGFyYW1zLmhhcyhrZXkpKSB7XG4gICAgICAgIGNvbnN0IGRlY29kZWRWYWx1ZSA9IHRoaXMuZ2V0KGtleSk7XG4gICAgICAgIGlmIChkZWNvZGVkVmFsdWUpIHtcbiAgICAgICAgICBodHRwUGFyYW1zID0gaHR0cFBhcmFtcy5zZXQoa2V5LCBlbmNvZGVVUklDb21wb25lbnQoZGVjb2RlZFZhbHVlKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDb21iaW5lIGFsbCBwYXJhbWV0ZXJzIGFuZCB0aGVpciB2YWx1ZXMsIGUuZy4gJ2E9YicuXG4gICAgY29uc3Qgam9pbmVkUGFyYW1zID0gaHR0cFBhcmFtc1xuICAgICAgLmtleXMoKVxuICAgICAgLm1hcCgoa2V5KSA9PiBgJHtrZXl9PSR7aHR0cFBhcmFtcy5nZXQoa2V5KX1gKTtcblxuICAgIC8vIEJ1aWxkIGFuZCByZXR1cm4gdGhlIGZpbmFsIFVSTC5cbiAgICBjb25zdCBbYmVmb3JlRnJhZ21lbnQsIGZyYWdtZW50XSA9IHVybC5zcGxpdCgnIycsIDIpO1xuICAgIGNvbnN0IFtiYXNlVXJsXSA9IGJlZm9yZUZyYWdtZW50LnNwbGl0KCc/JywgMSk7XG5cbiAgICByZXR1cm4gam9pbmVkUGFyYW1zLmxlbmd0aCA9PT0gMFxuICAgICAgPyB1cmxcbiAgICAgIDogYCR7YmFzZVVybH0/JHtqb2luZWRQYXJhbXMuam9pbignJicpfWAgK1xuICAgICAgICAgIChmcmFnbWVudCA/IGAjJHtmcmFnbWVudH1gIDogJycpO1xuICB9XG59XG4iXX0=
@@ -111,7 +111,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
111
111
  type: Injectable
112
112
  }] });
113
113
 
114
- var _SkyAppRuntimeConfigParams_params, _SkyAppRuntimeConfigParams_defaultParamValues, _SkyAppRuntimeConfigParams_requiredParams, _SkyAppRuntimeConfigParams_encodedParams, _SkyAppRuntimeConfigParams_excludeFromRequestsParams;
114
+ var _SkyAppRuntimeConfigParams_instances, _SkyAppRuntimeConfigParams_params, _SkyAppRuntimeConfigParams_defaultParamValues, _SkyAppRuntimeConfigParams_requiredParams, _SkyAppRuntimeConfigParams_encodedParams, _SkyAppRuntimeConfigParams_excludeFromLinksParams, _SkyAppRuntimeConfigParams_excludeFromRequestsParams, _SkyAppRuntimeConfigParams_buildUrlWithParams;
115
115
  /**
116
116
  * Given a "url" (could be just querystring, or fully qualified),
117
117
  * Returns the extracted HttpParams.
@@ -128,11 +128,13 @@ function getUrlSearchParams(url) {
128
128
  }
129
129
  class SkyAppRuntimeConfigParams {
130
130
  constructor(url, configParams) {
131
+ _SkyAppRuntimeConfigParams_instances.add(this);
131
132
  _SkyAppRuntimeConfigParams_params.set(this, {});
132
133
  _SkyAppRuntimeConfigParams_defaultParamValues.set(this, {});
133
134
  _SkyAppRuntimeConfigParams_requiredParams.set(this, []);
134
135
  _SkyAppRuntimeConfigParams_encodedParams.set(this, []);
135
- _SkyAppRuntimeConfigParams_excludeFromRequestsParams.set(this, []);
136
+ _SkyAppRuntimeConfigParams_excludeFromLinksParams.set(this, new Set());
137
+ _SkyAppRuntimeConfigParams_excludeFromRequestsParams.set(this, new Set());
136
138
  const allowed = [];
137
139
  for (const paramName of Object.keys(configParams)) {
138
140
  const configParam = configParams[paramName];
@@ -151,8 +153,11 @@ class SkyAppRuntimeConfigParams {
151
153
  __classPrivateFieldGet(this, _SkyAppRuntimeConfigParams_params, "f")[paramName] = paramValue;
152
154
  __classPrivateFieldGet(this, _SkyAppRuntimeConfigParams_defaultParamValues, "f")[paramName] = paramValue;
153
155
  }
156
+ if (configParam.excludeFromLinks) {
157
+ __classPrivateFieldGet(this, _SkyAppRuntimeConfigParams_excludeFromLinksParams, "f").add(paramName);
158
+ }
154
159
  if (configParam.excludeFromRequests) {
155
- __classPrivateFieldGet(this, _SkyAppRuntimeConfigParams_excludeFromRequestsParams, "f").push(paramName);
160
+ __classPrivateFieldGet(this, _SkyAppRuntimeConfigParams_excludeFromRequestsParams, "f").add(paramName);
156
161
  }
157
162
  }
158
163
  }
@@ -229,25 +234,44 @@ class SkyAppRuntimeConfigParams {
229
234
  return Object.keys(__classPrivateFieldGet(this, _SkyAppRuntimeConfigParams_params, "f"));
230
235
  }
231
236
  /**
232
- * Adds the current params to the supplied url.
237
+ * Adds the current params to the supplied URL.
233
238
  */
234
239
  getUrl(url) {
235
- const httpParams = getUrlSearchParams(url);
236
- const delimiter = url.indexOf('?') === -1 ? '?' : '&';
237
- const joined = [];
238
- this.getAllKeys().forEach((key) => {
239
- if (__classPrivateFieldGet(this, _SkyAppRuntimeConfigParams_excludeFromRequestsParams, "f").indexOf(key) === -1 &&
240
- !httpParams.has(key)) {
241
- const decodedValue = this.get(key);
242
- if (decodedValue) {
243
- joined.push(`${key}=${encodeURIComponent(decodedValue)}`);
244
- }
245
- }
246
- });
247
- return joined.length === 0 ? url : `${url}${delimiter}${joined.join('&')}`;
240
+ return __classPrivateFieldGet(this, _SkyAppRuntimeConfigParams_instances, "m", _SkyAppRuntimeConfigParams_buildUrlWithParams).call(this, url, __classPrivateFieldGet(this, _SkyAppRuntimeConfigParams_excludeFromRequestsParams, "f"));
241
+ }
242
+ /**
243
+ * Adds the current params to the supplied link URL.
244
+ */
245
+ getLinkUrl(url) {
246
+ return __classPrivateFieldGet(this, _SkyAppRuntimeConfigParams_instances, "m", _SkyAppRuntimeConfigParams_buildUrlWithParams).call(this, url, new Set([
247
+ ...__classPrivateFieldGet(this, _SkyAppRuntimeConfigParams_excludeFromRequestsParams, "f"),
248
+ ...__classPrivateFieldGet(this, _SkyAppRuntimeConfigParams_excludeFromLinksParams, "f"),
249
+ ]));
248
250
  }
249
251
  }
250
- _SkyAppRuntimeConfigParams_params = new WeakMap(), _SkyAppRuntimeConfigParams_defaultParamValues = new WeakMap(), _SkyAppRuntimeConfigParams_requiredParams = new WeakMap(), _SkyAppRuntimeConfigParams_encodedParams = new WeakMap(), _SkyAppRuntimeConfigParams_excludeFromRequestsParams = new WeakMap();
252
+ _SkyAppRuntimeConfigParams_params = new WeakMap(), _SkyAppRuntimeConfigParams_defaultParamValues = new WeakMap(), _SkyAppRuntimeConfigParams_requiredParams = new WeakMap(), _SkyAppRuntimeConfigParams_encodedParams = new WeakMap(), _SkyAppRuntimeConfigParams_excludeFromLinksParams = new WeakMap(), _SkyAppRuntimeConfigParams_excludeFromRequestsParams = new WeakMap(), _SkyAppRuntimeConfigParams_instances = new WeakSet(), _SkyAppRuntimeConfigParams_buildUrlWithParams = function _SkyAppRuntimeConfigParams_buildUrlWithParams(url, excludeParams) {
253
+ let httpParams = getUrlSearchParams(url);
254
+ // Add requested parameters to the URL.
255
+ for (const key of this.getAllKeys()) {
256
+ if (!excludeParams.has(key) && !httpParams.has(key)) {
257
+ const decodedValue = this.get(key);
258
+ if (decodedValue) {
259
+ httpParams = httpParams.set(key, encodeURIComponent(decodedValue));
260
+ }
261
+ }
262
+ }
263
+ // Combine all parameters and their values, e.g. 'a=b'.
264
+ const joinedParams = httpParams
265
+ .keys()
266
+ .map((key) => `${key}=${httpParams.get(key)}`);
267
+ // Build and return the final URL.
268
+ const [beforeFragment, fragment] = url.split('#', 2);
269
+ const [baseUrl] = beforeFragment.split('?', 1);
270
+ return joinedParams.length === 0
271
+ ? url
272
+ : `${baseUrl}?${joinedParams.join('&')}` +
273
+ (fragment ? `#${fragment}` : '');
274
+ };
251
275
 
252
276
  var _SkyAppRuntimeConfigParamsProvider__params;
253
277
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"skyux-config.mjs","sources":["../../../../../libs/components/config/src/lib/app-config-host.ts","../../../../../libs/components/config/src/lib/app-config-params.ts","../../../../../libs/components/config/src/lib/app-config.module.ts","../../../../../libs/components/config/src/lib/config.ts","../../../../../libs/components/config/src/lib/params.ts","../../../../../libs/components/config/src/lib/params-provider.ts","../../../../../libs/components/config/src/skyux-config.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\nimport { SkyuxConfigHost } from './config';\n\nconst DEFAULTS: SkyuxConfigHost = {\n frameOptions: {\n none: true,\n },\n url: 'https://host.nxt.blackbaud.com/',\n};\n\n/**\n * Host configuration for components and applications.\n * @deprecated Use `SkyAppConfig.skyux.host` instead.\n */\n@Injectable()\nexport class SkyAppConfigHost {\n public get host(): SkyuxConfigHost {\n return this.#_host;\n }\n\n #_host!: SkyuxConfigHost;\n\n public init(config?: SkyuxConfigHost): void {\n this.#_host = {\n ...DEFAULTS,\n ...(config || {}),\n };\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { SkyuxConfigParams } from './config-params';\n\nconst DEFAULTS: SkyuxConfigParams = {\n envid: {\n required: false,\n },\n leid: {\n required: false,\n },\n svcid: {\n required: false,\n },\n};\n\n/**\n * @deprecated Use `SkyAppConfig.skyux.params` instead.\n */\n@Injectable()\nexport class SkyAppConfigParams {\n public get params(): SkyuxConfigParams {\n return this.#_params;\n }\n\n #_params!: SkyuxConfigParams;\n\n public init(params?: SkyuxConfigParams): void {\n this.#_params = {\n ...DEFAULTS,\n ...(params || {}),\n };\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { SkyAppConfigHost } from './app-config-host';\nimport { SkyAppConfigModuleForRootArgs } from './app-config-module-for-root-args';\nimport { SkyAppConfigParams } from './app-config-params';\n\n/**\n * @deprecated Provide `SkyAppConfig` at the root instead.\n */\n@NgModule({})\nexport class SkyAppConfigModule {\n public static forRoot(\n config: SkyAppConfigModuleForRootArgs = {}\n ): ModuleWithProviders<SkyAppConfigModule> {\n return {\n ngModule: SkyAppConfigModule,\n providers: [\n {\n provide: SkyAppConfigParams,\n useFactory() {\n const appConfigParams = new SkyAppConfigParams();\n appConfigParams.init(config.params);\n return appConfigParams;\n },\n },\n {\n provide: SkyAppConfigHost,\n useFactory() {\n const appConfigHost = new SkyAppConfigHost();\n appConfigHost.init(config.host);\n return appConfigHost;\n },\n },\n ],\n };\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { SkyuxConfigParams } from './config-params';\nimport { SkyAppRuntimeConfigParams } from './params';\n\nexport interface RuntimeConfigApp {\n base: string;\n inject: boolean;\n name?: string;\n template: string;\n}\n\nexport class SkyuxPactConfig {\n public providers?: {\n [provider: string]: {\n host?: string;\n port?: string;\n fullUrl?: string;\n };\n };\n public pactProxyServer?: string;\n}\n\nexport interface SkyuxConfigE2ETestSettings {\n browserSet?: 'speedy';\n}\n\nexport interface SkyuxConfigUnitTestSettings {\n browserSet?: 'speedy' | 'quirky' | 'paranoid';\n}\n\nexport interface SkyuxConfigTestSettings {\n e2e?: SkyuxConfigE2ETestSettings;\n unit?: SkyuxConfigUnitTestSettings;\n}\n\nexport interface SkyuxConfigLibrarySettings {\n whitelistedNonPeerDependencies?: string[];\n}\n\nexport interface RuntimeConfig {\n app: RuntimeConfigApp;\n command?: string; // Dynamically added in \"higher up\" webpacks\n componentsPattern: string;\n componentsIgnorePattern: string;\n handle404?: boolean; // Dynamically added in sky-pages-module-generator.js\n includeRouteModule: boolean;\n pactConfig?: SkyuxPactConfig;\n params: SkyAppRuntimeConfigParams;\n routes?: Object[]; // Dynamically added in sky-pages-module-generator.js\n routesPattern: string;\n runtimeAlias: string;\n spaPathAlias: string;\n skyPagesOutAlias: string;\n skyuxPathAlias: string;\n srcPath: string;\n useTemplateUrl: boolean;\n}\n\nexport interface SkyuxConfigA11y {\n rules?: any;\n}\n\nexport type SkyuxConfigAppSupportedTheme = 'default' | 'modern';\n\nexport interface SkyuxConfigAppTheming {\n supportedThemes: SkyuxConfigAppSupportedTheme[];\n theme: SkyuxConfigAppSupportedTheme;\n}\n\nexport interface SkyuxConfigApp {\n base?: string;\n externals?: Object;\n port?: string;\n styles?: string[];\n theming?: SkyuxConfigAppTheming;\n title?: string;\n}\n\nexport interface SkyuxConfigAuthSettings {\n blackbaudEmployee?: boolean;\n}\n\nexport interface SkyuxConfigHostBBCheckout {\n version: '2';\n}\n\nexport interface SkyuxConfigHostFrameOptionsNone {\n blackbaud?: false;\n none: true;\n self?: false;\n urls?: [];\n}\n\nexport interface SkyuxConfigHostFrameOptionsOthers {\n blackbaud?: boolean;\n none?: false;\n self?: boolean;\n urls?: string[];\n}\n\nexport interface SkyuxConfigHostCspDirectives {\n [directiveName: string]: string[];\n}\n\nexport interface SkyuxConfigHostCsp {\n enabled: boolean;\n directives?: SkyuxConfigHostCspDirectives;\n}\n\n/**\n * Blackbaud Only - Specifies configuration options for communication with SKY UX Host.\n */\nexport interface SkyuxConfigHost {\n bbCheckout?: SkyuxConfigHostBBCheckout;\n csp?: SkyuxConfigHostCsp;\n frameOptions?:\n | SkyuxConfigHostFrameOptionsNone\n | SkyuxConfigHostFrameOptionsOthers;\n url?: string;\n}\n\nexport interface SkyuxConfigAnyAllSet {\n any?: string[];\n all?: string[];\n}\n\nexport interface SkyuxConfig {\n $schema?: string;\n a11y?: SkyuxConfigA11y | boolean;\n angularSettings?: {\n defaultProject: string;\n };\n app?: SkyuxConfigApp;\n appSettings?: any;\n auth?: boolean;\n authSettings?: SkyuxConfigAuthSettings;\n codeCoverageThreshold?: 'none' | 'standard' | 'strict';\n command?: string;\n compileMode?: string;\n cssPath?: string;\n dependenciesForTranspilation?: string[];\n enableIvy?: boolean;\n help?: any;\n host?: SkyuxConfigHost;\n importPath?: string;\n librarySettings?: SkyuxConfigLibrarySettings;\n mode?: string;\n moduleAliases?: { [key: string]: string };\n name?: string;\n pacts?: any[];\n params?: SkyuxConfigParams; // List of allowed params\n pipelineSettings?: any;\n plugins?: string[];\n redirects?: { [from: string]: string };\n routes?: {\n public?: {\n title?: string;\n description?: string;\n global?: boolean;\n route: string;\n claims?: SkyuxConfigAnyAllSet;\n entitlementType?: string;\n entitlements?: SkyuxConfigAnyAllSet;\n permissionId?: string;\n permissions?: {\n admin?: boolean;\n legalEntityAdmin?: boolean;\n permissionIds?: SkyuxConfigAnyAllSet;\n };\n }[];\n referenced?: {\n app: string;\n route: string;\n }[];\n };\n testSettings?: SkyuxConfigTestSettings;\n omnibar?: any;\n useHashRouting?: boolean;\n skyuxModules?: string[];\n}\n\n@Injectable()\nexport class SkyAppConfig {\n // Any properties dynamically added via code\n public runtime!: RuntimeConfig;\n\n // Any properties defined in or inherited from skyuxconfig.json / skyuxconfig.command.json\n public skyux!: SkyuxConfig;\n}\n","import { HttpParams } from '@angular/common/http';\n\nimport { SkyuxConfigParams } from './config-params';\n\n/**\n * Given a \"url\" (could be just querystring, or fully qualified),\n * Returns the extracted HttpParams.\n */\nfunction getUrlSearchParams(url: string): HttpParams {\n let qs = '';\n\n if (url.indexOf('?') > -1) {\n qs = url.split('?')[1];\n qs = qs.split('#')[0];\n }\n\n return new HttpParams({\n fromString: qs,\n });\n}\n\nexport class SkyAppRuntimeConfigParams {\n #params: Record<string, string> = {};\n\n #defaultParamValues: Record<string, string> = {};\n\n #requiredParams: string[] = [];\n\n #encodedParams: string[] = [];\n\n #excludeFromRequestsParams: string[] = [];\n\n constructor(url: string, configParams: SkyuxConfigParams) {\n const allowed: string[] = [];\n\n for (const paramName of Object.keys(configParams)) {\n const configParam = configParams[paramName];\n\n // The config param could be present but be set to false/undefined indicating\n // an override of the default parameter.\n if (configParam) {\n allowed.push(paramName);\n\n // A boolean value may be present to simply indicate that a parameter is allowed.\n // If the type is object, look for additional config properties.\n if (typeof configParam === 'object') {\n const paramValue = configParam.value;\n\n if (configParam.required) {\n this.#requiredParams.push(paramName);\n }\n\n if (paramValue) {\n this.#params[paramName] = paramValue;\n this.#defaultParamValues[paramName] = paramValue;\n }\n\n if (configParam.excludeFromRequests) {\n this.#excludeFromRequestsParams.push(paramName);\n }\n }\n }\n }\n\n const httpParams = getUrlSearchParams(url);\n\n // Get uppercase keys.\n const allowedKeysUC = allowed.map((key) => key.toUpperCase());\n const urlSearchParamKeys = Array.from(httpParams.keys());\n\n // Filter to allowed params and override default values.\n urlSearchParamKeys.forEach((givenKey) => {\n const givenKeyUC = givenKey.toUpperCase();\n allowedKeysUC.forEach((allowedKeyUC, index) => {\n if (givenKeyUC === allowedKeyUC) {\n const param = httpParams.get(givenKey);\n\n if (param) {\n this.#params[allowed[index]] = param;\n this.#encodedParams.push(givenKey);\n }\n }\n });\n });\n }\n\n /**\n * Does the key exist\n */\n public has(key: string): boolean {\n return Object.prototype.hasOwnProperty.call(this.#params, key);\n }\n\n /**\n * Are all the required params defined?\n */\n public hasAllRequiredParams(): boolean {\n if (this.#requiredParams.length === 0) {\n return true;\n }\n\n return this.#requiredParams.every((param: string) => {\n return this.#params[param] !== undefined;\n });\n }\n\n /**\n * Returns a flag indicating whether a parameter is required.\n */\n public isRequired(key: string): boolean {\n return this.#requiredParams.indexOf(key) >= 0;\n }\n\n /**\n * Returns the decoded value of the requested param.\n * @param key The parameter's key.\n */\n public get(key: string): string | undefined {\n if (this.has(key)) {\n return this.#params[key];\n }\n\n return;\n }\n\n /**\n * Returns the params object.\n * @param excludeDefaults Exclude params that have default values\n */\n public getAll(excludeDefaults?: boolean): Record<string, string> {\n const filteredParams: Record<string, string> = {};\n\n this.getAllKeys().forEach((key) => {\n if (\n !excludeDefaults ||\n this.#params[key] !== this.#defaultParamValues[key]\n ) {\n filteredParams[key] = this.#params[key];\n }\n });\n\n return filteredParams;\n }\n\n /**\n * Returns all keys for current params.\n */\n public getAllKeys(): string[] {\n return Object.keys(this.#params);\n }\n\n /**\n * Adds the current params to the supplied url.\n */\n public getUrl(url: string): string {\n const httpParams = getUrlSearchParams(url);\n const delimiter = url.indexOf('?') === -1 ? '?' : '&';\n const joined: string[] = [];\n\n this.getAllKeys().forEach((key) => {\n if (\n this.#excludeFromRequestsParams.indexOf(key) === -1 &&\n !httpParams.has(key)\n ) {\n const decodedValue = this.get(key);\n if (decodedValue) {\n joined.push(`${key}=${encodeURIComponent(decodedValue)}`);\n }\n }\n });\n\n return joined.length === 0 ? url : `${url}${delimiter}${joined.join('&')}`;\n }\n}\n","import { Injectable, Optional } from '@angular/core';\n\nimport { SkyAppConfigParams } from './app-config-params';\nimport { SkyAppRuntimeConfigParams } from './params';\n\n/**\n * Provides methods to interact with runtime config query parameters.\n * @deprecated Use `SkyAppConfig.runtime.params` instead.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class SkyAppRuntimeConfigParamsProvider {\n public get params(): SkyAppRuntimeConfigParams {\n return this.#_params;\n }\n\n #_params: SkyAppRuntimeConfigParams;\n\n constructor(@Optional() configParams?: SkyAppConfigParams) {\n this.#_params = new SkyAppRuntimeConfigParams(\n window.location.href,\n configParams?.params || {}\n );\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["DEFAULTS","i1.SkyAppConfigParams"],"mappings":"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"}
1
+ {"version":3,"file":"skyux-config.mjs","sources":["../../../../../libs/components/config/src/lib/app-config-host.ts","../../../../../libs/components/config/src/lib/app-config-params.ts","../../../../../libs/components/config/src/lib/app-config.module.ts","../../../../../libs/components/config/src/lib/config.ts","../../../../../libs/components/config/src/lib/params.ts","../../../../../libs/components/config/src/lib/params-provider.ts","../../../../../libs/components/config/src/skyux-config.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\nimport { SkyuxConfigHost } from './config';\n\nconst DEFAULTS: SkyuxConfigHost = {\n frameOptions: {\n none: true,\n },\n url: 'https://host.nxt.blackbaud.com/',\n};\n\n/**\n * Host configuration for components and applications.\n * @deprecated Use `SkyAppConfig.skyux.host` instead.\n */\n@Injectable()\nexport class SkyAppConfigHost {\n public get host(): SkyuxConfigHost {\n return this.#_host;\n }\n\n #_host!: SkyuxConfigHost;\n\n public init(config?: SkyuxConfigHost): void {\n this.#_host = {\n ...DEFAULTS,\n ...(config || {}),\n };\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { SkyuxConfigParams } from './config-params';\n\nconst DEFAULTS: SkyuxConfigParams = {\n envid: {\n required: false,\n },\n leid: {\n required: false,\n },\n svcid: {\n required: false,\n },\n};\n\n/**\n * @deprecated Use `SkyAppConfig.skyux.params` instead.\n */\n@Injectable()\nexport class SkyAppConfigParams {\n public get params(): SkyuxConfigParams {\n return this.#_params;\n }\n\n #_params!: SkyuxConfigParams;\n\n public init(params?: SkyuxConfigParams): void {\n this.#_params = {\n ...DEFAULTS,\n ...(params || {}),\n };\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { SkyAppConfigHost } from './app-config-host';\nimport { SkyAppConfigModuleForRootArgs } from './app-config-module-for-root-args';\nimport { SkyAppConfigParams } from './app-config-params';\n\n/**\n * @deprecated Provide `SkyAppConfig` at the root instead.\n */\n@NgModule({})\nexport class SkyAppConfigModule {\n public static forRoot(\n config: SkyAppConfigModuleForRootArgs = {}\n ): ModuleWithProviders<SkyAppConfigModule> {\n return {\n ngModule: SkyAppConfigModule,\n providers: [\n {\n provide: SkyAppConfigParams,\n useFactory() {\n const appConfigParams = new SkyAppConfigParams();\n appConfigParams.init(config.params);\n return appConfigParams;\n },\n },\n {\n provide: SkyAppConfigHost,\n useFactory() {\n const appConfigHost = new SkyAppConfigHost();\n appConfigHost.init(config.host);\n return appConfigHost;\n },\n },\n ],\n };\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { SkyuxConfigParams } from './config-params';\nimport { SkyAppRuntimeConfigParams } from './params';\n\nexport interface RuntimeConfigApp {\n base: string;\n inject: boolean;\n name?: string;\n template: string;\n}\n\nexport class SkyuxPactConfig {\n public providers?: {\n [provider: string]: {\n host?: string;\n port?: string;\n fullUrl?: string;\n };\n };\n public pactProxyServer?: string;\n}\n\nexport interface SkyuxConfigE2ETestSettings {\n browserSet?: 'speedy';\n}\n\nexport interface SkyuxConfigUnitTestSettings {\n browserSet?: 'speedy' | 'quirky' | 'paranoid';\n}\n\nexport interface SkyuxConfigTestSettings {\n e2e?: SkyuxConfigE2ETestSettings;\n unit?: SkyuxConfigUnitTestSettings;\n}\n\nexport interface SkyuxConfigLibrarySettings {\n whitelistedNonPeerDependencies?: string[];\n}\n\nexport interface RuntimeConfig {\n app: RuntimeConfigApp;\n command?: string; // Dynamically added in \"higher up\" webpacks\n componentsPattern: string;\n componentsIgnorePattern: string;\n handle404?: boolean; // Dynamically added in sky-pages-module-generator.js\n includeRouteModule: boolean;\n pactConfig?: SkyuxPactConfig;\n params: SkyAppRuntimeConfigParams;\n routes?: Object[]; // Dynamically added in sky-pages-module-generator.js\n routesPattern: string;\n runtimeAlias: string;\n spaPathAlias: string;\n skyPagesOutAlias: string;\n skyuxPathAlias: string;\n srcPath: string;\n useTemplateUrl: boolean;\n}\n\nexport interface SkyuxConfigA11y {\n rules?: any;\n}\n\nexport type SkyuxConfigAppSupportedTheme = 'default' | 'modern';\n\nexport interface SkyuxConfigAppTheming {\n supportedThemes: SkyuxConfigAppSupportedTheme[];\n theme: SkyuxConfigAppSupportedTheme;\n}\n\nexport interface SkyuxConfigApp {\n base?: string;\n externals?: Object;\n port?: string;\n styles?: string[];\n theming?: SkyuxConfigAppTheming;\n title?: string;\n}\n\nexport interface SkyuxConfigAuthSettings {\n blackbaudEmployee?: boolean;\n}\n\nexport interface SkyuxConfigHostBBCheckout {\n version: '2';\n}\n\nexport interface SkyuxConfigHostFrameOptionsNone {\n blackbaud?: false;\n none: true;\n self?: false;\n urls?: [];\n}\n\nexport interface SkyuxConfigHostFrameOptionsOthers {\n blackbaud?: boolean;\n none?: false;\n self?: boolean;\n urls?: string[];\n}\n\nexport interface SkyuxConfigHostCspDirectives {\n [directiveName: string]: string[];\n}\n\nexport interface SkyuxConfigHostCsp {\n enabled: boolean;\n directives?: SkyuxConfigHostCspDirectives;\n}\n\n/**\n * Blackbaud Only - Specifies configuration options for communication with SKY UX Host.\n */\nexport interface SkyuxConfigHost {\n bbCheckout?: SkyuxConfigHostBBCheckout;\n csp?: SkyuxConfigHostCsp;\n frameOptions?:\n | SkyuxConfigHostFrameOptionsNone\n | SkyuxConfigHostFrameOptionsOthers;\n url?: string;\n}\n\nexport interface SkyuxConfigAnyAllSet {\n any?: string[];\n all?: string[];\n}\n\nexport interface SkyuxConfig {\n $schema?: string;\n a11y?: SkyuxConfigA11y | boolean;\n angularSettings?: {\n defaultProject: string;\n };\n app?: SkyuxConfigApp;\n appSettings?: any;\n auth?: boolean;\n authSettings?: SkyuxConfigAuthSettings;\n codeCoverageThreshold?: 'none' | 'standard' | 'strict';\n command?: string;\n compileMode?: string;\n cssPath?: string;\n dependenciesForTranspilation?: string[];\n enableIvy?: boolean;\n help?: any;\n host?: SkyuxConfigHost;\n importPath?: string;\n librarySettings?: SkyuxConfigLibrarySettings;\n mode?: string;\n moduleAliases?: { [key: string]: string };\n name?: string;\n pacts?: any[];\n params?: SkyuxConfigParams; // List of allowed params\n pipelineSettings?: any;\n plugins?: string[];\n redirects?: { [from: string]: string };\n routes?: {\n public?: {\n title?: string;\n description?: string;\n global?: boolean;\n route: string;\n claims?: SkyuxConfigAnyAllSet;\n entitlementType?: string;\n entitlements?: SkyuxConfigAnyAllSet;\n permissionId?: string;\n permissions?: {\n admin?: boolean;\n legalEntityAdmin?: boolean;\n permissionIds?: SkyuxConfigAnyAllSet;\n };\n }[];\n referenced?: {\n app: string;\n route: string;\n }[];\n };\n testSettings?: SkyuxConfigTestSettings;\n omnibar?: any;\n useHashRouting?: boolean;\n skyuxModules?: string[];\n}\n\n@Injectable()\nexport class SkyAppConfig {\n // Any properties dynamically added via code\n public runtime!: RuntimeConfig;\n\n // Any properties defined in or inherited from skyuxconfig.json / skyuxconfig.command.json\n public skyux!: SkyuxConfig;\n}\n","import { HttpParams } from '@angular/common/http';\n\nimport { SkyuxConfigParams } from './config-params';\n\n/**\n * Given a \"url\" (could be just querystring, or fully qualified),\n * Returns the extracted HttpParams.\n */\nfunction getUrlSearchParams(url: string): HttpParams {\n let qs = '';\n\n if (url.indexOf('?') > -1) {\n qs = url.split('?')[1];\n qs = qs.split('#')[0];\n }\n\n return new HttpParams({\n fromString: qs,\n });\n}\n\nexport class SkyAppRuntimeConfigParams {\n #params: Record<string, string> = {};\n\n #defaultParamValues: Record<string, string> = {};\n\n #requiredParams: string[] = [];\n\n #encodedParams: string[] = [];\n\n #excludeFromLinksParams = new Set<string>();\n #excludeFromRequestsParams = new Set<string>();\n\n constructor(url: string, configParams: SkyuxConfigParams) {\n const allowed: string[] = [];\n\n for (const paramName of Object.keys(configParams)) {\n const configParam = configParams[paramName];\n\n // The config param could be present but be set to false/undefined indicating\n // an override of the default parameter.\n if (configParam) {\n allowed.push(paramName);\n\n // A boolean value may be present to simply indicate that a parameter is allowed.\n // If the type is object, look for additional config properties.\n if (typeof configParam === 'object') {\n const paramValue = configParam.value;\n\n if (configParam.required) {\n this.#requiredParams.push(paramName);\n }\n\n if (paramValue) {\n this.#params[paramName] = paramValue;\n this.#defaultParamValues[paramName] = paramValue;\n }\n\n if (configParam.excludeFromLinks) {\n this.#excludeFromLinksParams.add(paramName);\n }\n\n if (configParam.excludeFromRequests) {\n this.#excludeFromRequestsParams.add(paramName);\n }\n }\n }\n }\n\n const httpParams = getUrlSearchParams(url);\n\n // Get uppercase keys.\n const allowedKeysUC = allowed.map((key) => key.toUpperCase());\n const urlSearchParamKeys = Array.from(httpParams.keys());\n\n // Filter to allowed params and override default values.\n urlSearchParamKeys.forEach((givenKey) => {\n const givenKeyUC = givenKey.toUpperCase();\n allowedKeysUC.forEach((allowedKeyUC, index) => {\n if (givenKeyUC === allowedKeyUC) {\n const param = httpParams.get(givenKey);\n\n if (param) {\n this.#params[allowed[index]] = param;\n this.#encodedParams.push(givenKey);\n }\n }\n });\n });\n }\n\n /**\n * Does the key exist\n */\n public has(key: string): boolean {\n return Object.prototype.hasOwnProperty.call(this.#params, key);\n }\n\n /**\n * Are all the required params defined?\n */\n public hasAllRequiredParams(): boolean {\n if (this.#requiredParams.length === 0) {\n return true;\n }\n\n return this.#requiredParams.every((param: string) => {\n return this.#params[param] !== undefined;\n });\n }\n\n /**\n * Returns a flag indicating whether a parameter is required.\n */\n public isRequired(key: string): boolean {\n return this.#requiredParams.indexOf(key) >= 0;\n }\n\n /**\n * Returns the decoded value of the requested param.\n * @param key The parameter's key.\n */\n public get(key: string): string | undefined {\n if (this.has(key)) {\n return this.#params[key];\n }\n\n return;\n }\n\n /**\n * Returns the params object.\n * @param excludeDefaults Exclude params that have default values\n */\n public getAll(excludeDefaults?: boolean): Record<string, string> {\n const filteredParams: Record<string, string> = {};\n\n this.getAllKeys().forEach((key) => {\n if (\n !excludeDefaults ||\n this.#params[key] !== this.#defaultParamValues[key]\n ) {\n filteredParams[key] = this.#params[key];\n }\n });\n\n return filteredParams;\n }\n\n /**\n * Returns all keys for current params.\n */\n public getAllKeys(): string[] {\n return Object.keys(this.#params);\n }\n\n /**\n * Adds the current params to the supplied URL.\n */\n public getUrl(url: string): string {\n return this.#buildUrlWithParams(url, this.#excludeFromRequestsParams);\n }\n\n /**\n * Adds the current params to the supplied link URL.\n */\n public getLinkUrl(url: string): string {\n return this.#buildUrlWithParams(\n url,\n new Set([\n ...this.#excludeFromRequestsParams,\n ...this.#excludeFromLinksParams,\n ])\n );\n }\n\n #buildUrlWithParams(url: string, excludeParams: Set<string>): string {\n let httpParams = getUrlSearchParams(url);\n\n // Add requested parameters to the URL.\n for (const key of this.getAllKeys()) {\n if (!excludeParams.has(key) && !httpParams.has(key)) {\n const decodedValue = this.get(key);\n if (decodedValue) {\n httpParams = httpParams.set(key, encodeURIComponent(decodedValue));\n }\n }\n }\n\n // Combine all parameters and their values, e.g. 'a=b'.\n const joinedParams = httpParams\n .keys()\n .map((key) => `${key}=${httpParams.get(key)}`);\n\n // Build and return the final URL.\n const [beforeFragment, fragment] = url.split('#', 2);\n const [baseUrl] = beforeFragment.split('?', 1);\n\n return joinedParams.length === 0\n ? url\n : `${baseUrl}?${joinedParams.join('&')}` +\n (fragment ? `#${fragment}` : '');\n }\n}\n","import { Injectable, Optional } from '@angular/core';\n\nimport { SkyAppConfigParams } from './app-config-params';\nimport { SkyAppRuntimeConfigParams } from './params';\n\n/**\n * Provides methods to interact with runtime config query parameters.\n * @deprecated Use `SkyAppConfig.runtime.params` instead.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class SkyAppRuntimeConfigParamsProvider {\n public get params(): SkyAppRuntimeConfigParams {\n return this.#_params;\n }\n\n #_params: SkyAppRuntimeConfigParams;\n\n constructor(@Optional() configParams?: SkyAppConfigParams) {\n this.#_params = new SkyAppRuntimeConfigParams(\n window.location.href,\n configParams?.params || {}\n );\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["DEFAULTS","i1.SkyAppConfigParams"],"mappings":"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"}
@@ -117,7 +117,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
117
117
  type: Injectable
118
118
  }] });
119
119
 
120
- var _SkyAppRuntimeConfigParams_params, _SkyAppRuntimeConfigParams_defaultParamValues, _SkyAppRuntimeConfigParams_requiredParams, _SkyAppRuntimeConfigParams_encodedParams, _SkyAppRuntimeConfigParams_excludeFromRequestsParams;
120
+ var _SkyAppRuntimeConfigParams_instances, _SkyAppRuntimeConfigParams_params, _SkyAppRuntimeConfigParams_defaultParamValues, _SkyAppRuntimeConfigParams_requiredParams, _SkyAppRuntimeConfigParams_encodedParams, _SkyAppRuntimeConfigParams_excludeFromLinksParams, _SkyAppRuntimeConfigParams_excludeFromRequestsParams, _SkyAppRuntimeConfigParams_buildUrlWithParams;
121
121
  /**
122
122
  * Given a "url" (could be just querystring, or fully qualified),
123
123
  * Returns the extracted HttpParams.
@@ -134,11 +134,13 @@ function getUrlSearchParams(url) {
134
134
  }
135
135
  class SkyAppRuntimeConfigParams {
136
136
  constructor(url, configParams) {
137
+ _SkyAppRuntimeConfigParams_instances.add(this);
137
138
  _SkyAppRuntimeConfigParams_params.set(this, {});
138
139
  _SkyAppRuntimeConfigParams_defaultParamValues.set(this, {});
139
140
  _SkyAppRuntimeConfigParams_requiredParams.set(this, []);
140
141
  _SkyAppRuntimeConfigParams_encodedParams.set(this, []);
141
- _SkyAppRuntimeConfigParams_excludeFromRequestsParams.set(this, []);
142
+ _SkyAppRuntimeConfigParams_excludeFromLinksParams.set(this, new Set());
143
+ _SkyAppRuntimeConfigParams_excludeFromRequestsParams.set(this, new Set());
142
144
  const allowed = [];
143
145
  for (const paramName of Object.keys(configParams)) {
144
146
  const configParam = configParams[paramName];
@@ -157,8 +159,11 @@ class SkyAppRuntimeConfigParams {
157
159
  __classPrivateFieldGet(this, _SkyAppRuntimeConfigParams_params, "f")[paramName] = paramValue;
158
160
  __classPrivateFieldGet(this, _SkyAppRuntimeConfigParams_defaultParamValues, "f")[paramName] = paramValue;
159
161
  }
162
+ if (configParam.excludeFromLinks) {
163
+ __classPrivateFieldGet(this, _SkyAppRuntimeConfigParams_excludeFromLinksParams, "f").add(paramName);
164
+ }
160
165
  if (configParam.excludeFromRequests) {
161
- __classPrivateFieldGet(this, _SkyAppRuntimeConfigParams_excludeFromRequestsParams, "f").push(paramName);
166
+ __classPrivateFieldGet(this, _SkyAppRuntimeConfigParams_excludeFromRequestsParams, "f").add(paramName);
162
167
  }
163
168
  }
164
169
  }
@@ -235,25 +240,44 @@ class SkyAppRuntimeConfigParams {
235
240
  return Object.keys(__classPrivateFieldGet(this, _SkyAppRuntimeConfigParams_params, "f"));
236
241
  }
237
242
  /**
238
- * Adds the current params to the supplied url.
243
+ * Adds the current params to the supplied URL.
239
244
  */
240
245
  getUrl(url) {
241
- const httpParams = getUrlSearchParams(url);
242
- const delimiter = url.indexOf('?') === -1 ? '?' : '&';
243
- const joined = [];
244
- this.getAllKeys().forEach((key) => {
245
- if (__classPrivateFieldGet(this, _SkyAppRuntimeConfigParams_excludeFromRequestsParams, "f").indexOf(key) === -1 &&
246
- !httpParams.has(key)) {
247
- const decodedValue = this.get(key);
248
- if (decodedValue) {
249
- joined.push(`${key}=${encodeURIComponent(decodedValue)}`);
250
- }
251
- }
252
- });
253
- return joined.length === 0 ? url : `${url}${delimiter}${joined.join('&')}`;
246
+ return __classPrivateFieldGet(this, _SkyAppRuntimeConfigParams_instances, "m", _SkyAppRuntimeConfigParams_buildUrlWithParams).call(this, url, __classPrivateFieldGet(this, _SkyAppRuntimeConfigParams_excludeFromRequestsParams, "f"));
247
+ }
248
+ /**
249
+ * Adds the current params to the supplied link URL.
250
+ */
251
+ getLinkUrl(url) {
252
+ return __classPrivateFieldGet(this, _SkyAppRuntimeConfigParams_instances, "m", _SkyAppRuntimeConfigParams_buildUrlWithParams).call(this, url, new Set([
253
+ ...__classPrivateFieldGet(this, _SkyAppRuntimeConfigParams_excludeFromRequestsParams, "f"),
254
+ ...__classPrivateFieldGet(this, _SkyAppRuntimeConfigParams_excludeFromLinksParams, "f"),
255
+ ]));
254
256
  }
255
257
  }
256
- _SkyAppRuntimeConfigParams_params = new WeakMap(), _SkyAppRuntimeConfigParams_defaultParamValues = new WeakMap(), _SkyAppRuntimeConfigParams_requiredParams = new WeakMap(), _SkyAppRuntimeConfigParams_encodedParams = new WeakMap(), _SkyAppRuntimeConfigParams_excludeFromRequestsParams = new WeakMap();
258
+ _SkyAppRuntimeConfigParams_params = new WeakMap(), _SkyAppRuntimeConfigParams_defaultParamValues = new WeakMap(), _SkyAppRuntimeConfigParams_requiredParams = new WeakMap(), _SkyAppRuntimeConfigParams_encodedParams = new WeakMap(), _SkyAppRuntimeConfigParams_excludeFromLinksParams = new WeakMap(), _SkyAppRuntimeConfigParams_excludeFromRequestsParams = new WeakMap(), _SkyAppRuntimeConfigParams_instances = new WeakSet(), _SkyAppRuntimeConfigParams_buildUrlWithParams = function _SkyAppRuntimeConfigParams_buildUrlWithParams(url, excludeParams) {
259
+ let httpParams = getUrlSearchParams(url);
260
+ // Add requested parameters to the URL.
261
+ for (const key of this.getAllKeys()) {
262
+ if (!excludeParams.has(key) && !httpParams.has(key)) {
263
+ const decodedValue = this.get(key);
264
+ if (decodedValue) {
265
+ httpParams = httpParams.set(key, encodeURIComponent(decodedValue));
266
+ }
267
+ }
268
+ }
269
+ // Combine all parameters and their values, e.g. 'a=b'.
270
+ const joinedParams = httpParams
271
+ .keys()
272
+ .map((key) => `${key}=${httpParams.get(key)}`);
273
+ // Build and return the final URL.
274
+ const [beforeFragment, fragment] = url.split('#', 2);
275
+ const [baseUrl] = beforeFragment.split('?', 1);
276
+ return joinedParams.length === 0
277
+ ? url
278
+ : `${baseUrl}?${joinedParams.join('&')}` +
279
+ (fragment ? `#${fragment}` : '');
280
+ };
257
281
 
258
282
  var _SkyAppRuntimeConfigParamsProvider__params;
259
283
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"skyux-config.mjs","sources":["../../../../../libs/components/config/src/lib/app-config-host.ts","../../../../../libs/components/config/src/lib/app-config-params.ts","../../../../../libs/components/config/src/lib/app-config.module.ts","../../../../../libs/components/config/src/lib/config.ts","../../../../../libs/components/config/src/lib/params.ts","../../../../../libs/components/config/src/lib/params-provider.ts","../../../../../libs/components/config/src/skyux-config.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\nimport { SkyuxConfigHost } from './config';\n\nconst DEFAULTS: SkyuxConfigHost = {\n frameOptions: {\n none: true,\n },\n url: 'https://host.nxt.blackbaud.com/',\n};\n\n/**\n * Host configuration for components and applications.\n * @deprecated Use `SkyAppConfig.skyux.host` instead.\n */\n@Injectable()\nexport class SkyAppConfigHost {\n public get host(): SkyuxConfigHost {\n return this.#_host;\n }\n\n #_host!: SkyuxConfigHost;\n\n public init(config?: SkyuxConfigHost): void {\n this.#_host = {\n ...DEFAULTS,\n ...(config || {}),\n };\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { SkyuxConfigParams } from './config-params';\n\nconst DEFAULTS: SkyuxConfigParams = {\n envid: {\n required: false,\n },\n leid: {\n required: false,\n },\n svcid: {\n required: false,\n },\n};\n\n/**\n * @deprecated Use `SkyAppConfig.skyux.params` instead.\n */\n@Injectable()\nexport class SkyAppConfigParams {\n public get params(): SkyuxConfigParams {\n return this.#_params;\n }\n\n #_params!: SkyuxConfigParams;\n\n public init(params?: SkyuxConfigParams): void {\n this.#_params = {\n ...DEFAULTS,\n ...(params || {}),\n };\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { SkyAppConfigHost } from './app-config-host';\nimport { SkyAppConfigModuleForRootArgs } from './app-config-module-for-root-args';\nimport { SkyAppConfigParams } from './app-config-params';\n\n/**\n * @deprecated Provide `SkyAppConfig` at the root instead.\n */\n@NgModule({})\nexport class SkyAppConfigModule {\n public static forRoot(\n config: SkyAppConfigModuleForRootArgs = {}\n ): ModuleWithProviders<SkyAppConfigModule> {\n return {\n ngModule: SkyAppConfigModule,\n providers: [\n {\n provide: SkyAppConfigParams,\n useFactory() {\n const appConfigParams = new SkyAppConfigParams();\n appConfigParams.init(config.params);\n return appConfigParams;\n },\n },\n {\n provide: SkyAppConfigHost,\n useFactory() {\n const appConfigHost = new SkyAppConfigHost();\n appConfigHost.init(config.host);\n return appConfigHost;\n },\n },\n ],\n };\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { SkyuxConfigParams } from './config-params';\nimport { SkyAppRuntimeConfigParams } from './params';\n\nexport interface RuntimeConfigApp {\n base: string;\n inject: boolean;\n name?: string;\n template: string;\n}\n\nexport class SkyuxPactConfig {\n public providers?: {\n [provider: string]: {\n host?: string;\n port?: string;\n fullUrl?: string;\n };\n };\n public pactProxyServer?: string;\n}\n\nexport interface SkyuxConfigE2ETestSettings {\n browserSet?: 'speedy';\n}\n\nexport interface SkyuxConfigUnitTestSettings {\n browserSet?: 'speedy' | 'quirky' | 'paranoid';\n}\n\nexport interface SkyuxConfigTestSettings {\n e2e?: SkyuxConfigE2ETestSettings;\n unit?: SkyuxConfigUnitTestSettings;\n}\n\nexport interface SkyuxConfigLibrarySettings {\n whitelistedNonPeerDependencies?: string[];\n}\n\nexport interface RuntimeConfig {\n app: RuntimeConfigApp;\n command?: string; // Dynamically added in \"higher up\" webpacks\n componentsPattern: string;\n componentsIgnorePattern: string;\n handle404?: boolean; // Dynamically added in sky-pages-module-generator.js\n includeRouteModule: boolean;\n pactConfig?: SkyuxPactConfig;\n params: SkyAppRuntimeConfigParams;\n routes?: Object[]; // Dynamically added in sky-pages-module-generator.js\n routesPattern: string;\n runtimeAlias: string;\n spaPathAlias: string;\n skyPagesOutAlias: string;\n skyuxPathAlias: string;\n srcPath: string;\n useTemplateUrl: boolean;\n}\n\nexport interface SkyuxConfigA11y {\n rules?: any;\n}\n\nexport type SkyuxConfigAppSupportedTheme = 'default' | 'modern';\n\nexport interface SkyuxConfigAppTheming {\n supportedThemes: SkyuxConfigAppSupportedTheme[];\n theme: SkyuxConfigAppSupportedTheme;\n}\n\nexport interface SkyuxConfigApp {\n base?: string;\n externals?: Object;\n port?: string;\n styles?: string[];\n theming?: SkyuxConfigAppTheming;\n title?: string;\n}\n\nexport interface SkyuxConfigAuthSettings {\n blackbaudEmployee?: boolean;\n}\n\nexport interface SkyuxConfigHostBBCheckout {\n version: '2';\n}\n\nexport interface SkyuxConfigHostFrameOptionsNone {\n blackbaud?: false;\n none: true;\n self?: false;\n urls?: [];\n}\n\nexport interface SkyuxConfigHostFrameOptionsOthers {\n blackbaud?: boolean;\n none?: false;\n self?: boolean;\n urls?: string[];\n}\n\nexport interface SkyuxConfigHostCspDirectives {\n [directiveName: string]: string[];\n}\n\nexport interface SkyuxConfigHostCsp {\n enabled: boolean;\n directives?: SkyuxConfigHostCspDirectives;\n}\n\n/**\n * Blackbaud Only - Specifies configuration options for communication with SKY UX Host.\n */\nexport interface SkyuxConfigHost {\n bbCheckout?: SkyuxConfigHostBBCheckout;\n csp?: SkyuxConfigHostCsp;\n frameOptions?:\n | SkyuxConfigHostFrameOptionsNone\n | SkyuxConfigHostFrameOptionsOthers;\n url?: string;\n}\n\nexport interface SkyuxConfigAnyAllSet {\n any?: string[];\n all?: string[];\n}\n\nexport interface SkyuxConfig {\n $schema?: string;\n a11y?: SkyuxConfigA11y | boolean;\n angularSettings?: {\n defaultProject: string;\n };\n app?: SkyuxConfigApp;\n appSettings?: any;\n auth?: boolean;\n authSettings?: SkyuxConfigAuthSettings;\n codeCoverageThreshold?: 'none' | 'standard' | 'strict';\n command?: string;\n compileMode?: string;\n cssPath?: string;\n dependenciesForTranspilation?: string[];\n enableIvy?: boolean;\n help?: any;\n host?: SkyuxConfigHost;\n importPath?: string;\n librarySettings?: SkyuxConfigLibrarySettings;\n mode?: string;\n moduleAliases?: { [key: string]: string };\n name?: string;\n pacts?: any[];\n params?: SkyuxConfigParams; // List of allowed params\n pipelineSettings?: any;\n plugins?: string[];\n redirects?: { [from: string]: string };\n routes?: {\n public?: {\n title?: string;\n description?: string;\n global?: boolean;\n route: string;\n claims?: SkyuxConfigAnyAllSet;\n entitlementType?: string;\n entitlements?: SkyuxConfigAnyAllSet;\n permissionId?: string;\n permissions?: {\n admin?: boolean;\n legalEntityAdmin?: boolean;\n permissionIds?: SkyuxConfigAnyAllSet;\n };\n }[];\n referenced?: {\n app: string;\n route: string;\n }[];\n };\n testSettings?: SkyuxConfigTestSettings;\n omnibar?: any;\n useHashRouting?: boolean;\n skyuxModules?: string[];\n}\n\n@Injectable()\nexport class SkyAppConfig {\n // Any properties dynamically added via code\n public runtime!: RuntimeConfig;\n\n // Any properties defined in or inherited from skyuxconfig.json / skyuxconfig.command.json\n public skyux!: SkyuxConfig;\n}\n","import { HttpParams } from '@angular/common/http';\n\nimport { SkyuxConfigParams } from './config-params';\n\n/**\n * Given a \"url\" (could be just querystring, or fully qualified),\n * Returns the extracted HttpParams.\n */\nfunction getUrlSearchParams(url: string): HttpParams {\n let qs = '';\n\n if (url.indexOf('?') > -1) {\n qs = url.split('?')[1];\n qs = qs.split('#')[0];\n }\n\n return new HttpParams({\n fromString: qs,\n });\n}\n\nexport class SkyAppRuntimeConfigParams {\n #params: Record<string, string> = {};\n\n #defaultParamValues: Record<string, string> = {};\n\n #requiredParams: string[] = [];\n\n #encodedParams: string[] = [];\n\n #excludeFromRequestsParams: string[] = [];\n\n constructor(url: string, configParams: SkyuxConfigParams) {\n const allowed: string[] = [];\n\n for (const paramName of Object.keys(configParams)) {\n const configParam = configParams[paramName];\n\n // The config param could be present but be set to false/undefined indicating\n // an override of the default parameter.\n if (configParam) {\n allowed.push(paramName);\n\n // A boolean value may be present to simply indicate that a parameter is allowed.\n // If the type is object, look for additional config properties.\n if (typeof configParam === 'object') {\n const paramValue = configParam.value;\n\n if (configParam.required) {\n this.#requiredParams.push(paramName);\n }\n\n if (paramValue) {\n this.#params[paramName] = paramValue;\n this.#defaultParamValues[paramName] = paramValue;\n }\n\n if (configParam.excludeFromRequests) {\n this.#excludeFromRequestsParams.push(paramName);\n }\n }\n }\n }\n\n const httpParams = getUrlSearchParams(url);\n\n // Get uppercase keys.\n const allowedKeysUC = allowed.map((key) => key.toUpperCase());\n const urlSearchParamKeys = Array.from(httpParams.keys());\n\n // Filter to allowed params and override default values.\n urlSearchParamKeys.forEach((givenKey) => {\n const givenKeyUC = givenKey.toUpperCase();\n allowedKeysUC.forEach((allowedKeyUC, index) => {\n if (givenKeyUC === allowedKeyUC) {\n const param = httpParams.get(givenKey);\n\n if (param) {\n this.#params[allowed[index]] = param;\n this.#encodedParams.push(givenKey);\n }\n }\n });\n });\n }\n\n /**\n * Does the key exist\n */\n public has(key: string): boolean {\n return Object.prototype.hasOwnProperty.call(this.#params, key);\n }\n\n /**\n * Are all the required params defined?\n */\n public hasAllRequiredParams(): boolean {\n if (this.#requiredParams.length === 0) {\n return true;\n }\n\n return this.#requiredParams.every((param: string) => {\n return this.#params[param] !== undefined;\n });\n }\n\n /**\n * Returns a flag indicating whether a parameter is required.\n */\n public isRequired(key: string): boolean {\n return this.#requiredParams.indexOf(key) >= 0;\n }\n\n /**\n * Returns the decoded value of the requested param.\n * @param key The parameter's key.\n */\n public get(key: string): string | undefined {\n if (this.has(key)) {\n return this.#params[key];\n }\n\n return;\n }\n\n /**\n * Returns the params object.\n * @param excludeDefaults Exclude params that have default values\n */\n public getAll(excludeDefaults?: boolean): Record<string, string> {\n const filteredParams: Record<string, string> = {};\n\n this.getAllKeys().forEach((key) => {\n if (\n !excludeDefaults ||\n this.#params[key] !== this.#defaultParamValues[key]\n ) {\n filteredParams[key] = this.#params[key];\n }\n });\n\n return filteredParams;\n }\n\n /**\n * Returns all keys for current params.\n */\n public getAllKeys(): string[] {\n return Object.keys(this.#params);\n }\n\n /**\n * Adds the current params to the supplied url.\n */\n public getUrl(url: string): string {\n const httpParams = getUrlSearchParams(url);\n const delimiter = url.indexOf('?') === -1 ? '?' : '&';\n const joined: string[] = [];\n\n this.getAllKeys().forEach((key) => {\n if (\n this.#excludeFromRequestsParams.indexOf(key) === -1 &&\n !httpParams.has(key)\n ) {\n const decodedValue = this.get(key);\n if (decodedValue) {\n joined.push(`${key}=${encodeURIComponent(decodedValue)}`);\n }\n }\n });\n\n return joined.length === 0 ? url : `${url}${delimiter}${joined.join('&')}`;\n }\n}\n","import { Injectable, Optional } from '@angular/core';\n\nimport { SkyAppConfigParams } from './app-config-params';\nimport { SkyAppRuntimeConfigParams } from './params';\n\n/**\n * Provides methods to interact with runtime config query parameters.\n * @deprecated Use `SkyAppConfig.runtime.params` instead.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class SkyAppRuntimeConfigParamsProvider {\n public get params(): SkyAppRuntimeConfigParams {\n return this.#_params;\n }\n\n #_params: SkyAppRuntimeConfigParams;\n\n constructor(@Optional() configParams?: SkyAppConfigParams) {\n this.#_params = new SkyAppRuntimeConfigParams(\n window.location.href,\n configParams?.params || {}\n );\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["DEFAULTS","i1.SkyAppConfigParams"],"mappings":"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"}
1
+ {"version":3,"file":"skyux-config.mjs","sources":["../../../../../libs/components/config/src/lib/app-config-host.ts","../../../../../libs/components/config/src/lib/app-config-params.ts","../../../../../libs/components/config/src/lib/app-config.module.ts","../../../../../libs/components/config/src/lib/config.ts","../../../../../libs/components/config/src/lib/params.ts","../../../../../libs/components/config/src/lib/params-provider.ts","../../../../../libs/components/config/src/skyux-config.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\nimport { SkyuxConfigHost } from './config';\n\nconst DEFAULTS: SkyuxConfigHost = {\n frameOptions: {\n none: true,\n },\n url: 'https://host.nxt.blackbaud.com/',\n};\n\n/**\n * Host configuration for components and applications.\n * @deprecated Use `SkyAppConfig.skyux.host` instead.\n */\n@Injectable()\nexport class SkyAppConfigHost {\n public get host(): SkyuxConfigHost {\n return this.#_host;\n }\n\n #_host!: SkyuxConfigHost;\n\n public init(config?: SkyuxConfigHost): void {\n this.#_host = {\n ...DEFAULTS,\n ...(config || {}),\n };\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { SkyuxConfigParams } from './config-params';\n\nconst DEFAULTS: SkyuxConfigParams = {\n envid: {\n required: false,\n },\n leid: {\n required: false,\n },\n svcid: {\n required: false,\n },\n};\n\n/**\n * @deprecated Use `SkyAppConfig.skyux.params` instead.\n */\n@Injectable()\nexport class SkyAppConfigParams {\n public get params(): SkyuxConfigParams {\n return this.#_params;\n }\n\n #_params!: SkyuxConfigParams;\n\n public init(params?: SkyuxConfigParams): void {\n this.#_params = {\n ...DEFAULTS,\n ...(params || {}),\n };\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { SkyAppConfigHost } from './app-config-host';\nimport { SkyAppConfigModuleForRootArgs } from './app-config-module-for-root-args';\nimport { SkyAppConfigParams } from './app-config-params';\n\n/**\n * @deprecated Provide `SkyAppConfig` at the root instead.\n */\n@NgModule({})\nexport class SkyAppConfigModule {\n public static forRoot(\n config: SkyAppConfigModuleForRootArgs = {}\n ): ModuleWithProviders<SkyAppConfigModule> {\n return {\n ngModule: SkyAppConfigModule,\n providers: [\n {\n provide: SkyAppConfigParams,\n useFactory() {\n const appConfigParams = new SkyAppConfigParams();\n appConfigParams.init(config.params);\n return appConfigParams;\n },\n },\n {\n provide: SkyAppConfigHost,\n useFactory() {\n const appConfigHost = new SkyAppConfigHost();\n appConfigHost.init(config.host);\n return appConfigHost;\n },\n },\n ],\n };\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { SkyuxConfigParams } from './config-params';\nimport { SkyAppRuntimeConfigParams } from './params';\n\nexport interface RuntimeConfigApp {\n base: string;\n inject: boolean;\n name?: string;\n template: string;\n}\n\nexport class SkyuxPactConfig {\n public providers?: {\n [provider: string]: {\n host?: string;\n port?: string;\n fullUrl?: string;\n };\n };\n public pactProxyServer?: string;\n}\n\nexport interface SkyuxConfigE2ETestSettings {\n browserSet?: 'speedy';\n}\n\nexport interface SkyuxConfigUnitTestSettings {\n browserSet?: 'speedy' | 'quirky' | 'paranoid';\n}\n\nexport interface SkyuxConfigTestSettings {\n e2e?: SkyuxConfigE2ETestSettings;\n unit?: SkyuxConfigUnitTestSettings;\n}\n\nexport interface SkyuxConfigLibrarySettings {\n whitelistedNonPeerDependencies?: string[];\n}\n\nexport interface RuntimeConfig {\n app: RuntimeConfigApp;\n command?: string; // Dynamically added in \"higher up\" webpacks\n componentsPattern: string;\n componentsIgnorePattern: string;\n handle404?: boolean; // Dynamically added in sky-pages-module-generator.js\n includeRouteModule: boolean;\n pactConfig?: SkyuxPactConfig;\n params: SkyAppRuntimeConfigParams;\n routes?: Object[]; // Dynamically added in sky-pages-module-generator.js\n routesPattern: string;\n runtimeAlias: string;\n spaPathAlias: string;\n skyPagesOutAlias: string;\n skyuxPathAlias: string;\n srcPath: string;\n useTemplateUrl: boolean;\n}\n\nexport interface SkyuxConfigA11y {\n rules?: any;\n}\n\nexport type SkyuxConfigAppSupportedTheme = 'default' | 'modern';\n\nexport interface SkyuxConfigAppTheming {\n supportedThemes: SkyuxConfigAppSupportedTheme[];\n theme: SkyuxConfigAppSupportedTheme;\n}\n\nexport interface SkyuxConfigApp {\n base?: string;\n externals?: Object;\n port?: string;\n styles?: string[];\n theming?: SkyuxConfigAppTheming;\n title?: string;\n}\n\nexport interface SkyuxConfigAuthSettings {\n blackbaudEmployee?: boolean;\n}\n\nexport interface SkyuxConfigHostBBCheckout {\n version: '2';\n}\n\nexport interface SkyuxConfigHostFrameOptionsNone {\n blackbaud?: false;\n none: true;\n self?: false;\n urls?: [];\n}\n\nexport interface SkyuxConfigHostFrameOptionsOthers {\n blackbaud?: boolean;\n none?: false;\n self?: boolean;\n urls?: string[];\n}\n\nexport interface SkyuxConfigHostCspDirectives {\n [directiveName: string]: string[];\n}\n\nexport interface SkyuxConfigHostCsp {\n enabled: boolean;\n directives?: SkyuxConfigHostCspDirectives;\n}\n\n/**\n * Blackbaud Only - Specifies configuration options for communication with SKY UX Host.\n */\nexport interface SkyuxConfigHost {\n bbCheckout?: SkyuxConfigHostBBCheckout;\n csp?: SkyuxConfigHostCsp;\n frameOptions?:\n | SkyuxConfigHostFrameOptionsNone\n | SkyuxConfigHostFrameOptionsOthers;\n url?: string;\n}\n\nexport interface SkyuxConfigAnyAllSet {\n any?: string[];\n all?: string[];\n}\n\nexport interface SkyuxConfig {\n $schema?: string;\n a11y?: SkyuxConfigA11y | boolean;\n angularSettings?: {\n defaultProject: string;\n };\n app?: SkyuxConfigApp;\n appSettings?: any;\n auth?: boolean;\n authSettings?: SkyuxConfigAuthSettings;\n codeCoverageThreshold?: 'none' | 'standard' | 'strict';\n command?: string;\n compileMode?: string;\n cssPath?: string;\n dependenciesForTranspilation?: string[];\n enableIvy?: boolean;\n help?: any;\n host?: SkyuxConfigHost;\n importPath?: string;\n librarySettings?: SkyuxConfigLibrarySettings;\n mode?: string;\n moduleAliases?: { [key: string]: string };\n name?: string;\n pacts?: any[];\n params?: SkyuxConfigParams; // List of allowed params\n pipelineSettings?: any;\n plugins?: string[];\n redirects?: { [from: string]: string };\n routes?: {\n public?: {\n title?: string;\n description?: string;\n global?: boolean;\n route: string;\n claims?: SkyuxConfigAnyAllSet;\n entitlementType?: string;\n entitlements?: SkyuxConfigAnyAllSet;\n permissionId?: string;\n permissions?: {\n admin?: boolean;\n legalEntityAdmin?: boolean;\n permissionIds?: SkyuxConfigAnyAllSet;\n };\n }[];\n referenced?: {\n app: string;\n route: string;\n }[];\n };\n testSettings?: SkyuxConfigTestSettings;\n omnibar?: any;\n useHashRouting?: boolean;\n skyuxModules?: string[];\n}\n\n@Injectable()\nexport class SkyAppConfig {\n // Any properties dynamically added via code\n public runtime!: RuntimeConfig;\n\n // Any properties defined in or inherited from skyuxconfig.json / skyuxconfig.command.json\n public skyux!: SkyuxConfig;\n}\n","import { HttpParams } from '@angular/common/http';\n\nimport { SkyuxConfigParams } from './config-params';\n\n/**\n * Given a \"url\" (could be just querystring, or fully qualified),\n * Returns the extracted HttpParams.\n */\nfunction getUrlSearchParams(url: string): HttpParams {\n let qs = '';\n\n if (url.indexOf('?') > -1) {\n qs = url.split('?')[1];\n qs = qs.split('#')[0];\n }\n\n return new HttpParams({\n fromString: qs,\n });\n}\n\nexport class SkyAppRuntimeConfigParams {\n #params: Record<string, string> = {};\n\n #defaultParamValues: Record<string, string> = {};\n\n #requiredParams: string[] = [];\n\n #encodedParams: string[] = [];\n\n #excludeFromLinksParams = new Set<string>();\n #excludeFromRequestsParams = new Set<string>();\n\n constructor(url: string, configParams: SkyuxConfigParams) {\n const allowed: string[] = [];\n\n for (const paramName of Object.keys(configParams)) {\n const configParam = configParams[paramName];\n\n // The config param could be present but be set to false/undefined indicating\n // an override of the default parameter.\n if (configParam) {\n allowed.push(paramName);\n\n // A boolean value may be present to simply indicate that a parameter is allowed.\n // If the type is object, look for additional config properties.\n if (typeof configParam === 'object') {\n const paramValue = configParam.value;\n\n if (configParam.required) {\n this.#requiredParams.push(paramName);\n }\n\n if (paramValue) {\n this.#params[paramName] = paramValue;\n this.#defaultParamValues[paramName] = paramValue;\n }\n\n if (configParam.excludeFromLinks) {\n this.#excludeFromLinksParams.add(paramName);\n }\n\n if (configParam.excludeFromRequests) {\n this.#excludeFromRequestsParams.add(paramName);\n }\n }\n }\n }\n\n const httpParams = getUrlSearchParams(url);\n\n // Get uppercase keys.\n const allowedKeysUC = allowed.map((key) => key.toUpperCase());\n const urlSearchParamKeys = Array.from(httpParams.keys());\n\n // Filter to allowed params and override default values.\n urlSearchParamKeys.forEach((givenKey) => {\n const givenKeyUC = givenKey.toUpperCase();\n allowedKeysUC.forEach((allowedKeyUC, index) => {\n if (givenKeyUC === allowedKeyUC) {\n const param = httpParams.get(givenKey);\n\n if (param) {\n this.#params[allowed[index]] = param;\n this.#encodedParams.push(givenKey);\n }\n }\n });\n });\n }\n\n /**\n * Does the key exist\n */\n public has(key: string): boolean {\n return Object.prototype.hasOwnProperty.call(this.#params, key);\n }\n\n /**\n * Are all the required params defined?\n */\n public hasAllRequiredParams(): boolean {\n if (this.#requiredParams.length === 0) {\n return true;\n }\n\n return this.#requiredParams.every((param: string) => {\n return this.#params[param] !== undefined;\n });\n }\n\n /**\n * Returns a flag indicating whether a parameter is required.\n */\n public isRequired(key: string): boolean {\n return this.#requiredParams.indexOf(key) >= 0;\n }\n\n /**\n * Returns the decoded value of the requested param.\n * @param key The parameter's key.\n */\n public get(key: string): string | undefined {\n if (this.has(key)) {\n return this.#params[key];\n }\n\n return;\n }\n\n /**\n * Returns the params object.\n * @param excludeDefaults Exclude params that have default values\n */\n public getAll(excludeDefaults?: boolean): Record<string, string> {\n const filteredParams: Record<string, string> = {};\n\n this.getAllKeys().forEach((key) => {\n if (\n !excludeDefaults ||\n this.#params[key] !== this.#defaultParamValues[key]\n ) {\n filteredParams[key] = this.#params[key];\n }\n });\n\n return filteredParams;\n }\n\n /**\n * Returns all keys for current params.\n */\n public getAllKeys(): string[] {\n return Object.keys(this.#params);\n }\n\n /**\n * Adds the current params to the supplied URL.\n */\n public getUrl(url: string): string {\n return this.#buildUrlWithParams(url, this.#excludeFromRequestsParams);\n }\n\n /**\n * Adds the current params to the supplied link URL.\n */\n public getLinkUrl(url: string): string {\n return this.#buildUrlWithParams(\n url,\n new Set([\n ...this.#excludeFromRequestsParams,\n ...this.#excludeFromLinksParams,\n ])\n );\n }\n\n #buildUrlWithParams(url: string, excludeParams: Set<string>): string {\n let httpParams = getUrlSearchParams(url);\n\n // Add requested parameters to the URL.\n for (const key of this.getAllKeys()) {\n if (!excludeParams.has(key) && !httpParams.has(key)) {\n const decodedValue = this.get(key);\n if (decodedValue) {\n httpParams = httpParams.set(key, encodeURIComponent(decodedValue));\n }\n }\n }\n\n // Combine all parameters and their values, e.g. 'a=b'.\n const joinedParams = httpParams\n .keys()\n .map((key) => `${key}=${httpParams.get(key)}`);\n\n // Build and return the final URL.\n const [beforeFragment, fragment] = url.split('#', 2);\n const [baseUrl] = beforeFragment.split('?', 1);\n\n return joinedParams.length === 0\n ? url\n : `${baseUrl}?${joinedParams.join('&')}` +\n (fragment ? `#${fragment}` : '');\n }\n}\n","import { Injectable, Optional } from '@angular/core';\n\nimport { SkyAppConfigParams } from './app-config-params';\nimport { SkyAppRuntimeConfigParams } from './params';\n\n/**\n * Provides methods to interact with runtime config query parameters.\n * @deprecated Use `SkyAppConfig.runtime.params` instead.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class SkyAppRuntimeConfigParamsProvider {\n public get params(): SkyAppRuntimeConfigParams {\n return this.#_params;\n }\n\n #_params: SkyAppRuntimeConfigParams;\n\n constructor(@Optional() configParams?: SkyAppConfigParams) {\n this.#_params = new SkyAppRuntimeConfigParams(\n window.location.href,\n configParams?.params || {}\n );\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["DEFAULTS","i1.SkyAppConfigParams"],"mappings":"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"}
@@ -5,6 +5,7 @@ export type SkyuxConfigParams = {
5
5
  [key: string]: boolean | {
6
6
  value?: any;
7
7
  required?: boolean;
8
+ excludeFromLinks?: boolean;
8
9
  excludeFromRequests?: boolean;
9
10
  };
10
11
  };
package/lib/params.d.ts CHANGED
@@ -29,7 +29,11 @@ export declare class SkyAppRuntimeConfigParams {
29
29
  */
30
30
  getAllKeys(): string[];
31
31
  /**
32
- * Adds the current params to the supplied url.
32
+ * Adds the current params to the supplied URL.
33
33
  */
34
34
  getUrl(url: string): string;
35
+ /**
36
+ * Adds the current params to the supplied link URL.
37
+ */
38
+ getLinkUrl(url: string): string;
35
39
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skyux/config",
3
- "version": "8.0.3",
3
+ "version": "8.2.0",
4
4
  "author": "Blackbaud, Inc.",
5
5
  "keywords": [
6
6
  "blackbaud",