UNPKG

@ng-web-apis/universal

Version:

A set of fallback for @ng-web-apis/common for Angular Universal

115 lines 12 kB
import { Optional } from '@angular/core'; import { WA_NAVIGATOR } from '@ng-web-apis/common'; import { SSR_USER_AGENT } from '../tokens/ssr-user-agent'; import { EVENT_TARGET } from '../utils/event-target'; import { alwaysFalse, alwaysRejected, alwaysZero, emptyArray, emptyFunction, emptyObject, } from '../utils/functions'; function getArray() { return new (class extends Array { item = () => null; namedItem = () => null; refresh() { } })(); } export const NAVIGATOR_MOCK = { appCodeName: '', appName: '', appVersion: '', platform: '', product: '', productSub: '', userAgent: '', vendor: '', vendorSub: '', onLine: false, confirmSiteSpecificTrackingException: alwaysFalse, confirmWebWideTrackingException: alwaysFalse, share: alwaysRejected, registerProtocolHandler: emptyFunction, unregisterProtocolHandler: emptyFunction, removeSiteSpecificTrackingException: emptyFunction, removeWebWideTrackingException: emptyFunction, storeSiteSpecificTrackingException: emptyFunction, storeWebWideTrackingException: emptyFunction, credentials: { create: alwaysRejected, get: alwaysRejected, preventSilentAccess: alwaysRejected, store: alwaysRejected, }, msSaveBlob: alwaysFalse, msSaveOrOpenBlob: alwaysFalse, sendBeacon: alwaysFalse, hardwareConcurrency: 0, getDisplayMedia: alwaysRejected, language: '', languages: [], storage: { estimate: alwaysRejected, persist: alwaysRejected, persisted: alwaysRejected, }, activeVRDisplays: [], authentication: { getAssertion: alwaysRejected, makeCredential: alwaysRejected, }, clipboard: { ...EVENT_TARGET, readText: alwaysRejected, writeText: alwaysRejected, }, cookieEnabled: false, doNotTrack: null, gamepadInputEmulation: 'keyboard', geolocation: { clearWatch: emptyFunction, getCurrentPosition: emptyFunction, watchPosition: alwaysZero, }, maxTouchPoints: 0, mediaDevices: { ...EVENT_TARGET, ondevicechange: null, enumerateDevices: alwaysRejected, getSupportedConstraints: emptyObject, getUserMedia: alwaysRejected, }, mimeTypes: getArray(), msManipulationViewsEnabled: false, msMaxTouchPoints: 0, msPointerEnabled: false, permissions: { query: alwaysRejected, }, plugins: getArray(), pointerEnabled: false, serviceWorker: { ...EVENT_TARGET, controller: null, oncontrollerchange: null, onmessage: null, onmessageerror: null, ready: alwaysRejected(), getRegistration: alwaysRejected, getRegistrations: alwaysRejected, register: alwaysRejected, startMessages: emptyFunction, }, webdriver: false, getGamepads: emptyArray, getUserMedia: emptyFunction, getVRDisplays: alwaysRejected, javaEnabled: alwaysFalse, msLaunchUri: emptyFunction, requestMediaKeySystemAccess: alwaysRejected, vibrate: alwaysFalse, }; export const UNIVERSAL_NAVIGATOR = { provide: WA_NAVIGATOR, deps: [[new Optional(), SSR_USER_AGENT]], useFactory: (userAgent) => ({ ...NAVIGATOR_MOCK, userAgent: userAgent ?? '', }), }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pdmVyc2FsLW5hdmlnYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvdW5pdmVyc2FsL3NyYy9jb25zdGFudHMvdW5pdmVyc2FsLW5hdmlnYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUVqRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDeEQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ25ELE9BQU8sRUFDSCxXQUFXLEVBQ1gsY0FBYyxFQUNkLFVBQVUsRUFDVixVQUFVLEVBQ1YsYUFBYSxFQUNiLFdBQVcsR0FDZCxNQUFNLG9CQUFvQixDQUFDO0FBRTVCLFNBQVMsUUFBUTtJQUNiLE9BQU8sSUFBSSxDQUFDLEtBQU0sU0FBUSxLQUFRO1FBQ3ZCLElBQUksR0FBRyxHQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUM7UUFDeEIsU0FBUyxHQUFHLEdBQVMsRUFBRSxDQUFDLElBQUksQ0FBQztRQUM3QixPQUFPLEtBQVUsQ0FBQztLQUM1QixDQUFDLEVBQUUsQ0FBQztBQUNULENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQWM7SUFDckMsV0FBVyxFQUFFLEVBQUU7SUFDZixPQUFPLEVBQUUsRUFBRTtJQUNYLFVBQVUsRUFBRSxFQUFFO0lBQ2QsUUFBUSxFQUFFLEVBQUU7SUFDWixPQUFPLEVBQUUsRUFBRTtJQUNYLFVBQVUsRUFBRSxFQUFFO0lBQ2QsU0FBUyxFQUFFLEVBQUU7SUFDYixNQUFNLEVBQUUsRUFBRTtJQUNWLFNBQVMsRUFBRSxFQUFFO0lBQ2IsTUFBTSxFQUFFLEtBQUs7SUFDYixvQ0FBb0MsRUFBRSxXQUFXO0lBQ2pELCtCQUErQixFQUFFLFdBQVc7SUFDNUMsS0FBSyxFQUFF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dG9yeVByb3ZpZGVyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7T3B0aW9uYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtXQV9OQVZJR0FUT1J9IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuXG5pbXBvcnQge1NTUl9VU0VSX0FHRU5UfSBmcm9tICcuLi90b2tlbnMvc3NyLXVzZXItYWdlbnQnO1xuaW1wb3J0IHtFVkVOVF9UQVJHRVR9IGZyb20gJy4uL3V0aWxzL2V2ZW50LXRhcmdldCc7XG5pbXBvcnQge1xuICAgIGFsd2F5c0ZhbHNlLFxuICAgIGFsd2F5c1JlamVjdGVkLFxuICAgIGFsd2F5c1plcm8sXG4gICAgZW1wdHlBcnJheSxcbiAgICBlbXB0eUZ1bmN0aW9uLFxuICAgIGVtcHR5T2JqZWN0LFxufSBmcm9tICcuLi91dGlscy9mdW5jdGlvbnMnO1xuXG5mdW5jdGlvbiBnZXRBcnJheTxUPigpOiBUW10ge1xuICAgIHJldHVybiBuZXcgKGNsYXNzIGV4dGVuZHMgQXJyYXk8VD4ge1xuICAgICAgICBwdWJsaWMgaXRlbSA9ICgpOiBudWxsID0+IG51bGw7XG4gICAgICAgIHB1YmxpYyBuYW1lZEl0ZW0gPSAoKTogbnVsbCA9PiBudWxsO1xuICAgICAgICBwdWJsaWMgcmVmcmVzaCgpOiB2b2lkIHt9XG4gICAgfSkoKTtcbn1cblxuZXhwb3J0IGNvbnN0IE5BVklHQVRPUl9NT0NLOiBOYXZpZ2F0b3IgPSB7XG4gICAgYXBwQ29kZU5hbWU6ICcnLFxuICAgIGFwcE5hbWU6ICcnLFxuICAgIGFwcFZlcnNpb246ICcnLFxuICAgIHBsYXRmb3JtOiAnJyxcbiAgICBwcm9kdWN0OiAnJyxcbiAgICBwcm9kdWN0U3ViOiAnJyxcbiAgICB1c2VyQWdlbnQ6ICcnLFxuICAgIHZlbmRvcjogJycsXG4gICAgdmVuZG9yU3ViOiAnJyxcbiAgICBvbkxpbmU6IGZhbHNlLFxuICAgIGNvbmZpcm1TaXRlU3BlY2lmaWNUcmFja2luZ0V4Y2VwdGlvbjogYWx3YXlzRmFsc2UsXG4gICAgY29uZmlybVdlYldpZGVUcmFja2luZ0V4Y2VwdGlvbjogYWx3YXlzRmFsc2UsXG4gICAgc2hhcmU6IGFsd2F5c1JlamVjdGVkLFxuICAgIHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyOiBlbXB0eUZ1bmN0aW9uLFxuICAgIHVucmVnaXN0ZXJQcm90b2NvbEhhbmRsZXI6IGVtcHR5RnVuY3Rpb24sXG4gICAgcmVtb3ZlU2l0ZVNwZWNpZmljVHJhY2tpbmdFeGNlcHRpb246IGVtcHR5RnVuY3Rpb24sXG4gICAgcmVtb3ZlV2ViV2lkZVRyYWNraW5nRXhjZXB0aW9uOiBlbXB0eUZ1bmN0aW9uLFxuICAgIHN0b3JlU2l0ZVNwZWNpZmljVHJhY2tpbmdFeGNlcHRpb246IGVtcHR5RnVuY3Rpb24sXG4gICAgc3RvcmVXZWJXaWRlVHJhY2tpbmdFeGNlcHRpb246IGVtcHR5RnVuY3Rpb24sXG4gICAgY3JlZGVudGlhbHM6IHtcbiAgICAgICAgY3JlYXRlOiBhbHdheXNSZWplY3RlZCxcbiAgICAgICAgZ2V0OiBhbHdheXNSZWplY3RlZCxcbiAgICAgICAgcHJldmVudFNpbGVudEFjY2VzczogYWx3YXlzUmVqZWN0ZWQsXG4gICAgICAgIHN0b3JlOiBhbHdheXNSZWplY3RlZCxcbiAgICB9LFxuICAgIG1zU2F2ZUJsb2I6IGFsd2F5c0ZhbHNlLFxuICAgIG1zU2F2ZU9yT3BlbkJsb2I6IGFsd2F5c0ZhbHNlLFxuICAgIHNlbmRCZWFjb246IGFsd2F5c0ZhbHNlLFxuICAgIGhhcmR3YXJlQ29uY3VycmVuY3k6IDAsXG4gICAgZ2V0RGlzcGxheU1lZGlhOiBhbHdheXNSZWplY3RlZCxcbiAgICBsYW5ndWFnZTogJycsXG4gICAgbGFuZ3VhZ2VzOiBbXSxcbiAgICBzdG9yYWdlOiB7XG4gICAgICAgIGVzdGltYXRlOiBhbHdheXNSZWplY3RlZCxcbiAgICAgICAgcGVyc2lzdDogYWx3YXlzUmVqZWN0ZWQsXG4gICAgICAgIHBlcnNpc3RlZDogYWx3YXlzUmVqZWN0ZWQsXG4gICAgfSxcbiAgICBhY3RpdmVWUkRpc3BsYXlzOiBbXSxcbiAgICBhdXRoZW50aWNhdGlvbjoge1xuICAgICAgICBnZXRBc3NlcnRpb246IGFsd2F5c1JlamVjdGVkLFxuICAgICAgICBtYWtlQ3JlZGVudGlhbDogYWx3YXlzUmVqZWN0ZWQsXG4gICAgfSxcbiAgICBjbGlwYm9hcmQ6IHtcbiAgICAgICAgLi4uRVZFTlRfVEFSR0VULFxuICAgICAgICByZWFkVGV4dDogYWx3YXlzUmVqZWN0ZWQsXG4gICAgICAgIHdyaXRlVGV4dDogYWx3YXlzUmVqZWN0ZWQsXG4gICAgfSxcbiAgICBjb29raWVFbmFibGVkOiBmYWxzZSxcbiAgICBkb05vdFRyYWNrOiBudWxsLFxuICAgIGdhbWVwYWRJbnB1dEVtdWxhdGlvbjogJ2tleWJvYXJkJyxcbiAgICBnZW9sb2NhdGlvbjoge1xuICAgICAgICBjbGVhcldhdGNoOiBlbXB0eUZ1bmN0aW9uLFxuICAgICAgICBnZXRDdXJyZW50UG9zaXRpb246IGVtcHR5RnVuY3Rpb24sXG4gICAgICAgIHdhdGNoUG9zaXRpb246IGFsd2F5c1plcm8sXG4gICAgfSxcbiAgICBtYXhUb3VjaFBvaW50czogMCxcbiAgICBtZWRpYURldmljZXM6IHtcbiAgICAgICAgLi4uRVZFTlRfVEFSR0VULFxuICAgICAgICBvbmRldmljZWNoYW5nZTogbnVsbCxcbiAgICAgICAgZW51bWVyYXRlRGV2aWNlczogYWx3YXlzUmVqZWN0ZWQsXG4gICAgICAgIGdldFN1cHBvcnRlZENvbnN0cmFpbnRzOiBlbXB0eU9iamVjdCxcbiAgICAgICAgZ2V0VXNlck1lZGlhOiBhbHdheXNSZWplY3RlZCxcbiAgICB9LFxuICAgIG1pbWVUeXBlczogZ2V0QXJyYXk8TWltZVR5cGU+KCksXG4gICAgbXNNYW5pcHVsYXRpb25WaWV3c0VuYWJsZWQ6IGZhbHNlLFxuICAgIG1zTWF4VG91Y2hQb2ludHM6IDAsXG4gICAgbXNQb2ludGVyRW5hYmxlZDogZmFsc2UsXG4gICAgcGVybWlzc2lvbnM6IHtcbiAgICAgICAgcXVlcnk6IGFsd2F5c1JlamVjdGVkLFxuICAgIH0sXG4gICAgcGx1Z2luczogZ2V0QXJyYXk8UGx1Z2luPigpLFxuICAgIHBvaW50ZXJFbmFibGVkOiBmYWxzZSxcbiAgICBzZXJ2aWNlV29ya2VyOiB7XG4gICAgICAgIC4uLkVWRU5UX1RBUkdFVCxcbiAgICAgICAgY29udHJvbGxlcjogbnVsbCxcbiAgICAgICAgb25jb250cm9sbGVyY2hhbmdlOiBudWxsLFxuICAgICAgICBvbm1lc3NhZ2U6IG51bGwsXG4gICAgICAgIG9ubWVzc2FnZWVycm9yOiBudWxsLFxuICAgICAgICByZWFkeTogYWx3YXlzUmVqZWN0ZWQoKSxcbiAgICAgICAgZ2V0UmVnaXN0cmF0aW9uOiBhbHdheXNSZWplY3RlZCxcbiAgICAgICAgZ2V0UmVnaXN0cmF0aW9uczogYWx3YXlzUmVqZWN0ZWQsXG4gICAgICAgIHJlZ2lzdGVyOiBhbHdheXNSZWplY3RlZCxcbiAgICAgICAgc3RhcnRNZXNzYWdlczogZW1wdHlGdW5jdGlvbixcbiAgICB9LFxuICAgIHdlYmRyaXZlcjogZmFsc2UsXG4gICAgZ2V0R2FtZXBhZHM6IGVtcHR5QXJyYXksXG4gICAgZ2V0VXNlck1lZGlhOiBlbXB0eUZ1bmN0aW9uLFxuICAgIGdldFZSRGlzcGxheXM6IGFsd2F5c1JlamVjdGVkLFxuICAgIGphdmFFbmFibGVkOiBhbHdheXNGYWxzZSxcbiAgICBtc0xhdW5jaFVyaTogZW1wdHlGdW5jdGlvbixcbiAgICByZXF1ZXN0TWVkaWFLZXlTeXN0ZW1BY2Nlc3M6IGFsd2F5c1JlamVjdGVkLFxuICAgIHZpYnJhdGU6IGFsd2F5c0ZhbHNlLFxufSBhcyB1bmtub3duIGFzIE5hdmlnYXRvcjtcblxuZXhwb3J0IGNvbnN0IFVOSVZFUlNBTF9OQVZJR0FUT1I6IEZhY3RvcnlQcm92aWRlciA9IHtcbiAgICBwcm92aWRlOiBXQV9OQVZJR0FUT1IsXG4gICAgZGVwczogW1tuZXcgT3B0aW9uYWwoKSwgU1NSX1VTRVJfQUdFTlRdXSxcbiAgICB1c2VGYWN0b3J5OiAodXNlckFnZW50OiBzdHJpbmcgfCBudWxsKTogTmF2aWdhdG9yID0+ICh7XG4gICAgICAgIC4uLk5BVklHQVRPUl9NT0NLLFxuICAgICAgICB1c2VyQWdlbnQ6IHVzZXJBZ2VudCA/PyAnJyxcbiAgICB9KSxcbn07XG4iXX0=