@genesislcap/foundation-comms 14.187.1 → 14.188.0-FUI-2012-tabulator.1

Sign up to get free protection for your applications and to get access to all the features.
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