@factset/frontgate-js-sdk 6.11.1 → 7.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (196) hide show
  1. package/CHANGELOG.md +97 -40
  2. package/dist/lib/esnext/FrontgateClient.js +0 -3
  3. package/dist/lib/esnext/authentication/index.js +3 -4
  4. package/dist/lib/esnext/common/errors.js +0 -35
  5. package/dist/lib/esnext/common/functions.js +0 -84
  6. package/dist/lib/esnext/common/interfaces/index.js +0 -1
  7. package/dist/lib/esnext/compat/index.js +0 -3
  8. package/dist/lib/esnext/connection/index.js +19 -6
  9. package/dist/lib/esnext/connection/util/functions.js +0 -56
  10. package/dist/lib/esnext/index.js +0 -1
  11. package/dist/lib/esnext/message/index.js +1 -1
  12. package/dist/lib/esnext/message/interfaces/index.js +0 -1
  13. package/dist/lib/esnext/message/request/TransportLayerClientRequestHeader.js +1 -1
  14. package/dist/lib/esnext/message/request/raw/example/CreateNotationSearchRequest.js +1 -1
  15. package/dist/lib/esnext/message/request/raw/index.js +0 -1
  16. package/dist/lib/esnext/message/response/index.js +0 -5
  17. package/dist/lib/esnext/message/update/index.js +0 -1
  18. package/dist/lib/esnext/mixins/EndpointRequestMixin.js +1 -1
  19. package/dist/lib/esnext/mixins/RemoteLoggerMixin.js +29 -0
  20. package/dist/lib/esnext/mixins/auth/AppAuthMixin.js +79 -11
  21. package/dist/lib/esnext/mixins/auth/SessionAuthMixin.js +76 -36
  22. package/dist/lib/esnext/mixins/auth/UserCredentialAuthMixin.js +82 -12
  23. package/dist/lib/esnext/mixins/auth/UserPasswordAuthMixin.js +80 -13
  24. package/dist/lib/esnext/mixins/auth/index.js +0 -31
  25. package/dist/lib/esnext/mixins/index.js +1 -0
  26. package/dist/lib/esnext/mixins/subscription/EndpointSubscriptionMixin.js +149 -122
  27. package/dist/lib/esnext/version.js +1 -1
  28. package/dist/lib/node/FrontgateClient.js +0 -3
  29. package/dist/lib/node/authentication/index.js +4 -4
  30. package/dist/lib/node/common/errors.js +1 -41
  31. package/dist/lib/node/common/functions.js +0 -92
  32. package/dist/lib/node/common/interfaces/index.js +0 -1
  33. package/dist/lib/node/compat/index.js +0 -3
  34. package/dist/lib/node/connection/index.js +20 -6
  35. package/dist/lib/node/connection/util/functions.js +0 -63
  36. package/dist/lib/node/index.js +1 -3
  37. package/dist/lib/node/message/index.js +2 -1
  38. package/dist/lib/node/message/interfaces/index.js +0 -1
  39. package/dist/lib/node/message/request/TransportLayerClientRequestHeader.js +3 -3
  40. package/dist/lib/node/message/request/raw/example/CreateNotationSearchRequest.js +3 -3
  41. package/dist/lib/node/message/request/raw/index.js +0 -1
  42. package/dist/lib/node/message/response/index.js +0 -5
  43. package/dist/lib/node/message/update/index.js +0 -1
  44. package/dist/lib/node/mixins/EndpointRequestMixin.js +2 -2
  45. package/dist/lib/node/mixins/RemoteLoggerMixin.js +33 -0
  46. package/dist/lib/node/mixins/auth/AppAuthMixin.js +78 -10
  47. package/dist/lib/node/mixins/auth/SessionAuthMixin.js +75 -35
  48. package/dist/lib/node/mixins/auth/UserCredentialAuthMixin.js +80 -10
  49. package/dist/lib/node/mixins/auth/UserPasswordAuthMixin.js +78 -11
  50. package/dist/lib/node/mixins/auth/index.js +0 -33
  51. package/dist/lib/node/mixins/index.js +1 -0
  52. package/dist/lib/node/mixins/subscription/EndpointSubscriptionMixin.js +149 -122
  53. package/dist/lib/node/version.js +1 -1
  54. package/dist/lib/types/FrontgateClient.d.ts +0 -1
  55. package/dist/lib/types/authentication/index.d.ts +3 -4
  56. package/dist/lib/types/authentication/util/ChallengeResolver.d.ts +2 -1
  57. package/dist/lib/types/common/errors.d.ts +0 -21
  58. package/dist/lib/types/common/functions.d.ts +0 -8
  59. package/dist/lib/types/common/interfaces/index.d.ts +0 -1
  60. package/dist/lib/types/compat/index.d.ts +0 -3
  61. package/dist/lib/types/connection/index.d.ts +16 -6
  62. package/dist/lib/types/connection/util/functions.d.ts +0 -18
  63. package/dist/lib/types/index.d.ts +0 -1
  64. package/dist/lib/types/message/index.d.ts +1 -1
  65. package/dist/lib/types/message/interfaces/index.d.ts +0 -1
  66. package/dist/lib/types/message/request/TransportLayerClientRequestHeader.d.ts +1 -0
  67. package/dist/lib/types/message/request/raw/index.d.ts +0 -1
  68. package/dist/lib/types/message/response/index.d.ts +0 -5
  69. package/dist/lib/types/message/update/index.d.ts +0 -1
  70. package/dist/lib/types/mixins/AuthTokenRequestMixin.d.ts +1 -2
  71. package/dist/lib/types/mixins/EndpointRequestMixin.d.ts +1 -2
  72. package/dist/lib/types/mixins/HTTPProxyRequestMixin.d.ts +1 -4
  73. package/dist/lib/types/mixins/LoggerMixin.d.ts +1 -2
  74. package/dist/lib/types/mixins/MessageCompressorMixin.d.ts +1 -2
  75. package/dist/lib/types/mixins/OpenTelemetryMixin.d.ts +1 -2
  76. package/dist/lib/types/mixins/PingMixin.d.ts +1 -2
  77. package/dist/lib/types/mixins/ReconnectMixin.d.ts +1 -2
  78. package/dist/lib/types/mixins/RemoteLoggerMixin.d.ts +16 -0
  79. package/dist/lib/types/mixins/RequestMixin.d.ts +1 -2
  80. package/dist/lib/types/mixins/auth/AppAuthMixin.d.ts +15 -8
  81. package/dist/lib/types/mixins/auth/CookieTokenAuthMixin.d.ts +1 -2
  82. package/dist/lib/types/mixins/auth/FetchAuthenticationMixin.d.ts +1 -2
  83. package/dist/lib/types/mixins/auth/SessionAuthMixin.d.ts +10 -5
  84. package/dist/lib/types/mixins/auth/TokenAuthMixin.d.ts +1 -2
  85. package/dist/lib/types/mixins/auth/UserCredentialAuthMixin.d.ts +15 -8
  86. package/dist/lib/types/mixins/auth/UserPasswordAuthMixin.d.ts +15 -8
  87. package/dist/lib/types/mixins/auth/index.d.ts +0 -8
  88. package/dist/lib/types/mixins/connection/FrontgateWSMixin.d.ts +1 -2
  89. package/dist/lib/types/mixins/index.d.ts +2 -1
  90. package/dist/lib/types/mixins/subscription/EndpointSubscriptionMixin.d.ts +4 -6
  91. package/dist/lib/types/mixins/subscription/RawSubscriptionMixin.d.ts +1 -2
  92. package/dist/lib/umd/mdg2.client.min.umd.js +1 -12
  93. package/dist/lib/umd/mdg2.client.umd.js +4061 -8138
  94. package/package.json +25 -28
  95. package/dist/lib/esnext/Mdg2Client.js +0 -185
  96. package/dist/lib/esnext/authentication/AbstractAuthentication.js +0 -49
  97. package/dist/lib/esnext/authentication/AppAuthentication.js +0 -70
  98. package/dist/lib/esnext/authentication/AuthenticationInterface.js +0 -1
  99. package/dist/lib/esnext/authentication/CookieTokenAuthentication.js +0 -18
  100. package/dist/lib/esnext/authentication/TokenAuthentication.js +0 -42
  101. package/dist/lib/esnext/authentication/UserCredentialAuthentication.js +0 -73
  102. package/dist/lib/esnext/authentication/UserPasswordAuthentication.js +0 -71
  103. package/dist/lib/esnext/common/Mdg2ClientOptions.js +0 -1
  104. package/dist/lib/esnext/common/constants.js +0 -10
  105. package/dist/lib/esnext/common/interfaces/observe/ObserveOptions.js +0 -1
  106. package/dist/lib/esnext/connection/AbstractFrontgateConnection.js +0 -324
  107. package/dist/lib/esnext/connection/ConnectionInterface.js +0 -1
  108. package/dist/lib/esnext/connection/FrontgateWSConnection.js +0 -281
  109. package/dist/lib/esnext/connection/JobPromise.js +0 -2
  110. package/dist/lib/esnext/connection/LatencyHandler.js +0 -1
  111. package/dist/lib/esnext/connection/LatencyTracker.js +0 -47
  112. package/dist/lib/esnext/connection/MessageProcessor.js +0 -1
  113. package/dist/lib/esnext/connection/util/Encoding.js +0 -14
  114. package/dist/lib/esnext/core/RequestModule.js +0 -349
  115. package/dist/lib/esnext/core/SubscriptionModule.js +0 -104
  116. package/dist/lib/esnext/core/subscription/EndpointHandler.js +0 -121
  117. package/dist/lib/esnext/core/subscription/SubjectManager.js +0 -39
  118. package/dist/lib/esnext/message/MessageFactory.js +0 -36
  119. package/dist/lib/esnext/message/guards.js +0 -21
  120. package/dist/lib/esnext/message/interfaces/JobObservable.js +0 -1
  121. package/dist/lib/esnext/message/request/raw/RawRequestFactory.js +0 -18
  122. package/dist/lib/esnext/message/response/AuthenticationByTokenResponse.js +0 -1
  123. package/dist/lib/esnext/message/response/CancelSubscriptionResponse.js +0 -3
  124. package/dist/lib/esnext/message/response/LoadNotificationMessage.js +0 -1
  125. package/dist/lib/esnext/message/response/PermissionDeniedResponse.js +0 -6
  126. package/dist/lib/esnext/message/response/RejectResponse.js +0 -9
  127. package/dist/lib/esnext/message/update/SubscriptionLossMessage.js +0 -10
  128. package/dist/lib/esnext/util/TimeOutWrapper.js +0 -51
  129. package/dist/lib/node/Mdg2Client.js +0 -189
  130. package/dist/lib/node/authentication/AbstractAuthentication.js +0 -53
  131. package/dist/lib/node/authentication/AppAuthentication.js +0 -74
  132. package/dist/lib/node/authentication/AuthenticationInterface.js +0 -2
  133. package/dist/lib/node/authentication/CookieTokenAuthentication.js +0 -22
  134. package/dist/lib/node/authentication/TokenAuthentication.js +0 -46
  135. package/dist/lib/node/authentication/UserCredentialAuthentication.js +0 -77
  136. package/dist/lib/node/authentication/UserPasswordAuthentication.js +0 -75
  137. package/dist/lib/node/common/Mdg2ClientOptions.js +0 -2
  138. package/dist/lib/node/common/constants.js +0 -13
  139. package/dist/lib/node/common/interfaces/observe/ObserveOptions.js +0 -2
  140. package/dist/lib/node/connection/AbstractFrontgateConnection.js +0 -328
  141. package/dist/lib/node/connection/ConnectionInterface.js +0 -2
  142. package/dist/lib/node/connection/FrontgateWSConnection.js +0 -288
  143. package/dist/lib/node/connection/JobPromise.js +0 -6
  144. package/dist/lib/node/connection/LatencyHandler.js +0 -2
  145. package/dist/lib/node/connection/LatencyTracker.js +0 -51
  146. package/dist/lib/node/connection/MessageProcessor.js +0 -2
  147. package/dist/lib/node/connection/util/Encoding.js +0 -18
  148. package/dist/lib/node/core/RequestModule.js +0 -353
  149. package/dist/lib/node/core/SubscriptionModule.js +0 -108
  150. package/dist/lib/node/core/subscription/EndpointHandler.js +0 -125
  151. package/dist/lib/node/core/subscription/SubjectManager.js +0 -43
  152. package/dist/lib/node/message/MessageFactory.js +0 -73
  153. package/dist/lib/node/message/guards.js +0 -30
  154. package/dist/lib/node/message/interfaces/JobObservable.js +0 -2
  155. package/dist/lib/node/message/request/raw/RawRequestFactory.js +0 -22
  156. package/dist/lib/node/message/response/AuthenticationByTokenResponse.js +0 -2
  157. package/dist/lib/node/message/response/CancelSubscriptionResponse.js +0 -7
  158. package/dist/lib/node/message/response/LoadNotificationMessage.js +0 -2
  159. package/dist/lib/node/message/response/PermissionDeniedResponse.js +0 -10
  160. package/dist/lib/node/message/response/RejectResponse.js +0 -13
  161. package/dist/lib/node/message/update/SubscriptionLossMessage.js +0 -14
  162. package/dist/lib/node/util/TimeOutWrapper.js +0 -55
  163. package/dist/lib/types/Mdg2Client.d.ts +0 -52
  164. package/dist/lib/types/authentication/AbstractAuthentication.d.ts +0 -17
  165. package/dist/lib/types/authentication/AppAuthentication.d.ts +0 -12
  166. package/dist/lib/types/authentication/AuthenticationInterface.d.ts +0 -9
  167. package/dist/lib/types/authentication/CookieTokenAuthentication.d.ts +0 -6
  168. package/dist/lib/types/authentication/TokenAuthentication.d.ts +0 -14
  169. package/dist/lib/types/authentication/UserCredentialAuthentication.d.ts +0 -13
  170. package/dist/lib/types/authentication/UserPasswordAuthentication.d.ts +0 -14
  171. package/dist/lib/types/common/Mdg2ClientOptions.d.ts +0 -12
  172. package/dist/lib/types/common/constants.d.ts +0 -11
  173. package/dist/lib/types/common/interfaces/observe/ObserveOptions.d.ts +0 -5
  174. package/dist/lib/types/connection/AbstractFrontgateConnection.d.ts +0 -116
  175. package/dist/lib/types/connection/ConnectionInterface.d.ts +0 -53
  176. package/dist/lib/types/connection/FrontgateWSConnection.d.ts +0 -23
  177. package/dist/lib/types/connection/JobPromise.d.ts +0 -3
  178. package/dist/lib/types/connection/LatencyHandler.d.ts +0 -1
  179. package/dist/lib/types/connection/LatencyTracker.d.ts +0 -13
  180. package/dist/lib/types/connection/MessageProcessor.d.ts +0 -2
  181. package/dist/lib/types/connection/util/Encoding.d.ts +0 -9
  182. package/dist/lib/types/core/RequestModule.d.ts +0 -78
  183. package/dist/lib/types/core/SubscriptionModule.d.ts +0 -24
  184. package/dist/lib/types/core/subscription/EndpointHandler.d.ts +0 -37
  185. package/dist/lib/types/core/subscription/SubjectManager.d.ts +0 -21
  186. package/dist/lib/types/message/MessageFactory.d.ts +0 -29
  187. package/dist/lib/types/message/guards.d.ts +0 -11
  188. package/dist/lib/types/message/interfaces/JobObservable.d.ts +0 -4
  189. package/dist/lib/types/message/request/raw/RawRequestFactory.d.ts +0 -4
  190. package/dist/lib/types/message/response/AuthenticationByTokenResponse.d.ts +0 -20
  191. package/dist/lib/types/message/response/CancelSubscriptionResponse.d.ts +0 -3
  192. package/dist/lib/types/message/response/LoadNotificationMessage.d.ts +0 -8
  193. package/dist/lib/types/message/response/PermissionDeniedResponse.d.ts +0 -4
  194. package/dist/lib/types/message/response/RejectResponse.d.ts +0 -5
  195. package/dist/lib/types/message/update/SubscriptionLossMessage.d.ts +0 -17
  196. package/dist/lib/types/util/TimeOutWrapper.d.ts +0 -12
