{"version":3,"file":"prerender-3f5ouu12.js","sources":["packages/vanilla/lib/features/prerender/src/prerender.client-config.ts","packages/vanilla/lib/features/prerender/src/prerender-bootstrap.service.ts","packages/vanilla/lib/features/prerender/src/prerender.feature.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\nimport { ClientConfigProductName, LazyClientConfig, LazyClientConfigBase, LazyClientConfigService } from '@frontend/vanilla/core';\n\n@LazyClientConfig({ key: 'vnPrerender', product: ClientConfigProductName.SF })\n@Injectable({\n providedIn: 'root',\n useFactory: prerenderFactory,\n deps: [LazyClientConfigService],\n})\nexport class PrerenderConfig extends LazyClientConfigBase {\n maxWaitingTime: number;\n}\n\nexport function prerenderFactory(service: LazyClientConfigService) {\n return service.get(PrerenderConfig);\n}\n","import { Injectable, inject } from '@angular/core';\n\nimport { OnFeatureInit, TimerService, WINDOW } from '@frontend/vanilla/core';\n\nimport { PrerenderConfig } from './prerender.client-config';\n\n@Injectable()\nexport class PrerenderBootstrapService implements OnFeatureInit {\n readonly #window = inject(WINDOW);\n\n private get prerenderReady() {\n return this.#window['prerenderReady'];\n }\n\n private set prerenderReady(value: boolean) {\n this.#window['prerenderReady'] = value;\n }\n\n private get authRequired() {\n return this.#window['vnAuthRequired'];\n }\n\n constructor(\n private config: PrerenderConfig,\n\n private timerService: TimerService,\n ) {}\n\n onFeatureInit() {\n this.#window['vnPrerenderStatus'] = () => this.getPrerenderStatus(); // do this ASAP even if config is not ready\n this.config.whenReady.subscribe(() => {\n if (this.prerenderReady === true) {\n return;\n }\n\n this.timerService.setTimeout(() => {\n this.prerenderReady = true;\n }, this.config.maxWaitingTime);\n });\n }\n\n private getPrerenderStatus(): number {\n if (this.authRequired) return 1; // auth required\n if (this.prerenderReady) return 2; // prerender ready\n return 0; // not ready\n }\n}\n","import { runOnFeatureInit } from '@frontend/vanilla/core';\n\nimport { PrerenderBootstrapService } from './prerender-bootstrap.service';\n\nexport function provide() {\n return [runOnFeatureInit(PrerenderBootstrapService)];\n}\n"],"names":["PrerenderConfig","_a","LazyClientConfigBase","h","__ngFactoryType__","factory","__ngConditionalFactory__","prerenderFactory","ɵɵinject","LazyClientConfigService","__decorate","LazyClientConfig","key","product","ClientConfigProductName","SF","service","get","PrerenderBootstrapService","_window","constructor","config","timerService","__privateAdd","inject","WINDOW","prerenderReady","__privateGet","value","authRequired","onFeatureInit","getPrerenderStatus","whenReady","subscribe","setTimeout","maxWaitingTime","TimerService","d","ɵfac","_PrerenderBootstrapService","provide","runOnFeatureInit"],"mappings":"kKAUaA,CAANC,EAAAA,CAAAA,CAAA,cAA8BC,EAAoB,EAAA,CAAA,CAAA,CAAA,SAAA,CAAA,CAAA,IAAA,CAAA,IAAA,CAAA,CAAA,OAAA,SAAA,CAAA,CAAA,CAAA,OAAA,CAAA,CAAA,GAAA,CAAA,CAAAC,EAAA,CAA5CH,CAAe,CAAAI,CAAAA,EAAAA,CAAAA,EAAfJ,CAAe,CAAA,CAAA,IAAfA,CAAAA,CAAAA,CAAAA,UAAAA,CAAAA,CAAAA,CAAAA,CAAAA,KAAAA,CAAAA,CAAAA,CAAeK,QAAA,SAAAD,CAAAA,CAAA,CAAA,IAAAE,CAAAA,CAAA,KAAA,OAAAF,CAAAA,CAAAA,CAAAA,CAAAA,IAAAA,CAAAA,CAAAA,CAAAA,CAHZG,EAAgBC,EACrBC,CAAAA,EAAuB,CAAA,CAFlB,CAAA,CAAA,CAAA,CAAA,UAAA,CAAA,MAAM,CAAA,CAIfR,CAAAA,CAAAA,CAAAA,CAAMD,EAAeU,EAAA,CAAA,CAN3BC,GAAiB,CAAEC,GAAAA,CAAK,cAAeC,OAASC,CAAAA,CAAAA,CAAwBC,EAAE,CAAE,CAAC,EAMjEf,CAAe,CAAA,CAItB,SAAUO,CAAiBS,CAAAA,CAAAA,CAAgC,CAC7D,OAAOA,CAAAA,CAAQC,IAAIjB,CAAe,CACtC,CCTA,IAAakB,CAAAA,CAAAA,CAAyB,IAAA,CAPtC,IAAAC,EAOM,IAAOD,CAAAA,CAAP,MAAOA,CAAyB,CAelCE,YACYC,CAEAC,CAAAA,CAAAA,CAA0B,CAjB7BC,CAAA,CAAA,IAAA,CAAAJ,EAAUK,CAAOC,CAAAA,CAAM,GAepB,IAAAJ,CAAAA,MAAAA,CAAAA,EAEA,IAAAC,CAAAA,YAAAA,CAAAA,EACT,CAhBH,IAAYI,gBAAc,CACtB,OAAOC,EAAA,IAAKR,CAAAA,CAAAA,CAAAA,CAAQ,cACxB,CAEA,IAAYO,eAAeE,CAAc,CAAA,CACrCD,EAAA,IAAKR,CAAAA,CAAAA,CAAAA,CAAQ,eAAoBS,EACrC,CAEA,IAAYC,YAAY,EAAA,CACpB,OAAOF,CAAA,CAAA,IAAA,CAAKR,GAAQ,cACxB,CAQAW,eAAa,CACTH,CAAAA,CAAA,KAAKR,CAAQ,CAAA,CAAA,iBAAA,CAAuB,IAAM,IAAKY,CAAAA,kBAAAA,GAC/C,IAAKV,CAAAA,MAAAA,CAAOW,UAAUC,SAAU,CAAA,IAAK,CAC7B,IAAKP,CAAAA,cAAAA,GAAmB,IAI5B,IAAKJ,CAAAA,YAAAA,CAAaY,WAAW,IAAK,CAC9B,KAAKR,cAAiB,CAAA,CAAA,EAC1B,EAAG,IAAKL,CAAAA,MAAAA,CAAOc,cAAc,EACjC,CAAC,EACL,CAEQJ,kBAAAA,EAAkB,CACtB,OAAI,IAAA,CAAKF,aAAqB,CAC1B,CAAA,IAAA,CAAKH,eAAuB,CACzB,CAAA,CACX,GArCSP,CAAA,CAAA,IAAA,OAAA,CAAA,CAAA,CAAA,SAAA,CAAA,SAAA,CAAA,CAAA,CAAA,OAAA,IAAA,CAAA,EADAD,GAAyBV,EAAAR,CAAAA,CAAA,EAAAQ,EAAA4B,CAAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,UAAA,CAAAC,CAAA,CAAA,CAAA,KAAA,CAAzBnB,EAAyBb,OAAzBa,CAAAA,CAAAA,CAAyBoB,SAAA,CAAA,CAAA,CAAhC,IAAOpB,CAAPqB,CAAAA,CAAAA,CAAAA,OAAOrB,CAAyB,CAAA,GAAA,CCHhC,SAAUsB,CAAO,EAAA,CACnB,OAAO,CAACC,EAAAA,CAAiBvB,CAAyB,CAAC,CACvD"}