@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
@@ -0,0 +1,69 @@
1
+ import { Connect, ResourcesMessage } from '../../connect';
2
+ import type { ResourceType } from '../../datasource';
3
+ import { GenesisResourcesConfig } from './config';
4
+ import type { ResourceItem } from './types';
5
+ /**
6
+ * GenesisResources DI interface.
7
+ * @remarks
8
+ * A lazy shared Genesis Resources lookup system. N number of callers can request information in succession, but only
9
+ * the first will invoke the server request, and each caller will receive their results when that returns.
10
+ * @public
11
+ */
12
+ export interface GenesisResources {
13
+ /**
14
+ * Checks if the resource exists
15
+ * @param resourceName - The name of the resource to check.
16
+ */
17
+ isValidResource: (resourceName: string) => Promise<boolean>;
18
+ /**
19
+ * Gets the type of resource
20
+ * @param resourceName - The name of the resource to get the type for.
21
+ */
22
+ getResourceTypeFor: (resourceName: string) => Promise<ResourceType>;
23
+ /**
24
+ * Destroy and garbage collect
25
+ */
26
+ destroy: () => void;
27
+ }
28
+ /**
29
+ * Default GenesisResources implementation.
30
+ * @public
31
+ */
32
+ export declare class DefaultGenesisResources implements GenesisResources {
33
+ protected connect: Connect;
34
+ protected config: GenesisResourcesConfig;
35
+ protected resources: ResourceItem[];
36
+ protected resourcesPromise: Promise<ResourcesMessage>;
37
+ constructor(connect: Connect, config: GenesisResourcesConfig);
38
+ /** {@inheritDoc GenesisResources.isValidResource} */
39
+ isValidResource(resourceName: string): Promise<boolean>;
40
+ /** {@inheritDoc GenesisResources.getResourceTypeFor} */
41
+ getResourceTypeFor(resourceName: string): Promise<ResourceType>;
42
+ /** {@inheritDoc GenesisResources.destroy} */
43
+ destroy(): void;
44
+ protected getResources(): Promise<void>;
45
+ protected postLoadedMessage(): void;
46
+ }
47
+ /**
48
+ * GenesisResources DI key.
49
+ * @internal
50
+ * @privateRemarks
51
+ * Marked as internal to stop api-extractor becoming confused cross-linking tokens with the same name.
52
+ */
53
+ export declare const GenesisResources: import("@microsoft/fast-foundation").InterfaceSymbol<GenesisResources>;
54
+ /**
55
+ * Gets GenesisResources from the DI container.
56
+ *
57
+ * @remarks
58
+ * A utility method for host applications that are not using decorators or the DI container.
59
+ *
60
+ * @example
61
+ * ```ts
62
+ * import { getGenesisResources } from '@genesislcap/foundation-comms';
63
+ * ...
64
+ * const genesisResources = getGenesisResources();
65
+ * ```
66
+ * @public
67
+ */
68
+ export declare function getGenesisResources(): GenesisResources;
69
+ //# sourceMappingURL=genesis.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"genesis.d.ts","sourceRoot":"","sources":["../../../../src/resources/genesis/genesis.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,EAAE,sBAAsB,EAA8B,MAAM,UAAU,CAAC;AAC9E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,eAAe,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5D;;;OAGG;IACH,kBAAkB,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IACpE;;OAEG;IACH,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;;GAGG;AACH,qBAAa,uBAAwB,YAAW,gBAAgB;IAKnD,SAAS,CAAC,OAAO,EAAE,OAAO;IACX,SAAS,CAAC,MAAM,EAAE,sBAAsB;IALlE,SAAS,CAAC,SAAS,EAAE,YAAY,EAAE,CAAC;IACpC,SAAS,CAAC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;gBAGjC,OAAO,EAAE,OAAO,EACD,MAAM,EAAE,sBAAsB;IAGlE,qDAAqD;IAC/C,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAU7D,wDAAwD;IAClD,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAarE,6CAA6C;IAC7C,OAAO;cAKS,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAyB7C,SAAS,CAAC,iBAAiB;CAU5B;AAED;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,wEAE5B,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,IAAI,gBAAgB,CAEtD"}
@@ -0,0 +1,4 @@
1
+ export * from './config';
2
+ export * from './genesis';
3
+ export * from './types';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/resources/genesis/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * @public
3
+ */
4
+ export type ResourceItem = {
5
+ RESOURCE_NAME: string;
6
+ RESOURCE_TYPE: string;
7
+ };
8
+ /**
9
+ * @public
10
+ */
11
+ export declare const GenesisResourcesChannelId = "genesis-resources";
12
+ /**
13
+ * @public
14
+ */
15
+ export type GenesisResourcesEvents = {
16
+ 'resources-loaded': ResourceItem[];
17
+ 'resources-unloaded': void;
18
+ };
19
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/resources/genesis/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,yBAAyB,sBAAsB,CAAC;AAE7D;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC,kBAAkB,EAAE,YAAY,EAAE,CAAC;IACnC,oBAAoB,EAAE,IAAI,CAAC;CAC5B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './genesis';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/resources/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import type { User } from '@genesislcap/foundation-user';
2
+ import { SetUserProperties } from '@genesislcap/foundation-user/dist/esm';
2
3
  import type { Auth, AuthInfo, LoginResult, LogoutResult } from '../../../';
