@thalesrc/hermes 5.3.0 → 5.3.2

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.
@@ -4,9 +4,10 @@ import { MessageResponse } from '../message-response.type';
4
4
  import { Message } from '../message.interface';
5
5
  import { GET_NEW_ID, RESPONSES$, SEND } from '../selectors';
6
6
  declare const PORT: unique symbol;
7
+ declare const ID_HELPER: unique symbol;
7
8
  export declare class ChromeMessageClient extends MessageClient {
8
- private static readonly idHelper;
9
9
  private static readonly connections;
10
+ private readonly [ID_HELPER];
10
11
  [RESPONSES$]: Observable<MessageResponse>;
11
12
  private [PORT];
12
13
  constructor(name?: string);
@@ -1,3 +1,4 @@
1
+ var _a;
1
2
  import { Observable } from 'rxjs';
2
3
  import { share } from 'rxjs/operators';
3
4
  import { MessageClient } from '../message-client';
@@ -5,9 +6,11 @@ import { GET_NEW_ID, RESPONSES$, SEND } from '../selectors';
5
6
  import { DEFAULT_CONNECTION_NAME } from './default-connection-name';
6
7
  import { UniqueMessageIdHelper } from './unique-message-id.helper';
7
8
  const PORT = Symbol('Port');
9
+ const ID_HELPER = Symbol('Id Helper');
8
10
  export class ChromeMessageClient extends MessageClient {
9
11
  constructor(name = DEFAULT_CONNECTION_NAME) {
10
12
  super();
13
+ this[_a] = new UniqueMessageIdHelper();
11
14
  if (!(name in ChromeMessageClient.connections)) {
12
15
  const port = chrome.runtime.connect({ name });
13
16
  const responses = new Observable(subscriber => {
@@ -20,12 +23,11 @@ export class ChromeMessageClient extends MessageClient {
20
23
  this[PORT] = ChromeMessageClient.connections[name].port;
21
24
  this[RESPONSES$] = ChromeMessageClient.connections[name].responses;
22
25
  }
23
- [SEND](message) {
26
+ [(_a = ID_HELPER, SEND)](message) {
24
27
  this[PORT].postMessage(message);
25
28
  }
26
29
  [GET_NEW_ID]() {
27
- return ChromeMessageClient.idHelper.getId();
30
+ return this[ID_HELPER].getId();
28
31
  }
29
32
  }
30
- ChromeMessageClient.idHelper = new UniqueMessageIdHelper();
31
33
  ChromeMessageClient.connections = {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thalesrc/hermes",
3
- "version": "5.3.0",
3
+ "version": "5.3.2",
4
4
  "description": "Javascript messaging library",
5
5
  "main": "index.js",
6
6
  "typings": "index.d.ts",
@@ -8,9 +8,11 @@ interface MessageEvent<T> {
8
8
  }
9
9
  declare const WORKER: unique symbol;
10
10
  declare const HANDLER: unique symbol;
11
+ declare const INSTANCE_ID: unique symbol;
11
12
  export declare class WorkerMessageClient extends MessageClient {
12
13
  [RESPONSES$]: Subject<MessageResponse<any>>;
13
14
  protected [WORKER]: Worker;
15
+ private [INSTANCE_ID];
14
16
  constructor(worker?: Worker);
15
17
  [SEND]<T>(message: Message<T>): void;
16
18
  protected [HANDLER]: (event: MessageEvent<MessageResponse>) => void;
@@ -1,15 +1,17 @@
1
- var _a, _b;
1
+ var _a, _b, _c;
2
2
  import { uniqueId } from "@thalesrc/js-utils";
3
3
  import { Subject } from "rxjs";
4
4
  import { MessageClient } from "../message-client";
5
5
  import { GET_NEW_ID, RESPONSES$, SEND } from "../selectors";
6
6
  const WORKER = Symbol('Worker');
7
7
  const HANDLER = Symbol('Handler');
8
+ const INSTANCE_ID = Symbol('Instance Id');
8
9
  export class WorkerMessageClient extends MessageClient {
9
10
  constructor(worker) {
10
11
  super();
11
12
  this[_a] = new Subject();
12
- this[_b] = (event) => {
13
+ this[_b] = Date.now();
14
+ this[_c] = (event) => {
13
15
  this[RESPONSES$].next(event.data);
14
16
  };
15
17
  this[WORKER] = worker;
@@ -20,7 +22,7 @@ export class WorkerMessageClient extends MessageClient {
20
22
  addEventListener('message', this[HANDLER]);
21
23
  }
22
24
  }
23
- [(_a = RESPONSES$, SEND)](message) {
25
+ [(_a = RESPONSES$, _b = INSTANCE_ID, SEND)](message) {
24
26
  if (this[WORKER]) {
25
27
  this[WORKER].postMessage(message);
26
28
  }
@@ -28,7 +30,7 @@ export class WorkerMessageClient extends MessageClient {
28
30
  postMessage(message);
29
31
  }
30
32
  }
31
- [(_b = HANDLER, GET_NEW_ID)]() {
32
- return uniqueId('hermes-worker-message');
33
+ [(_c = HANDLER, GET_NEW_ID)]() {
34
+ return uniqueId('hermes-worker-message-' + this[INSTANCE_ID]);
33
35
  }
34
36
  }