piral-blazor 1.0.0-pre.2296 → 1.0.1-beta.5640

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +51 -9
  3. package/convert.d.ts +13 -8
  4. package/convert.js +17 -12
  5. package/esm/converter.d.ts +10 -4
  6. package/esm/converter.js +164 -50
  7. package/esm/converter.js.map +1 -1
  8. package/esm/create.d.ts +21 -1
  9. package/esm/create.js +29 -15
  10. package/esm/create.js.map +1 -1
  11. package/esm/dependencies.d.ts +6 -3
  12. package/esm/dependencies.js +104 -14
  13. package/esm/dependencies.js.map +1 -1
  14. package/esm/events.d.ts +6 -0
  15. package/esm/events.js +145 -0
  16. package/esm/events.js.map +1 -0
  17. package/esm/interop.d.ts +29 -12
  18. package/esm/interop.js +181 -119
  19. package/esm/interop.js.map +1 -1
  20. package/esm/navigation.d.ts +2 -0
  21. package/esm/navigation.js +30 -0
  22. package/esm/navigation.js.map +1 -0
  23. package/esm/types.d.ts +97 -4
  24. package/infra.codegen +32 -23
  25. package/lib/converter.d.ts +10 -4
  26. package/lib/converter.js +164 -50
  27. package/lib/converter.js.map +1 -1
  28. package/lib/create.d.ts +21 -1
  29. package/lib/create.js +31 -17
  30. package/lib/create.js.map +1 -1
  31. package/lib/dependencies.d.ts +6 -3
  32. package/lib/dependencies.js +104 -14
  33. package/lib/dependencies.js.map +1 -1
  34. package/lib/events.d.ts +6 -0
  35. package/lib/events.js +154 -0
  36. package/lib/events.js.map +1 -0
  37. package/lib/index.js +1 -1
  38. package/lib/interop.d.ts +29 -12
  39. package/lib/interop.js +196 -124
  40. package/lib/interop.js.map +1 -1
  41. package/lib/navigation.d.ts +2 -0
  42. package/lib/navigation.js +35 -0
  43. package/lib/navigation.js.map +1 -0
  44. package/lib/types.d.ts +97 -4
  45. package/package.json +25 -9
  46. package/src/converter.ts +233 -63
  47. package/src/create.ts +53 -9
  48. package/src/dependencies.ts +122 -14
  49. package/src/events.ts +174 -0
  50. package/src/interop.ts +228 -117
  51. package/src/navigation.ts +36 -0
  52. package/src/types.ts +115 -4
  53. package/convert.ts +0 -17
