@genesislcap/foundation-comms 14.187.1 → 14.188.0

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 (156) hide show
  1. package/dist/dts/connect/connect.d.ts +11 -6
  2. package/dist/dts/connect/connect.d.ts.map +1 -1
  3. package/dist/dts/connect/http.connect.d.ts +2 -2
  4. package/dist/dts/connect/http.connect.d.ts.map +1 -1
  5. package/dist/dts/connect/message.d.ts +11 -0
  6. package/dist/dts/connect/message.d.ts.map +1 -1
  7. package/dist/dts/connect/socket.d.ts +6 -2
  8. package/dist/dts/connect/socket.d.ts.map +1 -1
  9. package/dist/dts/datasource/datasource.config.d.ts +44 -0
  10. package/dist/dts/datasource/datasource.config.d.ts.map +1 -0
  11. package/dist/dts/datasource/datasource.d.ts +49 -19
  12. package/dist/dts/datasource/datasource.d.ts.map +1 -1
  13. package/dist/dts/datasource/datasource.mixins.d.ts +367 -0
  14. package/dist/dts/datasource/datasource.mixins.d.ts.map +1 -0
  15. package/dist/dts/datasource/datasource.types.d.ts +14 -22
  16. package/dist/dts/datasource/datasource.types.d.ts.map +1 -1
  17. package/dist/dts/datasource/entityDatasource.d.ts +5 -8
  18. package/dist/dts/datasource/entityDatasource.d.ts.map +1 -1
  19. package/dist/dts/datasource/index.d.ts +2 -0
  20. package/dist/dts/datasource/index.d.ts.map +1 -1
  21. package/dist/dts/index.d.ts +1 -0
  22. package/dist/dts/index.d.ts.map +1 -1
  23. package/dist/dts/resources/genesis/config.d.ts +81 -0
  24. package/dist/dts/resources/genesis/config.d.ts.map +1 -0
  25. package/dist/dts/resources/genesis/genesis.d.ts +69 -0
  26. package/dist/dts/resources/genesis/genesis.d.ts.map +1 -0
  27. package/dist/dts/resources/genesis/index.d.ts +4 -0
  28. package/dist/dts/resources/genesis/index.d.ts.map +1 -0
  29. package/dist/dts/resources/genesis/types.d.ts +19 -0
  30. package/dist/dts/resources/genesis/types.d.ts.map +1 -0
  31. package/dist/dts/resources/index.d.ts +2 -0
  32. package/dist/dts/resources/index.d.ts.map +1 -0
  33. package/dist/dts/testing/mocks/auth/auth.d.ts +3 -0
  34. package/dist/dts/testing/mocks/auth/auth.d.ts.map +1 -1
  35. package/dist/dts/testing/mocks/connect/connect.d.ts +3 -2
  36. package/dist/dts/testing/mocks/connect/connect.d.ts.map +1 -1
  37. package/dist/dts/testing/mocks/connect/socket.d.ts +1 -0
  38. package/dist/dts/testing/mocks/connect/socket.d.ts.map +1 -1
  39. package/dist/dts/testing/mocks/datasource/datasource.d.ts +22 -4
  40. package/dist/dts/testing/mocks/datasource/datasource.d.ts.map +1 -1
  41. package/dist/dts/testing/mocks/index.d.ts +1 -0
  42. package/dist/dts/testing/mocks/index.d.ts.map +1 -1
  43. package/dist/dts/testing/mocks/resources/genesis/genesis.d.ts +16 -0
  44. package/dist/dts/testing/mocks/resources/genesis/genesis.d.ts.map +1 -0
  45. package/dist/dts/testing/mocks/resources/genesis/index.d.ts +2 -0
  46. package/dist/dts/testing/mocks/resources/genesis/index.d.ts.map +1 -0
  47. package/dist/dts/testing/mocks/resources/index.d.ts +2 -0
  48. package/dist/dts/testing/mocks/resources/index.d.ts.map +1 -0
  49. package/dist/esm/connect/connect.js +12 -15
  50. package/dist/esm/connect/http.connect.js +5 -3
  51. package/dist/esm/connect/message.js +2 -0
  52. package/dist/esm/connect/socket.js +19 -6
  53. package/dist/esm/datasource/datasource.config.js +41 -0
  54. package/dist/esm/datasource/datasource.js +133 -58
  55. package/dist/esm/datasource/datasource.mixins.js +86 -0
  56. package/dist/esm/datasource/datasource.types.js +2 -18
  57. package/dist/esm/datasource/entityDatasource.js +6 -0
  58. package/dist/esm/datasource/index.js +2 -0
  59. package/dist/esm/index.js +1 -0
  60. package/dist/esm/resources/genesis/config.js +51 -0
  61. package/dist/esm/resources/genesis/genesis.js +114 -0
  62. package/dist/esm/resources/genesis/index.js +3 -0
  63. package/dist/esm/resources/genesis/types.js +4 -0
  64. package/dist/esm/resources/index.js +1 -0
  65. package/dist/esm/testing/mocks/auth/auth.js +10 -0
  66. package/dist/esm/testing/mocks/connect/connect.js +9 -2
  67. package/dist/esm/testing/mocks/connect/socket.js +2 -0
  68. package/dist/esm/testing/mocks/datasource/datasource.js +59 -0
  69. package/dist/esm/testing/mocks/index.js +1 -0
  70. package/dist/esm/testing/mocks/resources/genesis/genesis.js +25 -0
  71. package/dist/esm/testing/mocks/resources/genesis/index.js +1 -0
  72. package/dist/esm/testing/mocks/resources/index.js +1 -0
  73. package/dist/foundation-comms.api.json +11047 -6292
  74. package/dist/foundation-comms.d.ts +696 -37
  75. package/docs/api/foundation-comms.connect.connect.md +2 -2
  76. package/docs/api/foundation-comms.connect.getavailableresources.md +2 -2
  77. package/docs/api/foundation-comms.connect.host.md +11 -0
  78. package/docs/api/foundation-comms.connect.md +1 -0
  79. package/docs/api/foundation-comms.datasource.init.md +2 -2
  80. package/docs/api/foundation-comms.datasource.md +3 -2
  81. package/docs/api/{foundation-comms.datasource.fieldmetadata.md → foundation-comms.datasource.status.md} +3 -4
  82. package/docs/api/foundation-comms.datasourceconfig.eventemitter.md +18 -0
  83. package/docs/api/foundation-comms.datasourceconfig.md +2 -1
  84. package/docs/api/foundation-comms.datasourceeventhandler.md +353 -0
  85. package/docs/api/foundation-comms.datasourcemetadata.availableindexes.md +11 -0
  86. package/docs/api/foundation-comms.datasourcemetadata.fetchmetadatarequired.md +11 -0
  87. package/docs/api/foundation-comms.datasourcemetadata.fieldmetadata.md +11 -0
  88. package/docs/api/foundation-comms.datasourcemetadata.md +24 -0
  89. package/docs/api/foundation-comms.datasourcemetadata.originalfielddef.md +11 -0
  90. package/docs/api/foundation-comms.datasourcemetadata.requestfields.md +11 -0
  91. package/docs/api/foundation-comms.datasourcestatus.md +21 -0
  92. package/docs/api/foundation-comms.datasourcestatuschanged.md +13 -0
  93. package/docs/api/foundation-comms.datasourcestatuschangedevent.md +15 -0
  94. package/docs/api/foundation-comms.defaultconnect.connect.md +2 -2
  95. package/docs/api/foundation-comms.defaultconnect.getavailableresources.md +2 -2
  96. package/docs/api/foundation-comms.defaultconnect.host.md +11 -0
  97. package/docs/api/foundation-comms.defaultconnect.md +1 -0
  98. package/docs/api/foundation-comms.defaultdatasource._constructor_.md +3 -2
  99. package/docs/api/foundation-comms.defaultdatasource.availableindexes.md +2 -1
  100. package/docs/api/foundation-comms.defaultdatasource.fetchandapplymetadata.md +22 -0
  101. package/docs/api/{foundation-comms.defaultdatasource._stream.md → foundation-comms.defaultdatasource.fetchmetadatarequired.md} +4 -3
  102. package/docs/api/foundation-comms.defaultdatasource.fieldmetadata.md +1 -0
  103. package/docs/api/foundation-comms.defaultdatasource.initialized.md +3 -1
  104. package/docs/api/foundation-comms.defaultdatasource.md +10 -7
  105. package/docs/api/foundation-comms.defaultdatasource.originalfielddef.md +2 -1
  106. package/docs/api/foundation-comms.defaultdatasource.requestfields.md +2 -1
  107. package/docs/api/foundation-comms.defaultdatasource.resources.md +11 -0
  108. package/docs/api/foundation-comms.defaultdatasource.status.md +12 -0
  109. package/docs/api/foundation-comms.defaultdatasource.stream.md +1 -1
  110. package/docs/api/foundation-comms.defaultdatasource.validresourcename.md +5 -0
  111. package/docs/api/foundation-comms.defaultdatasourceconfig.md +1 -1
  112. package/docs/api/foundation-comms.defaultgenesisresources._constructor_.md +21 -0
  113. package/docs/api/foundation-comms.defaultgenesisresources.config.md +11 -0
  114. package/docs/api/foundation-comms.defaultgenesisresources.connect.md +11 -0
  115. package/docs/api/foundation-comms.defaultgenesisresources.destroy.md +17 -0
  116. package/docs/api/foundation-comms.defaultgenesisresources.getresources.md +15 -0
  117. package/docs/api/foundation-comms.defaultgenesisresources.getresourcetypefor.md +24 -0
  118. package/docs/api/foundation-comms.defaultgenesisresources.isvalidresource.md +24 -0
  119. package/docs/api/foundation-comms.defaultgenesisresources.md +40 -0
  120. package/docs/api/foundation-comms.defaultgenesisresources.postloadedmessage.md +15 -0
  121. package/docs/api/foundation-comms.defaultgenesisresources.resources.md +11 -0
  122. package/docs/api/foundation-comms.defaultgenesisresources.resourcespromise.md +11 -0
  123. package/docs/api/foundation-comms.defaultgenesisresourcesconfig.md +13 -0
  124. package/docs/api/foundation-comms.defaulthttpconnect.getavailableresources.md +2 -2
  125. package/docs/api/foundation-comms.defaultsocket._constructor_.md +2 -1
  126. package/docs/api/foundation-comms.defaultsocket.config.md +11 -0
  127. package/docs/api/foundation-comms.defaultsocket.connect.md +2 -2
  128. package/docs/api/foundation-comms.defaultsocket.host.md +11 -0
  129. package/docs/api/foundation-comms.defaultsocket.md +3 -1
  130. package/docs/api/foundation-comms.eventmessagetype.md +2 -0
  131. package/docs/api/foundation-comms.genesisresources.destroy.md +13 -0
  132. package/docs/api/foundation-comms.genesisresources.getresourcetypefor.md +13 -0
  133. package/docs/api/foundation-comms.genesisresources.isvalidresource.md +13 -0
  134. package/docs/api/foundation-comms.genesisresources.md +26 -0
  135. package/docs/api/foundation-comms.genesisresourceschannel.md +33 -0
  136. package/docs/api/foundation-comms.genesisresourceschannelid.md +12 -0
  137. package/docs/api/foundation-comms.genesisresourcesconfig.md +21 -0
  138. package/docs/api/foundation-comms.genesisresourcesconfig.throwwhenunavailable.md +13 -0
  139. package/docs/api/foundation-comms.genesisresourcesconfig.throwwhenunknown.md +13 -0
  140. package/docs/api/foundation-comms.genesisresourcesevents.md +17 -0
  141. package/docs/api/foundation-comms.genesisresourcesmock.destroy.md +15 -0
  142. package/docs/api/foundation-comms.genesisresourcesmock.getresourcetypefor.md +24 -0
  143. package/docs/api/foundation-comms.genesisresourcesmock.isvalidresource.md +24 -0
  144. package/docs/api/foundation-comms.genesisresourcesmock.md +30 -0
  145. package/docs/api/foundation-comms.genesisresourcesmock.nextisvalidresourceresponse.md +11 -0
  146. package/docs/api/foundation-comms.genesisresourcesmock.nextresourcetypeforresponse.md +11 -0
  147. package/docs/api/foundation-comms.genesisresourcesmock.resources.md +11 -0
  148. package/docs/api/foundation-comms.getgenesisresources.md +30 -0
  149. package/docs/api/foundation-comms.getgenesisresourceschannel.md +39 -0
  150. package/docs/api/foundation-comms.md +19 -2
  151. package/docs/api/foundation-comms.resourceitem.md +15 -0
  152. package/docs/api/foundation-comms.resourcesmessage.md +18 -0
  153. package/docs/api/foundation-comms.socket.host.md +11 -0
  154. package/docs/api/foundation-comms.socket.md +6 -0
  155. package/docs/api-report.md +550 -25
  156. package/package.json +13 -12
