@corto-ai/integrations-messenger 0.0.10-dev.2 → 0.0.10-dev.4
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/package.json
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { InternalActionTypeEnum } from '../actions/base';
|
|
2
|
+
import { type AllMessageTypeDTO, type MessageForwardingConfigDTO, type PlatformCustomEventDetailDTO, type PlatformMessageBaseDTO, type TargetDTO } from '../models';
|
|
2
3
|
declare const _default: {
|
|
3
4
|
sendData: <T extends AllMessageTypeDTO>(params: Omit<PlatformMessageBaseDTO<T>, "src">) => void;
|
|
4
5
|
sendDataInternal: <T extends AllMessageTypeDTO>(data: PlatformMessageBaseDTO<T>, targetRef: TargetDTO | undefined) => void;
|
|
@@ -6,5 +7,7 @@ declare const _default: {
|
|
|
6
7
|
init: (parentRef?: Window) => Promise<{
|
|
7
8
|
parentId: string | undefined;
|
|
8
9
|
}>;
|
|
10
|
+
addUnhandledInternalMsg: (msg: PlatformCustomEventDetailDTO<InternalActionTypeEnum>) => void;
|
|
11
|
+
fetchUnhandledInternalMsg: (src: string) => PlatformCustomEventDetailDTO<InternalActionTypeEnum> | undefined;
|
|
9
12
|
};
|
|
10
13
|
export default _default;
|
package/src/lib/core/emitter.js
CHANGED
|
@@ -5,6 +5,15 @@ import target from './target';
|
|
|
5
5
|
import { ActionTypeEnum, InternalActionTypeEnum } from '../actions/base';
|
|
6
6
|
import { isInternalActionType } from '../actions/utils';
|
|
7
7
|
import { TARGET_WILDCARD } from '../models';
|
|
8
|
+
const unhandledInternalMsgMap = new Map();
|
|
9
|
+
const addUnhandledInternalMsg = (msg) => {
|
|
10
|
+
unhandledInternalMsgMap.set(msg.data.src, msg);
|
|
11
|
+
};
|
|
12
|
+
const fetchUnhandledInternalMsg = (src) => {
|
|
13
|
+
const message = unhandledInternalMsgMap.get(src);
|
|
14
|
+
unhandledInternalMsgMap.delete(src);
|
|
15
|
+
return message;
|
|
16
|
+
};
|
|
8
17
|
const expectedResponseMap = new Map();
|
|
9
18
|
const forward = (params, config = {}) => {
|
|
10
19
|
// the message is an internal message, which should be handled. Throw an error
|
|
@@ -76,5 +85,5 @@ const init = (parentRef = window.parent) => new Promise((resolve) => {
|
|
|
76
85
|
// Bootstrap only: parent origin is unknown before handshake; subsequent sends use the pinned target origin.
|
|
77
86
|
{ window: parentRef, origin: '*', id: '' });
|
|
78
87
|
});
|
|
79
|
-
export default { sendData, sendDataInternal, forward, init };
|
|
88
|
+
export default { sendData, sendDataInternal, forward, init, addUnhandledInternalMsg, fetchUnhandledInternalMsg };
|
|
80
89
|
//# sourceMappingURL=emitter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emitter.js","sourceRoot":"","sources":["../../../../../../libs/integrations-messenger/src/lib/core/emitter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,IAAI,IAAI,EAAE,MAAM,MAAM,CAAC;AAElC,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,
|
|
1
|
+
{"version":3,"file":"emitter.js","sourceRoot":"","sources":["../../../../../../libs/integrations-messenger/src/lib/core/emitter.ts"],"names":[],"mappings":"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"}
|
package/src/lib/core/listener.js
CHANGED
|
@@ -26,31 +26,44 @@ const setupDefaultListeners = () => {
|
|
|
26
26
|
emitter.forward(event.data, { keepAlive: !!AdditionalMessageConfig[type]?.keepAlive });
|
|
27
27
|
}, { silent: true });
|
|
28
28
|
});
|
|
29
|
+
addMessageHandler(InternalActionTypeEnum.Handshake, (event) => {
|
|
30
|
+
emitter.addUnhandledInternalMsg(event);
|
|
31
|
+
});
|
|
29
32
|
};
|
|
30
33
|
const registerChild = (child, id) => new Promise((resolve) => {
|
|
31
34
|
logger.info('wait for handshake from', id);
|
|
35
|
+
const event = emitter.fetchUnhandledInternalMsg(id);
|
|
36
|
+
if (event && respondToHandshake(event, { child, id })) {
|
|
37
|
+
logger.info('Responded to unhandled handshake message for', id);
|
|
38
|
+
resolve();
|
|
39
|
+
}
|
|
32
40
|
// Re-registering a child replaces its handler rather than stacking another one on top. The new
|
|
33
41
|
// handler is armed before the old one is dropped so there's never a moment with none listening.
|
|
34
42
|
const previousHandler = childHandshakeHandlers[id];
|
|
35
43
|
childHandshakeHandlers[id] = addMessageHandler(InternalActionTypeEnum.Handshake, (event) => {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
|
-
const data = event.data;
|
|
41
|
-
logger.info('init handshake received', data, child);
|
|
42
|
-
const targetRef = target.addTarget(data.src, { window: child, origin: event.origin });
|
|
43
|
-
emitter.sendDataInternal({
|
|
44
|
-
id: data.id,
|
|
45
|
-
type: `${InternalActionTypeEnum.Handshake}Response`,
|
|
46
|
-
target: id,
|
|
47
|
-
src: target.getSourceId(),
|
|
48
|
-
data: void 0
|
|
49
|
-
}, targetRef);
|
|
44
|
+
respondToHandshake(event, { child, id });
|
|
45
|
+
emitter.fetchUnhandledInternalMsg(id);
|
|
50
46
|
resolve();
|
|
51
47
|
});
|
|
52
48
|
previousHandler?.remove();
|
|
53
49
|
});
|
|
50
|
+
const respondToHandshake = (event, expected) => {
|
|
51
|
+
if (event.source !== expected.child || event.data.src !== expected.id) {
|
|
52
|
+
logger.error('Received handshake from unexpected source');
|
|
53
|
+
return false;
|
|
54
|
+
}
|
|
55
|
+
const data = event.data;
|
|
56
|
+
logger.info('init handshake received', data, expected.child);
|
|
57
|
+
const targetRef = target.addTarget(data.src, { window: expected.child, origin: event.origin });
|
|
58
|
+
emitter.sendDataInternal({
|
|
59
|
+
id: data.id,
|
|
60
|
+
type: `${InternalActionTypeEnum.Handshake}Response`,
|
|
61
|
+
target: expected.id,
|
|
62
|
+
src: target.getSourceId(),
|
|
63
|
+
data: void 0
|
|
64
|
+
}, targetRef);
|
|
65
|
+
return true;
|
|
66
|
+
};
|
|
54
67
|
const addMessageHandler = (type, callback, config = {}) => {
|
|
55
68
|
if (!config.silent) {
|
|
56
69
|
logger.info('Adding event listener for type', type);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listener.js","sourceRoot":"","sources":["../../../../../../libs/integrations-messenger/src/lib/core/listener.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAClG,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EACL,iBAAiB,EAOlB,MAAM,WAAW,CAAC;AAEnB,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;AAEtC,sGAAsG;AACtG,MAAM,sBAAsB,GAA8C,EAAE,CAAC;AAE7E,MAAM,sBAAsB,GAAG;AAC7B,8DAA8D;AAC9D,KAAwB,EACgC,EAAE,CAC1D,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK,CAAC,IAAI,IAAI,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAExH,MAAM,4BAA4B,GAAG,CACnC,KAAY,EACZ,IAAO,EACgD,EAAE;IACzD,IAAI,CAAC,CAAC,KAAK,YAAY,WAAW,CAAC;QAAE,OAAO,KAAK,CAAC;IAClD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAkD,CAAC;IACxE,OAAO,CAAC,CAAC,MAAM,EAAE,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC;AACrD,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,GAAS,EAAE;IACvC,4EAA4E;IAC5E,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAC7C,iBAAiB,CACf,IAAI,EACJ,CAAC,KAAK,EAAE,EAAE;YACR,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC,EACD,EAAE,MAAM,EAAE,IAAI,EAAE,CACjB,CAAC;QAEF,iBAAiB,CACf,GAAG,IAAI,UAAU,EACjB,CAAC,KAAK,EAAE,EAAE;YACR,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,uBAAuB,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;QACzF,CAAC,EACD,EAAE,MAAM,EAAE,IAAI,EAAE,CACjB,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,KAAa,EAAE,EAAU,EAAiB,EAAE,CACjE,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;IACtB,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE,EAAE,CAAC,CAAC;IAE3C,+FAA+F;IAC/F,gGAAgG;IAChG,MAAM,eAAe,GAAG,sBAAsB,CAAC,EAAE,CAAC,CAAC;IAEnD,sBAAsB,CAAC,EAAE,CAAC,GAAG,iBAAiB,CAAC,sBAAsB,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;QACzF,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,EAAE,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"listener.js","sourceRoot":"","sources":["../../../../../../libs/integrations-messenger/src/lib/core/listener.ts"],"names":[],"mappings":"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"}
|