{"version":3,"file":"chunk-ng8j1vv1.js","sources":["node_modules/@rx-angular/cdk/fesm2022/cdk-internals-scheduler.mjs","node_modules/@rx-angular/cdk/fesm2022/cdk-render-strategies.mjs"],"sourcesContent":["import { ɵglobal as _global } from '@angular/core';\nfunction push(heap, node) {\n const index = heap.length;\n heap.push(node);\n siftUp(heap, node, index);\n}\nfunction peek(heap) {\n const first = heap[0];\n return first === undefined ? null : first;\n}\nfunction pop(heap) {\n const first = heap[0];\n if (first !== undefined) {\n const last = heap.pop();\n if (last !== first) {\n heap[0] = last;\n siftDown(heap, last, 0);\n }\n return first;\n } else {\n return null;\n }\n}\nfunction siftUp(heap, node, i) {\n let index = i;\n // eslint-disable-next-line no-constant-condition\n while (true) {\n const parentIndex = index - 1 >>> 1;\n const parent = heap[parentIndex];\n if (parent !== undefined && compare(parent, node) > 0) {\n // The parent is larger. Swap positions.\n heap[parentIndex] = node;\n heap[index] = parent;\n index = parentIndex;\n } else {\n // The parent is smaller. Exit.\n return;\n }\n }\n}\nfunction siftDown(heap, node, i) {\n let index = i;\n const length = heap.length;\n while (index < length) {\n const leftIndex = (index + 1) * 2 - 1;\n const left = heap[leftIndex];\n const rightIndex = leftIndex + 1;\n const right = heap[rightIndex];\n // If the left or right node is smaller, swap with the smaller of those.\n if (left !== undefined && compare(left, node) < 0) {\n if (right !== undefined && compare(right, left) < 0) {\n heap[index] = right;\n heap[rightIndex] = node;\n index = rightIndex;\n } else {\n heap[index] = left;\n heap[leftIndex] = node;\n index = leftIndex;\n }\n } else if (right !== undefined && compare(right, node) < 0) {\n heap[index] = right;\n heap[rightIndex] = node;\n index = rightIndex;\n } else {\n // Neither child is smaller. Exit.\n return;\n }\n }\n}\nfunction compare(a, b) {\n // Compare sort index first, then task id.\n const diff = a.sortIndex - b.sortIndex;\n return diff !== 0 ? diff : a.id - b.id;\n}\n\n// see https://github.com/facebook/react/blob/main/packages/scheduler/src/forks/Scheduler.js\nlet getCurrentTime;\nconst hasPerformanceNow = typeof _global.performance === 'object' && typeof _global.performance.now === 'function';\nif (hasPerformanceNow) {\n const localPerformance = _global.performance;\n getCurrentTime = () => localPerformance.now();\n} else {\n const localDate = Date;\n const initialTime = localDate.now();\n getCurrentTime = () => localDate.now() - initialTime;\n}\n// Max 31 bit integer. The max integer size in V8 for 32-bit systems.\n// Math.pow(2, 30) - 1\n// 0b111111111111111111111111111111\nconst maxSigned31BitInt = 1073741823;\n// Times out immediately\nconst IMMEDIATE_PRIORITY_TIMEOUT = -1;\n// Eventually times out\nconst USER_BLOCKING_PRIORITY_TIMEOUT = 250;\nconst NORMAL_PRIORITY_TIMEOUT = 5000;\nconst LOW_PRIORITY_TIMEOUT = 10000;\n// Never times out\nconst IDLE_PRIORITY_TIMEOUT = maxSigned31BitInt;\n// Tasks are stored on a min heap\nconst taskQueue = [];\nconst timerQueue = [];\n// Incrementing id counter. Used to maintain insertion order.\nlet taskIdCounter = 1;\nlet currentTask = null;\nlet currentPriorityLevel = 3 /* PriorityLevel.NormalPriority */;\n// This is set while performing work, to prevent re-entrancy.\nlet isPerformingWork = false;\nlet isHostCallbackScheduled = false;\nlet isHostTimeoutScheduled = false;\n// Capture local references to native APIs, in case a polyfill overrides them.\nconst setTimeout = _global.setTimeout;\nconst clearTimeout = _global.clearTimeout;\nconst setImmediate = _global.setImmediate; // IE and Node.js + jsdom\nconst messageChannel = _global.MessageChannel;\nconst defaultZone = {\n run: fn => fn()\n};\nfunction advanceTimers(currentTime) {\n // Check for tasks that are no longer delayed and add them to the queue.\n let timer = peek(timerQueue);\n while (timer !== null) {\n if (timer.callback === null) {\n // Timer was cancelled.\n pop(timerQueue);\n } else if (timer.startTime <= currentTime) {\n // Timer fired. Transfer to the task queue.\n pop(timerQueue);\n timer.sortIndex = timer.expirationTime;\n push(taskQueue, timer);\n } else {\n // Remaining timers are pending.\n return;\n }\n timer = peek(timerQueue);\n }\n}\nfunction handleTimeout(currentTime) {\n isHostTimeoutScheduled = false;\n advanceTimers(currentTime);\n if (!isHostCallbackScheduled) {\n if (peek(taskQueue) !== null) {\n isHostCallbackScheduled = true;\n requestHostCallback(flushWork);\n } else {\n const firstTimer = peek(timerQueue);\n if (firstTimer !== null) {\n requestHostTimeout(handleTimeout, firstTimer.startTime - currentTime);\n }\n }\n }\n}\nfunction flushWork(hasTimeRemaining, initialTime) {\n // We'll need a host callback the next time work is scheduled.\n isHostCallbackScheduled = false;\n if (isHostTimeoutScheduled) {\n // We scheduled a timeout but it's no longer needed. Cancel it.\n isHostTimeoutScheduled = false;\n cancelHostTimeout();\n }\n isPerformingWork = true;\n const previousPriorityLevel = currentPriorityLevel;\n try {\n return workLoop(hasTimeRemaining, initialTime);\n } finally {\n currentTask = null;\n currentPriorityLevel = previousPriorityLevel;\n isPerformingWork = false;\n }\n}\nfunction workLoop(hasTimeRemaining, initialTime, _currentTask) {\n let currentTime = initialTime;\n if (_currentTask) {\n currentTask = _currentTask;\n } else {\n advanceTimers(currentTime);\n currentTask = peek(taskQueue);\n }\n let zoneChanged = false;\n const hitDeadline = () => currentTask && currentTask.expirationTime > currentTime && (!hasTimeRemaining || shouldYieldToHost());\n if (!hitDeadline()) {\n const ngZone = currentTask.ngZone || defaultZone;\n ngZone.run(() => {\n while (currentTask !== null && !zoneChanged) {\n if (hitDeadline()) {\n break;\n }\n const callback = currentTask.callback;\n if (typeof callback === 'function') {\n currentTask.callback = null;\n currentPriorityLevel = currentTask.priorityLevel;\n const didUserCallbackTimeout = currentTask.expirationTime <= currentTime;\n const continuationCallback = callback(didUserCallbackTimeout);\n currentTime = getCurrentTime();\n if (typeof continuationCallback === 'function') {\n currentTask.callback = continuationCallback;\n } else {\n if (currentTask === peek(taskQueue)) {\n pop(taskQueue);\n }\n }\n advanceTimers(currentTime);\n } else {\n pop(taskQueue);\n }\n currentTask = peek(taskQueue);\n zoneChanged = currentTask?.ngZone != null && currentTask.ngZone !== ngZone;\n }\n });\n }\n // we need to check if leaving `NgZone` (tick => detectChanges) caused other\n // directives to add tasks to the queue. If there is one and we still didn't\n // hit the deadline, run the workLoop again in order to flush everything thats\n // left.\n // Otherwise, newly added tasks won't run as `performingWork` is still `true`\n currentTask = currentTask ?? peek(taskQueue);\n // We should also re-calculate the currentTime, as we need to account for the execution\n // time of the NgZone tasks as well.\n // If there is still a task in the queue, but no time is left for executing it,\n // the scheduler will re-schedule the next tick anyway\n currentTime = getCurrentTime();\n if (zoneChanged || currentTask && !hitDeadline()) {\n return workLoop(hasTimeRemaining, currentTime, currentTask);\n }\n // Return whether there's additional work\n if (currentTask !== null) {\n return true;\n } else {\n const firstTimer = peek(timerQueue);\n if (firstTimer !== null) {\n requestHostTimeout(handleTimeout, firstTimer.startTime - currentTime);\n }\n return false;\n }\n}\nfunction scheduleCallback(priorityLevel, callback, options) {\n const currentTime = getCurrentTime();\n let startTime;\n if (typeof options === 'object' && options !== null) {\n const delay = options.delay;\n if (typeof delay === 'number' && delay > 0) {\n startTime = currentTime + delay;\n } else {\n startTime = currentTime;\n }\n } else {\n startTime = currentTime;\n }\n let timeout;\n switch (priorityLevel) {\n case 1 /* PriorityLevel.ImmediatePriority */:\n timeout = IMMEDIATE_PRIORITY_TIMEOUT;\n break;\n case 2 /* PriorityLevel.UserBlockingPriority */:\n timeout = USER_BLOCKING_PRIORITY_TIMEOUT;\n break;\n case 5 /* PriorityLevel.IdlePriority */:\n timeout = IDLE_PRIORITY_TIMEOUT;\n break;\n case 4 /* PriorityLevel.LowPriority */:\n timeout = LOW_PRIORITY_TIMEOUT;\n break;\n case 3 /* PriorityLevel.NormalPriority */:\n default:\n timeout = NORMAL_PRIORITY_TIMEOUT;\n break;\n }\n const expirationTime = startTime + timeout;\n const newTask = {\n id: taskIdCounter++,\n callback,\n priorityLevel,\n startTime,\n expirationTime,\n sortIndex: -1,\n ngZone: options?.ngZone || null\n };\n if (startTime > currentTime) {\n // This is a delayed task.\n newTask.sortIndex = startTime;\n push(timerQueue, newTask);\n if (peek(taskQueue) === null && newTask === peek(timerQueue)) {\n // All tasks are delayed, and this is the task with the earliest delay.\n if (isHostTimeoutScheduled) {\n // Cancel an existing timeout.\n cancelHostTimeout();\n } else {\n isHostTimeoutScheduled = true;\n }\n // Schedule a timeout.\n requestHostTimeout(handleTimeout, startTime - currentTime);\n }\n } else {\n newTask.sortIndex = expirationTime;\n push(taskQueue, newTask);\n // Schedule a host callback, if needed. If we're already performing work,\n // wait until the next time we yield.\n if (!isHostCallbackScheduled && !isPerformingWork) {\n isHostCallbackScheduled = true;\n requestHostCallback(flushWork);\n }\n }\n return newTask;\n}\nfunction cancelCallback(task) {\n // Null out the callback to indicate the task has been canceled. (Can't\n // remove from the queue because you can't remove arbitrary nodes from an\n // array based heap, only the first one.)\n task.callback = null;\n}\nlet isMessageLoopRunning = false;\nlet scheduledHostCallback = null;\nlet taskTimeoutID = -1;\n// Scheduler periodically yields in case there is other work on the main\n// thread, like user events. By default, it yields multiple times per frame.\n// It does not attempt to align with frame boundaries, since most tasks don't\n// need to be frame aligned; for those that do, use requestAnimationFrame.\nlet yieldInterval = 16;\nlet needsPaint = false;\nlet queueStartTime = -1;\nfunction shouldYieldToHost() {\n if (needsPaint) {\n // There's a pending paint (signaled by `requestPaint`). Yield now.\n return true;\n }\n const timeElapsed = getCurrentTime() - queueStartTime;\n if (timeElapsed < yieldInterval) {\n // The main thread has only been blocked for a really short amount of time;\n // smaller than a single frame. Don't yield yet.\n return false;\n }\n // `isInputPending` isn't available. Yield now.\n return true;\n}\nfunction requestPaint() {\n needsPaint = true;\n}\nfunction forceFrameRate(fps) {\n if (fps < 0 || fps > 125) {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n console.error('forceFrameRate takes a positive int between 0 and 125, ' + 'forcing frame rates higher than 125 fps is not supported');\n }\n return;\n }\n if (fps > 0) {\n yieldInterval = Math.floor(1000 / fps);\n } else {\n // reset the framerate\n yieldInterval = 5;\n }\n // be aware of browser housekeeping work (~6ms per frame)\n // according to https://developers.google.com/web/fundamentals/performance/rendering\n yieldInterval = Math.max(5, yieldInterval - 6);\n}\nconst performWorkUntilDeadline = () => {\n if (scheduledHostCallback !== null) {\n const currentTime = getCurrentTime();\n // Yield after `yieldInterval` ms, regardless of where we are in the vsync\n // cycle. This means there's always time remaining at the beginning of\n // the message event.\n queueStartTime = currentTime;\n const hasTimeRemaining = true;\n // If a scheduler task throws, exit the current browser task so the\n // error can be observed.\n //\n // Intentionally not using a try-catch, since that makes some debugging\n // techniques harder. Instead, if `scheduledHostCallback` errors, then\n // `hasMoreWork` will remain true, and we'll continue the work loop.\n let hasMoreWork = true;\n try {\n hasMoreWork = scheduledHostCallback(hasTimeRemaining, currentTime);\n } finally {\n if (hasMoreWork) {\n // If there's more work, schedule the next message event at the end\n // of the preceding one.\n schedulePerformWorkUntilDeadline();\n } else {\n isMessageLoopRunning = false;\n scheduledHostCallback = null;\n }\n }\n } else {\n isMessageLoopRunning = false;\n }\n // Yielding to the browser will give it a chance to paint, so we can\n // reset this.\n needsPaint = false;\n};\nlet schedulePerformWorkUntilDeadline;\nif (typeof setImmediate === 'function') {\n // Node.js and old IE.\n // There's a few reasons for why we prefer setImmediate.\n //\n // Unlike MessageChannel, it doesn't prevent a Node.js process from exiting.\n // (Even though this is a DOM fork of the Scheduler, you could get here\n // with a mix of Node.js 15+, which has a MessageChannel, and jsdom.)\n // https://github.com/facebook/react/issues/20756\n //\n // But also, it runs earlier which is the semantic we want.\n // If other browsers ever implement it, it's better to use it.\n // Although both of these would be inferior to native scheduling.\n schedulePerformWorkUntilDeadline = () => {\n setImmediate(performWorkUntilDeadline);\n };\n} else if (typeof messageChannel !== 'undefined') {\n const channel = new messageChannel();\n const port = channel.port2;\n channel.port1.onmessage = performWorkUntilDeadline;\n schedulePerformWorkUntilDeadline = () => {\n port.postMessage(null);\n };\n} else {\n // We should only fallback here in non-browser environments.\n schedulePerformWorkUntilDeadline = () => {\n setTimeout(performWorkUntilDeadline, 0);\n };\n}\nfunction requestHostCallback(callback) {\n scheduledHostCallback = callback;\n if (!isMessageLoopRunning) {\n isMessageLoopRunning = true;\n schedulePerformWorkUntilDeadline();\n }\n}\nfunction requestHostTimeout(callback, ms) {\n taskTimeoutID = setTimeout(() => {\n callback(getCurrentTime());\n }, ms);\n}\nfunction cancelHostTimeout() {\n clearTimeout(taskTimeoutID);\n taskTimeoutID = -1;\n}\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { cancelCallback, forceFrameRate, scheduleCallback };\n","import { coalescingManager, coalesceWith } from '@rx-angular/cdk/coalescing';\nimport { forceFrameRate, scheduleCallback, cancelCallback } from '@rx-angular/cdk/internals/scheduler';\nimport { Observable, throwError, ReplaySubject, BehaviorSubject, fromEvent } from 'rxjs';\nimport { filter, switchMap, mapTo, tap, catchError, map, take, switchAll, startWith, share, shareReplay, takeUntil } from 'rxjs/operators';\nimport * as i0 from '@angular/core';\nimport { NgZone, InjectionToken, Injectable, Optional, Inject } from '@angular/core';\nimport { getZoneUnPatchedApi } from '@rx-angular/cdk/internals/core';\nimport { coerceAllFactory } from '@rx-angular/cdk/coercing';\n\n// set default to 60fps\nforceFrameRate(60);\nconst immediateStrategy = {\n name: 'immediate',\n work: cdRef => cdRef.detectChanges(),\n behavior: ({\n work,\n scope,\n ngZone\n }) => {\n return o$ => o$.pipe(scheduleOnQueue(work, {\n ngZone,\n priority: 1 /* PriorityLevel.ImmediatePriority */,\n scope\n }));\n }\n};\nconst userBlockingStrategy = {\n name: 'userBlocking',\n work: cdRef => cdRef.detectChanges(),\n behavior: ({\n work,\n scope,\n ngZone\n }) => {\n return o$ => o$.pipe(scheduleOnQueue(work, {\n ngZone,\n priority: 2 /* PriorityLevel.UserBlockingPriority */,\n scope\n }));\n }\n};\nconst normalStrategy = {\n name: 'normal',\n work: cdRef => cdRef.detectChanges(),\n behavior: ({\n work,\n scope,\n ngZone\n }) => {\n return o$ => o$.pipe(scheduleOnQueue(work, {\n ngZone,\n priority: 3 /* PriorityLevel.NormalPriority */,\n scope\n }));\n }\n};\nconst lowStrategy = {\n name: 'low',\n work: cdRef => cdRef.detectChanges(),\n behavior: ({\n work,\n scope,\n ngZone\n }) => {\n return o$ => o$.pipe(scheduleOnQueue(work, {\n ngZone,\n priority: 4 /* PriorityLevel.LowPriority */,\n scope\n }));\n }\n};\nconst idleStrategy = {\n name: 'idle',\n work: cdRef => cdRef.detectChanges(),\n behavior: ({\n work,\n scope,\n ngZone\n }) => {\n return o$ => o$.pipe(scheduleOnQueue(work, {\n ngZone,\n priority: 5 /* PriorityLevel.IdlePriority */,\n scope\n }));\n }\n};\nfunction scheduleOnQueue(work, options) {\n const scope = options.scope || {};\n return o$ => o$.pipe(filter(() => !coalescingManager.isCoalescing(scope)), switchMap(v => new Observable(subscriber => {\n coalescingManager.add(scope);\n const task = scheduleCallback(options.priority, () => {\n work();\n coalescingManager.remove(scope);\n subscriber.next(v);\n }, {\n delay: options.delay,\n ngZone: options.ngZone\n });\n return () => {\n coalescingManager.remove(scope);\n cancelCallback(task);\n };\n }).pipe(mapTo(v))));\n}\nconst RX_CONCURRENT_STRATEGIES = {\n immediate: immediateStrategy,\n userBlocking: userBlockingStrategy,\n normal: normalStrategy,\n low: lowStrategy,\n idle: idleStrategy\n};\nconst animationFrameTick = () => new Observable(subscriber => {\n // use the unpatched API no avoid zone interference\n const id = getZoneUnPatchedApi('requestAnimationFrame')(() => {\n subscriber.next(0);\n subscriber.complete();\n });\n return () => {\n // use the unpatched API no avoid zone interference\n getZoneUnPatchedApi('cancelAnimationFrame')(id);\n };\n});\nconst localCredentials = {\n name: 'local',\n work: (cdRef, _, notification) => {\n cdRef.detectChanges();\n },\n behavior: ({\n work,\n scope,\n ngZone\n }) => o$ => o$.pipe(coalesceWith(animationFrameTick(), scope), tap(() => ngZone ? ngZone.run(() => work()) : work()))\n};\nconst noopCredentials = {\n name: 'noop',\n work: () => void 0,\n behavior: () => o$ => o$\n};\nconst nativeCredentials = {\n name: 'native',\n work: cdRef => cdRef.markForCheck(),\n behavior: ({\n work,\n ngZone\n }) => o$ => o$.pipe(tap(() => ngZone && !NgZone.isInAngularZone() ? ngZone.run(() => work()) : work()))\n};\nconst RX_NATIVE_STRATEGIES = {\n native: nativeCredentials,\n noop: noopCredentials,\n local: localCredentials\n};\nconst RX_RENDER_STRATEGIES_CONFIG = new InjectionToken('rxa-render-strategies-config');\nconst RX_RENDER_STRATEGIES_DEFAULTS = {\n primaryStrategy: 'normal',\n customStrategies: {\n ...RX_NATIVE_STRATEGIES,\n ...RX_CONCURRENT_STRATEGIES\n },\n patchZone: true,\n parent: false\n};\nfunction mergeDefaultConfig(cfg) {\n const custom = cfg ? cfg : {\n customStrategies: {}\n };\n return {\n ...RX_RENDER_STRATEGIES_DEFAULTS,\n ...custom,\n customStrategies: {\n ...custom.customStrategies,\n ...RX_RENDER_STRATEGIES_DEFAULTS.customStrategies\n }\n };\n}\n\n/**\n * @internal\n *\n * @param value\n * @param strategy\n * @param workFactory\n * @param options\n */\nfunction onStrategy(value, strategy, workFactory, options = {}) {\n return new Observable(subscriber => {\n subscriber.next(value);\n }).pipe(strategy.behavior({\n work: () => workFactory(value, strategy.work, options),\n scope: options.scope || {},\n ngZone: options.ngZone\n }), catchError(error => throwError(() => [error, value])), map(() => value), take(1));\n}\n\n/**\n * @internal\n *\n * A factory function returning an object to handle the process of turning strategy names into `RxStrategyCredentials`\n * You can next a strategy name as Observable or string and get an Observable of `RxStrategyCredentials`\n *\n * @param defaultStrategyName\n * @param strategies\n */\nfunction strategyHandling(defaultStrategyName, strategies) {\n const hotFlattened = coerceAllFactory(() => new ReplaySubject(1), switchAll());\n return {\n strategy$: hotFlattened.values$.pipe(startWith(defaultStrategyName), nameToStrategyCredentials(strategies, defaultStrategyName), share()),\n next(name) {\n hotFlattened.next(name);\n }\n };\n}\n/**\n * @internal\n */\nfunction nameToStrategyCredentials(strategies, defaultStrategyName) {\n return o$ => o$.pipe(map(name => name && Object.keys(strategies).includes(name) ? strategies[name] : strategies[defaultStrategyName]));\n}\n\n/**\n * @description\n * RxStrategyProvider is a wrapper service that you can use to consume strategies and schedule your code execution.\n *\n * @example\n * Component({\n * selector: 'app-service-communicator',\n * template: ``\n * });\n * export class ServiceCommunicationComponent {\n * private currentUserSettings;\n *\n * constructor(\n * private strategyProvider: RxStrategyProvider,\n * private userService: UserService,\n * private backgroundSync: BackgroundSyncService\n * ) {\n * this.userService.fetchCurrentUserSettings\n * .pipe(\n * tap(settings => (this.currentUserSettings = settings)),\n * this.strategyProvider.scheduleWith(\n * settings => this.backgroundSync.openConnection(settings),\n * { strategy: 'idle' }\n * )\n * )\n * .subscribe();\n * }\n * }\n *\n * @docsCategory RxStrategyProvider\n * @docsPage RxStrategyProvider\n */\nlet RxStrategyProvider = /*#__PURE__*/(() => {\n class RxStrategyProvider {\n _strategies$ = new BehaviorSubject(undefined);\n _primaryStrategy$ = new BehaviorSubject(undefined);\n _cfg;\n /**\n * @description\n * Returns current `RxAngularConfig` used in the service.\n * Config includes:\n * - strategy that currently in use - `primaryStrategy`\n * - array of custom user defined strategies - `customStrategies`\n * - setting that is responsible for running in our outside of the zone.js - `patchZone`\n */\n get config() {\n return this._cfg;\n }\n /**\n * @description\n * Returns object that contains key-value pairs of strategy names and their credentials (settings) that are available in the service.\n */\n get strategies() {\n return this._strategies$.getValue();\n }\n /**\n * @description\n * Returns an array of strategy names available in the service.\n */\n get strategyNames() {\n return Object.values(this.strategies).map(s => s.name);\n }\n /**\n * @description\n * Returns current strategy of the service.\n */\n get primaryStrategy() {\n return this._primaryStrategy$.getValue().name;\n }\n /**\n * @description\n * Set's the strategy that will be used by the service.\n */\n set primaryStrategy(strategyName) {\n this._primaryStrategy$.next(this.strategies[strategyName]);\n }\n /**\n * @description\n * Current strategy of the service as an observable.\n */\n primaryStrategy$ = this._primaryStrategy$.asObservable();\n /**\n * @description\n * Returns observable of an object that contains key-value pairs of strategy names and their credentials (settings) that are available in the service.\n */\n strategies$ = this._strategies$.asObservable();\n /**\n * @description\n * Returns an observable of an array of strategy names available in the service.\n */\n strategyNames$ = this.strategies$.pipe(map(strategies => Object.values(strategies).map(s => s.name)), shareReplay({\n bufferSize: 1,\n refCount: true\n }));\n /**\n * @internal\n */\n constructor(cfg) {\n this._cfg = mergeDefaultConfig(cfg);\n this._strategies$.next(this._cfg.customStrategies);\n this.primaryStrategy = this.config.primaryStrategy;\n }\n /**\n * @description\n * Allows to schedule a work inside rxjs `pipe`. Accepts the work and configuration options object.\n * - work is any function that should be executed\n * - (optional) options includes strategy, patchZone and scope\n *\n * Scope is by default a subscription but you can also pass `this` and then the scope will be current component.\n * Scope setup is useful if your work is some of the methods of `ChangeDetectorRef`. Only one change detection will be triggered if you have multiple schedules of change detection methods and scope is set to `this`.\n *\n * @example\n * myObservable$.pipe(\n * this.strategyProvider.scheduleWith(() => myWork(), {strategy: 'idle', patchZone: false})\n * ).subscribe();\n *\n * @return MonoTypeOperatorFunction\n */\n scheduleWith(work, options) {\n const strategy = this.strategies[options?.strategy || this.primaryStrategy];\n const scope = options?.scope || {};\n const _work = getWork(work, options?.patchZone);\n const ngZone = options?.patchZone || undefined;\n return o$ => o$.pipe(switchMap(v => onStrategy(v, strategy, _v => {\n _work(_v);\n }, {\n scope,\n ngZone\n })));\n }\n /**\n * @description\n * Allows to schedule a work as an observable. Accepts the work and configuration options object.\n * - work is any function that should be executed\n * - (optional) options includes strategy, patchZone and scope\n *\n * Scope is by default a subscription but you can also pass `this` and then the scope will be current component.\n * Scope setup is especially useful if you provide work that will trigger a change detection.\n *\n * @example\n * this.strategyProvider.schedule(() => myWork(), {strategy: 'idle', patchZone: false}).subscribe();\n *\n * @return Observable\n */\n schedule(work, options) {\n const strategy = this.strategies[options?.strategy || this.primaryStrategy];\n const scope = options?.scope || {};\n const _work = getWork(work, options?.patchZone);\n const ngZone = options?.patchZone || undefined;\n let returnVal;\n return onStrategy(null, strategy, () => {\n returnVal = _work();\n }, {\n scope,\n ngZone\n }).pipe(map(() => returnVal));\n }\n /**\n * @description\n * Allows to schedule a change detection cycle. Accepts the ChangeDetectorRef and configuration options object.\n * Options include:\n * - afterCD which is the work that should be executed after change detection cycle.\n * - abortCtrl is an AbortController that you can use to cancel the scheduled cycle.\n *\n * @example\n * this.strategyProvider.scheduleCd(this.changeDetectorRef, {afterCD: myWork()});\n *\n * @return AbortController\n */\n scheduleCD(cdRef, options) {\n const strategy = this.strategies[options?.strategy || this.primaryStrategy];\n const scope = options?.scope || cdRef;\n const abC = options?.abortCtrl || new AbortController();\n const ngZone = options?.patchZone || undefined;\n const work = getWork(() => {\n strategy.work(cdRef, scope);\n if (options?.afterCD) {\n options.afterCD();\n }\n }, options.patchZone);\n onStrategy(null, strategy, () => {\n work();\n }, {\n scope,\n ngZone\n }).pipe(takeUntil(fromEvent(abC.signal, 'abort'))).subscribe();\n return abC;\n }\n /** @nocollapse */\n static ɵfac = function RxStrategyProvider_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || RxStrategyProvider)(i0.ɵɵinject(RX_RENDER_STRATEGIES_CONFIG, 8));\n };\n /** @nocollapse */\n static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: RxStrategyProvider,\n factory: RxStrategyProvider.ɵfac,\n providedIn: 'root'\n });\n }\n return RxStrategyProvider;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nfunction getWork(work, patchZone) {\n let _work = work;\n if (patchZone) {\n _work = args => patchZone.run(() => work(args));\n }\n return _work;\n}\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { RX_CONCURRENT_STRATEGIES, RX_NATIVE_STRATEGIES, RX_RENDER_STRATEGIES_CONFIG, RxStrategyProvider, onStrategy, strategyHandling };\n"],"names":["push","heap","node","index","siftUp","peek","first","pop","last","siftDown","i","parentIndex","parent","compare","length","leftIndex","left","rightIndex","right","a","b","diff","getCurrentTime","hasPerformanceNow","_global","localPerformance","localDate","initialTime","maxSigned31BitInt","IMMEDIATE_PRIORITY_TIMEOUT","USER_BLOCKING_PRIORITY_TIMEOUT","NORMAL_PRIORITY_TIMEOUT","LOW_PRIORITY_TIMEOUT","IDLE_PRIORITY_TIMEOUT","taskQueue","timerQueue","taskIdCounter","currentTask","currentPriorityLevel","isPerformingWork","isHostCallbackScheduled","isHostTimeoutScheduled","setTimeout","clearTimeout","setImmediate","messageChannel","defaultZone","fn","advanceTimers","currentTime","timer","handleTimeout","requestHostCallback","flushWork","firstTimer","requestHostTimeout","hasTimeRemaining","cancelHostTimeout","workLoop","_currentTask","zoneChanged","hitDeadline","shouldYieldToHost","ngZone","callback","didUserCallbackTimeout","continuationCallback","scheduleCallback","priorityLevel","options","startTime","delay","timeout","expirationTime","newTask","cancelCallback","task","isMessageLoopRunning","scheduledHostCallback","taskTimeoutID","yieldInterval","needsPaint","queueStartTime","forceFrameRate","fps","performWorkUntilDeadline","hasMoreWork","schedulePerformWorkUntilDeadline","channel","port","ms","immediateStrategy","cdRef","work","scope","o$","scheduleOnQueue","userBlockingStrategy","normalStrategy","lowStrategy","idleStrategy","filter","coalescingManager","switchMap","v","Observable","subscriber","mapTo","RX_CONCURRENT_STRATEGIES","animationFrameTick","id","getZoneUnPatchedApi","localCredentials","_","notification","coalesceWith","tap","noopCredentials","nativeCredentials","NgZone","RX_NATIVE_STRATEGIES","RX_RENDER_STRATEGIES_CONFIG","InjectionToken","RX_RENDER_STRATEGIES_DEFAULTS","__spreadValues","mergeDefaultConfig","cfg","custom","__spreadProps","onStrategy","value","strategy","workFactory","catchError","error","throwError","map","take","RxStrategyProvider","_RxStrategyProvider","__publicField","BehaviorSubject","strategies","s","shareReplay","strategyName","_work","getWork","_v","returnVal","abC","takeUntil","fromEvent","__ngFactoryType__","ɵɵinject","ɵɵdefineInjectable","patchZone","args"],"mappings":"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","x_google_ignoreList":[0,1]}