@@ -8,8 +8,10 @@
8
8
 
9
9
  import { BehaviorSubject } from 'rxjs';
10
10
  import { default as Bowser_2 } from 'bowser';
11
+ import { Controller } from '@microsoft/fast-element';
11
12
  import { DefaultUser } from '@genesislcap/foundation-user';
12
13
  import type { DTOMapper } from '@genesislcap/foundation-utils';
14
+ import type { FASTElement } from '@microsoft/fast-element';
13
15
  import { InterfaceSymbol } from '@microsoft/fast-foundation';
14
16
  import { JSONSchema7 } from 'json-schema';
15
17
  import { JSONSerializer } from '@genesislcap/foundation-utils';
@@ -19,8 +21,10 @@ import type { LogLevel } from '@genesislcap/foundation-utils';
19
21
  import { Observable } from 'rxjs';
20
22
  import { Observer } from '@genesislcap/foundation-utils';
21
23
  import { Observer as Observer_2 } from 'rxjs';
24
+ import { SetUserProperties } from '@genesislcap/foundation-user/dist/esm';
22
25
  import { Subscription as SocketSubscription } from 'rxjs';
23
26
  import { Subject } from 'rxjs';
27
+ import { TypedBroadcastChannel } from '@genesislcap/foundation-broadcast-channel';
24
28
  import { User as User_2 } from '@genesislcap/foundation-user';
25
29
  import { UUID } from '@genesislcap/foundation-utils';
26
30
 
@@ -91,6 +95,10 @@ export class AuthMock implements Auth {
91
95
  nextReAuthResult: boolean;
92
96
  // (undocumented)
93
97
  reAuthFromSession(): Promise<boolean>;
98
+ // (undocumented)
99
+ resetTestUser(): void;
100
+ // (undocumented)
101
+ setTestUser(properties?: Partial<SetUserProperties>): void;
94
102
  }
95
103
 
96
104
  // @public
