{"version":3,"file":"ng-web-apis-universal.mjs","sources":["../../../libs/universal/src/constants/universal-animation-frame.ts","../../../libs/universal/src/utils/functions.ts","../../../libs/universal/src/constants/universal-caches.ts","../../../libs/universal/src/constants/universal-crypto.ts","../../../libs/universal/src/constants/universal-history.ts","../../../libs/universal/src/classes/storage-mock.ts","../../../libs/universal/src/constants/universal-local-storage.ts","../../../libs/universal/src/classes/dom-string-list-mock.ts","../../../libs/universal/src/classes/location-mock.ts","../../../libs/universal/src/tokens/ssr-location.ts","../../../libs/universal/src/constants/universal-location.ts","../../../libs/universal/src/tokens/ssr-user-agent.ts","../../../libs/universal/src/utils/event-target.ts","../../../libs/universal/src/constants/universal-navigator.ts","../../../libs/universal/src/constants/universal-media-devices.ts","../../../libs/universal/src/constants/universal-performance.ts","../../../libs/universal/src/constants/universal-session-storage.ts","../../../libs/universal/src/constants/universal-speech-synthesis.ts","../../../libs/universal/src/constants/universal-user-agent.ts","../../../libs/universal/src/classes/blob-mock.ts","../../../libs/universal/src/constants/universal-window.ts","../../../libs/universal/src/constants/universal-providers.ts","../../../libs/universal/src/utils/provide-location.ts","../../../libs/universal/src/utils/provide-user-agent.ts","../../../libs/universal/src/ng-web-apis-universal.ts"],"sourcesContent":["import {type ValueProvider} from '@angular/core';\nimport {WA_ANIMATION_FRAME} from '@ng-web-apis/common';\nimport {NEVER} from 'rxjs';\n\nexport const UNIVERSAL_ANIMATION_FRAME: ValueProvider = {\n    provide: WA_ANIMATION_FRAME,\n    useValue: NEVER,\n};\n","export function identity<T>(v: T): T {\n    return v;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nexport function emptyFunction(): void {}\n\nexport function emptyArray(): any[] {\n    return [];\n}\n\nexport function emptyObject(): object {\n    return {};\n}\n\nexport function alwaysFalse(): boolean {\n    return false;\n}\n\nexport function alwaysNull(): null {\n    return null;\n}\n\nexport function alwaysZero(): number {\n    return 0;\n}\n\nexport async function alwaysRejected(): Promise<any> {\n    return Promise.reject().catch(emptyFunction);\n}\n","import {type ValueProvider} from '@angular/core';\nimport {WA_CACHES} from '@ng-web-apis/common';\n\nimport {alwaysRejected} from '../utils/functions';\n\nexport const CACHES_MOCK = {\n    delete: async () => Promise.resolve(false),\n    has: async () => Promise.resolve(false),\n    keys: async () => Promise.resolve([]),\n    match: alwaysRejected,\n    open: alwaysRejected,\n};\n\nexport const UNIVERSAL_CACHES: ValueProvider = {\n    provide: WA_CACHES,\n    useValue: CACHES_MOCK,\n};\n","import {type ValueProvider} from '@angular/core';\nimport {WA_CRYPTO} from '@ng-web-apis/common';\n\nimport {alwaysRejected, identity} from '../utils/functions';\n\nexport const CRYPTO_MOCK = {\n    subtle: new Proxy({}, {get: () => () => alwaysRejected}),\n    getRandomValues: identity,\n};\n\nexport const UNIVERSAL_CRYPTO: ValueProvider = {\n    provide: WA_CRYPTO,\n    useValue: CRYPTO_MOCK,\n};\n","import {type ValueProvider} from '@angular/core';\nimport {WA_HISTORY} from '@ng-web-apis/common';\n\nimport {emptyFunction} from '../utils/functions';\n\nexport const HISTORY_MOCK = {\n    length: 0,\n    scrollRestoration: 'auto',\n    state: {},\n    back: emptyFunction,\n    forward: emptyFunction,\n    go: emptyFunction,\n    pushState: emptyFunction,\n    replaceState: emptyFunction,\n};\n\nexport const UNIVERSAL_HISTORY: ValueProvider = {\n    provide: WA_HISTORY,\n    useValue: HISTORY_MOCK,\n};\n","export class StorageMock implements Storage {\n    private readonly storage = new Map<string, string>();\n\n    public get length(): number {\n        return this.storage.size;\n    }\n\n    public getItem(key: string): string | null {\n        return this.storage.has(key) ? this.storage.get(key)! : null;\n    }\n\n    public setItem(key: string, value: string): void {\n        this.storage.set(key, value);\n    }\n\n    public clear(): void {\n        this.storage.clear();\n    }\n\n    public key(index: number): string | null {\n        return index < this.storage.size\n            ? ([...this.storage.keys()][index] ?? null)\n            : null;\n    }\n\n    public removeItem(key: string): void {\n        this.storage.delete(key);\n    }\n}\n","import {type ClassProvider} from '@angular/core';\nimport {WA_LOCAL_STORAGE} from '@ng-web-apis/common';\n\nimport {StorageMock} from '../classes/storage-mock';\n\nexport const UNIVERSAL_LOCAL_STORAGE: ClassProvider = {\n    provide: WA_LOCAL_STORAGE,\n    useClass: StorageMock,\n};\n","export class DOMStringListMock extends Array<string> implements DOMStringList {\n    public contains(): boolean {\n        return false;\n    }\n\n    public item(): null {\n        return null;\n    }\n}\n","import {emptyFunction} from '../utils/functions';\nimport {DOMStringListMock} from './dom-string-list-mock';\n\nexport class LocationMock implements Location {\n    public readonly ancestorOrigins = new DOMStringListMock();\n    public hash = '';\n    public host = '';\n    public hostname = '';\n    public href = '';\n    public readonly origin = '';\n    public pathname = '';\n    public port = '';\n    public protocol = '';\n    public search = '';\n    public assign = emptyFunction;\n    public reload = emptyFunction;\n    public replace = emptyFunction;\n}\n","import {inject, InjectionToken, REQUEST} from '@angular/core';\n\nimport {DOMStringListMock} from '../classes/dom-string-list-mock';\nimport {emptyFunction} from '../utils/functions';\n\nexport const WA_SSR_LOCATION = new InjectionToken<Location>(\n    ngDevMode ? '[WA_SSR_LOCATION]' : '',\n    {\n        factory: () => {\n            const req = inject(REQUEST, {optional: true});\n\n            if (req) {\n                const url: any = new URL(req.url);\n\n                url.assign = emptyFunction;\n                url.reload = emptyFunction;\n                url.replace = emptyFunction;\n                url.ancestorOrigins = new DOMStringListMock();\n\n                return url;\n            }\n        },\n    },\n);\n","import {type FactoryProvider, Optional} from '@angular/core';\nimport {WA_LOCATION} from '@ng-web-apis/common';\n\nimport {LocationMock} from '../classes/location-mock';\nimport {WA_SSR_LOCATION} from '../tokens/ssr-location';\n\nexport const UNIVERSAL_LOCATION: FactoryProvider = {\n    provide: WA_LOCATION,\n    deps: [[new Optional(), WA_SSR_LOCATION]],\n    useFactory: (location: Location | null) => location || new LocationMock(),\n};\n","import {inject, InjectionToken, REQUEST} from '@angular/core';\n\nexport const WA_SSR_USER_AGENT = new InjectionToken<string>(\n    ngDevMode ? '[WA_SSR_USER_AGENT]' : '',\n    {\n        factory: () => {\n            const req = inject(REQUEST, {optional: true});\n\n            return req?.headers.get('user-agent') ?? '';\n        },\n    },\n);\n","import {alwaysFalse, emptyFunction} from './functions';\n\nexport const EVENT_TARGET: EventTarget = {\n    addEventListener: emptyFunction,\n    dispatchEvent: alwaysFalse,\n    removeEventListener: emptyFunction,\n};\n","import {type FactoryProvider, Optional} from '@angular/core';\nimport {WA_NAVIGATOR} from '@ng-web-apis/common';\n\nimport {WA_SSR_USER_AGENT} from '../tokens/ssr-user-agent';\nimport {EVENT_TARGET} from '../utils/event-target';\nimport {\n    alwaysFalse,\n    alwaysRejected,\n    alwaysZero,\n    emptyArray,\n    emptyFunction,\n    emptyObject,\n} from '../utils/functions';\n\nfunction getArray<T>(): T[] {\n    return new (class extends Array<T> {\n        public item = (): null => null;\n        public namedItem = (): null => null;\n        public refresh(): void {}\n    })();\n}\n\nexport const NAVIGATOR_MOCK = {\n    appCodeName: '',\n    appName: '',\n    appVersion: '',\n    platform: '',\n    product: '',\n    productSub: '',\n    userAgent: '',\n    vendor: '',\n    vendorSub: '',\n    onLine: false,\n    confirmSiteSpecificTrackingException: alwaysFalse,\n    confirmWebWideTrackingException: alwaysFalse,\n    share: alwaysRejected,\n    registerProtocolHandler: emptyFunction,\n    unregisterProtocolHandler: emptyFunction,\n    removeSiteSpecificTrackingException: emptyFunction,\n    removeWebWideTrackingException: emptyFunction,\n    storeSiteSpecificTrackingException: emptyFunction,\n    storeWebWideTrackingException: emptyFunction,\n    credentials: {\n        create: alwaysRejected,\n        get: alwaysRejected,\n        preventSilentAccess: alwaysRejected,\n        store: alwaysRejected,\n    },\n    msSaveBlob: alwaysFalse,\n    msSaveOrOpenBlob: alwaysFalse,\n    sendBeacon: alwaysFalse,\n    hardwareConcurrency: 0,\n    getDisplayMedia: alwaysRejected,\n    language: '',\n    languages: [],\n    storage: {\n        estimate: alwaysRejected,\n        persist: alwaysRejected,\n        persisted: alwaysRejected,\n    },\n    activeVRDisplays: [],\n    authentication: {\n        getAssertion: alwaysRejected,\n        makeCredential: alwaysRejected,\n    },\n    clipboard: {\n        ...EVENT_TARGET,\n        readText: alwaysRejected,\n        writeText: alwaysRejected,\n    },\n    cookieEnabled: false,\n    doNotTrack: null,\n    gamepadInputEmulation: 'keyboard',\n    geolocation: {\n        clearWatch: emptyFunction,\n        getCurrentPosition: emptyFunction,\n        watchPosition: alwaysZero,\n    },\n    maxTouchPoints: 0,\n    mediaDevices: {\n        ...EVENT_TARGET,\n        ondevicechange: null,\n        enumerateDevices: alwaysRejected,\n        getSupportedConstraints: emptyObject,\n        getUserMedia: alwaysRejected,\n    },\n    mimeTypes: getArray<MimeType>(),\n    msManipulationViewsEnabled: false,\n    msMaxTouchPoints: 0,\n    msPointerEnabled: false,\n    permissions: {query: alwaysRejected},\n    plugins: getArray<Plugin>(),\n    pointerEnabled: false,\n    serviceWorker: {\n        ...EVENT_TARGET,\n        controller: null,\n        oncontrollerchange: null,\n        onmessage: null,\n        onmessageerror: null,\n        ready: alwaysRejected(),\n        getRegistration: alwaysRejected,\n        getRegistrations: alwaysRejected,\n        register: alwaysRejected,\n        startMessages: emptyFunction,\n    },\n    webdriver: false,\n    getGamepads: emptyArray,\n    getUserMedia: emptyFunction,\n    getVRDisplays: alwaysRejected,\n    javaEnabled: alwaysFalse,\n    msLaunchUri: emptyFunction,\n    requestMediaKeySystemAccess: alwaysRejected,\n    vibrate: alwaysFalse,\n} as unknown as Navigator;\n\nexport const UNIVERSAL_NAVIGATOR: FactoryProvider = {\n    provide: WA_NAVIGATOR,\n    deps: [[new Optional(), WA_SSR_USER_AGENT]],\n    useFactory: (userAgent: string | null): Navigator => ({\n        ...NAVIGATOR_MOCK,\n        userAgent: userAgent ?? '',\n    }),\n};\n","import {type ValueProvider} from '@angular/core';\nimport {WA_MEDIA_DEVICES} from '@ng-web-apis/common';\n\nimport {NAVIGATOR_MOCK} from './universal-navigator';\n\nexport const UNIVERSAL_MEDIA_DEVICES: ValueProvider = {\n    provide: WA_MEDIA_DEVICES,\n    useValue: NAVIGATOR_MOCK.mediaDevices,\n};\n","import {type FactoryProvider} from '@angular/core';\nimport {WA_PERFORMANCE} from '@ng-web-apis/common';\n\nexport function performanceFactory(): Performance {\n    return (\n        safeRequire<{performance: Performance}>('node:perf_hooks')?.performance ||\n        safeRequire<{performance: Performance}>('perf_hooks')?.performance ||\n        globalThis.performance\n    );\n}\n\nexport const UNIVERSAL_PERFORMANCE: FactoryProvider = {\n    provide: WA_PERFORMANCE,\n    deps: [],\n    useFactory: performanceFactory,\n};\n\nfunction safeRequire<T>(modulePath: string): T | undefined {\n    try {\n        return require(modulePath);\n    } catch {\n        return undefined;\n    }\n}\n","import {type ClassProvider} from '@angular/core';\nimport {WA_SESSION_STORAGE} from '@ng-web-apis/common';\n\nimport {StorageMock} from '../classes/storage-mock';\n\nexport const UNIVERSAL_SESSION_STORAGE: ClassProvider = {\n    provide: WA_SESSION_STORAGE,\n    useClass: StorageMock,\n};\n","import {type ValueProvider} from '@angular/core';\nimport {WA_SPEECH_SYNTHESIS} from '@ng-web-apis/common';\n\nimport {alwaysFalse, emptyArray, emptyFunction} from '../utils/functions';\n\nexport const SPEECH_SYNTHESIS_MOCK: SpeechSynthesis = {\n    paused: false,\n    pending: false,\n    speaking: false,\n    onvoiceschanged: emptyFunction,\n    addEventListener: emptyFunction,\n    removeEventListener: emptyFunction,\n    dispatchEvent: alwaysFalse,\n    cancel: emptyFunction,\n    pause: emptyFunction,\n    resume: emptyFunction,\n    speak: emptyFunction,\n    getVoices: emptyArray,\n};\n\nexport const UNIVERSAL_SPEECH_SYNTHESIS: ValueProvider = {\n    provide: WA_SPEECH_SYNTHESIS,\n    useValue: SPEECH_SYNTHESIS_MOCK,\n};\n","import {type FactoryProvider, Optional} from '@angular/core';\nimport {WA_USER_AGENT} from '@ng-web-apis/common';\n\nimport {WA_SSR_USER_AGENT} from '../tokens/ssr-user-agent';\n\nexport const UNIVERSAL_USER_AGENT: FactoryProvider = {\n    provide: WA_USER_AGENT,\n    deps: [[new Optional(), WA_SSR_USER_AGENT]],\n    useFactory: (userAgent: string | null) => userAgent ?? '',\n};\n","import {alwaysRejected} from '../utils/functions';\n\nexport class BlobMock implements Blob {\n    public size = 0;\n    public type = '';\n    public arrayBuffer = async (): Promise<any> => alwaysRejected();\n    public stream = (): ReadableStream => new ReadableStream();\n    public text = async (): Promise<any> => alwaysRejected();\n    public slice = (): Blob => this;\n\n    public async bytes(): Promise<Uint8Array> {\n        return Promise.resolve(new Uint8Array());\n    }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {type FactoryProvider, Optional} from '@angular/core';\nimport {WA_WINDOW} from '@ng-web-apis/common';\n\nimport {BlobMock} from '../classes/blob-mock';\nimport {LocationMock} from '../classes/location-mock';\nimport {StorageMock} from '../classes/storage-mock';\nimport {WA_SSR_LOCATION} from '../tokens/ssr-location';\nimport {WA_SSR_USER_AGENT} from '../tokens/ssr-user-agent';\nimport {EVENT_TARGET} from '../utils/event-target';\nimport {\n    alwaysFalse,\n    alwaysNull,\n    alwaysRejected,\n    alwaysZero,\n    emptyFunction,\n    identity,\n} from '../utils/functions';\nimport {CACHES_MOCK} from './universal-caches';\nimport {CRYPTO_MOCK} from './universal-crypto';\nimport {NAVIGATOR_MOCK} from './universal-navigator';\nimport {performanceFactory} from './universal-performance';\nimport {SPEECH_SYNTHESIS_MOCK} from './universal-speech-synthesis';\n\nconst COMPUTED_STYLES: Partial<CSSStyleDeclaration> = {\n    getPropertyPriority: () => '',\n    getPropertyValue: () => '',\n    item: () => '',\n    removeProperty: () => '',\n    setProperty: emptyFunction,\n};\n\nconst COMPUTED_STYLES_HANDLER: ProxyHandler<CSSStyleDeclaration> = {\n    get: (obj, key: any) => (key in obj ? obj[key] : null),\n};\n\nconst COMPUTED_STYLES_PROXY = new Proxy<CSSStyleDeclaration>(\n    COMPUTED_STYLES as any,\n    COMPUTED_STYLES_HANDLER,\n);\n\nconst CSS_RULES = new (class extends Array<CSSRule> implements CSSRuleList {\n    public item = (): null => null;\n})();\n\nconst BAR_PROP: BarProp = {visible: false};\n\nconst DB_REQUEST: IDBOpenDBRequest = {\n    ...EVENT_TARGET,\n    onblocked: null,\n    onerror: null,\n    onsuccess: null,\n    onupgradeneeded: null,\n    error: null,\n    readyState: 'pending',\n    result: null as any, // Cannot be accessed for 'pending' state anyway\n    source: null as any, // null for open requests\n    transaction: null,\n};\n\nconst SELF = ['frames', 'parent', 'self', 'top', 'window'];\n\nconst WINDOW_HANDLER: ProxyHandler<Window> = {\n    get: (windowRef, key: string) => {\n        if (SELF.includes(key)) {\n            return windowRef;\n        }\n\n        return key.startsWith('on') ? null : windowRef[key as keyof Window];\n    },\n};\n\nexport const UNIVERSAL_WINDOW: FactoryProvider = {\n    provide: WA_WINDOW,\n    deps: [\n        DOCUMENT,\n        [new Optional(), WA_SSR_LOCATION],\n        [new Optional(), WA_SSR_USER_AGENT],\n    ],\n    useFactory: (\n        document: Document,\n        location: Location | null,\n        userAgent: string | null,\n    ): Window => {\n        const windowMock: Window = {\n            ...EVENT_TARGET,\n            document,\n            localStorage: new StorageMock(),\n            location: location ?? new LocationMock(),\n            navigator: {...NAVIGATOR_MOCK, userAgent: userAgent ?? ''},\n            performance: performanceFactory(),\n            sessionStorage: new StorageMock(),\n            speechSynthesis: SPEECH_SYNTHESIS_MOCK,\n            caches: CACHES_MOCK,\n            crypto: CRYPTO_MOCK,\n            URL,\n            URLSearchParams,\n            setTimeout,\n            setInterval,\n            clearTimeout,\n            clearInterval,\n            console,\n            Blob: BlobMock,\n            alert: emptyFunction,\n            clientInformation: {...NAVIGATOR_MOCK, userAgent: userAgent ?? ''},\n            // TODO: Candidate for token\n            matchMedia: () => ({\n                ...EVENT_TARGET,\n                matches: false,\n                media: '',\n                onchange: null,\n                addListener: emptyFunction,\n                removeListener: emptyFunction,\n            }),\n            // TODO: Candidate for token\n            indexedDB: {\n                cmp: alwaysZero,\n                open: () => DB_REQUEST,\n                deleteDatabase: () => DB_REQUEST,\n            },\n            customElements: {\n                define: emptyFunction,\n                get: emptyFunction,\n                upgrade: emptyFunction,\n                whenDefined: alwaysRejected,\n            },\n            styleMedia: {\n                type: '',\n                matchMedium: alwaysFalse,\n            },\n            history: {\n                length: 0,\n                scrollRestoration: 'auto',\n                state: {},\n                back: emptyFunction,\n                forward: emptyFunction,\n                go: emptyFunction,\n                pushState: emptyFunction,\n                replaceState: emptyFunction,\n            },\n            closed: false,\n            defaultStatus: '',\n            devicePixelRatio: 1,\n            doNotTrack: '',\n            frameElement: null,\n            innerHeight: 0,\n            innerWidth: 0,\n            isSecureContext: false,\n            length: 0,\n            name: '',\n            offscreenBuffering: false,\n            opener: {},\n            origin: '',\n            orientation: '',\n            outerHeight: 0,\n            outerWidth: 0,\n            pageXOffset: 0,\n            pageYOffset: 0,\n            screenLeft: 0,\n            screenTop: 0,\n            screenX: 0,\n            screenY: 0,\n            scrollX: 0,\n            scrollY: 0,\n            status: '',\n            blur: emptyFunction,\n            cancelAnimationFrame: emptyFunction,\n            captureEvents: emptyFunction,\n            close: emptyFunction,\n            confirm: alwaysFalse,\n            departFocus: emptyFunction,\n            focus: emptyFunction,\n            moveBy: emptyFunction,\n            moveTo: emptyFunction,\n            open: alwaysNull,\n            postMessage: emptyFunction,\n            print: emptyFunction,\n            prompt: alwaysNull,\n            releaseEvents: emptyFunction,\n            requestAnimationFrame: alwaysZero,\n            resizeBy: emptyFunction,\n            resizeTo: emptyFunction,\n            scroll: emptyFunction,\n            scrollBy: emptyFunction,\n            scrollTo: emptyFunction,\n            stop: emptyFunction,\n            atob: identity,\n            btoa: identity,\n            fetch: alwaysRejected,\n            createImageBitmap: alwaysRejected,\n            queueMicrotask: emptyFunction,\n            locationbar: BAR_PROP,\n            menubar: BAR_PROP,\n            personalbar: BAR_PROP,\n            scrollbars: BAR_PROP,\n            statusbar: BAR_PROP,\n            toolbar: BAR_PROP,\n            getComputedStyle: () => COMPUTED_STYLES_PROXY,\n            getMatchedCSSRules: () => CSS_RULES,\n            getSelection: () => null,\n        } as any;\n\n        return new Proxy(windowMock, WINDOW_HANDLER);\n    },\n};\n","import {type EnvironmentProviders, type Provider} from '@angular/core';\n\nimport {UNIVERSAL_ANIMATION_FRAME} from './universal-animation-frame';\nimport {UNIVERSAL_CACHES} from './universal-caches';\nimport {UNIVERSAL_CRYPTO} from './universal-crypto';\nimport {UNIVERSAL_HISTORY} from './universal-history';\nimport {UNIVERSAL_LOCAL_STORAGE} from './universal-local-storage';\nimport {UNIVERSAL_LOCATION} from './universal-location';\nimport {UNIVERSAL_MEDIA_DEVICES} from './universal-media-devices';\nimport {UNIVERSAL_NAVIGATOR} from './universal-navigator';\nimport {UNIVERSAL_PERFORMANCE} from './universal-performance';\nimport {UNIVERSAL_SESSION_STORAGE} from './universal-session-storage';\nimport {UNIVERSAL_SPEECH_SYNTHESIS} from './universal-speech-synthesis';\nimport {UNIVERSAL_USER_AGENT} from './universal-user-agent';\nimport {UNIVERSAL_WINDOW} from './universal-window';\n\nexport const UNIVERSAL_PROVIDERS: Provider[] = [\n    UNIVERSAL_ANIMATION_FRAME,\n    UNIVERSAL_CACHES,\n    UNIVERSAL_CRYPTO,\n    UNIVERSAL_HISTORY,\n    UNIVERSAL_LOCAL_STORAGE,\n    UNIVERSAL_SESSION_STORAGE,\n    UNIVERSAL_LOCATION,\n    UNIVERSAL_MEDIA_DEVICES,\n    UNIVERSAL_NAVIGATOR,\n    UNIVERSAL_PERFORMANCE,\n    UNIVERSAL_SPEECH_SYNTHESIS,\n    UNIVERSAL_USER_AGENT,\n    UNIVERSAL_WINDOW,\n];\n\nexport function provideUniversal(): Array<EnvironmentProviders | Provider> {\n    return UNIVERSAL_PROVIDERS;\n}\n","import {type IncomingMessage} from 'node:http';\n\nimport {type ValueProvider} from '@angular/core';\n\nimport {DOMStringListMock} from '../classes/dom-string-list-mock';\nimport {WA_SSR_LOCATION} from '../tokens/ssr-location';\nimport {emptyFunction} from './functions';\n\nexport function provideLocation(req: IncomingMessage): ValueProvider {\n    const protocol = 'encrypted' in req.socket ? 'https' : 'http';\n    const url: any = new URL(`${protocol}://${req.headers.host}${req.url}`);\n\n    url.assign = emptyFunction;\n    url.reload = emptyFunction;\n    url.replace = emptyFunction;\n    url.ancestorOrigins = new DOMStringListMock();\n\n    return {\n        provide: WA_SSR_LOCATION,\n        useValue: url,\n    };\n}\n","import {type IncomingHttpHeaders} from 'node:http';\n\nimport {type ValueProvider} from '@angular/core';\n\nimport {WA_SSR_USER_AGENT} from '../tokens/ssr-user-agent';\n\nexport function provideUserAgent(req: {headers: IncomingHttpHeaders}): ValueProvider {\n    return {\n        provide: WA_SSR_USER_AGENT,\n        useValue: req.headers['user-agent'],\n    };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}