@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.
Files changed (41) hide show
  1. package/dist/dts/analytics/analytics.d.ts.map +1 -1
  2. package/dist/dts/auth/auth.d.ts.map +1 -1
  3. package/dist/dts/auth/auth.types.d.ts.map +1 -1
  4. package/dist/dts/auth/loginDTOMapper.d.ts.map +1 -1
  5. package/dist/dts/connect/connect.d.ts.map +1 -1
  6. package/dist/dts/connect/connect.events.d.ts.map +1 -1
  7. package/dist/dts/connect/genesisEvent.d.ts.map +1 -1
  8. package/dist/dts/connect/http.connect.d.ts.map +1 -1
  9. package/dist/dts/connect/http.d.ts.map +1 -1
  10. package/dist/dts/connect/httpTransport.d.ts.map +1 -1
  11. package/dist/dts/connect/message.d.ts.map +1 -1
  12. package/dist/dts/connect/reconnectStrategy.d.ts.map +1 -1
  13. package/dist/dts/connect/socket.d.ts.map +1 -1
  14. package/dist/dts/connect/socket.status.d.ts.map +1 -1
  15. package/dist/dts/connect/ticker.d.ts.map +1 -1
  16. package/dist/dts/connect/updateState.d.ts.map +1 -1
  17. package/dist/dts/credentialManager/credentialManager.d.ts.map +1 -1
  18. package/dist/dts/datasource/datasource.d.ts.map +1 -1
  19. package/dist/dts/datasource/datasource.mixins.d.ts +32 -379
  20. package/dist/dts/datasource/datasource.mixins.d.ts.map +1 -1
  21. package/dist/dts/datasource/entityDatasource.d.ts.map +1 -1
  22. package/dist/dts/metadata/metadata.d.ts.map +1 -1
  23. package/dist/dts/metadata/metadata.utils.d.ts.map +1 -1
  24. package/dist/dts/networkMonitor/service.d.ts.map +1 -1
  25. package/dist/dts/resources/genesis/genesis.d.ts.map +1 -1
  26. package/dist/dts/session/session.d.ts.map +1 -1
  27. package/dist/dts/storage/kv/kv.service.d.ts.map +1 -1
  28. package/dist/dts/testing/mocks/auth/auth.d.ts.map +1 -1
  29. package/dist/dts/testing/mocks/connect/connect.d.ts.map +1 -1
  30. package/dist/dts/testing/mocks/connect/connectEvents.d.ts.map +1 -1
  31. package/dist/dts/testing/mocks/connect/socket.d.ts.map +1 -1
  32. package/dist/dts/testing/mocks/datasource/datasource.d.ts.map +1 -1
  33. package/dist/dts/testing/mocks/resources/genesis/genesis.d.ts.map +1 -1
  34. package/dist/dts/testing/mocks/session/session.d.ts.map +1 -1
  35. package/dist/esm/connect/socket.js +20 -11
  36. package/dist/esm/datasource/datasource.js +12 -10
  37. package/dist/esm/datasource/datasource.mixins.js +6 -29
  38. package/dist/esm/networkMonitor/service.js +2 -1
  39. package/dist/foundation-comms.api.json +210 -3345
  40. package/dist/foundation-comms.d.ts +33 -380
  41. 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, user, config) {
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, _b;
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, _b;
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, _d;
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, _c, _d;
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 ((_b = (_a = this.connectOptions) === null || _a === void 0 ? void 0 : _a.enableHeartbeat) !== null && _b !== void 0 ? _b : this.heartbeatIsEnabled) {
342
- const intervalInMillisecocnds = (_d = (_c = this.connectOptions) === null || _c === void 0 ? void 0 : _c.heartbeatInterval) !== null && _d !== void 0 ? _d : this.heartbeatInterval;
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, _e;
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, _c;
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, _b, _c, _d;
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 = (_a = meta.INDEXES) !== null && _a !== void 0 ? _a : [];
323
- this.availableSortableFields = (_b = meta.SORTABLE_FIELDS) !== null && _b !== void 0 ? _b : [];
324
- this.availableCriteriaFields = (_c = meta.CRITERIA_FIELDS) !== null && _c !== void 0 ? _c : [];
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: ((_d = this.fieldMetadata) === null || _d === void 0 ? void 0 : _d.length) > 0,
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, _c, _d, _e;
367
- const isInitialized = (_a = status.isInitialized) !== null && _a !== void 0 ? _a : this.initialized;
368
- const metadataRequired = (_b = status.metadataRequired) !== null && _b !== void 0 ? _b : this.fetchMetadataRequired;
369
- const hasMetadata = (_c = status.hasMetadata) !== null && _c !== void 0 ? _c : ((_d = this.fieldMetadata) === null || _d === void 0 ? void 0 : _d.length) > 0;
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: (_e = this.options) === null || _e === void 0 ? void 0 : _e.resourceName,
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
- * Datasource event handler mixin for target classes that use or are interested in datasource status changes.
7
- *
8
- * @remarks
9
- * Classes that use the mixin are not required to own the datasource itself, there may be several interested parties.
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, _c, _d;
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);