@acorex/core 7.9.1 → 7.10.1

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.
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNvcmUtc3RvcmFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zdG9yYWdlL3NyYy9hY29yZXgtY29yZS1zdG9yYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
@@ -0,0 +1,195 @@
1
+ import { DOCUMENT, isPlatformBrowser } from '@angular/common';
2
+ import { Inject, Injectable, PLATFORM_ID } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ export class AXCookieStorageService {
5
+ constructor(document,
6
+ // Get the `PLATFORM_ID` so we can check if we're in a browser.
7
+ platformId) {
8
+ this.document = document;
9
+ this.platformId = platformId;
10
+ this.documentIsAccessible = isPlatformBrowser(this.platformId);
11
+ }
12
+ /**
13
+ * Get cookie Regular Expression
14
+ *
15
+ * @param name Cookie name
16
+ * @returns property RegExp
17
+ *
18
+ */
19
+ static getCookieRegExp(name) {
20
+ const escapedName = name.replace(/([[\]{}()|=;+?,.*^$])/gi, '\\$1');
21
+ return new RegExp('(?:^' + escapedName + '|;\\s*' + escapedName + ')=(.*?)(?:;|$)', 'g');
22
+ }
23
+ /**
24
+ * Gets the unencoded version of an encoded component of a Uniform Resource Identifier (URI).
25
+ *
26
+ * @param encodedURIComponent A value representing an encoded URI component.
27
+ *
28
+ * @returns The unencoded version of an encoded component of a Uniform Resource Identifier (URI).
29
+ *
30
+ */
31
+ static safeDecodeURIComponent(encodedURIComponent) {
32
+ try {
33
+ return decodeURIComponent(encodedURIComponent);
34
+ }
35
+ catch {
36
+ // probably it is not uri encoded. return as is
37
+ return encodedURIComponent;
38
+ }
39
+ }
40
+ /**
41
+ * Return `true` if {@link Document} is accessible, otherwise return `false`
42
+ *
43
+ * @param name Cookie name
44
+ * @returns boolean - whether cookie with specified name exists
45
+ *
46
+ */
47
+ check(name) {
48
+ if (!this.documentIsAccessible) {
49
+ return false;
50
+ }
51
+ name = encodeURIComponent(name);
52
+ const regExp = AXCookieStorageService.getCookieRegExp(name);
53
+ return regExp.test(this.document.cookie);
54
+ }
55
+ /**
56
+ * Get cookies by name
57
+ *
58
+ * @param name Cookie name
59
+ * @returns property value
60
+ *
61
+ */
62
+ get(name) {
63
+ if (this.documentIsAccessible && this.check(name)) {
64
+ name = encodeURIComponent(name);
65
+ const regExp = AXCookieStorageService.getCookieRegExp(name);
66
+ const result = regExp.exec(this.document.cookie);
67
+ return result[1] ? AXCookieStorageService.safeDecodeURIComponent(result[1]) : '';
68
+ }
69
+ else {
70
+ return '';
71
+ }
72
+ }
73
+ /**
74
+ * Get all cookies in JSON format
75
+ *
76
+ * @returns all the cookies in json
77
+ *
78
+ */
79
+ getAll() {
80
+ if (!this.documentIsAccessible) {
81
+ return {};
82
+ }
83
+ const cookies = {};
84
+ const document = this.document;
85
+ if (document.cookie && document.cookie !== '') {
86
+ document.cookie.split(';').forEach((currentCookie) => {
87
+ const [cookieName, cookieValue] = currentCookie.split('=');
88
+ cookies[AXCookieStorageService.safeDecodeURIComponent(cookieName.replace(/^ /, ''))] =
89
+ AXCookieStorageService.safeDecodeURIComponent(cookieValue);
90
+ });
91
+ }
92
+ return cookies;
93
+ }
94
+ set(name, value, expiresOrOptions, path, domain, secure, sameSite) {
95
+ if (!this.documentIsAccessible) {
96
+ return;
97
+ }
98
+ if (typeof expiresOrOptions === 'number' ||
99
+ expiresOrOptions instanceof Date ||
100
+ path ||
101
+ domain ||
102
+ secure ||
103
+ sameSite) {
104
+ const optionsBody = {
105
+ expires: expiresOrOptions,
106
+ path,
107
+ domain,
108
+ secure,
109
+ sameSite: sameSite ? sameSite : 'Lax',
110
+ };
111
+ this.set(name, value, optionsBody);
112
+ return;
113
+ }
114
+ let cookieString = encodeURIComponent(name) + '=' + encodeURIComponent(value) + ';';
115
+ const options = expiresOrOptions ? expiresOrOptions : {};
116
+ if (options.expires) {
117
+ if (typeof options.expires === 'number') {
118
+ const dateExpires = new Date(new Date().getTime() + options.expires * 1000 * 60 * 60 * 24);
119
+ cookieString += 'expires=' + dateExpires.toUTCString() + ';';
120
+ }
121
+ else {
122
+ cookieString += 'expires=' + options.expires.toUTCString() + ';';
123
+ }
124
+ }
125
+ if (options.path) {
126
+ cookieString += 'path=' + options.path + ';';
127
+ }
128
+ if (options.domain) {
129
+ cookieString += 'domain=' + options.domain + ';';
130
+ }
131
+ if (options.secure === false && options.sameSite === 'None') {
132
+ options.secure = true;
133
+ console.warn(`[ngx-cookie-service] Cookie ${name} was forced with secure flag because sameSite=None.` +
134
+ `More details : https://github.com/stevermeister/ngx-cookie-service/issues/86#issuecomment-597720130`);
135
+ }
136
+ if (options.secure) {
137
+ cookieString += 'secure;';
138
+ }
139
+ if (!options.sameSite) {
140
+ options.sameSite = 'Lax';
141
+ }
142
+ cookieString += 'sameSite=' + options.sameSite + ';';
143
+ this.document.cookie = cookieString;
144
+ }
145
+ /**
146
+ * Delete cookie by name
147
+ *
148
+ * @param name Cookie name
149
+ * @param path Cookie path
150
+ * @param domain Cookie domain
151
+ * @param secure Cookie secure flag
152
+ * @param sameSite Cookie sameSite flag - https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite
153
+ *
154
+ */
155
+ delete(name, path, domain, secure, sameSite = 'Lax') {
156
+ if (!this.documentIsAccessible) {
157
+ return;
158
+ }
159
+ const expiresDate = new Date('Thu, 01 Jan 1970 00:00:01 GMT');
160
+ this.set(name, '', { expires: expiresDate, path, domain, secure, sameSite });
161
+ }
162
+ /**
163
+ * Delete all cookies
164
+ *
165
+ * @param path Cookie path
166
+ * @param domain Cookie domain
167
+ * @param secure Is the Cookie secure
168
+ * @param sameSite Is the cookie same site
169
+ *
170
+ */
171
+ deleteAll(path, domain, secure, sameSite = 'Lax') {
172
+ if (!this.documentIsAccessible) {
173
+ return;
174
+ }
175
+ const cookies = this.getAll();
176
+ for (const cookieName in cookies) {
177
+ // eslint-disable-next-line no-prototype-builtins
178
+ if (cookies.hasOwnProperty(cookieName)) {
179
+ this.delete(cookieName, path, domain, secure, sameSite);
180
+ }
181
+ }
182
+ }
183
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: AXCookieStorageService, deps: [{ token: DOCUMENT }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable }); }
184
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: AXCookieStorageService }); }
185
+ }
186
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: AXCookieStorageService, decorators: [{
187
+ type: Injectable
188
+ }], ctorParameters: function () { return [{ type: Document, decorators: [{
189
+ type: Inject,
190
+ args: [DOCUMENT]
191
+ }] }, { type: undefined, decorators: [{
192
+ type: Inject,
193
+ args: [PLATFORM_ID]
194
+ }] }]; } });
195
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29va2llLXN0b3JhZ2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zdG9yYWdlL3NyYy9jb29raWUtc3RvcmFnZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSWhFLE1BQU0sT0FBTyxzQkFBc0I7SUFHakMsWUFDNEIsUUFBa0I7SUFDNUMsK0RBQStEO0lBQ2xDLFVBQVU7UUFGYixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBRWYsZUFBVSxHQUFWLFVBQVUsQ0FBQTtRQUV2QyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSyxNQUFNLENBQUMsZUFBZSxDQUFDLElBQVk7UUFDekMsTUFBTSxXQUFXLEdBQVcsSUFBSSxDQUFDLE9BQU8sQ0FBQyx5QkFBeUIsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUU1RSxPQUFPLElBQUksTUFBTSxDQUFDLE1BQU0sR0FBRyxXQUFXLEdBQUcsUUFBUSxHQUFHLFdBQVcsR0FBRyxnQkFBZ0IsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUMzRixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNLLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxtQkFBMkI7UUFDL0QsSUFBSTtZQUNGLE9BQU8sa0JBQWtCLENBQUMsbUJBQW1CLENBQUMsQ0FBQztTQUNoRDtRQUFDLE1BQU07WUFDTiwrQ0FBK0M7WUFDL0MsT0FBTyxtQkFBbUIsQ0FBQztTQUM1QjtJQUNILENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxLQUFLLENBQUMsSUFBWTtRQUNoQixJQUFJ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LFFBQVEsYUFFUixXQUFXO2tIQU5WLHNCQUFzQjs7MkZBQXRCLHNCQUFzQjtrQkFEbEMsVUFBVTs7MEJBS04sTUFBTTsyQkFBQyxRQUFROzswQkFFZixNQUFNOzJCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCwgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBQTEFURk9STV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhDb29raWVPcHRpb25zLCBBWFNhbWVTaXRlIH0gZnJvbSAnLi9zdG9yYWdlLmludGVyZmFjZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBWENvb2tpZVN0b3JhZ2VTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudElzQWNjZXNzaWJsZTogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudCxcbiAgICAvLyBHZXQgdGhlIGBQTEFURk9STV9JRGAgc28gd2UgY2FuIGNoZWNrIGlmIHdlJ3JlIGluIGEgYnJvd3Nlci5cbiAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQsXG4gICkge1xuICAgIHRoaXMuZG9jdW1lbnRJc0FjY2Vzc2libGUgPSBpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBjb29raWUgUmVndWxhciBFeHByZXNzaW9uXG4gICAqXG4gICAqIEBwYXJhbSBuYW1lIENvb2tpZSBuYW1lXG4gICAqIEByZXR1cm5zIHByb3BlcnR5IFJlZ0V4cFxuICAgKlxuICAgKi9cbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0Q29va2llUmVnRXhwKG5hbWU6IHN0cmluZyk6IFJlZ0V4cCB7XG4gICAgY29uc3QgZXNjYXBlZE5hbWU6IHN0cmluZyA9IG5hbWUucmVwbGFjZSgvKFtbXFxde30oKXw9Oys/LC4qXiRdKS9naSwgJ1xcXFwkMScpO1xuXG4gICAgcmV0dXJuIG5ldyBSZWdFeHAoJyg/Ol4nICsgZXNjYXBlZE5hbWUgKyAnfDtcXFxccyonICsgZXNjYXBlZE5hbWUgKyAnKT0oLio/KSg/Ojt8JCknLCAnZycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHVuZW5jb2RlZCB2ZXJzaW9uIG9mIGFuIGVuY29kZWQgY29tcG9uZW50IG9mIGEgVW5pZm9ybSBSZXNvdXJjZSBJZGVudGlmaWVyIChVUkkpLlxuICAgKlxuICAgKiBAcGFyYW0gZW5jb2RlZFVSSUNvbXBvbmVudCBBIHZhbHVlIHJlcHJlc2VudGluZyBhbiBlbmNvZGVkIFVSSSBjb21wb25lbnQuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSB1bmVuY29kZWQgdmVyc2lvbiBvZiBhbiBlbmNvZGVkIGNvbXBvbmVudCBvZiBhIFVuaWZvcm0gUmVzb3VyY2UgSWRlbnRpZmllciAoVVJJKS5cbiAgICpcbiAgICovXG4gIHByaXZhdGUgc3RhdGljIHNhZmVEZWNvZGVVUklDb21wb25lbnQoZW5jb2RlZFVSSUNvbXBvbmVudDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudChlbmNvZGVkVVJJQ29tcG9uZW50KTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIC8vIHByb2JhYmx5IGl0IGlzIG5vdCB1cmkgZW5jb2RlZC4gcmV0dXJuIGFzIGlzXG4gICAgICByZXR1cm4gZW5jb2RlZFVSSUNvbXBvbmVudDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGB0cnVlYCBpZiB7QGxpbmsgRG9jdW1lbnR9IGlzIGFjY2Vzc2libGUsIG90aGVyd2lzZSByZXR1cm4gYGZhbHNlYFxuICAgKlxuICAgKiBAcGFyYW0gbmFtZSBDb29raWUgbmFtZVxuICAgKiBAcmV0dXJucyBib29sZWFuIC0gd2hldGhlciBjb29raWUgd2l0aCBzcGVjaWZpZWQgbmFtZSBleGlzdHNcbiAgICpcbiAgICovXG4gIGNoZWNrKG5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGlmICghdGhpcy5kb2N1bWVudElzQWNjZXNzaWJsZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBuYW1lID0gZW5jb2RlVVJJQ29tcG9uZW50KG5hbWUpO1xuICAgIGNvbnN0IHJlZ0V4cDogUmVnRXhwID0gQVhDb29raWVTdG9yYWdlU2VydmljZS5nZXRDb29raWVSZWdFeHAobmFtZSk7XG4gICAgcmV0dXJuIHJlZ0V4cC50ZXN0KHRoaXMuZG9jdW1lbnQuY29va2llKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgY29va2llcyBieSBuYW1lXG4gICAqXG4gICAqIEBwYXJhbSBuYW1lIENvb2tpZSBuYW1lXG4gICAqIEByZXR1cm5zIHByb3BlcnR5IHZhbHVlXG4gICAqXG4gICAqL1xuICBnZXQobmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5kb2N1bWVudElzQWNjZXNzaWJsZSAmJiB0aGlzLmNoZWNrKG5hbWUpKSB7XG4gICAgICBuYW1lID0gZW5jb2RlVVJJQ29tcG9uZW50KG5hbWUpO1xuXG4gICAgICBjb25zdCByZWdFeHA6IFJlZ0V4cCA9IEFYQ29va2llU3RvcmFnZVNlcnZpY2UuZ2V0Q29va2llUmVnRXhwKG5hbWUpO1xuICAgICAgY29uc3QgcmVzdWx0OiBSZWdFeHBFeGVjQXJyYXkgPSByZWdFeHAuZXhlYyh0aGlzLmRvY3VtZW50LmNvb2tpZSk7XG5cbiAgICAgIHJldHVybiByZXN1bHRbMV0gPyBBWENvb2tpZVN0b3JhZ2VTZXJ2aWNlLnNhZmVEZWNvZGVVUklDb21wb25lbnQocmVzdWx0WzFdKSA6ICcnO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhbGwgY29va2llcyBpbiBKU09OIGZvcm1hdFxuICAgKlxuICAgKiBAcmV0dXJucyBhbGwgdGhlIGNvb2tpZXMgaW4ganNvblxuICAgKlxuICAgKi9cbiAgZ2V0QWxsKCk6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0ge1xuICAgIGlmICghdGhpcy5kb2N1bWVudElzQWNjZXNzaWJsZSkge1xuICAgICAgcmV0dXJuIHt9O1xuICAgIH1cblxuICAgIGNvbnN0IGNvb2tpZXM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcbiAgICBjb25zdCBkb2N1bWVudDogYW55ID0gdGhpcy5kb2N1bWVudDtcblxuICAgIGlmIChkb2N1bWVudC5jb29raWUgJiYgZG9jdW1lbnQuY29va2llICE9PSAnJykge1xuICAgICAgZG9jdW1lbnQuY29va2llLnNwbGl0KCc7JykuZm9yRWFjaCgoY3VycmVudENvb2tpZSkgPT4ge1xuICAgICAgICBjb25zdCBbY29va2llTmFtZSwgY29va2llVmFsdWVdID0gY3VycmVudENvb2tpZS5zcGxpdCgnPScpO1xuICAgICAgICBjb29raWVzW0FYQ29va2llU3RvcmFnZVNlcnZpY2Uuc2FmZURlY29kZVVSSUNvbXBvbmVudChjb29raWVOYW1lLnJlcGxhY2UoL14gLywgJycpKV0gPVxuICAgICAgICAgIEFYQ29va2llU3RvcmFnZVNlcnZpY2Uuc2FmZURlY29kZVVSSUNvbXBvbmVudChjb29raWVWYWx1ZSk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gY29va2llcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgY29va2llIGJhc2VkIG9uIHByb3ZpZGVkIGluZm9ybWF0aW9uXG4gICAqXG4gICAqIEBwYXJhbSBuYW1lICAgICBDb29raWUgbmFtZVxuICAgKiBAcGFyYW0gdmFsdWUgICAgQ29va2llIHZhbHVlXG4gICAqIEBwYXJhbSBleHBpcmVzICBOdW1iZXIgb2YgZGF5cyB1bnRpbCB0aGUgY29va2llcyBleHBpcmVzIG9yIGFuIGFjdHVhbCBgRGF0ZWBcbiAgICogQHBhcmFtIHBhdGggICAgIENvb2tpZSBwYXRoXG4gICAqIEBwYXJhbSBkb21haW4gICBDb29raWUgZG9tYWluXG4gICAqIEBwYXJhbSBzZWN1cmUgICBTZWN1cmUgZmxhZ1xuICAgKiBAcGFyYW0gc2FtZVNpdGUgT1dBU1Agc2FtZXNpdGUgdG9rZW4gYExheGAsIGBOb25lYCwgb3IgYFN0cmljdGAuIERlZmF1bHRzIHRvIGBMYXhgXG4gICAqXG4gICAqL1xuICBzZXQoXG4gICAgbmFtZTogc3RyaW5nLFxuICAgIHZhbHVlOiBzdHJpbmcsXG4gICAgZXhwaXJlcz86IEFYQ29va2llT3B0aW9uc1snZXhwaXJlcyddLFxuICAgIHBhdGg/OiBBWENvb2tpZU9wdGlvbnNbJ3BhdGgnXSxcbiAgICBkb21haW4/OiBBWENvb2tpZU9wdGlvbnNbJ2RvbWFpbiddLFxuICAgIHNlY3VyZT86IEFYQ29va2llT3B0aW9uc1snc2VjdXJlJ10sXG4gICAgc2FtZVNpdGU/OiBBWFNhbWVTaXRlLFxuICApOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBTZXQgY29va2llIGJhc2VkIG9uIHByb3ZpZGVkIGluZm9ybWF0aW9uXG4gICAqXG4gICAqIENvb2tpZSdzIHBhcmFtZXRlcnM6XG4gICAqIDxwcmU+XG4gICAqIGV4cGlyZXMgIE51bWJlciBvZiBkYXlzIHVudGlsIHRoZSBjb29raWVzIGV4cGlyZXMgb3IgYW4gYWN0dWFsIGBEYXRlYFxuICAgKiBwYXRoICAgICBDb29raWUgcGF0aFxuICAgKiBkb21haW4gICBDb29raWUgZG9tYWluXG4gICAqIHNlY3VyZSAgIFNlY3VyZSBmbGFnXG4gICAqIHNhbWVTaXRlIE9XQVNQIHNhbWVzaXRlIHRva2VuIGBMYXhgLCBgTm9uZWAsIG9yIGBTdHJpY3RgLiBEZWZhdWx0cyB0byBgTGF4YFxuICAgKiA8L3ByZT5cbiAgICpcbiAgICogQHBhcmFtIG5hbWUgICAgIENvb2tpZSBuYW1lXG4gICAqIEBwYXJhbSB2YWx1ZSAgICBDb29raWUgdmFsdWVcbiAgICogQHBhcmFtIG9wdGlvbnMgIEJvZHkgd2l0aCBjb29raWUncyBwYXJhbXNcbiAgICpcbiAgICovXG4gIHNldChuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcsIG9wdGlvbnM/OiBBWENvb2tpZU9wdGlvbnMpOiB2b2lkO1xuXG4gIHNldChcbiAgICBuYW1lOiBzdHJpbmcsXG4gICAgdmFsdWU6IHN0cmluZyxcbiAgICBleHBpcmVzT3JPcHRpb25zPzogQVhDb29raWVPcHRpb25zWydleHBpcmVzJ10gfCBBWENvb2tpZU9wdGlvbnMsXG4gICAgcGF0aD86IEFYQ29va2llT3B0aW9uc1sncGF0aCddLFxuICAgIGRvbWFpbj86IEFYQ29va2llT3B0aW9uc1snZG9tYWluJ10sXG4gICAgc2VjdXJlPzogQVhDb29raWVPcHRpb25zWydzZWN1cmUnXSxcbiAgICBzYW1lU2l0ZT86IEFYU2FtZVNpdGUsXG4gICk6IHZvaWQge1xuICAgIGlmICghdGhpcy5kb2N1bWVudElzQWNjZXNzaWJsZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIHR5cGVvZiBleHBpcmVzT3JPcHRpb25zID09PSAnbnVtYmVyJyB8fFxuICAgICAgZXhwaXJlc09yT3B0aW9ucyBpbnN0YW5jZW9mIERhdGUgfHxcbiAgICAgIHBhdGggfHxcbiAgICAgIGRvbWFpbiB8fFxuICAgICAgc2VjdXJlIHx8XG4gICAgICBzYW1lU2l0ZVxuICAgICkge1xuICAgICAgY29uc3Qgb3B0aW9uc0JvZHkgPSB7XG4gICAgICAgIGV4cGlyZXM6IGV4cGlyZXNPck9wdGlvbnMgYXMgQVhDb29raWVPcHRpb25zWydleHBpcmVzJ10sXG4gICAgICAgIHBhdGgsXG4gICAgICAgIGRvbWFpbixcbiAgICAgICAgc2VjdXJlLFxuICAgICAgICBzYW1lU2l0ZTogc2FtZVNpdGUgPyBzYW1lU2l0ZSA6ICdMYXgnLFxuICAgICAgfTtcblxuICAgICAgdGhpcy5zZXQobmFtZSwgdmFsdWUsIG9wdGlvbnNCb2R5KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsZXQgY29va2llU3RyaW5nOiBzdHJpbmcgPSBlbmNvZGVVUklDb21wb25lbnQobmFtZSkgKyAnPScgKyBlbmNvZGVVUklDb21wb25lbnQodmFsdWUpICsgJzsnO1xuXG4gICAgY29uc3Qgb3B0aW9ucyA9IGV4cGlyZXNPck9wdGlvbnMgPyBleHBpcmVzT3JPcHRpb25zIDoge307XG5cbiAgICBpZiAob3B0aW9ucy5leHBpcmVzKSB7XG4gICAgICBpZiAodHlwZW9mIG9wdGlvbnMuZXhwaXJlcyA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgY29uc3QgZGF0ZUV4cGlyZXM6IERhdGUgPSBuZXcgRGF0ZShuZXcgRGF0ZSgpLmdldFRpbWUoKSArIG9wdGlvbnMuZXhwaXJlcyAqIDEwMDAgKiA2MCAqIDYwICogMjQpO1xuXG4gICAgICAgIGNvb2tpZVN0cmluZyArPSAnZXhwaXJlcz0nICsgZGF0ZUV4cGlyZXMudG9VVENTdHJpbmcoKSArICc7JztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvb2tpZVN0cmluZyArPSAnZXhwaXJlcz0nICsgb3B0aW9ucy5leHBpcmVzLnRvVVRDU3RyaW5nKCkgKyAnOyc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMucGF0aCkge1xuICAgICAgY29va2llU3RyaW5nICs9ICdwYXRoPScgKyBvcHRpb25zLnBhdGggKyAnOyc7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMuZG9tYWluKSB7XG4gICAgICBjb29raWVTdHJpbmcgKz0gJ2RvbWFpbj0nICsgb3B0aW9ucy5kb21haW4gKyAnOyc7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMuc2VjdXJlID09PSBmYWxzZSAmJiBvcHRpb25zLnNhbWVTaXRlID09PSAnTm9uZScpIHtcbiAgICAgIG9wdGlvbnMuc2VjdXJlID0gdHJ1ZTtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgYFtuZ3gtY29va2llLXNlcnZpY2VdIENvb2tpZSAke25hbWV9IHdhcyBmb3JjZWQgd2l0aCBzZWN1cmUgZmxhZyBiZWNhdXNlIHNhbWVTaXRlPU5vbmUuYCArXG4gICAgICAgICAgYE1vcmUgZGV0YWlscyA6IGh0dHBzOi8vZ2l0aHViLmNvbS9zdGV2ZXJtZWlzdGVyL25neC1jb29raWUtc2VydmljZS9pc3N1ZXMvODYjaXNzdWVjb21tZW50LTU5NzcyMDEzMGAsXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAob3B0aW9ucy5zZWN1cmUpIHtcbiAgICAgIGNvb2tpZVN0cmluZyArPSAnc2VjdXJlOyc7XG4gICAgfVxuXG4gICAgaWYgKCFvcHRpb25zLnNhbWVTaXRlKSB7XG4gICAgICBvcHRpb25zLnNhbWVTaXRlID0gJ0xheCc7XG4gICAgfVxuXG4gICAgY29va2llU3RyaW5nICs9ICdzYW1lU2l0ZT0nICsgb3B0aW9ucy5zYW1lU2l0ZSArICc7JztcblxuICAgIHRoaXMuZG9jdW1lbnQuY29va2llID0gY29va2llU3RyaW5nO1xuICB9XG5cbiAgLyoqXG4gICAqIERlbGV0ZSBjb29raWUgYnkgbmFtZVxuICAgKlxuICAgKiBAcGFyYW0gbmFtZSAgIENvb2tpZSBuYW1lXG4gICAqIEBwYXJhbSBwYXRoICAgQ29va2llIHBhdGhcbiAgICogQHBhcmFtIGRvbWFpbiBDb29raWUgZG9tYWluXG4gICAqIEBwYXJhbSBzZWN1cmUgQ29va2llIHNlY3VyZSBmbGFnXG4gICAqIEBwYXJhbSBzYW1lU2l0ZSBDb29raWUgc2FtZVNpdGUgZmxhZyAtIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0hUVFAvSGVhZGVycy9TZXQtQ29va2llL1NhbWVTaXRlXG4gICAqXG4gICAqL1xuICBkZWxldGUoXG4gICAgbmFtZTogc3RyaW5nLFxuICAgIHBhdGg/OiBBWENvb2tpZU9wdGlvbnNbJ3BhdGgnXSxcbiAgICBkb21haW4/OiBBWENvb2tpZU9wdGlvbnNbJ2RvbWFpbiddLFxuICAgIHNlY3VyZT86IEFYQ29va2llT3B0aW9uc1snc2VjdXJlJ10sXG4gICAgc2FtZVNpdGU6IEFYU2FtZVNpdGUgPSAnTGF4JyxcbiAgKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmRvY3VtZW50SXNBY2Nlc3NpYmxlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGV4cGlyZXNEYXRlID0gbmV3IERhdGUoJ1RodSwgMDEgSmFuIDE5NzAgMDA6MDA6MDEgR01UJyk7XG4gICAgdGhpcy5zZXQobmFtZSwgJycsIHsgZXhwaXJlczogZXhwaXJlc0RhdGUsIHBhdGgsIGRvbWFpbiwgc2VjdXJlLCBzYW1lU2l0ZSB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWxldGUgYWxsIGNvb2tpZXNcbiAgICpcbiAgICogQHBhcmFtIHBhdGggICBDb29raWUgcGF0aFxuICAgKiBAcGFyYW0gZG9tYWluIENvb2tpZSBkb21haW5cbiAgICogQHBhcmFtIHNlY3VyZSBJcyB0aGUgQ29va2llIHNlY3VyZVxuICAgKiBAcGFyYW0gc2FtZVNpdGUgSXMgdGhlIGNvb2tpZSBzYW1lIHNpdGVcbiAgICpcbiAgICovXG4gIGRlbGV0ZUFsbChcbiAgICBwYXRoPzogQVhDb29raWVPcHRpb25zWydwYXRoJ10sXG4gICAgZG9tYWluPzogQVhDb29raWVPcHRpb25zWydkb21haW4nXSxcbiAgICBzZWN1cmU/OiBBWENvb2tpZU9wdGlvbnNbJ3NlY3VyZSddLFxuICAgIHNhbWVTaXRlOiBBWFNhbWVTaXRlID0gJ0xheCcsXG4gICk6IHZvaWQge1xuICAgIGlmICghdGhpcy5kb2N1bWVudElzQWNjZXNzaWJsZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGNvb2tpZXMgPSB0aGlzLmdldEFsbCgpO1xuXG4gICAgZm9yIChjb25zdCBjb29raWVOYW1lIGluIGNvb2tpZXMpIHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1wcm90b3R5cGUtYnVpbHRpbnNcbiAgICAgIGlmIChjb29raWVzLmhhc093blByb3BlcnR5KGNvb2tpZU5hbWUpKSB7XG4gICAgICAgIHRoaXMuZGVsZXRlKGNvb2tpZU5hbWUsIHBhdGgsIGRvbWFpbiwgc2VjdXJlLCBzYW1lU2l0ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,5 @@
1
+ export * from './cookie-storage.service';
2
+ export * from './local-storage.service';
3
+ export * from './session-storage.service';
4
+ export * from './storage.interface';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3RvcmFnZS9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY29va2llLXN0b3JhZ2Uuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xvY2FsLXN0b3JhZ2Uuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3Nlc3Npb24tc3RvcmFnZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc3RvcmFnZS5pbnRlcmZhY2UnO1xuIl19
@@ -0,0 +1,22 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class AXLocalStorageService {
4
+ get(key) {
5
+ return JSON.parse(localStorage.getItem(key) || '');
6
+ }
7
+ set(key, value) {
8
+ return localStorage.setItem(key, JSON.stringify(value));
9
+ }
10
+ clear() {
11
+ return localStorage.clear();
12
+ }
13
+ removeItem(key) {
14
+ return localStorage.removeItem(key);
15
+ }
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: AXLocalStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
17
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: AXLocalStorageService }); }
18
+ }
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: AXLocalStorageService, decorators: [{
20
+ type: Injectable
21
+ }] });
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtc3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3N0b3JhZ2Uvc3JjL2xvY2FsLXN0b3JhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUkzQyxNQUFNLE9BQU8scUJBQXFCO0lBQ2hDLEdBQUcsQ0FBYyxHQUFXO1FBQzFCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxHQUFHLENBQWMsR0FBVyxFQUFFLEtBQVE7UUFDcEMsT0FBTyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELEtBQUs7UUFDSCxPQUFPLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQsVUFBVSxDQUFDLEdBQVc7UUFDcEIsT0FBTyxZQUFZLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7OEdBZlUscUJBQXFCO2tIQUFyQixxQkFBcUI7OzJGQUFyQixxQkFBcUI7a0JBRGpDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFN0b3JhZ2UgfSBmcm9tICcuL3N0b3JhZ2UuaW50ZXJmYWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYTG9jYWxTdG9yYWdlU2VydmljZSBpbXBsZW1lbnRzIEFYU3RvcmFnZSB7XG4gIGdldDxUID0gdW5rbm93bj4oa2V5OiBzdHJpbmcpOiBUIHtcbiAgICByZXR1cm4gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShrZXkpIHx8ICcnKTtcbiAgfVxuXG4gIHNldDxUID0gdW5rbm93bj4oa2V5OiBzdHJpbmcsIHZhbHVlOiBUKTogdm9pZCB7XG4gICAgcmV0dXJuIGxvY2FsU3RvcmFnZS5zZXRJdGVtKGtleSwgSlNPTi5zdHJpbmdpZnkodmFsdWUpKTtcbiAgfVxuXG4gIGNsZWFyKCk6IHZvaWQge1xuICAgIHJldHVybiBsb2NhbFN0b3JhZ2UuY2xlYXIoKTtcbiAgfVxuXG4gIHJlbW92ZUl0ZW0oa2V5OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oa2V5KTtcbiAgfVxufVxuIl19
@@ -0,0 +1,22 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class AXSessionStorageService {
4
+ get(key) {
5
+ return JSON.parse(sessionStorage.getItem(key) || '');
6
+ }
7
+ set(key, value) {
8
+ return sessionStorage.setItem(key, JSON.stringify(value));
9
+ }
10
+ clear() {
11
+ return sessionStorage.clear();
12
+ }
13
+ removeItem(key) {
14
+ return sessionStorage.removeItem(key);
15
+ }
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: AXSessionStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
17
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: AXSessionStorageService }); }
18
+ }
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: AXSessionStorageService, decorators: [{
20
+ type: Injectable
21
+ }] });
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi1zdG9yYWdlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3RvcmFnZS9zcmMvc2Vzc2lvbi1zdG9yYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFJM0MsTUFBTSxPQUFPLHVCQUF1QjtJQUNsQyxHQUFHLENBQWMsR0FBVztRQUMxQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsR0FBRyxDQUFjLEdBQVcsRUFBRSxLQUFRO1FBQ3BDLE9BQU8sY0FBYyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxLQUFLO1FBQ0gsT0FBTyxjQUFjLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVELFVBQVUsQ0FBQyxHQUFXO1FBQ3BCLE9BQU8sY0FBYyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN4QyxDQUFDOzhHQWZVLHVCQUF1QjtrSEFBdkIsdUJBQXVCOzsyRkFBdkIsdUJBQXVCO2tCQURuQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhTdG9yYWdlIH0gZnJvbSAnLi9zdG9yYWdlLmludGVyZmFjZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBWFNlc3Npb25TdG9yYWdlU2VydmljZSBpbXBsZW1lbnRzIEFYU3RvcmFnZSB7XG4gIGdldDxUID0gdW5rbm93bj4oa2V5OiBzdHJpbmcpOiBUIHtcbiAgICByZXR1cm4gSlNPTi5wYXJzZShzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKGtleSkgfHwgJycpO1xuICB9XG5cbiAgc2V0PFQgPSB1bmtub3duPihrZXk6IHN0cmluZywgdmFsdWU6IFQpOiB2b2lkIHtcbiAgICByZXR1cm4gc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShrZXksIEpTT04uc3RyaW5naWZ5KHZhbHVlKSk7XG4gIH1cblxuICBjbGVhcigpOiB2b2lkIHtcbiAgICByZXR1cm4gc2Vzc2lvblN0b3JhZ2UuY2xlYXIoKTtcbiAgfVxuXG4gIHJlbW92ZUl0ZW0oa2V5OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbShrZXkpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3RvcmFnZS9zcmMvc3RvcmFnZS5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQVhTdG9yYWdlIHtcbiAgZ2V0PFQgPSB1bmtub3duPihrZXk6IHN0cmluZyk6IFQ7XG4gIHNldDxUID0gdW5rbm93bj4oa2V5OiBzdHJpbmcsIHZhbHVlOiBUKTogdm9pZDtcbiAgcmVtb3ZlSXRlbShrZXk6IHN0cmluZyk7XG4gIGNsZWFyKCk6IHZvaWQ7XG59XG5cbmV4cG9ydCB0eXBlIEFYU2FtZVNpdGUgPSAnTGF4JyB8ICdOb25lJyB8ICdTdHJpY3QnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFYQ29va2llT3B0aW9ucyB7XG4gIGV4cGlyZXM/OiBudW1iZXIgfCBEYXRlO1xuICBwYXRoPzogc3RyaW5nO1xuICBkb21haW4/OiBzdHJpbmc7XG4gIHNlY3VyZT86IGJvb2xlYW47XG4gIHNhbWVTaXRlPzogQVhTYW1lU2l0ZTtcbn1cbiJdfQ==
@@ -0,0 +1,242 @@
1
+ import { isPlatformBrowser, DOCUMENT } from '@angular/common';
2
+ import * as i0 from '@angular/core';
3
+ import { PLATFORM_ID, Injectable, Inject } from '@angular/core';
4
+
5
+ class AXCookieStorageService {
6
+ constructor(document,
7
+ // Get the `PLATFORM_ID` so we can check if we're in a browser.
8
+ platformId) {
9
+ this.document = document;
10
+ this.platformId = platformId;
11
+ this.documentIsAccessible = isPlatformBrowser(this.platformId);
12
+ }
13
+ /**
14
+ * Get cookie Regular Expression
15
+ *
16
+ * @param name Cookie name
17
+ * @returns property RegExp
18
+ *
19
+ */
20
+ static getCookieRegExp(name) {
21
+ const escapedName = name.replace(/([[\]{}()|=;+?,.*^$])/gi, '\\$1');
22
+ return new RegExp('(?:^' + escapedName + '|;\\s*' + escapedName + ')=(.*?)(?:;|$)', 'g');
23
+ }
24
+ /**
25
+ * Gets the unencoded version of an encoded component of a Uniform Resource Identifier (URI).
26
+ *
27
+ * @param encodedURIComponent A value representing an encoded URI component.
28
+ *
29
+ * @returns The unencoded version of an encoded component of a Uniform Resource Identifier (URI).
30
+ *
31
+ */
32
+ static safeDecodeURIComponent(encodedURIComponent) {
33
+ try {
34
+ return decodeURIComponent(encodedURIComponent);
35
+ }
36
+ catch {
37
+ // probably it is not uri encoded. return as is
38
+ return encodedURIComponent;
39
+ }
40
+ }
41
+ /**
42
+ * Return `true` if {@link Document} is accessible, otherwise return `false`
43
+ *
44
+ * @param name Cookie name
45
+ * @returns boolean - whether cookie with specified name exists
46
+ *
47
+ */
48
+ check(name) {
49
+ if (!this.documentIsAccessible) {
50
+ return false;
51
+ }
52
+ name = encodeURIComponent(name);
53
+ const regExp = AXCookieStorageService.getCookieRegExp(name);
54
+ return regExp.test(this.document.cookie);
55
+ }
56
+ /**
57
+ * Get cookies by name
58
+ *
59
+ * @param name Cookie name
60
+ * @returns property value
61
+ *
62
+ */
63
+ get(name) {
64
+ if (this.documentIsAccessible && this.check(name)) {
65
+ name = encodeURIComponent(name);
66
+ const regExp = AXCookieStorageService.getCookieRegExp(name);
67
+ const result = regExp.exec(this.document.cookie);
68
+ return result[1] ? AXCookieStorageService.safeDecodeURIComponent(result[1]) : '';
69
+ }
70
+ else {
71
+ return '';
72
+ }
73
+ }
74
+ /**
75
+ * Get all cookies in JSON format
76
+ *
77
+ * @returns all the cookies in json
78
+ *
79
+ */
80
+ getAll() {
81
+ if (!this.documentIsAccessible) {
82
+ return {};
83
+ }
84
+ const cookies = {};
85
+ const document = this.document;
86
+ if (document.cookie && document.cookie !== '') {
87
+ document.cookie.split(';').forEach((currentCookie) => {
88
+ const [cookieName, cookieValue] = currentCookie.split('=');
89
+ cookies[AXCookieStorageService.safeDecodeURIComponent(cookieName.replace(/^ /, ''))] =
90
+ AXCookieStorageService.safeDecodeURIComponent(cookieValue);
91
+ });
92
+ }
93
+ return cookies;
94
+ }
95
+ set(name, value, expiresOrOptions, path, domain, secure, sameSite) {
96
+ if (!this.documentIsAccessible) {
97
+ return;
98
+ }
99
+ if (typeof expiresOrOptions === 'number' ||
100
+ expiresOrOptions instanceof Date ||
101
+ path ||
102
+ domain ||
103
+ secure ||
104
+ sameSite) {
105
+ const optionsBody = {
106
+ expires: expiresOrOptions,
107
+ path,
108
+ domain,
109
+ secure,
110
+ sameSite: sameSite ? sameSite : 'Lax',
111
+ };
112
+ this.set(name, value, optionsBody);
113
+ return;
114
+ }
115
+ let cookieString = encodeURIComponent(name) + '=' + encodeURIComponent(value) + ';';
116
+ const options = expiresOrOptions ? expiresOrOptions : {};
117
+ if (options.expires) {
118
+ if (typeof options.expires === 'number') {
119
+ const dateExpires = new Date(new Date().getTime() + options.expires * 1000 * 60 * 60 * 24);
120
+ cookieString += 'expires=' + dateExpires.toUTCString() + ';';
121
+ }
122
+ else {
123
+ cookieString += 'expires=' + options.expires.toUTCString() + ';';
124
+ }
125
+ }
126
+ if (options.path) {
127
+ cookieString += 'path=' + options.path + ';';
128
+ }
129
+ if (options.domain) {
130
+ cookieString += 'domain=' + options.domain + ';';
131
+ }
132
+ if (options.secure === false && options.sameSite === 'None') {
133
+ options.secure = true;
134
+ console.warn(`[ngx-cookie-service] Cookie ${name} was forced with secure flag because sameSite=None.` +
135
+ `More details : https://github.com/stevermeister/ngx-cookie-service/issues/86#issuecomment-597720130`);
136
+ }
137
+ if (options.secure) {
138
+ cookieString += 'secure;';
139
+ }
140
+ if (!options.sameSite) {
141
+ options.sameSite = 'Lax';
142
+ }
143
+ cookieString += 'sameSite=' + options.sameSite + ';';
144
+ this.document.cookie = cookieString;
145
+ }
146
+ /**
147
+ * Delete cookie by name
148
+ *
149
+ * @param name Cookie name
150
+ * @param path Cookie path
151
+ * @param domain Cookie domain
152
+ * @param secure Cookie secure flag
153
+ * @param sameSite Cookie sameSite flag - https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite
154
+ *
155
+ */
156
+ delete(name, path, domain, secure, sameSite = 'Lax') {
157
+ if (!this.documentIsAccessible) {
158
+ return;
159
+ }
160
+ const expiresDate = new Date('Thu, 01 Jan 1970 00:00:01 GMT');
161
+ this.set(name, '', { expires: expiresDate, path, domain, secure, sameSite });
162
+ }
163
+ /**
164
+ * Delete all cookies
165
+ *
166
+ * @param path Cookie path
167
+ * @param domain Cookie domain
168
+ * @param secure Is the Cookie secure
169
+ * @param sameSite Is the cookie same site
170
+ *
171
+ */
172
+ deleteAll(path, domain, secure, sameSite = 'Lax') {
173
+ if (!this.documentIsAccessible) {
174
+ return;
175
+ }
176
+ const cookies = this.getAll();
177
+ for (const cookieName in cookies) {
178
+ // eslint-disable-next-line no-prototype-builtins
179
+ if (cookies.hasOwnProperty(cookieName)) {
180
+ this.delete(cookieName, path, domain, secure, sameSite);
181
+ }
182
+ }
183
+ }
184
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: AXCookieStorageService, deps: [{ token: DOCUMENT }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable }); }
185
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: AXCookieStorageService }); }
186
+ }
187
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: AXCookieStorageService, decorators: [{
188
+ type: Injectable
189
+ }], ctorParameters: function () { return [{ type: Document, decorators: [{
190
+ type: Inject,
191
+ args: [DOCUMENT]
192
+ }] }, { type: undefined, decorators: [{
193
+ type: Inject,
194
+ args: [PLATFORM_ID]
195
+ }] }]; } });
196
+
197
+ class AXLocalStorageService {
198
+ get(key) {
199
+ return JSON.parse(localStorage.getItem(key) || '');
200
+ }
201
+ set(key, value) {
202
+ return localStorage.setItem(key, JSON.stringify(value));
203
+ }
204
+ clear() {
205
+ return localStorage.clear();
206
+ }
207
+ removeItem(key) {
208
+ return localStorage.removeItem(key);
209
+ }
210
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: AXLocalStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
211
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: AXLocalStorageService }); }
212
+ }
213
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: AXLocalStorageService, decorators: [{
214
+ type: Injectable
215
+ }] });
216
+
217
+ class AXSessionStorageService {
218
+ get(key) {
219
+ return JSON.parse(sessionStorage.getItem(key) || '');
220
+ }
221
+ set(key, value) {
222
+ return sessionStorage.setItem(key, JSON.stringify(value));
223
+ }
224
+ clear() {
225
+ return sessionStorage.clear();
226
+ }
227
+ removeItem(key) {
228
+ return sessionStorage.removeItem(key);
229
+ }
230
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: AXSessionStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
231
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: AXSessionStorageService }); }
232
+ }
233
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: AXSessionStorageService, decorators: [{
234
+ type: Injectable
235
+ }] });
236
+
237
+ /**
238
+ * Generated bundle index. Do not edit.
239
+ */
240
+
241
+ export { AXCookieStorageService, AXLocalStorageService, AXSessionStorageService };
242
+ //# sourceMappingURL=acorex-core-storage.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-core-storage.mjs","sources":["../../../../libs/core/storage/src/cookie-storage.service.ts","../../../../libs/core/storage/src/local-storage.service.ts","../../../../libs/core/storage/src/session-storage.service.ts","../../../../libs/core/storage/src/acorex-core-storage.ts"],"sourcesContent":["import { DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport { Inject, Injectable, PLATFORM_ID } from '@angular/core';\nimport { AXCookieOptions, AXSameSite } from './storage.interface';\n\n@Injectable()\nexport class AXCookieStorageService {\n private readonly documentIsAccessible: boolean;\n\n constructor(\n @Inject(DOCUMENT) private document: Document,\n // Get the `PLATFORM_ID` so we can check if we're in a browser.\n @Inject(PLATFORM_ID) private platformId,\n ) {\n this.documentIsAccessible = isPlatformBrowser(this.platformId);\n }\n\n /**\n * Get cookie Regular Expression\n *\n * @param name Cookie name\n * @returns property RegExp\n *\n */\n private static getCookieRegExp(name: string): RegExp {\n const escapedName: string = name.replace(/([[\\]{}()|=;+?,.*^$])/gi, '\\\\$1');\n\n return new RegExp('(?:^' + escapedName + '|;\\\\s*' + escapedName + ')=(.*?)(?:;|$)', 'g');\n }\n\n /**\n * Gets the unencoded version of an encoded component of a Uniform Resource Identifier (URI).\n *\n * @param encodedURIComponent A value representing an encoded URI component.\n *\n * @returns The unencoded version of an encoded component of a Uniform Resource Identifier (URI).\n *\n */\n private static safeDecodeURIComponent(encodedURIComponent: string): string {\n try {\n return decodeURIComponent(encodedURIComponent);\n } catch {\n // probably it is not uri encoded. return as is\n return encodedURIComponent;\n }\n }\n\n /**\n * Return `true` if {@link Document} is accessible, otherwise return `false`\n *\n * @param name Cookie name\n * @returns boolean - whether cookie with specified name exists\n *\n */\n check(name: string): boolean {\n if (!this.documentIsAccessible) {\n return false;\n }\n name = encodeURIComponent(name);\n const regExp: RegExp = AXCookieStorageService.getCookieRegExp(name);\n return regExp.test(this.document.cookie);\n }\n\n /**\n * Get cookies by name\n *\n * @param name Cookie name\n * @returns property value\n *\n */\n get(name: string): string {\n if (this.documentIsAccessible && this.check(name)) {\n name = encodeURIComponent(name);\n\n const regExp: RegExp = AXCookieStorageService.getCookieRegExp(name);\n const result: RegExpExecArray = regExp.exec(this.document.cookie);\n\n return result[1] ? AXCookieStorageService.safeDecodeURIComponent(result[1]) : '';\n } else {\n return '';\n }\n }\n\n /**\n * Get all cookies in JSON format\n *\n * @returns all the cookies in json\n *\n */\n getAll(): { [key: string]: string } {\n if (!this.documentIsAccessible) {\n return {};\n }\n\n const cookies: { [key: string]: string } = {};\n const document: any = this.document;\n\n if (document.cookie && document.cookie !== '') {\n document.cookie.split(';').forEach((currentCookie) => {\n const [cookieName, cookieValue] = currentCookie.split('=');\n cookies[AXCookieStorageService.safeDecodeURIComponent(cookieName.replace(/^ /, ''))] =\n AXCookieStorageService.safeDecodeURIComponent(cookieValue);\n });\n }\n\n return cookies;\n }\n\n /**\n * Set cookie based on provided information\n *\n * @param name Cookie name\n * @param value Cookie value\n * @param expires Number of days until the cookies expires or an actual `Date`\n * @param path Cookie path\n * @param domain Cookie domain\n * @param secure Secure flag\n * @param sameSite OWASP samesite token `Lax`, `None`, or `Strict`. Defaults to `Lax`\n *\n */\n set(\n name: string,\n value: string,\n expires?: AXCookieOptions['expires'],\n path?: AXCookieOptions['path'],\n domain?: AXCookieOptions['domain'],\n secure?: AXCookieOptions['secure'],\n sameSite?: AXSameSite,\n ): void;\n\n /**\n * Set cookie based on provided information\n *\n * Cookie's parameters:\n * <pre>\n * expires Number of days until the cookies expires or an actual `Date`\n * path Cookie path\n * domain Cookie domain\n * secure Secure flag\n * sameSite OWASP samesite token `Lax`, `None`, or `Strict`. Defaults to `Lax`\n * </pre>\n *\n * @param name Cookie name\n * @param value Cookie value\n * @param options Body with cookie's params\n *\n */\n set(name: string, value: string, options?: AXCookieOptions): void;\n\n set(\n name: string,\n value: string,\n expiresOrOptions?: AXCookieOptions['expires'] | AXCookieOptions,\n path?: AXCookieOptions['path'],\n domain?: AXCookieOptions['domain'],\n secure?: AXCookieOptions['secure'],\n sameSite?: AXSameSite,\n ): void {\n if (!this.documentIsAccessible) {\n return;\n }\n\n if (\n typeof expiresOrOptions === 'number' ||\n expiresOrOptions instanceof Date ||\n path ||\n domain ||\n secure ||\n sameSite\n ) {\n const optionsBody = {\n expires: expiresOrOptions as AXCookieOptions['expires'],\n path,\n domain,\n secure,\n sameSite: sameSite ? sameSite : 'Lax',\n };\n\n this.set(name, value, optionsBody);\n return;\n }\n\n let cookieString: string = encodeURIComponent(name) + '=' + encodeURIComponent(value) + ';';\n\n const options = expiresOrOptions ? expiresOrOptions : {};\n\n if (options.expires) {\n if (typeof options.expires === 'number') {\n const dateExpires: Date = new Date(new Date().getTime() + options.expires * 1000 * 60 * 60 * 24);\n\n cookieString += 'expires=' + dateExpires.toUTCString() + ';';\n } else {\n cookieString += 'expires=' + options.expires.toUTCString() + ';';\n }\n }\n\n if (options.path) {\n cookieString += 'path=' + options.path + ';';\n }\n\n if (options.domain) {\n cookieString += 'domain=' + options.domain + ';';\n }\n\n if (options.secure === false && options.sameSite === 'None') {\n options.secure = true;\n console.warn(\n `[ngx-cookie-service] Cookie ${name} was forced with secure flag because sameSite=None.` +\n `More details : https://github.com/stevermeister/ngx-cookie-service/issues/86#issuecomment-597720130`,\n );\n }\n if (options.secure) {\n cookieString += 'secure;';\n }\n\n if (!options.sameSite) {\n options.sameSite = 'Lax';\n }\n\n cookieString += 'sameSite=' + options.sameSite + ';';\n\n this.document.cookie = cookieString;\n }\n\n /**\n * Delete cookie by name\n *\n * @param name Cookie name\n * @param path Cookie path\n * @param domain Cookie domain\n * @param secure Cookie secure flag\n * @param sameSite Cookie sameSite flag - https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite\n *\n */\n delete(\n name: string,\n path?: AXCookieOptions['path'],\n domain?: AXCookieOptions['domain'],\n secure?: AXCookieOptions['secure'],\n sameSite: AXSameSite = 'Lax',\n ): void {\n if (!this.documentIsAccessible) {\n return;\n }\n const expiresDate = new Date('Thu, 01 Jan 1970 00:00:01 GMT');\n this.set(name, '', { expires: expiresDate, path, domain, secure, sameSite });\n }\n\n /**\n * Delete all cookies\n *\n * @param path Cookie path\n * @param domain Cookie domain\n * @param secure Is the Cookie secure\n * @param sameSite Is the cookie same site\n *\n */\n deleteAll(\n path?: AXCookieOptions['path'],\n domain?: AXCookieOptions['domain'],\n secure?: AXCookieOptions['secure'],\n sameSite: AXSameSite = 'Lax',\n ): void {\n if (!this.documentIsAccessible) {\n return;\n }\n\n const cookies = this.getAll();\n\n for (const cookieName in cookies) {\n // eslint-disable-next-line no-prototype-builtins\n if (cookies.hasOwnProperty(cookieName)) {\n this.delete(cookieName, path, domain, secure, sameSite);\n }\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AXStorage } from './storage.interface';\n\n@Injectable()\nexport class AXLocalStorageService implements AXStorage {\n get<T = unknown>(key: string): T {\n return JSON.parse(localStorage.getItem(key) || '');\n }\n\n set<T = unknown>(key: string, value: T): void {\n return localStorage.setItem(key, JSON.stringify(value));\n }\n\n clear(): void {\n return localStorage.clear();\n }\n\n removeItem(key: string) {\n return localStorage.removeItem(key);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AXStorage } from './storage.interface';\n\n@Injectable()\nexport class AXSessionStorageService implements AXStorage {\n get<T = unknown>(key: string): T {\n return JSON.parse(sessionStorage.getItem(key) || '');\n }\n\n set<T = unknown>(key: string, value: T): void {\n return sessionStorage.setItem(key, JSON.stringify(value));\n }\n\n clear(): void {\n return sessionStorage.clear();\n }\n\n removeItem(key: string) {\n return sessionStorage.removeItem(key);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@acorex/core",
3
- "version": "7.9.1",
3
+ "version": "7.10.1",
4
4
  "sideEffects": false,
