oidc-client-rx
Version:
ReactiveX enhanced OIDC and OAuth2 protocol support for browser-based JavaScript applications
88 lines (87 loc) • 3.55 kB
JavaScript
;
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
});