package/lib/events.js ADDED
@@ -0,0 +1,154 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.removeGlobalEventListeners = exports.addGlobalEventListeners = exports.attachEvents = exports.emitNavigateEvent = exports.emitPiralEvent = exports.emitRenderEvent = void 0;
4
+ const navigation_1 = require("./navigation");
5
+ const blazorRootId = 'blazor-root';
6
+ const eventParents = [];
7
+ const globalEventNames = [
8
+ 'abort',
9
+ 'blur',
10
+ 'change',
11
+ 'error',
12
+ 'focus',
13
+ 'load',
14
+ 'loadend',
15
+ 'loadstart',
16
+ 'mouseenter',
17
+ 'mouseleave',
18
+ 'progress',
19
+ 'reset',
20
+ 'scroll',
21
+ 'submit',
22
+ 'unload',
23
+ 'DOMNodeInsertedIntoDocument',
24
+ 'DOMNodeRemovedFromDocument',
25
+ 'click',
26
+ 'dblclick',
27
+ 'mousedown',
28
+ 'mousemove',
29
+ 'mouseup',
30
+ ];
31
+ const eventNames = {
32
+ render: 'render-blazor-extension',
33
+ navigate: 'navigate-blazor',
34
+ piral: 'piral-blazor',
35
+ };
36
+ function isRooted(target) {
37
+ let parent = target.parentElement;
38
+ while (parent) {
39
+ if (parent.id === blazorRootId) {
40
+ return true;
41
+ }
42
+ parent = parent.parentElement;
43
+ }
44
+ return false;
45
+ }
46
+ function findTarget(target = document.body) {
47
+ if (eventParents.length === 0) {
48
+ return target;
49
+ }
50
+ else if (target === document.body) {
51
+ return eventParents[0];
52
+ }
53
+ else {
54
+ return target;
55
+ }
56
+ }
57
+ function dispatchToRoot(event) {
58
+ var _a;
59
+ (0, navigation_1.isInternalNavigation)(event) && (0, navigation_1.performInternalNavigation)(event);
60
+ // the mutation event cannot be cloned (at least in Webkit-based browsers)
61
+ if (!(event instanceof MutationEvent) && !event.processed) {
62
+ const eventClone = new event.constructor(event.type, event);
63
+ (_a = document.getElementById(blazorRootId)) === null || _a === void 0 ? void 0 : _a.dispatchEvent(eventClone);
64
+ // make sure to only process every event once; even though multiple boundaries might be active
65
+ event.processed = true;
66
+ }
67
+ }
68
+ function emitRenderEvent(source, name, params, sourceRef, fallbackComponent) {
69
+ const target = findTarget(source);
70
+ const empty = typeof fallbackComponent === 'string' ? () => { } : undefined;
71
+ const order = typeof sourceRef !== 'undefined'
72
+ ? (elements) => {
73
+ const oldItems = elements.map((el, id) => {
74
+ var _a;
75
+ return ({
76
+ id,
77
+ pilet: el.pilet,
78
+ defaults: (_a = el.defaults) !== null && _a !== void 0 ? _a : {},
79
+ });
80
+ });
81
+ const newItems = sourceRef.invokeMethod('Order', oldItems);
82
+ return newItems.map(({ id }) => elements[id]).filter(Boolean);
83
+ }
84
+ : undefined;
85
+ const eventInit = {
86
+ bubbles: true,
87
+ detail: {
88
+ target,
89
+ props: {
90
+ name,
91
+ params,
92
+ empty,
93
+ order,
94
+ },
95
+ },
96
+ };
97
+ const delayEmit = () => requestAnimationFrame(() => {
98
+ if (!isRooted(target)) {
99
+ target.dispatchEvent(new CustomEvent(eventNames.render, eventInit));
100
+ }
101
+ else {
102
+ delayEmit();
103
+ }
104
+ });
105
+ delayEmit();
106
+ }
107
+ exports.emitRenderEvent = emitRenderEvent;
108
+ function emitPiralEvent(type, args) {
109
+ document.body.dispatchEvent(new CustomEvent(eventNames.piral, {
110
+ bubbles: false,
111
+ detail: {
112
+ type,
113
+ args,
114
+ },
115
+ }));
116
+ }
117
+ exports.emitPiralEvent = emitPiralEvent;
118
+ function emitNavigateEvent(source, to, replace = false, state) {
119
+ findTarget(source).dispatchEvent(new CustomEvent(eventNames.navigate, {
120
+ bubbles: true,
121
+ detail: {
122
+ to,
123
+ replace,
124
+ state,
125
+ },
126
+ }));
127
+ }
128
+ exports.emitNavigateEvent = emitNavigateEvent;
129
+ function attachEvents(host, render, navigate, forward) {
130
+ eventParents.push(host);
131
+ host.addEventListener(eventNames.render, render, false);
132
+ host.addEventListener(eventNames.navigate, navigate, false);
133
+ if (eventParents.length === 1) {
134
+ document.body.addEventListener(eventNames.piral, forward, false);
135
+ }
136
+ return () => {
137
+ eventParents.splice(eventParents.indexOf(host), 1);
138
+ host.removeEventListener(eventNames.render, render, false);
139
+ host.removeEventListener(eventNames.navigate, navigate, false);
140
+ if (eventParents.length === 0) {
141
+ document.body.removeEventListener(eventNames.piral, forward, false);
142
+ }
143
+ };
144
+ }
145
+ exports.attachEvents = attachEvents;
146
+ function addGlobalEventListeners(el) {
147
+ globalEventNames.forEach((eventName) => el.addEventListener(eventName, dispatchToRoot));
148
+ }
149
+ exports.addGlobalEventListeners = addGlobalEventListeners;
150
+ function removeGlobalEventListeners(el) {
151
+ globalEventNames.forEach((eventName) => el.removeEventListener(eventName, dispatchToRoot));
152
+ }
153
+ exports.removeGlobalEventListeners = removeGlobalEventListeners;
154
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
package/lib/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var tslib_1 = require("tslib");
3
+ const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./create"), exports);
5
5
  tslib_1.__exportStar(require("./types"), exports);
