@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.
- package/CHANGELOG.md +97 -40
- package/dist/lib/esnext/FrontgateClient.js +0 -3
- package/dist/lib/esnext/authentication/index.js +3 -4
- package/dist/lib/esnext/common/errors.js +0 -35
- package/dist/lib/esnext/common/functions.js +0 -84
- package/dist/lib/esnext/common/interfaces/index.js +0 -1
- package/dist/lib/esnext/compat/index.js +0 -3
- package/dist/lib/esnext/connection/index.js +19 -6
- package/dist/lib/esnext/connection/util/functions.js +0 -56
- package/dist/lib/esnext/index.js +0 -1
- package/dist/lib/esnext/message/index.js +1 -1
- package/dist/lib/esnext/message/interfaces/index.js +0 -1
- package/dist/lib/esnext/message/request/TransportLayerClientRequestHeader.js +1 -1
- package/dist/lib/esnext/message/request/raw/example/CreateNotationSearchRequest.js +1 -1
- package/dist/lib/esnext/message/request/raw/index.js +0 -1
- package/dist/lib/esnext/message/response/index.js +0 -5
- package/dist/lib/esnext/message/update/index.js +0 -1
- package/dist/lib/esnext/mixins/EndpointRequestMixin.js +1 -1
- package/dist/lib/esnext/mixins/RemoteLoggerMixin.js +29 -0
- package/dist/lib/esnext/mixins/auth/AppAuthMixin.js +79 -11
- package/dist/lib/esnext/mixins/auth/SessionAuthMixin.js +76 -36
- package/dist/lib/esnext/mixins/auth/UserCredentialAuthMixin.js +82 -12
- package/dist/lib/esnext/mixins/auth/UserPasswordAuthMixin.js +80 -13
- package/dist/lib/esnext/mixins/auth/index.js +0 -31
- package/dist/lib/esnext/mixins/index.js +1 -0
- package/dist/lib/esnext/mixins/subscription/EndpointSubscriptionMixin.js +149 -122
- package/dist/lib/esnext/version.js +1 -1
- package/dist/lib/node/FrontgateClient.js +0 -3
- package/dist/lib/node/authentication/index.js +4 -4
- package/dist/lib/node/common/errors.js +1 -41
- package/dist/lib/node/common/functions.js +0 -92
- package/dist/lib/node/common/interfaces/index.js +0 -1
- package/dist/lib/node/compat/index.js +0 -3
- package/dist/lib/node/connection/index.js +20 -6
- package/dist/lib/node/connection/util/functions.js +0 -63
- package/dist/lib/node/index.js +1 -3
- package/dist/lib/node/message/index.js +2 -1
- package/dist/lib/node/message/interfaces/index.js +0 -1
- package/dist/lib/node/message/request/TransportLayerClientRequestHeader.js +3 -3
- package/dist/lib/node/message/request/raw/example/CreateNotationSearchRequest.js +3 -3
- package/dist/lib/node/message/request/raw/index.js +0 -1
- package/dist/lib/node/message/response/index.js +0 -5
- package/dist/lib/node/message/update/index.js +0 -1
- package/dist/lib/node/mixins/EndpointRequestMixin.js +2 -2
- package/dist/lib/node/mixins/RemoteLoggerMixin.js +33 -0
- package/dist/lib/node/mixins/auth/AppAuthMixin.js +78 -10
- package/dist/lib/node/mixins/auth/SessionAuthMixin.js +75 -35
- package/dist/lib/node/mixins/auth/UserCredentialAuthMixin.js +80 -10
- package/dist/lib/node/mixins/auth/UserPasswordAuthMixin.js +78 -11
- package/dist/lib/node/mixins/auth/index.js +0 -33
- package/dist/lib/node/mixins/index.js +1 -0
- package/dist/lib/node/mixins/subscription/EndpointSubscriptionMixin.js +149 -122
- package/dist/lib/node/version.js +1 -1
- package/dist/lib/types/FrontgateClient.d.ts +0 -1
- package/dist/lib/types/authentication/index.d.ts +3 -4
- package/dist/lib/types/authentication/util/ChallengeResolver.d.ts +2 -1
- package/dist/lib/types/common/errors.d.ts +0 -21
- package/dist/lib/types/common/functions.d.ts +0 -8
- package/dist/lib/types/common/interfaces/index.d.ts +0 -1
- package/dist/lib/types/compat/index.d.ts +0 -3
- package/dist/lib/types/connection/index.d.ts +16 -6
- package/dist/lib/types/connection/util/functions.d.ts +0 -18
- package/dist/lib/types/index.d.ts +0 -1
- package/dist/lib/types/message/index.d.ts +1 -1
- package/dist/lib/types/message/interfaces/index.d.ts +0 -1
- package/dist/lib/types/message/request/TransportLayerClientRequestHeader.d.ts +1 -0
- package/dist/lib/types/message/request/raw/index.d.ts +0 -1
- package/dist/lib/types/message/response/index.d.ts +0 -5
- package/dist/lib/types/message/update/index.d.ts +0 -1
- package/dist/lib/types/mixins/AuthTokenRequestMixin.d.ts +1 -2
- package/dist/lib/types/mixins/EndpointRequestMixin.d.ts +1 -2
- package/dist/lib/types/mixins/HTTPProxyRequestMixin.d.ts +1 -4
- package/dist/lib/types/mixins/LoggerMixin.d.ts +1 -2
- package/dist/lib/types/mixins/MessageCompressorMixin.d.ts +1 -2
- package/dist/lib/types/mixins/OpenTelemetryMixin.d.ts +1 -2
- package/dist/lib/types/mixins/PingMixin.d.ts +1 -2
- package/dist/lib/types/mixins/ReconnectMixin.d.ts +1 -2
- package/dist/lib/types/mixins/RemoteLoggerMixin.d.ts +16 -0
- package/dist/lib/types/mixins/RequestMixin.d.ts +1 -2
- package/dist/lib/types/mixins/auth/AppAuthMixin.d.ts +15 -8
- package/dist/lib/types/mixins/auth/CookieTokenAuthMixin.d.ts +1 -2
- package/dist/lib/types/mixins/auth/FetchAuthenticationMixin.d.ts +1 -2
- package/dist/lib/types/mixins/auth/SessionAuthMixin.d.ts +10 -5
- package/dist/lib/types/mixins/auth/TokenAuthMixin.d.ts +1 -2
- package/dist/lib/types/mixins/auth/UserCredentialAuthMixin.d.ts +15 -8
- package/dist/lib/types/mixins/auth/UserPasswordAuthMixin.d.ts +15 -8
- package/dist/lib/types/mixins/auth/index.d.ts +0 -8
- package/dist/lib/types/mixins/connection/FrontgateWSMixin.d.ts +1 -2
- package/dist/lib/types/mixins/index.d.ts +2 -1
- package/dist/lib/types/mixins/subscription/EndpointSubscriptionMixin.d.ts +4 -6
- package/dist/lib/types/mixins/subscription/RawSubscriptionMixin.d.ts +1 -2
- package/dist/lib/umd/mdg2.client.min.umd.js +1 -12
- package/dist/lib/umd/mdg2.client.umd.js +4061 -8138
- package/package.json +25 -28
- package/dist/lib/esnext/Mdg2Client.js +0 -185
- package/dist/lib/esnext/authentication/AbstractAuthentication.js +0 -49
- package/dist/lib/esnext/authentication/AppAuthentication.js +0 -70
- package/dist/lib/esnext/authentication/AuthenticationInterface.js +0 -1
- package/dist/lib/esnext/authentication/CookieTokenAuthentication.js +0 -18
- package/dist/lib/esnext/authentication/TokenAuthentication.js +0 -42
- package/dist/lib/esnext/authentication/UserCredentialAuthentication.js +0 -73
- package/dist/lib/esnext/authentication/UserPasswordAuthentication.js +0 -71
- package/dist/lib/esnext/common/Mdg2ClientOptions.js +0 -1
- package/dist/lib/esnext/common/constants.js +0 -10
- package/dist/lib/esnext/common/interfaces/observe/ObserveOptions.js +0 -1
- package/dist/lib/esnext/connection/AbstractFrontgateConnection.js +0 -324
- package/dist/lib/esnext/connection/ConnectionInterface.js +0 -1
- package/dist/lib/esnext/connection/FrontgateWSConnection.js +0 -281
- package/dist/lib/esnext/connection/JobPromise.js +0 -2
- package/dist/lib/esnext/connection/LatencyHandler.js +0 -1
- package/dist/lib/esnext/connection/LatencyTracker.js +0 -47
- package/dist/lib/esnext/connection/MessageProcessor.js +0 -1
- package/dist/lib/esnext/connection/util/Encoding.js +0 -14
- package/dist/lib/esnext/core/RequestModule.js +0 -349
- package/dist/lib/esnext/core/SubscriptionModule.js +0 -104
- package/dist/lib/esnext/core/subscription/EndpointHandler.js +0 -121
- package/dist/lib/esnext/core/subscription/SubjectManager.js +0 -39
- package/dist/lib/esnext/message/MessageFactory.js +0 -36
- package/dist/lib/esnext/message/guards.js +0 -21
- package/dist/lib/esnext/message/interfaces/JobObservable.js +0 -1
- package/dist/lib/esnext/message/request/raw/RawRequestFactory.js +0 -18
- package/dist/lib/esnext/message/response/AuthenticationByTokenResponse.js +0 -1
- package/dist/lib/esnext/message/response/CancelSubscriptionResponse.js +0 -3
- package/dist/lib/esnext/message/response/LoadNotificationMessage.js +0 -1
- package/dist/lib/esnext/message/response/PermissionDeniedResponse.js +0 -6
- package/dist/lib/esnext/message/response/RejectResponse.js +0 -9
- package/dist/lib/esnext/message/update/SubscriptionLossMessage.js +0 -10
- package/dist/lib/esnext/util/TimeOutWrapper.js +0 -51
- package/dist/lib/node/Mdg2Client.js +0 -189
- package/dist/lib/node/authentication/AbstractAuthentication.js +0 -53
- package/dist/lib/node/authentication/AppAuthentication.js +0 -74
- package/dist/lib/node/authentication/AuthenticationInterface.js +0 -2
- package/dist/lib/node/authentication/CookieTokenAuthentication.js +0 -22
- package/dist/lib/node/authentication/TokenAuthentication.js +0 -46
- package/dist/lib/node/authentication/UserCredentialAuthentication.js +0 -77
- package/dist/lib/node/authentication/UserPasswordAuthentication.js +0 -75
- package/dist/lib/node/common/Mdg2ClientOptions.js +0 -2
- package/dist/lib/node/common/constants.js +0 -13
- package/dist/lib/node/common/interfaces/observe/ObserveOptions.js +0 -2
- package/dist/lib/node/connection/AbstractFrontgateConnection.js +0 -328
- package/dist/lib/node/connection/ConnectionInterface.js +0 -2
- package/dist/lib/node/connection/FrontgateWSConnection.js +0 -288
- package/dist/lib/node/connection/JobPromise.js +0 -6
- package/dist/lib/node/connection/LatencyHandler.js +0 -2
- package/dist/lib/node/connection/LatencyTracker.js +0 -51
- package/dist/lib/node/connection/MessageProcessor.js +0 -2
- package/dist/lib/node/connection/util/Encoding.js +0 -18
- package/dist/lib/node/core/RequestModule.js +0 -353
- package/dist/lib/node/core/SubscriptionModule.js +0 -108
- package/dist/lib/node/core/subscription/EndpointHandler.js +0 -125
- package/dist/lib/node/core/subscription/SubjectManager.js +0 -43
- package/dist/lib/node/message/MessageFactory.js +0 -73
- package/dist/lib/node/message/guards.js +0 -30
- package/dist/lib/node/message/interfaces/JobObservable.js +0 -2
- package/dist/lib/node/message/request/raw/RawRequestFactory.js +0 -22
- package/dist/lib/node/message/response/AuthenticationByTokenResponse.js +0 -2
- package/dist/lib/node/message/response/CancelSubscriptionResponse.js +0 -7
- package/dist/lib/node/message/response/LoadNotificationMessage.js +0 -2
- package/dist/lib/node/message/response/PermissionDeniedResponse.js +0 -10
- package/dist/lib/node/message/response/RejectResponse.js +0 -13
- package/dist/lib/node/message/update/SubscriptionLossMessage.js +0 -14
- package/dist/lib/node/util/TimeOutWrapper.js +0 -55
- package/dist/lib/types/Mdg2Client.d.ts +0 -52
- package/dist/lib/types/authentication/AbstractAuthentication.d.ts +0 -17
- package/dist/lib/types/authentication/AppAuthentication.d.ts +0 -12
- package/dist/lib/types/authentication/AuthenticationInterface.d.ts +0 -9
- package/dist/lib/types/authentication/CookieTokenAuthentication.d.ts +0 -6
- package/dist/lib/types/authentication/TokenAuthentication.d.ts +0 -14
- package/dist/lib/types/authentication/UserCredentialAuthentication.d.ts +0 -13
- package/dist/lib/types/authentication/UserPasswordAuthentication.d.ts +0 -14
- package/dist/lib/types/common/Mdg2ClientOptions.d.ts +0 -12
- package/dist/lib/types/common/constants.d.ts +0 -11
- package/dist/lib/types/common/interfaces/observe/ObserveOptions.d.ts +0 -5
- package/dist/lib/types/connection/AbstractFrontgateConnection.d.ts +0 -116
- package/dist/lib/types/connection/ConnectionInterface.d.ts +0 -53
- package/dist/lib/types/connection/FrontgateWSConnection.d.ts +0 -23
- package/dist/lib/types/connection/JobPromise.d.ts +0 -3
- package/dist/lib/types/connection/LatencyHandler.d.ts +0 -1
- package/dist/lib/types/connection/LatencyTracker.d.ts +0 -13
- package/dist/lib/types/connection/MessageProcessor.d.ts +0 -2
- package/dist/lib/types/connection/util/Encoding.d.ts +0 -9
- package/dist/lib/types/core/RequestModule.d.ts +0 -78
- package/dist/lib/types/core/SubscriptionModule.d.ts +0 -24
- package/dist/lib/types/core/subscription/EndpointHandler.d.ts +0 -37
- package/dist/lib/types/core/subscription/SubjectManager.d.ts +0 -21
- package/dist/lib/types/message/MessageFactory.d.ts +0 -29
- package/dist/lib/types/message/guards.d.ts +0 -11
- package/dist/lib/types/message/interfaces/JobObservable.d.ts +0 -4
- package/dist/lib/types/message/request/raw/RawRequestFactory.d.ts +0 -4
- package/dist/lib/types/message/response/AuthenticationByTokenResponse.d.ts +0 -20
- package/dist/lib/types/message/response/CancelSubscriptionResponse.d.ts +0 -3
- package/dist/lib/types/message/response/LoadNotificationMessage.d.ts +0 -8
- package/dist/lib/types/message/response/PermissionDeniedResponse.d.ts +0 -4
- package/dist/lib/types/message/response/RejectResponse.d.ts +0 -5
- package/dist/lib/types/message/update/SubscriptionLossMessage.d.ts +0 -17
- 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 +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,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,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,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
|
-
}
|