5
5
  "peerDependencies": {
6
6
  "@angular/common": ">=16.2.0",
@@ -69,6 +69,12 @@
69
69
  "esm": "./esm2022/platform/acorex-core-platform.mjs",
70
70
  "default": "./fesm2022/acorex-core-platform.mjs"
71
71
  },
72
+ "./storage": {
73
+ "types": "./storage/index.d.ts",
74
+ "esm2022": "./esm2022/storage/acorex-core-storage.mjs",
75
+ "esm": "./esm2022/storage/acorex-core-storage.mjs",
76
+ "default": "./fesm2022/acorex-core-storage.mjs"
77
+ },
72
78
  "./translation": {
73
79
  "types": "./translation/index.d.ts",
74
80
  "esm2022": "./esm2022/translation/acorex-core-translation.mjs",
@@ -0,0 +1,3 @@
1
+ # @acorex/core/storage
2
+
3
+ Secondary entry point of `@acorex/core`. It can be used by importing from `@acorex/core/storage`.
@@ -0,0 +1,104 @@
1
+ import { AXCookieOptions, AXSameSite } from './storage.interface';
2
+ import * as i0 from "@angular/core";
3
+ export declare class AXCookieStorageService {
4
+ private document;
5
+ private platformId;
6
+ private readonly documentIsAccessible;
7
+ constructor(document: Document, platformId: any);
8
+ /**
9
+ * Get cookie Regular Expression
10
+ *
11
+ * @param name Cookie name
12
+ * @returns property RegExp
13
+ *
14
+ */
15
+ private static getCookieRegExp;
16
+ /**
17
+ * Gets the unencoded version of an encoded component of a Uniform Resource Identifier (URI).
18
+ *
19
+ * @param encodedURIComponent A value representing an encoded URI component.
20
+ *
21
+ * @returns The unencoded version of an encoded component of a Uniform Resource Identifier (URI).
22
+ *
23
+ */
24
+ private static safeDecodeURIComponent;
25
+ /**
26
+ * Return `true` if {@link Document} is accessible, otherwise return `false`
27
+ *
28
+ * @param name Cookie name
29
+ * @returns boolean - whether cookie with specified name exists
30
+ *
31
+ */
32
+ check(name: string): boolean;
33
+ /**
34
+ * Get cookies by name
35
+ *
36
+ * @param name Cookie name
37
+ * @returns property value
38
+ *
39
+ */
40
+ get(name: string): string;
41
+ /**
42
+ * Get all cookies in JSON format
43
+ *
44
+ * @returns all the cookies in json
45
+ *
46
+ */
47
+ getAll(): {
48
+ [key: string]: string;
49
+ };
50
+ /**
51
+ * Set cookie based on provided information
52
+ *
53
+ * @param name Cookie name
54
+ * @param value Cookie value
55
+ * @param expires Number of days until the cookies expires or an actual `Date`
56
+ * @param path Cookie path
57
+ * @param domain Cookie domain
58
+ * @param secure Secure flag
59
+ * @param sameSite OWASP samesite token `Lax`, `None`, or `Strict`. Defaults to `Lax`
60
+ *
61
+ */
62
+ set(name: string, value: string, expires?: AXCookieOptions['expires'], path?: AXCookieOptions['path'], domain?: AXCookieOptions['domain'], secure?: AXCookieOptions['secure'], sameSite?: AXSameSite): void;
63
+ /**
64
+ * Set cookie based on provided information
65
+ *
66
+ * Cookie's parameters:
67
+ * <pre>
68
+ * expires Number of days until the cookies expires or an actual `Date`
69
+ * path Cookie path
70
+ * domain Cookie domain
71
+ * secure Secure flag
72
+ * sameSite OWASP samesite token `Lax`, `None`, or `Strict`. Defaults to `Lax`
73
+ * </pre>
74
+ *
75
+ * @param name Cookie name
76
+ * @param value Cookie value
77
+ * @param options Body with cookie's params
78
+ *
79
+ */
80
+ set(name: string, value: string, options?: AXCookieOptions): void;
81
+ /**
82
+ * Delete cookie by name
83
+ *
84
+ * @param name Cookie name
85
+ * @param path Cookie path
86
+ * @param domain Cookie domain
87
+ * @param secure Cookie secure flag
88
+ * @param sameSite Cookie sameSite flag - https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite
89
+ *
90
+ */
91
+ delete(name: string, path?: AXCookieOptions['path'], domain?: AXCookieOptions['domain'], secure?: AXCookieOptions['secure'], sameSite?: AXSameSite): void;
92
+ /**
93
+ * Delete all cookies
94
+ *
95
+ * @param path Cookie path
96
+ * @param domain Cookie domain
97
+ * @param secure Is the Cookie secure
98
+ * @param sameSite Is the cookie same site
99
+ *
100
+ */
101
+ deleteAll(path?: AXCookieOptions['path'], domain?: AXCookieOptions['domain'], secure?: AXCookieOptions['secure'], sameSite?: AXSameSite): void;
102
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXCookieStorageService, never>;
103
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXCookieStorageService>;
104
+ }
@@ -0,0 +1,4 @@
1
+ export * from './cookie-storage.service';
2
+ export * from './local-storage.service';
3
+ export * from './session-storage.service';
4
+ export * from './storage.interface';
@@ -0,0 +1,10 @@
1
+ import { AXStorage } from './storage.interface';
2
+ import * as i0 from "@angular/core";
3
+ export declare class AXLocalStorageService implements AXStorage {
4
+ get<T = unknown>(key: string): T;
5
+ set<T = unknown>(key: string, value: T): void;
6
+ clear(): void;
7
+ removeItem(key: string): void;
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXLocalStorageService, never>;
9
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXLocalStorageService>;
10
+ }
@@ -0,0 +1,10 @@
1
+ import { AXStorage } from './storage.interface';
2
+ import * as i0 from "@angular/core";
3
+ export declare class AXSessionStorageService implements AXStorage {
4
+ get<T = unknown>(key: string): T;
5
+ set<T = unknown>(key: string, value: T): void;
6
+ clear(): void;
7
+ removeItem(key: string): void;
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXSessionStorageService, never>;
9
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXSessionStorageService>;
10
+ }
@@ -0,0 +1,14 @@
1
+ export interface AXStorage {
2
+ get<T = unknown>(key: string): T;
3
+ set<T = unknown>(key: string, value: T): void;
4
+ removeItem(key: string): any;
5
+ clear(): void;
6
+ }
7
+ export type AXSameSite = 'Lax' | 'None' | 'Strict';
8
+ export interface AXCookieOptions {
9
+ expires?: number | Date;
10
+ path?: string;
11
+ domain?: string;
12
+ secure?: boolean;
13
+ sameSite?: AXSameSite;
14
+ }