UNPKG

2.99 kBSource Map (JSON)View Raw
1{"version":3,"file":"token.service.js","sourceRoot":"","sources":["../../../../../../.ng_build/auth/services/token/token.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAc,eAAe,EAAE,EAAE,IAAI,YAAY,EAAE,MAAM,MAAM,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGjD;;GAEG;AAEH,MAAM,OAAO,cAAc;IAIzB,YAAsB,YAA4B;QAA5B,iBAAY,GAAZ,YAAY,CAAgB;QAFxC,WAAM,GAAiC,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;QAGzE,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACH,WAAW;QACT,OAAO,IAAI,CAAC,MAAM;aACf,IAAI,CACH,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EACxB,KAAK,EAAE,CACR,CAAC;IACN,CAAC;IAED;;;;;OAKG;IACH,GAAG,CAAC,KAAkB;QACpB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACH,GAAG;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;QACtC,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED;;;;OAIG;IACH,KAAK;QACH,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAES,kBAAkB;QAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC;IAC5C,CAAC;;;YAvDF,UAAU;;;YANF,cAAc","sourcesContent":["import { Injectable } from '@angular/core';\nimport { Observable, BehaviorSubject, of as observableOf } from 'rxjs';\nimport { filter, share } from 'rxjs/operators';\n\nimport { NbTokenStorage } from './token-storage';\nimport { NbAuthToken } from './token';\n\n/**\n * Service that allows you to manage authentication token - get, set, clear and also listen to token changes over time.\n */\n@Injectable()\nexport class NbTokenService {\n\n protected token$: BehaviorSubject<NbAuthToken> = new BehaviorSubject(null);\n\n constructor(protected tokenStorage: NbTokenStorage) {\n this.publishStoredToken();\n }\n\n /**\n * Publishes token when it changes.\n * @returns {Observable<NbAuthToken>}\n */\n tokenChange(): Observable<NbAuthToken> {\n return this.token$\n .pipe(\n filter(value => !!value),\n share(),\n );\n }\n\n /**\n * Sets a token into the storage. This method is used by the NbAuthService automatically.\n *\n * @param {NbAuthToken} token\n * @returns {Observable<any>}\n */\n set(token: NbAuthToken): Observable<null> {\n this.tokenStorage.set(token);\n this.publishStoredToken();\n return observableOf(null);\n }\n\n /**\n * Returns observable of current token\n * @returns {Observable<NbAuthToken>}\n */\n get(): Observable<NbAuthToken> {\n const token = this.tokenStorage.get();\n return observableOf(token);\n }\n\n /**\n * Removes the token and published token value\n *\n * @returns {Observable<any>}\n */\n clear(): Observable<null> {\n this.tokenStorage.clear();\n this.publishStoredToken();\n return observableOf(null);\n }\n\n protected publishStoredToken() {\n this.token$.next(this.tokenStorage.get());\n }\n}\n"]}
\No newline at end of file