@schoolpalm/message-bridge 1.3.0 → 1.4.0
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.
- package/dist/bridgeBase.d.ts +3 -3
- package/dist/bridgeBase.d.ts.map +1 -1
- package/dist/bridgeBase.js +16 -10
- package/dist/bridgeBase.js.map +1 -1
- package/dist/hostBridge.d.ts +17 -2
- package/dist/hostBridge.d.ts.map +1 -1
- package/dist/hostBridge.js +65 -12
- package/dist/hostBridge.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/messageTypes.d.ts +54 -16
- package/dist/messageTypes.d.ts.map +1 -1
- package/dist/messageTypes.js +80 -17
- package/dist/messageTypes.js.map +1 -1
- package/dist/moduleBridge.d.ts +17 -1
- package/dist/moduleBridge.d.ts.map +1 -1
- package/dist/moduleBridge.js +60 -20
- package/dist/moduleBridge.js.map +1 -1
- package/dist/payloadSchemas.d.ts +54 -6
- package/dist/payloadSchemas.d.ts.map +1 -1
- package/dist/payloadSchemas.js +1 -0
- package/dist/payloadSchemas.js.map +1 -1
- package/package.json +1 -1
package/dist/bridgeBase.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { MessageType } from './messageTypes';
|
|
2
2
|
import { MessagePayloadMap } from './payloadSchemas';
|
|
3
3
|
import { RequestPayload } from './payloadSchemas';
|
|
4
|
-
type MessageHandler<T> = (payload: T) => void;
|
|
4
|
+
type MessageHandler<T = any> = (payload: T) => void;
|
|
5
5
|
export declare class BridgeBase {
|
|
6
6
|
protected targetWindow: Window;
|
|
7
7
|
protected targetOrigin: string;
|
|
@@ -9,9 +9,9 @@ export declare class BridgeBase {
|
|
|
9
9
|
private pendingRequests;
|
|
10
10
|
private boundHandler;
|
|
11
11
|
constructor(targetWindow: Window, targetOrigin?: string);
|
|
12
|
-
send<T extends
|
|
12
|
+
send<T extends keyof MessagePayloadMap | string>(type: T, payload?: T extends keyof MessagePayloadMap ? MessagePayloadMap[T] : any): void;
|
|
13
13
|
request<R = any>(type: MessageType, payload: RequestPayload, timeout?: number): Promise<R>;
|
|
14
|
-
on<T extends
|
|
14
|
+
on<T extends keyof MessagePayloadMap | string>(type: T, callback: MessageHandler<T extends keyof MessagePayloadMap ? MessagePayloadMap[T] : any>): void;
|
|
15
15
|
protected handleMessage(event: MessageEvent): void;
|
|
16
16
|
destroy(): void;
|
|
17
17
|
}
|
package/dist/bridgeBase.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridgeBase.d.ts","sourceRoot":"","sources":["../src/bridgeBase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,EAAE,cAAc,EAAmB,MAAM,kBAAkB,CAAA;AAElE,KAAK,cAAc,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"bridgeBase.d.ts","sourceRoot":"","sources":["../src/bridgeBase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,EAAE,cAAc,EAAmB,MAAM,kBAAkB,CAAA;AAElE,KAAK,cAAc,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,IAAI,CAAA;AAEnD,qBAAa,UAAU;IACrB,SAAS,CAAC,YAAY,EAAE,MAAM,CAAA;IAC9B,SAAS,CAAC,YAAY,EAAE,MAAM,CAAA;IAE9B,OAAO,CAAC,SAAS,CAAqE;IACtF,OAAO,CAAC,eAAe,CAA4C;IACnE,OAAO,CAAC,YAAY,CAA+B;gBAEvC,YAAY,EAAE,MAAM,EAAE,YAAY,GAAE,MAAY;IAW5D,IAAI,CAAC,CAAC,SAAS,MAAM,iBAAiB,GAAG,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,SAAS,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,CAAC,CAAC,GAAG,GAAG;IAOlI,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,SAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAsBxF,EAAE,CAAC,CAAC,SAAS,MAAM,iBAAiB,GAAG,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC,SAAS,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IAQhJ,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,YAAY;IA+B3C,OAAO;CAKR"}
|
package/dist/bridgeBase.js
CHANGED
|
@@ -9,24 +9,22 @@ export class BridgeBase {
|
|
|
9
9
|
window.addEventListener('message', this.boundHandler);
|
|
10
10
|
}
|
|
11
11
|
// --------------------
|
|
12
|
-
// Send (typed)
|
|
12
|
+
// Send message (typed)
|
|
13
13
|
// --------------------
|
|
14
14
|
send(type, payload) {
|
|
15
15
|
this.targetWindow.postMessage({ type, payload }, this.targetOrigin);
|
|
16
16
|
}
|
|
17
17
|
// --------------------
|
|
18
|
-
// Request / Response
|
|
18
|
+
// Request / Response (async)
|
|
19
19
|
// --------------------
|
|
20
20
|
request(type, payload, timeout = 5000) {
|
|
21
21
|
return new Promise((resolve, reject) => {
|
|
22
22
|
const requestId = payload.requestId;
|
|
23
23
|
this.pendingRequests.set(requestId, (response) => {
|
|
24
|
-
if (response.status === 'error')
|
|
24
|
+
if (response.status === 'error')
|
|
25
25
|
reject(new Error(response.error ?? 'Unknown error'));
|
|
26
|
-
|
|
27
|
-
else {
|
|
26
|
+
else
|
|
28
27
|
resolve(response.payload);
|
|
29
|
-
}
|
|
30
28
|
});
|
|
31
29
|
this.send(type, payload);
|
|
32
30
|
setTimeout(() => {
|
|
@@ -38,12 +36,11 @@ export class BridgeBase {
|
|
|
38
36
|
});
|
|
39
37
|
}
|
|
40
38
|
// --------------------
|
|
41
|
-
//
|
|
39
|
+
// Listen to message
|
|
42
40
|
// --------------------
|
|
43
41
|
on(type, callback) {
|
|
44
|
-
if (!this.listeners.has(type))
|
|
42
|
+
if (!this.listeners.has(type))
|
|
45
43
|
this.listeners.set(type, []);
|
|
46
|
-
}
|
|
47
44
|
this.listeners.get(type).push(callback);
|
|
48
45
|
}
|
|
49
46
|
// --------------------
|
|
@@ -55,7 +52,7 @@ export class BridgeBase {
|
|
|
55
52
|
const { type, payload } = event.data || {};
|
|
56
53
|
if (!type)
|
|
57
54
|
return;
|
|
58
|
-
// Handle
|
|
55
|
+
// Handle DATA_RESPONSE automatically
|
|
59
56
|
if (type === MessageType.DATA_RESPONSE) {
|
|
60
57
|
const response = payload;
|
|
61
58
|
const resolver = this.pendingRequests.get(response.requestId);
|
|
@@ -65,9 +62,18 @@ export class BridgeBase {
|
|
|
65
62
|
return;
|
|
66
63
|
}
|
|
67
64
|
}
|
|
65
|
+
// Call all registered listeners
|
|
68
66
|
const handlers = this.listeners.get(type);
|
|
69
67
|
handlers?.forEach(cb => cb(payload));
|
|
68
|
+
// Optional: handle CUSTOM messages
|
|
69
|
+
if (type.startsWith(MessageType.CUSTOM_PREFIX)) {
|
|
70
|
+
const customHandlers = this.listeners.get(type);
|
|
71
|
+
customHandlers?.forEach(cb => cb(payload));
|
|
72
|
+
}
|
|
70
73
|
}
|
|
74
|
+
// --------------------
|
|
75
|
+
// Cleanup
|
|
76
|
+
// --------------------
|
|
71
77
|
destroy() {
|
|
72
78
|
window.removeEventListener('message', this.boundHandler);
|
|
73
79
|
this.listeners.clear();
|
package/dist/bridgeBase.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridgeBase.js","sourceRoot":"","sources":["../src/bridgeBase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAM5C,MAAM,OAAO,UAAU;IAQrB,YAAY,YAAoB,EAAE,eAAuB,GAAG;QAJpD,cAAS,GAAG,IAAI,GAAG,
|
|
1
|
+
{"version":3,"file":"bridgeBase.js","sourceRoot":"","sources":["../src/bridgeBase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAM5C,MAAM,OAAO,UAAU;IAQrB,YAAY,YAAoB,EAAE,eAAuB,GAAG;QAJpD,cAAS,GAAG,IAAI,GAAG,EAA2D,CAAA;QAC9E,oBAAe,GAAG,IAAI,GAAG,EAAkC,CAAA;QAIjE,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAChC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAEhC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACjD,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;IACvD,CAAC;IAED,uBAAuB;IACvB,uBAAuB;IACvB,uBAAuB;IACvB,IAAI,CAA6C,IAAO,EAAE,OAAwE;QAChI,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;IACrE,CAAC;IAED,uBAAuB;IACvB,6BAA6B;IAC7B,uBAAuB;IACvB,OAAO,CAAU,IAAiB,EAAE,OAAuB,EAAE,OAAO,GAAG,IAAI;QACzE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAA;YACnC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,QAAyB,EAAE,EAAE;gBAChE,IAAI,QAAQ,CAAC,MAAM,KAAK,OAAO;oBAAE,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,IAAI,eAAe,CAAC,CAAC,CAAA;;oBAChF,OAAO,CAAC,QAAQ,CAAC,OAAY,CAAC,CAAA;YACrC,CAAC,CAAC,CAAA;YAEF,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;YAExB,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;oBACxC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;oBACtC,MAAM,CAAC,IAAI,KAAK,CAAC,WAAW,OAAO,CAAC,IAAI,YAAY,CAAC,CAAC,CAAA;gBACxD,CAAC;YACH,CAAC,EAAE,OAAO,CAAC,CAAA;QACb,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,uBAAuB;IACvB,oBAAoB;IACpB,uBAAuB;IACvB,EAAE,CAA6C,IAAO,EAAE,QAAwF;QAC9I,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;QAC3D,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC1C,CAAC;IAED,uBAAuB;IACvB,aAAa;IACb,uBAAuB;IACb,aAAa,CAAC,KAAmB;QACzC,IAAI,IAAI,CAAC,YAAY,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,YAAY;YAAE,OAAM;QAE3E,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,IAAI,IAAI,EAAE,CAAA;QAC1C,IAAI,CAAC,IAAI;YAAE,OAAM;QAEjB,qCAAqC;QACrC,IAAI,IAAI,KAAK,WAAW,CAAC,aAAa,EAAE,CAAC;YACvC,MAAM,QAAQ,GAAG,OAA0B,CAAA;YAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;YAC7D,IAAI,QAAQ,EAAE,CAAC;gBACb,QAAQ,CAAC,QAAQ,CAAC,CAAA;gBAClB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;gBAC/C,OAAM;YACR,CAAC;QACH,CAAC;QAED,gCAAgC;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACzC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;QAEpC,mCAAmC;QACnC,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC;YAC/C,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YAC/C,cAAc,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;QAC5C,CAAC;IACH,CAAC;IAED,uBAAuB;IACvB,UAAU;IACV,uBAAuB;IACvB,OAAO;QACL,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;QACxD,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAA;QACtB,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAA;IAC9B,CAAC;CACF"}
|
package/dist/hostBridge.d.ts
CHANGED
|
@@ -4,12 +4,12 @@ export declare class HostBridge extends BridgeBase {
|
|
|
4
4
|
private handshakeCompleted;
|
|
5
5
|
private handshakePayload;
|
|
6
6
|
private pendingStartPayload;
|
|
7
|
+
private heartbeatTimer?;
|
|
8
|
+
private lastHeartbeat;
|
|
7
9
|
constructor(iframe: HTMLIFrameElement, targetOrigin?: string);
|
|
8
10
|
onHandshakeReady(callback: (payload: HandshakeReadyPayload) => void): void;
|
|
9
|
-
private heartbeatTimer?;
|
|
10
11
|
startHeartbeat(interval?: number): void;
|
|
11
12
|
stopHeartbeat(): void;
|
|
12
|
-
private lastHeartbeat;
|
|
13
13
|
listenHeartbeat(timeout?: number): void;
|
|
14
14
|
startModule(payload: ModuleStartPayload, timeout?: number): void;
|
|
15
15
|
sendModuleStart(payload: ModuleStartPayload): void;
|
|
@@ -18,6 +18,21 @@ export declare class HostBridge extends BridgeBase {
|
|
|
18
18
|
onError(callback: (payload: ErrorPayload) => void): void;
|
|
19
19
|
sendContextUpdate(payload: ModuleContextPayload): void;
|
|
20
20
|
requestData<T = any, R = any>(type: string, payload?: T, timeout?: number): Promise<R>;
|
|
21
|
+
loadPage(component: string, params?: Record<string, any>): void;
|
|
22
|
+
navigateBack(): void;
|
|
23
|
+
navigateForward(): void;
|
|
24
|
+
setBreadcrumb(breadcrumb: string[]): void;
|
|
25
|
+
showLoader(): void;
|
|
26
|
+
hideLoader(): void;
|
|
27
|
+
notify(message: string, type?: 'info' | 'success' | 'warning' | 'error'): void;
|
|
28
|
+
dialog(title: string, message: string): void;
|
|
29
|
+
confirm(title: string, message: string): void;
|
|
30
|
+
pauseModule(): void;
|
|
31
|
+
resumeModule(): void;
|
|
32
|
+
updatePermissions(permissions: string[]): void;
|
|
33
|
+
toggleFeatures(features: Record<string, boolean>): void;
|
|
34
|
+
preloadResources(resources: string[]): void;
|
|
35
|
+
notifyResourceLoaded(resource: string): void;
|
|
21
36
|
reset(): void;
|
|
22
37
|
}
|
|
23
38
|
//# sourceMappingURL=hostBridge.d.ts.map
|
package/dist/hostBridge.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hostBridge.d.ts","sourceRoot":"","sources":["../src/hostBridge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,OAAO,EACL,kBAAkB,EAElB,eAAe,EACf,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,
|
|
1
|
+
{"version":3,"file":"hostBridge.d.ts","sourceRoot":"","sources":["../src/hostBridge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,OAAO,EACL,kBAAkB,EAElB,eAAe,EACf,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,EAWtB,MAAM,kBAAkB,CAAA;AAGzB,qBAAa,UAAW,SAAQ,UAAU;IACxC,OAAO,CAAC,kBAAkB,CAAQ;IAClC,OAAO,CAAC,gBAAgB,CAAqC;IAC7D,OAAO,CAAC,mBAAmB,CAAkC;IAE7D,OAAO,CAAC,cAAc,CAAC,CAAQ;IAC/B,OAAO,CAAC,aAAa,CAAa;gBAEtB,MAAM,EAAE,iBAAiB,EAAE,YAAY,GAAE,MAAY;IAQjE,gBAAgB,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,qBAAqB,KAAK,IAAI;IA0BnE,cAAc,CAAC,QAAQ,SAAO;IAO9B,aAAa;IAOb,eAAe,CAAC,OAAO,SAAQ;IAgB/B,WAAW,CAAC,OAAO,EAAE,kBAAkB,EAAE,OAAO,SAAO;IAYvD,eAAe,CAAC,OAAO,EAAE,kBAAkB;IAI3C,cAAc,CAAC,MAAM,CAAC,EAAE,MAAM;IAO9B,UAAU,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI;IAIvD,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI;IAIjD,iBAAiB,CAAC,OAAO,EAAE,oBAAoB;IAO/C,WAAW,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,OAAO,SAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAYpF,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAKxD,YAAY;IAIZ,eAAe;IAIf,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE;IAKlC,UAAU;IAIV,UAAU;IAIV,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAgB;IAK/E,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAKrC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAKtC,WAAW;IAIX,YAAY;IAIZ,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE;IAKvC,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAKhD,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE;IAKpC,oBAAoB,CAAC,QAAQ,EAAE,MAAM;IAQrC,KAAK;CAKN"}
|
package/dist/hostBridge.js
CHANGED
|
@@ -3,9 +3,8 @@ import { MessageType } from './messageTypes';
|
|
|
3
3
|
import { PROTOCOL_VERSION } from './protocol';
|
|
4
4
|
export class HostBridge extends BridgeBase {
|
|
5
5
|
constructor(iframe, targetOrigin = '*') {
|
|
6
|
-
if (!iframe.contentWindow)
|
|
6
|
+
if (!iframe.contentWindow)
|
|
7
7
|
throw new Error('Iframe has no contentWindow');
|
|
8
|
-
}
|
|
9
8
|
super(iframe.contentWindow, targetOrigin);
|
|
10
9
|
this.handshakeCompleted = false;
|
|
11
10
|
this.handshakePayload = null;
|
|
@@ -13,7 +12,7 @@ export class HostBridge extends BridgeBase {
|
|
|
13
12
|
this.lastHeartbeat = Date.now();
|
|
14
13
|
}
|
|
15
14
|
// --------------------
|
|
16
|
-
// Handshake
|
|
15
|
+
// Handshake
|
|
17
16
|
// --------------------
|
|
18
17
|
onHandshakeReady(callback) {
|
|
19
18
|
if (this.handshakeCompleted && this.handshakePayload) {
|
|
@@ -21,7 +20,6 @@ export class HostBridge extends BridgeBase {
|
|
|
21
20
|
return;
|
|
22
21
|
}
|
|
23
22
|
this.on(MessageType.HANDSHAKE_READY, payload => {
|
|
24
|
-
// ✅ payload is HandshakeReadyPayload
|
|
25
23
|
if (payload.version !== PROTOCOL_VERSION) {
|
|
26
24
|
console.warn(`Protocol mismatch: host=${PROTOCOL_VERSION}, module=${payload.version}`);
|
|
27
25
|
}
|
|
@@ -34,6 +32,9 @@ export class HostBridge extends BridgeBase {
|
|
|
34
32
|
}
|
|
35
33
|
});
|
|
36
34
|
}
|
|
35
|
+
// --------------------
|
|
36
|
+
// Heartbeat
|
|
37
|
+
// --------------------
|
|
37
38
|
startHeartbeat(interval = 5000) {
|
|
38
39
|
this.stopHeartbeat();
|
|
39
40
|
this.heartbeatTimer = window.setInterval(() => {
|
|
@@ -58,7 +59,7 @@ export class HostBridge extends BridgeBase {
|
|
|
58
59
|
}, timeout);
|
|
59
60
|
}
|
|
60
61
|
// --------------------
|
|
61
|
-
// Start
|
|
62
|
+
// Module Start / Exit
|
|
62
63
|
// --------------------
|
|
63
64
|
startModule(payload, timeout = 5000) {
|
|
64
65
|
if (this.handshakeCompleted) {
|
|
@@ -66,9 +67,7 @@ export class HostBridge extends BridgeBase {
|
|
|
66
67
|
return;
|
|
67
68
|
}
|
|
68
69
|
this.pendingStartPayload = payload;
|
|
69
|
-
const timer = setTimeout(() =>
|
|
70
|
-
console.error('Module handshake timeout');
|
|
71
|
-
}, timeout);
|
|
70
|
+
const timer = setTimeout(() => console.error('Module handshake timeout'), timeout);
|
|
72
71
|
this.onHandshakeReady(() => clearTimeout(timer));
|
|
73
72
|
}
|
|
74
73
|
sendModuleStart(payload) {
|
|
@@ -86,9 +85,6 @@ export class HostBridge extends BridgeBase {
|
|
|
86
85
|
onError(callback) {
|
|
87
86
|
this.on(MessageType.ERROR, callback);
|
|
88
87
|
}
|
|
89
|
-
// --------------------
|
|
90
|
-
// Context sync
|
|
91
|
-
// --------------------
|
|
92
88
|
sendContextUpdate(payload) {
|
|
93
89
|
this.send(MessageType.CONTEXT_UPDATE, payload);
|
|
94
90
|
}
|
|
@@ -104,7 +100,64 @@ export class HostBridge extends BridgeBase {
|
|
|
104
100
|
return this.request(MessageType.DATA_REQUEST, request, timeout);
|
|
105
101
|
}
|
|
106
102
|
// --------------------
|
|
107
|
-
//
|
|
103
|
+
// Convenience methods for new features
|
|
104
|
+
// --------------------
|
|
105
|
+
loadPage(component, params) {
|
|
106
|
+
const payload = { component, params };
|
|
107
|
+
this.send(MessageType.LOAD_PAGE, payload);
|
|
108
|
+
}
|
|
109
|
+
navigateBack() {
|
|
110
|
+
this.send(MessageType.NAVIGATE_BACK);
|
|
111
|
+
}
|
|
112
|
+
navigateForward() {
|
|
113
|
+
this.send(MessageType.NAVIGATE_FORWARD);
|
|
114
|
+
}
|
|
115
|
+
setBreadcrumb(breadcrumb) {
|
|
116
|
+
const payload = { breadcrumb };
|
|
117
|
+
this.send(MessageType.SET_BREADCRUMB, payload);
|
|
118
|
+
}
|
|
119
|
+
showLoader() {
|
|
120
|
+
this.send(MessageType.SHOW_LOADER);
|
|
121
|
+
}
|
|
122
|
+
hideLoader() {
|
|
123
|
+
this.send(MessageType.HIDE_LOADER);
|
|
124
|
+
}
|
|
125
|
+
notify(message, type = 'info') {
|
|
126
|
+
const payload = { message, type };
|
|
127
|
+
this.send(MessageType.NOTIFICATION, payload);
|
|
128
|
+
}
|
|
129
|
+
dialog(title, message) {
|
|
130
|
+
const payload = { title, message };
|
|
131
|
+
this.send(MessageType.DIALOG, payload);
|
|
132
|
+
}
|
|
133
|
+
confirm(title, message) {
|
|
134
|
+
const payload = { title, message };
|
|
135
|
+
this.send(MessageType.CONFIRM, payload);
|
|
136
|
+
}
|
|
137
|
+
pauseModule() {
|
|
138
|
+
this.send(MessageType.MODULE_PAUSE);
|
|
139
|
+
}
|
|
140
|
+
resumeModule() {
|
|
141
|
+
this.send(MessageType.MODULE_RESUME);
|
|
142
|
+
}
|
|
143
|
+
updatePermissions(permissions) {
|
|
144
|
+
const payload = { permissions };
|
|
145
|
+
this.send(MessageType.PERMISSION_UPDATE, payload);
|
|
146
|
+
}
|
|
147
|
+
toggleFeatures(features) {
|
|
148
|
+
const payload = { features };
|
|
149
|
+
this.send(MessageType.FEATURE_TOGGLE, payload);
|
|
150
|
+
}
|
|
151
|
+
preloadResources(resources) {
|
|
152
|
+
const payload = { resources };
|
|
153
|
+
this.send(MessageType.PRELOAD_RESOURCE, payload);
|
|
154
|
+
}
|
|
155
|
+
notifyResourceLoaded(resource) {
|
|
156
|
+
const payload = { resource };
|
|
157
|
+
this.send(MessageType.RESOURCE_LOADED, payload);
|
|
158
|
+
}
|
|
159
|
+
// --------------------
|
|
160
|
+
// Reset
|
|
108
161
|
// --------------------
|
|
109
162
|
reset() {
|
|
110
163
|
this.handshakeCompleted = false;
|
package/dist/hostBridge.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hostBridge.js","sourceRoot":"","sources":["../src/hostBridge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"hostBridge.js","sourceRoot":"","sources":["../src/hostBridge.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -9,12 +9,13 @@
|
|
|
9
9
|
*
|
|
10
10
|
* @example
|
|
11
11
|
* ```typescript
|
|
12
|
-
* import { HostBridge, ModuleBridge, MessageType } from '@schoolpalm/message-bridge';
|
|
12
|
+
* import { HostBridge, ModuleBridge, MessageType, ProtocolState, PROTOCOL_VERSION } from '@schoolpalm/message-bridge';
|
|
13
13
|
* ```
|
|
14
14
|
*/
|
|
15
15
|
export { BridgeBase } from './bridgeBase';
|
|
16
16
|
export { HostBridge } from './hostBridge';
|
|
17
17
|
export { ModuleBridge } from './moduleBridge';
|
|
18
18
|
export { MessageType } from './messageTypes';
|
|
19
|
+
export { ProtocolState, PROTOCOL_VERSION } from './protocol';
|
|
19
20
|
export * from './payloadSchemas';
|
|
20
21
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,cAAc,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC7D,cAAc,kBAAkB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -9,12 +9,13 @@
|
|
|
9
9
|
*
|
|
10
10
|
* @example
|
|
11
11
|
* ```typescript
|
|
12
|
-
* import { HostBridge, ModuleBridge, MessageType } from '@schoolpalm/message-bridge';
|
|
12
|
+
* import { HostBridge, ModuleBridge, MessageType, ProtocolState, PROTOCOL_VERSION } from '@schoolpalm/message-bridge';
|
|
13
13
|
* ```
|
|
14
14
|
*/
|
|
15
15
|
export { BridgeBase } from './bridgeBase';
|
|
16
16
|
export { HostBridge } from './hostBridge';
|
|
17
17
|
export { ModuleBridge } from './moduleBridge';
|
|
18
18
|
export { MessageType } from './messageTypes';
|
|
19
|
+
export { ProtocolState, PROTOCOL_VERSION } from './protocol'; // ✅ new export
|
|
19
20
|
export * from './payloadSchemas';
|
|
20
21
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,cAAc,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC,CAAC,eAAe;AAC7E,cAAc,kBAAkB,CAAC"}
|
package/dist/messageTypes.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @fileoverview Message type definitions for
|
|
2
|
+
* @fileoverview Message type definitions for Host ↔ Module communication.
|
|
3
3
|
* @module @schoolpalm/message-bridge/messageTypes
|
|
4
4
|
*/
|
|
5
5
|
/**
|
|
@@ -9,32 +9,70 @@
|
|
|
9
9
|
* application and embedded modules. Each type indicates the direction and
|
|
10
10
|
* purpose of the message.
|
|
11
11
|
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
* import { MessageType } from '@schoolpalm/message-bridge';
|
|
15
|
-
*
|
|
16
|
-
* // Listen for UI updates from modules
|
|
17
|
-
* bridge.on(MessageType.UI_UPDATE, (payload) => {
|
|
18
|
-
* console.log('UI updated:', payload);
|
|
19
|
-
* });
|
|
20
|
-
* ```
|
|
12
|
+
* ⚡ Future-proof: additional custom messages can be sent via
|
|
13
|
+
* `CUSTOM:<name>` without editing this enum.
|
|
21
14
|
*/
|
|
22
15
|
export declare enum MessageType {
|
|
23
16
|
/** Module → Host: Indicates the module is ready for communication. */
|
|
24
17
|
HANDSHAKE_READY = "handshake:ready",
|
|
18
|
+
/** Module → Host: Indicates the module is ready for communication. */
|
|
19
|
+
MODULE_READY = "module:ready",
|
|
20
|
+
/** Module → Host: Signals the module is unready/destroyed. */
|
|
21
|
+
MODULE_UNREADY = "module:unready",
|
|
22
|
+
/** Host → Module: Signals the module to pause processing. */
|
|
23
|
+
MODULE_PAUSE = "module:pause",
|
|
24
|
+
/** Host → Module: Signals the module to resume processing. */
|
|
25
|
+
MODULE_RESUME = "module:resume",
|
|
25
26
|
/** Host → Module: Signals the module to start with provided context. */
|
|
26
27
|
MODULE_START = "module:start",
|
|
27
|
-
/**
|
|
28
|
-
|
|
28
|
+
/** Host → Module: Signals the module to exit and clean up. */
|
|
29
|
+
MODULE_EXIT = "module:exit",
|
|
29
30
|
/** Module → Host: Requests data from the host. */
|
|
30
31
|
DATA_REQUEST = "data:request",
|
|
31
32
|
/** Host → Module: Responds to a data request. */
|
|
32
33
|
DATA_RESPONSE = "data:response",
|
|
34
|
+
/** Host → Module: Updates module context dynamically. */
|
|
35
|
+
CONTEXT_UPDATE = "context:update",
|
|
36
|
+
/** Module → Host: Requests full host context. */
|
|
37
|
+
CONTEXT_REQUEST = "context:request",
|
|
38
|
+
/** Module → Host: Subscribe to host data changes. */
|
|
39
|
+
DATA_SUBSCRIBE = "data:subscribe",
|
|
40
|
+
/** Module → Host: Unsubscribe from host data changes. */
|
|
41
|
+
DATA_UNSUBSCRIBE = "data:unsubscribe",
|
|
42
|
+
/** Module → Host: Updates the host UI (title, breadcrumb, theme). */
|
|
43
|
+
UI_UPDATE = "ui:update",
|
|
44
|
+
/** Host → Module: Show loader overlay or spinner. */
|
|
45
|
+
SHOW_LOADER = "show:loader",
|
|
46
|
+
/** Host → Module: Hide loader overlay or spinner. */
|
|
47
|
+
HIDE_LOADER = "hide:loader",
|
|
48
|
+
/** Module → Host: Request a toast/notification. */
|
|
49
|
+
NOTIFICATION = "notification",
|
|
50
|
+
/** Module → Host: Request a modal/dialog confirmation. */
|
|
51
|
+
DIALOG = "dialog",
|
|
52
|
+
CONFIRM = "dialog",
|
|
53
|
+
/** Module → Host: Logs messages/warnings for centralized logging. */
|
|
54
|
+
LOG = "log",
|
|
33
55
|
/** Module → Host: Reports an error to the host. */
|
|
34
56
|
ERROR = "error",
|
|
35
|
-
/** Host → Module:
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
57
|
+
/** Host → Module: Load a specific page/component. */
|
|
58
|
+
LOAD_PAGE = "load:page",
|
|
59
|
+
/** Host → Module: Navigate module back in internal history. */
|
|
60
|
+
NAVIGATE_BACK = "navigate:back",
|
|
61
|
+
/** Host → Module: Navigate module forward in internal history. */
|
|
62
|
+
NAVIGATE_FORWARD = "navigate:forward",
|
|
63
|
+
/** Module → Host: Update breadcrumbs in host UI. */
|
|
64
|
+
SET_BREADCRUMB = "set:breadcrumb",
|
|
65
|
+
/** Host → Module: Update allowed actions for module. */
|
|
66
|
+
PERMISSION_UPDATE = "permission:update",
|
|
67
|
+
/** Host → Module: Enable/disable optional features. */
|
|
68
|
+
FEATURE_TOGGLE = "feature:toggle",
|
|
69
|
+
/** Host → Module: Preload additional JS/CSS/images. */
|
|
70
|
+
PRELOAD_RESOURCE = "preload:resource",
|
|
71
|
+
/** Module → Host: Notify that a lazy resource is loaded. */
|
|
72
|
+
RESOURCE_LOADED = "resource:loaded",
|
|
73
|
+
/** Heartbeat for liveliness checks. Can be Module → Host or Host → Module. */
|
|
74
|
+
HEARTBEAT = "heartbeat",
|
|
75
|
+
/** Use this prefix to send custom messages without modifying the core library. */
|
|
76
|
+
CUSTOM_PREFIX = "CUSTOM:"
|
|
39
77
|
}
|
|
40
78
|
//# sourceMappingURL=messageTypes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messageTypes.d.ts","sourceRoot":"","sources":["../src/messageTypes.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"messageTypes.d.ts","sourceRoot":"","sources":["../src/messageTypes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;GASG;AACH,oBAAY,WAAW;IAKrB,sEAAsE;IACtE,eAAe,oBAAoB;IAMnC,sEAAsE;IACtE,YAAY,iBAAiB;IAC7B,8DAA8D;IAC9D,cAAc,mBAAmB;IACjC,6DAA6D;IAC7D,YAAY,iBAAiB;IAC7B,8DAA8D;IAC9D,aAAa,kBAAkB;IAC/B,wEAAwE;IACxE,YAAY,iBAAiB;IAC7B,8DAA8D;IAC9D,WAAW,gBAAgB;IAK3B,kDAAkD;IAClD,YAAY,iBAAiB;IAC7B,iDAAiD;IACjD,aAAa,kBAAkB;IAC/B,yDAAyD;IACzD,cAAc,mBAAmB;IACjC,iDAAiD;IACjD,eAAe,oBAAoB;IACnC,qDAAqD;IACrD,cAAc,mBAAmB;IACjC,yDAAyD;IACzD,gBAAgB,qBAAqB;IAKrC,qEAAqE;IACrE,SAAS,cAAc;IACvB,qDAAqD;IACrD,WAAW,gBAAgB;IAC3B,qDAAqD;IACrD,WAAW,gBAAgB;IAC3B,mDAAmD;IACnD,YAAY,iBAAiB;IAC7B,0DAA0D;IAC1D,MAAM,WAAW;IACjB,OAAO,WAAW;IAClB,qEAAqE;IACrE,GAAG,QAAQ;IACX,mDAAmD;IACnD,KAAK,UAAU;IAKf,qDAAqD;IACrD,SAAS,cAAc;IACvB,+DAA+D;IAC/D,aAAa,kBAAkB;IAC/B,kEAAkE;IAClE,gBAAgB,qBAAqB;IACrC,oDAAoD;IACpD,cAAc,mBAAmB;IAKjC,wDAAwD;IACxD,iBAAiB,sBAAsB;IACvC,uDAAuD;IACvD,cAAc,mBAAmB;IAKjC,uDAAuD;IACvD,gBAAgB,qBAAqB;IACrC,4DAA4D;IAC5D,eAAe,oBAAoB;IAKnC,8EAA8E;IAC9E,SAAS,cAAc;IAKvB,kFAAkF;IAClF,aAAa,YAAY;CAC1B"}
|
package/dist/messageTypes.js
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @fileoverview Message type definitions for
|
|
2
|
+
* @fileoverview Message type definitions for Host ↔ Module communication.
|
|
3
3
|
* @module @schoolpalm/message-bridge/messageTypes
|
|
4
4
|
*/
|
|
5
|
-
// src/messageTypes.ts
|
|
6
5
|
/**
|
|
7
6
|
* Enumeration of all allowed message types for Host ↔ Module communication.
|
|
8
7
|
*
|
|
@@ -10,34 +9,98 @@
|
|
|
10
9
|
* application and embedded modules. Each type indicates the direction and
|
|
11
10
|
* purpose of the message.
|
|
12
11
|
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
* import { MessageType } from '@schoolpalm/message-bridge';
|
|
16
|
-
*
|
|
17
|
-
* // Listen for UI updates from modules
|
|
18
|
-
* bridge.on(MessageType.UI_UPDATE, (payload) => {
|
|
19
|
-
* console.log('UI updated:', payload);
|
|
20
|
-
* });
|
|
21
|
-
* ```
|
|
12
|
+
* ⚡ Future-proof: additional custom messages can be sent via
|
|
13
|
+
* `CUSTOM:<name>` without editing this enum.
|
|
22
14
|
*/
|
|
23
15
|
export var MessageType;
|
|
24
16
|
(function (MessageType) {
|
|
17
|
+
// -----------------------
|
|
18
|
+
// Lifecycle
|
|
19
|
+
// -----------------------
|
|
25
20
|
/** Module → Host: Indicates the module is ready for communication. */
|
|
26
21
|
MessageType["HANDSHAKE_READY"] = "handshake:ready";
|
|
22
|
+
// -----------------------
|
|
23
|
+
// UI & UX
|
|
24
|
+
// -----------------------
|
|
25
|
+
/** Module → Host: Indicates the module is ready for communication. */
|
|
26
|
+
MessageType["MODULE_READY"] = "module:ready";
|
|
27
|
+
/** Module → Host: Signals the module is unready/destroyed. */
|
|
28
|
+
MessageType["MODULE_UNREADY"] = "module:unready";
|
|
29
|
+
/** Host → Module: Signals the module to pause processing. */
|
|
30
|
+
MessageType["MODULE_PAUSE"] = "module:pause";
|
|
31
|
+
/** Host → Module: Signals the module to resume processing. */
|
|
32
|
+
MessageType["MODULE_RESUME"] = "module:resume";
|
|
27
33
|
/** Host → Module: Signals the module to start with provided context. */
|
|
28
34
|
MessageType["MODULE_START"] = "module:start";
|
|
29
|
-
/**
|
|
30
|
-
MessageType["
|
|
35
|
+
/** Host → Module: Signals the module to exit and clean up. */
|
|
36
|
+
MessageType["MODULE_EXIT"] = "module:exit";
|
|
37
|
+
// -----------------------
|
|
38
|
+
// Data & Context
|
|
39
|
+
// -----------------------
|
|
31
40
|
/** Module → Host: Requests data from the host. */
|
|
32
41
|
MessageType["DATA_REQUEST"] = "data:request";
|
|
33
42
|
/** Host → Module: Responds to a data request. */
|
|
34
43
|
MessageType["DATA_RESPONSE"] = "data:response";
|
|
44
|
+
/** Host → Module: Updates module context dynamically. */
|
|
45
|
+
MessageType["CONTEXT_UPDATE"] = "context:update";
|
|
46
|
+
/** Module → Host: Requests full host context. */
|
|
47
|
+
MessageType["CONTEXT_REQUEST"] = "context:request";
|
|
48
|
+
/** Module → Host: Subscribe to host data changes. */
|
|
49
|
+
MessageType["DATA_SUBSCRIBE"] = "data:subscribe";
|
|
50
|
+
/** Module → Host: Unsubscribe from host data changes. */
|
|
51
|
+
MessageType["DATA_UNSUBSCRIBE"] = "data:unsubscribe";
|
|
52
|
+
// -----------------------
|
|
53
|
+
// UI / UX
|
|
54
|
+
// -----------------------
|
|
55
|
+
/** Module → Host: Updates the host UI (title, breadcrumb, theme). */
|
|
56
|
+
MessageType["UI_UPDATE"] = "ui:update";
|
|
57
|
+
/** Host → Module: Show loader overlay or spinner. */
|
|
58
|
+
MessageType["SHOW_LOADER"] = "show:loader";
|
|
59
|
+
/** Host → Module: Hide loader overlay or spinner. */
|
|
60
|
+
MessageType["HIDE_LOADER"] = "hide:loader";
|
|
61
|
+
/** Module → Host: Request a toast/notification. */
|
|
62
|
+
MessageType["NOTIFICATION"] = "notification";
|
|
63
|
+
/** Module → Host: Request a modal/dialog confirmation. */
|
|
64
|
+
MessageType["DIALOG"] = "dialog";
|
|
65
|
+
MessageType["CONFIRM"] = "dialog";
|
|
66
|
+
/** Module → Host: Logs messages/warnings for centralized logging. */
|
|
67
|
+
MessageType["LOG"] = "log";
|
|
35
68
|
/** Module → Host: Reports an error to the host. */
|
|
36
69
|
MessageType["ERROR"] = "error";
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
70
|
+
// -----------------------
|
|
71
|
+
// Navigation / Page Control
|
|
72
|
+
// -----------------------
|
|
73
|
+
/** Host → Module: Load a specific page/component. */
|
|
74
|
+
MessageType["LOAD_PAGE"] = "load:page";
|
|
75
|
+
/** Host → Module: Navigate module back in internal history. */
|
|
76
|
+
MessageType["NAVIGATE_BACK"] = "navigate:back";
|
|
77
|
+
/** Host → Module: Navigate module forward in internal history. */
|
|
78
|
+
MessageType["NAVIGATE_FORWARD"] = "navigate:forward";
|
|
79
|
+
/** Module → Host: Update breadcrumbs in host UI. */
|
|
80
|
+
MessageType["SET_BREADCRUMB"] = "set:breadcrumb";
|
|
81
|
+
// -----------------------
|
|
82
|
+
// Permissions & Feature Flags
|
|
83
|
+
// -----------------------
|
|
84
|
+
/** Host → Module: Update allowed actions for module. */
|
|
85
|
+
MessageType["PERMISSION_UPDATE"] = "permission:update";
|
|
86
|
+
/** Host → Module: Enable/disable optional features. */
|
|
87
|
+
MessageType["FEATURE_TOGGLE"] = "feature:toggle";
|
|
88
|
+
// -----------------------
|
|
89
|
+
// Assets / Resources
|
|
90
|
+
// -----------------------
|
|
91
|
+
/** Host → Module: Preload additional JS/CSS/images. */
|
|
92
|
+
MessageType["PRELOAD_RESOURCE"] = "preload:resource";
|
|
93
|
+
/** Module → Host: Notify that a lazy resource is loaded. */
|
|
94
|
+
MessageType["RESOURCE_LOADED"] = "resource:loaded";
|
|
95
|
+
// -----------------------
|
|
96
|
+
// Lifecycle / Health
|
|
97
|
+
// -----------------------
|
|
98
|
+
/** Heartbeat for liveliness checks. Can be Module → Host or Host → Module. */
|
|
41
99
|
MessageType["HEARTBEAT"] = "heartbeat";
|
|
100
|
+
// -----------------------
|
|
101
|
+
// Future-proof / Custom
|
|
102
|
+
// -----------------------
|
|
103
|
+
/** Use this prefix to send custom messages without modifying the core library. */
|
|
104
|
+
MessageType["CUSTOM_PREFIX"] = "CUSTOM:";
|
|
42
105
|
})(MessageType || (MessageType = {}));
|
|
43
106
|
//# sourceMappingURL=messageTypes.js.map
|
package/dist/messageTypes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messageTypes.js","sourceRoot":"","sources":["../src/messageTypes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH
|
|
1
|
+
{"version":3,"file":"messageTypes.js","sourceRoot":"","sources":["../src/messageTypes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;GASG;AACH,MAAM,CAAN,IAAY,WAmGX;AAnGD,WAAY,WAAW;IAEpB,0BAA0B;IAC3B,YAAY;IACZ,0BAA0B;IAC1B,sEAAsE;IACtE,kDAAmC,CAAA;IAEnC,0BAA0B;IAC1B,UAAU;IACV,0BAA0B;IAE1B,sEAAsE;IACtE,4CAA6B,CAAA;IAC7B,8DAA8D;IAC9D,gDAAiC,CAAA;IACjC,6DAA6D;IAC7D,4CAA6B,CAAA;IAC7B,8DAA8D;IAC9D,8CAA+B,CAAA;IAC/B,wEAAwE;IACxE,4CAA6B,CAAA;IAC7B,8DAA8D;IAC9D,0CAA2B,CAAA;IAE3B,0BAA0B;IAC1B,iBAAiB;IACjB,0BAA0B;IAC1B,kDAAkD;IAClD,4CAA6B,CAAA;IAC7B,iDAAiD;IACjD,8CAA+B,CAAA;IAC/B,yDAAyD;IACzD,gDAAiC,CAAA;IACjC,iDAAiD;IACjD,kDAAmC,CAAA;IACnC,qDAAqD;IACrD,gDAAiC,CAAA;IACjC,yDAAyD;IACzD,oDAAqC,CAAA;IAErC,0BAA0B;IAC1B,UAAU;IACV,0BAA0B;IAC1B,qEAAqE;IACrE,sCAAuB,CAAA;IACvB,qDAAqD;IACrD,0CAA2B,CAAA;IAC3B,qDAAqD;IACrD,0CAA2B,CAAA;IAC3B,mDAAmD;IACnD,4CAA6B,CAAA;IAC7B,0DAA0D;IAC1D,gCAAiB,CAAA;IACjB,iCAAkB,CAAA;IAClB,qEAAqE;IACrE,0BAAW,CAAA;IACX,mDAAmD;IACnD,8BAAe,CAAA;IAEf,0BAA0B;IAC1B,4BAA4B;IAC5B,0BAA0B;IAC1B,qDAAqD;IACrD,sCAAuB,CAAA;IACvB,+DAA+D;IAC/D,8CAA+B,CAAA;IAC/B,kEAAkE;IAClE,oDAAqC,CAAA;IACrC,oDAAoD;IACpD,gDAAiC,CAAA;IAEjC,0BAA0B;IAC1B,8BAA8B;IAC9B,0BAA0B;IAC1B,wDAAwD;IACxD,sDAAuC,CAAA;IACvC,uDAAuD;IACvD,gDAAiC,CAAA;IAEjC,0BAA0B;IAC1B,qBAAqB;IACrB,0BAA0B;IAC1B,uDAAuD;IACvD,oDAAqC,CAAA;IACrC,4DAA4D;IAC5D,kDAAmC,CAAA;IAEnC,0BAA0B;IAC1B,qBAAqB;IACrB,0BAA0B;IAC1B,8EAA8E;IAC9E,sCAAuB,CAAA;IAEvB,0BAA0B;IAC1B,wBAAwB;IACxB,0BAA0B;IAC1B,kFAAkF;IAClF,wCAAyB,CAAA;AAC3B,CAAC,EAnGW,WAAW,KAAX,WAAW,QAmGtB"}
|
package/dist/moduleBridge.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BridgeBase } from './bridgeBase';
|
|
2
|
-
import { HandshakeReadyPayload, UIUpdatePayload, ErrorPayload, HeartbeatPayload } from './payloadSchemas';
|
|
2
|
+
import { HandshakeReadyPayload, UIUpdatePayload, ErrorPayload, HeartbeatPayload, LoadPagePayload, BreadcrumbPayload, NotificationPayload, DialogPayload, PermissionPayload, FeatureTogglePayload, PreloadResourcePayload, ResourceLoadedPayload } from './payloadSchemas';
|
|
3
3
|
export declare class ModuleBridge extends BridgeBase {
|
|
4
4
|
private startedPayload;
|
|
5
5
|
constructor(targetOrigin?: string);
|
|
@@ -10,5 +10,21 @@ export declare class ModuleBridge extends BridgeBase {
|
|
|
10
10
|
sendError(payload: ErrorPayload): void;
|
|
11
11
|
requestData<T = any, R = any>(type: string, payload?: T, timeout?: number): Promise<R>;
|
|
12
12
|
respondData(requestId: string, data: any, status?: 'success' | 'error'): void;
|
|
13
|
+
onLoadPage(callback: (payload: LoadPagePayload) => void): void;
|
|
14
|
+
onNavigateBack(callback: () => void): void;
|
|
15
|
+
onNavigateForward(callback: () => void): void;
|
|
16
|
+
onSetBreadcrumb(callback: (payload: BreadcrumbPayload) => void): void;
|
|
17
|
+
onShowLoader(callback: () => void): void;
|
|
18
|
+
onHideLoader(callback: () => void): void;
|
|
19
|
+
onNotification(callback: (payload: NotificationPayload) => void): void;
|
|
20
|
+
onDialog(callback: (payload: DialogPayload) => void): void;
|
|
21
|
+
onConfirm(callback: (payload: DialogPayload) => void): void;
|
|
22
|
+
onPause(callback: () => void): void;
|
|
23
|
+
onResume(callback: () => void): void;
|
|
24
|
+
onPermissionUpdate(callback: (payload: PermissionPayload) => void): void;
|
|
25
|
+
onFeatureToggle(callback: (payload: FeatureTogglePayload) => void): void;
|
|
26
|
+
onPreloadResources(callback: (payload: PreloadResourcePayload) => void): void;
|
|
27
|
+
onResourceLoaded(callback: (payload: ResourceLoadedPayload) => void): void;
|
|
28
|
+
notifyResourceLoaded(resource: string): void;
|
|
13
29
|
}
|
|
14
30
|
//# sourceMappingURL=moduleBridge.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"moduleBridge.d.ts","sourceRoot":"","sources":["../src/moduleBridge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,YAAY,EAGZ,gBAAgB,
|
|
1
|
+
{"version":3,"file":"moduleBridge.d.ts","sourceRoot":"","sources":["../src/moduleBridge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,YAAY,EAGZ,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EAEtB,MAAM,kBAAkB,CAAA;AAEzB,qBAAa,YAAa,SAAQ,UAAU;IAC1C,OAAO,CAAC,cAAc,CAAmB;gBAE7B,YAAY,GAAE,MAAY;IAOtC,aAAa,CAAC,OAAO,EAAE,qBAAqB;IAO5C,aAAa,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI;IAY9C,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI;IAY1D,YAAY,CAAC,OAAO,EAAE,eAAe;IAIrC,SAAS,CAAC,OAAO,EAAE,YAAY;IAOzB,WAAW,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,OAAO,SAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAiB1F,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,GAAE,SAAS,GAAG,OAAmB;IAQjF,UAAU,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI;IAIvD,cAAc,CAAC,QAAQ,EAAE,MAAM,IAAI;IAInC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,IAAI;IAItC,eAAe,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,IAAI;IAI9D,YAAY,CAAC,QAAQ,EAAE,MAAM,IAAI;IAIjC,YAAY,CAAC,QAAQ,EAAE,MAAM,IAAI;IAIjC,cAAc,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,IAAI;IAI/D,QAAQ,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI;IAInD,SAAS,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI;IAIpD,OAAO,CAAC,QAAQ,EAAE,MAAM,IAAI;IAI5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI;IAI7B,kBAAkB,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,IAAI;IAIjE,eAAe,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,IAAI;IAIjE,kBAAkB,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,sBAAsB,KAAK,IAAI;IAItE,gBAAgB,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,qBAAqB,KAAK,IAAI;IAOnE,oBAAoB,CAAC,QAAQ,EAAE,MAAM;CAGtC"}
|
package/dist/moduleBridge.js
CHANGED
|
@@ -12,12 +12,11 @@ export class ModuleBridge extends BridgeBase {
|
|
|
12
12
|
this.send(MessageType.HANDSHAKE_READY, payload);
|
|
13
13
|
}
|
|
14
14
|
// --------------------
|
|
15
|
-
// Start
|
|
15
|
+
// Module Start
|
|
16
16
|
// --------------------
|
|
17
17
|
onModuleStart(callback) {
|
|
18
|
-
if (this.startedPayload)
|
|
18
|
+
if (this.startedPayload)
|
|
19
19
|
callback(this.startedPayload);
|
|
20
|
-
}
|
|
21
20
|
this.on(MessageType.MODULE_START, payload => {
|
|
22
21
|
this.startedPayload = payload;
|
|
23
22
|
callback(payload);
|
|
@@ -29,14 +28,10 @@ export class ModuleBridge extends BridgeBase {
|
|
|
29
28
|
onHeartbeat(callback) {
|
|
30
29
|
this.on(MessageType.HEARTBEAT, (payload) => {
|
|
31
30
|
const hb = payload;
|
|
32
|
-
// Ignore ACK-only heartbeats
|
|
33
31
|
if (hb.ack)
|
|
34
32
|
return;
|
|
35
33
|
callback?.(hb);
|
|
36
|
-
this.send(MessageType.HEARTBEAT, {
|
|
37
|
-
timestamp: Date.now(),
|
|
38
|
-
ack: true
|
|
39
|
-
});
|
|
34
|
+
this.send(MessageType.HEARTBEAT, { timestamp: Date.now(), ack: true });
|
|
40
35
|
});
|
|
41
36
|
}
|
|
42
37
|
// --------------------
|
|
@@ -57,23 +52,68 @@ export class ModuleBridge extends BridgeBase {
|
|
|
57
52
|
type,
|
|
58
53
|
payload: payload
|
|
59
54
|
};
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
if (response.status === 'error') {
|
|
55
|
+
const response = (await this.request(MessageType.DATA_REQUEST, request, timeout));
|
|
56
|
+
if (response.status === 'error')
|
|
63
57
|
throw new Error(response.error || 'Unknown error from host');
|
|
64
|
-
}
|
|
65
58
|
return response.payload;
|
|
66
59
|
}
|
|
67
|
-
// --------------------
|
|
68
|
-
// Respond to host requests
|
|
69
|
-
// --------------------
|
|
70
60
|
respondData(requestId, data, status = 'success') {
|
|
71
|
-
const response = {
|
|
72
|
-
requestId,
|
|
73
|
-
status,
|
|
74
|
-
payload: data
|
|
75
|
-
};
|
|
61
|
+
const response = { requestId, status, payload: data };
|
|
76
62
|
this.send(MessageType.DATA_RESPONSE, response);
|
|
77
63
|
}
|
|
64
|
+
// --------------------
|
|
65
|
+
// Convenience methods to handle host messages
|
|
66
|
+
// --------------------
|
|
67
|
+
onLoadPage(callback) {
|
|
68
|
+
this.on(MessageType.LOAD_PAGE, callback);
|
|
69
|
+
}
|
|
70
|
+
onNavigateBack(callback) {
|
|
71
|
+
this.on(MessageType.NAVIGATE_BACK, callback);
|
|
72
|
+
}
|
|
73
|
+
onNavigateForward(callback) {
|
|
74
|
+
this.on(MessageType.NAVIGATE_FORWARD, callback);
|
|
75
|
+
}
|
|
76
|
+
onSetBreadcrumb(callback) {
|
|
77
|
+
this.on(MessageType.SET_BREADCRUMB, callback);
|
|
78
|
+
}
|
|
79
|
+
onShowLoader(callback) {
|
|
80
|
+
this.on(MessageType.SHOW_LOADER, callback);
|
|
81
|
+
}
|
|
82
|
+
onHideLoader(callback) {
|
|
83
|
+
this.on(MessageType.HIDE_LOADER, callback);
|
|
84
|
+
}
|
|
85
|
+
onNotification(callback) {
|
|
86
|
+
this.on(MessageType.NOTIFICATION, callback);
|
|
87
|
+
}
|
|
88
|
+
onDialog(callback) {
|
|
89
|
+
this.on(MessageType.DIALOG, callback);
|
|
90
|
+
}
|
|
91
|
+
onConfirm(callback) {
|
|
92
|
+
this.on(MessageType.CONFIRM, callback);
|
|
93
|
+
}
|
|
94
|
+
onPause(callback) {
|
|
95
|
+
this.on(MessageType.MODULE_PAUSE, callback);
|
|
96
|
+
}
|
|
97
|
+
onResume(callback) {
|
|
98
|
+
this.on(MessageType.MODULE_RESUME, callback);
|
|
99
|
+
}
|
|
100
|
+
onPermissionUpdate(callback) {
|
|
101
|
+
this.on(MessageType.PERMISSION_UPDATE, callback);
|
|
102
|
+
}
|
|
103
|
+
onFeatureToggle(callback) {
|
|
104
|
+
this.on(MessageType.FEATURE_TOGGLE, callback);
|
|
105
|
+
}
|
|
106
|
+
onPreloadResources(callback) {
|
|
107
|
+
this.on(MessageType.PRELOAD_RESOURCE, callback);
|
|
108
|
+
}
|
|
109
|
+
onResourceLoaded(callback) {
|
|
110
|
+
this.on(MessageType.RESOURCE_LOADED, callback);
|
|
111
|
+
}
|
|
112
|
+
// --------------------
|
|
113
|
+
// Notify host about resource ready
|
|
114
|
+
// --------------------
|
|
115
|
+
notifyResourceLoaded(resource) {
|
|
116
|
+
this.send(MessageType.RESOURCE_LOADED, { resource });
|
|
117
|
+
}
|
|
78
118
|
}
|
|
79
119
|
//# sourceMappingURL=moduleBridge.js.map
|
package/dist/moduleBridge.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"moduleBridge.js","sourceRoot":"","sources":["../src/moduleBridge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"moduleBridge.js","sourceRoot":"","sources":["../src/moduleBridge.ts"],"names":[],"mappings":"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"}
|
package/dist/payloadSchemas.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { MessageType } from './messageTypes';
|
|
1
2
|
export interface HandshakeReadyPayload {
|
|
2
3
|
version: string;
|
|
3
4
|
timestamp: number;
|
|
@@ -39,16 +40,46 @@ export interface ResponsePayload {
|
|
|
39
40
|
payload?: any;
|
|
40
41
|
error?: string;
|
|
41
42
|
}
|
|
42
|
-
/**
|
|
43
|
-
* Payload for heartbeat messages.
|
|
44
|
-
* Host ↔ Module
|
|
45
|
-
*/
|
|
46
43
|
export interface HeartbeatPayload {
|
|
47
44
|
timestamp: number;
|
|
48
45
|
ack?: boolean;
|
|
49
46
|
}
|
|
50
|
-
export
|
|
51
|
-
|
|
47
|
+
export interface LoadPagePayload {
|
|
48
|
+
component: string;
|
|
49
|
+
params?: Record<string, any>;
|
|
50
|
+
}
|
|
51
|
+
export interface NavigationPayload {
|
|
52
|
+
}
|
|
53
|
+
export interface BreadcrumbPayload {
|
|
54
|
+
breadcrumb: string[];
|
|
55
|
+
}
|
|
56
|
+
export interface NotificationPayload {
|
|
57
|
+
message: string;
|
|
58
|
+
type: 'info' | 'success' | 'warning' | 'error';
|
|
59
|
+
}
|
|
60
|
+
export interface DialogPayload {
|
|
61
|
+
title?: string;
|
|
62
|
+
message: string;
|
|
63
|
+
}
|
|
64
|
+
export interface PauseResumePayload {
|
|
65
|
+
}
|
|
66
|
+
export interface PermissionPayload {
|
|
67
|
+
permissions: string[];
|
|
68
|
+
}
|
|
69
|
+
export interface FeatureTogglePayload {
|
|
70
|
+
features: Record<string, boolean>;
|
|
71
|
+
}
|
|
72
|
+
export interface PreloadResourcePayload {
|
|
73
|
+
resources: string[];
|
|
74
|
+
}
|
|
75
|
+
export interface ResourceLoadedPayload {
|
|
76
|
+
resource: string;
|
|
77
|
+
}
|
|
78
|
+
export type LogPayload = {
|
|
79
|
+
message: string;
|
|
80
|
+
level?: 'info' | 'warn' | 'error';
|
|
81
|
+
};
|
|
82
|
+
export type MessagePayload = HandshakeReadyPayload | ModuleStartPayload | ModuleExitPayload | UIUpdatePayload | ErrorPayload | ModuleContextPayload | RequestPayload | ResponsePayload | HeartbeatPayload | LoadPagePayload | NavigationPayload | BreadcrumbPayload | NotificationPayload | DialogPayload | PauseResumePayload | PermissionPayload | FeatureTogglePayload | PreloadResourcePayload | ResourceLoadedPayload | LogPayload | undefined | any;
|
|
52
83
|
export interface MessagePayloadMap {
|
|
53
84
|
[MessageType.HANDSHAKE_READY]: HandshakeReadyPayload;
|
|
54
85
|
[MessageType.MODULE_START]: ModuleStartPayload;
|
|
@@ -59,5 +90,22 @@ export interface MessagePayloadMap {
|
|
|
59
90
|
[MessageType.DATA_REQUEST]: RequestPayload;
|
|
60
91
|
[MessageType.DATA_RESPONSE]: ResponsePayload;
|
|
61
92
|
[MessageType.HEARTBEAT]: HeartbeatPayload;
|
|
93
|
+
[MessageType.LOAD_PAGE]: LoadPagePayload;
|
|
94
|
+
[MessageType.NAVIGATE_BACK]: NavigationPayload;
|
|
95
|
+
[MessageType.NAVIGATE_FORWARD]: NavigationPayload;
|
|
96
|
+
[MessageType.SET_BREADCRUMB]: BreadcrumbPayload;
|
|
97
|
+
[MessageType.SHOW_LOADER]: undefined;
|
|
98
|
+
[MessageType.HIDE_LOADER]: undefined;
|
|
99
|
+
[MessageType.NOTIFICATION]: NotificationPayload;
|
|
100
|
+
[MessageType.DIALOG]: DialogPayload;
|
|
101
|
+
[MessageType.CONFIRM]: DialogPayload;
|
|
102
|
+
[MessageType.MODULE_PAUSE]: PauseResumePayload;
|
|
103
|
+
[MessageType.MODULE_RESUME]: PauseResumePayload;
|
|
104
|
+
[MessageType.PERMISSION_UPDATE]: PermissionPayload;
|
|
105
|
+
[MessageType.FEATURE_TOGGLE]: FeatureTogglePayload;
|
|
106
|
+
[MessageType.PRELOAD_RESOURCE]: PreloadResourcePayload;
|
|
107
|
+
[MessageType.RESOURCE_LOADED]: ResourceLoadedPayload;
|
|
108
|
+
[MessageType.LOG]: LogPayload;
|
|
109
|
+
[key: `CUSTOM:${string}`]: any;
|
|
62
110
|
}
|
|
63
111
|
//# sourceMappingURL=payloadSchemas.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payloadSchemas.d.ts","sourceRoot":"","sources":["../src/payloadSchemas.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"payloadSchemas.d.ts","sourceRoot":"","sources":["../src/payloadSchemas.ts"],"names":[],"mappings":"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"}
|
package/dist/payloadSchemas.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payloadSchemas.js","sourceRoot":"","sources":["../src/payloadSchemas.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"payloadSchemas.js","sourceRoot":"","sources":["../src/payloadSchemas.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA"}
|
package/package.json
CHANGED