app-initialize.mjs 4.5 KB

12345678910111213141516171819202122232425262728293031
  1. import { raf } from '@ionic/angular/common';
  2. import { setupConfig } from '@ionic/core';
  3. import { applyPolyfills, defineCustomElements } from '@ionic/core/loader';
  4. // TODO(FW-2827): types
  5. export const appInitialize = (config, doc, zone) => {
  6. return () => {
  7. const win = doc.defaultView;
  8. if (win && typeof window !== 'undefined') {
  9. setupConfig({
  10. ...config,
  11. _zoneGate: (h) => zone.run(h),
  12. });
  13. const aelFn = '__zone_symbol__addEventListener' in doc.body ? '__zone_symbol__addEventListener' : 'addEventListener';
  14. return applyPolyfills().then(() => {
  15. return defineCustomElements(win, {
  16. exclude: ['ion-tabs'],
  17. syncQueue: true,
  18. raf,
  19. jmp: (h) => zone.runOutsideAngular(h),
  20. ael(elm, eventName, cb, opts) {
  21. elm[aelFn](eventName, cb, opts);
  22. },
  23. rel(elm, eventName, cb, opts) {
  24. elm.removeEventListener(eventName, cb, opts);
  25. },
  26. });
  27. });
  28. }
  29. };
  30. };
  31. //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWluaXRpYWxpemUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXBwLWluaXRpYWxpemUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTFFLHVCQUF1QjtBQUV2QixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxNQUFjLEVBQUUsR0FBYSxFQUFFLElBQVksRUFBRSxFQUFFO0lBQzNFLE9BQU8sR0FBUSxFQUFFO1FBQ2YsTUFBTSxHQUFHLEdBQTRCLEdBQUcsQ0FBQyxXQUFrQixDQUFDO1FBQzVELElBQUksR0FBRyxJQUFJLE9BQVEsTUFBYyxLQUFLLFdBQVcsRUFBRTtZQUNqRCxXQUFXLENBQUM7Z0JBQ1YsR0FBRyxNQUFNO2dCQUNULFNBQVMsRUFBRSxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7YUFDbkMsQ0FBQyxDQUFDO1lBRUgsTUFBTSxLQUFLLEdBQ1QsaUNBQWlDLElBQUssR0FBRyxDQUFDLElBQVksQ0FBQyxDQUFDLENBQUMsaUNBQWlDLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDO1lBRWxILE9BQU8sY0FBYyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtnQkFDaEMsT0FBTyxvQkFBb0IsQ0FBQyxHQUFHLEVBQUU7b0JBQy9CLE9BQU8sRUFBRSxDQUFDLFVBQVUsQ0FBQztvQkFDckIsU0FBUyxFQUFFLElBQUk7b0JBQ2YsR0FBRztvQkFDSCxHQUFHLEVBQUUsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUM7b0JBQzFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxJQUFJO3dCQUN6QixHQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztvQkFDM0MsQ0FBQztvQkFDRCxHQUFHLENBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsSUFBSTt3QkFDMUIsR0FBRyxDQUFDLG1CQUFtQixDQUFDLFNBQVMsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7b0JBQy9DLENBQUM7aUJBQ0YsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUgeyBDb25maWcsIElvbmljV2luZG93IH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IHJhZiB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBzZXR1cENvbmZpZyB9IGZyb20gJ0Bpb25pYy9jb3JlJztcbmltcG9ydCB7IGFwcGx5UG9seWZpbGxzLCBkZWZpbmVDdXN0b21FbGVtZW50cyB9IGZyb20gJ0Bpb25pYy9jb3JlL2xvYWRlcic7XG5cbi8vIFRPRE8oRlctMjgyNyk6IHR5cGVzXG5cbmV4cG9ydCBjb25zdCBhcHBJbml0aWFsaXplID0gKGNvbmZpZzogQ29uZmlnLCBkb2M6IERvY3VtZW50LCB6b25lOiBOZ1pvbmUpID0+IHtcbiAgcmV0dXJuICgpOiBhbnkgPT4ge1xuICAgIGNvbnN0IHdpbjogSW9uaWNXaW5kb3cgfCB1bmRlZmluZWQgPSBkb2MuZGVmYXVsdFZpZXcgYXMgYW55O1xuICAgIGlmICh3aW4gJiYgdHlwZW9mICh3aW5kb3cgYXMgYW55KSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHNldHVwQ29uZmlnKHtcbiAgICAgICAgLi4uY29uZmlnLFxuICAgICAgICBfem9uZUdhdGU6IChoOiBhbnkpID0+IHpvbmUucnVuKGgpLFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IGFlbEZuID1cbiAgICAgICAgJ19fem9uZV9zeW1ib2xfX2FkZEV2ZW50TGlzdGVuZXInIGluIChkb2MuYm9keSBhcyBhbnkpID8gJ19fem9uZV9zeW1ib2xfX2FkZEV2ZW50TGlzdGVuZXInIDogJ2FkZEV2ZW50TGlzdGVuZXInO1xuXG4gICAgICByZXR1cm4gYXBwbHlQb2x5ZmlsbHMoKS50aGVuKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIGRlZmluZUN1c3RvbUVsZW1lbnRzKHdpbiwge1xuICAgICAgICAgIGV4Y2x1ZGU6IFsnaW9uLXRhYnMnXSxcbiAgICAgICAgICBzeW5jUXVldWU6IHRydWUsXG4gICAgICAgICAgcmFmLFxuICAgICAgICAgIGptcDogKGg6IGFueSkgPT4gem9uZS5ydW5PdXRzaWRlQW5ndWxhcihoKSxcbiAgICAgICAgICBhZWwoZWxtLCBldmVudE5hbWUsIGNiLCBvcHRzKSB7XG4gICAgICAgICAgICAoZWxtIGFzIGFueSlbYWVsRm5dKGV2ZW50TmFtZSwgY2IsIG9wdHMpO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgcmVsKGVsbSwgZXZlbnROYW1lLCBjYiwgb3B0cykge1xuICAgICAgICAgICAgZWxtLnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lLCBjYiwgb3B0cyk7XG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH07XG59O1xuIl19