@ionic/angular-server
Version:
Angular SSR Module for Ionic
89 lines • 9.6 kB
JavaScript
import { DOCUMENT } from '@angular/common';
import { APP_ID, NgModule } from '@angular/core';
import { BEFORE_APP_SERIALIZED } from '@angular/platform-server';
import { hydrateDocument } from '@ionic/core/hydrate';
import * as i0 from "@angular/core";
// @dynamic
export class IonicServerModule {
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: IonicServerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
/** @nocollapse */ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: IonicServerModule });
/** @nocollapse */ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: IonicServerModule, providers: [
{
provide: BEFORE_APP_SERIALIZED,
useFactory: hydrateIonicComponents,
multi: true,
deps: [DOCUMENT, APP_ID],
},
] });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: IonicServerModule, decorators: [{
type: NgModule,
args: [{
providers: [
{
provide: BEFORE_APP_SERIALIZED,
useFactory: hydrateIonicComponents,
multi: true,
deps: [DOCUMENT, APP_ID],
},
],
}]
}] });
// @dynamic
export function hydrateIonicComponents(doc, appId) {
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
return () => {
return hydrateDocument(doc, {
clientHydrateAnnotations: false,
excludeComponents: [
// overlays
'ion-action-sheet',
'ion-alert',
'ion-loading',
'ion-modal',
'ion-picker-legacy',
'ion-popover',
'ion-toast',
'ion-toast',
// navigation
'ion-router',
'ion-route',
'ion-route-redirect',
'ion-router-link',
'ion-router-outlet',
// tabs
'ion-tabs',
'ion-tab',
// auxiliar
'ion-picker-legacy-column',
],
}).then((hydrateResults) => {
hydrateResults.diagnostics.forEach((d) => {
if (d.type === 'error') {
console.error(d.messageText);
}
else if (d.type === 'debug') {
console.debug(d.messageText);
}
else {
console.log(d.messageText);
}
});
if (doc.head != null) {
const styleElms = doc.head.querySelectorAll('style[data-styles]');
// eslint-disable-next-line @typescript-eslint/prefer-for-of
for (let i = 0; i < styleElms.length; i++) {
styleElms[i].setAttribute('ng-transition', appId);
}
}
if (doc.body != null) {
const ionPages = doc.body.querySelectorAll('.ion-page.ion-page-invisible');
// eslint-disable-next-line @typescript-eslint/prefer-for-of
for (let i = 0; i < ionPages.length; i++) {
ionPages[i].classList.remove('ion-page-invisible');
}
}
});
};
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW9uaWMtc2VydmVyLW1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pb25pYy1zZXJ2ZXItbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBRXRELFdBQVc7QUFXWCxNQUFNLE9BQU8saUJBQWlCOzJIQUFqQixpQkFBaUI7NEhBQWpCLGlCQUFpQjs0SEFBakIsaUJBQWlCLGFBVGpCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLHFCQUFxQjtnQkFDOUIsVUFBVSxFQUFFLHNCQUFzQjtnQkFDbEMsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQzthQUN6QjtTQUNGOzs0RkFFVSxpQkFBaUI7a0JBVjdCLFFBQVE7bUJBQUM7b0JBQ1IsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxxQkFBcUI7NEJBQzlCLFVBQVUsRUFBRSxzQkFBc0I7NEJBQ2xDLEtBQUssRUFBRSxJQUFJOzRCQUNYLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUM7eUJBQ3pCO3FCQUNGO2lCQUNGOztBQUdELFdBQVc7QUFDWCxNQUFNLFVBQVUsc0JBQXNCLENBQUMsR0FBUSxFQUFFLEtBQVU7SUFDekQsNkVBQTZFO0lBQzdFLE9BQU8sR0FBRyxFQUFFO1FBQ1YsT0FBTyxlQUFlLENBQUMsR0FBRyxFQUFFO1lBQzFCLHdCQUF3QixFQUFFLEtBQUs7WUFDL0IsaUJBQWlCLEVBQUU7Z0JBQ2pCLFdBQVc7Z0JBQ1gsa0JBQWtCO2dCQUNsQixXQUFXO2dCQUNYLGFBQWE7Z0JBQ2IsV0FBVztnQkFDWCxtQkFBbUI7Z0JBQ25CLGFBQWE7Z0JBQ2IsV0FBVztnQkFDWCxXQUFXO2dCQUVYLGFBQWE7Z0JBQ2IsWUFBWTtnQkFDWixXQUFXO2dCQUNYLG9CQUFvQjtnQkFDcEIsaUJBQWlCO2dCQUNqQixtQkFBbUI7Z0JBRW5CLE9BQU87Z0JBQ1AsVUFBVTtnQkFDVixTQUFTO2dCQUVULFdBQVc7Z0JBQ1gsMEJBQTBCO2FBQzNCO1NBQ0YsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLGNBQWMsRUFBRSxFQUFFO1lBQ3pCLGNBQWMsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3ZDLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxPQUFPLEVBQUU7b0JBQ3RCLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDO2lCQUM5QjtxQkFBTSxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssT0FBTyxFQUFFO29CQUM3QixPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQztpQkFDOUI7cUJBQU07b0JBQ0wsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7aUJBQzVCO1lBQ0gsQ0FBQyxDQUFDLENBQUM7WUFFSCxJQUFJLEdBQUcsQ0FBQyxJQUFJLElBQUksSUFBSSxFQUFFO2dCQUNwQixNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLG9CQUFvQixDQUFpQyxDQUFDO2dCQUNsRyw0REFBNEQ7Z0JBQzVELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO29CQUN6QyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsQ0FBQztpQkFDbkQ7YUFDRjtZQUVELElBQUksR0FBRyxDQUFDLElBQUksSUFBSSxJQUFJLEVBQUU7Z0JBQ3BCLE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsOEJBQThCLENBQTRCLENBQUM7Z0JBQ3RHLDREQUE0RDtnQkFDNUQsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7b0JBQ3hDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7aUJBQ3BEO2FBQ0Y7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBUFBfSUQsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCRUZPUkVfQVBQX1NFUklBTElaRUQgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1zZXJ2ZXInO1xuaW1wb3J0IHsgaHlkcmF0ZURvY3VtZW50IH0gZnJvbSAnQGlvbmljL2NvcmUvaHlkcmF0ZSc7XG5cbi8vIEBkeW5hbWljXG5ATmdNb2R1bGUoe1xuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBCRUZPUkVfQVBQX1NFUklBTElaRUQsXG4gICAgICB1c2VGYWN0b3J5OiBoeWRyYXRlSW9uaWNDb21wb25lbnRzLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgICBkZXBzOiBbRE9DVU1FTlQsIEFQUF9JRF0sXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgSW9uaWNTZXJ2ZXJNb2R1bGUge31cblxuLy8gQGR5bmFtaWNcbmV4cG9ydCBmdW5jdGlvbiBoeWRyYXRlSW9uaWNDb21wb25lbnRzKGRvYzogYW55LCBhcHBJZDogYW55KSB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvZXhwbGljaXQtbW9kdWxlLWJvdW5kYXJ5LXR5cGVzXG4gIHJldHVybiAoKSA9PiB7XG4gICAgcmV0dXJuIGh5ZHJhdGVEb2N1bWVudChkb2MsIHtcbiAgICAgIGNsaWVudEh5ZHJhdGVBbm5vdGF0aW9uczogZmFsc2UsXG4gICAgICBleGNsdWRlQ29tcG9uZW50czogW1xuICAgICAgICAvLyBvdmVybGF5c1xuICAgICAgICAnaW9uLWFjdGlvbi1zaGVldCcsXG4gICAgICAgICdpb24tYWxlcnQnLFxuICAgICAgICAnaW9uLWxvYWRpbmcnLFxuICAgICAgICAnaW9uLW1vZGFsJyxcbiAgICAgICAgJ2lvbi1waWNrZXItbGVnYWN5JyxcbiAgICAgICAgJ2lvbi1wb3BvdmVyJyxcbiAgICAgICAgJ2lvbi10b2FzdCcsXG4gICAgICAgICdpb24tdG9hc3QnLFxuXG4gICAgICAgIC8vIG5hdmlnYXRpb25cbiAgICAgICAgJ2lvbi1yb3V0ZXInLFxuICAgICAgICAnaW9uLXJvdXRlJyxcbiAgICAgICAgJ2lvbi1yb3V0ZS1yZWRpcmVjdCcsXG4gICAgICAgICdpb24tcm91dGVyLWxpbmsnLFxuICAgICAgICAnaW9uLXJvdXRlci1vdXRsZXQnLFxuXG4gICAgICAgIC8vIHRhYnNcbiAgICAgICAgJ2lvbi10YWJzJyxcbiAgICAgICAgJ2lvbi10YWInLFxuXG4gICAgICAgIC8vIGF1eGlsaWFyXG4gICAgICAgICdpb24tcGlja2VyLWxlZ2FjeS1jb2x1bW4nLFxuICAgICAgXSxcbiAgICB9KS50aGVuKChoeWRyYXRlUmVzdWx0cykgPT4ge1xuICAgICAgaHlkcmF0ZVJlc3VsdHMuZGlhZ25vc3RpY3MuZm9yRWFjaCgoZCkgPT4ge1xuICAgICAgICBpZiAoZC50eXBlID09PSAnZXJyb3InKSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihkLm1lc3NhZ2VUZXh0KTtcbiAgICAgICAgfSBlbHNlIGlmIChkLnR5cGUgPT09ICdkZWJ1ZycpIHtcbiAgICAgICAgICBjb25zb2xlLmRlYnVnKGQubWVzc2FnZVRleHQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnNvbGUubG9nKGQubWVzc2FnZVRleHQpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgaWYgKGRvYy5oZWFkICE9IG51bGwpIHtcbiAgICAgICAgY29uc3Qgc3R5bGVFbG1zID0gZG9jLmhlYWQucXVlcnlTZWxlY3RvckFsbCgnc3R5bGVbZGF0YS1zdHlsZXNdJykgYXMgTm9kZUxpc3RPZjxIVE1MU3R5bGVFbGVtZW50PjtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9wcmVmZXItZm9yLW9mXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc3R5bGVFbG1zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgc3R5bGVFbG1zW2ldLnNldEF0dHJpYnV0ZSgnbmctdHJhbnNpdGlvbicsIGFwcElkKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoZG9jLmJvZHkgIT0gbnVsbCkge1xuICAgICAgICBjb25zdCBpb25QYWdlcyA9IGRvYy5ib2R5LnF1ZXJ5U2VsZWN0b3JBbGwoJy5pb24tcGFnZS5pb24tcGFnZS1pbnZpc2libGUnKSBhcyBOb2RlTGlzdE9mPEhUTUxFbGVtZW50PjtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9wcmVmZXItZm9yLW9mXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaW9uUGFnZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICBpb25QYWdlc1tpXS5jbGFzc0xpc3QucmVtb3ZlKCdpb24tcGFnZS1pbnZpc2libGUnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9O1xufVxuIl19