3
4
  /**
4
5
  * @internal
@@ -14,5 +15,7 @@ export declare class AuthMock implements Auth {
14
15
  login(credentials: AuthInfo): Promise<LoginResult>;
15
16
  logout(): Promise<LogoutResult>;
16
17
  reAuthFromSession(): Promise<boolean>;
18
+ setTestUser(properties?: Partial<SetUserProperties>): void;
19
+ resetTestUser(): void;
17
20
  }
18
21
  //# sourceMappingURL=auth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../../../src/testing/mocks/auth/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AAEzD,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE3E;;GAEG;AACH,qBAAa,QAAS,YAAW,IAAI;IACvB,SAAS,UAAS;IAClB,gBAAgB,EAAE,WAAW,CAAQ;IACrC,WAAW,EAAE,IAAI,CAAQ;IACzB,UAAU,EAAE,OAAO,CAAS;IAExC,eAAe,EAAE,WAAW,CAAC;IAC7B,gBAAgB,EAAE,YAAY,CAAC;IAC/B,gBAAgB,EAAE,OAAO,CAAC;IAEpB,KAAK,CAAC,WAAW,EAAE,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC;IAIlD,MAAM,IAAI,OAAO,CAAC,YAAY,CAAC;IAI/B,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC;CAG5C"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../../../src/testing/mocks/auth/auth.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAE1E,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE3E;;GAEG;AACH,qBAAa,QAAS,YAAW,IAAI;IACvB,SAAS,UAAS;IAClB,gBAAgB,EAAE,WAAW,CAAQ;IACrC,WAAW,EAAE,IAAI,CAAQ;IACzB,UAAU,EAAE,OAAO,CAAS;IAExC,eAAe,EAAE,WAAW,CAAC;IAC7B,gBAAgB,EAAE,YAAY,CAAC;IAC/B,gBAAgB,EAAE,OAAO,CAAC;IAEpB,KAAK,CAAC,WAAW,EAAE,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC;IAIlD,MAAM,IAAI,OAAO,CAAC,YAAY,CAAC;IAI/B,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC;IAI3C,WAAW,CAAC,UAAU,GAAE,OAAO,CAAC,iBAAiB,CAAM;IAWvD,aAAa;CAId"}
@@ -1,5 +1,5 @@
1
1
  import { BehaviorSubject, Observable } from 'rxjs';
2
- import type { CommitParams, Connect, Message, Metadata, RequestParams, SocketMock, SocketObservable } from '../../../';
2
+ import type { CommitParams, Connect, Message, Metadata, RequestParams, SocketMock, ResourcesMessage, SocketObservable } from '../../../';
3
3
  /**
4
4
  * @internal
5
5
  */
