{"version":3,"file":"ngx-loading-bar-router.mjs","sources":["../../../../packages/router/src/router.service.ts","../../../../packages/router/src/router.module.ts","../../../../packages/router/src/ngx-loading-bar-router.ts"],"sourcesContent":["import { APP_INITIALIZER, Injectable, Provider } from '@angular/core';\nimport {\n  Router,\n  NavigationStart,\n  NavigationError,\n  NavigationEnd,\n  NavigationCancel,\n  ROUTER_INITIALIZER,\n} from '@angular/router';\nimport { LoadingBarService } from '@ngx-loading-bar/core';\n\nfunction getCurrentNavigationState(router: any) {\n  // `getCurrentNavigation` only available in angular `7.2`\n  const currentNavigation = router.getCurrentNavigation && router.getCurrentNavigation();\n  if (currentNavigation && currentNavigation.extras) {\n    return currentNavigation.extras.state;\n  }\n\n  return {};\n}\n\nexport function registerRouterListener(router: Router, loader: LoadingBarService) {\n  return () => {\n    const ref = loader.useRef('router');\n    router.events.subscribe((event) => {\n      const navState = getCurrentNavigationState(router);\n      if (navState && navState.ignoreLoadingBar) {\n        return;\n      }\n\n      if (event instanceof NavigationStart) {\n        ref.start();\n      }\n\n      if (event instanceof NavigationError || event instanceof NavigationEnd || event instanceof NavigationCancel) {\n        ref.complete();\n      }\n    });\n  };\n}\n\nexport function provideLoadingBarRouter(): Provider {\n  return {\n    provide: APP_INITIALIZER,\n    useFactory: registerRouterListener,\n    deps: [Router, LoadingBarService],\n    multi: true,\n  };\n}\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Router } from '@angular/router';\nimport { LoadingBarModule, LoadingBarService } from '@ngx-loading-bar/core';\nimport { registerRouterListener } from './router.service';\n\n@NgModule({\n  imports: [RouterModule, LoadingBarModule],\n  exports: [RouterModule, LoadingBarModule],\n})\nexport class LoadingBarRouterModule {\n  constructor(router: Router, loader: LoadingBarService) {\n    registerRouterListener(router, loader)();\n  }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;;AAWA,SAAS,yBAAyB,CAAC,MAAW,EAAA;;IAE5C,MAAM,iBAAiB,GAAG,MAAM,CAAC,oBAAoB,IAAI,MAAM,CAAC,oBAAoB,EAAE,CAAC;AACvF,IAAA,IAAI,iBAAiB,IAAI,iBAAiB,CAAC,MAAM,EAAE;AACjD,QAAA,OAAO,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC;AACvC,KAAA;AAED,IAAA,OAAO,EAAE,CAAC;AACZ,CAAC;AAEe,SAAA,sBAAsB,CAAC,MAAc,EAAE,MAAyB,EAAA;AAC9E,IAAA,OAAO,MAAK;QACV,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACpC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,KAAI;AAChC,YAAA,MAAM,QAAQ,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;AACnD,YAAA,IAAI,QAAQ,IAAI,QAAQ,CAAC,gBAAgB,EAAE;gBACzC,OAAO;AACR,aAAA;YAED,IAAI,KAAK,YAAY,eAAe,EAAE;gBACpC,GAAG,CAAC,KAAK,EAAE,CAAC;AACb,aAAA;YAED,IAAI,KAAK,YAAY,eAAe,IAAI,KAAK,YAAY,aAAa,IAAI,KAAK,YAAY,gBAAgB,EAAE;gBAC3G,GAAG,CAAC,QAAQ,EAAE,CAAC;AAChB,aAAA;AACH,SAAC,CAAC,CAAC;AACL,KAAC,CAAC;AACJ,CAAC;SAEe,uBAAuB,GAAA;IACrC,OAAO;AACL,QAAA,OAAO,EAAE,eAAe;AACxB,QAAA,UAAU,EAAE,sBAAsB;AAClC,QAAA,IAAI,EAAE,CAAC,MAAM,EAAE,iBAAiB,CAAC;AACjC,QAAA,KAAK,EAAE,IAAI;KACZ,CAAC;AACJ;;MCvCa,sBAAsB,CAAA;IACjC,WAAY,CAAA,MAAc,EAAE,MAAyB,EAAA;AACnD,QAAA,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;KAC1C;+GAHU,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,YAHvB,YAAY,EAAE,gBAAgB,CAC9B,EAAA,OAAA,EAAA,CAAA,YAAY,EAAE,gBAAgB,CAAA,EAAA,CAAA,CAAA,EAAA;AAE7B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,YAHvB,YAAY,EAAE,gBAAgB,EAC9B,YAAY,EAAE,gBAAgB,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAE7B,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAJlC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,gBAAgB,CAAC;AACzC,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,gBAAgB,CAAC;AAC1C,iBAAA,CAAA;;;ACRD;;AAEG;;;;"}