UNPKG

5.15 kBJavaScriptView Raw
1import { Injectable } from '@angular/core';
2import * as i0 from "@angular/core";
3import * as i1 from "./token-parceler";
4export class NbTokenStorage {
5}
6/**
7 * Service that uses browser localStorage as a storage.
8 *
9 * The token storage is provided into auth module the following way:
10 * ```ts
11 * { provide: NbTokenStorage, useClass: NbTokenLocalStorage },
12 * ```
13 *
14 * If you need to change the storage behaviour or provide your own - just extend your class from basic `NbTokenStorage`
15 * or `NbTokenLocalStorage` and provide in your `app.module`:
16 * ```ts
17 * { provide: NbTokenStorage, useClass: NbTokenCustomStorage },
18 * ```
19 *
20 */
21export class NbTokenLocalStorage extends NbTokenStorage {
22 constructor(parceler) {
23 super();
24 this.parceler = parceler;
25 this.key = 'auth_app_token';
26 }
27 /**
28 * Returns token from localStorage
29 * @returns {NbAuthToken}
30 */
31 get() {
32 const raw = localStorage.getItem(this.key);
33 return this.parceler.unwrap(raw);
34 }
35 /**
36 * Sets token to localStorage
37 * @param {NbAuthToken} token
38 */
39 set(token) {
40 const raw = this.parceler.wrap(token);
41 localStorage.setItem(this.key, raw);
42 }
43 /**
44 * Clears token from localStorage
45 */
46 clear() {
47 localStorage.removeItem(this.key);
48 }
49}
50NbTokenLocalStorage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: NbTokenLocalStorage, deps: [{ token: i1.NbAuthTokenParceler }], target: i0.ɵɵFactoryTarget.Injectable });
51NbTokenLocalStorage.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: NbTokenLocalStorage });
52i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: NbTokenLocalStorage, decorators: [{
53 type: Injectable
54 }], ctorParameters: function () { return [{ type: i1.NbAuthTokenParceler }]; } });
55//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4tc3RvcmFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9mcmFtZXdvcmsvYXV0aC9zZXJ2aWNlcy90b2tlbi90b2tlbi1zdG9yYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUszQyxNQUFNLE9BQWdCLGNBQWM7Q0FLbkM7QUFFRDs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxjQUFjO0lBSXJELFlBQW9CLFFBQTZCO1FBQy9DLEtBQUssRUFBRSxDQUFDO1FBRFUsYUFBUSxHQUFSLFFBQVEsQ0FBcUI7UUFGdkMsUUFBRyxHQUFHLGdCQUFnQixDQUFDO0lBSWpDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxHQUFHO1FBQ0QsTUFBTSxHQUFHLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDM0MsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsR0FBRyxDQUFDLEtBQWtCO1FBQ3BCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RDLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLO1FBQ0gsWUFBWSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDcEMsQ0FBQzs7aUhBL0JVLG1CQUFtQjtxSEFBbkIsbUJBQW1COzRGQUFuQixtQkFBbUI7a0JBRC9CLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE5iQXV0aFRva2VuIH0gZnJvbSAnLi90b2tlbic7XG5pbXBvcnQgeyBOYkF1dGhUb2tlblBhcmNlbGVyIH0gZnJvbSAnLi90b2tlbi1wYXJjZWxlcic7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBOYlRva2VuU3RvcmFnZSB7XG5cbiAgYWJzdHJhY3QgZ2V0KCk6IE5iQXV0aFRva2VuO1xuICBhYnN0cmFjdCBzZXQodG9rZW46IE5iQXV0aFRva2VuKTtcbiAgYWJzdHJhY3QgY2xlYXIoKTtcbn1cblxuLyoqXG4gKiBTZXJ2aWNlIHRoYXQgdXNlcyBicm93c2VyIGxvY2FsU3RvcmFnZSBhcyBhIHN0b3JhZ2UuXG4gKlxuICogVGhlIHRva2VuIHN0b3JhZ2UgaXMgcHJvdmlkZWQgaW50byBhdXRoIG1vZHVsZSB0aGUgZm9sbG93aW5nIHdheTpcbiAqIGBgYHRzXG4gKiB7IHByb3ZpZGU6IE5iVG9rZW5TdG9yYWdlLCB1c2VDbGFzczogTmJUb2tlbkxvY2FsU3RvcmFnZSB9LFxuICogYGBgXG4gKlxuICogSWYgeW91IG5lZWQgdG8gY2hhbmdlIHRoZSBzdG9yYWdlIGJlaGF2aW91ciBvciBwcm92aWRlIHlvdXIgb3duIC0ganVzdCBleHRlbmQgeW91ciBjbGFzcyBmcm9tIGJhc2ljIGBOYlRva2VuU3RvcmFnZWBcbiAqIG9yIGBOYlRva2VuTG9jYWxTdG9yYWdlYCBhbmQgcHJvdmlkZSBpbiB5b3VyIGBhcHAubW9kdWxlYDpcbiAqIGBgYHRzXG4gKiB7IHByb3ZpZGU6IE5iVG9rZW5TdG9yYWdlLCB1c2VDbGFzczogTmJUb2tlbkN1c3RvbVN0b3JhZ2UgfSxcbiAqIGBgYFxuICpcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE5iVG9rZW5Mb2NhbFN0b3JhZ2UgZXh0ZW5kcyBOYlRva2VuU3RvcmFnZSB7XG5cbiAgcHJvdGVjdGVkIGtleSA9ICdhdXRoX2FwcF90b2tlbic7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwYXJjZWxlcjogTmJBdXRoVG9rZW5QYXJjZWxlcikge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0b2tlbiBmcm9tIGxvY2FsU3RvcmFnZVxuICAgKiBAcmV0dXJucyB7TmJBdXRoVG9rZW59XG4gICAqL1xuICBnZXQoKTogTmJBdXRoVG9rZW4ge1xuICAgIGNvbnN0IHJhdyA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMua2V5KTtcbiAgICByZXR1cm4gdGhpcy5wYXJjZWxlci51bndyYXAocmF3KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRva2VuIHRvIGxvY2FsU3RvcmFnZVxuICAgKiBAcGFyYW0ge05iQXV0aFRva2VufSB0b2tlblxuICAgKi9cbiAgc2V0KHRva2VuOiBOYkF1dGhUb2tlbikge1xuICAgIGNvbnN0IHJhdyA9IHRoaXMucGFyY2VsZXIud3JhcCh0b2tlbik7XG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5rZXksIHJhdyk7XG4gIH1cblxuICAvKipcbiAgICogQ2xlYXJzIHRva2VuIGZyb20gbG9jYWxTdG9yYWdlXG4gICAqL1xuICBjbGVhcigpIHtcbiAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSh0aGlzLmtleSk7XG4gIH1cbn1cbiJdfQ==
\No newline at end of file