6
6
  //# sourceMappingURL=index.js.map
package/lib/interop.d.ts CHANGED
@@ -1,12 +1,29 @@
1
- export declare const eventNames: {
2
- render: string;
3
- navigate: string;
4
- };
5
- export declare function addGlobalEventListeners(el: HTMLElement): void;
6
- export declare function removeGlobalEventListeners(el: HTMLElement): void;
7
- export declare function activate(moduleName: string, props: any): any;
8
- export declare function deactivate(moduleName: string, referenceId: string): any;
9
- export declare function addReference(blob: Blob): Promise<unknown>;
10
- export declare function removeReference(name: string): any;
11
- export declare function attachEvents(host: HTMLElement, render: (ev: CustomEvent) => void, navigate: (ev: CustomEvent) => void): () => void;
12
- export declare function initialize(scriptUrl: string): Promise<unknown>;
1
+ import type { BlazorLogLevel, BlazorRootConfig, WebAssemblyStartOptions } from './types';
2
+ export declare function processEvent(type: string, args: any): any;
3
+ export declare function setLogLevel(logLevel: BlazorLogLevel): any;
4
+ export declare function createElement(moduleName: string, props: any): Promise<string>;
5
+ export declare function updateElement(referenceId: string, props: any): Promise<string>;
6
+ export declare function destroyElement(referenceId: string): Promise<string>;
7
+ export declare function activate(moduleName: string, props: any): Promise<string>;
8
+ export declare function reactivate(moduleName: string, referenceId: string, props: any): Promise<void>;
9
+ export declare function deactivate(moduleName: string, referenceId: string): Promise<void>;
10
+ export declare function callNotifyLocationChanged(url: string, replace: boolean, state: any): Promise<void>;
11
+ export declare function setLanguage(language: string): Promise<void>;
12
+ export declare function getCapabilities(): Promise<Array<string>>;
13
+ export declare function loadResource(url: string): Promise<void>;
14
+ export declare function loadResourceWithSymbol(dllUrl: string, pdbUrl: string): Promise<void>;
15
+ export declare function unloadResource(url: string): Promise<void>;
16
+ export interface PiletData {
17
+ dllUrl: string;
18
+ pdbUrl?: string;
19
+ name: string;
20
+ version: string;
21
+ config: string;
22
+ baseUrl: string;
23
+ satellites?: Record<string, Array<string>>;
24
+ dependencies: Array<string>;
25
+ }
26
+ export declare function loadBlazorPilet(id: string, data: PiletData): any;
27
+ export declare function unloadBlazorPilet(id: string): any;
28
+ export declare function initialize(scriptUrl: string, publicPath: string, opts?: WebAssemblyStartOptions): Promise<BlazorRootConfig>;
29
+ export declare function createBootLoader(scriptUrl: string, extraScriptUrls: Array<string>): (opts?: WebAssemblyStartOptions) => Promise<BlazorRootConfig>;
package/lib/interop.js CHANGED
@@ -1,154 +1,226 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.initialize = exports.attachEvents = exports.removeReference = exports.addReference = exports.deactivate = exports.activate = exports.removeGlobalEventListeners = exports.addGlobalEventListeners = exports.eventNames = void 0;
4
- exports.eventNames = {
5
- render: 'render-blazor-extension',
6
- navigate: 'navigate-blazor',
7
- };
8
- var coreLib = 'Piral.Blazor.Core';
9
- var eventParents = [];
10
- var blazorRootId = 'blazor-root';
11
- var globalEventNames = [
12
- 'abort',
13
- 'blur',
14
- 'change',
15
- 'error',
16
- 'focus',
17
- 'load',
18
- 'loadend',
19
- 'loadstart',
20
- 'mouseenter',
21
- 'mouseleave',
22
- 'progress',
23
- 'reset',
24
- 'scroll',
25
- 'submit',
26
- 'unload',
27
- 'DOMNodeInsertedIntoDocument',
28
- 'DOMNodeRemovedFromDocument',
29
- 'click',
30
- 'dblclick',
31
- 'mousedown',
32
- 'mousemove',
33
- 'mouseup',
34
- ];
35
- function dispatchToRoot(event) {
36
- var _a;
37
- (_a = document.getElementById(blazorRootId)) === null || _a === void 0 ? void 0 : _a.dispatchEvent(new Event(event.type, event));
38
- }
39
- function isRooted(target) {
40
- var parent = target.parentElement;
41
- while (parent) {
42
- if (parent.id === blazorRootId) {
43
- return true;
3
+ exports.createBootLoader = exports.initialize = exports.unloadBlazorPilet = exports.loadBlazorPilet = exports.unloadResource = exports.loadResourceWithSymbol = exports.loadResource = exports.getCapabilities = exports.setLanguage = exports.callNotifyLocationChanged = exports.deactivate = exports.reactivate = exports.activate = exports.destroyElement = exports.updateElement = exports.createElement = exports.setLogLevel = exports.processEvent = void 0;
4
+ const events_1 = require("./events");
5
+ const wasmLib = 'Microsoft.AspNetCore.Components.WebAssembly';
6
+ const coreLib = 'Piral.Blazor.Core';
7
+ function isDotNet6OrBelow() {
8
+ return typeof window.Blazor._internal.NavigationLock === 'undefined';
9
+ }
10
+ function createBase() {
11
+ // Nothing found, we need to guess
12
+ const el = document.createElement('base');
13
+ let baseUrl = el.href;
14
+ // The main app is served by a script - but we don't know which one
15
+ // hence we just iterate over all the local ones and use the script
16
+ // that is served from the "shortest" route - should work almost
17
+ // always and if not - one can always explicitely set a <base> node
18
+ for (let i = document.scripts.length; i--;) {
19
+ const s = document.scripts[i];
20
+ const src = s.getAttribute('src');
21
+ if (src && src.startsWith('/')) {
22
+ const segEnd = src.lastIndexOf('/');
23
+ const newUrl = src.substring(0, segEnd + 1);
24
+ if (baseUrl.split('/').length > newUrl.split('/').length) {
25
+ baseUrl = newUrl;
26
+ }
44
27
  }
45
- parent = parent.parentElement;
46
28
  }
47
- return false;
29
+ el.href = baseUrl;
30
+ return document.head.appendChild(el);
48
31
  }
49
- function findTarget(target) {
50
- if (target === void 0) { target = document.body; }
51
- if (eventParents.length === 0) {
52
- return target;
32
+ function prepareForStartup() {
33
+ const originalApplyHotReload = window.Blazor._internal.applyHotReload;
34
+ const queue = [];
35
+ const applyChanges = (api) => {
36
+ const pilet = api.meta;
37
+ if (pilet.config && pilet.config.blazorHotReload) {
38
+ for (const item of queue.splice(0, queue.length)) {
39
+ item();
40
+ }
41
+ window.Blazor._internal.applyHotReload = originalApplyHotReload;
42
+ }
43
+ };
44
+ window.Blazor._internal.applyHotReload = function (...args) {
45
+ queue.push(() => originalApplyHotReload.apply(this, args));
46
+ };
47
+ return getCapabilities().then((capabilities) => ({
48
+ capabilities,
49
+ applyChanges,
50
+ }));
51
+ }
52
+ function createBlazorStarter(publicPath) {
53
+ const root = document.body.appendChild(document.createElement('div'));
54
+ root.style.display = 'none';
55
+ root.id = 'blazor-root';
56
+ if (publicPath) {
57
+ const baseElement = document.head.querySelector('base') || createBase();
58
+ const originalBase = baseElement.href;
59
+ baseElement.href = publicPath;
60
+ return (opts) => {
61
+ const navManager = window.Blazor._internal.navigationManager;
62
+ //Overwrite to get NavigationManager in Blazor working, see https://github.com/smapiot/Piral.Blazor/issues/89
63
+ navManager.navigateTo = (route, opts) => {
64
+ if (opts.forceLoad) {
65
+ location.href = route;
66
+ return;
67
+ }
68
+ if (route.startsWith(location.origin) && '') {
69
+ // normalize "local" absolute URLs
70
+ route = route.substring(location.origin.length);
71
+ }
72
+ else if (/^https?:\/\//.test(route)) {
73
+ // prevent absolute URLs to be a standard navigation
74
+ location.href = route;
75
+ return;
76
+ }
77
+ window.Blazor.emitNavigateEvent(undefined, route, opts.replaceHistoryEntry, opts.historyEntryState);
78
+ };
79
+ navManager.getBaseURI = () => originalBase;
80
+ return window.Blazor.start(opts)
81
+ .then(prepareForStartup)
82
+ .then(({ capabilities, applyChanges }) => {
83
+ baseElement.href = originalBase;
84
+ return [root, capabilities, applyChanges];
85
+ });
86
+ };
53
87
  }
54
- else if (target === document.body) {
55
- return eventParents[0];
88
+ return (opts) => window.Blazor.start(opts)
89
+ .then(prepareForStartup)
90
+ .then(({ capabilities, applyChanges }) => [root, capabilities, applyChanges]);
91
+ }
92
+ function computePath() {
93
+ try {
94
+ throw new Error();
56
95
  }
57
- else {
58
- return target;
96
+ catch (t) {
97
+ const e = ('' + t.stack).match(/(https?|file|ftp|chrome-extension|moz-extension):\/\/[^)\n]+/g);
98
+ if (e) {
99
+ return e[0].replace(/^((?:https?|file|ftp|chrome-extension|moz-extension):\/\/.+)\/[^\/]+$/, '$1') + '/';
100
+ }
59
101
  }
102
+ return '/';
60
103
  }
61
- function emitRenderEvent(source, name) {
62
- var target = findTarget(source);
63
- var eventInit = {
64
- bubbles: true,
65
- detail: {
66
- target: target,
67
- props: {
68
- name: name,
69
- },
70
- },
71
- };
72
- var delayEmit = function () {
73
- return requestAnimationFrame(function () {
74
- if (!isRooted(target)) {
75
- target.dispatchEvent(new CustomEvent(exports.eventNames.render, eventInit));
76
- }
77
- else {
78
- delayEmit();
79
- }
80
- });
81
- };
82
- delayEmit();
83
- }
84
- function emitNavigateEvent(source, to, replace, state) {
85
- if (replace === void 0) { replace = false; }
86
- findTarget(source).dispatchEvent(new CustomEvent(exports.eventNames.navigate, {
87
- bubbles: true,
88
- detail: {
89
- to: to,
90
- replace: replace,
91
- state: state,
92
- },
93
- }));
104
+ function addScript(url) {
105
+ return new Promise((resolve, reject) => {
106
+ const script = document.createElement('script');
107
+ script.src = url;
108
+ script.onerror = () => reject();
109
+ script.onload = () => resolve();
110
+ document.body.appendChild(script);
111
+ });
112
+ }
113
+ function processEvent(type, args) {
114
+ return window.DotNet.invokeMethodAsync(coreLib, 'ProcessEvent', type, args);
94
115
  }
95
- function addGlobalEventListeners(el) {
96
- globalEventNames.forEach(function (eventName) { return el.addEventListener(eventName, dispatchToRoot); });
116
+ exports.processEvent = processEvent;
117
+ function setLogLevel(logLevel) {
118
+ return window.DotNet.invokeMethodAsync(coreLib, 'SetLogLevel', logLevel);
97
119
  }
98
- exports.addGlobalEventListeners = addGlobalEventListeners;
99
- function removeGlobalEventListeners(el) {
100
- globalEventNames.forEach(function (eventName) { return el.removeEventListener(eventName, dispatchToRoot); });
120
+ exports.setLogLevel = setLogLevel;
121
+ function createElement(moduleName, props) {
122
+ return window.DotNet.invokeMethodAsync(coreLib, 'CreateElement', moduleName, props);
101
123
  }
102
- exports.removeGlobalEventListeners = removeGlobalEventListeners;
124
+ exports.createElement = createElement;
125
+ function updateElement(referenceId, props) {
126
+ return window.DotNet.invokeMethodAsync(coreLib, 'UpdateElement', referenceId, props);
127
+ }
128
+ exports.updateElement = updateElement;
129
+ function destroyElement(referenceId) {
130
+ return window.DotNet.invokeMethodAsync(coreLib, 'DestroyElement', referenceId);
131
+ }
132
+ exports.destroyElement = destroyElement;
103
133
  function activate(moduleName, props) {
104
- return window['DotNet'].invokeMethodAsync(coreLib, 'Activate', moduleName, props);
134
+ return window.DotNet.invokeMethodAsync(coreLib, 'Activate', moduleName, props);
105
135
  }
106
136
  exports.activate = activate;
137
+ function reactivate(moduleName, referenceId, props) {
138
+ return window.DotNet.invokeMethodAsync(coreLib, 'Reactivate', moduleName, referenceId, props).catch(() => {
139
+ // Apparently an older version of Piral.Blazor, which does not support this
140
+ // discard this error silently (in the future we may print warnings here)
141
+ });
142
+ }
143
+ exports.reactivate = reactivate;
107
144
  function deactivate(moduleName, referenceId) {
108
- return window['DotNet'].invokeMethodAsync(coreLib, 'Deactivate', moduleName, referenceId);
145
+ return window.DotNet.invokeMethodAsync(coreLib, 'Deactivate', moduleName, referenceId);
109
146
  }
110
147
  exports.deactivate = deactivate;
111
- function addReference(blob) {
112
- return new Promise(function (resolve) {
113
- var reader = new FileReader();
114
- reader.onload = function () {
115
- var data = reader.result.toString().replace(/^data:.+;base64,/, '');
116
- window['DotNet'].invokeMethodAsync(coreLib, 'LoadComponentsFromLibrary', data).then(resolve);
117
- };
118
- reader.readAsDataURL(blob);
148
+ function callNotifyLocationChanged(url, replace, state) {
149
+ if (isDotNet6OrBelow()) {
150
+ return window.DotNet.invokeMethodAsync(wasmLib, 'NotifyLocationChanged', url, replace);
151
+ }
152
+ else {
153
+ if (state !== undefined && typeof state !== 'string') {
154
+ state = JSON.stringify(state);
155
+ }
156
+ return window.DotNet.invokeMethodAsync(wasmLib, 'NotifyLocationChanged', url, state, replace);
157
+ }
158
+ }
159
+ exports.callNotifyLocationChanged = callNotifyLocationChanged;
160
+ function setLanguage(language) {
161
+ return window.DotNet.invokeMethodAsync(coreLib, 'SetLanguage', language);
162
+ }
163
+ exports.setLanguage = setLanguage;
164
+ function getCapabilities() {
165
+ return window.DotNet.invokeMethodAsync(coreLib, 'GetCapabilities').catch(() => {
166
+ // Apparently an older version of Piral.Blazor, which does not support this
167
+ // discard this error silently (in the future we may print warnings here)
168
+ return [];
119
169
  });
120
170
  }
121
- exports.addReference = addReference;
122
- function removeReference(name) {
123
- return window['DotNet'].invokeMethodAsync(coreLib, 'UnloadComponentsFromLibrary', name);
124
- }
125
- exports.removeReference = removeReference;
126
- function attachEvents(host, render, navigate) {
127
- eventParents.push(host);
128
- host.addEventListener(exports.eventNames.render, render, false);
129
- host.addEventListener(exports.eventNames.navigate, navigate, false);
130
- return function () {
131
- eventParents.splice(eventParents.indexOf(host), 1);
132
- host.removeEventListener(exports.eventNames.render, render, false);
133
- host.removeEventListener(exports.eventNames.navigate, navigate, false);
134
- };
171
+ exports.getCapabilities = getCapabilities;
172
+ function loadResource(url) {
173
+ return window.DotNet.invokeMethodAsync(coreLib, 'LoadComponentsFromLibrary', url);
174
+ }
175
+ exports.loadResource = loadResource;
176
+ function loadResourceWithSymbol(dllUrl, pdbUrl) {
177
+ return window.DotNet.invokeMethodAsync(coreLib, 'LoadComponentsWithSymbolsFromLibrary', dllUrl, pdbUrl);
178
+ }
179
+ exports.loadResourceWithSymbol = loadResourceWithSymbol;
180
+ function unloadResource(url) {
181
+ return window.DotNet.invokeMethodAsync(coreLib, 'UnloadComponentsFromLibrary', url);
182
+ }
183
+ exports.unloadResource = unloadResource;
184
+ function loadBlazorPilet(id, data) {
185
+ return window.DotNet.invokeMethodAsync(coreLib, 'LoadPilet', id, data);
135
186
  }
136
- exports.attachEvents = attachEvents;
137
- function initialize(scriptUrl) {
138
- return new Promise(function (resolve, reject) {
139
- var script = document.createElement('script');
187
+ exports.loadBlazorPilet = loadBlazorPilet;
188
+ function unloadBlazorPilet(id) {
189
+ return window.DotNet.invokeMethodAsync(coreLib, 'UnloadPilet', id);
190
+ }
191
+ exports.unloadBlazorPilet = unloadBlazorPilet;
192
+ function initialize(scriptUrl, publicPath, opts = {}) {
193
+ if (typeof opts.loadBootResource !== 'function') {
194
+ opts.loadBootResource = (type, name, url) => type === 'dotnetjs' ? url : fetch(url, { method: 'GET', cache: 'no-cache' });
195
+ }
196
+ return new Promise((resolve, reject) => {
197
+ const startBlazor = createBlazorStarter(publicPath);
198
+ const script = document.createElement('script');
140
199
  script.src = scriptUrl;
141
200
  script.setAttribute('autostart', 'false');
142
- script.onerror = function () { return reject(); };
143
- script.onload = function () {
144
- Object.assign(window['Blazor'], {
145
- emitRenderEvent: emitRenderEvent,
146
- emitNavigateEvent: emitNavigateEvent,
201
+ script.onerror = () => reject();
202
+ script.onload = () => {
203
+ Object.assign(window.Blazor, {
204
+ emitRenderEvent: events_1.emitRenderEvent,
205
+ emitNavigateEvent: events_1.emitNavigateEvent,
206
+ emitPiralEvent: events_1.emitPiralEvent,
147
207
  });
148
- window['Blazor'].start().then(resolve);
208
+ startBlazor(opts).then(resolve);
149
209
  };
150
210
  document.body.appendChild(script);
151
211
  });
152
212
  }
153
213
  exports.initialize = initialize;
214
+ function createBootLoader(scriptUrl, extraScriptUrls) {
215
+ const publicPath = computePath();
216
+ return (opts) => {
217
+ if (typeof window.$blazorLoader === 'undefined') {
218
+ window.dispatchEvent(new CustomEvent('loading-blazor-core'));
219
+ // we load all satellite scripts before we initialize blazor
220
+ window.$blazorLoader = Promise.all(extraScriptUrls.map(addScript)).then(() => initialize(scriptUrl, publicPath, opts));
221
+ }
222
+ return window.$blazorLoader;
223
+ };
224
+ }
225
+ exports.createBootLoader = createBootLoader;
154
226
  //# sourceMappingURL=interop.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"interop.js","sourceRoot":"","sources":["../src/interop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interop.js","sourceRoot":"","sources":["../src/interop.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function isInternalNavigation(event: MouseEvent): boolean;
2
+ export declare function performInternalNavigation(event: MouseEvent): void;