@genesislcap/foundation-comms 15.6.2 → 15.7.0-ts7.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.
- package/dist/dts/analytics/analytics.d.ts.map +1 -1
- package/dist/dts/auth/auth.d.ts.map +1 -1
- package/dist/dts/auth/auth.types.d.ts.map +1 -1
- package/dist/dts/auth/loginDTOMapper.d.ts.map +1 -1
- package/dist/dts/connect/connect.d.ts.map +1 -1
- package/dist/dts/connect/connect.events.d.ts.map +1 -1
- package/dist/dts/connect/genesisEvent.d.ts.map +1 -1
- package/dist/dts/connect/http.connect.d.ts.map +1 -1
- package/dist/dts/connect/http.d.ts.map +1 -1
- package/dist/dts/connect/httpTransport.d.ts.map +1 -1
- package/dist/dts/connect/message.d.ts.map +1 -1
- package/dist/dts/connect/reconnectStrategy.d.ts.map +1 -1
- package/dist/dts/connect/socket.d.ts.map +1 -1
- package/dist/dts/connect/socket.status.d.ts.map +1 -1
- package/dist/dts/connect/ticker.d.ts.map +1 -1
- package/dist/dts/connect/updateState.d.ts.map +1 -1
- package/dist/dts/credentialManager/credentialManager.d.ts.map +1 -1
- package/dist/dts/datasource/datasource.d.ts.map +1 -1
- package/dist/dts/datasource/datasource.mixins.d.ts +32 -379
- package/dist/dts/datasource/datasource.mixins.d.ts.map +1 -1
- package/dist/dts/datasource/entityDatasource.d.ts.map +1 -1
- package/dist/dts/metadata/metadata.d.ts.map +1 -1
- package/dist/dts/metadata/metadata.utils.d.ts.map +1 -1
- package/dist/dts/networkMonitor/service.d.ts.map +1 -1
- package/dist/dts/resources/genesis/genesis.d.ts.map +1 -1
- package/dist/dts/session/session.d.ts.map +1 -1
- package/dist/dts/storage/kv/kv.service.d.ts.map +1 -1
- package/dist/dts/testing/mocks/auth/auth.d.ts.map +1 -1
- package/dist/dts/testing/mocks/connect/connect.d.ts.map +1 -1
- package/dist/dts/testing/mocks/connect/connectEvents.d.ts.map +1 -1
- package/dist/dts/testing/mocks/connect/socket.d.ts.map +1 -1
- package/dist/dts/testing/mocks/datasource/datasource.d.ts.map +1 -1
- package/dist/dts/testing/mocks/resources/genesis/genesis.d.ts.map +1 -1
- package/dist/dts/testing/mocks/session/session.d.ts.map +1 -1
- package/dist/esm/connect/socket.js +20 -11
- package/dist/esm/datasource/datasource.js +12 -10
- package/dist/esm/datasource/datasource.mixins.js +6 -29
- package/dist/esm/networkMonitor/service.js +2 -1
- package/dist/foundation-comms.api.json +210 -3345
- package/dist/foundation-comms.d.ts +33 -380
- package/package.json +14 -14
|
@@ -120,7 +120,11 @@ let DefaultSocket = class DefaultSocket {
|
|
|
120
120
|
var _a;
|
|
121
121
|
return (_a = this.url) !== null && _a !== void 0 ? _a : GENESIS_SOCKET_URL;
|
|
122
122
|
}
|
|
123
|
-
constructor(messageBuilder, session, serializer, uuid, status,
|
|
123
|
+
constructor(messageBuilder, session, serializer, uuid, status,
|
|
124
|
+
/**
|
|
125
|
+
* Temp putting the user in place to bridge the hasValidSession logic.
|
|
126
|
+
*/
|
|
127
|
+
user, config) {
|
|
124
128
|
this.messageBuilder = messageBuilder;
|
|
125
129
|
this.session = session;
|
|
126
130
|
this.serializer = serializer;
|
|
@@ -135,11 +139,13 @@ let DefaultSocket = class DefaultSocket {
|
|
|
135
139
|
this.socketMessages = () => this.wsMessages;
|
|
136
140
|
}
|
|
137
141
|
get heartbeatLoggingIsEnabled() {
|
|
138
|
-
var _a
|
|
142
|
+
var _a;
|
|
143
|
+
var _b;
|
|
139
144
|
return (_b = (_a = this.connectOptions) === null || _a === void 0 ? void 0 : _a.enableHeartbeatLogging) !== null && _b !== void 0 ? _b : false;
|
|
140
145
|
}
|
|
141
146
|
get messageLoggingIsEnabled() {
|
|
142
|
-
var _a
|
|
147
|
+
var _a;
|
|
148
|
+
var _b;
|
|
143
149
|
return (_b = (_a = this.connectOptions) === null || _a === void 0 ? void 0 : _a.enableMessageLogging) !== null && _b !== void 0 ? _b : false;
|
|
144
150
|
}
|
|
145
151
|
connect(host = GENESIS_SOCKET_URL, connectOptions, reconnectOptions) {
|
|
@@ -153,7 +159,8 @@ let DefaultSocket = class DefaultSocket {
|
|
|
153
159
|
return;
|
|
154
160
|
}
|
|
155
161
|
return new Promise((resolve) => {
|
|
156
|
-
var _a, _b, _c
|
|
162
|
+
var _a, _b, _c;
|
|
163
|
+
var _d;
|
|
157
164
|
logger.info(`${this.isReconnecting ? 'Reconnecting' : 'Connecting'} to ${this.url}`);
|
|
158
165
|
this.status.isConnecting = !this.isReconnecting;
|
|
159
166
|
const cleanMessages = !this.isReconnecting || !((_a = this.reconnectOptions) === null || _a === void 0 ? void 0 : _a.reconnectStreams);
|
|
@@ -314,7 +321,8 @@ let DefaultSocket = class DefaultSocket {
|
|
|
314
321
|
}
|
|
315
322
|
}
|
|
316
323
|
prepareHeartbeat() {
|
|
317
|
-
var _a, _b
|
|
324
|
+
var _a, _b;
|
|
325
|
+
var _c, _d;
|
|
318
326
|
if (this.heartbeatTicker) {
|
|
319
327
|
this.heartbeatTicker.stop();
|
|
320
328
|
}
|
|
@@ -338,8 +346,8 @@ let DefaultSocket = class DefaultSocket {
|
|
|
338
346
|
this.heartbeatIsEnabled =
|
|
339
347
|
pong.MESSAGE_TYPE === MessageType.HEARTBEAT_PONG && pong.SOURCE_REF === ping.SOURCE_REF;
|
|
340
348
|
});
|
|
341
|
-
if ((
|
|
342
|
-
const intervalInMillisecocnds = (_d = (
|
|
349
|
+
if ((_c = (_a = this.connectOptions) === null || _a === void 0 ? void 0 : _a.enableHeartbeat) !== null && _c !== void 0 ? _c : this.heartbeatIsEnabled) {
|
|
350
|
+
const intervalInMillisecocnds = (_d = (_b = this.connectOptions) === null || _b === void 0 ? void 0 : _b.heartbeatInterval) !== null && _d !== void 0 ? _d : this.heartbeatInterval;
|
|
343
351
|
this.heartbeatTicker = new Ticker(intervalInMillisecocnds);
|
|
344
352
|
this.heartbeatTicker.start(() => {
|
|
345
353
|
if (this.websocket && this.isConnected) {
|
|
@@ -352,7 +360,8 @@ let DefaultSocket = class DefaultSocket {
|
|
|
352
360
|
}
|
|
353
361
|
}
|
|
354
362
|
reconnect() {
|
|
355
|
-
var _a, _b, _c, _d
|
|
363
|
+
var _a, _b, _c, _d;
|
|
364
|
+
var _e;
|
|
356
365
|
const notAlwaysOnAndHeartbeating = !((_a = this.connectOptions) === null || _a === void 0 ? void 0 : _a.alwaysOn) && ((_b = this.connectOptions) === null || _b === void 0 ? void 0 : _b.enableHeartbeat) === false;
|
|
357
366
|
if (this.isReconnecting || notAlwaysOnAndHeartbeating) {
|
|
358
367
|
return;
|
|
@@ -363,14 +372,14 @@ let DefaultSocket = class DefaultSocket {
|
|
|
363
372
|
: linearScheduler;
|
|
364
373
|
const reconnectObservable = this.isConnectedSubject.asObservable().pipe(switchMap((isConnected) => !isConnected
|
|
365
374
|
? retryInterval(this.reconnectOptions, scheduler).pipe(mergeMap((value) => {
|
|
366
|
-
var _a, _b
|
|
375
|
+
var _a, _b;
|
|
376
|
+
var _c;
|
|
367
377
|
let attemptsAmount;
|
|
368
378
|
if ((_a = this.connectOptions) === null || _a === void 0 ? void 0 : _a.alwaysOn) {
|
|
369
379
|
attemptsAmount = value + 1;
|
|
370
380
|
}
|
|
371
381
|
else {
|
|
372
|
-
attemptsAmount =
|
|
373
|
-
(_c = (_b = this.reconnectOptions) === null || _b === void 0 ? void 0 : _b.reconnectAttempts) !== null && _c !== void 0 ? _c : MAX_RECONNECT_ATTEMPTS;
|
|
382
|
+
attemptsAmount = (_c = (_b = this.reconnectOptions) === null || _b === void 0 ? void 0 : _b.reconnectAttempts) !== null && _c !== void 0 ? _c : MAX_RECONNECT_ATTEMPTS;
|
|
374
383
|
}
|
|
375
384
|
if (value < attemptsAmount) {
|
|
376
385
|
return of(value);
|
|
@@ -314,14 +314,15 @@ let DefaultDatasource = class DefaultDatasource {
|
|
|
314
314
|
}
|
|
315
315
|
fetchAndApplyMetadata(resourceName) {
|
|
316
316
|
return __awaiter(this, void 0, void 0, function* () {
|
|
317
|
-
var _a
|
|
317
|
+
var _a;
|
|
318
|
+
var _b, _c, _d;
|
|
318
319
|
try {
|
|
319
320
|
logger.debug(`Requesting metadata for ${this.options.resourceName} Datasource`);
|
|
320
321
|
const meta = yield this.connect.getMetadata(this.options.resourceName);
|
|
321
322
|
if (meta) {
|
|
322
|
-
this.availableIndexes = (
|
|
323
|
-
this.availableSortableFields = (
|
|
324
|
-
this.availableCriteriaFields = (
|
|
323
|
+
this.availableIndexes = (_b = meta.INDEXES) !== null && _b !== void 0 ? _b : [];
|
|
324
|
+
this.availableSortableFields = (_c = meta.SORTABLE_FIELDS) !== null && _c !== void 0 ? _c : [];
|
|
325
|
+
this.availableCriteriaFields = (_d = meta.CRITERIA_FIELDS) !== null && _d !== void 0 ? _d : [];
|
|
325
326
|
this.originalFieldDef = extractFieldDefinitions(meta);
|
|
326
327
|
this.fieldMetadata = toFieldMetadata(this.originalFieldDef);
|
|
327
328
|
this.requestFields = meta.REQUEST_FIELD || [];
|
|
@@ -332,7 +333,7 @@ let DefaultDatasource = class DefaultDatasource {
|
|
|
332
333
|
this.status = this.normaliseStatus({
|
|
333
334
|
isInitialized: true,
|
|
334
335
|
metadataRequired: true,
|
|
335
|
-
hasMetadata: ((
|
|
336
|
+
hasMetadata: ((_a = this.fieldMetadata) === null || _a === void 0 ? void 0 : _a.length) > 0,
|
|
336
337
|
});
|
|
337
338
|
}
|
|
338
339
|
catch (e) {
|
|
@@ -363,12 +364,13 @@ let DefaultDatasource = class DefaultDatasource {
|
|
|
363
364
|
* @internal
|
|
364
365
|
*/
|
|
365
366
|
normaliseStatus(status) {
|
|
366
|
-
var _a, _b
|
|
367
|
-
|
|
368
|
-
const
|
|
369
|
-
const
|
|
367
|
+
var _a, _b;
|
|
368
|
+
var _c, _d, _e;
|
|
369
|
+
const isInitialized = (_c = status.isInitialized) !== null && _c !== void 0 ? _c : this.initialized;
|
|
370
|
+
const metadataRequired = (_d = status.metadataRequired) !== null && _d !== void 0 ? _d : this.fetchMetadataRequired;
|
|
371
|
+
const hasMetadata = (_e = status.hasMetadata) !== null && _e !== void 0 ? _e : ((_a = this.fieldMetadata) === null || _a === void 0 ? void 0 : _a.length) > 0;
|
|
370
372
|
return {
|
|
371
|
-
name: (
|
|
373
|
+
name: (_b = this.options) === null || _b === void 0 ? void 0 : _b.resourceName,
|
|
372
374
|
type: this.resourceType,
|
|
373
375
|
isInitialized,
|
|
374
376
|
metadataRequired,
|
|
@@ -2,35 +2,12 @@ import { __decorate } from "tslib";
|
|
|
2
2
|
import { observable } from '@microsoft/fast-element';
|
|
3
3
|
import { logger } from '../utils';
|
|
4
4
|
import { DatasourceStatusChanged, } from './datasource.types';
|
|
5
|
-
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* @example
|
|
12
|
-
* ```ts
|
|
13
|
-
* import { DatasourceEventHandler, DatasourceStatus } from '@genesislcap/foundation-comms';
|
|
14
|
-
* ...
|
|
15
|
-
* class MyComponent extends DatasourceEventHandler(FASTElement) {
|
|
16
|
-
* resourceName: string = 'some-resource';
|
|
17
|
-
* ...
|
|
18
|
-
* datasourceStatusChanged(prev: DatasourceStatus, next: DatasourceStatus) {
|
|
19
|
-
* // Respond to changes in the target datasource.
|
|
20
|
-
* }
|
|
21
|
-
* }
|
|
22
|
-
* ```
|
|
23
|
-
*
|
|
24
|
-
* @privateRemarks
|
|
25
|
-
* Unfortunately our datasource ui components do not share a common baseclass. Given datasource ui components contain a
|
|
26
|
-
* Datasource and currently await their `init`, usage is more for example at this point, ie. how could we allow interested
|
|
27
|
-
* parties to monitor and respond to changes, given they will exist at different levels of DOM hierarchy etc. Datasource
|
|
28
|
-
* itself is also transient DI injectable, so each interested party would not have access to the same instance, nor would
|
|
29
|
-
* we necessarily want to expose that via the event to prevent them operating on it to cause unwanted side effects.
|
|
30
|
-
*
|
|
31
|
-
* @param Target - The class to mix the event handler with.
|
|
32
|
-
*
|
|
33
|
-
* @public
|
|
5
|
+
/*
|
|
6
|
+
* The return type is annotated explicitly rather than inferred so declaration
|
|
7
|
+
* emit references the named types instead of flattening the whole
|
|
8
|
+
* HTMLElement & FASTElement surface into every consumer's d.ts (TypeScript 7's
|
|
9
|
+
* emit prints that flattened surface checker-normalized, which strips `| null`
|
|
10
|
+
* from DOM member types when strictNullChecks is off).
|
|
34
11
|
*/
|
|
35
12
|
export const DatasourceEventHandler = (Target) => {
|
|
36
13
|
// @ts-ignore
|
|
@@ -403,7 +403,8 @@ export class DefaultNetworkMonitor {
|
|
|
403
403
|
* @internal
|
|
404
404
|
*/
|
|
405
405
|
normaliseEventDetail(detail) {
|
|
406
|
-
var _a, _b
|
|
406
|
+
var _a, _b;
|
|
407
|
+
var _c, _d;
|
|
407
408
|
const isHealthy = !!(((_a = detail.socket) === null || _a === void 0 ? void 0 : _a.isConfigured)
|
|
408
409
|
? detail.isOnline && ((_b = detail.socket) === null || _b === void 0 ? void 0 : _b.isConnected) && detail.resourcesAllConnected
|
|
409
410
|
: detail.isOnline);
|