@@ -144,14 +152,16 @@ export type CommitParams = {
144
152
  // @public
145
153
  export interface Connect {
146
154
  commitEvent(eventName: string, params?: CommitParams): Promise<Message>;
147
- connect(host: string): Promise<boolean>;
155
+ connect(host?: string): Promise<boolean>;
148
156
  dataLogoff(sourceRef: string): Promise<Message>;
149
157
  disconnect(): void;
150
- getAvailableResources(params?: RequestParams): Promise<Message>;
158
+ getAvailableResources(params?: RequestParams): Promise<ResourcesMessage>;
151
159
  getJSONSchema(resourceName: string): Promise<SchemaResponse>;
152
160
  getMetadata(resourceName: string, useCache?: boolean): Promise<Metadata>;
153
161
  getMoreColumns(sourceRef: string): Promise<Message>;
154
162
  getMoreRows(sourceRef: string): Promise<Message>;
163
+ // (undocumented)
164
+ host: string;
155
165
  // @internal
156
166
  httpMode(): boolean;
157
167
  readonly isConnected$?: Observable<boolean>;
@@ -228,7 +238,7 @@ export class ConnectMock implements Connect {
228
238
  // (undocumented)
229
239
  disconnect(): void;
230
240
  // (undocumented)
231
- getAvailableResources(params?: RequestParams): Promise<Message>;
241
+ getAvailableResources(params?: RequestParams): Promise<ResourcesMessage>;
232
242
  // (undocumented)
233
243
  getJSONSchema(resourceName: string): Promise<any>;
234
244
  // (undocumented)
@@ -238,6 +248,8 @@ export class ConnectMock implements Connect {
238
248
  // (undocumented)
239
249
  getMoreRows(sourceRef: string): Promise<Message<any>>;
240
250
  // (undocumented)
251
+ get host(): string;
252
+ // (undocumented)
241
253
  httpMode(): boolean;
242
254
  // (undocumented)
243
255
  get isConnected$(): Observable<boolean>;
@@ -364,7 +376,7 @@ export function dataServerResultFilter(result: RawDataServerResult, rowId?: stri
364
376
  // Warning: (ae-internal-mixed-release-tag) Mixed release tags are not allowed for "Datasource" because one of its declarations is marked as @internal
365
377
  //
366
378
  // @public
367
- export interface Datasource {
379
+ export interface Datasource extends DatasourceMetadata {
368
380
  addView?(view: Dataview): void;
369
381
  clearFilter?(name: string): Promise<void>;
370
382
  createItem?(data: any): Promise<string>;
@@ -373,15 +385,16 @@ export interface Datasource {
373
385
  deleteItem?(itemId: string): Promise<void>;
374
386
  destroy(): void;
375
387
  dropView?(view: Dataview): void;
376
- fieldMetadata: FieldMetadata[];
377
388
  getMetadata?(resourceName: string): Promise<Array<FieldMetadata>>;
378
- init(options: DatasourceOptions, fetchMeta: boolean): Promise<boolean>;
389
+ init(options: DatasourceOptions, fetchMeta?: boolean): Promise<boolean>;
379
390
  initialized: boolean;
380
391
  readOnly: boolean;
381
392
  resourceType: ResourceType;
382
393
  setFilter?(name: string, value: any, type?: string): Promise<void>;
383
394
  snapshot(params?: any): any;
384
395
  snapshotFiltered(rowId?: string): any;
396
+ // (undocumented)
397
+ status: Partial<DatasourceStatus>;
385
398
  stream: SocketObservable<FilteredDataServerResult | RequestServerResult>;
386
399
  updateData?(data: Array<any>): Promise<void>;
387
400
  updateItem?(itemId: string, data: any): Promise<void>;
@@ -399,6 +412,7 @@ export interface DatasourceConfig {
399
412
  criteriaToFields(filters: string): Record<string, string>;
400
413
  // (undocumented)
401
414
  dataServerResultFilter(result: RawDataServerResult, rowId?: string): FilteredDataServerResult;
415
+ eventEmitter?: HTMLElement;
402
416
  // (undocumented)
403
417
  options: DatasourceOptions;
404
418
  }
@@ -420,6 +434,343 @@ export class DatasourceDefaults {
420
434
  static readonly REQUEST_SERVER_ROW_ID = "RECORD_ID";
421
435
  }
422
436
 
437
+ // @public
438
+ export const DatasourceEventHandler: (Target: new () => HTMLElement & FASTElement) => {
439
+ new (): {
440
+ datasourceStatus: DatasourceStatus;
441
+ resourceName: string;
442
+ onDatasourceStatusChanged: (event: DatasourceStatusChangedEvent) => void;
443
+ datasourceStatusChanged(prev: DatasourceStatus, next: DatasourceStatus): void;
444
+ connectedCallback(): void;
445
+ disconnectedCallback(): void;
446
+ accessKey: string;
447
+ readonly accessKeyLabel: string;
448
+ autocapitalize: string;
449
+ dir: string;
450
+ draggable: boolean;
451
+ hidden: boolean;
452
+ inert: boolean;
453
+ innerText: string;
454
+ lang: string;
455
+ readonly offsetHeight: number;
456
+ readonly offsetLeft: number;
457
+ readonly offsetParent: Element;
458
+ readonly offsetTop: number;
459
+ readonly offsetWidth: number;
460
+ outerText: string;
461
+ spellcheck: boolean;
462
+ title: string;
463
+ translate: boolean;
464
+ attachInternals(): ElementInternals;
465
+ click(): void;
466
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
467
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
468
+ removeEventListener<K_1 extends keyof HTMLElementEventMap>(type: K_1, listener: (this: HTMLElement, ev: HTMLElementEventMap[K_1]) => any, options?: boolean | EventListenerOptions): void;
469
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
470
+ readonly attributes: NamedNodeMap;
471
+ readonly classList: DOMTokenList;
472
+ className: string;
473
+ readonly clientHeight: number;
474
+ readonly clientLeft: number;
475
+ readonly clientTop: number;
476
+ readonly clientWidth: number;
477
+ id: string;
478
+ readonly localName: string;
479
+ readonly namespaceURI: string;
480
+ onfullscreenchange: (this: Element, ev: Event) => any;
481
+ onfullscreenerror: (this: Element, ev: Event) => any;
482
+ outerHTML: string;
483
+ readonly ownerDocument: Document;
484
+ readonly part: DOMTokenList;
485
+ readonly prefix: string;
486
+ readonly scrollHeight: number;
487
+ scrollLeft: number;
488
+ scrollTop: number;
489
+ readonly scrollWidth: number;
490
+ readonly shadowRoot: ShadowRoot;
491
+ slot: string;
492
+ readonly tagName: string;
493
+ attachShadow(init: ShadowRootInit): ShadowRoot;
494
+ closest<K_2 extends keyof HTMLElementTagNameMap>(selector: K_2): HTMLElementTagNameMap[K_2];
495
+ closest<K_3 extends keyof SVGElementTagNameMap>(selector: K_3): SVGElementTagNameMap[K_3];
496
+ closest<E extends Element = Element>(selectors: string): E;
497
+ getAttribute(qualifiedName: string): string;
498
+ getAttributeNS(namespace: string, localName: string): string;
499
+ getAttributeNames(): string[];
500
+ getAttributeNode(qualifiedName: string): Attr;
501
+ getAttributeNodeNS(namespace: string, localName: string): Attr;
502
+ getBoundingClientRect(): DOMRect;
503
+ getClientRects(): DOMRectList;
504
+ getElementsByClassName(classNames: string): HTMLCollectionOf<Element>;
505
+ getElementsByTagName<K_4 extends keyof HTMLElementTagNameMap>(qualifiedName: K_4): HTMLCollectionOf<HTMLElementTagNameMap[K_4]>;
506
+ getElementsByTagName<K_5 extends keyof SVGElementTagNameMap>(qualifiedName: K_5): HTMLCollectionOf<SVGElementTagNameMap[K_5]>;
507
+ getElementsByTagName(qualifiedName: string): HTMLCollectionOf<Element>;
508
+ getElementsByTagNameNS(namespaceURI: "http://www.w3.org/1999/xhtml", localName: string): HTMLCollectionOf<HTMLElement>;
509
+ getElementsByTagNameNS(namespaceURI: "http://www.w3.org/2000/svg", localName: string): HTMLCollectionOf<SVGElement>;
510
+ getElementsByTagNameNS(namespace: string, localName: string): HTMLCollectionOf<Element>;
511
+ hasAttribute(qualifiedName: string): boolean;
512
+ hasAttributeNS(namespace: string, localName: string): boolean;
513
+ hasAttributes(): boolean;
514
+ hasPointerCapture(pointerId: number): boolean;
515
+ insertAdjacentElement(where: InsertPosition, element: Element): Element;
516
+ insertAdjacentHTML(position: InsertPosition, text: string): void;
517
+ insertAdjacentText(where: InsertPosition, data: string): void;
518
+ matches(selectors: string): boolean;
519
+ releasePointerCapture(pointerId: number): void;
520
+ removeAttribute(qualifiedName: string): void;
521
+ removeAttributeNS(namespace: string, localName: string): void;
522
+ removeAttributeNode(attr: Attr): Attr;
523
+ requestFullscreen(options?: FullscreenOptions): Promise<void>;
524
+ requestPointerLock(): void;
525
+ scroll(options?: ScrollToOptions): void;
526
+ scroll(x: number, y: number): void;
527
+ scrollBy(options?: ScrollToOptions): void;
528
+ scrollBy(x: number, y: number): void;
529
+ scrollIntoView(arg?: boolean | ScrollIntoViewOptions): void;
530
+ scrollTo(options?: ScrollToOptions): void;
531
+ scrollTo(x: number, y: number): void;
532
+ setAttribute(qualifiedName: string, value: string): void;
533
+ setAttributeNS(namespace: string, qualifiedName: string, value: string): void;
534
+ setAttributeNode(attr: Attr): Attr;
535
+ setAttributeNodeNS(attr: Attr): Attr;
536
+ setPointerCapture(pointerId: number): void;
537
+ toggleAttribute(qualifiedName: string, force?: boolean): boolean;
538
+ webkitMatchesSelector(selectors: string): boolean;
539
+ readonly baseURI: string;
540
+ readonly childNodes: NodeListOf<ChildNode>;
541
+ readonly firstChild: ChildNode;
542
+ readonly isConnected: boolean;
543
+ readonly lastChild: ChildNode;
544
+ readonly nextSibling: ChildNode;
545
+ readonly nodeName: string;
546
+ readonly nodeType: number;
547
+ nodeValue: string;
548
+ readonly parentElement: HTMLElement;
549
+ readonly parentNode: ParentNode;
550
+ readonly previousSibling: ChildNode;
551
+ textContent: string;
552
+ appendChild<T extends Node>(node: T): T;
553
+ cloneNode(deep?: boolean): Node;
554
+ compareDocumentPosition(other: Node): number;
555
+ contains(other: Node): boolean;
556
+ getRootNode(options?: GetRootNodeOptions): Node;
557
+ hasChildNodes(): boolean;
558
+ insertBefore<T_1 extends Node>(node: T_1, child: Node): T_1;
559
+ isDefaultNamespace(namespace: string): boolean;
560
+ isEqualNode(otherNode: Node): boolean;
561
+ isSameNode(otherNode: Node): boolean;
562
+ lookupNamespaceURI(prefix: string): string;
563
+ lookupPrefix(namespace: string): string;
564
+ normalize(): void;
565
+ removeChild<T_2 extends Node>(child: T_2): T_2;
566
+ replaceChild<T_3 extends Node>(node: Node, child: T_3): T_3;
567
+ readonly ATTRIBUTE_NODE: number;
568
+ readonly CDATA_SECTION_NODE: number;
569
+ readonly COMMENT_NODE: number;
570
+ readonly DOCUMENT_FRAGMENT_NODE: number;
571
+ readonly DOCUMENT_NODE: number;
572
+ readonly DOCUMENT_POSITION_CONTAINED_BY: number;
573
+ readonly DOCUMENT_POSITION_CONTAINS: number;
574
+ readonly DOCUMENT_POSITION_DISCONNECTED: number;
575
+ readonly DOCUMENT_POSITION_FOLLOWING: number;
576
+ readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: number;
577
+ readonly DOCUMENT_POSITION_PRECEDING: number;
578
+ readonly DOCUMENT_TYPE_NODE: number;
579
+ readonly ELEMENT_NODE: number;
580
+ readonly ENTITY_NODE: number;
581
+ readonly ENTITY_REFERENCE_NODE: number;
582
+ readonly NOTATION_NODE: number;
583
+ readonly PROCESSING_INSTRUCTION_NODE: number;
584
+ readonly TEXT_NODE: number;
585
+ dispatchEvent(event: Event): boolean;
586
+ ariaAtomic: string;
587
+ ariaAutoComplete: string;
588
+ ariaBusy: string;
589
+ ariaChecked: string;
590
+ ariaColCount: string;
591
+ ariaColIndex: string;
592
+ ariaColIndexText: string;
593
+ ariaColSpan: string;
594
+ ariaCurrent: string;
595
+ ariaDisabled: string;
596
+ ariaExpanded: string;
597
+ ariaHasPopup: string;
598
+ ariaHidden: string;
599
+ ariaInvalid: string;
600
+ ariaKeyShortcuts: string;
601
+ ariaLabel: string;
602
+ ariaLevel: string;
603
+ ariaLive: string;
604
+ ariaModal: string;
605
+ ariaMultiLine: string;
606
+ ariaMultiSelectable: string;
607
+ ariaOrientation: string;
608
+ ariaPlaceholder: string;
609
+ ariaPosInSet: string;
610
+ ariaPressed: string;
611
+ ariaReadOnly: string;
612
+ ariaRequired: string;
613
+ ariaRoleDescription: string;
614
+ ariaRowCount: string;
615
+ ariaRowIndex: string;
616
+ ariaRowIndexText: string;
617
+ ariaRowSpan: string;
618
+ ariaSelected: string;
619
+ ariaSetSize: string;
620
+ ariaSort: string;
621
+ ariaValueMax: string;
622
+ ariaValueMin: string;
623
+ ariaValueNow: string;
624
+ ariaValueText: string;
625
+ role: string;
626
+ animate(keyframes: Keyframe[] | PropertyIndexedKeyframes, options?: number | KeyframeAnimationOptions): Animation;
627
+ getAnimations(options?: GetAnimationsOptions): Animation[];
628
+ after(...nodes: (string | Node)[]): void;
629
+ before(...nodes: (string | Node)[]): void;
630
+ remove(): void;
631
+ replaceWith(...nodes: (string | Node)[]): void;
632
+ innerHTML: string;
633
+ readonly nextElementSibling: Element;
634
+ readonly previousElementSibling: Element;
635
+ readonly childElementCount: number;
636
+ readonly children: HTMLCollection;
637
+ readonly firstElementChild: Element;
638
+ readonly lastElementChild: Element;
639
+ append(...nodes: (string | Node)[]): void;
640
+ prepend(...nodes: (string | Node)[]): void;
641
+ querySelector<K_6 extends keyof HTMLElementTagNameMap>(selectors: K_6): HTMLElementTagNameMap[K_6];
642
+ querySelector<K_7 extends keyof SVGElementTagNameMap>(selectors: K_7): SVGElementTagNameMap[K_7];
643
+ querySelector<E_1 extends Element = Element>(selectors: string): E_1;
644
+ querySelectorAll<K_8 extends keyof HTMLElementTagNameMap>(selectors: K_8): NodeListOf<HTMLElementTagNameMap[K_8]>;
645
+ querySelectorAll<K_9 extends keyof SVGElementTagNameMap>(selectors: K_9): NodeListOf<SVGElementTagNameMap[K_9]>;
646
+ querySelectorAll<E_2 extends Element = Element>(selectors: string): NodeListOf<E_2>;
647
+ replaceChildren(...nodes: (string | Node)[]): void;
648
+ readonly assignedSlot: HTMLSlotElement;
649
+ oncopy: (this: DocumentAndElementEventHandlers, ev: ClipboardEvent) => any;
650
+ oncut: (this: DocumentAndElementEventHandlers, ev: ClipboardEvent) => any;
651
+ onpaste: (this: DocumentAndElementEventHandlers, ev: ClipboardEvent) => any;
652
+ readonly style: CSSStyleDeclaration;
653
+ contentEditable: string;
654
+ enterKeyHint: string;
655
+ inputMode: string;
656
+ readonly isContentEditable: boolean;
657
+ onabort: (this: GlobalEventHandlers, ev: UIEvent) => any;
658
+ onanimationcancel: (this: GlobalEventHandlers, ev: AnimationEvent) => any;
659
+ onanimationend: (this: GlobalEventHandlers, ev: AnimationEvent) => any;
660
+ onanimationiteration: (this: GlobalEventHandlers, ev: AnimationEvent) => any;
661
+ onanimationstart: (this: GlobalEventHandlers, ev: AnimationEvent) => any;
662
+ onauxclick: (this: GlobalEventHandlers, ev: MouseEvent) => any;
663
+ onbeforeinput: (this: GlobalEventHandlers, ev: InputEvent) => any;
664
+ onblur: (this: GlobalEventHandlers, ev: FocusEvent) => any;
665
+ oncancel: (this: GlobalEventHandlers, ev: Event) => any;
666
+ oncanplay: (this: GlobalEventHandlers, ev: Event) => any;
667
+ oncanplaythrough: (this: GlobalEventHandlers, ev: Event) => any;
668
+ onchange: (this: GlobalEventHandlers, ev: Event) => any;
669
+ onclick: (this: GlobalEventHandlers, ev: MouseEvent) => any;
670
+ onclose: (this: GlobalEventHandlers, ev: Event) => any;
671
+ oncontextmenu: (this: GlobalEventHandlers, ev: MouseEvent) => any;
672
+ oncuechange: (this: GlobalEventHandlers, ev: Event) => any;
673
+ ondblclick: (this: GlobalEventHandlers, ev: MouseEvent) => any;
674
+ ondrag: (this: GlobalEventHandlers, ev: DragEvent) => any;
675
+ ondragend: (this: GlobalEventHandlers, ev: DragEvent) => any;
676
+ ondragenter: (this: GlobalEventHandlers, ev: DragEvent) => any;
677
+ ondragleave: (this: GlobalEventHandlers, ev: DragEvent) => any;
678
+ ondragover: (this: GlobalEventHandlers, ev: DragEvent) => any;
679
+ ondragstart: (this: GlobalEventHandlers, ev: DragEvent) => any;
680
+ ondrop: (this: GlobalEventHandlers, ev: DragEvent) => any;
681
+ ondurationchange: (this: GlobalEventHandlers, ev: Event) => any;
682
+ onemptied: (this: GlobalEventHandlers, ev: Event) => any;
683
+ onended: (this: GlobalEventHandlers, ev: Event) => any;
684
+ onerror: OnErrorEventHandlerNonNull;
685
+ onfocus: (this: GlobalEventHandlers, ev: FocusEvent) => any;
686
+ onformdata: (this: GlobalEventHandlers, ev: FormDataEvent) => any;
687
+ ongotpointercapture: (this: GlobalEventHandlers, ev: PointerEvent) => any;
688
+ oninput: (this: GlobalEventHandlers, ev: Event) => any;
689
+ oninvalid: (this: GlobalEventHandlers, ev: Event) => any;
690
+ onkeydown: (this: GlobalEventHandlers, ev: KeyboardEvent) => any;
691
+ onkeypress: (this: GlobalEventHandlers, ev: KeyboardEvent) => any;
692
+ onkeyup: (this: GlobalEventHandlers, ev: KeyboardEvent) => any;
693
+ onload: (this: GlobalEventHandlers, ev: Event) => any;
694
+ onloadeddata: (this: GlobalEventHandlers, ev: Event) => any;
695
+ onloadedmetadata: (this: GlobalEventHandlers, ev: Event) => any;
696
+ onloadstart: (this: GlobalEventHandlers, ev: Event) => any;
697
+ onlostpointercapture: (this: GlobalEventHandlers, ev: PointerEvent) => any;
698
+ onmousedown: (this: GlobalEventHandlers, ev: MouseEvent) => any;
699
+ onmouseenter: (this: GlobalEventHandlers, ev: MouseEvent) => any;
700
+ onmouseleave: (this: GlobalEventHandlers, ev: MouseEvent) => any;
701
+ onmousemove: (this: GlobalEventHandlers, ev: MouseEvent) => any;
702
+ onmouseout: (this: GlobalEventHandlers, ev: MouseEvent) => any;
703
+ onmouseover: (this: GlobalEventHandlers, ev: MouseEvent) => any;
704
+ onmouseup: (this: GlobalEventHandlers, ev: MouseEvent) => any;
705
+ onpause: (this: GlobalEventHandlers, ev: Event) => any;
706
+ onplay: (this: GlobalEventHandlers, ev: Event) => any;
707
+ onplaying: (this: GlobalEventHandlers, ev: Event) => any;
708
+ onpointercancel: (this: GlobalEventHandlers, ev: PointerEvent) => any;
709
+ onpointerdown: (this: GlobalEventHandlers, ev: PointerEvent) => any;
710
+ onpointerenter: (this: GlobalEventHandlers, ev: PointerEvent) => any;
711
+ onpointerleave: (this: GlobalEventHandlers, ev: PointerEvent) => any;
712
+ onpointermove: (this: GlobalEventHandlers, ev: PointerEvent) => any;
713
+ onpointerout: (this: GlobalEventHandlers, ev: PointerEvent) => any;
714
+ onpointerover: (this: GlobalEventHandlers, ev: PointerEvent) => any;
715
+ onpointerup: (this: GlobalEventHandlers, ev: PointerEvent) => any;
716
+ onprogress: (this: GlobalEventHandlers, ev: ProgressEvent<EventTarget>) => any;
717
+ onratechange: (this: GlobalEventHandlers, ev: Event) => any;
718
+ onreset: (this: GlobalEventHandlers, ev: Event) => any;
719
+ onresize: (this: GlobalEventHandlers, ev: UIEvent) => any;
720
+ onscroll: (this: GlobalEventHandlers, ev: Event) => any;
721
+ onsecuritypolicyviolation: (this: GlobalEventHandlers, ev: SecurityPolicyViolationEvent) => any;
722
+ onseeked: (this: GlobalEventHandlers, ev: Event) => any;
723
+ onseeking: (this: GlobalEventHandlers, ev: Event) => any;
724
+ onselect: (this: GlobalEventHandlers, ev: Event) => any;
725
+ onselectionchange: (this: GlobalEventHandlers, ev: Event) => any;
726
+ onselectstart: (this: GlobalEventHandlers, ev: Event) => any;
727
+ onslotchange: (this: GlobalEventHandlers, ev: Event) => any;
728
+ onstalled: (this: GlobalEventHandlers, ev: Event) => any;
729
+ onsubmit: (this: GlobalEventHandlers, ev: SubmitEvent) => any;
730
+ onsuspend: (this: GlobalEventHandlers, ev: Event) => any;
731
+ ontimeupdate: (this: GlobalEventHandlers, ev: Event) => any;
732
+ ontoggle: (this: GlobalEventHandlers, ev: Event) => any;
733
+ ontouchcancel?: (this: GlobalEventHandlers, ev: TouchEvent) => any;
734
+ ontouchend?: (this: GlobalEventHandlers, ev: TouchEvent) => any;
735
+ ontouchmove?: (this: GlobalEventHandlers, ev: TouchEvent) => any;
736
+ ontouchstart?: (this: GlobalEventHandlers, ev: TouchEvent) => any;
737
+ ontransitioncancel: (this: GlobalEventHandlers, ev: TransitionEvent) => any;
738
+ ontransitionend: (this: GlobalEventHandlers, ev: TransitionEvent) => any;
739
+ ontransitionrun: (this: GlobalEventHandlers, ev: TransitionEvent) => any;
740
+ ontransitionstart: (this: GlobalEventHandlers, ev: TransitionEvent) => any;
741
+ onvolumechange: (this: GlobalEventHandlers, ev: Event) => any;
742
+ onwaiting: (this: GlobalEventHandlers, ev: Event) => any;
743
+ onwebkitanimationend: (this: GlobalEventHandlers, ev: Event) => any;
744
+ onwebkitanimationiteration: (this: GlobalEventHandlers, ev: Event) => any;
745
+ onwebkitanimationstart: (this: GlobalEventHandlers, ev: Event) => any;
746
+ onwebkittransitionend: (this: GlobalEventHandlers, ev: Event) => any;
747
+ onwheel: (this: GlobalEventHandlers, ev: WheelEvent) => any;
748
+ autofocus: boolean;
749
+ readonly dataset: DOMStringMap;
750
+ nonce?: string;
751
+ tabIndex: number;
752
+ blur(): void;
753
+ focus(options?: FocusOptions): void;
754
+ readonly $fastController: Controller;
755
+ $emit(type: string, detail?: any, options?: Omit<CustomEventInit<any>, "detail">): boolean | void;
756
+ attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
757
+ };
758
+ };
759
+
760
+ // @public
761
+ export interface DatasourceMetadata {
762
+ // (undocumented)
763
+ readonly availableIndexes: IndexDetail[];
764
+ // (undocumented)
765
+ fetchMetadataRequired: boolean;
766
+ // (undocumented)
767
+ readonly fieldMetadata: FieldMetadata[];
768
+ // (undocumented)
769
+ readonly originalFieldDef: MetadataDetail[];
770
+ // (undocumented)
771
+ readonly requestFields: MetadataDetail[];
772
+ }
773
+
423
774
  // Warning: (ae-internal-missing-underscore) The name "DatasourceMock" should be prefixed with an underscore because the declaration is marked as @internal
424
775
  //
425
776
  // @internal (undocumented)
@@ -427,6 +778,8 @@ export class DatasourceMock implements Datasource {
427
778
  // (undocumented)
428
779
  addView?(view: Dataview): void;
429
780
  // (undocumented)
781
+ availableIndexes: IndexDetail[];
782
+ // (undocumented)
430
783
  clearFilter?(name: string): Promise<void>;
431
784
  // (undocumented)
432
785
  createItem?(data: any): Promise<string>;
@@ -441,6 +794,10 @@ export class DatasourceMock implements Datasource {
441
794
  // (undocumented)
442
795
  dropView?(view: Dataview): void;
443
796
  // (undocumented)
797
+ protected fetchingMetadata: boolean;
798
+ // (undocumented)
799
+ fetchMetadataRequired: boolean;
800
+ // (undocumented)
444
801
  fieldMetadata: FieldMetadata[];
445
802
  // (undocumented)
446
803
  getMetadata?(resourceName: string): Promise<FieldMetadata[]>;
@@ -449,18 +806,30 @@ export class DatasourceMock implements Datasource {
449
806
  // (undocumented)
450
807
  initialized: boolean;
451
808
  // (undocumented)
809
+ originalFieldDef: MetadataDetail[];
810
+ // (undocumented)
452
811
  readOnly: boolean;
453
812
  // (undocumented)
813
+ requestFields: MetadataDetail[];
814
+ // (undocumented)
454
815
  resourceType: ResourceType;
455
816
  // (undocumented)
456
817
  setFilter?(name: string, value: any, type?: string): Promise<void>;
818
+ setMetadata(meta: Metadata): void;
819
+ setStream(message: Message): void;
457
820
  // (undocumented)
458
821
  snapshot(params?: any): void;
459
822
  // (undocumented)
460
823
  snapshotFiltered(rowId?: string): void;
461
824
  // (undocumented)
825
+ status: DatasourceStatus;
826
+ // (undocumented)
462
827
  stream: SocketObservable<FilteredDataServerResult | RequestServerResult>;
463
828
  // (undocumented)
829
+ unsetMedata(): void;
830
+ // (undocumented)
831
+ unsetStream(): void;
832
+ // (undocumented)
464
833
  updateData?(data: any[]): Promise<void>;
465
834
  // (undocumented)
466
835
  updateItem?(itemId: string, data: any): Promise<void>;
@@ -484,6 +853,21 @@ export interface DatasourceOptions {
484
853
  reverse?: boolean;
485
854
  }
486
855
 
856
+ // @public
857
+ export type DatasourceStatus = {
858
+ name: string;
859
+ type: `${ResourceType}`;
860
+ isInitialized: boolean;
861
+ metadataRequired: boolean;
862
+ hasMetadata: boolean;
863
+ };
864
+
865
+ // @public
866
+ export const DatasourceStatusChanged = "datasource-status-changed";
867
+
868
+ // @public
869
+ export type DatasourceStatusChangedEvent = CustomEvent<DatasourceStatus>;
870
+
487
871
  // @public
488
872
  export interface DataUpdate {
489
873
  // (undocumented)
@@ -529,13 +913,13 @@ export class DefaultConnect implements Connect {
529
913
  // (undocumented)
530
914
  commitEvent(eventName: string, params?: CommitParams): Promise<Message>;
531
915
  // (undocumented)
532
- connect(host: string): Promise<boolean>;
916
+ connect(host?: string): Promise<boolean>;
533
917
  // (undocumented)
534
918
  dataLogoff(streamSourceRef: string): Promise<Message>;
535
919
  // (undocumented)
536
920
  disconnect(): void;
537
921
  // (undocumented)
538
- getAvailableResources(params?: any): Promise<Message>;
922
+ getAvailableResources(params?: any): Promise<ResourcesMessage>;
539
923
  // (undocumented)
540
924
  getJSONSchema(resourceName: string, useCache?: boolean): Promise<SchemaResponse>;
541
925
  // (undocumented)
@@ -545,6 +929,8 @@ export class DefaultConnect implements Connect {
545
929
  // (undocumented)
546
930
  getMoreRows(sourceRef: string): Promise<Message>;
547
931
  // (undocumented)
932
+ get host(): string;
933
+ // (undocumented)
548
934
  httpMode(): boolean;
549
935
  // (undocumented)
550
936
  get isConnected$(): Observable<boolean>;
@@ -684,11 +1070,11 @@ export const defaultCredentialRequestOptions: GetCredentialOptions;
684
1070
 
685
1071
  // @public
686
1072
  export class DefaultDatasource implements Datasource {
687
- constructor(connect: Connect, auth: Auth, config?: DatasourceConfig);
1073
+ constructor(connect: Connect, auth: Auth, resources: GenesisResources, config: DatasourceConfig);
688
1074
  // (undocumented)
689
1075
  protected auth: Auth;
690
1076
  // (undocumented)
691
- protected availableIndexes: IndexDetail[];
1077
+ availableIndexes: IndexDetail[];
692
1078
  // (undocumented)
693
1079
  protected config: DatasourceConfig;
694
1080
  // (undocumented)
@@ -700,32 +1086,46 @@ export class DefaultDatasource implements Datasource {
700
1086
  // (undocumented)
701
1087
  destroy(): void;
702
1088
  // (undocumented)
1089
+ protected fetchAndApplyMetadata(resourceName: string): Promise<void>;
1090
+ // (undocumented)
1091
+ fetchMetadataRequired: boolean;
1092
+ // (undocumented)
703
1093
  fieldMetadata: FieldMetadata[];
704
1094
  // (undocumented)
705
1095
  init(options: DatasourceOptions, fetchMeta?: boolean): Promise<boolean>;
1096
+ // Warning: (ae-unresolved-inheritdoc-reference) The @inheritDoc reference could not be resolved: The reference is ambiguous because "Datasource" has more than one declaration; you need to add a TSDoc member reference selector
1097
+ //
706
1098
  // (undocumented)
707
- initialized: boolean;
1099
+ get initialized(): boolean;
1100
+ // @internal (undocumented)
1101
+ protected normaliseStatus(status: Partial<DatasourceStatus>): DatasourceStatus;
708
1102
  // (undocumented)
709
1103
  protected options: DatasourceOptions;
710
1104
  // (undocumented)
711
- protected originalFieldDef: MetadataDetail[];
1105
+ originalFieldDef: MetadataDetail[];
712
1106
  // (undocumented)
713
1107
  get params(): any;
714
1108
  // (undocumented)
715
1109
  readOnly: boolean;
1110
+ // @internal (undocumented)
1111
+ protected reportStatus(detail?: Partial<DatasourceStatus>): void;
1112
+ // (undocumented)
1113
+ requestFields: MetadataDetail[];
716
1114
  // (undocumented)
717
- protected requestFields: MetadataDetail[];
1115
+ protected resources: GenesisResources;
718
1116
  // (undocumented)
719
1117
  resourceType: ResourceType;
720
1118
  // (undocumented)
721
1119
  snapshot(): Promise<Message>;
722
1120
  // (undocumented)
723
1121
  snapshotFiltered(rowId?: string): Promise<any[]>;
1122
+ // Warning: (ae-unresolved-inheritdoc-reference) The @inheritDoc reference could not be resolved: The reference is ambiguous because "Datasource" has more than one declaration; you need to add a TSDoc member reference selector
1123
+ //
724
1124
  // (undocumented)
725
- get stream(): SocketObservable<FilteredDataServerResult | RequestServerResult>;
726
- // (undocumented)
727
- protected _stream: SocketObservable<FilteredDataServerResult | RequestServerResult>;
1125
+ status: DatasourceStatus;
728
1126
  // (undocumented)
1127
+ stream: SocketObservable<FilteredDataServerResult | RequestServerResult>;
1128
+ // @deprecated (undocumented)
729
1129
  validResourceName(resourceName: string): boolean;
730
1130
  }
731
1131
 
@@ -750,10 +1150,13 @@ export class DefaultEntityDatasource<TDTO, TEntity> extends DefaultDatasource im
750
1150
  //
751
1151
  // (undocumented)
752
1152
  initialize: (init: EntityDatasourceInit<TDTO, TEntity>) => Promise<boolean>;
1153
+ // (undocumented)
1154
+ get initialized(): boolean;
1155
+ set initialized(value: boolean);
753
1156
  // Warning: (ae-unresolved-inheritdoc-reference) The @inheritDoc reference could not be resolved: The reference is ambiguous because "EntityDatasource" has more than one declaration; you need to add a TSDoc member reference selector
754
1157
  //
755
1158
  // (undocumented)
756
- initialized: boolean;
1159
+ protected _initialized: boolean;
757
1160
  // Warning: (ae-unresolved-inheritdoc-reference) The @inheritDoc reference could not be resolved: The reference is ambiguous because "EntityDatasource" has more than one declaration; you need to add a TSDoc member reference selector
758
1161
  //
759
1162
  // (undocumented)
@@ -785,6 +1188,38 @@ export class DefaultFoundationAnalytics implements FoundationAnalytics {
785
1188
  trackEvent(eventName: FoundationAnalyticsEventType.routeChanged, payload: FoundationAnalyticsEvent.RouteChanged): void;
786
1189
  }
787
1190
 
1191
+ // @public
1192
+ export class DefaultGenesisResources implements GenesisResources {
1193
+ constructor(connect: Connect, config: GenesisResourcesConfig);
1194
+ // (undocumented)
1195
+ protected config: GenesisResourcesConfig;
1196
+ // (undocumented)
1197
+ protected connect: Connect;
1198
+ // Warning: (ae-unresolved-inheritdoc-reference) The @inheritDoc reference could not be resolved: The reference is ambiguous because "GenesisResources" has more than one declaration; you need to add a TSDoc member reference selector
1199
+ //
1200
+ // (undocumented)
1201
+ destroy(): void;
1202
+ // (undocumented)
1203
+ protected getResources(): Promise<void>;
1204
+ // Warning: (ae-unresolved-inheritdoc-reference) The @inheritDoc reference could not be resolved: The reference is ambiguous because "GenesisResources" has more than one declaration; you need to add a TSDoc member reference selector
1205
+ //
1206
+ // (undocumented)
1207
+ getResourceTypeFor(resourceName: string): Promise<ResourceType>;
1208
+ // Warning: (ae-unresolved-inheritdoc-reference) The @inheritDoc reference could not be resolved: The reference is ambiguous because "GenesisResources" has more than one declaration; you need to add a TSDoc member reference selector
1209
+ //
1210
+ // (undocumented)
1211
+ isValidResource(resourceName: string): Promise<boolean>;
1212
+ // (undocumented)
1213
+ protected postLoadedMessage(): void;
1214
+ // (undocumented)
1215
+ protected resources: ResourceItem[];
1216
+ // (undocumented)
1217
+ protected resourcesPromise: Promise<ResourcesMessage>;
1218
+ }
1219
+
1220
+ // @public
1221
+ export const defaultGenesisResourcesConfig: GenesisResourcesConfig;
1222
+
788
1223
  // @public
789
1224
  export class DefaultHttp implements Http {
790
1225
  constructor(serializer: JSONSerializer);
@@ -807,7 +1242,7 @@ export class DefaultHttpConnect implements Connect {
807
1242
  // (undocumented)
808
1243
  disconnect(): void;
809
1244
  // (undocumented)
810
- getAvailableResources(params?: any): Promise<Message>;
1245
+ getAvailableResources(params?: any): Promise<ResourcesMessage>;
811
1246
  // (undocumented)
812
1247
  getJSONSchema(resourceName: string): Promise<SchemaResponse>;
813
1248
  // (undocumented)
@@ -1033,13 +1468,17 @@ export class DefaultSession implements Session {
1033
1468
  // @public
1034
1469
  export class DefaultSocket implements Socket {
1035
1470
  constructor(messageBuilder: MessageBuilder, session: Session, serializer: JSONSerializer, uuid: UUID, status: SocketStatus,
1036
- user: User_2);
1471
+ user: User_2, config: ConnectConfig);
1472
+ // (undocumented)
1473
+ protected config: ConnectConfig;
1037
1474
  // (undocumented)
1038
- connect(host: string, connectOptions?: SocketConnectOptions, reconnectOptions?: SocketReconnectOptions): Promise<boolean>;
1475
+ connect(host?: string, connectOptions?: SocketConnectOptions, reconnectOptions?: SocketReconnectOptions): Promise<boolean>;
1039
1476
  // (undocumented)
1040
1477
  get hasValidSession(): boolean;
1041
1478
  set hasValidSession(value: boolean);
1042
1479
  // (undocumented)
1480
+ get host(): string;
1481
+ // (undocumented)
1043
1482
  get isConfigured(): boolean;
1044
1483
  // (undocumented)
1045
1484
  get isConnected(): boolean;
@@ -1109,7 +1548,7 @@ export class DefaultSocketStatus implements SocketStatus {
1109
1548
  // Warning: (ae-internal-mixed-release-tag) Mixed release tags are not allowed for "EntityDatasource" because one of its declarations is marked as @internal
1110
1549
  //
1111
1550
  // @alpha
1112
- export interface EntityDatasource<TDTO, TEntity> {
1551
+ export interface EntityDatasource<TDTO, TEntity> extends Datasource {
1113
1552
  // (undocumented)
1114
1553
  readonly cache: TEntity[];
1115
1554
  // (undocumented)
@@ -1117,8 +1556,6 @@ export interface EntityDatasource<TDTO, TEntity> {
1117
1556
  // (undocumented)
1118
1557
  initialize(init: EntityDatasourceInit<TDTO, TEntity>): Promise<boolean>;
1119
1558
  // (undocumented)
1120
- readonly initialized: boolean;
1121
- // (undocumented)
1122
1559
  readonly isEmpty: boolean;
1123
1560
  }
1124
1561
 
@@ -1160,7 +1597,11 @@ export enum EventMessageType {
1160
1597
  // (undocumented)
1161
1598
  META_REQUEST = "META_REQUEST",
1162
1599
  // (undocumented)
1163
- RESOURCES_REQUEST = "RESOURCES_REQUEST"
1600
+ RESOURCES_REQUEST = "RESOURCES_REQUEST",
1601
+ // (undocumented)
1602
+ RESOURCES_REQUEST_ACK = "RESOURCES_REQUEST_ACK",
1603
+ // (undocumented)
1604
+ RESOURCES_REQUEST_NACK = "RESOURCES_REQUEST_NACK"
1164
1605
  }
1165
1606
 
1166
1607
  // @public
@@ -1244,6 +1685,67 @@ export enum FoundationAnalyticsEventType {
1244
1685
  // @public
1245
1686
  export type GenesisConnectEvents = 'stream' | 'commit';
1246
1687
 
1688
+ // Warning: (ae-internal-mixed-release-tag) Mixed release tags are not allowed for "GenesisResources" because one of its declarations is marked as @internal
1689
+ //
1690
+ // @public
1691
+ export interface GenesisResources {
1692
+ destroy: () => void;
1693
+ getResourceTypeFor: (resourceName: string) => Promise<ResourceType>;
1694
+ isValidResource: (resourceName: string) => Promise<boolean>;
1695
+ }
1696
+
1697
+ // @internal
1698
+ export const GenesisResources: InterfaceSymbol<GenesisResources>;
1699
+
1700
+ // Warning: (ae-internal-mixed-release-tag) Mixed release tags are not allowed for "GenesisResourcesChannel" because one of its declarations is marked as @internal
1701
+ //
1702
+ // @public
1703
+ export interface GenesisResourcesChannel extends TypedBroadcastChannel<GenesisResourcesEvents> {
1704
+ }
1705
+
1706
+ // @internal
1707
+ export const GenesisResourcesChannel: InterfaceSymbol<TypedBroadcastChannel<GenesisResourcesEvents>>;
1708
+
1709
+ // @public (undocumented)
1710
+ export const GenesisResourcesChannelId = "genesis-resources";
1711
+
1712
+ // Warning: (ae-internal-mixed-release-tag) Mixed release tags are not allowed for "GenesisResourcesConfig" because one of its declarations is marked as @internal
1713
+ //
1714
+ // @public
1715
+ export interface GenesisResourcesConfig {
1716
+ throwWhenUnavailable?: boolean;
1717
+ throwWhenUnknown?: boolean;
1718
+ }
1719
+
1720
+ // @internal
1721
+ export const GenesisResourcesConfig: InterfaceSymbol<GenesisResourcesConfig>;
1722
+
1723
+ // @public (undocumented)
1724
+ export type GenesisResourcesEvents = {
1725
+ 'resources-loaded': ResourceItem[];
1726
+ 'resources-unloaded': void;
1727
+ };
1728
+
1729
+ // @public (undocumented)
1730
+ export class GenesisResourcesMock implements GenesisResources {
1731
+ // (undocumented)
1732
+ destroy(): void;
1733
+ // Warning: (ae-unresolved-inheritdoc-reference) The @inheritDoc reference could not be resolved: The reference is ambiguous because "GenesisResources" has more than one declaration; you need to add a TSDoc member reference selector
1734
+ //
1735
+ // (undocumented)
1736
+ getResourceTypeFor(resourceName: string): Promise<ResourceType>;
1737
+ // Warning: (ae-unresolved-inheritdoc-reference) The @inheritDoc reference could not be resolved: The reference is ambiguous because "GenesisResources" has more than one declaration; you need to add a TSDoc member reference selector
1738
+ //
1739
+ // (undocumented)
1740
+ isValidResource(resourceName: string): Promise<boolean>;
1741
+ // (undocumented)
1742
+ nextIsValidResourceResponse: boolean;
1743
+ // (undocumented)
1744
+ nextResourceTypeForResponse: ResourceType;
1745
+ // (undocumented)
1746
+ resources: ResourceItem[];
1747
+ }
1748
+
1247
1749
  // @public
1248
1750
  export function getConnect(): Connect;
1249
1751
 
@@ -1253,6 +1755,12 @@ export type GetCredentialOptions = CredentialRequestOptions & {};
1253
1755
  // @public
1254
1756
  export function getDatasource(): Datasource;
1255
1757
 
1758
+ // @public
1759
+ export function getGenesisResources(): GenesisResources;
1760
+
1761
+ // @public
1762
+ export function getGenesisResourcesChannel(): GenesisResourcesChannel;
1763
+
1256
1764
  // Warning: (ae-incompatible-release-tags) The symbol "getKVStorage" is marked as @public, but its signature references "KVStorage" which is marked as @alpha
1257
1765
  //
1258
1766
  // @public
@@ -1769,6 +2277,19 @@ export type ResourceHealth = MonitoredResourceChecksResult & {
1769
2277
  lastError?: any;
1770
2278
  };
1771
2279
 
2280
+ // @public (undocumented)
2281
+ export type ResourceItem = {
2282
+ RESOURCE_NAME: string;
2283
+ RESOURCE_TYPE: string;
2284
+ };
2285
+
2286
+ // @public (undocumented)
2287
+ export type ResourcesMessage = {
2288
+ MESSAGE_TYPE: EventMessageType.RESOURCES_REQUEST_ACK | EventMessageType.RESOURCES_REQUEST_NACK | MessageType.MSG_NACK;
2289
+ SOURCE_REF: string;
2290
+ RESOURCES: ResourceItem[];
2291
+ };
2292
+
1772
2293
  // @public
1773
2294
  export enum ResourceType {
1774
2295
  // (undocumented)
@@ -1910,6 +2431,8 @@ export class SessionMock implements Session {
1910
2431
  export interface Socket extends Omit<SocketStatus, 'serialize' | 'onClose' | 'reconnectionLimitReached' | 'closedCode' | 'closedReason' | 'closedClean'> {
1911
2432
  // (undocumented)
1912
2433
  connect(host: string, options?: SocketConnectOptions, reconnectOptions?: SocketReconnectOptions): Promise<boolean>;
2434
+ // (undocumented)
2435
+ host: string;
1913
2436
  reset(): void;
1914
2437
  // (undocumented)
1915
2438
  send<T>(message: Message<T | any>, needsHandling?: boolean): Promise<Message | any>;
@@ -1958,6 +2481,8 @@ export class SocketMock implements Socket {
1958
2481
  // (undocumented)
1959
2482
  hasValidSession: boolean;
1960
2483
  // (undocumented)
2484
+ host: string;
2485
+ // (undocumented)
1961
2486
  isConfigured: boolean;
1962
2487
  // (undocumented)
1963
2488
  isConnected: boolean;
@@ -2168,7 +2693,7 @@ export const WSConnect: InterfaceSymbol<Connect>;
2168
2693
 
2169
2694
  // Warnings were encountered during analysis:
2170
2695
  //
2171
- // src/connect/message.ts:286:3 - (ae-forgotten-export) The symbol "RESOURCE_DETAILS" needs to be exported by the entry point index.d.ts
2696
+ // src/connect/message.ts:289:3 - (ae-forgotten-export) The symbol "RESOURCE_DETAILS" needs to be exported by the entry point index.d.ts
2172
2697
 
2173
2698
  // (No @packageDocumentation comment for this package)
2174
2699