@@ -7,6 +7,7 @@ export declare class ConnectMock implements Connect {
7
7
  isConnected: boolean;
8
8
  isWorking: boolean;
9
9
  socket: SocketMock;
10
+ get host(): string;
10
11
  get isConnectedSubject(): BehaviorSubject<boolean>;
11
12
  get isConnected$(): Observable<boolean>;
12
13
  send<T>(message: Message<any>, needsHandling?: boolean): Promise<any>;
@@ -22,7 +23,7 @@ export declare class ConnectMock implements Connect {
22
23
  disconnect(): void;
23
24
  getMetadata(resourceName: string): Promise<Metadata>;
24
25
  request(resourceName: string, params?: RequestParams): Promise<Message>;
25
- getAvailableResources(params?: RequestParams): Promise<Message>;
26
+ getAvailableResources(params?: RequestParams): Promise<ResourcesMessage>;
26
27
  snapshot(resourceName: string, params?: any): Promise<Message>;
27
28
  stream(resourceName: string, onMessage: Function, onError: Function, params?: any): SocketObservable<Message>;
28
29
  streamState(resourceName: string, onMessage: Function, onError: Function, params?: any, initialState?: any[]): Observable<any[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../../../../src/testing/mocks/connect/connect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAQ,UAAU,EAAE,MAAM,MAAM,CAAC;AACzD,OAAO,KAAK,EACV,YAAY,EACZ,OAAO,EACP,OAAO,EACP,QAAQ,EACR,aAAa,EACb,UAAU,EACV,gBAAgB,EACjB,MAAM,WAAW,CAAC;AAEnB;;GAEG;AACH,qBAAa,WAAY,YAAW,OAAO;IACzC,WAAW,EAAE,OAAO,CAAQ;IAC5B,SAAS,EAAE,OAAO,CAAS;IAC3B,MAAM,EAAE,UAAU,CAAC;IAEnB,IAAI,kBAAkB,IAAI,eAAe,CAAC,OAAO,CAAC,CAEjD;IAED,IAAI,YAAY,IAAI,UAAU,CAAC,OAAO,CAAC,CAEtC;IAED,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,aAAa,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC;IAIrE,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAIrC,QAAQ,IAAI,OAAO;IAInB,YAAY,EAAE,QAAQ,CAAC;IACvB,cAAc,EAAE,GAAG,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,aAAa,CAAC;IAC7B,aAAa,EAAE,GAAG,EAAE,CAAC;IAErB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;IAIvE,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIvC,UAAU,IAAI,IAAI;IAElB,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAIpD,OAAO,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;IAKvE,qBAAqB,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;IAK/D,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;IAI9D,MAAM,CACJ,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,QAAQ,EACnB,OAAO,EAAE,QAAQ,EACjB,MAAM,CAAC,EAAE,GAAG,GACX,gBAAgB,CAAC,OAAO,CAAC;IAI5B,WAAW,CACT,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,QAAQ,EACnB,OAAO,EAAE,QAAQ,EACjB,MAAM,CAAC,EAAE,GAAG,EACZ,YAAY,CAAC,EAAE,GAAG,EAAE,GACnB,UAAU,CAAC,GAAG,EAAE,CAAC;IAIpB,yBAAyB,CACvB,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,QAAQ,EACnB,OAAO,EAAE,QAAQ,EACjB,MAAM,CAAC,EAAE,GAAG,GACX,gBAAgB,CAAC,OAAO,CAAC;IAI5B,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAIrD,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAIxD,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAIpD,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;CAGlD"}
1
+ {"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../../../../src/testing/mocks/connect/connect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAQ,UAAU,EAAE,MAAM,MAAM,CAAC;AACzD,OAAO,KAAK,EACV,YAAY,EACZ,OAAO,EACP,OAAO,EACP,QAAQ,EACR,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,WAAW,CAAC;AAEnB;;GAEG;AACH,qBAAa,WAAY,YAAW,OAAO;IACzC,WAAW,EAAE,OAAO,CAAQ;IAC5B,SAAS,EAAE,OAAO,CAAS;IAC3B,MAAM,EAAE,UAAU,CAAC;IAEnB,IAAI,IAAI,WAEP;IAED,IAAI,kBAAkB,IAAI,eAAe,CAAC,OAAO,CAAC,CAEjD;IAED,IAAI,YAAY,IAAI,UAAU,CAAC,OAAO,CAAC,CAEtC;IAED,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,aAAa,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC;IAIrE,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAIrC,QAAQ,IAAI,OAAO;IAInB,YAAY,EAAE,QAAQ,CAAC;IACvB,cAAc,EAAE,GAAG,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,aAAa,CAAC;IAC7B,aAAa,EAAE,GAAG,EAAE,CAAC;IAErB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;IAIvE,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKvC,UAAU,IAAI,IAAI;IAElB,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAIpD,OAAO,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;IAKjE,qBAAqB,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAK9E,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;IAI9D,MAAM,CACJ,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,QAAQ,EACnB,OAAO,EAAE,QAAQ,EACjB,MAAM,CAAC,EAAE,GAAG,GACX,gBAAgB,CAAC,OAAO,CAAC;IAI5B,WAAW,CACT,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,QAAQ,EACnB,OAAO,EAAE,QAAQ,EACjB,MAAM,CAAC,EAAE,GAAG,EACZ,YAAY,CAAC,EAAE,GAAG,EAAE,GACnB,UAAU,CAAC,GAAG,EAAE,CAAC;IAIpB,yBAAyB,CACvB,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,QAAQ,EACnB,OAAO,EAAE,QAAQ,EACjB,MAAM,CAAC,EAAE,GAAG,GACX,gBAAgB,CAAC,OAAO,CAAC;IAI5B,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAIrD,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAIxD,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAIpD,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;CAGlD"}
@@ -13,6 +13,7 @@ export declare class SocketMock implements Socket {
13
13
  isConnected: boolean;
14
14
  isConnectedSubject: BehaviorSubject<boolean>;
15
15
  isReconnecting: boolean;
16
+ host: string;
16
17
  nextMessage: Message;
17
18
  socketMessagesSubject: SocketSubject<Message<any>>;
18
19
  connect(host: string, options?: SocketConnectOptions, reconnectOptions?: SocketReconnectOptions): Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"socket.d.ts","sourceRoot":"","sources":["../../../../../src/testing/mocks/connect/socket.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAQ,UAAU,EAAE,MAAM,MAAM,CAAC;AACzD,OAAO,KAAK,EACV,OAAO,EACP,MAAM,EACN,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD;;GAEG;AACH,qBAAa,UAAW,YAAW,MAAM;IAChC,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;IACxB,sBAAsB,EAAE,OAAO,CAAC;IAChC,eAAe,EAAE,OAAO,CAAC;IACzB,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;IACrB,kBAAkB,EAAE,eAAe,CAAC,OAAO,CAAC,CAA6B;IACzE,cAAc,EAAE,OAAO,CAAC;IAExB,WAAW,EAAE,OAAO,CAAC;IACrB,qBAAqB,8BAAgC;IAErD,OAAO,CACZ,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,oBAAoB,EAC9B,gBAAgB,CAAC,EAAE,sBAAsB,GACxC,OAAO,CAAC,OAAO,CAAC;IAIZ,UAAU,IAAI,IAAI;IAElB,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,OAAO,GAAG,GAAG,CAAC;IAItD,aAAa,CAAC,CAAC,EACpB,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,EACrB,SAAS,EAAE,QAAQ,EACnB,OAAO,EAAE,QAAQ,EACjB,UAAU,CAAC,EAAE,QAAQ,GACpB,UAAU,CAAC,OAAO,CAAC;IAItB,4BAA4B,CAAC,CAAC,EAC5B,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,EACrB,SAAS,EAAE,QAAQ,EACnB,OAAO,EAAE,QAAQ,GAChB,UAAU,CAAC,OAAO,CAAC;IAIf,cAAc,IAAI,aAAa,CAAC,OAAO,CAAC;IAI/C,KAAK,IAAI,IAAI;CAGd"}
1
+ {"version":3,"file":"socket.d.ts","sourceRoot":"","sources":["../../../../../src/testing/mocks/connect/socket.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAQ,UAAU,EAAE,MAAM,MAAM,CAAC;AACzD,OAAO,KAAK,EACV,OAAO,EACP,MAAM,EACN,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD;;GAEG;AACH,qBAAa,UAAW,YAAW,MAAM;IAChC,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;IACxB,sBAAsB,EAAE,OAAO,CAAC;IAChC,eAAe,EAAE,OAAO,CAAC;IACzB,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;IACrB,kBAAkB,EAAE,eAAe,CAAC,OAAO,CAAC,CAA6B;IACzE,cAAc,EAAE,OAAO,CAAC;IACxB,IAAI,EAAE,MAAM,CAAe;IAE3B,WAAW,EAAE,OAAO,CAAC;IACrB,qBAAqB,8BAAgC;IAErD,OAAO,CACZ,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,oBAAoB,EAC9B,gBAAgB,CAAC,EAAE,sBAAsB,GACxC,OAAO,CAAC,OAAO,CAAC;IAKZ,UAAU,IAAI,IAAI;IAElB,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,OAAO,GAAG,GAAG,CAAC;IAItD,aAAa,CAAC,CAAC,EACpB,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,EACrB,SAAS,EAAE,QAAQ,EACnB,OAAO,EAAE,QAAQ,EACjB,UAAU,CAAC,EAAE,QAAQ,GACpB,UAAU,CAAC,OAAO,CAAC;IAItB,4BAA4B,CAAC,CAAC,EAC5B,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,EACrB,SAAS,EAAE,QAAQ,EACnB,OAAO,EAAE,QAAQ,GAChB,UAAU,CAAC,OAAO,CAAC;IAIf,cAAc,IAAI,aAAa,CAAC,OAAO,CAAC;IAI/C,KAAK,IAAI,IAAI;CAGd"}
@@ -1,16 +1,34 @@
1
- import { SocketObservable } from '../../../connect';
2
- import type { Datasource, DatasourceOptions, Dataview, ResourceType } from '../../../datasource';
3
- import { FieldMetadata, FilteredDataServerResult, RequestServerResult } from '../../../metadata';
1
+ import { Message, SocketObservable } from '../../../connect';
2
+ import type { Datasource, DatasourceOptions, DatasourceStatus, Dataview, ResourceType } from '../../../datasource';
3
+ import { FieldMetadata, FilteredDataServerResult, IndexDetail, Metadata, MetadataDetail, RequestServerResult } from '../../../metadata';
4
4
  /**
5
5
  * @internal
6
6
  */
7
7
  export declare class DatasourceMock implements Datasource {
8
- initialized: boolean;
8
+ status: DatasourceStatus;
9
+ fetchMetadataRequired: boolean;
10
+ protected fetchingMetadata: boolean;
11
+ originalFieldDef: MetadataDetail[];
9
12
  fieldMetadata: FieldMetadata[];
13
+ requestFields: MetadataDetail[];
14
+ availableIndexes: IndexDetail[];
15
+ initialized: boolean;
10
16
  readOnly: boolean;
11
17
  resourceType: ResourceType;
12
18
  stream: SocketObservable<FilteredDataServerResult | RequestServerResult>;
13
19
  init(options: DatasourceOptions, fetchMeta: boolean): Promise<boolean>;
20
+ /**
21
+ * Convenience method to avoid you having to prime connect etc.
22
+ * @param meta - The metadata to set.
23
+ */
24
+ setMetadata(meta: Metadata): void;
25
+ unsetMedata(): void;
26
+ /**
27
+ * Convenience method to avoid you having to prime connect etc.
28
+ * @param message - The Message to stream.
29
+ */
30
+ setStream(message: Message): void;
31
+ unsetStream(): void;
14
32
  deinit(): void;
15
33
  destroy(): void;
16
34
  validResourceName(resourceName: string): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"datasource.d.ts","sourceRoot":"","sources":["../../../../../src/testing/mocks/datasource/datasource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACjG,OAAO,EAAE,aAAa,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAEjG;;GAEG;AACH,qBAAa,cAAe,YAAW,UAAU;IAC/C,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,aAAa,EAAE,CAAC;IAC/B,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,YAAY,CAAC;IAC3B,MAAM,EAAE,gBAAgB,CAAC,wBAAwB,GAAG,mBAAmB,CAAC,CAAC;IAEzE,IAAI,CAAC,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAItE,MAAM;IAEN,OAAO;IAEP,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO;IAMhD,WAAW,CAAC,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAI5D,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG;IAErB,gBAAgB,CAAC,KAAK,CAAC,EAAE,MAAM;IAE/B,UAAU,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvC,WAAW,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE;IAIhC,OAAO,CAAC,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI;IAE9B,QAAQ,CAAC,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI;IAE/B,SAAS,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlE,WAAW,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzC,UAAU,CAAC,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;IAIvC,UAAU,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1C,UAAU,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;CAGtD"}
1
+ {"version":3,"file":"datasource.d.ts","sourceRoot":"","sources":["../../../../../src/testing/mocks/datasource/datasource.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,KAAK,EACV,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,QAAQ,EACR,YAAY,EACb,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAEL,aAAa,EACb,wBAAwB,EACxB,WAAW,EACX,QAAQ,EACR,cAAc,EACd,mBAAmB,EAEpB,MAAM,mBAAmB,CAAC;AAE3B;;GAEG;AACH,qBAAa,cAAe,YAAW,UAAU;IACnC,MAAM,EAAE,gBAAgB,CAAC;IACzB,qBAAqB,UAAQ;IACzC,SAAS,CAAC,gBAAgB,UAAS;IACvB,gBAAgB,EAAE,cAAc,EAAE,CAAM;IACxC,aAAa,EAAE,aAAa,EAAE,CAAM;IACpC,aAAa,EAAE,cAAc,EAAE,CAAM;IACrC,gBAAgB,EAAE,WAAW,EAAE,CAAM;IAEjD,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,YAAY,CAAC;IAC3B,MAAM,EAAE,gBAAgB,CAAC,wBAAwB,GAAG,mBAAmB,CAAC,CAAC;IAEzE,IAAI,CAAC,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAItE;;;OAGG;IACH,WAAW,CAAC,IAAI,EAAE,QAAQ;IAQ1B,WAAW;IAQX;;;OAGG;IACH,SAAS,CAAC,OAAO,EAAE,OAAO;IAI1B,WAAW;IAIX,MAAM;IAEN,OAAO;IAEP,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO;IAMhD,WAAW,CAAC,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAI5D,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG;IAErB,gBAAgB,CAAC,KAAK,CAAC,EAAE,MAAM;IAE/B,UAAU,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvC,WAAW,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE;IAIhC,OAAO,CAAC,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI;IAE9B,QAAQ,CAAC,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI;IAE/B,SAAS,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlE,WAAW,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzC,UAAU,CAAC,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;IAIvC,UAAU,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1C,UAAU,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;CAGtD"}
@@ -1,5 +1,6 @@
1
1
  export * from './auth';
2
2
  export * from './connect';
3
3
  export * from './datasource';
4
+ export * from './resources';
4
5
  export * from './session';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/testing/mocks/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/testing/mocks/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { ResourceType } from '../../../../datasource';
2
+ import type { GenesisResources, ResourceItem } from '../../../../resources';
3
+ /**
4
+ * @public
5
+ */
6
+ export declare class GenesisResourcesMock implements GenesisResources {
7
+ resources: ResourceItem[];
8
+ nextIsValidResourceResponse: boolean;
9
+ nextResourceTypeForResponse: ResourceType;
10
+ /** {@inheritDoc GenesisResources.isValidResource} */
11
+ isValidResource(resourceName: string): Promise<boolean>;
12
+ /** {@inheritDoc GenesisResources.getResourceTypeFor} */
13
+ getResourceTypeFor(resourceName: string): Promise<ResourceType>;
14
+ destroy(): void;
15
+ }
16
+ //# sourceMappingURL=genesis.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"genesis.d.ts","sourceRoot":"","sources":["../../../../../../src/testing/mocks/resources/genesis/genesis.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE5E;;GAEG;AACH,qBAAa,oBAAqB,YAAW,gBAAgB;IAC3D,SAAS,EAAE,YAAY,EAAE,CAAM;IAC/B,2BAA2B,EAAE,OAAO,CAAQ;IAC5C,2BAA2B,EAAE,YAAY,CAA2B;IAEpE,qDAAqD;IAC/C,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI7D,wDAAwD;IAClD,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAIrE,OAAO;CACR"}
@@ -0,0 +1,2 @@
1
+ export * from './genesis';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/testing/mocks/resources/genesis/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './genesis';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/testing/mocks/resources/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { __awaiter, __decorate, __param } from "tslib";
2
- import { FORCE_HTTP } from '@genesislcap/foundation-utils';
3
- import { observable, volatile } from '@microsoft/fast-element';
2
+ import { FORCE_HTTP, GENESIS_SOCKET_URL } from '@genesislcap/foundation-utils';
3
+ import { observable } from '@microsoft/fast-element';
4
4
  import { DI } from '@microsoft/fast-foundation';
5
5
  import { scan } from 'rxjs';
6
6
  import { MetaCache } from '../metadata';
@@ -8,7 +8,7 @@ import { logger } from '../utils';
8
8
  import { ConnectEventsEmitter } from './connect.events';
9
9
  import { ConnectConfig } from './connect.types';
10
10
  import { HttpConnect } from './http.connect';
11
- import { EventMessageType, MessageBuilder } from './message';
11
+ import { EventMessageType, MessageBuilder, } from './message';
12
12
  import { Socket } from './socket';
13
13
  import { updateState } from './updateState';
14
14
  /**
@@ -26,6 +26,9 @@ let DefaultConnect = class DefaultConnect {
26
26
  var _a;
27
27
  return (_a = this.socket.isConnectedSubject) === null || _a === void 0 ? void 0 : _a.asObservable();
28
28
  }
29
+ get host() {
30
+ return this.socket.host;
31
+ }
29
32
  constructor(socket, messageBuilder, metaCache, events, config) {
30
33
  this.socket = socket;
31
34
  this.messageBuilder = messageBuilder;
@@ -46,14 +49,9 @@ let DefaultConnect = class DefaultConnect {
46
49
  send(message, needsHandling) {
47
50
  return this.socket.send(message, needsHandling);
48
51
  }
49
- connect(host) {
52
+ connect(host = GENESIS_SOCKET_URL) {
50
53
  return __awaiter(this, void 0, void 0, function* () {
51
54
  this.socket.reset();
52
- if (!this.config.isWebSocketExpression.test(host)) {
53
- logger.error(`Specified host (${host}) is not valid WebSocket url. Connection will not proceed.`);
54
- logger.warn(`Make sure the host url starts with wss:// or ws://`);
55
- return;
56
- }
57
55
  return this.socket.connect(host, this.config.connect, this.config.reconnect);
58
56
  });
59
57
  }
@@ -186,9 +184,11 @@ let DefaultConnect = class DefaultConnect {
186
184
  return this.socket.send(requestMessage);
187
185
  }
188
186
  getAvailableResources(params) {
189
- const requestMessage = this.messageBuilder.createResourcesMessage(params);
190
- logger.debug(`${requestMessage.MESSAGE_TYPE} (resources) message created -> `, requestMessage);
191
- return this.socket.send(requestMessage);
187
+ return __awaiter(this, void 0, void 0, function* () {
188
+ const requestMessage = this.messageBuilder.createResourcesMessage(params);
189
+ logger.debug(`${requestMessage.MESSAGE_TYPE} (resources) message created -> `, requestMessage);
190
+ return this.socket.send(requestMessage);
191
+ });
192
192
  }
193
193
  commitEvent(eventName, params) {
194
194
  return __awaiter(this, void 0, void 0, function* () {
@@ -203,9 +203,6 @@ let DefaultConnect = class DefaultConnect {
203
203
  __decorate([
204
204
  observable
205
205
  ], DefaultConnect.prototype, "isWorking", void 0);
206
- __decorate([
207
- volatile
208
- ], DefaultConnect.prototype, "isConnected", null);
209
206
  DefaultConnect = __decorate([
210
207
  __param(0, Socket),
211
208
  __param(1, MessageBuilder),
@@ -192,9 +192,11 @@ let DefaultHttpConnect = class DefaultHttpConnect {
192
192
  return this.send(requestMessage);
193
193
  }
194
194
  getAvailableResources(params) {
195
- const requestMessage = this.messageBuilder.createResourcesMessage(params);
196
- logger.debug(`HTTP MODE! - ${requestMessage.MESSAGE_TYPE} (getResources) message created -> `, requestMessage);
197
- return this.send(requestMessage);
195
+ return __awaiter(this, void 0, void 0, function* () {
196
+ const requestMessage = this.messageBuilder.createResourcesMessage(params);
197
+ logger.debug(`HTTP MODE! - ${requestMessage.MESSAGE_TYPE} (getResources) message created -> `, requestMessage);
198
+ return this.send(requestMessage);
199
+ });
198
200
  }
199
201
  commitEvent(eventName, params) {
200
202
  return __awaiter(this, void 0, void 0, function* () {
@@ -39,6 +39,8 @@ export var EventMessageType;
39
39
  EventMessageType["META_REQUEST"] = "META_REQUEST";
40
40
  EventMessageType["JSON_SCHEMA_REQUEST"] = "JSON_SCHEMA_REQUEST";
41
41
  EventMessageType["RESOURCES_REQUEST"] = "RESOURCES_REQUEST";
42
+ EventMessageType["RESOURCES_REQUEST_ACK"] = "RESOURCES_REQUEST_ACK";
43
+ EventMessageType["RESOURCES_REQUEST_NACK"] = "RESOURCES_REQUEST_NACK";
42
44
  EventMessageType["EVENT_CHANGE_USER_PASSWORD"] = "EVENT_CHANGE_USER_PASSWORD";
43
45
  EventMessageType["EVENT_SELF_SERVICE_PASSWORD_RESET"] = "EVENT_SELF_SERVICE_PASSWORD_RESET";
44
46
  EventMessageType["EVENT_PASSWORD_RESET_ACTION"] = "EVENT_PASSWORD_RESET_ACTION";
@@ -1,6 +1,6 @@
1
1
  import { __awaiter, __decorate, __param } from "tslib";
2
2
  import { User } from '@genesislcap/foundation-user';
3
- import { JSONSerializer, UUID } from '@genesislcap/foundation-utils';
3
+ import { GENESIS_SOCKET_URL, JSONSerializer, UUID } from '@genesislcap/foundation-utils';
4
4
  import { DOM, observable } from '@microsoft/fast-element';
5
5
  import { DI } from '@microsoft/fast-foundation';
6
6
  import { Observable, of, Subject, Subscription, takeUntil, throwError } from 'rxjs';
@@ -8,6 +8,7 @@ import { filter, mergeMap, switchMap, takeWhile } from 'rxjs/operators';
8
8
  import { WebSocketSubject } from 'rxjs/webSocket';
9
9
  import { Session } from '../session';
10
10
  import { logger } from '../utils';
11
+ import { ConnectConfig } from './connect.types';
11
12
  import { EventMessageType, MessageBuilder, MessageType, } from './message';
12
13
  import { exponentialScheduler, linearScheduler, MAX_RECONNECT_ATTEMPTS, retryInterval, SocketReconnectStrategy, } from './reconnectStrategy';
13
14
  import { SocketStatus } from './socket.status';
@@ -111,17 +112,22 @@ let DefaultSocket = class DefaultSocket {
111
112
  set hasValidSession(value) {
112
113
  logger.deprecated('set hasValidSession', 'Please refrain from calling this API as this state is managed internally.', '15.0.0');
113
114
  }
115
+ get host() {
116
+ var _a;
117
+ return (_a = this.url) !== null && _a !== void 0 ? _a : GENESIS_SOCKET_URL;
118
+ }
114
119
  constructor(messageBuilder, session, serializer, uuid, status,
115
120
  /**
116
121
  * Temp putting the user in place to bridge the hasValidSession logic.
117
122
  */
118
- user) {
123
+ user, config) {
119
124
  this.messageBuilder = messageBuilder;
120
125
  this.session = session;
121
126
  this.serializer = serializer;
122
127
  this.uuid = uuid;
123
128
  this.status = status;
124
129
  this.user = user;
130
+ this.config = config;
125
131
  this.defaultInterval = 10000;
126
132
  this.secondsMultiplier = 1000;
127
133
  this.heartbeatIsEnabled = true;
@@ -136,10 +142,16 @@ let DefaultSocket = class DefaultSocket {
136
142
  var _a, _b;
137
143
  return (_b = (_a = this.connectOptions) === null || _a === void 0 ? void 0 : _a.enableMessageLogging) !== null && _b !== void 0 ? _b : false;
138
144
  }
139
- connect(host, connectOptions, reconnectOptions) {
145
+ connect(host = GENESIS_SOCKET_URL, connectOptions, reconnectOptions) {
146
+ var _a;
140
147
  this.url = host;
141
- this.connectOptions = connectOptions;
142
- this.reconnectOptions = reconnectOptions;
148
+ this.connectOptions = connectOptions !== null && connectOptions !== void 0 ? connectOptions : this.config.connect;
149
+ this.reconnectOptions = reconnectOptions !== null && reconnectOptions !== void 0 ? reconnectOptions : this.config.reconnect;
150
+ if (!((_a = this.config.isWebSocketExpression) === null || _a === void 0 ? void 0 : _a.test(this.host))) {
151
+ logger.error(`Specified host (${this.host}) is not valid WebSocket url. Connection will not proceed.`);
152
+ logger.warn(`Make sure the host url starts with wss:// or ws://`);
153
+ return;
154
+ }
143
155
  return new Promise((resolve) => {
144
156
  var _a, _b, _c, _d;
145
157
  logger.info(`${this.isReconnecting ? 'Reconnecting' : 'Connecting'} to ${this.url}`);
@@ -493,7 +505,8 @@ DefaultSocket = __decorate([
493
505
  __param(2, JSONSerializer),
494
506
  __param(3, UUID),
495
507
  __param(4, SocketStatus),
496
- __param(5, User)
508
+ __param(5, User),
509
+ __param(6, ConnectConfig)
497
510
  ], DefaultSocket);
498
511
  export { DefaultSocket };
499
512
  /**
@@ -0,0 +1,41 @@
1
+ import { DI } from '@microsoft/fast-foundation';
2
+ import { criteriaFiltersToFields } from './criteriaFiltersToFields';
3
+ import { dataServerResultFilter } from './dataServerResultFilter';
4
+ /**
5
+ * Default values for a DatasourceConfig
6
+ * @public
7
+ */
8
+ export class DatasourceDefaults {
9
+ }
10
+ DatasourceDefaults.MAX_ROWS_250 = 250;
11
+ DatasourceDefaults.MAX_VIEW_1000 = 1000;
12
+ DatasourceDefaults.REQ_REP_POLLING_INTERVAL_MS = 10000;
13
+ DatasourceDefaults.DATASERVER_ROW_ID = 'ROW_REF';
14
+ DatasourceDefaults.REQUEST_SERVER_ROW_ID = 'RECORD_ID';
15
+ /**
16
+ * Default DatasourceConfig DI implementation.
17
+ * @public
18
+ */
19
+ export const defaultDatasourceConfig = {
20
+ options: {
21
+ criteria: '',
22
+ isSnapshot: false,
23
+ maxRows: DatasourceDefaults.MAX_ROWS_250,
24
+ maxView: DatasourceDefaults.MAX_VIEW_1000,
25
+ pollingInterval: DatasourceDefaults.REQ_REP_POLLING_INTERVAL_MS,
26
+ movingView: false,
27
+ orderBy: '',
28
+ resourceName: '',
29
+ reverse: false,
30
+ },
31
+ criteriaToFields: criteriaFiltersToFields,
32
+ dataServerResultFilter: dataServerResultFilter,
33
+ };
34
+ /**
35
+ * DatasourceConfig DI key.
36
+ *
37
+ * @internal
38
+ * @privateRemarks
39
+ * Marked as internal to stop api-extractor becoming confused cross-linking tokens with the same name.
40
+ */
41
+ export const DatasourceConfig = DI.createInterface((x) => x.instance(defaultDatasourceConfig));