UNPKG

@krai-tech/web-api

Version:

A set of common tokens for consuming Web API with Angular.

21 lines 2.58 kB
import { DOCUMENT } from '@angular/common'; import { inject, InjectionToken } from '@angular/core'; /** * Injection token for the global window object. * * This token provides an abstraction over the global window object, allowing it to be injected * into Angular services or components. It uses the Angular DOCUMENT token to access the defaultView, * which represents the window object. * * Throws an error if the window object is not available. */ export const WINDOW = new InjectionToken('An abstraction over global window object', { factory: () => { const { defaultView } = inject(DOCUMENT); if (!defaultView) { throw new Error('Window is not available'); } return defaultView; }, }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2luZG93LmFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dlYi1hcGkvdG9rZW5zL3NyYy93aW5kb3cuYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2RDs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxJQUFJLGNBQWMsQ0FDdEMsMENBQTBDLEVBQzFDO0lBQ0UsT0FBTyxFQUFFLEdBQUcsRUFBRTtRQUNaLE1BQU0sRUFBQyxXQUFXLEVBQUMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFdkMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUM3QyxDQUFDO1FBRUQsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztDQUNGLENBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBJbmplY3Rpb24gdG9rZW4gZm9yIHRoZSBnbG9iYWwgd2luZG93IG9iamVjdC5cbiAqXG4gKiBUaGlzIHRva2VuIHByb3ZpZGVzIGFuIGFic3RyYWN0aW9uIG92ZXIgdGhlIGdsb2JhbCB3aW5kb3cgb2JqZWN0LCBhbGxvd2luZyBpdCB0byBiZSBpbmplY3RlZFxuICogaW50byBBbmd1bGFyIHNlcnZpY2VzIG9yIGNvbXBvbmVudHMuIEl0IHVzZXMgdGhlIEFuZ3VsYXIgRE9DVU1FTlQgdG9rZW4gdG8gYWNjZXNzIHRoZSBkZWZhdWx0VmlldyxcbiAqIHdoaWNoIHJlcHJlc2VudHMgdGhlIHdpbmRvdyBvYmplY3QuXG4gKlxuICogVGhyb3dzIGFuIGVycm9yIGlmIHRoZSB3aW5kb3cgb2JqZWN0IGlzIG5vdCBhdmFpbGFibGUuXG4gKi9cbmV4cG9ydCBjb25zdCBXSU5ET1cgPSBuZXcgSW5qZWN0aW9uVG9rZW48V2luZG93PihcbiAgJ0FuIGFic3RyYWN0aW9uIG92ZXIgZ2xvYmFsIHdpbmRvdyBvYmplY3QnLFxuICB7XG4gICAgZmFjdG9yeTogKCkgPT4ge1xuICAgICAgY29uc3Qge2RlZmF1bHRWaWV3fSA9IGluamVjdChET0NVTUVOVCk7XG5cbiAgICAgIGlmICghZGVmYXVsdFZpZXcpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdXaW5kb3cgaXMgbm90IGF2YWlsYWJsZScpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZGVmYXVsdFZpZXc7XG4gICAgfSxcbiAgfSxcbik7XG4iXX0=