@telperion/messenger 7.7.0 → 7.7.1

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.
@@ -9,7 +9,7 @@ export declare class IframeMessageClient extends MessageClient {
9
9
  private channelName;
10
10
  [RESPONSES$]: Subject<MessageResponse>;
11
11
  private [TARGET];
12
- constructor(channelName: string | undefined, targetFrame: IFrameArg);
12
+ constructor(channelName?: string, targetFrame?: IFrameArg);
13
13
  initialize(target: IFrameArg): void;
14
14
  [SEND]<T>(message: Message<T>): Promise<void>;
15
15
  protected [GET_NEW_ID](): string;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../libs/messenger/src/iframe/message-client.ts"],"names":[],"mappings":"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","file":"message-client.js","sourcesContent":["import { uniqueId } from '@telperion/js-utils/unique-id';\nimport { noop } from '@telperion/js-utils/function/noop';\nimport { promisify } from '@telperion/js-utils/promise/promisify';\nimport { timeout } from '@telperion/js-utils/promise/timeout';\nimport { Subject } from 'rxjs';\n\nimport { MessageClient } from '../message-client';\nimport { MessageResponse, SuccessfulMessageResponse } from '../message-response.type';\nimport { Message } from '../message.interface';\nimport { GET_NEW_ID, RESPONSES$, SEND } from '../selectors';\nimport { CHANNEL_PATH_SPLITTER } from './channel-path-splitter';\nimport { DEFAULT_CHANNEL_NAME } from './default-channel-name';\nimport { IFrameArg, IFrameType } from './iframe.type';\n\nconst TARGET = Symbol('IframeMessageClient Target');\n\nexport class IframeMessageClient extends MessageClient {\n public [RESPONSES$] = new Subject<MessageResponse>();\n private [TARGET] = Promise.resolve([undefined as IFrameType, noop] as const);\n\n constructor(\n private channelName = DEFAULT_CHANNEL_NAME,\n targetFrame: IFrameArg\n ) {\n super();\n\n this.initialize(targetFrame);\n }\n\n initialize(target: IFrameArg): void {\n this[TARGET] = Promise.race([\n this[TARGET],\n timeout(5000, [null, noop] as const)\n ])\n .then(([_, deinitialize]) => deinitialize())\n .catch(noop)\n .then(() => {\n const frame = typeof target === 'function' ? target() : target;\n return promisify(frame);\n })\n .then((frame) => {\n const listener = ({ data, source }: MessageEvent<SuccessfulMessageResponse>) => {\n if (frame && source !== frame.contentWindow) return;\n\n if (!data\n || typeof data !== 'object'\n || typeof data.id === 'undefined'\n || typeof data.completed === 'undefined'\n ) {\n return;\n }\n\n this[RESPONSES$].next(data);\n };\n\n window.addEventListener('message', listener);\n\n return [frame, () => window.removeEventListener('message', listener)];\n })\n }\n\n public async [SEND]<T>(message: Message<T>) {\n message = { ...message, path: `${this.channelName}${CHANNEL_PATH_SPLITTER}${message.path}` };\n\n const [target] = await this[TARGET];\n\n if (target) {\n target.contentWindow!.postMessage(message, '*');\n } else {\n window.parent.postMessage(message, '*');\n }\n }\n\n protected [GET_NEW_ID](): string {\n return uniqueId('messenger-iframe-message') as string;\n }\n}\n"]}
1
+ {"version":3,"sources":["../../../../../libs/messenger/src/iframe/message-client.ts"],"names":[],"mappings":"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","file":"message-client.js","sourcesContent":["import { uniqueId } from '@telperion/js-utils/unique-id';\nimport { noop } from '@telperion/js-utils/function/noop';\nimport { promisify } from '@telperion/js-utils/promise/promisify';\nimport { timeout } from '@telperion/js-utils/promise/timeout';\nimport { Subject } from 'rxjs';\n\nimport { MessageClient } from '../message-client';\nimport { MessageResponse, SuccessfulMessageResponse } from '../message-response.type';\nimport { Message } from '../message.interface';\nimport { GET_NEW_ID, RESPONSES$, SEND } from '../selectors';\nimport { CHANNEL_PATH_SPLITTER } from './channel-path-splitter';\nimport { DEFAULT_CHANNEL_NAME } from './default-channel-name';\nimport { IFrameArg, IFrameType } from './iframe.type';\n\nconst TARGET = Symbol('IframeMessageClient Target');\n\nexport class IframeMessageClient extends MessageClient {\n public [RESPONSES$] = new Subject<MessageResponse>();\n private [TARGET] = Promise.resolve([undefined as IFrameType, noop] as const);\n\n constructor(\n private channelName = DEFAULT_CHANNEL_NAME,\n targetFrame?: IFrameArg\n ) {\n super();\n\n this.initialize(targetFrame);\n }\n\n initialize(target: IFrameArg): void {\n this[TARGET] = Promise.race([\n this[TARGET],\n timeout(5000, [null, noop] as const)\n ])\n .then(([_, deinitialize]) => deinitialize())\n .catch(noop)\n .then(() => {\n const frame = typeof target === 'function' ? target() : target;\n return promisify(frame);\n })\n .then((frame) => {\n const listener = ({ data, source }: MessageEvent<SuccessfulMessageResponse>) => {\n if (frame && source !== frame.contentWindow) return;\n\n if (!data\n || typeof data !== 'object'\n || typeof data.id === 'undefined'\n || typeof data.completed === 'undefined'\n ) {\n return;\n }\n\n this[RESPONSES$].next(data);\n };\n\n window.addEventListener('message', listener);\n\n return [frame, () => window.removeEventListener('message', listener)];\n })\n }\n\n public async [SEND]<T>(message: Message<T>) {\n message = { ...message, path: `${this.channelName}${CHANNEL_PATH_SPLITTER}${message.path}` };\n\n const [target] = await this[TARGET];\n\n if (target) {\n target.contentWindow!.postMessage(message, '*');\n } else {\n window.parent.postMessage(message, '*');\n }\n }\n\n protected [GET_NEW_ID](): string {\n return uniqueId('messenger-iframe-message') as string;\n }\n}\n"]}
@@ -1,11 +1,11 @@
1
1
  import { IframeMessageClient } from "./message-client";
2
2
  import { IFrameArg } from "./iframe.type";
3
- declare const IframeMessageService_base: new (args_0: [channelName?: string | undefined, targetFrame?: IFrameArg], args_1: [channelName: string | undefined, targetFrame: IFrameArg]) => {
3
+ declare const IframeMessageService_base: new (args_0: [channelName?: string | undefined, targetFrame?: IFrameArg], args_1: [channelName?: string | undefined, targetFrame?: IFrameArg]) => {
4
4
  initialize: (target: IFrameArg) => void;
5
5
  terminate: () => void;
6
6
  } & IframeMessageClient;
7
7
  export declare class IframeMessageService extends IframeMessageService_base {
8
- constructor(channelName: string | undefined, targetFrame: IFrameArg);
8
+ constructor(channelName?: string, targetFrame?: IFrameArg);
9
9
  initialize: (target: IFrameArg) => void;
10
10
  }
11
11
  export {};
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../libs/messenger/src/iframe/message-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAG9D,MAAM,OAAO,oBAAqB,SAAQ,KAAK,CAAC,iBAAiB,EAAE,mBAAmB,CAAC;IACrF,YACE,WAAW,GAAG,oBAAoB,EAClC,WAAsB;QAEtB,KAAK,CAAC,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;IAChE,CAAC;IAEe,UAAU,GAAG,CAAC,MAAiB,EAAQ,EAAE;QACvD,iBAAiB,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC1D,mBAAmB,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC9D,CAAC,CAAC;CACH","file":"message-service.js","sourcesContent":["import { mixin } from \"@telperion/js-utils/class/mixin\";\nimport { IframeMessageClient } from \"./message-client\";\nimport { IframeMessageHost } from \"./message-host\";\nimport { DEFAULT_CHANNEL_NAME } from \"./default-channel-name\";\nimport { IFrameArg } from \"./iframe.type\";\n\nexport class IframeMessageService extends mixin(IframeMessageHost, IframeMessageClient) {\n constructor(\n channelName = DEFAULT_CHANNEL_NAME,\n targetFrame: IFrameArg\n ) {\n super([channelName, targetFrame], [channelName, targetFrame]);\n }\n\n public override initialize = (target: IFrameArg): void => {\n IframeMessageHost.prototype.initialize.call(this, target);\n IframeMessageClient.prototype.initialize.call(this, target);\n };\n}\n"]}
1
+ {"version":3,"sources":["../../../../../libs/messenger/src/iframe/message-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAG9D,MAAM,OAAO,oBAAqB,SAAQ,KAAK,CAAC,iBAAiB,EAAE,mBAAmB,CAAC;IACrF,YACE,WAAW,GAAG,oBAAoB,EAClC,WAAuB;QAEvB,KAAK,CAAC,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;IAChE,CAAC;IAEe,UAAU,GAAG,CAAC,MAAiB,EAAQ,EAAE;QACvD,iBAAiB,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC1D,mBAAmB,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC9D,CAAC,CAAC;CACH","file":"message-service.js","sourcesContent":["import { mixin } from \"@telperion/js-utils/class/mixin\";\nimport { IframeMessageClient } from \"./message-client\";\nimport { IframeMessageHost } from \"./message-host\";\nimport { DEFAULT_CHANNEL_NAME } from \"./default-channel-name\";\nimport { IFrameArg } from \"./iframe.type\";\n\nexport class IframeMessageService extends mixin(IframeMessageHost, IframeMessageClient) {\n constructor(\n channelName = DEFAULT_CHANNEL_NAME,\n targetFrame?: IFrameArg\n ) {\n super([channelName, targetFrame], [channelName, targetFrame]);\n }\n\n public override initialize = (target: IFrameArg): void => {\n IframeMessageHost.prototype.initialize.call(this, target);\n IframeMessageClient.prototype.initialize.call(this, target);\n };\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@telperion/messenger",
3
- "version": "7.7.0",
3
+ "version": "7.7.1",
4
4
  "description": "Javascript messaging library",
5
5
  "keywords": [
6
6
  "javascript",