UNPKG

oidc-client-rx

Version:

ReactiveX enhanced OIDC and OAuth2 protocol support for browser-based JavaScript applications

88 lines (87 loc) 3.55 kB
"use strict"; var __webpack_require__ = {}; (()=>{ __webpack_require__.d = (exports1, definition)=>{ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, { enumerable: true, get: definition[key] }); }; })(); (()=>{ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop); })(); (()=>{ __webpack_require__.r = (exports1)=>{ if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, { value: 'Module' }); Object.defineProperty(exports1, '__esModule', { value: true }); }; })(); var __webpack_exports__ = {}; __webpack_require__.r(__webpack_exports__); __webpack_require__.d(__webpack_exports__, { TanStackRouterAdapter: ()=>TanStackRouterAdapter, TANSTACK_ROUTER: ()=>TANSTACK_ROUTER, withTanstackRouter: ()=>withTanstackRouter }); const injection_js_namespaceObject = require("@outposts/injection-js"); const external_rxjs_namespaceObject = require("rxjs"); const DESTORY_REF = new injection_js_namespaceObject.InjectionToken('destoryRef'); new injection_js_namespaceObject.InjectionToken('document'); class AbstractRouter { } const ROUTER_ABS_PATH_PATTERN = /^\//; const TANSTACK_ROUTER = new injection_js_namespaceObject.InjectionToken('TANSTACK_ROUTER'); class TanStackRouterAdapter { navigateByUrl(url) { this.router.navigate({ href: ROUTER_ABS_PATH_PATTERN.test(url) ? url : `/${url}` }); } getCurrentNavigation() { var _this_beforeLoadToLocation; return { extractedUrl: (null == (_this_beforeLoadToLocation = this.beforeLoadToLocation) ? void 0 : _this_beforeLoadToLocation.href) || this.router.state.location.href }; } constructor(){ this.router = (0, injection_js_namespaceObject.inject)(TANSTACK_ROUTER); this.beforeLoadToLocation = null; this.destoryRef$ = (0, injection_js_namespaceObject.inject)(DESTORY_REF); (0, external_rxjs_namespaceObject.fromEventPattern)((handler)=>this.router.subscribe('onBeforeLoad', handler), (unsubscribe)=>unsubscribe()).pipe((0, external_rxjs_namespaceObject.takeUntil)(this.destoryRef$)).subscribe((event)=>{ this.beforeLoadToLocation = event.toLocation; }); (0, external_rxjs_namespaceObject.fromEventPattern)((handler)=>this.router.subscribe('onResolved', handler), (unsubscribe)=>unsubscribe()).pipe((0, external_rxjs_namespaceObject.takeUntil)(this.destoryRef$)).subscribe(()=>{ this.beforeLoadToLocation = null; }); } } function withTanstackRouter(router) { return { ɵproviders: [ { provide: TANSTACK_ROUTER, useValue: router }, { provide: AbstractRouter, useClass: TanStackRouterAdapter } ] }; } exports.TANSTACK_ROUTER = __webpack_exports__.TANSTACK_ROUTER; exports.TanStackRouterAdapter = __webpack_exports__.TanStackRouterAdapter; exports.withTanstackRouter = __webpack_exports__.withTanstackRouter; for(var __webpack_i__ in __webpack_exports__)if (-1 === [ "TANSTACK_ROUTER", "TanStackRouterAdapter", "withTanstackRouter" ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__]; Object.defineProperty(exports, '__esModule', { value: true });