@o3r/routing 10.0.0-next.8 → 11.0.0-next.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.
Files changed (55) hide show
  1. package/README.md +1 -1
  2. package/esm2022/public_api.mjs +1 -2
  3. package/esm2022/stores/routing-guard/extra-effects/ngrx-store-router.effect.mjs +4 -4
  4. package/esm2022/stores/routing-guard/routing-guard.module.mjs +4 -4
  5. package/esm2022/tools/app-server-routing.module.mjs +9 -11
  6. package/esm2022/tools/on-navigation-strategy.preloader.mjs +5 -8
  7. package/fesm2022/o3r-routing.mjs +25 -311
  8. package/fesm2022/o3r-routing.mjs.map +1 -1
  9. package/package.json +15 -27
  10. package/public_api.d.ts +0 -1
  11. package/public_api.d.ts.map +1 -1
  12. package/schematics/ng-add/schema.json +2 -2
  13. package/tools/app-server-routing.module.d.ts +4 -6
  14. package/tools/app-server-routing.module.d.ts.map +1 -1
  15. package/tools/on-navigation-strategy.preloader.d.ts +1 -4
  16. package/tools/on-navigation-strategy.preloader.d.ts.map +1 -1
  17. package/esm2022/fixtures/jasmine/index.mjs +0 -2
  18. package/esm2022/fixtures/jasmine/o3r-routing-fixtures-jasmine.mjs +0 -5
  19. package/esm2022/fixtures/jasmine/request-parameters.fixture.jasmine.mjs +0 -27
  20. package/esm2022/fixtures/jest/index.mjs +0 -2
  21. package/esm2022/fixtures/jest/o3r-routing-fixtures-jest.mjs +0 -5
  22. package/esm2022/fixtures/jest/request-parameters.fixture.jest.mjs +0 -27
  23. package/esm2022/services/index.mjs +0 -2
  24. package/esm2022/services/request-parameters/index.mjs +0 -4
  25. package/esm2022/services/request-parameters/request-parameters.config.mjs +0 -31
  26. package/esm2022/services/request-parameters/request-parameters.module.mjs +0 -54
  27. package/esm2022/services/request-parameters/request-parameters.service.mjs +0 -197
  28. package/esm2022/services/request-parameters/request-parameters.token.mjs +0 -8
  29. package/fesm2022/o3r-routing-fixtures-jasmine.mjs +0 -34
  30. package/fesm2022/o3r-routing-fixtures-jasmine.mjs.map +0 -1
  31. package/fesm2022/o3r-routing-fixtures-jest.mjs +0 -34
  32. package/fesm2022/o3r-routing-fixtures-jest.mjs.map +0 -1
  33. package/fixtures/jasmine/index.d.ts +0 -2
  34. package/fixtures/jasmine/index.d.ts.map +0 -1
  35. package/fixtures/jasmine/o3r-routing-fixtures-jasmine.d.ts.map +0 -1
  36. package/fixtures/jasmine/request-parameters.fixture.jasmine.d.ts +0 -27
  37. package/fixtures/jasmine/request-parameters.fixture.jasmine.d.ts.map +0 -1
  38. package/fixtures/jest/index.d.ts +0 -2
  39. package/fixtures/jest/index.d.ts.map +0 -1
  40. package/fixtures/jest/o3r-routing-fixtures-jest.d.ts.map +0 -1
  41. package/fixtures/jest/request-parameters.fixture.jest.d.ts +0 -27
  42. package/fixtures/jest/request-parameters.fixture.jest.d.ts.map +0 -1
  43. package/schematics/package.json +0 -3
  44. package/services/index.d.ts +0 -2
  45. package/services/index.d.ts.map +0 -1
  46. package/services/request-parameters/index.d.ts +0 -4
  47. package/services/request-parameters/index.d.ts.map +0 -1
  48. package/services/request-parameters/request-parameters.config.d.ts +0 -43
  49. package/services/request-parameters/request-parameters.config.d.ts.map +0 -1
  50. package/services/request-parameters/request-parameters.module.d.ts +0 -21
  51. package/services/request-parameters/request-parameters.module.d.ts.map +0 -1
  52. package/services/request-parameters/request-parameters.service.d.ts +0 -121
  53. package/services/request-parameters/request-parameters.service.d.ts.map +0 -1
  54. package/services/request-parameters/request-parameters.token.d.ts +0 -9
  55. package/services/request-parameters/request-parameters.token.d.ts.map +0 -1
