UNPKG

@flosportsinc/ng-window

Version:

For use in unit testing and Angular Universal applications.

76 lines (71 loc) 2.16 kB
import { InjectionToken, Injectable, Inject, NgModule } from '@angular/core'; /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** @type {?} */ const WINDOW = new InjectionToken('fs.wnd'); /** @type {?} */ const WINDOW_IS_DEFINED = new InjectionToken('fs.wnd-def'); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ class WindowService { /** * @param {?} _window */ constructor(_window) { this._window = _window; this.window = (/** * @template T * @return {?} */ () => (/** @type {?} */ (this._window))); } } WindowService.decorators = [ { type: Injectable } ]; /** @nocollapse */ WindowService.ctorParameters = () => [ { type: undefined, decorators: [{ type: Inject, args: [WINDOW,] }] } ]; /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ // for handling bundlers that might not have access to window object globally. /** * @param {?} isWindowDefined * @return {?} */ function winFactory(isWindowDefined) { return isWindowDefined ? window : {}; } /** * @return {?} */ function isWindowDefinedFactory() { return typeof window !== 'undefined'; } class FloWindowModule { } FloWindowModule.decorators = [ { type: NgModule, args: [{ providers: [ WindowService, { provide: WINDOW_IS_DEFINED, useFactory: isWindowDefinedFactory }, { provide: WINDOW, useFactory: winFactory, deps: [WINDOW_IS_DEFINED] } ] },] } ]; export { FloWindowModule, WINDOW, WINDOW_IS_DEFINED, WindowService, isWindowDefinedFactory, winFactory }; //# sourceMappingURL=flosportsinc-ng-window.js.map