@flosportsinc/ng-window
Version:
For use in unit testing and Angular Universal applications.
40 lines • 3.15 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { NgModule } from '@angular/core';
import { WindowService } from './window.service';
import { WINDOW, WINDOW_IS_DEFINED } from './window.tokens';
// for handling bundlers that might not have access to window object globally.
/**
* @param {?} isWindowDefined
* @return {?}
*/
export function winFactory(isWindowDefined) {
return isWindowDefined ? window : {};
}
/**
* @return {?}
*/
export function isWindowDefinedFactory() {
return typeof window !== 'undefined';
}
export class FloWindowModule {
}
FloWindowModule.decorators = [
{ type: NgModule, args: [{
providers: [
WindowService,
{
provide: WINDOW_IS_DEFINED,
useFactory: isWindowDefinedFactory
},
{
provide: WINDOW,
useFactory: winFactory,
deps: [WINDOW_IS_DEFINED]
}
]
},] }
];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2luZG93LmNvbW1vbi5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZmxvc3BvcnRzaW5jL25nLXdpbmRvdy8iLCJzb3VyY2VzIjpbImNvbW1vbi93aW5kb3cuY29tbW9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDaEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFBOzs7Ozs7QUFHM0QsTUFBTSxVQUFVLFVBQVUsQ0FBQyxlQUF3QjtJQUNqRCxPQUFPLGVBQWUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUE7QUFDdEMsQ0FBQzs7OztBQUVELE1BQU0sVUFBVSxzQkFBc0I7SUFDcEMsT0FBTyxPQUFPLE1BQU0sS0FBSyxXQUFXLENBQUE7QUFDdEMsQ0FBQztBQWdCRCxNQUFNLE9BQU8sZUFBZTs7O1lBZDNCLFFBQVEsU0FBQztnQkFDUixTQUFTLEVBQUU7b0JBQ1QsYUFBYTtvQkFDYjt3QkFDRSxPQUFPLEVBQUUsaUJBQWlCO3dCQUMxQixVQUFVLEVBQUUsc0JBQXNCO3FCQUNuQztvQkFDRDt3QkFDRSxPQUFPLEVBQUUsTUFBTTt3QkFDZixVQUFVLEVBQUUsVUFBVTt3QkFDdEIsSUFBSSxFQUFFLENBQUMsaUJBQWlCLENBQUM7cUJBQzFCO2lCQUNGO2FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBXaW5kb3dTZXJ2aWNlIH0gZnJvbSAnLi93aW5kb3cuc2VydmljZSdcbmltcG9ydCB7IFdJTkRPVywgV0lORE9XX0lTX0RFRklORUQgfSBmcm9tICcuL3dpbmRvdy50b2tlbnMnXG5cbi8vIGZvciBoYW5kbGluZyBidW5kbGVycyB0aGF0IG1pZ2h0IG5vdCBoYXZlIGFjY2VzcyB0byB3aW5kb3cgb2JqZWN0IGdsb2JhbGx5LlxuZXhwb3J0IGZ1bmN0aW9uIHdpbkZhY3RvcnkoaXNXaW5kb3dEZWZpbmVkOiBib29sZWFuKSB7XG4gIHJldHVybiBpc1dpbmRvd0RlZmluZWQgPyB3aW5kb3cgOiB7fVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNXaW5kb3dEZWZpbmVkRmFjdG9yeSgpIHtcbiAgcmV0dXJuIHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnXG59XG5cbkBOZ01vZHVsZSh7XG4gIHByb3ZpZGVyczogW1xuICAgIFdpbmRvd1NlcnZpY2UsXG4gICAge1xuICAgICAgcHJvdmlkZTogV0lORE9XX0lTX0RFRklORUQsXG4gICAgICB1c2VGYWN0b3J5OiBpc1dpbmRvd0RlZmluZWRGYWN0b3J5XG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBXSU5ET1csXG4gICAgICB1c2VGYWN0b3J5OiB3aW5GYWN0b3J5LFxuICAgICAgZGVwczogW1dJTkRPV19JU19ERUZJTkVEXVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBGbG9XaW5kb3dNb2R1bGUgeyB9XG4iXX0=