UNPKG

3.64 kBSource Map (JSON)View Raw
1{"version":3,"file":"token-parceler.js","sourceRoot":"","sources":["../../../../../../.ng_build/auth/services/token/token-parceler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEnE,OAAO,EAAE,iBAAiB,EAAiC,MAAM,SAAS,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AASpD,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,cAAc,CAAmB,sBAAsB,CAAC,CAAC;AAEnG;;GAEG;AAEH,MAAM,OAAO,mBAAmB;IAE9B,YAAoD,aAA+B,EACvC,YAAgC;QADxB,kBAAa,GAAb,aAAa,CAAkB;QACvC,iBAAY,GAAZ,YAAY,CAAoB;IAC5E,CAAC;IAED,IAAI,CAAC,KAAkB;QACrB,OAAO,IAAI,CAAC,SAAS,CAAC;YACpB,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE;YACrB,iBAAiB,EAAE,KAAK,CAAC,oBAAoB,EAAE;YAC/C,SAAS,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE;YACzC,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE;SACxB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,KAAa;QAClB,IAAI,UAAU,GAAqB,IAAI,CAAC,aAAa,CAAC;QACtD,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,sBAAsB,GAAG,EAAE,CAAC;QAChC,IAAI,cAAc,GAAS,IAAI,CAAC;QAEhC,MAAM,SAAS,GAAgB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC1D,IAAI,SAAS,EAAE;YACb,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC;YACvE,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC;YAC7B,sBAAsB,GAAG,SAAS,CAAC,iBAAiB,CAAC;YACrD,cAAc,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;SACxD;QAED,OAAO,iBAAiB,CAAC,UAAU,EAAE,UAAU,EAAE,sBAAsB,EAAE,cAAc,CAAC,CAAC;IAE3F,CAAC;IAED,yDAAyD;IAC/C,cAAc,CAAC,IAAI;QAC3B,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,UAA4B,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAC5F,CAAC;IAES,cAAc,CAAC,KAAK;QAC5B,IAAI;YACF,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SAC1B;QAAC,OAAO,CAAC,EAAE,GAAG;QACf,OAAO,IAAI,CAAC;IACd,CAAC;;;YA5CF,UAAU;;;4CAGI,MAAM,SAAC,sBAAsB;wCAC7B,MAAM,SAAC,cAAc","sourcesContent":["import { Inject, Injectable, InjectionToken } from '@angular/core';\n\nimport { nbAuthCreateToken, NbAuthToken, NbAuthTokenClass } from './token';\nimport { NB_AUTH_TOKENS } from '../../auth.options';\n\nexport interface NbTokenPack {\n name: string,\n ownerStrategyName: string,\n createdAt: Number,\n value: string,\n}\n\nexport const NB_AUTH_FALLBACK_TOKEN = new InjectionToken<NbAuthTokenClass>('Nebular Auth Options');\n\n/**\n * Creates a token parcel which could be stored/restored\n */\n@Injectable()\nexport class NbAuthTokenParceler {\n\n constructor(@Inject(NB_AUTH_FALLBACK_TOKEN) private fallbackClass: NbAuthTokenClass,\n @Inject(NB_AUTH_TOKENS) private tokenClasses: NbAuthTokenClass[]) {\n }\n\n wrap(token: NbAuthToken): string {\n return JSON.stringify({\n name: token.getName(),\n ownerStrategyName: token.getOwnerStrategyName(),\n createdAt: token.getCreatedAt().getTime(),\n value: token.toString(),\n });\n }\n\n unwrap(value: string): NbAuthToken {\n let tokenClass: NbAuthTokenClass = this.fallbackClass;\n let tokenValue = '';\n let tokenOwnerStrategyName = '';\n let tokenCreatedAt: Date = null;\n\n const tokenPack: NbTokenPack = this.parseTokenPack(value);\n if (tokenPack) {\n tokenClass = this.getClassByName(tokenPack.name) || this.fallbackClass;\n tokenValue = tokenPack.value;\n tokenOwnerStrategyName = tokenPack.ownerStrategyName;\n tokenCreatedAt = new Date(Number(tokenPack.createdAt));\n }\n\n return nbAuthCreateToken(tokenClass, tokenValue, tokenOwnerStrategyName, tokenCreatedAt);\n\n }\n\n // TODO: this could be moved to a separate token registry\n protected getClassByName(name): NbAuthTokenClass {\n return this.tokenClasses.find((tokenClass: NbAuthTokenClass) => tokenClass.NAME === name);\n }\n\n protected parseTokenPack(value): NbTokenPack {\n try {\n return JSON.parse(value);\n } catch (e) { }\n return null;\n }\n}\n"]}
\No newline at end of file