@ng-toolkit/universal
Version:
Adds Angular Universal support for any Angular CLI project
237 lines (229 loc) • 7.05 kB
JavaScript
import { Injectable, Inject, PLATFORM_ID, InjectionToken, NgModule } from '@angular/core';
import { isPlatformBrowser } from '@angular/common';
/**
* @fileoverview added by tsickle
* Generated from: ngt-universal/window.service.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
class WindowService {
/**
* @param {?} platformId
*/
constructor(platformId) {
if (!isPlatformBrowser(platformId)) {
// const req: any = this.injector.get(this.injector.get(USERAGENTTOKEN));
// this._window = {navigator: {userAgent: req.get('User-Agent')}};
this._window = (/** @type {?} */ ({ navigator: { userAgent: 'fakeAgent' } }));
}
else {
this._window = window;
}
}
/**
* @return {?}
*/
get nativeWindow() {
return this._window;
}
}
WindowService.decorators = [
{ type: Injectable }
];
/** @nocollapse */
WindowService.ctorParameters = () => [
{ type: undefined, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] }
];
if (false) {
/**
* @type {?}
* @private
*/
WindowService.prototype._window;
}
/**
* @fileoverview added by tsickle
* Generated from: ngt-universal/local-storage-wrapper.service.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
class LocalStorageWrapper {
/**
* @param {?} platformId
*/
constructor(platformId) {
if (isPlatformBrowser(platformId)) {
this.localStorageRef = localStorage;
}
else {
this.localStorageRef = {
clear: (/**
* @return {?}
*/
() => { }),
getItem: (/**
* @param {?} key
* @return {?}
*/
(key) => (/** @type {?} */ (undefined))),
key: (/**
* @param {?} index
* @return {?}
*/
(index) => (/** @type {?} */ (undefined))),
removeItem: (/**
* @param {?} key
* @return {?}
*/
(key) => { }),
setItem: (/**
* @param {?} key
* @param {?} value
* @return {?}
*/
(key, value) => { }),
length: 0
};
}
}
/**
* @return {?}
*/
get localStorage() {
return this.localStorageRef;
}
}
LocalStorageWrapper.decorators = [
{ type: Injectable }
];
/** @nocollapse */
LocalStorageWrapper.ctorParameters = () => [
{ type: undefined, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] }
];
if (false) {
/**
* @type {?}
* @private
*/
LocalStorageWrapper.prototype.localStorageRef;
}
/**
* @fileoverview added by tsickle
* Generated from: ngt-universal/document.service.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
class DocumentService {
/**
* @param {?} platformId
*/
constructor(platformId) {
if (!isPlatformBrowser(platformId)) {
this._document = (/** @type {?} */ ((/** @type {?} */ ({
getElementById: (/**
* @param {?} id
* @return {?}
*/
(id) => new HTMLElement()),
getElementsByClassName: (/**
* @param {?} className
* @return {?}
*/
(className) => new HTMLCollection()),
getElementsByName: (/**
* @param {?} name
* @return {?}
*/
(name) => new NodeList()),
getElementsByTagName: (/**
* @param {?} name
* @return {?}
*/
(name) => new NodeList())
}))));
}
else {
console.log('in browser, assigning document');
// this._document = document;
this._document = (/** @type {?} */ ({}));
}
}
/**
* @return {?}
*/
get nativeDocument() {
console.log('get native document');
console.log(this._document);
return this._document;
}
}
DocumentService.decorators = [
{ type: Injectable }
];
/** @nocollapse */
DocumentService.ctorParameters = () => [
{ type: undefined, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] }
];
if (false) {
/**
* @type {?}
* @private
*/
DocumentService.prototype._document;
}
/**
* @fileoverview added by tsickle
* Generated from: ngt-universal/ngt-universal.module.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/** @type {?} */
const WINDOW = new InjectionToken('ng-toolkit-window');
/**
* @param {?} windowService
* @return {?}
*/
function windowFactory(windowService) {
return windowService.nativeWindow;
}
/** @type {?} */
const LOCAL_STORAGE = new InjectionToken('ng-toolkit-local-storage');
/**
* @param {?} localStorageWrapper
* @return {?}
*/
function localStorageFactory(localStorageWrapper) {
return localStorageWrapper.localStorage;
}
/** @type {?} */
const NGT_DOCUMENT = new InjectionToken('ng-toolkit-document');
/**
* @param {?} documentService
* @return {?}
*/
function documentFactory(documentService) {
console.log('document factory');
return documentService.nativeDocument;
}
class NgtUniversalModule {
}
NgtUniversalModule.decorators = [
{ type: NgModule, args: [{
providers: [
WindowService,
{ provide: WINDOW, useFactory: windowFactory, deps: [WindowService] },
DocumentService,
{ provide: NGT_DOCUMENT, useFactory: documentFactory, deps: [DocumentService] },
LocalStorageWrapper,
{ provide: LOCAL_STORAGE, useFactory: localStorageFactory, deps: [LocalStorageWrapper] }
]
},] }
];
/**
* @fileoverview added by tsickle
* Generated from: public_api.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/**
* @fileoverview added by tsickle
* Generated from: ng-toolkit-universal.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
export { DocumentService, LOCAL_STORAGE, NGT_DOCUMENT, NgtUniversalModule, WINDOW, documentFactory, localStorageFactory, windowFactory, WindowService as ɵa, LocalStorageWrapper as ɵb };
//# sourceMappingURL=ng-toolkit-universal.js.map