@onecx/accelerator 7.6.0 → 8.0.0-rc.10
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/README.md +12 -7
- package/dist/index.cjs +680 -0
- package/dist/index.mjs +649 -0
- package/package.json +16 -19
- package/src/index.d.ts +1 -0
- package/src/index.js +14 -16
- package/src/index.js.map +1 -1
- package/src/lib/declarations.d.ts +0 -31
- package/src/lib/declarations.js +6 -11
- package/src/lib/declarations.js.map +1 -1
- package/src/lib/topic/message.js +3 -7
- package/src/lib/topic/message.js.map +1 -1
- package/src/lib/topic/mocks/broadcast-channel.mock.js +1 -5
- package/src/lib/topic/mocks/broadcast-channel.mock.js.map +1 -1
- package/src/lib/topic/mocks/fake-topic.js +5 -9
- package/src/lib/topic/mocks/fake-topic.js.map +1 -1
- package/src/lib/topic/syncable-topic.js +2 -6
- package/src/lib/topic/syncable-topic.js.map +1 -1
- package/src/lib/topic/topic-data-message.js +2 -6
- package/src/lib/topic/topic-data-message.js.map +1 -1
- package/src/lib/topic/topic-message-type.js +0 -2
- package/src/lib/topic/topic-message.js +5 -9
- package/src/lib/topic/topic-message.js.map +1 -1
- package/src/lib/topic/topic-publisher.d.ts +2 -0
- package/src/lib/topic/topic-publisher.js +15 -16
- package/src/lib/topic/topic-publisher.js.map +1 -1
- package/src/lib/topic/topic-resolve-message.js +2 -6
- package/src/lib/topic/topic-resolve-message.js.map +1 -1
- package/src/lib/topic/topic.d.ts +1 -1
- package/src/lib/topic/topic.js +33 -40
- package/src/lib/topic/topic.js.map +1 -1
- package/src/lib/utils/create-logger.utils.d.ts +42 -0
- package/src/lib/utils/create-logger.utils.js +37 -0
- package/src/lib/utils/create-logger.utils.js.map +1 -0
- package/src/lib/utils/date.utils.js +2 -6
- package/src/lib/utils/date.utils.js.map +1 -1
- package/src/lib/utils/ensure-property.utils.js +1 -4
- package/src/lib/utils/ensure-property.utils.js.map +1 -1
- package/src/lib/utils/gatherer.d.ts +1 -1
- package/src/lib/utils/gatherer.js +22 -28
- package/src/lib/utils/gatherer.js.map +1 -1
- package/src/lib/utils/get-normalized-browser-locales.utils.js +3 -6
- package/src/lib/utils/get-normalized-browser-locales.utils.js.map +1 -1
- package/src/lib/utils/get-onecx-shared-recommendations.js +1 -4
- package/src/lib/utils/get-onecx-shared-recommendations.js.map +1 -1
- package/src/lib/utils/is-test.utils.js +1 -4
- package/src/lib/utils/is-test.utils.js.map +1 -1
- package/src/lib/utils/logger.utils.d.ts +1 -0
- package/src/lib/utils/logger.utils.js +4 -0
- package/src/lib/utils/logger.utils.js.map +1 -0
- package/src/lib/utils/logs.utils.d.ts +0 -1
- package/src/lib/utils/logs.utils.js +9 -13
- package/src/lib/utils/logs.utils.js.map +1 -1
- package/src/lib/utils/normalize-locales.utils.js +1 -4
- package/src/lib/utils/normalize-locales.utils.js.map +1 -1
- package/src/lib/utils/path.utils.js +1 -4
- package/src/lib/utils/path.utils.js.map +1 -1
- package/src/version.d.ts +2 -0
- package/src/version.js +3 -0
- package/src/version.js.map +1 -0
- package/migrations/index.d.ts +0 -1
- package/migrations/index.js +0 -5
- package/migrations/index.js.map +0 -1
- package/migrations/v6/migrate-onecx-to-v6.d.ts +0 -2
- package/migrations/v6/migrate-onecx-to-v6.js +0 -8
- package/migrations/v6/migrate-onecx-to-v6.js.map +0 -1
- package/migrations.json +0 -34
package/src/index.js
CHANGED
|
@@ -1,17 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
tslib_1.__exportStar(require("./lib/utils/ensure-property.utils"), exports);
|
|
16
|
-
tslib_1.__exportStar(require("./lib/utils/get-onecx-shared-recommendations"), exports);
|
|
1
|
+
export * from './lib/topic/topic';
|
|
2
|
+
export * from './lib/topic/mocks/fake-topic';
|
|
3
|
+
export * from './lib/topic/mocks/broadcast-channel.mock';
|
|
4
|
+
export * from './lib/topic/syncable-topic';
|
|
5
|
+
export * from './lib/topic/topic-publisher';
|
|
6
|
+
export * from './lib/utils/path.utils';
|
|
7
|
+
export * from './lib/utils/date.utils';
|
|
8
|
+
export * from './lib/utils/is-test.utils';
|
|
9
|
+
export * from './lib/utils/normalize-locales.utils';
|
|
10
|
+
export * from './lib/utils/get-normalized-browser-locales.utils';
|
|
11
|
+
export * from './lib/utils/gatherer';
|
|
12
|
+
export * from './lib/utils/create-logger.utils';
|
|
13
|
+
export * from './lib/utils/ensure-property.utils';
|
|
14
|
+
export * from './lib/utils/get-onecx-shared-recommendations';
|
|
17
15
|
//# sourceMappingURL=index.js.map
|
package/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/accelerator/src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/accelerator/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,0CAA0C,CAAA;AACxD,cAAc,4BAA4B,CAAA;AAC1C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,2BAA2B,CAAA;AACzC,cAAc,qCAAqC,CAAA;AACnD,cAAc,kDAAkD,CAAA;AAChE,cAAc,sBAAsB,CAAA;AACpC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,mCAAmC,CAAA;AACjD,cAAc,8CAA8C,CAAA"}
|
|
@@ -8,16 +8,6 @@ declare const topicTabId: object & {
|
|
|
8
8
|
"@onecx/accelerator": {
|
|
9
9
|
gatherer: object & {
|
|
10
10
|
promises: Record<number, Promise<any>[]>;
|
|
11
|
-
} & {
|
|
12
|
-
debug: string[];
|
|
13
|
-
};
|
|
14
|
-
};
|
|
15
|
-
} & {
|
|
16
|
-
"@onecx/accelerator": {
|
|
17
|
-
gatherer: object & {
|
|
18
|
-
promises: Record<number, Promise<any>[]>;
|
|
19
|
-
} & {
|
|
20
|
-
debug: string[];
|
|
21
11
|
};
|
|
22
12
|
topic: object & {
|
|
23
13
|
useBroadcastChannel: boolean | "V2";
|
|
@@ -27,26 +17,9 @@ declare const topicTabId: object & {
|
|
|
27
17
|
"@onecx/accelerator": {
|
|
28
18
|
gatherer: object & {
|
|
29
19
|
promises: Record<number, Promise<any>[]>;
|
|
30
|
-
} & {
|
|
31
|
-
debug: string[];
|
|
32
20
|
};
|
|
33
21
|
topic: object & {
|
|
34
22
|
useBroadcastChannel: boolean | "V2";
|
|
35
|
-
} & {
|
|
36
|
-
debug: string[] | undefined;
|
|
37
|
-
};
|
|
38
|
-
};
|
|
39
|
-
} & {
|
|
40
|
-
"@onecx/accelerator": {
|
|
41
|
-
gatherer: object & {
|
|
42
|
-
promises: Record<number, Promise<any>[]>;
|
|
43
|
-
} & {
|
|
44
|
-
debug: string[];
|
|
45
|
-
};
|
|
46
|
-
topic: object & {
|
|
47
|
-
useBroadcastChannel: boolean | "V2";
|
|
48
|
-
} & {
|
|
49
|
-
debug: string[] | undefined;
|
|
50
23
|
} & {
|
|
51
24
|
initDate: number;
|
|
52
25
|
};
|
|
@@ -55,13 +28,9 @@ declare const topicTabId: object & {
|
|
|
55
28
|
"@onecx/accelerator": {
|
|
56
29
|
gatherer: object & {
|
|
57
30
|
promises: Record<number, Promise<any>[]>;
|
|
58
|
-
} & {
|
|
59
|
-
debug: string[];
|
|
60
31
|
};
|
|
61
32
|
topic: object & {
|
|
62
33
|
useBroadcastChannel: boolean | "V2";
|
|
63
|
-
} & {
|
|
64
|
-
debug: string[] | undefined;
|
|
65
34
|
} & {
|
|
66
35
|
initDate: number;
|
|
67
36
|
} & {
|
package/src/lib/declarations.js
CHANGED
|
@@ -1,12 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
const topicUseBroadcastChannel = (0, ensure_property_utils_1.ensureProperty)(gatherDebug, ['@onecx/accelerator', 'topic', 'useBroadcastChannel'], 'V2');
|
|
8
|
-
const topicDebug = (0, ensure_property_utils_1.ensureProperty)(topicUseBroadcastChannel, ['@onecx/accelerator', 'topic', 'debug'], []);
|
|
9
|
-
const topicInitDate = (0, ensure_property_utils_1.ensureProperty)(topicDebug, ['@onecx/accelerator', 'topic', 'initDate'], Date.now());
|
|
10
|
-
const topicTabId = (0, ensure_property_utils_1.ensureProperty)(topicInitDate, ['@onecx/accelerator', 'topic', 'tabId'], Math.ceil(globalThis.performance?.now?.() ?? 0));
|
|
11
|
-
exports.acceleratorState = topicTabId;
|
|
1
|
+
import { ensureProperty } from './utils/ensure-property.utils';
|
|
2
|
+
const gatherPromises = ensureProperty(globalThis, ['@onecx/accelerator', 'gatherer', 'promises'], {});
|
|
3
|
+
const topicUseBroadcastChannel = ensureProperty(gatherPromises, ['@onecx/accelerator', 'topic', 'useBroadcastChannel'], 'V2');
|
|
4
|
+
const topicInitDate = ensureProperty(topicUseBroadcastChannel, ['@onecx/accelerator', 'topic', 'initDate'], Date.now());
|
|
5
|
+
const topicTabId = ensureProperty(topicInitDate, ['@onecx/accelerator', 'topic', 'tabId'], Math.ceil(globalThis.performance?.now?.() ?? 0));
|
|
6
|
+
export { topicTabId as acceleratorState };
|
|
12
7
|
//# sourceMappingURL=declarations.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"declarations.js","sourceRoot":"","sources":["../../../../../libs/accelerator/src/lib/declarations.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"declarations.js","sourceRoot":"","sources":["../../../../../libs/accelerator/src/lib/declarations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAE9D,MAAM,cAAc,GAAG,cAAc,CAAC,UAAoB,EAAE,CAAC,oBAAoB,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,EAAyC,CAAC,CAAA;AACtJ,MAAM,wBAAwB,GAAG,cAAc,CAAC,cAAc,EAAE,CAAC,oBAAoB,EAAE,OAAO,EAAE,qBAAqB,CAAC,EAAE,IAAsB,CAAC,CAAA;AAC/I,MAAM,aAAa,GAAG,cAAc,CAAC,wBAAwB,EAAE,CAAC,oBAAoB,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;AACvH,MAAM,UAAU,GAAG,cAAc,CAAC,aAAa,EAAE,CAAC,oBAAoB,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;AAE3I,OAAO,EAAE,UAAU,IAAI,gBAAgB,EAAE,CAAA"}
|
package/src/lib/topic/message.js
CHANGED
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const ensure_property_utils_1 = require("../utils/ensure-property.utils");
|
|
5
|
-
const g = (0, ensure_property_utils_1.ensureProperty)(globalThis, ['onecxMessageId'], 1);
|
|
6
|
-
class Message {
|
|
1
|
+
import { ensureProperty } from '../utils/ensure-property.utils';
|
|
2
|
+
const g = ensureProperty(globalThis, ['onecxMessageId'], 1);
|
|
3
|
+
export class Message {
|
|
7
4
|
type;
|
|
8
5
|
timestamp;
|
|
9
6
|
id; // id can be undefined while used via old implementation
|
|
@@ -13,5 +10,4 @@ class Message {
|
|
|
13
10
|
this.id = g.onecxMessageId++;
|
|
14
11
|
}
|
|
15
12
|
}
|
|
16
|
-
exports.Message = Message;
|
|
17
13
|
//# sourceMappingURL=message.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message.js","sourceRoot":"","sources":["../../../../../../libs/accelerator/src/lib/topic/message.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"message.js","sourceRoot":"","sources":["../../../../../../libs/accelerator/src/lib/topic/message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAE/D,MAAM,CAAC,GAAG,cAAc,CAAC,UAAU,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAA;AAE3D,MAAM,OAAO,OAAO;IAIC;IAHnB,SAAS,CAAQ;IACjB,EAAE,CAAQ,CAAC,wDAAwD;IAEnE,YAAmB,IAAY;QAAZ,SAAI,GAAJ,IAAI,CAAQ;QAC7B,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,WAAW,EAAE,GAAG,EAAE,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,CAAA;QAC9D,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,cAAc,EAAE,CAAA;IAC9B,CAAC;CACF"}
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.BroadcastChannelMock = void 0;
|
|
4
|
-
class BroadcastChannelMock {
|
|
1
|
+
export class BroadcastChannelMock {
|
|
5
2
|
name;
|
|
6
3
|
static listeners = {}; // NOSONAR
|
|
7
4
|
static asyncCalls = false; // NOSONAR
|
|
@@ -30,5 +27,4 @@ class BroadcastChannelMock {
|
|
|
30
27
|
BroadcastChannelMock.listeners[this.name] = BroadcastChannelMock.listeners[this.name].filter((l) => l !== this.listener);
|
|
31
28
|
}
|
|
32
29
|
}
|
|
33
|
-
exports.BroadcastChannelMock = BroadcastChannelMock;
|
|
34
30
|
//# sourceMappingURL=broadcast-channel.mock.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"broadcast-channel.mock.js","sourceRoot":"","sources":["../../../../../../../libs/accelerator/src/lib/topic/mocks/broadcast-channel.mock.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"broadcast-channel.mock.js","sourceRoot":"","sources":["../../../../../../../libs/accelerator/src/lib/topic/mocks/broadcast-channel.mock.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,oBAAoB;IAKV;IAJZ,MAAM,CAAC,SAAS,GAAwC,EAAE,CAAA,CAAC,UAAU;IACrE,MAAM,CAAC,UAAU,GAAG,KAAK,CAAA,CAAC,UAAU;IAC3C,QAAQ,CAA+B;IAEvC,YAAmB,IAAY;QAAZ,SAAI,GAAJ,IAAI,CAAQ;IAAI,CAAC;IAEpC,WAAW,CAAC,CAAM;QACd,IAAI,oBAAoB,CAAC,UAAU,EAAE,CAAC;YAClC,UAAU,CAAC,GAAG,EAAE;gBACZ,gEAAgE;gBAChE,oBAAoB,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,wBAAwB,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,eAAe,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;YAC9I,CAAC,EAAE,CAAC,CAAC,CAAA;QACT,CAAC;aAAM,CAAC;YACJ,gEAAgE;YAChE,oBAAoB,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,wBAAwB,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,eAAe,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;QAC9I,CAAC;IACL,CAAC;IAED,gBAAgB,CAAC,KAAa,EAAE,QAAyB;QACrD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,oBAAoB,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QACjD,oBAAoB,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC5D,CAAC;IAED,KAAK;QACD,oBAAoB,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,oBAAoB,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC5H,CAAC"}
|
|
@@ -1,15 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.FakeTopic = void 0;
|
|
4
|
-
const rxjs_1 = require("rxjs");
|
|
5
|
-
class FakeTopic {
|
|
1
|
+
import { BehaviorSubject, ReplaySubject } from 'rxjs';
|
|
2
|
+
export class FakeTopic {
|
|
6
3
|
state;
|
|
7
4
|
constructor(initialValue = undefined) {
|
|
8
5
|
if (initialValue !== undefined) {
|
|
9
|
-
this.state = new
|
|
6
|
+
this.state = new BehaviorSubject(initialValue);
|
|
10
7
|
}
|
|
11
8
|
else {
|
|
12
|
-
this.state = new
|
|
9
|
+
this.state = new ReplaySubject(1);
|
|
13
10
|
}
|
|
14
11
|
}
|
|
15
12
|
get isInitialized() {
|
|
@@ -63,7 +60,7 @@ class FakeTopic {
|
|
|
63
60
|
this.state.complete();
|
|
64
61
|
}
|
|
65
62
|
getValue() {
|
|
66
|
-
if (this.state instanceof
|
|
63
|
+
if (this.state instanceof BehaviorSubject) {
|
|
67
64
|
return this.state.getValue();
|
|
68
65
|
}
|
|
69
66
|
throw new Error('Only possible for FakeTopic with initial value');
|
|
@@ -72,5 +69,4 @@ class FakeTopic {
|
|
|
72
69
|
return new FakeTopic(initialValue);
|
|
73
70
|
}
|
|
74
71
|
}
|
|
75
|
-
exports.FakeTopic = FakeTopic;
|
|
76
72
|
//# sourceMappingURL=fake-topic.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fake-topic.js","sourceRoot":"","sources":["../../../../../../../libs/accelerator/src/lib/topic/mocks/fake-topic.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fake-topic.js","sourceRoot":"","sources":["../../../../../../../libs/accelerator/src/lib/topic/mocks/fake-topic.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8D,eAAe,EAAE,aAAa,EAAE,MAAM,MAAM,CAAA;AAGjH,MAAM,OAAO,SAAS;IACZ,KAAK,CAAY;IACzB,YAAY,eAA8B,SAAS;QACjD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,IAAI,CAAC,KAAK,GAAG,IAAI,eAAe,CAAI,YAAY,CAAC,CAAA;QACnD,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,GAAG,IAAI,aAAa,CAAI,CAAC,CAAC,CAAA;QACtC,CAAC;IACH,CAAC;IACD,IAAI,aAAa;QACf,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;IAC1B,CAAC;IASD,SAAS,CACP,cAAmE,EACnE,KAAmC,EACnC,QAA4B;QAE5B,OAAa,IAAI,CAAC,YAAY,EAAG,CAAC,SAAS,CAAC,cAAc,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;IAC9E,CAAC;IAED;;OAEG;IACH,IAAI,MAAM;QACR,OAAQ,IAAI,CAAC,YAAY,EAAU,CAAC,MAAM,CAAA;IAC5C,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACV,OAAQ,IAAI,CAAC,YAAY,EAAU,CAAC,QAAQ,CAAA;IAC9C,CAAC;IAED;;OAEG;IACH,IAAI,CAAI,QAA6B;QACnC,OAAQ,IAAI,CAAC,YAAY,EAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACpD,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,IAAwB,EAAE,OAAa;QAC7C,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACnD,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC,SAAS,EAAE,CAAA;IACxC,CAAC;IAED,gEAAgE;IAChE,YAAY;QACV,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAA;IAClC,CAAC;IAED,IAAI,CAAoB,GAAG,UAAqC;QAC9D,OAAQ,IAAI,CAAC,YAAY,EAAU,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAA;IACzD,CAAC;IAED,OAAO,CAAC,KAAQ;QACd,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACtB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;IAC1B,CAAC;IAED,OAAO;QACL,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAA;IACvB,CAAC;IAED,QAAQ;QACN,IAAI,IAAI,CAAC,KAAK,YAAY,eAAe,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAA;QAC9B,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAA;IACnE,CAAC;IAED,MAAM,CAAC,MAAM,CAAI,eAA8B,SAAS;QACtD,OAAO,IAAI,SAAS,CAAI,YAAY,CAAwB,CAAA;IAC9D,CAAC;CACF"}
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SyncableTopic = void 0;
|
|
4
|
-
const topic_1 = require("./topic");
|
|
1
|
+
import { Topic } from './topic';
|
|
5
2
|
/**
|
|
6
3
|
* This class allows sync access to the value of a Topic.
|
|
7
4
|
* If you use this as a super class, you have to make sure that
|
|
@@ -15,7 +12,7 @@ const topic_1 = require("./topic");
|
|
|
15
12
|
*
|
|
16
13
|
* @deprecated Should not be used anymore because reading async data in a sync way is dangerous and leads to errors. Use `Topic` instead.
|
|
17
14
|
*/
|
|
18
|
-
class SyncableTopic extends
|
|
15
|
+
export class SyncableTopic extends Topic {
|
|
19
16
|
constructor(name, version) {
|
|
20
17
|
super(name, version);
|
|
21
18
|
}
|
|
@@ -29,5 +26,4 @@ class SyncableTopic extends topic_1.Topic {
|
|
|
29
26
|
return this.isInit ? this.data.value.data : undefined;
|
|
30
27
|
}
|
|
31
28
|
}
|
|
32
|
-
exports.SyncableTopic = SyncableTopic;
|
|
33
29
|
//# sourceMappingURL=syncable-topic.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"syncable-topic.js","sourceRoot":"","sources":["../../../../../../libs/accelerator/src/lib/topic/syncable-topic.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"syncable-topic.js","sourceRoot":"","sources":["../../../../../../libs/accelerator/src/lib/topic/syncable-topic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAG/B;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,aAAiB,SAAQ,KAAQ;IAC5C,YAAY,IAAY,EAAE,OAAe;QACvC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACtB,CAAC;IAED;;;;;OAKG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAuB,IAAI,CAAC,IAAI,CAAC,KAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;IAC9E,CAAC;CACF"}
|
|
@@ -1,13 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.TopicDataMessage = void 0;
|
|
4
|
-
const topic_message_1 = require("./topic-message");
|
|
5
|
-
class TopicDataMessage extends topic_message_1.TopicMessage {
|
|
1
|
+
import { TopicMessage } from './topic-message';
|
|
2
|
+
export class TopicDataMessage extends TopicMessage {
|
|
6
3
|
data;
|
|
7
4
|
constructor(type, name, version, data) {
|
|
8
5
|
super(type, name, version);
|
|
9
6
|
this.data = data;
|
|
10
7
|
}
|
|
11
8
|
}
|
|
12
|
-
exports.TopicDataMessage = TopicDataMessage;
|
|
13
9
|
//# sourceMappingURL=topic-data-message.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"topic-data-message.js","sourceRoot":"","sources":["../../../../../../libs/accelerator/src/lib/topic/topic-data-message.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"topic-data-message.js","sourceRoot":"","sources":["../../../../../../libs/accelerator/src/lib/topic/topic-data-message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAG9C,MAAM,OAAO,gBAAoB,SAAQ,YAAY;IACuB;IAA1E,YAAY,IAAsB,EAAE,IAAY,EAAE,OAAe,EAAS,IAAO;QAC/E,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;QAD8C,SAAI,GAAJ,IAAI,CAAG;IAEjF,CAAC;CACF"}
|
|
@@ -1,19 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const logs_utils_1 = require("../utils/logs.utils");
|
|
5
|
-
const message_1 = require("./message");
|
|
6
|
-
class TopicMessage extends message_1.Message {
|
|
1
|
+
import { increaseMessageCount, isStatsEnabled } from '../utils/logs.utils';
|
|
2
|
+
import { Message } from './message';
|
|
3
|
+
export class TopicMessage extends Message {
|
|
7
4
|
name;
|
|
8
5
|
version;
|
|
9
6
|
constructor(type, name, version) {
|
|
10
7
|
super(type);
|
|
11
8
|
this.name = name;
|
|
12
9
|
this.version = version;
|
|
13
|
-
if (
|
|
14
|
-
|
|
10
|
+
if (isStatsEnabled()) {
|
|
11
|
+
increaseMessageCount(this.name, type);
|
|
15
12
|
}
|
|
16
13
|
}
|
|
17
14
|
}
|
|
18
|
-
exports.TopicMessage = TopicMessage;
|
|
19
15
|
//# sourceMappingURL=topic-message.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"topic-message.js","sourceRoot":"","sources":["../../../../../../libs/accelerator/src/lib/topic/topic-message.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"topic-message.js","sourceRoot":"","sources":["../../../../../../libs/accelerator/src/lib/topic/topic-message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAC1E,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAGnC,MAAM,OAAO,YAAa,SAAQ,OAAO;IAG9B;IACA;IAHT,YACE,IAAsB,EACf,IAAY,EACZ,OAAe;QAEtB,KAAK,CAAC,IAAI,CAAC,CAAA;QAHJ,SAAI,GAAJ,IAAI,CAAQ;QACZ,YAAO,GAAP,OAAO,CAAQ;QAGtB,IAAI,cAAc,EAAE,EAAE,CAAC;YACrB,oBAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QACvC,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { TopicMessage } from './topic-message';
|
|
2
|
+
import { ComponentLogger } from '../utils/create-logger.utils';
|
|
2
3
|
export declare class TopicPublisher<T> {
|
|
3
4
|
name: string;
|
|
4
5
|
version: number;
|
|
5
6
|
protected publishPromiseResolver: Record<number, () => void>;
|
|
6
7
|
protected publishBroadcastChannel: BroadcastChannel | undefined;
|
|
7
8
|
protected publishBroadcastChannelV2: BroadcastChannel | undefined;
|
|
9
|
+
protected readonly baseLogger: ComponentLogger;
|
|
8
10
|
constructor(name: string, version: number);
|
|
9
11
|
publish(value: T): Promise<void>;
|
|
10
12
|
protected createBroadcastChannel(): void;
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const declarations_1 = require("../declarations");
|
|
7
|
-
class TopicPublisher {
|
|
1
|
+
import { TopicDataMessage } from './topic-data-message';
|
|
2
|
+
import { TopicResolveMessage } from './topic-resolve-message';
|
|
3
|
+
import { createLogger } from '../utils/logger.utils';
|
|
4
|
+
import { acceleratorState } from '../declarations';
|
|
5
|
+
export class TopicPublisher {
|
|
8
6
|
name;
|
|
9
7
|
version;
|
|
10
8
|
publishPromiseResolver = {};
|
|
11
9
|
publishBroadcastChannel;
|
|
12
10
|
publishBroadcastChannelV2;
|
|
11
|
+
baseLogger;
|
|
13
12
|
constructor(name, version) {
|
|
14
13
|
this.name = name;
|
|
15
14
|
this.version = version;
|
|
15
|
+
this.baseLogger = createLogger(`TopicPublisher:${this.name}`);
|
|
16
16
|
}
|
|
17
17
|
publish(value) {
|
|
18
|
-
const message = new
|
|
18
|
+
const message = new TopicDataMessage("TopicNext" /* TopicMessageType.TopicNext */, this.name, this.version, value);
|
|
19
19
|
this.sendMessage(message);
|
|
20
|
-
const resolveMessage = new
|
|
20
|
+
const resolveMessage = new TopicResolveMessage("TopicResolve" /* TopicMessageType.TopicResolve */, this.name, this.version, message.id);
|
|
21
21
|
const promise = new Promise((resolve) => {
|
|
22
22
|
this.publishPromiseResolver[message.id] = resolve;
|
|
23
23
|
});
|
|
@@ -28,23 +28,23 @@ class TopicPublisher {
|
|
|
28
28
|
if (this.publishBroadcastChannel && this.publishBroadcastChannelV2) {
|
|
29
29
|
return;
|
|
30
30
|
}
|
|
31
|
-
if (
|
|
31
|
+
if (acceleratorState['@onecx/accelerator'].topic.useBroadcastChannel) {
|
|
32
32
|
if (typeof BroadcastChannel === 'undefined') {
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
this.baseLogger.info('BroadcastChannel not supported. Disabling BroadcastChannel for topic publisher');
|
|
34
|
+
acceleratorState['@onecx/accelerator'].topic.useBroadcastChannel = false;
|
|
35
35
|
}
|
|
36
36
|
else {
|
|
37
37
|
this.publishBroadcastChannel = new BroadcastChannel(`Topic-${this.name}|${this.version}`);
|
|
38
|
-
this.publishBroadcastChannelV2 = new BroadcastChannel(`TopicV2-${this.name}|${this.version}-${
|
|
38
|
+
this.publishBroadcastChannelV2 = new BroadcastChannel(`TopicV2-${this.name}|${this.version}-${acceleratorState['@onecx/accelerator'].topic.tabId}`);
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
42
|
sendMessage(message) {
|
|
43
43
|
this.createBroadcastChannel();
|
|
44
|
-
if (
|
|
44
|
+
if (acceleratorState['@onecx/accelerator'].topic.useBroadcastChannel === "V2") {
|
|
45
45
|
this.publishBroadcastChannelV2?.postMessage(message);
|
|
46
46
|
}
|
|
47
|
-
else if (
|
|
47
|
+
else if (acceleratorState['@onecx/accelerator'].topic.useBroadcastChannel) {
|
|
48
48
|
this.publishBroadcastChannel?.postMessage(message);
|
|
49
49
|
}
|
|
50
50
|
else {
|
|
@@ -56,5 +56,4 @@ class TopicPublisher {
|
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
|
-
exports.TopicPublisher = TopicPublisher;
|
|
60
59
|
//# sourceMappingURL=topic-publisher.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"topic-publisher.js","sourceRoot":"","sources":["../../../../../../libs/accelerator/src/lib/topic/topic-publisher.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"topic-publisher.js","sourceRoot":"","sources":["../../../../../../libs/accelerator/src/lib/topic/topic-publisher.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.TopicResolveMessage = void 0;
|
|
4
|
-
const topic_message_1 = require("./topic-message");
|
|
5
|
-
class TopicResolveMessage extends topic_message_1.TopicMessage {
|
|
1
|
+
import { TopicMessage } from './topic-message';
|
|
2
|
+
export class TopicResolveMessage extends TopicMessage {
|
|
6
3
|
resolveId;
|
|
7
4
|
constructor(type, name, version, resolveId) {
|
|
8
5
|
super(type, name, version);
|
|
9
6
|
this.resolveId = resolveId;
|
|
10
7
|
}
|
|
11
8
|
}
|
|
12
|
-
exports.TopicResolveMessage = TopicResolveMessage;
|
|
13
9
|
//# sourceMappingURL=topic-resolve-message.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"topic-resolve-message.js","sourceRoot":"","sources":["../../../../../../libs/accelerator/src/lib/topic/topic-resolve-message.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"topic-resolve-message.js","sourceRoot":"","sources":["../../../../../../libs/accelerator/src/lib/topic/topic-resolve-message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAG9C,MAAM,OAAO,mBAAoB,SAAQ,YAAY;IAK1C;IAJT,YACE,IAAsB,EACtB,IAAY,EACZ,OAAe,EACR,SAAiB;QAExB,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;QAFnB,cAAS,GAAT,SAAS,CAAQ;IAG1B,CAAC;CACF"}
|
package/src/lib/topic/topic.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { BehaviorSubject, Observable, Observer, OperatorFunction, Subscribable,
|
|
|
2
2
|
import { TopicDataMessage } from './topic-data-message';
|
|
3
3
|
import { TopicPublisher } from './topic-publisher';
|
|
4
4
|
export declare class Topic<T> extends TopicPublisher<T> implements Subscribable<T> {
|
|
5
|
+
private readonly logger;
|
|
5
6
|
protected isInitializedPromise: Promise<void>;
|
|
6
7
|
protected data: BehaviorSubject<TopicDataMessage<T> | undefined>;
|
|
7
8
|
protected isInit: boolean;
|
|
@@ -52,7 +53,6 @@ export declare class Topic<T> extends TopicPublisher<T> implements Subscribable<
|
|
|
52
53
|
private onBroadcastChannelMessage;
|
|
53
54
|
private onBroadcastChannelMessageV2;
|
|
54
55
|
private disableBroadcastChannel;
|
|
55
|
-
private isLogEnabled;
|
|
56
56
|
private disableBroadcastChannelV2;
|
|
57
57
|
private handleTopicResolveMessage;
|
|
58
58
|
private handleTopicGetMessage;
|
package/src/lib/topic/topic.js
CHANGED
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
class Topic extends topic_publisher_1.TopicPublisher {
|
|
1
|
+
import { filter, map } from 'rxjs/operators';
|
|
2
|
+
import { BehaviorSubject, } from 'rxjs';
|
|
3
|
+
import { TopicMessage } from './topic-message';
|
|
4
|
+
import { TopicPublisher } from './topic-publisher';
|
|
5
|
+
import { increaseInstanceCount, isStatsEnabled } from '../utils/logs.utils';
|
|
6
|
+
import { createLogger } from '../utils/logger.utils';
|
|
7
|
+
import { acceleratorState } from '../declarations';
|
|
8
|
+
export class Topic extends TopicPublisher {
|
|
9
|
+
logger = createLogger(`Topic:${this.name}`);
|
|
11
10
|
isInitializedPromise;
|
|
12
|
-
data = new
|
|
11
|
+
data = new BehaviorSubject(undefined);
|
|
13
12
|
isInit = false;
|
|
14
13
|
resolveInitPromise;
|
|
15
14
|
windowEventListener = (m) => this.onWindowMessage(m);
|
|
@@ -17,41 +16,41 @@ class Topic extends topic_publisher_1.TopicPublisher {
|
|
|
17
16
|
readBroadcastChannelV2;
|
|
18
17
|
constructor(name, version, sendGetMessage = true) {
|
|
19
18
|
super(name, version);
|
|
20
|
-
if (
|
|
19
|
+
if (acceleratorState['@onecx/accelerator'].topic.useBroadcastChannel) {
|
|
21
20
|
if (typeof BroadcastChannel === 'undefined') {
|
|
22
|
-
|
|
23
|
-
|
|
21
|
+
this.logger.info('BroadcastChannel not supported. Disabling BroadcastChannel for topic');
|
|
22
|
+
acceleratorState['@onecx/accelerator'].topic.useBroadcastChannel = false;
|
|
24
23
|
}
|
|
25
24
|
else {
|
|
26
25
|
this.readBroadcastChannel = new BroadcastChannel(`Topic-${this.name}|${this.version}`);
|
|
27
|
-
this.readBroadcastChannelV2 = new BroadcastChannel(`TopicV2-${this.name}|${this.version}-${
|
|
26
|
+
this.readBroadcastChannelV2 = new BroadcastChannel(`TopicV2-${this.name}|${this.version}-${acceleratorState['@onecx/accelerator'].topic.tabId}`);
|
|
28
27
|
}
|
|
29
28
|
}
|
|
30
|
-
if (
|
|
31
|
-
|
|
29
|
+
if (isStatsEnabled()) {
|
|
30
|
+
increaseInstanceCount(this.name);
|
|
32
31
|
}
|
|
33
32
|
this.isInitializedPromise = new Promise((resolve) => {
|
|
34
33
|
this.resolveInitPromise = resolve;
|
|
35
34
|
});
|
|
36
35
|
const addEventListener = globalThis.addEventListener;
|
|
37
36
|
if (typeof addEventListener === 'function') {
|
|
38
|
-
addEventListener
|
|
37
|
+
addEventListener('message', this.windowEventListener);
|
|
39
38
|
}
|
|
40
39
|
this.readBroadcastChannel?.addEventListener('message', (m) => this.onBroadcastChannelMessage(m));
|
|
41
40
|
this.readBroadcastChannelV2?.addEventListener('message', (m) => this.onBroadcastChannelMessageV2(m));
|
|
42
41
|
if (sendGetMessage) {
|
|
43
|
-
if (
|
|
44
|
-
Date.now() -
|
|
42
|
+
if (acceleratorState['@onecx/accelerator'].topic.initDate &&
|
|
43
|
+
Date.now() - acceleratorState['@onecx/accelerator'].topic.initDate < 2000) {
|
|
45
44
|
// Delay the get message a bit to give other topics time to initialize
|
|
46
45
|
setTimeout(() => {
|
|
47
46
|
if (!this.isInit) {
|
|
48
|
-
const message = new
|
|
47
|
+
const message = new TopicMessage("TopicGet" /* TopicMessageType.TopicGet */, this.name, this.version);
|
|
49
48
|
this.sendMessage(message);
|
|
50
49
|
}
|
|
51
50
|
}, 100);
|
|
52
51
|
}
|
|
53
52
|
else {
|
|
54
|
-
const message = new
|
|
53
|
+
const message = new TopicMessage("TopicGet" /* TopicMessageType.TopicGet */, this.name, this.version);
|
|
55
54
|
this.sendMessage(message);
|
|
56
55
|
}
|
|
57
56
|
}
|
|
@@ -60,7 +59,7 @@ class Topic extends topic_publisher_1.TopicPublisher {
|
|
|
60
59
|
return this.isInitializedPromise;
|
|
61
60
|
}
|
|
62
61
|
asObservable() {
|
|
63
|
-
return this.data.asObservable().pipe(
|
|
62
|
+
return this.data.asObservable().pipe(filter(() => this.isInit), map((d) => d.data));
|
|
64
63
|
}
|
|
65
64
|
subscribe(observerOrNext, error, complete) {
|
|
66
65
|
return this.asObservable().subscribe(observerOrNext, error, complete);
|
|
@@ -109,8 +108,8 @@ class Topic extends topic_publisher_1.TopicPublisher {
|
|
|
109
108
|
this.publishBroadcastChannelV2?.close();
|
|
110
109
|
}
|
|
111
110
|
onWindowMessage(m) {
|
|
112
|
-
if (
|
|
113
|
-
|
|
111
|
+
if (m.data?.name === this.name && m.data?.version === this.version) {
|
|
112
|
+
this.logger.debug('received message via window', m.data);
|
|
114
113
|
}
|
|
115
114
|
switch (m.data.type) {
|
|
116
115
|
case "TopicNext" /* TopicMessageType.TopicNext */: {
|
|
@@ -139,9 +138,7 @@ class Topic extends topic_publisher_1.TopicPublisher {
|
|
|
139
138
|
this.onBroadcastChannelMessageV2(m);
|
|
140
139
|
}
|
|
141
140
|
onBroadcastChannelMessageV2(m) {
|
|
142
|
-
|
|
143
|
-
console.log('Topic', this.name, ':', this.version, 'received message', m.data);
|
|
144
|
-
}
|
|
141
|
+
this.logger.debug('received message', m.data);
|
|
145
142
|
switch (m.data.type) {
|
|
146
143
|
case "TopicNext" /* TopicMessageType.TopicNext */: {
|
|
147
144
|
this.handleTopicNextMessage(m);
|
|
@@ -160,19 +157,16 @@ class Topic extends topic_publisher_1.TopicPublisher {
|
|
|
160
157
|
}
|
|
161
158
|
}
|
|
162
159
|
disableBroadcastChannel() {
|
|
163
|
-
if (
|
|
164
|
-
|
|
160
|
+
if (acceleratorState['@onecx/accelerator'].topic.useBroadcastChannel === true) {
|
|
161
|
+
this.logger.info('Disabling BroadcastChannel for topic');
|
|
165
162
|
}
|
|
166
|
-
|
|
167
|
-
}
|
|
168
|
-
isLogEnabled() {
|
|
169
|
-
return declarations_1.acceleratorState['@onecx/accelerator'].topic.debug?.includes(this.name);
|
|
163
|
+
acceleratorState['@onecx/accelerator'].topic.useBroadcastChannel = false;
|
|
170
164
|
}
|
|
171
165
|
disableBroadcastChannelV2() {
|
|
172
|
-
if (
|
|
173
|
-
|
|
166
|
+
if (acceleratorState['@onecx/accelerator'].topic.useBroadcastChannel === "V2") {
|
|
167
|
+
this.logger.info('Disabling BroadcastChannel V2 for topic');
|
|
174
168
|
}
|
|
175
|
-
|
|
169
|
+
acceleratorState['@onecx/accelerator'].topic.useBroadcastChannel = true;
|
|
176
170
|
}
|
|
177
171
|
handleTopicResolveMessage(m) {
|
|
178
172
|
const publishPromiseResolver = this.publishPromiseResolver[m.data.resolveId];
|
|
@@ -184,7 +178,7 @@ class Topic extends topic_publisher_1.TopicPublisher {
|
|
|
184
178
|
delete this.publishPromiseResolver[m.data.resolveId];
|
|
185
179
|
}
|
|
186
180
|
catch (error) {
|
|
187
|
-
|
|
181
|
+
this.logger.error('Error handling TopicResolveMessage:', error);
|
|
188
182
|
}
|
|
189
183
|
}
|
|
190
184
|
}
|
|
@@ -207,9 +201,8 @@ class Topic extends topic_publisher_1.TopicPublisher {
|
|
|
207
201
|
this.isInit &&
|
|
208
202
|
m.data.timestamp === this.data.value.timestamp &&
|
|
209
203
|
((m.data.id && !this.data.value.id) || (!m.data.id && this.data.value.id))) {
|
|
210
|
-
|
|
204
|
+
this.logger.warn('Message was dropped because of equal timestamps, because there was an old style message in the system. Please upgrade all libraries to the latest version.');
|
|
211
205
|
}
|
|
212
206
|
}
|
|
213
207
|
}
|
|
214
|
-
exports.Topic = Topic;
|
|
215
208
|
//# sourceMappingURL=topic.js.map
|