@@ -1,197 +0,0 @@
1
- import { Inject, Injectable } from '@angular/core';
2
- import { defaultRequestParametersConfig, StorageStrategy } from './request-parameters.config';
3
- import { REQUEST_PARAMETERS_CONFIG_TOKEN } from './request-parameters.token';
4
- import * as i0 from "@angular/core";
5
- /**
6
- * Service used to store the request parameters of your requests so that subsequent calls or refresh the page will preserve
7
- * them.
8
- *
9
- * @deprecated use RequestParametersService from @o3r/dynamic-content instead, will be removed in v10
10
- */
11
- export class RequestParametersService {
12
- constructor(config) {
13
- this._query = {};
14
- this._post = {};
15
- this.config = defaultRequestParametersConfig;
16
- Object.keys(config)
17
- .filter((key) => config[key] !== undefined)
18
- .forEach((key) => this.config[key] = config[key]);
19
- this.setParameters('query', JSON.parse(this.config.queryParamsValue));
20
- this.setParameters('post', JSON.parse(this.config.postParamsValue));
21
- }
22
- /**
23
- * Depending on the strategy, set the internal values for the parameters.
24
- * See StorageStrategy for more info.
25
- *
26
- * @param key
27
- * @param value
28
- */
29
- setParameters(key, value) {
30
- const privateKey = `_${key}`;
31
- if (!this.config.storage) {
32
- // No storage is available , cannot set items
33
- return;
34
- }
35
- switch (this.config.strategy) {
36
- case StorageStrategy.Rehydrate: {
37
- if (!this.config.storage.getItem(privateKey)) {
38
- this[privateKey] = value;
39
- this.config.storage.setItem(privateKey, JSON.stringify(value));
40
- break;
41
- }
42
- this[privateKey] = JSON.parse(this.config.storage.getItem(privateKey) || '{}');
43
- break;
44
- }
45
- case StorageStrategy.Replace: {
46
- this[privateKey] = value;
47
- this.config.storage.setItem(privateKey, JSON.stringify(value));
48
- break;
49
- }
50
- case StorageStrategy.Merge: {
51
- const storageData = Object.assign(JSON.parse(this.config.storage.getItem(privateKey) || '{}'), value);
52
- this[privateKey] = storageData;
53
- this.config.storage.setItem(privateKey, JSON.stringify(storageData));
54
- break;
55
- }
56
- case StorageStrategy.ReplaceIfNotEmpty: {
57
- if (Object.keys(value).length > 0) {
58
- this[privateKey] = value;
59
- this.config.storage.setItem(privateKey, JSON.stringify(value));
60
- break;
61
- }
62
- this[privateKey] = JSON.parse(this.config.storage.getItem(privateKey) || '{}');
63
- break;
64
- }
65
- }
66
- }
67
- /**
68
- * Get all the query parameters in a map.
69
- */
70
- get query() {
71
- return this._query;
72
- }
73
- /**
74
- * Get all the post parameters in a map.
75
- */
76
- get post() {
77
- return this._post;
78
- }
79
- /**
80
- * Get a specific query parameter value, given the key.
81
- *
82
- * @param key
83
- */
84
- getQueryParameter(key) {
85
- return this._query[key];
86
- }
87
- /**
88
- * Get a specific query parameter value as boolean, given the key.
89
- *
90
- * @param key
91
- */
92
- getQueryParameterAsBoolean(key) {
93
- const queryParameter = this.getQueryParameter(key);
94
- return queryParameter ? queryParameter.toLowerCase() === 'true' : undefined;
95
- }
96
- /**
97
- * Get a specific post parameter value, given the key.
98
- *
99
- * @param key
100
- */
101
- getPostParameter(key) {
102
- return this._post[key];
103
- }
104
- /**
105
- * Get a specific post parameter value as boolean, given the key.
106
- *
107
- * @param key
108
- */
109
- getPostParameterAsBoolean(key) {
110
- const postParameter = this.getPostParameter(key);
111
- return postParameter ? postParameter.toLowerCase() === 'true' : undefined;
112
- }
113
- /**
114
- * Get a specific parameter value, given the key.
115
- *
116
- * @param key
117
- */
118
- getParameter(key) {
119
- return this._query[key] || this._post[key];
120
- }
121
- /**
122
- * Get a specific parameter value as boolean, given the key.
123
- *
124
- * @param key
125
- */
126
- getParameterAsBoolean(key) {
127
- const parameter = this.getParameter(key);
128
- return parameter ? parameter.toLowerCase() === 'true' : undefined;
129
- }
130
- /**
131
- * Clear GET parameters from the storage
132
- *
133
- * @param paramsToClear the list on key that you want to clear in get parameters
134
- */
135
- clearQueryParameters(paramsToClear) {
136
- const newQuery = (paramsToClear ? Object.keys(this._query).filter((key) => paramsToClear.indexOf(key) === -1) : [])
137
- .reduce((acc, key) => {
138
- acc[key] = this._query[key];
139
- return acc;
140
- }, {});
141
- if (this.config.storage) {
142
- this.config.storage.setItem('_query', JSON.stringify(newQuery));
143
- }
144
- this._query = newQuery;
145
- }
146
- /**
147
- * Clear POST parameters from the storage
148
- *
149
- * @param paramsToClear the list on key that you want to clean in post parameters
150
- */
151
- clearPostParameters(paramsToClear) {
152
- const newPost = (paramsToClear ? Object.keys(this._post).filter((key) => paramsToClear.indexOf(key) === -1) : [])
153
- .reduce((acc, key) => {
154
- acc[key] = this._post[key];
155
- return acc;
156
- }, {});
157
- if (this.config.storage) {
158
- this.config.storage.setItem('_post', JSON.stringify(newPost));
159
- }
160
- this._post = newPost;
161
- }
162
- /**
163
- * Get all the parameters in a map.
164
- *
165
- * @param priority the parameter to be given priority in case same key is in get and post params.
166
- */
167
- getParams(priority = 'query') {
168
- return priority === 'query' ? { ...this._post, ...this._query } : { ...this._query, ...this._post };
169
- }
170
- /**
171
- * Filter Parameters(both Query/POST) from the storage
172
- *
173
- * @param paramstoFilter the list on key that you want to filter from parameters
174
- * @param priority the priorty of the parameter type(POST/Query)
175
- */
176
- getFilteredParameters(paramstoFilter, priority = 'query') {
177
- const params = this.getParams(priority);
178
- if (!paramstoFilter) {
179
- return params;
180
- }
181
- return Object.keys(params)
182
- .filter((key) => paramstoFilter.indexOf(key) === -1)
183
- .reduce((acc, key) => {
184
- acc[key] = params[key];
185
- return acc;
186
- }, {});
187
- }
188
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: RequestParametersService, deps: [{ token: REQUEST_PARAMETERS_CONFIG_TOKEN }], target: i0.ɵɵFactoryTarget.Injectable }); }
189
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: RequestParametersService }); }
190
- }
191
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: RequestParametersService, decorators: [{
192
- type: Injectable
193
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
194
- type: Inject,
195
- args: [REQUEST_PARAMETERS_CONFIG_TOKEN]
196
- }] }]; } });
197
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC1wYXJhbWV0ZXJzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VydmljZXMvcmVxdWVzdC1wYXJhbWV0ZXJzL3JlcXVlc3QtcGFyYW1ldGVycy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRWpELE9BQU8sRUFBQyw4QkFBOEIsRUFBMkIsZUFBZSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFFckgsT0FBTyxFQUFDLCtCQUErQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7O0FBbUIzRTs7Ozs7R0FLRztBQUVILE1BQU0sT0FBTyx3QkFBd0I7SUFNbkMsWUFBcUQsTUFBc0M7UUFMbkYsV0FBTSxHQUE0QixFQUFFLENBQUM7UUFDckMsVUFBSyxHQUE0QixFQUFFLENBQUM7UUFLMUMsSUFBSSxDQUFDLE1BQU0sR0FBRyw4QkFBOEIsQ0FBQztRQUM1QyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBNkI7YUFDN0MsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssU0FBUyxDQUFDO2FBQzFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUUsSUFBSSxDQUFDLE1BQWMsQ0FBQyxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUU3RCxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO1FBQ3RFLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO0lBQ3RFLENB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OzJCQUFDLCtCQUErQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0LCBJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtkZWZhdWx0UmVxdWVzdFBhcmFtZXRlcnNDb25maWcsIFJlcXVlc3RQYXJhbWV0ZXJzQ29uZmlnLCBTdG9yYWdlU3RyYXRlZ3l9IGZyb20gJy4vcmVxdWVzdC1wYXJhbWV0ZXJzLmNvbmZpZyc7XG5cbmltcG9ydCB7UkVRVUVTVF9QQVJBTUVURVJTX0NPTkZJR19UT0tFTn0gZnJvbSAnLi9yZXF1ZXN0LXBhcmFtZXRlcnMudG9rZW4nO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIHVzZSBQYXJhbXNMaXN0IGZyb20gQG8zci9keW5hbWljLWNvbnRlbnQgaW5zdGVhZCwgd2lsbCBiZSByZW1vdmVkIGluIHYxMFxuICovXG5leHBvcnQgdHlwZSBQYXJhbXNMaXN0ID0gJ3F1ZXJ5JyB8ICdwb3N0JztcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCB1c2UgUGFyYW1zVHlwZSBmcm9tIEBvM3IvZHluYW1pYy1jb250ZW50IGluc3RlYWQsIHdpbGwgYmUgcmVtb3ZlZCBpbiB2MTBcbiAqL1xuZXhwb3J0IHR5cGUgUGFyYW1zVHlwZSA9IHtbayBpbiBQYXJhbXNMaXN0XToge1trZXk6IHN0cmluZ106IHN0cmluZ319O1xuXG4vKipcbiAqIFBhcnRpYWwgY29uZmlndXJhdGlvbiBmb3IgUmVxdWVzdFBhcmFtZXRlcnMgU2VydmljZVxuICpcbiAqIEBkZXByZWNhdGVkIHVzZSBQYXJ0aWFsUmVxdWVzdFBhcmFtZXRlcnNDb25maWcgZnJvbSBAbzNyL2R5bmFtaWMtY29udGVudCBpbnN0ZWFkLCB3aWxsIGJlIHJlbW92ZWQgaW4gdjEwXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFydGlhbFJlcXVlc3RQYXJhbWV0ZXJzQ29uZmlnIGV4dGVuZHMgUGFydGlhbDxSZXF1ZXN0UGFyYW1ldGVyc0NvbmZpZz4ge31cblxuLyoqXG4gKiBTZXJ2aWNlIHVzZWQgdG8gc3RvcmUgdGhlIHJlcXVlc3QgcGFyYW1ldGVycyBvZiB5b3VyIHJlcXVlc3RzIHNvIHRoYXQgc3Vic2VxdWVudCBjYWxscyBvciByZWZyZXNoIHRoZSBwYWdlIHdpbGwgcHJlc2VydmVcbiAqIHRoZW0uXG4gKlxuICogQGRlcHJlY2F0ZWQgdXNlIFJlcXVlc3RQYXJhbWV0ZXJzU2VydmljZSBmcm9tIEBvM3IvZHluYW1pYy1jb250ZW50IGluc3RlYWQsIHdpbGwgYmUgcmVtb3ZlZCBpbiB2MTBcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFJlcXVlc3RQYXJhbWV0ZXJzU2VydmljZSBpbXBsZW1lbnRzIFBhcmFtc1R5cGUge1xuICBwcml2YXRlIF9xdWVyeToge1trZXk6IHN0cmluZ106IHN0cmluZ30gPSB7fTtcbiAgcHJpdmF0ZSBfcG9zdDoge1trZXk6IHN0cmluZ106IHN0cmluZ30gPSB7fTtcblxuICBwcml2YXRlIGNvbmZpZzogUmVxdWVzdFBhcmFtZXRlcnNDb25maWc7XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChSRVFVRVNUX1BBUkFNRVRFUlNfQ09ORklHX1RPS0VOKSBjb25maWc6IFBhcnRpYWxSZXF1ZXN0UGFyYW1ldGVyc0NvbmZpZykge1xuICAgIHRoaXMuY29uZmlnID0gZGVmYXVsdFJlcXVlc3RQYXJhbWV0ZXJzQ29uZmlnO1xuICAgIChPYmplY3Qua2V5cyhjb25maWcpIGFzIChrZXlvZiB0eXBlb2YgY29uZmlnKVtdKVxuICAgICAgLmZpbHRlcigoa2V5KSA9PiBjb25maWdba2V5XSAhPT0gdW5kZWZpbmVkKVxuICAgICAgLmZvckVhY2goKGtleSkgPT4gKHRoaXMuY29uZmlnIGFzIGFueSlba2V5XSA9IGNvbmZpZ1trZXldKTtcblxuICAgIHRoaXMuc2V0UGFyYW1ldGVycygncXVlcnknLCBKU09OLnBhcnNlKHRoaXMuY29uZmlnLnF1ZXJ5UGFyYW1zVmFsdWUpKTtcbiAgICB0aGlzLnNldFBhcmFtZXRlcnMoJ3Bvc3QnLCBKU09OLnBhcnNlKHRoaXMuY29uZmlnLnBvc3RQYXJhbXNWYWx1ZSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlcGVuZGluZyBvbiB0aGUgc3RyYXRlZ3ksIHNldCB0aGUgaW50ZXJuYWwgdmFsdWVzIGZvciB0aGUgcGFyYW1ldGVycy5cbiAgICogU2VlIFN0b3JhZ2VTdHJhdGVneSBmb3IgbW9yZSBpbmZvLlxuICAgKlxuICAgKiBAcGFyYW0ga2V5XG4gICAqIEBwYXJhbSB2YWx1ZVxuICAgKi9cbiAgcHJpdmF0ZSBzZXRQYXJhbWV0ZXJzKGtleTogUGFyYW1zTGlzdCwgdmFsdWU6IHtba2V5OiBzdHJpbmddOiBzdHJpbmd9KSB7XG4gICAgY29uc3QgcHJpdmF0ZUtleTogYF8ke1BhcmFtc0xpc3R9YCA9IGBfJHtrZXl9YDtcbiAgICBpZiAoIXRoaXMuY29uZmlnLnN0b3JhZ2UpIHtcbiAgICAgIC8vIE5vIHN0b3JhZ2UgaXMgYXZhaWxhYmxlICwgY2Fubm90IHNldCBpdGVtc1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBzd2l0Y2ggKHRoaXMuY29uZmlnLnN0cmF0ZWd5KSB7XG4gICAgICBjYXNlIFN0b3JhZ2VTdHJhdGVneS5SZWh5ZHJhdGU6IHtcbiAgICAgICAgaWYgKCF0aGlzLmNvbmZpZy5zdG9yYWdlLmdldEl0ZW0ocHJpdmF0ZUtleSkpIHtcbiAgICAgICAgICB0aGlzW3ByaXZhdGVLZXldID0gdmFsdWU7XG4gICAgICAgICAgdGhpcy5jb25maWcuc3RvcmFnZS5zZXRJdGVtKHByaXZhdGVLZXksIEpTT04uc3RyaW5naWZ5KHZhbHVlKSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgdGhpc1twcml2YXRlS2V5XSA9IEpTT04ucGFyc2UodGhpcy5jb25maWcuc3RvcmFnZS5nZXRJdGVtKHByaXZhdGVLZXkpIHx8ICd7fScpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgU3RvcmFnZVN0cmF0ZWd5LlJlcGxhY2U6IHtcbiAgICAgICAgdGhpc1twcml2YXRlS2V5XSA9IHZhbHVlO1xuICAgICAgICB0aGlzLmNvbmZpZy5zdG9yYWdlLnNldEl0ZW0ocHJpdmF0ZUtleSwgSlNPTi5zdHJpbmdpZnkodmFsdWUpKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlIFN0b3JhZ2VTdHJhdGVneS5NZXJnZToge1xuICAgICAgICBjb25zdCBzdG9yYWdlRGF0YSA9IE9iamVjdC5hc3NpZ24oSlNPTi5wYXJzZSh0aGlzLmNvbmZpZy5zdG9yYWdlLmdldEl0ZW0ocHJpdmF0ZUtleSkgfHwgJ3t9JyksIHZhbHVlKTtcbiAgICAgICAgdGhpc1twcml2YXRlS2V5XSA9IHN0b3JhZ2VEYXRhO1xuICAgICAgICB0aGlzLmNvbmZpZy5zdG9yYWdlLnNldEl0ZW0ocHJpdmF0ZUtleSwgSlNPTi5zdHJpbmdpZnkoc3RvcmFnZURhdGEpKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlIFN0b3JhZ2VTdHJhdGVneS5SZXBsYWNlSWZOb3RFbXB0eToge1xuICAgICAgICBpZiAoT2JqZWN0LmtleXModmFsdWUpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICB0aGlzW3ByaXZhdGVLZXldID0gdmFsdWU7XG4gICAgICAgICAgdGhpcy5jb25maWcuc3RvcmFnZS5zZXRJdGVtKHByaXZhdGVLZXksIEpTT04uc3RyaW5naWZ5KHZhbHVlKSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgdGhpc1twcml2YXRlS2V5XSA9IEpTT04ucGFyc2UodGhpcy5jb25maWcuc3RvcmFnZS5nZXRJdGVtKHByaXZhdGVLZXkpIHx8ICd7fScpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogR2V0IGFsbCB0aGUgcXVlcnkgcGFyYW1ldGVycyBpbiBhIG1hcC5cbiAgICovXG4gIHB1YmxpYyBnZXQgcXVlcnkoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3F1ZXJ5O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhbGwgdGhlIHBvc3QgcGFyYW1ldGVycyBpbiBhIG1hcC5cbiAgICovXG4gIHB1YmxpYyBnZXQgcG9zdCgpIHtcbiAgICByZXR1cm4gdGhpcy5fcG9zdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYSBzcGVjaWZpYyBxdWVyeSBwYXJhbWV0ZXIgdmFsdWUsIGdpdmVuIHRoZSBrZXkuXG4gICAqXG4gICAqIEBwYXJhbSBrZXlcbiAgICovXG4gIHB1YmxpYyBnZXRRdWVyeVBhcmFtZXRlcihrZXk6IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX3F1ZXJ5W2tleV07XG4gIH1cblxuICAvKipcbiAgICogR2V0IGEgc3BlY2lmaWMgcXVlcnkgcGFyYW1ldGVyIHZhbHVlIGFzIGJvb2xlYW4sIGdpdmVuIHRoZSBrZXkuXG4gICAqXG4gICAqIEBwYXJhbSBrZXlcbiAgICovXG4gIHB1YmxpYyBnZXRRdWVyeVBhcmFtZXRlckFzQm9vbGVhbihrZXk6IHN0cmluZyk6IGJvb2xlYW4gfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHF1ZXJ5UGFyYW1ldGVyOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB0aGlzLmdldFF1ZXJ5UGFyYW1ldGVyKGtleSk7XG4gICAgcmV0dXJuIHF1ZXJ5UGFyYW1ldGVyID8gcXVlcnlQYXJhbWV0ZXIudG9Mb3dlckNhc2UoKSA9PT0gJ3RydWUnIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhIHNwZWNpZmljIHBvc3QgcGFyYW1ldGVyIHZhbHVlLCBnaXZlbiB0aGUga2V5LlxuICAgKlxuICAgKiBAcGFyYW0ga2V5XG4gICAqL1xuICBwdWJsaWMgZ2V0UG9zdFBhcmFtZXRlcihrZXk6IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX3Bvc3Rba2V5XTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYSBzcGVjaWZpYyBwb3N0IHBhcmFtZXRlciB2YWx1ZSBhcyBib29sZWFuLCBnaXZlbiB0aGUga2V5LlxuICAgKlxuICAgKiBAcGFyYW0ga2V5XG4gICAqL1xuICBwdWJsaWMgZ2V0UG9zdFBhcmFtZXRlckFzQm9vbGVhbihrZXk6IHN0cmluZyk6IGJvb2xlYW4gfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHBvc3RQYXJhbWV0ZXI6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHRoaXMuZ2V0UG9zdFBhcmFtZXRlcihrZXkpO1xuICAgIHJldHVybiBwb3N0UGFyYW1ldGVyID8gcG9zdFBhcmFtZXRlci50b0xvd2VyQ2FzZSgpID09PSAndHJ1ZScgOiB1bmRlZmluZWQ7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGEgc3BlY2lmaWMgcGFyYW1ldGVyIHZhbHVlLCBnaXZlbiB0aGUga2V5LlxuICAgKlxuICAgKiBAcGFyYW0ga2V5XG4gICAqL1xuICBwdWJsaWMgZ2V0UGFyYW1ldGVyKGtleTogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fcXVlcnlba2V5XSB8fCB0aGlzLl9wb3N0W2tleV07XG4gIH1cblxuICAvKipcbiAgICogR2V0IGEgc3BlY2lmaWMgcGFyYW1ldGVyIHZhbHVlIGFzIGJvb2xlYW4sIGdpdmVuIHRoZSBrZXkuXG4gICAqXG4gICAqIEBwYXJhbSBrZXlcbiAgICovXG4gIHB1YmxpYyBnZXRQYXJhbWV0ZXJBc0Jvb2xlYW4oa2V5OiBzdHJpbmcpOiBib29sZWFuIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBwYXJhbWV0ZXI6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHRoaXMuZ2V0UGFyYW1ldGVyKGtleSk7XG4gICAgcmV0dXJuIHBhcmFtZXRlciA/IHBhcmFtZXRlci50b0xvd2VyQ2FzZSgpID09PSAndHJ1ZScgOiB1bmRlZmluZWQ7XG4gIH1cblxuICAvKipcbiAgICogQ2xlYXIgR0VUIHBhcmFtZXRlcnMgZnJvbSB0aGUgc3RvcmFnZVxuICAgKlxuICAgKiBAcGFyYW0gcGFyYW1zVG9DbGVhciB0aGUgbGlzdCBvbiBrZXkgdGhhdCB5b3Ugd2FudCB0byBjbGVhciBpbiBnZXQgcGFyYW1ldGVyc1xuICAgKi9cbiAgcHVibGljIGNsZWFyUXVlcnlQYXJhbWV0ZXJzKHBhcmFtc1RvQ2xlYXI/OiBzdHJpbmdbXSkge1xuICAgIGNvbnN0IG5ld1F1ZXJ5ID0gKHBhcmFtc1RvQ2xlYXIgPyBPYmplY3Qua2V5cyh0aGlzLl9xdWVyeSkuZmlsdGVyKChrZXkpID0+IHBhcmFtc1RvQ2xlYXIuaW5kZXhPZihrZXkpID09PSAtMSkgOiBbXSlcbiAgICAgIC5yZWR1Y2U8e1trOiBzdHJpbmddOiBzdHJpbmd9PigoYWNjLCBrZXkpID0+IHtcbiAgICAgICAgYWNjW2tleV0gPSB0aGlzLl9xdWVyeVtrZXldO1xuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfSwge30pO1xuICAgIGlmICh0aGlzLmNvbmZpZy5zdG9yYWdlKSB7XG4gICAgICB0aGlzLmNvbmZpZy5zdG9yYWdlLnNldEl0ZW0oJ19xdWVyeScsIEpTT04uc3RyaW5naWZ5KG5ld1F1ZXJ5KSk7XG4gICAgfVxuICAgIHRoaXMuX3F1ZXJ5ID0gbmV3UXVlcnk7XG4gIH1cblxuICAvKipcbiAgICogQ2xlYXIgUE9TVCBwYXJhbWV0ZXJzIGZyb20gdGhlIHN0b3JhZ2VcbiAgICpcbiAgICogQHBhcmFtIHBhcmFtc1RvQ2xlYXIgdGhlIGxpc3Qgb24ga2V5IHRoYXQgeW91IHdhbnQgdG8gY2xlYW4gaW4gcG9zdCBwYXJhbWV0ZXJzXG4gICAqL1xuICBwdWJsaWMgY2xlYXJQb3N0UGFyYW1ldGVycyhwYXJhbXNUb0NsZWFyPzogc3RyaW5nW10pIHtcbiAgICBjb25zdCBuZXdQb3N0ID0gKHBhcmFtc1RvQ2xlYXIgPyBPYmplY3Qua2V5cyh0aGlzLl9wb3N0KS5maWx0ZXIoKGtleSkgPT4gcGFyYW1zVG9DbGVhci5pbmRleE9mKGtleSkgPT09IC0xKSA6IFtdKVxuICAgICAgLnJlZHVjZTx7W2s6IHN0cmluZ106IHN0cmluZ30+KChhY2MsIGtleSkgPT4ge1xuICAgICAgICBhY2Nba2V5XSA9IHRoaXMuX3Bvc3Rba2V5XTtcbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH0sIHt9KTtcbiAgICBpZiAodGhpcy5jb25maWcuc3RvcmFnZSkge1xuICAgICAgdGhpcy5jb25maWcuc3RvcmFnZS5zZXRJdGVtKCdfcG9zdCcsIEpTT04uc3RyaW5naWZ5KG5ld1Bvc3QpKTtcbiAgICB9XG4gICAgdGhpcy5fcG9zdCA9IG5ld1Bvc3Q7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGFsbCB0aGUgcGFyYW1ldGVycyBpbiBhIG1hcC5cbiAgICpcbiAgICogQHBhcmFtIHByaW9yaXR5IHRoZSBwYXJhbWV0ZXIgdG8gYmUgZ2l2ZW4gcHJpb3JpdHkgaW4gY2FzZSBzYW1lIGtleSBpcyBpbiBnZXQgYW5kIHBvc3QgcGFyYW1zLlxuICAgKi9cbiAgcHVibGljIGdldFBhcmFtcyhwcmlvcml0eTogUGFyYW1zTGlzdCA9ICdxdWVyeScpIHtcbiAgICByZXR1cm4gcHJpb3JpdHkgPT09ICdxdWVyeScgPyB7IC4uLnRoaXMuX3Bvc3QsIC4uLnRoaXMuX3F1ZXJ5IH0gOiB7IC4uLnRoaXMuX3F1ZXJ5LCAuLi50aGlzLl9wb3N0IH07XG4gIH1cblxuICAvKipcbiAgICogRmlsdGVyIFBhcmFtZXRlcnMoYm90aCBRdWVyeS9QT1NUKSBmcm9tIHRoZSBzdG9yYWdlXG4gICAqXG4gICAqIEBwYXJhbSBwYXJhbXN0b0ZpbHRlciB0aGUgbGlzdCBvbiBrZXkgdGhhdCB5b3Ugd2FudCB0byBmaWx0ZXIgZnJvbSBwYXJhbWV0ZXJzXG4gICAqIEBwYXJhbSBwcmlvcml0eSB0aGUgcHJpb3J0eSBvZiB0aGUgcGFyYW1ldGVyIHR5cGUoUE9TVC9RdWVyeSlcbiAgICovXG4gIHB1YmxpYyBnZXRGaWx0ZXJlZFBhcmFtZXRlcnMocGFyYW1zdG9GaWx0ZXI/OiBzdHJpbmdbXSwgcHJpb3JpdHk6IFBhcmFtc0xpc3QgPSAncXVlcnknKSB7XG4gICAgY29uc3QgcGFyYW1zID0gdGhpcy5nZXRQYXJhbXMocHJpb3JpdHkpO1xuICAgIGlmICghcGFyYW1zdG9GaWx0ZXIpIHtcbiAgICAgIHJldHVybiBwYXJhbXM7XG4gICAgfVxuICAgIHJldHVybiBPYmplY3Qua2V5cyhwYXJhbXMpXG4gICAgICAuZmlsdGVyKChrZXkpID0+IHBhcmFtc3RvRmlsdGVyLmluZGV4T2Yoa2V5KSA9PT0gLTEpXG4gICAgICAucmVkdWNlPHsgW2s6IHN0cmluZ106IHN0cmluZyB9PigoYWNjLCBrZXkpID0+IHtcbiAgICAgICAgYWNjW2tleV0gPSBwYXJhbXNba2V5XTtcbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH0sIHt9KTtcbiAgfVxufVxuIl19
@@ -1,8 +0,0 @@
1
- import { InjectionToken } from '@angular/core';
2
- /**
3
- * Token to be provided in case of service customization needs.
4
- *
5
- * @deprecated use REQUEST_PARAMETERS_CONFIG_TOKEN from @o3r/dynamic-content instead, will be removed in v10
6
- */
7
- export const REQUEST_PARAMETERS_CONFIG_TOKEN = new InjectionToken('RequestParametersConfig injection token', { factory: () => ({}) });
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC1wYXJhbWV0ZXJzLnRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NlcnZpY2VzL3JlcXVlc3QtcGFyYW1ldGVycy9yZXF1ZXN0LXBhcmFtZXRlcnMudG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUcvQzs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQUcsSUFBSSxjQUFjLENBQW1DLHlDQUF5QyxFQUFFLEVBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlcXVlc3RQYXJhbWV0ZXJzQ29uZmlnIH0gZnJvbSAnLi9yZXF1ZXN0LXBhcmFtZXRlcnMuY29uZmlnJztcblxuLyoqXG4gKiBUb2tlbiB0byBiZSBwcm92aWRlZCBpbiBjYXNlIG9mIHNlcnZpY2UgY3VzdG9taXphdGlvbiBuZWVkcy5cbiAqXG4gKiBAZGVwcmVjYXRlZCB1c2UgUkVRVUVTVF9QQVJBTUVURVJTX0NPTkZJR19UT0tFTiBmcm9tIEBvM3IvZHluYW1pYy1jb250ZW50IGluc3RlYWQsIHdpbGwgYmUgcmVtb3ZlZCBpbiB2MTBcbiAqL1xuZXhwb3J0IGNvbnN0IFJFUVVFU1RfUEFSQU1FVEVSU19DT05GSUdfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48UGFydGlhbDxSZXF1ZXN0UGFyYW1ldGVyc0NvbmZpZz4+KCdSZXF1ZXN0UGFyYW1ldGVyc0NvbmZpZyBpbmplY3Rpb24gdG9rZW4nLCB7ZmFjdG9yeTogKCkgPT4gKHt9KX0pO1xuIl19
@@ -1,34 +0,0 @@
1
- import { StorageStrategy } from '@o3r/routing';
2
-
3
- /**
4
- * Fixture file for requestParameters service
5
- */
6
- class RequestParametersServiceFixture {
7
- constructor() {
8
- this.query = {};
9
- this.post = {};
10
- this.config = {
11
- strategy: StorageStrategy.Rehydrate,
12
- storage: (typeof window !== 'undefined') ? window.sessionStorage : undefined,
13
- queryParamsValue: '{}',
14
- postParamsValue: '{}'
15
- };
16
- this.getQueryParameter = jasmine.createSpy('getQueryParameter');
17
- this.getQueryParameterAsBoolean = jasmine.createSpy('getQueryParameterAsBoolean');
18
- this.getPostParameter = jasmine.createSpy('getPostParameter');
19
- this.getPostParameterAsBoolean = jasmine.createSpy('getPostParameterAsBoolean');
20
- this.getParameter = jasmine.createSpy('getParameter');
21
- this.getParameterAsBoolean = jasmine.createSpy('getParameterAsBoolean');
22
- this.clearQueryParameters = jasmine.createSpy('clearQueryParameters');
23
- this.clearPostParameters = jasmine.createSpy('clearPostParameters');
24
- this.getParams = jasmine.createSpy('getParams');
25
- this.getFilteredParameters = jasmine.createSpy('filterParameters');
26
- }
27
- }
28
-
29
- /**
30
- * Generated bundle index. Do not edit.
31
- */
32
-
33
- export { RequestParametersServiceFixture };
34
- //# sourceMappingURL=o3r-routing-fixtures-jasmine.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"o3r-routing-fixtures-jasmine.mjs","sources":["../../src/fixtures/jasmine/request-parameters.fixture.jasmine.ts","../../src/fixtures/jasmine/o3r-routing-fixtures-jasmine.ts"],"sourcesContent":["import type { InterfaceOf } from '@o3r/core';\nimport type { RequestParametersConfig, RequestParametersService } from '@o3r/routing';\nimport { StorageStrategy } from '@o3r/routing';\n\n/**\n * Fixture file for requestParameters service\n */\nexport class RequestParametersServiceFixture implements InterfaceOf<RequestParametersService> {\n public query: {[key: string]: string} = {};\n public post: {[key: string]: string} = {};\n public config: RequestParametersConfig = {\n strategy: StorageStrategy.Rehydrate,\n storage: (typeof window !== 'undefined') ? window.sessionStorage : undefined,\n queryParamsValue: '{}',\n postParamsValue: '{}'\n };\n\n public getQueryParameter: jasmine.Spy;\n public getQueryParameterAsBoolean: jasmine.Spy;\n public getPostParameter: jasmine.Spy;\n public getPostParameterAsBoolean: jasmine.Spy;\n public getParameter: jasmine.Spy;\n public getParameterAsBoolean: jasmine.Spy;\n public clearQueryParameters: jasmine.Spy;\n public clearPostParameters: jasmine.Spy;\n public getFilteredParameters: jasmine.Spy;\n public getParams: jasmine.Spy;\n\n constructor() {\n this.getQueryParameter = jasmine.createSpy('getQueryParameter');\n this.getQueryParameterAsBoolean = jasmine.createSpy('getQueryParameterAsBoolean');\n this.getPostParameter = jasmine.createSpy('getPostParameter');\n this.getPostParameterAsBoolean = jasmine.createSpy('getPostParameterAsBoolean');\n this.getParameter = jasmine.createSpy('getParameter');\n this.getParameterAsBoolean = jasmine.createSpy('getParameterAsBoolean');\n this.clearQueryParameters = jasmine.createSpy('clearQueryParameters');\n this.clearPostParameters = jasmine.createSpy('clearPostParameters');\n this.getParams = jasmine.createSpy('getParams');\n this.getFilteredParameters = jasmine.createSpy('filterParameters');\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;AAIA;;AAEG;MACU,+BAA+B,CAAA;AAqB1C,IAAA,WAAA,GAAA;QApBO,IAAK,CAAA,KAAA,GAA4B,EAAE,CAAC;QACpC,IAAI,CAAA,IAAA,GAA4B,EAAE,CAAC;AACnC,QAAA,IAAA,CAAA,MAAM,GAA4B;YACvC,QAAQ,EAAE,eAAe,CAAC,SAAS;AACnC,YAAA,OAAO,EAAE,CAAC,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,cAAc,GAAG,SAAS;AAC5E,YAAA,gBAAgB,EAAE,IAAI;AACtB,YAAA,eAAe,EAAE,IAAI;SACtB,CAAC;QAcA,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;QAChE,IAAI,CAAC,0BAA0B,GAAG,OAAO,CAAC,SAAS,CAAC,4BAA4B,CAAC,CAAC;QAClF,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;QAC9D,IAAI,CAAC,yBAAyB,GAAG,OAAO,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC;QAChF,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QACtD,IAAI,CAAC,qBAAqB,GAAG,OAAO,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC;QACxE,IAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;QACtE,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;QACpE,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAChD,IAAI,CAAC,qBAAqB,GAAG,OAAO,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;KACpE;AACF;;ACxCD;;AAEG;;;;"}
@@ -1,34 +0,0 @@
1
- import { StorageStrategy } from '@o3r/routing';
2
-
3
- /**
4
- * Fixture file for requestParameters service
5
- */
6
- class RequestParametersServiceFixture {
7
- constructor() {
8
- this.query = {};
9
- this.post = {};
10
- this.config = {
11
- strategy: StorageStrategy.Rehydrate,
12
- storage: (typeof window !== 'undefined') ? window.sessionStorage : undefined,
13
- queryParamsValue: '{}',
14
- postParamsValue: '{}'
15
- };
16
- this.getQueryParameter = jest.fn();
17
- this.getQueryParameterAsBoolean = jest.fn();
18
- this.getPostParameter = jest.fn();
19
- this.getPostParameterAsBoolean = jest.fn();
20
- this.getParameter = jest.fn();
21
- this.getParameterAsBoolean = jest.fn();
22
- this.clearQueryParameters = jest.fn();
23
- this.clearPostParameters = jest.fn();
24
- this.getParams = jest.fn();
25
- this.getFilteredParameters = jest.fn();
26
- }
27
- }
28
-
29
- /**
30
- * Generated bundle index. Do not edit.
31
- */
32
-
33
- export { RequestParametersServiceFixture };
34
- //# sourceMappingURL=o3r-routing-fixtures-jest.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"o3r-routing-fixtures-jest.mjs","sources":["../../src/fixtures/jest/request-parameters.fixture.jest.ts","../../src/fixtures/jest/o3r-routing-fixtures-jest.ts"],"sourcesContent":["import type { InterfaceOf } from '@o3r/core';\nimport type { RequestParametersConfig, RequestParametersService } from '@o3r/routing';\nimport { StorageStrategy } from '@o3r/routing';\n\n\n/**\n * Fixture file for requestParameters service\n */\nexport class RequestParametersServiceFixture implements InterfaceOf<RequestParametersService> {\n public query: {[key: string]: string} = {};\n public post: {[key: string]: string} = {};\n public config: RequestParametersConfig = {\n strategy: StorageStrategy.Rehydrate,\n storage: (typeof window !== 'undefined') ? window.sessionStorage : undefined,\n queryParamsValue: '{}',\n postParamsValue: '{}'\n };\n\n public getQueryParameter: jest.Mock<any, any>;\n public getQueryParameterAsBoolean: jest.Mock<any, any>;\n public getPostParameter: jest.Mock<any, any>;\n public getPostParameterAsBoolean: jest.Mock<any, any>;\n public getParameter: jest.Mock<any, any>;\n public getParameterAsBoolean: jest.Mock<any, any>;\n public clearQueryParameters: jest.Mock<any, any>;\n public clearPostParameters: jest.Mock<any, any>;\n public getFilteredParameters: jest.Mock<any, any>;\n public getParams: jest.Mock<any, any>;\n\n constructor() {\n this.getQueryParameter = jest.fn();\n this.getQueryParameterAsBoolean = jest.fn();\n this.getPostParameter = jest.fn();\n this.getPostParameterAsBoolean = jest.fn();\n this.getParameter = jest.fn();\n this.getParameterAsBoolean = jest.fn();\n this.clearQueryParameters = jest.fn();\n this.clearPostParameters = jest.fn();\n this.getParams = jest.fn();\n this.getFilteredParameters = jest.fn();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;AAKA;;AAEG;MACU,+BAA+B,CAAA;AAqB1C,IAAA,WAAA,GAAA;QApBO,IAAK,CAAA,KAAA,GAA4B,EAAE,CAAC;QACpC,IAAI,CAAA,IAAA,GAA4B,EAAE,CAAC;AACnC,QAAA,IAAA,CAAA,MAAM,GAA4B;YACvC,QAAQ,EAAE,eAAe,CAAC,SAAS;AACnC,YAAA,OAAO,EAAE,CAAC,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,cAAc,GAAG,SAAS;AAC5E,YAAA,gBAAgB,EAAE,IAAI;AACtB,YAAA,eAAe,EAAE,IAAI;SACtB,CAAC;AAcA,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AACnC,QAAA,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AAC5C,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AAClC,QAAA,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AAC3C,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AAC9B,QAAA,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AACvC,QAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AACtC,QAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AACrC,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AAC3B,QAAA,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;KACxC;AACF;;ACzCD;;AAEG;;;;"}
@@ -1,2 +0,0 @@
1
- export * from './request-parameters.fixture.jasmine';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fixtures/jasmine/index.ts"],"names":[],"mappings":"AAAA,cAAc,sCAAsC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"o3r-routing-fixtures-jasmine.d.ts","sourceRoot":"","sources":["../../../src/fixtures/jasmine/o3r-routing-fixtures-jasmine.ts"],"names":[],"mappings":"AAAA;;GAEG;;AAEH,cAAc,SAAS,CAAC"}
@@ -1,27 +0,0 @@
1
- /// <reference types="jasmine" />
2
- import type { InterfaceOf } from '@o3r/core';
3
- import type { RequestParametersConfig, RequestParametersService } from '@o3r/routing';
4
- /**
5
- * Fixture file for requestParameters service
6
- */
7
- export declare class RequestParametersServiceFixture implements InterfaceOf<RequestParametersService> {
8
- query: {
9
- [key: string]: string;
10
- };
11
- post: {
12
- [key: string]: string;
13
- };
14
- config: RequestParametersConfig;
15
- getQueryParameter: jasmine.Spy;
16
- getQueryParameterAsBoolean: jasmine.Spy;
17
- getPostParameter: jasmine.Spy;
18
- getPostParameterAsBoolean: jasmine.Spy;
19
- getParameter: jasmine.Spy;
20
- getParameterAsBoolean: jasmine.Spy;
21
- clearQueryParameters: jasmine.Spy;
22
- clearPostParameters: jasmine.Spy;
23
- getFilteredParameters: jasmine.Spy;
24
- getParams: jasmine.Spy;
25
- constructor();
26
- }
27
- //# sourceMappingURL=request-parameters.fixture.jasmine.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"request-parameters.fixture.jasmine.d.ts","sourceRoot":"","sources":["../../../src/fixtures/jasmine/request-parameters.fixture.jasmine.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAGtF;;GAEG;AACH,qBAAa,+BAAgC,YAAW,WAAW,CAAC,wBAAwB,CAAC;IACpF,KAAK,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC,CAAM;IACpC,IAAI,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC,CAAM;IACnC,MAAM,EAAE,uBAAuB,CAKpC;IAEK,iBAAiB,EAAE,OAAO,CAAC,GAAG,CAAC;IAC/B,0BAA0B,EAAE,OAAO,CAAC,GAAG,CAAC;IACxC,gBAAgB,EAAE,OAAO,CAAC,GAAG,CAAC;IAC9B,yBAAyB,EAAE,OAAO,CAAC,GAAG,CAAC;IACvC,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC;IAC1B,qBAAqB,EAAE,OAAO,CAAC,GAAG,CAAC;IACnC,oBAAoB,EAAE,OAAO,CAAC,GAAG,CAAC;IAClC,mBAAmB,EAAE,OAAO,CAAC,GAAG,CAAC;IACjC,qBAAqB,EAAE,OAAO,CAAC,GAAG,CAAC;IACnC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC;;CAc/B"}
@@ -1,2 +0,0 @@
1
- export * from './request-parameters.fixture.jest';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fixtures/jest/index.ts"],"names":[],"mappings":"AAAA,cAAc,mCAAmC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"o3r-routing-fixtures-jest.d.ts","sourceRoot":"","sources":["../../../src/fixtures/jest/o3r-routing-fixtures-jest.ts"],"names":[],"mappings":"AAAA;;GAEG;;AAEH,cAAc,SAAS,CAAC"}
@@ -1,27 +0,0 @@
1
- /// <reference types="jest" />
2
- import type { InterfaceOf } from '@o3r/core';
3
- import type { RequestParametersConfig, RequestParametersService } from '@o3r/routing';
4
- /**
5
- * Fixture file for requestParameters service
6
- */
7
- export declare class RequestParametersServiceFixture implements InterfaceOf<RequestParametersService> {
8
- query: {
9
- [key: string]: string;
10
- };
11
- post: {
12
- [key: string]: string;
13
- };
14
- config: RequestParametersConfig;
15
- getQueryParameter: jest.Mock<any, any>;
16
- getQueryParameterAsBoolean: jest.Mock<any, any>;
17
- getPostParameter: jest.Mock<any, any>;
18
- getPostParameterAsBoolean: jest.Mock<any, any>;
19
- getParameter: jest.Mock<any, any>;
20
- getParameterAsBoolean: jest.Mock<any, any>;
21
- clearQueryParameters: jest.Mock<any, any>;
22
- clearPostParameters: jest.Mock<any, any>;
23
- getFilteredParameters: jest.Mock<any, any>;
24
- getParams: jest.Mock<any, any>;
25
- constructor();
26
- }
27
- //# sourceMappingURL=request-parameters.fixture.jest.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"request-parameters.fixture.jest.d.ts","sourceRoot":"","sources":["../../../src/fixtures/jest/request-parameters.fixture.jest.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAItF;;GAEG;AACH,qBAAa,+BAAgC,YAAW,WAAW,CAAC,wBAAwB,CAAC;IACpF,KAAK,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC,CAAM;IACpC,IAAI,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC,CAAM;IACnC,MAAM,EAAE,uBAAuB,CAKpC;IAEK,iBAAiB,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACvC,0BAA0B,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAChD,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACtC,yBAAyB,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC/C,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAClC,qBAAqB,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC3C,oBAAoB,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC1C,mBAAmB,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACzC,qBAAqB,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC3C,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;;CAcvC"}
@@ -1,3 +0,0 @@
1
- {
2
- "type": "commonjs"
3
- }
@@ -1,2 +0,0 @@
1
- export * from './request-parameters/index';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC"}
@@ -1,4 +0,0 @@
1
- export * from './request-parameters.config';
2
- export * from './request-parameters.service';
3
- export * from './request-parameters.module';
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/request-parameters/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC"}
@@ -1,43 +0,0 @@
1
- /**
2
- * Strategies available to read / write data in the RequestParameters service.
3
- * Rehydrate: if the storage already have data, those will be used by the service, ignoring new data. Otherwise set the storage
4
- * Merge: storage data will be merged with the ones provided. (provided data has priority)
5
- * Replace: storage data will be completely replaced by the ones provided
6
- * ReplaceIfNotEmpty: If no parameters are provided, use the content from storage. Otherwise use the ones provided and update the storage with them.
7
- *
8
- * @deprecated use StorageStrategy from @o3r/dynamic-content instead, will be removed in v10
9
- */
10
- export declare enum StorageStrategy {
11
- Rehydrate = 0,
12
- Merge = 1,
13
- Replace = 2,
14
- ReplaceIfNotEmpty = 3
15
- }
16
- /**
17
- * Configuration used by a user to feed the request parameters service.
18
- *
19
- * @deprecated use RequestParametersConfig from @o3r/dynamic-content instead, will be removed in v10
20
- */
21
- export interface RequestParametersConfig {
22
- /**
23
- * Strategy used by the RequestParameters Service. See StorageStrategy for more info
24
- */
25
- strategy: StorageStrategy;
26
- /**
27
- * Storage used by the RequestParameters service
28
- */
29
- storage?: Storage;
30
- /**
31
- * Value of the DOM element containing your query parameters (e.g. `document.body.dataset.query`)
32
- */
33
- queryParamsValue: string;
34
- /**
35
- * Value of the DOM element containing your post parameters (e.g. `document.body.dataset.post`)
36
- */
37
- postParamsValue: string;
38
- }
39
- /**
40
- * @deprecated use defaultRequestParametersConfig from @o3r/dynamic-content instead, will be removed in v10
41
- */
42
- export declare const defaultRequestParametersConfig: RequestParametersConfig;
43
- //# sourceMappingURL=request-parameters.config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"request-parameters.config.d.ts","sourceRoot":"","sources":["../../../src/services/request-parameters/request-parameters.config.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,oBAAY,eAAe;IAEzB,SAAS,IAAI;IAEb,KAAK,IAAI;IAET,OAAO,IAAI;IAEX,iBAAiB,IAAI;CACtB;AAED;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,QAAQ,EAAE,eAAe,CAAC;IAC1B;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,gBAAgB,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,eAAO,MAAM,8BAA8B,EAAE,uBAK5C,CAAC"}
@@ -1,21 +0,0 @@
1
- import { ModuleWithProviders } from '@angular/core';
2
- import { RequestParametersConfig } from './request-parameters.config';
3
- import * as i0 from "@angular/core";
4
- /**
5
- * Empty configuration factory, used when config is not provided. It needs a separate function for AOT.
6
- *
7
- * @deprecated use defaultConfigFactory from @o3r/dynamic-content instead, will be removed in v10
8
- */
9
- export declare function defaultConfigFactory(): {};
10
- /**
11
- * RequestParametersService Module
12
- *
13
- * @deprecated use RequestParametersModule from @o3r/dynamic-content instead, will be removed in v10
14
- */
15
- export declare class RequestParametersModule {
16
- static forRoot(config?: () => Partial<RequestParametersConfig>): ModuleWithProviders<RequestParametersModule>;
17
- static ɵfac: i0.ɵɵFactoryDeclaration<RequestParametersModule, never>;
18
- static ɵmod: i0.ɵɵNgModuleDeclaration<RequestParametersModule, never, never, never>;
19
- static ɵinj: i0.ɵɵInjectorDeclaration<RequestParametersModule>;
20
- }
21
- //# sourceMappingURL=request-parameters.module.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"request-parameters.module.d.ts","sourceRoot":"","sources":["../../../src/services/request-parameters/request-parameters.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAW,MAAM,eAAe,CAAC;AAK5D,OAAO,EAAC,uBAAuB,EAAC,MAAM,6BAA6B,CAAC;;AAEpE;;;;GAIG;AACH,wBAAgB,oBAAoB,OAEnC;AACD;;;;GAIG;AACH,qBAUa,uBAAuB;WACpB,OAAO,CAAC,MAAM,GAAE,MAAM,OAAO,CAAC,uBAAuB,CAAwB,GAAG,mBAAmB,CAAC,uBAAuB,CAAC;yCAD/H,uBAAuB;0CAAvB,uBAAuB;0CAAvB,uBAAuB;CAanC"}
@@ -1,121 +0,0 @@
1
- import { RequestParametersConfig } from './request-parameters.config';
2
- import * as i0 from "@angular/core";
3
- /**
4
- * @deprecated use ParamsList from @o3r/dynamic-content instead, will be removed in v10
5
- */
6
- export type ParamsList = 'query' | 'post';
7
- /**
8
- * @deprecated use ParamsType from @o3r/dynamic-content instead, will be removed in v10
9
- */
10
- export type ParamsType = {
11
- [k in ParamsList]: {
12
- [key: string]: string;
13
- };
14
- };
15
- /**
16
- * Partial configuration for RequestParameters Service
17
- *
18
- * @deprecated use PartialRequestParametersConfig from @o3r/dynamic-content instead, will be removed in v10
19
- */
20
- export interface PartialRequestParametersConfig extends Partial<RequestParametersConfig> {
21
- }
22
- /**
23
- * Service used to store the request parameters of your requests so that subsequent calls or refresh the page will preserve
24
- * them.
25
- *
26
- * @deprecated use RequestParametersService from @o3r/dynamic-content instead, will be removed in v10
27
- */
28
- export declare class RequestParametersService implements ParamsType {
29
- private _query;
30
- private _post;
31
- private config;
32
- constructor(config: PartialRequestParametersConfig);
33
- /**
34
- * Depending on the strategy, set the internal values for the parameters.
35
- * See StorageStrategy for more info.
36
- *
37
- * @param key
38
- * @param value
39
- */
40
- private setParameters;
41
- /**
42
- * Get all the query parameters in a map.
43
- */
44
- get query(): {
45
- [key: string]: string;
46
- };
47
- /**
48
- * Get all the post parameters in a map.
49
- */
50
- get post(): {
51
- [key: string]: string;
52
- };
53
- /**
54
- * Get a specific query parameter value, given the key.
55
- *
56
- * @param key
57
- */
58
- getQueryParameter(key: string): string | undefined;
59
- /**
60
- * Get a specific query parameter value as boolean, given the key.
61
- *
62
- * @param key
63
- */
64
- getQueryParameterAsBoolean(key: string): boolean | undefined;
65
- /**
66
- * Get a specific post parameter value, given the key.
67
- *
68
- * @param key
69
- */
70
- getPostParameter(key: string): string | undefined;
71
- /**
72
- * Get a specific post parameter value as boolean, given the key.
73
- *
74
- * @param key
75
- */
76
- getPostParameterAsBoolean(key: string): boolean | undefined;
77
- /**
78
- * Get a specific parameter value, given the key.
79
- *
80
- * @param key
81
- */
82
- getParameter(key: string): string | undefined;
83
- /**
84
- * Get a specific parameter value as boolean, given the key.
85
- *
86
- * @param key
87
- */
88
- getParameterAsBoolean(key: string): boolean | undefined;
89
- /**
90
- * Clear GET parameters from the storage
91
- *
92
- * @param paramsToClear the list on key that you want to clear in get parameters
93
- */
94
- clearQueryParameters(paramsToClear?: string[]): void;
95
- /**
96
- * Clear POST parameters from the storage
97
- *
98
- * @param paramsToClear the list on key that you want to clean in post parameters
99
- */
100
- clearPostParameters(paramsToClear?: string[]): void;
101
- /**
102
- * Get all the parameters in a map.
103
- *
104
- * @param priority the parameter to be given priority in case same key is in get and post params.
105
- */
106
- getParams(priority?: ParamsList): {
107
- [x: string]: string;
108
- };
109
- /**
110
- * Filter Parameters(both Query/POST) from the storage
111
- *
112
- * @param paramstoFilter the list on key that you want to filter from parameters
113
- * @param priority the priorty of the parameter type(POST/Query)
114
- */
115
- getFilteredParameters(paramstoFilter?: string[], priority?: ParamsList): {
116
- [x: string]: string;
117
- };
118
- static ɵfac: i0.ɵɵFactoryDeclaration<RequestParametersService, never>;
119
- static ɵprov: i0.ɵɵInjectableDeclaration<RequestParametersService>;
120
- }
121
- //# sourceMappingURL=request-parameters.service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"request-parameters.service.d.ts","sourceRoot":"","sources":["../../../src/services/request-parameters/request-parameters.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAiC,uBAAuB,EAAkB,MAAM,6BAA6B,CAAC;;AAIrH;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,MAAM,CAAC;AAE1C;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;KAAE,CAAC,IAAI,UAAU,GAAG;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC;CAAC,CAAC;AAEtE;;;;GAIG;AACH,MAAM,WAAW,8BAA+B,SAAQ,OAAO,CAAC,uBAAuB,CAAC;CAAG;AAE3F;;;;;GAKG;AACH,qBACa,wBAAyB,YAAW,UAAU;IACzD,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,KAAK,CAA+B;IAE5C,OAAO,CAAC,MAAM,CAA0B;gBAEa,MAAM,EAAE,8BAA8B;IAU3F;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;IAuCrB;;OAEG;IACH,IAAW,KAAK;;MAEf;IAED;;OAEG;IACH,IAAW,IAAI;;MAEd;IAED;;;;OAIG;IACI,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIzD;;;;OAIG;IACI,0BAA0B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAKnE;;;;OAIG;IACI,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIxD;;;;OAIG;IACI,yBAAyB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAKlE;;;;OAIG;IACI,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIpD;;;;OAIG;IACI,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAK9D;;;;OAIG;IACI,oBAAoB,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE;IAYpD;;;;OAIG;IACI,mBAAmB,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE;IAYnD;;;;OAIG;IACI,SAAS,CAAC,QAAQ,GAAE,UAAoB;;;IAI/C;;;;;OAKG;IACI,qBAAqB,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,EAAE,QAAQ,GAAE,UAAoB;;;yCAtL3E,wBAAwB;6CAAxB,wBAAwB;CAkMpC"}