@absolutejs/absolute 0.19.0-beta.951 → 0.19.0-beta.953
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/angular/components/core/streamingSlotRegistrar.js +1 -1
- package/dist/angular/components/core/streamingSlotRegistry.js +2 -2
- package/dist/angular/index.js +11953 -5023
- package/dist/angular/index.js.map +20 -10
- package/dist/angular/server.js +18383 -2517
- package/dist/angular/server.js.map +239 -6
- package/dist/build.js +26 -4
- package/dist/build.js.map +5 -4
- package/dist/index.js +158 -48
- package/dist/index.js.map +9 -7
- package/dist/react/index.js +29 -9
- package/dist/react/index.js.map +3 -3
- package/dist/react/server.js +29 -9
- package/dist/react/server.js.map +3 -3
- package/dist/src/angular/enumerateSpaRoutes.d.ts +6 -0
- package/dist/src/angular/index.d.ts +1 -0
- package/dist/src/angular/internal/captureProvideRouter.d.ts +11 -0
- package/dist/src/build/rewriteProvideRouter.d.ts +5 -0
- package/dist/src/core/devRouteRegistrationCallsite.d.ts +1 -0
- package/dist/src/utils/generateSitemap.d.ts +8 -2
- package/dist/src/utils/spaRouteEnumeration.d.ts +23 -0
- package/dist/svelte/index.js +29 -9
- package/dist/svelte/index.js.map +3 -3
- package/dist/svelte/server.js +29 -9
- package/dist/svelte/server.js.map +3 -3
- package/dist/types/angular.d.ts +9 -0
- package/dist/vue/index.js +29 -9
- package/dist/vue/index.js.map +3 -3
- package/dist/vue/server.js +29 -9
- package/dist/vue/server.js.map +3 -3
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../src/angular/httpTransferCache.ts", "../src/constants.ts", "../src/utils/ssrErrorPage.ts", "../src/utils/stringModifiers.ts", "../src/utils/registerClientScript.ts", "../src/angular/resolveAngularPackage.ts", "../src/utils/runtimeMode.ts", "../src/angular/angularPatch.ts", "../src/angular/angularDeps.ts", "../src/core/currentIslandRegistry.ts", "../src/angular/requestProviders.ts", "../src/angular/ssrRender.ts", "../src/angular/islands.ts", "../src/core/islandSsr.ts", "../src/build/resolvePackageImport.ts", "../src/svelte/lowerIslandSyntax.ts", "../src/svelte/lowerAwaitSlotSyntax.ts", "../src/build/stylePreprocessor.ts", "../src/core/svelteServerModule.ts", "../src/core/vueServerModule.ts", "../src/core/islandManifest.ts", "../src/core/islands.ts", "../src/core/islandMarkupAttributes.ts", "../src/core/renderIslandMarkup.ts", "../src/core/devRouteRegistrationCallsite.ts", "../src/client/streamSwap.ts", "../src/utils/escapeScriptContent.ts", "../src/utils/streamingSlots.ts", "../src/utils/getDurationString.ts", "../src/utils/startupBanner.ts", "../src/utils/logger.ts", "../src/islands/sourceMetadata.ts", "../src/angular/lowerDeferSyntax.ts", "../src/utils/generatedDir.ts", "../src/build/compileAngular.ts", "../src/core/streamingSlotRegistrar.ts", "../src/core/streamingSlotRegistry.ts", "../src/angular/deterministicEnv.ts", "../src/angular/pageHandler.ts", "../src/core/islandPageContext.ts", "../src/utils/resolveConvention.ts", "../src/angular/animationProviders.ts", "../src/angular/routerRedirectProviders.ts", "../src/angular/lowerServerIslands.ts", "../src/angular/ssrSanitizer.ts", "../src/core/responseEnhancers.ts", "../src/core/streamingSlotWarningScope.ts", "../src/angular/page.ts", "../src/angular/pendingTask.ts"],
|
|
3
|
+
"sources": ["../src/angular/httpTransferCache.ts", "../src/constants.ts", "../src/utils/ssrErrorPage.ts", "../src/utils/stringModifiers.ts", "../src/utils/registerClientScript.ts", "../src/angular/resolveAngularPackage.ts", "../src/utils/runtimeMode.ts", "../src/angular/angularPatch.ts", "../src/angular/angularDeps.ts", "../src/core/currentIslandRegistry.ts", "../src/angular/requestProviders.ts", "../src/angular/ssrRender.ts", "../src/angular/islands.ts", "../src/core/islandSsr.ts", "../src/build/resolvePackageImport.ts", "../src/svelte/lowerIslandSyntax.ts", "../src/svelte/lowerAwaitSlotSyntax.ts", "../src/build/stylePreprocessor.ts", "../src/core/svelteServerModule.ts", "../src/core/vueServerModule.ts", "../src/core/islandManifest.ts", "../src/core/islands.ts", "../src/core/islandMarkupAttributes.ts", "../src/core/renderIslandMarkup.ts", "../src/core/devRouteRegistrationCallsite.ts", "../src/client/streamSwap.ts", "../src/utils/escapeScriptContent.ts", "../src/utils/streamingSlots.ts", "../src/utils/getDurationString.ts", "../src/utils/startupBanner.ts", "../src/utils/logger.ts", "../src/utils/spaRouteEnumeration.ts", "../node_modules/rxjs/dist/cjs/internal/util/isFunction.js", "../node_modules/rxjs/dist/cjs/internal/util/createErrorClass.js", "../node_modules/rxjs/dist/cjs/internal/util/UnsubscriptionError.js", "../node_modules/rxjs/dist/cjs/internal/util/arrRemove.js", "../node_modules/rxjs/dist/cjs/internal/Subscription.js", "../node_modules/rxjs/dist/cjs/internal/config.js", "../node_modules/rxjs/dist/cjs/internal/scheduler/timeoutProvider.js", "../node_modules/rxjs/dist/cjs/internal/util/reportUnhandledError.js", "../node_modules/rxjs/dist/cjs/internal/util/noop.js", "../node_modules/rxjs/dist/cjs/internal/NotificationFactories.js", "../node_modules/rxjs/dist/cjs/internal/util/errorContext.js", "../node_modules/rxjs/dist/cjs/internal/Subscriber.js", "../node_modules/rxjs/dist/cjs/internal/symbol/observable.js", "../node_modules/rxjs/dist/cjs/internal/util/identity.js", "../node_modules/rxjs/dist/cjs/internal/util/pipe.js", "../node_modules/rxjs/dist/cjs/internal/Observable.js", "../node_modules/rxjs/dist/cjs/internal/util/lift.js", "../node_modules/rxjs/dist/cjs/internal/operators/OperatorSubscriber.js", "../node_modules/rxjs/dist/cjs/internal/operators/refCount.js", "../node_modules/rxjs/dist/cjs/internal/observable/ConnectableObservable.js", "../node_modules/rxjs/dist/cjs/internal/scheduler/performanceTimestampProvider.js", "../node_modules/rxjs/dist/cjs/internal/scheduler/animationFrameProvider.js", "../node_modules/rxjs/dist/cjs/internal/observable/dom/animationFrames.js", "../node_modules/rxjs/dist/cjs/internal/util/ObjectUnsubscribedError.js", "../node_modules/rxjs/dist/cjs/internal/Subject.js", "../node_modules/rxjs/dist/cjs/internal/BehaviorSubject.js", "../node_modules/rxjs/dist/cjs/internal/scheduler/dateTimestampProvider.js", "../node_modules/rxjs/dist/cjs/internal/ReplaySubject.js", "../node_modules/rxjs/dist/cjs/internal/AsyncSubject.js", "../node_modules/rxjs/dist/cjs/internal/scheduler/Action.js", "../node_modules/rxjs/dist/cjs/internal/scheduler/intervalProvider.js", "../node_modules/rxjs/dist/cjs/internal/scheduler/AsyncAction.js", "../node_modules/rxjs/dist/cjs/internal/util/Immediate.js", "../node_modules/rxjs/dist/cjs/internal/scheduler/immediateProvider.js", "../node_modules/rxjs/dist/cjs/internal/scheduler/AsapAction.js", "../node_modules/rxjs/dist/cjs/internal/Scheduler.js", "../node_modules/rxjs/dist/cjs/internal/scheduler/AsyncScheduler.js", "../node_modules/rxjs/dist/cjs/internal/scheduler/AsapScheduler.js", "../node_modules/rxjs/dist/cjs/internal/scheduler/asap.js", "../node_modules/rxjs/dist/cjs/internal/scheduler/async.js", "../node_modules/rxjs/dist/cjs/internal/scheduler/QueueAction.js", "../node_modules/rxjs/dist/cjs/internal/scheduler/QueueScheduler.js", "../node_modules/rxjs/dist/cjs/internal/scheduler/queue.js", "../node_modules/rxjs/dist/cjs/internal/scheduler/AnimationFrameAction.js", "../node_modules/rxjs/dist/cjs/internal/scheduler/AnimationFrameScheduler.js", "../node_modules/rxjs/dist/cjs/internal/scheduler/animationFrame.js", "../node_modules/rxjs/dist/cjs/internal/scheduler/VirtualTimeScheduler.js", "../node_modules/rxjs/dist/cjs/internal/observable/empty.js", "../node_modules/rxjs/dist/cjs/internal/util/isScheduler.js", "../node_modules/rxjs/dist/cjs/internal/util/args.js", "../node_modules/rxjs/dist/cjs/internal/util/isArrayLike.js", "../node_modules/rxjs/dist/cjs/internal/util/isPromise.js", "../node_modules/rxjs/dist/cjs/internal/util/isInteropObservable.js", "../node_modules/rxjs/dist/cjs/internal/util/isAsyncIterable.js", "../node_modules/rxjs/dist/cjs/internal/util/throwUnobservableError.js", "../node_modules/rxjs/dist/cjs/internal/symbol/iterator.js", "../node_modules/rxjs/dist/cjs/internal/util/isIterable.js", "../node_modules/rxjs/dist/cjs/internal/util/isReadableStreamLike.js", "../node_modules/rxjs/dist/cjs/internal/observable/innerFrom.js", "../node_modules/rxjs/dist/cjs/internal/util/executeSchedule.js", "../node_modules/rxjs/dist/cjs/internal/operators/observeOn.js", "../node_modules/rxjs/dist/cjs/internal/operators/subscribeOn.js", "../node_modules/rxjs/dist/cjs/internal/scheduled/scheduleObservable.js", "../node_modules/rxjs/dist/cjs/internal/scheduled/schedulePromise.js", "../node_modules/rxjs/dist/cjs/internal/scheduled/scheduleArray.js", "../node_modules/rxjs/dist/cjs/internal/scheduled/scheduleIterable.js", "../node_modules/rxjs/dist/cjs/internal/scheduled/scheduleAsyncIterable.js", "../node_modules/rxjs/dist/cjs/internal/scheduled/scheduleReadableStreamLike.js", "../node_modules/rxjs/dist/cjs/internal/scheduled/scheduled.js", "../node_modules/rxjs/dist/cjs/internal/observable/from.js", "../node_modules/rxjs/dist/cjs/internal/observable/of.js", "../node_modules/rxjs/dist/cjs/internal/observable/throwError.js", "../node_modules/rxjs/dist/cjs/internal/Notification.js", "../node_modules/rxjs/dist/cjs/internal/util/isObservable.js", "../node_modules/rxjs/dist/cjs/internal/util/EmptyError.js", "../node_modules/rxjs/dist/cjs/internal/lastValueFrom.js", "../node_modules/rxjs/dist/cjs/internal/firstValueFrom.js", "../node_modules/rxjs/dist/cjs/internal/util/ArgumentOutOfRangeError.js", "../node_modules/rxjs/dist/cjs/internal/util/NotFoundError.js", "../node_modules/rxjs/dist/cjs/internal/util/SequenceError.js", "../node_modules/rxjs/dist/cjs/internal/util/isDate.js", "../node_modules/rxjs/dist/cjs/internal/operators/timeout.js", "../node_modules/rxjs/dist/cjs/internal/operators/map.js", "../node_modules/rxjs/dist/cjs/internal/util/mapOneOrManyArgs.js", "../node_modules/rxjs/dist/cjs/internal/observable/bindCallbackInternals.js", "../node_modules/rxjs/dist/cjs/internal/observable/bindCallback.js", "../node_modules/rxjs/dist/cjs/internal/observable/bindNodeCallback.js", "../node_modules/rxjs/dist/cjs/internal/util/argsArgArrayOrObject.js", "../node_modules/rxjs/dist/cjs/internal/util/createObject.js", "../node_modules/rxjs/dist/cjs/internal/observable/combineLatest.js", "../node_modules/rxjs/dist/cjs/internal/operators/mergeInternals.js", "../node_modules/rxjs/dist/cjs/internal/operators/mergeMap.js", "../node_modules/rxjs/dist/cjs/internal/operators/mergeAll.js", "../node_modules/rxjs/dist/cjs/internal/operators/concatAll.js", "../node_modules/rxjs/dist/cjs/internal/observable/concat.js", "../node_modules/rxjs/dist/cjs/internal/observable/defer.js", "../node_modules/rxjs/dist/cjs/internal/observable/connectable.js", "../node_modules/rxjs/dist/cjs/internal/observable/forkJoin.js", "../node_modules/rxjs/dist/cjs/internal/observable/fromEvent.js", "../node_modules/rxjs/dist/cjs/internal/observable/fromEventPattern.js", "../node_modules/rxjs/dist/cjs/internal/observable/generate.js", "../node_modules/rxjs/dist/cjs/internal/observable/iif.js", "../node_modules/rxjs/dist/cjs/internal/observable/timer.js", "../node_modules/rxjs/dist/cjs/internal/observable/interval.js", "../node_modules/rxjs/dist/cjs/internal/observable/merge.js", "../node_modules/rxjs/dist/cjs/internal/observable/never.js", "../node_modules/rxjs/dist/cjs/internal/util/argsOrArgArray.js", "../node_modules/rxjs/dist/cjs/internal/observable/onErrorResumeNext.js", "../node_modules/rxjs/dist/cjs/internal/observable/pairs.js", "../node_modules/rxjs/dist/cjs/internal/util/not.js", "../node_modules/rxjs/dist/cjs/internal/operators/filter.js", "../node_modules/rxjs/dist/cjs/internal/observable/partition.js", "../node_modules/rxjs/dist/cjs/internal/observable/race.js", "../node_modules/rxjs/dist/cjs/internal/observable/range.js", "../node_modules/rxjs/dist/cjs/internal/observable/using.js", "../node_modules/rxjs/dist/cjs/internal/observable/zip.js", "../node_modules/rxjs/dist/cjs/internal/types.js", "../node_modules/rxjs/dist/cjs/internal/operators/audit.js", "../node_modules/rxjs/dist/cjs/internal/operators/auditTime.js", "../node_modules/rxjs/dist/cjs/internal/operators/buffer.js", "../node_modules/rxjs/dist/cjs/internal/operators/bufferCount.js", "../node_modules/rxjs/dist/cjs/internal/operators/bufferTime.js", "../node_modules/rxjs/dist/cjs/internal/operators/bufferToggle.js", "../node_modules/rxjs/dist/cjs/internal/operators/bufferWhen.js", "../node_modules/rxjs/dist/cjs/internal/operators/catchError.js", "../node_modules/rxjs/dist/cjs/internal/operators/scanInternals.js", "../node_modules/rxjs/dist/cjs/internal/operators/reduce.js", "../node_modules/rxjs/dist/cjs/internal/operators/toArray.js", "../node_modules/rxjs/dist/cjs/internal/operators/joinAllInternals.js", "../node_modules/rxjs/dist/cjs/internal/operators/combineLatestAll.js", "../node_modules/rxjs/dist/cjs/internal/operators/combineAll.js", "../node_modules/rxjs/dist/cjs/internal/operators/combineLatest.js", "../node_modules/rxjs/dist/cjs/internal/operators/combineLatestWith.js", "../node_modules/rxjs/dist/cjs/internal/operators/concatMap.js", "../node_modules/rxjs/dist/cjs/internal/operators/concatMapTo.js", "../node_modules/rxjs/dist/cjs/internal/operators/concat.js", "../node_modules/rxjs/dist/cjs/internal/operators/concatWith.js", "../node_modules/rxjs/dist/cjs/internal/observable/fromSubscribable.js", "../node_modules/rxjs/dist/cjs/internal/operators/connect.js", "../node_modules/rxjs/dist/cjs/internal/operators/count.js", "../node_modules/rxjs/dist/cjs/internal/operators/debounce.js", "../node_modules/rxjs/dist/cjs/internal/operators/debounceTime.js", "../node_modules/rxjs/dist/cjs/internal/operators/defaultIfEmpty.js", "../node_modules/rxjs/dist/cjs/internal/operators/take.js", "../node_modules/rxjs/dist/cjs/internal/operators/ignoreElements.js", "../node_modules/rxjs/dist/cjs/internal/operators/mapTo.js", "../node_modules/rxjs/dist/cjs/internal/operators/delayWhen.js", "../node_modules/rxjs/dist/cjs/internal/operators/delay.js", "../node_modules/rxjs/dist/cjs/internal/operators/dematerialize.js", "../node_modules/rxjs/dist/cjs/internal/operators/distinct.js", "../node_modules/rxjs/dist/cjs/internal/operators/distinctUntilChanged.js", "../node_modules/rxjs/dist/cjs/internal/operators/distinctUntilKeyChanged.js", "../node_modules/rxjs/dist/cjs/internal/operators/throwIfEmpty.js", "../node_modules/rxjs/dist/cjs/internal/operators/elementAt.js", "../node_modules/rxjs/dist/cjs/internal/operators/endWith.js", "../node_modules/rxjs/dist/cjs/internal/operators/every.js", "../node_modules/rxjs/dist/cjs/internal/operators/exhaustMap.js", "../node_modules/rxjs/dist/cjs/internal/operators/exhaustAll.js", "../node_modules/rxjs/dist/cjs/internal/operators/exhaust.js", "../node_modules/rxjs/dist/cjs/internal/operators/expand.js", "../node_modules/rxjs/dist/cjs/internal/operators/finalize.js", "../node_modules/rxjs/dist/cjs/internal/operators/find.js", "../node_modules/rxjs/dist/cjs/internal/operators/findIndex.js", "../node_modules/rxjs/dist/cjs/internal/operators/first.js", "../node_modules/rxjs/dist/cjs/internal/operators/groupBy.js", "../node_modules/rxjs/dist/cjs/internal/operators/isEmpty.js", "../node_modules/rxjs/dist/cjs/internal/operators/takeLast.js", "../node_modules/rxjs/dist/cjs/internal/operators/last.js", "../node_modules/rxjs/dist/cjs/internal/operators/materialize.js", "../node_modules/rxjs/dist/cjs/internal/operators/max.js", "../node_modules/rxjs/dist/cjs/internal/operators/flatMap.js", "../node_modules/rxjs/dist/cjs/internal/operators/mergeMapTo.js", "../node_modules/rxjs/dist/cjs/internal/operators/mergeScan.js", "../node_modules/rxjs/dist/cjs/internal/operators/merge.js", "../node_modules/rxjs/dist/cjs/internal/operators/mergeWith.js", "../node_modules/rxjs/dist/cjs/internal/operators/min.js", "../node_modules/rxjs/dist/cjs/internal/operators/multicast.js", "../node_modules/rxjs/dist/cjs/internal/operators/onErrorResumeNextWith.js", "../node_modules/rxjs/dist/cjs/internal/operators/pairwise.js", "../node_modules/rxjs/dist/cjs/internal/operators/pluck.js", "../node_modules/rxjs/dist/cjs/internal/operators/publish.js", "../node_modules/rxjs/dist/cjs/internal/operators/publishBehavior.js", "../node_modules/rxjs/dist/cjs/internal/operators/publishLast.js", "../node_modules/rxjs/dist/cjs/internal/operators/publishReplay.js", "../node_modules/rxjs/dist/cjs/internal/operators/raceWith.js", "../node_modules/rxjs/dist/cjs/internal/operators/repeat.js", "../node_modules/rxjs/dist/cjs/internal/operators/repeatWhen.js", "../node_modules/rxjs/dist/cjs/internal/operators/retry.js", "../node_modules/rxjs/dist/cjs/internal/operators/retryWhen.js", "../node_modules/rxjs/dist/cjs/internal/operators/sample.js", "../node_modules/rxjs/dist/cjs/internal/operators/sampleTime.js", "../node_modules/rxjs/dist/cjs/internal/operators/scan.js", "../node_modules/rxjs/dist/cjs/internal/operators/sequenceEqual.js", "../node_modules/rxjs/dist/cjs/internal/operators/share.js", "../node_modules/rxjs/dist/cjs/internal/operators/shareReplay.js", "../node_modules/rxjs/dist/cjs/internal/operators/single.js", "../node_modules/rxjs/dist/cjs/internal/operators/skip.js", "../node_modules/rxjs/dist/cjs/internal/operators/skipLast.js", "../node_modules/rxjs/dist/cjs/internal/operators/skipUntil.js", "../node_modules/rxjs/dist/cjs/internal/operators/skipWhile.js", "../node_modules/rxjs/dist/cjs/internal/operators/startWith.js", "../node_modules/rxjs/dist/cjs/internal/operators/switchMap.js", "../node_modules/rxjs/dist/cjs/internal/operators/switchAll.js", "../node_modules/rxjs/dist/cjs/internal/operators/switchMapTo.js", "../node_modules/rxjs/dist/cjs/internal/operators/switchScan.js", "../node_modules/rxjs/dist/cjs/internal/operators/takeUntil.js", "../node_modules/rxjs/dist/cjs/internal/operators/takeWhile.js", "../node_modules/rxjs/dist/cjs/internal/operators/tap.js", "../node_modules/rxjs/dist/cjs/internal/operators/throttle.js", "../node_modules/rxjs/dist/cjs/internal/operators/throttleTime.js", "../node_modules/rxjs/dist/cjs/internal/operators/timeInterval.js", "../node_modules/rxjs/dist/cjs/internal/operators/timeoutWith.js", "../node_modules/rxjs/dist/cjs/internal/operators/timestamp.js", "../node_modules/rxjs/dist/cjs/internal/operators/window.js", "../node_modules/rxjs/dist/cjs/internal/operators/windowCount.js", "../node_modules/rxjs/dist/cjs/internal/operators/windowTime.js", "../node_modules/rxjs/dist/cjs/internal/operators/windowToggle.js", "../node_modules/rxjs/dist/cjs/internal/operators/windowWhen.js", "../node_modules/rxjs/dist/cjs/internal/operators/withLatestFrom.js", "../node_modules/rxjs/dist/cjs/internal/operators/zipAll.js", "../node_modules/rxjs/dist/cjs/internal/operators/zip.js", "../node_modules/rxjs/dist/cjs/internal/operators/zipWith.js", "../node_modules/rxjs/dist/cjs/index.js", "../node_modules/rxjs/dist/cjs/internal/operators/partition.js", "../node_modules/rxjs/dist/cjs/internal/operators/race.js", "../node_modules/rxjs/dist/cjs/operators/index.js", "../src/build/rewriteProvideRouter.ts", "../src/islands/sourceMetadata.ts", "../src/angular/lowerDeferSyntax.ts", "../src/utils/generatedDir.ts", "../src/build/compileAngular.ts", "../src/core/streamingSlotRegistrar.ts", "../src/core/streamingSlotRegistry.ts", "../src/angular/deterministicEnv.ts", "../src/angular/pageHandler.ts", "../src/core/islandPageContext.ts", "../src/utils/resolveConvention.ts", "../src/angular/animationProviders.ts", "../src/angular/routerRedirectProviders.ts", "../src/angular/lowerServerIslands.ts", "../src/angular/ssrSanitizer.ts", "../src/core/responseEnhancers.ts", "../src/core/streamingSlotWarningScope.ts", "../node_modules/@angular/router/fesm2022/_router-chunk.mjs", "../node_modules/@angular/router/fesm2022/_router_module-chunk.mjs", "../node_modules/@angular/router/fesm2022/router.mjs", "../src/angular/internal/captureProvideRouter.ts", "../src/angular/enumerateSpaRoutes.ts", "../src/angular/page.ts", "../src/angular/pendingTask.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
5
|
"import type { HttpTransferCacheOptions } from '@angular/common/http';\n\nexport const ABSOLUTE_HTTP_TRANSFER_CACHE_SKIP_HEADER = 'x-skip-transfer-cache';\n\nexport type AbsoluteHttpTransferCacheOptions = Omit<\n\tHttpTransferCacheOptions,\n\t'filter'\n> & {\n\tfilter?: NonNullable<HttpTransferCacheOptions['filter']>;\n\tskipHeader?: string;\n};\n\nexport const buildAbsoluteHttpTransferCacheOptions = (\n\toptions: AbsoluteHttpTransferCacheOptions = {}\n) => {\n\tconst {\n\t\tfilter: userFilter,\n\t\tskipHeader = ABSOLUTE_HTTP_TRANSFER_CACHE_SKIP_HEADER,\n\t\t...angularOptions\n\t} = options;\n\n\treturn {\n\t\tincludePostRequests: false,\n\t\tincludeRequestsWithAuthHeaders: false,\n\t\t...angularOptions,\n\t\tfilter: (request) =>\n\t\t\t!request.headers.has(skipHeader) && (userFilter?.(request) ?? true)\n\t} satisfies HttpTransferCacheOptions;\n};\n",
|
|
6
6
|
"export const ANGULAR_INIT_TIMEOUT_MS = 500;\nexport const ANSI_ESCAPE_CODE = 27;\nexport const ANSI_ESCAPE_LENGTH = 3;\nexport const ASCII_SPACE = 32;\nexport const BASE_36_RADIX = 36;\nexport const BUN_BUILD_WARNING_SUPPRESSION =\n\t'wildcard sideEffects are not supported yet';\nexport const BODY_SLICE_LENGTH = 2000;\nexport const BYTES_PER_KILOBYTE = 1024;\nexport const CLI_ARGS_OFFSET = 3;\nexport const CSS_ERROR_RESOLVE_DELAY_MS = 50;\nexport const CSS_MAX_CHECK_ATTEMPTS = 10;\nexport const CSS_MAX_PARSE_TIMEOUT_MS = 500;\nexport const CSS_SHEET_READY_TIMEOUT_MS = 100;\nexport const DEFAULT_CHUNK_SIZE = 16_384;\nexport const DEFAULT_DEBOUNCE_MS = 15;\nexport const DEFAULT_PORT = 3000;\nexport const DEV_SERVER_RESTART_DEBOUNCE_MS = 100;\nexport const DOM_UPDATE_DELAY_MS = 50;\nexport const FILE_PROTOCOL_PREFIX_LENGTH = 7;\nexport const FOCUS_ID_PREFIX_LENGTH = 3;\nexport const FOCUS_IDX_PREFIX_LENGTH = 4;\nexport const FOCUS_NAME_PREFIX_LENGTH = 5;\nexport const HMR_UPDATE_TIMEOUT_MS = 2000;\nexport const HOOK_SIGNATURE_LENGTH = 12;\nexport const EXCLUDE_LAST_OFFSET = -1;\nexport const HTTP_STATUS_OK = 200;\nexport const HTTP_STATUS_BAD_REQUEST = 400;\nexport const HTTP_STATUS_NOT_FOUND = 404;\nexport const HOURS_IN_DAY = 24;\nexport const HOURS_IN_HALF_DAY = 12;\nexport const IMAGE_DEFAULT_DEVICE_SIZES = [\n\t640, 750, 828, 1080, 1200, 1920, 2048, 3840\n];\nexport const IMAGE_DEFAULT_IMAGE_SIZES = [16, 32, 48, 64, 96, 128, 256, 384];\nexport const IMAGE_DEFAULT_QUALITY = 75;\nexport const IMAGE_GLOB_SUFFIX_LENGTH = 2;\nexport const MAX_ERROR_LENGTH = 200;\nexport const MAX_RECONNECT_ATTEMPTS = 60;\nexport const MILLISECONDS_IN_A_SECOND = 1000;\nexport const MINUTES_IN_AN_HOUR = 60;\nexport const SECONDS_IN_A_MINUTE = 60;\nexport const MILLISECONDS_IN_A_MINUTE =\n\tMILLISECONDS_IN_A_SECOND * SECONDS_IN_A_MINUTE;\nexport const MILLISECONDS_IN_A_DAY =\n\tMILLISECONDS_IN_A_SECOND *\n\tSECONDS_IN_A_MINUTE *\n\tMINUTES_IN_AN_HOUR *\n\tHOURS_IN_DAY;\nexport const OVERLAY_FADE_DURATION_MS = 150;\nexport const PING_INTERVAL_MS = 30_000;\nexport const RAF_BATCH_COUNT = 3;\nexport const RANDOM_ID_END_INDEX = 11;\nexport const REBUILD_BATCH_DELAY_MS = 10;\nexport const REBUILD_RELOAD_DELAY_MS = 200;\nexport const RECONNECT_INITIAL_DELAY_MS = 500;\nexport const RECONNECT_POLL_INTERVAL_MS = 300;\nexport const REACT_STREAM_SLOT_FAST_DELAY_MS = 5;\nexport const REACT_STREAM_SLOT_SLOW_DELAY_MS = 20;\nexport const SIGINT_EXIT_CODE = 130;\nexport const SIGTERM_EXIT_CODE = 143;\nexport const SVELTE_CSS_LOAD_TIMEOUT_MS = 500;\nexport const TIME_PRECISION = 2;\nexport const TWO_THIRDS = 2 / 3;\nexport const UNFOUND_INDEX = -1;\nexport const WEBSOCKET_NORMAL_CLOSURE = 1000;\nexport const WORKSPACE_COMMAND_ARGS_OFFSET = 3;\nexport const WORKSPACE_FAILURE_LOG_PRINT_LIMIT = 30;\nexport const WORKSPACE_FAILURE_RECENT_LOG_LIMIT = 60;\nexport const WORKSPACE_READY_ATTEMPT_TIMEOUT_MS = 5_000;\nexport const WORKSPACE_READY_PROBE_INTERVAL_MS = 250;\nexport const WORKSPACE_READY_TIMEOUT_MS = 30_000;\nexport const WORKSPACE_SHUTDOWN_TIMEOUT_MS = 10_000;\nexport const WORKSPACE_TUI_DEFAULT_HEIGHT = 28;\nexport const WORKSPACE_TUI_DEFAULT_WIDTH = 100;\nexport const WORKSPACE_TUI_ESCAPE_SEQUENCE_TIMEOUT_MS = 30;\nexport const WORKSPACE_TUI_FOOTER_LINE_COUNT = 3;\nexport const WORKSPACE_TUI_MIN_LOG_HEIGHT = 3;\nexport const WORKSPACE_TUI_MIN_SERVICE_NAME_WIDTH = 7;\nexport const WORKSPACE_TUI_MIN_TARGET_WIDTH = 8;\nexport const WORKSPACE_TUI_MIN_WRAP_WIDTH = 12;\nexport const WORKSPACE_TUI_PROMPT_CURSOR_OFFSET = 3;\nexport const WORKSPACE_TUI_RECENT_LOG_LIMIT = 40;\nexport const WORKSPACE_TUI_RENDER_DEBOUNCE_MS = 16;\nexport const WORKSPACE_TUI_STATUS_WIDTH = 10;\nexport const WORKSPACE_TUI_TARGET_PADDING_WIDTH = 6;\nexport const WORKSPACE_TUI_VISIBILITY_WIDTH = 8;\n",
|
|
@@ -26,21 +26,249 @@
|
|
|
26
26
|
"import type {\n\tIslandComponentDefinition,\n\tIslandRegistry,\n\tIslandRegistryInput\n} from '../../types/island';\n\nexport const defineIslandComponent = <Component>(\n\tcomponent: Component,\n\toptions: {\n\t\texport?: string;\n\t\tsource: string;\n\t}\n): IslandComponentDefinition<Component> => ({\n\tcomponent,\n\texport: options.export,\n\tsource: options.source\n});\nexport const defineIslandRegistry = <T extends IslandRegistryInput>(\n\tregistry: IslandRegistry<T>\n) => registry;\n\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n\ttypeof value === 'object' && value !== null;\n\nexport const getIslandBuildReference = <Component>(\n\tcomponent: Component | IslandComponentDefinition<Component>\n) => {\n\tif (!isIslandComponentDefinition(component)) return null;\n\n\treturn {\n\t\texport: component.export,\n\t\tsource: component.source\n\t};\n};\nexport const isIslandComponentDefinition = <Component>(\n\tvalue: Component | IslandComponentDefinition<Component>\n): value is IslandComponentDefinition<Component> =>\n\tisRecord(value) &&\n\t'component' in value &&\n\t'source' in value &&\n\ttypeof value.source === 'string';\n\nexport function getIslandComponent<Component>(component: Component): Component;\nexport function getIslandComponent<Component>(\n\tcomponent: IslandComponentDefinition<Component>\n): Component;\nexport function getIslandComponent<Component>(\n\tcomponent: Component | IslandComponentDefinition<Component>\n) {\n\tif (isIslandComponentDefinition(component)) {\n\t\treturn component.component;\n\t}\n\n\treturn component;\n}\nexport const parseIslandProps = (rawProps: string | null) => {\n\tif (!rawProps) return {};\n\n\treturn JSON.parse(rawProps);\n};\nexport const serializeIslandProps = (props: unknown) =>\n\tJSON.stringify(props ?? {});\n\nexport {\n\tgetIslandManifestEntries,\n\tgetIslandManifestKey\n} from './islandManifest';\n",
|
|
27
27
|
"import type { RuntimeIslandRenderProps } from '../../types/island';\nimport { serializeIslandProps } from './islands';\n\ntype IslandMarkerAttributes = {\n\t'data-component': string;\n\t'data-framework': string;\n\t'data-hydrate': string;\n\t'data-island': 'true';\n\t'data-island-id'?: string;\n\t'data-props': string;\n};\n\nexport const getIslandMarkerAttributes = (\n\tprops: RuntimeIslandRenderProps,\n\tislandId?: string\n): IslandMarkerAttributes => ({\n\t'data-component': props.component,\n\t'data-framework': props.framework,\n\t'data-hydrate': props.hydrate ?? 'load',\n\t'data-island': 'true',\n\t...(islandId ? { 'data-island-id': islandId } : {}),\n\t'data-props': serializeIslandProps(props.props)\n});\n\nconst escapeHtmlAttribute = (value: string) =>\n\tvalue\n\t\t.replaceAll('&', '&')\n\t\t.replaceAll('\"', '"')\n\t\t.replaceAll('<', '<')\n\t\t.replaceAll('>', '>');\n\nexport const serializeIslandAttributes = (attributes: Record<string, string>) =>\n\tObject.entries(attributes)\n\t\t.map(([key, value]) => `${key}=\"${escapeHtmlAttribute(value)}\"`)\n\t\t.join(' ');\n",
|
|
28
28
|
"import type {\n\tIslandRegistry,\n\tIslandRegistryInput,\n\tRuntimeIslandRenderProps\n} from '../../types/island';\nimport {\n\trenderAngularIslandToHtml,\n\trenderReactIslandToHtml,\n\trenderSvelteIslandToHtml,\n\trenderVueIslandToHtml\n} from './islandSsr';\nimport { compileSvelteServerModule } from './svelteServerModule';\nimport { compileVueServerModule } from './vueServerModule';\nimport {\n\tgetIslandMarkerAttributes,\n\tserializeIslandAttributes\n} from './islandMarkupAttributes';\nimport { getIslandBuildReference, getIslandComponent } from './islands';\n\nlet islandSequence = 0;\nconst resolvedServerComponentCache = new Map<unknown, Promise<unknown>>();\nconst resolvedServerBuildComponentCache = new Map<string, Promise<unknown>>();\n\nconst nextIslandId = () => {\n\tislandSequence += 1;\n\n\treturn `island-${islandSequence}`;\n};\n\ntype AngularServerIslandComponent = import('@angular/core').Type<object>;\ntype ReactServerIslandComponent = import('react').ComponentType<\n\tRecord<string, unknown>\n>;\ntype SvelteServerIslandComponent = import('svelte').Component<\n\tRecord<string, unknown>\n>;\ntype VueServerIslandComponent = import('vue').Component<\n\tRecord<string, unknown>\n>;\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n\ttypeof value === 'object' && value !== null;\n\nconst isReactServerIslandComponent = (\n\tvalue: unknown\n): value is ReactServerIslandComponent => typeof value === 'function';\n\nconst isSvelteServerIslandComponent = (\n\tvalue: unknown\n): value is SvelteServerIslandComponent => typeof value === 'function';\n\nconst isVueServerIslandComponent = (\n\tvalue: unknown\n): value is VueServerIslandComponent =>\n\ttypeof value === 'function' || isRecord(value);\n\nconst isAngularServerIslandComponent = (\n\tvalue: unknown\n): value is AngularServerIslandComponent => typeof value === 'function';\n\nconst resolveBuildReferencePath = (source: string, registryPath: string) => {\n\tif (source.startsWith('file://')) return new URL(source).pathname;\n\tif (source.startsWith('.')) return new URL(source, registryPath).pathname;\n\n\treturn source;\n};\n\nconst loadAndCompileServerBuildComponent = async (\n\tbuildReferencePath: string\n) => {\n\tconst compiledModulePath =\n\t\tawait compileSvelteServerModule(buildReferencePath);\n\tconst loadedModule = await import(compiledModulePath);\n\n\treturn 'default' in loadedModule ? loadedModule.default : loadedModule;\n};\n\nconst loadServerBuildComponent = async (buildReferencePath: string) => {\n\tconst cachedBuildComponent =\n\t\tresolvedServerBuildComponentCache.get(buildReferencePath);\n\tif (cachedBuildComponent) {\n\t\treturn cachedBuildComponent;\n\t}\n\n\tconst loadPromise = loadAndCompileServerBuildComponent(buildReferencePath);\n\tresolvedServerBuildComponentCache.set(buildReferencePath, loadPromise);\n\n\treturn loadPromise;\n};\n\nconst resolveRuntimeImportTarget = async (resolvedModulePath: string) => {\n\tif (resolvedModulePath.endsWith('.svelte')) {\n\t\treturn compileSvelteServerModule(resolvedModulePath);\n\t}\n\tif (resolvedModulePath.endsWith('.vue')) {\n\t\treturn compileVueServerModule(resolvedModulePath);\n\t}\n\n\treturn resolvedModulePath;\n};\n\nconst loadServerImportComponent = async (\n\tresolvedComponent: string,\n\texportName?: string\n) => {\n\tconst resolvedModulePath = resolvedComponent.startsWith('.')\n\t\t? new URL(resolvedComponent, import.meta.url).pathname\n\t\t: resolvedComponent;\n\tconst importTarget = await resolveRuntimeImportTarget(resolvedModulePath);\n\tconst loadedModule = await import(importTarget);\n\n\tif (exportName && exportName !== 'default' && exportName in loadedModule) {\n\t\treturn loadedModule[exportName];\n\t}\n\n\treturn 'default' in loadedModule ? loadedModule.default : loadedModule;\n};\n\nconst resolveIslandComponent = async (component: unknown) => {\n\tconst buildReference = getIslandBuildReference(component);\n\tconst buildReferencePath = buildReference?.source\n\t\t? resolveBuildReferencePath(buildReference.source, import.meta.url)\n\t\t: null;\n\tif (buildReferencePath?.endsWith('.svelte')) {\n\t\treturn loadServerBuildComponent(buildReferencePath);\n\t}\n\tif (buildReferencePath) {\n\t\treturn loadServerImportComponent(\n\t\t\tbuildReferencePath,\n\t\t\tbuildReference?.export\n\t\t);\n\t}\n\n\tconst resolvedComponent = getIslandComponent(component);\n\tif (typeof resolvedComponent !== 'string') {\n\t\treturn resolvedComponent;\n\t}\n\n\treturn loadServerImportComponent(resolvedComponent);\n};\n\nconst resolveServerIslandComponent = async (component: unknown) => {\n\tconst cachedResolvedComponent = resolvedServerComponentCache.get(component);\n\tif (cachedResolvedComponent) {\n\t\treturn cachedResolvedComponent;\n\t}\n\n\tconst resolutionPromise = resolveIslandComponent(component);\n\n\tresolvedServerComponentCache.set(component, resolutionPromise);\n\n\treturn resolutionPromise;\n};\n\nconst resolveReactServerIslandComponent = async (component: unknown) => {\n\tconst resolvedComponent = await resolveServerIslandComponent(component);\n\tif (!isReactServerIslandComponent(resolvedComponent)) {\n\t\tthrow new Error(\n\t\t\t'Resolved React island is not a valid React component.'\n\t\t);\n\t}\n\n\treturn resolvedComponent;\n};\n\nconst resolveSvelteServerIslandComponent = async (component: unknown) => {\n\tconst resolvedComponent = await resolveServerIslandComponent(component);\n\tif (!isSvelteServerIslandComponent(resolvedComponent)) {\n\t\tthrow new Error(\n\t\t\t'Resolved Svelte island is not a valid Svelte component.'\n\t\t);\n\t}\n\n\treturn resolvedComponent;\n};\n\nconst resolveVueServerIslandComponent = async (component: unknown) => {\n\tconst resolvedComponent = await resolveServerIslandComponent(component);\n\tif (!isVueServerIslandComponent(resolvedComponent)) {\n\t\tthrow new Error('Resolved Vue island is not a valid Vue component.');\n\t}\n\n\treturn resolvedComponent;\n};\n\nconst resolveAngularServerIslandComponent = async (component: unknown) => {\n\tconst resolvedComponent = await resolveServerIslandComponent(component);\n\tif (!isAngularServerIslandComponent(resolvedComponent)) {\n\t\tthrow new Error(\n\t\t\t'Resolved Angular island is not a valid Angular component.'\n\t\t);\n\t}\n\n\treturn resolvedComponent;\n};\n\nexport const renderIslandMarkup = async <T extends IslandRegistryInput>(\n\tregistry: IslandRegistry<T> | T,\n\tprops: RuntimeIslandRenderProps\n) => {\n\tconst result = await renderIslandResult(registry, props);\n\n\treturn `<div ${serializeIslandAttributes(result.attributes)}>${result.html}</div>`;\n};\nexport const renderIslandResult = async <T extends IslandRegistryInput>(\n\tregistry: IslandRegistry<T> | T,\n\tprops: RuntimeIslandRenderProps\n) => {\n\tconst islandId = nextIslandId();\n\tconst attributes = getIslandMarkerAttributes(props);\n\n\tif (props.framework === 'react') {\n\t\tconst entry = registry.react?.[props.component];\n\t\tif (!entry) {\n\t\t\tthrow new Error(\n\t\t\t\t`Island component \"${props.component}\" is not registered for framework \"react\".`\n\t\t\t);\n\t\t}\n\t\tconst component = await resolveReactServerIslandComponent(entry);\n\t\tconst html = await renderReactIslandToHtml(component, props.props);\n\n\t\treturn { attributes, html };\n\t}\n\n\tif (props.framework === 'svelte') {\n\t\tconst entry = registry.svelte?.[props.component];\n\t\tif (!entry) {\n\t\t\tthrow new Error(\n\t\t\t\t`Island component \"${props.component}\" is not registered for framework \"svelte\".`\n\t\t\t);\n\t\t}\n\t\tconst component = await resolveSvelteServerIslandComponent(entry);\n\t\tconst html = await renderSvelteIslandToHtml(component, props.props);\n\n\t\treturn { attributes, html };\n\t}\n\n\tif (props.framework === 'vue') {\n\t\tconst entry = registry.vue?.[props.component];\n\t\tif (!entry) {\n\t\t\tthrow new Error(\n\t\t\t\t`Island component \"${props.component}\" is not registered for framework \"vue\".`\n\t\t\t);\n\t\t}\n\t\tconst component = await resolveVueServerIslandComponent(entry);\n\t\tconst html = await renderVueIslandToHtml(component, props.props);\n\n\t\treturn { attributes, html };\n\t}\n\n\tif (props.framework === 'angular') {\n\t\tconst entry = registry.angular?.[props.component];\n\t\tif (!entry) {\n\t\t\tthrow new Error(\n\t\t\t\t`Island component \"${props.component}\" is not registered for framework \"angular\".`\n\t\t\t);\n\t\t}\n\t\tconst component = await resolveAngularServerIslandComponent(entry);\n\t\tconst html = await renderAngularIslandToHtml(\n\t\t\tcomponent,\n\t\t\tprops.props,\n\t\t\tislandId\n\t\t);\n\n\t\treturn {\n\t\t\tattributes: {\n\t\t\t\t...getIslandMarkerAttributes(props, islandId)\n\t\t\t},\n\t\t\thtml\n\t\t};\n\t}\n\n\tthrow new Error(\n\t\t`Framework \"${props.framework}\" is not implemented in this prototype.`\n\t);\n};\n",
|
|
29
|
-
"import { AsyncLocalStorage } from 'node:async_hooks';\nimport { Elysia } from 'elysia';\n\ntype RouteCallsiteStore = { callsite?: string };\ntype RouteCallsiteStorage = AsyncLocalStorage<RouteCallsiteStore>;\ntype RouteMethod = (this: unknown, ...args: unknown[]) => unknown;\n\nconst ROUTE_CALLSITE_STORAGE_KEY = Symbol.for(\n\t'absolutejs.devRouteRegistrationCallsiteStorage'\n);\nconst ROUTE_CALLSITE_PATCHED_KEY = Symbol.for(\n\t'absolutejs.devRouteRegistrationCallsitePatched'\n);\n\nconst ROUTE_METHOD_NAMES = [\n\t'all',\n\t'delete',\n\t'get',\n\t'head',\n\t'options',\n\t'patch',\n\t'post',\n\t'put'\n] as const;\n\nconst isObjectRecord = (value: unknown): value is Record<string, unknown> =>\n\tBoolean(value) && typeof value === 'object';\n\nconst isAsyncLocalStorage = (value: unknown): value is RouteCallsiteStorage =>\n\tisObjectRecord(value) &&\n\t'getStore' in value &&\n\ttypeof value.getStore === 'function' &&\n\t'run' in value &&\n\ttypeof value.run === 'function';\n\nconst isRouteMethod = (value: unknown): value is RouteMethod =>\n\ttypeof value === 'function';\n\nconst getRouteCallsiteStorage = () => {\n\tconst value = Reflect.get(globalThis, ROUTE_CALLSITE_STORAGE_KEY);\n\tif (value === null || typeof value === 'undefined') {\n\t\treturn undefined;\n\t}\n\n\treturn isAsyncLocalStorage(value) ? value : undefined;\n};\n\nconst ensureRouteCallsiteStorage = () => {\n\tconst existing = getRouteCallsiteStorage();\n\tif (existing) {\n\t\treturn existing;\n\t}\n\n\tconst storage = new AsyncLocalStorage<RouteCallsiteStore>();\n\tReflect.set(globalThis, ROUTE_CALLSITE_STORAGE_KEY, storage);\n\n\treturn storage;\n};\n\nconst normalizeCallsitePath = (value: string) =>\n\tvalue\n\t\t.replace(`${process.cwd()}/`, '')\n\t\t.replace(process.cwd(), '')\n\t\t.replace(/^\\.\\/+/, '');\n\nconst shouldIgnoreRouteCallsiteFrame = (frame: string) =>\n\tframe.includes('/node_modules/') ||\n\tframe.includes('/dist/') ||\n\tframe.includes('/src/core/devRouteRegistrationCallsite.');\n\nconst getRouteCallsiteLocation = (frame: string) =>\n\tframe.match(/\\((\\/[^)]+:\\d+:\\d+)\\)$/)?.[1] ??\n\tframe.match(/at (\\/[^ ]+:\\d+:\\d+)$/)?.[1];\n\nconst extractRouteRegistrationCallsite = (stack: string) => {\n\tconst location = stack\n\t\t.split('\\n')\n\t\t.slice(1)\n\t\t.map((line) => line.trim())\n\t\t.filter((frame) => !shouldIgnoreRouteCallsiteFrame(frame))\n\t\t.map((frame) => getRouteCallsiteLocation(frame))\n\t\t.find((frameLocation) => frameLocation !== undefined);\n\n\treturn location ? normalizeCallsitePath(location) : undefined;\n};\n\nconst captureRouteRegistrationCallsite = () => {\n\tconst { stack } = new Error();\n\tif (!stack) {\n\t\treturn undefined;\n\t}\n\n\treturn extractRouteRegistrationCallsite(stack);\n};\n\nconst wrapRouteHandlerWithCallsite = (handler: unknown, callsite?: string) => {\n\tif (typeof handler !== 'function' || !callsite) {\n\t\treturn handler;\n\t}\n\n\tconst storage = ensureRouteCallsiteStorage();\n\tconst routeHandler = handler;\n\n\treturn function wrappedRouteHandler(this: unknown, ...args: unknown[]) {\n\t\treturn storage.run({ callsite }, () =>\n\t\t\tReflect.apply(routeHandler, this, args)\n\t\t);\n\t};\n};\n\nconst createPatchedRouteMethod = (
|
|
29
|
+
"import { AsyncLocalStorage } from 'node:async_hooks';\nimport { Elysia } from 'elysia';\n\ntype RouteCallsiteStore = { callsite?: string };\ntype RouteCallsiteStorage = AsyncLocalStorage<RouteCallsiteStore>;\ntype RouteMethod = (this: unknown, ...args: unknown[]) => unknown;\n\nconst ROUTE_CALLSITE_STORAGE_KEY = Symbol.for(\n\t'absolutejs.devRouteRegistrationCallsiteStorage'\n);\nconst ROUTE_CALLSITE_PATCHED_KEY = Symbol.for(\n\t'absolutejs.devRouteRegistrationCallsitePatched'\n);\n\nconst ROUTE_METHOD_NAMES = [\n\t'all',\n\t'delete',\n\t'get',\n\t'head',\n\t'options',\n\t'patch',\n\t'post',\n\t'put'\n] as const;\n\n// Names of the framework page-request helpers. A GET route whose\n// handler source mentions any of these is treated as a page route by\n// the sitemap generator. Keep in sync with the page handlers exported\n// from each framework's pageHandler module.\nconst PAGE_HANDLER_NAMES = [\n\t'handleReactPageRequest',\n\t'handleSveltePageRequest',\n\t'handleVuePageRequest',\n\t'handleAngularPageRequest',\n\t'handleHTMLPageRequest',\n\t'handleHTMXPageRequest'\n] as const;\n\n/* In dev, the registration patch replaces each handler with a wrapper\n * whose `.toString()` no longer mentions the original page-helper name —\n * which used to break sitemap discovery. We instead peek at the raw\n * handler at registration time (where it still has its real source) and\n * record the resulting wrapper here. The sitemap looks up\n * `route.handler` in this set to identify page routes regardless of\n * wrapping. In prod no wrapping happens, so `isPageHandler` falls back\n * to the source check directly. */\nconst pageHandlerWrappers = new WeakSet<(...args: unknown[]) => unknown>();\n\nconst handlerSourceMentionsPageHelper = (\n\thandler: (...args: unknown[]) => unknown\n) => {\n\tconst source = handler.toString();\n\n\treturn PAGE_HANDLER_NAMES.some((name) => source.includes(name));\n};\n\nexport const isPageHandler = (handler: unknown): boolean => {\n\tif (typeof handler !== 'function') return false;\n\tconst fn = handler as (...args: unknown[]) => unknown;\n\tif (pageHandlerWrappers.has(fn)) return true;\n\n\treturn handlerSourceMentionsPageHelper(fn);\n};\n\nconst isObjectRecord = (value: unknown): value is Record<string, unknown> =>\n\tBoolean(value) && typeof value === 'object';\n\nconst isAsyncLocalStorage = (value: unknown): value is RouteCallsiteStorage =>\n\tisObjectRecord(value) &&\n\t'getStore' in value &&\n\ttypeof value.getStore === 'function' &&\n\t'run' in value &&\n\ttypeof value.run === 'function';\n\nconst isRouteMethod = (value: unknown): value is RouteMethod =>\n\ttypeof value === 'function';\n\nconst getRouteCallsiteStorage = () => {\n\tconst value = Reflect.get(globalThis, ROUTE_CALLSITE_STORAGE_KEY);\n\tif (value === null || typeof value === 'undefined') {\n\t\treturn undefined;\n\t}\n\n\treturn isAsyncLocalStorage(value) ? value : undefined;\n};\n\nconst ensureRouteCallsiteStorage = () => {\n\tconst existing = getRouteCallsiteStorage();\n\tif (existing) {\n\t\treturn existing;\n\t}\n\n\tconst storage = new AsyncLocalStorage<RouteCallsiteStore>();\n\tReflect.set(globalThis, ROUTE_CALLSITE_STORAGE_KEY, storage);\n\n\treturn storage;\n};\n\nconst normalizeCallsitePath = (value: string) =>\n\tvalue\n\t\t.replace(`${process.cwd()}/`, '')\n\t\t.replace(process.cwd(), '')\n\t\t.replace(/^\\.\\/+/, '');\n\nconst shouldIgnoreRouteCallsiteFrame = (frame: string) =>\n\tframe.includes('/node_modules/') ||\n\tframe.includes('/dist/') ||\n\tframe.includes('/src/core/devRouteRegistrationCallsite.');\n\nconst getRouteCallsiteLocation = (frame: string) =>\n\tframe.match(/\\((\\/[^)]+:\\d+:\\d+)\\)$/)?.[1] ??\n\tframe.match(/at (\\/[^ ]+:\\d+:\\d+)$/)?.[1];\n\nconst extractRouteRegistrationCallsite = (stack: string) => {\n\tconst location = stack\n\t\t.split('\\n')\n\t\t.slice(1)\n\t\t.map((line) => line.trim())\n\t\t.filter((frame) => !shouldIgnoreRouteCallsiteFrame(frame))\n\t\t.map((frame) => getRouteCallsiteLocation(frame))\n\t\t.find((frameLocation) => frameLocation !== undefined);\n\n\treturn location ? normalizeCallsitePath(location) : undefined;\n};\n\nconst captureRouteRegistrationCallsite = () => {\n\tconst { stack } = new Error();\n\tif (!stack) {\n\t\treturn undefined;\n\t}\n\n\treturn extractRouteRegistrationCallsite(stack);\n};\n\nconst wrapRouteHandlerWithCallsite = (handler: unknown, callsite?: string) => {\n\tif (typeof handler !== 'function' || !callsite) {\n\t\treturn handler;\n\t}\n\n\tconst storage = ensureRouteCallsiteStorage();\n\tconst routeHandler = handler;\n\n\treturn function wrappedRouteHandler(this: unknown, ...args: unknown[]) {\n\t\treturn storage.run({ callsite }, () =>\n\t\t\tReflect.apply(routeHandler, this, args)\n\t\t);\n\t};\n};\n\nconst createPatchedRouteMethod = (\n\toriginalMethod: RouteMethod,\n\tmethodName: string\n) =>\n\tfunction patchedRouteMethod(\n\t\tthis: unknown,\n\t\tpath: unknown,\n\t\thandler: unknown,\n\t\t...rest: unknown[]\n\t) {\n\t\tconst callsite = captureRouteRegistrationCallsite();\n\t\tconst wrapped = wrapRouteHandlerWithCallsite(handler, callsite);\n\n\t\t/* Record page-route registrations now, while the raw handler\n\t\t * still exposes its real source. After this point the wrapper\n\t\t * replaces it and `.toString()` no longer mentions the\n\t\t * `handle*PageRequest` helper, so the sitemap can't discover\n\t\t * the route by inspection. The wrapper itself goes into the\n\t\t * `pageHandlerWrappers` set so `isPageHandler(route.handler)`\n\t\t * returns true at sitemap-build time. */\n\t\tif (\n\t\t\tmethodName === 'get' &&\n\t\t\ttypeof handler === 'function' &&\n\t\t\ttypeof wrapped === 'function' &&\n\t\t\thandlerSourceMentionsPageHelper(\n\t\t\t\thandler as (...args: unknown[]) => unknown\n\t\t\t)\n\t\t) {\n\t\t\tpageHandlerWrappers.add(\n\t\t\t\twrapped as (...args: unknown[]) => unknown\n\t\t\t);\n\t\t}\n\n\t\treturn Reflect.apply(originalMethod, this, [path, wrapped, ...rest]);\n\t};\n\nexport const getCurrentRouteRegistrationCallsite = () =>\n\tgetRouteCallsiteStorage()?.getStore()?.callsite;\nexport const patchElysiaRouteRegistrationCallsites = () => {\n\tif (process.env.NODE_ENV === 'production') {\n\t\treturn;\n\t}\n\n\tif (Reflect.get(globalThis, ROUTE_CALLSITE_PATCHED_KEY) === true) {\n\t\treturn;\n\t}\n\n\tconst { prototype } = Elysia;\n\tROUTE_METHOD_NAMES.forEach((methodName) => {\n\t\tconst originalMethod = Reflect.get(prototype, methodName);\n\t\tif (!isRouteMethod(originalMethod)) return;\n\t\tReflect.set(\n\t\t\tprototype,\n\t\t\tmethodName,\n\t\t\tcreatePatchedRouteMethod(originalMethod, methodName)\n\t\t);\n\t});\n\n\tReflect.set(globalThis, ROUTE_CALLSITE_PATCHED_KEY, true);\n};\n",
|
|
30
30
|
"type AbsoluteSlotWindow = Window & {\n\t__ABS_SLOT_ENQUEUE__?: (id: string, payload: unknown) => void;\n\t__ABS_SLOT_FLUSH__?: () => void;\n\t__ABS_SLOT_CONSUMERS__?: Record<\n\t\tstring,\n\t\t((payload: unknown) => boolean | void) | undefined\n\t>;\n\t__ABS_SLOT_HYDRATION_PENDING__?: boolean;\n\t__ABS_SLOT_PENDING__?: Record<string, unknown>;\n\t__ABS_SLOT_RUNTIME__?: boolean;\n};\n\nconst streamSwapRuntime = () => {\n\tconst absoluteWindow: AbsoluteSlotWindow = window;\n\tconst SLOT_PATCH_EVENT = 'absolutejs:slot-patch';\n\tif (absoluteWindow.__ABS_SLOT_RUNTIME__ === true) return;\n\tabsoluteWindow.__ABS_SLOT_RUNTIME__ = true;\n\tabsoluteWindow.__ABS_SLOT_CONSUMERS__ =\n\t\tabsoluteWindow.__ABS_SLOT_CONSUMERS__ ?? {};\n\tabsoluteWindow.__ABS_SLOT_PENDING__ =\n\t\tabsoluteWindow.__ABS_SLOT_PENDING__ ?? {};\n\tconst consumers = absoluteWindow.__ABS_SLOT_CONSUMERS__;\n\tconst pending = absoluteWindow.__ABS_SLOT_PENDING__;\n\tconst isObjectRecord = (value: unknown): value is Record<string, unknown> =>\n\t\tBoolean(value) && typeof value === 'object';\n\tconst isPatchedPendingEntry = (\n\t\tvalue: unknown\n\t): value is {\n\t\tdomPatched: true;\n\t\tpayload: unknown;\n\t} => {\n\t\tif (!isObjectRecord(value)) return false;\n\n\t\treturn value.domPatched === true && 'payload' in value;\n\t};\n\tconst unwrapPendingPayload = (value: unknown) =>\n\t\tisPatchedPendingEntry(value) ? value.payload : value;\n\tconst canApplyImmediately = () =>\n\t\tabsoluteWindow.__ABS_SLOT_HYDRATION_PENDING__ !== true;\n\tconst isAngularDeferPayload = (payload: unknown) => {\n\t\tif (!isObjectRecord(payload)) return false;\n\n\t\treturn payload.kind === 'angular-defer';\n\t};\n\tconst isVueSuspensePayload = (payload: unknown) => {\n\t\tif (!isObjectRecord(payload)) return false;\n\n\t\treturn payload.kind === 'vue-suspense';\n\t};\n\tconst resolveHtml = (payload: unknown) => {\n\t\tif (!isObjectRecord(payload)) {\n\t\t\treturn typeof payload === 'string' ? payload : '';\n\t\t}\n\t\tif (typeof payload.html === 'string') {\n\t\t\treturn payload.html;\n\t\t}\n\n\t\treturn '';\n\t};\n\n\tconst apply = (id: string, pendingEntry: unknown) => {\n\t\tconst payload = unwrapPendingPayload(pendingEntry);\n\t\tif (!canApplyImmediately()) {\n\t\t\tpending[id] = payload;\n\n\t\t\treturn;\n\t\t}\n\t\tconst consumer = consumers[id];\n\t\tif (typeof consumer !== 'function') {\n\t\t\tapplyToDom(id, payload, pendingEntry);\n\n\t\t\treturn;\n\t\t}\n\n\t\tconst handled = consumer(payload);\n\t\tif (handled !== false) {\n\t\t\tdelete pending[id];\n\n\t\t\treturn;\n\t\t}\n\n\t\tapplyToDom(id, payload, pendingEntry);\n\t};\n\tconst applyToDom = (\n\t\tid: string,\n\t\tpayload: unknown,\n\t\tpendingEntry: unknown\n\t) => {\n\t\tif (isAngularDeferPayload(payload)) {\n\t\t\tpending[id] = payload;\n\n\t\t\treturn;\n\t\t}\n\t\tconst node = document.getElementById(id);\n\t\tif (!node) {\n\t\t\tpending[id] = payload;\n\n\t\t\treturn;\n\t\t}\n\t\tconst html = resolveHtml(payload);\n\t\tif (\n\t\t\tisVueSuspensePayload(payload) &&\n\t\t\tisPatchedPendingEntry(pendingEntry)\n\t\t) {\n\t\t\treturn;\n\t\t}\n\t\tnode.innerHTML = html;\n\t\tnode.setAttribute('data-absolute-slot-state', 'resolved');\n\t\twindow.dispatchEvent(\n\t\t\tnew CustomEvent(SLOT_PATCH_EVENT, {\n\t\t\t\tdetail: { html, id, payload }\n\t\t\t})\n\t\t);\n\t\tif (isVueSuspensePayload(payload)) {\n\t\t\tpending[id] = { domPatched: true, payload };\n\n\t\t\treturn;\n\t\t}\n\t\tdelete pending[id];\n\t};\n\n\tconst flush = () => {\n\t\tfor (const id in pending) {\n\t\t\tif (!Object.prototype.hasOwnProperty.call(pending, id)) continue;\n\t\t\tapply(id, pending[id] ?? '');\n\t\t}\n\t};\n\n\tabsoluteWindow.__ABS_SLOT_FLUSH__ = flush;\n\tabsoluteWindow.__ABS_SLOT_ENQUEUE__ = (id: string, payload: unknown) => {\n\t\tapply(id, payload);\n\t};\n\n\tif (typeof MutationObserver === 'function') {\n\t\tconst observer = new MutationObserver(flush);\n\t\tconst root = document.documentElement ?? document.body ?? document;\n\t\tobserver.observe(root, { childList: true, subtree: true });\n\t}\n\n\tif (document.readyState === 'loading') {\n\t\tdocument.addEventListener('DOMContentLoaded', flush, { once: true });\n\t}\n\tflush();\n};\n\nconst stripFunctionWrapper = (value: string) => {\n\tconst start = value.indexOf('{');\n\tconst end = value.lastIndexOf('}');\n\tif (start < 0 || end <= start) return '';\n\n\treturn value.slice(start + 1, end);\n};\n\nexport const getStreamSwapRuntimeScript = () =>\n\t`(function(){${stripFunctionWrapper(streamSwapRuntime.toString())}})();`;\n",
|
|
31
31
|
"const ESCAPE_LOOKUP: Record<string, string> = {\n\t'\\u2028': '\\\\u2028',\n\t'\\u2029': '\\\\u2029',\n\t'<': '\\\\u003C'\n};\n\nconst ESCAPE_REGEX = /[<\\u2028\\u2029]/g;\n\nexport const escapeScriptContent = (content: string) =>\n\tcontent.replace(ESCAPE_REGEX, (char) => {\n\t\tconst escaped = ESCAPE_LOOKUP[char];\n\n\t\treturn escaped !== undefined ? escaped : char;\n\t});\n",
|
|
32
32
|
"import { getStreamSwapRuntimeScript } from '../client/streamSwap';\nimport { BASE_36_RADIX, RANDOM_ID_END_INDEX } from '../constants';\nimport { escapeScriptContent } from './escapeScriptContent';\n\nconst SLOT_ID_PREFIX = 'abs-slot-';\nconst CLOSING_BODY_TAG = '</body>';\nconst CLOSING_HEAD_TAG = '</head>';\nconst CLOSING_BODY_TAG_LENGTH = CLOSING_BODY_TAG.length;\nconst CLOSING_HEAD_TAG_LENGTH = CLOSING_HEAD_TAG.length;\nconst CLOSING_PAGE_TAG_REGEX = /<\\/body>\\s*<\\/html>\\s*$/i;\nconst STREAMING_RUNTIME_GLOBAL = '__ABS_SLOT_ENQUEUE__';\nconst STREAMING_PENDING_GLOBAL = '__ABS_SLOT_PENDING__';\nconst STREAM_TAIL_LOOKBEHIND = 128;\nconst STREAMING_SLOT_TIMEOUT_MS = 5_000;\nconst STREAMING_SLOT_MAX_PER_RESPONSE = 128;\nconst STREAMING_SLOT_MAX_HTML_BYTES = 64_000;\n\ntype SlotResolver = () => Promise<unknown> | unknown;\ntype SlotErrorHandler = (error: unknown, slot: StreamingSlot) => void;\ntype StreamReader = ReadableStreamDefaultReader<string | Uint8Array>;\ntype StreamReadPromise = ReturnType<StreamReader['read']>;\nexport type StreamingSlotMetricType =\n\t| 'prepared'\n\t| 'dropped'\n\t| 'resolved'\n\t| 'patched'\n\t| 'timeout'\n\t| 'size_exceeded'\n\t| 'error';\nexport type StreamingSlotMetric = {\n\ttype: StreamingSlotMetricType;\n\tslotId: string;\n\tdurationMs?: number;\n\tbytes?: number;\n\treason?: string;\n\terror?: unknown;\n};\nexport type StreamingSlotMetricHandler = (metric: StreamingSlotMetric) => void;\n\nexport type StreamingSlotPolicy = {\n\ttimeoutMs?: number;\n\tfallbackHtml?: unknown;\n\terrorHtml?: unknown;\n\tmaxSlotsPerResponse?: number;\n\tmaxSlotHtmlSizeBytes?: number;\n\tonError?: SlotErrorHandler;\n\tonSlotMetric?: StreamingSlotMetricHandler;\n};\n\ntype StreamingSlotPolicyValue = {\n\ttimeoutMs: number;\n\tfallbackHtml: string;\n\terrorHtml?: string;\n\tmaxSlotsPerResponse: number;\n\tmaxSlotHtmlSizeBytes: number;\n\tonError?: SlotErrorHandler;\n\tonSlotMetric?: StreamingSlotMetricHandler;\n};\n\nexport type StreamingSlot = {\n\terrorHtml?: unknown;\n\tfallbackHtml?: unknown;\n\tid: string;\n\ttimeoutMs?: number;\n\tresolve: SlotResolver;\n};\n\nexport type StreamingSlotPatchPayload =\n\t| string\n\t| {\n\t\t\t[key: string]: unknown;\n\t\t\thtml: string;\n\t };\n\ntype DeferredStreamingSlot = Omit<StreamingSlot, 'id'> & { id?: string };\n\nexport type AppendStreamingSlotsOptions = {\n\tinjectRuntime?: boolean;\n\tnonce?: string;\n\truntimePreludeScript?: string;\n\tpolicy?: StreamingSlotPolicy;\n\tonSlotMetric?: StreamingSlotMetricHandler;\n\tonError?: (error: unknown, slot: StreamingSlot) => void;\n\truntimePlacement?: 'body' | 'head';\n};\n\nexport type StreamOutOfOrderSlotsOptions = {\n\tfooterHtml?: string;\n\theaderHtml?: string;\n\tnonce?: string;\n\tpolicy?: StreamingSlotPolicy;\n\tonSlotMetric?: StreamingSlotMetricHandler;\n\tonError?: (error: unknown, slot: StreamingSlot) => void;\n\tslots: DeferredStreamingSlot[];\n};\n\nconst createSlotPatchStatement = (\n\tid: string,\n\tpayload: StreamingSlotPatchPayload\n) =>\n\t`(window.${STREAMING_RUNTIME_GLOBAL}||function(i,p){window.${STREAMING_PENDING_GLOBAL}=window.${STREAMING_PENDING_GLOBAL}||{};window.${STREAMING_PENDING_GLOBAL}[i]=p;})(${JSON.stringify(id)},${JSON.stringify(payload)});`;\n\nconst createNonceAttr = (nonce?: string) => (nonce ? ` nonce=\"${nonce}\"` : '');\n\nexport const createStreamingSlotId = () =>\n\t`${SLOT_ID_PREFIX}${Math.random().toString(BASE_36_RADIX).slice(2, RANDOM_ID_END_INDEX)}`;\nexport const getStreamingSlotsRuntimeScript = () =>\n\tgetStreamSwapRuntimeScript();\nexport const injectHtmlIntoBody = (html: string, injection: string) => {\n\tconst closingBodyIndex = html.indexOf(CLOSING_BODY_TAG);\n\tif (closingBodyIndex >= 0) {\n\t\treturn `${html.slice(0, closingBodyIndex)}${injection}${html.slice(closingBodyIndex)}`;\n\t}\n\n\treturn `${html}${injection}`;\n};\nexport const injectHtmlIntoHead = (html: string, injection: string) => {\n\tconst closingHeadIndex = html.indexOf(CLOSING_HEAD_TAG);\n\tif (closingHeadIndex >= 0) {\n\t\treturn `${html.slice(0, closingHeadIndex)}${injection}${html.slice(closingHeadIndex)}`;\n\t}\n\n\treturn `${html}${injection}`;\n};\nexport const renderStreamingSlotPatchTag = (\n\tid: string,\n\tpayload: StreamingSlotPatchPayload,\n\tnonce?: string\n) =>\n\t`<script${createNonceAttr(nonce)}>${escapeScriptContent(\n\t\tcreateSlotPatchStatement(id, payload)\n\t)}</script>`;\nexport const renderStreamingSlotPlaceholder = (id: string, fallbackHtml = '') =>\n\t`<div id=\"${id}\" data-absolute-slot=\"true\" data-absolute-slot-state=\"fallback\">${fallbackHtml}</div>`;\nexport const renderStreamingSlotsRuntimeTag = (\n\tnonce?: string,\n\truntimePreludeScript?: string\n) => {\n\tconst runtimeBody = [\n\t\truntimePreludeScript?.trim() ? runtimePreludeScript.trim() : '',\n\t\tgetStreamingSlotsRuntimeScript()\n\t]\n\t\t.filter(Boolean)\n\t\t.join(';');\n\n\treturn `<script${createNonceAttr(nonce)}>${escapeScriptContent(runtimeBody)}</script>`;\n};\n\nconst toUint8 = (value: string, encoder: TextEncoder) => encoder.encode(value);\n\ntype SafeHtmlLike = {\n\tchangingThisBreaksApplicationSecurity: string;\n};\n\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n\tBoolean(value) && typeof value === 'object';\n\nconst isSafeHtmlLike = (value: unknown): value is SafeHtmlLike =>\n\tisRecord(value) &&\n\ttypeof value.changingThisBreaksApplicationSecurity === 'string';\n\nconst normalizeSafeHtml = (value: unknown) => {\n\tif (isSafeHtmlLike(value)) {\n\t\treturn value.changingThisBreaksApplicationSecurity;\n\t}\n\n\treturn value;\n};\n\nlet currentStreamingSlotPolicy: StreamingSlotPolicyValue = {\n\terrorHtml: undefined,\n\tfallbackHtml: '',\n\tmaxSlotHtmlSizeBytes: STREAMING_SLOT_MAX_HTML_BYTES,\n\tmaxSlotsPerResponse: STREAMING_SLOT_MAX_PER_RESPONSE,\n\ttimeoutMs: STREAMING_SLOT_TIMEOUT_MS\n};\n\nconst clonePolicy = (\n\tpolicy: StreamingSlotPolicyValue\n): StreamingSlotPolicyValue => ({\n\t...policy\n});\n\nconst normalizeSlotBytes = (value: unknown, fallback: number) => {\n\tif (typeof value === 'number' && Number.isFinite(value) && value >= 0) {\n\t\treturn Math.floor(value);\n\t}\n\n\treturn fallback;\n};\n\nconst normalizeSlotText = (value: unknown, fallback: string) => {\n\tconst normalizedValue = normalizeSafeHtml(value);\n\n\treturn typeof normalizedValue === 'string' ? normalizedValue : fallback;\n};\nconst normalizeSlotError = (\n\tvalue: unknown,\n\tfallback: string | undefined = undefined\n) => {\n\tconst safeValue = normalizeSafeHtml(value);\n\tif (typeof safeValue === 'string') return safeValue;\n\n\treturn fallback;\n};\nconst hasPolicyValue = (\n\tpolicy: StreamingSlotPolicy,\n\tkey: keyof StreamingSlotPolicy\n) => Object.prototype.hasOwnProperty.call(policy, key);\n\nconst applyStreamingSlotPolicyOverrides = (\n\tbase: StreamingSlotPolicyValue,\n\toverridePolicy: StreamingSlotPolicy = {}\n) => ({\n\terrorHtml: hasPolicyValue(overridePolicy, 'errorHtml')\n\t\t? normalizeSlotError(overridePolicy.errorHtml)\n\t\t: base.errorHtml,\n\tfallbackHtml: hasPolicyValue(overridePolicy, 'fallbackHtml')\n\t\t? normalizeSlotText(overridePolicy.fallbackHtml, '')\n\t\t: base.fallbackHtml,\n\tmaxSlotHtmlSizeBytes: hasPolicyValue(overridePolicy, 'maxSlotHtmlSizeBytes')\n\t\t? normalizeSlotBytes(\n\t\t\t\toverridePolicy.maxSlotHtmlSizeBytes,\n\t\t\t\tbase.maxSlotHtmlSizeBytes\n\t\t\t)\n\t\t: base.maxSlotHtmlSizeBytes,\n\tmaxSlotsPerResponse: hasPolicyValue(overridePolicy, 'maxSlotsPerResponse')\n\t\t? normalizeSlotBytes(\n\t\t\t\toverridePolicy.maxSlotsPerResponse,\n\t\t\t\tbase.maxSlotsPerResponse\n\t\t\t)\n\t\t: base.maxSlotsPerResponse,\n\tonError: hasPolicyValue(overridePolicy, 'onError')\n\t\t? overridePolicy.onError\n\t\t: base.onError,\n\tonSlotMetric: hasPolicyValue(overridePolicy, 'onSlotMetric')\n\t\t? overridePolicy.onSlotMetric\n\t\t: base.onSlotMetric,\n\ttimeoutMs: hasPolicyValue(overridePolicy, 'timeoutMs')\n\t\t? normalizeSlotBytes(overridePolicy.timeoutMs, base.timeoutMs)\n\t\t: base.timeoutMs\n});\n\nconst createCombinedSlotErrorHandler = (\n\tpolicyOnError?: SlotErrorHandler,\n\tenhancerOnError?: SlotErrorHandler\n) => {\n\tif (!policyOnError && !enhancerOnError) return undefined;\n\n\treturn (error: unknown, slot: StreamingSlot) => {\n\t\tpolicyOnError?.(error, slot);\n\t\tenhancerOnError?.(error, slot);\n\t};\n};\n\nconst createCombinedSlotMetricHandler = (\n\tpolicyOnSlotMetric?: StreamingSlotMetricHandler,\n\tcallOnSlotMetric?: StreamingSlotMetricHandler\n) => {\n\tif (!policyOnSlotMetric && !callOnSlotMetric) return undefined;\n\n\treturn (metric: StreamingSlotMetric) => {\n\t\tpolicyOnSlotMetric?.(metric);\n\t\tcallOnSlotMetric?.(metric);\n\t};\n};\n\nconst resolveStreamingSlotPolicy = (\n\toverridePolicy: StreamingSlotPolicy = {}\n) => {\n\tconst base = getStreamingSlotPolicy();\n\n\treturn applyStreamingSlotPolicyOverrides(base, overridePolicy);\n};\n\nexport const getStreamingSlotPolicy = () =>\n\tclonePolicy(currentStreamingSlotPolicy);\n\nexport const setStreamingSlotPolicy = (policy: StreamingSlotPolicy = {}) => {\n\tconst base = getStreamingSlotPolicy();\n\n\tcurrentStreamingSlotPolicy = applyStreamingSlotPolicyOverrides(\n\t\tbase,\n\t\tpolicy\n\t);\n};\n\nexport const withStreamingSlotPolicy = async <T>(\n\tpolicy: StreamingSlotPolicy,\n\tcallback: () => Promise<T> | T\n) => {\n\tconst previous = getStreamingSlotPolicy();\n\n\tsetStreamingSlotPolicy(policy);\n\ttry {\n\t\treturn await callback();\n\t} finally {\n\t\tcurrentStreamingSlotPolicy = previous;\n\t}\n};\n\nconst emitSlotMetric = (\n\tmetric: StreamingSlotMetric,\n\tonSlotMetric?: StreamingSlotMetricHandler\n) => {\n\tonSlotMetric?.(metric);\n};\n\nconst createTimeoutError = (slot: StreamingSlot, timeoutMs: number) => {\n\tconst error = Object.assign(\n\t\tnew Error(`Streaming slot \"${slot.id}\" timed out after ${timeoutMs}ms`),\n\t\t{ __absTimeout: true }\n\t);\n\n\treturn error;\n};\n\nconst isSlotPatchPayloadObject = (\n\tvalue: unknown\n): value is Record<string, unknown> & { html: unknown } =>\n\tisRecord(value) && 'html' in value;\n\nconst isTimeoutError = (\n\terror: unknown\n): error is Error & { __absTimeout: true } =>\n\tisRecord(error) && error.__absTimeout === true;\n\nconst toStreamingSlot = (\n\tslot: DeferredStreamingSlot,\n\tpolicy: StreamingSlotPolicyValue\n): StreamingSlot => ({\n\terrorHtml: slot.errorHtml === undefined ? policy.errorHtml : slot.errorHtml,\n\tfallbackHtml: normalizeSlotText(slot.fallbackHtml, policy.fallbackHtml),\n\tid: slot.id ?? createStreamingSlotId(),\n\tresolve: slot.resolve,\n\ttimeoutMs: normalizeSlotBytes(slot.timeoutMs, policy.timeoutMs)\n});\n\nconst prepareSlots = ({\n\tpolicy,\n\tslots,\n\tonError,\n\tonSlotMetric\n}: {\n\tpolicy: StreamingSlotPolicyValue;\n\tslots: DeferredStreamingSlot[];\n\tonError?: SlotErrorHandler;\n\tonSlotMetric?: StreamingSlotMetricHandler;\n}) => {\n\tconst preparedSlots = slots.map((slot) => toStreamingSlot(slot, policy));\n\tconst emitPreparedSlotMetric = (slot: StreamingSlot) => {\n\t\temitSlotMetric(\n\t\t\t{\n\t\t\t\tslotId: slot.id,\n\t\t\t\ttype: 'prepared'\n\t\t\t},\n\t\t\tonSlotMetric\n\t\t);\n\t};\n\tconst dropPreparedSlot = (slot: StreamingSlot, reason: string) => {\n\t\tonError?.(new Error(reason), slot);\n\t\temitSlotMetric(\n\t\t\t{\n\t\t\t\treason,\n\t\t\t\tslotId: slot.id,\n\t\t\t\ttype: 'dropped'\n\t\t\t},\n\t\t\tonSlotMetric\n\t\t);\n\t};\n\n\tconst { maxSlotsPerResponse } = policy;\n\tif (maxSlotsPerResponse === 0) {\n\t\tpreparedSlots.forEach((slot) =>\n\t\t\tdropPreparedSlot(slot, 'maxSlotsPerResponse is 0')\n\t\t);\n\n\t\treturn [];\n\t}\n\n\tif (preparedSlots.length <= maxSlotsPerResponse) {\n\t\tpreparedSlots.forEach(emitPreparedSlotMetric);\n\n\t\treturn preparedSlots;\n\t}\n\n\tconst keptSlots = preparedSlots.slice(0, maxSlotsPerResponse);\n\tconst droppedSlots = preparedSlots.slice(maxSlotsPerResponse);\n\tdroppedSlots.forEach((slot) => {\n\t\tdropPreparedSlot(\n\t\t\tslot,\n\t\t\t`Streaming slot \"${slot.id}\" dropped because ${maxSlotsPerResponse} slots is the configured maximum`\n\t\t);\n\t});\n\tkeptSlots.forEach(emitPreparedSlotMetric);\n\n\treturn keptSlots;\n};\n\nconst htmlByteLength = (value: string, encoder: TextEncoder) =>\n\tencoder.encode(value).length;\n\ntype ResolvedStreamingSlot = {\n\tpayload: StreamingSlotPatchPayload | null;\n\tid: string;\n\tdurationMs: number;\n\tbytes: number;\n};\n\nconst normalizeSlotPatchPayload = (value: unknown) => {\n\tconst safeValue = normalizeSafeHtml(value);\n\tif (\n\t\tisSlotPatchPayloadObject(safeValue) &&\n\t\ttypeof safeValue.html === 'string'\n\t) {\n\t\treturn {\n\t\t\t...safeValue,\n\t\t\thtml: normalizeSlotText(safeValue.html, '')\n\t\t};\n\t}\n\n\treturn typeof safeValue === 'string' ? safeValue : `${safeValue}`;\n};\n\nconst getPayloadHtml = (payload: StreamingSlotPatchPayload) =>\n\ttypeof payload === 'string' ? payload : payload.html;\n\nconst enqueueEncodedText = (\n\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\tencoder: TextEncoder,\n\tvalue: string\n) => {\n\tif (value.length === 0) {\n\t\treturn;\n\t}\n\n\tcontroller.enqueue(encoder.encode(value));\n};\n\nconst readStreamingRuntimeChunk = async (\n\treader: ReadableStreamDefaultReader<string | Uint8Array>\n) => {\n\tconst { done, value } = await reader.read();\n\tif (done || !value) {\n\t\treturn { done, value: undefined };\n\t}\n\n\treturn { done, value };\n};\n\nconst applyBaseWinnerState = (\n\tstate: {\n\t\tbaseDone: boolean;\n\t\tbaseRead: StreamReadPromise;\n\t\tfooter: string;\n\t\thandled: boolean;\n\t\ttail: string;\n\t},\n\twinner:\n\t\t| {\n\t\t\t\tdone: boolean;\n\t\t\t\tkind: 'base';\n\t\t\t\tvalue?: string | Uint8Array;\n\t\t }\n\t\t| {\n\t\t\t\tkind: 'slot';\n\t\t\t\toriginal: Promise<{\n\t\t\t\t\tpayload: StreamingSlotPatchPayload | null;\n\t\t\t\t\tid: string;\n\t\t\t\t\tdurationMs: number;\n\t\t\t\t\tbytes: number;\n\t\t\t\t}>;\n\t\t\t\tresult: {\n\t\t\t\t\tpayload: StreamingSlotPatchPayload | null;\n\t\t\t\t\tid: string;\n\t\t\t\t\tdurationMs: number;\n\t\t\t\t\tbytes: number;\n\t\t\t\t};\n\t\t },\n\thandleResolved: (winner: {\n\t\tkind: 'slot';\n\t\toriginal: Promise<{\n\t\t\tpayload: StreamingSlotPatchPayload | null;\n\t\t\tid: string;\n\t\t\tdurationMs: number;\n\t\t\tbytes: number;\n\t\t}>;\n\t\tresult: {\n\t\t\tpayload: StreamingSlotPatchPayload | null;\n\t\t\tid: string;\n\t\t\tdurationMs: number;\n\t\t\tbytes: number;\n\t\t};\n\t}) => void\n) => {\n\tif (!state.handled && winner.kind === 'slot') {\n\t\thandleResolved(winner);\n\t}\n\n\treturn state;\n};\n\nconst resolveOversizedSlotPayload = (input: {\n\tencoder: TextEncoder;\n\thtml: string;\n\tmaxSlotHtmlSizeBytes: number;\n\tonError?: SlotErrorHandler;\n\tonSlotMetric?: StreamingSlotMetricHandler;\n\tslot: StreamingSlot;\n\tstart: number;\n}) => {\n\tconst {\n\t\tencoder,\n\t\thtml,\n\t\tmaxSlotHtmlSizeBytes,\n\t\tonError,\n\t\tonSlotMetric,\n\t\tslot,\n\t\tstart\n\t} = input;\n\tconst bytes = htmlByteLength(html, encoder);\n\tif (bytes <= maxSlotHtmlSizeBytes) {\n\t\treturn null;\n\t}\n\n\tconst error = new Error(\n\t\t`Streaming slot \"${slot.id}\" exceeded max payload size of ${maxSlotHtmlSizeBytes} bytes`\n\t);\n\tconst durationMs = Date.now() - start;\n\tonError?.(error, slot);\n\temitSlotMetric(\n\t\t{\n\t\t\tbytes,\n\t\t\tdurationMs,\n\t\t\terror,\n\t\t\tslotId: slot.id,\n\t\t\ttype: 'size_exceeded'\n\t\t},\n\t\tonSlotMetric\n\t);\n\n\tconst fallbackHtml = normalizeSlotError(slot.errorHtml, undefined);\n\n\treturn {\n\t\tbytes:\n\t\t\tfallbackHtml === undefined\n\t\t\t\t? 0\n\t\t\t\t: htmlByteLength(fallbackHtml, encoder),\n\t\tdurationMs,\n\t\tid: slot.id,\n\t\tpayload: fallbackHtml === undefined ? null : fallbackHtml\n\t};\n};\n\nconst raceWithTimeout = (promise: Promise<unknown>, slot: StreamingSlot) => {\n\tconst { timeoutMs } = slot;\n\tif (typeof timeoutMs !== 'number' || timeoutMs <= 0) {\n\t\treturn promise;\n\t}\n\n\tconst { promise: timeoutPromise, reject } =\n\t\tPromise.withResolvers<StreamingSlotPatchPayload>();\n\n\tsetTimeout(() => {\n\t\treject(createTimeoutError(slot, timeoutMs));\n\t}, timeoutMs);\n\n\treturn Promise.race([promise, timeoutPromise]);\n};\n\nconst resolveSlot = async (\n\tslot: StreamingSlot,\n\tonError?: SlotErrorHandler,\n\tpolicy?: StreamingSlotPolicyValue,\n\tonSlotMetric?: StreamingSlotMetricHandler\n) => {\n\tconst safePolicy = policy ?? getStreamingSlotPolicy();\n\tconst encoder = new TextEncoder();\n\tconst start = Date.now();\n\ttry {\n\t\tconst maybeAsyncValue = Promise.resolve(slot.resolve());\n\t\tconst resolved = await raceWithTimeout(maybeAsyncValue, slot);\n\t\tconst payload = normalizeSlotPatchPayload(resolved);\n\t\tconst html = getPayloadHtml(payload);\n\t\tconst oversizedResult =\n\t\t\tsafePolicy.maxSlotHtmlSizeBytes > 0\n\t\t\t\t? resolveOversizedSlotPayload({\n\t\t\t\t\t\tencoder,\n\t\t\t\t\t\thtml,\n\t\t\t\t\t\tmaxSlotHtmlSizeBytes: safePolicy.maxSlotHtmlSizeBytes,\n\t\t\t\t\t\tonError,\n\t\t\t\t\t\tonSlotMetric,\n\t\t\t\t\t\tslot,\n\t\t\t\t\t\tstart\n\t\t\t\t\t})\n\t\t\t\t: null;\n\t\tif (oversizedResult) {\n\t\t\treturn oversizedResult;\n\t\t}\n\t\tconst durationMs = Date.now() - start;\n\t\tconst bytes = htmlByteLength(html, encoder);\n\t\temitSlotMetric(\n\t\t\t{\n\t\t\t\tbytes,\n\t\t\t\tdurationMs,\n\t\t\t\tslotId: slot.id,\n\t\t\t\ttype: 'resolved'\n\t\t\t},\n\t\t\tonSlotMetric\n\t\t);\n\n\t\treturn {\n\t\t\tbytes,\n\t\t\tdurationMs,\n\t\t\tid: slot.id,\n\t\t\tpayload\n\t\t};\n\t} catch (error) {\n\t\tconst durationMs = Date.now() - start;\n\t\tonError?.(error, slot);\n\t\temitSlotMetric(\n\t\t\t{\n\t\t\t\tdurationMs,\n\t\t\t\terror,\n\t\t\t\tslotId: slot.id,\n\t\t\t\ttype: isTimeoutError(error) ? 'timeout' : 'error'\n\t\t\t},\n\t\t\tonSlotMetric\n\t\t);\n\t\tconst html = normalizeSlotError(slot.errorHtml, undefined);\n\t\tif (html) {\n\t\t\treturn {\n\t\t\t\tbytes: htmlByteLength(html, encoder),\n\t\t\t\tdurationMs,\n\t\t\t\tid: slot.id,\n\t\t\t\tpayload: html\n\t\t\t};\n\t\t}\n\n\t\treturn {\n\t\t\tbytes: 0,\n\t\t\tdurationMs,\n\t\t\tid: slot.id,\n\t\t\tpayload: null\n\t\t};\n\t}\n};\n\nconst nextResolvedSlot = async (\n\tpending: Array<Promise<ResolvedStreamingSlot>>\n) => {\n\tconst wrapped = pending.map((promise) =>\n\t\tpromise.then((result) => ({\n\t\t\toriginal: promise,\n\t\t\tresult\n\t\t}))\n\t);\n\n\treturn Promise.race(wrapped);\n};\n\nconst streamChunkToString = (\n\tvalue: string | Uint8Array,\n\tdecoder: TextDecoder\n) =>\n\ttypeof value === 'string' ? value : decoder.decode(value, { stream: true });\n\nexport const appendStreamingSlotPatchesToStream = (\n\tstream: ReadableStream<string | Uint8Array>,\n\tslots: DeferredStreamingSlot[] = [],\n\t{\n\t\tinjectRuntime = true,\n\t\tnonce,\n\t\tonError,\n\t\tonSlotMetric,\n\t\tpolicy,\n\t\truntimePreludeScript,\n\t\truntimePlacement = 'head'\n\t}: AppendStreamingSlotsOptions = {}\n) => {\n\tconst resolvedPolicy = resolveStreamingSlotPolicy(policy);\n\tconst combinedOnError = createCombinedSlotErrorHandler(\n\t\tresolvedPolicy.onError,\n\t\tonError\n\t);\n\tconst combinedOnSlotMetric = createCombinedSlotMetricHandler(\n\t\tresolvedPolicy.onSlotMetric,\n\t\tonSlotMetric\n\t);\n\tconst effectivePolicy: StreamingSlotPolicyValue = {\n\t\t...resolvedPolicy,\n\t\tonSlotMetric: combinedOnSlotMetric\n\t};\n\tconst preparedSlots = prepareSlots({\n\t\tonError: combinedOnError,\n\t\tonSlotMetric: combinedOnSlotMetric,\n\t\tpolicy: effectivePolicy,\n\t\tslots\n\t});\n\tif (preparedSlots.length === 0) return stream;\n\n\tconst source = injectRuntime\n\t\t? injectStreamingRuntimeIntoStream(\n\t\t\t\tstream,\n\t\t\t\tnonce,\n\t\t\t\truntimePlacement,\n\t\t\t\truntimePreludeScript\n\t\t\t)\n\t\t: stream;\n\tconst encoder = new TextEncoder();\n\tconst decoder = new TextDecoder();\n\tconst reader = source.getReader();\n\tconst pending: Array<Promise<ResolvedStreamingSlot>> = preparedSlots.map(\n\t\t(slot) =>\n\t\t\tresolveSlot(\n\t\t\t\tslot,\n\t\t\t\tcombinedOnError,\n\t\t\t\teffectivePolicy,\n\t\t\t\tcombinedOnSlotMetric\n\t\t\t)\n\t);\n\tconst createRaceCandidates = (\n\t\tbaseDone: boolean,\n\t\tbaseRead: StreamReadPromise\n\t) => {\n\t\tconst racers: Array<\n\t\t\tPromise<\n\t\t\t\t| {\n\t\t\t\t\t\tdone: boolean;\n\t\t\t\t\t\tkind: 'base';\n\t\t\t\t\t\tvalue?: string | Uint8Array;\n\t\t\t\t }\n\t\t\t\t| {\n\t\t\t\t\t\tkind: 'slot';\n\t\t\t\t\t\toriginal: Promise<{\n\t\t\t\t\t\t\tpayload: StreamingSlotPatchPayload | null;\n\t\t\t\t\t\t\tid: string;\n\t\t\t\t\t\t\tdurationMs: number;\n\t\t\t\t\t\t\tbytes: number;\n\t\t\t\t\t\t}>;\n\t\t\t\t\t\tresult: {\n\t\t\t\t\t\t\tpayload: StreamingSlotPatchPayload | null;\n\t\t\t\t\t\t\tid: string;\n\t\t\t\t\t\t\tdurationMs: number;\n\t\t\t\t\t\t\tbytes: number;\n\t\t\t\t\t\t};\n\t\t\t\t }\n\t\t\t>\n\t\t> = [];\n\n\t\tif (!baseDone) {\n\t\t\tracers.push(\n\t\t\t\tbaseRead.then(({ done, value }) => ({\n\t\t\t\t\tdone,\n\t\t\t\t\tkind: 'base' as const,\n\t\t\t\t\tvalue\n\t\t\t\t}))\n\t\t\t);\n\t\t}\n\t\tif (pending.length > 0) {\n\t\t\tracers.push(\n\t\t\t\tnextResolvedSlot(pending).then((resolved) => ({\n\t\t\t\t\tkind: 'slot' as const,\n\t\t\t\t\t...resolved\n\t\t\t\t}))\n\t\t\t);\n\t\t}\n\n\t\treturn racers;\n\t};\n\tconst flushTailLookbehind = (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\t\ttail: string\n\t) => {\n\t\tif (tail.length <= STREAM_TAIL_LOOKBEHIND) {\n\t\t\treturn tail;\n\t\t}\n\n\t\tconst content = tail.slice(0, tail.length - STREAM_TAIL_LOOKBEHIND);\n\t\tcontroller.enqueue(encoder.encode(content));\n\n\t\treturn tail.slice(-STREAM_TAIL_LOOKBEHIND);\n\t};\n\tconst finalizeCompletedBaseWinner = (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\t\tdecodedTail: string,\n\t\tbaseRead: StreamReadPromise\n\t) => {\n\t\tconst footerStart = decodedTail.search(CLOSING_PAGE_TAG_REGEX);\n\t\tif (footerStart < 0) {\n\t\t\tenqueueEncodedText(controller, encoder, decodedTail);\n\n\t\t\treturn {\n\t\t\t\tbaseDone: true,\n\t\t\t\tbaseRead,\n\t\t\t\tfooter: '',\n\t\t\t\thandled: true,\n\t\t\t\ttail: ''\n\t\t\t};\n\t\t}\n\n\t\tconst content = decodedTail.slice(0, footerStart);\n\t\tconst nextFooter = decodedTail.slice(footerStart);\n\t\tenqueueEncodedText(controller, encoder, content);\n\n\t\treturn {\n\t\t\tbaseDone: true,\n\t\t\tbaseRead,\n\t\t\tfooter: nextFooter,\n\t\t\thandled: true,\n\t\t\ttail: ''\n\t\t};\n\t};\n\tconst handleBaseWinner = (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\t\twinner:\n\t\t\t| {\n\t\t\t\t\tdone: boolean;\n\t\t\t\t\tkind: 'base';\n\t\t\t\t\tvalue?: string | Uint8Array;\n\t\t\t }\n\t\t\t| {\n\t\t\t\t\tkind: 'slot';\n\t\t\t\t\toriginal: Promise<{\n\t\t\t\t\t\tpayload: StreamingSlotPatchPayload | null;\n\t\t\t\t\t\tid: string;\n\t\t\t\t\t\tdurationMs: number;\n\t\t\t\t\t\tbytes: number;\n\t\t\t\t\t}>;\n\t\t\t\t\tresult: {\n\t\t\t\t\t\tpayload: StreamingSlotPatchPayload | null;\n\t\t\t\t\t\tid: string;\n\t\t\t\t\t\tdurationMs: number;\n\t\t\t\t\t\tbytes: number;\n\t\t\t\t\t};\n\t\t\t },\n\t\tbaseRead: StreamReadPromise,\n\t\ttail: string,\n\t\tfooter: string\n\t) => {\n\t\tif (winner.kind !== 'base') {\n\t\t\treturn { baseDone: false, baseRead, footer, handled: false, tail };\n\t\t}\n\n\t\tif (winner.done) {\n\t\t\treturn finalizeCompletedBaseWinner(\n\t\t\t\tcontroller,\n\t\t\t\ttail + decoder.decode(),\n\t\t\t\tbaseRead\n\t\t\t);\n\t\t}\n\n\t\tif (!winner.value) {\n\t\t\treturn { baseDone: false, baseRead, footer, handled: true, tail };\n\t\t}\n\n\t\tconst nextTail = flushTailLookbehind(\n\t\t\tcontroller,\n\t\t\ttail + streamChunkToString(winner.value, decoder)\n\t\t);\n\n\t\treturn {\n\t\t\tbaseDone: false,\n\t\t\tbaseRead: reader.read(),\n\t\t\tfooter,\n\t\t\thandled: true,\n\t\t\ttail: nextTail\n\t\t};\n\t};\n\tconst handleResolvedSlot = (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\t\twinner: {\n\t\t\tkind: 'slot';\n\t\t\toriginal: Promise<{\n\t\t\t\tpayload: StreamingSlotPatchPayload | null;\n\t\t\t\tid: string;\n\t\t\t\tdurationMs: number;\n\t\t\t\tbytes: number;\n\t\t\t}>;\n\t\t\tresult: {\n\t\t\t\tpayload: StreamingSlotPatchPayload | null;\n\t\t\t\tid: string;\n\t\t\t\tdurationMs: number;\n\t\t\t\tbytes: number;\n\t\t\t};\n\t\t}\n\t) => {\n\t\tconst index = pending.indexOf(winner.original);\n\t\tif (index >= 0) pending.splice(index, 1);\n\t\tif (winner.result.payload === null) {\n\t\t\treturn;\n\t\t}\n\n\t\temitSlotMetric(\n\t\t\t{\n\t\t\t\tbytes: winner.result.bytes,\n\t\t\t\tdurationMs: winner.result.durationMs,\n\t\t\t\tslotId: winner.result.id,\n\t\t\t\ttype: 'patched'\n\t\t\t},\n\t\t\tcombinedOnSlotMetric\n\t\t);\n\n\t\tcontroller.enqueue(\n\t\t\tencoder.encode(\n\t\t\t\trenderStreamingSlotPatchTag(\n\t\t\t\t\twinner.result.id,\n\t\t\t\t\twinner.result.payload,\n\t\t\t\t\tnonce\n\t\t\t\t)\n\t\t\t)\n\t\t);\n\t};\n\n\tconst runPatchedStreamLoop = async (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>\n\t) => {\n\t\tlet baseDone = false;\n\t\tlet baseRead = reader.read();\n\t\tlet tail = '';\n\t\tlet footer = '';\n\t\tconst readNextRaceWinner = async () => {\n\t\t\tconst racers = createRaceCandidates(baseDone, baseRead);\n\t\t\tif (racers.length === 0) {\n\t\t\t\treturn footer;\n\t\t\t}\n\n\t\t\tconst winner = await Promise.race(racers);\n\t\t\tconst baseWinnerState = applyBaseWinnerState(\n\t\t\t\thandleBaseWinner(controller, winner, baseRead, tail, footer),\n\t\t\t\twinner,\n\t\t\t\t(slotWinner) => {\n\t\t\t\t\thandleResolvedSlot(controller, slotWinner);\n\t\t\t\t}\n\t\t\t);\n\t\t\t({ baseDone, baseRead, footer, tail } = baseWinnerState);\n\t\t\tif (baseDone && pending.length === 0) {\n\t\t\t\treturn footer;\n\t\t\t}\n\n\t\t\treturn readNextRaceWinner();\n\t\t};\n\n\t\treturn readNextRaceWinner();\n\t};\n\n\treturn new ReadableStream<Uint8Array>({\n\t\tasync start(controller) {\n\t\t\ttry {\n\t\t\t\tconst footer = await runPatchedStreamLoop(controller);\n\t\t\t\tenqueueEncodedText(controller, encoder, footer);\n\t\t\t\tcontroller.close();\n\t\t\t} catch (error) {\n\t\t\t\tcontroller.error(error);\n\t\t\t}\n\t\t}\n\t});\n};\nexport const injectStreamingRuntimeIntoStream = (\n\tstream: ReadableStream<string | Uint8Array>,\n\tnonce?: string,\n\truntimePlacement: 'body' | 'head' = 'head',\n\truntimePreludeScript?: string\n) => {\n\tconst runtimeTag = renderStreamingSlotsRuntimeTag(\n\t\tnonce,\n\t\truntimePreludeScript\n\t);\n\tconst encoder = new TextEncoder();\n\tconst decoder = new TextDecoder();\n\tconst closingTag =\n\t\truntimePlacement === 'body' ? CLOSING_BODY_TAG : CLOSING_HEAD_TAG;\n\tconst lookbehind =\n\t\t(runtimePlacement === 'body'\n\t\t\t? CLOSING_BODY_TAG_LENGTH\n\t\t\t: CLOSING_HEAD_TAG_LENGTH) - 1;\n\tconst flushRuntimeLookbehind = (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\t\tpending: string\n\t) => {\n\t\tif (pending.length <= lookbehind) {\n\t\t\treturn pending;\n\t\t}\n\n\t\tconst safeText = pending.slice(0, pending.length - lookbehind);\n\t\tcontroller.enqueue(encoder.encode(safeText));\n\n\t\treturn pending.slice(-lookbehind);\n\t};\n\tconst injectRuntimeIntoPending = (pending: string) =>\n\t\truntimePlacement === 'body'\n\t\t\t? injectHtmlIntoBody(pending, runtimeTag)\n\t\t\t: injectHtmlIntoHead(pending, runtimeTag);\n\tconst processRuntimePending = (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\t\tpending: string,\n\t\tinjected: boolean\n\t) => {\n\t\tif (injected) {\n\t\t\tcontroller.enqueue(encoder.encode(pending));\n\n\t\t\treturn { injected, pending: '' };\n\t\t}\n\n\t\tconst closingTagIndex = pending.indexOf(closingTag);\n\t\tif (closingTagIndex >= 0) {\n\t\t\tconst withRuntime = `${pending.slice(0, closingTagIndex)}${runtimeTag}${pending.slice(closingTagIndex)}`;\n\t\t\tcontroller.enqueue(encoder.encode(withRuntime));\n\n\t\t\treturn { injected: true, pending: '' };\n\t\t}\n\n\t\treturn {\n\t\t\tinjected,\n\t\t\tpending: flushRuntimeLookbehind(controller, pending)\n\t\t};\n\t};\n\n\treturn new ReadableStream<Uint8Array>({\n\t\tasync start(controller) {\n\t\t\tconst reader = stream.getReader();\n\t\t\tlet injected = false;\n\t\t\tlet pending = '';\n\t\t\tconst enqueuePending = () =>\n\t\t\t\tenqueueEncodedText(controller, encoder, pending);\n\t\t\tconst consumeRuntimeChunk = async () => {\n\t\t\t\tconst { done, value } = await readStreamingRuntimeChunk(reader);\n\t\t\t\tif (done || !value) {\n\t\t\t\t\treturn done;\n\t\t\t\t}\n\n\t\t\t\tpending += streamChunkToString(value, decoder);\n\t\t\t\t({ injected, pending } = processRuntimePending(\n\t\t\t\t\tcontroller,\n\t\t\t\t\tpending,\n\t\t\t\t\tinjected\n\t\t\t\t));\n\n\t\t\t\treturn false;\n\t\t\t};\n\n\t\t\tconst runRuntimeInjectionLoop = async () => {\n\t\t\t\tconst done = await consumeRuntimeChunk();\n\t\t\t\tif (done) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tawait runRuntimeInjectionLoop();\n\t\t\t};\n\n\t\t\ttry {\n\t\t\t\tawait runRuntimeInjectionLoop();\n\n\t\t\t\tpending += decoder.decode();\n\t\t\t\tpending = injected\n\t\t\t\t\t? pending\n\t\t\t\t\t: injectRuntimeIntoPending(pending);\n\t\t\t\tenqueuePending();\n\t\t\t\tcontroller.close();\n\t\t\t} catch (error) {\n\t\t\t\tcontroller.error(error);\n\t\t\t}\n\t\t}\n\t});\n};\nexport const streamOutOfOrderSlots = ({\n\tfooterHtml = '',\n\theaderHtml = '',\n\tnonce,\n\tpolicy,\n\tonSlotMetric,\n\tonError,\n\tslots\n}: StreamOutOfOrderSlotsOptions) => {\n\tconst resolvedPolicy = resolveStreamingSlotPolicy(policy);\n\tconst combinedOnError = createCombinedSlotErrorHandler(\n\t\tresolvedPolicy.onError,\n\t\tonError\n\t);\n\tconst combinedOnSlotMetric = createCombinedSlotMetricHandler(\n\t\tresolvedPolicy.onSlotMetric,\n\t\tonSlotMetric\n\t);\n\tconst effectivePolicy: StreamingSlotPolicyValue = {\n\t\t...resolvedPolicy,\n\t\tonSlotMetric: combinedOnSlotMetric\n\t};\n\tconst preparedSlots = prepareSlots({\n\t\tonError: combinedOnError,\n\t\tonSlotMetric: combinedOnSlotMetric,\n\t\tpolicy: effectivePolicy,\n\t\tslots\n\t});\n\tconst encoder = new TextEncoder();\n\tconst createPendingSlots = (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>\n\t) =>\n\t\tpreparedSlots.map((slot) => {\n\t\t\tconst fallback = renderStreamingSlotPlaceholder(\n\t\t\t\tslot.id,\n\t\t\t\tnormalizeSlotText(slot.fallbackHtml, '')\n\t\t\t);\n\t\t\tcontroller.enqueue(toUint8(fallback, encoder));\n\n\t\t\treturn resolveSlot(\n\t\t\t\tslot,\n\t\t\t\tcombinedOnError,\n\t\t\t\teffectivePolicy,\n\t\t\t\tcombinedOnSlotMetric\n\t\t\t);\n\t\t});\n\tconst handleResolvedPreparedSlot = async (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\t\tpending: Array<\n\t\t\tPromise<{\n\t\t\t\tpayload: StreamingSlotPatchPayload | null;\n\t\t\t\tid: string;\n\t\t\t\tdurationMs: number;\n\t\t\t\tbytes: number;\n\t\t\t}>\n\t\t>\n\t) => {\n\t\tconst { original, result } = await nextResolvedSlot(pending);\n\t\tconst index = pending.indexOf(original);\n\t\tif (index >= 0) pending.splice(index, 1);\n\t\tif (result.payload === null) {\n\t\t\treturn;\n\t\t}\n\n\t\temitSlotMetric(\n\t\t\t{\n\t\t\t\tbytes: result.bytes,\n\t\t\t\tdurationMs: result.durationMs,\n\t\t\t\tslotId: result.id,\n\t\t\t\ttype: 'patched'\n\t\t\t},\n\t\t\tcombinedOnSlotMetric\n\t\t);\n\t\tcontroller.enqueue(\n\t\t\ttoUint8(\n\t\t\t\trenderStreamingSlotPatchTag(result.id, result.payload, nonce),\n\t\t\t\tencoder\n\t\t\t)\n\t\t);\n\t};\n\n\tconst streamPreparedSlots = async (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>\n\t) => {\n\t\tconst pending = createPendingSlots(controller);\n\t\tconst streamNextPreparedSlot = async () => {\n\t\t\tif (pending.length === 0) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tawait handleResolvedPreparedSlot(controller, pending);\n\n\t\t\tawait streamNextPreparedSlot();\n\t\t};\n\n\t\tawait streamNextPreparedSlot();\n\t};\n\tconst resolveHeaderHtml = () => {\n\t\tconst needsRuntimeTag =\n\t\t\tpreparedSlots.length > 0 &&\n\t\t\t!headerHtml.includes(STREAMING_RUNTIME_GLOBAL);\n\t\tif (!needsRuntimeTag) {\n\t\t\treturn headerHtml;\n\t\t}\n\n\t\treturn injectHtmlIntoHead(\n\t\t\theaderHtml,\n\t\t\trenderStreamingSlotsRuntimeTag(nonce)\n\t\t);\n\t};\n\n\treturn new ReadableStream<Uint8Array>({\n\t\tasync start(controller) {\n\t\t\ttry {\n\t\t\t\tconst header = resolveHeaderHtml();\n\t\t\t\tcontroller.enqueue(toUint8(header, encoder));\n\t\t\t\tawait streamPreparedSlots(controller);\n\n\t\t\t\tenqueueEncodedText(controller, encoder, footerHtml);\n\t\t\t\tcontroller.close();\n\t\t\t} catch (error) {\n\t\t\t\tcontroller.error(error);\n\t\t\t}\n\t\t}\n\t});\n};\n",
|
|
33
33
|
"import {\n\tMILLISECONDS_IN_A_SECOND,\n\tTIME_PRECISION,\n\tMILLISECONDS_IN_A_MINUTE\n} from '../constants';\n\nexport const getDurationString = (duration: number) => {\n\tlet durationString;\n\n\tif (duration < MILLISECONDS_IN_A_SECOND) {\n\t\tdurationString = `${duration.toFixed(TIME_PRECISION)}ms`;\n\t} else if (duration < MILLISECONDS_IN_A_MINUTE) {\n\t\tdurationString = `${(duration / MILLISECONDS_IN_A_SECOND).toFixed(TIME_PRECISION)}s`;\n\t} else {\n\t\tconst totalSeconds = Math.round(duration / MILLISECONDS_IN_A_SECOND);\n\t\tconst minutes = Math.floor(totalSeconds / 60);\n\t\tconst seconds = totalSeconds % 60;\n\t\tdurationString =\n\t\t\tseconds === 0 ? `${minutes}m` : `${minutes}m ${seconds}s`;\n\t}\n\n\treturn durationString;\n};\n",
|
|
34
34
|
"import { HOURS_IN_HALF_DAY } from '../constants';\nimport { getDurationString } from './getDurationString';\n\nconst colors = {\n\tbold: '\\x1b[1m',\n\tcyan: '\\x1b[36m',\n\tdim: '\\x1b[2m',\n\tgreen: '\\x1b[32m',\n\treset: '\\x1b[0m'\n} as const;\n\nconst MONTHS = [\n\t'Jan',\n\t'Feb',\n\t'Mar',\n\t'Apr',\n\t'May',\n\t'Jun',\n\t'Jul',\n\t'Aug',\n\t'Sep',\n\t'Oct',\n\t'Nov',\n\t'Dec'\n] as const;\n\nexport const formatTimestamp = () => {\n\tconst now = new Date();\n\tconst month = MONTHS[now.getMonth()];\n\tconst day = now.getDate().toString().padStart(2, '0');\n\tlet hours = now.getHours();\n\tconst minutes = now.getMinutes().toString().padStart(2, '0');\n\tconst seconds = now.getSeconds().toString().padStart(2, '0');\n\tconst ampm = hours >= HOURS_IN_HALF_DAY ? 'PM' : 'AM';\n\thours = hours % HOURS_IN_HALF_DAY || HOURS_IN_HALF_DAY;\n\n\treturn `${month} ${day} ${hours}:${minutes}:${seconds} ${ampm}`;\n};\n\nexport const startupBanner = (options: {\n\tversion: string;\n\treadyDuration: number;\n\tbuildDuration?: number;\n\tport: string | number;\n\thost: string;\n\tnetworkUrl?: string;\n\tprotocol?: string;\n}) => {\n\tconst {\n\t\tversion,\n\t\treadyDuration,\n\t\tbuildDuration,\n\t\tport,\n\t\thost,\n\t\tnetworkUrl,\n\t\tprotocol = 'http'\n\t} = options;\n\tconst name = `${colors.cyan}${colors.bold}ABSOLUTEJS${colors.reset}`;\n\tconst ver = `${colors.dim}v${version}${colors.reset}`;\n\tconst time = `${colors.dim}ready in${colors.reset} ${colors.bold}${getDurationString(readyDuration)}${colors.reset}`;\n\tconst build =\n\t\ttypeof buildDuration === 'number' && Number.isFinite(buildDuration)\n\t\t\t? ` ${colors.dim}(build ${getDurationString(buildDuration)})${colors.reset}`\n\t\t\t: '';\n\tconsole.log('');\n\tconsole.log(` ${name} ${ver} ${time}${build}`);\n\tconsole.log('');\n\tconsole.log(\n\t\t` ${colors.green}➜${colors.reset} ${colors.bold}Local:${colors.reset} ${protocol}://${host === '0.0.0.0' ? 'localhost' : host}:${port}/`\n\t);\n\tif (networkUrl) {\n\t\tconsole.log(\n\t\t\t` ${colors.green}➜${colors.reset} ${colors.bold}Network:${colors.reset} ${networkUrl}`\n\t\t);\n\t}\n\tconsole.log('');\n};\n",
|
|
35
35
|
"/**\n * Centralized logger utility for AbsoluteJS\n * Provides formatted output with ANSI colors and timestamps\n */\n\nimport { formatTimestamp, startupBanner } from './startupBanner';\n\nexport { formatTimestamp };\n\n// ANSI color codes\nconst colors = {\n\tblue: '\\x1b[34m',\n\tbold: '\\x1b[1m',\n\t// Core colors\n\tcyan: '\\x1b[36m',\n\tdim: '\\x1b[2m',\n\tgreen: '\\x1b[32m',\n\tmagenta: '\\x1b[35m',\n\tred: '\\x1b[31m',\n\treset: '\\x1b[0m',\n\twhite: '\\x1b[37m',\n\tyellow: '\\x1b[33m'\n} as const;\n\n// Framework color mapping\nconst frameworkColors: Record<string, string> = {\n\tangular: colors.magenta,\n\tassets: colors.dim,\n\tcss: colors.cyan,\n\thtml: colors.white,\n\thtmx: colors.white,\n\treact: colors.blue,\n\tsvelte: colors.yellow,\n\tvue: colors.green\n};\n\n/**\n * Format a file path for display (relative, clean)\n */\nconst formatPath = (filePath: string) => {\n\tconst cwd = process.cwd();\n\tlet relative = filePath.startsWith(cwd)\n\t\t? filePath.slice(cwd.length + 1)\n\t\t: filePath;\n\t// Normalize slashes\n\trelative = relative.replace(/\\\\/g, '/');\n\t// Ensure it starts with /\n\tif (!relative.startsWith('/')) {\n\t\trelative = `/${relative}`;\n\t}\n\n\treturn relative;\n};\n\n/**\n * Get color for a framework\n */\nconst getFrameworkColor = (framework: string) =>\n\tframeworkColors[framework] || colors.white;\n\n/**\n * Core logging function\n */\nconst log = (\n\taction: string,\n\toptions?: {\n\t\tframework?: string;\n\t\tduration?: number;\n\t\tpath?: string;\n\t\tcolor?: string;\n\t}\n) => {\n\tconst timestamp = `${colors.dim}${formatTimestamp()}${colors.reset}`;\n\tconst tag = `${colors.cyan}[hmr]${colors.reset}`;\n\n\tlet message = action;\n\n\t// Apply framework color to path if present\n\tif (options?.path) {\n\t\tconst pathColor = options.framework\n\t\t\t? getFrameworkColor(options.framework)\n\t\t\t: colors.white;\n\t\tmessage += ` ${pathColor}${formatPath(options.path)}${colors.reset}`;\n\t}\n\n\t// Add duration if present\n\tif (options?.duration !== undefined) {\n\t\tmessage += ` ${colors.dim}(${options.duration}ms)${colors.reset}`;\n\t}\n\n\tconsole.log(`${timestamp} ${tag} ${message}`);\n};\n\n/**\n * Startup banner\n */\nexport const logReady = startupBanner;\n\n/**\n * CSS update message\n * Format: \"10:30:45 AM [hmr] css update /styles/main.css (125ms)\"\n */\nexport const logCssUpdate = (\n\tpath: string,\n\tframework?: string,\n\tduration?: number\n) => {\n\tlog('css update', { duration, framework: framework ?? 'css', path });\n};\n\n/**\n * Build error\n * Format: \"10:30:45 AM [hmr] error Build failed: ...\"\n */\nexport const logError = (message: string, error?: Error | string) => {\n\tconst timestamp = `${colors.dim}${formatTimestamp()}${colors.reset}`;\n\tconst tag = `${colors.red}[hmr]${colors.reset}`;\n\tconst errorMsg = error instanceof Error ? error.message : error;\n\tconst fullMessage = `${colors.red}error${colors.reset} ${message}${errorMsg ? `: ${errorMsg}` : ''}`;\n\tconsole.error(`${timestamp} ${tag} ${fullMessage}`);\n};\n\n/**\n * HMR update message\n * Format: \"10:30:45 AM [hmr] hmr update /pages/App.tsx\"\n */\nexport const logHmrUpdate = (\n\tpath: string,\n\tframework?: string,\n\tduration?: number\n) => {\n\tlog('hmr update', { duration, framework, path });\n};\n\n/**\n * Generic info message\n */\nexport const logInfo = (message: string) => {\n\tlog(message);\n};\n\n/**\n * Page reload message\n * Format: \"10:30:45 AM [hmr] page reload /src/App.tsx (125ms)\"\n */\nexport const logPageReload = (\n\tpath: string,\n\tframework?: string,\n\tduration?: number\n) => {\n\tlog('page reload', { duration, framework, path });\n};\n\n/**\n * Script update message\n * Format: \"10:30:45 AM [hmr] script update /scripts/counter.ts (125ms)\"\n */\nexport const logScriptUpdate = (\n\tpath: string,\n\tframework?: string,\n\tduration?: number\n) => {\n\tlog('script update', { duration, framework, path });\n};\n\n/**\n * Server module reloaded (Bun --hot triggered a server-side change)\n */\nexport const logServerReload = () => {\n\tlog(`${colors.cyan}server module reloaded${colors.reset}`);\n};\n\n/**\n * Warning message\n * Format: \"10:30:45 AM [hmr] warning ...\"\n */\nexport const logWarn = (message: string) => {\n\tconst timestamp = `${colors.dim}${formatTimestamp()}${colors.reset}`;\n\tconst tag = `${colors.yellow}[hmr]${colors.reset}`;\n\tconsole.log(\n\t\t`${timestamp} ${tag} ${colors.yellow}warning ${message}${colors.reset}`\n\t);\n};\n",
|
|
36
|
+
"import { AsyncLocalStorage } from 'node:async_hooks';\n\nexport type SpaRouteSitemap =\n\t| 'exclude'\n\t| 'include'\n\t| {\n\t\t\tpriority?: number;\n\t\t\tchangefreq?:\n\t\t\t\t| 'always'\n\t\t\t\t| 'hourly'\n\t\t\t\t| 'daily'\n\t\t\t\t| 'weekly'\n\t\t\t\t| 'monthly'\n\t\t\t\t| 'yearly'\n\t\t\t\t| 'never';\n\t\t\tlastmod?: string;\n\t };\n\nexport type SpaRouteEntry = {\n\t/** Path relative to the page's mount point (no leading slash needed). */\n\tpath: string;\n\t/** True when any segment is `:param`, `*`, or `**`. */\n\tdynamic?: boolean;\n\t/** Optional sitemap metadata read off `Route.data.sitemap`. */\n\tsitemap?: SpaRouteSitemap;\n};\n\ntype EnumerationStore = {\n\tentries: SpaRouteEntry[];\n};\n\nconst STORAGE_KEY = Symbol.for('absolutejs.spaRouteEnumerationStorage');\n\nconst isObjectRecord = (value: unknown): value is Record<string, unknown> =>\n\tBoolean(value) && typeof value === 'object';\n\nconst isStorage = (\n\tvalue: unknown\n): value is AsyncLocalStorage<EnumerationStore> =>\n\tisObjectRecord(value) &&\n\ttypeof (value as { getStore?: unknown }).getStore === 'function' &&\n\ttypeof (value as { run?: unknown }).run === 'function';\n\nconst getStorage = (): AsyncLocalStorage<EnumerationStore> => {\n\tconst existing = Reflect.get(globalThis, STORAGE_KEY);\n\tif (isStorage(existing)) return existing;\n\tconst fresh = new AsyncLocalStorage<EnumerationStore>();\n\tReflect.set(globalThis, STORAGE_KEY, fresh);\n\n\treturn fresh;\n};\n\n/** True when the current async context is collecting SPA routes. Framework\n * page handlers should short-circuit their SSR pipeline when this is set\n * and instead call `recordSpaRoutes` with the page's enumerated routes. */\nexport const isCollectingSpaRoutes = (): boolean =>\n\tgetStorage().getStore() !== undefined;\n\n/** Push enumerated routes into the active collection. No-op when called\n * outside a `collectSpaRoutes` scope. */\nexport const recordSpaRoutes = (entries: SpaRouteEntry[]): void => {\n\tconst store = getStorage().getStore();\n\tif (!store) return;\n\tstore.entries.push(...entries);\n};\n\n/** Run `task` with an active SPA-route collection scope and return whatever\n * routes were recorded inside it. */\nexport const collectSpaRoutes = async (\n\ttask: () => Promise<unknown>\n): Promise<SpaRouteEntry[]> => {\n\tconst store: EnumerationStore = { entries: [] };\n\tawait getStorage().run(store, task);\n\n\treturn store.entries;\n};\n",
|
|
37
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isFunction = void 0;\nfunction isFunction(value) {\n return typeof value === 'function';\n}\nexports.isFunction = isFunction;\n//# sourceMappingURL=isFunction.js.map",
|
|
38
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createErrorClass = void 0;\nfunction createErrorClass(createImpl) {\n var _super = function (instance) {\n Error.call(instance);\n instance.stack = new Error().stack;\n };\n var ctorFunc = createImpl(_super);\n ctorFunc.prototype = Object.create(Error.prototype);\n ctorFunc.prototype.constructor = ctorFunc;\n return ctorFunc;\n}\nexports.createErrorClass = createErrorClass;\n//# sourceMappingURL=createErrorClass.js.map",
|
|
39
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UnsubscriptionError = void 0;\nvar createErrorClass_1 = require(\"./createErrorClass\");\nexports.UnsubscriptionError = createErrorClass_1.createErrorClass(function (_super) {\n return function UnsubscriptionErrorImpl(errors) {\n _super(this);\n this.message = errors\n ? errors.length + \" errors occurred during unsubscription:\\n\" + errors.map(function (err, i) { return i + 1 + \") \" + err.toString(); }).join('\\n ')\n : '';\n this.name = 'UnsubscriptionError';\n this.errors = errors;\n };\n});\n//# sourceMappingURL=UnsubscriptionError.js.map",
|
|
40
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.arrRemove = void 0;\nfunction arrRemove(arr, item) {\n if (arr) {\n var index = arr.indexOf(item);\n 0 <= index && arr.splice(index, 1);\n }\n}\nexports.arrRemove = arrRemove;\n//# sourceMappingURL=arrRemove.js.map",
|
|
41
|
+
"\"use strict\";\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from) {\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\n to[j] = from[i];\n return to;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isSubscription = exports.EMPTY_SUBSCRIPTION = exports.Subscription = void 0;\nvar isFunction_1 = require(\"./util/isFunction\");\nvar UnsubscriptionError_1 = require(\"./util/UnsubscriptionError\");\nvar arrRemove_1 = require(\"./util/arrRemove\");\nvar Subscription = (function () {\n function Subscription(initialTeardown) {\n this.initialTeardown = initialTeardown;\n this.closed = false;\n this._parentage = null;\n this._finalizers = null;\n }\n Subscription.prototype.unsubscribe = function () {\n var e_1, _a, e_2, _b;\n var errors;\n if (!this.closed) {\n this.closed = true;\n var _parentage = this._parentage;\n if (_parentage) {\n this._parentage = null;\n if (Array.isArray(_parentage)) {\n try {\n for (var _parentage_1 = __values(_parentage), _parentage_1_1 = _parentage_1.next(); !_parentage_1_1.done; _parentage_1_1 = _parentage_1.next()) {\n var parent_1 = _parentage_1_1.value;\n parent_1.remove(this);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_parentage_1_1 && !_parentage_1_1.done && (_a = _parentage_1.return)) _a.call(_parentage_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n else {\n _parentage.remove(this);\n }\n }\n var initialFinalizer = this.initialTeardown;\n if (isFunction_1.isFunction(initialFinalizer)) {\n try {\n initialFinalizer();\n }\n catch (e) {\n errors = e instanceof UnsubscriptionError_1.UnsubscriptionError ? e.errors : [e];\n }\n }\n var _finalizers = this._finalizers;\n if (_finalizers) {\n this._finalizers = null;\n try {\n for (var _finalizers_1 = __values(_finalizers), _finalizers_1_1 = _finalizers_1.next(); !_finalizers_1_1.done; _finalizers_1_1 = _finalizers_1.next()) {\n var finalizer = _finalizers_1_1.value;\n try {\n execFinalizer(finalizer);\n }\n catch (err) {\n errors = errors !== null && errors !== void 0 ? errors : [];\n if (err instanceof UnsubscriptionError_1.UnsubscriptionError) {\n errors = __spreadArray(__spreadArray([], __read(errors)), __read(err.errors));\n }\n else {\n errors.push(err);\n }\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_finalizers_1_1 && !_finalizers_1_1.done && (_b = _finalizers_1.return)) _b.call(_finalizers_1);\n }\n finally { if (e_2) throw e_2.error; }\n }\n }\n if (errors) {\n throw new UnsubscriptionError_1.UnsubscriptionError(errors);\n }\n }\n };\n Subscription.prototype.add = function (teardown) {\n var _a;\n if (teardown && teardown !== this) {\n if (this.closed) {\n execFinalizer(teardown);\n }\n else {\n if (teardown instanceof Subscription) {\n if (teardown.closed || teardown._hasParent(this)) {\n return;\n }\n teardown._addParent(this);\n }\n (this._finalizers = (_a = this._finalizers) !== null && _a !== void 0 ? _a : []).push(teardown);\n }\n }\n };\n Subscription.prototype._hasParent = function (parent) {\n var _parentage = this._parentage;\n return _parentage === parent || (Array.isArray(_parentage) && _parentage.includes(parent));\n };\n Subscription.prototype._addParent = function (parent) {\n var _parentage = this._parentage;\n this._parentage = Array.isArray(_parentage) ? (_parentage.push(parent), _parentage) : _parentage ? [_parentage, parent] : parent;\n };\n Subscription.prototype._removeParent = function (parent) {\n var _parentage = this._parentage;\n if (_parentage === parent) {\n this._parentage = null;\n }\n else if (Array.isArray(_parentage)) {\n arrRemove_1.arrRemove(_parentage, parent);\n }\n };\n Subscription.prototype.remove = function (teardown) {\n var _finalizers = this._finalizers;\n _finalizers && arrRemove_1.arrRemove(_finalizers, teardown);\n if (teardown instanceof Subscription) {\n teardown._removeParent(this);\n }\n };\n Subscription.EMPTY = (function () {\n var empty = new Subscription();\n empty.closed = true;\n return empty;\n })();\n return Subscription;\n}());\nexports.Subscription = Subscription;\nexports.EMPTY_SUBSCRIPTION = Subscription.EMPTY;\nfunction isSubscription(value) {\n return (value instanceof Subscription ||\n (value && 'closed' in value && isFunction_1.isFunction(value.remove) && isFunction_1.isFunction(value.add) && isFunction_1.isFunction(value.unsubscribe)));\n}\nexports.isSubscription = isSubscription;\nfunction execFinalizer(finalizer) {\n if (isFunction_1.isFunction(finalizer)) {\n finalizer();\n }\n else {\n finalizer.unsubscribe();\n }\n}\n//# sourceMappingURL=Subscription.js.map",
|
|
42
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.config = void 0;\nexports.config = {\n onUnhandledError: null,\n onStoppedNotification: null,\n Promise: undefined,\n useDeprecatedSynchronousErrorHandling: false,\n useDeprecatedNextContext: false,\n};\n//# sourceMappingURL=config.js.map",
|
|
43
|
+
"\"use strict\";\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from) {\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\n to[j] = from[i];\n return to;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.timeoutProvider = void 0;\nexports.timeoutProvider = {\n setTimeout: function (handler, timeout) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n var delegate = exports.timeoutProvider.delegate;\n if (delegate === null || delegate === void 0 ? void 0 : delegate.setTimeout) {\n return delegate.setTimeout.apply(delegate, __spreadArray([handler, timeout], __read(args)));\n }\n return setTimeout.apply(void 0, __spreadArray([handler, timeout], __read(args)));\n },\n clearTimeout: function (handle) {\n var delegate = exports.timeoutProvider.delegate;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearTimeout) || clearTimeout)(handle);\n },\n delegate: undefined,\n};\n//# sourceMappingURL=timeoutProvider.js.map",
|
|
44
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.reportUnhandledError = void 0;\nvar config_1 = require(\"../config\");\nvar timeoutProvider_1 = require(\"../scheduler/timeoutProvider\");\nfunction reportUnhandledError(err) {\n timeoutProvider_1.timeoutProvider.setTimeout(function () {\n var onUnhandledError = config_1.config.onUnhandledError;\n if (onUnhandledError) {\n onUnhandledError(err);\n }\n else {\n throw err;\n }\n });\n}\nexports.reportUnhandledError = reportUnhandledError;\n//# sourceMappingURL=reportUnhandledError.js.map",
|
|
45
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.noop = void 0;\nfunction noop() { }\nexports.noop = noop;\n//# sourceMappingURL=noop.js.map",
|
|
46
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createNotification = exports.nextNotification = exports.errorNotification = exports.COMPLETE_NOTIFICATION = void 0;\nexports.COMPLETE_NOTIFICATION = (function () { return createNotification('C', undefined, undefined); })();\nfunction errorNotification(error) {\n return createNotification('E', undefined, error);\n}\nexports.errorNotification = errorNotification;\nfunction nextNotification(value) {\n return createNotification('N', value, undefined);\n}\nexports.nextNotification = nextNotification;\nfunction createNotification(kind, value, error) {\n return {\n kind: kind,\n value: value,\n error: error,\n };\n}\nexports.createNotification = createNotification;\n//# sourceMappingURL=NotificationFactories.js.map",
|
|
47
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.captureError = exports.errorContext = void 0;\nvar config_1 = require(\"../config\");\nvar context = null;\nfunction errorContext(cb) {\n if (config_1.config.useDeprecatedSynchronousErrorHandling) {\n var isRoot = !context;\n if (isRoot) {\n context = { errorThrown: false, error: null };\n }\n cb();\n if (isRoot) {\n var _a = context, errorThrown = _a.errorThrown, error = _a.error;\n context = null;\n if (errorThrown) {\n throw error;\n }\n }\n }\n else {\n cb();\n }\n}\nexports.errorContext = errorContext;\nfunction captureError(err) {\n if (config_1.config.useDeprecatedSynchronousErrorHandling && context) {\n context.errorThrown = true;\n context.error = err;\n }\n}\nexports.captureError = captureError;\n//# sourceMappingURL=errorContext.js.map",
|
|
48
|
+
"\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EMPTY_OBSERVER = exports.SafeSubscriber = exports.Subscriber = void 0;\nvar isFunction_1 = require(\"./util/isFunction\");\nvar Subscription_1 = require(\"./Subscription\");\nvar config_1 = require(\"./config\");\nvar reportUnhandledError_1 = require(\"./util/reportUnhandledError\");\nvar noop_1 = require(\"./util/noop\");\nvar NotificationFactories_1 = require(\"./NotificationFactories\");\nvar timeoutProvider_1 = require(\"./scheduler/timeoutProvider\");\nvar errorContext_1 = require(\"./util/errorContext\");\nvar Subscriber = (function (_super) {\n __extends(Subscriber, _super);\n function Subscriber(destination) {\n var _this = _super.call(this) || this;\n _this.isStopped = false;\n if (destination) {\n _this.destination = destination;\n if (Subscription_1.isSubscription(destination)) {\n destination.add(_this);\n }\n }\n else {\n _this.destination = exports.EMPTY_OBSERVER;\n }\n return _this;\n }\n Subscriber.create = function (next, error, complete) {\n return new SafeSubscriber(next, error, complete);\n };\n Subscriber.prototype.next = function (value) {\n if (this.isStopped) {\n handleStoppedNotification(NotificationFactories_1.nextNotification(value), this);\n }\n else {\n this._next(value);\n }\n };\n Subscriber.prototype.error = function (err) {\n if (this.isStopped) {\n handleStoppedNotification(NotificationFactories_1.errorNotification(err), this);\n }\n else {\n this.isStopped = true;\n this._error(err);\n }\n };\n Subscriber.prototype.complete = function () {\n if (this.isStopped) {\n handleStoppedNotification(NotificationFactories_1.COMPLETE_NOTIFICATION, this);\n }\n else {\n this.isStopped = true;\n this._complete();\n }\n };\n Subscriber.prototype.unsubscribe = function () {\n if (!this.closed) {\n this.isStopped = true;\n _super.prototype.unsubscribe.call(this);\n this.destination = null;\n }\n };\n Subscriber.prototype._next = function (value) {\n this.destination.next(value);\n };\n Subscriber.prototype._error = function (err) {\n try {\n this.destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n };\n Subscriber.prototype._complete = function () {\n try {\n this.destination.complete();\n }\n finally {\n this.unsubscribe();\n }\n };\n return Subscriber;\n}(Subscription_1.Subscription));\nexports.Subscriber = Subscriber;\nvar _bind = Function.prototype.bind;\nfunction bind(fn, thisArg) {\n return _bind.call(fn, thisArg);\n}\nvar ConsumerObserver = (function () {\n function ConsumerObserver(partialObserver) {\n this.partialObserver = partialObserver;\n }\n ConsumerObserver.prototype.next = function (value) {\n var partialObserver = this.partialObserver;\n if (partialObserver.next) {\n try {\n partialObserver.next(value);\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n };\n ConsumerObserver.prototype.error = function (err) {\n var partialObserver = this.partialObserver;\n if (partialObserver.error) {\n try {\n partialObserver.error(err);\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n else {\n handleUnhandledError(err);\n }\n };\n ConsumerObserver.prototype.complete = function () {\n var partialObserver = this.partialObserver;\n if (partialObserver.complete) {\n try {\n partialObserver.complete();\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n };\n return ConsumerObserver;\n}());\nvar SafeSubscriber = (function (_super) {\n __extends(SafeSubscriber, _super);\n function SafeSubscriber(observerOrNext, error, complete) {\n var _this = _super.call(this) || this;\n var partialObserver;\n if (isFunction_1.isFunction(observerOrNext) || !observerOrNext) {\n partialObserver = {\n next: (observerOrNext !== null && observerOrNext !== void 0 ? observerOrNext : undefined),\n error: error !== null && error !== void 0 ? error : undefined,\n complete: complete !== null && complete !== void 0 ? complete : undefined,\n };\n }\n else {\n var context_1;\n if (_this && config_1.config.useDeprecatedNextContext) {\n context_1 = Object.create(observerOrNext);\n context_1.unsubscribe = function () { return _this.unsubscribe(); };\n partialObserver = {\n next: observerOrNext.next && bind(observerOrNext.next, context_1),\n error: observerOrNext.error && bind(observerOrNext.error, context_1),\n complete: observerOrNext.complete && bind(observerOrNext.complete, context_1),\n };\n }\n else {\n partialObserver = observerOrNext;\n }\n }\n _this.destination = new ConsumerObserver(partialObserver);\n return _this;\n }\n return SafeSubscriber;\n}(Subscriber));\nexports.SafeSubscriber = SafeSubscriber;\nfunction handleUnhandledError(error) {\n if (config_1.config.useDeprecatedSynchronousErrorHandling) {\n errorContext_1.captureError(error);\n }\n else {\n reportUnhandledError_1.reportUnhandledError(error);\n }\n}\nfunction defaultErrorHandler(err) {\n throw err;\n}\nfunction handleStoppedNotification(notification, subscriber) {\n var onStoppedNotification = config_1.config.onStoppedNotification;\n onStoppedNotification && timeoutProvider_1.timeoutProvider.setTimeout(function () { return onStoppedNotification(notification, subscriber); });\n}\nexports.EMPTY_OBSERVER = {\n closed: true,\n next: noop_1.noop,\n error: defaultErrorHandler,\n complete: noop_1.noop,\n};\n//# sourceMappingURL=Subscriber.js.map",
|
|
49
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.observable = void 0;\nexports.observable = (function () { return (typeof Symbol === 'function' && Symbol.observable) || '@@observable'; })();\n//# sourceMappingURL=observable.js.map",
|
|
50
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.identity = void 0;\nfunction identity(x) {\n return x;\n}\nexports.identity = identity;\n//# sourceMappingURL=identity.js.map",
|
|
51
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.pipeFromArray = exports.pipe = void 0;\nvar identity_1 = require(\"./identity\");\nfunction pipe() {\n var fns = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n fns[_i] = arguments[_i];\n }\n return pipeFromArray(fns);\n}\nexports.pipe = pipe;\nfunction pipeFromArray(fns) {\n if (fns.length === 0) {\n return identity_1.identity;\n }\n if (fns.length === 1) {\n return fns[0];\n }\n return function piped(input) {\n return fns.reduce(function (prev, fn) { return fn(prev); }, input);\n };\n}\nexports.pipeFromArray = pipeFromArray;\n//# sourceMappingURL=pipe.js.map",
|
|
52
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Observable = void 0;\nvar Subscriber_1 = require(\"./Subscriber\");\nvar Subscription_1 = require(\"./Subscription\");\nvar observable_1 = require(\"./symbol/observable\");\nvar pipe_1 = require(\"./util/pipe\");\nvar config_1 = require(\"./config\");\nvar isFunction_1 = require(\"./util/isFunction\");\nvar errorContext_1 = require(\"./util/errorContext\");\nvar Observable = (function () {\n function Observable(subscribe) {\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n Observable.prototype.lift = function (operator) {\n var observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n };\n Observable.prototype.subscribe = function (observerOrNext, error, complete) {\n var _this = this;\n var subscriber = isSubscriber(observerOrNext) ? observerOrNext : new Subscriber_1.SafeSubscriber(observerOrNext, error, complete);\n errorContext_1.errorContext(function () {\n var _a = _this, operator = _a.operator, source = _a.source;\n subscriber.add(operator\n ?\n operator.call(subscriber, source)\n : source\n ?\n _this._subscribe(subscriber)\n :\n _this._trySubscribe(subscriber));\n });\n return subscriber;\n };\n Observable.prototype._trySubscribe = function (sink) {\n try {\n return this._subscribe(sink);\n }\n catch (err) {\n sink.error(err);\n }\n };\n Observable.prototype.forEach = function (next, promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var subscriber = new Subscriber_1.SafeSubscriber({\n next: function (value) {\n try {\n next(value);\n }\n catch (err) {\n reject(err);\n subscriber.unsubscribe();\n }\n },\n error: reject,\n complete: resolve,\n });\n _this.subscribe(subscriber);\n });\n };\n Observable.prototype._subscribe = function (subscriber) {\n var _a;\n return (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber);\n };\n Observable.prototype[observable_1.observable] = function () {\n return this;\n };\n Observable.prototype.pipe = function () {\n var operations = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n operations[_i] = arguments[_i];\n }\n return pipe_1.pipeFromArray(operations)(this);\n };\n Observable.prototype.toPromise = function (promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var value;\n _this.subscribe(function (x) { return (value = x); }, function (err) { return reject(err); }, function () { return resolve(value); });\n });\n };\n Observable.create = function (subscribe) {\n return new Observable(subscribe);\n };\n return Observable;\n}());\nexports.Observable = Observable;\nfunction getPromiseCtor(promiseCtor) {\n var _a;\n return (_a = promiseCtor !== null && promiseCtor !== void 0 ? promiseCtor : config_1.config.Promise) !== null && _a !== void 0 ? _a : Promise;\n}\nfunction isObserver(value) {\n return value && isFunction_1.isFunction(value.next) && isFunction_1.isFunction(value.error) && isFunction_1.isFunction(value.complete);\n}\nfunction isSubscriber(value) {\n return (value && value instanceof Subscriber_1.Subscriber) || (isObserver(value) && Subscription_1.isSubscription(value));\n}\n//# sourceMappingURL=Observable.js.map",
|
|
53
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.operate = exports.hasLift = void 0;\nvar isFunction_1 = require(\"./isFunction\");\nfunction hasLift(source) {\n return isFunction_1.isFunction(source === null || source === void 0 ? void 0 : source.lift);\n}\nexports.hasLift = hasLift;\nfunction operate(init) {\n return function (source) {\n if (hasLift(source)) {\n return source.lift(function (liftedSource) {\n try {\n return init(liftedSource, this);\n }\n catch (err) {\n this.error(err);\n }\n });\n }\n throw new TypeError('Unable to lift unknown Observable type');\n };\n}\nexports.operate = operate;\n//# sourceMappingURL=lift.js.map",
|
|
54
|
+
"\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OperatorSubscriber = exports.createOperatorSubscriber = void 0;\nvar Subscriber_1 = require(\"../Subscriber\");\nfunction createOperatorSubscriber(destination, onNext, onComplete, onError, onFinalize) {\n return new OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize);\n}\nexports.createOperatorSubscriber = createOperatorSubscriber;\nvar OperatorSubscriber = (function (_super) {\n __extends(OperatorSubscriber, _super);\n function OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize, shouldUnsubscribe) {\n var _this = _super.call(this, destination) || this;\n _this.onFinalize = onFinalize;\n _this.shouldUnsubscribe = shouldUnsubscribe;\n _this._next = onNext\n ? function (value) {\n try {\n onNext(value);\n }\n catch (err) {\n destination.error(err);\n }\n }\n : _super.prototype._next;\n _this._error = onError\n ? function (err) {\n try {\n onError(err);\n }\n catch (err) {\n destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n : _super.prototype._error;\n _this._complete = onComplete\n ? function () {\n try {\n onComplete();\n }\n catch (err) {\n destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n : _super.prototype._complete;\n return _this;\n }\n OperatorSubscriber.prototype.unsubscribe = function () {\n var _a;\n if (!this.shouldUnsubscribe || this.shouldUnsubscribe()) {\n var closed_1 = this.closed;\n _super.prototype.unsubscribe.call(this);\n !closed_1 && ((_a = this.onFinalize) === null || _a === void 0 ? void 0 : _a.call(this));\n }\n };\n return OperatorSubscriber;\n}(Subscriber_1.Subscriber));\nexports.OperatorSubscriber = OperatorSubscriber;\n//# sourceMappingURL=OperatorSubscriber.js.map",
|
|
55
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.refCount = void 0;\nvar lift_1 = require(\"../util/lift\");\nvar OperatorSubscriber_1 = require(\"./OperatorSubscriber\");\nfunction refCount() {\n return lift_1.operate(function (source, subscriber) {\n var connection = null;\n source._refCount++;\n var refCounter = OperatorSubscriber_1.createOperatorSubscriber(subscriber, undefined, undefined, undefined, function () {\n if (!source || source._refCount <= 0 || 0 < --source._refCount) {\n connection = null;\n return;\n }\n var sharedConnection = source._connection;\n var conn = connection;\n connection = null;\n if (sharedConnection && (!conn || sharedConnection === conn)) {\n sharedConnection.unsubscribe();\n }\n subscriber.unsubscribe();\n });\n source.subscribe(refCounter);\n if (!refCounter.closed) {\n connection = source.connect();\n }\n });\n}\nexports.refCount = refCount;\n//# sourceMappingURL=refCount.js.map",
|
|
56
|
+
"\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ConnectableObservable = void 0;\nvar Observable_1 = require(\"../Observable\");\nvar Subscription_1 = require(\"../Subscription\");\nvar refCount_1 = require(\"../operators/refCount\");\nvar OperatorSubscriber_1 = require(\"../operators/OperatorSubscriber\");\nvar lift_1 = require(\"../util/lift\");\nvar ConnectableObservable = (function (_super) {\n __extends(ConnectableObservable, _super);\n function ConnectableObservable(source, subjectFactory) {\n var _this = _super.call(this) || this;\n _this.source = source;\n _this.subjectFactory = subjectFactory;\n _this._subject = null;\n _this._refCount = 0;\n _this._connection = null;\n if (lift_1.hasLift(source)) {\n _this.lift = source.lift;\n }\n return _this;\n }\n ConnectableObservable.prototype._subscribe = function (subscriber) {\n return this.getSubject().subscribe(subscriber);\n };\n ConnectableObservable.prototype.getSubject = function () {\n var subject = this._subject;\n if (!subject || subject.isStopped) {\n this._subject = this.subjectFactory();\n }\n return this._subject;\n };\n ConnectableObservable.prototype._teardown = function () {\n this._refCount = 0;\n var _connection = this._connection;\n this._subject = this._connection = null;\n _connection === null || _connection === void 0 ? void 0 : _connection.unsubscribe();\n };\n ConnectableObservable.prototype.connect = function () {\n var _this = this;\n var connection = this._connection;\n if (!connection) {\n connection = this._connection = new Subscription_1.Subscription();\n var subject_1 = this.getSubject();\n connection.add(this.source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subject_1, undefined, function () {\n _this._teardown();\n subject_1.complete();\n }, function (err) {\n _this._teardown();\n subject_1.error(err);\n }, function () { return _this._teardown(); })));\n if (connection.closed) {\n this._connection = null;\n connection = Subscription_1.Subscription.EMPTY;\n }\n }\n return connection;\n };\n ConnectableObservable.prototype.refCount = function () {\n return refCount_1.refCount()(this);\n };\n return ConnectableObservable;\n}(Observable_1.Observable));\nexports.ConnectableObservable = ConnectableObservable;\n//# sourceMappingURL=ConnectableObservable.js.map",
|
|
57
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.performanceTimestampProvider = void 0;\nexports.performanceTimestampProvider = {\n now: function () {\n return (exports.performanceTimestampProvider.delegate || performance).now();\n },\n delegate: undefined,\n};\n//# sourceMappingURL=performanceTimestampProvider.js.map",
|
|
58
|
+
"\"use strict\";\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from) {\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\n to[j] = from[i];\n return to;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.animationFrameProvider = void 0;\nvar Subscription_1 = require(\"../Subscription\");\nexports.animationFrameProvider = {\n schedule: function (callback) {\n var request = requestAnimationFrame;\n var cancel = cancelAnimationFrame;\n var delegate = exports.animationFrameProvider.delegate;\n if (delegate) {\n request = delegate.requestAnimationFrame;\n cancel = delegate.cancelAnimationFrame;\n }\n var handle = request(function (timestamp) {\n cancel = undefined;\n callback(timestamp);\n });\n return new Subscription_1.Subscription(function () { return cancel === null || cancel === void 0 ? void 0 : cancel(handle); });\n },\n requestAnimationFrame: function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var delegate = exports.animationFrameProvider.delegate;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.requestAnimationFrame) || requestAnimationFrame).apply(void 0, __spreadArray([], __read(args)));\n },\n cancelAnimationFrame: function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var delegate = exports.animationFrameProvider.delegate;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.cancelAnimationFrame) || cancelAnimationFrame).apply(void 0, __spreadArray([], __read(args)));\n },\n delegate: undefined,\n};\n//# sourceMappingURL=animationFrameProvider.js.map",
|
|
59
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.animationFrames = void 0;\nvar Observable_1 = require(\"../../Observable\");\nvar performanceTimestampProvider_1 = require(\"../../scheduler/performanceTimestampProvider\");\nvar animationFrameProvider_1 = require(\"../../scheduler/animationFrameProvider\");\nfunction animationFrames(timestampProvider) {\n return timestampProvider ? animationFramesFactory(timestampProvider) : DEFAULT_ANIMATION_FRAMES;\n}\nexports.animationFrames = animationFrames;\nfunction animationFramesFactory(timestampProvider) {\n return new Observable_1.Observable(function (subscriber) {\n var provider = timestampProvider || performanceTimestampProvider_1.performanceTimestampProvider;\n var start = provider.now();\n var id = 0;\n var run = function () {\n if (!subscriber.closed) {\n id = animationFrameProvider_1.animationFrameProvider.requestAnimationFrame(function (timestamp) {\n id = 0;\n var now = provider.now();\n subscriber.next({\n timestamp: timestampProvider ? now : timestamp,\n elapsed: now - start,\n });\n run();\n });\n }\n };\n run();\n return function () {\n if (id) {\n animationFrameProvider_1.animationFrameProvider.cancelAnimationFrame(id);\n }\n };\n });\n}\nvar DEFAULT_ANIMATION_FRAMES = animationFramesFactory();\n//# sourceMappingURL=animationFrames.js.map",
|
|
60
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ObjectUnsubscribedError = void 0;\nvar createErrorClass_1 = require(\"./createErrorClass\");\nexports.ObjectUnsubscribedError = createErrorClass_1.createErrorClass(function (_super) {\n return function ObjectUnsubscribedErrorImpl() {\n _super(this);\n this.name = 'ObjectUnsubscribedError';\n this.message = 'object unsubscribed';\n };\n});\n//# sourceMappingURL=ObjectUnsubscribedError.js.map",
|
|
61
|
+
"\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AnonymousSubject = exports.Subject = void 0;\nvar Observable_1 = require(\"./Observable\");\nvar Subscription_1 = require(\"./Subscription\");\nvar ObjectUnsubscribedError_1 = require(\"./util/ObjectUnsubscribedError\");\nvar arrRemove_1 = require(\"./util/arrRemove\");\nvar errorContext_1 = require(\"./util/errorContext\");\nvar Subject = (function (_super) {\n __extends(Subject, _super);\n function Subject() {\n var _this = _super.call(this) || this;\n _this.closed = false;\n _this.currentObservers = null;\n _this.observers = [];\n _this.isStopped = false;\n _this.hasError = false;\n _this.thrownError = null;\n return _this;\n }\n Subject.prototype.lift = function (operator) {\n var subject = new AnonymousSubject(this, this);\n subject.operator = operator;\n return subject;\n };\n Subject.prototype._throwIfClosed = function () {\n if (this.closed) {\n throw new ObjectUnsubscribedError_1.ObjectUnsubscribedError();\n }\n };\n Subject.prototype.next = function (value) {\n var _this = this;\n errorContext_1.errorContext(function () {\n var e_1, _a;\n _this._throwIfClosed();\n if (!_this.isStopped) {\n if (!_this.currentObservers) {\n _this.currentObservers = Array.from(_this.observers);\n }\n try {\n for (var _b = __values(_this.currentObservers), _c = _b.next(); !_c.done; _c = _b.next()) {\n var observer = _c.value;\n observer.next(value);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n });\n };\n Subject.prototype.error = function (err) {\n var _this = this;\n errorContext_1.errorContext(function () {\n _this._throwIfClosed();\n if (!_this.isStopped) {\n _this.hasError = _this.isStopped = true;\n _this.thrownError = err;\n var observers = _this.observers;\n while (observers.length) {\n observers.shift().error(err);\n }\n }\n });\n };\n Subject.prototype.complete = function () {\n var _this = this;\n errorContext_1.errorContext(function () {\n _this._throwIfClosed();\n if (!_this.isStopped) {\n _this.isStopped = true;\n var observers = _this.observers;\n while (observers.length) {\n observers.shift().complete();\n }\n }\n });\n };\n Subject.prototype.unsubscribe = function () {\n this.isStopped = this.closed = true;\n this.observers = this.currentObservers = null;\n };\n Object.defineProperty(Subject.prototype, \"observed\", {\n get: function () {\n var _a;\n return ((_a = this.observers) === null || _a === void 0 ? void 0 : _a.length) > 0;\n },\n enumerable: false,\n configurable: true\n });\n Subject.prototype._trySubscribe = function (subscriber) {\n this._throwIfClosed();\n return _super.prototype._trySubscribe.call(this, subscriber);\n };\n Subject.prototype._subscribe = function (subscriber) {\n this._throwIfClosed();\n this._checkFinalizedStatuses(subscriber);\n return this._innerSubscribe(subscriber);\n };\n Subject.prototype._innerSubscribe = function (subscriber) {\n var _this = this;\n var _a = this, hasError = _a.hasError, isStopped = _a.isStopped, observers = _a.observers;\n if (hasError || isStopped) {\n return Subscription_1.EMPTY_SUBSCRIPTION;\n }\n this.currentObservers = null;\n observers.push(subscriber);\n return new Subscription_1.Subscription(function () {\n _this.currentObservers = null;\n arrRemove_1.arrRemove(observers, subscriber);\n });\n };\n Subject.prototype._checkFinalizedStatuses = function (subscriber) {\n var _a = this, hasError = _a.hasError, thrownError = _a.thrownError, isStopped = _a.isStopped;\n if (hasError) {\n subscriber.error(thrownError);\n }\n else if (isStopped) {\n subscriber.complete();\n }\n };\n Subject.prototype.asObservable = function () {\n var observable = new Observable_1.Observable();\n observable.source = this;\n return observable;\n };\n Subject.create = function (destination, source) {\n return new AnonymousSubject(destination, source);\n };\n return Subject;\n}(Observable_1.Observable));\nexports.Subject = Subject;\nvar AnonymousSubject = (function (_super) {\n __extends(AnonymousSubject, _super);\n function AnonymousSubject(destination, source) {\n var _this = _super.call(this) || this;\n _this.destination = destination;\n _this.source = source;\n return _this;\n }\n AnonymousSubject.prototype.next = function (value) {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.next) === null || _b === void 0 ? void 0 : _b.call(_a, value);\n };\n AnonymousSubject.prototype.error = function (err) {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.error) === null || _b === void 0 ? void 0 : _b.call(_a, err);\n };\n AnonymousSubject.prototype.complete = function () {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.complete) === null || _b === void 0 ? void 0 : _b.call(_a);\n };\n AnonymousSubject.prototype._subscribe = function (subscriber) {\n var _a, _b;\n return (_b = (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber)) !== null && _b !== void 0 ? _b : Subscription_1.EMPTY_SUBSCRIPTION;\n };\n return AnonymousSubject;\n}(Subject));\nexports.AnonymousSubject = AnonymousSubject;\n//# sourceMappingURL=Subject.js.map",
|
|
62
|
+
"\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BehaviorSubject = void 0;\nvar Subject_1 = require(\"./Subject\");\nvar BehaviorSubject = (function (_super) {\n __extends(BehaviorSubject, _super);\n function BehaviorSubject(_value) {\n var _this = _super.call(this) || this;\n _this._value = _value;\n return _this;\n }\n Object.defineProperty(BehaviorSubject.prototype, \"value\", {\n get: function () {\n return this.getValue();\n },\n enumerable: false,\n configurable: true\n });\n BehaviorSubject.prototype._subscribe = function (subscriber) {\n var subscription = _super.prototype._subscribe.call(this, subscriber);\n !subscription.closed && subscriber.next(this._value);\n return subscription;\n };\n BehaviorSubject.prototype.getValue = function () {\n var _a = this, hasError = _a.hasError, thrownError = _a.thrownError, _value = _a._value;\n if (hasError) {\n throw thrownError;\n }\n this._throwIfClosed();\n return _value;\n };\n BehaviorSubject.prototype.next = function (value) {\n _super.prototype.next.call(this, (this._value = value));\n };\n return BehaviorSubject;\n}(Subject_1.Subject));\nexports.BehaviorSubject = BehaviorSubject;\n//# sourceMappingURL=BehaviorSubject.js.map",
|
|
63
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.dateTimestampProvider = void 0;\nexports.dateTimestampProvider = {\n now: function () {\n return (exports.dateTimestampProvider.delegate || Date).now();\n },\n delegate: undefined,\n};\n//# sourceMappingURL=dateTimestampProvider.js.map",
|
|
64
|
+
"\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ReplaySubject = void 0;\nvar Subject_1 = require(\"./Subject\");\nvar dateTimestampProvider_1 = require(\"./scheduler/dateTimestampProvider\");\nvar ReplaySubject = (function (_super) {\n __extends(ReplaySubject, _super);\n function ReplaySubject(_bufferSize, _windowTime, _timestampProvider) {\n if (_bufferSize === void 0) { _bufferSize = Infinity; }\n if (_windowTime === void 0) { _windowTime = Infinity; }\n if (_timestampProvider === void 0) { _timestampProvider = dateTimestampProvider_1.dateTimestampProvider; }\n var _this = _super.call(this) || this;\n _this._bufferSize = _bufferSize;\n _this._windowTime = _windowTime;\n _this._timestampProvider = _timestampProvider;\n _this._buffer = [];\n _this._infiniteTimeWindow = true;\n _this._infiniteTimeWindow = _windowTime === Infinity;\n _this._bufferSize = Math.max(1, _bufferSize);\n _this._windowTime = Math.max(1, _windowTime);\n return _this;\n }\n ReplaySubject.prototype.next = function (value) {\n var _a = this, isStopped = _a.isStopped, _buffer = _a._buffer, _infiniteTimeWindow = _a._infiniteTimeWindow, _timestampProvider = _a._timestampProvider, _windowTime = _a._windowTime;\n if (!isStopped) {\n _buffer.push(value);\n !_infiniteTimeWindow && _buffer.push(_timestampProvider.now() + _windowTime);\n }\n this._trimBuffer();\n _super.prototype.next.call(this, value);\n };\n ReplaySubject.prototype._subscribe = function (subscriber) {\n this._throwIfClosed();\n this._trimBuffer();\n var subscription = this._innerSubscribe(subscriber);\n var _a = this, _infiniteTimeWindow = _a._infiniteTimeWindow, _buffer = _a._buffer;\n var copy = _buffer.slice();\n for (var i = 0; i < copy.length && !subscriber.closed; i += _infiniteTimeWindow ? 1 : 2) {\n subscriber.next(copy[i]);\n }\n this._checkFinalizedStatuses(subscriber);\n return subscription;\n };\n ReplaySubject.prototype._trimBuffer = function () {\n var _a = this, _bufferSize = _a._bufferSize, _timestampProvider = _a._timestampProvider, _buffer = _a._buffer, _infiniteTimeWindow = _a._infiniteTimeWindow;\n var adjustedBufferSize = (_infiniteTimeWindow ? 1 : 2) * _bufferSize;\n _bufferSize < Infinity && adjustedBufferSize < _buffer.length && _buffer.splice(0, _buffer.length - adjustedBufferSize);\n if (!_infiniteTimeWindow) {\n var now = _timestampProvider.now();\n var last = 0;\n for (var i = 1; i < _buffer.length && _buffer[i] <= now; i += 2) {\n last = i;\n }\n last && _buffer.splice(0, last + 1);\n }\n };\n return ReplaySubject;\n}(Subject_1.Subject));\nexports.ReplaySubject = ReplaySubject;\n//# sourceMappingURL=ReplaySubject.js.map",
|
|
65
|
+
"\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AsyncSubject = void 0;\nvar Subject_1 = require(\"./Subject\");\nvar AsyncSubject = (function (_super) {\n __extends(AsyncSubject, _super);\n function AsyncSubject() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._value = null;\n _this._hasValue = false;\n _this._isComplete = false;\n return _this;\n }\n AsyncSubject.prototype._checkFinalizedStatuses = function (subscriber) {\n var _a = this, hasError = _a.hasError, _hasValue = _a._hasValue, _value = _a._value, thrownError = _a.thrownError, isStopped = _a.isStopped, _isComplete = _a._isComplete;\n if (hasError) {\n subscriber.error(thrownError);\n }\n else if (isStopped || _isComplete) {\n _hasValue && subscriber.next(_value);\n subscriber.complete();\n }\n };\n AsyncSubject.prototype.next = function (value) {\n if (!this.isStopped) {\n this._value = value;\n this._hasValue = true;\n }\n };\n AsyncSubject.prototype.complete = function () {\n var _a = this, _hasValue = _a._hasValue, _value = _a._value, _isComplete = _a._isComplete;\n if (!_isComplete) {\n this._isComplete = true;\n _hasValue && _super.prototype.next.call(this, _value);\n _super.prototype.complete.call(this);\n }\n };\n return AsyncSubject;\n}(Subject_1.Subject));\nexports.AsyncSubject = AsyncSubject;\n//# sourceMappingURL=AsyncSubject.js.map",
|
|
66
|
+
"\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Action = void 0;\nvar Subscription_1 = require(\"../Subscription\");\nvar Action = (function (_super) {\n __extends(Action, _super);\n function Action(scheduler, work) {\n return _super.call(this) || this;\n }\n Action.prototype.schedule = function (state, delay) {\n if (delay === void 0) { delay = 0; }\n return this;\n };\n return Action;\n}(Subscription_1.Subscription));\nexports.Action = Action;\n//# sourceMappingURL=Action.js.map",
|
|
67
|
+
"\"use strict\";\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from) {\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\n to[j] = from[i];\n return to;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.intervalProvider = void 0;\nexports.intervalProvider = {\n setInterval: function (handler, timeout) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n var delegate = exports.intervalProvider.delegate;\n if (delegate === null || delegate === void 0 ? void 0 : delegate.setInterval) {\n return delegate.setInterval.apply(delegate, __spreadArray([handler, timeout], __read(args)));\n }\n return setInterval.apply(void 0, __spreadArray([handler, timeout], __read(args)));\n },\n clearInterval: function (handle) {\n var delegate = exports.intervalProvider.delegate;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearInterval) || clearInterval)(handle);\n },\n delegate: undefined,\n};\n//# sourceMappingURL=intervalProvider.js.map",
|
|
68
|
+
"\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AsyncAction = void 0;\nvar Action_1 = require(\"./Action\");\nvar intervalProvider_1 = require(\"./intervalProvider\");\nvar arrRemove_1 = require(\"../util/arrRemove\");\nvar AsyncAction = (function (_super) {\n __extends(AsyncAction, _super);\n function AsyncAction(scheduler, work) {\n var _this = _super.call(this, scheduler, work) || this;\n _this.scheduler = scheduler;\n _this.work = work;\n _this.pending = false;\n return _this;\n }\n AsyncAction.prototype.schedule = function (state, delay) {\n var _a;\n if (delay === void 0) { delay = 0; }\n if (this.closed) {\n return this;\n }\n this.state = state;\n var id = this.id;\n var scheduler = this.scheduler;\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, delay);\n }\n this.pending = true;\n this.delay = delay;\n this.id = (_a = this.id) !== null && _a !== void 0 ? _a : this.requestAsyncId(scheduler, this.id, delay);\n return this;\n };\n AsyncAction.prototype.requestAsyncId = function (scheduler, _id, delay) {\n if (delay === void 0) { delay = 0; }\n return intervalProvider_1.intervalProvider.setInterval(scheduler.flush.bind(scheduler, this), delay);\n };\n AsyncAction.prototype.recycleAsyncId = function (_scheduler, id, delay) {\n if (delay === void 0) { delay = 0; }\n if (delay != null && this.delay === delay && this.pending === false) {\n return id;\n }\n if (id != null) {\n intervalProvider_1.intervalProvider.clearInterval(id);\n }\n return undefined;\n };\n AsyncAction.prototype.execute = function (state, delay) {\n if (this.closed) {\n return new Error('executing a cancelled action');\n }\n this.pending = false;\n var error = this._execute(state, delay);\n if (error) {\n return error;\n }\n else if (this.pending === false && this.id != null) {\n this.id = this.recycleAsyncId(this.scheduler, this.id, null);\n }\n };\n AsyncAction.prototype._execute = function (state, _delay) {\n var errored = false;\n var errorValue;\n try {\n this.work(state);\n }\n catch (e) {\n errored = true;\n errorValue = e ? e : new Error('Scheduled action threw falsy error');\n }\n if (errored) {\n this.unsubscribe();\n return errorValue;\n }\n };\n AsyncAction.prototype.unsubscribe = function () {\n if (!this.closed) {\n var _a = this, id = _a.id, scheduler = _a.scheduler;\n var actions = scheduler.actions;\n this.work = this.state = this.scheduler = null;\n this.pending = false;\n arrRemove_1.arrRemove(actions, this);\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, null);\n }\n this.delay = null;\n _super.prototype.unsubscribe.call(this);\n }\n };\n return AsyncAction;\n}(Action_1.Action));\nexports.AsyncAction = AsyncAction;\n//# sourceMappingURL=AsyncAction.js.map",
|
|
69
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TestTools = exports.Immediate = void 0;\nvar nextHandle = 1;\nvar resolved;\nvar activeHandles = {};\nfunction findAndClearHandle(handle) {\n if (handle in activeHandles) {\n delete activeHandles[handle];\n return true;\n }\n return false;\n}\nexports.Immediate = {\n setImmediate: function (cb) {\n var handle = nextHandle++;\n activeHandles[handle] = true;\n if (!resolved) {\n resolved = Promise.resolve();\n }\n resolved.then(function () { return findAndClearHandle(handle) && cb(); });\n return handle;\n },\n clearImmediate: function (handle) {\n findAndClearHandle(handle);\n },\n};\nexports.TestTools = {\n pending: function () {\n return Object.keys(activeHandles).length;\n }\n};\n//# sourceMappingURL=Immediate.js.map",
|
|
70
|
+
"\"use strict\";\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from) {\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\n to[j] = from[i];\n return to;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.immediateProvider = void 0;\nvar Immediate_1 = require(\"../util/Immediate\");\nvar setImmediate = Immediate_1.Immediate.setImmediate, clearImmediate = Immediate_1.Immediate.clearImmediate;\nexports.immediateProvider = {\n setImmediate: function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var delegate = exports.immediateProvider.delegate;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.setImmediate) || setImmediate).apply(void 0, __spreadArray([], __read(args)));\n },\n clearImmediate: function (handle) {\n var delegate = exports.immediateProvider.delegate;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearImmediate) || clearImmediate)(handle);\n },\n delegate: undefined,\n};\n//# sourceMappingURL=immediateProvider.js.map",
|
|
71
|
+
"\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AsapAction = void 0;\nvar AsyncAction_1 = require(\"./AsyncAction\");\nvar immediateProvider_1 = require(\"./immediateProvider\");\nvar AsapAction = (function (_super) {\n __extends(AsapAction, _super);\n function AsapAction(scheduler, work) {\n var _this = _super.call(this, scheduler, work) || this;\n _this.scheduler = scheduler;\n _this.work = work;\n return _this;\n }\n AsapAction.prototype.requestAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) { delay = 0; }\n if (delay !== null && delay > 0) {\n return _super.prototype.requestAsyncId.call(this, scheduler, id, delay);\n }\n scheduler.actions.push(this);\n return scheduler._scheduled || (scheduler._scheduled = immediateProvider_1.immediateProvider.setImmediate(scheduler.flush.bind(scheduler, undefined)));\n };\n AsapAction.prototype.recycleAsyncId = function (scheduler, id, delay) {\n var _a;\n if (delay === void 0) { delay = 0; }\n if (delay != null ? delay > 0 : this.delay > 0) {\n return _super.prototype.recycleAsyncId.call(this, scheduler, id, delay);\n }\n var actions = scheduler.actions;\n if (id != null && ((_a = actions[actions.length - 1]) === null || _a === void 0 ? void 0 : _a.id) !== id) {\n immediateProvider_1.immediateProvider.clearImmediate(id);\n if (scheduler._scheduled === id) {\n scheduler._scheduled = undefined;\n }\n }\n return undefined;\n };\n return AsapAction;\n}(AsyncAction_1.AsyncAction));\nexports.AsapAction = AsapAction;\n//# sourceMappingURL=AsapAction.js.map",
|
|
72
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Scheduler = void 0;\nvar dateTimestampProvider_1 = require(\"./scheduler/dateTimestampProvider\");\nvar Scheduler = (function () {\n function Scheduler(schedulerActionCtor, now) {\n if (now === void 0) { now = Scheduler.now; }\n this.schedulerActionCtor = schedulerActionCtor;\n this.now = now;\n }\n Scheduler.prototype.schedule = function (work, delay, state) {\n if (delay === void 0) { delay = 0; }\n return new this.schedulerActionCtor(this, work).schedule(state, delay);\n };\n Scheduler.now = dateTimestampProvider_1.dateTimestampProvider.now;\n return Scheduler;\n}());\nexports.Scheduler = Scheduler;\n//# sourceMappingURL=Scheduler.js.map",
|
|
73
|
+
"\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AsyncScheduler = void 0;\nvar Scheduler_1 = require(\"../Scheduler\");\nvar AsyncScheduler = (function (_super) {\n __extends(AsyncScheduler, _super);\n function AsyncScheduler(SchedulerAction, now) {\n if (now === void 0) { now = Scheduler_1.Scheduler.now; }\n var _this = _super.call(this, SchedulerAction, now) || this;\n _this.actions = [];\n _this._active = false;\n return _this;\n }\n AsyncScheduler.prototype.flush = function (action) {\n var actions = this.actions;\n if (this._active) {\n actions.push(action);\n return;\n }\n var error;\n this._active = true;\n do {\n if ((error = action.execute(action.state, action.delay))) {\n break;\n }\n } while ((action = actions.shift()));\n this._active = false;\n if (error) {\n while ((action = actions.shift())) {\n action.unsubscribe();\n }\n throw error;\n }\n };\n return AsyncScheduler;\n}(Scheduler_1.Scheduler));\nexports.AsyncScheduler = AsyncScheduler;\n//# sourceMappingURL=AsyncScheduler.js.map",
|
|
74
|
+
"\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AsapScheduler = void 0;\nvar AsyncScheduler_1 = require(\"./AsyncScheduler\");\nvar AsapScheduler = (function (_super) {\n __extends(AsapScheduler, _super);\n function AsapScheduler() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n AsapScheduler.prototype.flush = function (action) {\n this._active = true;\n var flushId = this._scheduled;\n this._scheduled = undefined;\n var actions = this.actions;\n var error;\n action = action || actions.shift();\n do {\n if ((error = action.execute(action.state, action.delay))) {\n break;\n }\n } while ((action = actions[0]) && action.id === flushId && actions.shift());\n this._active = false;\n if (error) {\n while ((action = actions[0]) && action.id === flushId && actions.shift()) {\n action.unsubscribe();\n }\n throw error;\n }\n };\n return AsapScheduler;\n}(AsyncScheduler_1.AsyncScheduler));\nexports.AsapScheduler = AsapScheduler;\n//# sourceMappingURL=AsapScheduler.js.map",
|
|
75
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.asap = exports.asapScheduler = void 0;\nvar AsapAction_1 = require(\"./AsapAction\");\nvar AsapScheduler_1 = require(\"./AsapScheduler\");\nexports.asapScheduler = new AsapScheduler_1.AsapScheduler(AsapAction_1.AsapAction);\nexports.asap = exports.asapScheduler;\n//# sourceMappingURL=asap.js.map",
|
|
76
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.async = exports.asyncScheduler = void 0;\nvar AsyncAction_1 = require(\"./AsyncAction\");\nvar AsyncScheduler_1 = require(\"./AsyncScheduler\");\nexports.asyncScheduler = new AsyncScheduler_1.AsyncScheduler(AsyncAction_1.AsyncAction);\nexports.async = exports.asyncScheduler;\n//# sourceMappingURL=async.js.map",
|
|
77
|
+
"\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.QueueAction = void 0;\nvar AsyncAction_1 = require(\"./AsyncAction\");\nvar QueueAction = (function (_super) {\n __extends(QueueAction, _super);\n function QueueAction(scheduler, work) {\n var _this = _super.call(this, scheduler, work) || this;\n _this.scheduler = scheduler;\n _this.work = work;\n return _this;\n }\n QueueAction.prototype.schedule = function (state, delay) {\n if (delay === void 0) { delay = 0; }\n if (delay > 0) {\n return _super.prototype.schedule.call(this, state, delay);\n }\n this.delay = delay;\n this.state = state;\n this.scheduler.flush(this);\n return this;\n };\n QueueAction.prototype.execute = function (state, delay) {\n return delay > 0 || this.closed ? _super.prototype.execute.call(this, state, delay) : this._execute(state, delay);\n };\n QueueAction.prototype.requestAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) { delay = 0; }\n if ((delay != null && delay > 0) || (delay == null && this.delay > 0)) {\n return _super.prototype.requestAsyncId.call(this, scheduler, id, delay);\n }\n scheduler.flush(this);\n return 0;\n };\n return QueueAction;\n}(AsyncAction_1.AsyncAction));\nexports.QueueAction = QueueAction;\n//# sourceMappingURL=QueueAction.js.map",
|
|
78
|
+
"\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.QueueScheduler = void 0;\nvar AsyncScheduler_1 = require(\"./AsyncScheduler\");\nvar QueueScheduler = (function (_super) {\n __extends(QueueScheduler, _super);\n function QueueScheduler() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return QueueScheduler;\n}(AsyncScheduler_1.AsyncScheduler));\nexports.QueueScheduler = QueueScheduler;\n//# sourceMappingURL=QueueScheduler.js.map",
|
|
79
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.queue = exports.queueScheduler = void 0;\nvar QueueAction_1 = require(\"./QueueAction\");\nvar QueueScheduler_1 = require(\"./QueueScheduler\");\nexports.queueScheduler = new QueueScheduler_1.QueueScheduler(QueueAction_1.QueueAction);\nexports.queue = exports.queueScheduler;\n//# sourceMappingURL=queue.js.map",
|
|
80
|
+
"\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AnimationFrameAction = void 0;\nvar AsyncAction_1 = require(\"./AsyncAction\");\nvar animationFrameProvider_1 = require(\"./animationFrameProvider\");\nvar AnimationFrameAction = (function (_super) {\n __extends(AnimationFrameAction, _super);\n function AnimationFrameAction(scheduler, work) {\n var _this = _super.call(this, scheduler, work) || this;\n _this.scheduler = scheduler;\n _this.work = work;\n return _this;\n }\n AnimationFrameAction.prototype.requestAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) { delay = 0; }\n if (delay !== null && delay > 0) {\n return _super.prototype.requestAsyncId.call(this, scheduler, id, delay);\n }\n scheduler.actions.push(this);\n return scheduler._scheduled || (scheduler._scheduled = animationFrameProvider_1.animationFrameProvider.requestAnimationFrame(function () { return scheduler.flush(undefined); }));\n };\n AnimationFrameAction.prototype.recycleAsyncId = function (scheduler, id, delay) {\n var _a;\n if (delay === void 0) { delay = 0; }\n if (delay != null ? delay > 0 : this.delay > 0) {\n return _super.prototype.recycleAsyncId.call(this, scheduler, id, delay);\n }\n var actions = scheduler.actions;\n if (id != null && id === scheduler._scheduled && ((_a = actions[actions.length - 1]) === null || _a === void 0 ? void 0 : _a.id) !== id) {\n animationFrameProvider_1.animationFrameProvider.cancelAnimationFrame(id);\n scheduler._scheduled = undefined;\n }\n return undefined;\n };\n return AnimationFrameAction;\n}(AsyncAction_1.AsyncAction));\nexports.AnimationFrameAction = AnimationFrameAction;\n//# sourceMappingURL=AnimationFrameAction.js.map",
|
|
81
|
+
"\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AnimationFrameScheduler = void 0;\nvar AsyncScheduler_1 = require(\"./AsyncScheduler\");\nvar AnimationFrameScheduler = (function (_super) {\n __extends(AnimationFrameScheduler, _super);\n function AnimationFrameScheduler() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n AnimationFrameScheduler.prototype.flush = function (action) {\n this._active = true;\n var flushId;\n if (action) {\n flushId = action.id;\n }\n else {\n flushId = this._scheduled;\n this._scheduled = undefined;\n }\n var actions = this.actions;\n var error;\n action = action || actions.shift();\n do {\n if ((error = action.execute(action.state, action.delay))) {\n break;\n }\n } while ((action = actions[0]) && action.id === flushId && actions.shift());\n this._active = false;\n if (error) {\n while ((action = actions[0]) && action.id === flushId && actions.shift()) {\n action.unsubscribe();\n }\n throw error;\n }\n };\n return AnimationFrameScheduler;\n}(AsyncScheduler_1.AsyncScheduler));\nexports.AnimationFrameScheduler = AnimationFrameScheduler;\n//# sourceMappingURL=AnimationFrameScheduler.js.map",
|
|
82
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.animationFrame = exports.animationFrameScheduler = void 0;\nvar AnimationFrameAction_1 = require(\"./AnimationFrameAction\");\nvar AnimationFrameScheduler_1 = require(\"./AnimationFrameScheduler\");\nexports.animationFrameScheduler = new AnimationFrameScheduler_1.AnimationFrameScheduler(AnimationFrameAction_1.AnimationFrameAction);\nexports.animationFrame = exports.animationFrameScheduler;\n//# sourceMappingURL=animationFrame.js.map",
|
|
83
|
+
"\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.VirtualAction = exports.VirtualTimeScheduler = void 0;\nvar AsyncAction_1 = require(\"./AsyncAction\");\nvar Subscription_1 = require(\"../Subscription\");\nvar AsyncScheduler_1 = require(\"./AsyncScheduler\");\nvar VirtualTimeScheduler = (function (_super) {\n __extends(VirtualTimeScheduler, _super);\n function VirtualTimeScheduler(schedulerActionCtor, maxFrames) {\n if (schedulerActionCtor === void 0) { schedulerActionCtor = VirtualAction; }\n if (maxFrames === void 0) { maxFrames = Infinity; }\n var _this = _super.call(this, schedulerActionCtor, function () { return _this.frame; }) || this;\n _this.maxFrames = maxFrames;\n _this.frame = 0;\n _this.index = -1;\n return _this;\n }\n VirtualTimeScheduler.prototype.flush = function () {\n var _a = this, actions = _a.actions, maxFrames = _a.maxFrames;\n var error;\n var action;\n while ((action = actions[0]) && action.delay <= maxFrames) {\n actions.shift();\n this.frame = action.delay;\n if ((error = action.execute(action.state, action.delay))) {\n break;\n }\n }\n if (error) {\n while ((action = actions.shift())) {\n action.unsubscribe();\n }\n throw error;\n }\n };\n VirtualTimeScheduler.frameTimeFactor = 10;\n return VirtualTimeScheduler;\n}(AsyncScheduler_1.AsyncScheduler));\nexports.VirtualTimeScheduler = VirtualTimeScheduler;\nvar VirtualAction = (function (_super) {\n __extends(VirtualAction, _super);\n function VirtualAction(scheduler, work, index) {\n if (index === void 0) { index = (scheduler.index += 1); }\n var _this = _super.call(this, scheduler, work) || this;\n _this.scheduler = scheduler;\n _this.work = work;\n _this.index = index;\n _this.active = true;\n _this.index = scheduler.index = index;\n return _this;\n }\n VirtualAction.prototype.schedule = function (state, delay) {\n if (delay === void 0) { delay = 0; }\n if (Number.isFinite(delay)) {\n if (!this.id) {\n return _super.prototype.schedule.call(this, state, delay);\n }\n this.active = false;\n var action = new VirtualAction(this.scheduler, this.work);\n this.add(action);\n return action.schedule(state, delay);\n }\n else {\n return Subscription_1.Subscription.EMPTY;\n }\n };\n VirtualAction.prototype.requestAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) { delay = 0; }\n this.delay = scheduler.frame + delay;\n var actions = scheduler.actions;\n actions.push(this);\n actions.sort(VirtualAction.sortActions);\n return 1;\n };\n VirtualAction.prototype.recycleAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) { delay = 0; }\n return undefined;\n };\n VirtualAction.prototype._execute = function (state, delay) {\n if (this.active === true) {\n return _super.prototype._execute.call(this, state, delay);\n }\n };\n VirtualAction.sortActions = function (a, b) {\n if (a.delay === b.delay) {\n if (a.index === b.index) {\n return 0;\n }\n else if (a.index > b.index) {\n return 1;\n }\n else {\n return -1;\n }\n }\n else if (a.delay > b.delay) {\n return 1;\n }\n else {\n return -1;\n }\n };\n return VirtualAction;\n}(AsyncAction_1.AsyncAction));\nexports.VirtualAction = VirtualAction;\n//# sourceMappingURL=VirtualTimeScheduler.js.map",
|
|
84
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.empty = exports.EMPTY = void 0;\nvar Observable_1 = require(\"../Observable\");\nexports.EMPTY = new Observable_1.Observable(function (subscriber) { return subscriber.complete(); });\nfunction empty(scheduler) {\n return scheduler ? emptyScheduled(scheduler) : exports.EMPTY;\n}\nexports.empty = empty;\nfunction emptyScheduled(scheduler) {\n return new Observable_1.Observable(function (subscriber) { return scheduler.schedule(function () { return subscriber.complete(); }); });\n}\n//# sourceMappingURL=empty.js.map",
|
|
85
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isScheduler = void 0;\nvar isFunction_1 = require(\"./isFunction\");\nfunction isScheduler(value) {\n return value && isFunction_1.isFunction(value.schedule);\n}\nexports.isScheduler = isScheduler;\n//# sourceMappingURL=isScheduler.js.map",
|
|
86
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.popNumber = exports.popScheduler = exports.popResultSelector = void 0;\nvar isFunction_1 = require(\"./isFunction\");\nvar isScheduler_1 = require(\"./isScheduler\");\nfunction last(arr) {\n return arr[arr.length - 1];\n}\nfunction popResultSelector(args) {\n return isFunction_1.isFunction(last(args)) ? args.pop() : undefined;\n}\nexports.popResultSelector = popResultSelector;\nfunction popScheduler(args) {\n return isScheduler_1.isScheduler(last(args)) ? args.pop() : undefined;\n}\nexports.popScheduler = popScheduler;\nfunction popNumber(args, defaultValue) {\n return typeof last(args) === 'number' ? args.pop() : defaultValue;\n}\nexports.popNumber = popNumber;\n//# sourceMappingURL=args.js.map",
|
|
87
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isArrayLike = void 0;\nexports.isArrayLike = (function (x) { return x && typeof x.length === 'number' && typeof x !== 'function'; });\n//# sourceMappingURL=isArrayLike.js.map",
|
|
88
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isPromise = void 0;\nvar isFunction_1 = require(\"./isFunction\");\nfunction isPromise(value) {\n return isFunction_1.isFunction(value === null || value === void 0 ? void 0 : value.then);\n}\nexports.isPromise = isPromise;\n//# sourceMappingURL=isPromise.js.map",
|
|
89
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isInteropObservable = void 0;\nvar observable_1 = require(\"../symbol/observable\");\nvar isFunction_1 = require(\"./isFunction\");\nfunction isInteropObservable(input) {\n return isFunction_1.isFunction(input[observable_1.observable]);\n}\nexports.isInteropObservable = isInteropObservable;\n//# sourceMappingURL=isInteropObservable.js.map",
|
|
90
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isAsyncIterable = void 0;\nvar isFunction_1 = require(\"./isFunction\");\nfunction isAsyncIterable(obj) {\n return Symbol.asyncIterator && isFunction_1.isFunction(obj === null || obj === void 0 ? void 0 : obj[Symbol.asyncIterator]);\n}\nexports.isAsyncIterable = isAsyncIterable;\n//# sourceMappingURL=isAsyncIterable.js.map",
|
|
91
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createInvalidObservableTypeError = void 0;\nfunction createInvalidObservableTypeError(input) {\n return new TypeError(\"You provided \" + (input !== null && typeof input === 'object' ? 'an invalid object' : \"'\" + input + \"'\") + \" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.\");\n}\nexports.createInvalidObservableTypeError = createInvalidObservableTypeError;\n//# sourceMappingURL=throwUnobservableError.js.map",
|
|
92
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.iterator = exports.getSymbolIterator = void 0;\nfunction getSymbolIterator() {\n if (typeof Symbol !== 'function' || !Symbol.iterator) {\n return '@@iterator';\n }\n return Symbol.iterator;\n}\nexports.getSymbolIterator = getSymbolIterator;\nexports.iterator = getSymbolIterator();\n//# sourceMappingURL=iterator.js.map",
|
|
93
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isIterable = void 0;\nvar iterator_1 = require(\"../symbol/iterator\");\nvar isFunction_1 = require(\"./isFunction\");\nfunction isIterable(input) {\n return isFunction_1.isFunction(input === null || input === void 0 ? void 0 : input[iterator_1.iterator]);\n}\nexports.isIterable = isIterable;\n//# sourceMappingURL=isIterable.js.map",
|
|
94
|
+
"\"use strict\";\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }\nvar __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isReadableStreamLike = exports.readableStreamLikeToAsyncGenerator = void 0;\nvar isFunction_1 = require(\"./isFunction\");\nfunction readableStreamLikeToAsyncGenerator(readableStream) {\n return __asyncGenerator(this, arguments, function readableStreamLikeToAsyncGenerator_1() {\n var reader, _a, value, done;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n reader = readableStream.getReader();\n _b.label = 1;\n case 1:\n _b.trys.push([1, , 9, 10]);\n _b.label = 2;\n case 2:\n if (!true) return [3, 8];\n return [4, __await(reader.read())];\n case 3:\n _a = _b.sent(), value = _a.value, done = _a.done;\n if (!done) return [3, 5];\n return [4, __await(void 0)];\n case 4: return [2, _b.sent()];\n case 5: return [4, __await(value)];\n case 6: return [4, _b.sent()];\n case 7:\n _b.sent();\n return [3, 2];\n case 8: return [3, 10];\n case 9:\n reader.releaseLock();\n return [7];\n case 10: return [2];\n }\n });\n });\n}\nexports.readableStreamLikeToAsyncGenerator = readableStreamLikeToAsyncGenerator;\nfunction isReadableStreamLike(obj) {\n return isFunction_1.isFunction(obj === null || obj === void 0 ? void 0 : obj.getReader);\n}\nexports.isReadableStreamLike = isReadableStreamLike;\n//# sourceMappingURL=isReadableStreamLike.js.map",
|
|
95
|
+
"\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __asyncValues = (this && this.__asyncValues) || function (o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n};\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fromReadableStreamLike = exports.fromAsyncIterable = exports.fromIterable = exports.fromPromise = exports.fromArrayLike = exports.fromInteropObservable = exports.innerFrom = void 0;\nvar isArrayLike_1 = require(\"../util/isArrayLike\");\nvar isPromise_1 = require(\"../util/isPromise\");\nvar Observable_1 = require(\"../Observable\");\nvar isInteropObservable_1 = require(\"../util/isInteropObservable\");\nvar isAsyncIterable_1 = require(\"../util/isAsyncIterable\");\nvar throwUnobservableError_1 = require(\"../util/throwUnobservableError\");\nvar isIterable_1 = require(\"../util/isIterable\");\nvar isReadableStreamLike_1 = require(\"../util/isReadableStreamLike\");\nvar isFunction_1 = require(\"../util/isFunction\");\nvar reportUnhandledError_1 = require(\"../util/reportUnhandledError\");\nvar observable_1 = require(\"../symbol/observable\");\nfunction innerFrom(input) {\n if (input instanceof Observable_1.Observable) {\n return input;\n }\n if (input != null) {\n if (isInteropObservable_1.isInteropObservable(input)) {\n return fromInteropObservable(input);\n }\n if (isArrayLike_1.isArrayLike(input)) {\n return fromArrayLike(input);\n }\n if (isPromise_1.isPromise(input)) {\n return fromPromise(input);\n }\n if (isAsyncIterable_1.isAsyncIterable(input)) {\n return fromAsyncIterable(input);\n }\n if (isIterable_1.isIterable(input)) {\n return fromIterable(input);\n }\n if (isReadableStreamLike_1.isReadableStreamLike(input)) {\n return fromReadableStreamLike(input);\n }\n }\n throw throwUnobservableError_1.createInvalidObservableTypeError(input);\n}\nexports.innerFrom = innerFrom;\nfunction fromInteropObservable(obj) {\n return new Observable_1.Observable(function (subscriber) {\n var obs = obj[observable_1.observable]();\n if (isFunction_1.isFunction(obs.subscribe)) {\n return obs.subscribe(subscriber);\n }\n throw new TypeError('Provided object does not correctly implement Symbol.observable');\n });\n}\nexports.fromInteropObservable = fromInteropObservable;\nfunction fromArrayLike(array) {\n return new Observable_1.Observable(function (subscriber) {\n for (var i = 0; i < array.length && !subscriber.closed; i++) {\n subscriber.next(array[i]);\n }\n subscriber.complete();\n });\n}\nexports.fromArrayLike = fromArrayLike;\nfunction fromPromise(promise) {\n return new Observable_1.Observable(function (subscriber) {\n promise\n .then(function (value) {\n if (!subscriber.closed) {\n subscriber.next(value);\n subscriber.complete();\n }\n }, function (err) { return subscriber.error(err); })\n .then(null, reportUnhandledError_1.reportUnhandledError);\n });\n}\nexports.fromPromise = fromPromise;\nfunction fromIterable(iterable) {\n return new Observable_1.Observable(function (subscriber) {\n var e_1, _a;\n try {\n for (var iterable_1 = __values(iterable), iterable_1_1 = iterable_1.next(); !iterable_1_1.done; iterable_1_1 = iterable_1.next()) {\n var value = iterable_1_1.value;\n subscriber.next(value);\n if (subscriber.closed) {\n return;\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (iterable_1_1 && !iterable_1_1.done && (_a = iterable_1.return)) _a.call(iterable_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n subscriber.complete();\n });\n}\nexports.fromIterable = fromIterable;\nfunction fromAsyncIterable(asyncIterable) {\n return new Observable_1.Observable(function (subscriber) {\n process(asyncIterable, subscriber).catch(function (err) { return subscriber.error(err); });\n });\n}\nexports.fromAsyncIterable = fromAsyncIterable;\nfunction fromReadableStreamLike(readableStream) {\n return fromAsyncIterable(isReadableStreamLike_1.readableStreamLikeToAsyncGenerator(readableStream));\n}\nexports.fromReadableStreamLike = fromReadableStreamLike;\nfunction process(asyncIterable, subscriber) {\n var asyncIterable_1, asyncIterable_1_1;\n var e_2, _a;\n return __awaiter(this, void 0, void 0, function () {\n var value, e_2_1;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _b.trys.push([0, 5, 6, 11]);\n asyncIterable_1 = __asyncValues(asyncIterable);\n _b.label = 1;\n case 1: return [4, asyncIterable_1.next()];\n case 2:\n if (!(asyncIterable_1_1 = _b.sent(), !asyncIterable_1_1.done)) return [3, 4];\n value = asyncIterable_1_1.value;\n subscriber.next(value);\n if (subscriber.closed) {\n return [2];\n }\n _b.label = 3;\n case 3: return [3, 1];\n case 4: return [3, 11];\n case 5:\n e_2_1 = _b.sent();\n e_2 = { error: e_2_1 };\n return [3, 11];\n case 6:\n _b.trys.push([6, , 9, 10]);\n if (!(asyncIterable_1_1 && !asyncIterable_1_1.done && (_a = asyncIterable_1.return))) return [3, 8];\n return [4, _a.call(asyncIterable_1)];\n case 7:\n _b.sent();\n _b.label = 8;\n case 8: return [3, 10];\n case 9:\n if (e_2) throw e_2.error;\n return [7];\n case 10: return [7];\n case 11:\n subscriber.complete();\n return [2];\n }\n });\n });\n}\n//# sourceMappingURL=innerFrom.js.map",
|
|
96
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.executeSchedule = void 0;\nfunction executeSchedule(parentSubscription, scheduler, work, delay, repeat) {\n if (delay === void 0) { delay = 0; }\n if (repeat === void 0) { repeat = false; }\n var scheduleSubscription = scheduler.schedule(function () {\n work();\n if (repeat) {\n parentSubscription.add(this.schedule(null, delay));\n }\n else {\n this.unsubscribe();\n }\n }, delay);\n parentSubscription.add(scheduleSubscription);\n if (!repeat) {\n return scheduleSubscription;\n }\n}\nexports.executeSchedule = executeSchedule;\n//# sourceMappingURL=executeSchedule.js.map",
|
|
97
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.observeOn = void 0;\nvar executeSchedule_1 = require(\"../util/executeSchedule\");\nvar lift_1 = require(\"../util/lift\");\nvar OperatorSubscriber_1 = require(\"./OperatorSubscriber\");\nfunction observeOn(scheduler, delay) {\n if (delay === void 0) { delay = 0; }\n return lift_1.operate(function (source, subscriber) {\n source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function (value) { return executeSchedule_1.executeSchedule(subscriber, scheduler, function () { return subscriber.next(value); }, delay); }, function () { return executeSchedule_1.executeSchedule(subscriber, scheduler, function () { return subscriber.complete(); }, delay); }, function (err) { return executeSchedule_1.executeSchedule(subscriber, scheduler, function () { return subscriber.error(err); }, delay); }));\n });\n}\nexports.observeOn = observeOn;\n//# sourceMappingURL=observeOn.js.map",
|
|
98
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.subscribeOn = void 0;\nvar lift_1 = require(\"../util/lift\");\nfunction subscribeOn(scheduler, delay) {\n if (delay === void 0) { delay = 0; }\n return lift_1.operate(function (source, subscriber) {\n subscriber.add(scheduler.schedule(function () { return source.subscribe(subscriber); }, delay));\n });\n}\nexports.subscribeOn = subscribeOn;\n//# sourceMappingURL=subscribeOn.js.map",
|
|
99
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.scheduleObservable = void 0;\nvar innerFrom_1 = require(\"../observable/innerFrom\");\nvar observeOn_1 = require(\"../operators/observeOn\");\nvar subscribeOn_1 = require(\"../operators/subscribeOn\");\nfunction scheduleObservable(input, scheduler) {\n return innerFrom_1.innerFrom(input).pipe(subscribeOn_1.subscribeOn(scheduler), observeOn_1.observeOn(scheduler));\n}\nexports.scheduleObservable = scheduleObservable;\n//# sourceMappingURL=scheduleObservable.js.map",
|
|
100
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.schedulePromise = void 0;\nvar innerFrom_1 = require(\"../observable/innerFrom\");\nvar observeOn_1 = require(\"../operators/observeOn\");\nvar subscribeOn_1 = require(\"../operators/subscribeOn\");\nfunction schedulePromise(input, scheduler) {\n return innerFrom_1.innerFrom(input).pipe(subscribeOn_1.subscribeOn(scheduler), observeOn_1.observeOn(scheduler));\n}\nexports.schedulePromise = schedulePromise;\n//# sourceMappingURL=schedulePromise.js.map",
|
|
101
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.scheduleArray = void 0;\nvar Observable_1 = require(\"../Observable\");\nfunction scheduleArray(input, scheduler) {\n return new Observable_1.Observable(function (subscriber) {\n var i = 0;\n return scheduler.schedule(function () {\n if (i === input.length) {\n subscriber.complete();\n }\n else {\n subscriber.next(input[i++]);\n if (!subscriber.closed) {\n this.schedule();\n }\n }\n });\n });\n}\nexports.scheduleArray = scheduleArray;\n//# sourceMappingURL=scheduleArray.js.map",
|
|
102
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.scheduleIterable = void 0;\nvar Observable_1 = require(\"../Observable\");\nvar iterator_1 = require(\"../symbol/iterator\");\nvar isFunction_1 = require(\"../util/isFunction\");\nvar executeSchedule_1 = require(\"../util/executeSchedule\");\nfunction scheduleIterable(input, scheduler) {\n return new Observable_1.Observable(function (subscriber) {\n var iterator;\n executeSchedule_1.executeSchedule(subscriber, scheduler, function () {\n iterator = input[iterator_1.iterator]();\n executeSchedule_1.executeSchedule(subscriber, scheduler, function () {\n var _a;\n var value;\n var done;\n try {\n (_a = iterator.next(), value = _a.value, done = _a.done);\n }\n catch (err) {\n subscriber.error(err);\n return;\n }\n if (done) {\n subscriber.complete();\n }\n else {\n subscriber.next(value);\n }\n }, 0, true);\n });\n return function () { return isFunction_1.isFunction(iterator === null || iterator === void 0 ? void 0 : iterator.return) && iterator.return(); };\n });\n}\nexports.scheduleIterable = scheduleIterable;\n//# sourceMappingURL=scheduleIterable.js.map",
|
|
103
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.scheduleAsyncIterable = void 0;\nvar Observable_1 = require(\"../Observable\");\nvar executeSchedule_1 = require(\"../util/executeSchedule\");\nfunction scheduleAsyncIterable(input, scheduler) {\n if (!input) {\n throw new Error('Iterable cannot be null');\n }\n return new Observable_1.Observable(function (subscriber) {\n executeSchedule_1.executeSchedule(subscriber, scheduler, function () {\n var iterator = input[Symbol.asyncIterator]();\n executeSchedule_1.executeSchedule(subscriber, scheduler, function () {\n iterator.next().then(function (result) {\n if (result.done) {\n subscriber.complete();\n }\n else {\n subscriber.next(result.value);\n }\n });\n }, 0, true);\n });\n });\n}\nexports.scheduleAsyncIterable = scheduleAsyncIterable;\n//# sourceMappingURL=scheduleAsyncIterable.js.map",
|
|
104
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.scheduleReadableStreamLike = void 0;\nvar scheduleAsyncIterable_1 = require(\"./scheduleAsyncIterable\");\nvar isReadableStreamLike_1 = require(\"../util/isReadableStreamLike\");\nfunction scheduleReadableStreamLike(input, scheduler) {\n return scheduleAsyncIterable_1.scheduleAsyncIterable(isReadableStreamLike_1.readableStreamLikeToAsyncGenerator(input), scheduler);\n}\nexports.scheduleReadableStreamLike = scheduleReadableStreamLike;\n//# sourceMappingURL=scheduleReadableStreamLike.js.map",
|
|
105
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.scheduled = void 0;\nvar scheduleObservable_1 = require(\"./scheduleObservable\");\nvar schedulePromise_1 = require(\"./schedulePromise\");\nvar scheduleArray_1 = require(\"./scheduleArray\");\nvar scheduleIterable_1 = require(\"./scheduleIterable\");\nvar scheduleAsyncIterable_1 = require(\"./scheduleAsyncIterable\");\nvar isInteropObservable_1 = require(\"../util/isInteropObservable\");\nvar isPromise_1 = require(\"../util/isPromise\");\nvar isArrayLike_1 = require(\"../util/isArrayLike\");\nvar isIterable_1 = require(\"../util/isIterable\");\nvar isAsyncIterable_1 = require(\"../util/isAsyncIterable\");\nvar throwUnobservableError_1 = require(\"../util/throwUnobservableError\");\nvar isReadableStreamLike_1 = require(\"../util/isReadableStreamLike\");\nvar scheduleReadableStreamLike_1 = require(\"./scheduleReadableStreamLike\");\nfunction scheduled(input, scheduler) {\n if (input != null) {\n if (isInteropObservable_1.isInteropObservable(input)) {\n return scheduleObservable_1.scheduleObservable(input, scheduler);\n }\n if (isArrayLike_1.isArrayLike(input)) {\n return scheduleArray_1.scheduleArray(input, scheduler);\n }\n if (isPromise_1.isPromise(input)) {\n return schedulePromise_1.schedulePromise(input, scheduler);\n }\n if (isAsyncIterable_1.isAsyncIterable(input)) {\n return scheduleAsyncIterable_1.scheduleAsyncIterable(input, scheduler);\n }\n if (isIterable_1.isIterable(input)) {\n return scheduleIterable_1.scheduleIterable(input, scheduler);\n }\n if (isReadableStreamLike_1.isReadableStreamLike(input)) {\n return scheduleReadableStreamLike_1.scheduleReadableStreamLike(input, scheduler);\n }\n }\n throw throwUnobservableError_1.createInvalidObservableTypeError(input);\n}\nexports.scheduled = scheduled;\n//# sourceMappingURL=scheduled.js.map",
|
|
106
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.from = void 0;\nvar scheduled_1 = require(\"../scheduled/scheduled\");\nvar innerFrom_1 = require(\"./innerFrom\");\nfunction from(input, scheduler) {\n return scheduler ? scheduled_1.scheduled(input, scheduler) : innerFrom_1.innerFrom(input);\n}\nexports.from = from;\n//# sourceMappingURL=from.js.map",
|
|
107
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.of = void 0;\nvar args_1 = require(\"../util/args\");\nvar from_1 = require(\"./from\");\nfunction of() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var scheduler = args_1.popScheduler(args);\n return from_1.from(args, scheduler);\n}\nexports.of = of;\n//# sourceMappingURL=of.js.map",
|
|
108
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.throwError = void 0;\nvar Observable_1 = require(\"../Observable\");\nvar isFunction_1 = require(\"../util/isFunction\");\nfunction throwError(errorOrErrorFactory, scheduler) {\n var errorFactory = isFunction_1.isFunction(errorOrErrorFactory) ? errorOrErrorFactory : function () { return errorOrErrorFactory; };\n var init = function (subscriber) { return subscriber.error(errorFactory()); };\n return new Observable_1.Observable(scheduler ? function (subscriber) { return scheduler.schedule(init, 0, subscriber); } : init);\n}\nexports.throwError = throwError;\n//# sourceMappingURL=throwError.js.map",
|
|
109
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.observeNotification = exports.Notification = exports.NotificationKind = void 0;\nvar empty_1 = require(\"./observable/empty\");\nvar of_1 = require(\"./observable/of\");\nvar throwError_1 = require(\"./observable/throwError\");\nvar isFunction_1 = require(\"./util/isFunction\");\nvar NotificationKind;\n(function (NotificationKind) {\n NotificationKind[\"NEXT\"] = \"N\";\n NotificationKind[\"ERROR\"] = \"E\";\n NotificationKind[\"COMPLETE\"] = \"C\";\n})(NotificationKind = exports.NotificationKind || (exports.NotificationKind = {}));\nvar Notification = (function () {\n function Notification(kind, value, error) {\n this.kind = kind;\n this.value = value;\n this.error = error;\n this.hasValue = kind === 'N';\n }\n Notification.prototype.observe = function (observer) {\n return observeNotification(this, observer);\n };\n Notification.prototype.do = function (nextHandler, errorHandler, completeHandler) {\n var _a = this, kind = _a.kind, value = _a.value, error = _a.error;\n return kind === 'N' ? nextHandler === null || nextHandler === void 0 ? void 0 : nextHandler(value) : kind === 'E' ? errorHandler === null || errorHandler === void 0 ? void 0 : errorHandler(error) : completeHandler === null || completeHandler === void 0 ? void 0 : completeHandler();\n };\n Notification.prototype.accept = function (nextOrObserver, error, complete) {\n var _a;\n return isFunction_1.isFunction((_a = nextOrObserver) === null || _a === void 0 ? void 0 : _a.next)\n ? this.observe(nextOrObserver)\n : this.do(nextOrObserver, error, complete);\n };\n Notification.prototype.toObservable = function () {\n var _a = this, kind = _a.kind, value = _a.value, error = _a.error;\n var result = kind === 'N'\n ?\n of_1.of(value)\n :\n kind === 'E'\n ?\n throwError_1.throwError(function () { return error; })\n :\n kind === 'C'\n ?\n empty_1.EMPTY\n :\n 0;\n if (!result) {\n throw new TypeError(\"Unexpected notification kind \" + kind);\n }\n return result;\n };\n Notification.createNext = function (value) {\n return new Notification('N', value);\n };\n Notification.createError = function (err) {\n return new Notification('E', undefined, err);\n };\n Notification.createComplete = function () {\n return Notification.completeNotification;\n };\n Notification.completeNotification = new Notification('C');\n return Notification;\n}());\nexports.Notification = Notification;\nfunction observeNotification(notification, observer) {\n var _a, _b, _c;\n var _d = notification, kind = _d.kind, value = _d.value, error = _d.error;\n if (typeof kind !== 'string') {\n throw new TypeError('Invalid notification, missing \"kind\"');\n }\n kind === 'N' ? (_a = observer.next) === null || _a === void 0 ? void 0 : _a.call(observer, value) : kind === 'E' ? (_b = observer.error) === null || _b === void 0 ? void 0 : _b.call(observer, error) : (_c = observer.complete) === null || _c === void 0 ? void 0 : _c.call(observer);\n}\nexports.observeNotification = observeNotification;\n//# sourceMappingURL=Notification.js.map",
|
|
110
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isObservable = void 0;\nvar Observable_1 = require(\"../Observable\");\nvar isFunction_1 = require(\"./isFunction\");\nfunction isObservable(obj) {\n return !!obj && (obj instanceof Observable_1.Observable || (isFunction_1.isFunction(obj.lift) && isFunction_1.isFunction(obj.subscribe)));\n}\nexports.isObservable = isObservable;\n//# sourceMappingURL=isObservable.js.map",
|
|
111
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EmptyError = void 0;\nvar createErrorClass_1 = require(\"./createErrorClass\");\nexports.EmptyError = createErrorClass_1.createErrorClass(function (_super) {\n return function EmptyErrorImpl() {\n _super(this);\n this.name = 'EmptyError';\n this.message = 'no elements in sequence';\n };\n});\n//# sourceMappingURL=EmptyError.js.map",
|
|
112
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.lastValueFrom = void 0;\nvar EmptyError_1 = require(\"./util/EmptyError\");\nfunction lastValueFrom(source, config) {\n var hasConfig = typeof config === 'object';\n return new Promise(function (resolve, reject) {\n var _hasValue = false;\n var _value;\n source.subscribe({\n next: function (value) {\n _value = value;\n _hasValue = true;\n },\n error: reject,\n complete: function () {\n if (_hasValue) {\n resolve(_value);\n }\n else if (hasConfig) {\n resolve(config.defaultValue);\n }\n else {\n reject(new EmptyError_1.EmptyError());\n }\n },\n });\n });\n}\nexports.lastValueFrom = lastValueFrom;\n//# sourceMappingURL=lastValueFrom.js.map",
|
|
113
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.firstValueFrom = void 0;\nvar EmptyError_1 = require(\"./util/EmptyError\");\nvar Subscriber_1 = require(\"./Subscriber\");\nfunction firstValueFrom(source, config) {\n var hasConfig = typeof config === 'object';\n return new Promise(function (resolve, reject) {\n var subscriber = new Subscriber_1.SafeSubscriber({\n next: function (value) {\n resolve(value);\n subscriber.unsubscribe();\n },\n error: reject,\n complete: function () {\n if (hasConfig) {\n resolve(config.defaultValue);\n }\n else {\n reject(new EmptyError_1.EmptyError());\n }\n },\n });\n source.subscribe(subscriber);\n });\n}\nexports.firstValueFrom = firstValueFrom;\n//# sourceMappingURL=firstValueFrom.js.map",
|
|
114
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ArgumentOutOfRangeError = void 0;\nvar createErrorClass_1 = require(\"./createErrorClass\");\nexports.ArgumentOutOfRangeError = createErrorClass_1.createErrorClass(function (_super) {\n return function ArgumentOutOfRangeErrorImpl() {\n _super(this);\n this.name = 'ArgumentOutOfRangeError';\n this.message = 'argument out of range';\n };\n});\n//# sourceMappingURL=ArgumentOutOfRangeError.js.map",
|
|
115
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NotFoundError = void 0;\nvar createErrorClass_1 = require(\"./createErrorClass\");\nexports.NotFoundError = createErrorClass_1.createErrorClass(function (_super) {\n return function NotFoundErrorImpl(message) {\n _super(this);\n this.name = 'NotFoundError';\n this.message = message;\n };\n});\n//# sourceMappingURL=NotFoundError.js.map",
|
|
116
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SequenceError = void 0;\nvar createErrorClass_1 = require(\"./createErrorClass\");\nexports.SequenceError = createErrorClass_1.createErrorClass(function (_super) {\n return function SequenceErrorImpl(message) {\n _super(this);\n this.name = 'SequenceError';\n this.message = message;\n };\n});\n//# sourceMappingURL=SequenceError.js.map",
|
|
117
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isValidDate = void 0;\nfunction isValidDate(value) {\n return value instanceof Date && !isNaN(value);\n}\nexports.isValidDate = isValidDate;\n//# sourceMappingURL=isDate.js.map",
|
|
118
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.timeout = exports.TimeoutError = void 0;\nvar async_1 = require(\"../scheduler/async\");\nvar isDate_1 = require(\"../util/isDate\");\nvar lift_1 = require(\"../util/lift\");\nvar innerFrom_1 = require(\"../observable/innerFrom\");\nvar createErrorClass_1 = require(\"../util/createErrorClass\");\nvar OperatorSubscriber_1 = require(\"./OperatorSubscriber\");\nvar executeSchedule_1 = require(\"../util/executeSchedule\");\nexports.TimeoutError = createErrorClass_1.createErrorClass(function (_super) {\n return function TimeoutErrorImpl(info) {\n if (info === void 0) { info = null; }\n _super(this);\n this.message = 'Timeout has occurred';\n this.name = 'TimeoutError';\n this.info = info;\n };\n});\nfunction timeout(config, schedulerArg) {\n var _a = (isDate_1.isValidDate(config) ? { first: config } : typeof config === 'number' ? { each: config } : config), first = _a.first, each = _a.each, _b = _a.with, _with = _b === void 0 ? timeoutErrorFactory : _b, _c = _a.scheduler, scheduler = _c === void 0 ? schedulerArg !== null && schedulerArg !== void 0 ? schedulerArg : async_1.asyncScheduler : _c, _d = _a.meta, meta = _d === void 0 ? null : _d;\n if (first == null && each == null) {\n throw new TypeError('No timeout provided.');\n }\n return lift_1.operate(function (source, subscriber) {\n var originalSourceSubscription;\n var timerSubscription;\n var lastValue = null;\n var seen = 0;\n var startTimer = function (delay) {\n timerSubscription = executeSchedule_1.executeSchedule(subscriber, scheduler, function () {\n try {\n originalSourceSubscription.unsubscribe();\n innerFrom_1.innerFrom(_with({\n meta: meta,\n lastValue: lastValue,\n seen: seen,\n })).subscribe(subscriber);\n }\n catch (err) {\n subscriber.error(err);\n }\n }, delay);\n };\n originalSourceSubscription = source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function (value) {\n timerSubscription === null || timerSubscription === void 0 ? void 0 : timerSubscription.unsubscribe();\n seen++;\n subscriber.next((lastValue = value));\n each > 0 && startTimer(each);\n }, undefined, undefined, function () {\n if (!(timerSubscription === null || timerSubscription === void 0 ? void 0 : timerSubscription.closed)) {\n timerSubscription === null || timerSubscription === void 0 ? void 0 : timerSubscription.unsubscribe();\n }\n lastValue = null;\n }));\n !seen && startTimer(first != null ? (typeof first === 'number' ? first : +first - scheduler.now()) : each);\n });\n}\nexports.timeout = timeout;\nfunction timeoutErrorFactory(info) {\n throw new exports.TimeoutError(info);\n}\n//# sourceMappingURL=timeout.js.map",
|
|
119
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.map = void 0;\nvar lift_1 = require(\"../util/lift\");\nvar OperatorSubscriber_1 = require(\"./OperatorSubscriber\");\nfunction map(project, thisArg) {\n return lift_1.operate(function (source, subscriber) {\n var index = 0;\n source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function (value) {\n subscriber.next(project.call(thisArg, value, index++));\n }));\n });\n}\nexports.map = map;\n//# sourceMappingURL=map.js.map",
|
|
120
|
+
"\"use strict\";\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from) {\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\n to[j] = from[i];\n return to;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.mapOneOrManyArgs = void 0;\nvar map_1 = require(\"../operators/map\");\nvar isArray = Array.isArray;\nfunction callOrApply(fn, args) {\n return isArray(args) ? fn.apply(void 0, __spreadArray([], __read(args))) : fn(args);\n}\nfunction mapOneOrManyArgs(fn) {\n return map_1.map(function (args) { return callOrApply(fn, args); });\n}\nexports.mapOneOrManyArgs = mapOneOrManyArgs;\n//# sourceMappingURL=mapOneOrManyArgs.js.map",
|
|
121
|
+
"\"use strict\";\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from) {\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\n to[j] = from[i];\n return to;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.bindCallbackInternals = void 0;\nvar isScheduler_1 = require(\"../util/isScheduler\");\nvar Observable_1 = require(\"../Observable\");\nvar subscribeOn_1 = require(\"../operators/subscribeOn\");\nvar mapOneOrManyArgs_1 = require(\"../util/mapOneOrManyArgs\");\nvar observeOn_1 = require(\"../operators/observeOn\");\nvar AsyncSubject_1 = require(\"../AsyncSubject\");\nfunction bindCallbackInternals(isNodeStyle, callbackFunc, resultSelector, scheduler) {\n if (resultSelector) {\n if (isScheduler_1.isScheduler(resultSelector)) {\n scheduler = resultSelector;\n }\n else {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return bindCallbackInternals(isNodeStyle, callbackFunc, scheduler)\n .apply(this, args)\n .pipe(mapOneOrManyArgs_1.mapOneOrManyArgs(resultSelector));\n };\n }\n }\n if (scheduler) {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return bindCallbackInternals(isNodeStyle, callbackFunc)\n .apply(this, args)\n .pipe(subscribeOn_1.subscribeOn(scheduler), observeOn_1.observeOn(scheduler));\n };\n }\n return function () {\n var _this = this;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var subject = new AsyncSubject_1.AsyncSubject();\n var uninitialized = true;\n return new Observable_1.Observable(function (subscriber) {\n var subs = subject.subscribe(subscriber);\n if (uninitialized) {\n uninitialized = false;\n var isAsync_1 = false;\n var isComplete_1 = false;\n callbackFunc.apply(_this, __spreadArray(__spreadArray([], __read(args)), [\n function () {\n var results = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n results[_i] = arguments[_i];\n }\n if (isNodeStyle) {\n var err = results.shift();\n if (err != null) {\n subject.error(err);\n return;\n }\n }\n subject.next(1 < results.length ? results : results[0]);\n isComplete_1 = true;\n if (isAsync_1) {\n subject.complete();\n }\n },\n ]));\n if (isComplete_1) {\n subject.complete();\n }\n isAsync_1 = true;\n }\n return subs;\n });\n };\n}\nexports.bindCallbackInternals = bindCallbackInternals;\n//# sourceMappingURL=bindCallbackInternals.js.map",
|
|
122
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.bindCallback = void 0;\nvar bindCallbackInternals_1 = require(\"./bindCallbackInternals\");\nfunction bindCallback(callbackFunc, resultSelector, scheduler) {\n return bindCallbackInternals_1.bindCallbackInternals(false, callbackFunc, resultSelector, scheduler);\n}\nexports.bindCallback = bindCallback;\n//# sourceMappingURL=bindCallback.js.map",
|
|
123
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.bindNodeCallback = void 0;\nvar bindCallbackInternals_1 = require(\"./bindCallbackInternals\");\nfunction bindNodeCallback(callbackFunc, resultSelector, scheduler) {\n return bindCallbackInternals_1.bindCallbackInternals(true, callbackFunc, resultSelector, scheduler);\n}\nexports.bindNodeCallback = bindNodeCallback;\n//# sourceMappingURL=bindNodeCallback.js.map",
|
|
124
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.argsArgArrayOrObject = void 0;\nvar isArray = Array.isArray;\nvar getPrototypeOf = Object.getPrototypeOf, objectProto = Object.prototype, getKeys = Object.keys;\nfunction argsArgArrayOrObject(args) {\n if (args.length === 1) {\n var first_1 = args[0];\n if (isArray(first_1)) {\n return { args: first_1, keys: null };\n }\n if (isPOJO(first_1)) {\n var keys = getKeys(first_1);\n return {\n args: keys.map(function (key) { return first_1[key]; }),\n keys: keys,\n };\n }\n }\n return { args: args, keys: null };\n}\nexports.argsArgArrayOrObject = argsArgArrayOrObject;\nfunction isPOJO(obj) {\n return obj && typeof obj === 'object' && getPrototypeOf(obj) === objectProto;\n}\n//# sourceMappingURL=argsArgArrayOrObject.js.map",
|
|
125
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createObject = void 0;\nfunction createObject(keys, values) {\n return keys.reduce(function (result, key, i) { return ((result[key] = values[i]), result); }, {});\n}\nexports.createObject = createObject;\n//# sourceMappingURL=createObject.js.map",
|
|
126
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.combineLatestInit = exports.combineLatest = void 0;\nvar Observable_1 = require(\"../Observable\");\nvar argsArgArrayOrObject_1 = require(\"../util/argsArgArrayOrObject\");\nvar from_1 = require(\"./from\");\nvar identity_1 = require(\"../util/identity\");\nvar mapOneOrManyArgs_1 = require(\"../util/mapOneOrManyArgs\");\nvar args_1 = require(\"../util/args\");\nvar createObject_1 = require(\"../util/createObject\");\nvar OperatorSubscriber_1 = require(\"../operators/OperatorSubscriber\");\nvar executeSchedule_1 = require(\"../util/executeSchedule\");\nfunction combineLatest() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var scheduler = args_1.popScheduler(args);\n var resultSelector = args_1.popResultSelector(args);\n var _a = argsArgArrayOrObject_1.argsArgArrayOrObject(args), observables = _a.args, keys = _a.keys;\n if (observables.length === 0) {\n return from_1.from([], scheduler);\n }\n var result = new Observable_1.Observable(combineLatestInit(observables, scheduler, keys\n ?\n function (values) { return createObject_1.createObject(keys, values); }\n :\n identity_1.identity));\n return resultSelector ? result.pipe(mapOneOrManyArgs_1.mapOneOrManyArgs(resultSelector)) : result;\n}\nexports.combineLatest = combineLatest;\nfunction combineLatestInit(observables, scheduler, valueTransform) {\n if (valueTransform === void 0) { valueTransform = identity_1.identity; }\n return function (subscriber) {\n maybeSchedule(scheduler, function () {\n var length = observables.length;\n var values = new Array(length);\n var active = length;\n var remainingFirstValues = length;\n var _loop_1 = function (i) {\n maybeSchedule(scheduler, function () {\n var source = from_1.from(observables[i], scheduler);\n var hasFirstValue = false;\n source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function (value) {\n values[i] = value;\n if (!hasFirstValue) {\n hasFirstValue = true;\n remainingFirstValues--;\n }\n if (!remainingFirstValues) {\n subscriber.next(valueTransform(values.slice()));\n }\n }, function () {\n if (!--active) {\n subscriber.complete();\n }\n }));\n }, subscriber);\n };\n for (var i = 0; i < length; i++) {\n _loop_1(i);\n }\n }, subscriber);\n };\n}\nexports.combineLatestInit = combineLatestInit;\nfunction maybeSchedule(scheduler, execute, subscription) {\n if (scheduler) {\n executeSchedule_1.executeSchedule(subscription, scheduler, execute);\n }\n else {\n execute();\n }\n}\n//# sourceMappingURL=combineLatest.js.map",
|
|
127
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.mergeInternals = void 0;\nvar innerFrom_1 = require(\"../observable/innerFrom\");\nvar executeSchedule_1 = require(\"../util/executeSchedule\");\nvar OperatorSubscriber_1 = require(\"./OperatorSubscriber\");\nfunction mergeInternals(source, subscriber, project, concurrent, onBeforeNext, expand, innerSubScheduler, additionalFinalizer) {\n var buffer = [];\n var active = 0;\n var index = 0;\n var isComplete = false;\n var checkComplete = function () {\n if (isComplete && !buffer.length && !active) {\n subscriber.complete();\n }\n };\n var outerNext = function (value) { return (active < concurrent ? doInnerSub(value) : buffer.push(value)); };\n var doInnerSub = function (value) {\n expand && subscriber.next(value);\n active++;\n var innerComplete = false;\n innerFrom_1.innerFrom(project(value, index++)).subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function (innerValue) {\n onBeforeNext === null || onBeforeNext === void 0 ? void 0 : onBeforeNext(innerValue);\n if (expand) {\n outerNext(innerValue);\n }\n else {\n subscriber.next(innerValue);\n }\n }, function () {\n innerComplete = true;\n }, undefined, function () {\n if (innerComplete) {\n try {\n active--;\n var _loop_1 = function () {\n var bufferedValue = buffer.shift();\n if (innerSubScheduler) {\n executeSchedule_1.executeSchedule(subscriber, innerSubScheduler, function () { return doInnerSub(bufferedValue); });\n }\n else {\n doInnerSub(bufferedValue);\n }\n };\n while (buffer.length && active < concurrent) {\n _loop_1();\n }\n checkComplete();\n }\n catch (err) {\n subscriber.error(err);\n }\n }\n }));\n };\n source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, outerNext, function () {\n isComplete = true;\n checkComplete();\n }));\n return function () {\n additionalFinalizer === null || additionalFinalizer === void 0 ? void 0 : additionalFinalizer();\n };\n}\nexports.mergeInternals = mergeInternals;\n//# sourceMappingURL=mergeInternals.js.map",
|
|
128
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.mergeMap = void 0;\nvar map_1 = require(\"./map\");\nvar innerFrom_1 = require(\"../observable/innerFrom\");\nvar lift_1 = require(\"../util/lift\");\nvar mergeInternals_1 = require(\"./mergeInternals\");\nvar isFunction_1 = require(\"../util/isFunction\");\nfunction mergeMap(project, resultSelector, concurrent) {\n if (concurrent === void 0) { concurrent = Infinity; }\n if (isFunction_1.isFunction(resultSelector)) {\n return mergeMap(function (a, i) { return map_1.map(function (b, ii) { return resultSelector(a, b, i, ii); })(innerFrom_1.innerFrom(project(a, i))); }, concurrent);\n }\n else if (typeof resultSelector === 'number') {\n concurrent = resultSelector;\n }\n return lift_1.operate(function (source, subscriber) { return mergeInternals_1.mergeInternals(source, subscriber, project, concurrent); });\n}\nexports.mergeMap = mergeMap;\n//# sourceMappingURL=mergeMap.js.map",
|
|
129
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.mergeAll = void 0;\nvar mergeMap_1 = require(\"./mergeMap\");\nvar identity_1 = require(\"../util/identity\");\nfunction mergeAll(concurrent) {\n if (concurrent === void 0) { concurrent = Infinity; }\n return mergeMap_1.mergeMap(identity_1.identity, concurrent);\n}\nexports.mergeAll = mergeAll;\n//# sourceMappingURL=mergeAll.js.map",
|
|
130
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.concatAll = void 0;\nvar mergeAll_1 = require(\"./mergeAll\");\nfunction concatAll() {\n return mergeAll_1.mergeAll(1);\n}\nexports.concatAll = concatAll;\n//# sourceMappingURL=concatAll.js.map",
|
|
131
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.concat = void 0;\nvar concatAll_1 = require(\"../operators/concatAll\");\nvar args_1 = require(\"../util/args\");\nvar from_1 = require(\"./from\");\nfunction concat() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return concatAll_1.concatAll()(from_1.from(args, args_1.popScheduler(args)));\n}\nexports.concat = concat;\n//# sourceMappingURL=concat.js.map",
|
|
132
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.defer = void 0;\nvar Observable_1 = require(\"../Observable\");\nvar innerFrom_1 = require(\"./innerFrom\");\nfunction defer(observableFactory) {\n return new Observable_1.Observable(function (subscriber) {\n innerFrom_1.innerFrom(observableFactory()).subscribe(subscriber);\n });\n}\nexports.defer = defer;\n//# sourceMappingURL=defer.js.map",
|
|
133
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.connectable = void 0;\nvar Subject_1 = require(\"../Subject\");\nvar Observable_1 = require(\"../Observable\");\nvar defer_1 = require(\"./defer\");\nvar DEFAULT_CONFIG = {\n connector: function () { return new Subject_1.Subject(); },\n resetOnDisconnect: true,\n};\nfunction connectable(source, config) {\n if (config === void 0) { config = DEFAULT_CONFIG; }\n var connection = null;\n var connector = config.connector, _a = config.resetOnDisconnect, resetOnDisconnect = _a === void 0 ? true : _a;\n var subject = connector();\n var result = new Observable_1.Observable(function (subscriber) {\n return subject.subscribe(subscriber);\n });\n result.connect = function () {\n if (!connection || connection.closed) {\n connection = defer_1.defer(function () { return source; }).subscribe(subject);\n if (resetOnDisconnect) {\n connection.add(function () { return (subject = connector()); });\n }\n }\n return connection;\n };\n return result;\n}\nexports.connectable = connectable;\n//# sourceMappingURL=connectable.js.map",
|
|
134
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.forkJoin = void 0;\nvar Observable_1 = require(\"../Observable\");\nvar argsArgArrayOrObject_1 = require(\"../util/argsArgArrayOrObject\");\nvar innerFrom_1 = require(\"./innerFrom\");\nvar args_1 = require(\"../util/args\");\nvar OperatorSubscriber_1 = require(\"../operators/OperatorSubscriber\");\nvar mapOneOrManyArgs_1 = require(\"../util/mapOneOrManyArgs\");\nvar createObject_1 = require(\"../util/createObject\");\nfunction forkJoin() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var resultSelector = args_1.popResultSelector(args);\n var _a = argsArgArrayOrObject_1.argsArgArrayOrObject(args), sources = _a.args, keys = _a.keys;\n var result = new Observable_1.Observable(function (subscriber) {\n var length = sources.length;\n if (!length) {\n subscriber.complete();\n return;\n }\n var values = new Array(length);\n var remainingCompletions = length;\n var remainingEmissions = length;\n var _loop_1 = function (sourceIndex) {\n var hasValue = false;\n innerFrom_1.innerFrom(sources[sourceIndex]).subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function (value) {\n if (!hasValue) {\n hasValue = true;\n remainingEmissions--;\n }\n values[sourceIndex] = value;\n }, function () { return remainingCompletions--; }, undefined, function () {\n if (!remainingCompletions || !hasValue) {\n if (!remainingEmissions) {\n subscriber.next(keys ? createObject_1.createObject(keys, values) : values);\n }\n subscriber.complete();\n }\n }));\n };\n for (var sourceIndex = 0; sourceIndex < length; sourceIndex++) {\n _loop_1(sourceIndex);\n }\n });\n return resultSelector ? result.pipe(mapOneOrManyArgs_1.mapOneOrManyArgs(resultSelector)) : result;\n}\nexports.forkJoin = forkJoin;\n//# sourceMappingURL=forkJoin.js.map",
|
|
135
|
+
"\"use strict\";\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fromEvent = void 0;\nvar innerFrom_1 = require(\"../observable/innerFrom\");\nvar Observable_1 = require(\"../Observable\");\nvar mergeMap_1 = require(\"../operators/mergeMap\");\nvar isArrayLike_1 = require(\"../util/isArrayLike\");\nvar isFunction_1 = require(\"../util/isFunction\");\nvar mapOneOrManyArgs_1 = require(\"../util/mapOneOrManyArgs\");\nvar nodeEventEmitterMethods = ['addListener', 'removeListener'];\nvar eventTargetMethods = ['addEventListener', 'removeEventListener'];\nvar jqueryMethods = ['on', 'off'];\nfunction fromEvent(target, eventName, options, resultSelector) {\n if (isFunction_1.isFunction(options)) {\n resultSelector = options;\n options = undefined;\n }\n if (resultSelector) {\n return fromEvent(target, eventName, options).pipe(mapOneOrManyArgs_1.mapOneOrManyArgs(resultSelector));\n }\n var _a = __read(isEventTarget(target)\n ? eventTargetMethods.map(function (methodName) { return function (handler) { return target[methodName](eventName, handler, options); }; })\n :\n isNodeStyleEventEmitter(target)\n ? nodeEventEmitterMethods.map(toCommonHandlerRegistry(target, eventName))\n : isJQueryStyleEventEmitter(target)\n ? jqueryMethods.map(toCommonHandlerRegistry(target, eventName))\n : [], 2), add = _a[0], remove = _a[1];\n if (!add) {\n if (isArrayLike_1.isArrayLike(target)) {\n return mergeMap_1.mergeMap(function (subTarget) { return fromEvent(subTarget, eventName, options); })(innerFrom_1.innerFrom(target));\n }\n }\n if (!add) {\n throw new TypeError('Invalid event target');\n }\n return new Observable_1.Observable(function (subscriber) {\n var handler = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return subscriber.next(1 < args.length ? args : args[0]);\n };\n add(handler);\n return function () { return remove(handler); };\n });\n}\nexports.fromEvent = fromEvent;\nfunction toCommonHandlerRegistry(target, eventName) {\n return function (methodName) { return function (handler) { return target[methodName](eventName, handler); }; };\n}\nfunction isNodeStyleEventEmitter(target) {\n return isFunction_1.isFunction(target.addListener) && isFunction_1.isFunction(target.removeListener);\n}\nfunction isJQueryStyleEventEmitter(target) {\n return isFunction_1.isFunction(target.on) && isFunction_1.isFunction(target.off);\n}\nfunction isEventTarget(target) {\n return isFunction_1.isFunction(target.addEventListener) && isFunction_1.isFunction(target.removeEventListener);\n}\n//# sourceMappingURL=fromEvent.js.map",
|
|
136
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fromEventPattern = void 0;\nvar Observable_1 = require(\"../Observable\");\nvar isFunction_1 = require(\"../util/isFunction\");\nvar mapOneOrManyArgs_1 = require(\"../util/mapOneOrManyArgs\");\nfunction fromEventPattern(addHandler, removeHandler, resultSelector) {\n if (resultSelector) {\n return fromEventPattern(addHandler, removeHandler).pipe(mapOneOrManyArgs_1.mapOneOrManyArgs(resultSelector));\n }\n return new Observable_1.Observable(function (subscriber) {\n var handler = function () {\n var e = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n e[_i] = arguments[_i];\n }\n return subscriber.next(e.length === 1 ? e[0] : e);\n };\n var retValue = addHandler(handler);\n return isFunction_1.isFunction(removeHandler) ? function () { return removeHandler(handler, retValue); } : undefined;\n });\n}\nexports.fromEventPattern = fromEventPattern;\n//# sourceMappingURL=fromEventPattern.js.map",
|
|
137
|
+
"\"use strict\";\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.generate = void 0;\nvar identity_1 = require(\"../util/identity\");\nvar isScheduler_1 = require(\"../util/isScheduler\");\nvar defer_1 = require(\"./defer\");\nvar scheduleIterable_1 = require(\"../scheduled/scheduleIterable\");\nfunction generate(initialStateOrOptions, condition, iterate, resultSelectorOrScheduler, scheduler) {\n var _a, _b;\n var resultSelector;\n var initialState;\n if (arguments.length === 1) {\n (_a = initialStateOrOptions, initialState = _a.initialState, condition = _a.condition, iterate = _a.iterate, _b = _a.resultSelector, resultSelector = _b === void 0 ? identity_1.identity : _b, scheduler = _a.scheduler);\n }\n else {\n initialState = initialStateOrOptions;\n if (!resultSelectorOrScheduler || isScheduler_1.isScheduler(resultSelectorOrScheduler)) {\n resultSelector = identity_1.identity;\n scheduler = resultSelectorOrScheduler;\n }\n else {\n resultSelector = resultSelectorOrScheduler;\n }\n }\n function gen() {\n var state;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n state = initialState;\n _a.label = 1;\n case 1:\n if (!(!condition || condition(state))) return [3, 4];\n return [4, resultSelector(state)];\n case 2:\n _a.sent();\n _a.label = 3;\n case 3:\n state = iterate(state);\n return [3, 1];\n case 4: return [2];\n }\n });\n }\n return defer_1.defer((scheduler\n ?\n function () { return scheduleIterable_1.scheduleIterable(gen(), scheduler); }\n :\n gen));\n}\nexports.generate = generate;\n//# sourceMappingURL=generate.js.map",
|
|
138
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.iif = void 0;\nvar defer_1 = require(\"./defer\");\nfunction iif(condition, trueResult, falseResult) {\n return defer_1.defer(function () { return (condition() ? trueResult : falseResult); });\n}\nexports.iif = iif;\n//# sourceMappingURL=iif.js.map",
|
|
139
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.timer = void 0;\nvar Observable_1 = require(\"../Observable\");\nvar async_1 = require(\"../scheduler/async\");\nvar isScheduler_1 = require(\"../util/isScheduler\");\nvar isDate_1 = require(\"../util/isDate\");\nfunction timer(dueTime, intervalOrScheduler, scheduler) {\n if (dueTime === void 0) { dueTime = 0; }\n if (scheduler === void 0) { scheduler = async_1.async; }\n var intervalDuration = -1;\n if (intervalOrScheduler != null) {\n if (isScheduler_1.isScheduler(intervalOrScheduler)) {\n scheduler = intervalOrScheduler;\n }\n else {\n intervalDuration = intervalOrScheduler;\n }\n }\n return new Observable_1.Observable(function (subscriber) {\n var due = isDate_1.isValidDate(dueTime) ? +dueTime - scheduler.now() : dueTime;\n if (due < 0) {\n due = 0;\n }\n var n = 0;\n return scheduler.schedule(function () {\n if (!subscriber.closed) {\n subscriber.next(n++);\n if (0 <= intervalDuration) {\n this.schedule(undefined, intervalDuration);\n }\n else {\n subscriber.complete();\n }\n }\n }, due);\n });\n}\nexports.timer = timer;\n//# sourceMappingURL=timer.js.map",
|
|
140
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.interval = void 0;\nvar async_1 = require(\"../scheduler/async\");\nvar timer_1 = require(\"./timer\");\nfunction interval(period, scheduler) {\n if (period === void 0) { period = 0; }\n if (scheduler === void 0) { scheduler = async_1.asyncScheduler; }\n if (period < 0) {\n period = 0;\n }\n return timer_1.timer(period, period, scheduler);\n}\nexports.interval = interval;\n//# sourceMappingURL=interval.js.map",
|
|
141
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.merge = void 0;\nvar mergeAll_1 = require(\"../operators/mergeAll\");\nvar innerFrom_1 = require(\"./innerFrom\");\nvar empty_1 = require(\"./empty\");\nvar args_1 = require(\"../util/args\");\nvar from_1 = require(\"./from\");\nfunction merge() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var scheduler = args_1.popScheduler(args);\n var concurrent = args_1.popNumber(args, Infinity);\n var sources = args;\n return !sources.length\n ?\n empty_1.EMPTY\n : sources.length === 1\n ?\n innerFrom_1.innerFrom(sources[0])\n :\n mergeAll_1.mergeAll(concurrent)(from_1.from(sources, scheduler));\n}\nexports.merge = merge;\n//# sourceMappingURL=merge.js.map",
|
|
142
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.never = exports.NEVER = void 0;\nvar Observable_1 = require(\"../Observable\");\nvar noop_1 = require(\"../util/noop\");\nexports.NEVER = new Observable_1.Observable(noop_1.noop);\nfunction never() {\n return exports.NEVER;\n}\nexports.never = never;\n//# sourceMappingURL=never.js.map",
|
|
143
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.argsOrArgArray = void 0;\nvar isArray = Array.isArray;\nfunction argsOrArgArray(args) {\n return args.length === 1 && isArray(args[0]) ? args[0] : args;\n}\nexports.argsOrArgArray = argsOrArgArray;\n//# sourceMappingURL=argsOrArgArray.js.map",
|
|
144
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.onErrorResumeNext = void 0;\nvar Observable_1 = require(\"../Observable\");\nvar argsOrArgArray_1 = require(\"../util/argsOrArgArray\");\nvar OperatorSubscriber_1 = require(\"../operators/OperatorSubscriber\");\nvar noop_1 = require(\"../util/noop\");\nvar innerFrom_1 = require(\"./innerFrom\");\nfunction onErrorResumeNext() {\n var sources = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n sources[_i] = arguments[_i];\n }\n var nextSources = argsOrArgArray_1.argsOrArgArray(sources);\n return new Observable_1.Observable(function (subscriber) {\n var sourceIndex = 0;\n var subscribeNext = function () {\n if (sourceIndex < nextSources.length) {\n var nextSource = void 0;\n try {\n nextSource = innerFrom_1.innerFrom(nextSources[sourceIndex++]);\n }\n catch (err) {\n subscribeNext();\n return;\n }\n var innerSubscriber = new OperatorSubscriber_1.OperatorSubscriber(subscriber, undefined, noop_1.noop, noop_1.noop);\n nextSource.subscribe(innerSubscriber);\n innerSubscriber.add(subscribeNext);\n }\n else {\n subscriber.complete();\n }\n };\n subscribeNext();\n });\n}\nexports.onErrorResumeNext = onErrorResumeNext;\n//# sourceMappingURL=onErrorResumeNext.js.map",
|
|
145
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.pairs = void 0;\nvar from_1 = require(\"./from\");\nfunction pairs(obj, scheduler) {\n return from_1.from(Object.entries(obj), scheduler);\n}\nexports.pairs = pairs;\n//# sourceMappingURL=pairs.js.map",
|
|
146
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.not = void 0;\nfunction not(pred, thisArg) {\n return function (value, index) { return !pred.call(thisArg, value, index); };\n}\nexports.not = not;\n//# sourceMappingURL=not.js.map",
|
|
147
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.filter = void 0;\nvar lift_1 = require(\"../util/lift\");\nvar OperatorSubscriber_1 = require(\"./OperatorSubscriber\");\nfunction filter(predicate, thisArg) {\n return lift_1.operate(function (source, subscriber) {\n var index = 0;\n source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function (value) { return predicate.call(thisArg, value, index++) && subscriber.next(value); }));\n });\n}\nexports.filter = filter;\n//# sourceMappingURL=filter.js.map",
|
|
148
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.partition = void 0;\nvar not_1 = require(\"../util/not\");\nvar filter_1 = require(\"../operators/filter\");\nvar innerFrom_1 = require(\"./innerFrom\");\nfunction partition(source, predicate, thisArg) {\n return [filter_1.filter(predicate, thisArg)(innerFrom_1.innerFrom(source)), filter_1.filter(not_1.not(predicate, thisArg))(innerFrom_1.innerFrom(source))];\n}\nexports.partition = partition;\n//# sourceMappingURL=partition.js.map",
|
|
149
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.raceInit = exports.race = void 0;\nvar Observable_1 = require(\"../Observable\");\nvar innerFrom_1 = require(\"./innerFrom\");\nvar argsOrArgArray_1 = require(\"../util/argsOrArgArray\");\nvar OperatorSubscriber_1 = require(\"../operators/OperatorSubscriber\");\nfunction race() {\n var sources = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n sources[_i] = arguments[_i];\n }\n sources = argsOrArgArray_1.argsOrArgArray(sources);\n return sources.length === 1 ? innerFrom_1.innerFrom(sources[0]) : new Observable_1.Observable(raceInit(sources));\n}\nexports.race = race;\nfunction raceInit(sources) {\n return function (subscriber) {\n var subscriptions = [];\n var _loop_1 = function (i) {\n subscriptions.push(innerFrom_1.innerFrom(sources[i]).subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function (value) {\n if (subscriptions) {\n for (var s = 0; s < subscriptions.length; s++) {\n s !== i && subscriptions[s].unsubscribe();\n }\n subscriptions = null;\n }\n subscriber.next(value);\n })));\n };\n for (var i = 0; subscriptions && !subscriber.closed && i < sources.length; i++) {\n _loop_1(i);\n }\n };\n}\nexports.raceInit = raceInit;\n//# sourceMappingURL=race.js.map",
|
|
150
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.range = void 0;\nvar Observable_1 = require(\"../Observable\");\nvar empty_1 = require(\"./empty\");\nfunction range(start, count, scheduler) {\n if (count == null) {\n count = start;\n start = 0;\n }\n if (count <= 0) {\n return empty_1.EMPTY;\n }\n var end = count + start;\n return new Observable_1.Observable(scheduler\n ?\n function (subscriber) {\n var n = start;\n return scheduler.schedule(function () {\n if (n < end) {\n subscriber.next(n++);\n this.schedule();\n }\n else {\n subscriber.complete();\n }\n });\n }\n :\n function (subscriber) {\n var n = start;\n while (n < end && !subscriber.closed) {\n subscriber.next(n++);\n }\n subscriber.complete();\n });\n}\nexports.range = range;\n//# sourceMappingURL=range.js.map",
|
|
151
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.using = void 0;\nvar Observable_1 = require(\"../Observable\");\nvar innerFrom_1 = require(\"./innerFrom\");\nvar empty_1 = require(\"./empty\");\nfunction using(resourceFactory, observableFactory) {\n return new Observable_1.Observable(function (subscriber) {\n var resource = resourceFactory();\n var result = observableFactory(resource);\n var source = result ? innerFrom_1.innerFrom(result) : empty_1.EMPTY;\n source.subscribe(subscriber);\n return function () {\n if (resource) {\n resource.unsubscribe();\n }\n };\n });\n}\nexports.using = using;\n//# sourceMappingURL=using.js.map",
|
|
152
|
+
"\"use strict\";\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from) {\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\n to[j] = from[i];\n return to;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.zip = void 0;\nvar Observable_1 = require(\"../Observable\");\nvar innerFrom_1 = require(\"./innerFrom\");\nvar argsOrArgArray_1 = require(\"../util/argsOrArgArray\");\nvar empty_1 = require(\"./empty\");\nvar OperatorSubscriber_1 = require(\"../operators/OperatorSubscriber\");\nvar args_1 = require(\"../util/args\");\nfunction zip() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var resultSelector = args_1.popResultSelector(args);\n var sources = argsOrArgArray_1.argsOrArgArray(args);\n return sources.length\n ? new Observable_1.Observable(function (subscriber) {\n var buffers = sources.map(function () { return []; });\n var completed = sources.map(function () { return false; });\n subscriber.add(function () {\n buffers = completed = null;\n });\n var _loop_1 = function (sourceIndex) {\n innerFrom_1.innerFrom(sources[sourceIndex]).subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function (value) {\n buffers[sourceIndex].push(value);\n if (buffers.every(function (buffer) { return buffer.length; })) {\n var result = buffers.map(function (buffer) { return buffer.shift(); });\n subscriber.next(resultSelector ? resultSelector.apply(void 0, __spreadArray([], __read(result))) : result);\n if (buffers.some(function (buffer, i) { return !buffer.length && completed[i]; })) {\n subscriber.complete();\n }\n }\n }, function () {\n completed[sourceIndex] = true;\n !buffers[sourceIndex].length && subscriber.complete();\n }));\n };\n for (var sourceIndex = 0; !subscriber.closed && sourceIndex < sources.length; sourceIndex++) {\n _loop_1(sourceIndex);\n }\n return function () {\n buffers = completed = null;\n };\n })\n : empty_1.EMPTY;\n}\nexports.zip = zip;\n//# sourceMappingURL=zip.js.map",
|
|
153
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=types.js.map",
|
|
154
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.audit = void 0;\nvar lift_1 = require(\"../util/lift\");\nvar innerFrom_1 = require(\"../observable/innerFrom\");\nvar OperatorSubscriber_1 = require(\"./OperatorSubscriber\");\nfunction audit(durationSelector) {\n return lift_1.operate(function (source, subscriber) {\n var hasValue = false;\n var lastValue = null;\n var durationSubscriber = null;\n var isComplete = false;\n var endDuration = function () {\n durationSubscriber === null || durationSubscriber === void 0 ? void 0 : durationSubscriber.unsubscribe();\n durationSubscriber = null;\n if (hasValue) {\n hasValue = false;\n var value = lastValue;\n lastValue = null;\n subscriber.next(value);\n }\n isComplete && subscriber.complete();\n };\n var cleanupDuration = function () {\n durationSubscriber = null;\n isComplete && subscriber.complete();\n };\n source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function (value) {\n hasValue = true;\n lastValue = value;\n if (!durationSubscriber) {\n innerFrom_1.innerFrom(durationSelector(value)).subscribe((durationSubscriber = OperatorSubscriber_1.createOperatorSubscriber(subscriber, endDuration, cleanupDuration)));\n }\n }, function () {\n isComplete = true;\n (!hasValue || !durationSubscriber || durationSubscriber.closed) && subscriber.complete();\n }));\n });\n}\nexports.audit = audit;\n//# sourceMappingURL=audit.js.map",
|
|
155
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.auditTime = void 0;\nvar async_1 = require(\"../scheduler/async\");\nvar audit_1 = require(\"./audit\");\nvar timer_1 = require(\"../observable/timer\");\nfunction auditTime(duration, scheduler) {\n if (scheduler === void 0) { scheduler = async_1.asyncScheduler; }\n return audit_1.audit(function () { return timer_1.timer(duration, scheduler); });\n}\nexports.auditTime = auditTime;\n//# sourceMappingURL=auditTime.js.map",
|
|
156
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.buffer = void 0;\nvar lift_1 = require(\"../util/lift\");\nvar noop_1 = require(\"../util/noop\");\nvar OperatorSubscriber_1 = require(\"./OperatorSubscriber\");\nvar innerFrom_1 = require(\"../observable/innerFrom\");\nfunction buffer(closingNotifier) {\n return lift_1.operate(function (source, subscriber) {\n var currentBuffer = [];\n source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function (value) { return currentBuffer.push(value); }, function () {\n subscriber.next(currentBuffer);\n subscriber.complete();\n }));\n innerFrom_1.innerFrom(closingNotifier).subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function () {\n var b = currentBuffer;\n currentBuffer = [];\n subscriber.next(b);\n }, noop_1.noop));\n return function () {\n currentBuffer = null;\n };\n });\n}\nexports.buffer = buffer;\n//# sourceMappingURL=buffer.js.map",
|
|
157
|
+
"\"use strict\";\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.bufferCount = void 0;\nvar lift_1 = require(\"../util/lift\");\nvar OperatorSubscriber_1 = require(\"./OperatorSubscriber\");\nvar arrRemove_1 = require(\"../util/arrRemove\");\nfunction bufferCount(bufferSize, startBufferEvery) {\n if (startBufferEvery === void 0) { startBufferEvery = null; }\n startBufferEvery = startBufferEvery !== null && startBufferEvery !== void 0 ? startBufferEvery : bufferSize;\n return lift_1.operate(function (source, subscriber) {\n var buffers = [];\n var count = 0;\n source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function (value) {\n var e_1, _a, e_2, _b;\n var toEmit = null;\n if (count++ % startBufferEvery === 0) {\n buffers.push([]);\n }\n try {\n for (var buffers_1 = __values(buffers), buffers_1_1 = buffers_1.next(); !buffers_1_1.done; buffers_1_1 = buffers_1.next()) {\n var buffer = buffers_1_1.value;\n buffer.push(value);\n if (bufferSize <= buffer.length) {\n toEmit = toEmit !== null && toEmit !== void 0 ? toEmit : [];\n toEmit.push(buffer);\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (buffers_1_1 && !buffers_1_1.done && (_a = buffers_1.return)) _a.call(buffers_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n if (toEmit) {\n try {\n for (var toEmit_1 = __values(toEmit), toEmit_1_1 = toEmit_1.next(); !toEmit_1_1.done; toEmit_1_1 = toEmit_1.next()) {\n var buffer = toEmit_1_1.value;\n arrRemove_1.arrRemove(buffers, buffer);\n subscriber.next(buffer);\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (toEmit_1_1 && !toEmit_1_1.done && (_b = toEmit_1.return)) _b.call(toEmit_1);\n }\n finally { if (e_2) throw e_2.error; }\n }\n }\n }, function () {\n var e_3, _a;\n try {\n for (var buffers_2 = __values(buffers), buffers_2_1 = buffers_2.next(); !buffers_2_1.done; buffers_2_1 = buffers_2.next()) {\n var buffer = buffers_2_1.value;\n subscriber.next(buffer);\n }\n }\n catch (e_3_1) { e_3 = { error: e_3_1 }; }\n finally {\n try {\n if (buffers_2_1 && !buffers_2_1.done && (_a = buffers_2.return)) _a.call(buffers_2);\n }\n finally { if (e_3) throw e_3.error; }\n }\n subscriber.complete();\n }, undefined, function () {\n buffers = null;\n }));\n });\n}\nexports.bufferCount = bufferCount;\n//# sourceMappingURL=bufferCount.js.map",
|
|
158
|
+
"\"use strict\";\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.bufferTime = void 0;\nvar Subscription_1 = require(\"../Subscription\");\nvar lift_1 = require(\"../util/lift\");\nvar OperatorSubscriber_1 = require(\"./OperatorSubscriber\");\nvar arrRemove_1 = require(\"../util/arrRemove\");\nvar async_1 = require(\"../scheduler/async\");\nvar args_1 = require(\"../util/args\");\nvar executeSchedule_1 = require(\"../util/executeSchedule\");\nfunction bufferTime(bufferTimeSpan) {\n var _a, _b;\n var otherArgs = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n otherArgs[_i - 1] = arguments[_i];\n }\n var scheduler = (_a = args_1.popScheduler(otherArgs)) !== null && _a !== void 0 ? _a : async_1.asyncScheduler;\n var bufferCreationInterval = (_b = otherArgs[0]) !== null && _b !== void 0 ? _b : null;\n var maxBufferSize = otherArgs[1] || Infinity;\n return lift_1.operate(function (source, subscriber) {\n var bufferRecords = [];\n var restartOnEmit = false;\n var emit = function (record) {\n var buffer = record.buffer, subs = record.subs;\n subs.unsubscribe();\n arrRemove_1.arrRemove(bufferRecords, record);\n subscriber.next(buffer);\n restartOnEmit && startBuffer();\n };\n var startBuffer = function () {\n if (bufferRecords) {\n var subs = new Subscription_1.Subscription();\n subscriber.add(subs);\n var buffer = [];\n var record_1 = {\n buffer: buffer,\n subs: subs,\n };\n bufferRecords.push(record_1);\n executeSchedule_1.executeSchedule(subs, scheduler, function () { return emit(record_1); }, bufferTimeSpan);\n }\n };\n if (bufferCreationInterval !== null && bufferCreationInterval >= 0) {\n executeSchedule_1.executeSchedule(subscriber, scheduler, startBuffer, bufferCreationInterval, true);\n }\n else {\n restartOnEmit = true;\n }\n startBuffer();\n var bufferTimeSubscriber = OperatorSubscriber_1.createOperatorSubscriber(subscriber, function (value) {\n var e_1, _a;\n var recordsCopy = bufferRecords.slice();\n try {\n for (var recordsCopy_1 = __values(recordsCopy), recordsCopy_1_1 = recordsCopy_1.next(); !recordsCopy_1_1.done; recordsCopy_1_1 = recordsCopy_1.next()) {\n var record = recordsCopy_1_1.value;\n var buffer = record.buffer;\n buffer.push(value);\n maxBufferSize <= buffer.length && emit(record);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (recordsCopy_1_1 && !recordsCopy_1_1.done && (_a = recordsCopy_1.return)) _a.call(recordsCopy_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }, function () {\n while (bufferRecords === null || bufferRecords === void 0 ? void 0 : bufferRecords.length) {\n subscriber.next(bufferRecords.shift().buffer);\n }\n bufferTimeSubscriber === null || bufferTimeSubscriber === void 0 ? void 0 : bufferTimeSubscriber.unsubscribe();\n subscriber.complete();\n subscriber.unsubscribe();\n }, undefined, function () { return (bufferRecords = null); });\n source.subscribe(bufferTimeSubscriber);\n });\n}\nexports.bufferTime = bufferTime;\n//# sourceMappingURL=bufferTime.js.map",
|
|
159
|
+
"\"use strict\";\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.bufferToggle = void 0;\nvar Subscription_1 = require(\"../Subscription\");\nvar lift_1 = require(\"../util/lift\");\nvar innerFrom_1 = require(\"../observable/innerFrom\");\nvar OperatorSubscriber_1 = require(\"./OperatorSubscriber\");\nvar noop_1 = require(\"../util/noop\");\nvar arrRemove_1 = require(\"../util/arrRemove\");\nfunction bufferToggle(openings, closingSelector) {\n return lift_1.operate(function (source, subscriber) {\n var buffers = [];\n innerFrom_1.innerFrom(openings).subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function (openValue) {\n var buffer = [];\n buffers.push(buffer);\n var closingSubscription = new Subscription_1.Subscription();\n var emitBuffer = function () {\n arrRemove_1.arrRemove(buffers, buffer);\n subscriber.next(buffer);\n closingSubscription.unsubscribe();\n };\n closingSubscription.add(innerFrom_1.innerFrom(closingSelector(openValue)).subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, emitBuffer, noop_1.noop)));\n }, noop_1.noop));\n source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function (value) {\n var e_1, _a;\n try {\n for (var buffers_1 = __values(buffers), buffers_1_1 = buffers_1.next(); !buffers_1_1.done; buffers_1_1 = buffers_1.next()) {\n var buffer = buffers_1_1.value;\n buffer.push(value);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (buffers_1_1 && !buffers_1_1.done && (_a = buffers_1.return)) _a.call(buffers_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }, function () {\n while (buffers.length > 0) {\n subscriber.next(buffers.shift());\n }\n subscriber.complete();\n }));\n });\n}\nexports.bufferToggle = bufferToggle;\n//# sourceMappingURL=bufferToggle.js.map",
|
|
160
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.bufferWhen = void 0;\nvar lift_1 = require(\"../util/lift\");\nvar noop_1 = require(\"../util/noop\");\nvar OperatorSubscriber_1 = require(\"./OperatorSubscriber\");\nvar innerFrom_1 = require(\"../observable/innerFrom\");\nfunction bufferWhen(closingSelector) {\n return lift_1.operate(function (source, subscriber) {\n var buffer = null;\n var closingSubscriber = null;\n var openBuffer = function () {\n closingSubscriber === null || closingSubscriber === void 0 ? void 0 : closingSubscriber.unsubscribe();\n var b = buffer;\n buffer = [];\n b && subscriber.next(b);\n innerFrom_1.innerFrom(closingSelector()).subscribe((closingSubscriber = OperatorSubscriber_1.createOperatorSubscriber(subscriber, openBuffer, noop_1.noop)));\n };\n openBuffer();\n source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function (value) { return buffer === null || buffer === void 0 ? void 0 : buffer.push(value); }, function () {\n buffer && subscriber.next(buffer);\n subscriber.complete();\n }, undefined, function () { return (buffer = closingSubscriber = null); }));\n });\n}\nexports.bufferWhen = bufferWhen;\n//# sourceMappingURL=bufferWhen.js.map",
|
|
161
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.catchError = void 0;\nvar innerFrom_1 = require(\"../observable/innerFrom\");\nvar OperatorSubscriber_1 = require(\"./OperatorSubscriber\");\nvar lift_1 = require(\"../util/lift\");\nfunction catchError(selector) {\n return lift_1.operate(function (source, subscriber) {\n var innerSub = null;\n var syncUnsub = false;\n var handledResult;\n innerSub = source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, undefined, undefined, function (err) {\n handledResult = innerFrom_1.innerFrom(selector(err, catchError(selector)(source)));\n if (innerSub) {\n innerSub.unsubscribe();\n innerSub = null;\n handledResult.subscribe(subscriber);\n }\n else {\n syncUnsub = true;\n }\n }));\n if (syncUnsub) {\n innerSub.unsubscribe();\n innerSub = null;\n handledResult.subscribe(subscriber);\n }\n });\n}\nexports.catchError = catchError;\n//# sourceMappingURL=catchError.js.map",
|
|
162
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.scanInternals = void 0;\nvar OperatorSubscriber_1 = require(\"./OperatorSubscriber\");\nfunction scanInternals(accumulator, seed, hasSeed, emitOnNext, emitBeforeComplete) {\n return function (source, subscriber) {\n var hasState = hasSeed;\n var state = seed;\n var index = 0;\n source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function (value) {\n var i = index++;\n state = hasState\n ?\n accumulator(state, value, i)\n :\n ((hasState = true), value);\n emitOnNext && subscriber.next(state);\n }, emitBeforeComplete &&\n (function () {\n hasState && subscriber.next(state);\n subscriber.complete();\n })));\n };\n}\nexports.scanInternals = scanInternals;\n//# sourceMappingURL=scanInternals.js.map",
|
|
163
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.reduce = void 0;\nvar scanInternals_1 = require(\"./scanInternals\");\nvar lift_1 = require(\"../util/lift\");\nfunction reduce(accumulator, seed) {\n return lift_1.operate(scanInternals_1.scanInternals(accumulator, seed, arguments.length >= 2, false, true));\n}\nexports.reduce = reduce;\n//# sourceMappingURL=reduce.js.map",
|
|
164
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toArray = void 0;\nvar reduce_1 = require(\"./reduce\");\nvar lift_1 = require(\"../util/lift\");\nvar arrReducer = function (arr, value) { return (arr.push(value), arr); };\nfunction toArray() {\n return lift_1.operate(function (source, subscriber) {\n reduce_1.reduce(arrReducer, [])(source).subscribe(subscriber);\n });\n}\nexports.toArray = toArray;\n//# sourceMappingURL=toArray.js.map",
|
|
165
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.joinAllInternals = void 0;\nvar identity_1 = require(\"../util/identity\");\nvar mapOneOrManyArgs_1 = require(\"../util/mapOneOrManyArgs\");\nvar pipe_1 = require(\"../util/pipe\");\nvar mergeMap_1 = require(\"./mergeMap\");\nvar toArray_1 = require(\"./toArray\");\nfunction joinAllInternals(joinFn, project) {\n return pipe_1.pipe(toArray_1.toArray(), mergeMap_1.mergeMap(function (sources) { return joinFn(sources); }), project ? mapOneOrManyArgs_1.mapOneOrManyArgs(project) : identity_1.identity);\n}\nexports.joinAllInternals = joinAllInternals;\n//# sourceMappingURL=joinAllInternals.js.map",
|
|
166
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.combineLatestAll = void 0;\nvar combineLatest_1 = require(\"../observable/combineLatest\");\nvar joinAllInternals_1 = require(\"./joinAllInternals\");\nfunction combineLatestAll(project) {\n return joinAllInternals_1.joinAllInternals(combineLatest_1.combineLatest, project);\n}\nexports.combineLatestAll = combineLatestAll;\n//# sourceMappingURL=combineLatestAll.js.map",
|
|
167
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.combineAll = void 0;\nvar combineLatestAll_1 = require(\"./combineLatestAll\");\nexports.combineAll = combineLatestAll_1.combineLatestAll;\n//# sourceMappingURL=combineAll.js.map",
|
|
168
|
+
"\"use strict\";\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from) {\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\n to[j] = from[i];\n return to;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.combineLatest = void 0;\nvar combineLatest_1 = require(\"../observable/combineLatest\");\nvar lift_1 = require(\"../util/lift\");\nvar argsOrArgArray_1 = require(\"../util/argsOrArgArray\");\nvar mapOneOrManyArgs_1 = require(\"../util/mapOneOrManyArgs\");\nvar pipe_1 = require(\"../util/pipe\");\nvar args_1 = require(\"../util/args\");\nfunction combineLatest() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var resultSelector = args_1.popResultSelector(args);\n return resultSelector\n ? pipe_1.pipe(combineLatest.apply(void 0, __spreadArray([], __read(args))), mapOneOrManyArgs_1.mapOneOrManyArgs(resultSelector))\n : lift_1.operate(function (source, subscriber) {\n combineLatest_1.combineLatestInit(__spreadArray([source], __read(argsOrArgArray_1.argsOrArgArray(args))))(subscriber);\n });\n}\nexports.combineLatest = combineLatest;\n//# sourceMappingURL=combineLatest.js.map",
|
|
169
|
+
"\"use strict\";\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from) {\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\n to[j] = from[i];\n return to;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.combineLatestWith = void 0;\nvar combineLatest_1 = require(\"./combineLatest\");\nfunction combineLatestWith() {\n var otherSources = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n otherSources[_i] = arguments[_i];\n }\n return combineLatest_1.combineLatest.apply(void 0, __spreadArray([], __read(otherSources)));\n}\nexports.combineLatestWith = combineLatestWith;\n//# sourceMappingURL=combineLatestWith.js.map",
|
|
170
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.concatMap = void 0;\nvar mergeMap_1 = require(\"./mergeMap\");\nvar isFunction_1 = require(\"../util/isFunction\");\nfunction concatMap(project, resultSelector) {\n return isFunction_1.isFunction(resultSelector) ? mergeMap_1.mergeMap(project, resultSelector, 1) : mergeMap_1.mergeMap(project, 1);\n}\nexports.concatMap = concatMap;\n//# sourceMappingURL=concatMap.js.map",
|
|
171
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.concatMapTo = void 0;\nvar concatMap_1 = require(\"./concatMap\");\nvar isFunction_1 = require(\"../util/isFunction\");\nfunction concatMapTo(innerObservable, resultSelector) {\n return isFunction_1.isFunction(resultSelector) ? concatMap_1.concatMap(function () { return innerObservable; }, resultSelector) : concatMap_1.concatMap(function () { return innerObservable; });\n}\nexports.concatMapTo = concatMapTo;\n//# sourceMappingURL=concatMapTo.js.map",
|
|
172
|
+
"\"use strict\";\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from) {\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\n to[j] = from[i];\n return to;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.concat = void 0;\nvar lift_1 = require(\"../util/lift\");\nvar concatAll_1 = require(\"./concatAll\");\nvar args_1 = require(\"../util/args\");\nvar from_1 = require(\"../observable/from\");\nfunction concat() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var scheduler = args_1.popScheduler(args);\n return lift_1.operate(function (source, subscriber) {\n concatAll_1.concatAll()(from_1.from(__spreadArray([source], __read(args)), scheduler)).subscribe(subscriber);\n });\n}\nexports.concat = concat;\n//# sourceMappingURL=concat.js.map",
|
|
173
|
+
"\"use strict\";\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from) {\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\n to[j] = from[i];\n return to;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.concatWith = void 0;\nvar concat_1 = require(\"./concat\");\nfunction concatWith() {\n var otherSources = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n otherSources[_i] = arguments[_i];\n }\n return concat_1.concat.apply(void 0, __spreadArray([], __read(otherSources)));\n}\nexports.concatWith = concatWith;\n//# sourceMappingURL=concatWith.js.map",
|
|
174
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fromSubscribable = void 0;\nvar Observable_1 = require(\"../Observable\");\nfunction fromSubscribable(subscribable) {\n return new Observable_1.Observable(function (subscriber) { return subscribable.subscribe(subscriber); });\n}\nexports.fromSubscribable = fromSubscribable;\n//# sourceMappingURL=fromSubscribable.js.map",
|
|
175
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.connect = void 0;\nvar Subject_1 = require(\"../Subject\");\nvar innerFrom_1 = require(\"../observable/innerFrom\");\nvar lift_1 = require(\"../util/lift\");\nvar fromSubscribable_1 = require(\"../observable/fromSubscribable\");\nvar DEFAULT_CONFIG = {\n connector: function () { return new Subject_1.Subject(); },\n};\nfunction connect(selector, config) {\n if (config === void 0) { config = DEFAULT_CONFIG; }\n var connector = config.connector;\n return lift_1.operate(function (source, subscriber) {\n var subject = connector();\n innerFrom_1.innerFrom(selector(fromSubscribable_1.fromSubscribable(subject))).subscribe(subscriber);\n subscriber.add(source.subscribe(subject));\n });\n}\nexports.connect = connect;\n//# sourceMappingURL=connect.js.map",
|
|
176
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.count = void 0;\nvar reduce_1 = require(\"./reduce\");\nfunction count(predicate) {\n return reduce_1.reduce(function (total, value, i) { return (!predicate || predicate(value, i) ? total + 1 : total); }, 0);\n}\nexports.count = count;\n//# sourceMappingURL=count.js.map",
|
|
177
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.debounce = void 0;\nvar lift_1 = require(\"../util/lift\");\nvar noop_1 = require(\"../util/noop\");\nvar OperatorSubscriber_1 = require(\"./OperatorSubscriber\");\nvar innerFrom_1 = require(\"../observable/innerFrom\");\nfunction debounce(durationSelector) {\n return lift_1.operate(function (source, subscriber) {\n var hasValue = false;\n var lastValue = null;\n var durationSubscriber = null;\n var emit = function () {\n durationSubscriber === null || durationSubscriber === void 0 ? void 0 : durationSubscriber.unsubscribe();\n durationSubscriber = null;\n if (hasValue) {\n hasValue = false;\n var value = lastValue;\n lastValue = null;\n subscriber.next(value);\n }\n };\n source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function (value) {\n durationSubscriber === null || durationSubscriber === void 0 ? void 0 : durationSubscriber.unsubscribe();\n hasValue = true;\n lastValue = value;\n durationSubscriber = OperatorSubscriber_1.createOperatorSubscriber(subscriber, emit, noop_1.noop);\n innerFrom_1.innerFrom(durationSelector(value)).subscribe(durationSubscriber);\n }, function () {\n emit();\n subscriber.complete();\n }, undefined, function () {\n lastValue = durationSubscriber = null;\n }));\n });\n}\nexports.debounce = debounce;\n//# sourceMappingURL=debounce.js.map",
|
|
178
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.debounceTime = void 0;\nvar async_1 = require(\"../scheduler/async\");\nvar lift_1 = require(\"../util/lift\");\nvar OperatorSubscriber_1 = require(\"./OperatorSubscriber\");\nfunction debounceTime(dueTime, scheduler) {\n if (scheduler === void 0) { scheduler = async_1.asyncScheduler; }\n return lift_1.operate(function (source, subscriber) {\n var activeTask = null;\n var lastValue = null;\n var lastTime = null;\n var emit = function () {\n if (activeTask) {\n activeTask.unsubscribe();\n activeTask = null;\n var value = lastValue;\n lastValue = null;\n subscriber.next(value);\n }\n };\n function emitWhenIdle() {\n var targetTime = lastTime + dueTime;\n var now = scheduler.now();\n if (now < targetTime) {\n activeTask = this.schedule(undefined, targetTime - now);\n subscriber.add(activeTask);\n return;\n }\n emit();\n }\n source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function (value) {\n lastValue = value;\n lastTime = scheduler.now();\n if (!activeTask) {\n activeTask = scheduler.schedule(emitWhenIdle, dueTime);\n subscriber.add(activeTask);\n }\n }, function () {\n emit();\n subscriber.complete();\n }, undefined, function () {\n lastValue = activeTask = null;\n }));\n });\n}\nexports.debounceTime = debounceTime;\n//# sourceMappingURL=debounceTime.js.map",
|
|
179
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.defaultIfEmpty = void 0;\nvar lift_1 = require(\"../util/lift\");\nvar OperatorSubscriber_1 = require(\"./OperatorSubscriber\");\nfunction defaultIfEmpty(defaultValue) {\n return lift_1.operate(function (source, subscriber) {\n var hasValue = false;\n source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function (value) {\n hasValue = true;\n subscriber.next(value);\n }, function () {\n if (!hasValue) {\n subscriber.next(defaultValue);\n }\n subscriber.complete();\n }));\n });\n}\nexports.defaultIfEmpty = defaultIfEmpty;\n//# sourceMappingURL=defaultIfEmpty.js.map",
|
|
180
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.take = void 0;\nvar empty_1 = require(\"../observable/empty\");\nvar lift_1 = require(\"../util/lift\");\nvar OperatorSubscriber_1 = require(\"./OperatorSubscriber\");\nfunction take(count) {\n return count <= 0\n ?\n function () { return empty_1.EMPTY; }\n : lift_1.operate(function (source, subscriber) {\n var seen = 0;\n source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function (value) {\n if (++seen <= count) {\n subscriber.next(value);\n if (count <= seen) {\n subscriber.complete();\n }\n }\n }));\n });\n}\nexports.take = take;\n//# sourceMappingURL=take.js.map",
|
|
181
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ignoreElements = void 0;\nvar lift_1 = require(\"../util/lift\");\nvar OperatorSubscriber_1 = require(\"./OperatorSubscriber\");\nvar noop_1 = require(\"../util/noop\");\nfunction ignoreElements() {\n return lift_1.operate(function (source, subscriber) {\n source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, noop_1.noop));\n });\n}\nexports.ignoreElements = ignoreElements;\n//# sourceMappingURL=ignoreElements.js.map",
|
|
182
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.mapTo = void 0;\nvar map_1 = require(\"./map\");\nfunction mapTo(value) {\n return map_1.map(function () { return value; });\n}\nexports.mapTo = mapTo;\n//# sourceMappingURL=mapTo.js.map",
|
|
183
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.delayWhen = void 0;\nvar concat_1 = require(\"../observable/concat\");\nvar take_1 = require(\"./take\");\nvar ignoreElements_1 = require(\"./ignoreElements\");\nvar mapTo_1 = require(\"./mapTo\");\nvar mergeMap_1 = require(\"./mergeMap\");\nvar innerFrom_1 = require(\"../observable/innerFrom\");\nfunction delayWhen(delayDurationSelector, subscriptionDelay) {\n if (subscriptionDelay) {\n return function (source) {\n return concat_1.concat(subscriptionDelay.pipe(take_1.take(1), ignoreElements_1.ignoreElements()), source.pipe(delayWhen(delayDurationSelector)));\n };\n }\n return mergeMap_1.mergeMap(function (value, index) { return innerFrom_1.innerFrom(delayDurationSelector(value, index)).pipe(take_1.take(1), mapTo_1.mapTo(value)); });\n}\nexports.delayWhen = delayWhen;\n//# sourceMappingURL=delayWhen.js.map",
|
|
184
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.delay = void 0;\nvar async_1 = require(\"../scheduler/async\");\nvar delayWhen_1 = require(\"./delayWhen\");\nvar timer_1 = require(\"../observable/timer\");\nfunction delay(due, scheduler) {\n if (scheduler === void 0) { scheduler = async_1.asyncScheduler; }\n var duration = timer_1.timer(due, scheduler);\n return delayWhen_1.delayWhen(function () { return duration; });\n}\nexports.delay = delay;\n//# sourceMappingURL=delay.js.map",
|
|
185
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.dematerialize = void 0;\nvar Notification_1 = require(\"../Notification\");\nvar lift_1 = require(\"../util/lift\");\nvar OperatorSubscriber_1 = require(\"./OperatorSubscriber\");\nfunction dematerialize() {\n return lift_1.operate(function (source, subscriber) {\n source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function (notification) { return Notification_1.observeNotification(notification, subscriber); }));\n });\n}\nexports.dematerialize = dematerialize;\n//# sourceMappingURL=dematerialize.js.map",
|
|
186
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.distinct = void 0;\nvar lift_1 = require(\"../util/lift\");\nvar OperatorSubscriber_1 = require(\"./OperatorSubscriber\");\nvar noop_1 = require(\"../util/noop\");\nvar innerFrom_1 = require(\"../observable/innerFrom\");\nfunction distinct(keySelector, flushes) {\n return lift_1.operate(function (source, subscriber) {\n var distinctKeys = new Set();\n source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function (value) {\n var key = keySelector ? keySelector(value) : value;\n if (!distinctKeys.has(key)) {\n distinctKeys.add(key);\n subscriber.next(value);\n }\n }));\n flushes && innerFrom_1.innerFrom(flushes).subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function () { return distinctKeys.clear(); }, noop_1.noop));\n });\n}\nexports.distinct = distinct;\n//# sourceMappingURL=distinct.js.map",
|
|
187
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.distinctUntilChanged = void 0;\nvar identity_1 = require(\"../util/identity\");\nvar lift_1 = require(\"../util/lift\");\nvar OperatorSubscriber_1 = require(\"./OperatorSubscriber\");\nfunction distinctUntilChanged(comparator, keySelector) {\n if (keySelector === void 0) { keySelector = identity_1.identity; }\n comparator = comparator !== null && comparator !== void 0 ? comparator : defaultCompare;\n return lift_1.operate(function (source, subscriber) {\n var previousKey;\n var first = true;\n source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function (value) {\n var currentKey = keySelector(value);\n if (first || !comparator(previousKey, currentKey)) {\n first = false;\n previousKey = currentKey;\n subscriber.next(value);\n }\n }));\n });\n}\nexports.distinctUntilChanged = distinctUntilChanged;\nfunction defaultCompare(a, b) {\n return a === b;\n}\n//# sourceMappingURL=distinctUntilChanged.js.map",
|
|
188
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.distinctUntilKeyChanged = void 0;\nvar distinctUntilChanged_1 = require(\"./distinctUntilChanged\");\nfunction distinctUntilKeyChanged(key, compare) {\n return distinctUntilChanged_1.distinctUntilChanged(function (x, y) { return (compare ? compare(x[key], y[key]) : x[key] === y[key]); });\n}\nexports.distinctUntilKeyChanged = distinctUntilKeyChanged;\n//# sourceMappingURL=distinctUntilKeyChanged.js.map",
|
|
189
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.throwIfEmpty = void 0;\nvar EmptyError_1 = require(\"../util/EmptyError\");\nvar lift_1 = require(\"../util/lift\");\nvar OperatorSubscriber_1 = require(\"./OperatorSubscriber\");\nfunction throwIfEmpty(errorFactory) {\n if (errorFactory === void 0) { errorFactory = defaultErrorFactory; }\n return lift_1.operate(function (source, subscriber) {\n var hasValue = false;\n source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function (value) {\n hasValue = true;\n subscriber.next(value);\n }, function () { return (hasValue ? subscriber.complete() : subscriber.error(errorFactory())); }));\n });\n}\nexports.throwIfEmpty = throwIfEmpty;\nfunction defaultErrorFactory() {\n return new EmptyError_1.EmptyError();\n}\n//# sourceMappingURL=throwIfEmpty.js.map",
|
|
190
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.elementAt = void 0;\nvar ArgumentOutOfRangeError_1 = require(\"../util/ArgumentOutOfRangeError\");\nvar filter_1 = require(\"./filter\");\nvar throwIfEmpty_1 = require(\"./throwIfEmpty\");\nvar defaultIfEmpty_1 = require(\"./defaultIfEmpty\");\nvar take_1 = require(\"./take\");\nfunction elementAt(index, defaultValue) {\n if (index < 0) {\n throw new ArgumentOutOfRangeError_1.ArgumentOutOfRangeError();\n }\n var hasDefaultValue = arguments.length >= 2;\n return function (source) {\n return source.pipe(filter_1.filter(function (v, i) { return i === index; }), take_1.take(1), hasDefaultValue ? defaultIfEmpty_1.defaultIfEmpty(defaultValue) : throwIfEmpty_1.throwIfEmpty(function () { return new ArgumentOutOfRangeError_1.ArgumentOutOfRangeError(); }));\n };\n}\nexports.elementAt = elementAt;\n//# sourceMappingURL=elementAt.js.map",
|
|
191
|
+
"\"use strict\";\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from) {\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\n to[j] = from[i];\n return to;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.endWith = void 0;\nvar concat_1 = require(\"../observable/concat\");\nvar of_1 = require(\"../observable/of\");\nfunction endWith() {\n var values = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n values[_i] = arguments[_i];\n }\n return function (source) { return concat_1.concat(source, of_1.of.apply(void 0, __spreadArray([], __read(values)))); };\n}\nexports.endWith = endWith;\n//# sourceMappingURL=endWith.js.map",
|
|
192
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.every = void 0;\nvar lift_1 = require(\"../util/lift\");\nvar OperatorSubscriber_1 = require(\"./OperatorSubscriber\");\nfunction every(predicate, thisArg) {\n return lift_1.operate(function (source, subscriber) {\n var index = 0;\n source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function (value) {\n if (!predicate.call(thisArg, value, index++, source)) {\n subscriber.next(false);\n subscriber.complete();\n }\n }, function () {\n subscriber.next(true);\n subscriber.complete();\n }));\n });\n}\nexports.every = every;\n//# sourceMappingURL=every.js.map",
|
|
193
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.exhaustMap = void 0;\nvar map_1 = require(\"./map\");\nvar innerFrom_1 = require(\"../observable/innerFrom\");\nvar lift_1 = require(\"../util/lift\");\nvar OperatorSubscriber_1 = require(\"./OperatorSubscriber\");\nfunction exhaustMap(project, resultSelector) {\n if (resultSelector) {\n return function (source) {\n return source.pipe(exhaustMap(function (a, i) { return innerFrom_1.innerFrom(project(a, i)).pipe(map_1.map(function (b, ii) { return resultSelector(a, b, i, ii); })); }));\n };\n }\n return lift_1.operate(function (source, subscriber) {\n var index = 0;\n var innerSub = null;\n var isComplete = false;\n source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function (outerValue) {\n if (!innerSub) {\n innerSub = OperatorSubscriber_1.createOperatorSubscriber(subscriber, undefined, function () {\n innerSub = null;\n isComplete && subscriber.complete();\n });\n innerFrom_1.innerFrom(project(outerValue, index++)).subscribe(innerSub);\n }\n }, function () {\n isComplete = true;\n !innerSub && subscriber.complete();\n }));\n });\n}\nexports.exhaustMap = exhaustMap;\n//# sourceMappingURL=exhaustMap.js.map",
|
|
194
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.exhaustAll = void 0;\nvar exhaustMap_1 = require(\"./exhaustMap\");\nvar identity_1 = require(\"../util/identity\");\nfunction exhaustAll() {\n return exhaustMap_1.exhaustMap(identity_1.identity);\n}\nexports.exhaustAll = exhaustAll;\n//# sourceMappingURL=exhaustAll.js.map",
|
|
195
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.exhaust = void 0;\nvar exhaustAll_1 = require(\"./exhaustAll\");\nexports.exhaust = exhaustAll_1.exhaustAll;\n//# sourceMappingURL=exhaust.js.map",
|
|
196
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.expand = void 0;\nvar lift_1 = require(\"../util/lift\");\nvar mergeInternals_1 = require(\"./mergeInternals\");\nfunction expand(project, concurrent, scheduler) {\n if (concurrent === void 0) { concurrent = Infinity; }\n concurrent = (concurrent || 0) < 1 ? Infinity : concurrent;\n return lift_1.operate(function (source, subscriber) {\n return mergeInternals_1.mergeInternals(source, subscriber, project, concurrent, undefined, true, scheduler);\n });\n}\nexports.expand = expand;\n//# sourceMappingURL=expand.js.map",
|
|
197
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.finalize = void 0;\nvar lift_1 = require(\"../util/lift\");\nfunction finalize(callback) {\n return lift_1.operate(function (source, subscriber) {\n try {\n source.subscribe(subscriber);\n }\n finally {\n subscriber.add(callback);\n }\n });\n}\nexports.finalize = finalize;\n//# sourceMappingURL=finalize.js.map",
|
|
198
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createFind = exports.find = void 0;\nvar lift_1 = require(\"../util/lift\");\nvar OperatorSubscriber_1 = require(\"./OperatorSubscriber\");\nfunction find(predicate, thisArg) {\n return lift_1.operate(createFind(predicate, thisArg, 'value'));\n}\nexports.find = find;\nfunction createFind(predicate, thisArg, emit) {\n var findIndex = emit === 'index';\n return function (source, subscriber) {\n var index = 0;\n source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function (value) {\n var i = index++;\n if (predicate.call(thisArg, value, i, source)) {\n subscriber.next(findIndex ? i : value);\n subscriber.complete();\n }\n }, function () {\n subscriber.next(findIndex ? -1 : undefined);\n subscriber.complete();\n }));\n };\n}\nexports.createFind = createFind;\n//# sourceMappingURL=find.js.map",
|
|
199
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.findIndex = void 0;\nvar lift_1 = require(\"../util/lift\");\nvar find_1 = require(\"./find\");\nfunction findIndex(predicate, thisArg) {\n return lift_1.operate(find_1.createFind(predicate, thisArg, 'index'));\n}\nexports.findIndex = findIndex;\n//# sourceMappingURL=findIndex.js.map",
|
|
200
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.first = void 0;\nvar EmptyError_1 = require(\"../util/EmptyError\");\nvar filter_1 = require(\"./filter\");\nvar take_1 = require(\"./take\");\nvar defaultIfEmpty_1 = require(\"./defaultIfEmpty\");\nvar throwIfEmpty_1 = require(\"./throwIfEmpty\");\nvar identity_1 = require(\"../util/identity\");\nfunction first(predicate, defaultValue) {\n var hasDefaultValue = arguments.length >= 2;\n return function (source) {\n return source.pipe(predicate ? filter_1.filter(function (v, i) { return predicate(v, i, source); }) : identity_1.identity, take_1.take(1), hasDefaultValue ? defaultIfEmpty_1.defaultIfEmpty(defaultValue) : throwIfEmpty_1.throwIfEmpty(function () { return new EmptyError_1.EmptyError(); }));\n };\n}\nexports.first = first;\n//# sourceMappingURL=first.js.map",
|
|
201
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.groupBy = void 0;\nvar Observable_1 = require(\"../Observable\");\nvar innerFrom_1 = require(\"../observable/innerFrom\");\nvar Subject_1 = require(\"../Subject\");\nvar lift_1 = require(\"../util/lift\");\nvar OperatorSubscriber_1 = require(\"./OperatorSubscriber\");\nfunction groupBy(keySelector, elementOrOptions, duration, connector) {\n return lift_1.operate(function (source, subscriber) {\n var element;\n if (!elementOrOptions || typeof elementOrOptions === 'function') {\n element = elementOrOptions;\n }\n else {\n (duration = elementOrOptions.duration, element = elementOrOptions.element, connector = elementOrOptions.connector);\n }\n var groups = new Map();\n var notify = function (cb) {\n groups.forEach(cb);\n cb(subscriber);\n };\n var handleError = function (err) { return notify(function (consumer) { return consumer.error(err); }); };\n var activeGroups = 0;\n var teardownAttempted = false;\n var groupBySourceSubscriber = new OperatorSubscriber_1.OperatorSubscriber(subscriber, function (value) {\n try {\n var key_1 = keySelector(value);\n var group_1 = groups.get(key_1);\n if (!group_1) {\n groups.set(key_1, (group_1 = connector ? connector() : new Subject_1.Subject()));\n var grouped = createGroupedObservable(key_1, group_1);\n subscriber.next(grouped);\n if (duration) {\n var durationSubscriber_1 = OperatorSubscriber_1.createOperatorSubscriber(group_1, function () {\n group_1.complete();\n durationSubscriber_1 === null || durationSubscriber_1 === void 0 ? void 0 : durationSubscriber_1.unsubscribe();\n }, undefined, undefined, function () { return groups.delete(key_1); });\n groupBySourceSubscriber.add(innerFrom_1.innerFrom(duration(grouped)).subscribe(durationSubscriber_1));\n }\n }\n group_1.next(element ? element(value) : value);\n }\n catch (err) {\n handleError(err);\n }\n }, function () { return notify(function (consumer) { return consumer.complete(); }); }, handleError, function () { return groups.clear(); }, function () {\n teardownAttempted = true;\n return activeGroups === 0;\n });\n source.subscribe(groupBySourceSubscriber);\n function createGroupedObservable(key, groupSubject) {\n var result = new Observable_1.Observable(function (groupSubscriber) {\n activeGroups++;\n var innerSub = groupSubject.subscribe(groupSubscriber);\n return function () {\n innerSub.unsubscribe();\n --activeGroups === 0 && teardownAttempted && groupBySourceSubscriber.unsubscribe();\n };\n });\n result.key = key;\n return result;\n }\n });\n}\nexports.groupBy = groupBy;\n//# sourceMappingURL=groupBy.js.map",
|
|
202
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isEmpty = void 0;\nvar lift_1 = require(\"../util/lift\");\nvar OperatorSubscriber_1 = require(\"./OperatorSubscriber\");\nfunction isEmpty() {\n return lift_1.operate(function (source, subscriber) {\n source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function () {\n subscriber.next(false);\n subscriber.complete();\n }, function () {\n subscriber.next(true);\n subscriber.complete();\n }));\n });\n}\nexports.isEmpty = isEmpty;\n//# sourceMappingURL=isEmpty.js.map",
|
|
203
|
+
"\"use strict\";\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.takeLast = void 0;\nvar empty_1 = require(\"../observable/empty\");\nvar lift_1 = require(\"../util/lift\");\nvar OperatorSubscriber_1 = require(\"./OperatorSubscriber\");\nfunction takeLast(count) {\n return count <= 0\n ? function () { return empty_1.EMPTY; }\n : lift_1.operate(function (source, subscriber) {\n var buffer = [];\n source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function (value) {\n buffer.push(value);\n count < buffer.length && buffer.shift();\n }, function () {\n var e_1, _a;\n try {\n for (var buffer_1 = __values(buffer), buffer_1_1 = buffer_1.next(); !buffer_1_1.done; buffer_1_1 = buffer_1.next()) {\n var value = buffer_1_1.value;\n subscriber.next(value);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (buffer_1_1 && !buffer_1_1.done && (_a = buffer_1.return)) _a.call(buffer_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n subscriber.complete();\n }, undefined, function () {\n buffer = null;\n }));\n });\n}\nexports.takeLast = takeLast;\n//# sourceMappingURL=takeLast.js.map",
|
|
204
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.last = void 0;\nvar EmptyError_1 = require(\"../util/EmptyError\");\nvar filter_1 = require(\"./filter\");\nvar takeLast_1 = require(\"./takeLast\");\nvar throwIfEmpty_1 = require(\"./throwIfEmpty\");\nvar defaultIfEmpty_1 = require(\"./defaultIfEmpty\");\nvar identity_1 = require(\"../util/identity\");\nfunction last(predicate, defaultValue) {\n var hasDefaultValue = arguments.length >= 2;\n return function (source) {\n return source.pipe(predicate ? filter_1.filter(function (v, i) { return predicate(v, i, source); }) : identity_1.identity, takeLast_1.takeLast(1), hasDefaultValue ? defaultIfEmpty_1.defaultIfEmpty(defaultValue) : throwIfEmpty_1.throwIfEmpty(function () { return new EmptyError_1.EmptyError(); }));\n };\n}\nexports.last = last;\n//# sourceMappingURL=last.js.map",
|
|
205
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.materialize = void 0;\nvar Notification_1 = require(\"../Notification\");\nvar lift_1 = require(\"../util/lift\");\nvar OperatorSubscriber_1 = require(\"./OperatorSubscriber\");\nfunction materialize() {\n return lift_1.operate(function (source, subscriber) {\n source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function (value) {\n subscriber.next(Notification_1.Notification.createNext(value));\n }, function () {\n subscriber.next(Notification_1.Notification.createComplete());\n subscriber.complete();\n }, function (err) {\n subscriber.next(Notification_1.Notification.createError(err));\n subscriber.complete();\n }));\n });\n}\nexports.materialize = materialize;\n//# sourceMappingURL=materialize.js.map",
|
|
206
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.max = void 0;\nvar reduce_1 = require(\"./reduce\");\nvar isFunction_1 = require(\"../util/isFunction\");\nfunction max(comparer) {\n return reduce_1.reduce(isFunction_1.isFunction(comparer) ? function (x, y) { return (comparer(x, y) > 0 ? x : y); } : function (x, y) { return (x > y ? x : y); });\n}\nexports.max = max;\n//# sourceMappingURL=max.js.map",
|
|
207
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.flatMap = void 0;\nvar mergeMap_1 = require(\"./mergeMap\");\nexports.flatMap = mergeMap_1.mergeMap;\n//# sourceMappingURL=flatMap.js.map",
|
|
208
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.mergeMapTo = void 0;\nvar mergeMap_1 = require(\"./mergeMap\");\nvar isFunction_1 = require(\"../util/isFunction\");\nfunction mergeMapTo(innerObservable, resultSelector, concurrent) {\n if (concurrent === void 0) { concurrent = Infinity; }\n if (isFunction_1.isFunction(resultSelector)) {\n return mergeMap_1.mergeMap(function () { return innerObservable; }, resultSelector, concurrent);\n }\n if (typeof resultSelector === 'number') {\n concurrent = resultSelector;\n }\n return mergeMap_1.mergeMap(function () { return innerObservable; }, concurrent);\n}\nexports.mergeMapTo = mergeMapTo;\n//# sourceMappingURL=mergeMapTo.js.map",
|
|
209
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.mergeScan = void 0;\nvar lift_1 = require(\"../util/lift\");\nvar mergeInternals_1 = require(\"./mergeInternals\");\nfunction mergeScan(accumulator, seed, concurrent) {\n if (concurrent === void 0) { concurrent = Infinity; }\n return lift_1.operate(function (source, subscriber) {\n var state = seed;\n return mergeInternals_1.mergeInternals(source, subscriber, function (value, index) { return accumulator(state, value, index); }, concurrent, function (value) {\n state = value;\n }, false, undefined, function () { return (state = null); });\n });\n}\nexports.mergeScan = mergeScan;\n//# sourceMappingURL=mergeScan.js.map",
|
|
210
|
+
"\"use strict\";\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from) {\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\n to[j] = from[i];\n return to;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.merge = void 0;\nvar lift_1 = require(\"../util/lift\");\nvar mergeAll_1 = require(\"./mergeAll\");\nvar args_1 = require(\"../util/args\");\nvar from_1 = require(\"../observable/from\");\nfunction merge() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var scheduler = args_1.popScheduler(args);\n var concurrent = args_1.popNumber(args, Infinity);\n return lift_1.operate(function (source, subscriber) {\n mergeAll_1.mergeAll(concurrent)(from_1.from(__spreadArray([source], __read(args)), scheduler)).subscribe(subscriber);\n });\n}\nexports.merge = merge;\n//# sourceMappingURL=merge.js.map",
|
|
211
|
+
"\"use strict\";\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from) {\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\n to[j] = from[i];\n return to;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.mergeWith = void 0;\nvar merge_1 = require(\"./merge\");\nfunction mergeWith() {\n var otherSources = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n otherSources[_i] = arguments[_i];\n }\n return merge_1.merge.apply(void 0, __spreadArray([], __read(otherSources)));\n}\nexports.mergeWith = mergeWith;\n//# sourceMappingURL=mergeWith.js.map",
|
|
212
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.min = void 0;\nvar reduce_1 = require(\"./reduce\");\nvar isFunction_1 = require(\"../util/isFunction\");\nfunction min(comparer) {\n return reduce_1.reduce(isFunction_1.isFunction(comparer) ? function (x, y) { return (comparer(x, y) < 0 ? x : y); } : function (x, y) { return (x < y ? x : y); });\n}\nexports.min = min;\n//# sourceMappingURL=min.js.map",
|
|
213
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.multicast = void 0;\nvar ConnectableObservable_1 = require(\"../observable/ConnectableObservable\");\nvar isFunction_1 = require(\"../util/isFunction\");\nvar connect_1 = require(\"./connect\");\nfunction multicast(subjectOrSubjectFactory, selector) {\n var subjectFactory = isFunction_1.isFunction(subjectOrSubjectFactory) ? subjectOrSubjectFactory : function () { return subjectOrSubjectFactory; };\n if (isFunction_1.isFunction(selector)) {\n return connect_1.connect(selector, {\n connector: subjectFactory,\n });\n }\n return function (source) { return new ConnectableObservable_1.ConnectableObservable(source, subjectFactory); };\n}\nexports.multicast = multicast;\n//# sourceMappingURL=multicast.js.map",
|
|
214
|
+
"\"use strict\";\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from) {\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\n to[j] = from[i];\n return to;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.onErrorResumeNext = exports.onErrorResumeNextWith = void 0;\nvar argsOrArgArray_1 = require(\"../util/argsOrArgArray\");\nvar onErrorResumeNext_1 = require(\"../observable/onErrorResumeNext\");\nfunction onErrorResumeNextWith() {\n var sources = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n sources[_i] = arguments[_i];\n }\n var nextSources = argsOrArgArray_1.argsOrArgArray(sources);\n return function (source) { return onErrorResumeNext_1.onErrorResumeNext.apply(void 0, __spreadArray([source], __read(nextSources))); };\n}\nexports.onErrorResumeNextWith = onErrorResumeNextWith;\nexports.onErrorResumeNext = onErrorResumeNextWith;\n//# sourceMappingURL=onErrorResumeNextWith.js.map",
|
|
215
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.pairwise = void 0;\nvar lift_1 = require(\"../util/lift\");\nvar OperatorSubscriber_1 = require(\"./OperatorSubscriber\");\nfunction pairwise() {\n return lift_1.operate(function (source, subscriber) {\n var prev;\n var hasPrev = false;\n source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function (value) {\n var p = prev;\n prev = value;\n hasPrev && subscriber.next([p, value]);\n hasPrev = true;\n }));\n });\n}\nexports.pairwise = pairwise;\n//# sourceMappingURL=pairwise.js.map",
|
|
216
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.pluck = void 0;\nvar map_1 = require(\"./map\");\nfunction pluck() {\n var properties = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n properties[_i] = arguments[_i];\n }\n var length = properties.length;\n if (length === 0) {\n throw new Error('list of properties cannot be empty.');\n }\n return map_1.map(function (x) {\n var currentProp = x;\n for (var i = 0; i < length; i++) {\n var p = currentProp === null || currentProp === void 0 ? void 0 : currentProp[properties[i]];\n if (typeof p !== 'undefined') {\n currentProp = p;\n }\n else {\n return undefined;\n }\n }\n return currentProp;\n });\n}\nexports.pluck = pluck;\n//# sourceMappingURL=pluck.js.map",
|
|
217
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.publish = void 0;\nvar Subject_1 = require(\"../Subject\");\nvar multicast_1 = require(\"./multicast\");\nvar connect_1 = require(\"./connect\");\nfunction publish(selector) {\n return selector ? function (source) { return connect_1.connect(selector)(source); } : function (source) { return multicast_1.multicast(new Subject_1.Subject())(source); };\n}\nexports.publish = publish;\n//# sourceMappingURL=publish.js.map",
|
|
218
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.publishBehavior = void 0;\nvar BehaviorSubject_1 = require(\"../BehaviorSubject\");\nvar ConnectableObservable_1 = require(\"../observable/ConnectableObservable\");\nfunction publishBehavior(initialValue) {\n return function (source) {\n var subject = new BehaviorSubject_1.BehaviorSubject(initialValue);\n return new ConnectableObservable_1.ConnectableObservable(source, function () { return subject; });\n };\n}\nexports.publishBehavior = publishBehavior;\n//# sourceMappingURL=publishBehavior.js.map",
|
|
219
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.publishLast = void 0;\nvar AsyncSubject_1 = require(\"../AsyncSubject\");\nvar ConnectableObservable_1 = require(\"../observable/ConnectableObservable\");\nfunction publishLast() {\n return function (source) {\n var subject = new AsyncSubject_1.AsyncSubject();\n return new ConnectableObservable_1.ConnectableObservable(source, function () { return subject; });\n };\n}\nexports.publishLast = publishLast;\n//# sourceMappingURL=publishLast.js.map",
|
|
220
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.publishReplay = void 0;\nvar ReplaySubject_1 = require(\"../ReplaySubject\");\nvar multicast_1 = require(\"./multicast\");\nvar isFunction_1 = require(\"../util/isFunction\");\nfunction publishReplay(bufferSize, windowTime, selectorOrScheduler, timestampProvider) {\n if (selectorOrScheduler && !isFunction_1.isFunction(selectorOrScheduler)) {\n timestampProvider = selectorOrScheduler;\n }\n var selector = isFunction_1.isFunction(selectorOrScheduler) ? selectorOrScheduler : undefined;\n return function (source) { return multicast_1.multicast(new ReplaySubject_1.ReplaySubject(bufferSize, windowTime, timestampProvider), selector)(source); };\n}\nexports.publishReplay = publishReplay;\n//# sourceMappingURL=publishReplay.js.map",
|
|
221
|
+
"\"use strict\";\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from) {\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\n to[j] = from[i];\n return to;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.raceWith = void 0;\nvar race_1 = require(\"../observable/race\");\nvar lift_1 = require(\"../util/lift\");\nvar identity_1 = require(\"../util/identity\");\nfunction raceWith() {\n var otherSources = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n otherSources[_i] = arguments[_i];\n }\n return !otherSources.length\n ? identity_1.identity\n : lift_1.operate(function (source, subscriber) {\n race_1.raceInit(__spreadArray([source], __read(otherSources)))(subscriber);\n });\n}\nexports.raceWith = raceWith;\n//# sourceMappingURL=raceWith.js.map",
|
|
222
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.repeat = void 0;\nvar empty_1 = require(\"../observable/empty\");\nvar lift_1 = require(\"../util/lift\");\nvar OperatorSubscriber_1 = require(\"./OperatorSubscriber\");\nvar innerFrom_1 = require(\"../observable/innerFrom\");\nvar timer_1 = require(\"../observable/timer\");\nfunction repeat(countOrConfig) {\n var _a;\n var count = Infinity;\n var delay;\n if (countOrConfig != null) {\n if (typeof countOrConfig === 'object') {\n (_a = countOrConfig.count, count = _a === void 0 ? Infinity : _a, delay = countOrConfig.delay);\n }\n else {\n count = countOrConfig;\n }\n }\n return count <= 0\n ? function () { return empty_1.EMPTY; }\n : lift_1.operate(function (source, subscriber) {\n var soFar = 0;\n var sourceSub;\n var resubscribe = function () {\n sourceSub === null || sourceSub === void 0 ? void 0 : sourceSub.unsubscribe();\n sourceSub = null;\n if (delay != null) {\n var notifier = typeof delay === 'number' ? timer_1.timer(delay) : innerFrom_1.innerFrom(delay(soFar));\n var notifierSubscriber_1 = OperatorSubscriber_1.createOperatorSubscriber(subscriber, function () {\n notifierSubscriber_1.unsubscribe();\n subscribeToSource();\n });\n notifier.subscribe(notifierSubscriber_1);\n }\n else {\n subscribeToSource();\n }\n };\n var subscribeToSource = function () {\n var syncUnsub = false;\n sourceSub = source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, undefined, function () {\n if (++soFar < count) {\n if (sourceSub) {\n resubscribe();\n }\n else {\n syncUnsub = true;\n }\n }\n else {\n subscriber.complete();\n }\n }));\n if (syncUnsub) {\n resubscribe();\n }\n };\n subscribeToSource();\n });\n}\nexports.repeat = repeat;\n//# sourceMappingURL=repeat.js.map",
|
|
223
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.repeatWhen = void 0;\nvar innerFrom_1 = require(\"../observable/innerFrom\");\nvar Subject_1 = require(\"../Subject\");\nvar lift_1 = require(\"../util/lift\");\nvar OperatorSubscriber_1 = require(\"./OperatorSubscriber\");\nfunction repeatWhen(notifier) {\n return lift_1.operate(function (source, subscriber) {\n var innerSub;\n var syncResub = false;\n var completions$;\n var isNotifierComplete = false;\n var isMainComplete = false;\n var checkComplete = function () { return isMainComplete && isNotifierComplete && (subscriber.complete(), true); };\n var getCompletionSubject = function () {\n if (!completions$) {\n completions$ = new Subject_1.Subject();\n innerFrom_1.innerFrom(notifier(completions$)).subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function () {\n if (innerSub) {\n subscribeForRepeatWhen();\n }\n else {\n syncResub = true;\n }\n }, function () {\n isNotifierComplete = true;\n checkComplete();\n }));\n }\n return completions$;\n };\n var subscribeForRepeatWhen = function () {\n isMainComplete = false;\n innerSub = source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, undefined, function () {\n isMainComplete = true;\n !checkComplete() && getCompletionSubject().next();\n }));\n if (syncResub) {\n innerSub.unsubscribe();\n innerSub = null;\n syncResub = false;\n subscribeForRepeatWhen();\n }\n };\n subscribeForRepeatWhen();\n });\n}\nexports.repeatWhen = repeatWhen;\n//# sourceMappingURL=repeatWhen.js.map",
|
|
224
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.retry = void 0;\nvar lift_1 = require(\"../util/lift\");\nvar OperatorSubscriber_1 = require(\"./OperatorSubscriber\");\nvar identity_1 = require(\"../util/identity\");\nvar timer_1 = require(\"../observable/timer\");\nvar innerFrom_1 = require(\"../observable/innerFrom\");\nfunction retry(configOrCount) {\n if (configOrCount === void 0) { configOrCount = Infinity; }\n var config;\n if (configOrCount && typeof configOrCount === 'object') {\n config = configOrCount;\n }\n else {\n config = {\n count: configOrCount,\n };\n }\n var _a = config.count, count = _a === void 0 ? Infinity : _a, delay = config.delay, _b = config.resetOnSuccess, resetOnSuccess = _b === void 0 ? false : _b;\n return count <= 0\n ? identity_1.identity\n : lift_1.operate(function (source, subscriber) {\n var soFar = 0;\n var innerSub;\n var subscribeForRetry = function () {\n var syncUnsub = false;\n innerSub = source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function (value) {\n if (resetOnSuccess) {\n soFar = 0;\n }\n subscriber.next(value);\n }, undefined, function (err) {\n if (soFar++ < count) {\n var resub_1 = function () {\n if (innerSub) {\n innerSub.unsubscribe();\n innerSub = null;\n subscribeForRetry();\n }\n else {\n syncUnsub = true;\n }\n };\n if (delay != null) {\n var notifier = typeof delay === 'number' ? timer_1.timer(delay) : innerFrom_1.innerFrom(delay(err, soFar));\n var notifierSubscriber_1 = OperatorSubscriber_1.createOperatorSubscriber(subscriber, function () {\n notifierSubscriber_1.unsubscribe();\n resub_1();\n }, function () {\n subscriber.complete();\n });\n notifier.subscribe(notifierSubscriber_1);\n }\n else {\n resub_1();\n }\n }\n else {\n subscriber.error(err);\n }\n }));\n if (syncUnsub) {\n innerSub.unsubscribe();\n innerSub = null;\n subscribeForRetry();\n }\n };\n subscribeForRetry();\n });\n}\nexports.retry = retry;\n//# sourceMappingURL=retry.js.map",
|
|
225
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.retryWhen = void 0;\nvar innerFrom_1 = require(\"../observable/innerFrom\");\nvar Subject_1 = require(\"../Subject\");\nvar lift_1 = require(\"../util/lift\");\nvar OperatorSubscriber_1 = require(\"./OperatorSubscriber\");\nfunction retryWhen(notifier) {\n return lift_1.operate(function (source, subscriber) {\n var innerSub;\n var syncResub = false;\n var errors$;\n var subscribeForRetryWhen = function () {\n innerSub = source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, undefined, undefined, function (err) {\n if (!errors$) {\n errors$ = new Subject_1.Subject();\n innerFrom_1.innerFrom(notifier(errors$)).subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function () {\n return innerSub ? subscribeForRetryWhen() : (syncResub = true);\n }));\n }\n if (errors$) {\n errors$.next(err);\n }\n }));\n if (syncResub) {\n innerSub.unsubscribe();\n innerSub = null;\n syncResub = false;\n subscribeForRetryWhen();\n }\n };\n subscribeForRetryWhen();\n });\n}\nexports.retryWhen = retryWhen;\n//# sourceMappingURL=retryWhen.js.map",
|
|
226
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.sample = void 0;\nvar innerFrom_1 = require(\"../observable/innerFrom\");\nvar lift_1 = require(\"../util/lift\");\nvar noop_1 = require(\"../util/noop\");\nvar OperatorSubscriber_1 = require(\"./OperatorSubscriber\");\nfunction sample(notifier) {\n return lift_1.operate(function (source, subscriber) {\n var hasValue = false;\n var lastValue = null;\n source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function (value) {\n hasValue = true;\n lastValue = value;\n }));\n innerFrom_1.innerFrom(notifier).subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function () {\n if (hasValue) {\n hasValue = false;\n var value = lastValue;\n lastValue = null;\n subscriber.next(value);\n }\n }, noop_1.noop));\n });\n}\nexports.sample = sample;\n//# sourceMappingURL=sample.js.map",
|
|
227
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.sampleTime = void 0;\nvar async_1 = require(\"../scheduler/async\");\nvar sample_1 = require(\"./sample\");\nvar interval_1 = require(\"../observable/interval\");\nfunction sampleTime(period, scheduler) {\n if (scheduler === void 0) { scheduler = async_1.asyncScheduler; }\n return sample_1.sample(interval_1.interval(period, scheduler));\n}\nexports.sampleTime = sampleTime;\n//# sourceMappingURL=sampleTime.js.map",
|
|
228
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.scan = void 0;\nvar lift_1 = require(\"../util/lift\");\nvar scanInternals_1 = require(\"./scanInternals\");\nfunction scan(accumulator, seed) {\n return lift_1.operate(scanInternals_1.scanInternals(accumulator, seed, arguments.length >= 2, true));\n}\nexports.scan = scan;\n//# sourceMappingURL=scan.js.map",
|
|
229
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.sequenceEqual = void 0;\nvar lift_1 = require(\"../util/lift\");\nvar OperatorSubscriber_1 = require(\"./OperatorSubscriber\");\nvar innerFrom_1 = require(\"../observable/innerFrom\");\nfunction sequenceEqual(compareTo, comparator) {\n if (comparator === void 0) { comparator = function (a, b) { return a === b; }; }\n return lift_1.operate(function (source, subscriber) {\n var aState = createState();\n var bState = createState();\n var emit = function (isEqual) {\n subscriber.next(isEqual);\n subscriber.complete();\n };\n var createSubscriber = function (selfState, otherState) {\n var sequenceEqualSubscriber = OperatorSubscriber_1.createOperatorSubscriber(subscriber, function (a) {\n var buffer = otherState.buffer, complete = otherState.complete;\n if (buffer.length === 0) {\n complete ? emit(false) : selfState.buffer.push(a);\n }\n else {\n !comparator(a, buffer.shift()) && emit(false);\n }\n }, function () {\n selfState.complete = true;\n var complete = otherState.complete, buffer = otherState.buffer;\n complete && emit(buffer.length === 0);\n sequenceEqualSubscriber === null || sequenceEqualSubscriber === void 0 ? void 0 : sequenceEqualSubscriber.unsubscribe();\n });\n return sequenceEqualSubscriber;\n };\n source.subscribe(createSubscriber(aState, bState));\n innerFrom_1.innerFrom(compareTo).subscribe(createSubscriber(bState, aState));\n });\n}\nexports.sequenceEqual = sequenceEqual;\nfunction createState() {\n return {\n buffer: [],\n complete: false,\n };\n}\n//# sourceMappingURL=sequenceEqual.js.map",
|
|
230
|
+
"\"use strict\";\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from) {\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\n to[j] = from[i];\n return to;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.share = void 0;\nvar innerFrom_1 = require(\"../observable/innerFrom\");\nvar Subject_1 = require(\"../Subject\");\nvar Subscriber_1 = require(\"../Subscriber\");\nvar lift_1 = require(\"../util/lift\");\nfunction share(options) {\n if (options === void 0) { options = {}; }\n var _a = options.connector, connector = _a === void 0 ? function () { return new Subject_1.Subject(); } : _a, _b = options.resetOnError, resetOnError = _b === void 0 ? true : _b, _c = options.resetOnComplete, resetOnComplete = _c === void 0 ? true : _c, _d = options.resetOnRefCountZero, resetOnRefCountZero = _d === void 0 ? true : _d;\n return function (wrapperSource) {\n var connection;\n var resetConnection;\n var subject;\n var refCount = 0;\n var hasCompleted = false;\n var hasErrored = false;\n var cancelReset = function () {\n resetConnection === null || resetConnection === void 0 ? void 0 : resetConnection.unsubscribe();\n resetConnection = undefined;\n };\n var reset = function () {\n cancelReset();\n connection = subject = undefined;\n hasCompleted = hasErrored = false;\n };\n var resetAndUnsubscribe = function () {\n var conn = connection;\n reset();\n conn === null || conn === void 0 ? void 0 : conn.unsubscribe();\n };\n return lift_1.operate(function (source, subscriber) {\n refCount++;\n if (!hasErrored && !hasCompleted) {\n cancelReset();\n }\n var dest = (subject = subject !== null && subject !== void 0 ? subject : connector());\n subscriber.add(function () {\n refCount--;\n if (refCount === 0 && !hasErrored && !hasCompleted) {\n resetConnection = handleReset(resetAndUnsubscribe, resetOnRefCountZero);\n }\n });\n dest.subscribe(subscriber);\n if (!connection &&\n refCount > 0) {\n connection = new Subscriber_1.SafeSubscriber({\n next: function (value) { return dest.next(value); },\n error: function (err) {\n hasErrored = true;\n cancelReset();\n resetConnection = handleReset(reset, resetOnError, err);\n dest.error(err);\n },\n complete: function () {\n hasCompleted = true;\n cancelReset();\n resetConnection = handleReset(reset, resetOnComplete);\n dest.complete();\n },\n });\n innerFrom_1.innerFrom(source).subscribe(connection);\n }\n })(wrapperSource);\n };\n}\nexports.share = share;\nfunction handleReset(reset, on) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n if (on === true) {\n reset();\n return;\n }\n if (on === false) {\n return;\n }\n var onSubscriber = new Subscriber_1.SafeSubscriber({\n next: function () {\n onSubscriber.unsubscribe();\n reset();\n },\n });\n return innerFrom_1.innerFrom(on.apply(void 0, __spreadArray([], __read(args)))).subscribe(onSubscriber);\n}\n//# sourceMappingURL=share.js.map",
|
|
231
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.shareReplay = void 0;\nvar ReplaySubject_1 = require(\"../ReplaySubject\");\nvar share_1 = require(\"./share\");\nfunction shareReplay(configOrBufferSize, windowTime, scheduler) {\n var _a, _b, _c;\n var bufferSize;\n var refCount = false;\n if (configOrBufferSize && typeof configOrBufferSize === 'object') {\n (_a = configOrBufferSize.bufferSize, bufferSize = _a === void 0 ? Infinity : _a, _b = configOrBufferSize.windowTime, windowTime = _b === void 0 ? Infinity : _b, _c = configOrBufferSize.refCount, refCount = _c === void 0 ? false : _c, scheduler = configOrBufferSize.scheduler);\n }\n else {\n bufferSize = (configOrBufferSize !== null && configOrBufferSize !== void 0 ? configOrBufferSize : Infinity);\n }\n return share_1.share({\n connector: function () { return new ReplaySubject_1.ReplaySubject(bufferSize, windowTime, scheduler); },\n resetOnError: true,\n resetOnComplete: false,\n resetOnRefCountZero: refCount,\n });\n}\nexports.shareReplay = shareReplay;\n//# sourceMappingURL=shareReplay.js.map",
|
|
232
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.single = void 0;\nvar EmptyError_1 = require(\"../util/EmptyError\");\nvar SequenceError_1 = require(\"../util/SequenceError\");\nvar NotFoundError_1 = require(\"../util/NotFoundError\");\nvar lift_1 = require(\"../util/lift\");\nvar OperatorSubscriber_1 = require(\"./OperatorSubscriber\");\nfunction single(predicate) {\n return lift_1.operate(function (source, subscriber) {\n var hasValue = false;\n var singleValue;\n var seenValue = false;\n var index = 0;\n source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function (value) {\n seenValue = true;\n if (!predicate || predicate(value, index++, source)) {\n hasValue && subscriber.error(new SequenceError_1.SequenceError('Too many matching values'));\n hasValue = true;\n singleValue = value;\n }\n }, function () {\n if (hasValue) {\n subscriber.next(singleValue);\n subscriber.complete();\n }\n else {\n subscriber.error(seenValue ? new NotFoundError_1.NotFoundError('No matching values') : new EmptyError_1.EmptyError());\n }\n }));\n });\n}\nexports.single = single;\n//# sourceMappingURL=single.js.map",
|
|
233
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.skip = void 0;\nvar filter_1 = require(\"./filter\");\nfunction skip(count) {\n return filter_1.filter(function (_, index) { return count <= index; });\n}\nexports.skip = skip;\n//# sourceMappingURL=skip.js.map",
|
|
234
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.skipLast = void 0;\nvar identity_1 = require(\"../util/identity\");\nvar lift_1 = require(\"../util/lift\");\nvar OperatorSubscriber_1 = require(\"./OperatorSubscriber\");\nfunction skipLast(skipCount) {\n return skipCount <= 0\n ?\n identity_1.identity\n : lift_1.operate(function (source, subscriber) {\n var ring = new Array(skipCount);\n var seen = 0;\n source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function (value) {\n var valueIndex = seen++;\n if (valueIndex < skipCount) {\n ring[valueIndex] = value;\n }\n else {\n var index = valueIndex % skipCount;\n var oldValue = ring[index];\n ring[index] = value;\n subscriber.next(oldValue);\n }\n }));\n return function () {\n ring = null;\n };\n });\n}\nexports.skipLast = skipLast;\n//# sourceMappingURL=skipLast.js.map",
|
|
235
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.skipUntil = void 0;\nvar lift_1 = require(\"../util/lift\");\nvar OperatorSubscriber_1 = require(\"./OperatorSubscriber\");\nvar innerFrom_1 = require(\"../observable/innerFrom\");\nvar noop_1 = require(\"../util/noop\");\nfunction skipUntil(notifier) {\n return lift_1.operate(function (source, subscriber) {\n var taking = false;\n var skipSubscriber = OperatorSubscriber_1.createOperatorSubscriber(subscriber, function () {\n skipSubscriber === null || skipSubscriber === void 0 ? void 0 : skipSubscriber.unsubscribe();\n taking = true;\n }, noop_1.noop);\n innerFrom_1.innerFrom(notifier).subscribe(skipSubscriber);\n source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function (value) { return taking && subscriber.next(value); }));\n });\n}\nexports.skipUntil = skipUntil;\n//# sourceMappingURL=skipUntil.js.map",
|
|
236
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.skipWhile = void 0;\nvar lift_1 = require(\"../util/lift\");\nvar OperatorSubscriber_1 = require(\"./OperatorSubscriber\");\nfunction skipWhile(predicate) {\n return lift_1.operate(function (source, subscriber) {\n var taking = false;\n var index = 0;\n source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function (value) { return (taking || (taking = !predicate(value, index++))) && subscriber.next(value); }));\n });\n}\nexports.skipWhile = skipWhile;\n//# sourceMappingURL=skipWhile.js.map",
|
|
237
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.startWith = void 0;\nvar concat_1 = require(\"../observable/concat\");\nvar args_1 = require(\"../util/args\");\nvar lift_1 = require(\"../util/lift\");\nfunction startWith() {\n var values = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n values[_i] = arguments[_i];\n }\n var scheduler = args_1.popScheduler(values);\n return lift_1.operate(function (source, subscriber) {\n (scheduler ? concat_1.concat(values, source, scheduler) : concat_1.concat(values, source)).subscribe(subscriber);\n });\n}\nexports.startWith = startWith;\n//# sourceMappingURL=startWith.js.map",
|
|
238
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.switchMap = void 0;\nvar innerFrom_1 = require(\"../observable/innerFrom\");\nvar lift_1 = require(\"../util/lift\");\nvar OperatorSubscriber_1 = require(\"./OperatorSubscriber\");\nfunction switchMap(project, resultSelector) {\n return lift_1.operate(function (source, subscriber) {\n var innerSubscriber = null;\n var index = 0;\n var isComplete = false;\n var checkComplete = function () { return isComplete && !innerSubscriber && subscriber.complete(); };\n source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function (value) {\n innerSubscriber === null || innerSubscriber === void 0 ? void 0 : innerSubscriber.unsubscribe();\n var innerIndex = 0;\n var outerIndex = index++;\n innerFrom_1.innerFrom(project(value, outerIndex)).subscribe((innerSubscriber = OperatorSubscriber_1.createOperatorSubscriber(subscriber, function (innerValue) { return subscriber.next(resultSelector ? resultSelector(value, innerValue, outerIndex, innerIndex++) : innerValue); }, function () {\n innerSubscriber = null;\n checkComplete();\n })));\n }, function () {\n isComplete = true;\n checkComplete();\n }));\n });\n}\nexports.switchMap = switchMap;\n//# sourceMappingURL=switchMap.js.map",
|
|
239
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.switchAll = void 0;\nvar switchMap_1 = require(\"./switchMap\");\nvar identity_1 = require(\"../util/identity\");\nfunction switchAll() {\n return switchMap_1.switchMap(identity_1.identity);\n}\nexports.switchAll = switchAll;\n//# sourceMappingURL=switchAll.js.map",
|
|
240
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.switchMapTo = void 0;\nvar switchMap_1 = require(\"./switchMap\");\nvar isFunction_1 = require(\"../util/isFunction\");\nfunction switchMapTo(innerObservable, resultSelector) {\n return isFunction_1.isFunction(resultSelector) ? switchMap_1.switchMap(function () { return innerObservable; }, resultSelector) : switchMap_1.switchMap(function () { return innerObservable; });\n}\nexports.switchMapTo = switchMapTo;\n//# sourceMappingURL=switchMapTo.js.map",
|
|
241
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.switchScan = void 0;\nvar switchMap_1 = require(\"./switchMap\");\nvar lift_1 = require(\"../util/lift\");\nfunction switchScan(accumulator, seed) {\n return lift_1.operate(function (source, subscriber) {\n var state = seed;\n switchMap_1.switchMap(function (value, index) { return accumulator(state, value, index); }, function (_, innerValue) { return ((state = innerValue), innerValue); })(source).subscribe(subscriber);\n return function () {\n state = null;\n };\n });\n}\nexports.switchScan = switchScan;\n//# sourceMappingURL=switchScan.js.map",
|
|
242
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.takeUntil = void 0;\nvar lift_1 = require(\"../util/lift\");\nvar OperatorSubscriber_1 = require(\"./OperatorSubscriber\");\nvar innerFrom_1 = require(\"../observable/innerFrom\");\nvar noop_1 = require(\"../util/noop\");\nfunction takeUntil(notifier) {\n return lift_1.operate(function (source, subscriber) {\n innerFrom_1.innerFrom(notifier).subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function () { return subscriber.complete(); }, noop_1.noop));\n !subscriber.closed && source.subscribe(subscriber);\n });\n}\nexports.takeUntil = takeUntil;\n//# sourceMappingURL=takeUntil.js.map",
|
|
243
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.takeWhile = void 0;\nvar lift_1 = require(\"../util/lift\");\nvar OperatorSubscriber_1 = require(\"./OperatorSubscriber\");\nfunction takeWhile(predicate, inclusive) {\n if (inclusive === void 0) { inclusive = false; }\n return lift_1.operate(function (source, subscriber) {\n var index = 0;\n source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function (value) {\n var result = predicate(value, index++);\n (result || inclusive) && subscriber.next(value);\n !result && subscriber.complete();\n }));\n });\n}\nexports.takeWhile = takeWhile;\n//# sourceMappingURL=takeWhile.js.map",
|
|
244
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.tap = void 0;\nvar isFunction_1 = require(\"../util/isFunction\");\nvar lift_1 = require(\"../util/lift\");\nvar OperatorSubscriber_1 = require(\"./OperatorSubscriber\");\nvar identity_1 = require(\"../util/identity\");\nfunction tap(observerOrNext, error, complete) {\n var tapObserver = isFunction_1.isFunction(observerOrNext) || error || complete\n ?\n { next: observerOrNext, error: error, complete: complete }\n : observerOrNext;\n return tapObserver\n ? lift_1.operate(function (source, subscriber) {\n var _a;\n (_a = tapObserver.subscribe) === null || _a === void 0 ? void 0 : _a.call(tapObserver);\n var isUnsub = true;\n source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function (value) {\n var _a;\n (_a = tapObserver.next) === null || _a === void 0 ? void 0 : _a.call(tapObserver, value);\n subscriber.next(value);\n }, function () {\n var _a;\n isUnsub = false;\n (_a = tapObserver.complete) === null || _a === void 0 ? void 0 : _a.call(tapObserver);\n subscriber.complete();\n }, function (err) {\n var _a;\n isUnsub = false;\n (_a = tapObserver.error) === null || _a === void 0 ? void 0 : _a.call(tapObserver, err);\n subscriber.error(err);\n }, function () {\n var _a, _b;\n if (isUnsub) {\n (_a = tapObserver.unsubscribe) === null || _a === void 0 ? void 0 : _a.call(tapObserver);\n }\n (_b = tapObserver.finalize) === null || _b === void 0 ? void 0 : _b.call(tapObserver);\n }));\n })\n :\n identity_1.identity;\n}\nexports.tap = tap;\n//# sourceMappingURL=tap.js.map",
|
|
245
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.throttle = void 0;\nvar lift_1 = require(\"../util/lift\");\nvar OperatorSubscriber_1 = require(\"./OperatorSubscriber\");\nvar innerFrom_1 = require(\"../observable/innerFrom\");\nfunction throttle(durationSelector, config) {\n return lift_1.operate(function (source, subscriber) {\n var _a = config !== null && config !== void 0 ? config : {}, _b = _a.leading, leading = _b === void 0 ? true : _b, _c = _a.trailing, trailing = _c === void 0 ? false : _c;\n var hasValue = false;\n var sendValue = null;\n var throttled = null;\n var isComplete = false;\n var endThrottling = function () {\n throttled === null || throttled === void 0 ? void 0 : throttled.unsubscribe();\n throttled = null;\n if (trailing) {\n send();\n isComplete && subscriber.complete();\n }\n };\n var cleanupThrottling = function () {\n throttled = null;\n isComplete && subscriber.complete();\n };\n var startThrottle = function (value) {\n return (throttled = innerFrom_1.innerFrom(durationSelector(value)).subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, endThrottling, cleanupThrottling)));\n };\n var send = function () {\n if (hasValue) {\n hasValue = false;\n var value = sendValue;\n sendValue = null;\n subscriber.next(value);\n !isComplete && startThrottle(value);\n }\n };\n source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function (value) {\n hasValue = true;\n sendValue = value;\n !(throttled && !throttled.closed) && (leading ? send() : startThrottle(value));\n }, function () {\n isComplete = true;\n !(trailing && hasValue && throttled && !throttled.closed) && subscriber.complete();\n }));\n });\n}\nexports.throttle = throttle;\n//# sourceMappingURL=throttle.js.map",
|
|
246
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.throttleTime = void 0;\nvar async_1 = require(\"../scheduler/async\");\nvar throttle_1 = require(\"./throttle\");\nvar timer_1 = require(\"../observable/timer\");\nfunction throttleTime(duration, scheduler, config) {\n if (scheduler === void 0) { scheduler = async_1.asyncScheduler; }\n var duration$ = timer_1.timer(duration, scheduler);\n return throttle_1.throttle(function () { return duration$; }, config);\n}\nexports.throttleTime = throttleTime;\n//# sourceMappingURL=throttleTime.js.map",
|
|
247
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TimeInterval = exports.timeInterval = void 0;\nvar async_1 = require(\"../scheduler/async\");\nvar lift_1 = require(\"../util/lift\");\nvar OperatorSubscriber_1 = require(\"./OperatorSubscriber\");\nfunction timeInterval(scheduler) {\n if (scheduler === void 0) { scheduler = async_1.asyncScheduler; }\n return lift_1.operate(function (source, subscriber) {\n var last = scheduler.now();\n source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function (value) {\n var now = scheduler.now();\n var interval = now - last;\n last = now;\n subscriber.next(new TimeInterval(value, interval));\n }));\n });\n}\nexports.timeInterval = timeInterval;\nvar TimeInterval = (function () {\n function TimeInterval(value, interval) {\n this.value = value;\n this.interval = interval;\n }\n return TimeInterval;\n}());\nexports.TimeInterval = TimeInterval;\n//# sourceMappingURL=timeInterval.js.map",
|
|
248
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.timeoutWith = void 0;\nvar async_1 = require(\"../scheduler/async\");\nvar isDate_1 = require(\"../util/isDate\");\nvar timeout_1 = require(\"./timeout\");\nfunction timeoutWith(due, withObservable, scheduler) {\n var first;\n var each;\n var _with;\n scheduler = scheduler !== null && scheduler !== void 0 ? scheduler : async_1.async;\n if (isDate_1.isValidDate(due)) {\n first = due;\n }\n else if (typeof due === 'number') {\n each = due;\n }\n if (withObservable) {\n _with = function () { return withObservable; };\n }\n else {\n throw new TypeError('No observable provided to switch to');\n }\n if (first == null && each == null) {\n throw new TypeError('No timeout provided.');\n }\n return timeout_1.timeout({\n first: first,\n each: each,\n scheduler: scheduler,\n with: _with,\n });\n}\nexports.timeoutWith = timeoutWith;\n//# sourceMappingURL=timeoutWith.js.map",
|
|
249
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.timestamp = void 0;\nvar dateTimestampProvider_1 = require(\"../scheduler/dateTimestampProvider\");\nvar map_1 = require(\"./map\");\nfunction timestamp(timestampProvider) {\n if (timestampProvider === void 0) { timestampProvider = dateTimestampProvider_1.dateTimestampProvider; }\n return map_1.map(function (value) { return ({ value: value, timestamp: timestampProvider.now() }); });\n}\nexports.timestamp = timestamp;\n//# sourceMappingURL=timestamp.js.map",
|
|
250
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.window = void 0;\nvar Subject_1 = require(\"../Subject\");\nvar lift_1 = require(\"../util/lift\");\nvar OperatorSubscriber_1 = require(\"./OperatorSubscriber\");\nvar noop_1 = require(\"../util/noop\");\nvar innerFrom_1 = require(\"../observable/innerFrom\");\nfunction window(windowBoundaries) {\n return lift_1.operate(function (source, subscriber) {\n var windowSubject = new Subject_1.Subject();\n subscriber.next(windowSubject.asObservable());\n var errorHandler = function (err) {\n windowSubject.error(err);\n subscriber.error(err);\n };\n source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function (value) { return windowSubject === null || windowSubject === void 0 ? void 0 : windowSubject.next(value); }, function () {\n windowSubject.complete();\n subscriber.complete();\n }, errorHandler));\n innerFrom_1.innerFrom(windowBoundaries).subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function () {\n windowSubject.complete();\n subscriber.next((windowSubject = new Subject_1.Subject()));\n }, noop_1.noop, errorHandler));\n return function () {\n windowSubject === null || windowSubject === void 0 ? void 0 : windowSubject.unsubscribe();\n windowSubject = null;\n };\n });\n}\nexports.window = window;\n//# sourceMappingURL=window.js.map",
|
|
251
|
+
"\"use strict\";\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.windowCount = void 0;\nvar Subject_1 = require(\"../Subject\");\nvar lift_1 = require(\"../util/lift\");\nvar OperatorSubscriber_1 = require(\"./OperatorSubscriber\");\nfunction windowCount(windowSize, startWindowEvery) {\n if (startWindowEvery === void 0) { startWindowEvery = 0; }\n var startEvery = startWindowEvery > 0 ? startWindowEvery : windowSize;\n return lift_1.operate(function (source, subscriber) {\n var windows = [new Subject_1.Subject()];\n var starts = [];\n var count = 0;\n subscriber.next(windows[0].asObservable());\n source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function (value) {\n var e_1, _a;\n try {\n for (var windows_1 = __values(windows), windows_1_1 = windows_1.next(); !windows_1_1.done; windows_1_1 = windows_1.next()) {\n var window_1 = windows_1_1.value;\n window_1.next(value);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (windows_1_1 && !windows_1_1.done && (_a = windows_1.return)) _a.call(windows_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n var c = count - windowSize + 1;\n if (c >= 0 && c % startEvery === 0) {\n windows.shift().complete();\n }\n if (++count % startEvery === 0) {\n var window_2 = new Subject_1.Subject();\n windows.push(window_2);\n subscriber.next(window_2.asObservable());\n }\n }, function () {\n while (windows.length > 0) {\n windows.shift().complete();\n }\n subscriber.complete();\n }, function (err) {\n while (windows.length > 0) {\n windows.shift().error(err);\n }\n subscriber.error(err);\n }, function () {\n starts = null;\n windows = null;\n }));\n });\n}\nexports.windowCount = windowCount;\n//# sourceMappingURL=windowCount.js.map",
|
|
252
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.windowTime = void 0;\nvar Subject_1 = require(\"../Subject\");\nvar async_1 = require(\"../scheduler/async\");\nvar Subscription_1 = require(\"../Subscription\");\nvar lift_1 = require(\"../util/lift\");\nvar OperatorSubscriber_1 = require(\"./OperatorSubscriber\");\nvar arrRemove_1 = require(\"../util/arrRemove\");\nvar args_1 = require(\"../util/args\");\nvar executeSchedule_1 = require(\"../util/executeSchedule\");\nfunction windowTime(windowTimeSpan) {\n var _a, _b;\n var otherArgs = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n otherArgs[_i - 1] = arguments[_i];\n }\n var scheduler = (_a = args_1.popScheduler(otherArgs)) !== null && _a !== void 0 ? _a : async_1.asyncScheduler;\n var windowCreationInterval = (_b = otherArgs[0]) !== null && _b !== void 0 ? _b : null;\n var maxWindowSize = otherArgs[1] || Infinity;\n return lift_1.operate(function (source, subscriber) {\n var windowRecords = [];\n var restartOnClose = false;\n var closeWindow = function (record) {\n var window = record.window, subs = record.subs;\n window.complete();\n subs.unsubscribe();\n arrRemove_1.arrRemove(windowRecords, record);\n restartOnClose && startWindow();\n };\n var startWindow = function () {\n if (windowRecords) {\n var subs = new Subscription_1.Subscription();\n subscriber.add(subs);\n var window_1 = new Subject_1.Subject();\n var record_1 = {\n window: window_1,\n subs: subs,\n seen: 0,\n };\n windowRecords.push(record_1);\n subscriber.next(window_1.asObservable());\n executeSchedule_1.executeSchedule(subs, scheduler, function () { return closeWindow(record_1); }, windowTimeSpan);\n }\n };\n if (windowCreationInterval !== null && windowCreationInterval >= 0) {\n executeSchedule_1.executeSchedule(subscriber, scheduler, startWindow, windowCreationInterval, true);\n }\n else {\n restartOnClose = true;\n }\n startWindow();\n var loop = function (cb) { return windowRecords.slice().forEach(cb); };\n var terminate = function (cb) {\n loop(function (_a) {\n var window = _a.window;\n return cb(window);\n });\n cb(subscriber);\n subscriber.unsubscribe();\n };\n source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function (value) {\n loop(function (record) {\n record.window.next(value);\n maxWindowSize <= ++record.seen && closeWindow(record);\n });\n }, function () { return terminate(function (consumer) { return consumer.complete(); }); }, function (err) { return terminate(function (consumer) { return consumer.error(err); }); }));\n return function () {\n windowRecords = null;\n };\n });\n}\nexports.windowTime = windowTime;\n//# sourceMappingURL=windowTime.js.map",
|
|
253
|
+
"\"use strict\";\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.windowToggle = void 0;\nvar Subject_1 = require(\"../Subject\");\nvar Subscription_1 = require(\"../Subscription\");\nvar lift_1 = require(\"../util/lift\");\nvar innerFrom_1 = require(\"../observable/innerFrom\");\nvar OperatorSubscriber_1 = require(\"./OperatorSubscriber\");\nvar noop_1 = require(\"../util/noop\");\nvar arrRemove_1 = require(\"../util/arrRemove\");\nfunction windowToggle(openings, closingSelector) {\n return lift_1.operate(function (source, subscriber) {\n var windows = [];\n var handleError = function (err) {\n while (0 < windows.length) {\n windows.shift().error(err);\n }\n subscriber.error(err);\n };\n innerFrom_1.innerFrom(openings).subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function (openValue) {\n var window = new Subject_1.Subject();\n windows.push(window);\n var closingSubscription = new Subscription_1.Subscription();\n var closeWindow = function () {\n arrRemove_1.arrRemove(windows, window);\n window.complete();\n closingSubscription.unsubscribe();\n };\n var closingNotifier;\n try {\n closingNotifier = innerFrom_1.innerFrom(closingSelector(openValue));\n }\n catch (err) {\n handleError(err);\n return;\n }\n subscriber.next(window.asObservable());\n closingSubscription.add(closingNotifier.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, closeWindow, noop_1.noop, handleError)));\n }, noop_1.noop));\n source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function (value) {\n var e_1, _a;\n var windowsCopy = windows.slice();\n try {\n for (var windowsCopy_1 = __values(windowsCopy), windowsCopy_1_1 = windowsCopy_1.next(); !windowsCopy_1_1.done; windowsCopy_1_1 = windowsCopy_1.next()) {\n var window_1 = windowsCopy_1_1.value;\n window_1.next(value);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (windowsCopy_1_1 && !windowsCopy_1_1.done && (_a = windowsCopy_1.return)) _a.call(windowsCopy_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }, function () {\n while (0 < windows.length) {\n windows.shift().complete();\n }\n subscriber.complete();\n }, handleError, function () {\n while (0 < windows.length) {\n windows.shift().unsubscribe();\n }\n }));\n });\n}\nexports.windowToggle = windowToggle;\n//# sourceMappingURL=windowToggle.js.map",
|
|
254
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.windowWhen = void 0;\nvar Subject_1 = require(\"../Subject\");\nvar lift_1 = require(\"../util/lift\");\nvar OperatorSubscriber_1 = require(\"./OperatorSubscriber\");\nvar innerFrom_1 = require(\"../observable/innerFrom\");\nfunction windowWhen(closingSelector) {\n return lift_1.operate(function (source, subscriber) {\n var window;\n var closingSubscriber;\n var handleError = function (err) {\n window.error(err);\n subscriber.error(err);\n };\n var openWindow = function () {\n closingSubscriber === null || closingSubscriber === void 0 ? void 0 : closingSubscriber.unsubscribe();\n window === null || window === void 0 ? void 0 : window.complete();\n window = new Subject_1.Subject();\n subscriber.next(window.asObservable());\n var closingNotifier;\n try {\n closingNotifier = innerFrom_1.innerFrom(closingSelector());\n }\n catch (err) {\n handleError(err);\n return;\n }\n closingNotifier.subscribe((closingSubscriber = OperatorSubscriber_1.createOperatorSubscriber(subscriber, openWindow, openWindow, handleError)));\n };\n openWindow();\n source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function (value) { return window.next(value); }, function () {\n window.complete();\n subscriber.complete();\n }, handleError, function () {\n closingSubscriber === null || closingSubscriber === void 0 ? void 0 : closingSubscriber.unsubscribe();\n window = null;\n }));\n });\n}\nexports.windowWhen = windowWhen;\n//# sourceMappingURL=windowWhen.js.map",
|
|
255
|
+
"\"use strict\";\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from) {\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\n to[j] = from[i];\n return to;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.withLatestFrom = void 0;\nvar lift_1 = require(\"../util/lift\");\nvar OperatorSubscriber_1 = require(\"./OperatorSubscriber\");\nvar innerFrom_1 = require(\"../observable/innerFrom\");\nvar identity_1 = require(\"../util/identity\");\nvar noop_1 = require(\"../util/noop\");\nvar args_1 = require(\"../util/args\");\nfunction withLatestFrom() {\n var inputs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n inputs[_i] = arguments[_i];\n }\n var project = args_1.popResultSelector(inputs);\n return lift_1.operate(function (source, subscriber) {\n var len = inputs.length;\n var otherValues = new Array(len);\n var hasValue = inputs.map(function () { return false; });\n var ready = false;\n var _loop_1 = function (i) {\n innerFrom_1.innerFrom(inputs[i]).subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function (value) {\n otherValues[i] = value;\n if (!ready && !hasValue[i]) {\n hasValue[i] = true;\n (ready = hasValue.every(identity_1.identity)) && (hasValue = null);\n }\n }, noop_1.noop));\n };\n for (var i = 0; i < len; i++) {\n _loop_1(i);\n }\n source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function (value) {\n if (ready) {\n var values = __spreadArray([value], __read(otherValues));\n subscriber.next(project ? project.apply(void 0, __spreadArray([], __read(values))) : values);\n }\n }));\n });\n}\nexports.withLatestFrom = withLatestFrom;\n//# sourceMappingURL=withLatestFrom.js.map",
|
|
256
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.zipAll = void 0;\nvar zip_1 = require(\"../observable/zip\");\nvar joinAllInternals_1 = require(\"./joinAllInternals\");\nfunction zipAll(project) {\n return joinAllInternals_1.joinAllInternals(zip_1.zip, project);\n}\nexports.zipAll = zipAll;\n//# sourceMappingURL=zipAll.js.map",
|
|
257
|
+
"\"use strict\";\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from) {\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\n to[j] = from[i];\n return to;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.zip = void 0;\nvar zip_1 = require(\"../observable/zip\");\nvar lift_1 = require(\"../util/lift\");\nfunction zip() {\n var sources = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n sources[_i] = arguments[_i];\n }\n return lift_1.operate(function (source, subscriber) {\n zip_1.zip.apply(void 0, __spreadArray([source], __read(sources))).subscribe(subscriber);\n });\n}\nexports.zip = zip;\n//# sourceMappingURL=zip.js.map",
|
|
258
|
+
"\"use strict\";\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from) {\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\n to[j] = from[i];\n return to;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.zipWith = void 0;\nvar zip_1 = require(\"./zip\");\nfunction zipWith() {\n var otherInputs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n otherInputs[_i] = arguments[_i];\n }\n return zip_1.zip.apply(void 0, __spreadArray([], __read(otherInputs)));\n}\nexports.zipWith = zipWith;\n//# sourceMappingURL=zipWith.js.map",
|
|
259
|
+
"\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.interval = exports.iif = exports.generate = exports.fromEventPattern = exports.fromEvent = exports.from = exports.forkJoin = exports.empty = exports.defer = exports.connectable = exports.concat = exports.combineLatest = exports.bindNodeCallback = exports.bindCallback = exports.UnsubscriptionError = exports.TimeoutError = exports.SequenceError = exports.ObjectUnsubscribedError = exports.NotFoundError = exports.EmptyError = exports.ArgumentOutOfRangeError = exports.firstValueFrom = exports.lastValueFrom = exports.isObservable = exports.identity = exports.noop = exports.pipe = exports.NotificationKind = exports.Notification = exports.Subscriber = exports.Subscription = exports.Scheduler = exports.VirtualAction = exports.VirtualTimeScheduler = exports.animationFrameScheduler = exports.animationFrame = exports.queueScheduler = exports.queue = exports.asyncScheduler = exports.async = exports.asapScheduler = exports.asap = exports.AsyncSubject = exports.ReplaySubject = exports.BehaviorSubject = exports.Subject = exports.animationFrames = exports.observable = exports.ConnectableObservable = exports.Observable = void 0;\nexports.filter = exports.expand = exports.exhaustMap = exports.exhaustAll = exports.exhaust = exports.every = exports.endWith = exports.elementAt = exports.distinctUntilKeyChanged = exports.distinctUntilChanged = exports.distinct = exports.dematerialize = exports.delayWhen = exports.delay = exports.defaultIfEmpty = exports.debounceTime = exports.debounce = exports.count = exports.connect = exports.concatWith = exports.concatMapTo = exports.concatMap = exports.concatAll = exports.combineLatestWith = exports.combineLatestAll = exports.combineAll = exports.catchError = exports.bufferWhen = exports.bufferToggle = exports.bufferTime = exports.bufferCount = exports.buffer = exports.auditTime = exports.audit = exports.config = exports.NEVER = exports.EMPTY = exports.scheduled = exports.zip = exports.using = exports.timer = exports.throwError = exports.range = exports.race = exports.partition = exports.pairs = exports.onErrorResumeNext = exports.of = exports.never = exports.merge = void 0;\nexports.switchMap = exports.switchAll = exports.subscribeOn = exports.startWith = exports.skipWhile = exports.skipUntil = exports.skipLast = exports.skip = exports.single = exports.shareReplay = exports.share = exports.sequenceEqual = exports.scan = exports.sampleTime = exports.sample = exports.refCount = exports.retryWhen = exports.retry = exports.repeatWhen = exports.repeat = exports.reduce = exports.raceWith = exports.publishReplay = exports.publishLast = exports.publishBehavior = exports.publish = exports.pluck = exports.pairwise = exports.onErrorResumeNextWith = exports.observeOn = exports.multicast = exports.min = exports.mergeWith = exports.mergeScan = exports.mergeMapTo = exports.mergeMap = exports.flatMap = exports.mergeAll = exports.max = exports.materialize = exports.mapTo = exports.map = exports.last = exports.isEmpty = exports.ignoreElements = exports.groupBy = exports.first = exports.findIndex = exports.find = exports.finalize = void 0;\nexports.zipWith = exports.zipAll = exports.withLatestFrom = exports.windowWhen = exports.windowToggle = exports.windowTime = exports.windowCount = exports.window = exports.toArray = exports.timestamp = exports.timeoutWith = exports.timeout = exports.timeInterval = exports.throwIfEmpty = exports.throttleTime = exports.throttle = exports.tap = exports.takeWhile = exports.takeUntil = exports.takeLast = exports.take = exports.switchScan = exports.switchMapTo = void 0;\nvar Observable_1 = require(\"./internal/Observable\");\nObject.defineProperty(exports, \"Observable\", { enumerable: true, get: function () { return Observable_1.Observable; } });\nvar ConnectableObservable_1 = require(\"./internal/observable/ConnectableObservable\");\nObject.defineProperty(exports, \"ConnectableObservable\", { enumerable: true, get: function () { return ConnectableObservable_1.ConnectableObservable; } });\nvar observable_1 = require(\"./internal/symbol/observable\");\nObject.defineProperty(exports, \"observable\", { enumerable: true, get: function () { return observable_1.observable; } });\nvar animationFrames_1 = require(\"./internal/observable/dom/animationFrames\");\nObject.defineProperty(exports, \"animationFrames\", { enumerable: true, get: function () { return animationFrames_1.animationFrames; } });\nvar Subject_1 = require(\"./internal/Subject\");\nObject.defineProperty(exports, \"Subject\", { enumerable: true, get: function () { return Subject_1.Subject; } });\nvar BehaviorSubject_1 = require(\"./internal/BehaviorSubject\");\nObject.defineProperty(exports, \"BehaviorSubject\", { enumerable: true, get: function () { return BehaviorSubject_1.BehaviorSubject; } });\nvar ReplaySubject_1 = require(\"./internal/ReplaySubject\");\nObject.defineProperty(exports, \"ReplaySubject\", { enumerable: true, get: function () { return ReplaySubject_1.ReplaySubject; } });\nvar AsyncSubject_1 = require(\"./internal/AsyncSubject\");\nObject.defineProperty(exports, \"AsyncSubject\", { enumerable: true, get: function () { return AsyncSubject_1.AsyncSubject; } });\nvar asap_1 = require(\"./internal/scheduler/asap\");\nObject.defineProperty(exports, \"asap\", { enumerable: true, get: function () { return asap_1.asap; } });\nObject.defineProperty(exports, \"asapScheduler\", { enumerable: true, get: function () { return asap_1.asapScheduler; } });\nvar async_1 = require(\"./internal/scheduler/async\");\nObject.defineProperty(exports, \"async\", { enumerable: true, get: function () { return async_1.async; } });\nObject.defineProperty(exports, \"asyncScheduler\", { enumerable: true, get: function () { return async_1.asyncScheduler; } });\nvar queue_1 = require(\"./internal/scheduler/queue\");\nObject.defineProperty(exports, \"queue\", { enumerable: true, get: function () { return queue_1.queue; } });\nObject.defineProperty(exports, \"queueScheduler\", { enumerable: true, get: function () { return queue_1.queueScheduler; } });\nvar animationFrame_1 = require(\"./internal/scheduler/animationFrame\");\nObject.defineProperty(exports, \"animationFrame\", { enumerable: true, get: function () { return animationFrame_1.animationFrame; } });\nObject.defineProperty(exports, \"animationFrameScheduler\", { enumerable: true, get: function () { return animationFrame_1.animationFrameScheduler; } });\nvar VirtualTimeScheduler_1 = require(\"./internal/scheduler/VirtualTimeScheduler\");\nObject.defineProperty(exports, \"VirtualTimeScheduler\", { enumerable: true, get: function () { return VirtualTimeScheduler_1.VirtualTimeScheduler; } });\nObject.defineProperty(exports, \"VirtualAction\", { enumerable: true, get: function () { return VirtualTimeScheduler_1.VirtualAction; } });\nvar Scheduler_1 = require(\"./internal/Scheduler\");\nObject.defineProperty(exports, \"Scheduler\", { enumerable: true, get: function () { return Scheduler_1.Scheduler; } });\nvar Subscription_1 = require(\"./internal/Subscription\");\nObject.defineProperty(exports, \"Subscription\", { enumerable: true, get: function () { return Subscription_1.Subscription; } });\nvar Subscriber_1 = require(\"./internal/Subscriber\");\nObject.defineProperty(exports, \"Subscriber\", { enumerable: true, get: function () { return Subscriber_1.Subscriber; } });\nvar Notification_1 = require(\"./internal/Notification\");\nObject.defineProperty(exports, \"Notification\", { enumerable: true, get: function () { return Notification_1.Notification; } });\nObject.defineProperty(exports, \"NotificationKind\", { enumerable: true, get: function () { return Notification_1.NotificationKind; } });\nvar pipe_1 = require(\"./internal/util/pipe\");\nObject.defineProperty(exports, \"pipe\", { enumerable: true, get: function () { return pipe_1.pipe; } });\nvar noop_1 = require(\"./internal/util/noop\");\nObject.defineProperty(exports, \"noop\", { enumerable: true, get: function () { return noop_1.noop; } });\nvar identity_1 = require(\"./internal/util/identity\");\nObject.defineProperty(exports, \"identity\", { enumerable: true, get: function () { return identity_1.identity; } });\nvar isObservable_1 = require(\"./internal/util/isObservable\");\nObject.defineProperty(exports, \"isObservable\", { enumerable: true, get: function () { return isObservable_1.isObservable; } });\nvar lastValueFrom_1 = require(\"./internal/lastValueFrom\");\nObject.defineProperty(exports, \"lastValueFrom\", { enumerable: true, get: function () { return lastValueFrom_1.lastValueFrom; } });\nvar firstValueFrom_1 = require(\"./internal/firstValueFrom\");\nObject.defineProperty(exports, \"firstValueFrom\", { enumerable: true, get: function () { return firstValueFrom_1.firstValueFrom; } });\nvar ArgumentOutOfRangeError_1 = require(\"./internal/util/ArgumentOutOfRangeError\");\nObject.defineProperty(exports, \"ArgumentOutOfRangeError\", { enumerable: true, get: function () { return ArgumentOutOfRangeError_1.ArgumentOutOfRangeError; } });\nvar EmptyError_1 = require(\"./internal/util/EmptyError\");\nObject.defineProperty(exports, \"EmptyError\", { enumerable: true, get: function () { return EmptyError_1.EmptyError; } });\nvar NotFoundError_1 = require(\"./internal/util/NotFoundError\");\nObject.defineProperty(exports, \"NotFoundError\", { enumerable: true, get: function () { return NotFoundError_1.NotFoundError; } });\nvar ObjectUnsubscribedError_1 = require(\"./internal/util/ObjectUnsubscribedError\");\nObject.defineProperty(exports, \"ObjectUnsubscribedError\", { enumerable: true, get: function () { return ObjectUnsubscribedError_1.ObjectUnsubscribedError; } });\nvar SequenceError_1 = require(\"./internal/util/SequenceError\");\nObject.defineProperty(exports, \"SequenceError\", { enumerable: true, get: function () { return SequenceError_1.SequenceError; } });\nvar timeout_1 = require(\"./internal/operators/timeout\");\nObject.defineProperty(exports, \"TimeoutError\", { enumerable: true, get: function () { return timeout_1.TimeoutError; } });\nvar UnsubscriptionError_1 = require(\"./internal/util/UnsubscriptionError\");\nObject.defineProperty(exports, \"UnsubscriptionError\", { enumerable: true, get: function () { return UnsubscriptionError_1.UnsubscriptionError; } });\nvar bindCallback_1 = require(\"./internal/observable/bindCallback\");\nObject.defineProperty(exports, \"bindCallback\", { enumerable: true, get: function () { return bindCallback_1.bindCallback; } });\nvar bindNodeCallback_1 = require(\"./internal/observable/bindNodeCallback\");\nObject.defineProperty(exports, \"bindNodeCallback\", { enumerable: true, get: function () { return bindNodeCallback_1.bindNodeCallback; } });\nvar combineLatest_1 = require(\"./internal/observable/combineLatest\");\nObject.defineProperty(exports, \"combineLatest\", { enumerable: true, get: function () { return combineLatest_1.combineLatest; } });\nvar concat_1 = require(\"./internal/observable/concat\");\nObject.defineProperty(exports, \"concat\", { enumerable: true, get: function () { return concat_1.concat; } });\nvar connectable_1 = require(\"./internal/observable/connectable\");\nObject.defineProperty(exports, \"connectable\", { enumerable: true, get: function () { return connectable_1.connectable; } });\nvar defer_1 = require(\"./internal/observable/defer\");\nObject.defineProperty(exports, \"defer\", { enumerable: true, get: function () { return defer_1.defer; } });\nvar empty_1 = require(\"./internal/observable/empty\");\nObject.defineProperty(exports, \"empty\", { enumerable: true, get: function () { return empty_1.empty; } });\nvar forkJoin_1 = require(\"./internal/observable/forkJoin\");\nObject.defineProperty(exports, \"forkJoin\", { enumerable: true, get: function () { return forkJoin_1.forkJoin; } });\nvar from_1 = require(\"./internal/observable/from\");\nObject.defineProperty(exports, \"from\", { enumerable: true, get: function () { return from_1.from; } });\nvar fromEvent_1 = require(\"./internal/observable/fromEvent\");\nObject.defineProperty(exports, \"fromEvent\", { enumerable: true, get: function () { return fromEvent_1.fromEvent; } });\nvar fromEventPattern_1 = require(\"./internal/observable/fromEventPattern\");\nObject.defineProperty(exports, \"fromEventPattern\", { enumerable: true, get: function () { return fromEventPattern_1.fromEventPattern; } });\nvar generate_1 = require(\"./internal/observable/generate\");\nObject.defineProperty(exports, \"generate\", { enumerable: true, get: function () { return generate_1.generate; } });\nvar iif_1 = require(\"./internal/observable/iif\");\nObject.defineProperty(exports, \"iif\", { enumerable: true, get: function () { return iif_1.iif; } });\nvar interval_1 = require(\"./internal/observable/interval\");\nObject.defineProperty(exports, \"interval\", { enumerable: true, get: function () { return interval_1.interval; } });\nvar merge_1 = require(\"./internal/observable/merge\");\nObject.defineProperty(exports, \"merge\", { enumerable: true, get: function () { return merge_1.merge; } });\nvar never_1 = require(\"./internal/observable/never\");\nObject.defineProperty(exports, \"never\", { enumerable: true, get: function () { return never_1.never; } });\nvar of_1 = require(\"./internal/observable/of\");\nObject.defineProperty(exports, \"of\", { enumerable: true, get: function () { return of_1.of; } });\nvar onErrorResumeNext_1 = require(\"./internal/observable/onErrorResumeNext\");\nObject.defineProperty(exports, \"onErrorResumeNext\", { enumerable: true, get: function () { return onErrorResumeNext_1.onErrorResumeNext; } });\nvar pairs_1 = require(\"./internal/observable/pairs\");\nObject.defineProperty(exports, \"pairs\", { enumerable: true, get: function () { return pairs_1.pairs; } });\nvar partition_1 = require(\"./internal/observable/partition\");\nObject.defineProperty(exports, \"partition\", { enumerable: true, get: function () { return partition_1.partition; } });\nvar race_1 = require(\"./internal/observable/race\");\nObject.defineProperty(exports, \"race\", { enumerable: true, get: function () { return race_1.race; } });\nvar range_1 = require(\"./internal/observable/range\");\nObject.defineProperty(exports, \"range\", { enumerable: true, get: function () { return range_1.range; } });\nvar throwError_1 = require(\"./internal/observable/throwError\");\nObject.defineProperty(exports, \"throwError\", { enumerable: true, get: function () { return throwError_1.throwError; } });\nvar timer_1 = require(\"./internal/observable/timer\");\nObject.defineProperty(exports, \"timer\", { enumerable: true, get: function () { return timer_1.timer; } });\nvar using_1 = require(\"./internal/observable/using\");\nObject.defineProperty(exports, \"using\", { enumerable: true, get: function () { return using_1.using; } });\nvar zip_1 = require(\"./internal/observable/zip\");\nObject.defineProperty(exports, \"zip\", { enumerable: true, get: function () { return zip_1.zip; } });\nvar scheduled_1 = require(\"./internal/scheduled/scheduled\");\nObject.defineProperty(exports, \"scheduled\", { enumerable: true, get: function () { return scheduled_1.scheduled; } });\nvar empty_2 = require(\"./internal/observable/empty\");\nObject.defineProperty(exports, \"EMPTY\", { enumerable: true, get: function () { return empty_2.EMPTY; } });\nvar never_2 = require(\"./internal/observable/never\");\nObject.defineProperty(exports, \"NEVER\", { enumerable: true, get: function () { return never_2.NEVER; } });\n__exportStar(require(\"./internal/types\"), exports);\nvar config_1 = require(\"./internal/config\");\nObject.defineProperty(exports, \"config\", { enumerable: true, get: function () { return config_1.config; } });\nvar audit_1 = require(\"./internal/operators/audit\");\nObject.defineProperty(exports, \"audit\", { enumerable: true, get: function () { return audit_1.audit; } });\nvar auditTime_1 = require(\"./internal/operators/auditTime\");\nObject.defineProperty(exports, \"auditTime\", { enumerable: true, get: function () { return auditTime_1.auditTime; } });\nvar buffer_1 = require(\"./internal/operators/buffer\");\nObject.defineProperty(exports, \"buffer\", { enumerable: true, get: function () { return buffer_1.buffer; } });\nvar bufferCount_1 = require(\"./internal/operators/bufferCount\");\nObject.defineProperty(exports, \"bufferCount\", { enumerable: true, get: function () { return bufferCount_1.bufferCount; } });\nvar bufferTime_1 = require(\"./internal/operators/bufferTime\");\nObject.defineProperty(exports, \"bufferTime\", { enumerable: true, get: function () { return bufferTime_1.bufferTime; } });\nvar bufferToggle_1 = require(\"./internal/operators/bufferToggle\");\nObject.defineProperty(exports, \"bufferToggle\", { enumerable: true, get: function () { return bufferToggle_1.bufferToggle; } });\nvar bufferWhen_1 = require(\"./internal/operators/bufferWhen\");\nObject.defineProperty(exports, \"bufferWhen\", { enumerable: true, get: function () { return bufferWhen_1.bufferWhen; } });\nvar catchError_1 = require(\"./internal/operators/catchError\");\nObject.defineProperty(exports, \"catchError\", { enumerable: true, get: function () { return catchError_1.catchError; } });\nvar combineAll_1 = require(\"./internal/operators/combineAll\");\nObject.defineProperty(exports, \"combineAll\", { enumerable: true, get: function () { return combineAll_1.combineAll; } });\nvar combineLatestAll_1 = require(\"./internal/operators/combineLatestAll\");\nObject.defineProperty(exports, \"combineLatestAll\", { enumerable: true, get: function () { return combineLatestAll_1.combineLatestAll; } });\nvar combineLatestWith_1 = require(\"./internal/operators/combineLatestWith\");\nObject.defineProperty(exports, \"combineLatestWith\", { enumerable: true, get: function () { return combineLatestWith_1.combineLatestWith; } });\nvar concatAll_1 = require(\"./internal/operators/concatAll\");\nObject.defineProperty(exports, \"concatAll\", { enumerable: true, get: function () { return concatAll_1.concatAll; } });\nvar concatMap_1 = require(\"./internal/operators/concatMap\");\nObject.defineProperty(exports, \"concatMap\", { enumerable: true, get: function () { return concatMap_1.concatMap; } });\nvar concatMapTo_1 = require(\"./internal/operators/concatMapTo\");\nObject.defineProperty(exports, \"concatMapTo\", { enumerable: true, get: function () { return concatMapTo_1.concatMapTo; } });\nvar concatWith_1 = require(\"./internal/operators/concatWith\");\nObject.defineProperty(exports, \"concatWith\", { enumerable: true, get: function () { return concatWith_1.concatWith; } });\nvar connect_1 = require(\"./internal/operators/connect\");\nObject.defineProperty(exports, \"connect\", { enumerable: true, get: function () { return connect_1.connect; } });\nvar count_1 = require(\"./internal/operators/count\");\nObject.defineProperty(exports, \"count\", { enumerable: true, get: function () { return count_1.count; } });\nvar debounce_1 = require(\"./internal/operators/debounce\");\nObject.defineProperty(exports, \"debounce\", { enumerable: true, get: function () { return debounce_1.debounce; } });\nvar debounceTime_1 = require(\"./internal/operators/debounceTime\");\nObject.defineProperty(exports, \"debounceTime\", { enumerable: true, get: function () { return debounceTime_1.debounceTime; } });\nvar defaultIfEmpty_1 = require(\"./internal/operators/defaultIfEmpty\");\nObject.defineProperty(exports, \"defaultIfEmpty\", { enumerable: true, get: function () { return defaultIfEmpty_1.defaultIfEmpty; } });\nvar delay_1 = require(\"./internal/operators/delay\");\nObject.defineProperty(exports, \"delay\", { enumerable: true, get: function () { return delay_1.delay; } });\nvar delayWhen_1 = require(\"./internal/operators/delayWhen\");\nObject.defineProperty(exports, \"delayWhen\", { enumerable: true, get: function () { return delayWhen_1.delayWhen; } });\nvar dematerialize_1 = require(\"./internal/operators/dematerialize\");\nObject.defineProperty(exports, \"dematerialize\", { enumerable: true, get: function () { return dematerialize_1.dematerialize; } });\nvar distinct_1 = require(\"./internal/operators/distinct\");\nObject.defineProperty(exports, \"distinct\", { enumerable: true, get: function () { return distinct_1.distinct; } });\nvar distinctUntilChanged_1 = require(\"./internal/operators/distinctUntilChanged\");\nObject.defineProperty(exports, \"distinctUntilChanged\", { enumerable: true, get: function () { return distinctUntilChanged_1.distinctUntilChanged; } });\nvar distinctUntilKeyChanged_1 = require(\"./internal/operators/distinctUntilKeyChanged\");\nObject.defineProperty(exports, \"distinctUntilKeyChanged\", { enumerable: true, get: function () { return distinctUntilKeyChanged_1.distinctUntilKeyChanged; } });\nvar elementAt_1 = require(\"./internal/operators/elementAt\");\nObject.defineProperty(exports, \"elementAt\", { enumerable: true, get: function () { return elementAt_1.elementAt; } });\nvar endWith_1 = require(\"./internal/operators/endWith\");\nObject.defineProperty(exports, \"endWith\", { enumerable: true, get: function () { return endWith_1.endWith; } });\nvar every_1 = require(\"./internal/operators/every\");\nObject.defineProperty(exports, \"every\", { enumerable: true, get: function () { return every_1.every; } });\nvar exhaust_1 = require(\"./internal/operators/exhaust\");\nObject.defineProperty(exports, \"exhaust\", { enumerable: true, get: function () { return exhaust_1.exhaust; } });\nvar exhaustAll_1 = require(\"./internal/operators/exhaustAll\");\nObject.defineProperty(exports, \"exhaustAll\", { enumerable: true, get: function () { return exhaustAll_1.exhaustAll; } });\nvar exhaustMap_1 = require(\"./internal/operators/exhaustMap\");\nObject.defineProperty(exports, \"exhaustMap\", { enumerable: true, get: function () { return exhaustMap_1.exhaustMap; } });\nvar expand_1 = require(\"./internal/operators/expand\");\nObject.defineProperty(exports, \"expand\", { enumerable: true, get: function () { return expand_1.expand; } });\nvar filter_1 = require(\"./internal/operators/filter\");\nObject.defineProperty(exports, \"filter\", { enumerable: true, get: function () { return filter_1.filter; } });\nvar finalize_1 = require(\"./internal/operators/finalize\");\nObject.defineProperty(exports, \"finalize\", { enumerable: true, get: function () { return finalize_1.finalize; } });\nvar find_1 = require(\"./internal/operators/find\");\nObject.defineProperty(exports, \"find\", { enumerable: true, get: function () { return find_1.find; } });\nvar findIndex_1 = require(\"./internal/operators/findIndex\");\nObject.defineProperty(exports, \"findIndex\", { enumerable: true, get: function () { return findIndex_1.findIndex; } });\nvar first_1 = require(\"./internal/operators/first\");\nObject.defineProperty(exports, \"first\", { enumerable: true, get: function () { return first_1.first; } });\nvar groupBy_1 = require(\"./internal/operators/groupBy\");\nObject.defineProperty(exports, \"groupBy\", { enumerable: true, get: function () { return groupBy_1.groupBy; } });\nvar ignoreElements_1 = require(\"./internal/operators/ignoreElements\");\nObject.defineProperty(exports, \"ignoreElements\", { enumerable: true, get: function () { return ignoreElements_1.ignoreElements; } });\nvar isEmpty_1 = require(\"./internal/operators/isEmpty\");\nObject.defineProperty(exports, \"isEmpty\", { enumerable: true, get: function () { return isEmpty_1.isEmpty; } });\nvar last_1 = require(\"./internal/operators/last\");\nObject.defineProperty(exports, \"last\", { enumerable: true, get: function () { return last_1.last; } });\nvar map_1 = require(\"./internal/operators/map\");\nObject.defineProperty(exports, \"map\", { enumerable: true, get: function () { return map_1.map; } });\nvar mapTo_1 = require(\"./internal/operators/mapTo\");\nObject.defineProperty(exports, \"mapTo\", { enumerable: true, get: function () { return mapTo_1.mapTo; } });\nvar materialize_1 = require(\"./internal/operators/materialize\");\nObject.defineProperty(exports, \"materialize\", { enumerable: true, get: function () { return materialize_1.materialize; } });\nvar max_1 = require(\"./internal/operators/max\");\nObject.defineProperty(exports, \"max\", { enumerable: true, get: function () { return max_1.max; } });\nvar mergeAll_1 = require(\"./internal/operators/mergeAll\");\nObject.defineProperty(exports, \"mergeAll\", { enumerable: true, get: function () { return mergeAll_1.mergeAll; } });\nvar flatMap_1 = require(\"./internal/operators/flatMap\");\nObject.defineProperty(exports, \"flatMap\", { enumerable: true, get: function () { return flatMap_1.flatMap; } });\nvar mergeMap_1 = require(\"./internal/operators/mergeMap\");\nObject.defineProperty(exports, \"mergeMap\", { enumerable: true, get: function () { return mergeMap_1.mergeMap; } });\nvar mergeMapTo_1 = require(\"./internal/operators/mergeMapTo\");\nObject.defineProperty(exports, \"mergeMapTo\", { enumerable: true, get: function () { return mergeMapTo_1.mergeMapTo; } });\nvar mergeScan_1 = require(\"./internal/operators/mergeScan\");\nObject.defineProperty(exports, \"mergeScan\", { enumerable: true, get: function () { return mergeScan_1.mergeScan; } });\nvar mergeWith_1 = require(\"./internal/operators/mergeWith\");\nObject.defineProperty(exports, \"mergeWith\", { enumerable: true, get: function () { return mergeWith_1.mergeWith; } });\nvar min_1 = require(\"./internal/operators/min\");\nObject.defineProperty(exports, \"min\", { enumerable: true, get: function () { return min_1.min; } });\nvar multicast_1 = require(\"./internal/operators/multicast\");\nObject.defineProperty(exports, \"multicast\", { enumerable: true, get: function () { return multicast_1.multicast; } });\nvar observeOn_1 = require(\"./internal/operators/observeOn\");\nObject.defineProperty(exports, \"observeOn\", { enumerable: true, get: function () { return observeOn_1.observeOn; } });\nvar onErrorResumeNextWith_1 = require(\"./internal/operators/onErrorResumeNextWith\");\nObject.defineProperty(exports, \"onErrorResumeNextWith\", { enumerable: true, get: function () { return onErrorResumeNextWith_1.onErrorResumeNextWith; } });\nvar pairwise_1 = require(\"./internal/operators/pairwise\");\nObject.defineProperty(exports, \"pairwise\", { enumerable: true, get: function () { return pairwise_1.pairwise; } });\nvar pluck_1 = require(\"./internal/operators/pluck\");\nObject.defineProperty(exports, \"pluck\", { enumerable: true, get: function () { return pluck_1.pluck; } });\nvar publish_1 = require(\"./internal/operators/publish\");\nObject.defineProperty(exports, \"publish\", { enumerable: true, get: function () { return publish_1.publish; } });\nvar publishBehavior_1 = require(\"./internal/operators/publishBehavior\");\nObject.defineProperty(exports, \"publishBehavior\", { enumerable: true, get: function () { return publishBehavior_1.publishBehavior; } });\nvar publishLast_1 = require(\"./internal/operators/publishLast\");\nObject.defineProperty(exports, \"publishLast\", { enumerable: true, get: function () { return publishLast_1.publishLast; } });\nvar publishReplay_1 = require(\"./internal/operators/publishReplay\");\nObject.defineProperty(exports, \"publishReplay\", { enumerable: true, get: function () { return publishReplay_1.publishReplay; } });\nvar raceWith_1 = require(\"./internal/operators/raceWith\");\nObject.defineProperty(exports, \"raceWith\", { enumerable: true, get: function () { return raceWith_1.raceWith; } });\nvar reduce_1 = require(\"./internal/operators/reduce\");\nObject.defineProperty(exports, \"reduce\", { enumerable: true, get: function () { return reduce_1.reduce; } });\nvar repeat_1 = require(\"./internal/operators/repeat\");\nObject.defineProperty(exports, \"repeat\", { enumerable: true, get: function () { return repeat_1.repeat; } });\nvar repeatWhen_1 = require(\"./internal/operators/repeatWhen\");\nObject.defineProperty(exports, \"repeatWhen\", { enumerable: true, get: function () { return repeatWhen_1.repeatWhen; } });\nvar retry_1 = require(\"./internal/operators/retry\");\nObject.defineProperty(exports, \"retry\", { enumerable: true, get: function () { return retry_1.retry; } });\nvar retryWhen_1 = require(\"./internal/operators/retryWhen\");\nObject.defineProperty(exports, \"retryWhen\", { enumerable: true, get: function () { return retryWhen_1.retryWhen; } });\nvar refCount_1 = require(\"./internal/operators/refCount\");\nObject.defineProperty(exports, \"refCount\", { enumerable: true, get: function () { return refCount_1.refCount; } });\nvar sample_1 = require(\"./internal/operators/sample\");\nObject.defineProperty(exports, \"sample\", { enumerable: true, get: function () { return sample_1.sample; } });\nvar sampleTime_1 = require(\"./internal/operators/sampleTime\");\nObject.defineProperty(exports, \"sampleTime\", { enumerable: true, get: function () { return sampleTime_1.sampleTime; } });\nvar scan_1 = require(\"./internal/operators/scan\");\nObject.defineProperty(exports, \"scan\", { enumerable: true, get: function () { return scan_1.scan; } });\nvar sequenceEqual_1 = require(\"./internal/operators/sequenceEqual\");\nObject.defineProperty(exports, \"sequenceEqual\", { enumerable: true, get: function () { return sequenceEqual_1.sequenceEqual; } });\nvar share_1 = require(\"./internal/operators/share\");\nObject.defineProperty(exports, \"share\", { enumerable: true, get: function () { return share_1.share; } });\nvar shareReplay_1 = require(\"./internal/operators/shareReplay\");\nObject.defineProperty(exports, \"shareReplay\", { enumerable: true, get: function () { return shareReplay_1.shareReplay; } });\nvar single_1 = require(\"./internal/operators/single\");\nObject.defineProperty(exports, \"single\", { enumerable: true, get: function () { return single_1.single; } });\nvar skip_1 = require(\"./internal/operators/skip\");\nObject.defineProperty(exports, \"skip\", { enumerable: true, get: function () { return skip_1.skip; } });\nvar skipLast_1 = require(\"./internal/operators/skipLast\");\nObject.defineProperty(exports, \"skipLast\", { enumerable: true, get: function () { return skipLast_1.skipLast; } });\nvar skipUntil_1 = require(\"./internal/operators/skipUntil\");\nObject.defineProperty(exports, \"skipUntil\", { enumerable: true, get: function () { return skipUntil_1.skipUntil; } });\nvar skipWhile_1 = require(\"./internal/operators/skipWhile\");\nObject.defineProperty(exports, \"skipWhile\", { enumerable: true, get: function () { return skipWhile_1.skipWhile; } });\nvar startWith_1 = require(\"./internal/operators/startWith\");\nObject.defineProperty(exports, \"startWith\", { enumerable: true, get: function () { return startWith_1.startWith; } });\nvar subscribeOn_1 = require(\"./internal/operators/subscribeOn\");\nObject.defineProperty(exports, \"subscribeOn\", { enumerable: true, get: function () { return subscribeOn_1.subscribeOn; } });\nvar switchAll_1 = require(\"./internal/operators/switchAll\");\nObject.defineProperty(exports, \"switchAll\", { enumerable: true, get: function () { return switchAll_1.switchAll; } });\nvar switchMap_1 = require(\"./internal/operators/switchMap\");\nObject.defineProperty(exports, \"switchMap\", { enumerable: true, get: function () { return switchMap_1.switchMap; } });\nvar switchMapTo_1 = require(\"./internal/operators/switchMapTo\");\nObject.defineProperty(exports, \"switchMapTo\", { enumerable: true, get: function () { return switchMapTo_1.switchMapTo; } });\nvar switchScan_1 = require(\"./internal/operators/switchScan\");\nObject.defineProperty(exports, \"switchScan\", { enumerable: true, get: function () { return switchScan_1.switchScan; } });\nvar take_1 = require(\"./internal/operators/take\");\nObject.defineProperty(exports, \"take\", { enumerable: true, get: function () { return take_1.take; } });\nvar takeLast_1 = require(\"./internal/operators/takeLast\");\nObject.defineProperty(exports, \"takeLast\", { enumerable: true, get: function () { return takeLast_1.takeLast; } });\nvar takeUntil_1 = require(\"./internal/operators/takeUntil\");\nObject.defineProperty(exports, \"takeUntil\", { enumerable: true, get: function () { return takeUntil_1.takeUntil; } });\nvar takeWhile_1 = require(\"./internal/operators/takeWhile\");\nObject.defineProperty(exports, \"takeWhile\", { enumerable: true, get: function () { return takeWhile_1.takeWhile; } });\nvar tap_1 = require(\"./internal/operators/tap\");\nObject.defineProperty(exports, \"tap\", { enumerable: true, get: function () { return tap_1.tap; } });\nvar throttle_1 = require(\"./internal/operators/throttle\");\nObject.defineProperty(exports, \"throttle\", { enumerable: true, get: function () { return throttle_1.throttle; } });\nvar throttleTime_1 = require(\"./internal/operators/throttleTime\");\nObject.defineProperty(exports, \"throttleTime\", { enumerable: true, get: function () { return throttleTime_1.throttleTime; } });\nvar throwIfEmpty_1 = require(\"./internal/operators/throwIfEmpty\");\nObject.defineProperty(exports, \"throwIfEmpty\", { enumerable: true, get: function () { return throwIfEmpty_1.throwIfEmpty; } });\nvar timeInterval_1 = require(\"./internal/operators/timeInterval\");\nObject.defineProperty(exports, \"timeInterval\", { enumerable: true, get: function () { return timeInterval_1.timeInterval; } });\nvar timeout_2 = require(\"./internal/operators/timeout\");\nObject.defineProperty(exports, \"timeout\", { enumerable: true, get: function () { return timeout_2.timeout; } });\nvar timeoutWith_1 = require(\"./internal/operators/timeoutWith\");\nObject.defineProperty(exports, \"timeoutWith\", { enumerable: true, get: function () { return timeoutWith_1.timeoutWith; } });\nvar timestamp_1 = require(\"./internal/operators/timestamp\");\nObject.defineProperty(exports, \"timestamp\", { enumerable: true, get: function () { return timestamp_1.timestamp; } });\nvar toArray_1 = require(\"./internal/operators/toArray\");\nObject.defineProperty(exports, \"toArray\", { enumerable: true, get: function () { return toArray_1.toArray; } });\nvar window_1 = require(\"./internal/operators/window\");\nObject.defineProperty(exports, \"window\", { enumerable: true, get: function () { return window_1.window; } });\nvar windowCount_1 = require(\"./internal/operators/windowCount\");\nObject.defineProperty(exports, \"windowCount\", { enumerable: true, get: function () { return windowCount_1.windowCount; } });\nvar windowTime_1 = require(\"./internal/operators/windowTime\");\nObject.defineProperty(exports, \"windowTime\", { enumerable: true, get: function () { return windowTime_1.windowTime; } });\nvar windowToggle_1 = require(\"./internal/operators/windowToggle\");\nObject.defineProperty(exports, \"windowToggle\", { enumerable: true, get: function () { return windowToggle_1.windowToggle; } });\nvar windowWhen_1 = require(\"./internal/operators/windowWhen\");\nObject.defineProperty(exports, \"windowWhen\", { enumerable: true, get: function () { return windowWhen_1.windowWhen; } });\nvar withLatestFrom_1 = require(\"./internal/operators/withLatestFrom\");\nObject.defineProperty(exports, \"withLatestFrom\", { enumerable: true, get: function () { return withLatestFrom_1.withLatestFrom; } });\nvar zipAll_1 = require(\"./internal/operators/zipAll\");\nObject.defineProperty(exports, \"zipAll\", { enumerable: true, get: function () { return zipAll_1.zipAll; } });\nvar zipWith_1 = require(\"./internal/operators/zipWith\");\nObject.defineProperty(exports, \"zipWith\", { enumerable: true, get: function () { return zipWith_1.zipWith; } });\n//# sourceMappingURL=index.js.map",
|
|
260
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.partition = void 0;\nvar not_1 = require(\"../util/not\");\nvar filter_1 = require(\"./filter\");\nfunction partition(predicate, thisArg) {\n return function (source) {\n return [filter_1.filter(predicate, thisArg)(source), filter_1.filter(not_1.not(predicate, thisArg))(source)];\n };\n}\nexports.partition = partition;\n//# sourceMappingURL=partition.js.map",
|
|
261
|
+
"\"use strict\";\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from) {\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\n to[j] = from[i];\n return to;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.race = void 0;\nvar argsOrArgArray_1 = require(\"../util/argsOrArgArray\");\nvar raceWith_1 = require(\"./raceWith\");\nfunction race() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return raceWith_1.raceWith.apply(void 0, __spreadArray([], __read(argsOrArgArray_1.argsOrArgArray(args))));\n}\nexports.race = race;\n//# sourceMappingURL=race.js.map",
|
|
262
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.mergeAll = exports.merge = exports.max = exports.materialize = exports.mapTo = exports.map = exports.last = exports.isEmpty = exports.ignoreElements = exports.groupBy = exports.first = exports.findIndex = exports.find = exports.finalize = exports.filter = exports.expand = exports.exhaustMap = exports.exhaustAll = exports.exhaust = exports.every = exports.endWith = exports.elementAt = exports.distinctUntilKeyChanged = exports.distinctUntilChanged = exports.distinct = exports.dematerialize = exports.delayWhen = exports.delay = exports.defaultIfEmpty = exports.debounceTime = exports.debounce = exports.count = exports.connect = exports.concatWith = exports.concatMapTo = exports.concatMap = exports.concatAll = exports.concat = exports.combineLatestWith = exports.combineLatest = exports.combineLatestAll = exports.combineAll = exports.catchError = exports.bufferWhen = exports.bufferToggle = exports.bufferTime = exports.bufferCount = exports.buffer = exports.auditTime = exports.audit = void 0;\nexports.timeInterval = exports.throwIfEmpty = exports.throttleTime = exports.throttle = exports.tap = exports.takeWhile = exports.takeUntil = exports.takeLast = exports.take = exports.switchScan = exports.switchMapTo = exports.switchMap = exports.switchAll = exports.subscribeOn = exports.startWith = exports.skipWhile = exports.skipUntil = exports.skipLast = exports.skip = exports.single = exports.shareReplay = exports.share = exports.sequenceEqual = exports.scan = exports.sampleTime = exports.sample = exports.refCount = exports.retryWhen = exports.retry = exports.repeatWhen = exports.repeat = exports.reduce = exports.raceWith = exports.race = exports.publishReplay = exports.publishLast = exports.publishBehavior = exports.publish = exports.pluck = exports.partition = exports.pairwise = exports.onErrorResumeNext = exports.observeOn = exports.multicast = exports.min = exports.mergeWith = exports.mergeScan = exports.mergeMapTo = exports.mergeMap = exports.flatMap = void 0;\nexports.zipWith = exports.zipAll = exports.zip = exports.withLatestFrom = exports.windowWhen = exports.windowToggle = exports.windowTime = exports.windowCount = exports.window = exports.toArray = exports.timestamp = exports.timeoutWith = exports.timeout = void 0;\nvar audit_1 = require(\"../internal/operators/audit\");\nObject.defineProperty(exports, \"audit\", { enumerable: true, get: function () { return audit_1.audit; } });\nvar auditTime_1 = require(\"../internal/operators/auditTime\");\nObject.defineProperty(exports, \"auditTime\", { enumerable: true, get: function () { return auditTime_1.auditTime; } });\nvar buffer_1 = require(\"../internal/operators/buffer\");\nObject.defineProperty(exports, \"buffer\", { enumerable: true, get: function () { return buffer_1.buffer; } });\nvar bufferCount_1 = require(\"../internal/operators/bufferCount\");\nObject.defineProperty(exports, \"bufferCount\", { enumerable: true, get: function () { return bufferCount_1.bufferCount; } });\nvar bufferTime_1 = require(\"../internal/operators/bufferTime\");\nObject.defineProperty(exports, \"bufferTime\", { enumerable: true, get: function () { return bufferTime_1.bufferTime; } });\nvar bufferToggle_1 = require(\"../internal/operators/bufferToggle\");\nObject.defineProperty(exports, \"bufferToggle\", { enumerable: true, get: function () { return bufferToggle_1.bufferToggle; } });\nvar bufferWhen_1 = require(\"../internal/operators/bufferWhen\");\nObject.defineProperty(exports, \"bufferWhen\", { enumerable: true, get: function () { return bufferWhen_1.bufferWhen; } });\nvar catchError_1 = require(\"../internal/operators/catchError\");\nObject.defineProperty(exports, \"catchError\", { enumerable: true, get: function () { return catchError_1.catchError; } });\nvar combineAll_1 = require(\"../internal/operators/combineAll\");\nObject.defineProperty(exports, \"combineAll\", { enumerable: true, get: function () { return combineAll_1.combineAll; } });\nvar combineLatestAll_1 = require(\"../internal/operators/combineLatestAll\");\nObject.defineProperty(exports, \"combineLatestAll\", { enumerable: true, get: function () { return combineLatestAll_1.combineLatestAll; } });\nvar combineLatest_1 = require(\"../internal/operators/combineLatest\");\nObject.defineProperty(exports, \"combineLatest\", { enumerable: true, get: function () { return combineLatest_1.combineLatest; } });\nvar combineLatestWith_1 = require(\"../internal/operators/combineLatestWith\");\nObject.defineProperty(exports, \"combineLatestWith\", { enumerable: true, get: function () { return combineLatestWith_1.combineLatestWith; } });\nvar concat_1 = require(\"../internal/operators/concat\");\nObject.defineProperty(exports, \"concat\", { enumerable: true, get: function () { return concat_1.concat; } });\nvar concatAll_1 = require(\"../internal/operators/concatAll\");\nObject.defineProperty(exports, \"concatAll\", { enumerable: true, get: function () { return concatAll_1.concatAll; } });\nvar concatMap_1 = require(\"../internal/operators/concatMap\");\nObject.defineProperty(exports, \"concatMap\", { enumerable: true, get: function () { return concatMap_1.concatMap; } });\nvar concatMapTo_1 = require(\"../internal/operators/concatMapTo\");\nObject.defineProperty(exports, \"concatMapTo\", { enumerable: true, get: function () { return concatMapTo_1.concatMapTo; } });\nvar concatWith_1 = require(\"../internal/operators/concatWith\");\nObject.defineProperty(exports, \"concatWith\", { enumerable: true, get: function () { return concatWith_1.concatWith; } });\nvar connect_1 = require(\"../internal/operators/connect\");\nObject.defineProperty(exports, \"connect\", { enumerable: true, get: function () { return connect_1.connect; } });\nvar count_1 = require(\"../internal/operators/count\");\nObject.defineProperty(exports, \"count\", { enumerable: true, get: function () { return count_1.count; } });\nvar debounce_1 = require(\"../internal/operators/debounce\");\nObject.defineProperty(exports, \"debounce\", { enumerable: true, get: function () { return debounce_1.debounce; } });\nvar debounceTime_1 = require(\"../internal/operators/debounceTime\");\nObject.defineProperty(exports, \"debounceTime\", { enumerable: true, get: function () { return debounceTime_1.debounceTime; } });\nvar defaultIfEmpty_1 = require(\"../internal/operators/defaultIfEmpty\");\nObject.defineProperty(exports, \"defaultIfEmpty\", { enumerable: true, get: function () { return defaultIfEmpty_1.defaultIfEmpty; } });\nvar delay_1 = require(\"../internal/operators/delay\");\nObject.defineProperty(exports, \"delay\", { enumerable: true, get: function () { return delay_1.delay; } });\nvar delayWhen_1 = require(\"../internal/operators/delayWhen\");\nObject.defineProperty(exports, \"delayWhen\", { enumerable: true, get: function () { return delayWhen_1.delayWhen; } });\nvar dematerialize_1 = require(\"../internal/operators/dematerialize\");\nObject.defineProperty(exports, \"dematerialize\", { enumerable: true, get: function () { return dematerialize_1.dematerialize; } });\nvar distinct_1 = require(\"../internal/operators/distinct\");\nObject.defineProperty(exports, \"distinct\", { enumerable: true, get: function () { return distinct_1.distinct; } });\nvar distinctUntilChanged_1 = require(\"../internal/operators/distinctUntilChanged\");\nObject.defineProperty(exports, \"distinctUntilChanged\", { enumerable: true, get: function () { return distinctUntilChanged_1.distinctUntilChanged; } });\nvar distinctUntilKeyChanged_1 = require(\"../internal/operators/distinctUntilKeyChanged\");\nObject.defineProperty(exports, \"distinctUntilKeyChanged\", { enumerable: true, get: function () { return distinctUntilKeyChanged_1.distinctUntilKeyChanged; } });\nvar elementAt_1 = require(\"../internal/operators/elementAt\");\nObject.defineProperty(exports, \"elementAt\", { enumerable: true, get: function () { return elementAt_1.elementAt; } });\nvar endWith_1 = require(\"../internal/operators/endWith\");\nObject.defineProperty(exports, \"endWith\", { enumerable: true, get: function () { return endWith_1.endWith; } });\nvar every_1 = require(\"../internal/operators/every\");\nObject.defineProperty(exports, \"every\", { enumerable: true, get: function () { return every_1.every; } });\nvar exhaust_1 = require(\"../internal/operators/exhaust\");\nObject.defineProperty(exports, \"exhaust\", { enumerable: true, get: function () { return exhaust_1.exhaust; } });\nvar exhaustAll_1 = require(\"../internal/operators/exhaustAll\");\nObject.defineProperty(exports, \"exhaustAll\", { enumerable: true, get: function () { return exhaustAll_1.exhaustAll; } });\nvar exhaustMap_1 = require(\"../internal/operators/exhaustMap\");\nObject.defineProperty(exports, \"exhaustMap\", { enumerable: true, get: function () { return exhaustMap_1.exhaustMap; } });\nvar expand_1 = require(\"../internal/operators/expand\");\nObject.defineProperty(exports, \"expand\", { enumerable: true, get: function () { return expand_1.expand; } });\nvar filter_1 = require(\"../internal/operators/filter\");\nObject.defineProperty(exports, \"filter\", { enumerable: true, get: function () { return filter_1.filter; } });\nvar finalize_1 = require(\"../internal/operators/finalize\");\nObject.defineProperty(exports, \"finalize\", { enumerable: true, get: function () { return finalize_1.finalize; } });\nvar find_1 = require(\"../internal/operators/find\");\nObject.defineProperty(exports, \"find\", { enumerable: true, get: function () { return find_1.find; } });\nvar findIndex_1 = require(\"../internal/operators/findIndex\");\nObject.defineProperty(exports, \"findIndex\", { enumerable: true, get: function () { return findIndex_1.findIndex; } });\nvar first_1 = require(\"../internal/operators/first\");\nObject.defineProperty(exports, \"first\", { enumerable: true, get: function () { return first_1.first; } });\nvar groupBy_1 = require(\"../internal/operators/groupBy\");\nObject.defineProperty(exports, \"groupBy\", { enumerable: true, get: function () { return groupBy_1.groupBy; } });\nvar ignoreElements_1 = require(\"../internal/operators/ignoreElements\");\nObject.defineProperty(exports, \"ignoreElements\", { enumerable: true, get: function () { return ignoreElements_1.ignoreElements; } });\nvar isEmpty_1 = require(\"../internal/operators/isEmpty\");\nObject.defineProperty(exports, \"isEmpty\", { enumerable: true, get: function () { return isEmpty_1.isEmpty; } });\nvar last_1 = require(\"../internal/operators/last\");\nObject.defineProperty(exports, \"last\", { enumerable: true, get: function () { return last_1.last; } });\nvar map_1 = require(\"../internal/operators/map\");\nObject.defineProperty(exports, \"map\", { enumerable: true, get: function () { return map_1.map; } });\nvar mapTo_1 = require(\"../internal/operators/mapTo\");\nObject.defineProperty(exports, \"mapTo\", { enumerable: true, get: function () { return mapTo_1.mapTo; } });\nvar materialize_1 = require(\"../internal/operators/materialize\");\nObject.defineProperty(exports, \"materialize\", { enumerable: true, get: function () { return materialize_1.materialize; } });\nvar max_1 = require(\"../internal/operators/max\");\nObject.defineProperty(exports, \"max\", { enumerable: true, get: function () { return max_1.max; } });\nvar merge_1 = require(\"../internal/operators/merge\");\nObject.defineProperty(exports, \"merge\", { enumerable: true, get: function () { return merge_1.merge; } });\nvar mergeAll_1 = require(\"../internal/operators/mergeAll\");\nObject.defineProperty(exports, \"mergeAll\", { enumerable: true, get: function () { return mergeAll_1.mergeAll; } });\nvar flatMap_1 = require(\"../internal/operators/flatMap\");\nObject.defineProperty(exports, \"flatMap\", { enumerable: true, get: function () { return flatMap_1.flatMap; } });\nvar mergeMap_1 = require(\"../internal/operators/mergeMap\");\nObject.defineProperty(exports, \"mergeMap\", { enumerable: true, get: function () { return mergeMap_1.mergeMap; } });\nvar mergeMapTo_1 = require(\"../internal/operators/mergeMapTo\");\nObject.defineProperty(exports, \"mergeMapTo\", { enumerable: true, get: function () { return mergeMapTo_1.mergeMapTo; } });\nvar mergeScan_1 = require(\"../internal/operators/mergeScan\");\nObject.defineProperty(exports, \"mergeScan\", { enumerable: true, get: function () { return mergeScan_1.mergeScan; } });\nvar mergeWith_1 = require(\"../internal/operators/mergeWith\");\nObject.defineProperty(exports, \"mergeWith\", { enumerable: true, get: function () { return mergeWith_1.mergeWith; } });\nvar min_1 = require(\"../internal/operators/min\");\nObject.defineProperty(exports, \"min\", { enumerable: true, get: function () { return min_1.min; } });\nvar multicast_1 = require(\"../internal/operators/multicast\");\nObject.defineProperty(exports, \"multicast\", { enumerable: true, get: function () { return multicast_1.multicast; } });\nvar observeOn_1 = require(\"../internal/operators/observeOn\");\nObject.defineProperty(exports, \"observeOn\", { enumerable: true, get: function () { return observeOn_1.observeOn; } });\nvar onErrorResumeNextWith_1 = require(\"../internal/operators/onErrorResumeNextWith\");\nObject.defineProperty(exports, \"onErrorResumeNext\", { enumerable: true, get: function () { return onErrorResumeNextWith_1.onErrorResumeNext; } });\nvar pairwise_1 = require(\"../internal/operators/pairwise\");\nObject.defineProperty(exports, \"pairwise\", { enumerable: true, get: function () { return pairwise_1.pairwise; } });\nvar partition_1 = require(\"../internal/operators/partition\");\nObject.defineProperty(exports, \"partition\", { enumerable: true, get: function () { return partition_1.partition; } });\nvar pluck_1 = require(\"../internal/operators/pluck\");\nObject.defineProperty(exports, \"pluck\", { enumerable: true, get: function () { return pluck_1.pluck; } });\nvar publish_1 = require(\"../internal/operators/publish\");\nObject.defineProperty(exports, \"publish\", { enumerable: true, get: function () { return publish_1.publish; } });\nvar publishBehavior_1 = require(\"../internal/operators/publishBehavior\");\nObject.defineProperty(exports, \"publishBehavior\", { enumerable: true, get: function () { return publishBehavior_1.publishBehavior; } });\nvar publishLast_1 = require(\"../internal/operators/publishLast\");\nObject.defineProperty(exports, \"publishLast\", { enumerable: true, get: function () { return publishLast_1.publishLast; } });\nvar publishReplay_1 = require(\"../internal/operators/publishReplay\");\nObject.defineProperty(exports, \"publishReplay\", { enumerable: true, get: function () { return publishReplay_1.publishReplay; } });\nvar race_1 = require(\"../internal/operators/race\");\nObject.defineProperty(exports, \"race\", { enumerable: true, get: function () { return race_1.race; } });\nvar raceWith_1 = require(\"../internal/operators/raceWith\");\nObject.defineProperty(exports, \"raceWith\", { enumerable: true, get: function () { return raceWith_1.raceWith; } });\nvar reduce_1 = require(\"../internal/operators/reduce\");\nObject.defineProperty(exports, \"reduce\", { enumerable: true, get: function () { return reduce_1.reduce; } });\nvar repeat_1 = require(\"../internal/operators/repeat\");\nObject.defineProperty(exports, \"repeat\", { enumerable: true, get: function () { return repeat_1.repeat; } });\nvar repeatWhen_1 = require(\"../internal/operators/repeatWhen\");\nObject.defineProperty(exports, \"repeatWhen\", { enumerable: true, get: function () { return repeatWhen_1.repeatWhen; } });\nvar retry_1 = require(\"../internal/operators/retry\");\nObject.defineProperty(exports, \"retry\", { enumerable: true, get: function () { return retry_1.retry; } });\nvar retryWhen_1 = require(\"../internal/operators/retryWhen\");\nObject.defineProperty(exports, \"retryWhen\", { enumerable: true, get: function () { return retryWhen_1.retryWhen; } });\nvar refCount_1 = require(\"../internal/operators/refCount\");\nObject.defineProperty(exports, \"refCount\", { enumerable: true, get: function () { return refCount_1.refCount; } });\nvar sample_1 = require(\"../internal/operators/sample\");\nObject.defineProperty(exports, \"sample\", { enumerable: true, get: function () { return sample_1.sample; } });\nvar sampleTime_1 = require(\"../internal/operators/sampleTime\");\nObject.defineProperty(exports, \"sampleTime\", { enumerable: true, get: function () { return sampleTime_1.sampleTime; } });\nvar scan_1 = require(\"../internal/operators/scan\");\nObject.defineProperty(exports, \"scan\", { enumerable: true, get: function () { return scan_1.scan; } });\nvar sequenceEqual_1 = require(\"../internal/operators/sequenceEqual\");\nObject.defineProperty(exports, \"sequenceEqual\", { enumerable: true, get: function () { return sequenceEqual_1.sequenceEqual; } });\nvar share_1 = require(\"../internal/operators/share\");\nObject.defineProperty(exports, \"share\", { enumerable: true, get: function () { return share_1.share; } });\nvar shareReplay_1 = require(\"../internal/operators/shareReplay\");\nObject.defineProperty(exports, \"shareReplay\", { enumerable: true, get: function () { return shareReplay_1.shareReplay; } });\nvar single_1 = require(\"../internal/operators/single\");\nObject.defineProperty(exports, \"single\", { enumerable: true, get: function () { return single_1.single; } });\nvar skip_1 = require(\"../internal/operators/skip\");\nObject.defineProperty(exports, \"skip\", { enumerable: true, get: function () { return skip_1.skip; } });\nvar skipLast_1 = require(\"../internal/operators/skipLast\");\nObject.defineProperty(exports, \"skipLast\", { enumerable: true, get: function () { return skipLast_1.skipLast; } });\nvar skipUntil_1 = require(\"../internal/operators/skipUntil\");\nObject.defineProperty(exports, \"skipUntil\", { enumerable: true, get: function () { return skipUntil_1.skipUntil; } });\nvar skipWhile_1 = require(\"../internal/operators/skipWhile\");\nObject.defineProperty(exports, \"skipWhile\", { enumerable: true, get: function () { return skipWhile_1.skipWhile; } });\nvar startWith_1 = require(\"../internal/operators/startWith\");\nObject.defineProperty(exports, \"startWith\", { enumerable: true, get: function () { return startWith_1.startWith; } });\nvar subscribeOn_1 = require(\"../internal/operators/subscribeOn\");\nObject.defineProperty(exports, \"subscribeOn\", { enumerable: true, get: function () { return subscribeOn_1.subscribeOn; } });\nvar switchAll_1 = require(\"../internal/operators/switchAll\");\nObject.defineProperty(exports, \"switchAll\", { enumerable: true, get: function () { return switchAll_1.switchAll; } });\nvar switchMap_1 = require(\"../internal/operators/switchMap\");\nObject.defineProperty(exports, \"switchMap\", { enumerable: true, get: function () { return switchMap_1.switchMap; } });\nvar switchMapTo_1 = require(\"../internal/operators/switchMapTo\");\nObject.defineProperty(exports, \"switchMapTo\", { enumerable: true, get: function () { return switchMapTo_1.switchMapTo; } });\nvar switchScan_1 = require(\"../internal/operators/switchScan\");\nObject.defineProperty(exports, \"switchScan\", { enumerable: true, get: function () { return switchScan_1.switchScan; } });\nvar take_1 = require(\"../internal/operators/take\");\nObject.defineProperty(exports, \"take\", { enumerable: true, get: function () { return take_1.take; } });\nvar takeLast_1 = require(\"../internal/operators/takeLast\");\nObject.defineProperty(exports, \"takeLast\", { enumerable: true, get: function () { return takeLast_1.takeLast; } });\nvar takeUntil_1 = require(\"../internal/operators/takeUntil\");\nObject.defineProperty(exports, \"takeUntil\", { enumerable: true, get: function () { return takeUntil_1.takeUntil; } });\nvar takeWhile_1 = require(\"../internal/operators/takeWhile\");\nObject.defineProperty(exports, \"takeWhile\", { enumerable: true, get: function () { return takeWhile_1.takeWhile; } });\nvar tap_1 = require(\"../internal/operators/tap\");\nObject.defineProperty(exports, \"tap\", { enumerable: true, get: function () { return tap_1.tap; } });\nvar throttle_1 = require(\"../internal/operators/throttle\");\nObject.defineProperty(exports, \"throttle\", { enumerable: true, get: function () { return throttle_1.throttle; } });\nvar throttleTime_1 = require(\"../internal/operators/throttleTime\");\nObject.defineProperty(exports, \"throttleTime\", { enumerable: true, get: function () { return throttleTime_1.throttleTime; } });\nvar throwIfEmpty_1 = require(\"../internal/operators/throwIfEmpty\");\nObject.defineProperty(exports, \"throwIfEmpty\", { enumerable: true, get: function () { return throwIfEmpty_1.throwIfEmpty; } });\nvar timeInterval_1 = require(\"../internal/operators/timeInterval\");\nObject.defineProperty(exports, \"timeInterval\", { enumerable: true, get: function () { return timeInterval_1.timeInterval; } });\nvar timeout_1 = require(\"../internal/operators/timeout\");\nObject.defineProperty(exports, \"timeout\", { enumerable: true, get: function () { return timeout_1.timeout; } });\nvar timeoutWith_1 = require(\"../internal/operators/timeoutWith\");\nObject.defineProperty(exports, \"timeoutWith\", { enumerable: true, get: function () { return timeoutWith_1.timeoutWith; } });\nvar timestamp_1 = require(\"../internal/operators/timestamp\");\nObject.defineProperty(exports, \"timestamp\", { enumerable: true, get: function () { return timestamp_1.timestamp; } });\nvar toArray_1 = require(\"../internal/operators/toArray\");\nObject.defineProperty(exports, \"toArray\", { enumerable: true, get: function () { return toArray_1.toArray; } });\nvar window_1 = require(\"../internal/operators/window\");\nObject.defineProperty(exports, \"window\", { enumerable: true, get: function () { return window_1.window; } });\nvar windowCount_1 = require(\"../internal/operators/windowCount\");\nObject.defineProperty(exports, \"windowCount\", { enumerable: true, get: function () { return windowCount_1.windowCount; } });\nvar windowTime_1 = require(\"../internal/operators/windowTime\");\nObject.defineProperty(exports, \"windowTime\", { enumerable: true, get: function () { return windowTime_1.windowTime; } });\nvar windowToggle_1 = require(\"../internal/operators/windowToggle\");\nObject.defineProperty(exports, \"windowToggle\", { enumerable: true, get: function () { return windowToggle_1.windowToggle; } });\nvar windowWhen_1 = require(\"../internal/operators/windowWhen\");\nObject.defineProperty(exports, \"windowWhen\", { enumerable: true, get: function () { return windowWhen_1.windowWhen; } });\nvar withLatestFrom_1 = require(\"../internal/operators/withLatestFrom\");\nObject.defineProperty(exports, \"withLatestFrom\", { enumerable: true, get: function () { return withLatestFrom_1.withLatestFrom; } });\nvar zip_1 = require(\"../internal/operators/zip\");\nObject.defineProperty(exports, \"zip\", { enumerable: true, get: function () { return zip_1.zip; } });\nvar zipAll_1 = require(\"../internal/operators/zipAll\");\nObject.defineProperty(exports, \"zipAll\", { enumerable: true, get: function () { return zipAll_1.zipAll; } });\nvar zipWith_1 = require(\"../internal/operators/zipWith\");\nObject.defineProperty(exports, \"zipWith\", { enumerable: true, get: function () { return zipWith_1.zipWith; } });\n//# sourceMappingURL=index.js.map",
|
|
263
|
+
"/* Source-level rewrite that swaps `provideRouter(...)` call sites in\n * Angular page modules for AbsoluteJS's `__abs_provideRouter` shim.\n * The shim wraps the real `@angular/router` `provideRouter`, records\n * the `Routes` argument in a `WeakMap` keyed by the returned\n * `EnvironmentProviders`, and returns the same providers — so Angular\n * boots identically while the sitemap pipeline can read the route\n * table off the page module's `providers` export without re-running\n * the user's handler or bootstrapping a stub app.\n *\n * Applied at source-read time in both the JIT (dev) and AOT (prod)\n * Angular compile pipelines. ESM live-binding semantics make a runtime\n * monkey-patch infeasible (`@angular/router`'s exports are frozen in\n * Bun), so the rewrite happens before the source ever reaches the\n * compiler. */\n\nconst ROUTER_IMPORT_PATTERN =\n\t/import\\s*(?:type\\s+)?\\{[^}]*\\bprovideRouter\\b[^}]*\\}\\s*from\\s*['\"]@angular\\/router['\"]/;\n\nconst PROVIDE_ROUTER_CALL_PATTERN = /\\bprovideRouter\\s*\\(/g;\n\nconst CAPTURE_IMPORT_STATEMENT =\n\t\"import { __abs_provideRouter } from '@absolutejs/absolute/angular';\\n\";\n\nconst SHIM_MARKER = '__abs_provideRouter';\n\n/** Returns the source with `provideRouter(...)` calls rewritten to use\n * AbsoluteJS's capturing shim. Idempotent: returns the source unchanged\n * when no `@angular/router` import is present or when the shim has\n * already been injected. */\nexport const rewriteAngularProvideRouter = (source: string): string => {\n\tif (source.includes(SHIM_MARKER)) return source;\n\tif (!ROUTER_IMPORT_PATTERN.test(source)) return source;\n\tif (!PROVIDE_ROUTER_CALL_PATTERN.test(source)) return source;\n\tPROVIDE_ROUTER_CALL_PATTERN.lastIndex = 0;\n\n\tconst rewritten = source.replace(\n\t\tPROVIDE_ROUTER_CALL_PATTERN,\n\t\t'__abs_provideRouter('\n\t);\n\n\treturn `${CAPTURE_IMPORT_STATEMENT}${rewritten}`;\n};\n",
|
|
36
264
|
"import type { IslandFramework, IslandHydrate } from '../../types/island';\n\nexport type PageIslandUsage = {\n\tcomponent: string;\n\tframework: IslandFramework;\n\thydrate?: IslandHydrate;\n\tsource?: string;\n};\n\nconst islandFrameworks: IslandFramework[] = [\n\t'react',\n\t'svelte',\n\t'vue',\n\t'angular'\n];\n\nconst islandHydrationModes: IslandHydrate[] = [\n\t'load',\n\t'idle',\n\t'visible',\n\t'none'\n];\n\nconst isIslandFramework = (value: string): value is IslandFramework =>\n\tislandFrameworks.some((framework) => framework === value);\n\nconst isIslandHydrate = (value: string): value is IslandHydrate =>\n\tislandHydrationModes.some((hydrate) => hydrate === value);\n\nconst parseIslandTagAttributes = (attributeString: string) => {\n\tconst frameworkMatch = attributeString.match(\n\t\t/\\bframework\\s*=\\s*[\"']([^\"']+)[\"']/\n\t);\n\tconst componentMatch = attributeString.match(\n\t\t/\\bcomponent\\s*=\\s*[\"']([^\"']+)[\"']/\n\t);\n\tconst hydrateMatch = attributeString.match(\n\t\t/\\bhydrate\\s*=\\s*[\"']([^\"']+)[\"']/\n\t);\n\tconst framework = frameworkMatch?.[1];\n\tconst component = componentMatch?.[1];\n\tif (!framework || !component) {\n\t\treturn null;\n\t}\n\tif (!isIslandFramework(framework)) {\n\t\treturn null;\n\t}\n\n\tconst hydrateCandidate = hydrateMatch?.[1];\n\n\treturn {\n\t\tcomponent,\n\t\tframework,\n\t\thydrate:\n\t\t\thydrateCandidate && isIslandHydrate(hydrateCandidate)\n\t\t\t\t? hydrateCandidate\n\t\t\t\t: undefined\n\t} satisfies PageIslandUsage;\n};\n\nconst normalizeUsage = (usage: PageIslandUsage) =>\n\t`${usage.framework}:${usage.component}:${usage.hydrate ?? ''}`;\n\nconst addUsage = (\n\tusageMap: Map<string, PageIslandUsage>,\n\tusage: PageIslandUsage | null\n) => {\n\tif (!usage) return;\n\tusageMap.set(normalizeUsage(usage), usage);\n};\n\nconst addRenderCallUsage = (\n\tusageMap: Map<string, PageIslandUsage>,\n\tmatch: RegExpExecArray\n) => {\n\tconst [, framework, component, hydrate] = match;\n\tif (!framework || !component || !isIslandFramework(framework)) {\n\t\treturn;\n\t}\n\n\taddUsage(usageMap, {\n\t\tcomponent,\n\t\tframework,\n\t\thydrate: hydrate && isIslandHydrate(hydrate) ? hydrate : undefined\n\t});\n};\n\nexport const buildIslandMetadataExports = (source: string) => {\n\tconst usages = extractIslandUsagesFromSource(source);\n\tconst serialized = JSON.stringify(usages);\n\n\treturn `\\nexport const __ABSOLUTE_PAGE_ISLANDS__ = ${serialized};\\nexport const __ABSOLUTE_PAGE_HAS_ISLANDS__ = ${usages.length > 0};\\n`;\n};\nexport const extractIslandUsagesFromSource = (source: string) => {\n\tconst usageMap = new Map<string, PageIslandUsage>();\n\n\tconst islandTagRegex =\n\t\t/<Island\\b([\\s\\S]*?)(?:\\/>|>(?:[\\s\\S]*?)<\\/Island>)/g;\n\tlet islandTagMatch = islandTagRegex.exec(source);\n\twhile (islandTagMatch) {\n\t\taddUsage(usageMap, parseIslandTagAttributes(islandTagMatch[1] ?? ''));\n\t\tislandTagMatch = islandTagRegex.exec(source);\n\t}\n\n\tconst absoluteIslandTagRegex =\n\t\t/<absolute-island\\b([\\s\\S]*?)(?:\\/>|>(?:[\\s\\S]*?)<\\/absolute-island>)/g;\n\tlet absoluteIslandMatch = absoluteIslandTagRegex.exec(source);\n\twhile (absoluteIslandMatch) {\n\t\taddUsage(\n\t\t\tusageMap,\n\t\t\tparseIslandTagAttributes(absoluteIslandMatch[1] ?? '')\n\t\t);\n\t\tabsoluteIslandMatch = absoluteIslandTagRegex.exec(source);\n\t}\n\n\tconst staticRenderCallRegex =\n\t\t/renderIsland\\s*\\(\\s*\\{[\\s\\S]*?\\bframework\\s*:\\s*['\"]([^'\"]+)['\"][\\s\\S]*?\\bcomponent\\s*:\\s*['\"]([^'\"]+)['\"](?:[\\s\\S]*?\\bhydrate\\s*:\\s*['\"]([^'\"]+)['\"])?[\\s\\S]*?\\}\\s*\\)/g;\n\tlet renderMatch = staticRenderCallRegex.exec(source);\n\twhile (renderMatch) {\n\t\taddRenderCallUsage(usageMap, renderMatch);\n\t\trenderMatch = staticRenderCallRegex.exec(source);\n\t}\n\n\treturn [...usageMap.values()];\n};\nexport const hasIslandUsageInSource = (source: string) =>\n\textractIslandUsagesFromSource(source).length > 0;\n",
|
|
37
265
|
"import { BASE_36_RADIX, MILLISECONDS_IN_A_SECOND } from '../constants';\n\nexport type LoweredAngularDeferSlot = {\n\tdelayMs: number;\n\terrorHtml: string | null;\n\tfallbackHtml: string;\n\tid: string;\n\tresolvedBindings: Array<{\n\t\texpression: string;\n\t\tkey: string;\n\t}>;\n\tresolvedHtml: string;\n\tresolvedTemplate: string;\n};\n\nexport type LoweredAngularDeferResult = {\n\tslots: LoweredAngularDeferSlot[];\n\ttemplate: string;\n\ttransformed: boolean;\n};\n\nconst isInterpolatedExpressionStart = (value: string, index: number) =>\n\tvalue[index] === '{' && value[index + 1] === '{';\n\nconst skipInterpolatedExpression = (value: string, start: number) => {\n\tconst cursor = start + 2;\n\twhile (cursor < value.length - 1) {\n\t\tconst end = value.indexOf('}}', cursor);\n\t\tif (end < 0) {\n\t\t\treturn value.length;\n\t\t}\n\n\t\treturn end + 2;\n\t}\n\n\treturn value.length;\n};\n\nconst updateBlockDepth = (char: string, depth: number) => {\n\tif (char === '{') {\n\t\treturn depth + 1;\n\t}\n\n\tif (char === '}') {\n\t\treturn depth - 1;\n\t}\n\n\treturn depth;\n};\n\nconst updateParenthesisDepth = (char: string, depth: number) => {\n\tif (char === '(') {\n\t\treturn depth + 1;\n\t}\n\n\tif (char === ')') {\n\t\treturn depth - 1;\n\t}\n\n\treturn depth;\n};\n\nconst appendResolvedChunk = (\n\tvalue: string,\n\ttemplate: string,\n\tcursor: number,\n\tinterpolationStart: number\n) => {\n\tconst nextTemplate = template + value.slice(cursor, interpolationStart);\n\tconst nextCursor = skipInterpolatedExpression(value, interpolationStart);\n\tif (nextCursor > value.length) {\n\t\treturn {\n\t\t\tbindings: undefined,\n\t\t\tcursor: value.length,\n\t\t\tdone: true,\n\t\t\ttemplate: nextTemplate + value.slice(interpolationStart)\n\t\t};\n\t}\n\n\tconst expression = value\n\t\t.slice(interpolationStart + 2, nextCursor - 2)\n\t\t.trim();\n\n\treturn {\n\t\tbindings: expression,\n\t\tcursor: nextCursor,\n\t\tdone: false,\n\t\ttemplate: nextTemplate\n\t};\n};\n\nconst appendTrailingTemplate = (\n\tvalue: string,\n\ttemplate: string,\n\tcursor: number\n) => template + value.slice(cursor);\n\nconst consumeDeferredAuxiliaryBlock = (input: {\n\tcursorAfterResolved: number;\n\tkeyword: '@error' | '@placeholder';\n\ttemplate: string;\n}) => {\n\tconst parsedBlock = parseDeferredAuxiliaryBlock(\n\t\tinput.template,\n\t\tinput.cursorAfterResolved,\n\t\tinput.keyword\n\t);\n\tif (!parsedBlock) {\n\t\treturn null;\n\t}\n\n\treturn {\n\t\tcontent: parsedBlock.content.trim(),\n\t\tnextIndex:\n\t\t\tinput.keyword === '@placeholder'\n\t\t\t\t? skipWhitespace(input.template, parsedBlock.nextIndex)\n\t\t\t\t: parsedBlock.nextIndex\n\t};\n};\n\nconst resolveDeferSlotStart = (\n\ttemplate: string,\n\tdeferIndex: number,\n\tmarkerCursor: number\n) => {\n\tconst nextMarkerCursor = skipWhitespace(template, markerCursor);\n\tif (template[nextMarkerCursor] === '{') {\n\t\treturn {\n\t\t\tchanged: false,\n\t\t\tcursor: deferIndex,\n\t\t\tmarkerCursor: nextMarkerCursor,\n\t\t\ttemplatePrefix: ''\n\t\t};\n\t}\n\n\treturn {\n\t\tchanged: true,\n\t\tcursor: deferIndex + '@defer'.length,\n\t\tmarkerCursor: nextMarkerCursor,\n\t\ttemplatePrefix: '@defer'\n\t};\n};\n\nconst consumeBlockCursor = (\n\tvalue: string,\n\tstart: number,\n\tcursor: number,\n\tdepth: number\n) => {\n\tif (isInterpolatedExpressionStart(value, cursor)) {\n\t\treturn {\n\t\t\tcursor: skipInterpolatedExpression(value, cursor),\n\t\t\tdepth,\n\t\t\tresult: null\n\t\t};\n\t}\n\n\tconst char = value[cursor] ?? '';\n\tconst nextDepth = updateBlockDepth(char, depth);\n\tif (char === '}' && nextDepth === 0) {\n\t\treturn {\n\t\t\tcursor,\n\t\t\tdepth,\n\t\t\tresult: {\n\t\t\t\tcontent: value.slice(start + 1, cursor),\n\t\t\t\tnextIndex: cursor + 1\n\t\t\t}\n\t\t};\n\t}\n\n\treturn {\n\t\tcursor: cursor + 1,\n\t\tdepth: nextDepth,\n\t\tresult: null\n\t};\n};\n\nconst consumeResolvedTemplateChunk = (\n\tvalue: string,\n\ttemplate: string,\n\tcursor: number,\n\tbindingsLength: number\n) => {\n\tconst interpolationStart = value.indexOf('{{', cursor);\n\tif (interpolationStart < 0) {\n\t\treturn {\n\t\t\tbinding: null,\n\t\t\tcursor,\n\t\t\tdone: true,\n\t\t\ttemplate: appendTrailingTemplate(value, template, cursor)\n\t\t};\n\t}\n\n\tconst nextChunk = appendResolvedChunk(\n\t\tvalue,\n\t\ttemplate,\n\t\tcursor,\n\t\tinterpolationStart\n\t);\n\tif (nextChunk.done || nextChunk.bindings === undefined) {\n\t\treturn {\n\t\t\tbinding: null,\n\t\t\tcursor,\n\t\t\tdone: true,\n\t\t\ttemplate: nextChunk.template\n\t\t};\n\t}\n\n\tconst key = `e${bindingsLength.toString(BASE_36_RADIX)}`;\n\n\treturn {\n\t\tbinding: {\n\t\t\texpression: nextChunk.bindings,\n\t\t\tkey\n\t\t},\n\t\tcursor: nextChunk.cursor,\n\t\tdone: false,\n\t\ttemplate: `${nextChunk.template}{{ slotData[\"${key}\"] }}`\n\t};\n};\n\nconst readNextDeferBlock = (template: string, cursor: number) => {\n\tconst deferIndex = template.indexOf('@defer', cursor);\n\tif (deferIndex < 0) {\n\t\treturn null;\n\t}\n\n\treturn {\n\t\tdeferIndex,\n\t\tprefix: template.slice(cursor, deferIndex)\n\t};\n};\n\nconst buildDeferredSlot = (input: {\n\tcursorAfterResolved: number;\n\terrorHtml: string | null;\n\tplaceholderHtml: string;\n\tresolvedBlock: { content: string; nextIndex: number };\n\tslotIndex: number;\n\ttriggerExpression: string | undefined;\n}) => {\n\tconst {\n\t\tcursorAfterResolved,\n\t\terrorHtml,\n\t\tplaceholderHtml,\n\t\tresolvedBlock,\n\t\tslotIndex,\n\t\ttriggerExpression\n\t} = input;\n\tconst resolvedHtml = resolvedBlock.content.trim();\n\tconst transformedResolved = transformResolvedTemplate(resolvedHtml);\n\tconst id = `absolute-angular-defer-${slotIndex.toString(BASE_36_RADIX)}`;\n\tconst slot: LoweredAngularDeferSlot = {\n\t\tdelayMs: parseDelayMs(triggerExpression),\n\t\terrorHtml,\n\t\tfallbackHtml: placeholderHtml,\n\t\tid,\n\t\tresolvedBindings: transformedResolved.bindings,\n\t\tresolvedHtml,\n\t\tresolvedTemplate: transformedResolved.template\n\t};\n\n\treturn {\n\t\tcursorAfterResolved,\n\t\tmarkup: `<abs-defer-slot [id]=\"'${id}'\" [resolve]=\"__absoluteDeferResolvePayload${slotIndex}\">${buildSlotTemplates(slot)}</abs-defer-slot>`,\n\t\tslot\n\t};\n};\n\nconst applyConsumedResolvedTemplateChunk = (\n\tbindings: Array<{ expression: string; key: string }>,\n\tnextChunk: {\n\t\tbinding: { expression: string; key: string } | null;\n\t\tcursor: number;\n\t\tdone: boolean;\n\t\ttemplate: string;\n\t}\n) => {\n\tif (nextChunk.binding) {\n\t\tbindings.push(nextChunk.binding);\n\t}\n\n\treturn {\n\t\tcursor: nextChunk.done ? Number.POSITIVE_INFINITY : nextChunk.cursor,\n\t\tdone: nextChunk.done,\n\t\ttemplate: nextChunk.template\n\t};\n};\n\nconst applyConsumedDeferredBlock = (\n\tcontent: string | null,\n\tparsedBlock: { content: string; nextIndex: number } | null,\n\tcursorAfterResolved: number\n) => {\n\tif (!parsedBlock) {\n\t\treturn {\n\t\t\tcontent,\n\t\t\tcursorAfterResolved\n\t\t};\n\t}\n\n\treturn {\n\t\tcontent: parsedBlock.content || null,\n\t\tcursorAfterResolved: parsedBlock.nextIndex\n\t};\n};\n\nconst applyConsumedPlaceholderBlock = (\n\tplaceholderHtml: string,\n\tparsedBlock: { content: string; nextIndex: number } | null,\n\tcursorAfterResolved: number\n) => {\n\tconst nextState = applyConsumedDeferredBlock(\n\t\tplaceholderHtml,\n\t\tparsedBlock,\n\t\tcursorAfterResolved\n\t);\n\n\treturn {\n\t\tcursorAfterResolved: nextState.cursorAfterResolved,\n\t\tplaceholderHtml: nextState.content ?? ''\n\t};\n};\n\nconst applyConsumedErrorBlock = (\n\terrorHtml: string | null,\n\tparsedBlock: { content: string; nextIndex: number } | null,\n\tcursorAfterResolved: number\n) => {\n\tconst nextState = applyConsumedDeferredBlock(\n\t\terrorHtml,\n\t\tparsedBlock,\n\t\tcursorAfterResolved\n\t);\n\n\treturn {\n\t\tcursorAfterResolved: nextState.cursorAfterResolved,\n\t\terrorHtml: nextState.content\n\t};\n};\n\nconst resolveNextLoweredTemplateChunk = (template: string, cursor: number) => {\n\tconst nextDeferBlock = readNextDeferBlock(template, cursor);\n\tif (nextDeferBlock) {\n\t\treturn nextDeferBlock;\n\t}\n\n\treturn {\n\t\tdeferIndex: -1,\n\t\tprefix: template.slice(cursor)\n\t};\n};\n\nconst applyInvalidDeferSlotStart = (\n\tloweredTemplate: string,\n\tslotStart: {\n\t\tchanged: boolean;\n\t\tcursor: number;\n\t\tmarkerCursor: number;\n\t\ttemplatePrefix: string;\n\t}\n) => {\n\tif (!slotStart.changed) {\n\t\treturn null;\n\t}\n\n\treturn {\n\t\tchanged: true,\n\t\tcursor: slotStart.cursor,\n\t\ttemplate: loweredTemplate + slotStart.templatePrefix\n\t};\n};\n\nconst applyEmptyResolvedBlock = (\n\tloweredTemplate: string,\n\ttemplate: string,\n\tdeferIndex: number,\n\tresolvedBlock: { content: string; nextIndex: number }\n) => {\n\tif (resolvedBlock.content.trim()) {\n\t\treturn null;\n\t}\n\n\treturn {\n\t\tcursor: resolvedBlock.nextIndex,\n\t\ttemplate:\n\t\t\tloweredTemplate +\n\t\t\ttemplate.slice(deferIndex, resolvedBlock.nextIndex)\n\t};\n};\n\nconst applyNextLoweredTemplateChunk = (\n\tloweredTemplate: string,\n\tnextDeferBlock: { deferIndex: number; prefix: string }\n) => ({\n\tdeferIndex: nextDeferBlock.deferIndex,\n\tdone: nextDeferBlock.deferIndex < 0,\n\ttemplate: loweredTemplate + nextDeferBlock.prefix\n});\n\nconst applyParsedSlotStart = (\n\tchanged: boolean,\n\tcursor: number,\n\tloweredTemplate: string,\n\tslotStart: {\n\t\tchanged: boolean;\n\t\tcursor: number;\n\t\tmarkerCursor: number;\n\t\ttemplatePrefix: string;\n\t}\n) => {\n\tconst invalidSlotStart = applyInvalidDeferSlotStart(\n\t\tloweredTemplate,\n\t\tslotStart\n\t);\n\tif (!invalidSlotStart) {\n\t\treturn {\n\t\t\tchanged,\n\t\t\tcursor,\n\t\t\ttemplate: loweredTemplate\n\t\t};\n\t}\n\n\treturn {\n\t\tchanged: true,\n\t\tcursor: invalidSlotStart.cursor,\n\t\ttemplate: invalidSlotStart.template\n\t};\n};\n\nconst applyResolvedBlockState = (\n\tcursor: number,\n\tloweredTemplate: string,\n\ttemplate: string,\n\tdeferIndex: number,\n\tresolvedBlock: { content: string; nextIndex: number }\n) => {\n\tconst emptyResolvedBlock = applyEmptyResolvedBlock(\n\t\tloweredTemplate,\n\t\ttemplate,\n\t\tdeferIndex,\n\t\tresolvedBlock\n\t);\n\tif (!emptyResolvedBlock) {\n\t\treturn {\n\t\t\tcursor,\n\t\t\ttemplate: loweredTemplate\n\t\t};\n\t}\n\n\treturn emptyResolvedBlock;\n};\n\nconst consumeResolvedTemplateStep = (\n\tvalue: string,\n\ttemplate: string,\n\tcursor: number,\n\tbindings: Array<{ expression: string; key: string }>\n) => {\n\tconst nextChunk = consumeResolvedTemplateChunk(\n\t\tvalue,\n\t\ttemplate,\n\t\tcursor,\n\t\tbindings.length\n\t);\n\n\treturn applyConsumedResolvedTemplateChunk(bindings, nextChunk);\n};\n\nconst consumeLoweredDeferStep = (input: {\n\tchanged: boolean;\n\tcursor: number;\n\tloweredTemplate: string;\n\tslotIndex: number;\n\tslots: LoweredAngularDeferSlot[];\n\ttemplate: string;\n}) => {\n\tconst { changed, cursor, loweredTemplate, slotIndex, slots, template } =\n\t\tinput;\n\tconst nextDeferBlock = resolveNextLoweredTemplateChunk(template, cursor);\n\tconst nextLoweredChunk = applyNextLoweredTemplateChunk(\n\t\tloweredTemplate,\n\t\tnextDeferBlock\n\t);\n\tif (nextLoweredChunk.done) {\n\t\treturn null;\n\t}\n\n\tconst { deferIndex } = nextLoweredChunk;\n\tlet markerCursor = deferIndex + '@defer'.length;\n\tconst triggerInfo = parseOptionalTriggerExpression(template, markerCursor);\n\tconst { triggerExpression } = triggerInfo;\n\t({ markerCursor } = triggerInfo);\n\tconst slotStart = resolveDeferSlotStart(template, deferIndex, markerCursor);\n\t({ markerCursor } = slotStart);\n\tconst slotStartState = applyParsedSlotStart(\n\t\tchanged,\n\t\tcursor,\n\t\tnextLoweredChunk.template,\n\t\tslotStart\n\t);\n\tif (slotStartState.changed !== changed) {\n\t\treturn {\n\t\t\tchanged: slotStartState.changed,\n\t\t\tcursor: slotStartState.cursor,\n\t\t\tslotIndex,\n\t\t\ttemplate: slotStartState.template\n\t\t};\n\t}\n\n\tconst resolvedBlock = skipMatchingBlock(template, markerCursor);\n\tconst resolvedBlockState = applyResolvedBlockState(\n\t\tcursor,\n\t\tnextLoweredChunk.template,\n\t\ttemplate,\n\t\tdeferIndex,\n\t\tresolvedBlock\n\t);\n\tif (resolvedBlockState.cursor !== cursor) {\n\t\treturn {\n\t\t\tchanged,\n\t\t\tcursor: resolvedBlockState.cursor,\n\t\t\tslotIndex,\n\t\t\ttemplate: resolvedBlockState.template\n\t\t};\n\t}\n\n\tconst blockContent = parsePlaceholderAndErrorBlocks(\n\t\ttemplate,\n\t\tskipWhitespace(template, resolvedBlock.nextIndex)\n\t);\n\tconst builtSlot = buildDeferredSlot({\n\t\tcursorAfterResolved: blockContent.cursorAfterResolved,\n\t\terrorHtml: blockContent.errorHtml,\n\t\tplaceholderHtml: blockContent.placeholderHtml,\n\t\tresolvedBlock,\n\t\tslotIndex,\n\t\ttriggerExpression\n\t});\n\tslots.push(builtSlot.slot);\n\n\treturn {\n\t\tchanged: true,\n\t\tcursor: builtSlot.cursorAfterResolved,\n\t\tslotIndex: slotIndex + 1,\n\t\ttemplate: nextLoweredChunk.template + builtSlot.markup\n\t};\n};\n\nconst skipMatchingBlock = (\n\tvalue: string,\n\tstart: number\n): { content: string; nextIndex: number } => {\n\tif (value[start] !== '{') {\n\t\treturn { content: '', nextIndex: start };\n\t}\n\n\tlet cursor = start + 1;\n\tlet depth = 1;\n\n\twhile (cursor < value.length) {\n\t\tconst consumed = consumeBlockCursor(value, start, cursor, depth);\n\t\tif (consumed.result) {\n\t\t\treturn consumed.result;\n\t\t}\n\n\t\t({ cursor, depth } = consumed);\n\t}\n\n\treturn { content: value.slice(start + 1), nextIndex: value.length };\n};\n\nconst skipWhitespace = (value: string, index: number) => {\n\tlet cursor = index;\n\twhile (cursor < value.length && /\\s/.test(value[cursor] ?? '')) {\n\t\tcursor += 1;\n\t}\n\n\treturn cursor;\n};\n\nconst parseOptionalParenthesizedBlock = (\n\tvalue: string,\n\tindex: number\n): { expression: string; nextIndex: number } | null => {\n\tlet cursor = skipWhitespace(value, index);\n\tif (value[cursor] !== '(') {\n\t\treturn null;\n\t}\n\n\tcursor += 1;\n\tlet depth = 1;\n\tconst start = cursor;\n\n\twhile (cursor < value.length) {\n\t\tconst char = value[cursor] ?? '';\n\t\tconst nextDepth = updateParenthesisDepth(char, depth);\n\t\tif (char === ')' && nextDepth === 0) {\n\t\t\treturn {\n\t\t\t\texpression: value.slice(start, cursor),\n\t\t\t\tnextIndex: cursor + 1\n\t\t\t};\n\t\t}\n\n\t\tdepth = nextDepth;\n\t\tcursor += 1;\n\t}\n\n\treturn { expression: value.slice(start), nextIndex: value.length };\n};\n\nconst parseDelayMs = (triggerExpression: string | undefined) => {\n\tif (!triggerExpression) return 0;\n\tconst timerMsMatch = triggerExpression.match(/timer\\(\\s*(\\d+)\\s*ms\\s*\\)/i);\n\tif (timerMsMatch?.[1]) return Number.parseInt(timerMsMatch[1], 10);\n\tconst timerSecondsMatch = triggerExpression.match(\n\t\t/timer\\(\\s*(\\d+)\\s*s\\s*\\)/i\n\t);\n\tif (timerSecondsMatch?.[1]) {\n\t\treturn (\n\t\t\tNumber.parseInt(timerSecondsMatch[1], 10) * MILLISECONDS_IN_A_SECOND\n\t\t);\n\t}\n\n\tif (/\\bon\\s+immediate\\b/i.test(triggerExpression)) return 0;\n\tif (/\\bon\\s+idle\\b/i.test(triggerExpression)) return 1;\n\n\treturn 0;\n};\n\nconst transformResolvedTemplate = (value: string) => {\n\tconst bindings: Array<{ expression: string; key: string }> = [];\n\tlet template = '';\n\tlet cursor = 0;\n\n\twhile (cursor < value.length) {\n\t\tconst appliedChunk = consumeResolvedTemplateStep(\n\t\t\tvalue,\n\t\t\ttemplate,\n\t\t\tcursor,\n\t\t\tbindings\n\t\t);\n\t\t({ cursor, template } = appliedChunk);\n\t}\n\n\treturn {\n\t\tbindings,\n\t\ttemplate\n\t};\n};\n\nconst parseOptionalTriggerExpression = (\n\ttemplate: string,\n\tmarkerCursor: number\n) => {\n\tconst parsedTrigger = parseOptionalParenthesizedBlock(\n\t\ttemplate,\n\t\tmarkerCursor\n\t);\n\tif (!parsedTrigger) {\n\t\treturn {\n\t\t\tmarkerCursor,\n\t\t\ttriggerExpression: undefined\n\t\t};\n\t}\n\n\treturn {\n\t\tmarkerCursor: parsedTrigger.nextIndex,\n\t\ttriggerExpression: parsedTrigger.expression.trim()\n\t};\n};\n\nconst parseDeferredAuxiliaryBlock = (\n\ttemplate: string,\n\tcursorAfterResolved: number,\n\tkeyword: '@error' | '@placeholder'\n) => {\n\tif (!template.startsWith(keyword, cursorAfterResolved)) {\n\t\treturn null;\n\t}\n\n\tconst blockKeywordCursor = cursorAfterResolved + keyword.length;\n\tconst blockStart = skipWhitespace(template, blockKeywordCursor);\n\tif (template[blockStart] !== '{') {\n\t\treturn null;\n\t}\n\n\treturn skipMatchingBlock(template, blockStart);\n};\n\nconst parsePlaceholderAndErrorBlocks = (\n\ttemplate: string,\n\tstartCursor: number\n) => {\n\tlet cursorAfterResolved = startCursor;\n\tlet placeholderHtml = '';\n\tlet errorHtml: string | null = null;\n\n\tconst parsedPlaceholder = consumeDeferredAuxiliaryBlock({\n\t\tcursorAfterResolved,\n\t\tkeyword: '@placeholder',\n\t\ttemplate\n\t});\n\t({ placeholderHtml, cursorAfterResolved } = applyConsumedPlaceholderBlock(\n\t\tplaceholderHtml,\n\t\tparsedPlaceholder,\n\t\tcursorAfterResolved\n\t));\n\n\tconst parsedError = consumeDeferredAuxiliaryBlock({\n\t\tcursorAfterResolved,\n\t\tkeyword: '@error',\n\t\ttemplate\n\t});\n\t({ errorHtml, cursorAfterResolved } = applyConsumedErrorBlock(\n\t\terrorHtml,\n\t\tparsedError,\n\t\tcursorAfterResolved\n\t));\n\n\treturn {\n\t\tcursorAfterResolved,\n\t\terrorHtml,\n\t\tplaceholderHtml\n\t};\n};\n\nconst buildSlotTemplates = (slot: LoweredAngularDeferSlot) => {\n\tconst templates = [\n\t\t`<ng-template absDeferResolved let-slotData>${slot.resolvedTemplate}</ng-template>`\n\t];\n\n\tif (slot.fallbackHtml.length > 0) {\n\t\ttemplates.push(\n\t\t\t`<ng-template absDeferFallback>${slot.fallbackHtml}</ng-template>`\n\t\t);\n\t}\n\tif (slot.errorHtml) {\n\t\ttemplates.push(\n\t\t\t`<ng-template absDeferError>${slot.errorHtml}</ng-template>`\n\t\t);\n\t}\n\n\treturn templates.join('');\n};\n\nexport const lowerAngularDeferSyntax = (\n\ttemplate: string\n): LoweredAngularDeferResult => {\n\tif (!template.includes('@defer')) {\n\t\treturn {\n\t\t\tslots: [],\n\t\t\ttemplate,\n\t\t\ttransformed: false\n\t\t};\n\t}\n\n\tlet cursor = 0;\n\tlet slotIndex = 0;\n\tconst slots: LoweredAngularDeferSlot[] = [];\n\tlet loweredTemplate = '';\n\tlet changed = false;\n\tlet nextState = consumeLoweredDeferStep({\n\t\tchanged,\n\t\tcursor,\n\t\tloweredTemplate,\n\t\tslotIndex,\n\t\tslots,\n\t\ttemplate\n\t});\n\twhile (nextState) {\n\t\t({ changed, cursor, slotIndex, template: loweredTemplate } = nextState);\n\t\tnextState = consumeLoweredDeferStep({\n\t\t\tchanged,\n\t\t\tcursor,\n\t\t\tloweredTemplate,\n\t\t\tslotIndex,\n\t\t\tslots,\n\t\t\ttemplate\n\t\t});\n\t}\n\n\tconst transformedTemplate =\n\t\tslots.length > 0\n\t\t\t? loweredTemplate + template.slice(cursor)\n\t\t\t: template.replaceAll('@defer', '@defer');\n\n\treturn {\n\t\tslots,\n\t\ttemplate: transformedTemplate,\n\t\ttransformed: slots.length > 0\n\t};\n};\n",
|
|
38
266
|
"/* Single source of truth for the per-framework JIT/AOT intermediate\n * output location.\n *\n * Historically each framework compiler wrote its compiled output to\n * `<frameworkRoot>/generated/`, which leaked into the user's source\n * tree (e.g. `src/frontend/generated/`). The new convention places\n * every framework's intermediate output under\n * `<projectRoot>/.absolutejs/generated/<framework>/`, keeping `src/`\n * clean and centralizing all build cache state in one gitignored\n * directory.\n *\n * The relative-import semantics inside generated files are preserved:\n * the whole tree moves together, so a generated module's\n * `../foo.service.js` still resolves to a sibling generated file. The\n * load-bearing constraint is that `compileFramework` and the\n * downstream `core/build.ts` server/client root math both compute the\n * SAME path — which is what this helper guarantees. */\n\nimport { join } from 'node:path';\n\nexport type GeneratedFramework =\n\t| 'angular'\n\t| 'vue'\n\t| 'svelte'\n\t| 'react'\n\t| 'ember';\n\nconst GENERATED_DIR_NAME = 'generated';\nconst ABSOLUTE_CACHE_DIR_NAME = '.absolutejs';\n\nexport const getGeneratedRoot = (projectRoot: string = process.cwd()) =>\n\tjoin(projectRoot, ABSOLUTE_CACHE_DIR_NAME, GENERATED_DIR_NAME);\n\nexport const getFrameworkGeneratedDir = (\n\tframework: GeneratedFramework,\n\tprojectRoot: string = process.cwd()\n) => join(getGeneratedRoot(projectRoot), framework);\n",
|
|
39
|
-
"import { existsSync, readFileSync, promises as fs } from 'fs';\nimport { join, basename, sep, dirname, resolve, relative } from 'path';\nimport type { CompilerOptions } from '@angular/compiler-cli';\nimport { Glob } from 'bun';\nimport ts from 'typescript';\nimport { BASE_36_RADIX } from '../constants';\nimport { toPascal } from '../utils/stringModifiers';\nimport { buildIslandMetadataExports } from '../islands/sourceMetadata';\nimport {\n\tlowerAngularDeferSyntax,\n\ttype LoweredAngularDeferSlot\n} from '../angular/lowerDeferSyntax';\nimport {\n\tcompileStyleFileIfNeeded,\n\tcompileStyleFileIfNeededSync\n} from './stylePreprocessor';\nimport { getFrameworkGeneratedDir } from '../utils/generatedDir';\nimport type { StylePreprocessorConfig } from '../../types/build';\n\ntype SyncReadFile = (fileName: string) => string | undefined;\n\ntype BuildTracePhase = <T>(\n\tname: string,\n\tfn: () => Promise<T> | T,\n\tmetadata?: Record<string, unknown>\n) => Promise<T>;\n\nconst traceAngularPhase: BuildTracePhase = async (name, fn, metadata) => {\n\tconst tracePhase = (\n\t\tglobalThis as typeof globalThis & {\n\t\t\t__absoluteBuildTracePhase?: BuildTracePhase;\n\t\t}\n\t).__absoluteBuildTracePhase;\n\n\treturn tracePhase\n\t\t? tracePhase(`compile/angular/${name}`, fn, metadata)\n\t\t: await fn();\n};\n\ntype TsconfigPathAlias = {\n\tpattern: string;\n\treplacements: string[];\n};\n\nconst readTsconfigPathAliases = () => {\n\ttry {\n\t\tconst configPath = resolve(process.cwd(), 'tsconfig.json');\n\t\tconst config = ts.readConfigFile(configPath, ts.sys.readFile).config as\n\t\t\t| {\n\t\t\t\t\tcompilerOptions?: {\n\t\t\t\t\t\tbaseUrl?: string;\n\t\t\t\t\t\tpaths?: Record<string, string[]>;\n\t\t\t\t\t};\n\t\t\t }\n\t\t\t| undefined;\n\t\tconst compilerOptions = config?.compilerOptions ?? {};\n\t\tconst baseUrl = resolve(process.cwd(), compilerOptions.baseUrl ?? '.');\n\t\tconst aliases: TsconfigPathAlias[] = Object.entries(\n\t\t\tcompilerOptions.paths ?? {}\n\t\t).map(([pattern, replacements]) => ({ pattern, replacements }));\n\n\t\treturn { aliases, baseUrl };\n\t} catch {\n\t\treturn { aliases: [] as TsconfigPathAlias[], baseUrl: process.cwd() };\n\t}\n};\n\nconst matchTsconfigAlias = (\n\tspecifier: string,\n\taliases: TsconfigPathAlias[],\n\tbaseUrl: string,\n\tresolveSourceFile: (candidate: string) => string | undefined\n) => {\n\tfor (const alias of aliases) {\n\t\tconst wildcardIndex = alias.pattern.indexOf('*');\n\t\tconst exactMatch = wildcardIndex === -1;\n\t\tif (exactMatch && specifier !== alias.pattern) continue;\n\n\t\tconst prefix = exactMatch\n\t\t\t? alias.pattern\n\t\t\t: alias.pattern.slice(0, wildcardIndex);\n\t\tconst suffix = exactMatch ? '' : alias.pattern.slice(wildcardIndex + 1);\n\t\tif (\n\t\t\t!exactMatch &&\n\t\t\t(!specifier.startsWith(prefix) || !specifier.endsWith(suffix))\n\t\t) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst wildcardValue = exactMatch\n\t\t\t? ''\n\t\t\t: specifier.slice(prefix.length, specifier.length - suffix.length);\n\t\tfor (const replacement of alias.replacements) {\n\t\t\tconst candidate = replacement.replace('*', wildcardValue);\n\t\t\tconst resolved = resolveSourceFile(resolve(baseUrl, candidate));\n\t\t\tif (resolved) return resolved;\n\t\t}\n\t}\n\n\treturn undefined;\n};\n\nconst resolveSourceFile = (candidate: string) => {\n\tconst candidates = candidate.match(/\\.[cm]?[tj]sx?$/)\n\t\t? [candidate]\n\t\t: [\n\t\t\t\t`${candidate}.ts`,\n\t\t\t\t`${candidate}.tsx`,\n\t\t\t\t`${candidate}.js`,\n\t\t\t\t`${candidate}.jsx`,\n\t\t\t\tjoin(candidate, 'index.ts'),\n\t\t\t\tjoin(candidate, 'index.tsx'),\n\t\t\t\tjoin(candidate, 'index.js'),\n\t\t\t\tjoin(candidate, 'index.jsx')\n\t\t\t];\n\n\treturn candidates.find((file) => existsSync(file));\n};\n\nconst createLegacyAngularAnimationUsageResolver = (rootDir: string) => {\n\tconst baseDir = resolve(rootDir);\n\tconst tsconfigAliases = readTsconfigPathAliases();\n\tconst transpiler = new Bun.Transpiler({ loader: 'tsx' });\n\tconst scanCache = new Map<\n\t\tstring,\n\t\tPromise<{ imports: string[]; usesLegacyAnimations: boolean }>\n\t>();\n\n\tconst resolveLocalImport = (specifier: string, fromDir: string) => {\n\t\tif (specifier.startsWith('.') || specifier.startsWith('/')) {\n\t\t\treturn resolveSourceFile(resolve(fromDir, specifier));\n\t\t}\n\n\t\tconst aliased = matchTsconfigAlias(\n\t\t\tspecifier,\n\t\t\ttsconfigAliases.aliases,\n\t\t\ttsconfigAliases.baseUrl,\n\t\t\tresolveSourceFile\n\t\t);\n\t\tif (aliased) return aliased;\n\n\t\ttry {\n\t\t\tconst resolved = Bun.resolveSync(specifier, fromDir);\n\t\t\tif (resolved.includes('/node_modules/')) return undefined;\n\t\t\tconst absolute = resolve(resolved);\n\t\t\tif (!absolute.startsWith(baseDir)) return undefined;\n\n\t\t\treturn resolveSourceFile(absolute);\n\t\t} catch {\n\t\t\treturn undefined;\n\t\t}\n\t};\n\n\tconst scanFile = (filePath: string) => {\n\t\tconst actualPath = resolveSourceFile(filePath);\n\t\tif (!actualPath) {\n\t\t\treturn Promise.resolve({\n\t\t\t\timports: [],\n\t\t\t\tusesLegacyAnimations: false\n\t\t\t});\n\t\t}\n\t\tconst resolved = resolve(actualPath);\n\t\tconst cached = scanCache.get(resolved);\n\t\tif (cached) return cached;\n\n\t\tconst promise = (async () => {\n\t\t\tlet sourceCode: string;\n\t\t\ttry {\n\t\t\t\tsourceCode = await fs.readFile(resolved, 'utf-8');\n\t\t\t} catch {\n\t\t\t\treturn { imports: [], usesLegacyAnimations: false };\n\t\t\t}\n\n\t\t\tlet imports;\n\t\t\ttry {\n\t\t\t\timports = transpiler.scanImports(sourceCode);\n\t\t\t} catch {\n\t\t\t\treturn { imports: [], usesLegacyAnimations: false };\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\timports: imports.map((imp) => imp.path),\n\t\t\t\tusesLegacyAnimations: imports.some(\n\t\t\t\t\t(imp) => imp.path === '@angular/animations'\n\t\t\t\t)\n\t\t\t};\n\t\t})();\n\n\t\tscanCache.set(resolved, promise);\n\n\t\treturn promise;\n\t};\n\n\tconst visit = async (\n\t\tfilePath: string,\n\t\tvisited = new Set<string>()\n\t): Promise<boolean> => {\n\t\tconst actualPath = resolveSourceFile(filePath);\n\t\tif (!actualPath) return false;\n\t\tconst resolved = resolve(actualPath);\n\t\tif (visited.has(resolved)) return false;\n\t\tvisited.add(resolved);\n\n\t\tconst scan = await scanFile(resolved);\n\t\tif (scan.usesLegacyAnimations) return true;\n\n\t\tfor (const specifier of scan.imports) {\n\t\t\tconst importedPath = resolveLocalImport(\n\t\t\t\tspecifier,\n\t\t\t\tdirname(resolved)\n\t\t\t);\n\t\t\tif (importedPath && (await visit(importedPath, visited))) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t};\n\n\treturn (entryPath: string) => visit(entryPath);\n};\n\nconst resolveDevClientDir = () => {\n\tconst projectRoot = process.cwd();\n\tconst fromSource = resolve(import.meta.dir, '../dev/client');\n\n\tif (existsSync(fromSource) && fromSource.startsWith(projectRoot)) {\n\t\treturn fromSource;\n\t}\n\n\tconst fromNodeModules = resolve(\n\t\tprojectRoot,\n\t\t'node_modules/@absolutejs/absolute/dist/dev/client'\n\t);\n\tif (existsSync(fromNodeModules)) return fromNodeModules;\n\n\treturn resolve(import.meta.dir, './dev/client');\n};\n\nconst devClientDir = resolveDevClientDir();\n\nconst hmrClientPath = join(devClientDir, 'hmrClient.ts').replace(/\\\\/g, '/');\n\n/* Removed in favor of SURGICAL_HMR (§3.3 — Tier 0 / Tier 1\n * dispatch). The old proto-swap pipeline registered every\n * Component / Service / Directive / Pipe class on a global\n * `window.__ANGULAR_HMR__` registry so the client could attempt\n * an in-place prototype patch on edits. With surgical\n * `ɵɵreplaceMetadata` covering component edits and re-bootstrap\n * covering structural changes, neither code path consumes the\n * registry anymore — keeping the injection just produces dead\n * `if (window.__ANGULAR_HMR__) ...` blocks. The Bun loader plugin\n * (`src/dev/angular/hmrInjectionPlugin.ts`) is the only place\n * that still appends per-component HMR scaffolding, and it does\n * so for the surgical `__ng_hmr_load` listener instead. */\n\nconst formatDiagnosticMessage = (diagnostic: ts.Diagnostic) => {\n\ttry {\n\t\treturn ts.flattenDiagnosticMessageText(diagnostic.messageText, '\\n');\n\t} catch {\n\t\treturn String(diagnostic.messageText || 'Unknown error');\n\t}\n};\n\nconst throwOnCompilationErrors = (\n\tdiagnostics: readonly ts.Diagnostic[] | undefined\n) => {\n\tif (!diagnostics?.length) return;\n\n\tconst errors = diagnostics.filter(\n\t\t(diag) => diag.category === ts.DiagnosticCategory.Error\n\t);\n\tif (!errors.length) return;\n\n\tconst fullMessage = errors.map(formatDiagnosticMessage).join('\\n');\n\tconsole.error('Angular compilation errors:', fullMessage);\n\tthrow new Error(fullMessage);\n};\n\nconst resolveRelativePath = (\n\tfileName: string,\n\tresolvedOutDir: string,\n\toutDir: string\n) => {\n\tif (fileName.startsWith(resolvedOutDir))\n\t\treturn fileName.substring(resolvedOutDir.length + 1);\n\tif (fileName.startsWith(outDir))\n\t\treturn fileName.substring(outDir.length + 1);\n\n\treturn fileName;\n};\n\n/* Extensions that are valid module-import targets without rewriting.\n * `.json` is included so `import data from './foo.json'` survives the\n * angular compile pipeline's path rewriter — without it, the rewriter\n * would append `.js` to make `./foo.json.js`, which doesn't exist on\n * disk, and the dev module server returns 500 on the resulting URL. */\nconst hasJsLikeExtension = (path: string) =>\n\t/\\.(js|ts|mjs|cjs|json)$/.test(path);\n\nconst splitSpecifierAndQuery = (specifier: string) => {\n\tconst separator = specifier.indexOf('?');\n\tif (separator === -1) {\n\t\treturn {\n\t\t\tpath: specifier,\n\t\t\tquery: ''\n\t\t};\n\t}\n\n\treturn {\n\t\tpath: specifier.substring(0, separator),\n\t\tquery: specifier.substring(separator)\n\t};\n};\n\nconst rewriteRelativeJsSpecifier = (\n\timporterOutputPath: string,\n\tspecifier: string,\n\toutputFiles?: Set<string>\n) => {\n\tconst { path, query } = splitSpecifierAndQuery(specifier);\n\tif (path.endsWith('.ts')) return `${path.replace(/\\.ts$/, '.js')}${query}`;\n\tif (hasJsLikeExtension(path)) return `${path}${query}`;\n\n\tconst importerDir = dirname(importerOutputPath);\n\tconst fileCandidate = resolve(importerDir, `${path}.js`);\n\tif (outputFiles?.has(fileCandidate) || existsSync(fileCandidate)) {\n\t\treturn `${path}.js${query}`;\n\t}\n\n\tconst indexCandidate = resolve(importerDir, path, 'index.js');\n\tif (outputFiles?.has(indexCandidate) || existsSync(indexCandidate)) {\n\t\treturn `${path}/index.js${query}`;\n\t}\n\n\treturn `${path}.js${query}`;\n};\n\nconst isRelativeModuleSpecifier = (specifier: string) =>\n\tspecifier.startsWith('./') || specifier.startsWith('../');\n\nconst extractLocalImportSpecifiers = (source: string, fileName: string) => {\n\tconst sourceFile = ts.createSourceFile(\n\t\tfileName,\n\t\tsource,\n\t\tts.ScriptTarget.Latest,\n\t\ttrue,\n\t\tts.ScriptKind.TS\n\t);\n\tconst specifiers: string[] = [];\n\tconst addSpecifier = (node: ts.Node | undefined) => {\n\t\tif (!node || !ts.isStringLiteralLike(node)) return;\n\t\tconst specifier = node.text;\n\t\tif (isRelativeModuleSpecifier(specifier)) specifiers.push(specifier);\n\t};\n\n\tconst visit = (node: ts.Node) => {\n\t\tif (ts.isImportDeclaration(node) || ts.isExportDeclaration(node)) {\n\t\t\taddSpecifier(node.moduleSpecifier);\n\t\t} else if (\n\t\t\tts.isCallExpression(node) &&\n\t\t\tnode.expression.kind === ts.SyntaxKind.ImportKeyword\n\t\t) {\n\t\t\taddSpecifier(node.arguments[0]);\n\t\t}\n\t\tts.forEachChild(node, visit);\n\t};\n\tvisit(sourceFile);\n\n\treturn specifiers;\n};\n\nconst resolveLocalTsImport = (fromFile: string, specifier: string) => {\n\tif (!isRelativeModuleSpecifier(specifier)) return null;\n\tconst basePath = resolve(dirname(fromFile), specifier);\n\tconst candidates = /\\.[cm]?[tj]sx?$/.test(basePath)\n\t\t? [basePath]\n\t\t: [\n\t\t\t\t`${basePath}.ts`,\n\t\t\t\t`${basePath}.tsx`,\n\t\t\t\t`${basePath}.mts`,\n\t\t\t\t`${basePath}.cts`,\n\t\t\t\tjoin(basePath, 'index.ts'),\n\t\t\t\tjoin(basePath, 'index.tsx'),\n\t\t\t\tjoin(basePath, 'index.mts'),\n\t\t\t\tjoin(basePath, 'index.cts')\n\t\t\t];\n\n\treturn (\n\t\tcandidates\n\t\t\t.map((candidate) => resolve(candidate))\n\t\t\t.find(\n\t\t\t\t(candidate) =>\n\t\t\t\t\texistsSync(candidate) && !candidate.endsWith('.d.ts')\n\t\t\t) ?? null\n\t);\n};\n\nconst readFileForAotTransform = async (\n\tfileName: string,\n\treadFile: SyncReadFile | undefined\n) => {\n\tconst hostSource = readFile?.(fileName);\n\tif (typeof hostSource === 'string') return hostSource;\n\n\treturn fs.readFile(fileName, 'utf-8');\n};\n\ntype AotResourceTransformCacheEntry = {\n\tsource: string;\n\tversion: 1;\n};\n\ntype AotResourceTransformStats = {\n\tcacheHits: number;\n\tcacheMisses: number;\n\tfilesVisited: number;\n\ttransformedFiles: number;\n};\n\nconst safeStableStringify = (value: unknown): string => {\n\tconst seen = new WeakSet<object>();\n\n\treturn JSON.stringify(value, (_key, entry) => {\n\t\tif (typeof entry === 'function') return `[Function:${entry.name}]`;\n\t\tif (!entry || typeof entry !== 'object') return entry;\n\t\tif (seen.has(entry)) return '[Circular]';\n\t\tseen.add(entry);\n\n\t\tif (Array.isArray(entry)) return entry;\n\n\t\treturn Object.fromEntries(\n\t\t\tObject.entries(entry).sort(([left], [right]) =>\n\t\t\t\tleft.localeCompare(right)\n\t\t\t)\n\t\t);\n\t});\n};\n\nconst collectAngularResourcePaths = (source: string, fileDir: string) => {\n\tconst paths: string[] = [];\n\tconst templateUrlMatch = findUncommentedMatch(\n\t\tsource,\n\t\t/templateUrl\\s*:\\s*['\"]([^'\"]+)['\"]/\n\t);\n\tif (templateUrlMatch?.[1]) paths.push(join(fileDir, templateUrlMatch[1]));\n\n\tconst styleUrlMatch = findUncommentedMatch(\n\t\tsource,\n\t\t/styleUrl\\s*:\\s*['\"]([^'\"]+)['\"]/\n\t);\n\tif (styleUrlMatch?.[1]) paths.push(join(fileDir, styleUrlMatch[1]));\n\n\tconst styleUrlsMatch = findUncommentedMatch(\n\t\tsource,\n\t\t/styleUrls\\s*:\\s*\\[([^\\]]+)\\]/\n\t);\n\tconst urlMatches = styleUrlsMatch?.[1]?.match(/['\"]([^'\"]+)['\"]/g);\n\tif (urlMatches) {\n\t\tfor (const urlMatch of urlMatches) {\n\t\t\tpaths.push(join(fileDir, urlMatch.replace(/['\"]/g, '')));\n\t\t}\n\t}\n\n\treturn paths.map((path) => resolve(path));\n};\n\nconst readResourceCacheFile = async (cachePath: string) => {\n\ttry {\n\t\tconst entry = JSON.parse(\n\t\t\tawait fs.readFile(cachePath, 'utf-8')\n\t\t) as AotResourceTransformCacheEntry;\n\t\tif (entry.version !== 1 || typeof entry.source !== 'string') {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn entry;\n\t} catch {\n\t\treturn null;\n\t}\n};\n\nconst writeResourceCacheFile = async (cachePath: string, source: string) => {\n\tawait fs.mkdir(dirname(cachePath), { recursive: true });\n\tawait fs.writeFile(\n\t\tcachePath,\n\t\tJSON.stringify({\n\t\t\tsource,\n\t\t\tversion: 1\n\t\t} satisfies AotResourceTransformCacheEntry),\n\t\t'utf-8'\n\t);\n};\n\nconst resolveResourceTransformCachePath = async (\n\tfilePath: string,\n\tsource: string,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tconst resourcePaths = collectAngularResourcePaths(\n\t\tsource,\n\t\tdirname(filePath)\n\t);\n\tconst resourceContents = await Promise.all(\n\t\tresourcePaths.map(async (resourcePath) => {\n\t\t\tconst content = await fs.readFile(resourcePath, 'utf-8');\n\n\t\t\treturn `${resourcePath}\\0${content}`;\n\t\t})\n\t);\n\tconst cacheInput = [\n\t\t'v1',\n\t\tfilePath,\n\t\tsource,\n\t\t...resourceContents,\n\t\tsafeStableStringify(stylePreprocessors ?? null)\n\t].join('\\0');\n\tconst cacheKey = Bun.hash(cacheInput).toString(BASE_36_RADIX);\n\n\treturn join(\n\t\tprocess.cwd(),\n\t\t'.absolutejs',\n\t\t'cache',\n\t\t'angular-resources',\n\t\t`${cacheKey}.json`\n\t);\n};\n\nconst precomputeAotResourceTransforms = async (\n\tinputPaths: string[],\n\treadFile: SyncReadFile | undefined,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tconst transformedSources = new Map<string, string>();\n\tconst visited = new Set<string>();\n\tconst stats: AotResourceTransformStats = {\n\t\tcacheHits: 0,\n\t\tcacheMisses: 0,\n\t\tfilesVisited: 0,\n\t\ttransformedFiles: 0\n\t};\n\n\tconst transformFile = async (filePath: string) => {\n\t\tconst resolvedPath = resolve(filePath);\n\t\tif (visited.has(resolvedPath)) return;\n\t\tvisited.add(resolvedPath);\n\t\tif (!existsSync(resolvedPath) || resolvedPath.endsWith('.d.ts')) return;\n\t\tstats.filesVisited += 1;\n\n\t\tconst source = await readFileForAotTransform(resolvedPath, readFile);\n\t\tconst cachePath = await resolveResourceTransformCachePath(\n\t\t\tresolvedPath,\n\t\t\tsource,\n\t\t\tstylePreprocessors\n\t\t);\n\t\tconst cached = await readResourceCacheFile(cachePath);\n\t\tlet transformedSource: string;\n\t\tif (cached) {\n\t\t\tstats.cacheHits += 1;\n\t\t\ttransformedSource = cached.source;\n\t\t} else {\n\t\t\tstats.cacheMisses += 1;\n\t\t\tconst transformed = await inlineResources(\n\t\t\t\tsource,\n\t\t\t\tdirname(resolvedPath),\n\t\t\t\tstylePreprocessors\n\t\t\t);\n\t\t\ttransformedSource = transformed.source;\n\t\t\tawait writeResourceCacheFile(cachePath, transformedSource);\n\t\t}\n\t\tif (transformedSource !== source) {\n\t\t\tstats.transformedFiles += 1;\n\t\t\ttransformedSources.set(resolvedPath, transformedSource);\n\t\t}\n\n\t\tconst imports = extractLocalImportSpecifiers(source, resolvedPath);\n\t\tawait Promise.all(\n\t\t\timports.map(async (specifier) => {\n\t\t\t\tconst resolvedImport = resolveLocalTsImport(\n\t\t\t\t\tresolvedPath,\n\t\t\t\t\tspecifier\n\t\t\t\t);\n\t\t\t\tif (resolvedImport) await transformFile(resolvedImport);\n\t\t\t})\n\t\t);\n\t};\n\n\tawait Promise.all(inputPaths.map((inputPath) => transformFile(inputPath)));\n\n\treturn { stats, transformedSources };\n};\n\nexport const compileAngularFiles = async (\n\tinputPaths: string[],\n\toutDir: string,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tconst islandMetadataByOutputPath = await traceAngularPhase(\n\t\t'aot/island-metadata',\n\t\t() =>\n\t\t\tnew Map(\n\t\t\t\tinputPaths.map((inputPath) => {\n\t\t\t\t\tconst outputPath = resolve(\n\t\t\t\t\t\tjoin(\n\t\t\t\t\t\t\toutDir,\n\t\t\t\t\t\t\trelative(process.cwd(), resolve(inputPath)).replace(\n\t\t\t\t\t\t\t\t/\\.[cm]?[tj]sx?$/,\n\t\t\t\t\t\t\t\t'.js'\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\n\t\t\t\t\treturn [\n\t\t\t\t\t\toutputPath,\n\t\t\t\t\t\tbuildIslandMetadataExports(\n\t\t\t\t\t\t\treadFileSync(inputPath, 'utf-8')\n\t\t\t\t\t\t)\n\t\t\t\t\t] as const;\n\t\t\t\t})\n\t\t\t),\n\t\t{ entries: inputPaths.length }\n\t);\n\t// Load `@angular/compiler` BEFORE anything that transitively pulls in\n\t// `@angular/common` (which `@angular/compiler-cli` does). The compiler's\n\t// top-level `publishFacade(globalThis)` registers the JIT compiler facade\n\t// on `globalThis.ng` — without that, partial-AOT chunks like\n\t// `_platform_location-chunk.mjs` crash on import with\n\t// \"JIT compilation failed for [class PlatformLocation]\" because they\n\t// call `ɵɵngDeclareFactory` at module load time, which requires the\n\t// facade to be present.\n\tawait traceAngularPhase(\n\t\t'aot/preload-compiler',\n\t\t() => import('@angular/compiler')\n\t);\n\tconst { readConfiguration, performCompilation, EmitFlags } =\n\t\tawait traceAngularPhase(\n\t\t\t'aot/import-compiler-cli',\n\t\t\t() => import('@angular/compiler-cli')\n\t\t);\n\n\tconst tsLibDir = await traceAngularPhase(\n\t\t'aot/resolve-typescript-lib',\n\t\t() => {\n\t\t\t// Resolve TypeScript lib directory dynamically (prevents hardcoded paths)\n\t\t\tconst tsPath = require.resolve('typescript');\n\t\t\tconst tsRootDir = dirname(tsPath);\n\n\t\t\treturn tsRootDir.endsWith('lib')\n\t\t\t\t? tsRootDir\n\t\t\t\t: resolve(tsRootDir, 'lib');\n\t\t}\n\t);\n\n\t// Read configuration from tsconfig.json to get angularCompilerOptions\n\tconst config = await traceAngularPhase('aot/read-configuration', () =>\n\t\treadConfiguration('./tsconfig.json')\n\t);\n\n\t// Build options object with newLine FIRST, then spread config.\n\t// IMPORTANT: target MUST be ES2022 (not ESNext) to avoid hardcoded lib.esnext.full.d.ts path.\n\tconst options: CompilerOptions = {\n\t\temitDecoratorMetadata: true,\n\t\tesModuleInterop: true,\n\t\texperimentalDecorators: true,\n\t\tmodule: ts.ModuleKind.ESNext,\n\t\tmoduleResolution: ts.ModuleResolutionKind.Bundler,\n\t\tnewLine: ts.NewLineKind.LineFeed, // Set FIRST - critical for createCompilerHost\n\t\tnoLib: false,\n\t\toutDir,\n\t\tskipLibCheck: true,\n\t\ttarget: ts.ScriptTarget.ES2022, // Use ES2022 instead of ESNext to avoid hardcoded lib paths\n\t\t...config.options // Spread AFTER to add Angular options\n\t};\n\n\t// CRITICAL: Force target to ES2022 AFTER spread to ensure it's not overwritten.\n\t// ESNext target causes hardcoded lib.esnext.full.d.ts path issues.\n\toptions.target = ts.ScriptTarget.ES2022;\n\n\t// Force TypeScript legacy decorators required by Angular 21's DI system.\n\toptions.experimentalDecorators = true;\n\toptions.emitDecoratorMetadata = true;\n\n\t// Force newLine again after spread to ensure it's not overwritten.\n\toptions.newLine = ts.NewLineKind.LineFeed;\n\n\t// Force outDir after spread — config.options may contain an absolute \"dist\" path\n\t// that overwrites our outDir, causing deeply nested compiled output.\n\toptions.outDir = outDir;\n\n\t// Production examples commonly use noEmit=true for editor/typecheck flows.\n\t// AOT compilation must override that or Angular silently produces no JS.\n\toptions.noEmit = false;\n\n\t// AOT emits into a generated directory that may be cleaned between builds.\n\t// Reusing the project's incremental tsbuildinfo can make TypeScript skip\n\t// files that need to be emitted again.\n\toptions.incremental = false;\n\toptions.tsBuildInfoFile = undefined;\n\n\t// Explicit rootDir prevents TypeScript from computing it from the single entry file,\n\t// which would cause imports from other directories to get absolute-path-based output.\n\toptions.rootDir = process.cwd();\n\n\t// Use TypeScript's createCompilerHost directly. Keep this host local to the\n\t// current AOT pass because the overrides below mutate host methods.\n\tconst host = await traceAngularPhase('aot/create-compiler-host', () =>\n\t\tts.createCompilerHost(options)\n\t);\n\n\t// Override lib resolution to use dynamic paths.\n\tconst originalGetDefaultLibLocation = host.getDefaultLibLocation;\n\thost.getDefaultLibLocation = () =>\n\t\ttsLibDir ||\n\t\t(originalGetDefaultLibLocation ? originalGetDefaultLibLocation() : '');\n\n\tconst originalGetDefaultLibFileName = host.getDefaultLibFileName;\n\thost.getDefaultLibFileName = (opts: ts.CompilerOptions) => {\n\t\tconst fileName = originalGetDefaultLibFileName\n\t\t\t? originalGetDefaultLibFileName(opts)\n\t\t\t: 'lib.d.ts';\n\n\t\treturn basename(fileName);\n\t};\n\n\tconst originalGetSourceFile = host.getSourceFile;\n\thost.getSourceFile = (\n\t\tfileName: string,\n\t\tlanguageVersion: ts.ScriptTarget,\n\t\tonError?: (message: string) => void\n\t) => {\n\t\tif (\n\t\t\tfileName.startsWith('lib.') &&\n\t\t\tfileName.endsWith('.d.ts') &&\n\t\t\ttsLibDir\n\t\t) {\n\t\t\tconst resolvedPath = join(tsLibDir, fileName);\n\n\t\t\treturn originalGetSourceFile?.call(\n\t\t\t\thost,\n\t\t\t\tresolvedPath,\n\t\t\t\tlanguageVersion,\n\t\t\t\tonError\n\t\t\t);\n\t\t}\n\n\t\treturn originalGetSourceFile?.call(\n\t\t\thost,\n\t\t\tfileName,\n\t\t\tlanguageVersion,\n\t\t\tonError\n\t\t);\n\t};\n\n\tconst emitted: Record<string, string> = {};\n\tconst resolvedOutDir = resolve(outDir);\n\thost.writeFile = (fileName, text) => {\n\t\tconst relativePath = resolveRelativePath(\n\t\t\tfileName,\n\t\t\tresolvedOutDir,\n\t\t\toutDir\n\t\t);\n\t\temitted[relativePath] = text;\n\t};\n\tconst originalReadFile = host.readFile;\n\tconst { stats: aotResourceTransformStats, transformedSources } =\n\t\tawait traceAngularPhase(\n\t\t\t'aot/precompute-resources',\n\t\t\t() =>\n\t\t\t\tprecomputeAotResourceTransforms(\n\t\t\t\t\tinputPaths,\n\t\t\t\t\toriginalReadFile?.bind(host),\n\t\t\t\t\tstylePreprocessors\n\t\t\t\t),\n\t\t\t{ entries: inputPaths.length }\n\t\t);\n\tawait traceAngularPhase('aot/resource-cache-summary', () => undefined, {\n\t\tcacheHits: aotResourceTransformStats.cacheHits,\n\t\tcacheMisses: aotResourceTransformStats.cacheMisses,\n\t\tfilesVisited: aotResourceTransformStats.filesVisited,\n\t\ttransformedFiles: aotResourceTransformStats.transformedFiles\n\t});\n\thost.readFile = (fileName: string) => {\n\t\tconst source = originalReadFile\n\t\t\t? originalReadFile.call(host, fileName)\n\t\t\t: undefined;\n\t\tif (typeof source !== 'string') return source;\n\t\tif (!fileName.endsWith('.ts') || fileName.endsWith('.d.ts')) {\n\t\t\treturn source;\n\t\t}\n\t\tconst resolvedPath = resolve(fileName);\n\n\t\treturn transformedSources.get(resolvedPath) ?? source;\n\t};\n\tconst originalGetSourceFileForCompile = host.getSourceFile;\n\thost.getSourceFile = (\n\t\tfileName: string,\n\t\tlanguageVersion: ts.ScriptTarget,\n\t\tonError?: (message: string) => void\n\t) => {\n\t\tconst source = transformedSources.get(resolve(fileName));\n\t\tif (source) {\n\t\t\treturn ts.createSourceFile(fileName, source, languageVersion, true);\n\t\t}\n\n\t\treturn originalGetSourceFileForCompile?.call(\n\t\t\thost,\n\t\t\tfileName,\n\t\t\tlanguageVersion,\n\t\t\tonError\n\t\t);\n\t};\n\n\tlet diagnostics: readonly ts.Diagnostic[] | undefined;\n\ttry {\n\t\t({ diagnostics } = await traceAngularPhase(\n\t\t\t'aot/perform-compilation',\n\t\t\t() =>\n\t\t\t\tperformCompilation({\n\t\t\t\t\temitFlags: EmitFlags.Default,\n\t\t\t\t\thost,\n\t\t\t\t\toptions,\n\t\t\t\t\trootNames: inputPaths\n\t\t\t\t}),\n\t\t\t{ entries: inputPaths.length }\n\t\t));\n\t} finally {\n\t\thost.readFile = originalReadFile;\n\t\thost.getSourceFile = originalGetSourceFileForCompile;\n\t}\n\n\tawait traceAngularPhase('aot/check-diagnostics', () =>\n\t\tthrowOnCompilationErrors(diagnostics)\n\t);\n\n\tconst entries = await traceAngularPhase(\n\t\t'aot/postprocess-emitted-js',\n\t\t() => {\n\t\t\tconst rawEntries = Object.entries(emitted)\n\t\t\t\t.filter(([fileName]) => fileName.endsWith('.js'))\n\t\t\t\t.map(([fileName, content]) => ({\n\t\t\t\t\tcontent,\n\t\t\t\t\ttarget: join(outDir, fileName)\n\t\t\t\t}));\n\t\t\tconst outputFiles = new Set(\n\t\t\t\trawEntries.map(({ target }) => resolve(target))\n\t\t\t);\n\n\t\t\treturn rawEntries.map(({ content, target }) => {\n\t\t\t\t// Post-process the compiled output:\n\t\t\t\t// 1. Add .js extensions to imports\n\t\t\t\tlet processedContent = content.replace(\n\t\t\t\t\t/from\\s+(['\"])(\\.\\.?\\/[^'\"]+)(\\1)/g,\n\t\t\t\t\t(match, quote, path) => {\n\t\t\t\t\t\tconst rewritten = rewriteRelativeJsSpecifier(\n\t\t\t\t\t\t\ttarget,\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\toutputFiles\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (rewritten !== path) {\n\t\t\t\t\t\t\treturn `from ${quote}${rewritten}${quote}`;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn match;\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\t// 2. Fix Angular ɵɵdom* functions to standard ɵɵ* functions\n\t\t\t\tprocessedContent = processedContent\n\t\t\t\t\t.replace(/ɵɵdomElementStart/g, 'ɵɵelementStart')\n\t\t\t\t\t.replace(/ɵɵdomElementEnd/g, 'ɵɵelementEnd')\n\t\t\t\t\t.replace(/ɵɵdomElement\\(/g, 'ɵɵelement(')\n\t\t\t\t\t.replace(/ɵɵdomProperty/g, 'ɵɵproperty')\n\t\t\t\t\t.replace(/ɵɵdomListener/g, 'ɵɵlistener');\n\n\t\t\t\t// 3. Fix InjectFlags -> InternalInjectFlags (Angular 21+ compatibility)\n\t\t\t\t// Replace in import statements\n\t\t\t\tprocessedContent = processedContent.replace(\n\t\t\t\t\t/import\\s*{\\s*([^}]*)\\bInjectFlags\\b([^}]*)\\s*}\\s*from\\s*['\"]@angular\\/core['\"]/g,\n\t\t\t\t\t(match, before, after) => {\n\t\t\t\t\t\tconst cleaned = (before + after)\n\t\t\t\t\t\t\t.replace(/,\\s*,/g, ',')\n\t\t\t\t\t\t\t.replace(/^\\s*,\\s*/, '')\n\t\t\t\t\t\t\t.replace(/,\\s*$/, '');\n\n\t\t\t\t\t\treturn cleaned\n\t\t\t\t\t\t\t? `import { ${cleaned}, InternalInjectFlags } from '@angular/core'`\n\t\t\t\t\t\t\t: `import { InternalInjectFlags } from '@angular/core'`;\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t\t// Replace usage of InjectFlags\n\t\t\t\tprocessedContent = processedContent.replace(\n\t\t\t\t\t/\\b(?<!Internal)InjectFlags\\b/g,\n\t\t\t\t\t'InternalInjectFlags'\n\t\t\t\t);\n\t\t\t\tprocessedContent +=\n\t\t\t\t\tislandMetadataByOutputPath.get(resolve(target)) ?? '';\n\n\t\t\t\treturn { content: processedContent, target };\n\t\t\t});\n\t\t}\n\t);\n\n\tawait traceAngularPhase(\n\t\t'aot/write-output',\n\t\t() =>\n\t\t\tPromise.all(\n\t\t\t\tentries.map(async ({ target, content }) => {\n\t\t\t\t\tawait fs.mkdir(dirname(target), { recursive: true });\n\t\t\t\t\tawait fs.writeFile(target, content, 'utf-8');\n\t\t\t\t})\n\t\t\t),\n\t\t{ outputs: entries.length }\n\t);\n\n\treturn await traceAngularPhase(\n\t\t'aot/collect-output-paths',\n\t\t() => entries.map(({ target }) => target),\n\t\t{ outputs: entries.length }\n\t);\n};\n\nexport const compileAngularFile = async (\n\tinputPath: string,\n\toutDir: string,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => compileAngularFiles([inputPath], outDir, stylePreprocessors);\n\n// Module-level cache: source content hash → compiled output path.\n// Skips re-transpilation of unchanged files during HMR, preventing\n// bun --hot from re-evaluating the growing module graph on each change.\nconst jitContentCache = new Map<string, string>();\n\n/* Drop the content-hash entry for a single file so the next\n * `compileAngularFileJIT` call re-writes it even if the source\n * .ts hasn't changed. Used by the HMR disk-refresh path when an\n * inlined resource (template/style) changed underneath a stable\n * component .ts — the cache would otherwise short-circuit the\n * rewrite and leave a stale on-disk component.\n *\n * Preferred over passing a `cacheBuster` to compileAngularFileJIT\n * for that case, because cacheBuster has a *second* effect —\n * appending `?t=…` to every import specifier in the emitted\n * file — that wedges any later bundle pass that doesn't know\n * the cacheBuster value (Bun.build can't resolve\n * `../components/Foo.js?t=…`). */\nexport const invalidateAngularJitCache = (filePath: string) => {\n\tjitContentCache.delete(resolve(filePath));\n};\n\n// Angular HMR Optimization — Cache the wrapper output (server file content\n// + index file content) so we can skip re-reading, rewriting, and index\n// generation when only transpilation changed but the wrapper output is identical.\nconst wrapperOutputCache = new Map<\n\tstring,\n\t{ serverHash: string; indexHash: string }\n>();\n\nconst escapeTemplateContent = (content: string) =>\n\tcontent\n\t\t.replace(/\\\\/g, '\\\\\\\\')\n\t\t.replace(/`/g, '\\\\`')\n\t\t.replace(/\\$\\{/g, '\\\\${');\n\n/** Find the next templateUrl/styleUrl/styleUrls property reference in `source`\n * whose line is not commented out with a leading `//`. Returns the match data\n * in the same shape RegExp.exec produces, or null if none. Catches the most\n * common case where users prefix the line with `//` to disable inlining\n * (otherwise our regex-based replacement would inline the template inside the\n * comment and the rest of the HTML would leak into source). */\nconst findUncommentedMatch = (source: string, pattern: RegExp) => {\n\tconst re = new RegExp(\n\t\tpattern.source,\n\t\tpattern.flags.includes('g') ? pattern.flags : pattern.flags + 'g'\n\t);\n\tlet match: RegExpExecArray | null;\n\twhile ((match = re.exec(source)) !== null) {\n\t\tconst lineStart = source.lastIndexOf('\\n', match.index - 1) + 1;\n\t\tconst beforeMatch = source.slice(lineStart, match.index);\n\t\tif (!/^\\s*\\/\\//.test(beforeMatch)) return match;\n\t}\n\n\treturn null;\n};\n\nconst resolveAngularDeferImportSpecifier = () => {\n\tconst sourceEntry = resolve(\n\t\timport.meta.dir,\n\t\t'../angular/components/index.ts'\n\t);\n\tif (existsSync(sourceEntry)) {\n\t\treturn sourceEntry.replace(/\\\\/g, '/');\n\t}\n\n\treturn '@absolutejs/absolute/angular/components';\n};\n\nconst ensureDeferSlotImport = (\n\tsource: string,\n\timportSpecifier = '@absolutejs/absolute/angular/components'\n) => {\n\tif (source.includes('DeferSlotComponent')) return source;\n\tconst resolvedImportSpecifier = JSON.stringify(importSpecifier);\n\tconst importLine = `import { DeferErrorTemplateDirective, DeferFallbackTemplateDirective, DeferResolvedTemplateDirective, DeferSlotComponent } from ${resolvedImportSpecifier};\\n`;\n\tconst lastImportMatch = [...source.matchAll(/^import[\\s\\S]*?;$/gm)].pop();\n\tif (!lastImportMatch || lastImportMatch.index === undefined) {\n\t\treturn importLine + source;\n\t}\n\tconst insertAt = lastImportMatch.index + lastImportMatch[0].length;\n\n\treturn `${source.slice(0, insertAt)}\\n${importLine}${source.slice(insertAt)}`;\n};\n\nconst ensureComponentImportsHasDeferSlot = (source: string) => {\n\tconst importListMatch = source.match(/imports\\s*:\\s*\\[([\\s\\S]*?)\\]/);\n\tif (importListMatch) {\n\t\tif (\n\t\t\t/\\bDeferSlotComponent\\b/.test(importListMatch[1] ?? '') &&\n\t\t\t/\\bDeferResolvedTemplateDirective\\b/.test(\n\t\t\t\timportListMatch[1] ?? ''\n\t\t\t) &&\n\t\t\t/\\bDeferFallbackTemplateDirective\\b/.test(\n\t\t\t\timportListMatch[1] ?? ''\n\t\t\t) &&\n\t\t\t/\\bDeferErrorTemplateDirective\\b/.test(importListMatch[1] ?? '')\n\t\t) {\n\t\t\treturn source;\n\t\t}\n\n\t\treturn source.replace(\n\t\t\t/imports\\s*:\\s*\\[([\\s\\S]*?)\\]/,\n\t\t\t(match, importsContent: string) => {\n\t\t\t\tconst trimmed = importsContent.trim();\n\t\t\t\tconst entries = trimmed\n\t\t\t\t\t.split(',')\n\t\t\t\t\t.map((entry) => entry.trim())\n\t\t\t\t\t.filter(Boolean);\n\t\t\t\tfor (const requiredImport of [\n\t\t\t\t\t'DeferSlotComponent',\n\t\t\t\t\t'DeferResolvedTemplateDirective',\n\t\t\t\t\t'DeferFallbackTemplateDirective',\n\t\t\t\t\t'DeferErrorTemplateDirective'\n\t\t\t\t]) {\n\t\t\t\t\tif (!entries.includes(requiredImport)) {\n\t\t\t\t\t\tentries.push(requiredImport);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tconst nextContent = entries.join(', ');\n\n\t\t\t\treturn `imports: [${nextContent}]`;\n\t\t\t}\n\t\t);\n\t}\n\n\treturn source.replace(\n\t\t/@Component\\(\\s*{/,\n\t\t'@Component({\\n\\timports: [DeferSlotComponent, DeferResolvedTemplateDirective, DeferFallbackTemplateDirective, DeferErrorTemplateDirective],'\n\t);\n};\n\nconst escapeTemplateLiteralValue = (value: string) =>\n\tvalue.replace(/\\\\/g, '\\\\\\\\').replace(/`/g, '\\\\`').replace(/\\$\\{/g, '\\\\${');\n\nconst skipInterpolatedExpression = (value: string, start: number) => {\n\tconst cursor = start + 2;\n\twhile (cursor < value.length - 1) {\n\t\tconst end = value.indexOf('}}', cursor);\n\t\tif (end < 0) {\n\t\t\treturn value.length;\n\t\t}\n\n\t\treturn end + 2;\n\t}\n\n\treturn value.length;\n};\n\nconst buildResolverTemplateLiteral = (value: string) => {\n\tconst parts: string[] = [];\n\tlet cursor = 0;\n\n\twhile (cursor < value.length) {\n\t\tconst interpolationStart = value.indexOf('{{', cursor);\n\t\tif (interpolationStart < 0) {\n\t\t\tparts.push(escapeTemplateLiteralValue(value.slice(cursor)));\n\n\t\t\tbreak;\n\t\t}\n\n\t\tparts.push(\n\t\t\tescapeTemplateLiteralValue(value.slice(cursor, interpolationStart))\n\t\t);\n\n\t\tconst nextCursor = skipInterpolatedExpression(\n\t\t\tvalue,\n\t\t\tinterpolationStart\n\t\t);\n\t\tif (nextCursor >= value.length) {\n\t\t\tparts.push(\n\t\t\t\tescapeTemplateLiteralValue(value.slice(interpolationStart))\n\t\t\t);\n\n\t\t\tbreak;\n\t\t}\n\n\t\tconst rawExpression = value\n\t\t\t.slice(interpolationStart + 2, nextCursor - 2)\n\t\t\t.trim();\n\t\tconst expression = rawExpression.length === 0 ? \"''\" : rawExpression;\n\t\tconst expressionLiteral = JSON.stringify(expression);\n\n\t\tparts.push(\n\t\t\t`\\${this.__absoluteDeferResolveTemplateExpression(${expressionLiteral})}`\n\t\t);\n\t\tcursor = nextCursor;\n\t}\n\n\treturn parts.join('');\n};\n\nconst buildDeferSlotTemplateResolver = () =>\n\t'\\t__absoluteDeferTemplateExpressionCache = new Map<string, string>();\\n' +\n\t'\\t__absoluteDeferResolveTemplateExpression(expression: string) {\\n' +\n\t'\\t\\tconst cached = this.__absoluteDeferTemplateExpressionCache.get(expression);\\n' +\n\t'\\t\\tif (cached !== undefined) return cached;\\n' +\n\t'\\n' +\n\t'\\t\\tconst scope = new Proxy(this, {\\n' +\n\t'\\t\\t\\tget: (_target, property) => {\\n' +\n\t'\\t\\t\\t\\tconst value = (this as Record<PropertyKey, unknown>)[property];\\n' +\n\t'\\t\\t\\t\\treturn typeof value === \"function\" ? value.bind(this) : value;\\n' +\n\t'\\t\\t\\t}\\n' +\n\t'\\t\\t});\\n' +\n\t\"\\t\\tlet value = '';\\n\" +\n\t'\\t\\ttry {\\n' +\n\t'\\t\\t\\tconst evaluate = new Function(\\n' +\n\t\"\\t\\t\\t\\t'scope',\\n\" +\n\t'\\t\\t\\t\\t\"with (scope) { return (\" + expression + \"); }\"\\n' +\n\t'\\t\\t\\t);\\n' +\n\t'\\n' +\n\t'\\t\\t\\tconst resolvedValue = evaluate(scope);\\n' +\n\t\"\\t\\t\\tvalue = resolvedValue == null ? '' : String(resolvedValue);\\n\" +\n\t'\\t\\t} catch (_error) {\\n' +\n\t\"\\t\\t\\tvalue = '';\\n\" +\n\t'\\t\\t}\\n' +\n\t'\\t\\tthis.__absoluteDeferTemplateExpressionCache.set(expression, value);\\n' +\n\t'\\t\\treturn value;\\n' +\n\t'\\t}\\n\\n';\n\nconst buildDeferSlotFields = (slots: LoweredAngularDeferSlot[]) =>\n\t[\n\t\tbuildDeferSlotTemplateResolver(),\n\t\t...slots.map((slot, index) => {\n\t\t\tconst htmlField = `\\t__absoluteDeferHtml${index} = () => \\`${buildResolverTemplateLiteral(slot.resolvedHtml)}\\`;\\n`;\n\t\t\tconst dataField =\n\t\t\t\tslot.resolvedBindings.length > 0\n\t\t\t\t\t? `\\t__absoluteDeferData${index} = () => ({\\n${slot.resolvedBindings\n\t\t\t\t\t\t\t.map(\n\t\t\t\t\t\t\t\t(binding) =>\n\t\t\t\t\t\t\t\t\t`\\t\\t\"${binding.key}\": this.__absoluteDeferResolveTemplateExpression(${JSON.stringify(binding.expression)})`\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t.join(',\\n')}\\n\\t});\\n`\n\t\t\t\t\t: `\\t__absoluteDeferData${index} = () => ({});\\n`;\n\n\t\t\treturn (\n\t\t\t\t`${\n\t\t\t\t\thtmlField + dataField\n\t\t\t\t}\\t__absoluteDeferResolvePayload${index} = () => new Promise<any>((resolve) => {\\n` +\n\t\t\t\t`\\t\\tsetTimeout(() => resolve({ kind: 'angular-defer', state: 'resolved', html: this.__absoluteDeferHtml${index}(), data: this.__absoluteDeferData${index}() }), ${slot.delayMs});\\n` +\n\t\t\t\t`\\t});\\n`\n\t\t\t);\n\t\t})\n\t].join('\\n');\n\nconst injectDeferSlotFields = (\n\tsource: string,\n\tslots: LoweredAngularDeferSlot[],\n\timportSpecifier = '@absolutejs/absolute/angular'\n) => {\n\tif (slots.length === 0) return source;\n\tlet rewritten = ensureDeferSlotImport(source, importSpecifier);\n\trewritten = ensureComponentImportsHasDeferSlot(rewritten);\n\tconst fields = buildDeferSlotFields(slots);\n\n\treturn rewritten.replace(\n\t\t/export(?:\\s+default)?\\s+class\\s+([A-Za-z_$][\\w$]*)\\s*{/,\n\t\t(match) => `${match}\\n${fields}\\n`\n\t);\n};\n\nconst readAndEscapeFile = async (\n\tfilePath: string,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tif (!existsSync(filePath)) {\n\t\tthrow new Error(\n\t\t\t`Unable to inline Angular style resource: file not found at ${filePath}`\n\t\t);\n\t}\n\tconst content = await compileStyleFileIfNeeded(\n\t\tfilePath,\n\t\tstylePreprocessors\n\t);\n\n\treturn escapeTemplateContent(content);\n};\n\nconst inlineTemplateAndLowerDefer = async (source: string, fileDir: string) => {\n\tconst templateUrlMatch = findUncommentedMatch(\n\t\tsource,\n\t\t/templateUrl\\s*:\\s*['\"]([^'\"]+)['\"]/\n\t);\n\tif (templateUrlMatch?.[1]) {\n\t\tconst templatePath = join(fileDir, templateUrlMatch[1]);\n\t\tif (!existsSync(templatePath)) {\n\t\t\tthrow new Error(\n\t\t\t\t`Unable to inline Angular templateUrl \"${templateUrlMatch[1]}\": file not found at ${templatePath}`\n\t\t\t);\n\t\t}\n\t\tconst templateRaw = await fs.readFile(templatePath, 'utf-8');\n\t\tconst lowered = lowerAngularDeferSyntax(templateRaw);\n\t\tconst escaped = escapeTemplateContent(lowered.template);\n\t\tconst replacedSource =\n\t\t\tsource.slice(0, templateUrlMatch.index) +\n\t\t\t`template: \\`${escaped}\\`` +\n\t\t\tsource.slice(templateUrlMatch.index + templateUrlMatch[0].length);\n\n\t\treturn {\n\t\t\tdeferSlots: lowered.slots,\n\t\t\tsource: injectDeferSlotFields(\n\t\t\t\treplacedSource,\n\t\t\t\tlowered.slots,\n\t\t\t\tresolveAngularDeferImportSpecifier()\n\t\t\t)\n\t\t};\n\t}\n\n\tconst inlineTemplateMatch = findUncommentedMatch(\n\t\tsource,\n\t\t/template\\s*:\\s*(`([\\s\\S]*?)`|'([^']*)'|\"([^\"]*)\")/\n\t);\n\tif (!inlineTemplateMatch) {\n\t\treturn { deferSlots: [] as LoweredAngularDeferSlot[], source };\n\t}\n\tconst templateRaw =\n\t\tinlineTemplateMatch[2] ??\n\t\tinlineTemplateMatch[3] ??\n\t\tinlineTemplateMatch[4] ??\n\t\t'';\n\tconst lowered = lowerAngularDeferSyntax(templateRaw);\n\tif (lowered.slots.length === 0 && lowered.template === templateRaw) {\n\t\treturn { deferSlots: lowered.slots, source };\n\t}\n\tconst escaped = escapeTemplateContent(lowered.template);\n\tconst replacedSource =\n\t\tsource.slice(0, inlineTemplateMatch.index) +\n\t\t`template: \\`${escaped}\\`` +\n\t\tsource.slice(inlineTemplateMatch.index + inlineTemplateMatch[0].length);\n\n\treturn {\n\t\tdeferSlots: lowered.slots,\n\t\tsource: injectDeferSlotFields(\n\t\t\treplacedSource,\n\t\t\tlowered.slots,\n\t\t\tresolveAngularDeferImportSpecifier()\n\t\t)\n\t};\n};\n\nconst inlineTemplateAndLowerDeferSync = (source: string, fileDir: string) => {\n\tconst templateUrlMatch = findUncommentedMatch(\n\t\tsource,\n\t\t/templateUrl\\s*:\\s*['\"]([^'\"]+)['\"]/\n\t);\n\tif (templateUrlMatch?.[1]) {\n\t\tconst templatePath = join(fileDir, templateUrlMatch[1]);\n\t\tif (!existsSync(templatePath)) {\n\t\t\tthrow new Error(\n\t\t\t\t`Unable to inline Angular templateUrl \"${templateUrlMatch[1]}\": file not found at ${templatePath}`\n\t\t\t);\n\t\t}\n\t\tconst templateRaw = readFileSync(templatePath, 'utf-8');\n\t\tconst lowered = lowerAngularDeferSyntax(templateRaw);\n\t\tconst escaped = escapeTemplateContent(lowered.template);\n\t\tconst replacedSource =\n\t\t\tsource.slice(0, templateUrlMatch.index) +\n\t\t\t`template: \\`${escaped}\\`` +\n\t\t\tsource.slice(templateUrlMatch.index + templateUrlMatch[0].length);\n\n\t\treturn {\n\t\t\tdeferSlots: lowered.slots,\n\t\t\tsource: injectDeferSlotFields(\n\t\t\t\treplacedSource,\n\t\t\t\tlowered.slots,\n\t\t\t\tresolveAngularDeferImportSpecifier()\n\t\t\t)\n\t\t};\n\t}\n\n\tconst inlineTemplateMatch = findUncommentedMatch(\n\t\tsource,\n\t\t/template\\s*:\\s*(`([\\s\\S]*?)`|'([^']*)'|\"([^\"]*)\")/\n\t);\n\tif (!inlineTemplateMatch) {\n\t\treturn { deferSlots: [] as LoweredAngularDeferSlot[], source };\n\t}\n\tconst templateRaw =\n\t\tinlineTemplateMatch[2] ??\n\t\tinlineTemplateMatch[3] ??\n\t\tinlineTemplateMatch[4] ??\n\t\t'';\n\tconst lowered = lowerAngularDeferSyntax(templateRaw);\n\tif (lowered.slots.length === 0 && lowered.template === templateRaw) {\n\t\treturn { deferSlots: lowered.slots, source };\n\t}\n\tconst escaped = escapeTemplateContent(lowered.template);\n\tconst replacedSource =\n\t\tsource.slice(0, inlineTemplateMatch.index) +\n\t\t`template: \\`${escaped}\\`` +\n\t\tsource.slice(inlineTemplateMatch.index + inlineTemplateMatch[0].length);\n\n\treturn {\n\t\tdeferSlots: lowered.slots,\n\t\tsource: injectDeferSlotFields(\n\t\t\treplacedSource,\n\t\t\tlowered.slots,\n\t\t\tresolveAngularDeferImportSpecifier()\n\t\t)\n\t};\n};\n\nconst readAndEscapeFileSync = (\n\tfilePath: string,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tif (!existsSync(filePath)) {\n\t\tthrow new Error(\n\t\t\t`Unable to inline Angular style resource: file not found at ${filePath}`\n\t\t);\n\t}\n\tconst content = compileStyleFileIfNeededSync(filePath, stylePreprocessors);\n\n\treturn escapeTemplateContent(content);\n};\n\nconst inlineStyleUrlsSync = (\n\tsource: string,\n\tfileDir: string,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tconst styleUrlsMatch = findUncommentedMatch(\n\t\tsource,\n\t\t/styleUrls\\s*:\\s*\\[([^\\]]+)\\]/\n\t);\n\tif (!styleUrlsMatch?.[1]) return source;\n\n\tconst urlMatches = styleUrlsMatch[1].match(/['\"]([^'\"]+)['\"]/g);\n\tif (!urlMatches) return source;\n\n\tconst inlinedStyles = urlMatches\n\t\t.map((urlMatch) => {\n\t\t\tconst styleUrl = urlMatch.replace(/['\"]/g, '');\n\n\t\t\treturn readAndEscapeFileSync(\n\t\t\t\tjoin(fileDir, styleUrl),\n\t\t\t\tstylePreprocessors\n\t\t\t);\n\t\t})\n\t\t.filter(Boolean)\n\t\t.map((escaped) => `\\`${escaped}\\``);\n\tif (inlinedStyles.length === 0) return source;\n\n\treturn (\n\t\tsource.slice(0, styleUrlsMatch.index) +\n\t\t`styles: [${inlinedStyles.join(', ')}]` +\n\t\tsource.slice(styleUrlsMatch.index + styleUrlsMatch[0].length)\n\t);\n};\n\nconst inlineSingleStyleUrlSync = (\n\tsource: string,\n\tfileDir: string,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tconst styleUrlMatch = findUncommentedMatch(\n\t\tsource,\n\t\t/styleUrl\\s*:\\s*['\"]([^'\"]+)['\"]/\n\t);\n\tif (!styleUrlMatch?.[1]) return source;\n\n\tconst escaped = readAndEscapeFileSync(\n\t\tjoin(fileDir, styleUrlMatch[1]),\n\t\tstylePreprocessors\n\t);\n\tif (!escaped) return source;\n\n\treturn (\n\t\tsource.slice(0, styleUrlMatch.index) +\n\t\t`styles: [\\`${escaped}\\`]` +\n\t\tsource.slice(styleUrlMatch.index + styleUrlMatch[0].length)\n\t);\n};\n\nconst inlineResourcesSync = (\n\tsource: string,\n\tfileDir: string,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tconst inlinedTemplate = inlineTemplateAndLowerDeferSync(source, fileDir);\n\tlet result = inlinedTemplate.source;\n\tresult = inlineStyleUrlsSync(result, fileDir, stylePreprocessors);\n\tresult = inlineSingleStyleUrlSync(result, fileDir, stylePreprocessors);\n\n\treturn {\n\t\tdeferSlots: inlinedTemplate.deferSlots,\n\t\tsource: result\n\t};\n};\n\nconst inlineStyleUrls = async (\n\tsource: string,\n\tfileDir: string,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tconst styleUrlsMatch = findUncommentedMatch(\n\t\tsource,\n\t\t/styleUrls\\s*:\\s*\\[([^\\]]+)\\]/\n\t);\n\tif (!styleUrlsMatch?.[1]) return source;\n\n\tconst urlMatches = styleUrlsMatch[1].match(/['\"]([^'\"]+)['\"]/g);\n\tif (!urlMatches) return source;\n\n\tconst stylePromises = urlMatches.map((urlMatch) => {\n\t\tconst styleUrl = urlMatch.replace(/['\"]/g, '');\n\n\t\treturn readAndEscapeFile(join(fileDir, styleUrl), stylePreprocessors);\n\t});\n\tconst results = await Promise.all(stylePromises);\n\tconst inlinedStyles = results\n\t\t.filter(Boolean)\n\t\t.map((escaped) => `\\`${escaped}\\``);\n\tif (inlinedStyles.length === 0) return source;\n\n\treturn (\n\t\tsource.slice(0, styleUrlsMatch.index) +\n\t\t`styles: [${inlinedStyles.join(', ')}]` +\n\t\tsource.slice(styleUrlsMatch.index + styleUrlsMatch[0].length)\n\t);\n};\n\nconst inlineSingleStyleUrl = async (\n\tsource: string,\n\tfileDir: string,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tconst styleUrlMatch = findUncommentedMatch(\n\t\tsource,\n\t\t/styleUrl\\s*:\\s*['\"]([^'\"]+)['\"]/\n\t);\n\tif (!styleUrlMatch?.[1]) return source;\n\n\tconst escaped = await readAndEscapeFile(\n\t\tjoin(fileDir, styleUrlMatch[1]),\n\t\tstylePreprocessors\n\t);\n\tif (!escaped) return source;\n\n\treturn (\n\t\tsource.slice(0, styleUrlMatch.index) +\n\t\t`styles: [\\`${escaped}\\`]` +\n\t\tsource.slice(styleUrlMatch.index + styleUrlMatch[0].length)\n\t);\n};\n\n/** Inline templateUrl and styleUrls/styleUrl from external files */\nconst inlineResources = async (\n\tsource: string,\n\tfileDir: string,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tconst inlinedTemplate = await inlineTemplateAndLowerDefer(source, fileDir);\n\tlet result = inlinedTemplate.source;\n\tresult = await inlineStyleUrls(result, fileDir, stylePreprocessors);\n\tresult = await inlineSingleStyleUrl(result, fileDir, stylePreprocessors);\n\n\treturn {\n\t\tdeferSlots: inlinedTemplate.deferSlots,\n\t\tsource: result\n\t};\n};\n\n/** Angular HMR Runtime Layer (Level 3) — JIT-mode compilation for dev/HMR builds.\n * Uses ts.transpileModule() instead of Angular AOT performCompilation().\n * Inlines templateUrl → template and styleUrls → styles from disk.\n * Recursively transpiles all local imports so Bun's bundler can resolve them.\n * ~50-100ms for a tree of ~10 files vs ~500-700ms for AOT. */\nexport const compileAngularFileJIT = async (\n\tinputPath: string,\n\toutDir: string,\n\trootDir?: string,\n\tstylePreprocessors?: StylePreprocessorConfig,\n\tcacheBuster?: string\n) => {\n\tconst entryPath = resolve(inputPath);\n\tconst allOutputs: string[] = [];\n\tconst visited = new Set<string>();\n\tconst baseDir = resolve(rootDir ?? process.cwd());\n\tlet usesLegacyAnimations = false;\n\n\tconst angularTranspiler = new Bun.Transpiler({\n\t\tloader: 'ts',\n\t\ttsconfig: JSON.stringify({\n\t\t\tcompilerOptions: {\n\t\t\t\temitDecoratorMetadata: true,\n\t\t\t\texperimentalDecorators: true\n\t\t\t}\n\t\t})\n\t});\n\tconst tsconfigAliases = readTsconfigPathAliases();\n\n\tconst resolveSourceFile = (candidate: string) => {\n\t\tconst candidates = candidate.match(/\\.(?:[cm]?[tj]sx?|json)$/)\n\t\t\t? [candidate]\n\t\t\t: [\n\t\t\t\t\t`${candidate}.ts`,\n\t\t\t\t\t`${candidate}.tsx`,\n\t\t\t\t\t`${candidate}.js`,\n\t\t\t\t\t`${candidate}.jsx`,\n\t\t\t\t\t`${candidate}.json`,\n\t\t\t\t\tjoin(candidate, 'index.ts'),\n\t\t\t\t\tjoin(candidate, 'index.tsx'),\n\t\t\t\t\tjoin(candidate, 'index.js'),\n\t\t\t\t\tjoin(candidate, 'index.jsx')\n\t\t\t\t];\n\n\t\treturn candidates.find((file) => existsSync(file));\n\t};\n\n\tconst resolveLocalImport = (specifier: string, fromDir: string) => {\n\t\tif (specifier.startsWith('.') || specifier.startsWith('/')) {\n\t\t\treturn resolveSourceFile(resolve(fromDir, specifier));\n\t\t}\n\n\t\tconst aliased = matchTsconfigAlias(\n\t\t\tspecifier,\n\t\t\ttsconfigAliases.aliases,\n\t\t\ttsconfigAliases.baseUrl,\n\t\t\tresolveSourceFile\n\t\t);\n\t\tif (aliased) return aliased;\n\n\t\ttry {\n\t\t\tconst resolved = Bun.resolveSync(specifier, fromDir);\n\t\t\tif (resolved.includes('/node_modules/')) return undefined;\n\t\t\tconst absolute = resolve(resolved);\n\t\t\tif (!absolute.startsWith(baseDir)) return undefined;\n\n\t\t\treturn resolveSourceFile(absolute);\n\t\t} catch {\n\t\t\treturn undefined;\n\t\t}\n\t};\n\n\tconst toOutputPath = (sourcePath: string) => {\n\t\tconst inputDir = dirname(sourcePath);\n\t\tconst relativeDir = inputDir.startsWith(baseDir)\n\t\t\t? inputDir.substring(baseDir.length + 1)\n\t\t\t: inputDir;\n\t\t// `.ts/.tsx/.js/.jsx` → `.js`. `.json` is preserved\n\t\t// (the angular generated tree mirrors the source layout for\n\t\t// JSON imports so `import x from './x.json'` resolves).\n\t\tconst fileBase = basename(sourcePath).replace(/\\.[cm]?[tj]sx?$/, '.js');\n\n\t\treturn join(outDir, relativeDir, fileBase);\n\t};\n\n\tconst withCacheBuster = (specifier: string) => {\n\t\tif (!cacheBuster) return specifier;\n\t\treturn specifier.includes('?')\n\t\t\t? `${specifier}&t=${cacheBuster}`\n\t\t\t: `${specifier}?t=${cacheBuster}`;\n\t};\n\n\tconst transpileAndRewrite = (\n\t\tsourceCode: string,\n\t\trelativeDir: string,\n\t\tactualPath: string,\n\t\timportRewrites: Map<string, string>\n\t) => {\n\t\tlet processedContent = angularTranspiler.transformSync(sourceCode);\n\t\tconst outputPath = toOutputPath(actualPath);\n\t\tconst rewriteBareImport = (\n\t\t\tprefix: string,\n\t\t\tspecifier: string,\n\t\t\tsuffix: string\n\t) => {\n\t\t\tconst rewritten = importRewrites.get(specifier);\n\t\t\tif (rewritten) {\n\t\t\t\treturn `${prefix}${withCacheBuster(rewritten)}${suffix}`;\n\t\t\t}\n\t\t\tif (specifier.startsWith('.') || specifier.startsWith('/')) {\n\t\t\t\treturn `${prefix}${specifier}${suffix}`;\n\t\t\t}\n\n\t\t\treturn `${prefix}${specifier}${suffix}`;\n\t\t};\n\n\t\tprocessedContent = processedContent.replace(\n\t\t\t/(from\\s+['\"])([^'\"]+)(['\"])/g,\n\t\t\t(_, prefix, specifier, suffix) =>\n\t\t\t\trewriteBareImport(prefix, specifier, suffix)\n\t\t);\n\t\tprocessedContent = processedContent.replace(\n\t\t\t/(import\\s+['\"])([^'\"]+)(['\"])/g,\n\t\t\t(_, prefix, specifier, suffix) =>\n\t\t\t\trewriteBareImport(prefix, specifier, suffix)\n\t\t);\n\t\tprocessedContent = processedContent.replace(\n\t\t\t/(import\\(\\s*['\"])([^'\"]+)(['\"]\\s*\\))/g,\n\t\t\t(_, prefix, specifier, suffix) =>\n\t\t\t\trewriteBareImport(prefix, specifier, suffix)\n\t\t);\n\n\t\tprocessedContent = processedContent.replace(\n\t\t\t/from\\s+(['\"])(\\.\\.?\\/[^'\"]+)(\\1)/g,\n\t\t\t(match, quote, path) => {\n\t\t\t\tconst rewritten = rewriteRelativeJsSpecifier(outputPath, path);\n\t\t\t\tif (rewritten !== path) {\n\t\t\t\t\treturn `from ${quote}${rewritten}${quote}`;\n\t\t\t\t}\n\n\t\t\t\treturn match;\n\t\t\t}\n\t\t);\n\n\t\tconst relDepth =\n\t\t\trelativeDir === '' || relativeDir === '.'\n\t\t\t\t? 0\n\t\t\t\t: relativeDir.split('/').length;\n\t\tprocessedContent = processedContent.replace(\n\t\t\t/(from\\s+['\"])(\\.\\.\\/(?:\\.\\.\\/)*)/g,\n\t\t\t(_, prefix, dots) => {\n\t\t\t\tconst upCount = dots.split('/').length - 1;\n\t\t\t\tif (upCount <= relDepth) return `${prefix}${dots}`;\n\n\t\t\t\treturn `${prefix}../${dots}`;\n\t\t\t}\n\t\t);\n\t\tif (resolve(actualPath) === entryPath) {\n\t\t\tprocessedContent += buildIslandMetadataExports(sourceCode);\n\t\t}\n\n\t\treturn processedContent;\n\t};\n\n\t/** Transpile a single .ts file and recursively process its local imports */\n\tconst transpileFile = async (filePath: string) => {\n\t\tconst resolved = resolve(filePath);\n\t\tif (visited.has(resolved)) return;\n\t\tvisited.add(resolved);\n\n\t\t// JSON files: copy to the generated tree unchanged so a\n\t\t// consumer's `import x from './x.json'` can resolve relative\n\t\t// to its compiled `.js` location at SSR / module-server time.\n\t\t// No imports inside JSON, so no recursion.\n\t\tif (resolved.endsWith('.json') && existsSync(resolved)) {\n\t\t\tconst inputDir = dirname(resolved);\n\t\t\tconst relativeDir = inputDir.startsWith(baseDir)\n\t\t\t\t? inputDir.substring(baseDir.length + 1)\n\t\t\t\t: inputDir;\n\t\t\tconst targetDir = join(outDir, relativeDir);\n\t\t\tconst targetPath = join(targetDir, basename(resolved));\n\t\t\tawait fs.mkdir(targetDir, { recursive: true });\n\t\t\tawait fs.copyFile(resolved, targetPath);\n\t\t\tallOutputs.push(targetPath);\n\t\t\treturn;\n\t\t}\n\n\t\t// Only transpile .ts files that exist\n\t\tlet actualPath = resolved;\n\t\tif (!actualPath.endsWith('.ts')) actualPath += '.ts';\n\t\tif (!existsSync(actualPath)) return;\n\n\t\tlet sourceCode = await fs.readFile(actualPath, 'utf-8');\n\n\t\t// Angular HMR Runtime Layer (Level 3) — Inline templateUrl and styleUrls\n\t\t// This resolves external resources at transpile time so Angular JIT\n\t\t// doesn't try to fetch them via HTTP (which fails on the server)\n\t\tconst inlined = await inlineResources(\n\t\t\tsourceCode,\n\t\t\tdirname(actualPath),\n\t\t\tstylePreprocessors\n\t\t);\n\t\tsourceCode = inlineTemplateAndLowerDeferSync(\n\t\t\tinlined.source,\n\t\t\tdirname(actualPath)\n\t\t).source;\n\n\t\t// Compute output path preserving directory structure\n\t\tconst inputDir = dirname(actualPath);\n\t\tconst relativeDir = inputDir.startsWith(baseDir)\n\t\t\t? inputDir.substring(baseDir.length + 1)\n\t\t\t: inputDir;\n\t\tconst fileBase = basename(actualPath).replace(/\\.[cm]?[tj]sx?$/, '.js');\n\t\tconst targetDir = join(outDir, relativeDir);\n\t\tconst targetPath = toOutputPath(actualPath);\n\n\t\t// Find all relative imports to process recursively (needed\n\t\t// even when skipping transpilation for cache-hit files).\n\t\t// Catches: import/export ... from './x', export * from './x',\n\t\t// import './x' (side-effect), and dynamic import('./x').\n\t\tconst localImports: string[] = [];\n\t\tconst importRewrites = new Map<string, string>();\n\t\tconst fromRegex =\n\t\t\t/(?:from|import)\\s+['\"]([^'\".][^'\"]*|\\.\\.?\\/[^'\"]+)['\"]/g;\n\t\tconst dynamicImportRegex =\n\t\t\t/import\\(\\s*['\"]([^'\".][^'\"]*|\\.\\.?\\/[^'\"]+)['\"]\\s*\\)/g;\n\t\tlet importMatch;\n\t\twhile ((importMatch = fromRegex.exec(sourceCode)) !== null) {\n\t\t\tif (importMatch[1]) localImports.push(importMatch[1]);\n\t\t}\n\t\twhile ((importMatch = dynamicImportRegex.exec(sourceCode)) !== null) {\n\t\t\tif (importMatch[1]) localImports.push(importMatch[1]);\n\t\t}\n\t\tif (localImports.includes('@angular/animations')) {\n\t\t\tusesLegacyAnimations = true;\n\t\t}\n\t\tconst localImportPaths = localImports\n\t\t\t.map((specifier) => {\n\t\t\t\tconst resolved = resolveLocalImport(specifier, inputDir);\n\t\t\t\tif (!resolved) return null;\n\t\t\t\tconst relativeImport = relative(\n\t\t\t\t\ttargetDir,\n\t\t\t\t\ttoOutputPath(resolved)\n\t\t\t\t)\n\t\t\t\t\t.replace(/\\\\/g, '/')\n\t\t\t\t\t.replace(/\\.js$/, '');\n\t\t\t\tconst relativeRewrite = relativeImport.startsWith('.')\n\t\t\t\t\t? relativeImport\n\t\t\t\t\t: `./${relativeImport}`;\n\t\t\t\timportRewrites.set(specifier, relativeRewrite);\n\n\t\t\t\treturn resolved;\n\t\t\t})\n\t\t\t.filter((path): path is string => Boolean(path));\n\n\t\t// Skip transpilation if source content hasn't changed — the\n\t\t// compiled output on disk is already up-to-date. This avoids\n\t\t// unnecessary disk writes that trigger bun --hot re-evaluation\n\t\t// and cause progressively slower compile times.\n\t\t//\n\t\t// `cacheBuster` only forces rewrite of the *entry* file, not\n\t\t// recursively-traversed imports. The HMR disk-refresh path\n\t\t// uses it when an HTML/CSS resource changed without a TS edit\n\t\t// (so the TS hash is stale on the inlined-template view); we\n\t\t// don't want it to invalidate the whole import graph too.\n\t\tconst isEntry = resolve(actualPath) === resolve(entryPath);\n\t\tconst contentHash = Bun.hash(sourceCode).toString(BASE_36_RADIX);\n\t\tconst cacheKey = actualPath;\n\t\tconst shouldWriteFile = cacheBuster && isEntry\n\t\t\t? true\n\t\t\t: jitContentCache.get(cacheKey) !== contentHash ||\n\t\t\t\t!existsSync(targetPath);\n\t\tif (shouldWriteFile) {\n\t\t\tconst processedContent = transpileAndRewrite(\n\t\t\t\tsourceCode,\n\t\t\t\trelativeDir,\n\t\t\t\tactualPath,\n\t\t\t\timportRewrites\n\t\t\t);\n\n\t\t\t// No inline sourcemap on the intermediate for Angular.\n\t\t\t// Bun.Transpiler doesn't emit sourcemaps, and the\n\t\t\t// decorator-metadata rewrite reshapes the class body\n\t\t\t// aggressively enough that content-matching the\n\t\t\t// original .ts to the transpiled output produces only\n\t\t\t// trivial mappings (imports). Server-side stack frames\n\t\t\t// therefore point at the on-disk intermediate `.js`\n\t\t\t// under `.absolutejs/generated/angular/...` — a real\n\t\t\t// file the developer can open. See HMR_COVERAGE.md\n\t\t\t// open-issues for the path forward (switch the per-file\n\t\t\t// transpile to a Bun.build pass so we get its native\n\t\t\t// sourcemap output).\n\t\t\tawait fs.mkdir(targetDir, { recursive: true });\n\t\t\tawait fs.writeFile(targetPath, processedContent, 'utf-8');\n\t\t\tjitContentCache.set(cacheKey, contentHash);\n\t\t}\n\n\t\tallOutputs.push(targetPath);\n\n\t\t// Recursively transpile local imports\n\t\tawait Promise.all(\n\t\t\tlocalImportPaths.map((importPath) => transpileFile(importPath))\n\t\t);\n\t};\n\n\tawait transpileFile(inputPath);\n\n\tconst entryOutputPath = toOutputPath(entryPath);\n\tif (existsSync(entryOutputPath)) {\n\t\tconst entryOutput = await fs.readFile(entryOutputPath, 'utf-8');\n\t\tconst withoutLegacyFlag = entryOutput.replace(\n\t\t\t/\\nexport const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;\\n?/g,\n\t\t\t'\\n'\n\t\t);\n\t\tconst nextEntryOutput = usesLegacyAnimations\n\t\t\t? `${withoutLegacyFlag}\\nexport const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;\\n`\n\t\t\t: withoutLegacyFlag;\n\t\tif (nextEntryOutput !== entryOutput) {\n\t\t\tawait fs.writeFile(entryOutputPath, nextEntryOutput, 'utf-8');\n\t\t}\n\t}\n\n\treturn allOutputs;\n};\n\nexport const compileAngular = async (\n\tentryPoints: string[],\n\toutRoot: string,\n\thmr = false,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\t// Compile to <projectRoot>/.absolutejs/generated/angular/. The\n\t// previous layout wrote into <angularDir>/generated/, leaking into\n\t// the user's source tree. Path math inside this function keeps\n\t// using `outRoot` (the user's angular source dir) for relative\n\t// computations — only the *destination root* moves.\n\tconst compiledParent = getFrameworkGeneratedDir('angular');\n\n\tif (entryPoints.length === 0) {\n\t\tconst emptyPaths: string[] = [];\n\n\t\treturn { clientPaths: [...emptyPaths], serverPaths: [...emptyPaths] };\n\t}\n\n\t// In dev/HMR a fixed path is required: different file paths produce\n\t// different ESM cache entries in Bun, which would split Angular into\n\t// duplicate module instances and trip NG0201/NG0203 token-identity\n\t// mismatches. Pinning to the gitignored `.absolutejs/generated/`\n\t// satisfies the constraint while keeping `src/` clean.\n\tconst compiledRoot = compiledParent;\n\tconst indexesDir = join(compiledParent, 'indexes');\n\n\tawait traceAngularPhase('setup/create-indexes-dir', () =>\n\t\tfs.mkdir(indexesDir, { recursive: true })\n\t);\n\n\tconst aotOutputs = hmr\n\t\t? []\n\t\t: await traceAngularPhase(\n\t\t\t\t'aot/compile-files',\n\t\t\t\t() =>\n\t\t\t\t\tcompileAngularFiles(\n\t\t\t\t\t\tentryPoints.map((entry) => resolve(entry)),\n\t\t\t\t\t\tcompiledRoot,\n\t\t\t\t\t\tstylePreprocessors\n\t\t\t\t\t),\n\t\t\t\t{ entries: entryPoints.length }\n\t\t\t);\n\t// AOT mirrors the source tree under `compiledRoot/<rel-from-cwd>/`, so\n\t// `import x from '../data/foo.json'` from a compiled component must\n\t// resolve a copy of the JSON in the same relative location. The JIT\n\t// path copies these inline (see `transpileFile` below); AOT skipped\n\t// them and the prod server bundle then failed with\n\t// `Could not resolve: \"../data/labels.json\"`. Walk the user's angular\n\t// source dir and mirror every `.json` to the AOT tree.\n\tif (!hmr) {\n\t\tawait traceAngularPhase('aot/copy-json-resources', async () => {\n\t\t\tconst cwd = process.cwd();\n\t\t\tconst angularSrcDir = resolve(outRoot);\n\t\t\tif (!existsSync(angularSrcDir)) return;\n\t\t\tconst jsonGlob = new Glob('**/*.json');\n\t\t\tfor (const rel of jsonGlob.scanSync({\n\t\t\t\tabsolute: false,\n\t\t\t\tcwd: angularSrcDir\n\t\t\t})) {\n\t\t\t\tconst sourcePath = join(angularSrcDir, rel);\n\t\t\t\tconst cwdRel = relative(cwd, sourcePath);\n\t\t\t\tconst targetPath = join(compiledRoot, cwdRel);\n\t\t\t\tawait fs.mkdir(dirname(targetPath), { recursive: true });\n\t\t\t\tawait fs.copyFile(sourcePath, targetPath);\n\t\t\t}\n\t\t});\n\t}\n\tconst usesLegacyAngularAnimations = await traceAngularPhase(\n\t\t'setup/legacy-animation-resolver',\n\t\t() => createLegacyAngularAnimationUsageResolver(outRoot)\n\t);\n\n\tconst compileTasks = entryPoints.map(async (entry) => {\n\t\tconst resolvedEntry = resolve(entry);\n\t\tconst relativeEntry = relative(outRoot, resolvedEntry).replace(\n\t\t\t/\\.[tj]s$/,\n\t\t\t'.js'\n\t\t);\n\t\tconst compileEntry = () =>\n\t\t\tcompileAngularFileJIT(\n\t\t\t\tresolvedEntry,\n\t\t\t\tcompiledRoot,\n\t\t\t\toutRoot,\n\t\t\t\tstylePreprocessors\n\t\t\t);\n\n\t\t// Angular HMR Runtime Layer (Level 3) — Use JIT compilation for dev/HMR builds.\n\t\t// JIT uses ts.transpileModule() with template/style inlining (~50-100ms)\n\t\t// instead of AOT performCompilation() (~500-700ms).\n\t\tlet outputs = hmr\n\t\t\t? await traceAngularPhase('jit/compile-entry', compileEntry, {\n\t\t\t\t\tentry: resolvedEntry\n\t\t\t\t})\n\t\t\t: aotOutputs;\n\t\tconst fileBase = basename(resolvedEntry).replace(/\\.[tj]s$/, '');\n\t\tconst jsName = `${fileBase}.js`;\n\t\tconst compiledFallbackPaths = [\n\t\t\tjoin(compiledRoot, relativeEntry),\n\t\t\tjoin(compiledRoot, 'pages', jsName),\n\t\t\tjoin(compiledRoot, jsName)\n\t\t].map((file) => resolve(file));\n\t\tconst resolveRawServerFile = (candidatePaths: string[]) => {\n\t\t\tconst normalizedCandidates = [\n\t\t\t\t...candidatePaths.map((file) => resolve(file)),\n\t\t\t\t...compiledFallbackPaths\n\t\t\t];\n\t\t\t// Match by the page's full source-relative path (e.g.\n\t\t\t// `src/frontend/pages/admin/admin.js`). Required for the\n\t\t\t// folder-per-page layout, where basename-only matching can\n\t\t\t// collide with same-named files elsewhere in the project\n\t\t\t// (e.g. `src/types/admin/admin.ts`).\n\t\t\tlet candidate = normalizedCandidates.find(\n\t\t\t\t(file) =>\n\t\t\t\t\texistsSync(file) &&\n\t\t\t\t\tfile.endsWith(`${sep}${relativeEntry}`)\n\t\t\t);\n\t\t\tif (!candidate) {\n\t\t\t\tcandidate = normalizedCandidates.find(\n\t\t\t\t\t(file) =>\n\t\t\t\t\t\texistsSync(file) &&\n\t\t\t\t\t\tfile.endsWith(`${sep}pages${sep}${jsName}`)\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (!candidate) {\n\t\t\t\tcandidate = normalizedCandidates.find(\n\t\t\t\t\t(file) =>\n\t\t\t\t\t\texistsSync(file) && file.endsWith(`${sep}${jsName}`)\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (!candidate) {\n\t\t\t\tcandidate = normalizedCandidates.find((file) =>\n\t\t\t\t\texistsSync(file)\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn candidate;\n\t\t};\n\n\t\tlet rawServerFile = await traceAngularPhase(\n\t\t\t'wrapper/resolve-server-output',\n\t\t\t() => resolveRawServerFile(outputs),\n\t\t\t{ entry: resolvedEntry }\n\t\t);\n\t\tif (!rawServerFile) {\n\t\t\trawServerFile = await traceAngularPhase(\n\t\t\t\t'wrapper/resolve-server-output-fallback',\n\t\t\t\t() => resolveRawServerFile([]),\n\t\t\t\t{ entry: resolvedEntry }\n\t\t\t);\n\t\t}\n\t\tif (rawServerFile && !existsSync(rawServerFile)) {\n\t\t\toutputs = hmr ? await compileEntry() : aotOutputs;\n\t\t\trawServerFile = await traceAngularPhase(\n\t\t\t\t'wrapper/resolve-server-output-retry',\n\t\t\t\t() => resolveRawServerFile(outputs),\n\t\t\t\t{ entry: resolvedEntry }\n\t\t\t);\n\t\t}\n\n\t\tif (!rawServerFile || !existsSync(rawServerFile)) {\n\t\t\tthrow new Error(\n\t\t\t\t`Compiled output not found for ${entry}. Looking for: ${jsName}. Available: ${[\n\t\t\t\t\t...outputs,\n\t\t\t\t\t...compiledFallbackPaths\n\t\t\t\t].join(', ')}`\n\t\t\t);\n\t\t}\n\n\t\tconst original = await traceAngularPhase(\n\t\t\t'wrapper/read-server-output',\n\t\t\t() => fs.readFile(rawServerFile, 'utf-8'),\n\t\t\t{ entry: resolvedEntry }\n\t\t);\n\n\t\t// Detect the actual exported class so the generated `export default`\n\t\t// (and the client-bundle wrappers below) reference a real symbol.\n\t\t// Without this, files whose class name doesn't follow the\n\t\t// `<Pascal(filename)>Component` convention (e.g. resources.ts\n\t\t// exporting `ContentComponent`, admin-debug.ts exporting\n\t\t// `AdminLogsComponent`) get a dangling `export default\n\t\t// ResourcesComponent` appended, which throws\n\t\t// `ReferenceError: <X> is not defined` at module-evaluation time.\n\t\t//\n\t\t// In Bun ≤1.3.13 this fails only on the first request — sequential\n\t\t// `import()` after an evaluation throw silently returns a\n\t\t// partially-initialized module instead of re-throwing. Fixed on\n\t\t// Bun main in PR oven-sh/bun#29393, awaiting 1.3.14. Tracked as\n\t\t// oven-sh/bun#29791; see UPSTREAM_ISSUES.md.\n\t\tconst detectExportedComponentClass = (\n\t\t\tsource: string\n\t\t): string | null => {\n\t\t\tconst defaultMatch = source.match(\n\t\t\t\t/export\\s+default\\s+([A-Za-z_$][\\w$]*)\\s*;/\n\t\t\t);\n\t\t\tif (defaultMatch) return defaultMatch[1]!;\n\t\t\tconst exportClassMatch = source.match(\n\t\t\t\t/export\\s+(?:default\\s+)?class\\s+([A-Za-z_$][\\w$]*)/\n\t\t\t);\n\t\t\tif (exportClassMatch) return exportClassMatch[1]!;\n\t\t\treturn null;\n\t\t};\n\t\tconst detectedClassName = await traceAngularPhase(\n\t\t\t'wrapper/detect-component-class',\n\t\t\t() => detectExportedComponentClass(original),\n\t\t\t{ entry: resolvedEntry }\n\t\t);\n\t\t// `not-found.ts` and similar convention pages export a render\n\t\t// function (`renderNotFound`/`renderError`/etc.) instead of a\n\t\t// component class. Falling back to a guessed `<Pascal>Component`\n\t\t// name when nothing is detected emits a dangling\n\t\t// `export default NotFoundComponent;` and the bundle throws\n\t\t// `ReferenceError: NotFoundComponent is not defined` at module\n\t\t// evaluation. Use the fallback ONLY for the bundle-internal\n\t\t// references that need *some* placeholder symbol — and skip the\n\t\t// trailing default-export append entirely when nothing real was\n\t\t// found.\n\t\tconst componentClassName =\n\t\t\tdetectedClassName ?? `${toPascal(fileBase)}Component`;\n\t\tconst usesLegacyAnimations = await traceAngularPhase(\n\t\t\t'wrapper/detect-legacy-animations',\n\t\t\t() => usesLegacyAngularAnimations(resolvedEntry),\n\t\t\t{ entry: resolvedEntry }\n\t\t);\n\n\t\t// Angular HMR Optimization — Hash the compiled server file content.\n\t\t// If it hasn't changed since last HMR cycle, skip all the rewriting,\n\t\t// HMR registration injection, SSR deps writing, and index regeneration.\n\t\t// This eliminates ~100-500ms of wrapper overhead on cache hits.\n\t\tconst serverContentHash = Bun.hash(original).toString(BASE_36_RADIX);\n\t\tconst cachedWrapper = wrapperOutputCache.get(resolvedEntry);\n\t\tconst clientFile = join(indexesDir, jsName);\n\t\tif (\n\t\t\thmr &&\n\t\t\tcachedWrapper &&\n\t\t\tcachedWrapper.serverHash === serverContentHash &&\n\t\t\texistsSync(clientFile) &&\n\t\t\t(usesLegacyAnimations ||\n\t\t\t\t!original.includes(\n\t\t\t\t\t'__ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__'\n\t\t\t\t)) &&\n\t\t\t(!usesLegacyAnimations ||\n\t\t\t\toriginal.includes('__ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__'))\n\t\t) {\n\t\t\treturn {\n\t\t\t\tclientPath: clientFile,\n\t\t\t\tindexUnchanged: true,\n\t\t\t\tserverPath: rawServerFile\n\t\t\t};\n\t\t}\n\n\t\t// Ensure the JIT compiler side effect runs before any Angular package\n\t\t// imports in generated page modules. Consumer pages usually import\n\t\t// @angular/common first, which otherwise trips partial-compile JIT mode.\n\t\tlet rewritten = original;\n\t\trewritten = rewritten.replace(\n\t\t\t/\\nexport const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;\\n?/g,\n\t\t\t'\\n'\n\t\t);\n\t\tif (!rewritten.includes(`import '@angular/compiler';`)) {\n\t\t\trewritten = `import '@angular/compiler';\\n${rewritten}`;\n\t\t}\n\n\t\t// Only add default export if one doesn't already exist AND we\n\t\t// actually detected a real class to point it at — convention\n\t\t// pages that export a render function (e.g. not-found.ts's\n\t\t// `renderNotFound`) intentionally have no default class export.\n\t\tif (detectedClassName && !rewritten.includes('export default')) {\n\t\t\trewritten += `\\nexport default ${componentClassName};\\n`;\n\t\t}\n\t\tif (usesLegacyAnimations) {\n\t\t\trewritten +=\n\t\t\t\t'\\nexport const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;\\n';\n\t\t}\n\n\t\t// Note: proto-swap registration was here. SURGICAL_HMR §3.3\n\t\t// replaced it with `hmrInjectionPlugin.ts`, which appends a\n\t\t// per-component `__ng_hmr_load` listener at bundle time.\n\n\t\tawait traceAngularPhase(\n\t\t\t'wrapper/write-server-output',\n\t\t\t() => fs.writeFile(rawServerFile, rewritten, 'utf-8'),\n\t\t\t{ entry: resolvedEntry }\n\t\t);\n\n\t\t// Calculate relative path from indexes directory to the server file\n\t\t// This handles deeply nested paths that Angular compiler may create\n\t\tconst relativePath = relative(indexesDir, rawServerFile).replace(\n\t\t\t/\\\\/g,\n\t\t\t'/'\n\t\t);\n\t\t// Ensure it starts with ./ or ../ for relative imports\n\t\tconst normalizedImportPath = relativePath.startsWith('.')\n\t\t\t? relativePath\n\t\t\t: `./${relativePath}`;\n\n\t\t// Angular HMR Runtime Layer (Level 3) — Import runtime before HMR client\n\t\tconst hmrPreamble = hmr\n\t\t\t? `window.__HMR_FRAMEWORK__ = \"angular\";\\nimport \"${hmrClientPath}\";\\n`\n\t\t\t: '';\n\t\tconst hydration = hmr\n\t\t\t? `${hmrPreamble}\nimport '@angular/compiler';\nimport { bootstrapApplication } from '@angular/platform-browser';\nimport { provideClientHydration } from '@angular/platform-browser';\nimport { withHttpTransferCacheOptions } from '@angular/platform-browser';\nimport { provideZonelessChangeDetection } from '@angular/core';\nimport * as pageModule from '${normalizedImportPath}';\n\nvar ${componentClassName} = pageModule.default;\nvar toScreamingSnake = function(str) {\n return str.replace(/([a-z0-9])([A-Z])/g, '$1_$2').toUpperCase();\n};\nvar isInjectionToken = function(value) {\n return Boolean(value) && typeof value === 'object' && value.ngMetadataName === 'InjectionToken';\n};\nvar pageProps = window.__ABS_ANGULAR_PAGE_PROPS__ || {};\nvar pageHasIslands = Boolean(pageModule.__ABSOLUTE_PAGE_HAS_ISLANDS__) || Boolean(document.querySelector('[data-island=\"true\"]'));\nvar pageHasRawStreamingSlots = Boolean(document.querySelector('[data-absolute-raw-slot=\"true\"]'));\nvar pageHasStreamingSlots = Boolean(document.querySelector('[data-absolute-slot=\"true\"]'));\nvar propProviders = Object.entries(pageProps).map(function(entry) {\n var propName = entry[0];\n var propValue = entry[1];\n var token = pageModule[toScreamingSnake(propName)];\n return isInjectionToken(token) ? { provide: token, useValue: propValue } : null;\n}).filter(Boolean);\n// Page-level providers, opt-in via \\`export const providers = [...]\\` in the\n// page module. Required so DI tokens that the component (or any service it\n// injects) needs are available client-side too — without these, services\n// that worked in SSR fail with NG0201 after hydration.\nvar maybePageProviders = Reflect.get(pageModule, 'providers');\nvar pageProviders = Array.isArray(maybePageProviders) ? maybePageProviders : [];\nvar absoluteHttpTransferCacheOptions = {\n includePostRequests: false,\n includeRequestsWithAuthHeaders: false,\n filter: function(request) {\n return !request.headers.has('x-skip-transfer-cache');\n }\n};\n\n// SURGICAL_HMR Tier 1 — Re-bootstrap hook. The dev client invokes\n// \\`window.__ABS_ANGULAR_REBOOTSTRAP__()\\` when it receives an\n// \\`angular:rebootstrap\\` WS message; the hook looks up this page's\n// freshly-built bundle URL (the rebuild already broadcast its\n// updated manifest, so window.__HMR_MANIFEST__ is current) and\n// dynamic-imports it. Re-importing the chunk re-runs the\n// destroy+bootstrap block below — no special path needed because\n// chunk eval is the bootstrap.\nwindow.__ABS_ANGULAR_PAGE_BUNDLE_ID__ = '${toPascal(fileBase)}Index';\nwindow.__ABS_ANGULAR_REBOOTSTRAP__ = async function() {\n var id = window.__ABS_ANGULAR_PAGE_BUNDLE_ID__;\n var manifest = window.__HMR_MANIFEST__ || {};\n var newUrl = manifest[id];\n if (!newUrl) {\n console.warn('[absolutejs] no bundle URL in manifest for', id, '— full reload');\n window.location.reload();\n return;\n }\n await import(newUrl + '?t=' + Date.now());\n};\n\nif (window.__ANGULAR_APP__) {\n try { window.__ANGULAR_APP__.destroy(); } catch (_err) { /* ignore */ }\n window.__ANGULAR_APP__ = null;\n}\n\n// Ensure root element exists after destroy (Angular removes it)\nvar _sel = ${componentClassName}.ɵcmp?.selectors?.[0]?.[0] || 'ng-app';\nif (!document.querySelector(_sel)) {\n (document.getElementById('root') || document.body).appendChild(document.createElement(_sel));\n}\n\nvar providers = [provideZonelessChangeDetection()];\nif (!window.__HMR_SKIP_HYDRATION__ && !pageHasIslands) {\n providers.push(provideClientHydration(withHttpTransferCacheOptions(absoluteHttpTransferCacheOptions)));\n}\ndelete window.__HMR_SKIP_HYDRATION__;\nproviders.push.apply(providers, pageProviders);\nproviders.push.apply(providers, propProviders);\nwindow.__ABS_SLOT_HYDRATION_PENDING__ = pageHasRawStreamingSlots;\n\nif (pageHasRawStreamingSlots) {\n window.__ABS_SLOT_HYDRATION_PENDING__ = false;\n if (typeof window.__ABS_SLOT_FLUSH__ === 'function') {\n requestAnimationFrame(function() {\n window.__ABS_SLOT_FLUSH__();\n });\n }\n} else {\n bootstrapApplication(${componentClassName}, {\n providers: providers\n }).then(function (appRef) {\n window.__ANGULAR_APP__ = appRef;\n window.__ABS_SLOT_HYDRATION_PENDING__ = false;\n if (typeof window.__ABS_SLOT_FLUSH__ === 'function') {\n requestAnimationFrame(function() {\n window.__ABS_SLOT_FLUSH__();\n });\n }\n });\n}\n`.trim()\n\t\t\t: `\nimport '@angular/compiler';\nimport { bootstrapApplication } from '@angular/platform-browser';\nimport { provideClientHydration } from '@angular/platform-browser';\nimport { withHttpTransferCacheOptions } from '@angular/platform-browser';\nimport { enableProdMode, provideZonelessChangeDetection } from '@angular/core';\nimport * as pageModule from '${normalizedImportPath}';\n\nvar ${componentClassName} = pageModule.default;\nvar toScreamingSnake = function(str) {\n return str.replace(/([a-z0-9])([A-Z])/g, '$1_$2').toUpperCase();\n};\nvar isInjectionToken = function(value) {\n return Boolean(value) && typeof value === 'object' && value.ngMetadataName === 'InjectionToken';\n};\nvar pageProps = window.__ABS_ANGULAR_PAGE_PROPS__ || {};\nvar pageHasIslands = Boolean(pageModule.__ABSOLUTE_PAGE_HAS_ISLANDS__) || Boolean(document.querySelector('[data-island=\"true\"]'));\nvar pageHasRawStreamingSlots = Boolean(document.querySelector('[data-absolute-raw-slot=\"true\"]'));\nvar pageHasStreamingSlots = Boolean(document.querySelector('[data-absolute-slot=\"true\"]'));\nvar propProviders = Object.entries(pageProps).map(function(entry) {\n var propName = entry[0];\n var propValue = entry[1];\n var token = pageModule[toScreamingSnake(propName)];\n return isInjectionToken(token) ? { provide: token, useValue: propValue } : null;\n}).filter(Boolean);\n// Page-level providers, opt-in via \\`export const providers = [...]\\` in the\n// page module. Required so DI tokens that the component (or any service it\n// injects) needs are available client-side too — without these, services\n// that worked in SSR fail with NG0201 after hydration.\nvar maybePageProviders = Reflect.get(pageModule, 'providers');\nvar pageProviders = Array.isArray(maybePageProviders) ? maybePageProviders : [];\nvar absoluteHttpTransferCacheOptions = {\n includePostRequests: false,\n includeRequestsWithAuthHeaders: false,\n filter: function(request) {\n return !request.headers.has('x-skip-transfer-cache');\n }\n};\n\nenableProdMode();\n\nvar providers = [provideZonelessChangeDetection()].concat(pageProviders).concat(propProviders);\nif (!pageHasIslands) {\n providers.unshift(provideClientHydration(withHttpTransferCacheOptions(absoluteHttpTransferCacheOptions)));\n}\nwindow.__ABS_SLOT_HYDRATION_PENDING__ = pageHasRawStreamingSlots;\n\nif (pageHasRawStreamingSlots) {\n window.__ABS_SLOT_HYDRATION_PENDING__ = false;\n if (typeof window.__ABS_SLOT_FLUSH__ === 'function') {\n requestAnimationFrame(function() {\n window.__ABS_SLOT_FLUSH__();\n });\n }\n} else {\n bootstrapApplication(${componentClassName}, {\n providers: providers\n }).then(function (appRef) {\n window.__ANGULAR_APP__ = appRef;\n window.__ABS_SLOT_HYDRATION_PENDING__ = false;\n if (typeof window.__ABS_SLOT_FLUSH__ === 'function') {\n requestAnimationFrame(function() {\n window.__ABS_SLOT_FLUSH__();\n });\n }\n });\n}\n`.trim();\n\n\t\t// Angular HMR Optimization — Hash index content to detect if bundling\n\t\t// can be skipped (index content is deterministic for a given import path).\n\t\tconst indexHash = Bun.hash(hydration).toString(BASE_36_RADIX);\n\t\tconst indexUnchanged = cachedWrapper?.indexHash === indexHash;\n\n\t\tawait traceAngularPhase(\n\t\t\t'wrapper/write-client-index',\n\t\t\t() => fs.writeFile(clientFile, hydration, 'utf-8'),\n\t\t\t{ entry: resolvedEntry }\n\t\t);\n\n\t\t// Update wrapper cache\n\t\twrapperOutputCache.set(resolvedEntry, {\n\t\t\tindexHash,\n\t\t\tserverHash: serverContentHash\n\t\t});\n\n\t\treturn {\n\t\t\tclientPath: clientFile,\n\t\t\tindexUnchanged,\n\t\t\tserverPath: rawServerFile\n\t\t};\n\t});\n\n\tconst results = await traceAngularPhase(\n\t\t'wrapper/process-entries',\n\t\t() => Promise.all(compileTasks),\n\t\t{ entries: entryPoints.length }\n\t);\n\tconst { clientPaths, serverPaths } = await traceAngularPhase(\n\t\t'wrapper/collect-paths',\n\t\t() => ({\n\t\t\tclientPaths: results.map((r) => r.clientPath),\n\t\t\tserverPaths: results.map((r) => r.serverPath)\n\t\t}),\n\t\t{ entries: results.length }\n\t);\n\n\treturn {\n\t\t// Angular HMR Optimization — Signal to rebuildTrigger that bundling\n\t\t// can be skipped when all index files are unchanged.\n\t\tallIndexesUnchanged: hmr && results.every((r) => r.indexUnchanged),\n\t\tclientPaths,\n\t\tserverPaths\n\t};\n};\n",
|
|
267
|
+
"import { existsSync, readFileSync, promises as fs } from 'fs';\nimport { rewriteAngularProvideRouter } from './rewriteProvideRouter';\nimport { join, basename, sep, dirname, resolve, relative } from 'path';\nimport type { CompilerOptions } from '@angular/compiler-cli';\nimport { Glob } from 'bun';\nimport ts from 'typescript';\nimport { BASE_36_RADIX } from '../constants';\nimport { toPascal } from '../utils/stringModifiers';\nimport { buildIslandMetadataExports } from '../islands/sourceMetadata';\nimport {\n\tlowerAngularDeferSyntax,\n\ttype LoweredAngularDeferSlot\n} from '../angular/lowerDeferSyntax';\nimport {\n\tcompileStyleFileIfNeeded,\n\tcompileStyleFileIfNeededSync\n} from './stylePreprocessor';\nimport { getFrameworkGeneratedDir } from '../utils/generatedDir';\nimport type { StylePreprocessorConfig } from '../../types/build';\n\ntype SyncReadFile = (fileName: string) => string | undefined;\n\ntype BuildTracePhase = <T>(\n\tname: string,\n\tfn: () => Promise<T> | T,\n\tmetadata?: Record<string, unknown>\n) => Promise<T>;\n\nconst traceAngularPhase: BuildTracePhase = async (name, fn, metadata) => {\n\tconst tracePhase = (\n\t\tglobalThis as typeof globalThis & {\n\t\t\t__absoluteBuildTracePhase?: BuildTracePhase;\n\t\t}\n\t).__absoluteBuildTracePhase;\n\n\treturn tracePhase\n\t\t? tracePhase(`compile/angular/${name}`, fn, metadata)\n\t\t: await fn();\n};\n\ntype TsconfigPathAlias = {\n\tpattern: string;\n\treplacements: string[];\n};\n\nconst readTsconfigPathAliases = () => {\n\ttry {\n\t\tconst configPath = resolve(process.cwd(), 'tsconfig.json');\n\t\tconst config = ts.readConfigFile(configPath, ts.sys.readFile).config as\n\t\t\t| {\n\t\t\t\t\tcompilerOptions?: {\n\t\t\t\t\t\tbaseUrl?: string;\n\t\t\t\t\t\tpaths?: Record<string, string[]>;\n\t\t\t\t\t};\n\t\t\t }\n\t\t\t| undefined;\n\t\tconst compilerOptions = config?.compilerOptions ?? {};\n\t\tconst baseUrl = resolve(process.cwd(), compilerOptions.baseUrl ?? '.');\n\t\tconst aliases: TsconfigPathAlias[] = Object.entries(\n\t\t\tcompilerOptions.paths ?? {}\n\t\t).map(([pattern, replacements]) => ({ pattern, replacements }));\n\n\t\treturn { aliases, baseUrl };\n\t} catch {\n\t\treturn { aliases: [] as TsconfigPathAlias[], baseUrl: process.cwd() };\n\t}\n};\n\nconst matchTsconfigAlias = (\n\tspecifier: string,\n\taliases: TsconfigPathAlias[],\n\tbaseUrl: string,\n\tresolveSourceFile: (candidate: string) => string | undefined\n) => {\n\tfor (const alias of aliases) {\n\t\tconst wildcardIndex = alias.pattern.indexOf('*');\n\t\tconst exactMatch = wildcardIndex === -1;\n\t\tif (exactMatch && specifier !== alias.pattern) continue;\n\n\t\tconst prefix = exactMatch\n\t\t\t? alias.pattern\n\t\t\t: alias.pattern.slice(0, wildcardIndex);\n\t\tconst suffix = exactMatch ? '' : alias.pattern.slice(wildcardIndex + 1);\n\t\tif (\n\t\t\t!exactMatch &&\n\t\t\t(!specifier.startsWith(prefix) || !specifier.endsWith(suffix))\n\t\t) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst wildcardValue = exactMatch\n\t\t\t? ''\n\t\t\t: specifier.slice(prefix.length, specifier.length - suffix.length);\n\t\tfor (const replacement of alias.replacements) {\n\t\t\tconst candidate = replacement.replace('*', wildcardValue);\n\t\t\tconst resolved = resolveSourceFile(resolve(baseUrl, candidate));\n\t\t\tif (resolved) return resolved;\n\t\t}\n\t}\n\n\treturn undefined;\n};\n\nconst resolveSourceFile = (candidate: string) => {\n\tconst candidates = candidate.match(/\\.[cm]?[tj]sx?$/)\n\t\t? [candidate]\n\t\t: [\n\t\t\t\t`${candidate}.ts`,\n\t\t\t\t`${candidate}.tsx`,\n\t\t\t\t`${candidate}.js`,\n\t\t\t\t`${candidate}.jsx`,\n\t\t\t\tjoin(candidate, 'index.ts'),\n\t\t\t\tjoin(candidate, 'index.tsx'),\n\t\t\t\tjoin(candidate, 'index.js'),\n\t\t\t\tjoin(candidate, 'index.jsx')\n\t\t\t];\n\n\treturn candidates.find((file) => existsSync(file));\n};\n\nconst createLegacyAngularAnimationUsageResolver = (rootDir: string) => {\n\tconst baseDir = resolve(rootDir);\n\tconst tsconfigAliases = readTsconfigPathAliases();\n\tconst transpiler = new Bun.Transpiler({ loader: 'tsx' });\n\tconst scanCache = new Map<\n\t\tstring,\n\t\tPromise<{ imports: string[]; usesLegacyAnimations: boolean }>\n\t>();\n\n\tconst resolveLocalImport = (specifier: string, fromDir: string) => {\n\t\tif (specifier.startsWith('.') || specifier.startsWith('/')) {\n\t\t\treturn resolveSourceFile(resolve(fromDir, specifier));\n\t\t}\n\n\t\tconst aliased = matchTsconfigAlias(\n\t\t\tspecifier,\n\t\t\ttsconfigAliases.aliases,\n\t\t\ttsconfigAliases.baseUrl,\n\t\t\tresolveSourceFile\n\t\t);\n\t\tif (aliased) return aliased;\n\n\t\ttry {\n\t\t\tconst resolved = Bun.resolveSync(specifier, fromDir);\n\t\t\tif (resolved.includes('/node_modules/')) return undefined;\n\t\t\tconst absolute = resolve(resolved);\n\t\t\tif (!absolute.startsWith(baseDir)) return undefined;\n\n\t\t\treturn resolveSourceFile(absolute);\n\t\t} catch {\n\t\t\treturn undefined;\n\t\t}\n\t};\n\n\tconst scanFile = (filePath: string) => {\n\t\tconst actualPath = resolveSourceFile(filePath);\n\t\tif (!actualPath) {\n\t\t\treturn Promise.resolve({\n\t\t\t\timports: [],\n\t\t\t\tusesLegacyAnimations: false\n\t\t\t});\n\t\t}\n\t\tconst resolved = resolve(actualPath);\n\t\tconst cached = scanCache.get(resolved);\n\t\tif (cached) return cached;\n\n\t\tconst promise = (async () => {\n\t\t\tlet sourceCode: string;\n\t\t\ttry {\n\t\t\t\tsourceCode = await fs.readFile(resolved, 'utf-8');\n\t\t\t} catch {\n\t\t\t\treturn { imports: [], usesLegacyAnimations: false };\n\t\t\t}\n\n\t\t\tlet imports;\n\t\t\ttry {\n\t\t\t\timports = transpiler.scanImports(sourceCode);\n\t\t\t} catch {\n\t\t\t\treturn { imports: [], usesLegacyAnimations: false };\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\timports: imports.map((imp) => imp.path),\n\t\t\t\tusesLegacyAnimations: imports.some(\n\t\t\t\t\t(imp) => imp.path === '@angular/animations'\n\t\t\t\t)\n\t\t\t};\n\t\t})();\n\n\t\tscanCache.set(resolved, promise);\n\n\t\treturn promise;\n\t};\n\n\tconst visit = async (\n\t\tfilePath: string,\n\t\tvisited = new Set<string>()\n\t): Promise<boolean> => {\n\t\tconst actualPath = resolveSourceFile(filePath);\n\t\tif (!actualPath) return false;\n\t\tconst resolved = resolve(actualPath);\n\t\tif (visited.has(resolved)) return false;\n\t\tvisited.add(resolved);\n\n\t\tconst scan = await scanFile(resolved);\n\t\tif (scan.usesLegacyAnimations) return true;\n\n\t\tfor (const specifier of scan.imports) {\n\t\t\tconst importedPath = resolveLocalImport(\n\t\t\t\tspecifier,\n\t\t\t\tdirname(resolved)\n\t\t\t);\n\t\t\tif (importedPath && (await visit(importedPath, visited))) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t};\n\n\treturn (entryPath: string) => visit(entryPath);\n};\n\nconst resolveDevClientDir = () => {\n\tconst projectRoot = process.cwd();\n\tconst fromSource = resolve(import.meta.dir, '../dev/client');\n\n\tif (existsSync(fromSource) && fromSource.startsWith(projectRoot)) {\n\t\treturn fromSource;\n\t}\n\n\tconst fromNodeModules = resolve(\n\t\tprojectRoot,\n\t\t'node_modules/@absolutejs/absolute/dist/dev/client'\n\t);\n\tif (existsSync(fromNodeModules)) return fromNodeModules;\n\n\treturn resolve(import.meta.dir, './dev/client');\n};\n\nconst devClientDir = resolveDevClientDir();\n\nconst hmrClientPath = join(devClientDir, 'hmrClient.ts').replace(/\\\\/g, '/');\n\n/* Removed in favor of SURGICAL_HMR (§3.3 — Tier 0 / Tier 1\n * dispatch). The old proto-swap pipeline registered every\n * Component / Service / Directive / Pipe class on a global\n * `window.__ANGULAR_HMR__` registry so the client could attempt\n * an in-place prototype patch on edits. With surgical\n * `ɵɵreplaceMetadata` covering component edits and re-bootstrap\n * covering structural changes, neither code path consumes the\n * registry anymore — keeping the injection just produces dead\n * `if (window.__ANGULAR_HMR__) ...` blocks. The Bun loader plugin\n * (`src/dev/angular/hmrInjectionPlugin.ts`) is the only place\n * that still appends per-component HMR scaffolding, and it does\n * so for the surgical `__ng_hmr_load` listener instead. */\n\nconst formatDiagnosticMessage = (diagnostic: ts.Diagnostic) => {\n\ttry {\n\t\treturn ts.flattenDiagnosticMessageText(diagnostic.messageText, '\\n');\n\t} catch {\n\t\treturn String(diagnostic.messageText || 'Unknown error');\n\t}\n};\n\nconst throwOnCompilationErrors = (\n\tdiagnostics: readonly ts.Diagnostic[] | undefined\n) => {\n\tif (!diagnostics?.length) return;\n\n\tconst errors = diagnostics.filter(\n\t\t(diag) => diag.category === ts.DiagnosticCategory.Error\n\t);\n\tif (!errors.length) return;\n\n\tconst fullMessage = errors.map(formatDiagnosticMessage).join('\\n');\n\tconsole.error('Angular compilation errors:', fullMessage);\n\tthrow new Error(fullMessage);\n};\n\nconst resolveRelativePath = (\n\tfileName: string,\n\tresolvedOutDir: string,\n\toutDir: string\n) => {\n\tif (fileName.startsWith(resolvedOutDir))\n\t\treturn fileName.substring(resolvedOutDir.length + 1);\n\tif (fileName.startsWith(outDir))\n\t\treturn fileName.substring(outDir.length + 1);\n\n\treturn fileName;\n};\n\n/* Extensions that are valid module-import targets without rewriting.\n * `.json` is included so `import data from './foo.json'` survives the\n * angular compile pipeline's path rewriter — without it, the rewriter\n * would append `.js` to make `./foo.json.js`, which doesn't exist on\n * disk, and the dev module server returns 500 on the resulting URL. */\nconst hasJsLikeExtension = (path: string) =>\n\t/\\.(js|ts|mjs|cjs|json)$/.test(path);\n\nconst splitSpecifierAndQuery = (specifier: string) => {\n\tconst separator = specifier.indexOf('?');\n\tif (separator === -1) {\n\t\treturn {\n\t\t\tpath: specifier,\n\t\t\tquery: ''\n\t\t};\n\t}\n\n\treturn {\n\t\tpath: specifier.substring(0, separator),\n\t\tquery: specifier.substring(separator)\n\t};\n};\n\nconst rewriteRelativeJsSpecifier = (\n\timporterOutputPath: string,\n\tspecifier: string,\n\toutputFiles?: Set<string>\n) => {\n\tconst { path, query } = splitSpecifierAndQuery(specifier);\n\tif (path.endsWith('.ts')) return `${path.replace(/\\.ts$/, '.js')}${query}`;\n\tif (hasJsLikeExtension(path)) return `${path}${query}`;\n\n\tconst importerDir = dirname(importerOutputPath);\n\tconst fileCandidate = resolve(importerDir, `${path}.js`);\n\tif (outputFiles?.has(fileCandidate) || existsSync(fileCandidate)) {\n\t\treturn `${path}.js${query}`;\n\t}\n\n\tconst indexCandidate = resolve(importerDir, path, 'index.js');\n\tif (outputFiles?.has(indexCandidate) || existsSync(indexCandidate)) {\n\t\treturn `${path}/index.js${query}`;\n\t}\n\n\treturn `${path}.js${query}`;\n};\n\nconst isRelativeModuleSpecifier = (specifier: string) =>\n\tspecifier.startsWith('./') || specifier.startsWith('../');\n\nconst extractLocalImportSpecifiers = (source: string, fileName: string) => {\n\tconst sourceFile = ts.createSourceFile(\n\t\tfileName,\n\t\tsource,\n\t\tts.ScriptTarget.Latest,\n\t\ttrue,\n\t\tts.ScriptKind.TS\n\t);\n\tconst specifiers: string[] = [];\n\tconst addSpecifier = (node: ts.Node | undefined) => {\n\t\tif (!node || !ts.isStringLiteralLike(node)) return;\n\t\tconst specifier = node.text;\n\t\tif (isRelativeModuleSpecifier(specifier)) specifiers.push(specifier);\n\t};\n\n\tconst visit = (node: ts.Node) => {\n\t\tif (ts.isImportDeclaration(node) || ts.isExportDeclaration(node)) {\n\t\t\taddSpecifier(node.moduleSpecifier);\n\t\t} else if (\n\t\t\tts.isCallExpression(node) &&\n\t\t\tnode.expression.kind === ts.SyntaxKind.ImportKeyword\n\t\t) {\n\t\t\taddSpecifier(node.arguments[0]);\n\t\t}\n\t\tts.forEachChild(node, visit);\n\t};\n\tvisit(sourceFile);\n\n\treturn specifiers;\n};\n\nconst resolveLocalTsImport = (fromFile: string, specifier: string) => {\n\tif (!isRelativeModuleSpecifier(specifier)) return null;\n\tconst basePath = resolve(dirname(fromFile), specifier);\n\tconst candidates = /\\.[cm]?[tj]sx?$/.test(basePath)\n\t\t? [basePath]\n\t\t: [\n\t\t\t\t`${basePath}.ts`,\n\t\t\t\t`${basePath}.tsx`,\n\t\t\t\t`${basePath}.mts`,\n\t\t\t\t`${basePath}.cts`,\n\t\t\t\tjoin(basePath, 'index.ts'),\n\t\t\t\tjoin(basePath, 'index.tsx'),\n\t\t\t\tjoin(basePath, 'index.mts'),\n\t\t\t\tjoin(basePath, 'index.cts')\n\t\t\t];\n\n\treturn (\n\t\tcandidates\n\t\t\t.map((candidate) => resolve(candidate))\n\t\t\t.find(\n\t\t\t\t(candidate) =>\n\t\t\t\t\texistsSync(candidate) && !candidate.endsWith('.d.ts')\n\t\t\t) ?? null\n\t);\n};\n\nconst readFileForAotTransform = async (\n\tfileName: string,\n\treadFile: SyncReadFile | undefined\n) => {\n\tconst hostSource = readFile?.(fileName);\n\tif (typeof hostSource === 'string') {\n\t\treturn rewriteAngularProvideRouter(hostSource);\n\t}\n\n\tconst raw = await fs.readFile(fileName, 'utf-8');\n\n\treturn rewriteAngularProvideRouter(raw);\n};\n\ntype AotResourceTransformCacheEntry = {\n\tsource: string;\n\tversion: 1;\n};\n\ntype AotResourceTransformStats = {\n\tcacheHits: number;\n\tcacheMisses: number;\n\tfilesVisited: number;\n\ttransformedFiles: number;\n};\n\nconst safeStableStringify = (value: unknown): string => {\n\tconst seen = new WeakSet<object>();\n\n\treturn JSON.stringify(value, (_key, entry) => {\n\t\tif (typeof entry === 'function') return `[Function:${entry.name}]`;\n\t\tif (!entry || typeof entry !== 'object') return entry;\n\t\tif (seen.has(entry)) return '[Circular]';\n\t\tseen.add(entry);\n\n\t\tif (Array.isArray(entry)) return entry;\n\n\t\treturn Object.fromEntries(\n\t\t\tObject.entries(entry).sort(([left], [right]) =>\n\t\t\t\tleft.localeCompare(right)\n\t\t\t)\n\t\t);\n\t});\n};\n\nconst collectAngularResourcePaths = (source: string, fileDir: string) => {\n\tconst paths: string[] = [];\n\tconst templateUrlMatch = findUncommentedMatch(\n\t\tsource,\n\t\t/templateUrl\\s*:\\s*['\"]([^'\"]+)['\"]/\n\t);\n\tif (templateUrlMatch?.[1]) paths.push(join(fileDir, templateUrlMatch[1]));\n\n\tconst styleUrlMatch = findUncommentedMatch(\n\t\tsource,\n\t\t/styleUrl\\s*:\\s*['\"]([^'\"]+)['\"]/\n\t);\n\tif (styleUrlMatch?.[1]) paths.push(join(fileDir, styleUrlMatch[1]));\n\n\tconst styleUrlsMatch = findUncommentedMatch(\n\t\tsource,\n\t\t/styleUrls\\s*:\\s*\\[([^\\]]+)\\]/\n\t);\n\tconst urlMatches = styleUrlsMatch?.[1]?.match(/['\"]([^'\"]+)['\"]/g);\n\tif (urlMatches) {\n\t\tfor (const urlMatch of urlMatches) {\n\t\t\tpaths.push(join(fileDir, urlMatch.replace(/['\"]/g, '')));\n\t\t}\n\t}\n\n\treturn paths.map((path) => resolve(path));\n};\n\nconst readResourceCacheFile = async (cachePath: string) => {\n\ttry {\n\t\tconst entry = JSON.parse(\n\t\t\tawait fs.readFile(cachePath, 'utf-8')\n\t\t) as AotResourceTransformCacheEntry;\n\t\tif (entry.version !== 1 || typeof entry.source !== 'string') {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn entry;\n\t} catch {\n\t\treturn null;\n\t}\n};\n\nconst writeResourceCacheFile = async (cachePath: string, source: string) => {\n\tawait fs.mkdir(dirname(cachePath), { recursive: true });\n\tawait fs.writeFile(\n\t\tcachePath,\n\t\tJSON.stringify({\n\t\t\tsource,\n\t\t\tversion: 1\n\t\t} satisfies AotResourceTransformCacheEntry),\n\t\t'utf-8'\n\t);\n};\n\nconst resolveResourceTransformCachePath = async (\n\tfilePath: string,\n\tsource: string,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tconst resourcePaths = collectAngularResourcePaths(\n\t\tsource,\n\t\tdirname(filePath)\n\t);\n\tconst resourceContents = await Promise.all(\n\t\tresourcePaths.map(async (resourcePath) => {\n\t\t\tconst content = await fs.readFile(resourcePath, 'utf-8');\n\n\t\t\treturn `${resourcePath}\\0${content}`;\n\t\t})\n\t);\n\tconst cacheInput = [\n\t\t'v1',\n\t\tfilePath,\n\t\tsource,\n\t\t...resourceContents,\n\t\tsafeStableStringify(stylePreprocessors ?? null)\n\t].join('\\0');\n\tconst cacheKey = Bun.hash(cacheInput).toString(BASE_36_RADIX);\n\n\treturn join(\n\t\tprocess.cwd(),\n\t\t'.absolutejs',\n\t\t'cache',\n\t\t'angular-resources',\n\t\t`${cacheKey}.json`\n\t);\n};\n\nconst precomputeAotResourceTransforms = async (\n\tinputPaths: string[],\n\treadFile: SyncReadFile | undefined,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tconst transformedSources = new Map<string, string>();\n\tconst visited = new Set<string>();\n\tconst stats: AotResourceTransformStats = {\n\t\tcacheHits: 0,\n\t\tcacheMisses: 0,\n\t\tfilesVisited: 0,\n\t\ttransformedFiles: 0\n\t};\n\n\tconst transformFile = async (filePath: string) => {\n\t\tconst resolvedPath = resolve(filePath);\n\t\tif (visited.has(resolvedPath)) return;\n\t\tvisited.add(resolvedPath);\n\t\tif (!existsSync(resolvedPath) || resolvedPath.endsWith('.d.ts')) return;\n\t\tstats.filesVisited += 1;\n\n\t\tconst source = await readFileForAotTransform(resolvedPath, readFile);\n\t\tconst cachePath = await resolveResourceTransformCachePath(\n\t\t\tresolvedPath,\n\t\t\tsource,\n\t\t\tstylePreprocessors\n\t\t);\n\t\tconst cached = await readResourceCacheFile(cachePath);\n\t\tlet transformedSource: string;\n\t\tif (cached) {\n\t\t\tstats.cacheHits += 1;\n\t\t\ttransformedSource = cached.source;\n\t\t} else {\n\t\t\tstats.cacheMisses += 1;\n\t\t\tconst transformed = await inlineResources(\n\t\t\t\tsource,\n\t\t\t\tdirname(resolvedPath),\n\t\t\t\tstylePreprocessors\n\t\t\t);\n\t\t\ttransformedSource = transformed.source;\n\t\t\tawait writeResourceCacheFile(cachePath, transformedSource);\n\t\t}\n\t\tif (transformedSource !== source) {\n\t\t\tstats.transformedFiles += 1;\n\t\t\ttransformedSources.set(resolvedPath, transformedSource);\n\t\t}\n\n\t\tconst imports = extractLocalImportSpecifiers(source, resolvedPath);\n\t\tawait Promise.all(\n\t\t\timports.map(async (specifier) => {\n\t\t\t\tconst resolvedImport = resolveLocalTsImport(\n\t\t\t\t\tresolvedPath,\n\t\t\t\t\tspecifier\n\t\t\t\t);\n\t\t\t\tif (resolvedImport) await transformFile(resolvedImport);\n\t\t\t})\n\t\t);\n\t};\n\n\tawait Promise.all(inputPaths.map((inputPath) => transformFile(inputPath)));\n\n\treturn { stats, transformedSources };\n};\n\nexport const compileAngularFiles = async (\n\tinputPaths: string[],\n\toutDir: string,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tconst islandMetadataByOutputPath = await traceAngularPhase(\n\t\t'aot/island-metadata',\n\t\t() =>\n\t\t\tnew Map(\n\t\t\t\tinputPaths.map((inputPath) => {\n\t\t\t\t\tconst outputPath = resolve(\n\t\t\t\t\t\tjoin(\n\t\t\t\t\t\t\toutDir,\n\t\t\t\t\t\t\trelative(process.cwd(), resolve(inputPath)).replace(\n\t\t\t\t\t\t\t\t/\\.[cm]?[tj]sx?$/,\n\t\t\t\t\t\t\t\t'.js'\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\n\t\t\t\t\treturn [\n\t\t\t\t\t\toutputPath,\n\t\t\t\t\t\tbuildIslandMetadataExports(\n\t\t\t\t\t\t\treadFileSync(inputPath, 'utf-8')\n\t\t\t\t\t\t)\n\t\t\t\t\t] as const;\n\t\t\t\t})\n\t\t\t),\n\t\t{ entries: inputPaths.length }\n\t);\n\t// Load `@angular/compiler` BEFORE anything that transitively pulls in\n\t// `@angular/common` (which `@angular/compiler-cli` does). The compiler's\n\t// top-level `publishFacade(globalThis)` registers the JIT compiler facade\n\t// on `globalThis.ng` — without that, partial-AOT chunks like\n\t// `_platform_location-chunk.mjs` crash on import with\n\t// \"JIT compilation failed for [class PlatformLocation]\" because they\n\t// call `ɵɵngDeclareFactory` at module load time, which requires the\n\t// facade to be present.\n\tawait traceAngularPhase(\n\t\t'aot/preload-compiler',\n\t\t() => import('@angular/compiler')\n\t);\n\tconst { readConfiguration, performCompilation, EmitFlags } =\n\t\tawait traceAngularPhase(\n\t\t\t'aot/import-compiler-cli',\n\t\t\t() => import('@angular/compiler-cli')\n\t\t);\n\n\tconst tsLibDir = await traceAngularPhase(\n\t\t'aot/resolve-typescript-lib',\n\t\t() => {\n\t\t\t// Resolve TypeScript lib directory dynamically (prevents hardcoded paths)\n\t\t\tconst tsPath = require.resolve('typescript');\n\t\t\tconst tsRootDir = dirname(tsPath);\n\n\t\t\treturn tsRootDir.endsWith('lib')\n\t\t\t\t? tsRootDir\n\t\t\t\t: resolve(tsRootDir, 'lib');\n\t\t}\n\t);\n\n\t// Read configuration from tsconfig.json to get angularCompilerOptions\n\tconst config = await traceAngularPhase('aot/read-configuration', () =>\n\t\treadConfiguration('./tsconfig.json')\n\t);\n\n\t// Build options object with newLine FIRST, then spread config.\n\t// IMPORTANT: target MUST be ES2022 (not ESNext) to avoid hardcoded lib.esnext.full.d.ts path.\n\tconst options: CompilerOptions = {\n\t\temitDecoratorMetadata: true,\n\t\tesModuleInterop: true,\n\t\texperimentalDecorators: true,\n\t\tmodule: ts.ModuleKind.ESNext,\n\t\tmoduleResolution: ts.ModuleResolutionKind.Bundler,\n\t\tnewLine: ts.NewLineKind.LineFeed, // Set FIRST - critical for createCompilerHost\n\t\tnoLib: false,\n\t\toutDir,\n\t\tskipLibCheck: true,\n\t\ttarget: ts.ScriptTarget.ES2022, // Use ES2022 instead of ESNext to avoid hardcoded lib paths\n\t\t...config.options // Spread AFTER to add Angular options\n\t};\n\n\t// CRITICAL: Force target to ES2022 AFTER spread to ensure it's not overwritten.\n\t// ESNext target causes hardcoded lib.esnext.full.d.ts path issues.\n\toptions.target = ts.ScriptTarget.ES2022;\n\n\t// Force TypeScript legacy decorators required by Angular 21's DI system.\n\toptions.experimentalDecorators = true;\n\toptions.emitDecoratorMetadata = true;\n\n\t// Force newLine again after spread to ensure it's not overwritten.\n\toptions.newLine = ts.NewLineKind.LineFeed;\n\n\t// Force outDir after spread — config.options may contain an absolute \"dist\" path\n\t// that overwrites our outDir, causing deeply nested compiled output.\n\toptions.outDir = outDir;\n\n\t// Production examples commonly use noEmit=true for editor/typecheck flows.\n\t// AOT compilation must override that or Angular silently produces no JS.\n\toptions.noEmit = false;\n\n\t// AOT emits into a generated directory that may be cleaned between builds.\n\t// Reusing the project's incremental tsbuildinfo can make TypeScript skip\n\t// files that need to be emitted again.\n\toptions.incremental = false;\n\toptions.tsBuildInfoFile = undefined;\n\n\t// Explicit rootDir prevents TypeScript from computing it from the single entry file,\n\t// which would cause imports from other directories to get absolute-path-based output.\n\toptions.rootDir = process.cwd();\n\n\t// Use TypeScript's createCompilerHost directly. Keep this host local to the\n\t// current AOT pass because the overrides below mutate host methods.\n\tconst host = await traceAngularPhase('aot/create-compiler-host', () =>\n\t\tts.createCompilerHost(options)\n\t);\n\n\t// Override lib resolution to use dynamic paths.\n\tconst originalGetDefaultLibLocation = host.getDefaultLibLocation;\n\thost.getDefaultLibLocation = () =>\n\t\ttsLibDir ||\n\t\t(originalGetDefaultLibLocation ? originalGetDefaultLibLocation() : '');\n\n\tconst originalGetDefaultLibFileName = host.getDefaultLibFileName;\n\thost.getDefaultLibFileName = (opts: ts.CompilerOptions) => {\n\t\tconst fileName = originalGetDefaultLibFileName\n\t\t\t? originalGetDefaultLibFileName(opts)\n\t\t\t: 'lib.d.ts';\n\n\t\treturn basename(fileName);\n\t};\n\n\tconst originalGetSourceFile = host.getSourceFile;\n\thost.getSourceFile = (\n\t\tfileName: string,\n\t\tlanguageVersion: ts.ScriptTarget,\n\t\tonError?: (message: string) => void\n\t) => {\n\t\tif (\n\t\t\tfileName.startsWith('lib.') &&\n\t\t\tfileName.endsWith('.d.ts') &&\n\t\t\ttsLibDir\n\t\t) {\n\t\t\tconst resolvedPath = join(tsLibDir, fileName);\n\n\t\t\treturn originalGetSourceFile?.call(\n\t\t\t\thost,\n\t\t\t\tresolvedPath,\n\t\t\t\tlanguageVersion,\n\t\t\t\tonError\n\t\t\t);\n\t\t}\n\n\t\treturn originalGetSourceFile?.call(\n\t\t\thost,\n\t\t\tfileName,\n\t\t\tlanguageVersion,\n\t\t\tonError\n\t\t);\n\t};\n\n\tconst emitted: Record<string, string> = {};\n\tconst resolvedOutDir = resolve(outDir);\n\thost.writeFile = (fileName, text) => {\n\t\tconst relativePath = resolveRelativePath(\n\t\t\tfileName,\n\t\t\tresolvedOutDir,\n\t\t\toutDir\n\t\t);\n\t\temitted[relativePath] = text;\n\t};\n\tconst originalReadFile = host.readFile;\n\tconst { stats: aotResourceTransformStats, transformedSources } =\n\t\tawait traceAngularPhase(\n\t\t\t'aot/precompute-resources',\n\t\t\t() =>\n\t\t\t\tprecomputeAotResourceTransforms(\n\t\t\t\t\tinputPaths,\n\t\t\t\t\toriginalReadFile?.bind(host),\n\t\t\t\t\tstylePreprocessors\n\t\t\t\t),\n\t\t\t{ entries: inputPaths.length }\n\t\t);\n\tawait traceAngularPhase('aot/resource-cache-summary', () => undefined, {\n\t\tcacheHits: aotResourceTransformStats.cacheHits,\n\t\tcacheMisses: aotResourceTransformStats.cacheMisses,\n\t\tfilesVisited: aotResourceTransformStats.filesVisited,\n\t\ttransformedFiles: aotResourceTransformStats.transformedFiles\n\t});\n\thost.readFile = (fileName: string) => {\n\t\tconst source = originalReadFile\n\t\t\t? originalReadFile.call(host, fileName)\n\t\t\t: undefined;\n\t\tif (typeof source !== 'string') return source;\n\t\tif (!fileName.endsWith('.ts') || fileName.endsWith('.d.ts')) {\n\t\t\treturn source;\n\t\t}\n\t\tconst resolvedPath = resolve(fileName);\n\n\t\treturn transformedSources.get(resolvedPath) ?? source;\n\t};\n\tconst originalGetSourceFileForCompile = host.getSourceFile;\n\thost.getSourceFile = (\n\t\tfileName: string,\n\t\tlanguageVersion: ts.ScriptTarget,\n\t\tonError?: (message: string) => void\n\t) => {\n\t\tconst source = transformedSources.get(resolve(fileName));\n\t\tif (source) {\n\t\t\treturn ts.createSourceFile(fileName, source, languageVersion, true);\n\t\t}\n\n\t\treturn originalGetSourceFileForCompile?.call(\n\t\t\thost,\n\t\t\tfileName,\n\t\t\tlanguageVersion,\n\t\t\tonError\n\t\t);\n\t};\n\n\tlet diagnostics: readonly ts.Diagnostic[] | undefined;\n\ttry {\n\t\t({ diagnostics } = await traceAngularPhase(\n\t\t\t'aot/perform-compilation',\n\t\t\t() =>\n\t\t\t\tperformCompilation({\n\t\t\t\t\temitFlags: EmitFlags.Default,\n\t\t\t\t\thost,\n\t\t\t\t\toptions,\n\t\t\t\t\trootNames: inputPaths\n\t\t\t\t}),\n\t\t\t{ entries: inputPaths.length }\n\t\t));\n\t} finally {\n\t\thost.readFile = originalReadFile;\n\t\thost.getSourceFile = originalGetSourceFileForCompile;\n\t}\n\n\tawait traceAngularPhase('aot/check-diagnostics', () =>\n\t\tthrowOnCompilationErrors(diagnostics)\n\t);\n\n\tconst entries = await traceAngularPhase(\n\t\t'aot/postprocess-emitted-js',\n\t\t() => {\n\t\t\tconst rawEntries = Object.entries(emitted)\n\t\t\t\t.filter(([fileName]) => fileName.endsWith('.js'))\n\t\t\t\t.map(([fileName, content]) => ({\n\t\t\t\t\tcontent,\n\t\t\t\t\ttarget: join(outDir, fileName)\n\t\t\t\t}));\n\t\t\tconst outputFiles = new Set(\n\t\t\t\trawEntries.map(({ target }) => resolve(target))\n\t\t\t);\n\n\t\t\treturn rawEntries.map(({ content, target }) => {\n\t\t\t\t// Post-process the compiled output:\n\t\t\t\t// 1. Add .js extensions to imports\n\t\t\t\tlet processedContent = content.replace(\n\t\t\t\t\t/from\\s+(['\"])(\\.\\.?\\/[^'\"]+)(\\1)/g,\n\t\t\t\t\t(match, quote, path) => {\n\t\t\t\t\t\tconst rewritten = rewriteRelativeJsSpecifier(\n\t\t\t\t\t\t\ttarget,\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\toutputFiles\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (rewritten !== path) {\n\t\t\t\t\t\t\treturn `from ${quote}${rewritten}${quote}`;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn match;\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\t// 2. Fix Angular ɵɵdom* functions to standard ɵɵ* functions\n\t\t\t\tprocessedContent = processedContent\n\t\t\t\t\t.replace(/ɵɵdomElementStart/g, 'ɵɵelementStart')\n\t\t\t\t\t.replace(/ɵɵdomElementEnd/g, 'ɵɵelementEnd')\n\t\t\t\t\t.replace(/ɵɵdomElement\\(/g, 'ɵɵelement(')\n\t\t\t\t\t.replace(/ɵɵdomProperty/g, 'ɵɵproperty')\n\t\t\t\t\t.replace(/ɵɵdomListener/g, 'ɵɵlistener');\n\n\t\t\t\t// 3. Fix InjectFlags -> InternalInjectFlags (Angular 21+ compatibility)\n\t\t\t\t// Replace in import statements\n\t\t\t\tprocessedContent = processedContent.replace(\n\t\t\t\t\t/import\\s*{\\s*([^}]*)\\bInjectFlags\\b([^}]*)\\s*}\\s*from\\s*['\"]@angular\\/core['\"]/g,\n\t\t\t\t\t(match, before, after) => {\n\t\t\t\t\t\tconst cleaned = (before + after)\n\t\t\t\t\t\t\t.replace(/,\\s*,/g, ',')\n\t\t\t\t\t\t\t.replace(/^\\s*,\\s*/, '')\n\t\t\t\t\t\t\t.replace(/,\\s*$/, '');\n\n\t\t\t\t\t\treturn cleaned\n\t\t\t\t\t\t\t? `import { ${cleaned}, InternalInjectFlags } from '@angular/core'`\n\t\t\t\t\t\t\t: `import { InternalInjectFlags } from '@angular/core'`;\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t\t// Replace usage of InjectFlags\n\t\t\t\tprocessedContent = processedContent.replace(\n\t\t\t\t\t/\\b(?<!Internal)InjectFlags\\b/g,\n\t\t\t\t\t'InternalInjectFlags'\n\t\t\t\t);\n\t\t\t\tprocessedContent +=\n\t\t\t\t\tislandMetadataByOutputPath.get(resolve(target)) ?? '';\n\n\t\t\t\treturn { content: processedContent, target };\n\t\t\t});\n\t\t}\n\t);\n\n\tawait traceAngularPhase(\n\t\t'aot/write-output',\n\t\t() =>\n\t\t\tPromise.all(\n\t\t\t\tentries.map(async ({ target, content }) => {\n\t\t\t\t\tawait fs.mkdir(dirname(target), { recursive: true });\n\t\t\t\t\tawait fs.writeFile(target, content, 'utf-8');\n\t\t\t\t})\n\t\t\t),\n\t\t{ outputs: entries.length }\n\t);\n\n\treturn await traceAngularPhase(\n\t\t'aot/collect-output-paths',\n\t\t() => entries.map(({ target }) => target),\n\t\t{ outputs: entries.length }\n\t);\n};\n\nexport const compileAngularFile = async (\n\tinputPath: string,\n\toutDir: string,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => compileAngularFiles([inputPath], outDir, stylePreprocessors);\n\n// Module-level cache: source content hash → compiled output path.\n// Skips re-transpilation of unchanged files during HMR, preventing\n// bun --hot from re-evaluating the growing module graph on each change.\nconst jitContentCache = new Map<string, string>();\n\n/* Drop the content-hash entry for a single file so the next\n * `compileAngularFileJIT` call re-writes it even if the source\n * .ts hasn't changed. Used by the HMR disk-refresh path when an\n * inlined resource (template/style) changed underneath a stable\n * component .ts — the cache would otherwise short-circuit the\n * rewrite and leave a stale on-disk component.\n *\n * Preferred over passing a `cacheBuster` to compileAngularFileJIT\n * for that case, because cacheBuster has a *second* effect —\n * appending `?t=…` to every import specifier in the emitted\n * file — that wedges any later bundle pass that doesn't know\n * the cacheBuster value (Bun.build can't resolve\n * `../components/Foo.js?t=…`). */\nexport const invalidateAngularJitCache = (filePath: string) => {\n\tjitContentCache.delete(resolve(filePath));\n};\n\n// Angular HMR Optimization — Cache the wrapper output (server file content\n// + index file content) so we can skip re-reading, rewriting, and index\n// generation when only transpilation changed but the wrapper output is identical.\nconst wrapperOutputCache = new Map<\n\tstring,\n\t{ serverHash: string; indexHash: string }\n>();\n\nconst escapeTemplateContent = (content: string) =>\n\tcontent\n\t\t.replace(/\\\\/g, '\\\\\\\\')\n\t\t.replace(/`/g, '\\\\`')\n\t\t.replace(/\\$\\{/g, '\\\\${');\n\n/** Find the next templateUrl/styleUrl/styleUrls property reference in `source`\n * whose line is not commented out with a leading `//`. Returns the match data\n * in the same shape RegExp.exec produces, or null if none. Catches the most\n * common case where users prefix the line with `//` to disable inlining\n * (otherwise our regex-based replacement would inline the template inside the\n * comment and the rest of the HTML would leak into source). */\nconst findUncommentedMatch = (source: string, pattern: RegExp) => {\n\tconst re = new RegExp(\n\t\tpattern.source,\n\t\tpattern.flags.includes('g') ? pattern.flags : pattern.flags + 'g'\n\t);\n\tlet match: RegExpExecArray | null;\n\twhile ((match = re.exec(source)) !== null) {\n\t\tconst lineStart = source.lastIndexOf('\\n', match.index - 1) + 1;\n\t\tconst beforeMatch = source.slice(lineStart, match.index);\n\t\tif (!/^\\s*\\/\\//.test(beforeMatch)) return match;\n\t}\n\n\treturn null;\n};\n\nconst resolveAngularDeferImportSpecifier = () => {\n\tconst sourceEntry = resolve(\n\t\timport.meta.dir,\n\t\t'../angular/components/index.ts'\n\t);\n\tif (existsSync(sourceEntry)) {\n\t\treturn sourceEntry.replace(/\\\\/g, '/');\n\t}\n\n\treturn '@absolutejs/absolute/angular/components';\n};\n\nconst ensureDeferSlotImport = (\n\tsource: string,\n\timportSpecifier = '@absolutejs/absolute/angular/components'\n) => {\n\tif (source.includes('DeferSlotComponent')) return source;\n\tconst resolvedImportSpecifier = JSON.stringify(importSpecifier);\n\tconst importLine = `import { DeferErrorTemplateDirective, DeferFallbackTemplateDirective, DeferResolvedTemplateDirective, DeferSlotComponent } from ${resolvedImportSpecifier};\\n`;\n\tconst lastImportMatch = [...source.matchAll(/^import[\\s\\S]*?;$/gm)].pop();\n\tif (!lastImportMatch || lastImportMatch.index === undefined) {\n\t\treturn importLine + source;\n\t}\n\tconst insertAt = lastImportMatch.index + lastImportMatch[0].length;\n\n\treturn `${source.slice(0, insertAt)}\\n${importLine}${source.slice(insertAt)}`;\n};\n\nconst ensureComponentImportsHasDeferSlot = (source: string) => {\n\tconst importListMatch = source.match(/imports\\s*:\\s*\\[([\\s\\S]*?)\\]/);\n\tif (importListMatch) {\n\t\tif (\n\t\t\t/\\bDeferSlotComponent\\b/.test(importListMatch[1] ?? '') &&\n\t\t\t/\\bDeferResolvedTemplateDirective\\b/.test(\n\t\t\t\timportListMatch[1] ?? ''\n\t\t\t) &&\n\t\t\t/\\bDeferFallbackTemplateDirective\\b/.test(\n\t\t\t\timportListMatch[1] ?? ''\n\t\t\t) &&\n\t\t\t/\\bDeferErrorTemplateDirective\\b/.test(importListMatch[1] ?? '')\n\t\t) {\n\t\t\treturn source;\n\t\t}\n\n\t\treturn source.replace(\n\t\t\t/imports\\s*:\\s*\\[([\\s\\S]*?)\\]/,\n\t\t\t(match, importsContent: string) => {\n\t\t\t\tconst trimmed = importsContent.trim();\n\t\t\t\tconst entries = trimmed\n\t\t\t\t\t.split(',')\n\t\t\t\t\t.map((entry) => entry.trim())\n\t\t\t\t\t.filter(Boolean);\n\t\t\t\tfor (const requiredImport of [\n\t\t\t\t\t'DeferSlotComponent',\n\t\t\t\t\t'DeferResolvedTemplateDirective',\n\t\t\t\t\t'DeferFallbackTemplateDirective',\n\t\t\t\t\t'DeferErrorTemplateDirective'\n\t\t\t\t]) {\n\t\t\t\t\tif (!entries.includes(requiredImport)) {\n\t\t\t\t\t\tentries.push(requiredImport);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tconst nextContent = entries.join(', ');\n\n\t\t\t\treturn `imports: [${nextContent}]`;\n\t\t\t}\n\t\t);\n\t}\n\n\treturn source.replace(\n\t\t/@Component\\(\\s*{/,\n\t\t'@Component({\\n\\timports: [DeferSlotComponent, DeferResolvedTemplateDirective, DeferFallbackTemplateDirective, DeferErrorTemplateDirective],'\n\t);\n};\n\nconst escapeTemplateLiteralValue = (value: string) =>\n\tvalue.replace(/\\\\/g, '\\\\\\\\').replace(/`/g, '\\\\`').replace(/\\$\\{/g, '\\\\${');\n\nconst skipInterpolatedExpression = (value: string, start: number) => {\n\tconst cursor = start + 2;\n\twhile (cursor < value.length - 1) {\n\t\tconst end = value.indexOf('}}', cursor);\n\t\tif (end < 0) {\n\t\t\treturn value.length;\n\t\t}\n\n\t\treturn end + 2;\n\t}\n\n\treturn value.length;\n};\n\nconst buildResolverTemplateLiteral = (value: string) => {\n\tconst parts: string[] = [];\n\tlet cursor = 0;\n\n\twhile (cursor < value.length) {\n\t\tconst interpolationStart = value.indexOf('{{', cursor);\n\t\tif (interpolationStart < 0) {\n\t\t\tparts.push(escapeTemplateLiteralValue(value.slice(cursor)));\n\n\t\t\tbreak;\n\t\t}\n\n\t\tparts.push(\n\t\t\tescapeTemplateLiteralValue(value.slice(cursor, interpolationStart))\n\t\t);\n\n\t\tconst nextCursor = skipInterpolatedExpression(\n\t\t\tvalue,\n\t\t\tinterpolationStart\n\t\t);\n\t\tif (nextCursor >= value.length) {\n\t\t\tparts.push(\n\t\t\t\tescapeTemplateLiteralValue(value.slice(interpolationStart))\n\t\t\t);\n\n\t\t\tbreak;\n\t\t}\n\n\t\tconst rawExpression = value\n\t\t\t.slice(interpolationStart + 2, nextCursor - 2)\n\t\t\t.trim();\n\t\tconst expression = rawExpression.length === 0 ? \"''\" : rawExpression;\n\t\tconst expressionLiteral = JSON.stringify(expression);\n\n\t\tparts.push(\n\t\t\t`\\${this.__absoluteDeferResolveTemplateExpression(${expressionLiteral})}`\n\t\t);\n\t\tcursor = nextCursor;\n\t}\n\n\treturn parts.join('');\n};\n\nconst buildDeferSlotTemplateResolver = () =>\n\t'\\t__absoluteDeferTemplateExpressionCache = new Map<string, string>();\\n' +\n\t'\\t__absoluteDeferResolveTemplateExpression(expression: string) {\\n' +\n\t'\\t\\tconst cached = this.__absoluteDeferTemplateExpressionCache.get(expression);\\n' +\n\t'\\t\\tif (cached !== undefined) return cached;\\n' +\n\t'\\n' +\n\t'\\t\\tconst scope = new Proxy(this, {\\n' +\n\t'\\t\\t\\tget: (_target, property) => {\\n' +\n\t'\\t\\t\\t\\tconst value = (this as Record<PropertyKey, unknown>)[property];\\n' +\n\t'\\t\\t\\t\\treturn typeof value === \"function\" ? value.bind(this) : value;\\n' +\n\t'\\t\\t\\t}\\n' +\n\t'\\t\\t});\\n' +\n\t\"\\t\\tlet value = '';\\n\" +\n\t'\\t\\ttry {\\n' +\n\t'\\t\\t\\tconst evaluate = new Function(\\n' +\n\t\"\\t\\t\\t\\t'scope',\\n\" +\n\t'\\t\\t\\t\\t\"with (scope) { return (\" + expression + \"); }\"\\n' +\n\t'\\t\\t\\t);\\n' +\n\t'\\n' +\n\t'\\t\\t\\tconst resolvedValue = evaluate(scope);\\n' +\n\t\"\\t\\t\\tvalue = resolvedValue == null ? '' : String(resolvedValue);\\n\" +\n\t'\\t\\t} catch (_error) {\\n' +\n\t\"\\t\\t\\tvalue = '';\\n\" +\n\t'\\t\\t}\\n' +\n\t'\\t\\tthis.__absoluteDeferTemplateExpressionCache.set(expression, value);\\n' +\n\t'\\t\\treturn value;\\n' +\n\t'\\t}\\n\\n';\n\nconst buildDeferSlotFields = (slots: LoweredAngularDeferSlot[]) =>\n\t[\n\t\tbuildDeferSlotTemplateResolver(),\n\t\t...slots.map((slot, index) => {\n\t\t\tconst htmlField = `\\t__absoluteDeferHtml${index} = () => \\`${buildResolverTemplateLiteral(slot.resolvedHtml)}\\`;\\n`;\n\t\t\tconst dataField =\n\t\t\t\tslot.resolvedBindings.length > 0\n\t\t\t\t\t? `\\t__absoluteDeferData${index} = () => ({\\n${slot.resolvedBindings\n\t\t\t\t\t\t\t.map(\n\t\t\t\t\t\t\t\t(binding) =>\n\t\t\t\t\t\t\t\t\t`\\t\\t\"${binding.key}\": this.__absoluteDeferResolveTemplateExpression(${JSON.stringify(binding.expression)})`\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t.join(',\\n')}\\n\\t});\\n`\n\t\t\t\t\t: `\\t__absoluteDeferData${index} = () => ({});\\n`;\n\n\t\t\treturn (\n\t\t\t\t`${\n\t\t\t\t\thtmlField + dataField\n\t\t\t\t}\\t__absoluteDeferResolvePayload${index} = () => new Promise<any>((resolve) => {\\n` +\n\t\t\t\t`\\t\\tsetTimeout(() => resolve({ kind: 'angular-defer', state: 'resolved', html: this.__absoluteDeferHtml${index}(), data: this.__absoluteDeferData${index}() }), ${slot.delayMs});\\n` +\n\t\t\t\t`\\t});\\n`\n\t\t\t);\n\t\t})\n\t].join('\\n');\n\nconst injectDeferSlotFields = (\n\tsource: string,\n\tslots: LoweredAngularDeferSlot[],\n\timportSpecifier = '@absolutejs/absolute/angular'\n) => {\n\tif (slots.length === 0) return source;\n\tlet rewritten = ensureDeferSlotImport(source, importSpecifier);\n\trewritten = ensureComponentImportsHasDeferSlot(rewritten);\n\tconst fields = buildDeferSlotFields(slots);\n\n\treturn rewritten.replace(\n\t\t/export(?:\\s+default)?\\s+class\\s+([A-Za-z_$][\\w$]*)\\s*{/,\n\t\t(match) => `${match}\\n${fields}\\n`\n\t);\n};\n\nconst readAndEscapeFile = async (\n\tfilePath: string,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tif (!existsSync(filePath)) {\n\t\tthrow new Error(\n\t\t\t`Unable to inline Angular style resource: file not found at ${filePath}`\n\t\t);\n\t}\n\tconst content = await compileStyleFileIfNeeded(\n\t\tfilePath,\n\t\tstylePreprocessors\n\t);\n\n\treturn escapeTemplateContent(content);\n};\n\nconst inlineTemplateAndLowerDefer = async (source: string, fileDir: string) => {\n\tconst templateUrlMatch = findUncommentedMatch(\n\t\tsource,\n\t\t/templateUrl\\s*:\\s*['\"]([^'\"]+)['\"]/\n\t);\n\tif (templateUrlMatch?.[1]) {\n\t\tconst templatePath = join(fileDir, templateUrlMatch[1]);\n\t\tif (!existsSync(templatePath)) {\n\t\t\tthrow new Error(\n\t\t\t\t`Unable to inline Angular templateUrl \"${templateUrlMatch[1]}\": file not found at ${templatePath}`\n\t\t\t);\n\t\t}\n\t\tconst templateRaw = await fs.readFile(templatePath, 'utf-8');\n\t\tconst lowered = lowerAngularDeferSyntax(templateRaw);\n\t\tconst escaped = escapeTemplateContent(lowered.template);\n\t\tconst replacedSource =\n\t\t\tsource.slice(0, templateUrlMatch.index) +\n\t\t\t`template: \\`${escaped}\\`` +\n\t\t\tsource.slice(templateUrlMatch.index + templateUrlMatch[0].length);\n\n\t\treturn {\n\t\t\tdeferSlots: lowered.slots,\n\t\t\tsource: injectDeferSlotFields(\n\t\t\t\treplacedSource,\n\t\t\t\tlowered.slots,\n\t\t\t\tresolveAngularDeferImportSpecifier()\n\t\t\t)\n\t\t};\n\t}\n\n\tconst inlineTemplateMatch = findUncommentedMatch(\n\t\tsource,\n\t\t/template\\s*:\\s*(`([\\s\\S]*?)`|'([^']*)'|\"([^\"]*)\")/\n\t);\n\tif (!inlineTemplateMatch) {\n\t\treturn { deferSlots: [] as LoweredAngularDeferSlot[], source };\n\t}\n\tconst templateRaw =\n\t\tinlineTemplateMatch[2] ??\n\t\tinlineTemplateMatch[3] ??\n\t\tinlineTemplateMatch[4] ??\n\t\t'';\n\tconst lowered = lowerAngularDeferSyntax(templateRaw);\n\tif (lowered.slots.length === 0 && lowered.template === templateRaw) {\n\t\treturn { deferSlots: lowered.slots, source };\n\t}\n\tconst escaped = escapeTemplateContent(lowered.template);\n\tconst replacedSource =\n\t\tsource.slice(0, inlineTemplateMatch.index) +\n\t\t`template: \\`${escaped}\\`` +\n\t\tsource.slice(inlineTemplateMatch.index + inlineTemplateMatch[0].length);\n\n\treturn {\n\t\tdeferSlots: lowered.slots,\n\t\tsource: injectDeferSlotFields(\n\t\t\treplacedSource,\n\t\t\tlowered.slots,\n\t\t\tresolveAngularDeferImportSpecifier()\n\t\t)\n\t};\n};\n\nconst inlineTemplateAndLowerDeferSync = (source: string, fileDir: string) => {\n\tconst templateUrlMatch = findUncommentedMatch(\n\t\tsource,\n\t\t/templateUrl\\s*:\\s*['\"]([^'\"]+)['\"]/\n\t);\n\tif (templateUrlMatch?.[1]) {\n\t\tconst templatePath = join(fileDir, templateUrlMatch[1]);\n\t\tif (!existsSync(templatePath)) {\n\t\t\tthrow new Error(\n\t\t\t\t`Unable to inline Angular templateUrl \"${templateUrlMatch[1]}\": file not found at ${templatePath}`\n\t\t\t);\n\t\t}\n\t\tconst templateRaw = readFileSync(templatePath, 'utf-8');\n\t\tconst lowered = lowerAngularDeferSyntax(templateRaw);\n\t\tconst escaped = escapeTemplateContent(lowered.template);\n\t\tconst replacedSource =\n\t\t\tsource.slice(0, templateUrlMatch.index) +\n\t\t\t`template: \\`${escaped}\\`` +\n\t\t\tsource.slice(templateUrlMatch.index + templateUrlMatch[0].length);\n\n\t\treturn {\n\t\t\tdeferSlots: lowered.slots,\n\t\t\tsource: injectDeferSlotFields(\n\t\t\t\treplacedSource,\n\t\t\t\tlowered.slots,\n\t\t\t\tresolveAngularDeferImportSpecifier()\n\t\t\t)\n\t\t};\n\t}\n\n\tconst inlineTemplateMatch = findUncommentedMatch(\n\t\tsource,\n\t\t/template\\s*:\\s*(`([\\s\\S]*?)`|'([^']*)'|\"([^\"]*)\")/\n\t);\n\tif (!inlineTemplateMatch) {\n\t\treturn { deferSlots: [] as LoweredAngularDeferSlot[], source };\n\t}\n\tconst templateRaw =\n\t\tinlineTemplateMatch[2] ??\n\t\tinlineTemplateMatch[3] ??\n\t\tinlineTemplateMatch[4] ??\n\t\t'';\n\tconst lowered = lowerAngularDeferSyntax(templateRaw);\n\tif (lowered.slots.length === 0 && lowered.template === templateRaw) {\n\t\treturn { deferSlots: lowered.slots, source };\n\t}\n\tconst escaped = escapeTemplateContent(lowered.template);\n\tconst replacedSource =\n\t\tsource.slice(0, inlineTemplateMatch.index) +\n\t\t`template: \\`${escaped}\\`` +\n\t\tsource.slice(inlineTemplateMatch.index + inlineTemplateMatch[0].length);\n\n\treturn {\n\t\tdeferSlots: lowered.slots,\n\t\tsource: injectDeferSlotFields(\n\t\t\treplacedSource,\n\t\t\tlowered.slots,\n\t\t\tresolveAngularDeferImportSpecifier()\n\t\t)\n\t};\n};\n\nconst readAndEscapeFileSync = (\n\tfilePath: string,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tif (!existsSync(filePath)) {\n\t\tthrow new Error(\n\t\t\t`Unable to inline Angular style resource: file not found at ${filePath}`\n\t\t);\n\t}\n\tconst content = compileStyleFileIfNeededSync(filePath, stylePreprocessors);\n\n\treturn escapeTemplateContent(content);\n};\n\nconst inlineStyleUrlsSync = (\n\tsource: string,\n\tfileDir: string,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tconst styleUrlsMatch = findUncommentedMatch(\n\t\tsource,\n\t\t/styleUrls\\s*:\\s*\\[([^\\]]+)\\]/\n\t);\n\tif (!styleUrlsMatch?.[1]) return source;\n\n\tconst urlMatches = styleUrlsMatch[1].match(/['\"]([^'\"]+)['\"]/g);\n\tif (!urlMatches) return source;\n\n\tconst inlinedStyles = urlMatches\n\t\t.map((urlMatch) => {\n\t\t\tconst styleUrl = urlMatch.replace(/['\"]/g, '');\n\n\t\t\treturn readAndEscapeFileSync(\n\t\t\t\tjoin(fileDir, styleUrl),\n\t\t\t\tstylePreprocessors\n\t\t\t);\n\t\t})\n\t\t.filter(Boolean)\n\t\t.map((escaped) => `\\`${escaped}\\``);\n\tif (inlinedStyles.length === 0) return source;\n\n\treturn (\n\t\tsource.slice(0, styleUrlsMatch.index) +\n\t\t`styles: [${inlinedStyles.join(', ')}]` +\n\t\tsource.slice(styleUrlsMatch.index + styleUrlsMatch[0].length)\n\t);\n};\n\nconst inlineSingleStyleUrlSync = (\n\tsource: string,\n\tfileDir: string,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tconst styleUrlMatch = findUncommentedMatch(\n\t\tsource,\n\t\t/styleUrl\\s*:\\s*['\"]([^'\"]+)['\"]/\n\t);\n\tif (!styleUrlMatch?.[1]) return source;\n\n\tconst escaped = readAndEscapeFileSync(\n\t\tjoin(fileDir, styleUrlMatch[1]),\n\t\tstylePreprocessors\n\t);\n\tif (!escaped) return source;\n\n\treturn (\n\t\tsource.slice(0, styleUrlMatch.index) +\n\t\t`styles: [\\`${escaped}\\`]` +\n\t\tsource.slice(styleUrlMatch.index + styleUrlMatch[0].length)\n\t);\n};\n\nconst inlineResourcesSync = (\n\tsource: string,\n\tfileDir: string,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tconst inlinedTemplate = inlineTemplateAndLowerDeferSync(source, fileDir);\n\tlet result = inlinedTemplate.source;\n\tresult = inlineStyleUrlsSync(result, fileDir, stylePreprocessors);\n\tresult = inlineSingleStyleUrlSync(result, fileDir, stylePreprocessors);\n\n\treturn {\n\t\tdeferSlots: inlinedTemplate.deferSlots,\n\t\tsource: result\n\t};\n};\n\nconst inlineStyleUrls = async (\n\tsource: string,\n\tfileDir: string,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tconst styleUrlsMatch = findUncommentedMatch(\n\t\tsource,\n\t\t/styleUrls\\s*:\\s*\\[([^\\]]+)\\]/\n\t);\n\tif (!styleUrlsMatch?.[1]) return source;\n\n\tconst urlMatches = styleUrlsMatch[1].match(/['\"]([^'\"]+)['\"]/g);\n\tif (!urlMatches) return source;\n\n\tconst stylePromises = urlMatches.map((urlMatch) => {\n\t\tconst styleUrl = urlMatch.replace(/['\"]/g, '');\n\n\t\treturn readAndEscapeFile(join(fileDir, styleUrl), stylePreprocessors);\n\t});\n\tconst results = await Promise.all(stylePromises);\n\tconst inlinedStyles = results\n\t\t.filter(Boolean)\n\t\t.map((escaped) => `\\`${escaped}\\``);\n\tif (inlinedStyles.length === 0) return source;\n\n\treturn (\n\t\tsource.slice(0, styleUrlsMatch.index) +\n\t\t`styles: [${inlinedStyles.join(', ')}]` +\n\t\tsource.slice(styleUrlsMatch.index + styleUrlsMatch[0].length)\n\t);\n};\n\nconst inlineSingleStyleUrl = async (\n\tsource: string,\n\tfileDir: string,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tconst styleUrlMatch = findUncommentedMatch(\n\t\tsource,\n\t\t/styleUrl\\s*:\\s*['\"]([^'\"]+)['\"]/\n\t);\n\tif (!styleUrlMatch?.[1]) return source;\n\n\tconst escaped = await readAndEscapeFile(\n\t\tjoin(fileDir, styleUrlMatch[1]),\n\t\tstylePreprocessors\n\t);\n\tif (!escaped) return source;\n\n\treturn (\n\t\tsource.slice(0, styleUrlMatch.index) +\n\t\t`styles: [\\`${escaped}\\`]` +\n\t\tsource.slice(styleUrlMatch.index + styleUrlMatch[0].length)\n\t);\n};\n\n/** Inline templateUrl and styleUrls/styleUrl from external files */\nconst inlineResources = async (\n\tsource: string,\n\tfileDir: string,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tconst inlinedTemplate = await inlineTemplateAndLowerDefer(source, fileDir);\n\tlet result = inlinedTemplate.source;\n\tresult = await inlineStyleUrls(result, fileDir, stylePreprocessors);\n\tresult = await inlineSingleStyleUrl(result, fileDir, stylePreprocessors);\n\n\treturn {\n\t\tdeferSlots: inlinedTemplate.deferSlots,\n\t\tsource: result\n\t};\n};\n\n/** Angular HMR Runtime Layer (Level 3) — JIT-mode compilation for dev/HMR builds.\n * Uses ts.transpileModule() instead of Angular AOT performCompilation().\n * Inlines templateUrl → template and styleUrls → styles from disk.\n * Recursively transpiles all local imports so Bun's bundler can resolve them.\n * ~50-100ms for a tree of ~10 files vs ~500-700ms for AOT. */\nexport const compileAngularFileJIT = async (\n\tinputPath: string,\n\toutDir: string,\n\trootDir?: string,\n\tstylePreprocessors?: StylePreprocessorConfig,\n\tcacheBuster?: string\n) => {\n\tconst entryPath = resolve(inputPath);\n\tconst allOutputs: string[] = [];\n\tconst visited = new Set<string>();\n\tconst baseDir = resolve(rootDir ?? process.cwd());\n\tlet usesLegacyAnimations = false;\n\n\tconst angularTranspiler = new Bun.Transpiler({\n\t\tloader: 'ts',\n\t\ttsconfig: JSON.stringify({\n\t\t\tcompilerOptions: {\n\t\t\t\temitDecoratorMetadata: true,\n\t\t\t\texperimentalDecorators: true\n\t\t\t}\n\t\t})\n\t});\n\tconst tsconfigAliases = readTsconfigPathAliases();\n\n\tconst resolveSourceFile = (candidate: string) => {\n\t\tconst candidates = candidate.match(/\\.(?:[cm]?[tj]sx?|json)$/)\n\t\t\t? [candidate]\n\t\t\t: [\n\t\t\t\t\t`${candidate}.ts`,\n\t\t\t\t\t`${candidate}.tsx`,\n\t\t\t\t\t`${candidate}.js`,\n\t\t\t\t\t`${candidate}.jsx`,\n\t\t\t\t\t`${candidate}.json`,\n\t\t\t\t\tjoin(candidate, 'index.ts'),\n\t\t\t\t\tjoin(candidate, 'index.tsx'),\n\t\t\t\t\tjoin(candidate, 'index.js'),\n\t\t\t\t\tjoin(candidate, 'index.jsx')\n\t\t\t\t];\n\n\t\treturn candidates.find((file) => existsSync(file));\n\t};\n\n\tconst resolveLocalImport = (specifier: string, fromDir: string) => {\n\t\tif (specifier.startsWith('.') || specifier.startsWith('/')) {\n\t\t\treturn resolveSourceFile(resolve(fromDir, specifier));\n\t\t}\n\n\t\tconst aliased = matchTsconfigAlias(\n\t\t\tspecifier,\n\t\t\ttsconfigAliases.aliases,\n\t\t\ttsconfigAliases.baseUrl,\n\t\t\tresolveSourceFile\n\t\t);\n\t\tif (aliased) return aliased;\n\n\t\ttry {\n\t\t\tconst resolved = Bun.resolveSync(specifier, fromDir);\n\t\t\tif (resolved.includes('/node_modules/')) return undefined;\n\t\t\tconst absolute = resolve(resolved);\n\t\t\tif (!absolute.startsWith(baseDir)) return undefined;\n\n\t\t\treturn resolveSourceFile(absolute);\n\t\t} catch {\n\t\t\treturn undefined;\n\t\t}\n\t};\n\n\tconst toOutputPath = (sourcePath: string) => {\n\t\tconst inputDir = dirname(sourcePath);\n\t\tconst relativeDir = inputDir.startsWith(baseDir)\n\t\t\t? inputDir.substring(baseDir.length + 1)\n\t\t\t: inputDir;\n\t\t// `.ts/.tsx/.js/.jsx` → `.js`. `.json` is preserved\n\t\t// (the angular generated tree mirrors the source layout for\n\t\t// JSON imports so `import x from './x.json'` resolves).\n\t\tconst fileBase = basename(sourcePath).replace(/\\.[cm]?[tj]sx?$/, '.js');\n\n\t\treturn join(outDir, relativeDir, fileBase);\n\t};\n\n\tconst withCacheBuster = (specifier: string) => {\n\t\tif (!cacheBuster) return specifier;\n\t\treturn specifier.includes('?')\n\t\t\t? `${specifier}&t=${cacheBuster}`\n\t\t\t: `${specifier}?t=${cacheBuster}`;\n\t};\n\n\tconst transpileAndRewrite = (\n\t\tsourceCode: string,\n\t\trelativeDir: string,\n\t\tactualPath: string,\n\t\timportRewrites: Map<string, string>\n\t) => {\n\t\tlet processedContent = angularTranspiler.transformSync(sourceCode);\n\t\tconst outputPath = toOutputPath(actualPath);\n\t\tconst rewriteBareImport = (\n\t\t\tprefix: string,\n\t\t\tspecifier: string,\n\t\t\tsuffix: string\n\t) => {\n\t\t\tconst rewritten = importRewrites.get(specifier);\n\t\t\tif (rewritten) {\n\t\t\t\treturn `${prefix}${withCacheBuster(rewritten)}${suffix}`;\n\t\t\t}\n\t\t\tif (specifier.startsWith('.') || specifier.startsWith('/')) {\n\t\t\t\treturn `${prefix}${specifier}${suffix}`;\n\t\t\t}\n\n\t\t\treturn `${prefix}${specifier}${suffix}`;\n\t\t};\n\n\t\tprocessedContent = processedContent.replace(\n\t\t\t/(from\\s+['\"])([^'\"]+)(['\"])/g,\n\t\t\t(_, prefix, specifier, suffix) =>\n\t\t\t\trewriteBareImport(prefix, specifier, suffix)\n\t\t);\n\t\tprocessedContent = processedContent.replace(\n\t\t\t/(import\\s+['\"])([^'\"]+)(['\"])/g,\n\t\t\t(_, prefix, specifier, suffix) =>\n\t\t\t\trewriteBareImport(prefix, specifier, suffix)\n\t\t);\n\t\tprocessedContent = processedContent.replace(\n\t\t\t/(import\\(\\s*['\"])([^'\"]+)(['\"]\\s*\\))/g,\n\t\t\t(_, prefix, specifier, suffix) =>\n\t\t\t\trewriteBareImport(prefix, specifier, suffix)\n\t\t);\n\n\t\tprocessedContent = processedContent.replace(\n\t\t\t/from\\s+(['\"])(\\.\\.?\\/[^'\"]+)(\\1)/g,\n\t\t\t(match, quote, path) => {\n\t\t\t\tconst rewritten = rewriteRelativeJsSpecifier(outputPath, path);\n\t\t\t\tif (rewritten !== path) {\n\t\t\t\t\treturn `from ${quote}${rewritten}${quote}`;\n\t\t\t\t}\n\n\t\t\t\treturn match;\n\t\t\t}\n\t\t);\n\n\t\tconst relDepth =\n\t\t\trelativeDir === '' || relativeDir === '.'\n\t\t\t\t? 0\n\t\t\t\t: relativeDir.split('/').length;\n\t\tprocessedContent = processedContent.replace(\n\t\t\t/(from\\s+['\"])(\\.\\.\\/(?:\\.\\.\\/)*)/g,\n\t\t\t(_, prefix, dots) => {\n\t\t\t\tconst upCount = dots.split('/').length - 1;\n\t\t\t\tif (upCount <= relDepth) return `${prefix}${dots}`;\n\n\t\t\t\treturn `${prefix}../${dots}`;\n\t\t\t}\n\t\t);\n\t\tif (resolve(actualPath) === entryPath) {\n\t\t\tprocessedContent += buildIslandMetadataExports(sourceCode);\n\t\t}\n\n\t\treturn processedContent;\n\t};\n\n\t/** Transpile a single .ts file and recursively process its local imports */\n\tconst transpileFile = async (filePath: string) => {\n\t\tconst resolved = resolve(filePath);\n\t\tif (visited.has(resolved)) return;\n\t\tvisited.add(resolved);\n\n\t\t// JSON files: copy to the generated tree unchanged so a\n\t\t// consumer's `import x from './x.json'` can resolve relative\n\t\t// to its compiled `.js` location at SSR / module-server time.\n\t\t// No imports inside JSON, so no recursion.\n\t\tif (resolved.endsWith('.json') && existsSync(resolved)) {\n\t\t\tconst inputDir = dirname(resolved);\n\t\t\tconst relativeDir = inputDir.startsWith(baseDir)\n\t\t\t\t? inputDir.substring(baseDir.length + 1)\n\t\t\t\t: inputDir;\n\t\t\tconst targetDir = join(outDir, relativeDir);\n\t\t\tconst targetPath = join(targetDir, basename(resolved));\n\t\t\tawait fs.mkdir(targetDir, { recursive: true });\n\t\t\tawait fs.copyFile(resolved, targetPath);\n\t\t\tallOutputs.push(targetPath);\n\t\t\treturn;\n\t\t}\n\n\t\t// Only transpile .ts files that exist\n\t\tlet actualPath = resolved;\n\t\tif (!actualPath.endsWith('.ts')) actualPath += '.ts';\n\t\tif (!existsSync(actualPath)) return;\n\n\t\tlet sourceCode = await fs.readFile(actualPath, 'utf-8');\n\t\tsourceCode = rewriteAngularProvideRouter(sourceCode);\n\n\t\t// Angular HMR Runtime Layer (Level 3) — Inline templateUrl and styleUrls\n\t\t// This resolves external resources at transpile time so Angular JIT\n\t\t// doesn't try to fetch them via HTTP (which fails on the server)\n\t\tconst inlined = await inlineResources(\n\t\t\tsourceCode,\n\t\t\tdirname(actualPath),\n\t\t\tstylePreprocessors\n\t\t);\n\t\tsourceCode = inlineTemplateAndLowerDeferSync(\n\t\t\tinlined.source,\n\t\t\tdirname(actualPath)\n\t\t).source;\n\n\t\t// Compute output path preserving directory structure\n\t\tconst inputDir = dirname(actualPath);\n\t\tconst relativeDir = inputDir.startsWith(baseDir)\n\t\t\t? inputDir.substring(baseDir.length + 1)\n\t\t\t: inputDir;\n\t\tconst fileBase = basename(actualPath).replace(/\\.[cm]?[tj]sx?$/, '.js');\n\t\tconst targetDir = join(outDir, relativeDir);\n\t\tconst targetPath = toOutputPath(actualPath);\n\n\t\t// Find all relative imports to process recursively (needed\n\t\t// even when skipping transpilation for cache-hit files).\n\t\t// Catches: import/export ... from './x', export * from './x',\n\t\t// import './x' (side-effect), and dynamic import('./x').\n\t\tconst localImports: string[] = [];\n\t\tconst importRewrites = new Map<string, string>();\n\t\tconst fromRegex =\n\t\t\t/(?:from|import)\\s+['\"]([^'\".][^'\"]*|\\.\\.?\\/[^'\"]+)['\"]/g;\n\t\tconst dynamicImportRegex =\n\t\t\t/import\\(\\s*['\"]([^'\".][^'\"]*|\\.\\.?\\/[^'\"]+)['\"]\\s*\\)/g;\n\t\tlet importMatch;\n\t\twhile ((importMatch = fromRegex.exec(sourceCode)) !== null) {\n\t\t\tif (importMatch[1]) localImports.push(importMatch[1]);\n\t\t}\n\t\twhile ((importMatch = dynamicImportRegex.exec(sourceCode)) !== null) {\n\t\t\tif (importMatch[1]) localImports.push(importMatch[1]);\n\t\t}\n\t\tif (localImports.includes('@angular/animations')) {\n\t\t\tusesLegacyAnimations = true;\n\t\t}\n\t\tconst localImportPaths = localImports\n\t\t\t.map((specifier) => {\n\t\t\t\tconst resolved = resolveLocalImport(specifier, inputDir);\n\t\t\t\tif (!resolved) return null;\n\t\t\t\tconst relativeImport = relative(\n\t\t\t\t\ttargetDir,\n\t\t\t\t\ttoOutputPath(resolved)\n\t\t\t\t)\n\t\t\t\t\t.replace(/\\\\/g, '/')\n\t\t\t\t\t.replace(/\\.js$/, '');\n\t\t\t\tconst relativeRewrite = relativeImport.startsWith('.')\n\t\t\t\t\t? relativeImport\n\t\t\t\t\t: `./${relativeImport}`;\n\t\t\t\timportRewrites.set(specifier, relativeRewrite);\n\n\t\t\t\treturn resolved;\n\t\t\t})\n\t\t\t.filter((path): path is string => Boolean(path));\n\n\t\t// Skip transpilation if source content hasn't changed — the\n\t\t// compiled output on disk is already up-to-date. This avoids\n\t\t// unnecessary disk writes that trigger bun --hot re-evaluation\n\t\t// and cause progressively slower compile times.\n\t\t//\n\t\t// `cacheBuster` only forces rewrite of the *entry* file, not\n\t\t// recursively-traversed imports. The HMR disk-refresh path\n\t\t// uses it when an HTML/CSS resource changed without a TS edit\n\t\t// (so the TS hash is stale on the inlined-template view); we\n\t\t// don't want it to invalidate the whole import graph too.\n\t\tconst isEntry = resolve(actualPath) === resolve(entryPath);\n\t\tconst contentHash = Bun.hash(sourceCode).toString(BASE_36_RADIX);\n\t\tconst cacheKey = actualPath;\n\t\tconst shouldWriteFile = cacheBuster && isEntry\n\t\t\t? true\n\t\t\t: jitContentCache.get(cacheKey) !== contentHash ||\n\t\t\t\t!existsSync(targetPath);\n\t\tif (shouldWriteFile) {\n\t\t\tconst processedContent = transpileAndRewrite(\n\t\t\t\tsourceCode,\n\t\t\t\trelativeDir,\n\t\t\t\tactualPath,\n\t\t\t\timportRewrites\n\t\t\t);\n\n\t\t\t// No inline sourcemap on the intermediate for Angular.\n\t\t\t// Bun.Transpiler doesn't emit sourcemaps, and the\n\t\t\t// decorator-metadata rewrite reshapes the class body\n\t\t\t// aggressively enough that content-matching the\n\t\t\t// original .ts to the transpiled output produces only\n\t\t\t// trivial mappings (imports). Server-side stack frames\n\t\t\t// therefore point at the on-disk intermediate `.js`\n\t\t\t// under `.absolutejs/generated/angular/...` — a real\n\t\t\t// file the developer can open. See HMR_COVERAGE.md\n\t\t\t// open-issues for the path forward (switch the per-file\n\t\t\t// transpile to a Bun.build pass so we get its native\n\t\t\t// sourcemap output).\n\t\t\tawait fs.mkdir(targetDir, { recursive: true });\n\t\t\tawait fs.writeFile(targetPath, processedContent, 'utf-8');\n\t\t\tjitContentCache.set(cacheKey, contentHash);\n\t\t}\n\n\t\tallOutputs.push(targetPath);\n\n\t\t// Recursively transpile local imports\n\t\tawait Promise.all(\n\t\t\tlocalImportPaths.map((importPath) => transpileFile(importPath))\n\t\t);\n\t};\n\n\tawait transpileFile(inputPath);\n\n\tconst entryOutputPath = toOutputPath(entryPath);\n\tif (existsSync(entryOutputPath)) {\n\t\tconst entryOutput = await fs.readFile(entryOutputPath, 'utf-8');\n\t\tconst withoutLegacyFlag = entryOutput.replace(\n\t\t\t/\\nexport const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;\\n?/g,\n\t\t\t'\\n'\n\t\t);\n\t\tconst nextEntryOutput = usesLegacyAnimations\n\t\t\t? `${withoutLegacyFlag}\\nexport const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;\\n`\n\t\t\t: withoutLegacyFlag;\n\t\tif (nextEntryOutput !== entryOutput) {\n\t\t\tawait fs.writeFile(entryOutputPath, nextEntryOutput, 'utf-8');\n\t\t}\n\t}\n\n\treturn allOutputs;\n};\n\nexport const compileAngular = async (\n\tentryPoints: string[],\n\toutRoot: string,\n\thmr = false,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\t// Compile to <projectRoot>/.absolutejs/generated/angular/. The\n\t// previous layout wrote into <angularDir>/generated/, leaking into\n\t// the user's source tree. Path math inside this function keeps\n\t// using `outRoot` (the user's angular source dir) for relative\n\t// computations — only the *destination root* moves.\n\tconst compiledParent = getFrameworkGeneratedDir('angular');\n\n\tif (entryPoints.length === 0) {\n\t\tconst emptyPaths: string[] = [];\n\n\t\treturn { clientPaths: [...emptyPaths], serverPaths: [...emptyPaths] };\n\t}\n\n\t// In dev/HMR a fixed path is required: different file paths produce\n\t// different ESM cache entries in Bun, which would split Angular into\n\t// duplicate module instances and trip NG0201/NG0203 token-identity\n\t// mismatches. Pinning to the gitignored `.absolutejs/generated/`\n\t// satisfies the constraint while keeping `src/` clean.\n\tconst compiledRoot = compiledParent;\n\tconst indexesDir = join(compiledParent, 'indexes');\n\n\tawait traceAngularPhase('setup/create-indexes-dir', () =>\n\t\tfs.mkdir(indexesDir, { recursive: true })\n\t);\n\n\tconst aotOutputs = hmr\n\t\t? []\n\t\t: await traceAngularPhase(\n\t\t\t\t'aot/compile-files',\n\t\t\t\t() =>\n\t\t\t\t\tcompileAngularFiles(\n\t\t\t\t\t\tentryPoints.map((entry) => resolve(entry)),\n\t\t\t\t\t\tcompiledRoot,\n\t\t\t\t\t\tstylePreprocessors\n\t\t\t\t\t),\n\t\t\t\t{ entries: entryPoints.length }\n\t\t\t);\n\t// AOT mirrors the source tree under `compiledRoot/<rel-from-cwd>/`, so\n\t// `import x from '../data/foo.json'` from a compiled component must\n\t// resolve a copy of the JSON in the same relative location. The JIT\n\t// path copies these inline (see `transpileFile` below); AOT skipped\n\t// them and the prod server bundle then failed with\n\t// `Could not resolve: \"../data/labels.json\"`. Walk the user's angular\n\t// source dir and mirror every `.json` to the AOT tree.\n\tif (!hmr) {\n\t\tawait traceAngularPhase('aot/copy-json-resources', async () => {\n\t\t\tconst cwd = process.cwd();\n\t\t\tconst angularSrcDir = resolve(outRoot);\n\t\t\tif (!existsSync(angularSrcDir)) return;\n\t\t\tconst jsonGlob = new Glob('**/*.json');\n\t\t\tfor (const rel of jsonGlob.scanSync({\n\t\t\t\tabsolute: false,\n\t\t\t\tcwd: angularSrcDir\n\t\t\t})) {\n\t\t\t\tconst sourcePath = join(angularSrcDir, rel);\n\t\t\t\tconst cwdRel = relative(cwd, sourcePath);\n\t\t\t\tconst targetPath = join(compiledRoot, cwdRel);\n\t\t\t\tawait fs.mkdir(dirname(targetPath), { recursive: true });\n\t\t\t\tawait fs.copyFile(sourcePath, targetPath);\n\t\t\t}\n\t\t});\n\t}\n\tconst usesLegacyAngularAnimations = await traceAngularPhase(\n\t\t'setup/legacy-animation-resolver',\n\t\t() => createLegacyAngularAnimationUsageResolver(outRoot)\n\t);\n\n\tconst compileTasks = entryPoints.map(async (entry) => {\n\t\tconst resolvedEntry = resolve(entry);\n\t\tconst relativeEntry = relative(outRoot, resolvedEntry).replace(\n\t\t\t/\\.[tj]s$/,\n\t\t\t'.js'\n\t\t);\n\t\tconst compileEntry = () =>\n\t\t\tcompileAngularFileJIT(\n\t\t\t\tresolvedEntry,\n\t\t\t\tcompiledRoot,\n\t\t\t\toutRoot,\n\t\t\t\tstylePreprocessors\n\t\t\t);\n\n\t\t// Angular HMR Runtime Layer (Level 3) — Use JIT compilation for dev/HMR builds.\n\t\t// JIT uses ts.transpileModule() with template/style inlining (~50-100ms)\n\t\t// instead of AOT performCompilation() (~500-700ms).\n\t\tlet outputs = hmr\n\t\t\t? await traceAngularPhase('jit/compile-entry', compileEntry, {\n\t\t\t\t\tentry: resolvedEntry\n\t\t\t\t})\n\t\t\t: aotOutputs;\n\t\tconst fileBase = basename(resolvedEntry).replace(/\\.[tj]s$/, '');\n\t\tconst jsName = `${fileBase}.js`;\n\t\tconst compiledFallbackPaths = [\n\t\t\tjoin(compiledRoot, relativeEntry),\n\t\t\tjoin(compiledRoot, 'pages', jsName),\n\t\t\tjoin(compiledRoot, jsName)\n\t\t].map((file) => resolve(file));\n\t\tconst resolveRawServerFile = (candidatePaths: string[]) => {\n\t\t\tconst normalizedCandidates = [\n\t\t\t\t...candidatePaths.map((file) => resolve(file)),\n\t\t\t\t...compiledFallbackPaths\n\t\t\t];\n\t\t\t// Match by the page's full source-relative path (e.g.\n\t\t\t// `src/frontend/pages/admin/admin.js`). Required for the\n\t\t\t// folder-per-page layout, where basename-only matching can\n\t\t\t// collide with same-named files elsewhere in the project\n\t\t\t// (e.g. `src/types/admin/admin.ts`).\n\t\t\tlet candidate = normalizedCandidates.find(\n\t\t\t\t(file) =>\n\t\t\t\t\texistsSync(file) &&\n\t\t\t\t\tfile.endsWith(`${sep}${relativeEntry}`)\n\t\t\t);\n\t\t\tif (!candidate) {\n\t\t\t\tcandidate = normalizedCandidates.find(\n\t\t\t\t\t(file) =>\n\t\t\t\t\t\texistsSync(file) &&\n\t\t\t\t\t\tfile.endsWith(`${sep}pages${sep}${jsName}`)\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (!candidate) {\n\t\t\t\tcandidate = normalizedCandidates.find(\n\t\t\t\t\t(file) =>\n\t\t\t\t\t\texistsSync(file) && file.endsWith(`${sep}${jsName}`)\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (!candidate) {\n\t\t\t\tcandidate = normalizedCandidates.find((file) =>\n\t\t\t\t\texistsSync(file)\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn candidate;\n\t\t};\n\n\t\tlet rawServerFile = await traceAngularPhase(\n\t\t\t'wrapper/resolve-server-output',\n\t\t\t() => resolveRawServerFile(outputs),\n\t\t\t{ entry: resolvedEntry }\n\t\t);\n\t\tif (!rawServerFile) {\n\t\t\trawServerFile = await traceAngularPhase(\n\t\t\t\t'wrapper/resolve-server-output-fallback',\n\t\t\t\t() => resolveRawServerFile([]),\n\t\t\t\t{ entry: resolvedEntry }\n\t\t\t);\n\t\t}\n\t\tif (rawServerFile && !existsSync(rawServerFile)) {\n\t\t\toutputs = hmr ? await compileEntry() : aotOutputs;\n\t\t\trawServerFile = await traceAngularPhase(\n\t\t\t\t'wrapper/resolve-server-output-retry',\n\t\t\t\t() => resolveRawServerFile(outputs),\n\t\t\t\t{ entry: resolvedEntry }\n\t\t\t);\n\t\t}\n\n\t\tif (!rawServerFile || !existsSync(rawServerFile)) {\n\t\t\tthrow new Error(\n\t\t\t\t`Compiled output not found for ${entry}. Looking for: ${jsName}. Available: ${[\n\t\t\t\t\t...outputs,\n\t\t\t\t\t...compiledFallbackPaths\n\t\t\t\t].join(', ')}`\n\t\t\t);\n\t\t}\n\n\t\tconst original = await traceAngularPhase(\n\t\t\t'wrapper/read-server-output',\n\t\t\t() => fs.readFile(rawServerFile, 'utf-8'),\n\t\t\t{ entry: resolvedEntry }\n\t\t);\n\n\t\t// Detect the actual exported class so the generated `export default`\n\t\t// (and the client-bundle wrappers below) reference a real symbol.\n\t\t// Without this, files whose class name doesn't follow the\n\t\t// `<Pascal(filename)>Component` convention (e.g. resources.ts\n\t\t// exporting `ContentComponent`, admin-debug.ts exporting\n\t\t// `AdminLogsComponent`) get a dangling `export default\n\t\t// ResourcesComponent` appended, which throws\n\t\t// `ReferenceError: <X> is not defined` at module-evaluation time.\n\t\t//\n\t\t// In Bun ≤1.3.13 this fails only on the first request — sequential\n\t\t// `import()` after an evaluation throw silently returns a\n\t\t// partially-initialized module instead of re-throwing. Fixed on\n\t\t// Bun main in PR oven-sh/bun#29393, awaiting 1.3.14. Tracked as\n\t\t// oven-sh/bun#29791; see UPSTREAM_ISSUES.md.\n\t\tconst detectExportedComponentClass = (\n\t\t\tsource: string\n\t\t): string | null => {\n\t\t\tconst defaultMatch = source.match(\n\t\t\t\t/export\\s+default\\s+([A-Za-z_$][\\w$]*)\\s*;/\n\t\t\t);\n\t\t\tif (defaultMatch) return defaultMatch[1]!;\n\t\t\tconst exportClassMatch = source.match(\n\t\t\t\t/export\\s+(?:default\\s+)?class\\s+([A-Za-z_$][\\w$]*)/\n\t\t\t);\n\t\t\tif (exportClassMatch) return exportClassMatch[1]!;\n\t\t\treturn null;\n\t\t};\n\t\tconst detectedClassName = await traceAngularPhase(\n\t\t\t'wrapper/detect-component-class',\n\t\t\t() => detectExportedComponentClass(original),\n\t\t\t{ entry: resolvedEntry }\n\t\t);\n\t\t// `not-found.ts` and similar convention pages export a render\n\t\t// function (`renderNotFound`/`renderError`/etc.) instead of a\n\t\t// component class. Falling back to a guessed `<Pascal>Component`\n\t\t// name when nothing is detected emits a dangling\n\t\t// `export default NotFoundComponent;` and the bundle throws\n\t\t// `ReferenceError: NotFoundComponent is not defined` at module\n\t\t// evaluation. Use the fallback ONLY for the bundle-internal\n\t\t// references that need *some* placeholder symbol — and skip the\n\t\t// trailing default-export append entirely when nothing real was\n\t\t// found.\n\t\tconst componentClassName =\n\t\t\tdetectedClassName ?? `${toPascal(fileBase)}Component`;\n\t\tconst usesLegacyAnimations = await traceAngularPhase(\n\t\t\t'wrapper/detect-legacy-animations',\n\t\t\t() => usesLegacyAngularAnimations(resolvedEntry),\n\t\t\t{ entry: resolvedEntry }\n\t\t);\n\n\t\t// Angular HMR Optimization — Hash the compiled server file content.\n\t\t// If it hasn't changed since last HMR cycle, skip all the rewriting,\n\t\t// HMR registration injection, SSR deps writing, and index regeneration.\n\t\t// This eliminates ~100-500ms of wrapper overhead on cache hits.\n\t\tconst serverContentHash = Bun.hash(original).toString(BASE_36_RADIX);\n\t\tconst cachedWrapper = wrapperOutputCache.get(resolvedEntry);\n\t\tconst clientFile = join(indexesDir, jsName);\n\t\tif (\n\t\t\thmr &&\n\t\t\tcachedWrapper &&\n\t\t\tcachedWrapper.serverHash === serverContentHash &&\n\t\t\texistsSync(clientFile) &&\n\t\t\t(usesLegacyAnimations ||\n\t\t\t\t!original.includes(\n\t\t\t\t\t'__ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__'\n\t\t\t\t)) &&\n\t\t\t(!usesLegacyAnimations ||\n\t\t\t\toriginal.includes('__ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__'))\n\t\t) {\n\t\t\treturn {\n\t\t\t\tclientPath: clientFile,\n\t\t\t\tindexUnchanged: true,\n\t\t\t\tserverPath: rawServerFile\n\t\t\t};\n\t\t}\n\n\t\t// Ensure the JIT compiler side effect runs before any Angular package\n\t\t// imports in generated page modules. Consumer pages usually import\n\t\t// @angular/common first, which otherwise trips partial-compile JIT mode.\n\t\tlet rewritten = original;\n\t\trewritten = rewritten.replace(\n\t\t\t/\\nexport const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;\\n?/g,\n\t\t\t'\\n'\n\t\t);\n\t\tif (!rewritten.includes(`import '@angular/compiler';`)) {\n\t\t\trewritten = `import '@angular/compiler';\\n${rewritten}`;\n\t\t}\n\n\t\t// Only add default export if one doesn't already exist AND we\n\t\t// actually detected a real class to point it at — convention\n\t\t// pages that export a render function (e.g. not-found.ts's\n\t\t// `renderNotFound`) intentionally have no default class export.\n\t\tif (detectedClassName && !rewritten.includes('export default')) {\n\t\t\trewritten += `\\nexport default ${componentClassName};\\n`;\n\t\t}\n\t\tif (usesLegacyAnimations) {\n\t\t\trewritten +=\n\t\t\t\t'\\nexport const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;\\n';\n\t\t}\n\n\t\t// Note: proto-swap registration was here. SURGICAL_HMR §3.3\n\t\t// replaced it with `hmrInjectionPlugin.ts`, which appends a\n\t\t// per-component `__ng_hmr_load` listener at bundle time.\n\n\t\tawait traceAngularPhase(\n\t\t\t'wrapper/write-server-output',\n\t\t\t() => fs.writeFile(rawServerFile, rewritten, 'utf-8'),\n\t\t\t{ entry: resolvedEntry }\n\t\t);\n\n\t\t// Calculate relative path from indexes directory to the server file\n\t\t// This handles deeply nested paths that Angular compiler may create\n\t\tconst relativePath = relative(indexesDir, rawServerFile).replace(\n\t\t\t/\\\\/g,\n\t\t\t'/'\n\t\t);\n\t\t// Ensure it starts with ./ or ../ for relative imports\n\t\tconst normalizedImportPath = relativePath.startsWith('.')\n\t\t\t? relativePath\n\t\t\t: `./${relativePath}`;\n\n\t\t// Angular HMR Runtime Layer (Level 3) — Import runtime before HMR client\n\t\tconst hmrPreamble = hmr\n\t\t\t? `window.__HMR_FRAMEWORK__ = \"angular\";\\nimport \"${hmrClientPath}\";\\n`\n\t\t\t: '';\n\t\tconst hydration = hmr\n\t\t\t? `${hmrPreamble}\nimport '@angular/compiler';\nimport { bootstrapApplication } from '@angular/platform-browser';\nimport { provideClientHydration } from '@angular/platform-browser';\nimport { withHttpTransferCacheOptions } from '@angular/platform-browser';\nimport { provideZonelessChangeDetection } from '@angular/core';\nimport * as pageModule from '${normalizedImportPath}';\n\nvar ${componentClassName} = pageModule.default;\nvar toScreamingSnake = function(str) {\n return str.replace(/([a-z0-9])([A-Z])/g, '$1_$2').toUpperCase();\n};\nvar isInjectionToken = function(value) {\n return Boolean(value) && typeof value === 'object' && value.ngMetadataName === 'InjectionToken';\n};\nvar pageProps = window.__ABS_ANGULAR_PAGE_PROPS__ || {};\nvar pageHasIslands = Boolean(pageModule.__ABSOLUTE_PAGE_HAS_ISLANDS__) || Boolean(document.querySelector('[data-island=\"true\"]'));\nvar pageHasRawStreamingSlots = Boolean(document.querySelector('[data-absolute-raw-slot=\"true\"]'));\nvar pageHasStreamingSlots = Boolean(document.querySelector('[data-absolute-slot=\"true\"]'));\nvar propProviders = Object.entries(pageProps).map(function(entry) {\n var propName = entry[0];\n var propValue = entry[1];\n var token = pageModule[toScreamingSnake(propName)];\n return isInjectionToken(token) ? { provide: token, useValue: propValue } : null;\n}).filter(Boolean);\n// Page-level providers, opt-in via \\`export const providers = [...]\\` in the\n// page module. Required so DI tokens that the component (or any service it\n// injects) needs are available client-side too — without these, services\n// that worked in SSR fail with NG0201 after hydration.\nvar maybePageProviders = Reflect.get(pageModule, 'providers');\nvar pageProviders = Array.isArray(maybePageProviders) ? maybePageProviders : [];\nvar absoluteHttpTransferCacheOptions = {\n includePostRequests: false,\n includeRequestsWithAuthHeaders: false,\n filter: function(request) {\n return !request.headers.has('x-skip-transfer-cache');\n }\n};\n\n// SURGICAL_HMR Tier 1 — Re-bootstrap hook. The dev client invokes\n// \\`window.__ABS_ANGULAR_REBOOTSTRAP__()\\` when it receives an\n// \\`angular:rebootstrap\\` WS message; the hook looks up this page's\n// freshly-built bundle URL (the rebuild already broadcast its\n// updated manifest, so window.__HMR_MANIFEST__ is current) and\n// dynamic-imports it. Re-importing the chunk re-runs the\n// destroy+bootstrap block below — no special path needed because\n// chunk eval is the bootstrap.\nwindow.__ABS_ANGULAR_PAGE_BUNDLE_ID__ = '${toPascal(fileBase)}Index';\nwindow.__ABS_ANGULAR_REBOOTSTRAP__ = async function() {\n var id = window.__ABS_ANGULAR_PAGE_BUNDLE_ID__;\n var manifest = window.__HMR_MANIFEST__ || {};\n var newUrl = manifest[id];\n if (!newUrl) {\n console.warn('[absolutejs] no bundle URL in manifest for', id, '— full reload');\n window.location.reload();\n return;\n }\n await import(newUrl + '?t=' + Date.now());\n};\n\nif (window.__ANGULAR_APP__) {\n try { window.__ANGULAR_APP__.destroy(); } catch (_err) { /* ignore */ }\n window.__ANGULAR_APP__ = null;\n}\n\n// Ensure root element exists after destroy (Angular removes it)\nvar _sel = ${componentClassName}.ɵcmp?.selectors?.[0]?.[0] || 'ng-app';\nif (!document.querySelector(_sel)) {\n (document.getElementById('root') || document.body).appendChild(document.createElement(_sel));\n}\n\nvar providers = [provideZonelessChangeDetection()];\nif (!window.__HMR_SKIP_HYDRATION__ && !pageHasIslands) {\n providers.push(provideClientHydration(withHttpTransferCacheOptions(absoluteHttpTransferCacheOptions)));\n}\ndelete window.__HMR_SKIP_HYDRATION__;\nproviders.push.apply(providers, pageProviders);\nproviders.push.apply(providers, propProviders);\nwindow.__ABS_SLOT_HYDRATION_PENDING__ = pageHasRawStreamingSlots;\n\nif (pageHasRawStreamingSlots) {\n window.__ABS_SLOT_HYDRATION_PENDING__ = false;\n if (typeof window.__ABS_SLOT_FLUSH__ === 'function') {\n requestAnimationFrame(function() {\n window.__ABS_SLOT_FLUSH__();\n });\n }\n} else {\n bootstrapApplication(${componentClassName}, {\n providers: providers\n }).then(function (appRef) {\n window.__ANGULAR_APP__ = appRef;\n window.__ABS_SLOT_HYDRATION_PENDING__ = false;\n if (typeof window.__ABS_SLOT_FLUSH__ === 'function') {\n requestAnimationFrame(function() {\n window.__ABS_SLOT_FLUSH__();\n });\n }\n });\n}\n`.trim()\n\t\t\t: `\nimport '@angular/compiler';\nimport { bootstrapApplication } from '@angular/platform-browser';\nimport { provideClientHydration } from '@angular/platform-browser';\nimport { withHttpTransferCacheOptions } from '@angular/platform-browser';\nimport { enableProdMode, provideZonelessChangeDetection } from '@angular/core';\nimport * as pageModule from '${normalizedImportPath}';\n\nvar ${componentClassName} = pageModule.default;\nvar toScreamingSnake = function(str) {\n return str.replace(/([a-z0-9])([A-Z])/g, '$1_$2').toUpperCase();\n};\nvar isInjectionToken = function(value) {\n return Boolean(value) && typeof value === 'object' && value.ngMetadataName === 'InjectionToken';\n};\nvar pageProps = window.__ABS_ANGULAR_PAGE_PROPS__ || {};\nvar pageHasIslands = Boolean(pageModule.__ABSOLUTE_PAGE_HAS_ISLANDS__) || Boolean(document.querySelector('[data-island=\"true\"]'));\nvar pageHasRawStreamingSlots = Boolean(document.querySelector('[data-absolute-raw-slot=\"true\"]'));\nvar pageHasStreamingSlots = Boolean(document.querySelector('[data-absolute-slot=\"true\"]'));\nvar propProviders = Object.entries(pageProps).map(function(entry) {\n var propName = entry[0];\n var propValue = entry[1];\n var token = pageModule[toScreamingSnake(propName)];\n return isInjectionToken(token) ? { provide: token, useValue: propValue } : null;\n}).filter(Boolean);\n// Page-level providers, opt-in via \\`export const providers = [...]\\` in the\n// page module. Required so DI tokens that the component (or any service it\n// injects) needs are available client-side too — without these, services\n// that worked in SSR fail with NG0201 after hydration.\nvar maybePageProviders = Reflect.get(pageModule, 'providers');\nvar pageProviders = Array.isArray(maybePageProviders) ? maybePageProviders : [];\nvar absoluteHttpTransferCacheOptions = {\n includePostRequests: false,\n includeRequestsWithAuthHeaders: false,\n filter: function(request) {\n return !request.headers.has('x-skip-transfer-cache');\n }\n};\n\nenableProdMode();\n\nvar providers = [provideZonelessChangeDetection()].concat(pageProviders).concat(propProviders);\nif (!pageHasIslands) {\n providers.unshift(provideClientHydration(withHttpTransferCacheOptions(absoluteHttpTransferCacheOptions)));\n}\nwindow.__ABS_SLOT_HYDRATION_PENDING__ = pageHasRawStreamingSlots;\n\nif (pageHasRawStreamingSlots) {\n window.__ABS_SLOT_HYDRATION_PENDING__ = false;\n if (typeof window.__ABS_SLOT_FLUSH__ === 'function') {\n requestAnimationFrame(function() {\n window.__ABS_SLOT_FLUSH__();\n });\n }\n} else {\n bootstrapApplication(${componentClassName}, {\n providers: providers\n }).then(function (appRef) {\n window.__ANGULAR_APP__ = appRef;\n window.__ABS_SLOT_HYDRATION_PENDING__ = false;\n if (typeof window.__ABS_SLOT_FLUSH__ === 'function') {\n requestAnimationFrame(function() {\n window.__ABS_SLOT_FLUSH__();\n });\n }\n });\n}\n`.trim();\n\n\t\t// Angular HMR Optimization — Hash index content to detect if bundling\n\t\t// can be skipped (index content is deterministic for a given import path).\n\t\tconst indexHash = Bun.hash(hydration).toString(BASE_36_RADIX);\n\t\tconst indexUnchanged = cachedWrapper?.indexHash === indexHash;\n\n\t\tawait traceAngularPhase(\n\t\t\t'wrapper/write-client-index',\n\t\t\t() => fs.writeFile(clientFile, hydration, 'utf-8'),\n\t\t\t{ entry: resolvedEntry }\n\t\t);\n\n\t\t// Update wrapper cache\n\t\twrapperOutputCache.set(resolvedEntry, {\n\t\t\tindexHash,\n\t\t\tserverHash: serverContentHash\n\t\t});\n\n\t\treturn {\n\t\t\tclientPath: clientFile,\n\t\t\tindexUnchanged,\n\t\t\tserverPath: rawServerFile\n\t\t};\n\t});\n\n\tconst results = await traceAngularPhase(\n\t\t'wrapper/process-entries',\n\t\t() => Promise.all(compileTasks),\n\t\t{ entries: entryPoints.length }\n\t);\n\tconst { clientPaths, serverPaths } = await traceAngularPhase(\n\t\t'wrapper/collect-paths',\n\t\t() => ({\n\t\t\tclientPaths: results.map((r) => r.clientPath),\n\t\t\tserverPaths: results.map((r) => r.serverPath)\n\t\t}),\n\t\t{ entries: results.length }\n\t);\n\n\treturn {\n\t\t// Angular HMR Optimization — Signal to rebuildTrigger that bundling\n\t\t// can be skipped when all index files are unchanged.\n\t\tallIndexesUnchanged: hmr && results.every((r) => r.indexUnchanged),\n\t\tclientPaths,\n\t\tserverPaths\n\t};\n};\n",
|
|
40
268
|
"import type { StreamingSlot } from '../utils/streamingSlots';\n\ntype StreamingSlotRegistrar = (slot: StreamingSlot) => void;\ntype StreamingSlotWarningController = {\n\tmaybeWarn(primitiveName: string): void;\n};\ntype StreamingSlotCollectionController = {\n\tisCollecting(): boolean;\n};\n\nconst STREAMING_SLOT_REGISTRAR_KEY = Symbol.for(\n\t'absolutejs.streamingSlotRegistrar'\n);\nconst STREAMING_SLOT_WARNING_STORAGE_KEY = Symbol.for(\n\t'absolutejs.streamingSlotWarningController'\n);\nconst STREAMING_SLOT_COLLECTION_STORAGE_KEY = Symbol.for(\n\t'absolutejs.streamingSlotCollectionController'\n);\n\nconst getRegisteredStreamingSlotRegistrar = () => {\n\tconst value = Reflect.get(globalThis, STREAMING_SLOT_REGISTRAR_KEY);\n\tif (typeof value === 'function' || value === null) {\n\t\treturn value;\n\t}\n\n\treturn undefined;\n};\n\nconst isObjectRecord = (value: unknown): value is Record<string, unknown> =>\n\tBoolean(value) && typeof value === 'object';\n\nconst isStreamingSlotWarningController = (\n\tvalue: unknown\n): value is StreamingSlotWarningController =>\n\tisObjectRecord(value) &&\n\t'maybeWarn' in value &&\n\ttypeof value.maybeWarn === 'function';\n\nconst isStreamingSlotCollectionController = (\n\tvalue: unknown\n): value is StreamingSlotCollectionController =>\n\tisObjectRecord(value) &&\n\t'isCollecting' in value &&\n\ttypeof value.isCollecting === 'function';\n\nconst getWarningController = () => {\n\tconst value = Reflect.get(globalThis, STREAMING_SLOT_WARNING_STORAGE_KEY);\n\tif (value === null || typeof value === 'undefined') return undefined;\n\n\treturn isStreamingSlotWarningController(value) ? value : undefined;\n};\n\nconst getCollectionController = () => {\n\tconst value = Reflect.get(\n\t\tglobalThis,\n\t\tSTREAMING_SLOT_COLLECTION_STORAGE_KEY\n\t);\n\tif (value === null || typeof value === 'undefined') return undefined;\n\n\treturn isStreamingSlotCollectionController(value) ? value : undefined;\n};\n\nexport const hasRegisteredStreamingSlotRegistrar = () =>\n\ttypeof getRegisteredStreamingSlotRegistrar() === 'function';\nexport const isStreamingSlotCollectionActive = () =>\n\tgetCollectionController()?.isCollecting() === true;\nexport const registerStreamingSlot = (slot: StreamingSlot) => {\n\tgetRegisteredStreamingSlotRegistrar()?.(slot);\n};\nexport const setStreamingSlotCollectionController = (\n\tcontroller: StreamingSlotCollectionController | null\n) => {\n\tReflect.set(globalThis, STREAMING_SLOT_COLLECTION_STORAGE_KEY, controller);\n};\nexport const setStreamingSlotRegistrar = (\n\tnextRegistrar: StreamingSlotRegistrar | null\n) => {\n\tReflect.set(globalThis, STREAMING_SLOT_REGISTRAR_KEY, nextRegistrar);\n};\nexport const setStreamingSlotWarningController = (\n\tcontroller: StreamingSlotWarningController | null\n) => {\n\tReflect.set(globalThis, STREAMING_SLOT_WARNING_STORAGE_KEY, controller);\n};\nexport const warnMissingStreamingSlotCollector = (primitiveName: string) => {\n\tif (\n\t\tprocess.env.NODE_ENV === 'production' ||\n\t\tisStreamingSlotCollectionActive()\n\t) {\n\t\treturn;\n\t}\n\n\tgetWarningController()?.maybeWarn(primitiveName);\n};\n",
|
|
41
269
|
"import type { StreamingSlot } from '../utils/streamingSlots';\nimport {\n\tsetStreamingSlotCollectionController,\n\tsetStreamingSlotRegistrar\n} from './streamingSlotRegistrar';\n\ntype SlotStore = Map<string, StreamingSlot>;\ntype AsyncLocalStorageType =\n\timport('node:async_hooks').AsyncLocalStorage<SlotStore>;\n\nconst STREAMING_SLOT_STORAGE_KEY = Symbol.for(\n\t'absolutejs.streamingSlotAsyncLocalStorage'\n);\n\nconst isObjectRecord = (value: unknown): value is Record<string, unknown> =>\n\tBoolean(value) && typeof value === 'object';\n\nconst isAsyncLocalStorage = (value: unknown): value is AsyncLocalStorageType =>\n\tisObjectRecord(value) &&\n\t'getStore' in value &&\n\ttypeof value.getStore === 'function' &&\n\t'run' in value &&\n\ttypeof value.run === 'function';\n\nconst getStorageGlobal = () => {\n\tconst value = Reflect.get(globalThis, STREAMING_SLOT_STORAGE_KEY);\n\tif (value === null || typeof value === 'undefined') {\n\t\treturn value;\n\t}\n\n\treturn isAsyncLocalStorage(value) ? value : undefined;\n};\n\nconst isServerRuntime = () =>\n\ttypeof process !== 'undefined' &&\n\ttypeof process.versions?.node === 'string';\n\nconst ensureAsyncLocalStorage = async () => {\n\tconst storage = getStorageGlobal();\n\tif (typeof storage !== 'undefined') {\n\t\treturn storage;\n\t}\n\tif (!isServerRuntime()) {\n\t\tReflect.set(globalThis, STREAMING_SLOT_STORAGE_KEY, null);\n\n\t\treturn getStorageGlobal();\n\t}\n\n\tconst mod = await import('node:async_hooks');\n\tReflect.set(\n\t\tglobalThis,\n\t\tSTREAMING_SLOT_STORAGE_KEY,\n\t\tnew mod.AsyncLocalStorage<SlotStore>()\n\t);\n\n\treturn getStorageGlobal();\n};\n\nconst getActiveSlotStore = () => {\n\tconst storage = getStorageGlobal();\n\tif (!storage) return undefined;\n\n\treturn storage.getStore();\n};\n\nconst registerStreamingSlot = (slot: StreamingSlot) => {\n\tconst store = getActiveSlotStore();\n\tif (!store) return;\n\tstore.set(slot.id, slot);\n};\n\nsetStreamingSlotRegistrar(registerStreamingSlot);\nsetStreamingSlotCollectionController({\n\tisCollecting: () => getActiveSlotStore() !== undefined\n});\n\nexport const hasActiveStreamingSlotRegistry = () =>\n\tgetActiveSlotStore() !== undefined;\n\nexport const runWithStreamingSlotRegistry = async <T>(\n\ttask: () => Promise<T> | T\n) => {\n\tconst storage = await ensureAsyncLocalStorage();\n\tif (!storage) {\n\t\tconst slots: StreamingSlot[] = [];\n\n\t\treturn {\n\t\t\tresult: await task(),\n\t\t\tslots\n\t\t};\n\t}\n\n\treturn storage.run(new Map<string, StreamingSlot>(), async () => {\n\t\tconst result = await task();\n\t\tconst store = storage.getStore();\n\n\t\treturn {\n\t\t\tresult,\n\t\t\tslots: store ? [...store.values()] : []\n\t\t};\n\t});\n};\n",
|
|
42
270
|
"import { InjectionToken } from '@angular/core';\n\nconst DEFAULT_DETERMINISTIC_SEED = 'absolute-angular';\nconst DEFAULT_DETERMINISTIC_NOW = 0;\nconst HASH_MULTIPLIER = 31;\nconst FNV_OFFSET_BASIS = 2166136261;\nconst FNV_PRIME = 16777619;\nconst XORSHIFT_LEFT_1 = 13;\nconst XORSHIFT_LEFT_2 = 5;\nconst XORSHIFT_RIGHT = 17;\nconst UINT32_MAX = 0x100000000;\n\nexport type DeterministicRandom = () => number;\n\nexport type DeterministicEnvOptions = {\n\tnow?: Date | number | string;\n\tseed?: number | string;\n};\n\nexport const DETERMINISTIC_NOW = new InjectionToken<number>(\n\t'DETERMINISTIC_NOW'\n);\nexport const DETERMINISTIC_RANDOM = new InjectionToken<DeterministicRandom>(\n\t'DETERMINISTIC_RANDOM'\n);\nexport const DETERMINISTIC_SEED = new InjectionToken<string>(\n\t'DETERMINISTIC_SEED'\n);\n\nconst hashSeed = (seed: number | string) => {\n\tconst seedText = String(seed);\n\tlet hash = FNV_OFFSET_BASIS;\n\n\tfor (const char of seedText) {\n\t\thash = Math.imul(hash ^ char.charCodeAt(0), FNV_PRIME);\n\t}\n\n\treturn hash >>> 0 || HASH_MULTIPLIER;\n};\n\nexport const createDeterministicRandom = (\n\tseed: number | string = DEFAULT_DETERMINISTIC_SEED\n) => {\n\tlet state = hashSeed(seed);\n\n\treturn () => {\n\t\tstate ^= state << XORSHIFT_LEFT_1;\n\t\tstate ^= state >>> XORSHIFT_RIGHT;\n\t\tstate ^= state << XORSHIFT_LEFT_2;\n\n\t\treturn (state >>> 0) / UINT32_MAX;\n\t};\n};\n\nconst normalizeNow = (now: Date | number | string | undefined) => {\n\tif (now instanceof Date) return now.getTime();\n\tif (typeof now === 'string') return new Date(now).getTime();\n\tif (typeof now === 'number') return now;\n\n\treturn DEFAULT_DETERMINISTIC_NOW;\n};\n\nexport const provideDeterministicEnv = (\n\toptions: DeterministicEnvOptions = {}\n) => {\n\tconst seed = String(options.seed ?? DEFAULT_DETERMINISTIC_SEED);\n\tconst now = normalizeNow(options.now);\n\n\treturn [\n\t\t{ provide: DETERMINISTIC_SEED, useValue: seed },\n\t\t{ provide: DETERMINISTIC_NOW, useValue: now },\n\t\t{\n\t\t\tdeps: [DETERMINISTIC_SEED],\n\t\t\tprovide: DETERMINISTIC_RANDOM,\n\t\t\tuseFactory: createDeterministicRandom\n\t\t}\n\t];\n};\n",
|
|
43
|
-
"import { AsyncLocalStorage } from 'node:async_hooks';\nimport { mkdir, symlink } from 'node:fs/promises';\nimport { tmpdir } from 'node:os';\nimport { basename, dirname, join, resolve } from 'node:path';\nimport { pathToFileURL } from 'node:url';\nimport type { EnvironmentProviders, Provider, Type } from '@angular/core';\nimport type {\n\tAngularPageDefinition,\n\tAngularPagePropsOf\n} from '../../types/angular';\nimport { BASE_36_RADIX, RANDOM_ID_END_INDEX } from '../constants';\nimport { injectIslandPageContext } from '../core/islandPageContext';\nimport { ssrErrorPage } from '../utils/ssrErrorPage';\nimport {\n\tderivePageName,\n\trenderConventionError\n} from '../utils/resolveConvention';\nimport { setSsrContextGetter } from '../utils/registerClientScript';\nimport { getAngularDeps } from './angularDeps';\nimport { buildServerAnimationProviders } from './animationProviders';\nimport { buildRouterRedirectProviders } from './routerRedirectProviders';\nimport { lowerAngularServerIslands } from './lowerServerIslands';\nimport { getCurrentRouteRegistrationCallsite } from '../core/devRouteRegistrationCallsite';\nimport { getSsrSanitizer, resetSsrSanitizer } from './ssrSanitizer';\nimport {\n\ttype StreamingSlotEnhancerOptions,\n\twithRegisteredStreamingSlots\n} from '../core/responseEnhancers';\nimport {\n\tcaptureStreamingSlotWarningCallsite,\n\trunWithStreamingSlotWarningScope\n} from '../core/streamingSlotWarningScope';\nimport {\n\tbuildProviders,\n\tcacheRouteData,\n\tdiscoverTokens,\n\tinjectSsrScripts,\n\trenderAngularApp,\n\tresolveSelector\n} from './ssrRender';\nimport { resolveAngularRuntimePath } from './resolveAngularPackage';\nimport { isProductionRuntime } from '../utils/runtimeMode';\n\nlet lastSelector = 'angular-page';\ntype AngularPageRenderOptions = StreamingSlotEnhancerOptions & {\n\tcollectStreamingSlots?: boolean;\n};\ntype IsAny<T> = 0 extends 1 & T ? true : false;\ntype HasNoRequiredAngularProps<Props> =\n\tIsAny<Props> extends true ? true : keyof Props extends never ? true : false;\ntype AngularPageHasOptionalProps<Page> = Page extends {\n\tpage: AngularPageDefinition<infer Props>;\n}\n\t? HasNoRequiredAngularProps<Props>\n\t: Page extends { default: AngularPageDefinition<infer Props> }\n\t\t? HasNoRequiredAngularProps<Props>\n\t\t: HasNoRequiredAngularProps<AngularPagePropsOf<Page>>;\nexport type AngularPageRequestInput<\n\tPage = { page: AngularPageDefinition<Record<never, never>> }\n> = AngularPageRenderOptions & {\n\theadTag?: `<head>${string}</head>`;\n\tindexPath: string;\n\tpagePath: string;\n\t/** The incoming request. When provided, its URL is forwarded to\n\t * Angular's `renderApplication`, so `LocationStrategy.path()` and\n\t * Angular Router both see the real URL instead of `/`. Without it,\n\t * Router-based pages can't match anything but the root route. */\n\trequest?: Request;\n\t/** Per-request context made available through Angular's REQUEST_CONTEXT token. */\n\trequestContext?: unknown;\n\t/** Mutable response init made available through Angular's RESPONSE_INIT token. */\n\tresponseInit?: ResponseInit;\n} & (AngularPageHasOptionalProps<Page> extends true\n\t\t? { props?: NoInfer<AngularPagePropsOf<Page>> }\n\t\t: { props: NoInfer<AngularPagePropsOf<Page>> });\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n\ttypeof value === 'object' && value !== null;\n\nconst isAngularComponent = (value: unknown): value is Type<unknown> =>\n\ttypeof value === 'function';\n\nconst isAngularPageDefinition = (\n\tvalue: unknown\n): value is AngularPageDefinition<Record<string, unknown>> =>\n\tisRecord(value) && isAngularComponent(value.component);\n\nconst resolvePageComponent = (pageModule: Record<string, unknown>) => {\n\tconst page = Reflect.get(pageModule, 'page');\n\tif (isAngularPageDefinition(page)) {\n\t\treturn page.component;\n\t}\n\n\tconst defaultExport = pageModule.default;\n\tif (isAngularPageDefinition(defaultExport)) {\n\t\treturn defaultExport.component;\n\t}\n\n\tif (isAngularComponent(defaultExport)) {\n\t\treturn defaultExport;\n\t}\n\n\treturn Object.values(pageModule).find((value) => isAngularComponent(value));\n};\n\n// `@angular/compiler` is required at request time only in dev, where\n// `compileAngularFileJIT` produces partial declarations that need the\n// compiler facade to link. In production every partial has already been\n// linked at build time by the linker plugin, so the compiler isn't loaded\n// or shipped.\nlet compilerImportPromise: Promise<unknown> | null = null;\nconst ensureAngularCompiler = () => {\n\tif (isProductionRuntime()) return Promise.resolve();\n\tif (!compilerImportPromise) {\n\t\t// §1.1 — bare specifier in dev so Bun shares one cached module\n\t\t// with bundled server pages (which also import bare `@angular/*`\n\t\t// after the server-vendor rewrite was disabled).\n\t\tcompilerImportPromise = import('@angular/compiler');\n\t}\n\n\treturn compilerImportPromise;\n};\n\nconst readAngularPageModule = (value: unknown) =>\n\tisRecord(value) ? value : null;\n\nconst resolveAngularSsrOutDir = () =>\n\tprocess.env.ABSOLUTE_ANGULAR_SSR_OUTDIR ??\n\tjoin(tmpdir(), 'absolutejs', 'generated', 'angular-ssr');\n\nconst createAngularRuntimeCacheBuster = () =>\n\t`${Date.now().toString(BASE_36_RADIX)}.${Math.random()\n\t\t.toString(BASE_36_RADIX)\n\t\t.substring(2, RANDOM_ID_END_INDEX)}`;\n\nconst ensureAngularSsrNodeModules = async (outDir: string) => {\n\tconst outRoot = resolve(dirname(dirname(outDir)));\n\tconst nodeModulesLink = join(outRoot, 'node_modules');\n\tif (process.env.ABSOLUTE_ANGULAR_SSR_OUTDIR) {\n\t\treturn;\n\t}\n\tif (nodeModulesLink === resolve(process.cwd(), 'node_modules')) {\n\t\treturn;\n\t}\n\tif (await Bun.file(nodeModulesLink).exists()) {\n\t\treturn;\n\t}\n\n\tawait mkdir(outRoot, { recursive: true });\n\ttry {\n\t\tawait symlink(\n\t\t\tresolve(process.cwd(), 'node_modules'),\n\t\t\tnodeModulesLink,\n\t\t\t'dir'\n\t\t);\n\t} catch (error) {\n\t\tif (\n\t\t\t!(error instanceof Error) ||\n\t\t\t!('code' in error) ||\n\t\t\terror.code !== 'EEXIST'\n\t\t) {\n\t\t\tthrow error;\n\t\t}\n\t}\n};\n\nconst resolveRuntimeAngularModulePath = async (pagePath: string) => {\n\tif (!pagePath.endsWith('.ts')) {\n\t\t// In dev, the manifest points at `.ssr.js` / `.js` bundles whose\n\t\t// path stays stable across rebuilds (no content-hash in the\n\t\t// filename). After a tier-0 bundle rebuild, the file content\n\t\t// changes but the URL doesn't — so `await import(url)` returns\n\t\t// Bun's cached module and SSR serves pre-edit bytes. Use the\n\t\t// file's mtime as a cacheBuster so a fresh write cracks the\n\t\t// import cache while unchanged files keep their cached module.\n\t\t// In production, NODE_ENV !== 'development' skips the stat and\n\t\t// avoids the per-request filesystem hit.\n\t\tif (process.env.NODE_ENV === 'development') {\n\t\t\ttry {\n\t\t\t\tconst { stat } = await import('node:fs/promises');\n\t\t\t\tconst stats = await stat(pagePath);\n\t\t\t\treturn {\n\t\t\t\t\tpath: pagePath,\n\t\t\t\t\tcacheBuster: stats.mtimeMs.toString(BASE_36_RADIX)\n\t\t\t\t};\n\t\t\t} catch {\n\t\t\t\treturn { path: pagePath, cacheBuster: undefined };\n\t\t\t}\n\t\t}\n\t\treturn {\n\t\t\tpath: pagePath,\n\t\t\tcacheBuster: undefined\n\t\t};\n\t}\n\n\tconst outDir = resolveAngularSsrOutDir();\n\tawait ensureAngularSsrNodeModules(outDir);\n\tconst { compileAngularFileJIT } = await import('../build/compileAngular');\n\tconst cacheBuster = createAngularRuntimeCacheBuster();\n\tconst outputs = await compileAngularFileJIT(\n\t\tpagePath,\n\t\toutDir,\n\t\tprocess.cwd(),\n\t\tundefined,\n\t\tcacheBuster\n\t);\n\tconst expectedFileName = basename(pagePath).replace(/\\.ts$/, '.js');\n\n\tconst runtimePagePath =\n\t\toutputs.find((output) => output.endsWith(`/${expectedFileName}`)) ??\n\t\toutputs.find((output) => output.endsWith(`\\\\${expectedFileName}`)) ??\n\t\toutputs[0] ??\n\t\tpagePath;\n\n\treturn {\n\t\tpath: runtimePagePath,\n\t\tcacheBuster\n\t};\n};\n\nconst buildRuntimeModuleSpecifier = (\n\tmodulePath: string,\n\tcacheBuster?: string\n) => {\n\tif (!cacheBuster) {\n\t\treturn modulePath;\n\t}\n\n\tconst moduleUrl = new URL(pathToFileURL(modulePath).href);\n\tmoduleUrl.searchParams.set('t', cacheBuster);\n\n\treturn moduleUrl.href;\n};\n\nconst withHtmlContentType = (responseInit: ResponseInit = {}) => {\n\tconst headers = new Headers(responseInit.headers);\n\tif (!headers.has('Content-Type')) {\n\t\theaders.set('Content-Type', 'text/html');\n\t}\n\n\treturn { ...responseInit, headers };\n};\n\nconst resolveRequestRenderUrl = (request: Request | undefined) => {\n\tif (!request) return '/';\n\n\ttry {\n\t\tconst parsed = new URL(request.url);\n\n\t\treturn `${parsed.pathname}${parsed.search}`;\n\t} catch {\n\t\treturn '/';\n\t}\n};\n\nconst assertNoHandlerProviders = (input: Record<string, unknown>) => {\n\tif (!('providers' in input)) return;\n\n\tthrow new Error(\n\t\t'Angular handler providers are not supported. Export `providers` from the Angular page module, or inject REQUEST / REQUEST_CONTEXT for request-scoped data.'\n\t);\n};\n\nconst angularSsrContext = new AsyncLocalStorage<string>();\nsetSsrContextGetter(() => angularSsrContext.getStore());\n\nexport const handleAngularPageRequest = async <\n\tPage = { page: AngularPageDefinition<Record<never, never>> }\n>(\n\tinput: AngularPageRequestInput<Page>\n) => {\n\tconst requestId = `angular_${Date.now()}_${Math.random().toString(BASE_36_RADIX).substring(2, RANDOM_ID_END_INDEX)}`;\n\n\treturn angularSsrContext.run(requestId, async () => {\n\t\tawait ensureAngularCompiler();\n\n\t\tconst resolvedHeadTag = input.headTag ?? '<head></head>';\n\t\tconst resolvedIndexPath = input.indexPath;\n\t\tconst options = input;\n\t\tconst resolvedPagePath = input.pagePath;\n\t\tconst maybeProps = input.props;\n\t\tconst responseInit = input.responseInit ?? {};\n\t\tconst resolvedUrl = resolveRequestRenderUrl(input.request);\n\n\t\t// Cache props + headTag for HMR replay — strip query strings\n\t\t// so cache-busted HMR paths match the original manifest path.\n\t\tcacheRouteData(resolvedPagePath, {\n\t\t\theadTag: resolvedHeadTag,\n\t\t\tprops: maybeProps\n\t\t});\n\n\t\ttry {\n\t\t\tassertNoHandlerProviders(input);\n\n\t\t\tconst handlerCallsite =\n\t\t\t\toptions?.collectStreamingSlots === true\n\t\t\t\t\t? undefined\n\t\t\t\t\t: (getCurrentRouteRegistrationCallsite() ??\n\t\t\t\t\t\tcaptureStreamingSlotWarningCallsite());\n\t\t\tconst renderPageResponse = async () => {\n\t\t\t\tconst baseDeps = await getAngularDeps();\n\t\t\t\tconst runtimePagePath =\n\t\t\t\t\tawait resolveRuntimeAngularModulePath(resolvedPagePath);\n\t\t\t\tconst importedPageModule: unknown = await import(\n\t\t\t\t\tbuildRuntimeModuleSpecifier(\n\t\t\t\t\t\truntimePagePath.path,\n\t\t\t\t\t\truntimePagePath.cacheBuster\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t\tconst pageModule = readAngularPageModule(importedPageModule);\n\t\t\t\tif (!pageModule) {\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t`Invalid Angular page module: ${resolvedPagePath}`\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tconst PageComponent = resolvePageComponent(pageModule);\n\t\t\t\tif (!isAngularComponent(PageComponent)) {\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t`Angular page module must export an Angular component: ${resolvedPagePath}`\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tconst hasIslands =\n\t\t\t\t\ttypeof pageModule.__ABSOLUTE_PAGE_HAS_ISLANDS__ ===\n\t\t\t\t\t'boolean'\n\t\t\t\t\t\t? pageModule.__ABSOLUTE_PAGE_HAS_ISLANDS__\n\t\t\t\t\t\t: false;\n\t\t\t\tconst usesLegacyAnimations =\n\t\t\t\t\tpageModule.__ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ ===\n\t\t\t\t\ttrue;\n\n\t\t\t\tconst deps = baseDeps;\n\n\t\t\t\tconst tokenMap = discoverTokens(pageModule);\n\t\t\t\tconst selector = resolveSelector(\n\t\t\t\t\tdeps,\n\t\t\t\t\tresolvedPagePath,\n\t\t\t\t\tPageComponent\n\t\t\t\t);\n\t\t\t\tlastSelector = selector;\n\n\t\t\t\tconst htmlString = `<!DOCTYPE html><html>${resolvedHeadTag}<body><${selector}></${selector}></body></html>`;\n\n\t\t\t\tresetSsrSanitizer();\n\t\t\t\tconst sanitizer = getSsrSanitizer(deps);\n\t\t\t\t// The page module's `providers` export is the source of truth\n\t\t\t\t// for page-level DI — `bootstrapApplication` reads it on the\n\t\t\t\t// client (see compileAngular.ts client bootstrap). Mirror that\n\t\t\t\t// on the server so anything that requires `provideRouter`,\n\t\t\t\t// `provideAnimations`, etc. resolves the same way during SSR.\n\t\t\t\tconst pageProvidersExport = Reflect.get(\n\t\t\t\t\tpageModule,\n\t\t\t\t\t'providers'\n\t\t\t\t);\n\t\t\t\tconst pageProviders: ReadonlyArray<\n\t\t\t\t\tProvider | EnvironmentProviders\n\t\t\t\t> = Array.isArray(pageProvidersExport)\n\t\t\t\t\t? pageProvidersExport\n\t\t\t\t\t: [];\n\t\t\t\tconst combinedProviders = [\n\t\t\t\t\t...(await buildRouterRedirectProviders(deps, responseInit)),\n\t\t\t\t\t...pageProviders,\n\t\t\t\t\t...(await buildServerAnimationProviders(\n\t\t\t\t\t\tusesLegacyAnimations\n\t\t\t\t\t))\n\t\t\t\t];\n\t\t\t\tconst providers = buildProviders(\n\t\t\t\t\tdeps,\n\t\t\t\t\tsanitizer,\n\t\t\t\t\tmaybeProps,\n\t\t\t\t\ttokenMap,\n\t\t\t\t\tinput.request,\n\t\t\t\t\tinput.requestContext,\n\t\t\t\t\tresponseInit,\n\t\t\t\t\tcombinedProviders\n\t\t\t\t);\n\n\t\t\t\tconst rawHtml: string = await renderAngularApp(\n\t\t\t\t\tdeps,\n\t\t\t\t\tPageComponent,\n\t\t\t\t\tproviders,\n\t\t\t\t\thtmlString,\n\t\t\t\t\tresolvedUrl\n\t\t\t\t);\n\t\t\t\tconst shouldProcessIslands =\n\t\t\t\t\thasIslands || rawHtml.includes('<absolute-island');\n\t\t\t\tconst htmlWithLoweredIslands = shouldProcessIslands\n\t\t\t\t\t? await lowerAngularServerIslands(rawHtml)\n\t\t\t\t\t: rawHtml;\n\n\t\t\t\tconst html = injectIslandPageContext(\n\t\t\t\t\tinjectSsrScripts(\n\t\t\t\t\t\thtmlWithLoweredIslands,\n\t\t\t\t\t\trequestId,\n\t\t\t\t\t\tresolvedIndexPath,\n\t\t\t\t\t\tmaybeProps\n\t\t\t\t\t),\n\t\t\t\t\t{ hasIslands: shouldProcessIslands }\n\t\t\t\t);\n\n\t\t\t\treturn new Response(html, withHtmlContentType(responseInit));\n\t\t\t};\n\n\t\t\treturn await runWithStreamingSlotWarningScope(\n\t\t\t\t() =>\n\t\t\t\t\toptions?.collectStreamingSlots === true\n\t\t\t\t\t\t? withRegisteredStreamingSlots(\n\t\t\t\t\t\t\t\trenderPageResponse,\n\t\t\t\t\t\t\t\toptions\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t: renderPageResponse(),\n\t\t\t\t{ handlerCallsite }\n\t\t\t);\n\t\t} catch (error) {\n\t\t\tconsole.error('[SSR] Angular render error:', error);\n\n\t\t\tconst pageName = derivePageName(resolvedPagePath);\n\t\t\tconst conventionResponse = await renderConventionError(\n\t\t\t\t'angular',\n\t\t\t\tpageName,\n\t\t\t\terror\n\t\t\t);\n\t\t\tif (conventionResponse) return conventionResponse;\n\n\t\t\treturn new Response(ssrErrorPage('angular', error), {\n\t\t\t\theaders: { 'Content-Type': 'text/html' },\n\t\t\t\tstatus: 500\n\t\t\t});\n\t\t}\n\t});\n};\n",
|
|
271
|
+
"import { AsyncLocalStorage } from 'node:async_hooks';\nimport { mkdir, symlink } from 'node:fs/promises';\nimport { tmpdir } from 'node:os';\nimport { basename, dirname, join, resolve } from 'node:path';\nimport { pathToFileURL } from 'node:url';\nimport type { EnvironmentProviders, Provider, Type } from '@angular/core';\nimport type {\n\tAngularPageDefinition,\n\tAngularPagePropsOf\n} from '../../types/angular';\nimport { BASE_36_RADIX, RANDOM_ID_END_INDEX } from '../constants';\nimport { injectIslandPageContext } from '../core/islandPageContext';\nimport { ssrErrorPage } from '../utils/ssrErrorPage';\nimport {\n\tderivePageName,\n\trenderConventionError\n} from '../utils/resolveConvention';\nimport { setSsrContextGetter } from '../utils/registerClientScript';\nimport { getAngularDeps } from './angularDeps';\nimport { buildServerAnimationProviders } from './animationProviders';\nimport { buildRouterRedirectProviders } from './routerRedirectProviders';\nimport { lowerAngularServerIslands } from './lowerServerIslands';\nimport { getCurrentRouteRegistrationCallsite } from '../core/devRouteRegistrationCallsite';\nimport { getSsrSanitizer, resetSsrSanitizer } from './ssrSanitizer';\nimport {\n\ttype StreamingSlotEnhancerOptions,\n\twithRegisteredStreamingSlots\n} from '../core/responseEnhancers';\nimport {\n\tcaptureStreamingSlotWarningCallsite,\n\trunWithStreamingSlotWarningScope\n} from '../core/streamingSlotWarningScope';\nimport {\n\tbuildProviders,\n\tcacheRouteData,\n\tdiscoverTokens,\n\tinjectSsrScripts,\n\trenderAngularApp,\n\tresolveSelector\n} from './ssrRender';\nimport { resolveAngularRuntimePath } from './resolveAngularPackage';\nimport { isProductionRuntime } from '../utils/runtimeMode';\nimport {\n\tisCollectingSpaRoutes,\n\trecordSpaRoutes\n} from '../utils/spaRouteEnumeration';\nimport { enumerateAngularSpaRoutes } from './enumerateSpaRoutes';\n\nlet lastSelector = 'angular-page';\ntype AngularPageRenderOptions = StreamingSlotEnhancerOptions & {\n\tcollectStreamingSlots?: boolean;\n};\ntype IsAny<T> = 0 extends 1 & T ? true : false;\ntype HasNoRequiredAngularProps<Props> =\n\tIsAny<Props> extends true ? true : keyof Props extends never ? true : false;\ntype AngularPageHasOptionalProps<Page> = Page extends {\n\tpage: AngularPageDefinition<infer Props>;\n}\n\t? HasNoRequiredAngularProps<Props>\n\t: Page extends { default: AngularPageDefinition<infer Props> }\n\t\t? HasNoRequiredAngularProps<Props>\n\t\t: HasNoRequiredAngularProps<AngularPagePropsOf<Page>>;\nexport type AngularPageRequestInput<\n\tPage = { page: AngularPageDefinition<Record<never, never>> }\n> = AngularPageRenderOptions & {\n\theadTag?: `<head>${string}</head>`;\n\tindexPath: string;\n\tpagePath: string;\n\t/** The incoming request. When provided, its URL is forwarded to\n\t * Angular's `renderApplication`, so `LocationStrategy.path()` and\n\t * Angular Router both see the real URL instead of `/`. Without it,\n\t * Router-based pages can't match anything but the root route. */\n\trequest?: Request;\n\t/** Per-request context made available through Angular's REQUEST_CONTEXT token. */\n\trequestContext?: unknown;\n\t/** Mutable response init made available through Angular's RESPONSE_INIT token. */\n\tresponseInit?: ResponseInit;\n} & (AngularPageHasOptionalProps<Page> extends true\n\t\t? { props?: NoInfer<AngularPagePropsOf<Page>> }\n\t\t: { props: NoInfer<AngularPagePropsOf<Page>> });\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n\ttypeof value === 'object' && value !== null;\n\nconst isAngularComponent = (value: unknown): value is Type<unknown> =>\n\ttypeof value === 'function';\n\nconst isAngularPageDefinition = (\n\tvalue: unknown\n): value is AngularPageDefinition<Record<string, unknown>> =>\n\tisRecord(value) && isAngularComponent(value.component);\n\nconst resolvePageComponent = (pageModule: Record<string, unknown>) => {\n\tconst page = Reflect.get(pageModule, 'page');\n\tif (isAngularPageDefinition(page)) {\n\t\treturn page.component;\n\t}\n\n\tconst defaultExport = pageModule.default;\n\tif (isAngularPageDefinition(defaultExport)) {\n\t\treturn defaultExport.component;\n\t}\n\n\tif (isAngularComponent(defaultExport)) {\n\t\treturn defaultExport;\n\t}\n\n\treturn Object.values(pageModule).find((value) => isAngularComponent(value));\n};\n\n// `@angular/compiler` is required at request time only in dev, where\n// `compileAngularFileJIT` produces partial declarations that need the\n// compiler facade to link. In production every partial has already been\n// linked at build time by the linker plugin, so the compiler isn't loaded\n// or shipped.\nlet compilerImportPromise: Promise<unknown> | null = null;\nconst ensureAngularCompiler = () => {\n\tif (isProductionRuntime()) return Promise.resolve();\n\tif (!compilerImportPromise) {\n\t\t// §1.1 — bare specifier in dev so Bun shares one cached module\n\t\t// with bundled server pages (which also import bare `@angular/*`\n\t\t// after the server-vendor rewrite was disabled).\n\t\tcompilerImportPromise = import('@angular/compiler');\n\t}\n\n\treturn compilerImportPromise;\n};\n\nconst readAngularPageModule = (value: unknown) =>\n\tisRecord(value) ? value : null;\n\nconst resolveAngularSsrOutDir = () =>\n\tprocess.env.ABSOLUTE_ANGULAR_SSR_OUTDIR ??\n\tjoin(tmpdir(), 'absolutejs', 'generated', 'angular-ssr');\n\nconst createAngularRuntimeCacheBuster = () =>\n\t`${Date.now().toString(BASE_36_RADIX)}.${Math.random()\n\t\t.toString(BASE_36_RADIX)\n\t\t.substring(2, RANDOM_ID_END_INDEX)}`;\n\nconst ensureAngularSsrNodeModules = async (outDir: string) => {\n\tconst outRoot = resolve(dirname(dirname(outDir)));\n\tconst nodeModulesLink = join(outRoot, 'node_modules');\n\tif (process.env.ABSOLUTE_ANGULAR_SSR_OUTDIR) {\n\t\treturn;\n\t}\n\tif (nodeModulesLink === resolve(process.cwd(), 'node_modules')) {\n\t\treturn;\n\t}\n\tif (await Bun.file(nodeModulesLink).exists()) {\n\t\treturn;\n\t}\n\n\tawait mkdir(outRoot, { recursive: true });\n\ttry {\n\t\tawait symlink(\n\t\t\tresolve(process.cwd(), 'node_modules'),\n\t\t\tnodeModulesLink,\n\t\t\t'dir'\n\t\t);\n\t} catch (error) {\n\t\tif (\n\t\t\t!(error instanceof Error) ||\n\t\t\t!('code' in error) ||\n\t\t\terror.code !== 'EEXIST'\n\t\t) {\n\t\t\tthrow error;\n\t\t}\n\t}\n};\n\nconst resolveRuntimeAngularModulePath = async (pagePath: string) => {\n\tif (!pagePath.endsWith('.ts')) {\n\t\t// In dev, the manifest points at `.ssr.js` / `.js` bundles whose\n\t\t// path stays stable across rebuilds (no content-hash in the\n\t\t// filename). After a tier-0 bundle rebuild, the file content\n\t\t// changes but the URL doesn't — so `await import(url)` returns\n\t\t// Bun's cached module and SSR serves pre-edit bytes. Use the\n\t\t// file's mtime as a cacheBuster so a fresh write cracks the\n\t\t// import cache while unchanged files keep their cached module.\n\t\t// In production, NODE_ENV !== 'development' skips the stat and\n\t\t// avoids the per-request filesystem hit.\n\t\tif (process.env.NODE_ENV === 'development') {\n\t\t\ttry {\n\t\t\t\tconst { stat } = await import('node:fs/promises');\n\t\t\t\tconst stats = await stat(pagePath);\n\t\t\t\treturn {\n\t\t\t\t\tpath: pagePath,\n\t\t\t\t\tcacheBuster: stats.mtimeMs.toString(BASE_36_RADIX)\n\t\t\t\t};\n\t\t\t} catch {\n\t\t\t\treturn { path: pagePath, cacheBuster: undefined };\n\t\t\t}\n\t\t}\n\t\treturn {\n\t\t\tpath: pagePath,\n\t\t\tcacheBuster: undefined\n\t\t};\n\t}\n\n\tconst outDir = resolveAngularSsrOutDir();\n\tawait ensureAngularSsrNodeModules(outDir);\n\tconst { compileAngularFileJIT } = await import('../build/compileAngular');\n\tconst cacheBuster = createAngularRuntimeCacheBuster();\n\tconst outputs = await compileAngularFileJIT(\n\t\tpagePath,\n\t\toutDir,\n\t\tprocess.cwd(),\n\t\tundefined,\n\t\tcacheBuster\n\t);\n\tconst expectedFileName = basename(pagePath).replace(/\\.ts$/, '.js');\n\n\tconst runtimePagePath =\n\t\toutputs.find((output) => output.endsWith(`/${expectedFileName}`)) ??\n\t\toutputs.find((output) => output.endsWith(`\\\\${expectedFileName}`)) ??\n\t\toutputs[0] ??\n\t\tpagePath;\n\n\treturn {\n\t\tpath: runtimePagePath,\n\t\tcacheBuster\n\t};\n};\n\nconst buildRuntimeModuleSpecifier = (\n\tmodulePath: string,\n\tcacheBuster?: string\n) => {\n\tif (!cacheBuster) {\n\t\treturn modulePath;\n\t}\n\n\tconst moduleUrl = new URL(pathToFileURL(modulePath).href);\n\tmoduleUrl.searchParams.set('t', cacheBuster);\n\n\treturn moduleUrl.href;\n};\n\nconst withHtmlContentType = (responseInit: ResponseInit = {}) => {\n\tconst headers = new Headers(responseInit.headers);\n\tif (!headers.has('Content-Type')) {\n\t\theaders.set('Content-Type', 'text/html');\n\t}\n\n\treturn { ...responseInit, headers };\n};\n\nconst resolveRequestRenderUrl = (request: Request | undefined) => {\n\tif (!request) return '/';\n\n\ttry {\n\t\tconst parsed = new URL(request.url);\n\n\t\treturn `${parsed.pathname}${parsed.search}`;\n\t} catch {\n\t\treturn '/';\n\t}\n};\n\nconst assertNoHandlerProviders = (input: Record<string, unknown>) => {\n\tif (!('providers' in input)) return;\n\n\tthrow new Error(\n\t\t'Angular handler providers are not supported. Export `providers` from the Angular page module, or inject REQUEST / REQUEST_CONTEXT for request-scoped data.'\n\t);\n};\n\nconst angularSsrContext = new AsyncLocalStorage<string>();\nsetSsrContextGetter(() => angularSsrContext.getStore());\n\nexport const handleAngularPageRequest = async <\n\tPage = { page: AngularPageDefinition<Record<never, never>> }\n>(\n\tinput: AngularPageRequestInput<Page>\n) => {\n\t// Sitemap pipeline runs each page route's handler inside a\n\t// `collectSpaRoutes` scope to discover SPA sub-routes. Skip the\n\t// full SSR render and just enumerate the Angular Router config\n\t// captured at module-eval time by the compile-time provideRouter\n\t// rewrite. A 204 response satisfies Elysia; the actual entries\n\t// flow through the AsyncLocalStorage in `recordSpaRoutes`.\n\tif (isCollectingSpaRoutes()) {\n\t\ttry {\n\t\t\tawait ensureAngularCompiler();\n\t\t\tconst runtimePagePath = await resolveRuntimeAngularModulePath(\n\t\t\t\tinput.pagePath\n\t\t\t);\n\t\t\tconst importedPageModule: unknown = await import(\n\t\t\t\tbuildRuntimeModuleSpecifier(\n\t\t\t\t\truntimePagePath.path,\n\t\t\t\t\truntimePagePath.cacheBuster\n\t\t\t\t)\n\t\t\t);\n\t\t\tconst pageModule = readAngularPageModule(importedPageModule);\n\t\t\tif (pageModule) {\n\t\t\t\tconst entries = await enumerateAngularSpaRoutes(pageModule);\n\t\t\t\trecordSpaRoutes(entries);\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tconsole.warn(\n\t\t\t\t`[sitemap] Angular enumeration failed for ${input.pagePath}:`,\n\t\t\t\terr\n\t\t\t);\n\t\t}\n\n\t\treturn new Response(null, { status: 204 });\n\t}\n\n\tconst requestId = `angular_${Date.now()}_${Math.random().toString(BASE_36_RADIX).substring(2, RANDOM_ID_END_INDEX)}`;\n\n\treturn angularSsrContext.run(requestId, async () => {\n\t\tawait ensureAngularCompiler();\n\n\t\tconst resolvedHeadTag = input.headTag ?? '<head></head>';\n\t\tconst resolvedIndexPath = input.indexPath;\n\t\tconst options = input;\n\t\tconst resolvedPagePath = input.pagePath;\n\t\tconst maybeProps = input.props;\n\t\tconst responseInit = input.responseInit ?? {};\n\t\tconst resolvedUrl = resolveRequestRenderUrl(input.request);\n\n\t\t// Cache props + headTag for HMR replay — strip query strings\n\t\t// so cache-busted HMR paths match the original manifest path.\n\t\tcacheRouteData(resolvedPagePath, {\n\t\t\theadTag: resolvedHeadTag,\n\t\t\tprops: maybeProps\n\t\t});\n\n\t\ttry {\n\t\t\tassertNoHandlerProviders(input);\n\n\t\t\tconst handlerCallsite =\n\t\t\t\toptions?.collectStreamingSlots === true\n\t\t\t\t\t? undefined\n\t\t\t\t\t: (getCurrentRouteRegistrationCallsite() ??\n\t\t\t\t\t\tcaptureStreamingSlotWarningCallsite());\n\t\t\tconst renderPageResponse = async () => {\n\t\t\t\tconst baseDeps = await getAngularDeps();\n\t\t\t\tconst runtimePagePath =\n\t\t\t\t\tawait resolveRuntimeAngularModulePath(resolvedPagePath);\n\t\t\t\tconst importedPageModule: unknown = await import(\n\t\t\t\t\tbuildRuntimeModuleSpecifier(\n\t\t\t\t\t\truntimePagePath.path,\n\t\t\t\t\t\truntimePagePath.cacheBuster\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t\tconst pageModule = readAngularPageModule(importedPageModule);\n\t\t\t\tif (!pageModule) {\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t`Invalid Angular page module: ${resolvedPagePath}`\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tconst PageComponent = resolvePageComponent(pageModule);\n\t\t\t\tif (!isAngularComponent(PageComponent)) {\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t`Angular page module must export an Angular component: ${resolvedPagePath}`\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tconst hasIslands =\n\t\t\t\t\ttypeof pageModule.__ABSOLUTE_PAGE_HAS_ISLANDS__ ===\n\t\t\t\t\t'boolean'\n\t\t\t\t\t\t? pageModule.__ABSOLUTE_PAGE_HAS_ISLANDS__\n\t\t\t\t\t\t: false;\n\t\t\t\tconst usesLegacyAnimations =\n\t\t\t\t\tpageModule.__ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ ===\n\t\t\t\t\ttrue;\n\n\t\t\t\tconst deps = baseDeps;\n\n\t\t\t\tconst tokenMap = discoverTokens(pageModule);\n\t\t\t\tconst selector = resolveSelector(\n\t\t\t\t\tdeps,\n\t\t\t\t\tresolvedPagePath,\n\t\t\t\t\tPageComponent\n\t\t\t\t);\n\t\t\t\tlastSelector = selector;\n\n\t\t\t\tconst htmlString = `<!DOCTYPE html><html>${resolvedHeadTag}<body><${selector}></${selector}></body></html>`;\n\n\t\t\t\tresetSsrSanitizer();\n\t\t\t\tconst sanitizer = getSsrSanitizer(deps);\n\t\t\t\t// The page module's `providers` export is the source of truth\n\t\t\t\t// for page-level DI — `bootstrapApplication` reads it on the\n\t\t\t\t// client (see compileAngular.ts client bootstrap). Mirror that\n\t\t\t\t// on the server so anything that requires `provideRouter`,\n\t\t\t\t// `provideAnimations`, etc. resolves the same way during SSR.\n\t\t\t\tconst pageProvidersExport = Reflect.get(\n\t\t\t\t\tpageModule,\n\t\t\t\t\t'providers'\n\t\t\t\t);\n\t\t\t\tconst pageProviders: ReadonlyArray<\n\t\t\t\t\tProvider | EnvironmentProviders\n\t\t\t\t> = Array.isArray(pageProvidersExport)\n\t\t\t\t\t? pageProvidersExport\n\t\t\t\t\t: [];\n\t\t\t\tconst combinedProviders = [\n\t\t\t\t\t...(await buildRouterRedirectProviders(deps, responseInit)),\n\t\t\t\t\t...pageProviders,\n\t\t\t\t\t...(await buildServerAnimationProviders(\n\t\t\t\t\t\tusesLegacyAnimations\n\t\t\t\t\t))\n\t\t\t\t];\n\t\t\t\tconst providers = buildProviders(\n\t\t\t\t\tdeps,\n\t\t\t\t\tsanitizer,\n\t\t\t\t\tmaybeProps,\n\t\t\t\t\ttokenMap,\n\t\t\t\t\tinput.request,\n\t\t\t\t\tinput.requestContext,\n\t\t\t\t\tresponseInit,\n\t\t\t\t\tcombinedProviders\n\t\t\t\t);\n\n\t\t\t\tconst rawHtml: string = await renderAngularApp(\n\t\t\t\t\tdeps,\n\t\t\t\t\tPageComponent,\n\t\t\t\t\tproviders,\n\t\t\t\t\thtmlString,\n\t\t\t\t\tresolvedUrl\n\t\t\t\t);\n\t\t\t\tconst shouldProcessIslands =\n\t\t\t\t\thasIslands || rawHtml.includes('<absolute-island');\n\t\t\t\tconst htmlWithLoweredIslands = shouldProcessIslands\n\t\t\t\t\t? await lowerAngularServerIslands(rawHtml)\n\t\t\t\t\t: rawHtml;\n\n\t\t\t\tconst html = injectIslandPageContext(\n\t\t\t\t\tinjectSsrScripts(\n\t\t\t\t\t\thtmlWithLoweredIslands,\n\t\t\t\t\t\trequestId,\n\t\t\t\t\t\tresolvedIndexPath,\n\t\t\t\t\t\tmaybeProps\n\t\t\t\t\t),\n\t\t\t\t\t{ hasIslands: shouldProcessIslands }\n\t\t\t\t);\n\n\t\t\t\treturn new Response(html, withHtmlContentType(responseInit));\n\t\t\t};\n\n\t\t\treturn await runWithStreamingSlotWarningScope(\n\t\t\t\t() =>\n\t\t\t\t\toptions?.collectStreamingSlots === true\n\t\t\t\t\t\t? withRegisteredStreamingSlots(\n\t\t\t\t\t\t\t\trenderPageResponse,\n\t\t\t\t\t\t\t\toptions\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t: renderPageResponse(),\n\t\t\t\t{ handlerCallsite }\n\t\t\t);\n\t\t} catch (error) {\n\t\t\tconsole.error('[SSR] Angular render error:', error);\n\n\t\t\tconst pageName = derivePageName(resolvedPagePath);\n\t\t\tconst conventionResponse = await renderConventionError(\n\t\t\t\t'angular',\n\t\t\t\tpageName,\n\t\t\t\terror\n\t\t\t);\n\t\t\tif (conventionResponse) return conventionResponse;\n\n\t\t\treturn new Response(ssrErrorPage('angular', error), {\n\t\t\t\theaders: { 'Content-Type': 'text/html' },\n\t\t\t\tstatus: 500\n\t\t\t});\n\t\t}\n\t});\n};\n",
|
|
44
272
|
"import { BYTES_PER_KILOBYTE } from '../constants';\n\nconst BOOTSTRAP_MANIFEST_KEY = 'BootstrapClient';\nconst ISLAND_MARKER = 'data-island=\"true\"';\nconst MANIFEST_MARKER = '__ABSOLUTE_MANIFEST__';\nconst ISLAND_STATE_MARKER = '__ABS_ISLAND_STATE__';\nconst CLOSING_HEAD_TAG = '</head>';\n\ndeclare global {\n\tvar __absoluteManifest: Record<string, string> | undefined;\n\tvar __ABS_ISLAND_STATE__:\n\t\t| Record<string, Record<string, unknown>>\n\t\t| undefined;\n}\n\nconst buildIslandsHeadMarkup = (manifest: Record<string, string>) => {\n\tconst manifestScript = `<script>window.__ABSOLUTE_MANIFEST__ = ${JSON.stringify(manifest)}</script>`;\n\tconst islandStateScript = `<script>window.__ABS_ISLAND_STATE__ = ${JSON.stringify(globalThis.__ABS_ISLAND_STATE__ ?? {})}</script>`;\n\tconst bootstrapPath = manifest[BOOTSTRAP_MANIFEST_KEY];\n\tconst bootstrapScript = bootstrapPath\n\t\t? `<script type=\"module\" src=\"${bootstrapPath}\"></script>`\n\t\t: '';\n\n\treturn `${manifestScript}${islandStateScript}${bootstrapScript}`;\n};\n\nconst injectHeadMarkup = (html: string, markup: string) => {\n\tconst closingHeadIndex = html.indexOf('</head>');\n\tif (closingHeadIndex >= 0) {\n\t\treturn `${html.slice(0, closingHeadIndex)}${markup}${html.slice(closingHeadIndex)}`;\n\t}\n\n\tconst openingBodyIndex = html.indexOf('<body');\n\tif (openingBodyIndex >= 0) {\n\t\tconst bodyStart = html.indexOf('>', openingBodyIndex);\n\t\tif (bodyStart >= 0) {\n\t\t\treturn `${html.slice(0, openingBodyIndex)}<head>${markup}</head>${html.slice(openingBodyIndex)}`;\n\t\t}\n\t}\n\n\treturn `<!DOCTYPE html><html><head>${markup}</head><body>${html}</body></html>`;\n};\n\nconst streamChunkToString = (\n\tvalue: string | Uint8Array,\n\tdecoder: TextDecoder\n) =>\n\ttypeof value === 'string' ? value : decoder.decode(value, { stream: true });\n\nconst flushSafePendingText = (\n\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\tencoder: TextEncoder,\n\tpending: string,\n\tlookbehind: number\n) => {\n\tif (pending.length <= lookbehind) {\n\t\treturn pending;\n\t}\n\n\tconst safeText = pending.slice(0, pending.length - lookbehind);\n\tcontroller.enqueue(encoder.encode(safeText));\n\n\treturn pending.slice(-lookbehind);\n};\n\nconst updateInjectedState = (\n\tconsumed: { done: boolean; injected: boolean; pending: string },\n\tinjected: boolean,\n\tpending: string\n) => {\n\tif (consumed.done) {\n\t\treturn { done: true, injected, pending };\n\t}\n\n\treturn {\n\t\tdone: false,\n\t\tinjected: consumed.injected,\n\t\tpending: consumed.pending\n\t};\n};\n\nconst readStreamChunk = async (\n\treader: ReadableStreamDefaultReader<string | Uint8Array>\n) => {\n\tconst { done, value } = await reader.read();\n\tif (done || !value) {\n\t\treturn { done, value: undefined };\n\t}\n\n\treturn { done, value };\n};\n\nconst pipeStreamWithHeadInjection = (\n\tstream: ReadableStream<string | Uint8Array>,\n\tmarkup: string\n) => {\n\tconst encoder = new TextEncoder();\n\tconst decoder = new TextDecoder();\n\tconst lookbehind = CLOSING_HEAD_TAG.length - 1;\n\tconst processPending = (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\t\tpending: string,\n\t\tinjected: boolean\n\t) => {\n\t\tif (injected) {\n\t\t\tcontroller.enqueue(encoder.encode(pending));\n\n\t\t\treturn { injected, pending: '' };\n\t\t}\n\n\t\tconst headIndex = pending.indexOf(CLOSING_HEAD_TAG);\n\t\tif (headIndex >= 0) {\n\t\t\tconst next = `${pending.slice(0, headIndex)}${markup}${pending.slice(headIndex)}`;\n\t\t\tcontroller.enqueue(encoder.encode(next));\n\n\t\t\treturn { injected: true, pending: '' };\n\t\t}\n\n\t\treturn {\n\t\t\tinjected,\n\t\t\tpending: flushSafePendingText(\n\t\t\t\tcontroller,\n\t\t\t\tencoder,\n\t\t\t\tpending,\n\t\t\t\tlookbehind\n\t\t\t)\n\t\t};\n\t};\n\tconst finishHeadInjectionStream = (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\t\tpending: string,\n\t\tinjected: boolean\n\t) => {\n\t\tlet finalPending = pending + decoder.decode();\n\t\tif (!injected) {\n\t\t\tfinalPending = injectHeadMarkup(finalPending, markup);\n\t\t}\n\t\tif (finalPending.length > 0) {\n\t\t\tcontroller.enqueue(encoder.encode(finalPending));\n\t\t}\n\t\tcontroller.close();\n\t};\n\tconst consumeHeadChunk = async (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\t\treader: ReadableStreamDefaultReader<string | Uint8Array>,\n\t\tpending: string,\n\t\tinjected: boolean\n\t) => {\n\t\tconst { done, value } = await readStreamChunk(reader);\n\t\tif (done || !value) {\n\t\t\treturn { done, injected, pending };\n\t\t}\n\n\t\tconst processed = processPending(\n\t\t\tcontroller,\n\t\t\tpending + streamChunkToString(value, decoder),\n\t\t\tinjected\n\t\t);\n\n\t\treturn {\n\t\t\tdone,\n\t\t\tinjected: processed.injected,\n\t\t\tpending: processed.pending\n\t\t};\n\t};\n\tconst runHeadInjectionLoop = async (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\t\treader: ReadableStreamDefaultReader<string | Uint8Array>\n\t) => {\n\t\tconst consumeNextHeadChunk = async (\n\t\t\tinjected: boolean,\n\t\t\tpending: string\n\t\t) => {\n\t\t\tconst consumed = await consumeHeadChunk(\n\t\t\t\tcontroller,\n\t\t\t\treader,\n\t\t\t\tpending,\n\t\t\t\tinjected\n\t\t\t);\n\t\t\tconst nextState = updateInjectedState(consumed, injected, pending);\n\t\t\tif (nextState.done) {\n\t\t\t\treturn { injected, pending };\n\t\t\t}\n\n\t\t\treturn consumeNextHeadChunk(nextState.injected, nextState.pending);\n\t\t};\n\n\t\treturn consumeNextHeadChunk(false, '');\n\t};\n\n\treturn new ReadableStream<Uint8Array>({\n\t\tasync start(controller) {\n\t\t\tconst reader = stream.getReader();\n\n\t\t\ttry {\n\t\t\t\tconst { injected, pending } = await runHeadInjectionLoop(\n\t\t\t\t\tcontroller,\n\t\t\t\t\treader\n\t\t\t\t);\n\t\t\t\tfinishHeadInjectionStream(controller, pending, injected);\n\t\t\t} catch (error) {\n\t\t\t\tcontroller.error(error);\n\t\t\t}\n\t\t}\n\t});\n};\n\nconst pipeStreamWithIslandMarkerDetection = (\n\tstream: ReadableStream<string | Uint8Array>,\n\tmarkup: string\n) => {\n\tconst encoder = new TextEncoder();\n\tconst decoder = new TextDecoder();\n\t// Keep enough context to catch split markers and find the start tag.\n\tconst lookbehind = Math.max(ISLAND_MARKER.length, BYTES_PER_KILOBYTE);\n\tconst processPending = (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\t\tpending: string,\n\t\tinjected: boolean\n\t) => {\n\t\tif (injected) {\n\t\t\tcontroller.enqueue(encoder.encode(pending));\n\n\t\t\treturn { injected, pending: '' };\n\t\t}\n\n\t\tconst markerIndex = pending.indexOf(ISLAND_MARKER);\n\t\tif (markerIndex >= 0) {\n\t\t\tconst tagStart = pending.lastIndexOf('<', markerIndex);\n\t\t\tconst injectAt = tagStart >= 0 ? tagStart : markerIndex;\n\t\t\tconst next = `${pending.slice(0, injectAt)}${markup}${pending.slice(injectAt)}`;\n\t\t\tcontroller.enqueue(encoder.encode(next));\n\n\t\t\treturn { injected: true, pending: '' };\n\t\t}\n\n\t\treturn {\n\t\t\tinjected,\n\t\t\tpending: flushSafePendingText(\n\t\t\t\tcontroller,\n\t\t\t\tencoder,\n\t\t\t\tpending,\n\t\t\t\tlookbehind\n\t\t\t)\n\t\t};\n\t};\n\tconst finishIslandMarkerStream = (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\t\tpending: string\n\t) => {\n\t\tconst finalPending = pending + decoder.decode();\n\t\tif (finalPending.length > 0) {\n\t\t\tcontroller.enqueue(encoder.encode(finalPending));\n\t\t}\n\t\tcontroller.close();\n\t};\n\tconst consumeIslandChunk = async (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\t\treader: ReadableStreamDefaultReader<string | Uint8Array>,\n\t\tpending: string,\n\t\tinjected: boolean\n\t) => {\n\t\tconst { done, value } = await readStreamChunk(reader);\n\t\tif (done || !value) {\n\t\t\treturn { done, injected, pending };\n\t\t}\n\n\t\tconst processed = processPending(\n\t\t\tcontroller,\n\t\t\tpending + streamChunkToString(value, decoder),\n\t\t\tinjected\n\t\t);\n\n\t\treturn {\n\t\t\tdone,\n\t\t\tinjected: processed.injected,\n\t\t\tpending: processed.pending\n\t\t};\n\t};\n\tconst runIslandMarkerLoop = async (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\t\treader: ReadableStreamDefaultReader<string | Uint8Array>\n\t) => {\n\t\tconst consumeNextIslandChunk = async (\n\t\t\tinjected: boolean,\n\t\t\tpending: string\n\t\t) => {\n\t\t\tconst consumed = await consumeIslandChunk(\n\t\t\t\tcontroller,\n\t\t\t\treader,\n\t\t\t\tpending,\n\t\t\t\tinjected\n\t\t\t);\n\t\t\tconst nextState = updateInjectedState(consumed, injected, pending);\n\t\t\tif (nextState.done) {\n\t\t\t\treturn { injected, pending };\n\t\t\t}\n\n\t\t\treturn consumeNextIslandChunk(\n\t\t\t\tnextState.injected,\n\t\t\t\tnextState.pending\n\t\t\t);\n\t\t};\n\n\t\treturn consumeNextIslandChunk(false, '');\n\t};\n\n\treturn new ReadableStream<Uint8Array>({\n\t\tasync start(controller) {\n\t\t\tconst reader = stream.getReader();\n\n\t\t\ttry {\n\t\t\t\tconst { pending } = await runIslandMarkerLoop(\n\t\t\t\t\tcontroller,\n\t\t\t\t\treader\n\t\t\t\t);\n\t\t\t\tfinishIslandMarkerStream(controller, pending);\n\t\t\t} catch (error) {\n\t\t\t\tcontroller.error(error);\n\t\t\t}\n\t\t}\n\t});\n};\n\nexport const htmlContainsIslands = (html: string) =>\n\thtml.includes(ISLAND_MARKER);\nexport const injectIslandPageContext = (\n\thtml: string,\n\toptions?: { hasIslands?: boolean }\n) => {\n\tconst manifest = globalThis.__absoluteManifest;\n\tconst hasIslands = options?.hasIslands ?? htmlContainsIslands(html);\n\tif (!manifest || !hasIslands) {\n\t\treturn html;\n\t}\n\n\tif (html.includes(MANIFEST_MARKER) || html.includes(ISLAND_STATE_MARKER)) {\n\t\treturn html;\n\t}\n\n\treturn injectHeadMarkup(html, buildIslandsHeadMarkup(manifest));\n};\n\nexport const injectIslandPageContextStream = (\n\tstream: ReadableStream<string | Uint8Array>,\n\toptions?: { hasIslands?: boolean }\n) => {\n\tconst manifest = globalThis.__absoluteManifest;\n\tif (!manifest) return stream;\n\tconst markup = buildIslandsHeadMarkup(manifest);\n\n\tif (options?.hasIslands === true) {\n\t\treturn pipeStreamWithHeadInjection(stream, markup);\n\t}\n\tif (options?.hasIslands === false) {\n\t\treturn stream;\n\t}\n\n\treturn pipeStreamWithIslandMarkerDetection(stream, markup);\n};\nexport const setCurrentIslandManifest = (manifest: Record<string, string>) => {\n\tglobalThis.__absoluteManifest = manifest;\n};\n",
|
|
45
273
|
"import { basename } from 'node:path';\nimport type { ConventionsMap, ErrorPageProps } from '../../types/conventions';\nimport { toPascal } from './stringModifiers';\n\n// Use globalThis so the conventions map is shared across all bundles.\n// The main bundle (dist/index.js) calls setConventions, but framework\n// bundles (dist/svelte/index.js, etc.) need to read the same map.\nconst CONVENTIONS_KEY = '__absoluteConventions';\n\nconst isConventionsMap = (value: unknown): value is ConventionsMap =>\n\tBoolean(value) && typeof value === 'object';\n\nconst getMap = () => {\n\tconst value: unknown = Reflect.get(globalThis, CONVENTIONS_KEY);\n\tif (isConventionsMap(value)) return value;\n\n\tconst empty: ConventionsMap = {};\n\n\treturn empty;\n};\n\nexport const derivePageName = (pagePath: string) => {\n\tconst base = basename(pagePath);\n\t// Strip hash and extension: \"SvelteExample.abc123.js\" → \"SvelteExample\"\n\tconst dotIndex = base.indexOf('.');\n\tconst name = dotIndex > 0 ? base.slice(0, dotIndex) : base;\n\n\treturn toPascal(name);\n};\nexport const getConventions = () => getMap();\n\nconst normalizeConventionPageName = (name: string) =>\n\ttoPascal(name).replace(/\\d+$/, '');\n\nexport const resolveErrorConventionPath = (\n\tframework: keyof ConventionsMap,\n\tpageName: string\n) => {\n\tconst conventions = getMap()[framework];\n\tif (!conventions) return undefined;\n\n\tconst exact = conventions.pages?.[pageName]?.error;\n\tif (exact) return exact;\n\n\tconst normalizedPageName = normalizeConventionPageName(pageName);\n\tfor (const [candidate, page] of Object.entries(conventions.pages ?? {})) {\n\t\tif (normalizeConventionPageName(candidate) === normalizedPageName) {\n\t\t\treturn page.error ?? conventions.defaults?.error;\n\t\t}\n\t}\n\n\treturn conventions.defaults?.error;\n};\nexport const resolveNotFoundConventionPath = (\n\tframework: keyof ConventionsMap\n) => getMap()[framework]?.defaults?.notFound;\n\nexport const hasErrorConvention = (framework: keyof ConventionsMap) => {\n\tconst conventions = getMap()[framework];\n\tif (!conventions) return false;\n\tif (conventions.defaults?.error) return true;\n\n\treturn Object.values(conventions.pages ?? {}).some((page) =>\n\t\tBoolean(page.error)\n\t);\n};\n\nexport const setConventions = (map: ConventionsMap) => {\n\tReflect.set(globalThis, CONVENTIONS_KEY, map);\n};\n\nconst isDev = () => process.env.NODE_ENV === 'development';\n\nconst buildErrorProps = (error: unknown): ErrorPageProps => {\n\tif (error instanceof Error) {\n\t\treturn {\n\t\t\tname: error.name,\n\t\t\tmessage: error.message,\n\t\t\t...(isDev() && error.stack ? { stack: error.stack } : {})\n\t\t};\n\t}\n\n\treturn { name: 'Error', message: String(error) };\n};\n\nconst renderReactError = async (\n\tconventionPath: string,\n\terrorProps: ErrorPageProps\n) => {\n\tconst { createElement } = await import('react');\n\tconst { renderToReadableStream } = await import('react-dom/server');\n\tconst mod = await import(conventionPath);\n\tconst ErrorComponent = mod.default;\n\tif (typeof ErrorComponent !== 'function') return null;\n\n\tconst element = createElement(ErrorComponent, errorProps);\n\tconst stream = await renderToReadableStream(element);\n\n\treturn new Response(stream, {\n\t\theaders: { 'Content-Type': 'text/html' },\n\t\tstatus: 500\n\t});\n};\n\nconst renderSvelteError = async (\n\tconventionPath: string,\n\terrorProps: ErrorPageProps\n) => {\n\tconst { render } = await import('svelte/server');\n\tconst mod = await import(conventionPath);\n\tconst ErrorComponent = mod.default;\n\tif (!ErrorComponent) return null;\n\n\tconst { head, body } = render(ErrorComponent, {\n\t\tprops: errorProps\n\t});\n\tconst html = `<!DOCTYPE html><html><head>${head}</head><body>${body}</body></html>`;\n\n\treturn new Response(html, {\n\t\theaders: { 'Content-Type': 'text/html' },\n\t\tstatus: 500\n\t});\n};\n\nconst unescapeVueStyles = (ssrBody: string) => {\n\tlet styles = '';\n\tconst body = ssrBody.replace(\n\t\t/<style>([\\s\\S]*?)<\\/style>/g,\n\t\t(_, css: string) => {\n\t\t\tstyles += `<style>${css\n\t\t\t\t.replace(/"/g, '\"')\n\t\t\t\t.replace(/&/g, '&')\n\t\t\t\t.replace(/</g, '<')\n\t\t\t\t.replace(/>/g, '>')}</style>`;\n\n\t\t\treturn '';\n\t\t}\n\t);\n\n\treturn { body, styles };\n};\n\nconst renderVueError = async (\n\tconventionPath: string,\n\terrorProps: ErrorPageProps\n) => {\n\tconst { createSSRApp, h } = await import('vue');\n\tconst { renderToString } = await import('vue/server-renderer');\n\tconst mod = await import(conventionPath);\n\tconst ErrorComponent = mod.default;\n\tif (!ErrorComponent) return null;\n\n\tconst app = createSSRApp({\n\t\trender: () => h(ErrorComponent, errorProps)\n\t});\n\tconst rawBody = await renderToString(app);\n\n\t// Vue SSR escapes quotes inside <component is=\"style\"> tags.\n\t// Extract style content, unescape it, and move to <head>.\n\tconst { styles, body } = unescapeVueStyles(rawBody);\n\tconst html = `<!DOCTYPE html><html><head>${styles}</head><body><div id=\"root\">${body}</div></body></html>`;\n\n\treturn new Response(html, {\n\t\theaders: { 'Content-Type': 'text/html' },\n\t\tstatus: 500\n\t});\n};\n\nconst renderAngularError = async (\n\tconventionPath: string,\n\terrorProps: ErrorPageProps\n) => {\n\t// Angular convention error pages use the simple function-style renderer.\n\t// Class-style components (templateUrl/styleUrl trio) routed through the\n\t// full Angular SSR pipeline are tracked separately — see CLAUDE.md.\n\tconst mod = await import(conventionPath);\n\tconst renderFn = mod.default;\n\tif (typeof renderFn !== 'function') return null;\n\n\tconst html = renderFn(errorProps);\n\n\treturn new Response(html, {\n\t\theaders: { 'Content-Type': 'text/html' },\n\t\tstatus: 500\n\t});\n};\n\nconst escapeHtml = (value: string) =>\n\tvalue\n\t\t.replace(/&/g, '&')\n\t\t.replace(/</g, '<')\n\t\t.replace(/>/g, '>')\n\t\t.replace(/\"/g, '"')\n\t\t.replace(/'/g, ''');\n\nconst replaceErrorTokens = (template: string, errorProps: ErrorPageProps) =>\n\ttemplate\n\t\t.replace(/\\{\\{\\s*name\\s*\\}\\}/g, escapeHtml(errorProps.name))\n\t\t.replace(/\\{\\{\\s*message\\s*\\}\\}/g, escapeHtml(errorProps.message))\n\t\t.replace(\n\t\t\t/\\{\\{\\s*stack\\s*\\}\\}/g,\n\t\t\terrorProps.stack ? escapeHtml(errorProps.stack) : ''\n\t\t);\n\nconst renderHtmlError = async (\n\tconventionPath: string,\n\terrorProps: ErrorPageProps\n) => {\n\tconst template = await Bun.file(conventionPath).text();\n\tconst html = replaceErrorTokens(template, errorProps);\n\n\treturn new Response(html, {\n\t\theaders: { 'Content-Type': 'text/html' },\n\t\tstatus: 500\n\t});\n};\n\nconst logConventionRenderError = (\n\tframework: keyof ConventionsMap,\n\tlabel: string,\n\trenderError: unknown\n) => {\n\tconst message = renderError instanceof Error ? renderError.message : '';\n\tif (\n\t\tmessage.includes('Cannot find module') ||\n\t\tmessage.includes('Cannot find package') ||\n\t\tmessage.includes('not found in module')\n\t) {\n\t\tconsole.error(\n\t\t\t`[SSR] Convention ${label} page for ${framework} failed: missing framework package. ` +\n\t\t\t\t`Ensure the ${framework} runtime is installed (e.g. bun add ${framework === 'react' ? 'react react-dom' : framework}).`\n\t\t);\n\n\t\treturn;\n\t}\n\n\tconsole.error(\n\t\t`[SSR] Failed to render ${framework} convention ${label} page:`,\n\t\trenderError\n\t);\n};\n\n// Phase 1 Ember adapter: convention pages aren't wired yet (no\n// renderEmberError analog ships in v1). Returning null falls through to\n// the generic ssrErrorPage. Phase 1.5 replaces this stub with a real\n// renderer once the convention scanner knows about .gjs/.gts files.\nconst renderEmberError = async () => null;\nconst renderEmberNotFound = async () => null;\n\nconst ERROR_RENDERERS: Record<\n\tkeyof ConventionsMap,\n\t(\n\t\tconventionPath: string,\n\t\terrorProps: ErrorPageProps\n\t) => Promise<Response | null>\n> = {\n\tangular: renderAngularError,\n\tember: renderEmberError,\n\thtml: renderHtmlError,\n\treact: renderReactError,\n\tsvelte: renderSvelteError,\n\tvue: renderVueError\n};\n\nconst tryFrameworkErrorConvention = async (\n\tframework: keyof ConventionsMap,\n\tpageName: string,\n\terrorProps: ErrorPageProps,\n\terror: unknown\n) => {\n\tlet conventionPath = resolveErrorConventionPath(framework, pageName);\n\tif (!conventionPath && error instanceof Error && error.stack) {\n\t\tfor (const match of error.stack.matchAll(\n\t\t\t/^\\s*at\\s+([A-Za-z_$][\\w$]*)/gm\n\t\t)) {\n\t\t\tconst candidate = match[1];\n\t\t\tif (!candidate) continue;\n\n\t\t\tconventionPath = resolveErrorConventionPath(framework, candidate);\n\t\t\tif (conventionPath) break;\n\t\t}\n\t}\n\tif (!conventionPath) return null;\n\n\tconst renderer = ERROR_RENDERERS[framework];\n\tif (!renderer) return null;\n\n\ttry {\n\t\treturn await renderer(conventionPath, errorProps);\n\t} catch (renderError) {\n\t\tlogConventionRenderError(framework, 'error', renderError);\n\t}\n\n\treturn null;\n};\n\nexport const renderConventionError = async (\n\tframework: keyof ConventionsMap,\n\tpageName: string,\n\terror: unknown\n) => {\n\tconst errorProps = buildErrorProps(error);\n\n\tconst frameworkResponse = await tryFrameworkErrorConvention(\n\t\tframework,\n\t\tpageName,\n\t\terrorProps,\n\t\terror\n\t);\n\tif (frameworkResponse) return frameworkResponse;\n\n\t// Universal fallback: any project can ship a plain `error.html` in\n\t// the html pages dir as the last-resort branded error page before\n\t// the inline ssrErrorPage() takes over.\n\tif (framework !== 'html') {\n\t\tconst htmlResponse = await tryFrameworkErrorConvention(\n\t\t\t'html',\n\t\t\tpageName,\n\t\t\terrorProps,\n\t\t\terror\n\t\t);\n\t\tif (htmlResponse) return htmlResponse;\n\t}\n\n\treturn null;\n};\n\nconst renderReactNotFound = async (conventionPath: string) => {\n\tconst { createElement } = await import('react');\n\tconst { renderToReadableStream } = await import('react-dom/server');\n\tconst mod = await import(conventionPath);\n\tconst NotFoundComponent = mod.default;\n\tif (typeof NotFoundComponent !== 'function') return null;\n\n\tconst element = createElement(NotFoundComponent);\n\tconst stream = await renderToReadableStream(element);\n\n\treturn new Response(stream, {\n\t\theaders: { 'Content-Type': 'text/html' },\n\t\tstatus: 404\n\t});\n};\n\nconst renderSvelteNotFound = async (conventionPath: string) => {\n\tconst { render } = await import('svelte/server');\n\tconst mod = await import(conventionPath);\n\tconst NotFoundComponent = mod.default;\n\tif (!NotFoundComponent) return null;\n\n\tconst { head, body } = render(NotFoundComponent);\n\tconst html = `<!DOCTYPE html><html><head>${head}</head><body>${body}</body></html>`;\n\n\treturn new Response(html, {\n\t\theaders: { 'Content-Type': 'text/html' },\n\t\tstatus: 404\n\t});\n};\n\nconst renderVueNotFound = async (conventionPath: string) => {\n\tconst { createSSRApp, h } = await import('vue');\n\tconst { renderToString } = await import('vue/server-renderer');\n\tconst mod = await import(conventionPath);\n\tconst NotFoundComponent = mod.default;\n\tif (!NotFoundComponent) return null;\n\n\tconst app = createSSRApp({\n\t\trender: () => h(NotFoundComponent)\n\t});\n\tconst rawBody = await renderToString(app);\n\n\tconst { styles, body } = unescapeVueStyles(rawBody);\n\tconst html = `<!DOCTYPE html><html><head>${styles}</head><body><div id=\"root\">${body}</div></body></html>`;\n\n\treturn new Response(html, {\n\t\theaders: { 'Content-Type': 'text/html' },\n\t\tstatus: 404\n\t});\n};\n\nconst renderAngularNotFound = async (conventionPath: string) => {\n\tconst mod = await import(conventionPath);\n\tconst renderFn = mod.default;\n\tif (typeof renderFn !== 'function') return null;\n\n\tconst html = renderFn();\n\n\treturn new Response(html, {\n\t\theaders: { 'Content-Type': 'text/html' },\n\t\tstatus: 404\n\t});\n};\n\nconst renderHtmlNotFound = async (conventionPath: string) => {\n\tconst html = await Bun.file(conventionPath).text();\n\n\treturn new Response(html, {\n\t\theaders: { 'Content-Type': 'text/html' },\n\t\tstatus: 404\n\t});\n};\n\nconst NOT_FOUND_RENDERERS: Record<\n\tkeyof ConventionsMap,\n\t(conventionPath: string) => Promise<Response | null>\n> = {\n\tangular: renderAngularNotFound,\n\tember: renderEmberNotFound,\n\thtml: renderHtmlNotFound,\n\treact: renderReactNotFound,\n\tsvelte: renderSvelteNotFound,\n\tvue: renderVueNotFound\n};\n\nexport const renderConventionNotFound = async (\n\tframework: keyof ConventionsMap\n) => {\n\tconst conventionPath = resolveNotFoundConventionPath(framework);\n\tif (!conventionPath) return null;\n\n\tconst renderer = NOT_FOUND_RENDERERS[framework];\n\tif (!renderer) return null;\n\n\ttry {\n\t\treturn await renderer(conventionPath);\n\t} catch (renderError) {\n\t\tlogConventionRenderError(framework, 'not-found', renderError);\n\t}\n\n\treturn null;\n};\n\nconst NOT_FOUND_PRIORITY: (keyof ConventionsMap)[] = [\n\t'react',\n\t'svelte',\n\t'vue',\n\t'angular',\n\t'html'\n];\n\nexport const renderFirstNotFound = async () => {\n\tconst renderNext = async (frameworks: (keyof ConventionsMap)[]) => {\n\t\tconst [framework, ...remaining] = frameworks;\n\t\tif (!framework) {\n\t\t\treturn null;\n\t\t}\n\t\tif (!getMap()[framework]?.defaults?.notFound) {\n\t\t\treturn renderNext(remaining);\n\t\t}\n\n\t\tconst response = await renderConventionNotFound(framework);\n\t\tif (response) {\n\t\t\treturn response;\n\t\t}\n\n\t\treturn renderNext(remaining);\n\t};\n\n\treturn renderNext(NOT_FOUND_PRIORITY);\n};\n",
|
|
46
274
|
"import type { EnvironmentProviders, Provider } from '@angular/core';\nimport { resolveAngularRuntimePath } from './resolveAngularPackage';\nimport { isProductionRuntime } from '../utils/runtimeMode';\n\nlet noopAnimationProvidersPromise: Promise<\n\t(Provider | EnvironmentProviders)[]\n> | null = null;\n\nconst loadNoopAnimationProviders = async () => {\n\t// §1.1 — bare specifier in dev. resolveAngularRuntimePath stays in\n\t// production because that's where the linked vendor lives.\n\tconst spec = isProductionRuntime()\n\t\t? resolveAngularRuntimePath('@angular/platform-browser/animations')\n\t\t: '@angular/platform-browser/animations';\n\tconst animations = await import(spec);\n\n\treturn animations.provideNoopAnimations();\n};\n\nexport const buildServerAnimationProviders = (\n\tusesLegacyAnimations: boolean\n) => {\n\tif (!usesLegacyAnimations) return Promise.resolve([]);\n\n\tnoopAnimationProvidersPromise ??= loadNoopAnimationProviders();\n\n\treturn noopAnimationProvidersPromise;\n};\n",
|
|
@@ -49,10 +277,15 @@
|
|
|
49
277
|
"import type { SecurityContext } from '@angular/core';\nimport type { SafeValue } from '@angular/platform-browser';\nimport type { AngularDeps } from '../../types/angular';\n\nconst escapeHtml = (str: string) =>\n\tString(str)\n\t\t.replace(/&/g, '&')\n\t\t.replace(/</g, '<')\n\t\t.replace(/>/g, '>')\n\t\t.replace(/\"/g, '"');\n\nconst bypassValue = (value: string): SafeValue => ({\n\tchangingThisBreaksApplicationSecurity: value\n});\n\n// Deferred: SsrSanitizer class is built after deps load because it\n// extends DomSanitizer which comes from the lazy import. We cache the\n// class + singleton instance after the first request.\nlet ssrSanitizer: InstanceType<AngularDeps['DomSanitizer']> | null = null;\n\nexport const getSsrSanitizer = (deps: AngularDeps) => {\n\tif (ssrSanitizer) return ssrSanitizer;\n\n\tconst SsrSanitizerClass = class extends deps.DomSanitizer {\n\t\tsanitize(ctx: SecurityContext, value: SafeValue | string | null) {\n\t\t\tif (value === null) return null;\n\t\t\tlet strValue: string;\n\t\t\tlet isTrustedHtml = false;\n\t\t\tif (typeof value === 'string') {\n\t\t\t\tstrValue = value;\n\t\t\t} else if (\n\t\t\t\ttypeof value === 'object' &&\n\t\t\t\t'changingThisBreaksApplicationSecurity' in value\n\t\t\t) {\n\t\t\t\tstrValue = String(value.changingThisBreaksApplicationSecurity);\n\t\t\t\tisTrustedHtml = true;\n\t\t\t} else {\n\t\t\t\tstrValue = String(value);\n\t\t\t}\n\n\t\t\tif (ctx === deps.SecurityContext.HTML) {\n\t\t\t\tif (isTrustedHtml) {\n\t\t\t\t\treturn strValue;\n\t\t\t\t}\n\n\t\t\t\treturn escapeHtml(strValue);\n\t\t\t}\n\n\t\t\treturn strValue;\n\t\t}\n\t\tbypassSecurityTrustHtml(value: string) {\n\t\t\treturn bypassValue(value);\n\t\t}\n\t\tbypassSecurityTrustStyle(value: string) {\n\t\t\treturn bypassValue(value);\n\t\t}\n\t\tbypassSecurityTrustScript(value: string) {\n\t\t\treturn bypassValue(value);\n\t\t}\n\t\tbypassSecurityTrustUrl(value: string) {\n\t\t\treturn bypassValue(value);\n\t\t}\n\t\tbypassSecurityTrustResourceUrl(value: string) {\n\t\t\treturn bypassValue(value);\n\t\t}\n\t};\n\n\tssrSanitizer = new SsrSanitizerClass();\n\n\treturn ssrSanitizer;\n};\nexport const resetSsrSanitizer = () => {\n\tssrSanitizer = null;\n};\n",
|
|
50
278
|
"import {\n\tappendStreamingSlotPatchesToStream,\n\ttype AppendStreamingSlotsOptions,\n\ttype StreamingSlotPolicy,\n\ttype StreamingSlot\n} from '../utils/streamingSlots';\nimport { runWithStreamingSlotRegistry } from './streamingSlotRegistry';\n\ntype ResponseLike = Response | Promise<Response>;\n\nexport type StreamingSlotEnhancerOptions = Omit<\n\tAppendStreamingSlotsOptions,\n\t'injectRuntime'\n> & {\n\tstreamingSlots?: StreamingSlot[];\n\tpolicy?: StreamingSlotPolicy;\n};\n\nconst toResponse = async (responseLike: ResponseLike) => responseLike;\n\nconst cloneHeaders = (response: Response) => {\n\tconst headers = new Headers(response.headers);\n\n\treturn headers;\n};\n\nexport const enhanceHtmlResponseWithStreamingSlots = (\n\tresponse: Response,\n\t{\n\t\tnonce,\n\t\tonError,\n\t\truntimePlacement,\n\t\truntimePreludeScript,\n\t\tstreamingSlots = [],\n\t\tpolicy\n\t}: StreamingSlotEnhancerOptions = {}\n) => {\n\tif (!response.body || streamingSlots.length === 0) {\n\t\treturn response;\n\t}\n\n\tconst body = appendStreamingSlotPatchesToStream(\n\t\tresponse.body,\n\t\tstreamingSlots,\n\t\t{\n\t\t\tnonce,\n\t\t\tonError,\n\t\t\tpolicy,\n\t\t\truntimePlacement,\n\t\t\truntimePreludeScript\n\t\t}\n\t);\n\n\treturn new Response(body, {\n\t\theaders: cloneHeaders(response),\n\t\tstatus: response.status,\n\t\tstatusText: response.statusText\n\t});\n};\n\nexport const withStreamingSlots = async (\n\tresponseLike: ResponseLike,\n\toptions: StreamingSlotEnhancerOptions = {}\n) =>\n\tenhanceHtmlResponseWithStreamingSlots(\n\t\tawait toResponse(responseLike),\n\t\toptions\n\t);\n\nconst mergeStreamingSlots = (\n\tregistered: StreamingSlot[],\n\texplicit: StreamingSlot[]\n) => {\n\tconst merged = new Map<string, StreamingSlot>();\n\tfor (const slot of registered) merged.set(slot.id, slot);\n\tfor (const slot of explicit) merged.set(slot.id, slot);\n\n\treturn [...merged.values()];\n};\n\nexport const withRegisteredStreamingSlots = async (\n\trenderResponse: () => ResponseLike,\n\toptions: StreamingSlotEnhancerOptions = {}\n) => {\n\tconst { result, slots } =\n\t\tawait runWithStreamingSlotRegistry(renderResponse);\n\tconst explicit = options.streamingSlots ?? [];\n\n\treturn withStreamingSlots(result, {\n\t\t...options,\n\t\tstreamingSlots: mergeStreamingSlots(slots, explicit)\n\t});\n};\n",
|
|
51
279
|
"import { AsyncLocalStorage } from 'node:async_hooks';\nimport { logWarn } from '../utils/logger';\nimport { setStreamingSlotWarningController } from './streamingSlotRegistrar';\n\ntype WarningStore = {\n\thandlerCallsite?: string;\n\thasWarned: boolean;\n};\n\ntype WarningStorage = AsyncLocalStorage<WarningStore>;\n\nconst STREAMING_SLOT_WARNING_STORAGE_KEY = Symbol.for(\n\t'absolutejs.streamingSlotWarningAsyncLocalStorage'\n);\n\nconst isObjectRecord = (value: unknown): value is Record<string, unknown> =>\n\tBoolean(value) && typeof value === 'object';\n\nconst isAsyncLocalStorage = (value: unknown): value is WarningStorage =>\n\tisObjectRecord(value) &&\n\t'getStore' in value &&\n\ttypeof value.getStore === 'function' &&\n\t'run' in value &&\n\ttypeof value.run === 'function';\n\nconst getWarningStorage = () => {\n\tconst value = Reflect.get(globalThis, STREAMING_SLOT_WARNING_STORAGE_KEY);\n\tif (value === null || typeof value === 'undefined') {\n\t\treturn undefined;\n\t}\n\n\treturn isAsyncLocalStorage(value) ? value : undefined;\n};\n\nconst ensureWarningStorage = () => {\n\tconst existing = getWarningStorage();\n\tif (existing) {\n\t\treturn existing;\n\t}\n\n\tconst storage = new AsyncLocalStorage<WarningStore>();\n\tReflect.set(globalThis, STREAMING_SLOT_WARNING_STORAGE_KEY, storage);\n\n\treturn storage;\n};\n\nconst normalizeCallsitePath = (value: string) =>\n\tvalue\n\t\t.replace(`${process.cwd()}/`, '')\n\t\t.replace(process.cwd(), '')\n\t\t.replace(/^\\.\\/+/, '');\n\nconst formatWarningCallsite = (callsite: string) => {\n\tconst match = callsite.match(/^(.*?)(:\\d+:\\d+)$/);\n\tif (!match) {\n\t\treturn `\\x1b[36m${callsite}\\x1b[0m`;\n\t}\n\n\treturn `\\x1b[36m${match[1]}\\x1b[33m${match[2]}\\x1b[0m`;\n};\n\nconst shouldIgnoreWarningFrame = (frame: string) =>\n\tframe.includes('/node_modules/') ||\n\tframe.includes('/dist/') ||\n\tframe.includes('/src/react/pageHandler.') ||\n\tframe.includes('/src/vue/pageHandler.') ||\n\tframe.includes('/src/svelte/pageHandler.') ||\n\tframe.includes('/src/angular/pageHandler.') ||\n\tframe.includes('/src/core/streamingSlotWarningScope.');\n\nconst getWarningLocation = (frame: string) =>\n\tframe.match(/\\((\\/[^)]+:\\d+:\\d+)\\)$/)?.[1] ??\n\tframe.match(/at (\\/[^ ]+:\\d+:\\d+)$/)?.[1];\n\nconst extractCallsiteFromStack = (stack: string) => {\n\tconst location = stack\n\t\t.split('\\n')\n\t\t.slice(1)\n\t\t.map((line) => line.trim())\n\t\t.filter((frame) => !shouldIgnoreWarningFrame(frame))\n\t\t.map((frame) => getWarningLocation(frame))\n\t\t.find((frameLocation) => frameLocation !== undefined);\n\n\treturn location ? normalizeCallsitePath(location) : undefined;\n};\n\nconst buildMissingCollectorWarning = (\n\tprimitiveName: string,\n\thandlerCallsite?: string\n) =>\n\t`${primitiveName} rendered during SSR without streaming slot collection enabled. Add { collectStreamingSlots: true } to this page handler to enable out-of-order streaming for this route.${handlerCallsite ? ` Update ${formatWarningCallsite(handlerCallsite)}.` : ''}`;\n\nsetStreamingSlotWarningController({\n\tmaybeWarn: (primitiveName: string) => {\n\t\tconst store = getWarningStorage()?.getStore();\n\t\tif (!store || store.hasWarned) {\n\t\t\treturn;\n\t\t}\n\n\t\tstore.hasWarned = true;\n\t\tlogWarn(\n\t\t\tbuildMissingCollectorWarning(primitiveName, store.handlerCallsite)\n\t\t);\n\t}\n});\n\nexport const captureStreamingSlotWarningCallsite = () => {\n\tif (process.env.NODE_ENV === 'production') {\n\t\treturn undefined;\n\t}\n\n\tconst { stack } = new Error();\n\tif (!stack) {\n\t\treturn undefined;\n\t}\n\n\treturn extractCallsiteFromStack(stack);\n};\n\nexport const runWithStreamingSlotWarningScope = <T>(\n\ttask: () => Promise<T> | T,\n\tmetadata?: {\n\t\thandlerCallsite?: string;\n\t}\n) =>\n\tensureWarningStorage().run(\n\t\t{ handlerCallsite: metadata?.handlerCallsite, hasWarned: false },\n\t\ttask\n\t);\n",
|
|
280
|
+
"/**\n * @license Angular v21.2.6\n * (c) 2010-2026 Google LLC. https://angular.dev/\n * License: MIT\n */\n\nimport { DOCUMENT, Location } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { ɵisPromise as _isPromise, ɵRuntimeError as _RuntimeError, computed, Injectable, InjectionToken, EventEmitter, input, inject, ViewContainerRef, ChangeDetectorRef, Output, Input, Directive, reflectComponentType, ChangeDetectionStrategy, Component, runInInjectionContext, ɵisInjectable as _isInjectable, ɵisNgModule as _isNgModule, isStandalone, createEnvironmentInjector, Compiler, NgModuleFactory, ɵresolveComponentResources as _resolveComponentResources, afterNextRender, signal, EnvironmentInjector, DestroyRef, untracked, ɵConsole as _Console, ɵPendingTasksInternal as _PendingTasksInternal, ɵINTERNAL_APPLICATION_ERROR_HANDLER as _INTERNAL_APPLICATION_ERROR_HANDLER, ɵformatRuntimeError as _formatRuntimeError } from '@angular/core';\nimport { isObservable, from, of, BehaviorSubject, combineLatest, EmptyError, Observable, concat, defer, pipe, EMPTY, throwError, Subject, Subscription } from 'rxjs';\nimport { first, map, switchMap, take, startWith, filter, takeUntil, mergeMap, concatMap, tap, takeLast, catchError, finalize } from 'rxjs/operators';\nimport * as i1 from '@angular/platform-browser';\n\nconst PRIMARY_OUTLET = 'primary';\nconst RouteTitleKey = /* @__PURE__ */Symbol('RouteTitle');\nclass ParamsAsMap {\n params;\n constructor(params) {\n this.params = params || {};\n }\n has(name) {\n return Object.prototype.hasOwnProperty.call(this.params, name);\n }\n get(name) {\n if (this.has(name)) {\n const v = this.params[name];\n return Array.isArray(v) ? v[0] : v;\n }\n return null;\n }\n getAll(name) {\n if (this.has(name)) {\n const v = this.params[name];\n return Array.isArray(v) ? v : [v];\n }\n return [];\n }\n get keys() {\n return Object.keys(this.params);\n }\n}\nfunction convertToParamMap(params) {\n return new ParamsAsMap(params);\n}\nfunction matchParts(routeParts, urlSegments, posParams) {\n for (let i = 0; i < routeParts.length; i++) {\n const part = routeParts[i];\n const segment = urlSegments[i];\n const isParameter = part[0] === ':';\n if (isParameter) {\n posParams[part.substring(1)] = segment;\n } else if (part !== segment.path) {\n return false;\n }\n }\n return true;\n}\nfunction defaultUrlMatcher(segments, segmentGroup, route) {\n const parts = route.path.split('/');\n const wildcardIndex = parts.indexOf('**');\n if (wildcardIndex === -1) {\n if (parts.length > segments.length) {\n return null;\n }\n if (route.pathMatch === 'full' && (segmentGroup.hasChildren() || parts.length < segments.length)) {\n return null;\n }\n const posParams = {};\n const consumed = segments.slice(0, parts.length);\n if (!matchParts(parts, consumed, posParams)) {\n return null;\n }\n return {\n consumed,\n posParams\n };\n }\n if (wildcardIndex !== parts.lastIndexOf('**')) {\n return null;\n }\n const pre = parts.slice(0, wildcardIndex);\n const post = parts.slice(wildcardIndex + 1);\n if (pre.length + post.length > segments.length) {\n return null;\n }\n if (route.pathMatch === 'full' && segmentGroup.hasChildren() && route.path !== '**') {\n return null;\n }\n const posParams = {};\n if (!matchParts(pre, segments.slice(0, pre.length), posParams)) {\n return null;\n }\n if (!matchParts(post, segments.slice(segments.length - post.length), posParams)) {\n return null;\n }\n return {\n consumed: segments,\n posParams\n };\n}\n\nfunction firstValueFrom(source) {\n return new Promise((resolve, reject) => {\n source.pipe(first()).subscribe({\n next: value => resolve(value),\n error: err => reject(err)\n });\n });\n}\n\nfunction shallowEqualArrays(a, b) {\n if (a.length !== b.length) return false;\n for (let i = 0; i < a.length; ++i) {\n if (!shallowEqual(a[i], b[i])) return false;\n }\n return true;\n}\nfunction shallowEqual(a, b) {\n const k1 = a ? getDataKeys(a) : undefined;\n const k2 = b ? getDataKeys(b) : undefined;\n if (!k1 || !k2 || k1.length != k2.length) {\n return false;\n }\n let key;\n for (let i = 0; i < k1.length; i++) {\n key = k1[i];\n if (!equalArraysOrString(a[key], b[key])) {\n return false;\n }\n }\n return true;\n}\nfunction getDataKeys(obj) {\n return [...Object.keys(obj), ...Object.getOwnPropertySymbols(obj)];\n}\nfunction equalArraysOrString(a, b) {\n if (Array.isArray(a) && Array.isArray(b)) {\n if (a.length !== b.length) return false;\n const aSorted = [...a].sort();\n const bSorted = [...b].sort();\n return aSorted.every((val, index) => bSorted[index] === val);\n } else {\n return a === b;\n }\n}\nfunction last(a) {\n return a.length > 0 ? a[a.length - 1] : null;\n}\nfunction wrapIntoObservable(value) {\n if (isObservable(value)) {\n return value;\n }\n if (_isPromise(value)) {\n return from(Promise.resolve(value));\n }\n return of(value);\n}\nfunction wrapIntoPromise(value) {\n if (isObservable(value)) {\n return firstValueFrom(value);\n }\n return Promise.resolve(value);\n}\n\nconst pathCompareMap = {\n 'exact': equalSegmentGroups,\n 'subset': containsSegmentGroup\n};\nconst paramCompareMap = {\n 'exact': equalParams,\n 'subset': containsParams,\n 'ignored': () => true\n};\nconst exactMatchOptions = {\n paths: 'exact',\n fragment: 'ignored',\n matrixParams: 'ignored',\n queryParams: 'exact'\n};\nconst subsetMatchOptions = {\n paths: 'subset',\n fragment: 'ignored',\n matrixParams: 'ignored',\n queryParams: 'subset'\n};\nfunction isActive(url, router, matchOptions) {\n const urlTree = url instanceof UrlTree ? url : router.parseUrl(url);\n return computed(() => containsTree(router.lastSuccessfulNavigation()?.finalUrl ?? new UrlTree(), urlTree, {\n ...subsetMatchOptions,\n ...matchOptions\n }));\n}\nfunction containsTree(container, containee, options) {\n return pathCompareMap[options.paths](container.root, containee.root, options.matrixParams) && paramCompareMap[options.queryParams](container.queryParams, containee.queryParams) && !(options.fragment === 'exact' && container.fragment !== containee.fragment);\n}\nfunction equalParams(container, containee) {\n return shallowEqual(container, containee);\n}\nfunction equalSegmentGroups(container, containee, matrixParams) {\n if (!equalPath(container.segments, containee.segments)) return false;\n if (!matrixParamsMatch(container.segments, containee.segments, matrixParams)) {\n return false;\n }\n if (container.numberOfChildren !== containee.numberOfChildren) return false;\n for (const c in containee.children) {\n if (!container.children[c]) return false;\n if (!equalSegmentGroups(container.children[c], containee.children[c], matrixParams)) return false;\n }\n return true;\n}\nfunction containsParams(container, containee) {\n return Object.keys(containee).length <= Object.keys(container).length && Object.keys(containee).every(key => equalArraysOrString(container[key], containee[key]));\n}\nfunction containsSegmentGroup(container, containee, matrixParams) {\n return containsSegmentGroupHelper(container, containee, containee.segments, matrixParams);\n}\nfunction containsSegmentGroupHelper(container, containee, containeePaths, matrixParams) {\n if (container.segments.length > containeePaths.length) {\n const current = container.segments.slice(0, containeePaths.length);\n if (!equalPath(current, containeePaths)) return false;\n if (containee.hasChildren()) return false;\n if (!matrixParamsMatch(current, containeePaths, matrixParams)) return false;\n return true;\n } else if (container.segments.length === containeePaths.length) {\n if (!equalPath(container.segments, containeePaths)) return false;\n if (!matrixParamsMatch(container.segments, containeePaths, matrixParams)) return false;\n for (const c in containee.children) {\n if (!container.children[c]) return false;\n if (!containsSegmentGroup(container.children[c], containee.children[c], matrixParams)) {\n return false;\n }\n }\n return true;\n } else {\n const current = containeePaths.slice(0, container.segments.length);\n const next = containeePaths.slice(container.segments.length);\n if (!equalPath(container.segments, current)) return false;\n if (!matrixParamsMatch(container.segments, current, matrixParams)) return false;\n if (!container.children[PRIMARY_OUTLET]) return false;\n return containsSegmentGroupHelper(container.children[PRIMARY_OUTLET], containee, next, matrixParams);\n }\n}\nfunction matrixParamsMatch(containerPaths, containeePaths, options) {\n return containeePaths.every((containeeSegment, i) => {\n return paramCompareMap[options](containerPaths[i].parameters, containeeSegment.parameters);\n });\n}\nclass UrlTree {\n root;\n queryParams;\n fragment;\n _queryParamMap;\n constructor(root = new UrlSegmentGroup([], {}), queryParams = {}, fragment = null) {\n this.root = root;\n this.queryParams = queryParams;\n this.fragment = fragment;\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (root.segments.length > 0) {\n throw new _RuntimeError(4015, 'The root `UrlSegmentGroup` should not contain `segments`. ' + 'Instead, these segments belong in the `children` so they can be associated with a named outlet.');\n }\n }\n }\n get queryParamMap() {\n this._queryParamMap ??= convertToParamMap(this.queryParams);\n return this._queryParamMap;\n }\n toString() {\n return DEFAULT_SERIALIZER.serialize(this);\n }\n}\nclass UrlSegmentGroup {\n segments;\n children;\n parent = null;\n constructor(segments, children) {\n this.segments = segments;\n this.children = children;\n Object.values(children).forEach(v => v.parent = this);\n }\n hasChildren() {\n return this.numberOfChildren > 0;\n }\n get numberOfChildren() {\n return Object.keys(this.children).length;\n }\n toString() {\n return serializePaths(this);\n }\n}\nclass UrlSegment {\n path;\n parameters;\n _parameterMap;\n constructor(path, parameters) {\n this.path = path;\n this.parameters = parameters;\n }\n get parameterMap() {\n this._parameterMap ??= convertToParamMap(this.parameters);\n return this._parameterMap;\n }\n toString() {\n return serializePath(this);\n }\n}\nfunction equalSegments(as, bs) {\n return equalPath(as, bs) && as.every((a, i) => shallowEqual(a.parameters, bs[i].parameters));\n}\nfunction equalPath(as, bs) {\n if (as.length !== bs.length) return false;\n return as.every((a, i) => a.path === bs[i].path);\n}\nfunction mapChildrenIntoArray(segment, fn) {\n let res = [];\n Object.entries(segment.children).forEach(([childOutlet, child]) => {\n if (childOutlet === PRIMARY_OUTLET) {\n res = res.concat(fn(child, childOutlet));\n }\n });\n Object.entries(segment.children).forEach(([childOutlet, child]) => {\n if (childOutlet !== PRIMARY_OUTLET) {\n res = res.concat(fn(child, childOutlet));\n }\n });\n return res;\n}\nclass UrlSerializer {\n static ɵfac = i0.ɵɵngDeclareFactory({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: UrlSerializer,\n deps: [],\n target: i0.ɵɵFactoryTarget.Injectable\n });\n static ɵprov = i0.ɵɵngDeclareInjectable({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: UrlSerializer,\n providedIn: 'root',\n useFactory: () => new DefaultUrlSerializer()\n });\n}\ni0.ɵɵngDeclareClassMetadata({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: UrlSerializer,\n decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n useFactory: () => new DefaultUrlSerializer()\n }]\n }]\n});\nclass DefaultUrlSerializer {\n parse(url) {\n const p = new UrlParser(url);\n return new UrlTree(p.parseRootSegment(), p.parseQueryParams(), p.parseFragment());\n }\n serialize(tree) {\n const segment = `/${serializeSegment(tree.root, true)}`;\n const query = serializeQueryParams(tree.queryParams);\n const fragment = typeof tree.fragment === `string` ? `#${encodeUriFragment(tree.fragment)}` : '';\n return `${segment}${query}${fragment}`;\n }\n}\nconst DEFAULT_SERIALIZER = new DefaultUrlSerializer();\nfunction serializePaths(segment) {\n return segment.segments.map(p => serializePath(p)).join('/');\n}\nfunction serializeSegment(segment, root) {\n if (!segment.hasChildren()) {\n return serializePaths(segment);\n }\n if (root) {\n const primary = segment.children[PRIMARY_OUTLET] ? serializeSegment(segment.children[PRIMARY_OUTLET], false) : '';\n const children = [];\n Object.entries(segment.children).forEach(([k, v]) => {\n if (k !== PRIMARY_OUTLET) {\n children.push(`${k}:${serializeSegment(v, false)}`);\n }\n });\n return children.length > 0 ? `${primary}(${children.join('//')})` : primary;\n } else {\n const children = mapChildrenIntoArray(segment, (v, k) => {\n if (k === PRIMARY_OUTLET) {\n return [serializeSegment(segment.children[PRIMARY_OUTLET], false)];\n }\n return [`${k}:${serializeSegment(v, false)}`];\n });\n if (Object.keys(segment.children).length === 1 && segment.children[PRIMARY_OUTLET] != null) {\n return `${serializePaths(segment)}/${children[0]}`;\n }\n return `${serializePaths(segment)}/(${children.join('//')})`;\n }\n}\nfunction encodeUriString(s) {\n return encodeURIComponent(s).replace(/%40/g, '@').replace(/%3A/gi, ':').replace(/%24/g, '$').replace(/%2C/gi, ',');\n}\nfunction encodeUriQuery(s) {\n return encodeUriString(s).replace(/%3B/gi, ';');\n}\nfunction encodeUriFragment(s) {\n return encodeURI(s);\n}\nfunction encodeUriSegment(s) {\n return encodeUriString(s).replace(/\\(/g, '%28').replace(/\\)/g, '%29').replace(/%26/gi, '&');\n}\nfunction decode(s) {\n return decodeURIComponent(s);\n}\nfunction decodeQuery(s) {\n return decode(s.replace(/\\+/g, '%20'));\n}\nfunction serializePath(path) {\n return `${encodeUriSegment(path.path)}${serializeMatrixParams(path.parameters)}`;\n}\nfunction serializeMatrixParams(params) {\n return Object.entries(params).map(([key, value]) => `;${encodeUriSegment(key)}=${encodeUriSegment(value)}`).join('');\n}\nfunction serializeQueryParams(params) {\n const strParams = Object.entries(params).map(([name, value]) => {\n return Array.isArray(value) ? value.map(v => `${encodeUriQuery(name)}=${encodeUriQuery(v)}`).join('&') : `${encodeUriQuery(name)}=${encodeUriQuery(value)}`;\n }).filter(s => s);\n return strParams.length ? `?${strParams.join('&')}` : '';\n}\nconst SEGMENT_RE = /^[^\\/()?;#]+/;\nfunction matchSegments(str) {\n const match = str.match(SEGMENT_RE);\n return match ? match[0] : '';\n}\nconst MATRIX_PARAM_SEGMENT_RE = /^[^\\/()?;=#]+/;\nfunction matchMatrixKeySegments(str) {\n const match = str.match(MATRIX_PARAM_SEGMENT_RE);\n return match ? match[0] : '';\n}\nconst QUERY_PARAM_RE = /^[^=?&#]+/;\nfunction matchQueryParams(str) {\n const match = str.match(QUERY_PARAM_RE);\n return match ? match[0] : '';\n}\nconst QUERY_PARAM_VALUE_RE = /^[^&#]+/;\nfunction matchUrlQueryParamValue(str) {\n const match = str.match(QUERY_PARAM_VALUE_RE);\n return match ? match[0] : '';\n}\nclass UrlParser {\n url;\n remaining;\n constructor(url) {\n this.url = url;\n this.remaining = url;\n }\n parseRootSegment() {\n this.consumeOptional('/');\n if (this.remaining === '' || this.peekStartsWith('?') || this.peekStartsWith('#')) {\n return new UrlSegmentGroup([], {});\n }\n return new UrlSegmentGroup([], this.parseChildren());\n }\n parseQueryParams() {\n const params = {};\n if (this.consumeOptional('?')) {\n do {\n this.parseQueryParam(params);\n } while (this.consumeOptional('&'));\n }\n return params;\n }\n parseFragment() {\n return this.consumeOptional('#') ? decodeURIComponent(this.remaining) : null;\n }\n parseChildren(depth = 0) {\n if (depth > 50) {\n throw new _RuntimeError(4010, (typeof ngDevMode === 'undefined' || ngDevMode) && 'URL is too deep');\n }\n if (this.remaining === '') {\n return {};\n }\n this.consumeOptional('/');\n const segments = [];\n if (!this.peekStartsWith('(')) {\n segments.push(this.parseSegment());\n }\n while (this.peekStartsWith('/') && !this.peekStartsWith('//') && !this.peekStartsWith('/(')) {\n this.capture('/');\n segments.push(this.parseSegment());\n }\n let children = {};\n if (this.peekStartsWith('/(')) {\n this.capture('/');\n children = this.parseParens(true, depth);\n }\n let res = {};\n if (this.peekStartsWith('(')) {\n res = this.parseParens(false, depth);\n }\n if (segments.length > 0 || Object.keys(children).length > 0) {\n res[PRIMARY_OUTLET] = new UrlSegmentGroup(segments, children);\n }\n return res;\n }\n parseSegment() {\n const path = matchSegments(this.remaining);\n if (path === '' && this.peekStartsWith(';')) {\n throw new _RuntimeError(4009, (typeof ngDevMode === 'undefined' || ngDevMode) && `Empty path url segment cannot have parameters: '${this.remaining}'.`);\n }\n this.capture(path);\n return new UrlSegment(decode(path), this.parseMatrixParams());\n }\n parseMatrixParams() {\n const params = {};\n while (this.consumeOptional(';')) {\n this.parseParam(params);\n }\n return params;\n }\n parseParam(params) {\n const key = matchMatrixKeySegments(this.remaining);\n if (!key) {\n return;\n }\n this.capture(key);\n let value = '';\n if (this.consumeOptional('=')) {\n const valueMatch = matchSegments(this.remaining);\n if (valueMatch) {\n value = valueMatch;\n this.capture(value);\n }\n }\n params[decode(key)] = decode(value);\n }\n parseQueryParam(params) {\n const key = matchQueryParams(this.remaining);\n if (!key) {\n return;\n }\n this.capture(key);\n let value = '';\n if (this.consumeOptional('=')) {\n const valueMatch = matchUrlQueryParamValue(this.remaining);\n if (valueMatch) {\n value = valueMatch;\n this.capture(value);\n }\n }\n const decodedKey = decodeQuery(key);\n const decodedVal = decodeQuery(value);\n if (params.hasOwnProperty(decodedKey)) {\n let currentVal = params[decodedKey];\n if (!Array.isArray(currentVal)) {\n currentVal = [currentVal];\n params[decodedKey] = currentVal;\n }\n currentVal.push(decodedVal);\n } else {\n params[decodedKey] = decodedVal;\n }\n }\n parseParens(allowPrimary, depth) {\n const segments = {};\n this.capture('(');\n while (!this.consumeOptional(')') && this.remaining.length > 0) {\n const path = matchSegments(this.remaining);\n const next = this.remaining[path.length];\n if (next !== '/' && next !== ')' && next !== ';') {\n throw new _RuntimeError(4010, (typeof ngDevMode === 'undefined' || ngDevMode) && `Cannot parse url '${this.url}'`);\n }\n let outletName;\n if (path.indexOf(':') > -1) {\n outletName = path.slice(0, path.indexOf(':'));\n this.capture(outletName);\n this.capture(':');\n } else if (allowPrimary) {\n outletName = PRIMARY_OUTLET;\n }\n const children = this.parseChildren(depth + 1);\n segments[outletName ?? PRIMARY_OUTLET] = Object.keys(children).length === 1 && children[PRIMARY_OUTLET] ? children[PRIMARY_OUTLET] : new UrlSegmentGroup([], children);\n this.consumeOptional('//');\n }\n return segments;\n }\n peekStartsWith(str) {\n return this.remaining.startsWith(str);\n }\n consumeOptional(str) {\n if (this.peekStartsWith(str)) {\n this.remaining = this.remaining.substring(str.length);\n return true;\n }\n return false;\n }\n capture(str) {\n if (!this.consumeOptional(str)) {\n throw new _RuntimeError(4011, (typeof ngDevMode === 'undefined' || ngDevMode) && `Expected \"${str}\".`);\n }\n }\n}\nfunction createRoot(rootCandidate) {\n return rootCandidate.segments.length > 0 ? new UrlSegmentGroup([], {\n [PRIMARY_OUTLET]: rootCandidate\n }) : rootCandidate;\n}\nfunction squashSegmentGroup(segmentGroup) {\n const newChildren = {};\n for (const [childOutlet, child] of Object.entries(segmentGroup.children)) {\n const childCandidate = squashSegmentGroup(child);\n if (childOutlet === PRIMARY_OUTLET && childCandidate.segments.length === 0 && childCandidate.hasChildren()) {\n for (const [grandChildOutlet, grandChild] of Object.entries(childCandidate.children)) {\n newChildren[grandChildOutlet] = grandChild;\n }\n } else if (childCandidate.segments.length > 0 || childCandidate.hasChildren()) {\n newChildren[childOutlet] = childCandidate;\n }\n }\n const s = new UrlSegmentGroup(segmentGroup.segments, newChildren);\n return mergeTrivialChildren(s);\n}\nfunction mergeTrivialChildren(s) {\n if (s.numberOfChildren === 1 && s.children[PRIMARY_OUTLET]) {\n const c = s.children[PRIMARY_OUTLET];\n return new UrlSegmentGroup(s.segments.concat(c.segments), c.children);\n }\n return s;\n}\nfunction isUrlTree(v) {\n return v instanceof UrlTree;\n}\n\nfunction createUrlTreeFromSnapshot(relativeTo, commands, queryParams = null, fragment = null, urlSerializer = new DefaultUrlSerializer()) {\n const relativeToUrlSegmentGroup = createSegmentGroupFromRoute(relativeTo);\n return createUrlTreeFromSegmentGroup(relativeToUrlSegmentGroup, commands, queryParams, fragment, urlSerializer);\n}\nfunction createSegmentGroupFromRoute(route) {\n let targetGroup;\n function createSegmentGroupFromRouteRecursive(currentRoute) {\n const childOutlets = {};\n for (const childSnapshot of currentRoute.children) {\n const root = createSegmentGroupFromRouteRecursive(childSnapshot);\n childOutlets[childSnapshot.outlet] = root;\n }\n const segmentGroup = new UrlSegmentGroup(currentRoute.url, childOutlets);\n if (currentRoute === route) {\n targetGroup = segmentGroup;\n }\n return segmentGroup;\n }\n const rootCandidate = createSegmentGroupFromRouteRecursive(route.root);\n const rootSegmentGroup = createRoot(rootCandidate);\n return targetGroup ?? rootSegmentGroup;\n}\nfunction createUrlTreeFromSegmentGroup(relativeTo, commands, queryParams, fragment, urlSerializer) {\n let root = relativeTo;\n while (root.parent) {\n root = root.parent;\n }\n if (commands.length === 0) {\n return tree(root, root, root, queryParams, fragment, urlSerializer);\n }\n const nav = computeNavigation(commands);\n if (nav.toRoot()) {\n return tree(root, root, new UrlSegmentGroup([], {}), queryParams, fragment, urlSerializer);\n }\n const position = findStartingPositionForTargetGroup(nav, root, relativeTo);\n const newSegmentGroup = position.processChildren ? updateSegmentGroupChildren(position.segmentGroup, position.index, nav.commands) : updateSegmentGroup(position.segmentGroup, position.index, nav.commands);\n return tree(root, position.segmentGroup, newSegmentGroup, queryParams, fragment, urlSerializer);\n}\nfunction isMatrixParams(command) {\n return typeof command === 'object' && command != null && !command.outlets && !command.segmentPath;\n}\nfunction isCommandWithOutlets(command) {\n return typeof command === 'object' && command != null && command.outlets;\n}\nfunction normalizeQueryParams(k, v, urlSerializer) {\n k ||= 'ɵ';\n const tree = new UrlTree();\n tree.queryParams = {\n [k]: v\n };\n return urlSerializer.parse(urlSerializer.serialize(tree)).queryParams[k];\n}\nfunction tree(oldRoot, oldSegmentGroup, newSegmentGroup, queryParams, fragment, urlSerializer) {\n const qp = {};\n for (const [key, value] of Object.entries(queryParams ?? {})) {\n qp[key] = Array.isArray(value) ? value.map(v => normalizeQueryParams(key, v, urlSerializer)) : normalizeQueryParams(key, value, urlSerializer);\n }\n let rootCandidate;\n if (oldRoot === oldSegmentGroup) {\n rootCandidate = newSegmentGroup;\n } else {\n rootCandidate = replaceSegment(oldRoot, oldSegmentGroup, newSegmentGroup);\n }\n const newRoot = createRoot(squashSegmentGroup(rootCandidate));\n return new UrlTree(newRoot, qp, fragment);\n}\nfunction replaceSegment(current, oldSegment, newSegment) {\n const children = {};\n Object.entries(current.children).forEach(([outletName, c]) => {\n if (c === oldSegment) {\n children[outletName] = newSegment;\n } else {\n children[outletName] = replaceSegment(c, oldSegment, newSegment);\n }\n });\n return new UrlSegmentGroup(current.segments, children);\n}\nclass Navigation {\n isAbsolute;\n numberOfDoubleDots;\n commands;\n constructor(isAbsolute, numberOfDoubleDots, commands) {\n this.isAbsolute = isAbsolute;\n this.numberOfDoubleDots = numberOfDoubleDots;\n this.commands = commands;\n if (isAbsolute && commands.length > 0 && isMatrixParams(commands[0])) {\n throw new _RuntimeError(4003, (typeof ngDevMode === 'undefined' || ngDevMode) && 'Root segment cannot have matrix parameters');\n }\n const cmdWithOutlet = commands.find(isCommandWithOutlets);\n if (cmdWithOutlet && cmdWithOutlet !== last(commands)) {\n throw new _RuntimeError(4004, (typeof ngDevMode === 'undefined' || ngDevMode) && '{outlets:{}} has to be the last command');\n }\n }\n toRoot() {\n return this.isAbsolute && this.commands.length === 1 && this.commands[0] == '/';\n }\n}\nfunction computeNavigation(commands) {\n if (typeof commands[0] === 'string' && commands.length === 1 && commands[0] === '/') {\n return new Navigation(true, 0, commands);\n }\n let numberOfDoubleDots = 0;\n let isAbsolute = false;\n const res = commands.reduce((res, cmd, cmdIdx) => {\n if (typeof cmd === 'object' && cmd != null) {\n if (cmd.outlets) {\n const outlets = {};\n Object.entries(cmd.outlets).forEach(([name, commands]) => {\n outlets[name] = typeof commands === 'string' ? commands.split('/') : commands;\n });\n return [...res, {\n outlets\n }];\n }\n if (cmd.segmentPath) {\n return [...res, cmd.segmentPath];\n }\n }\n if (!(typeof cmd === 'string')) {\n return [...res, cmd];\n }\n if (cmdIdx === 0) {\n cmd.split('/').forEach((urlPart, partIndex) => {\n if (partIndex == 0 && urlPart === '.') ; else if (partIndex == 0 && urlPart === '') {\n isAbsolute = true;\n } else if (urlPart === '..') {\n numberOfDoubleDots++;\n } else if (urlPart != '') {\n res.push(urlPart);\n }\n });\n return res;\n }\n return [...res, cmd];\n }, []);\n return new Navigation(isAbsolute, numberOfDoubleDots, res);\n}\nclass Position {\n segmentGroup;\n processChildren;\n index;\n constructor(segmentGroup, processChildren, index) {\n this.segmentGroup = segmentGroup;\n this.processChildren = processChildren;\n this.index = index;\n }\n}\nfunction findStartingPositionForTargetGroup(nav, root, target) {\n if (nav.isAbsolute) {\n return new Position(root, true, 0);\n }\n if (!target) {\n return new Position(root, false, NaN);\n }\n if (target.parent === null) {\n return new Position(target, true, 0);\n }\n const modifier = isMatrixParams(nav.commands[0]) ? 0 : 1;\n const index = target.segments.length - 1 + modifier;\n return createPositionApplyingDoubleDots(target, index, nav.numberOfDoubleDots);\n}\nfunction createPositionApplyingDoubleDots(group, index, numberOfDoubleDots) {\n let g = group;\n let ci = index;\n let dd = numberOfDoubleDots;\n while (dd > ci) {\n dd -= ci;\n g = g.parent;\n if (!g) {\n throw new _RuntimeError(4005, (typeof ngDevMode === 'undefined' || ngDevMode) && \"Invalid number of '../'\");\n }\n ci = g.segments.length;\n }\n return new Position(g, false, ci - dd);\n}\nfunction getOutlets(commands) {\n if (isCommandWithOutlets(commands[0])) {\n return commands[0].outlets;\n }\n return {\n [PRIMARY_OUTLET]: commands\n };\n}\nfunction updateSegmentGroup(segmentGroup, startIndex, commands) {\n segmentGroup ??= new UrlSegmentGroup([], {});\n if (segmentGroup.segments.length === 0 && segmentGroup.hasChildren()) {\n return updateSegmentGroupChildren(segmentGroup, startIndex, commands);\n }\n const m = prefixedWith(segmentGroup, startIndex, commands);\n const slicedCommands = commands.slice(m.commandIndex);\n if (m.match && m.pathIndex < segmentGroup.segments.length) {\n const g = new UrlSegmentGroup(segmentGroup.segments.slice(0, m.pathIndex), {});\n g.children[PRIMARY_OUTLET] = new UrlSegmentGroup(segmentGroup.segments.slice(m.pathIndex), segmentGroup.children);\n return updateSegmentGroupChildren(g, 0, slicedCommands);\n } else if (m.match && slicedCommands.length === 0) {\n return new UrlSegmentGroup(segmentGroup.segments, {});\n } else if (m.match && !segmentGroup.hasChildren()) {\n return createNewSegmentGroup(segmentGroup, startIndex, commands);\n } else if (m.match) {\n return updateSegmentGroupChildren(segmentGroup, 0, slicedCommands);\n } else {\n return createNewSegmentGroup(segmentGroup, startIndex, commands);\n }\n}\nfunction updateSegmentGroupChildren(segmentGroup, startIndex, commands) {\n if (commands.length === 0) {\n return new UrlSegmentGroup(segmentGroup.segments, {});\n } else {\n const outlets = getOutlets(commands);\n const children = {};\n if (Object.keys(outlets).some(o => o !== PRIMARY_OUTLET) && segmentGroup.children[PRIMARY_OUTLET] && segmentGroup.numberOfChildren === 1 && segmentGroup.children[PRIMARY_OUTLET].segments.length === 0) {\n const childrenOfEmptyChild = updateSegmentGroupChildren(segmentGroup.children[PRIMARY_OUTLET], startIndex, commands);\n return new UrlSegmentGroup(segmentGroup.segments, childrenOfEmptyChild.children);\n }\n Object.entries(outlets).forEach(([outlet, commands]) => {\n if (typeof commands === 'string') {\n commands = [commands];\n }\n if (commands !== null) {\n children[outlet] = updateSegmentGroup(segmentGroup.children[outlet], startIndex, commands);\n }\n });\n Object.entries(segmentGroup.children).forEach(([childOutlet, child]) => {\n if (outlets[childOutlet] === undefined) {\n children[childOutlet] = child;\n }\n });\n return new UrlSegmentGroup(segmentGroup.segments, children);\n }\n}\nfunction prefixedWith(segmentGroup, startIndex, commands) {\n let currentCommandIndex = 0;\n let currentPathIndex = startIndex;\n const noMatch = {\n match: false,\n pathIndex: 0,\n commandIndex: 0\n };\n while (currentPathIndex < segmentGroup.segments.length) {\n if (currentCommandIndex >= commands.length) return noMatch;\n const path = segmentGroup.segments[currentPathIndex];\n const command = commands[currentCommandIndex];\n if (isCommandWithOutlets(command)) {\n break;\n }\n const curr = `${command}`;\n const next = currentCommandIndex < commands.length - 1 ? commands[currentCommandIndex + 1] : null;\n if (currentPathIndex > 0 && curr === undefined) break;\n if (curr && next && typeof next === 'object' && next.outlets === undefined) {\n if (!compare(curr, next, path)) return noMatch;\n currentCommandIndex += 2;\n } else {\n if (!compare(curr, {}, path)) return noMatch;\n currentCommandIndex++;\n }\n currentPathIndex++;\n }\n return {\n match: true,\n pathIndex: currentPathIndex,\n commandIndex: currentCommandIndex\n };\n}\nfunction createNewSegmentGroup(segmentGroup, startIndex, commands) {\n const paths = segmentGroup.segments.slice(0, startIndex);\n let i = 0;\n while (i < commands.length) {\n const command = commands[i];\n if (isCommandWithOutlets(command)) {\n const children = createNewSegmentChildren(command.outlets);\n return new UrlSegmentGroup(paths, children);\n }\n if (i === 0 && isMatrixParams(commands[0])) {\n const p = segmentGroup.segments[startIndex];\n paths.push(new UrlSegment(p.path, stringify(commands[0])));\n i++;\n continue;\n }\n const curr = isCommandWithOutlets(command) ? command.outlets[PRIMARY_OUTLET] : `${command}`;\n const next = i < commands.length - 1 ? commands[i + 1] : null;\n if (curr && next && isMatrixParams(next)) {\n paths.push(new UrlSegment(curr, stringify(next)));\n i += 2;\n } else {\n paths.push(new UrlSegment(curr, {}));\n i++;\n }\n }\n return new UrlSegmentGroup(paths, {});\n}\nfunction createNewSegmentChildren(outlets) {\n const children = {};\n Object.entries(outlets).forEach(([outlet, commands]) => {\n if (typeof commands === 'string') {\n commands = [commands];\n }\n if (commands !== null) {\n children[outlet] = createNewSegmentGroup(new UrlSegmentGroup([], {}), 0, commands);\n }\n });\n return children;\n}\nfunction stringify(params) {\n const res = {};\n Object.entries(params).forEach(([k, v]) => res[k] = `${v}`);\n return res;\n}\nfunction compare(path, params, segment) {\n return path == segment.path && shallowEqual(params, segment.parameters);\n}\n\nconst IMPERATIVE_NAVIGATION = 'imperative';\nvar EventType;\n(function (EventType) {\n EventType[EventType[\"NavigationStart\"] = 0] = \"NavigationStart\";\n EventType[EventType[\"NavigationEnd\"] = 1] = \"NavigationEnd\";\n EventType[EventType[\"NavigationCancel\"] = 2] = \"NavigationCancel\";\n EventType[EventType[\"NavigationError\"] = 3] = \"NavigationError\";\n EventType[EventType[\"RoutesRecognized\"] = 4] = \"RoutesRecognized\";\n EventType[EventType[\"ResolveStart\"] = 5] = \"ResolveStart\";\n EventType[EventType[\"ResolveEnd\"] = 6] = \"ResolveEnd\";\n EventType[EventType[\"GuardsCheckStart\"] = 7] = \"GuardsCheckStart\";\n EventType[EventType[\"GuardsCheckEnd\"] = 8] = \"GuardsCheckEnd\";\n EventType[EventType[\"RouteConfigLoadStart\"] = 9] = \"RouteConfigLoadStart\";\n EventType[EventType[\"RouteConfigLoadEnd\"] = 10] = \"RouteConfigLoadEnd\";\n EventType[EventType[\"ChildActivationStart\"] = 11] = \"ChildActivationStart\";\n EventType[EventType[\"ChildActivationEnd\"] = 12] = \"ChildActivationEnd\";\n EventType[EventType[\"ActivationStart\"] = 13] = \"ActivationStart\";\n EventType[EventType[\"ActivationEnd\"] = 14] = \"ActivationEnd\";\n EventType[EventType[\"Scroll\"] = 15] = \"Scroll\";\n EventType[EventType[\"NavigationSkipped\"] = 16] = \"NavigationSkipped\";\n})(EventType || (EventType = {}));\nclass RouterEvent {\n id;\n url;\n constructor(id, url) {\n this.id = id;\n this.url = url;\n }\n}\nclass NavigationStart extends RouterEvent {\n type = EventType.NavigationStart;\n navigationTrigger;\n restoredState;\n constructor(id, url, navigationTrigger = 'imperative', restoredState = null) {\n super(id, url);\n this.navigationTrigger = navigationTrigger;\n this.restoredState = restoredState;\n }\n toString() {\n return `NavigationStart(id: ${this.id}, url: '${this.url}')`;\n }\n}\nclass NavigationEnd extends RouterEvent {\n urlAfterRedirects;\n type = EventType.NavigationEnd;\n constructor(id, url, urlAfterRedirects) {\n super(id, url);\n this.urlAfterRedirects = urlAfterRedirects;\n }\n toString() {\n return `NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`;\n }\n}\nvar NavigationCancellationCode;\n(function (NavigationCancellationCode) {\n NavigationCancellationCode[NavigationCancellationCode[\"Redirect\"] = 0] = \"Redirect\";\n NavigationCancellationCode[NavigationCancellationCode[\"SupersededByNewNavigation\"] = 1] = \"SupersededByNewNavigation\";\n NavigationCancellationCode[NavigationCancellationCode[\"NoDataFromResolver\"] = 2] = \"NoDataFromResolver\";\n NavigationCancellationCode[NavigationCancellationCode[\"GuardRejected\"] = 3] = \"GuardRejected\";\n NavigationCancellationCode[NavigationCancellationCode[\"Aborted\"] = 4] = \"Aborted\";\n})(NavigationCancellationCode || (NavigationCancellationCode = {}));\nvar NavigationSkippedCode;\n(function (NavigationSkippedCode) {\n NavigationSkippedCode[NavigationSkippedCode[\"IgnoredSameUrlNavigation\"] = 0] = \"IgnoredSameUrlNavigation\";\n NavigationSkippedCode[NavigationSkippedCode[\"IgnoredByUrlHandlingStrategy\"] = 1] = \"IgnoredByUrlHandlingStrategy\";\n})(NavigationSkippedCode || (NavigationSkippedCode = {}));\nclass NavigationCancel extends RouterEvent {\n reason;\n code;\n type = EventType.NavigationCancel;\n constructor(id, url, reason, code) {\n super(id, url);\n this.reason = reason;\n this.code = code;\n }\n toString() {\n return `NavigationCancel(id: ${this.id}, url: '${this.url}')`;\n }\n}\nfunction isRedirectingEvent(event) {\n return event instanceof NavigationCancel && (event.code === NavigationCancellationCode.Redirect || event.code === NavigationCancellationCode.SupersededByNewNavigation);\n}\nclass NavigationSkipped extends RouterEvent {\n reason;\n code;\n type = EventType.NavigationSkipped;\n constructor(id, url, reason, code) {\n super(id, url);\n this.reason = reason;\n this.code = code;\n }\n}\nclass NavigationError extends RouterEvent {\n error;\n target;\n type = EventType.NavigationError;\n constructor(id, url, error, target) {\n super(id, url);\n this.error = error;\n this.target = target;\n }\n toString() {\n return `NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`;\n }\n}\nclass RoutesRecognized extends RouterEvent {\n urlAfterRedirects;\n state;\n type = EventType.RoutesRecognized;\n constructor(id, url, urlAfterRedirects, state) {\n super(id, url);\n this.urlAfterRedirects = urlAfterRedirects;\n this.state = state;\n }\n toString() {\n return `RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`;\n }\n}\nclass GuardsCheckStart extends RouterEvent {\n urlAfterRedirects;\n state;\n type = EventType.GuardsCheckStart;\n constructor(id, url, urlAfterRedirects, state) {\n super(id, url);\n this.urlAfterRedirects = urlAfterRedirects;\n this.state = state;\n }\n toString() {\n return `GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`;\n }\n}\nclass GuardsCheckEnd extends RouterEvent {\n urlAfterRedirects;\n state;\n shouldActivate;\n type = EventType.GuardsCheckEnd;\n constructor(id, url, urlAfterRedirects, state, shouldActivate) {\n super(id, url);\n this.urlAfterRedirects = urlAfterRedirects;\n this.state = state;\n this.shouldActivate = shouldActivate;\n }\n toString() {\n return `GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`;\n }\n}\nclass ResolveStart extends RouterEvent {\n urlAfterRedirects;\n state;\n type = EventType.ResolveStart;\n constructor(id, url, urlAfterRedirects, state) {\n super(id, url);\n this.urlAfterRedirects = urlAfterRedirects;\n this.state = state;\n }\n toString() {\n return `ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`;\n }\n}\nclass ResolveEnd extends RouterEvent {\n urlAfterRedirects;\n state;\n type = EventType.ResolveEnd;\n constructor(id, url, urlAfterRedirects, state) {\n super(id, url);\n this.urlAfterRedirects = urlAfterRedirects;\n this.state = state;\n }\n toString() {\n return `ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`;\n }\n}\nclass RouteConfigLoadStart {\n route;\n type = EventType.RouteConfigLoadStart;\n constructor(route) {\n this.route = route;\n }\n toString() {\n return `RouteConfigLoadStart(path: ${this.route.path})`;\n }\n}\nclass RouteConfigLoadEnd {\n route;\n type = EventType.RouteConfigLoadEnd;\n constructor(route) {\n this.route = route;\n }\n toString() {\n return `RouteConfigLoadEnd(path: ${this.route.path})`;\n }\n}\nclass ChildActivationStart {\n snapshot;\n type = EventType.ChildActivationStart;\n constructor(snapshot) {\n this.snapshot = snapshot;\n }\n toString() {\n const path = this.snapshot.routeConfig && this.snapshot.routeConfig.path || '';\n return `ChildActivationStart(path: '${path}')`;\n }\n}\nclass ChildActivationEnd {\n snapshot;\n type = EventType.ChildActivationEnd;\n constructor(snapshot) {\n this.snapshot = snapshot;\n }\n toString() {\n const path = this.snapshot.routeConfig && this.snapshot.routeConfig.path || '';\n return `ChildActivationEnd(path: '${path}')`;\n }\n}\nclass ActivationStart {\n snapshot;\n type = EventType.ActivationStart;\n constructor(snapshot) {\n this.snapshot = snapshot;\n }\n toString() {\n const path = this.snapshot.routeConfig && this.snapshot.routeConfig.path || '';\n return `ActivationStart(path: '${path}')`;\n }\n}\nclass ActivationEnd {\n snapshot;\n type = EventType.ActivationEnd;\n constructor(snapshot) {\n this.snapshot = snapshot;\n }\n toString() {\n const path = this.snapshot.routeConfig && this.snapshot.routeConfig.path || '';\n return `ActivationEnd(path: '${path}')`;\n }\n}\nclass Scroll {\n routerEvent;\n position;\n anchor;\n scrollBehavior;\n type = EventType.Scroll;\n constructor(routerEvent, position, anchor, scrollBehavior) {\n this.routerEvent = routerEvent;\n this.position = position;\n this.anchor = anchor;\n this.scrollBehavior = scrollBehavior;\n }\n toString() {\n const pos = this.position ? `${this.position[0]}, ${this.position[1]}` : null;\n return `Scroll(anchor: '${this.anchor}', position: '${pos}')`;\n }\n}\nclass BeforeActivateRoutes {}\nclass BeforeRoutesRecognized {}\nclass RedirectRequest {\n url;\n navigationBehaviorOptions;\n constructor(url, navigationBehaviorOptions) {\n this.url = url;\n this.navigationBehaviorOptions = navigationBehaviorOptions;\n }\n}\nfunction isPublicRouterEvent(e) {\n return !(e instanceof BeforeActivateRoutes) && !(e instanceof RedirectRequest) && !(e instanceof BeforeRoutesRecognized);\n}\nfunction stringifyEvent(routerEvent) {\n switch (routerEvent.type) {\n case EventType.ActivationEnd:\n return `ActivationEnd(path: '${routerEvent.snapshot.routeConfig?.path || ''}')`;\n case EventType.ActivationStart:\n return `ActivationStart(path: '${routerEvent.snapshot.routeConfig?.path || ''}')`;\n case EventType.ChildActivationEnd:\n return `ChildActivationEnd(path: '${routerEvent.snapshot.routeConfig?.path || ''}')`;\n case EventType.ChildActivationStart:\n return `ChildActivationStart(path: '${routerEvent.snapshot.routeConfig?.path || ''}')`;\n case EventType.GuardsCheckEnd:\n return `GuardsCheckEnd(id: ${routerEvent.id}, url: '${routerEvent.url}', urlAfterRedirects: '${routerEvent.urlAfterRedirects}', state: ${routerEvent.state}, shouldActivate: ${routerEvent.shouldActivate})`;\n case EventType.GuardsCheckStart:\n return `GuardsCheckStart(id: ${routerEvent.id}, url: '${routerEvent.url}', urlAfterRedirects: '${routerEvent.urlAfterRedirects}', state: ${routerEvent.state})`;\n case EventType.NavigationCancel:\n return `NavigationCancel(id: ${routerEvent.id}, url: '${routerEvent.url}')`;\n case EventType.NavigationSkipped:\n return `NavigationSkipped(id: ${routerEvent.id}, url: '${routerEvent.url}')`;\n case EventType.NavigationEnd:\n return `NavigationEnd(id: ${routerEvent.id}, url: '${routerEvent.url}', urlAfterRedirects: '${routerEvent.urlAfterRedirects}')`;\n case EventType.NavigationError:\n return `NavigationError(id: ${routerEvent.id}, url: '${routerEvent.url}', error: ${routerEvent.error})`;\n case EventType.NavigationStart:\n return `NavigationStart(id: ${routerEvent.id}, url: '${routerEvent.url}')`;\n case EventType.ResolveEnd:\n return `ResolveEnd(id: ${routerEvent.id}, url: '${routerEvent.url}', urlAfterRedirects: '${routerEvent.urlAfterRedirects}', state: ${routerEvent.state})`;\n case EventType.ResolveStart:\n return `ResolveStart(id: ${routerEvent.id}, url: '${routerEvent.url}', urlAfterRedirects: '${routerEvent.urlAfterRedirects}', state: ${routerEvent.state})`;\n case EventType.RouteConfigLoadEnd:\n return `RouteConfigLoadEnd(path: ${routerEvent.route.path})`;\n case EventType.RouteConfigLoadStart:\n return `RouteConfigLoadStart(path: ${routerEvent.route.path})`;\n case EventType.RoutesRecognized:\n return `RoutesRecognized(id: ${routerEvent.id}, url: '${routerEvent.url}', urlAfterRedirects: '${routerEvent.urlAfterRedirects}', state: ${routerEvent.state})`;\n case EventType.Scroll:\n const pos = routerEvent.position ? `${routerEvent.position[0]}, ${routerEvent.position[1]}` : null;\n return `Scroll(anchor: '${routerEvent.anchor}', position: '${pos}')`;\n }\n}\n\nclass OutletContext {\n rootInjector;\n outlet = null;\n route = null;\n children;\n attachRef = null;\n get injector() {\n return this.route?.snapshot._environmentInjector ?? this.rootInjector;\n }\n constructor(rootInjector) {\n this.rootInjector = rootInjector;\n this.children = new ChildrenOutletContexts(this.rootInjector);\n }\n}\nclass ChildrenOutletContexts {\n rootInjector;\n contexts = new Map();\n constructor(rootInjector) {\n this.rootInjector = rootInjector;\n }\n onChildOutletCreated(childName, outlet) {\n const context = this.getOrCreateContext(childName);\n context.outlet = outlet;\n this.contexts.set(childName, context);\n }\n onChildOutletDestroyed(childName) {\n const context = this.getContext(childName);\n if (context) {\n context.outlet = null;\n context.attachRef = null;\n }\n }\n onOutletDeactivated() {\n const contexts = this.contexts;\n this.contexts = new Map();\n return contexts;\n }\n onOutletReAttached(contexts) {\n this.contexts = contexts;\n }\n getOrCreateContext(childName) {\n let context = this.getContext(childName);\n if (!context) {\n context = new OutletContext(this.rootInjector);\n this.contexts.set(childName, context);\n }\n return context;\n }\n getContext(childName) {\n return this.contexts.get(childName) || null;\n }\n static ɵfac = i0.ɵɵngDeclareFactory({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: ChildrenOutletContexts,\n deps: [{\n token: i0.EnvironmentInjector\n }],\n target: i0.ɵɵFactoryTarget.Injectable\n });\n static ɵprov = i0.ɵɵngDeclareInjectable({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: ChildrenOutletContexts,\n providedIn: 'root'\n });\n}\ni0.ɵɵngDeclareClassMetadata({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: ChildrenOutletContexts,\n decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }],\n ctorParameters: () => [{\n type: i0.EnvironmentInjector\n }]\n});\n\nclass Tree {\n _root;\n constructor(root) {\n this._root = root;\n }\n get root() {\n return this._root.value;\n }\n parent(t) {\n const p = this.pathFromRoot(t);\n return p.length > 1 ? p[p.length - 2] : null;\n }\n children(t) {\n const n = findNode(t, this._root);\n return n ? n.children.map(t => t.value) : [];\n }\n firstChild(t) {\n const n = findNode(t, this._root);\n return n && n.children.length > 0 ? n.children[0].value : null;\n }\n siblings(t) {\n const p = findPath(t, this._root);\n if (p.length < 2) return [];\n const c = p[p.length - 2].children.map(c => c.value);\n return c.filter(cc => cc !== t);\n }\n pathFromRoot(t) {\n return findPath(t, this._root).map(s => s.value);\n }\n}\nfunction findNode(value, node) {\n if (value === node.value) return node;\n for (const child of node.children) {\n const node = findNode(value, child);\n if (node) return node;\n }\n return null;\n}\nfunction findPath(value, node) {\n if (value === node.value) return [node];\n for (const child of node.children) {\n const path = findPath(value, child);\n if (path.length) {\n path.unshift(node);\n return path;\n }\n }\n return [];\n}\nclass TreeNode {\n value;\n children;\n constructor(value, children) {\n this.value = value;\n this.children = children;\n }\n toString() {\n return `TreeNode(${this.value})`;\n }\n}\nfunction nodeChildrenAsMap(node) {\n const map = {};\n if (node) {\n node.children.forEach(child => map[child.value.outlet] = child);\n }\n return map;\n}\n\nclass RouterState extends Tree {\n snapshot;\n constructor(root, snapshot) {\n super(root);\n this.snapshot = snapshot;\n setRouterState(this, root);\n }\n toString() {\n return this.snapshot.toString();\n }\n}\nfunction createEmptyState(rootComponent, injector) {\n const snapshot = createEmptyStateSnapshot(rootComponent, injector);\n const emptyUrl = new BehaviorSubject([new UrlSegment('', {})]);\n const emptyParams = new BehaviorSubject({});\n const emptyData = new BehaviorSubject({});\n const emptyQueryParams = new BehaviorSubject({});\n const fragment = new BehaviorSubject('');\n const activated = new ActivatedRoute(emptyUrl, emptyParams, emptyQueryParams, fragment, emptyData, PRIMARY_OUTLET, rootComponent, snapshot.root);\n activated.snapshot = snapshot.root;\n return new RouterState(new TreeNode(activated, []), snapshot);\n}\nfunction createEmptyStateSnapshot(rootComponent, injector) {\n const emptyParams = {};\n const emptyData = {};\n const emptyQueryParams = {};\n const fragment = '';\n const activated = new ActivatedRouteSnapshot([], emptyParams, emptyQueryParams, fragment, emptyData, PRIMARY_OUTLET, rootComponent, null, {}, injector);\n return new RouterStateSnapshot('', new TreeNode(activated, []));\n}\nclass ActivatedRoute {\n urlSubject;\n paramsSubject;\n queryParamsSubject;\n fragmentSubject;\n dataSubject;\n outlet;\n component;\n snapshot;\n _futureSnapshot;\n _routerState;\n _paramMap;\n _queryParamMap;\n title;\n url;\n params;\n queryParams;\n fragment;\n data;\n constructor(urlSubject, paramsSubject, queryParamsSubject, fragmentSubject, dataSubject, outlet, component, futureSnapshot) {\n this.urlSubject = urlSubject;\n this.paramsSubject = paramsSubject;\n this.queryParamsSubject = queryParamsSubject;\n this.fragmentSubject = fragmentSubject;\n this.dataSubject = dataSubject;\n this.outlet = outlet;\n this.component = component;\n this._futureSnapshot = futureSnapshot;\n this.title = this.dataSubject?.pipe(map(d => d[RouteTitleKey])) ?? of(undefined);\n this.url = urlSubject;\n this.params = paramsSubject;\n this.queryParams = queryParamsSubject;\n this.fragment = fragmentSubject;\n this.data = dataSubject;\n }\n get routeConfig() {\n return this._futureSnapshot.routeConfig;\n }\n get root() {\n return this._routerState.root;\n }\n get parent() {\n return this._routerState.parent(this);\n }\n get firstChild() {\n return this._routerState.firstChild(this);\n }\n get children() {\n return this._routerState.children(this);\n }\n get pathFromRoot() {\n return this._routerState.pathFromRoot(this);\n }\n get paramMap() {\n this._paramMap ??= this.params.pipe(map(p => convertToParamMap(p)));\n return this._paramMap;\n }\n get queryParamMap() {\n this._queryParamMap ??= this.queryParams.pipe(map(p => convertToParamMap(p)));\n return this._queryParamMap;\n }\n toString() {\n return this.snapshot ? this.snapshot.toString() : `Future(${this._futureSnapshot})`;\n }\n}\nfunction getInherited(route, parent, paramsInheritanceStrategy = 'emptyOnly') {\n let inherited;\n const {\n routeConfig\n } = route;\n if (parent !== null && (paramsInheritanceStrategy === 'always' || routeConfig?.path === '' || !parent.component && !parent.routeConfig?.loadComponent)) {\n inherited = {\n params: {\n ...parent.params,\n ...route.params\n },\n data: {\n ...parent.data,\n ...route.data\n },\n resolve: {\n ...route.data,\n ...parent.data,\n ...routeConfig?.data,\n ...route._resolvedData\n }\n };\n } else {\n inherited = {\n params: {\n ...route.params\n },\n data: {\n ...route.data\n },\n resolve: {\n ...route.data,\n ...(route._resolvedData ?? {})\n }\n };\n }\n if (routeConfig && hasStaticTitle(routeConfig)) {\n inherited.resolve[RouteTitleKey] = routeConfig.title;\n }\n return inherited;\n}\nclass ActivatedRouteSnapshot {\n url;\n params;\n queryParams;\n fragment;\n data;\n outlet;\n component;\n routeConfig;\n _resolve;\n _resolvedData;\n _routerState;\n _paramMap;\n _queryParamMap;\n _environmentInjector;\n get title() {\n return this.data?.[RouteTitleKey];\n }\n constructor(url, params, queryParams, fragment, data, outlet, component, routeConfig, resolve, environmentInjector) {\n this.url = url;\n this.params = params;\n this.queryParams = queryParams;\n this.fragment = fragment;\n this.data = data;\n this.outlet = outlet;\n this.component = component;\n this.routeConfig = routeConfig;\n this._resolve = resolve;\n this._environmentInjector = environmentInjector;\n }\n get root() {\n return this._routerState.root;\n }\n get parent() {\n return this._routerState.parent(this);\n }\n get firstChild() {\n return this._routerState.firstChild(this);\n }\n get children() {\n return this._routerState.children(this);\n }\n get pathFromRoot() {\n return this._routerState.pathFromRoot(this);\n }\n get paramMap() {\n this._paramMap ??= convertToParamMap(this.params);\n return this._paramMap;\n }\n get queryParamMap() {\n this._queryParamMap ??= convertToParamMap(this.queryParams);\n return this._queryParamMap;\n }\n toString() {\n const url = this.url.map(segment => segment.toString()).join('/');\n const matched = this.routeConfig ? this.routeConfig.path : '';\n return `Route(url:'${url}', path:'${matched}')`;\n }\n}\nclass RouterStateSnapshot extends Tree {\n url;\n constructor(url, root) {\n super(root);\n this.url = url;\n setRouterState(this, root);\n }\n toString() {\n return serializeNode(this._root);\n }\n}\nfunction setRouterState(state, node) {\n node.value._routerState = state;\n node.children.forEach(c => setRouterState(state, c));\n}\nfunction serializeNode(node) {\n const c = node.children.length > 0 ? ` { ${node.children.map(serializeNode).join(', ')} } ` : '';\n return `${node.value}${c}`;\n}\nfunction advanceActivatedRoute(route) {\n if (route.snapshot) {\n const currentSnapshot = route.snapshot;\n const nextSnapshot = route._futureSnapshot;\n route.snapshot = nextSnapshot;\n if (!shallowEqual(currentSnapshot.queryParams, nextSnapshot.queryParams)) {\n route.queryParamsSubject.next(nextSnapshot.queryParams);\n }\n if (currentSnapshot.fragment !== nextSnapshot.fragment) {\n route.fragmentSubject.next(nextSnapshot.fragment);\n }\n if (!shallowEqual(currentSnapshot.params, nextSnapshot.params)) {\n route.paramsSubject.next(nextSnapshot.params);\n }\n if (!shallowEqualArrays(currentSnapshot.url, nextSnapshot.url)) {\n route.urlSubject.next(nextSnapshot.url);\n }\n if (!shallowEqual(currentSnapshot.data, nextSnapshot.data)) {\n route.dataSubject.next(nextSnapshot.data);\n }\n } else {\n route.snapshot = route._futureSnapshot;\n route.dataSubject.next(route._futureSnapshot.data);\n }\n}\nfunction equalParamsAndUrlSegments(a, b) {\n const equalUrlParams = shallowEqual(a.params, b.params) && equalSegments(a.url, b.url);\n const parentsMismatch = !a.parent !== !b.parent;\n return equalUrlParams && !parentsMismatch && (!a.parent || equalParamsAndUrlSegments(a.parent, b.parent));\n}\nfunction hasStaticTitle(config) {\n return typeof config.title === 'string' || config.title === null;\n}\n\nconst ROUTER_OUTLET_DATA = new InjectionToken(typeof ngDevMode !== 'undefined' && ngDevMode ? 'RouterOutlet data' : '');\nclass RouterOutlet {\n activated = null;\n get activatedComponentRef() {\n return this.activated;\n }\n _activatedRoute = null;\n name = PRIMARY_OUTLET;\n activateEvents = new EventEmitter();\n deactivateEvents = new EventEmitter();\n attachEvents = new EventEmitter();\n detachEvents = new EventEmitter();\n routerOutletData = input(...(ngDevMode ? [undefined, {\n debugName: \"routerOutletData\"\n }] : []));\n parentContexts = inject(ChildrenOutletContexts);\n location = inject(ViewContainerRef);\n changeDetector = inject(ChangeDetectorRef);\n inputBinder = inject(INPUT_BINDER, {\n optional: true\n });\n supportsBindingToComponentInputs = true;\n ngOnChanges(changes) {\n if (changes['name']) {\n const {\n firstChange,\n previousValue\n } = changes['name'];\n if (firstChange) {\n return;\n }\n if (this.isTrackedInParentContexts(previousValue)) {\n this.deactivate();\n this.parentContexts.onChildOutletDestroyed(previousValue);\n }\n this.initializeOutletWithName();\n }\n }\n ngOnDestroy() {\n if (this.isTrackedInParentContexts(this.name)) {\n this.parentContexts.onChildOutletDestroyed(this.name);\n }\n this.inputBinder?.unsubscribeFromRouteData(this);\n }\n isTrackedInParentContexts(outletName) {\n return this.parentContexts.getContext(outletName)?.outlet === this;\n }\n ngOnInit() {\n this.initializeOutletWithName();\n }\n initializeOutletWithName() {\n this.parentContexts.onChildOutletCreated(this.name, this);\n if (this.activated) {\n return;\n }\n const context = this.parentContexts.getContext(this.name);\n if (context?.route) {\n if (context.attachRef) {\n this.attach(context.attachRef, context.route);\n } else {\n this.activateWith(context.route, context.injector);\n }\n }\n }\n get isActivated() {\n return !!this.activated;\n }\n get component() {\n if (!this.activated) throw new _RuntimeError(4012, (typeof ngDevMode === 'undefined' || ngDevMode) && 'Outlet is not activated');\n return this.activated.instance;\n }\n get activatedRoute() {\n if (!this.activated) throw new _RuntimeError(4012, (typeof ngDevMode === 'undefined' || ngDevMode) && 'Outlet is not activated');\n return this._activatedRoute;\n }\n get activatedRouteData() {\n if (this._activatedRoute) {\n return this._activatedRoute.snapshot.data;\n }\n return {};\n }\n detach() {\n if (!this.activated) throw new _RuntimeError(4012, (typeof ngDevMode === 'undefined' || ngDevMode) && 'Outlet is not activated');\n this.location.detach();\n const cmp = this.activated;\n this.activated = null;\n this._activatedRoute = null;\n this.detachEvents.emit(cmp.instance);\n return cmp;\n }\n attach(ref, activatedRoute) {\n this.activated = ref;\n this._activatedRoute = activatedRoute;\n this.location.insert(ref.hostView);\n this.inputBinder?.bindActivatedRouteToOutletComponent(this);\n this.attachEvents.emit(ref.instance);\n }\n deactivate() {\n if (this.activated) {\n const c = this.component;\n this.activated.destroy();\n this.activated = null;\n this._activatedRoute = null;\n this.deactivateEvents.emit(c);\n }\n }\n activateWith(activatedRoute, environmentInjector) {\n if (this.isActivated) {\n throw new _RuntimeError(4013, (typeof ngDevMode === 'undefined' || ngDevMode) && 'Cannot activate an already activated outlet');\n }\n this._activatedRoute = activatedRoute;\n const location = this.location;\n const snapshot = activatedRoute.snapshot;\n const component = snapshot.component;\n const childContexts = this.parentContexts.getOrCreateContext(this.name).children;\n const injector = new OutletInjector(activatedRoute, childContexts, location.injector, this.routerOutletData);\n this.activated = location.createComponent(component, {\n index: location.length,\n injector,\n environmentInjector: environmentInjector\n });\n this.changeDetector.markForCheck();\n this.inputBinder?.bindActivatedRouteToOutletComponent(this);\n this.activateEvents.emit(this.activated.instance);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: RouterOutlet,\n deps: [],\n target: i0.ɵɵFactoryTarget.Directive\n });\n static ɵdir = i0.ɵɵngDeclareDirective({\n minVersion: \"17.1.0\",\n version: \"21.2.6\",\n type: RouterOutlet,\n isStandalone: true,\n selector: \"router-outlet\",\n inputs: {\n name: {\n classPropertyName: \"name\",\n publicName: \"name\",\n isSignal: false,\n isRequired: false,\n transformFunction: null\n },\n routerOutletData: {\n classPropertyName: \"routerOutletData\",\n publicName: \"routerOutletData\",\n isSignal: true,\n isRequired: false,\n transformFunction: null\n }\n },\n outputs: {\n activateEvents: \"activate\",\n deactivateEvents: \"deactivate\",\n attachEvents: \"attach\",\n detachEvents: \"detach\"\n },\n exportAs: [\"outlet\"],\n usesOnChanges: true,\n ngImport: i0\n });\n}\ni0.ɵɵngDeclareClassMetadata({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: RouterOutlet,\n decorators: [{\n type: Directive,\n args: [{\n selector: 'router-outlet',\n exportAs: 'outlet'\n }]\n }],\n propDecorators: {\n name: [{\n type: Input\n }],\n activateEvents: [{\n type: Output,\n args: ['activate']\n }],\n deactivateEvents: [{\n type: Output,\n args: ['deactivate']\n }],\n attachEvents: [{\n type: Output,\n args: ['attach']\n }],\n detachEvents: [{\n type: Output,\n args: ['detach']\n }],\n routerOutletData: [{\n type: i0.Input,\n args: [{\n isSignal: true,\n alias: \"routerOutletData\",\n required: false\n }]\n }]\n }\n});\nclass OutletInjector {\n route;\n childContexts;\n parent;\n outletData;\n constructor(route, childContexts, parent, outletData) {\n this.route = route;\n this.childContexts = childContexts;\n this.parent = parent;\n this.outletData = outletData;\n }\n get(token, notFoundValue) {\n if (token === ActivatedRoute) {\n return this.route;\n }\n if (token === ChildrenOutletContexts) {\n return this.childContexts;\n }\n if (token === ROUTER_OUTLET_DATA) {\n return this.outletData;\n }\n return this.parent.get(token, notFoundValue);\n }\n}\nconst INPUT_BINDER = new InjectionToken(typeof ngDevMode !== 'undefined' && ngDevMode ? 'Router Input Binder' : '');\nclass RoutedComponentInputBinder {\n outletDataSubscriptions = new Map();\n bindActivatedRouteToOutletComponent(outlet) {\n this.unsubscribeFromRouteData(outlet);\n this.subscribeToRouteData(outlet);\n }\n unsubscribeFromRouteData(outlet) {\n this.outletDataSubscriptions.get(outlet)?.unsubscribe();\n this.outletDataSubscriptions.delete(outlet);\n }\n subscribeToRouteData(outlet) {\n const {\n activatedRoute\n } = outlet;\n const dataSubscription = combineLatest([activatedRoute.queryParams, activatedRoute.params, activatedRoute.data]).pipe(switchMap(([queryParams, params, data], index) => {\n data = {\n ...queryParams,\n ...params,\n ...data\n };\n if (index === 0) {\n return of(data);\n }\n return Promise.resolve(data);\n })).subscribe(data => {\n if (!outlet.isActivated || !outlet.activatedComponentRef || outlet.activatedRoute !== activatedRoute || activatedRoute.component === null) {\n this.unsubscribeFromRouteData(outlet);\n return;\n }\n const mirror = reflectComponentType(activatedRoute.component);\n if (!mirror) {\n this.unsubscribeFromRouteData(outlet);\n return;\n }\n for (const {\n templateName\n } of mirror.inputs) {\n outlet.activatedComponentRef.setInput(templateName, data[templateName]);\n }\n });\n this.outletDataSubscriptions.set(outlet, dataSubscription);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: RoutedComponentInputBinder,\n deps: [],\n target: i0.ɵɵFactoryTarget.Injectable\n });\n static ɵprov = i0.ɵɵngDeclareInjectable({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: RoutedComponentInputBinder\n });\n}\ni0.ɵɵngDeclareClassMetadata({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: RoutedComponentInputBinder,\n decorators: [{\n type: Injectable\n }]\n});\n\nclass ɵEmptyOutletComponent {\n static ɵfac = i0.ɵɵngDeclareFactory({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: ɵEmptyOutletComponent,\n deps: [],\n target: i0.ɵɵFactoryTarget.Component\n });\n static ɵcmp = i0.ɵɵngDeclareComponent({\n minVersion: \"14.0.0\",\n version: \"21.2.6\",\n type: ɵEmptyOutletComponent,\n isStandalone: true,\n selector: \"ng-component\",\n exportAs: [\"emptyRouterOutlet\"],\n ngImport: i0,\n template: `<router-outlet />`,\n isInline: true,\n dependencies: [{\n kind: \"directive\",\n type: RouterOutlet,\n selector: \"router-outlet\",\n inputs: [\"name\", \"routerOutletData\"],\n outputs: [\"activate\", \"deactivate\", \"attach\", \"detach\"],\n exportAs: [\"outlet\"]\n }],\n changeDetection: i0.ChangeDetectionStrategy.Eager\n });\n}\ni0.ɵɵngDeclareClassMetadata({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: ɵEmptyOutletComponent,\n decorators: [{\n type: Component,\n args: [{\n template: `<router-outlet />`,\n imports: [RouterOutlet],\n exportAs: 'emptyRouterOutlet',\n changeDetection: ChangeDetectionStrategy.Eager\n }]\n }]\n});\nfunction standardizeConfig(r) {\n const children = r.children && r.children.map(standardizeConfig);\n const c = children ? {\n ...r,\n children\n } : {\n ...r\n };\n if (!c.component && !c.loadComponent && (children || c.loadChildren) && c.outlet && c.outlet !== PRIMARY_OUTLET) {\n c.component = ɵEmptyOutletComponent;\n }\n return c;\n}\n\nfunction createRouterState(routeReuseStrategy, curr, prevState) {\n const root = createNode(routeReuseStrategy, curr._root, prevState ? prevState._root : undefined);\n return new RouterState(root, curr);\n}\nfunction createNode(routeReuseStrategy, curr, prevState) {\n if (prevState && routeReuseStrategy.shouldReuseRoute(curr.value, prevState.value.snapshot)) {\n const value = prevState.value;\n value._futureSnapshot = curr.value;\n const children = createOrReuseChildren(routeReuseStrategy, curr, prevState);\n return new TreeNode(value, children);\n } else {\n if (routeReuseStrategy.shouldAttach(curr.value)) {\n const detachedRouteHandle = routeReuseStrategy.retrieve(curr.value);\n if (detachedRouteHandle !== null) {\n const tree = detachedRouteHandle.route;\n tree.value._futureSnapshot = curr.value;\n tree.children = curr.children.map(c => createNode(routeReuseStrategy, c));\n return tree;\n }\n }\n const value = createActivatedRoute(curr.value);\n const children = curr.children.map(c => createNode(routeReuseStrategy, c));\n return new TreeNode(value, children);\n }\n}\nfunction createOrReuseChildren(routeReuseStrategy, curr, prevState) {\n return curr.children.map(child => {\n for (const p of prevState.children) {\n if (routeReuseStrategy.shouldReuseRoute(child.value, p.value.snapshot)) {\n return createNode(routeReuseStrategy, child, p);\n }\n }\n return createNode(routeReuseStrategy, child);\n });\n}\nfunction createActivatedRoute(c) {\n return new ActivatedRoute(new BehaviorSubject(c.url), new BehaviorSubject(c.params), new BehaviorSubject(c.queryParams), new BehaviorSubject(c.fragment), new BehaviorSubject(c.data), c.outlet, c.component, c);\n}\n\nclass RedirectCommand {\n redirectTo;\n navigationBehaviorOptions;\n constructor(redirectTo, navigationBehaviorOptions) {\n this.redirectTo = redirectTo;\n this.navigationBehaviorOptions = navigationBehaviorOptions;\n }\n}\n\nconst NAVIGATION_CANCELING_ERROR = 'ngNavigationCancelingError';\nfunction redirectingNavigationError(urlSerializer, redirect) {\n const {\n redirectTo,\n navigationBehaviorOptions\n } = isUrlTree(redirect) ? {\n redirectTo: redirect,\n navigationBehaviorOptions: undefined\n } : redirect;\n const error = navigationCancelingError(ngDevMode && `Redirecting to \"${urlSerializer.serialize(redirectTo)}\"`, NavigationCancellationCode.Redirect);\n error.url = redirectTo;\n error.navigationBehaviorOptions = navigationBehaviorOptions;\n return error;\n}\nfunction navigationCancelingError(message, code) {\n const error = new Error(`NavigationCancelingError: ${message || ''}`);\n error[NAVIGATION_CANCELING_ERROR] = true;\n error.cancellationCode = code;\n return error;\n}\nfunction isRedirectingNavigationCancelingError(error) {\n return isNavigationCancelingError(error) && isUrlTree(error.url);\n}\nfunction isNavigationCancelingError(error) {\n return !!error && error[NAVIGATION_CANCELING_ERROR];\n}\n\nlet warnedAboutUnsupportedInputBinding = false;\nclass ActivateRoutes {\n routeReuseStrategy;\n futureState;\n currState;\n forwardEvent;\n inputBindingEnabled;\n constructor(routeReuseStrategy, futureState, currState, forwardEvent, inputBindingEnabled) {\n this.routeReuseStrategy = routeReuseStrategy;\n this.futureState = futureState;\n this.currState = currState;\n this.forwardEvent = forwardEvent;\n this.inputBindingEnabled = inputBindingEnabled;\n }\n activate(parentContexts) {\n const futureRoot = this.futureState._root;\n const currRoot = this.currState ? this.currState._root : null;\n this.deactivateChildRoutes(futureRoot, currRoot, parentContexts);\n advanceActivatedRoute(this.futureState.root);\n this.activateChildRoutes(futureRoot, currRoot, parentContexts);\n }\n deactivateChildRoutes(futureNode, currNode, contexts) {\n const children = nodeChildrenAsMap(currNode);\n futureNode.children.forEach(futureChild => {\n const childOutletName = futureChild.value.outlet;\n this.deactivateRoutes(futureChild, children[childOutletName], contexts);\n delete children[childOutletName];\n });\n Object.values(children).forEach(v => {\n this.deactivateRouteAndItsChildren(v, contexts);\n });\n }\n deactivateRoutes(futureNode, currNode, parentContext) {\n const future = futureNode.value;\n const curr = currNode ? currNode.value : null;\n if (future === curr) {\n if (future.component) {\n const context = parentContext.getContext(future.outlet);\n if (context) {\n this.deactivateChildRoutes(futureNode, currNode, context.children);\n }\n } else {\n this.deactivateChildRoutes(futureNode, currNode, parentContext);\n }\n } else {\n if (curr) {\n this.deactivateRouteAndItsChildren(currNode, parentContext);\n }\n }\n }\n deactivateRouteAndItsChildren(route, parentContexts) {\n if (route.value.component && this.routeReuseStrategy.shouldDetach(route.value.snapshot)) {\n this.detachAndStoreRouteSubtree(route, parentContexts);\n } else {\n this.deactivateRouteAndOutlet(route, parentContexts);\n }\n }\n detachAndStoreRouteSubtree(route, parentContexts) {\n const context = parentContexts.getContext(route.value.outlet);\n const contexts = context && route.value.component ? context.children : parentContexts;\n const children = nodeChildrenAsMap(route);\n for (const treeNode of Object.values(children)) {\n this.deactivateRouteAndItsChildren(treeNode, contexts);\n }\n if (context && context.outlet) {\n const componentRef = context.outlet.detach();\n const contexts = context.children.onOutletDeactivated();\n this.routeReuseStrategy.store(route.value.snapshot, {\n componentRef,\n route,\n contexts\n });\n }\n }\n deactivateRouteAndOutlet(route, parentContexts) {\n const context = parentContexts.getContext(route.value.outlet);\n const contexts = context && route.value.component ? context.children : parentContexts;\n const children = nodeChildrenAsMap(route);\n for (const treeNode of Object.values(children)) {\n this.deactivateRouteAndItsChildren(treeNode, contexts);\n }\n if (context) {\n if (context.outlet) {\n context.outlet.deactivate();\n context.children.onOutletDeactivated();\n }\n context.attachRef = null;\n context.route = null;\n }\n }\n activateChildRoutes(futureNode, currNode, contexts) {\n const children = nodeChildrenAsMap(currNode);\n futureNode.children.forEach(c => {\n this.activateRoutes(c, children[c.value.outlet], contexts);\n this.forwardEvent(new ActivationEnd(c.value.snapshot));\n });\n if (futureNode.children.length) {\n this.forwardEvent(new ChildActivationEnd(futureNode.value.snapshot));\n }\n }\n activateRoutes(futureNode, currNode, parentContexts) {\n const future = futureNode.value;\n const curr = currNode ? currNode.value : null;\n advanceActivatedRoute(future);\n if (future === curr) {\n if (future.component) {\n const context = parentContexts.getOrCreateContext(future.outlet);\n this.activateChildRoutes(futureNode, currNode, context.children);\n } else {\n this.activateChildRoutes(futureNode, currNode, parentContexts);\n }\n } else {\n if (future.component) {\n const context = parentContexts.getOrCreateContext(future.outlet);\n if (this.routeReuseStrategy.shouldAttach(future.snapshot)) {\n const stored = this.routeReuseStrategy.retrieve(future.snapshot);\n this.routeReuseStrategy.store(future.snapshot, null);\n context.children.onOutletReAttached(stored.contexts);\n context.attachRef = stored.componentRef;\n context.route = stored.route.value;\n if (context.outlet) {\n context.outlet.attach(stored.componentRef, stored.route.value);\n }\n advanceActivatedRoute(stored.route.value);\n this.activateChildRoutes(futureNode, null, context.children);\n } else {\n context.attachRef = null;\n context.route = future;\n if (context.outlet) {\n context.outlet.activateWith(future, context.injector);\n }\n this.activateChildRoutes(futureNode, null, context.children);\n }\n } else {\n this.activateChildRoutes(futureNode, null, parentContexts);\n }\n }\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n const context = parentContexts.getOrCreateContext(future.outlet);\n const outlet = context.outlet;\n if (outlet && this.inputBindingEnabled && !outlet.supportsBindingToComponentInputs && !warnedAboutUnsupportedInputBinding) {\n console.warn(`'withComponentInputBinding' feature is enabled but ` + `this application is using an outlet that may not support binding to component inputs.`);\n warnedAboutUnsupportedInputBinding = true;\n }\n }\n }\n}\n\nclass CanActivate {\n path;\n route;\n constructor(path) {\n this.path = path;\n this.route = this.path[this.path.length - 1];\n }\n}\nclass CanDeactivate {\n component;\n route;\n constructor(component, route) {\n this.component = component;\n this.route = route;\n }\n}\nfunction getAllRouteGuards(future, curr, parentContexts) {\n const futureRoot = future._root;\n const currRoot = curr ? curr._root : null;\n return getChildRouteGuards(futureRoot, currRoot, parentContexts, [futureRoot.value]);\n}\nfunction getCanActivateChild(p) {\n const canActivateChild = p.routeConfig ? p.routeConfig.canActivateChild : null;\n if (!canActivateChild || canActivateChild.length === 0) return null;\n return {\n node: p,\n guards: canActivateChild\n };\n}\nfunction getTokenOrFunctionIdentity(tokenOrFunction, injector) {\n const NOT_FOUND = Symbol();\n const result = injector.get(tokenOrFunction, NOT_FOUND);\n if (result === NOT_FOUND) {\n if (typeof tokenOrFunction === 'function' && !_isInjectable(tokenOrFunction)) {\n return tokenOrFunction;\n } else {\n return injector.get(tokenOrFunction);\n }\n }\n return result;\n}\nfunction getChildRouteGuards(futureNode, currNode, contexts, futurePath, checks = {\n canDeactivateChecks: [],\n canActivateChecks: []\n}) {\n const prevChildren = nodeChildrenAsMap(currNode);\n futureNode.children.forEach(c => {\n getRouteGuards(c, prevChildren[c.value.outlet], contexts, futurePath.concat([c.value]), checks);\n delete prevChildren[c.value.outlet];\n });\n Object.entries(prevChildren).forEach(([k, v]) => deactivateRouteAndItsChildren(v, contexts.getContext(k), checks));\n return checks;\n}\nfunction getRouteGuards(futureNode, currNode, parentContexts, futurePath, checks = {\n canDeactivateChecks: [],\n canActivateChecks: []\n}) {\n const future = futureNode.value;\n const curr = currNode ? currNode.value : null;\n const context = parentContexts ? parentContexts.getContext(futureNode.value.outlet) : null;\n if (curr && future.routeConfig === curr.routeConfig) {\n const shouldRun = shouldRunGuardsAndResolvers(curr, future, future.routeConfig.runGuardsAndResolvers);\n if (shouldRun) {\n checks.canActivateChecks.push(new CanActivate(futurePath));\n } else {\n future.data = curr.data;\n future._resolvedData = curr._resolvedData;\n }\n if (future.component) {\n getChildRouteGuards(futureNode, currNode, context ? context.children : null, futurePath, checks);\n } else {\n getChildRouteGuards(futureNode, currNode, parentContexts, futurePath, checks);\n }\n if (shouldRun && context && context.outlet && context.outlet.isActivated) {\n checks.canDeactivateChecks.push(new CanDeactivate(context.outlet.component, curr));\n }\n } else {\n if (curr) {\n deactivateRouteAndItsChildren(currNode, context, checks);\n }\n checks.canActivateChecks.push(new CanActivate(futurePath));\n if (future.component) {\n getChildRouteGuards(futureNode, null, context ? context.children : null, futurePath, checks);\n } else {\n getChildRouteGuards(futureNode, null, parentContexts, futurePath, checks);\n }\n }\n return checks;\n}\nfunction shouldRunGuardsAndResolvers(curr, future, mode) {\n if (typeof mode === 'function') {\n return runInInjectionContext(future._environmentInjector, () => mode(curr, future));\n }\n switch (mode) {\n case 'pathParamsChange':\n return !equalPath(curr.url, future.url);\n case 'pathParamsOrQueryParamsChange':\n return !equalPath(curr.url, future.url) || !shallowEqual(curr.queryParams, future.queryParams);\n case 'always':\n return true;\n case 'paramsOrQueryParamsChange':\n return !equalParamsAndUrlSegments(curr, future) || !shallowEqual(curr.queryParams, future.queryParams);\n case 'paramsChange':\n default:\n return !equalParamsAndUrlSegments(curr, future);\n }\n}\nfunction deactivateRouteAndItsChildren(route, context, checks) {\n const children = nodeChildrenAsMap(route);\n const r = route.value;\n Object.entries(children).forEach(([childName, node]) => {\n if (!r.component) {\n deactivateRouteAndItsChildren(node, context, checks);\n } else if (context) {\n deactivateRouteAndItsChildren(node, context.children.getContext(childName), checks);\n } else {\n deactivateRouteAndItsChildren(node, null, checks);\n }\n });\n if (!r.component) {\n checks.canDeactivateChecks.push(new CanDeactivate(null, r));\n } else if (context && context.outlet && context.outlet.isActivated) {\n checks.canDeactivateChecks.push(new CanDeactivate(context.outlet.component, r));\n } else {\n checks.canDeactivateChecks.push(new CanDeactivate(null, r));\n }\n}\n\nfunction isFunction(v) {\n return typeof v === 'function';\n}\nfunction isBoolean(v) {\n return typeof v === 'boolean';\n}\nfunction isCanLoad(guard) {\n return guard && isFunction(guard.canLoad);\n}\nfunction isCanActivate(guard) {\n return guard && isFunction(guard.canActivate);\n}\nfunction isCanActivateChild(guard) {\n return guard && isFunction(guard.canActivateChild);\n}\nfunction isCanDeactivate(guard) {\n return guard && isFunction(guard.canDeactivate);\n}\nfunction isCanMatch(guard) {\n return guard && isFunction(guard.canMatch);\n}\nfunction isEmptyError(e) {\n return e instanceof EmptyError || e?.name === 'EmptyError';\n}\n\nconst INITIAL_VALUE = /* @__PURE__ */Symbol('INITIAL_VALUE');\nfunction prioritizedGuardValue() {\n return switchMap(obs => {\n return combineLatest(obs.map(o => o.pipe(take(1), startWith(INITIAL_VALUE)))).pipe(map(results => {\n for (const result of results) {\n if (result === true) {\n continue;\n } else if (result === INITIAL_VALUE) {\n return INITIAL_VALUE;\n } else if (result === false || isRedirect(result)) {\n return result;\n }\n }\n return true;\n }), filter(item => item !== INITIAL_VALUE), take(1));\n });\n}\nfunction isRedirect(val) {\n return isUrlTree(val) || val instanceof RedirectCommand;\n}\n\nfunction abortSignalToObservable(signal) {\n if (signal.aborted) {\n return of(undefined).pipe(take(1));\n }\n return new Observable(subscriber => {\n const handler = () => {\n subscriber.next();\n subscriber.complete();\n };\n signal.addEventListener('abort', handler);\n return () => signal.removeEventListener('abort', handler);\n });\n}\nfunction takeUntilAbort(signal) {\n return takeUntil(abortSignalToObservable(signal));\n}\n\nfunction checkGuards(forwardEvent) {\n return mergeMap(t => {\n const {\n targetSnapshot,\n currentSnapshot,\n guards: {\n canActivateChecks,\n canDeactivateChecks\n }\n } = t;\n if (canDeactivateChecks.length === 0 && canActivateChecks.length === 0) {\n return of({\n ...t,\n guardsResult: true\n });\n }\n return runCanDeactivateChecks(canDeactivateChecks, targetSnapshot, currentSnapshot).pipe(mergeMap(canDeactivate => {\n return canDeactivate && isBoolean(canDeactivate) ? runCanActivateChecks(targetSnapshot, canActivateChecks, forwardEvent) : of(canDeactivate);\n }), map(guardsResult => ({\n ...t,\n guardsResult\n })));\n });\n}\nfunction runCanDeactivateChecks(checks, futureRSS, currRSS) {\n return from(checks).pipe(mergeMap(check => runCanDeactivate(check.component, check.route, currRSS, futureRSS)), first(result => {\n return result !== true;\n }, true));\n}\nfunction runCanActivateChecks(futureSnapshot, checks, forwardEvent) {\n return from(checks).pipe(concatMap(check => {\n return concat(fireChildActivationStart(check.route.parent, forwardEvent), fireActivationStart(check.route, forwardEvent), runCanActivateChild(futureSnapshot, check.path), runCanActivate(futureSnapshot, check.route));\n }), first(result => {\n return result !== true;\n }, true));\n}\nfunction fireActivationStart(snapshot, forwardEvent) {\n if (snapshot !== null && forwardEvent) {\n forwardEvent(new ActivationStart(snapshot));\n }\n return of(true);\n}\nfunction fireChildActivationStart(snapshot, forwardEvent) {\n if (snapshot !== null && forwardEvent) {\n forwardEvent(new ChildActivationStart(snapshot));\n }\n return of(true);\n}\nfunction runCanActivate(futureRSS, futureARS) {\n const canActivate = futureARS.routeConfig ? futureARS.routeConfig.canActivate : null;\n if (!canActivate || canActivate.length === 0) return of(true);\n const canActivateObservables = canActivate.map(canActivate => {\n return defer(() => {\n const closestInjector = futureARS._environmentInjector;\n const guard = getTokenOrFunctionIdentity(canActivate, closestInjector);\n const guardVal = isCanActivate(guard) ? guard.canActivate(futureARS, futureRSS) : runInInjectionContext(closestInjector, () => guard(futureARS, futureRSS));\n return wrapIntoObservable(guardVal).pipe(first());\n });\n });\n return of(canActivateObservables).pipe(prioritizedGuardValue());\n}\nfunction runCanActivateChild(futureRSS, path) {\n const futureARS = path[path.length - 1];\n const canActivateChildGuards = path.slice(0, path.length - 1).reverse().map(p => getCanActivateChild(p)).filter(_ => _ !== null);\n const canActivateChildGuardsMapped = canActivateChildGuards.map(d => {\n return defer(() => {\n const guardsMapped = d.guards.map(canActivateChild => {\n const closestInjector = d.node._environmentInjector;\n const guard = getTokenOrFunctionIdentity(canActivateChild, closestInjector);\n const guardVal = isCanActivateChild(guard) ? guard.canActivateChild(futureARS, futureRSS) : runInInjectionContext(closestInjector, () => guard(futureARS, futureRSS));\n return wrapIntoObservable(guardVal).pipe(first());\n });\n return of(guardsMapped).pipe(prioritizedGuardValue());\n });\n });\n return of(canActivateChildGuardsMapped).pipe(prioritizedGuardValue());\n}\nfunction runCanDeactivate(component, currARS, currRSS, futureRSS) {\n const canDeactivate = currARS && currARS.routeConfig ? currARS.routeConfig.canDeactivate : null;\n if (!canDeactivate || canDeactivate.length === 0) return of(true);\n const canDeactivateObservables = canDeactivate.map(c => {\n const closestInjector = currARS._environmentInjector;\n const guard = getTokenOrFunctionIdentity(c, closestInjector);\n const guardVal = isCanDeactivate(guard) ? guard.canDeactivate(component, currARS, currRSS, futureRSS) : runInInjectionContext(closestInjector, () => guard(component, currARS, currRSS, futureRSS));\n return wrapIntoObservable(guardVal).pipe(first());\n });\n return of(canDeactivateObservables).pipe(prioritizedGuardValue());\n}\nfunction runCanLoadGuards(injector, route, segments, urlSerializer, abortSignal) {\n const canLoad = route.canLoad;\n if (canLoad === undefined || canLoad.length === 0) {\n return of(true);\n }\n const canLoadObservables = canLoad.map(injectionToken => {\n const guard = getTokenOrFunctionIdentity(injectionToken, injector);\n const guardVal = isCanLoad(guard) ? guard.canLoad(route, segments) : runInInjectionContext(injector, () => guard(route, segments));\n const obs$ = wrapIntoObservable(guardVal);\n return abortSignal ? obs$.pipe(takeUntilAbort(abortSignal)) : obs$;\n });\n return of(canLoadObservables).pipe(prioritizedGuardValue(), redirectIfUrlTree(urlSerializer));\n}\nfunction redirectIfUrlTree(urlSerializer) {\n return pipe(tap(result => {\n if (typeof result === 'boolean') return;\n throw redirectingNavigationError(urlSerializer, result);\n }), map(result => result === true));\n}\nfunction runCanMatchGuards(injector, route, segments, urlSerializer, currentSnapshot, abortSignal) {\n const canMatch = route.canMatch;\n if (!canMatch || canMatch.length === 0) return of(true);\n const canMatchObservables = canMatch.map(injectionToken => {\n const guard = getTokenOrFunctionIdentity(injectionToken, injector);\n const guardVal = isCanMatch(guard) ? guard.canMatch(route, segments, currentSnapshot) : runInInjectionContext(injector, () => guard(route, segments, currentSnapshot));\n return wrapIntoObservable(guardVal).pipe(takeUntilAbort(abortSignal));\n });\n return of(canMatchObservables).pipe(prioritizedGuardValue(), redirectIfUrlTree(urlSerializer));\n}\n\nclass NoMatch extends Error {\n segmentGroup;\n constructor(segmentGroup) {\n super();\n this.segmentGroup = segmentGroup || null;\n Object.setPrototypeOf(this, NoMatch.prototype);\n }\n}\nclass AbsoluteRedirect extends Error {\n urlTree;\n constructor(urlTree) {\n super();\n this.urlTree = urlTree;\n Object.setPrototypeOf(this, AbsoluteRedirect.prototype);\n }\n}\nfunction namedOutletsRedirect(redirectTo) {\n throw new _RuntimeError(4000, (typeof ngDevMode === 'undefined' || ngDevMode) && `Only absolute redirects can have named outlets. redirectTo: '${redirectTo}'`);\n}\nfunction canLoadFails(route) {\n throw navigationCancelingError((typeof ngDevMode === 'undefined' || ngDevMode) && `Cannot load children because the guard of the route \"path: '${route.path}'\" returned false`, NavigationCancellationCode.GuardRejected);\n}\nclass ApplyRedirects {\n urlSerializer;\n urlTree;\n constructor(urlSerializer, urlTree) {\n this.urlSerializer = urlSerializer;\n this.urlTree = urlTree;\n }\n async lineralizeSegments(route, urlTree) {\n let res = [];\n let c = urlTree.root;\n while (true) {\n res = res.concat(c.segments);\n if (c.numberOfChildren === 0) {\n return res;\n }\n if (c.numberOfChildren > 1 || !c.children[PRIMARY_OUTLET]) {\n throw namedOutletsRedirect(`${route.redirectTo}`);\n }\n c = c.children[PRIMARY_OUTLET];\n }\n }\n async applyRedirectCommands(segments, redirectTo, posParams, currentSnapshot, injector) {\n const redirect = await getRedirectResult(redirectTo, currentSnapshot, injector);\n if (redirect instanceof UrlTree) {\n throw new AbsoluteRedirect(redirect);\n }\n const newTree = this.applyRedirectCreateUrlTree(redirect, this.urlSerializer.parse(redirect), segments, posParams);\n if (redirect[0] === '/') {\n throw new AbsoluteRedirect(newTree);\n }\n return newTree;\n }\n applyRedirectCreateUrlTree(redirectTo, urlTree, segments, posParams) {\n const newRoot = this.createSegmentGroup(redirectTo, urlTree.root, segments, posParams);\n return new UrlTree(newRoot, this.createQueryParams(urlTree.queryParams, this.urlTree.queryParams), urlTree.fragment);\n }\n createQueryParams(redirectToParams, actualParams) {\n const res = {};\n Object.entries(redirectToParams).forEach(([k, v]) => {\n const copySourceValue = typeof v === 'string' && v[0] === ':';\n if (copySourceValue) {\n const sourceName = v.substring(1);\n res[k] = actualParams[sourceName];\n } else {\n res[k] = v;\n }\n });\n return res;\n }\n createSegmentGroup(redirectTo, group, segments, posParams) {\n const updatedSegments = this.createSegments(redirectTo, group.segments, segments, posParams);\n let children = {};\n Object.entries(group.children).forEach(([name, child]) => {\n children[name] = this.createSegmentGroup(redirectTo, child, segments, posParams);\n });\n return new UrlSegmentGroup(updatedSegments, children);\n }\n createSegments(redirectTo, redirectToSegments, actualSegments, posParams) {\n return redirectToSegments.map(s => s.path[0] === ':' ? this.findPosParam(redirectTo, s, posParams) : this.findOrReturn(s, actualSegments));\n }\n findPosParam(redirectTo, redirectToUrlSegment, posParams) {\n const pos = posParams[redirectToUrlSegment.path.substring(1)];\n if (!pos) throw new _RuntimeError(4001, (typeof ngDevMode === 'undefined' || ngDevMode) && `Cannot redirect to '${redirectTo}'. Cannot find '${redirectToUrlSegment.path}'.`);\n return pos;\n }\n findOrReturn(redirectToUrlSegment, actualSegments) {\n let idx = 0;\n for (const s of actualSegments) {\n if (s.path === redirectToUrlSegment.path) {\n actualSegments.splice(idx);\n return s;\n }\n idx++;\n }\n return redirectToUrlSegment;\n }\n}\nfunction getRedirectResult(redirectTo, currentSnapshot, injector) {\n if (typeof redirectTo === 'string') {\n return Promise.resolve(redirectTo);\n }\n const redirectToFn = redirectTo;\n return firstValueFrom(wrapIntoObservable(runInInjectionContext(injector, () => redirectToFn(currentSnapshot))));\n}\n\nfunction getOrCreateRouteInjectorIfNeeded(route, currentInjector) {\n if (route.providers && !route._injector) {\n route._injector = createEnvironmentInjector(route.providers, currentInjector, `Route: ${route.path}`);\n }\n return route._injector ?? currentInjector;\n}\nfunction validateConfig(config, parentPath = '', requireStandaloneComponents = false) {\n for (let i = 0; i < config.length; i++) {\n const route = config[i];\n const fullPath = getFullPath(parentPath, route);\n validateNode(route, fullPath, requireStandaloneComponents);\n }\n}\nfunction assertStandalone(fullPath, component) {\n if (component && _isNgModule(component)) {\n throw new _RuntimeError(4014, `Invalid configuration of route '${fullPath}'. You are using 'loadComponent' with a module, ` + `but it must be used with standalone components. Use 'loadChildren' instead.`);\n } else if (component && !isStandalone(component)) {\n throw new _RuntimeError(4014, `Invalid configuration of route '${fullPath}'. The component must be standalone.`);\n }\n}\nfunction validateNode(route, fullPath, requireStandaloneComponents) {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (!route) {\n throw new _RuntimeError(4014, `\n Invalid configuration of route '${fullPath}': Encountered undefined route.\n The reason might be an extra comma.\n\n Example:\n const routes: Routes = [\n { path: '', redirectTo: '/dashboard', pathMatch: 'full' },\n { path: 'dashboard', component: DashboardComponent },, << two commas\n { path: 'detail/:id', component: HeroDetailComponent }\n ];\n `);\n }\n if (Array.isArray(route)) {\n throw new _RuntimeError(4014, `Invalid configuration of route '${fullPath}': Array cannot be specified`);\n }\n if (!route.redirectTo && !route.component && !route.loadComponent && !route.children && !route.loadChildren && route.outlet && route.outlet !== PRIMARY_OUTLET) {\n throw new _RuntimeError(4014, `Invalid configuration of route '${fullPath}': a componentless route without children or loadChildren cannot have a named outlet set`);\n }\n if (route.redirectTo && route.children) {\n throw new _RuntimeError(4014, `Invalid configuration of route '${fullPath}': redirectTo and children cannot be used together`);\n }\n if (route.redirectTo && route.loadChildren) {\n throw new _RuntimeError(4014, `Invalid configuration of route '${fullPath}': redirectTo and loadChildren cannot be used together`);\n }\n if (route.children && route.loadChildren) {\n throw new _RuntimeError(4014, `Invalid configuration of route '${fullPath}': children and loadChildren cannot be used together`);\n }\n if (route.component && route.loadComponent) {\n throw new _RuntimeError(4014, `Invalid configuration of route '${fullPath}': component and loadComponent cannot be used together`);\n }\n if (route.redirectTo) {\n if (route.component || route.loadComponent) {\n throw new _RuntimeError(4014, `Invalid configuration of route '${fullPath}': redirectTo and component/loadComponent cannot be used together`);\n }\n if (route.canMatch || route.canActivate) {\n throw new _RuntimeError(4014, `Invalid configuration of route '${fullPath}': redirectTo and ${route.canMatch ? 'canMatch' : 'canActivate'} cannot be used together.` + `Redirects happen before guards are executed.`);\n }\n }\n if (route.path && route.matcher) {\n throw new _RuntimeError(4014, `Invalid configuration of route '${fullPath}': path and matcher cannot be used together`);\n }\n if (route.redirectTo === void 0 && !route.component && !route.loadComponent && !route.children && !route.loadChildren) {\n throw new _RuntimeError(4014, `Invalid configuration of route '${fullPath}'. One of the following must be provided: component, loadComponent, redirectTo, children or loadChildren`);\n }\n if (route.path === void 0 && route.matcher === void 0) {\n throw new _RuntimeError(4014, `Invalid configuration of route '${fullPath}': routes must have either a path or a matcher specified`);\n }\n if (typeof route.path === 'string' && route.path.charAt(0) === '/') {\n throw new _RuntimeError(4014, `Invalid configuration of route '${fullPath}': path cannot start with a slash`);\n }\n if (route.path === '' && route.redirectTo !== void 0 && route.pathMatch === void 0) {\n const exp = `The default value of 'pathMatch' is 'prefix', but often the intent is to use 'full'.`;\n throw new _RuntimeError(4014, `Invalid configuration of route '{path: \"${fullPath}\", redirectTo: \"${route.redirectTo}\"}': please provide 'pathMatch'. ${exp}`);\n }\n if (requireStandaloneComponents) {\n assertStandalone(fullPath, route.component);\n }\n }\n if (route.children) {\n validateConfig(route.children, fullPath, requireStandaloneComponents);\n }\n}\nfunction getFullPath(parentPath, currentRoute) {\n if (!currentRoute) {\n return parentPath;\n }\n if (!parentPath && !currentRoute.path) {\n return '';\n } else if (parentPath && !currentRoute.path) {\n return `${parentPath}/`;\n } else if (!parentPath && currentRoute.path) {\n return currentRoute.path;\n } else {\n return `${parentPath}/${currentRoute.path}`;\n }\n}\nfunction getOutlet(route) {\n return route.outlet || PRIMARY_OUTLET;\n}\nfunction sortByMatchingOutlets(routes, outletName) {\n const sortedConfig = routes.filter(r => getOutlet(r) === outletName);\n sortedConfig.push(...routes.filter(r => getOutlet(r) !== outletName));\n return sortedConfig;\n}\n\nconst noMatch = {\n matched: false,\n consumedSegments: [],\n remainingSegments: [],\n parameters: {},\n positionalParamSegments: {}\n};\nfunction createPreMatchRouteSnapshot(snapshot) {\n return {\n routeConfig: snapshot.routeConfig,\n url: snapshot.url,\n params: snapshot.params,\n queryParams: snapshot.queryParams,\n fragment: snapshot.fragment,\n data: snapshot.data,\n outlet: snapshot.outlet,\n title: snapshot.title,\n paramMap: snapshot.paramMap,\n queryParamMap: snapshot.queryParamMap\n };\n}\nfunction matchWithChecks(segmentGroup, route, segments, injector, urlSerializer, createSnapshot, abortSignal) {\n const result = match(segmentGroup, route, segments);\n if (!result.matched) {\n return of(result);\n }\n const currentSnapshot = createPreMatchRouteSnapshot(createSnapshot(result));\n injector = getOrCreateRouteInjectorIfNeeded(route, injector);\n return runCanMatchGuards(injector, route, segments, urlSerializer, currentSnapshot, abortSignal).pipe(map(v => v === true ? result : {\n ...noMatch\n }));\n}\nfunction match(segmentGroup, route, segments) {\n if (route.path === '') {\n if (route.pathMatch === 'full' && (segmentGroup.hasChildren() || segments.length > 0)) {\n return {\n ...noMatch\n };\n }\n return {\n matched: true,\n consumedSegments: [],\n remainingSegments: segments,\n parameters: {},\n positionalParamSegments: {}\n };\n }\n const matcher = route.matcher || defaultUrlMatcher;\n const res = matcher(segments, segmentGroup, route);\n if (!res) return {\n ...noMatch\n };\n const posParams = {};\n Object.entries(res.posParams ?? {}).forEach(([k, v]) => {\n posParams[k] = v.path;\n });\n const parameters = res.consumed.length > 0 ? {\n ...posParams,\n ...res.consumed[res.consumed.length - 1].parameters\n } : posParams;\n return {\n matched: true,\n consumedSegments: res.consumed,\n remainingSegments: segments.slice(res.consumed.length),\n parameters,\n positionalParamSegments: res.posParams ?? {}\n };\n}\nfunction split(segmentGroup, consumedSegments, slicedSegments, config) {\n if (slicedSegments.length > 0 && containsEmptyPathMatchesWithNamedOutlets(segmentGroup, slicedSegments, config)) {\n const s = new UrlSegmentGroup(consumedSegments, createChildrenForEmptyPaths(config, new UrlSegmentGroup(slicedSegments, segmentGroup.children)));\n return {\n segmentGroup: s,\n slicedSegments: []\n };\n }\n if (slicedSegments.length === 0 && containsEmptyPathMatches(segmentGroup, slicedSegments, config)) {\n const s = new UrlSegmentGroup(segmentGroup.segments, addEmptyPathsToChildrenIfNeeded(segmentGroup, slicedSegments, config, segmentGroup.children));\n return {\n segmentGroup: s,\n slicedSegments\n };\n }\n const s = new UrlSegmentGroup(segmentGroup.segments, segmentGroup.children);\n return {\n segmentGroup: s,\n slicedSegments\n };\n}\nfunction addEmptyPathsToChildrenIfNeeded(segmentGroup, slicedSegments, routes, children) {\n const res = {};\n for (const r of routes) {\n if (emptyPathMatch(segmentGroup, slicedSegments, r) && !children[getOutlet(r)]) {\n const s = new UrlSegmentGroup([], {});\n res[getOutlet(r)] = s;\n }\n }\n return {\n ...children,\n ...res\n };\n}\nfunction createChildrenForEmptyPaths(routes, primarySegment) {\n const res = {};\n res[PRIMARY_OUTLET] = primarySegment;\n for (const r of routes) {\n if (r.path === '' && getOutlet(r) !== PRIMARY_OUTLET) {\n const s = new UrlSegmentGroup([], {});\n res[getOutlet(r)] = s;\n }\n }\n return res;\n}\nfunction containsEmptyPathMatchesWithNamedOutlets(segmentGroup, slicedSegments, routes) {\n return routes.some(r => emptyPathMatch(segmentGroup, slicedSegments, r) && getOutlet(r) !== PRIMARY_OUTLET);\n}\nfunction containsEmptyPathMatches(segmentGroup, slicedSegments, routes) {\n return routes.some(r => emptyPathMatch(segmentGroup, slicedSegments, r));\n}\nfunction emptyPathMatch(segmentGroup, slicedSegments, r) {\n if ((segmentGroup.hasChildren() || slicedSegments.length > 0) && r.pathMatch === 'full') {\n return false;\n }\n return r.path === '';\n}\nfunction noLeftoversInUrl(segmentGroup, segments, outlet) {\n return segments.length === 0 && !segmentGroup.children[outlet];\n}\n\nclass NoLeftoversInUrl {}\nasync function recognize$1(injector, configLoader, rootComponentType, config, urlTree, urlSerializer, paramsInheritanceStrategy = 'emptyOnly', abortSignal) {\n return new Recognizer(injector, configLoader, rootComponentType, config, urlTree, paramsInheritanceStrategy, urlSerializer, abortSignal).recognize();\n}\nconst MAX_ALLOWED_REDIRECTS = 31;\nclass Recognizer {\n injector;\n configLoader;\n rootComponentType;\n config;\n urlTree;\n paramsInheritanceStrategy;\n urlSerializer;\n abortSignal;\n applyRedirects;\n absoluteRedirectCount = 0;\n allowRedirects = true;\n constructor(injector, configLoader, rootComponentType, config, urlTree, paramsInheritanceStrategy, urlSerializer, abortSignal) {\n this.injector = injector;\n this.configLoader = configLoader;\n this.rootComponentType = rootComponentType;\n this.config = config;\n this.urlTree = urlTree;\n this.paramsInheritanceStrategy = paramsInheritanceStrategy;\n this.urlSerializer = urlSerializer;\n this.abortSignal = abortSignal;\n this.applyRedirects = new ApplyRedirects(this.urlSerializer, this.urlTree);\n }\n noMatchError(e) {\n return new _RuntimeError(4002, typeof ngDevMode === 'undefined' || ngDevMode ? `Cannot match any routes. URL Segment: '${e.segmentGroup}'` : `'${e.segmentGroup}'`);\n }\n async recognize() {\n const rootSegmentGroup = split(this.urlTree.root, [], [], this.config).segmentGroup;\n const {\n children,\n rootSnapshot\n } = await this.match(rootSegmentGroup);\n const rootNode = new TreeNode(rootSnapshot, children);\n const routeState = new RouterStateSnapshot('', rootNode);\n const tree = createUrlTreeFromSnapshot(rootSnapshot, [], this.urlTree.queryParams, this.urlTree.fragment);\n tree.queryParams = this.urlTree.queryParams;\n routeState.url = this.urlSerializer.serialize(tree);\n return {\n state: routeState,\n tree\n };\n }\n async match(rootSegmentGroup) {\n const rootSnapshot = new ActivatedRouteSnapshot([], Object.freeze({}), Object.freeze({\n ...this.urlTree.queryParams\n }), this.urlTree.fragment, Object.freeze({}), PRIMARY_OUTLET, this.rootComponentType, null, {}, this.injector);\n try {\n const children = await this.processSegmentGroup(this.injector, this.config, rootSegmentGroup, PRIMARY_OUTLET, rootSnapshot);\n return {\n children,\n rootSnapshot\n };\n } catch (e) {\n if (e instanceof AbsoluteRedirect) {\n this.urlTree = e.urlTree;\n return this.match(e.urlTree.root);\n }\n if (e instanceof NoMatch) {\n throw this.noMatchError(e);\n }\n throw e;\n }\n }\n async processSegmentGroup(injector, config, segmentGroup, outlet, parentRoute) {\n if (segmentGroup.segments.length === 0 && segmentGroup.hasChildren()) {\n return this.processChildren(injector, config, segmentGroup, parentRoute);\n }\n const child = await this.processSegment(injector, config, segmentGroup, segmentGroup.segments, outlet, true, parentRoute);\n return child instanceof TreeNode ? [child] : [];\n }\n async processChildren(injector, config, segmentGroup, parentRoute) {\n const childOutlets = [];\n for (const child of Object.keys(segmentGroup.children)) {\n if (child === 'primary') {\n childOutlets.unshift(child);\n } else {\n childOutlets.push(child);\n }\n }\n let children = [];\n for (const childOutlet of childOutlets) {\n const child = segmentGroup.children[childOutlet];\n const sortedConfig = sortByMatchingOutlets(config, childOutlet);\n const outletChildren = await this.processSegmentGroup(injector, sortedConfig, child, childOutlet, parentRoute);\n children.push(...outletChildren);\n }\n const mergedChildren = mergeEmptyPathMatches(children);\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n checkOutletNameUniqueness(mergedChildren);\n }\n sortActivatedRouteSnapshots(mergedChildren);\n return mergedChildren;\n }\n async processSegment(injector, routes, segmentGroup, segments, outlet, allowRedirects, parentRoute) {\n for (const r of routes) {\n try {\n return await this.processSegmentAgainstRoute(r._injector ?? injector, routes, r, segmentGroup, segments, outlet, allowRedirects, parentRoute);\n } catch (e) {\n if (e instanceof NoMatch || isEmptyError(e)) {\n continue;\n }\n throw e;\n }\n }\n if (noLeftoversInUrl(segmentGroup, segments, outlet)) {\n return new NoLeftoversInUrl();\n }\n throw new NoMatch(segmentGroup);\n }\n async processSegmentAgainstRoute(injector, routes, route, rawSegment, segments, outlet, allowRedirects, parentRoute) {\n if (getOutlet(route) !== outlet && (outlet === PRIMARY_OUTLET || !emptyPathMatch(rawSegment, segments, route))) {\n throw new NoMatch(rawSegment);\n }\n if (route.redirectTo === undefined) {\n return this.matchSegmentAgainstRoute(injector, rawSegment, route, segments, outlet, parentRoute);\n }\n if (this.allowRedirects && allowRedirects) {\n return this.expandSegmentAgainstRouteUsingRedirect(injector, rawSegment, routes, route, segments, outlet, parentRoute);\n }\n throw new NoMatch(rawSegment);\n }\n async expandSegmentAgainstRouteUsingRedirect(injector, segmentGroup, routes, route, segments, outlet, parentRoute) {\n const {\n matched,\n parameters,\n consumedSegments,\n positionalParamSegments,\n remainingSegments\n } = match(segmentGroup, route, segments);\n if (!matched) throw new NoMatch(segmentGroup);\n if (typeof route.redirectTo === 'string' && route.redirectTo[0] === '/') {\n this.absoluteRedirectCount++;\n if (this.absoluteRedirectCount > MAX_ALLOWED_REDIRECTS) {\n if (ngDevMode) {\n throw new _RuntimeError(4016, `Detected possible infinite redirect when redirecting from '${this.urlTree}' to '${route.redirectTo}'.\\n` + `This is currently a dev mode only error but will become a` + ` call stack size exceeded error in production in a future major version.`);\n }\n this.allowRedirects = false;\n }\n }\n const currentSnapshot = this.createSnapshot(injector, route, segments, parameters, parentRoute);\n if (this.abortSignal.aborted) {\n throw new Error(this.abortSignal.reason);\n }\n const newTree = await this.applyRedirects.applyRedirectCommands(consumedSegments, route.redirectTo, positionalParamSegments, createPreMatchRouteSnapshot(currentSnapshot), injector);\n const newSegments = await this.applyRedirects.lineralizeSegments(route, newTree);\n return this.processSegment(injector, routes, segmentGroup, newSegments.concat(remainingSegments), outlet, false, parentRoute);\n }\n createSnapshot(injector, route, segments, parameters, parentRoute) {\n const snapshot = new ActivatedRouteSnapshot(segments, parameters, Object.freeze({\n ...this.urlTree.queryParams\n }), this.urlTree.fragment, getData(route), getOutlet(route), route.component ?? route._loadedComponent ?? null, route, getResolve(route), injector);\n const inherited = getInherited(snapshot, parentRoute, this.paramsInheritanceStrategy);\n snapshot.params = Object.freeze(inherited.params);\n snapshot.data = Object.freeze(inherited.data);\n return snapshot;\n }\n async matchSegmentAgainstRoute(injector, rawSegment, route, segments, outlet, parentRoute) {\n if (this.abortSignal.aborted) {\n throw new Error(this.abortSignal.reason);\n }\n const createSnapshot = result => this.createSnapshot(injector, route, result.consumedSegments, result.parameters, parentRoute);\n const result = await firstValueFrom(matchWithChecks(rawSegment, route, segments, injector, this.urlSerializer, createSnapshot, this.abortSignal));\n if (route.path === '**') {\n rawSegment.children = {};\n }\n if (!result?.matched) {\n throw new NoMatch(rawSegment);\n }\n injector = route._injector ?? injector;\n const {\n routes: childConfig\n } = await this.getChildConfig(injector, route, segments);\n const childInjector = route._loadedInjector ?? injector;\n const {\n parameters,\n consumedSegments,\n remainingSegments\n } = result;\n const snapshot = this.createSnapshot(injector, route, consumedSegments, parameters, parentRoute);\n const {\n segmentGroup,\n slicedSegments\n } = split(rawSegment, consumedSegments, remainingSegments, childConfig);\n if (slicedSegments.length === 0 && segmentGroup.hasChildren()) {\n const children = await this.processChildren(childInjector, childConfig, segmentGroup, snapshot);\n return new TreeNode(snapshot, children);\n }\n if (childConfig.length === 0 && slicedSegments.length === 0) {\n return new TreeNode(snapshot, []);\n }\n const matchedOnOutlet = getOutlet(route) === outlet;\n const child = await this.processSegment(childInjector, childConfig, segmentGroup, slicedSegments, matchedOnOutlet ? PRIMARY_OUTLET : outlet, true, snapshot);\n return new TreeNode(snapshot, child instanceof TreeNode ? [child] : []);\n }\n async getChildConfig(injector, route, segments) {\n if (route.children) {\n return {\n routes: route.children,\n injector\n };\n }\n if (route.loadChildren) {\n if (route._loadedRoutes !== undefined) {\n const ngModuleFactory = route._loadedNgModuleFactory;\n if (ngModuleFactory && !route._loadedInjector) {\n route._loadedInjector = ngModuleFactory.create(injector).injector;\n }\n return {\n routes: route._loadedRoutes,\n injector: route._loadedInjector\n };\n }\n if (this.abortSignal.aborted) {\n throw new Error(this.abortSignal.reason);\n }\n const shouldLoadResult = await firstValueFrom(runCanLoadGuards(injector, route, segments, this.urlSerializer, this.abortSignal));\n if (shouldLoadResult) {\n const cfg = await this.configLoader.loadChildren(injector, route);\n route._loadedRoutes = cfg.routes;\n route._loadedInjector = cfg.injector;\n route._loadedNgModuleFactory = cfg.factory;\n return cfg;\n }\n throw canLoadFails(route);\n }\n return {\n routes: [],\n injector\n };\n }\n}\nfunction sortActivatedRouteSnapshots(nodes) {\n nodes.sort((a, b) => {\n if (a.value.outlet === PRIMARY_OUTLET) return -1;\n if (b.value.outlet === PRIMARY_OUTLET) return 1;\n return a.value.outlet.localeCompare(b.value.outlet);\n });\n}\nfunction hasEmptyPathConfig(node) {\n const config = node.value.routeConfig;\n return config && config.path === '';\n}\nfunction mergeEmptyPathMatches(nodes) {\n const result = [];\n const mergedNodes = new Set();\n for (const node of nodes) {\n if (!hasEmptyPathConfig(node)) {\n result.push(node);\n continue;\n }\n const duplicateEmptyPathNode = result.find(resultNode => node.value.routeConfig === resultNode.value.routeConfig);\n if (duplicateEmptyPathNode !== undefined) {\n duplicateEmptyPathNode.children.push(...node.children);\n mergedNodes.add(duplicateEmptyPathNode);\n } else {\n result.push(node);\n }\n }\n for (const mergedNode of mergedNodes) {\n const mergedChildren = mergeEmptyPathMatches(mergedNode.children);\n result.push(new TreeNode(mergedNode.value, mergedChildren));\n }\n return result.filter(n => !mergedNodes.has(n));\n}\nfunction checkOutletNameUniqueness(nodes) {\n const names = {};\n nodes.forEach(n => {\n const routeWithSameOutletName = names[n.value.outlet];\n if (routeWithSameOutletName) {\n const p = routeWithSameOutletName.url.map(s => s.toString()).join('/');\n const c = n.value.url.map(s => s.toString()).join('/');\n throw new _RuntimeError(4006, (typeof ngDevMode === 'undefined' || ngDevMode) && `Two segments cannot have the same outlet name: '${p}' and '${c}'.`);\n }\n names[n.value.outlet] = n.value;\n });\n}\nfunction getData(route) {\n return route.data || {};\n}\nfunction getResolve(route) {\n return route.resolve || {};\n}\n\nfunction recognize(injector, configLoader, rootComponentType, config, serializer, paramsInheritanceStrategy, abortSignal) {\n return mergeMap(async t => {\n const {\n state: targetSnapshot,\n tree: urlAfterRedirects\n } = await recognize$1(injector, configLoader, rootComponentType, config, t.extractedUrl, serializer, paramsInheritanceStrategy, abortSignal);\n return {\n ...t,\n targetSnapshot,\n urlAfterRedirects\n };\n });\n}\n\nfunction resolveData(paramsInheritanceStrategy) {\n return mergeMap(t => {\n const {\n targetSnapshot,\n guards: {\n canActivateChecks\n }\n } = t;\n if (!canActivateChecks.length) {\n return of(t);\n }\n const routesWithResolversToRun = new Set(canActivateChecks.map(check => check.route));\n const routesNeedingDataUpdates = new Set();\n for (const route of routesWithResolversToRun) {\n if (routesNeedingDataUpdates.has(route)) {\n continue;\n }\n for (const newRoute of flattenRouteTree(route)) {\n routesNeedingDataUpdates.add(newRoute);\n }\n }\n let routesProcessed = 0;\n return from(routesNeedingDataUpdates).pipe(concatMap(route => {\n if (routesWithResolversToRun.has(route)) {\n return runResolve(route, targetSnapshot, paramsInheritanceStrategy);\n } else {\n route.data = getInherited(route, route.parent, paramsInheritanceStrategy).resolve;\n return of(void 0);\n }\n }), tap(() => routesProcessed++), takeLast(1), mergeMap(_ => routesProcessed === routesNeedingDataUpdates.size ? of(t) : EMPTY));\n });\n}\nfunction flattenRouteTree(route) {\n const descendants = route.children.map(child => flattenRouteTree(child)).flat();\n return [route, ...descendants];\n}\nfunction runResolve(futureARS, futureRSS, paramsInheritanceStrategy) {\n const config = futureARS.routeConfig;\n const resolve = futureARS._resolve;\n if (config?.title !== undefined && !hasStaticTitle(config)) {\n resolve[RouteTitleKey] = config.title;\n }\n return defer(() => {\n futureARS.data = getInherited(futureARS, futureARS.parent, paramsInheritanceStrategy).resolve;\n return resolveNode(resolve, futureARS, futureRSS).pipe(map(resolvedData => {\n futureARS._resolvedData = resolvedData;\n futureARS.data = {\n ...futureARS.data,\n ...resolvedData\n };\n return null;\n }));\n });\n}\nfunction resolveNode(resolve, futureARS, futureRSS) {\n const keys = getDataKeys(resolve);\n if (keys.length === 0) {\n return of({});\n }\n const data = {};\n return from(keys).pipe(mergeMap(key => getResolver(resolve[key], futureARS, futureRSS).pipe(first(), tap(value => {\n if (value instanceof RedirectCommand) {\n throw redirectingNavigationError(new DefaultUrlSerializer(), value);\n }\n data[key] = value;\n }))), takeLast(1), map(() => data), catchError(e => isEmptyError(e) ? EMPTY : throwError(e)));\n}\nfunction getResolver(injectionToken, futureARS, futureRSS) {\n const closestInjector = futureARS._environmentInjector;\n const resolver = getTokenOrFunctionIdentity(injectionToken, closestInjector);\n const resolverValue = resolver.resolve ? resolver.resolve(futureARS, futureRSS) : runInInjectionContext(closestInjector, () => resolver(futureARS, futureRSS));\n return wrapIntoObservable(resolverValue);\n}\n\nfunction switchTap(next) {\n return switchMap(v => {\n const nextResult = next(v);\n if (nextResult) {\n return from(nextResult).pipe(map(() => v));\n }\n return of(v);\n });\n}\n\nclass TitleStrategy {\n buildTitle(snapshot) {\n let pageTitle;\n let route = snapshot.root;\n while (route !== undefined) {\n pageTitle = this.getResolvedTitleForRoute(route) ?? pageTitle;\n route = route.children.find(child => child.outlet === PRIMARY_OUTLET);\n }\n return pageTitle;\n }\n getResolvedTitleForRoute(snapshot) {\n return snapshot.data[RouteTitleKey];\n }\n static ɵfac = i0.ɵɵngDeclareFactory({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: TitleStrategy,\n deps: [],\n target: i0.ɵɵFactoryTarget.Injectable\n });\n static ɵprov = i0.ɵɵngDeclareInjectable({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: TitleStrategy,\n providedIn: 'root',\n useFactory: () => inject(DefaultTitleStrategy)\n });\n}\ni0.ɵɵngDeclareClassMetadata({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: TitleStrategy,\n decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n useFactory: () => inject(DefaultTitleStrategy)\n }]\n }]\n});\nclass DefaultTitleStrategy extends TitleStrategy {\n title;\n constructor(title) {\n super();\n this.title = title;\n }\n updateTitle(snapshot) {\n const title = this.buildTitle(snapshot);\n if (title !== undefined) {\n this.title.setTitle(title);\n }\n }\n static ɵfac = i0.ɵɵngDeclareFactory({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: DefaultTitleStrategy,\n deps: [{\n token: i1.Title\n }],\n target: i0.ɵɵFactoryTarget.Injectable\n });\n static ɵprov = i0.ɵɵngDeclareInjectable({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: DefaultTitleStrategy,\n providedIn: 'root'\n });\n}\ni0.ɵɵngDeclareClassMetadata({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: DefaultTitleStrategy,\n decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }],\n ctorParameters: () => [{\n type: i1.Title\n }]\n});\n\nconst ROUTER_CONFIGURATION = new InjectionToken(typeof ngDevMode === 'undefined' || ngDevMode ? 'router config' : '', {\n factory: () => ({})\n});\n\nconst ROUTES = new InjectionToken(typeof ngDevMode !== 'undefined' && ngDevMode ? 'ROUTES' : '');\nclass RouterConfigLoader {\n componentLoaders = new WeakMap();\n childrenLoaders = new WeakMap();\n onLoadStartListener;\n onLoadEndListener;\n compiler = inject(Compiler);\n async loadComponent(injector, route) {\n if (this.componentLoaders.get(route)) {\n return this.componentLoaders.get(route);\n } else if (route._loadedComponent) {\n return Promise.resolve(route._loadedComponent);\n }\n if (this.onLoadStartListener) {\n this.onLoadStartListener(route);\n }\n const loader = (async () => {\n try {\n const loaded = await wrapIntoPromise(runInInjectionContext(injector, () => route.loadComponent()));\n const component = await maybeResolveResources(maybeUnwrapDefaultExport(loaded));\n if (this.onLoadEndListener) {\n this.onLoadEndListener(route);\n }\n (typeof ngDevMode === 'undefined' || ngDevMode) && assertStandalone(route.path ?? '', component);\n route._loadedComponent = component;\n return component;\n } finally {\n this.componentLoaders.delete(route);\n }\n })();\n this.componentLoaders.set(route, loader);\n return loader;\n }\n loadChildren(parentInjector, route) {\n if (this.childrenLoaders.get(route)) {\n return this.childrenLoaders.get(route);\n } else if (route._loadedRoutes) {\n return Promise.resolve({\n routes: route._loadedRoutes,\n injector: route._loadedInjector\n });\n }\n if (this.onLoadStartListener) {\n this.onLoadStartListener(route);\n }\n const loader = (async () => {\n try {\n const result = await loadChildren(route, this.compiler, parentInjector, this.onLoadEndListener);\n route._loadedRoutes = result.routes;\n route._loadedInjector = result.injector;\n route._loadedNgModuleFactory = result.factory;\n return result;\n } finally {\n this.childrenLoaders.delete(route);\n }\n })();\n this.childrenLoaders.set(route, loader);\n return loader;\n }\n static ɵfac = i0.ɵɵngDeclareFactory({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: RouterConfigLoader,\n deps: [],\n target: i0.ɵɵFactoryTarget.Injectable\n });\n static ɵprov = i0.ɵɵngDeclareInjectable({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: RouterConfigLoader,\n providedIn: 'root'\n });\n}\ni0.ɵɵngDeclareClassMetadata({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: RouterConfigLoader,\n decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }]\n});\nasync function loadChildren(route, compiler, parentInjector, onLoadEndListener) {\n const loaded = await wrapIntoPromise(runInInjectionContext(parentInjector, () => route.loadChildren()));\n const t = await maybeResolveResources(maybeUnwrapDefaultExport(loaded));\n let factoryOrRoutes;\n if (t instanceof NgModuleFactory || Array.isArray(t)) {\n factoryOrRoutes = t;\n } else {\n factoryOrRoutes = await compiler.compileModuleAsync(t);\n }\n if (onLoadEndListener) {\n onLoadEndListener(route);\n }\n let injector;\n let rawRoutes;\n let requireStandaloneComponents = false;\n let factory = undefined;\n if (Array.isArray(factoryOrRoutes)) {\n rawRoutes = factoryOrRoutes;\n requireStandaloneComponents = true;\n } else {\n injector = factoryOrRoutes.create(parentInjector).injector;\n factory = factoryOrRoutes;\n rawRoutes = injector.get(ROUTES, [], {\n optional: true,\n self: true\n }).flat();\n }\n const routes = rawRoutes.map(standardizeConfig);\n (typeof ngDevMode === 'undefined' || ngDevMode) && validateConfig(routes, route.path, requireStandaloneComponents);\n return {\n routes,\n injector,\n factory\n };\n}\nfunction isWrappedDefaultExport(value) {\n return value && typeof value === 'object' && 'default' in value;\n}\nfunction maybeUnwrapDefaultExport(input) {\n return isWrappedDefaultExport(input) ? input['default'] : input;\n}\nasync function maybeResolveResources(value) {\n if ((typeof ngJitMode === 'undefined' || ngJitMode) && typeof fetch === 'function') {\n try {\n await _resolveComponentResources(fetch);\n } catch (error) {\n console.error(error);\n }\n }\n return value;\n}\n\nclass UrlHandlingStrategy {\n static ɵfac = i0.ɵɵngDeclareFactory({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: UrlHandlingStrategy,\n deps: [],\n target: i0.ɵɵFactoryTarget.Injectable\n });\n static ɵprov = i0.ɵɵngDeclareInjectable({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: UrlHandlingStrategy,\n providedIn: 'root',\n useFactory: () => inject(DefaultUrlHandlingStrategy)\n });\n}\ni0.ɵɵngDeclareClassMetadata({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: UrlHandlingStrategy,\n decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n useFactory: () => inject(DefaultUrlHandlingStrategy)\n }]\n }]\n});\nclass DefaultUrlHandlingStrategy {\n shouldProcessUrl(url) {\n return true;\n }\n extract(url) {\n return url;\n }\n merge(newUrlPart, wholeUrl) {\n return newUrlPart;\n }\n static ɵfac = i0.ɵɵngDeclareFactory({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: DefaultUrlHandlingStrategy,\n deps: [],\n target: i0.ɵɵFactoryTarget.Injectable\n });\n static ɵprov = i0.ɵɵngDeclareInjectable({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: DefaultUrlHandlingStrategy,\n providedIn: 'root'\n });\n}\ni0.ɵɵngDeclareClassMetadata({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: DefaultUrlHandlingStrategy,\n decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }]\n});\n\nconst CREATE_VIEW_TRANSITION = new InjectionToken(typeof ngDevMode !== 'undefined' && ngDevMode ? 'view transition helper' : '');\nconst VIEW_TRANSITION_OPTIONS = new InjectionToken(typeof ngDevMode !== 'undefined' && ngDevMode ? 'view transition options' : '');\nfunction createViewTransition(injector, from, to) {\n const transitionOptions = injector.get(VIEW_TRANSITION_OPTIONS);\n const document = injector.get(DOCUMENT);\n if (!document.startViewTransition || transitionOptions.skipNextTransition) {\n transitionOptions.skipNextTransition = false;\n return new Promise(resolve => setTimeout(resolve));\n }\n let resolveViewTransitionStarted;\n const viewTransitionStarted = new Promise(resolve => {\n resolveViewTransitionStarted = resolve;\n });\n const transition = document.startViewTransition(() => {\n resolveViewTransitionStarted();\n return createRenderPromise(injector);\n });\n transition.updateCallbackDone.catch(error => {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n console.error(error);\n }\n });\n transition.ready.catch(error => {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n console.error(error);\n }\n });\n transition.finished.catch(error => {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n console.error(error);\n }\n });\n const {\n onViewTransitionCreated\n } = transitionOptions;\n if (onViewTransitionCreated) {\n runInInjectionContext(injector, () => onViewTransitionCreated({\n transition,\n from,\n to\n }));\n }\n return viewTransitionStarted;\n}\nfunction createRenderPromise(injector) {\n return new Promise(resolve => {\n afterNextRender({\n read: () => setTimeout(resolve)\n }, {\n injector\n });\n });\n}\n\nconst noop = () => {};\nconst NAVIGATION_ERROR_HANDLER = new InjectionToken(typeof ngDevMode === 'undefined' || ngDevMode ? 'navigation error handler' : '');\nclass NavigationTransitions {\n currentNavigation = signal(null, {\n ...(ngDevMode ? {\n debugName: \"currentNavigation\"\n } : {}),\n equal: () => false\n });\n currentTransition = null;\n lastSuccessfulNavigation = signal(null, ...(ngDevMode ? [{\n debugName: \"lastSuccessfulNavigation\"\n }] : []));\n events = new Subject();\n transitionAbortWithErrorSubject = new Subject();\n configLoader = inject(RouterConfigLoader);\n environmentInjector = inject(EnvironmentInjector);\n destroyRef = inject(DestroyRef);\n urlSerializer = inject(UrlSerializer);\n rootContexts = inject(ChildrenOutletContexts);\n location = inject(Location);\n inputBindingEnabled = inject(INPUT_BINDER, {\n optional: true\n }) !== null;\n titleStrategy = inject(TitleStrategy);\n options = inject(ROUTER_CONFIGURATION, {\n optional: true\n }) || {};\n paramsInheritanceStrategy = this.options.paramsInheritanceStrategy || 'emptyOnly';\n urlHandlingStrategy = inject(UrlHandlingStrategy);\n createViewTransition = inject(CREATE_VIEW_TRANSITION, {\n optional: true\n });\n navigationErrorHandler = inject(NAVIGATION_ERROR_HANDLER, {\n optional: true\n });\n navigationId = 0;\n get hasRequestedNavigation() {\n return this.navigationId !== 0;\n }\n transitions;\n afterPreactivation = () => of(void 0);\n rootComponentType = null;\n destroyed = false;\n constructor() {\n const onLoadStart = r => this.events.next(new RouteConfigLoadStart(r));\n const onLoadEnd = r => this.events.next(new RouteConfigLoadEnd(r));\n this.configLoader.onLoadEndListener = onLoadEnd;\n this.configLoader.onLoadStartListener = onLoadStart;\n this.destroyRef.onDestroy(() => {\n this.destroyed = true;\n });\n }\n complete() {\n this.transitions?.complete();\n }\n handleNavigationRequest(request) {\n const id = ++this.navigationId;\n untracked(() => {\n this.transitions?.next({\n ...request,\n extractedUrl: this.urlHandlingStrategy.extract(request.rawUrl),\n targetSnapshot: null,\n targetRouterState: null,\n guards: {\n canActivateChecks: [],\n canDeactivateChecks: []\n },\n guardsResult: null,\n id,\n routesRecognizeHandler: {},\n beforeActivateHandler: {}\n });\n });\n }\n setupNavigations(router) {\n this.transitions = new BehaviorSubject(null);\n return this.transitions.pipe(filter(t => t !== null), switchMap(overallTransitionState => {\n let completedOrAborted = false;\n const abortController = new AbortController();\n const shouldContinueNavigation = () => {\n return !completedOrAborted && this.currentTransition?.id === overallTransitionState.id;\n };\n return of(overallTransitionState).pipe(switchMap(t => {\n if (this.navigationId > overallTransitionState.id) {\n const cancellationReason = typeof ngDevMode === 'undefined' || ngDevMode ? `Navigation ID ${overallTransitionState.id} is not equal to the current navigation id ${this.navigationId}` : '';\n this.cancelNavigationTransition(overallTransitionState, cancellationReason, NavigationCancellationCode.SupersededByNewNavigation);\n return EMPTY;\n }\n this.currentTransition = overallTransitionState;\n const lastSuccessfulNavigation = this.lastSuccessfulNavigation();\n this.currentNavigation.set({\n id: t.id,\n initialUrl: t.rawUrl,\n extractedUrl: t.extractedUrl,\n targetBrowserUrl: typeof t.extras.browserUrl === 'string' ? this.urlSerializer.parse(t.extras.browserUrl) : t.extras.browserUrl,\n trigger: t.source,\n extras: t.extras,\n previousNavigation: !lastSuccessfulNavigation ? null : {\n ...lastSuccessfulNavigation,\n previousNavigation: null\n },\n abort: () => abortController.abort(),\n routesRecognizeHandler: t.routesRecognizeHandler,\n beforeActivateHandler: t.beforeActivateHandler\n });\n const urlTransition = !router.navigated || this.isUpdatingInternalState() || this.isUpdatedBrowserUrl();\n const onSameUrlNavigation = t.extras.onSameUrlNavigation ?? router.onSameUrlNavigation;\n if (!urlTransition && onSameUrlNavigation !== 'reload') {\n const reason = typeof ngDevMode === 'undefined' || ngDevMode ? `Navigation to ${t.rawUrl} was ignored because it is the same as the current Router URL.` : '';\n this.events.next(new NavigationSkipped(t.id, this.urlSerializer.serialize(t.rawUrl), reason, NavigationSkippedCode.IgnoredSameUrlNavigation));\n t.resolve(false);\n return EMPTY;\n }\n if (this.urlHandlingStrategy.shouldProcessUrl(t.rawUrl)) {\n return of(t).pipe(switchMap(t => {\n this.events.next(new NavigationStart(t.id, this.urlSerializer.serialize(t.extractedUrl), t.source, t.restoredState));\n if (t.id !== this.navigationId) {\n return EMPTY;\n }\n return Promise.resolve(t);\n }), recognize(this.environmentInjector, this.configLoader, this.rootComponentType, router.config, this.urlSerializer, this.paramsInheritanceStrategy, abortController.signal), tap(t => {\n overallTransitionState.targetSnapshot = t.targetSnapshot;\n overallTransitionState.urlAfterRedirects = t.urlAfterRedirects;\n this.currentNavigation.update(nav => {\n nav.finalUrl = t.urlAfterRedirects;\n return nav;\n });\n this.events.next(new BeforeRoutesRecognized());\n }), switchMap(value => from(overallTransitionState.routesRecognizeHandler.deferredHandle ?? of(void 0)).pipe(map(() => value))), tap(() => {\n const routesRecognized = new RoutesRecognized(t.id, this.urlSerializer.serialize(t.extractedUrl), this.urlSerializer.serialize(t.urlAfterRedirects), t.targetSnapshot);\n this.events.next(routesRecognized);\n }));\n } else if (urlTransition && this.urlHandlingStrategy.shouldProcessUrl(t.currentRawUrl)) {\n const {\n id,\n extractedUrl,\n source,\n restoredState,\n extras\n } = t;\n const navStart = new NavigationStart(id, this.urlSerializer.serialize(extractedUrl), source, restoredState);\n this.events.next(navStart);\n const targetSnapshot = createEmptyState(this.rootComponentType, this.environmentInjector).snapshot;\n this.currentTransition = overallTransitionState = {\n ...t,\n targetSnapshot,\n urlAfterRedirects: extractedUrl,\n extras: {\n ...extras,\n skipLocationChange: false,\n replaceUrl: false\n }\n };\n this.currentNavigation.update(nav => {\n nav.finalUrl = extractedUrl;\n return nav;\n });\n return of(overallTransitionState);\n } else {\n const reason = typeof ngDevMode === 'undefined' || ngDevMode ? `Navigation was ignored because the UrlHandlingStrategy` + ` indicated neither the current URL ${t.currentRawUrl} nor target URL ${t.rawUrl} should be processed.` : '';\n this.events.next(new NavigationSkipped(t.id, this.urlSerializer.serialize(t.extractedUrl), reason, NavigationSkippedCode.IgnoredByUrlHandlingStrategy));\n t.resolve(false);\n return EMPTY;\n }\n }), map(t => {\n const guardsStart = new GuardsCheckStart(t.id, this.urlSerializer.serialize(t.extractedUrl), this.urlSerializer.serialize(t.urlAfterRedirects), t.targetSnapshot);\n this.events.next(guardsStart);\n this.currentTransition = overallTransitionState = {\n ...t,\n guards: getAllRouteGuards(t.targetSnapshot, t.currentSnapshot, this.rootContexts)\n };\n return overallTransitionState;\n }), checkGuards(evt => this.events.next(evt)), switchMap(t => {\n overallTransitionState.guardsResult = t.guardsResult;\n if (t.guardsResult && typeof t.guardsResult !== 'boolean') {\n throw redirectingNavigationError(this.urlSerializer, t.guardsResult);\n }\n const guardsEnd = new GuardsCheckEnd(t.id, this.urlSerializer.serialize(t.extractedUrl), this.urlSerializer.serialize(t.urlAfterRedirects), t.targetSnapshot, !!t.guardsResult);\n this.events.next(guardsEnd);\n if (!shouldContinueNavigation()) {\n return EMPTY;\n }\n if (!t.guardsResult) {\n this.cancelNavigationTransition(t, '', NavigationCancellationCode.GuardRejected);\n return EMPTY;\n }\n if (t.guards.canActivateChecks.length === 0) {\n return of(t);\n }\n const resolveStart = new ResolveStart(t.id, this.urlSerializer.serialize(t.extractedUrl), this.urlSerializer.serialize(t.urlAfterRedirects), t.targetSnapshot);\n this.events.next(resolveStart);\n if (!shouldContinueNavigation()) {\n return EMPTY;\n }\n let dataResolved = false;\n return of(t).pipe(resolveData(this.paramsInheritanceStrategy), tap({\n next: () => {\n dataResolved = true;\n const resolveEnd = new ResolveEnd(t.id, this.urlSerializer.serialize(t.extractedUrl), this.urlSerializer.serialize(t.urlAfterRedirects), t.targetSnapshot);\n this.events.next(resolveEnd);\n },\n complete: () => {\n if (!dataResolved) {\n this.cancelNavigationTransition(t, typeof ngDevMode === 'undefined' || ngDevMode ? `At least one route resolver didn't emit any value.` : '', NavigationCancellationCode.NoDataFromResolver);\n }\n }\n }));\n }), switchTap(t => {\n const loadComponents = route => {\n const loaders = [];\n if (route.routeConfig?._loadedComponent) {\n route.component = route.routeConfig?._loadedComponent;\n } else if (route.routeConfig?.loadComponent) {\n const injector = route._environmentInjector;\n loaders.push(this.configLoader.loadComponent(injector, route.routeConfig).then(loadedComponent => {\n route.component = loadedComponent;\n }));\n }\n for (const child of route.children) {\n loaders.push(...loadComponents(child));\n }\n return loaders;\n };\n const loaders = loadComponents(t.targetSnapshot.root);\n return loaders.length === 0 ? of(t) : from(Promise.all(loaders).then(() => t));\n }), switchTap(() => this.afterPreactivation()), switchMap(() => {\n const {\n currentSnapshot,\n targetSnapshot\n } = overallTransitionState;\n const viewTransitionStarted = this.createViewTransition?.(this.environmentInjector, currentSnapshot.root, targetSnapshot.root);\n return viewTransitionStarted ? from(viewTransitionStarted).pipe(map(() => overallTransitionState)) : of(overallTransitionState);\n }), take(1), switchMap(t => {\n const targetRouterState = createRouterState(router.routeReuseStrategy, t.targetSnapshot, t.currentRouterState);\n this.currentTransition = overallTransitionState = t = {\n ...t,\n targetRouterState\n };\n this.currentNavigation.update(nav => {\n nav.targetRouterState = targetRouterState;\n return nav;\n });\n this.events.next(new BeforeActivateRoutes());\n const deferred = overallTransitionState.beforeActivateHandler.deferredHandle;\n return deferred ? from(deferred.then(() => t)) : of(t);\n }), tap(t => {\n new ActivateRoutes(router.routeReuseStrategy, overallTransitionState.targetRouterState, overallTransitionState.currentRouterState, evt => this.events.next(evt), this.inputBindingEnabled).activate(this.rootContexts);\n if (!shouldContinueNavigation()) {\n return;\n }\n completedOrAborted = true;\n this.currentNavigation.update(nav => {\n nav.abort = noop;\n return nav;\n });\n this.lastSuccessfulNavigation.set(untracked(this.currentNavigation));\n this.events.next(new NavigationEnd(t.id, this.urlSerializer.serialize(t.extractedUrl), this.urlSerializer.serialize(t.urlAfterRedirects)));\n this.titleStrategy?.updateTitle(t.targetRouterState.snapshot);\n t.resolve(true);\n }), takeUntil(abortSignalToObservable(abortController.signal).pipe(filter(() => !completedOrAborted && !overallTransitionState.targetRouterState), tap(() => {\n this.cancelNavigationTransition(overallTransitionState, abortController.signal.reason + '', NavigationCancellationCode.Aborted);\n }))), tap({\n complete: () => {\n completedOrAborted = true;\n }\n }), takeUntil(this.transitionAbortWithErrorSubject.pipe(tap(err => {\n throw err;\n }))), finalize(() => {\n abortController.abort();\n if (!completedOrAborted) {\n const cancelationReason = typeof ngDevMode === 'undefined' || ngDevMode ? `Navigation ID ${overallTransitionState.id} is not equal to the current navigation id ${this.navigationId}` : '';\n this.cancelNavigationTransition(overallTransitionState, cancelationReason, NavigationCancellationCode.SupersededByNewNavigation);\n }\n if (this.currentTransition?.id === overallTransitionState.id) {\n this.currentNavigation.set(null);\n this.currentTransition = null;\n }\n }), catchError(e => {\n completedOrAborted = true;\n if (this.destroyed) {\n overallTransitionState.resolve(false);\n return EMPTY;\n }\n if (isNavigationCancelingError(e)) {\n this.events.next(new NavigationCancel(overallTransitionState.id, this.urlSerializer.serialize(overallTransitionState.extractedUrl), e.message, e.cancellationCode));\n if (!isRedirectingNavigationCancelingError(e)) {\n overallTransitionState.resolve(false);\n } else {\n this.events.next(new RedirectRequest(e.url, e.navigationBehaviorOptions));\n }\n } else {\n const navigationError = new NavigationError(overallTransitionState.id, this.urlSerializer.serialize(overallTransitionState.extractedUrl), e, overallTransitionState.targetSnapshot ?? undefined);\n try {\n const navigationErrorHandlerResult = runInInjectionContext(this.environmentInjector, () => this.navigationErrorHandler?.(navigationError));\n if (navigationErrorHandlerResult instanceof RedirectCommand) {\n const {\n message,\n cancellationCode\n } = redirectingNavigationError(this.urlSerializer, navigationErrorHandlerResult);\n this.events.next(new NavigationCancel(overallTransitionState.id, this.urlSerializer.serialize(overallTransitionState.extractedUrl), message, cancellationCode));\n this.events.next(new RedirectRequest(navigationErrorHandlerResult.redirectTo, navigationErrorHandlerResult.navigationBehaviorOptions));\n } else {\n this.events.next(navigationError);\n throw e;\n }\n } catch (ee) {\n if (this.options.resolveNavigationPromiseOnError) {\n overallTransitionState.resolve(false);\n } else {\n overallTransitionState.reject(ee);\n }\n }\n }\n return EMPTY;\n }));\n }));\n }\n cancelNavigationTransition(t, reason, code) {\n const navCancel = new NavigationCancel(t.id, this.urlSerializer.serialize(t.extractedUrl), reason, code);\n this.events.next(navCancel);\n t.resolve(false);\n }\n isUpdatingInternalState() {\n return this.currentTransition?.extractedUrl.toString() !== this.currentTransition?.currentUrlTree.toString();\n }\n isUpdatedBrowserUrl() {\n const currentBrowserUrl = this.urlHandlingStrategy.extract(this.urlSerializer.parse(this.location.path(true)));\n const currentNavigation = untracked(this.currentNavigation);\n const targetBrowserUrl = currentNavigation?.targetBrowserUrl ?? currentNavigation?.extractedUrl;\n return currentBrowserUrl.toString() !== targetBrowserUrl?.toString() && !currentNavigation?.extras.skipLocationChange;\n }\n static ɵfac = i0.ɵɵngDeclareFactory({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: NavigationTransitions,\n deps: [],\n target: i0.ɵɵFactoryTarget.Injectable\n });\n static ɵprov = i0.ɵɵngDeclareInjectable({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: NavigationTransitions,\n providedIn: 'root'\n });\n}\ni0.ɵɵngDeclareClassMetadata({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: NavigationTransitions,\n decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }],\n ctorParameters: () => []\n});\nfunction isBrowserTriggeredNavigation(source) {\n return source !== IMPERATIVE_NAVIGATION;\n}\n\nconst ROUTE_INJECTOR_CLEANUP = new InjectionToken(typeof ngDevMode === 'undefined' || ngDevMode ? 'RouteInjectorCleanup' : '');\nfunction routeInjectorCleanup(routeReuseStrategy, routerState, config) {\n const activeRoutes = new Set();\n if (routerState.snapshot.root) {\n collectDescendants(routerState.snapshot.root, activeRoutes);\n }\n const storedHandles = routeReuseStrategy.retrieveStoredRouteHandles?.() || [];\n for (const handle of storedHandles) {\n const internalHandle = handle;\n if (internalHandle?.route?.value?.snapshot) {\n for (const snapshot of internalHandle.route.value.snapshot.pathFromRoot) {\n if (snapshot.routeConfig) {\n activeRoutes.add(snapshot.routeConfig);\n }\n }\n }\n }\n destroyUnusedInjectors(config, activeRoutes, routeReuseStrategy, false);\n}\nfunction collectDescendants(snapshot, activeRoutes) {\n if (snapshot.routeConfig) {\n activeRoutes.add(snapshot.routeConfig);\n }\n for (const child of snapshot.children) {\n collectDescendants(child, activeRoutes);\n }\n}\nfunction destroyUnusedInjectors(routes, activeRoutes, strategy, inheritedForceDestroy) {\n for (const route of routes) {\n const shouldDestroyCurrentRoute = inheritedForceDestroy || !!((route._injector || route._loadedInjector) && !activeRoutes.has(route) && (strategy.shouldDestroyInjector?.(route) ?? false));\n if (route.children) {\n destroyUnusedInjectors(route.children, activeRoutes, strategy, shouldDestroyCurrentRoute);\n }\n if (route.loadChildren && route._loadedRoutes) {\n destroyUnusedInjectors(route._loadedRoutes, activeRoutes, strategy, shouldDestroyCurrentRoute);\n }\n if (shouldDestroyCurrentRoute) {\n if (route._injector) {\n route._injector.destroy();\n route._injector = undefined;\n }\n if (route._loadedInjector) {\n route._loadedInjector.destroy();\n route._loadedInjector = undefined;\n }\n }\n }\n}\n\nfunction destroyDetachedRouteHandle(handle) {\n const internalHandle = handle;\n if (internalHandle && internalHandle.componentRef) {\n internalHandle.componentRef.destroy();\n }\n}\nclass RouteReuseStrategy {\n static ɵfac = i0.ɵɵngDeclareFactory({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: RouteReuseStrategy,\n deps: [],\n target: i0.ɵɵFactoryTarget.Injectable\n });\n static ɵprov = i0.ɵɵngDeclareInjectable({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: RouteReuseStrategy,\n providedIn: 'root',\n useFactory: () => inject(DefaultRouteReuseStrategy)\n });\n}\ni0.ɵɵngDeclareClassMetadata({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: RouteReuseStrategy,\n decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n useFactory: () => inject(DefaultRouteReuseStrategy)\n }]\n }]\n});\nclass BaseRouteReuseStrategy {\n shouldDetach(route) {\n return false;\n }\n store(route, detachedTree) {}\n shouldAttach(route) {\n return false;\n }\n retrieve(route) {\n return null;\n }\n shouldReuseRoute(future, curr) {\n return future.routeConfig === curr.routeConfig;\n }\n shouldDestroyInjector(route) {\n return true;\n }\n}\nclass DefaultRouteReuseStrategy extends BaseRouteReuseStrategy {\n static ɵfac = i0.ɵɵngDeclareFactory({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: DefaultRouteReuseStrategy,\n deps: null,\n target: i0.ɵɵFactoryTarget.Injectable\n });\n static ɵprov = i0.ɵɵngDeclareInjectable({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: DefaultRouteReuseStrategy,\n providedIn: 'root'\n });\n}\ni0.ɵɵngDeclareClassMetadata({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: DefaultRouteReuseStrategy,\n decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }]\n});\n\nclass StateManager {\n urlSerializer = inject(UrlSerializer);\n options = inject(ROUTER_CONFIGURATION, {\n optional: true\n }) || {};\n canceledNavigationResolution = this.options.canceledNavigationResolution || 'replace';\n location = inject(Location);\n urlHandlingStrategy = inject(UrlHandlingStrategy);\n urlUpdateStrategy = this.options.urlUpdateStrategy || 'deferred';\n currentUrlTree = new UrlTree();\n getCurrentUrlTree() {\n return this.currentUrlTree;\n }\n rawUrlTree = this.currentUrlTree;\n getRawUrlTree() {\n return this.rawUrlTree;\n }\n createBrowserPath({\n finalUrl,\n initialUrl,\n targetBrowserUrl\n }) {\n const rawUrl = finalUrl !== undefined ? this.urlHandlingStrategy.merge(finalUrl, initialUrl) : initialUrl;\n const url = targetBrowserUrl ?? rawUrl;\n const path = url instanceof UrlTree ? this.urlSerializer.serialize(url) : url;\n return path;\n }\n commitTransition({\n targetRouterState,\n finalUrl,\n initialUrl\n }) {\n if (finalUrl && targetRouterState) {\n this.currentUrlTree = finalUrl;\n this.rawUrlTree = this.urlHandlingStrategy.merge(finalUrl, initialUrl);\n this.routerState = targetRouterState;\n } else {\n this.rawUrlTree = initialUrl;\n }\n }\n routerState = createEmptyState(null, inject(EnvironmentInjector));\n getRouterState() {\n return this.routerState;\n }\n _stateMemento = this.createStateMemento();\n get stateMemento() {\n return this._stateMemento;\n }\n updateStateMemento() {\n this._stateMemento = this.createStateMemento();\n }\n createStateMemento() {\n return {\n rawUrlTree: this.rawUrlTree,\n currentUrlTree: this.currentUrlTree,\n routerState: this.routerState\n };\n }\n restoredState() {\n return this.location.getState();\n }\n static ɵfac = i0.ɵɵngDeclareFactory({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: StateManager,\n deps: [],\n target: i0.ɵɵFactoryTarget.Injectable\n });\n static ɵprov = i0.ɵɵngDeclareInjectable({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: StateManager,\n providedIn: 'root',\n useFactory: () => inject(HistoryStateManager)\n });\n}\ni0.ɵɵngDeclareClassMetadata({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: StateManager,\n decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n useFactory: () => inject(HistoryStateManager)\n }]\n }]\n});\nclass HistoryStateManager extends StateManager {\n currentPageId = 0;\n lastSuccessfulId = -1;\n get browserPageId() {\n if (this.canceledNavigationResolution !== 'computed') {\n return this.currentPageId;\n }\n return this.restoredState()?.ɵrouterPageId ?? this.currentPageId;\n }\n registerNonRouterCurrentEntryChangeListener(listener) {\n return this.location.subscribe(event => {\n if (event['type'] === 'popstate') {\n setTimeout(() => {\n listener(event['url'], event.state, 'popstate', {\n replaceUrl: true\n });\n });\n }\n });\n }\n handleRouterEvent(e, currentTransition) {\n if (e instanceof NavigationStart) {\n this.updateStateMemento();\n } else if (e instanceof NavigationSkipped) {\n this.commitTransition(currentTransition);\n } else if (e instanceof RoutesRecognized) {\n if (this.urlUpdateStrategy === 'eager') {\n if (!currentTransition.extras.skipLocationChange) {\n this.setBrowserUrl(this.createBrowserPath(currentTransition), currentTransition);\n }\n }\n } else if (e instanceof BeforeActivateRoutes) {\n this.commitTransition(currentTransition);\n if (this.urlUpdateStrategy === 'deferred' && !currentTransition.extras.skipLocationChange) {\n this.setBrowserUrl(this.createBrowserPath(currentTransition), currentTransition);\n }\n } else if (e instanceof NavigationCancel && !isRedirectingEvent(e)) {\n this.restoreHistory(currentTransition);\n } else if (e instanceof NavigationError) {\n this.restoreHistory(currentTransition, true);\n } else if (e instanceof NavigationEnd) {\n this.lastSuccessfulId = e.id;\n this.currentPageId = this.browserPageId;\n }\n }\n setBrowserUrl(path, {\n extras,\n id\n }) {\n const {\n replaceUrl,\n state\n } = extras;\n if (this.location.isCurrentPathEqualTo(path) || !!replaceUrl) {\n const currentBrowserPageId = this.browserPageId;\n const newState = {\n ...state,\n ...this.generateNgRouterState(id, currentBrowserPageId)\n };\n this.location.replaceState(path, '', newState);\n } else {\n const newState = {\n ...state,\n ...this.generateNgRouterState(id, this.browserPageId + 1)\n };\n this.location.go(path, '', newState);\n }\n }\n restoreHistory(navigation, restoringFromCaughtError = false) {\n if (this.canceledNavigationResolution === 'computed') {\n const currentBrowserPageId = this.browserPageId;\n const targetPagePosition = this.currentPageId - currentBrowserPageId;\n if (targetPagePosition !== 0) {\n this.location.historyGo(targetPagePosition);\n } else if (this.getCurrentUrlTree() === navigation.finalUrl && targetPagePosition === 0) {\n this.resetInternalState(navigation);\n this.resetUrlToCurrentUrlTree();\n } else ;\n } else if (this.canceledNavigationResolution === 'replace') {\n if (restoringFromCaughtError) {\n this.resetInternalState(navigation);\n }\n this.resetUrlToCurrentUrlTree();\n }\n }\n resetInternalState({\n finalUrl\n }) {\n this.routerState = this.stateMemento.routerState;\n this.currentUrlTree = this.stateMemento.currentUrlTree;\n this.rawUrlTree = this.urlHandlingStrategy.merge(this.currentUrlTree, finalUrl ?? this.rawUrlTree);\n }\n resetUrlToCurrentUrlTree() {\n this.location.replaceState(this.urlSerializer.serialize(this.getRawUrlTree()), '', this.generateNgRouterState(this.lastSuccessfulId, this.currentPageId));\n }\n generateNgRouterState(navigationId, routerPageId) {\n if (this.canceledNavigationResolution === 'computed') {\n return {\n navigationId,\n ɵrouterPageId: routerPageId\n };\n }\n return {\n navigationId\n };\n }\n static ɵfac = i0.ɵɵngDeclareFactory({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: HistoryStateManager,\n deps: null,\n target: i0.ɵɵFactoryTarget.Injectable\n });\n static ɵprov = i0.ɵɵngDeclareInjectable({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: HistoryStateManager,\n providedIn: 'root'\n });\n}\ni0.ɵɵngDeclareClassMetadata({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: HistoryStateManager,\n decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }]\n});\n\nfunction afterNextNavigation(router, action) {\n router.events.pipe(filter(e => e instanceof NavigationEnd || e instanceof NavigationCancel || e instanceof NavigationError || e instanceof NavigationSkipped), map(e => {\n if (e instanceof NavigationEnd || e instanceof NavigationSkipped) {\n return 0;\n }\n const redirecting = e instanceof NavigationCancel ? e.code === NavigationCancellationCode.Redirect || e.code === NavigationCancellationCode.SupersededByNewNavigation : false;\n return redirecting ? 2 : 1;\n }), filter(result => result !== 2), take(1)).subscribe(() => {\n action();\n });\n}\n\nclass Router {\n get currentUrlTree() {\n return this.stateManager.getCurrentUrlTree();\n }\n get rawUrlTree() {\n return this.stateManager.getRawUrlTree();\n }\n disposed = false;\n nonRouterCurrentEntryChangeSubscription;\n console = inject(_Console);\n stateManager = inject(StateManager);\n options = inject(ROUTER_CONFIGURATION, {\n optional: true\n }) || {};\n pendingTasks = inject(_PendingTasksInternal);\n urlUpdateStrategy = this.options.urlUpdateStrategy || 'deferred';\n navigationTransitions = inject(NavigationTransitions);\n urlSerializer = inject(UrlSerializer);\n location = inject(Location);\n urlHandlingStrategy = inject(UrlHandlingStrategy);\n injector = inject(EnvironmentInjector);\n _events = new Subject();\n get events() {\n return this._events;\n }\n get routerState() {\n return this.stateManager.getRouterState();\n }\n navigated = false;\n routeReuseStrategy = inject(RouteReuseStrategy);\n injectorCleanup = inject(ROUTE_INJECTOR_CLEANUP, {\n optional: true\n });\n onSameUrlNavigation = this.options.onSameUrlNavigation || 'ignore';\n config = inject(ROUTES, {\n optional: true\n })?.flat() ?? [];\n componentInputBindingEnabled = !!inject(INPUT_BINDER, {\n optional: true\n });\n currentNavigation = this.navigationTransitions.currentNavigation.asReadonly();\n constructor() {\n this.resetConfig(this.config);\n this.navigationTransitions.setupNavigations(this).subscribe({\n error: e => {}\n });\n this.subscribeToNavigationEvents();\n }\n eventsSubscription = new Subscription();\n subscribeToNavigationEvents() {\n const subscription = this.navigationTransitions.events.subscribe(e => {\n try {\n const currentTransition = this.navigationTransitions.currentTransition;\n const currentNavigation = untracked(this.navigationTransitions.currentNavigation);\n if (currentTransition !== null && currentNavigation !== null) {\n this.stateManager.handleRouterEvent(e, currentNavigation);\n if (e instanceof NavigationCancel && e.code !== NavigationCancellationCode.Redirect && e.code !== NavigationCancellationCode.SupersededByNewNavigation) {\n this.navigated = true;\n } else if (e instanceof NavigationEnd) {\n this.navigated = true;\n this.injectorCleanup?.(this.routeReuseStrategy, this.routerState, this.config);\n } else if (e instanceof RedirectRequest) {\n const opts = e.navigationBehaviorOptions;\n const mergedTree = this.urlHandlingStrategy.merge(e.url, currentTransition.currentRawUrl);\n const extras = {\n scroll: currentTransition.extras.scroll,\n browserUrl: currentTransition.extras.browserUrl,\n info: currentTransition.extras.info,\n skipLocationChange: currentTransition.extras.skipLocationChange,\n replaceUrl: currentTransition.extras.replaceUrl || this.urlUpdateStrategy === 'eager' || isBrowserTriggeredNavigation(currentTransition.source),\n ...opts\n };\n this.scheduleNavigation(mergedTree, IMPERATIVE_NAVIGATION, null, extras, {\n resolve: currentTransition.resolve,\n reject: currentTransition.reject,\n promise: currentTransition.promise\n });\n }\n }\n if (isPublicRouterEvent(e)) {\n this._events.next(e);\n }\n } catch (e) {\n this.navigationTransitions.transitionAbortWithErrorSubject.next(e);\n }\n });\n this.eventsSubscription.add(subscription);\n }\n resetRootComponentType(rootComponentType) {\n this.routerState.root.component = rootComponentType;\n this.navigationTransitions.rootComponentType = rootComponentType;\n }\n initialNavigation() {\n this.setUpLocationChangeListener();\n if (!this.navigationTransitions.hasRequestedNavigation) {\n this.navigateToSyncWithBrowser(this.location.path(true), IMPERATIVE_NAVIGATION, this.stateManager.restoredState(), {\n replaceUrl: true\n });\n }\n }\n setUpLocationChangeListener() {\n this.nonRouterCurrentEntryChangeSubscription ??= this.stateManager.registerNonRouterCurrentEntryChangeListener((url, state, source, extras) => {\n this.navigateToSyncWithBrowser(url, source, state, extras);\n });\n }\n navigateToSyncWithBrowser(url, source, state, extras) {\n const restoredState = state?.navigationId ? state : null;\n if (state) {\n const stateCopy = {\n ...state\n };\n delete stateCopy.navigationId;\n delete stateCopy.ɵrouterPageId;\n if (Object.keys(stateCopy).length !== 0) {\n extras.state = stateCopy;\n }\n }\n const urlTree = this.parseUrl(url);\n this.scheduleNavigation(urlTree, source, restoredState, extras).catch(e => {\n if (this.disposed) {\n return;\n }\n this.injector.get(_INTERNAL_APPLICATION_ERROR_HANDLER)(e);\n });\n }\n get url() {\n return this.serializeUrl(this.currentUrlTree);\n }\n getCurrentNavigation() {\n return untracked(this.navigationTransitions.currentNavigation);\n }\n get lastSuccessfulNavigation() {\n return this.navigationTransitions.lastSuccessfulNavigation;\n }\n resetConfig(config) {\n (typeof ngDevMode === 'undefined' || ngDevMode) && validateConfig(config);\n this.config = config.map(standardizeConfig);\n this.navigated = false;\n }\n ngOnDestroy() {\n this.dispose();\n }\n dispose() {\n this._events.unsubscribe();\n this.navigationTransitions.complete();\n this.nonRouterCurrentEntryChangeSubscription?.unsubscribe();\n this.nonRouterCurrentEntryChangeSubscription = undefined;\n this.disposed = true;\n this.eventsSubscription.unsubscribe();\n }\n createUrlTree(commands, navigationExtras = {}) {\n const {\n relativeTo,\n queryParams,\n fragment,\n queryParamsHandling,\n preserveFragment\n } = navigationExtras;\n const f = preserveFragment ? this.currentUrlTree.fragment : fragment;\n let q = null;\n switch (queryParamsHandling ?? this.options.defaultQueryParamsHandling) {\n case 'merge':\n q = {\n ...this.currentUrlTree.queryParams,\n ...queryParams\n };\n break;\n case 'preserve':\n q = this.currentUrlTree.queryParams;\n break;\n default:\n q = queryParams || null;\n }\n if (q !== null) {\n q = this.removeEmptyProps(q);\n }\n let relativeToUrlSegmentGroup;\n try {\n const relativeToSnapshot = relativeTo ? relativeTo.snapshot : this.routerState.snapshot.root;\n relativeToUrlSegmentGroup = createSegmentGroupFromRoute(relativeToSnapshot);\n } catch (e) {\n if (typeof commands[0] !== 'string' || commands[0][0] !== '/') {\n commands = [];\n }\n relativeToUrlSegmentGroup = this.currentUrlTree.root;\n }\n return createUrlTreeFromSegmentGroup(relativeToUrlSegmentGroup, commands, q, f ?? null, this.urlSerializer);\n }\n navigateByUrl(url, extras = {\n skipLocationChange: false\n }) {\n const urlTree = isUrlTree(url) ? url : this.parseUrl(url);\n const mergedTree = this.urlHandlingStrategy.merge(urlTree, this.rawUrlTree);\n return this.scheduleNavigation(mergedTree, IMPERATIVE_NAVIGATION, null, extras);\n }\n navigate(commands, extras = {\n skipLocationChange: false\n }) {\n validateCommands(commands);\n return this.navigateByUrl(this.createUrlTree(commands, extras), extras);\n }\n serializeUrl(url) {\n return this.urlSerializer.serialize(url);\n }\n parseUrl(url) {\n try {\n return this.urlSerializer.parse(url);\n } catch (e) {\n this.console.warn(_formatRuntimeError(4018, ngDevMode && `Error parsing URL ${url}. Falling back to '/' instead. \\n` + e));\n return this.urlSerializer.parse('/');\n }\n }\n isActive(url, matchOptions) {\n let options;\n if (matchOptions === true) {\n options = {\n ...exactMatchOptions\n };\n } else if (matchOptions === false) {\n options = {\n ...subsetMatchOptions\n };\n } else {\n options = {\n ...subsetMatchOptions,\n ...matchOptions\n };\n }\n if (isUrlTree(url)) {\n return containsTree(this.currentUrlTree, url, options);\n }\n const urlTree = this.parseUrl(url);\n return containsTree(this.currentUrlTree, urlTree, options);\n }\n removeEmptyProps(params) {\n return Object.entries(params).reduce((result, [key, value]) => {\n if (value !== null && value !== undefined) {\n result[key] = value;\n }\n return result;\n }, {});\n }\n scheduleNavigation(rawUrl, source, restoredState, extras, priorPromise) {\n if (this.disposed) {\n return Promise.resolve(false);\n }\n let resolve;\n let reject;\n let promise;\n if (priorPromise) {\n resolve = priorPromise.resolve;\n reject = priorPromise.reject;\n promise = priorPromise.promise;\n } else {\n promise = new Promise((res, rej) => {\n resolve = res;\n reject = rej;\n });\n }\n const taskId = this.pendingTasks.add();\n afterNextNavigation(this, () => {\n queueMicrotask(() => this.pendingTasks.remove(taskId));\n });\n this.navigationTransitions.handleNavigationRequest({\n source,\n restoredState,\n currentUrlTree: this.currentUrlTree,\n currentRawUrl: this.currentUrlTree,\n rawUrl,\n extras,\n resolve: resolve,\n reject: reject,\n promise,\n currentSnapshot: this.routerState.snapshot,\n currentRouterState: this.routerState\n });\n return promise.catch(Promise.reject.bind(Promise));\n }\n static ɵfac = i0.ɵɵngDeclareFactory({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: Router,\n deps: [],\n target: i0.ɵɵFactoryTarget.Injectable\n });\n static ɵprov = i0.ɵɵngDeclareInjectable({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: Router,\n providedIn: 'root'\n });\n}\ni0.ɵɵngDeclareClassMetadata({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: Router,\n decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }],\n ctorParameters: () => []\n});\nfunction validateCommands(commands) {\n for (let i = 0; i < commands.length; i++) {\n const cmd = commands[i];\n if (cmd == null) {\n throw new _RuntimeError(4008, (typeof ngDevMode === 'undefined' || ngDevMode) && `The requested path contains ${cmd} segment at index ${i}`);\n }\n }\n}\n\nexport { ActivatedRoute, ActivatedRouteSnapshot, ActivationEnd, ActivationStart, BaseRouteReuseStrategy, BeforeActivateRoutes, BeforeRoutesRecognized, CREATE_VIEW_TRANSITION, ChildActivationEnd, ChildActivationStart, ChildrenOutletContexts, DefaultTitleStrategy, DefaultUrlSerializer, EventType, GuardsCheckEnd, GuardsCheckStart, IMPERATIVE_NAVIGATION, INPUT_BINDER, NAVIGATION_ERROR_HANDLER, NavigationCancel, NavigationCancellationCode, NavigationEnd, NavigationError, NavigationSkipped, NavigationSkippedCode, NavigationStart, NavigationTransitions, OutletContext, PRIMARY_OUTLET, ROUTER_CONFIGURATION, ROUTER_OUTLET_DATA, ROUTES, ROUTE_INJECTOR_CLEANUP, RedirectCommand, ResolveEnd, ResolveStart, RouteConfigLoadEnd, RouteConfigLoadStart, RouteReuseStrategy, RoutedComponentInputBinder, Router, RouterConfigLoader, RouterEvent, RouterOutlet, RouterState, RouterStateSnapshot, RoutesRecognized, Scroll, StateManager, TitleStrategy, UrlHandlingStrategy, UrlSegment, UrlSegmentGroup, UrlSerializer, UrlTree, VIEW_TRANSITION_OPTIONS, afterNextNavigation, convertToParamMap, createUrlTreeFromSnapshot, createViewTransition, defaultUrlMatcher, destroyDetachedRouteHandle, exactMatchOptions, isActive, isRedirectingEvent, isUrlTree, loadChildren, routeInjectorCleanup, stringifyEvent, subsetMatchOptions, ɵEmptyOutletComponent };\n//# sourceMappingURL=_router-chunk.mjs.map\n",
|
|
281
|
+
"/**\n * @license Angular v21.2.6\n * (c) 2010-2026 Google LLC. https://angular.dev/\n * License: MIT\n */\n\nimport * as i3 from '@angular/common';\nimport { ViewportScroller, PlatformNavigation, PlatformLocation, ɵPRECOMMIT_HANDLER_SUPPORTED as _PRECOMMIT_HANDLER_SUPPORTED, LOCATION_INITIALIZED, Location, ɵNavigationAdapterForLocation as _NavigationAdapterForLocation, HashLocationStrategy, LocationStrategy, PathLocationStrategy } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { inject, HostAttributeToken, linkedSignal, untracked, signal, ɵINTERNAL_APPLICATION_ERROR_HANDLER as _INTERNAL_APPLICATION_ERROR_HANDLER, effect, ɵRuntimeError as _RuntimeError, computed, booleanAttribute, Injectable, HostListener, Input, Attribute, Directive, EventEmitter, Output, ContentChildren, createEnvironmentInjector, InjectionToken, NgZone, EnvironmentInjector, DestroyRef, afterNextRender, ɵpromiseWithResolvers as _promiseWithResolvers, ɵpublishExternalGlobalUtil as _publishExternalGlobalUtil, makeEnvironmentProviders, APP_BOOTSTRAP_LISTENER, ENVIRONMENT_INITIALIZER, provideAppInitializer, ɵIS_ENABLED_BLOCKING_INITIAL_NAVIGATION as _IS_ENABLED_BLOCKING_INITIAL_NAVIGATION, Injector, provideEnvironmentInitializer, ɵperformanceMarkFeature as _performanceMarkFeature, ApplicationRef, NgModule } from '@angular/core';\nimport { ROUTER_CONFIGURATION, isUrlTree, Router, ActivatedRoute, StateManager, UrlSerializer, NavigationEnd, UrlTree, isActive, exactMatchOptions, subsetMatchOptions, RouterConfigLoader, IMPERATIVE_NAVIGATION, NavigationTransitions, NavigationStart, NavigationSkipped, NavigationSkippedCode, Scroll, BeforeRoutesRecognized, BeforeActivateRoutes, NavigationCancel, NavigationError, isRedirectingEvent, NavigationCancellationCode, ROUTES, afterNextNavigation, NAVIGATION_ERROR_HANDLER, routeInjectorCleanup, ROUTE_INJECTOR_CLEANUP, RoutedComponentInputBinder, INPUT_BINDER, createViewTransition, CREATE_VIEW_TRANSITION, VIEW_TRANSITION_OPTIONS, stringifyEvent, DefaultUrlSerializer, ChildrenOutletContexts, RouterOutlet, ɵEmptyOutletComponent as _EmptyOutletComponent } from './_router-chunk.mjs';\nimport { Subject, of, from } from 'rxjs';\nimport { mergeAll, catchError, filter, concatMap, mergeMap } from 'rxjs/operators';\n\nclass ReactiveRouterState {\n router = inject(Router);\n stateManager = inject(StateManager);\n fragment = signal('', ...(ngDevMode ? [{\n debugName: \"fragment\"\n }] : []));\n queryParams = signal({}, ...(ngDevMode ? [{\n debugName: \"queryParams\"\n }] : []));\n path = signal('', ...(ngDevMode ? [{\n debugName: \"path\"\n }] : []));\n serializer = inject(UrlSerializer);\n constructor() {\n this.updateState();\n this.router.events?.subscribe(e => {\n if (e instanceof NavigationEnd) {\n this.updateState();\n }\n });\n }\n updateState() {\n const {\n fragment,\n root,\n queryParams\n } = this.stateManager.getCurrentUrlTree();\n this.fragment.set(fragment);\n this.queryParams.set(queryParams);\n this.path.set(this.serializer.serialize(new UrlTree(root)));\n }\n static ɵfac = i0.ɵɵngDeclareFactory({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: ReactiveRouterState,\n deps: [],\n target: i0.ɵɵFactoryTarget.Injectable\n });\n static ɵprov = i0.ɵɵngDeclareInjectable({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: ReactiveRouterState,\n providedIn: 'root'\n });\n}\ni0.ɵɵngDeclareClassMetadata({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: ReactiveRouterState,\n decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }],\n ctorParameters: () => []\n});\nclass RouterLink {\n router;\n route;\n tabIndexAttribute;\n renderer;\n el;\n locationStrategy;\n hrefAttributeValue = inject(new HostAttributeToken('href'), {\n optional: true\n });\n reactiveHref = linkedSignal(() => {\n if (!this.isAnchorElement) {\n return this.hrefAttributeValue;\n }\n return this.computeHref(this._urlTree());\n }, ...(ngDevMode ? [{\n debugName: \"reactiveHref\"\n }] : []));\n get href() {\n return untracked(this.reactiveHref);\n }\n set href(value) {\n this.reactiveHref.set(value);\n }\n set target(value) {\n this._target.set(value);\n }\n get target() {\n return untracked(this._target);\n }\n _target = signal(undefined, ...(ngDevMode ? [{\n debugName: \"_target\"\n }] : []));\n set queryParams(value) {\n this._queryParams.set(value);\n }\n get queryParams() {\n return untracked(this._queryParams);\n }\n _queryParams = signal(undefined, {\n ...(ngDevMode ? {\n debugName: \"_queryParams\"\n } : {}),\n equal: () => false\n });\n set fragment(value) {\n this._fragment.set(value);\n }\n get fragment() {\n return untracked(this._fragment);\n }\n _fragment = signal(undefined, ...(ngDevMode ? [{\n debugName: \"_fragment\"\n }] : []));\n set queryParamsHandling(value) {\n this._queryParamsHandling.set(value);\n }\n get queryParamsHandling() {\n return untracked(this._queryParamsHandling);\n }\n _queryParamsHandling = signal(undefined, ...(ngDevMode ? [{\n debugName: \"_queryParamsHandling\"\n }] : []));\n set state(value) {\n this._state.set(value);\n }\n get state() {\n return untracked(this._state);\n }\n _state = signal(undefined, {\n ...(ngDevMode ? {\n debugName: \"_state\"\n } : {}),\n equal: () => false\n });\n set info(value) {\n this._info.set(value);\n }\n get info() {\n return untracked(this._info);\n }\n _info = signal(undefined, {\n ...(ngDevMode ? {\n debugName: \"_info\"\n } : {}),\n equal: () => false\n });\n set relativeTo(value) {\n this._relativeTo.set(value);\n }\n get relativeTo() {\n return untracked(this._relativeTo);\n }\n _relativeTo = signal(undefined, ...(ngDevMode ? [{\n debugName: \"_relativeTo\"\n }] : []));\n set preserveFragment(value) {\n this._preserveFragment.set(value);\n }\n get preserveFragment() {\n return untracked(this._preserveFragment);\n }\n _preserveFragment = signal(false, ...(ngDevMode ? [{\n debugName: \"_preserveFragment\"\n }] : []));\n set skipLocationChange(value) {\n this._skipLocationChange.set(value);\n }\n get skipLocationChange() {\n return untracked(this._skipLocationChange);\n }\n _skipLocationChange = signal(false, ...(ngDevMode ? [{\n debugName: \"_skipLocationChange\"\n }] : []));\n set replaceUrl(value) {\n this._replaceUrl.set(value);\n }\n get replaceUrl() {\n return untracked(this._replaceUrl);\n }\n _replaceUrl = signal(false, ...(ngDevMode ? [{\n debugName: \"_replaceUrl\"\n }] : []));\n isAnchorElement;\n onChanges = new Subject();\n applicationErrorHandler = inject(_INTERNAL_APPLICATION_ERROR_HANDLER);\n options = inject(ROUTER_CONFIGURATION, {\n optional: true\n });\n reactiveRouterState = inject(ReactiveRouterState);\n constructor(router, route, tabIndexAttribute, renderer, el, locationStrategy) {\n this.router = router;\n this.route = route;\n this.tabIndexAttribute = tabIndexAttribute;\n this.renderer = renderer;\n this.el = el;\n this.locationStrategy = locationStrategy;\n const tagName = el.nativeElement.tagName?.toLowerCase();\n this.isAnchorElement = tagName === 'a' || tagName === 'area' || !!(typeof customElements === 'object' && customElements.get(tagName)?.observedAttributes?.includes?.('href'));\n if (typeof ngDevMode !== 'undefined' && ngDevMode) {\n effect(() => {\n if (isUrlTree(this.routerLinkInput()) && (this._fragment() !== undefined || this._queryParams() || this._queryParamsHandling() || this._preserveFragment() || this._relativeTo())) {\n throw new _RuntimeError(4017, 'Cannot configure queryParams or fragment when using a UrlTree as the routerLink input value.');\n }\n });\n }\n }\n setTabIndexIfNotOnNativeEl(newTabIndex) {\n if (this.tabIndexAttribute != null || this.isAnchorElement) {\n return;\n }\n this.applyAttributeValue('tabindex', newTabIndex);\n }\n ngOnChanges(changes) {\n this.onChanges.next(this);\n }\n routerLinkInput = signal(null, ...(ngDevMode ? [{\n debugName: \"routerLinkInput\"\n }] : []));\n set routerLink(commandsOrUrlTree) {\n if (commandsOrUrlTree == null) {\n this.routerLinkInput.set(null);\n this.setTabIndexIfNotOnNativeEl(null);\n } else {\n if (isUrlTree(commandsOrUrlTree)) {\n this.routerLinkInput.set(commandsOrUrlTree);\n } else {\n this.routerLinkInput.set(Array.isArray(commandsOrUrlTree) ? commandsOrUrlTree : [commandsOrUrlTree]);\n }\n this.setTabIndexIfNotOnNativeEl('0');\n }\n }\n onClick(button, ctrlKey, shiftKey, altKey, metaKey) {\n const urlTree = this._urlTree();\n if (urlTree === null) {\n return true;\n }\n if (this.isAnchorElement) {\n if (button !== 0 || ctrlKey || shiftKey || altKey || metaKey) {\n return true;\n }\n if (typeof this.target === 'string' && this.target != '_self') {\n return true;\n }\n }\n const extras = {\n skipLocationChange: this.skipLocationChange,\n replaceUrl: this.replaceUrl,\n state: this.state,\n info: this.info\n };\n this.router.navigateByUrl(urlTree, extras)?.catch(e => {\n this.applicationErrorHandler(e);\n });\n return !this.isAnchorElement;\n }\n ngOnDestroy() {}\n applyAttributeValue(attrName, attrValue) {\n const renderer = this.renderer;\n const nativeElement = this.el.nativeElement;\n if (attrValue !== null) {\n renderer.setAttribute(nativeElement, attrName, attrValue);\n } else {\n renderer.removeAttribute(nativeElement, attrName);\n }\n }\n _urlTree = computed(() => {\n this.reactiveRouterState.path();\n if (this._preserveFragment()) {\n this.reactiveRouterState.fragment();\n }\n const shouldTrackParams = handling => handling === 'preserve' || handling === 'merge';\n if (shouldTrackParams(this._queryParamsHandling()) || shouldTrackParams(this.options?.defaultQueryParamsHandling)) {\n this.reactiveRouterState.queryParams();\n }\n const routerLinkInput = this.routerLinkInput();\n if (routerLinkInput === null || !this.router.createUrlTree) {\n return null;\n } else if (isUrlTree(routerLinkInput)) {\n return routerLinkInput;\n }\n return this.router.createUrlTree(routerLinkInput, {\n relativeTo: this._relativeTo() !== undefined ? this._relativeTo() : this.route,\n queryParams: this._queryParams(),\n fragment: this._fragment(),\n queryParamsHandling: this._queryParamsHandling(),\n preserveFragment: this._preserveFragment()\n });\n }, {\n ...(ngDevMode ? {\n debugName: \"_urlTree\"\n } : {}),\n equal: (a, b) => this.computeHref(a) === this.computeHref(b)\n });\n get urlTree() {\n return untracked(this._urlTree);\n }\n computeHref(urlTree) {\n return urlTree !== null && this.locationStrategy ? this.locationStrategy?.prepareExternalUrl(this.router.serializeUrl(urlTree)) ?? '' : null;\n }\n static ɵfac = i0.ɵɵngDeclareFactory({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: RouterLink,\n deps: [{\n token: Router\n }, {\n token: ActivatedRoute\n }, {\n token: 'tabindex',\n attribute: true\n }, {\n token: i0.Renderer2\n }, {\n token: i0.ElementRef\n }, {\n token: i3.LocationStrategy\n }],\n target: i0.ɵɵFactoryTarget.Directive\n });\n static ɵdir = i0.ɵɵngDeclareDirective({\n minVersion: \"16.1.0\",\n version: \"21.2.6\",\n type: RouterLink,\n isStandalone: true,\n selector: \"[routerLink]\",\n inputs: {\n target: \"target\",\n queryParams: \"queryParams\",\n fragment: \"fragment\",\n queryParamsHandling: \"queryParamsHandling\",\n state: \"state\",\n info: \"info\",\n relativeTo: \"relativeTo\",\n preserveFragment: [\"preserveFragment\", \"preserveFragment\", booleanAttribute],\n skipLocationChange: [\"skipLocationChange\", \"skipLocationChange\", booleanAttribute],\n replaceUrl: [\"replaceUrl\", \"replaceUrl\", booleanAttribute],\n routerLink: \"routerLink\"\n },\n host: {\n listeners: {\n \"click\": \"onClick($event.button,$event.ctrlKey,$event.shiftKey,$event.altKey,$event.metaKey)\"\n },\n properties: {\n \"attr.href\": \"reactiveHref()\",\n \"attr.target\": \"_target()\"\n }\n },\n usesOnChanges: true,\n ngImport: i0\n });\n}\ni0.ɵɵngDeclareClassMetadata({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: RouterLink,\n decorators: [{\n type: Directive,\n args: [{\n selector: '[routerLink]',\n host: {\n '[attr.href]': 'reactiveHref()',\n '[attr.target]': '_target()'\n }\n }]\n }],\n ctorParameters: () => [{\n type: Router\n }, {\n type: ActivatedRoute\n }, {\n type: undefined,\n decorators: [{\n type: Attribute,\n args: ['tabindex']\n }]\n }, {\n type: i0.Renderer2\n }, {\n type: i0.ElementRef\n }, {\n type: i3.LocationStrategy\n }],\n propDecorators: {\n target: [{\n type: Input\n }],\n queryParams: [{\n type: Input\n }],\n fragment: [{\n type: Input\n }],\n queryParamsHandling: [{\n type: Input\n }],\n state: [{\n type: Input\n }],\n info: [{\n type: Input\n }],\n relativeTo: [{\n type: Input\n }],\n preserveFragment: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }],\n skipLocationChange: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }],\n replaceUrl: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }],\n routerLink: [{\n type: Input\n }],\n onClick: [{\n type: HostListener,\n args: ['click', ['$event.button', '$event.ctrlKey', '$event.shiftKey', '$event.altKey', '$event.metaKey']]\n }]\n }\n});\n\nclass RouterLinkActive {\n router;\n element;\n renderer;\n cdr;\n links;\n classes = [];\n routerEventsSubscription;\n linkInputChangesSubscription;\n _isActive = false;\n get isActive() {\n return this._isActive;\n }\n routerLinkActiveOptions = {\n exact: false\n };\n ariaCurrentWhenActive;\n isActiveChange = new EventEmitter();\n link = inject(RouterLink, {\n optional: true\n });\n constructor(router, element, renderer, cdr) {\n this.router = router;\n this.element = element;\n this.renderer = renderer;\n this.cdr = cdr;\n this.routerEventsSubscription = router.events.subscribe(s => {\n if (s instanceof NavigationEnd) {\n this.update();\n }\n });\n }\n ngAfterContentInit() {\n of(this.links.changes, of(null)).pipe(mergeAll()).subscribe(_ => {\n this.update();\n this.subscribeToEachLinkOnChanges();\n });\n }\n subscribeToEachLinkOnChanges() {\n this.linkInputChangesSubscription?.unsubscribe();\n const allLinkChanges = [...this.links.toArray(), this.link].filter(link => !!link).map(link => link.onChanges);\n this.linkInputChangesSubscription = from(allLinkChanges).pipe(mergeAll()).subscribe(link => {\n if (this._isActive !== this.isLinkActive(this.router)(link)) {\n this.update();\n }\n });\n }\n set routerLinkActive(data) {\n const classes = Array.isArray(data) ? data : data.split(' ');\n this.classes = classes.filter(c => !!c);\n }\n ngOnChanges(changes) {\n this.update();\n }\n ngOnDestroy() {\n this.routerEventsSubscription.unsubscribe();\n this.linkInputChangesSubscription?.unsubscribe();\n }\n update() {\n if (!this.links || !this.router.navigated) return;\n queueMicrotask(() => {\n const hasActiveLinks = this.hasActiveLinks();\n this.classes.forEach(c => {\n if (hasActiveLinks) {\n this.renderer.addClass(this.element.nativeElement, c);\n } else {\n this.renderer.removeClass(this.element.nativeElement, c);\n }\n });\n if (hasActiveLinks && this.ariaCurrentWhenActive !== undefined) {\n this.renderer.setAttribute(this.element.nativeElement, 'aria-current', this.ariaCurrentWhenActive.toString());\n } else {\n this.renderer.removeAttribute(this.element.nativeElement, 'aria-current');\n }\n if (this._isActive !== hasActiveLinks) {\n this._isActive = hasActiveLinks;\n this.cdr.markForCheck();\n this.isActiveChange.emit(hasActiveLinks);\n }\n });\n }\n isLinkActive(router) {\n const options = isActiveMatchOptions(this.routerLinkActiveOptions) ? this.routerLinkActiveOptions : this.routerLinkActiveOptions.exact ?? false ? {\n ...exactMatchOptions\n } : {\n ...subsetMatchOptions\n };\n return link => {\n const urlTree = link.urlTree;\n return urlTree ? untracked(isActive(urlTree, router, options)) : false;\n };\n }\n hasActiveLinks() {\n const isActiveCheckFn = this.isLinkActive(this.router);\n return this.link && isActiveCheckFn(this.link) || this.links.some(isActiveCheckFn);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: RouterLinkActive,\n deps: [{\n token: Router\n }, {\n token: i0.ElementRef\n }, {\n token: i0.Renderer2\n }, {\n token: i0.ChangeDetectorRef\n }],\n target: i0.ɵɵFactoryTarget.Directive\n });\n static ɵdir = i0.ɵɵngDeclareDirective({\n minVersion: \"14.0.0\",\n version: \"21.2.6\",\n type: RouterLinkActive,\n isStandalone: true,\n selector: \"[routerLinkActive]\",\n inputs: {\n routerLinkActiveOptions: \"routerLinkActiveOptions\",\n ariaCurrentWhenActive: \"ariaCurrentWhenActive\",\n routerLinkActive: \"routerLinkActive\"\n },\n outputs: {\n isActiveChange: \"isActiveChange\"\n },\n queries: [{\n propertyName: \"links\",\n predicate: RouterLink,\n descendants: true\n }],\n exportAs: [\"routerLinkActive\"],\n usesOnChanges: true,\n ngImport: i0\n });\n}\ni0.ɵɵngDeclareClassMetadata({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: RouterLinkActive,\n decorators: [{\n type: Directive,\n args: [{\n selector: '[routerLinkActive]',\n exportAs: 'routerLinkActive'\n }]\n }],\n ctorParameters: () => [{\n type: Router\n }, {\n type: i0.ElementRef\n }, {\n type: i0.Renderer2\n }, {\n type: i0.ChangeDetectorRef\n }],\n propDecorators: {\n links: [{\n type: ContentChildren,\n args: [RouterLink, {\n descendants: true\n }]\n }],\n routerLinkActiveOptions: [{\n type: Input\n }],\n ariaCurrentWhenActive: [{\n type: Input\n }],\n isActiveChange: [{\n type: Output\n }],\n routerLinkActive: [{\n type: Input\n }]\n }\n});\nfunction isActiveMatchOptions(options) {\n const o = options;\n return !!(o.paths || o.matrixParams || o.queryParams || o.fragment);\n}\n\nclass PreloadingStrategy {}\nclass PreloadAllModules {\n preload(route, fn) {\n return fn().pipe(catchError(() => of(null)));\n }\n static ɵfac = i0.ɵɵngDeclareFactory({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: PreloadAllModules,\n deps: [],\n target: i0.ɵɵFactoryTarget.Injectable\n });\n static ɵprov = i0.ɵɵngDeclareInjectable({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: PreloadAllModules,\n providedIn: 'root'\n });\n}\ni0.ɵɵngDeclareClassMetadata({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: PreloadAllModules,\n decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }]\n});\nclass NoPreloading {\n preload(route, fn) {\n return of(null);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: NoPreloading,\n deps: [],\n target: i0.ɵɵFactoryTarget.Injectable\n });\n static ɵprov = i0.ɵɵngDeclareInjectable({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: NoPreloading,\n providedIn: 'root'\n });\n}\ni0.ɵɵngDeclareClassMetadata({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: NoPreloading,\n decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }]\n});\nclass RouterPreloader {\n router;\n injector;\n preloadingStrategy;\n loader;\n subscription;\n constructor(router, injector, preloadingStrategy, loader) {\n this.router = router;\n this.injector = injector;\n this.preloadingStrategy = preloadingStrategy;\n this.loader = loader;\n }\n setUpPreloading() {\n this.subscription = this.router.events.pipe(filter(e => e instanceof NavigationEnd), concatMap(() => this.preload())).subscribe(() => {});\n }\n preload() {\n return this.processRoutes(this.injector, this.router.config);\n }\n ngOnDestroy() {\n this.subscription?.unsubscribe();\n }\n processRoutes(injector, routes) {\n const res = [];\n for (const route of routes) {\n if (route.providers && !route._injector) {\n route._injector = createEnvironmentInjector(route.providers, injector, typeof ngDevMode === 'undefined' || ngDevMode ? `Route: ${route.path}` : '');\n }\n const injectorForCurrentRoute = route._injector ?? injector;\n if (route._loadedNgModuleFactory && !route._loadedInjector) {\n route._loadedInjector = route._loadedNgModuleFactory.create(injectorForCurrentRoute).injector;\n }\n const injectorForChildren = route._loadedInjector ?? injectorForCurrentRoute;\n if (route.loadChildren && !route._loadedRoutes && route.canLoad === undefined || route.loadComponent && !route._loadedComponent) {\n res.push(this.preloadConfig(injectorForCurrentRoute, route));\n }\n if (route.children || route._loadedRoutes) {\n res.push(this.processRoutes(injectorForChildren, route.children ?? route._loadedRoutes));\n }\n }\n return from(res).pipe(mergeAll());\n }\n preloadConfig(injector, route) {\n return this.preloadingStrategy.preload(route, () => {\n if (injector.destroyed) {\n return of(null);\n }\n let loadedChildren$;\n if (route.loadChildren && route.canLoad === undefined) {\n loadedChildren$ = from(this.loader.loadChildren(injector, route));\n } else {\n loadedChildren$ = of(null);\n }\n const recursiveLoadChildren$ = loadedChildren$.pipe(mergeMap(config => {\n if (config === null) {\n return of(void 0);\n }\n route._loadedRoutes = config.routes;\n route._loadedInjector = config.injector;\n route._loadedNgModuleFactory = config.factory;\n return this.processRoutes(config.injector ?? injector, config.routes);\n }));\n if (route.loadComponent && !route._loadedComponent) {\n const loadComponent$ = this.loader.loadComponent(injector, route);\n return from([recursiveLoadChildren$, loadComponent$]).pipe(mergeAll());\n } else {\n return recursiveLoadChildren$;\n }\n });\n }\n static ɵfac = i0.ɵɵngDeclareFactory({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: RouterPreloader,\n deps: [{\n token: Router\n }, {\n token: i0.EnvironmentInjector\n }, {\n token: PreloadingStrategy\n }, {\n token: RouterConfigLoader\n }],\n target: i0.ɵɵFactoryTarget.Injectable\n });\n static ɵprov = i0.ɵɵngDeclareInjectable({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: RouterPreloader,\n providedIn: 'root'\n });\n}\ni0.ɵɵngDeclareClassMetadata({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: RouterPreloader,\n decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }],\n ctorParameters: () => [{\n type: Router\n }, {\n type: i0.EnvironmentInjector\n }, {\n type: PreloadingStrategy\n }, {\n type: RouterConfigLoader\n }]\n});\n\nconst ROUTER_SCROLLER = new InjectionToken(typeof ngDevMode !== 'undefined' && ngDevMode ? 'Router Scroller' : '');\nclass RouterScroller {\n options;\n routerEventsSubscription;\n scrollEventsSubscription;\n lastId = 0;\n lastSource = IMPERATIVE_NAVIGATION;\n restoredId = 0;\n store = {};\n urlSerializer = inject(UrlSerializer);\n zone = inject(NgZone);\n viewportScroller = inject(ViewportScroller);\n transitions = inject(NavigationTransitions);\n constructor(options) {\n this.options = options;\n this.options.scrollPositionRestoration ||= 'disabled';\n this.options.anchorScrolling ||= 'disabled';\n }\n init() {\n if (this.options.scrollPositionRestoration !== 'disabled') {\n this.viewportScroller.setHistoryScrollRestoration('manual');\n }\n this.routerEventsSubscription = this.createScrollEvents();\n this.scrollEventsSubscription = this.consumeScrollEvents();\n }\n createScrollEvents() {\n return this.transitions.events.subscribe(e => {\n if (e instanceof NavigationStart) {\n this.store[this.lastId] = this.viewportScroller.getScrollPosition();\n this.lastSource = e.navigationTrigger;\n this.restoredId = e.restoredState ? e.restoredState.navigationId : 0;\n } else if (e instanceof NavigationEnd) {\n this.lastId = e.id;\n this.scheduleScrollEvent(e, this.urlSerializer.parse(e.urlAfterRedirects).fragment);\n } else if (e instanceof NavigationSkipped && e.code === NavigationSkippedCode.IgnoredSameUrlNavigation) {\n this.lastSource = undefined;\n this.restoredId = 0;\n this.scheduleScrollEvent(e, this.urlSerializer.parse(e.url).fragment);\n }\n });\n }\n consumeScrollEvents() {\n return this.transitions.events.subscribe(e => {\n if (!(e instanceof Scroll) || e.scrollBehavior === 'manual') return;\n const instantScroll = {\n behavior: 'instant'\n };\n if (e.position) {\n if (this.options.scrollPositionRestoration === 'top') {\n this.viewportScroller.scrollToPosition([0, 0], instantScroll);\n } else if (this.options.scrollPositionRestoration === 'enabled') {\n this.viewportScroller.scrollToPosition(e.position, instantScroll);\n }\n } else {\n if (e.anchor && this.options.anchorScrolling === 'enabled') {\n this.viewportScroller.scrollToAnchor(e.anchor);\n } else if (this.options.scrollPositionRestoration !== 'disabled') {\n this.viewportScroller.scrollToPosition([0, 0]);\n }\n }\n });\n }\n scheduleScrollEvent(routerEvent, anchor) {\n const scroll = untracked(this.transitions.currentNavigation)?.extras.scroll;\n this.zone.runOutsideAngular(async () => {\n await new Promise(resolve => {\n setTimeout(resolve);\n if (typeof requestAnimationFrame !== 'undefined') {\n requestAnimationFrame(resolve);\n }\n });\n this.zone.run(() => {\n this.transitions.events.next(new Scroll(routerEvent, this.lastSource === 'popstate' ? this.store[this.restoredId] : null, anchor, scroll));\n });\n });\n }\n ngOnDestroy() {\n this.routerEventsSubscription?.unsubscribe();\n this.scrollEventsSubscription?.unsubscribe();\n }\n static ɵfac = i0.ɵɵngDeclareFactory({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: RouterScroller,\n deps: \"invalid\",\n target: i0.ɵɵFactoryTarget.Injectable\n });\n static ɵprov = i0.ɵɵngDeclareInjectable({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: RouterScroller\n });\n}\ni0.ɵɵngDeclareClassMetadata({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: RouterScroller,\n decorators: [{\n type: Injectable\n }],\n ctorParameters: () => [{\n type: undefined\n }]\n});\n\nfunction getLoadedRoutes(route) {\n return route._loadedRoutes;\n}\nfunction getRouterInstance(injector) {\n return injector.get(Router, null, {\n optional: true\n });\n}\nfunction navigateByUrl(router, url) {\n if (!(router instanceof Router)) {\n throw new Error('The provided router is not an Angular Router.');\n }\n return router.navigateByUrl(url);\n}\n\nclass NavigationStateManager extends StateManager {\n injector = inject(EnvironmentInjector);\n navigation = inject(PlatformNavigation);\n inMemoryScrollingEnabled = inject(ROUTER_SCROLLER, {\n optional: true\n }) !== null;\n base = new URL(inject(PlatformLocation).href).origin;\n appRootURL = new URL(this.location.prepareExternalUrl?.('/') ?? '/', this.base).href;\n precommitHandlerSupported = inject(_PRECOMMIT_HANDLER_SUPPORTED);\n activeHistoryEntry = this.navigation.currentEntry;\n currentNavigation = {};\n nonRouterCurrentEntryChangeSubject = new Subject();\n nonRouterEntryChangeListener;\n get registered() {\n return this.nonRouterEntryChangeListener !== undefined && !this.nonRouterEntryChangeListener.closed;\n }\n constructor() {\n super();\n const navigateListener = event => {\n this.handleNavigate(event);\n };\n this.navigation.addEventListener('navigate', navigateListener);\n inject(DestroyRef).onDestroy(() => this.navigation.removeEventListener('navigate', navigateListener));\n }\n registerNonRouterCurrentEntryChangeListener(listener) {\n this.activeHistoryEntry = this.navigation.currentEntry;\n this.nonRouterEntryChangeListener = this.nonRouterCurrentEntryChangeSubject.subscribe(({\n path,\n state\n }) => {\n listener(path, state, 'popstate', !this.precommitHandlerSupported ? {\n replaceUrl: true\n } : {});\n });\n return this.nonRouterEntryChangeListener;\n }\n async handleRouterEvent(e, transition) {\n this.currentNavigation = {\n ...this.currentNavigation,\n routerTransition: transition\n };\n if (e instanceof NavigationStart) {\n this.updateStateMemento();\n if (this.precommitHandlerSupported) {\n this.maybeCreateNavigationForTransition(transition);\n }\n } else if (e instanceof NavigationSkipped) {\n this.finishNavigation();\n this.commitTransition(transition);\n } else if (e instanceof BeforeRoutesRecognized) {\n transition.routesRecognizeHandler.deferredHandle = new Promise(async resolve => {\n if (this.urlUpdateStrategy === 'eager') {\n try {\n this.maybeCreateNavigationForTransition(transition);\n await this.currentNavigation.commitUrl?.();\n } catch {\n return;\n }\n }\n resolve();\n });\n } else if (e instanceof BeforeActivateRoutes) {\n transition.beforeActivateHandler.deferredHandle = new Promise(async resolve => {\n if (this.urlUpdateStrategy === 'deferred') {\n try {\n this.maybeCreateNavigationForTransition(transition);\n await this.currentNavigation.commitUrl?.();\n } catch {\n return;\n }\n }\n this.commitTransition(transition);\n resolve();\n });\n } else if (e instanceof NavigationCancel || e instanceof NavigationError) {\n const redirectingBeforeUrlCommit = e instanceof NavigationCancel && e.code === NavigationCancellationCode.Redirect && !!this.currentNavigation.commitUrl;\n if (redirectingBeforeUrlCommit) {\n return;\n }\n void this.cancel(transition, e);\n } else if (e instanceof NavigationEnd) {\n const {\n resolveHandler,\n removeAbortListener\n } = this.currentNavigation;\n this.currentNavigation = {};\n removeAbortListener?.();\n this.activeHistoryEntry = this.navigation.currentEntry;\n afterNextRender({\n read: () => resolveHandler?.()\n }, {\n injector: this.injector\n });\n }\n }\n maybeCreateNavigationForTransition(transition) {\n const {\n navigationEvent,\n commitUrl\n } = this.currentNavigation;\n if (commitUrl || navigationEvent && navigationEvent.navigationType === 'traverse' && this.eventAndRouterDestinationsMatch(navigationEvent, transition)) {\n return;\n }\n this.currentNavigation.removeAbortListener?.();\n const path = this.createBrowserPath(transition);\n this.navigate(path, transition);\n }\n navigate(internalPath, transition) {\n const path = transition.extras.skipLocationChange ? this.navigation.currentEntry.url : this.location.prepareExternalUrl(internalPath);\n const state = {\n ...transition.extras.state,\n navigationId: transition.id\n };\n const info = {\n ɵrouterInfo: {\n intercept: true\n }\n };\n if (!this.navigation.transition && this.currentNavigation.navigationEvent) {\n transition.extras.replaceUrl = false;\n }\n const history = this.location.isCurrentPathEqualTo(path) || transition.extras.replaceUrl || transition.extras.skipLocationChange ? 'replace' : 'push';\n handleResultRejections(this.navigation.navigate(path, {\n state,\n history,\n info\n }));\n }\n finishNavigation() {\n this.currentNavigation.commitUrl?.();\n this.currentNavigation?.resolveHandler?.();\n this.currentNavigation = {};\n }\n async cancel(transition, cause) {\n this.currentNavigation.rejectNavigateEvent?.();\n const clearedState = {};\n this.currentNavigation = clearedState;\n if (isRedirectingEvent(cause)) {\n return;\n }\n const isTraversalReset = this.canceledNavigationResolution === 'computed' && this.navigation.currentEntry.key !== this.activeHistoryEntry.key;\n this.resetInternalState(transition.finalUrl, isTraversalReset);\n if (this.navigation.currentEntry.id === this.activeHistoryEntry.id) {\n return;\n }\n if (cause instanceof NavigationCancel && cause.code === NavigationCancellationCode.Aborted) {\n await Promise.resolve();\n if (this.currentNavigation !== clearedState) {\n return;\n }\n }\n if (isTraversalReset) {\n handleResultRejections(this.navigation.traverseTo(this.activeHistoryEntry.key, {\n info: {\n ɵrouterInfo: {\n intercept: false\n }\n }\n }));\n } else {\n const internalPath = this.urlSerializer.serialize(this.getCurrentUrlTree());\n const pathOrUrl = this.location.prepareExternalUrl(internalPath);\n handleResultRejections(this.navigation.navigate(pathOrUrl, {\n state: this.activeHistoryEntry.getState(),\n history: 'replace',\n info: {\n ɵrouterInfo: {\n intercept: false\n }\n }\n }));\n }\n }\n resetInternalState(finalUrl, traversalReset) {\n this.routerState = this.stateMemento.routerState;\n this.currentUrlTree = this.stateMemento.currentUrlTree;\n this.rawUrlTree = traversalReset ? this.stateMemento.rawUrlTree : this.urlHandlingStrategy.merge(this.currentUrlTree, finalUrl ?? this.rawUrlTree);\n }\n handleNavigate(event) {\n if (!event.canIntercept || event.navigationType === 'reload') {\n return;\n }\n const routerInfo = event?.info?.ɵrouterInfo;\n if (routerInfo && !routerInfo.intercept) {\n return;\n }\n const isTriggeredByRouterTransition = !!routerInfo;\n if (!isTriggeredByRouterTransition) {\n this.currentNavigation.routerTransition?.abort();\n if (!this.registered) {\n this.finishNavigation();\n return;\n }\n }\n this.currentNavigation = {\n ...this.currentNavigation\n };\n this.currentNavigation.navigationEvent = event;\n const abortHandler = () => {\n this.currentNavigation.routerTransition?.abort();\n };\n event.signal.addEventListener('abort', abortHandler);\n this.currentNavigation.removeAbortListener = () => event.signal.removeEventListener('abort', abortHandler);\n let scroll = this.inMemoryScrollingEnabled ? 'manual' : this.currentNavigation.routerTransition?.extras.scroll ?? 'after-transition';\n const interceptOptions = {\n scroll\n };\n const {\n promise: handlerPromise,\n resolve: resolveHandler,\n reject: rejectHandler\n } = _promiseWithResolvers();\n const {\n promise: precommitHandlerPromise,\n resolve: resolvePrecommitHandler,\n reject: rejectPrecommitHandler\n } = _promiseWithResolvers();\n this.currentNavigation.rejectNavigateEvent = () => {\n event.signal.removeEventListener('abort', abortHandler);\n rejectPrecommitHandler();\n rejectHandler();\n };\n this.currentNavigation.resolveHandler = () => {\n this.currentNavigation.removeAbortListener?.();\n resolveHandler();\n };\n handlerPromise.catch(() => {});\n precommitHandlerPromise.catch(() => {});\n interceptOptions.handler = () => handlerPromise;\n if (this.deferredCommitSupported(event)) {\n const redirect = new Promise(resolve => {\n interceptOptions.precommitHandler = controller => {\n if (this.navigation.transition?.navigationType === 'traverse') {\n resolve(() => {});\n } else {\n resolve(controller.redirect.bind(controller));\n }\n return precommitHandlerPromise;\n };\n });\n this.currentNavigation.commitUrl = async () => {\n this.currentNavigation.commitUrl = undefined;\n const transition = this.currentNavigation.routerTransition;\n if (transition && !transition.extras.skipLocationChange) {\n const internalPath = this.createBrowserPath(transition);\n const history = this.location.isCurrentPathEqualTo(internalPath) || !!transition.extras.replaceUrl ? 'replace' : 'push';\n const state = {\n ...transition.extras.state,\n navigationId: transition.id\n };\n const pathOrUrl = this.location.prepareExternalUrl(internalPath);\n (await redirect)(pathOrUrl, {\n state,\n history\n });\n }\n resolvePrecommitHandler();\n return await this.navigation.transition?.committed;\n };\n }\n event.intercept(interceptOptions);\n if (!isTriggeredByRouterTransition) {\n this.handleNavigateEventTriggeredOutsideRouterAPIs(event);\n }\n }\n handleNavigateEventTriggeredOutsideRouterAPIs(event) {\n const path = event.destination.url.substring(this.appRootURL.length - 1);\n const state = event.destination.getState();\n this.nonRouterCurrentEntryChangeSubject.next({\n path,\n state\n });\n }\n eventAndRouterDestinationsMatch(navigateEvent, transition) {\n const internalPath = this.createBrowserPath(transition);\n const eventDestination = new URL(navigateEvent.destination.url);\n const routerDestination = this.location.prepareExternalUrl(internalPath);\n return new URL(routerDestination, eventDestination.origin).href === eventDestination.href;\n }\n deferredCommitSupported(event) {\n return this.precommitHandlerSupported && event.cancelable;\n }\n static ɵfac = i0.ɵɵngDeclareFactory({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: NavigationStateManager,\n deps: [],\n target: i0.ɵɵFactoryTarget.Injectable\n });\n static ɵprov = i0.ɵɵngDeclareInjectable({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: NavigationStateManager,\n providedIn: 'root'\n });\n}\ni0.ɵɵngDeclareClassMetadata({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: NavigationStateManager,\n decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }],\n ctorParameters: () => []\n});\nfunction handleResultRejections(result) {\n result.finished?.catch(() => {});\n result.committed?.catch(() => {});\n return result;\n}\n\nfunction provideRouter(routes, ...features) {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n _publishExternalGlobalUtil('ɵgetLoadedRoutes', getLoadedRoutes);\n _publishExternalGlobalUtil('ɵgetRouterInstance', getRouterInstance);\n _publishExternalGlobalUtil('ɵnavigateByUrl', navigateByUrl);\n }\n return makeEnvironmentProviders([{\n provide: ROUTES,\n multi: true,\n useValue: routes\n }, typeof ngDevMode === 'undefined' || ngDevMode ? {\n provide: ROUTER_IS_PROVIDED,\n useValue: true\n } : [], {\n provide: ActivatedRoute,\n useFactory: rootRoute\n }, {\n provide: APP_BOOTSTRAP_LISTENER,\n multi: true,\n useFactory: getBootstrapListener\n }, features.map(feature => feature.ɵproviders)]);\n}\nfunction rootRoute() {\n return inject(Router).routerState.root;\n}\nfunction routerFeature(kind, providers) {\n return {\n ɵkind: kind,\n ɵproviders: providers\n };\n}\nconst ROUTER_IS_PROVIDED = new InjectionToken(typeof ngDevMode !== 'undefined' && ngDevMode ? 'Router is provided' : '', {\n factory: () => false\n});\nconst routerIsProvidedDevModeCheck = {\n provide: ENVIRONMENT_INITIALIZER,\n multi: true,\n useFactory() {\n return () => {\n if (!inject(ROUTER_IS_PROVIDED)) {\n console.warn('`provideRoutes` was called without `provideRouter` or `RouterModule.forRoot`. ' + 'This is likely a mistake.');\n }\n };\n }\n};\nfunction provideRoutes(routes) {\n return [{\n provide: ROUTES,\n multi: true,\n useValue: routes\n }, typeof ngDevMode === 'undefined' || ngDevMode ? routerIsProvidedDevModeCheck : []];\n}\nfunction withInMemoryScrolling(options = {}) {\n const providers = [{\n provide: ROUTER_SCROLLER,\n useFactory: () => new RouterScroller(options)\n }];\n return routerFeature(4, providers);\n}\nfunction withExperimentalPlatformNavigation() {\n const devModeLocationCheck = typeof ngDevMode === 'undefined' || ngDevMode ? [provideEnvironmentInitializer(() => {\n const locationInstance = inject(Location);\n if (!(locationInstance instanceof _NavigationAdapterForLocation)) {\n const locationConstructorName = locationInstance.constructor.name;\n let message = `'withExperimentalPlatformNavigation' provides a 'Location' implementation that ensures navigation APIs are consistently used.` + ` An instance of ${locationConstructorName} was found instead.`;\n if (locationConstructorName === 'SpyLocation') {\n message += ` One of 'RouterTestingModule' or 'provideLocationMocks' was likely used. 'withExperimentalPlatformNavigation' does not work with these because they override the Location implementation.`;\n }\n throw new Error(message);\n }\n })] : [];\n const providers = [{\n provide: StateManager,\n useExisting: NavigationStateManager\n }, {\n provide: Location,\n useClass: _NavigationAdapterForLocation\n }, devModeLocationCheck];\n return routerFeature(11, providers);\n}\nfunction getBootstrapListener() {\n const injector = inject(Injector);\n return bootstrappedComponentRef => {\n const ref = injector.get(ApplicationRef);\n if (bootstrappedComponentRef !== ref.components[0]) {\n return;\n }\n const router = injector.get(Router);\n const bootstrapDone = injector.get(BOOTSTRAP_DONE);\n if (injector.get(INITIAL_NAVIGATION) === 1) {\n router.initialNavigation();\n }\n injector.get(ROUTER_PRELOADER, null, {\n optional: true\n })?.setUpPreloading();\n injector.get(ROUTER_SCROLLER, null, {\n optional: true\n })?.init();\n router.resetRootComponentType(ref.componentTypes[0]);\n if (!bootstrapDone.closed) {\n bootstrapDone.next();\n bootstrapDone.complete();\n bootstrapDone.unsubscribe();\n }\n };\n}\nconst BOOTSTRAP_DONE = new InjectionToken(typeof ngDevMode === 'undefined' || ngDevMode ? 'bootstrap done indicator' : '', {\n factory: () => {\n return new Subject();\n }\n});\nconst INITIAL_NAVIGATION = new InjectionToken(typeof ngDevMode === 'undefined' || ngDevMode ? 'initial navigation' : '', {\n factory: () => 1\n});\nfunction withEnabledBlockingInitialNavigation() {\n const providers = [{\n provide: _IS_ENABLED_BLOCKING_INITIAL_NAVIGATION,\n useValue: true\n }, {\n provide: INITIAL_NAVIGATION,\n useValue: 0\n }, provideAppInitializer(() => {\n const injector = inject(Injector);\n const locationInitialized = injector.get(LOCATION_INITIALIZED, Promise.resolve());\n return locationInitialized.then(() => {\n return new Promise(resolve => {\n const router = injector.get(Router);\n const bootstrapDone = injector.get(BOOTSTRAP_DONE);\n afterNextNavigation(router, () => {\n resolve(true);\n });\n injector.get(NavigationTransitions).afterPreactivation = () => {\n resolve(true);\n return bootstrapDone.closed ? of(void 0) : bootstrapDone;\n };\n router.initialNavigation();\n });\n });\n })];\n return routerFeature(2, providers);\n}\nfunction withDisabledInitialNavigation() {\n const providers = [provideAppInitializer(() => {\n inject(Router).setUpLocationChangeListener();\n }), {\n provide: INITIAL_NAVIGATION,\n useValue: 2\n }];\n return routerFeature(3, providers);\n}\nfunction withDebugTracing() {\n let providers = [];\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n providers = [{\n provide: ENVIRONMENT_INITIALIZER,\n multi: true,\n useFactory: () => {\n const router = inject(Router);\n return () => router.events.subscribe(e => {\n console.group?.(`Router Event: ${e.constructor.name}`);\n console.log(stringifyEvent(e));\n console.log(e);\n console.groupEnd?.();\n });\n }\n }];\n } else {\n providers = [];\n }\n return routerFeature(1, providers);\n}\nconst ROUTER_PRELOADER = new InjectionToken(typeof ngDevMode === 'undefined' || ngDevMode ? 'router preloader' : '');\nfunction withPreloading(preloadingStrategy) {\n const providers = [{\n provide: ROUTER_PRELOADER,\n useExisting: RouterPreloader\n }, {\n provide: PreloadingStrategy,\n useExisting: preloadingStrategy\n }];\n return routerFeature(0, providers);\n}\nfunction withRouterConfig(options) {\n const providers = [{\n provide: ROUTER_CONFIGURATION,\n useValue: options\n }];\n return routerFeature(5, providers);\n}\nfunction withHashLocation() {\n const providers = [{\n provide: LocationStrategy,\n useClass: HashLocationStrategy\n }];\n return routerFeature(6, providers);\n}\nfunction withNavigationErrorHandler(handler) {\n const providers = [{\n provide: NAVIGATION_ERROR_HANDLER,\n useValue: handler\n }];\n return routerFeature(7, providers);\n}\nfunction withExperimentalAutoCleanupInjectors() {\n return routerFeature(10, [{\n provide: ROUTE_INJECTOR_CLEANUP,\n useValue: routeInjectorCleanup\n }]);\n}\nfunction withComponentInputBinding() {\n const providers = [RoutedComponentInputBinder, {\n provide: INPUT_BINDER,\n useExisting: RoutedComponentInputBinder\n }];\n return routerFeature(8, providers);\n}\nfunction withViewTransitions(options) {\n _performanceMarkFeature('NgRouterViewTransitions');\n const providers = [{\n provide: CREATE_VIEW_TRANSITION,\n useValue: createViewTransition\n }, {\n provide: VIEW_TRANSITION_OPTIONS,\n useValue: {\n skipNextTransition: !!options?.skipInitialTransition,\n ...options\n }\n }];\n return routerFeature(9, providers);\n}\n\nconst ROUTER_DIRECTIVES = [RouterOutlet, RouterLink, RouterLinkActive, _EmptyOutletComponent];\nconst ROUTER_FORROOT_GUARD = new InjectionToken(typeof ngDevMode === 'undefined' || ngDevMode ? 'router duplicate forRoot guard' : '');\nconst ROUTER_PROVIDERS = [Location, {\n provide: UrlSerializer,\n useClass: DefaultUrlSerializer\n}, Router, ChildrenOutletContexts, {\n provide: ActivatedRoute,\n useFactory: rootRoute\n}, RouterConfigLoader, typeof ngDevMode === 'undefined' || ngDevMode ? {\n provide: ROUTER_IS_PROVIDED,\n useValue: true\n} : []];\nclass RouterModule {\n constructor() {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n inject(ROUTER_FORROOT_GUARD, {\n optional: true\n });\n }\n }\n static forRoot(routes, config) {\n return {\n ngModule: RouterModule,\n providers: [ROUTER_PROVIDERS, typeof ngDevMode === 'undefined' || ngDevMode ? config?.enableTracing ? withDebugTracing().ɵproviders : [] : [], {\n provide: ROUTES,\n multi: true,\n useValue: routes\n }, typeof ngDevMode === 'undefined' || ngDevMode ? {\n provide: ROUTER_FORROOT_GUARD,\n useFactory: provideForRootGuard\n } : [], config?.errorHandler ? {\n provide: NAVIGATION_ERROR_HANDLER,\n useValue: config.errorHandler\n } : [], {\n provide: ROUTER_CONFIGURATION,\n useValue: config ? config : {}\n }, config?.useHash ? provideHashLocationStrategy() : providePathLocationStrategy(), provideRouterScroller(), config?.preloadingStrategy ? withPreloading(config.preloadingStrategy).ɵproviders : [], config?.initialNavigation ? provideInitialNavigation(config) : [], config?.bindToComponentInputs ? withComponentInputBinding().ɵproviders : [], config?.enableViewTransitions ? withViewTransitions().ɵproviders : [], provideRouterInitializer()]\n };\n }\n static forChild(routes) {\n return {\n ngModule: RouterModule,\n providers: [{\n provide: ROUTES,\n multi: true,\n useValue: routes\n }]\n };\n }\n static ɵfac = i0.ɵɵngDeclareFactory({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: RouterModule,\n deps: [],\n target: i0.ɵɵFactoryTarget.NgModule\n });\n static ɵmod = i0.ɵɵngDeclareNgModule({\n minVersion: \"14.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: RouterModule,\n imports: [RouterOutlet, RouterLink, RouterLinkActive, _EmptyOutletComponent],\n exports: [RouterOutlet, RouterLink, RouterLinkActive, _EmptyOutletComponent]\n });\n static ɵinj = i0.ɵɵngDeclareInjector({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: RouterModule\n });\n}\ni0.ɵɵngDeclareClassMetadata({\n minVersion: \"12.0.0\",\n version: \"21.2.6\",\n ngImport: i0,\n type: RouterModule,\n decorators: [{\n type: NgModule,\n args: [{\n imports: ROUTER_DIRECTIVES,\n exports: ROUTER_DIRECTIVES\n }]\n }],\n ctorParameters: () => []\n});\nfunction provideRouterScroller() {\n return {\n provide: ROUTER_SCROLLER,\n useFactory: () => {\n const viewportScroller = inject(ViewportScroller);\n const config = inject(ROUTER_CONFIGURATION);\n if (config.scrollOffset) {\n viewportScroller.setOffset(config.scrollOffset);\n }\n return new RouterScroller(config);\n }\n };\n}\nfunction provideHashLocationStrategy() {\n return {\n provide: LocationStrategy,\n useClass: HashLocationStrategy\n };\n}\nfunction providePathLocationStrategy() {\n return {\n provide: LocationStrategy,\n useClass: PathLocationStrategy\n };\n}\nfunction provideForRootGuard() {\n const router = inject(Router, {\n optional: true,\n skipSelf: true\n });\n if (router) {\n throw new _RuntimeError(4007, `The Router was provided more than once. This can happen if 'forRoot' is used outside of the root injector.` + ` Lazy loaded modules should use RouterModule.forChild() instead.`);\n }\n return 'guarded';\n}\nfunction provideInitialNavigation(config) {\n return [config.initialNavigation === 'disabled' ? withDisabledInitialNavigation().ɵproviders : [], config.initialNavigation === 'enabledBlocking' ? withEnabledBlockingInitialNavigation().ɵproviders : []];\n}\nconst ROUTER_INITIALIZER = new InjectionToken(typeof ngDevMode === 'undefined' || ngDevMode ? 'Router Initializer' : '');\nfunction provideRouterInitializer() {\n return [{\n provide: ROUTER_INITIALIZER,\n useFactory: getBootstrapListener\n }, {\n provide: APP_BOOTSTRAP_LISTENER,\n multi: true,\n useExisting: ROUTER_INITIALIZER\n }];\n}\n\nexport { NoPreloading, PreloadAllModules, PreloadingStrategy, ROUTER_INITIALIZER, ROUTER_PROVIDERS, RouterLink, RouterLinkActive, RouterModule, RouterPreloader, provideRouter, provideRoutes, withComponentInputBinding, withDebugTracing, withDisabledInitialNavigation, withEnabledBlockingInitialNavigation, withExperimentalAutoCleanupInjectors, withExperimentalPlatformNavigation, withHashLocation, withInMemoryScrolling, withNavigationErrorHandler, withPreloading, withRouterConfig, withViewTransitions };\n//# sourceMappingURL=_router_module-chunk.mjs.map\n",
|
|
282
|
+
"/**\n * @license Angular v21.2.6\n * (c) 2010-2026 Google LLC. https://angular.dev/\n * License: MIT\n */\n\nexport { ActivatedRoute, ActivatedRouteSnapshot, ActivationEnd, ActivationStart, BaseRouteReuseStrategy, ChildActivationEnd, ChildActivationStart, ChildrenOutletContexts, DefaultTitleStrategy, DefaultUrlSerializer, EventType, GuardsCheckEnd, GuardsCheckStart, NavigationCancel, NavigationCancellationCode, NavigationEnd, NavigationError, NavigationSkipped, NavigationSkippedCode, NavigationStart, OutletContext, PRIMARY_OUTLET, ROUTER_CONFIGURATION, ROUTER_OUTLET_DATA, ROUTES, RedirectCommand, ResolveEnd, ResolveStart, RouteConfigLoadEnd, RouteConfigLoadStart, RouteReuseStrategy, Router, RouterEvent, RouterOutlet, RouterState, RouterStateSnapshot, RoutesRecognized, Scroll, TitleStrategy, UrlHandlingStrategy, UrlSegment, UrlSegmentGroup, UrlSerializer, UrlTree, convertToParamMap, createUrlTreeFromSnapshot, defaultUrlMatcher, destroyDetachedRouteHandle, isActive, ɵEmptyOutletComponent, afterNextNavigation as ɵafterNextNavigation, loadChildren as ɵloadChildren } from './_router-chunk.mjs';\nexport { NoPreloading, PreloadAllModules, PreloadingStrategy, ROUTER_INITIALIZER, RouterLink, RouterLinkActive, RouterLink as RouterLinkWithHref, RouterModule, RouterPreloader, provideRouter, provideRoutes, withComponentInputBinding, withDebugTracing, withDisabledInitialNavigation, withEnabledBlockingInitialNavigation, withExperimentalAutoCleanupInjectors, withExperimentalPlatformNavigation, withHashLocation, withInMemoryScrolling, withNavigationErrorHandler, withPreloading, withRouterConfig, withViewTransitions, ROUTER_PROVIDERS as ɵROUTER_PROVIDERS } from './_router_module-chunk.mjs';\nimport { inject, Version } from '@angular/core';\nimport '@angular/common';\nimport 'rxjs';\nimport 'rxjs/operators';\nimport '@angular/platform-browser';\n\nfunction mapToCanMatch(providers) {\n return providers.map(provider => (...params) => inject(provider).canMatch(...params));\n}\nfunction mapToCanActivate(providers) {\n return providers.map(provider => (...params) => inject(provider).canActivate(...params));\n}\nfunction mapToCanActivateChild(providers) {\n return providers.map(provider => (...params) => inject(provider).canActivateChild(...params));\n}\nfunction mapToCanDeactivate(providers) {\n return providers.map(provider => (...params) => inject(provider).canDeactivate(...params));\n}\nfunction mapToResolve(provider) {\n return (...params) => inject(provider).resolve(...params);\n}\n\nconst VERSION = /* @__PURE__ */new Version('21.2.6');\n\nexport { VERSION, mapToCanActivate, mapToCanActivateChild, mapToCanDeactivate, mapToCanMatch, mapToResolve };\n//# sourceMappingURL=router.mjs.map\n",
|
|
283
|
+
"import { provideRouter, type Routes } from '@angular/router';\n\n/* Records the `Routes` argument passed to a given `provideRouter(...)`\n * call so the sitemap pipeline can read them off a page module's\n * `providers` export without re-bootstrapping the page. Keyed by the\n * `EnvironmentProviders` object the function returns — a `WeakMap`\n * keeps things GC-friendly when modules are recompiled in dev. */\nconst ROUTES_BY_PROVIDERS = new WeakMap<object, Routes>();\n\n/** Runtime shim installed by AbsoluteJS's compile-time rewrite. User\n * code in Angular pages calls `provideRouter(routes, ...features)`\n * as usual; the compile pipeline rewrites those call sites to call\n * this wrapper instead, which delegates to the real `provideRouter`\n * and records the route table for sitemap enumeration. */\nexport const __abs_provideRouter = (\n\troutes: Routes,\n\t...features: Parameters<typeof provideRouter> extends [Routes, ...infer F]\n\t\t? F\n\t\t: unknown[]\n) => {\n\tconst providers = (\n\t\tprovideRouter as (...args: unknown[]) => unknown\n\t)(routes, ...features);\n\n\tif (providers && typeof providers === 'object') {\n\t\tROUTES_BY_PROVIDERS.set(providers, routes);\n\t}\n\n\treturn providers;\n};\n\n/** Look up the `Routes` array captured for a given `EnvironmentProviders`\n * entry from `provideRouter`. Returns `undefined` for any other provider\n * shape. */\nexport const getRoutesForProviders = (\n\tproviders: unknown\n): Routes | undefined => {\n\tif (!providers || typeof providers !== 'object') return undefined;\n\n\treturn ROUTES_BY_PROVIDERS.get(providers);\n};\n",
|
|
284
|
+
"import type { Route, Routes } from '@angular/router';\nimport type {\n\tSpaRouteEntry,\n\tSpaRouteSitemap\n} from '../utils/spaRouteEnumeration';\nimport { getRoutesForProviders } from './internal/captureProvideRouter';\n\nconst DYNAMIC_SEGMENT_PATTERN = /^[:*]/;\n\nconst pathHasDynamicSegment = (joined: string): boolean =>\n\tjoined\n\t\t.split('/')\n\t\t.some((segment) => DYNAMIC_SEGMENT_PATTERN.test(segment) || segment === '**');\n\nconst joinPaths = (parent: string, child: string): string => {\n\tconst trimmedParent = parent.replace(/\\/+$/, '');\n\tconst trimmedChild = child.replace(/^\\/+/, '');\n\tif (!trimmedChild) return trimmedParent;\n\tif (!trimmedParent) return trimmedChild.startsWith('/') ? trimmedChild : `/${trimmedChild}`;\n\n\treturn `${trimmedParent}/${trimmedChild}`;\n};\n\nconst isObjectRecord = (value: unknown): value is Record<string, unknown> =>\n\tBoolean(value) && typeof value === 'object';\n\nconst readSitemapMetadata = (route: Route): SpaRouteSitemap | undefined => {\n\tconst data = (route as { data?: unknown }).data;\n\tif (!isObjectRecord(data)) return undefined;\n\tconst sitemap = data['sitemap'];\n\n\treturn sitemap as SpaRouteSitemap | undefined;\n};\n\nconst resolveChildRoutes = (loaded: unknown): Routes => {\n\tif (Array.isArray(loaded)) return loaded;\n\tif (!isObjectRecord(loaded)) return [];\n\tconst candidate = loaded['routes'] ?? loaded['default'];\n\n\treturn Array.isArray(candidate) ? (candidate as Routes) : [];\n};\n\nconst walkAngularRoutes = async (\n\troutes: Routes,\n\tparentPath: string,\n\tout: SpaRouteEntry[]\n): Promise<void> => {\n\tfor (const route of routes) {\n\t\t// Pure-redirect routes don't render anything indexable.\n\t\tif (route.redirectTo !== undefined) continue;\n\n\t\tconst segment = route.path ?? '';\n\t\tconst joined = joinPaths(parentPath, segment);\n\t\tconst sitemap = readSitemapMetadata(route);\n\n\t\tif (route.children && route.children.length > 0) {\n\t\t\tawait walkAngularRoutes(route.children, joined, out);\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst lazyChildren = (route as { loadChildren?: () => unknown })\n\t\t\t.loadChildren;\n\t\tif (typeof lazyChildren === 'function') {\n\t\t\ttry {\n\t\t\t\tconst loaded = await Promise.resolve(lazyChildren());\n\t\t\t\tconst childRoutes = resolveChildRoutes(loaded);\n\t\t\t\tawait walkAngularRoutes(childRoutes, joined, out);\n\t\t\t} catch (err) {\n\t\t\t\tconsole.warn(\n\t\t\t\t\t`[sitemap] Angular loadChildren failed for ${joined}:`,\n\t\t\t\t\terr\n\t\t\t\t);\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\n\t\tout.push({\n\t\t\tdynamic: pathHasDynamicSegment(joined),\n\t\t\tpath: joined,\n\t\t\tsitemap\n\t\t});\n\t}\n};\n\n/** Reads the `Routes` arrays captured for any `provideRouter(...)` call\n * in `pageModule.providers` (compile-time rewrite records them) and\n * walks them, eagerly resolving `loadChildren`. Returns one entry per\n * leaf, with paths relative to the page's mount point. */\nexport const enumerateAngularSpaRoutes = async (\n\tpageModule: unknown\n): Promise<SpaRouteEntry[]> => {\n\tif (!isObjectRecord(pageModule)) return [];\n\tconst providers = pageModule['providers'];\n\tif (!Array.isArray(providers)) return [];\n\n\tconst entries: SpaRouteEntry[] = [];\n\tfor (const entry of providers) {\n\t\tconst captured = getRoutesForProviders(entry);\n\t\tif (!captured) continue;\n\t\tawait walkAngularRoutes(captured, '', entries);\n\t}\n\n\treturn entries;\n};\n",
|
|
52
285
|
"import type { Type } from '@angular/core';\nimport type { AngularPageDefinition } from '../../types/angular';\n\nexport const defineAngularPage = <\n\tProps extends Record<string, unknown> = Record<never, never>\n>(definition: {\n\tcomponent: Type<unknown>;\n}) => definition as AngularPageDefinition<Props>;\n",
|
|
53
286
|
"import { inject, PendingTasks } from '@angular/core';\n\nexport const withPendingTask = async <Value>(work: () => Promise<Value>) => {\n\tconst removeTask = inject(PendingTasks).add();\n\n\ttry {\n\t\treturn await work();\n\t} finally {\n\t\tremoveTask();\n\t}\n};\n"
|
|
54
287
|
],
|
|
55
|
-
"mappings": "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",
|
|
56
|
-
"debugId": "
|
|
288
|
+
"mappings": "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",
|
|
289
|
+
"debugId": "8CFD3C5BC2FA201A64756E2164756E21",
|
|
57
290
|
"names": []
|
|
58
291
|
}
|