@@ -1,23 +0,0 @@
1
- import type { AuthenticationInterface } from '../authentication';
2
- import type { PtlMessage } from '../common/interfaces';
3
- import type { FrontgateConnectionOptions } from './AbstractFrontgateConnection';
4
- import { AbstractFrontgateConnection } from './AbstractFrontgateConnection';
5
- import type { ConnectionInterface } from './ConnectionInterface';
6
- import type { JobPromise } from './JobPromise';
7
- export declare class FrontgateWSConnection extends AbstractFrontgateConnection implements ConnectionInterface {
8
- private ws;
9
- private resolveOnMessage;
10
- constructor(auth: AuthenticationInterface, options?: Partial<FrontgateConnectionOptions>);
11
- private openConnection;
12
- private performAuthentication;
13
- open(delayInMs?: any): Promise<void>;
14
- close(reconnect?: boolean, logout?: boolean): Promise<void>;
15
- send(msg: PtlMessage): JobPromise<PtlMessage>;
16
- submit(msg: PtlMessage): Promise<PtlMessage>;
17
- private sendMessage;
18
- private openWebSocket;
19
- private onWebSocketMessage;
20
- private decodeMessage;
21
- private static sanitizeOptions;
22
- protected handleWsError(handleWsError: Error): void;
23
- }
@@ -1,3 +0,0 @@
1
- export declare class JobPromise<T> extends Promise<T> {
2
- idJob?: number;
3
- }
@@ -1 +0,0 @@
1
- export type LatencyHandler = (timeOfRequest: number | undefined, latencyTotal: number | undefined, latencyAtPeer: number | undefined, message: string | undefined) => void;
@@ -1,13 +0,0 @@
1
- import type { AbstractFrontgateConnection, LatencyHandler } from './index';
2
- export declare class LatencyTracker {
3
- private static readonly MAX_RESPONSE_LATENCY_MS;
4
- private readonly cb;
5
- private readonly conn;
6
- private timeout;
7
- private readonly request;
8
- private isRequestPending;
9
- constructor(cb: LatencyHandler, conn: AbstractFrontgateConnection);
10
- start(interval: number): void;
11
- stop(): void;
12
- private handlePingResponse;
13
- }
@@ -1,2 +0,0 @@
1
- import type { PtlMessage } from '../common/interfaces/PtlMessage';
2
- export type MessageProcessor = (msg: PtlMessage) => boolean;
@@ -1,9 +0,0 @@
1
- export type SupportedEncoding = 'jsjson-v2' | 'jsjsonc-v2';
2
- export declare class Encoding {
3
- private static readonly SUPPORTED_ENCODINGS;
4
- private static readonly PLAIN_JSON_ENCODINGS;
5
- private static readonly COMPRESSED_ENCODINGS;
6
- static isSupportedEncoding(encoding: SupportedEncoding): boolean;
7
- static isPlainJson(encoding: SupportedEncoding): boolean;
8
- static isCompressedJson(encoding: SupportedEncoding): boolean;
9
- }
@@ -1,78 +0,0 @@
1
- import type { Subject } from 'rxjs';
2
- import type { PtlMessage, HighLevelRequestResult } from '../common/interfaces';
3
- import type { RequestQuality } from '../common/types';
4
- import type { LoggerInterface } from '../logger';
5
- import type { AbstractMdg2Request, HighLevelRequestMethod, HighLevelRequestOptions, HTTPMethod, HTTPProxyRequestOptions, PermissionDeniedResponse, HTTPProxyRequestBody } from '../message';
6
- import { ErrorResponse } from '../message';
7
- import { CookieTokenAuthenticationFactors } from '../authentication';
8
- import type { HTTPProxyRequestResult } from '../common/interfaces/result/HTTPProxyRequestResult';
9
- import type { Mdg2ClientOptions } from '../common/Mdg2ClientOptions';
10
- import type { ConnectionInterface } from '../connection';
11
- export interface Job {
12
- msg: AbstractMdg2Request;
13
- expirationTime: number;
14
- request: {
15
- json: any;
16
- data?: any;
17
- };
18
- resolve: (arg?: any) => void;
19
- reject: (arg?: any) => void;
20
- }
21
- export interface DebugMessage {
22
- json: PtlMessage;
23
- data?: Record<string, unknown>;
24
- }
25
- export interface DebugObject {
26
- request: DebugMessage;
27
- response: ErrorResponse | PermissionDeniedResponse;
28
- }
29
- export interface RequestItem {
30
- msg: any;
31
- resolve: any;
32
- reject: any;
33
- insertedAt?: number;
34
- }
35
- type RequestModuleOptions = Required<Pick<Mdg2ClientOptions, 'defaultTimeoutInMs' | 'defaultTimeoutTokenInMs' | 'maxTimeoutsBeforeReconnect' | 'flagPermissionDenied' | 'replaySubjectBufferSize'>>;
36
- export declare const DEFAULT_REQUEST_MODULE_OPTIONS: RequestModuleOptions;
37
- export declare class RequestModule {
38
- private readonly getConnection;
39
- private logger;
40
- private readonly options;
41
- private updateMessageHandler?;
42
- private lossMessageHandler?;
43
- requestSubject: Subject<RequestItem>;
44
- private readonly jobs;
45
- private readonly replaySubjectBufferSize;
46
- private readonly rejectResponsesTimeout;
47
- private timeoutCounter;
48
- private subscription;
49
- private readonly chunks;
50
- constructor(getConnection: () => ConnectionInterface | undefined, logger: LoggerInterface, options?: RequestModuleOptions);
51
- setLogger(logger: LoggerInterface): void;
52
- reset(): void;
53
- requestWithQuality(msg: AbstractMdg2Request, quality?: RequestQuality, timeOutInMs?: number): Promise<any>;
54
- requestEndpoint(method: HighLevelRequestMethod, path: string, data?: Record<string, unknown>, options?: HighLevelRequestOptions, timeOutInMs?: number): Promise<HighLevelRequestResult>;
55
- requestProxyEndpoint(method: HTTPMethod, path: string, body?: HTTPProxyRequestBody, options?: HTTPProxyRequestOptions, timeOutInMs?: number): Promise<HTTPProxyRequestResult>;
56
- requestAuthenticationToken(lifetimeSeconds?: number, idUser?: number, idApplication?: number, timeOutInMs?: number): Promise<string>;
57
- requestAuthenticationTokenExpiry(lifetimeSeconds?: number, idUser?: number, idApplication?: number, timeOutInMs?: number, otp?: boolean): Promise<{
58
- token: string;
59
- expiry: number;
60
- }>;
61
- requestAuthenticationTokenFactorsForCookieAuthentication(lifetimeSeconds?: number, idUser?: number, idApplication?: number, timeOutInMs?: number): Promise<CookieTokenAuthenticationFactors>;
62
- onConnection(): void;
63
- setUpdateMessageHandler(handler: (msg: any, jobId: number) => void): void;
64
- setLossMessageHandler(handler: (msg: any, jobId: number) => void): void;
65
- request(msg: AbstractMdg2Request, timeOutInMs?: number): Promise<any>;
66
- reRequest(job: Job): void;
67
- private requestBestQuality;
68
- private prependCollectedChunks;
69
- private collectChunk;
70
- private handleMessage;
71
- private rejectResponseHandler;
72
- private getRejectResponseTimeout;
73
- private sendRequest;
74
- clearPendingRequests(): void;
75
- private static supportedPermissionDeniedResponseMessages;
76
- private static supportsChunkedResponse;
77
- }
78
- export {};
@@ -1,24 +0,0 @@
1
- import type { ObserveOptions, RequestResult } from '../common/interfaces';
2
- import type { HighLevelRequestMethod, JobObservable, HighLevelRequestOptions } from '../message';
3
- import type { RequestModule } from './RequestModule';
4
- import type { LoggerInterface } from '../logger';
5
- import type { Mdg2ClientOptions } from '../common/Mdg2ClientOptions';
6
- export type SubscriptionModuleOptions = Pick<Mdg2ClientOptions, 'shouldRestartSubscriptions'>;
7
- export declare const DEFAULT_SUBSCRIPTION_MODULE_OPTIONS: SubscriptionModuleOptions;
8
- export declare class SubscriptionModule {
9
- private logger;
10
- private readonly options;
11
- private readonly subjectManager;
12
- private readonly handler;
13
- static defaultObserveOptions: ObserveOptions;
14
- constructor(requestModule: RequestModule, logger: LoggerInterface, options?: SubscriptionModuleOptions);
15
- setLogger(logger: LoggerInterface): void;
16
- observeEndpoint(method: HighLevelRequestMethod, path: string, data: Record<string, unknown>, options?: ObserveOptions, requestOptions?: HighLevelRequestOptions): JobObservable<RequestResult>;
17
- unobserveEndpoint(idJob: number): Promise<void>;
18
- restartSubscriptions(): void;
19
- clearPendingSubscriptions(): void;
20
- clearPendingSubscription(idJob: number): void;
21
- private lossHandler;
22
- private updateHandler;
23
- private findSubject;
24
- }
@@ -1,37 +0,0 @@
1
- import type { Operation } from 'fast-json-patch';
2
- import { Subject } from 'rxjs';
3
- import type { ObserveOptions, RequestResult } from '../../common/interfaces';
4
- import type { HighLevelRequestMethod, HighLevelResponse, JobObservable, HighLevelRequestOptions } from '../../message';
5
- import type { SubjectManager } from './SubjectManager';
6
- import type { LoggerInterface } from '../../logger';
7
- import type { RequestModule } from '../RequestModule';
8
- export interface JobRequest {
9
- path: string;
10
- data: Record<string, unknown>;
11
- method: HighLevelRequestMethod;
12
- subject: Subject<JobObservable<RequestResult>>;
13
- observable: JobObservable<RequestResult>;
14
- options?: ObserveOptions;
15
- requestOptions?: HighLevelRequestOptions;
16
- }
17
- export declare class EndpointHandler {
18
- private readonly responses;
19
- private readonly requestToJobMapper;
20
- private readonly requestModule;
21
- private logger;
22
- private readonly subjectManager;
23
- private readonly resultMapper;
24
- private static readonly highLevelResponseFilter;
25
- constructor(requestModule: RequestModule, subjectManager: SubjectManager<HighLevelResponse>, logger: LoggerInterface);
26
- setLogger(logger: LoggerInterface): void;
27
- observe(method: HighLevelRequestMethod, path: string, data: Record<string, unknown>, options?: ObserveOptions, requestOptions?: HighLevelRequestOptions): JobObservable<RequestResult>;
28
- unobserve(idJob: number): Promise<void>;
29
- findSubject(idJob: number): Subject<HighLevelResponse> | undefined;
30
- registerEndpointResponse(idJob: number, response: HighLevelResponse): void;
31
- registerEndpointRequest(idJob: number, subject: Subject<JobObservable<RequestResult>>, observable: JobObservable<RequestResult>, method: HighLevelRequestMethod, path: string, data: Record<string, unknown>, options?: ObserveOptions, requestOptions?: HighLevelRequestOptions): void;
32
- applyEndpointJsonPatchUpdate(idJob: number, patch: Operation[]): HighLevelResponse;
33
- restartSubscriptions(): void;
34
- restartSubscription(jobId: number): void;
35
- private resubscribe;
36
- private validateOptions;
37
- }
@@ -1,21 +0,0 @@
1
- import type { LoggerInterface } from '../../logger';
2
- import type { Subject } from 'rxjs';
3
- import type { RequestQuality } from '../../common/types';
4
- import type { Mdg2Response } from '../../message';
5
- export interface SubjectContainer {
6
- subject: Subject<Mdg2Response>;
7
- serviceId: number;
8
- quality: RequestQuality;
9
- fieldInstances: number[];
10
- }
11
- export declare class SubjectManager<ResponseType = unknown> {
12
- private readonly logger;
13
- private readonly job;
14
- constructor(logger: LoggerInterface);
15
- hasJobSubject(idJob: number | string): boolean;
16
- registerJobSubject(idJob: number | string, subject: Subject<ResponseType>): void;
17
- findJobSubject(identifier: string | number): Subject<ResponseType> | undefined;
18
- removeJobSubject(idJob: number | string): void;
19
- getJobSubject(idJob: number | string): Subject<ResponseType> | undefined;
20
- get jobs(): Map<string, Subject<ResponseType>>;
21
- }
@@ -1,29 +0,0 @@
1
- import * as responses from './response';
2
- export declare const FLAG_HAS_NEXT_CHUNK = 8;
3
- export interface RawMessage {
4
- Message: string;
5
- header?: {
6
- id_job: number;
7
- processingTime: number;
8
- flags?: number;
9
- };
10
- body?: {
11
- value: string;
12
- };
13
- }
14
- export interface RawMdg2Response extends RawMessage {
15
- header: {
16
- id_job: number;
17
- processingTime: number;
18
- flags?: number;
19
- };
20
- body: {
21
- value: string;
22
- };
23
- }
24
- export declare class MessageFactory {
25
- private static readonly msgNameSeparator;
26
- private static readonly msgNameSeparatorLength;
27
- static createMessage(msg: any): responses.Mdg2Response;
28
- static hasNextChunk(msg: RawMessage): boolean;
29
- }
@@ -1,11 +0,0 @@
1
- import type { PermissionDeniedResponse } from '../index';
2
- import type { RawMessage } from './MessageFactory';
3
- import type { ErrorResponse, HighLevelResponse, Mdg2Response, RejectResponse } from './response';
4
- import type { HighLevelUpdate } from './update';
5
- export declare function isErrorResponse(response: Mdg2Response): response is ErrorResponse;
6
- export declare function isPermissionDeniedResponse(response: Mdg2Response): response is PermissionDeniedResponse;
7
- export declare function isHighLevelResponse(response: Mdg2Response): response is HighLevelResponse;
8
- export declare function isHighLevelResponseMessage(response: RawMessage): boolean;
9
- export declare function isRejectResponse(response: Mdg2Response): response is RejectResponse;
10
- export declare function isHighLevelUpdate(response: Mdg2Response): response is HighLevelUpdate;
11
- export declare function isSubscriptionLossMessage(response: Mdg2Response): boolean;
@@ -1,4 +0,0 @@
1
- import type { Observable } from 'rxjs';
2
- export interface JobObservable<T> extends Observable<T> {
3
- idJob?: number;
4
- }
@@ -1,4 +0,0 @@
1
- export declare class RawRequestFactory {
2
- static createFromString(json: string): Record<string, any>;
3
- static createFromObject(json: any): Record<string, any>;
4
- }
@@ -1,20 +0,0 @@
1
- import type { PtlMessage } from '../../common/interfaces';
2
- export interface AuthenticationByTokenResponse extends PtlMessage {
3
- server_info: {
4
- description: string;
5
- software: string;
6
- os: string;
7
- uuid: {
8
- id_1: string;
9
- id_2: string;
10
- };
11
- };
12
- feature_flags_granted: {
13
- value: string;
14
- };
15
- maximum_idle_interval: string;
16
- maximum_receivable_message_size: number;
17
- time_at_server: {
18
- microseconds: string;
19
- };
20
- }
@@ -1,3 +0,0 @@
1
- import { Mdg2Response } from './Mdg2Response';
2
- export declare class CancelSubscriptionResponse extends Mdg2Response {
3
- }
@@ -1,8 +0,0 @@
1
- import type { PtlMessage } from '../../common/interfaces';
2
- export interface LoadNotificationMessage extends PtlMessage {
3
- load: {
4
- capacity: number;
5
- idle: number;
6
- };
7
- client_load_share: number;
8
- }
@@ -1,4 +0,0 @@
1
- import { Mdg2Response } from './Mdg2Response';
2
- export declare class PermissionDeniedResponse extends Mdg2Response {
3
- get reason(): string;
4
- }
@@ -1,5 +0,0 @@
1
- import { Mdg2Response } from './Mdg2Response';
2
- export declare class RejectResponse extends Mdg2Response {
3
- get reason(): string;
4
- get jobId(): number;
5
- }
@@ -1,17 +0,0 @@
1
- import { Mdg2Response } from '../response';
2
- import type { PtlMessage } from '../../common/interfaces/PtlMessage';
3
- export interface ISubscriptionLossMessage extends PtlMessage {
4
- header: {
5
- id_job?: number;
6
- id_service?: number;
7
- processing_time?: number;
8
- };
9
- reason: {
10
- value: number;
11
- };
12
- }
13
- export declare class SubscriptionLossMessage extends Mdg2Response {
14
- private readonly reason;
15
- constructor(raw: ISubscriptionLossMessage);
16
- get reasonValue(): any;
17
- }
@@ -1,12 +0,0 @@
1
- export declare class TimeoutWrapper {
2
- _id: number | null;
3
- _delay: number | null;
4
- static wrap<T>(promise: Promise<T>, delay: number, rejectReason?: string): Promise<T>;
5
- constructor();
6
- get id(): number | null;
7
- get delay(): number | null;
8
- set<T>(delay: number, rejectReason?: string): Promise<T>;
9
- wrap<T>(promise: Promise<T>, delay: number, rejectReason?: string): Promise<T>;
10
- clear(): void;
11
- promiseFinally: <T>(promise: Promise<T>, fn: () => void) => Promise<T>;
12
- }