@factset/frontgate-js-sdk 6.9.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.
- package/CHANGELOG.md +1112 -0
- package/LICENSE +201 -0
- package/README.md +44 -0
- package/dist/lib/esnext/FrontgateClient.js +142 -0
- package/dist/lib/esnext/FrontgateClient.js.map +1 -0
- package/dist/lib/esnext/Mdg2Client.js +186 -0
- package/dist/lib/esnext/Mdg2Client.js.map +1 -0
- package/dist/lib/esnext/authentication/AbstractAuthentication.js +50 -0
- package/dist/lib/esnext/authentication/AbstractAuthentication.js.map +1 -0
- package/dist/lib/esnext/authentication/AppAuthentication.js +71 -0
- package/dist/lib/esnext/authentication/AppAuthentication.js.map +1 -0
- package/dist/lib/esnext/authentication/AuthenticationInterface.js +2 -0
- package/dist/lib/esnext/authentication/AuthenticationInterface.js.map +1 -0
- package/dist/lib/esnext/authentication/CookieTokenAuthentication.js +19 -0
- package/dist/lib/esnext/authentication/CookieTokenAuthentication.js.map +1 -0
- package/dist/lib/esnext/authentication/CookieTokenAuthenticationFactors.js +16 -0
- package/dist/lib/esnext/authentication/CookieTokenAuthenticationFactors.js.map +1 -0
- package/dist/lib/esnext/authentication/TokenAuthentication.js +43 -0
- package/dist/lib/esnext/authentication/TokenAuthentication.js.map +1 -0
- package/dist/lib/esnext/authentication/UserCredentialAuthentication.js +74 -0
- package/dist/lib/esnext/authentication/UserCredentialAuthentication.js.map +1 -0
- package/dist/lib/esnext/authentication/UserPasswordAuthentication.js +72 -0
- package/dist/lib/esnext/authentication/UserPasswordAuthentication.js.map +1 -0
- package/dist/lib/esnext/authentication/index.js +6 -0
- package/dist/lib/esnext/authentication/index.js.map +1 -0
- package/dist/lib/esnext/authentication/util/ChallengeResolver.js +33 -0
- package/dist/lib/esnext/authentication/util/ChallengeResolver.js.map +1 -0
- package/dist/lib/esnext/authentication/util/SecretGenerator.js +63 -0
- package/dist/lib/esnext/authentication/util/SecretGenerator.js.map +1 -0
- package/dist/lib/esnext/authentication/util/index.js +3 -0
- package/dist/lib/esnext/authentication/util/index.js.map +1 -0
- package/dist/lib/esnext/common/Mdg2ClientOptions.js +2 -0
- package/dist/lib/esnext/common/Mdg2ClientOptions.js.map +1 -0
- package/dist/lib/esnext/common/constants.js +11 -0
- package/dist/lib/esnext/common/constants.js.map +1 -0
- package/dist/lib/esnext/common/errors.js +43 -0
- package/dist/lib/esnext/common/errors.js.map +1 -0
- package/dist/lib/esnext/common/functions.js +98 -0
- package/dist/lib/esnext/common/functions.js.map +1 -0
- package/dist/lib/esnext/common/interfaces/PtlMessage.js +2 -0
- package/dist/lib/esnext/common/interfaces/PtlMessage.js.map +1 -0
- package/dist/lib/esnext/common/interfaces/index.js +5 -0
- package/dist/lib/esnext/common/interfaces/index.js.map +1 -0
- package/dist/lib/esnext/common/interfaces/observe/ObserveOptions.js +2 -0
- package/dist/lib/esnext/common/interfaces/observe/ObserveOptions.js.map +1 -0
- package/dist/lib/esnext/common/interfaces/result/HTTPProxyRequestResult.js +2 -0
- package/dist/lib/esnext/common/interfaces/result/HTTPProxyRequestResult.js.map +1 -0
- package/dist/lib/esnext/common/interfaces/result/HighLevelRequestResult.js +2 -0
- package/dist/lib/esnext/common/interfaces/result/HighLevelRequestResult.js.map +1 -0
- package/dist/lib/esnext/common/interfaces/result/RequestResult.js +2 -0
- package/dist/lib/esnext/common/interfaces/result/RequestResult.js.map +1 -0
- package/dist/lib/esnext/common/types/Quality.js +2 -0
- package/dist/lib/esnext/common/types/Quality.js.map +1 -0
- package/dist/lib/esnext/common/types/RequestQuality.js +2 -0
- package/dist/lib/esnext/common/types/RequestQuality.js.map +1 -0
- package/dist/lib/esnext/common/types/index.js +3 -0
- package/dist/lib/esnext/common/types/index.js.map +1 -0
- package/dist/lib/esnext/compat/index.js +11 -0
- package/dist/lib/esnext/compat/index.js.map +1 -0
- package/dist/lib/esnext/connection/AbstractFrontgateConnection.js +325 -0
- package/dist/lib/esnext/connection/AbstractFrontgateConnection.js.map +1 -0
- package/dist/lib/esnext/connection/ConnectionInterface.js +2 -0
- package/dist/lib/esnext/connection/ConnectionInterface.js.map +1 -0
- package/dist/lib/esnext/connection/FrontgateWSConnection.js +282 -0
- package/dist/lib/esnext/connection/FrontgateWSConnection.js.map +1 -0
- package/dist/lib/esnext/connection/JobPromise.js +3 -0
- package/dist/lib/esnext/connection/JobPromise.js.map +1 -0
- package/dist/lib/esnext/connection/LatencyHandler.js +2 -0
- package/dist/lib/esnext/connection/LatencyHandler.js.map +1 -0
- package/dist/lib/esnext/connection/LatencyTracker.js +48 -0
- package/dist/lib/esnext/connection/LatencyTracker.js.map +1 -0
- package/dist/lib/esnext/connection/MessageProcessor.js +2 -0
- package/dist/lib/esnext/connection/MessageProcessor.js.map +1 -0
- package/dist/lib/esnext/connection/index.js +8 -0
- package/dist/lib/esnext/connection/index.js.map +1 -0
- package/dist/lib/esnext/connection/util/Compressor.js +52 -0
- package/dist/lib/esnext/connection/util/Compressor.js.map +1 -0
- package/dist/lib/esnext/connection/util/Encoding.js +15 -0
- package/dist/lib/esnext/connection/util/Encoding.js.map +1 -0
- package/dist/lib/esnext/connection/util/functions.js +66 -0
- package/dist/lib/esnext/connection/util/functions.js.map +1 -0
- package/dist/lib/esnext/core/RequestModule.js +350 -0
- package/dist/lib/esnext/core/RequestModule.js.map +1 -0
- package/dist/lib/esnext/core/SubscriptionModule.js +105 -0
- package/dist/lib/esnext/core/SubscriptionModule.js.map +1 -0
- package/dist/lib/esnext/core/subscription/EndpointHandler.js +122 -0
- package/dist/lib/esnext/core/subscription/EndpointHandler.js.map +1 -0
- package/dist/lib/esnext/core/subscription/SubjectManager.js +40 -0
- package/dist/lib/esnext/core/subscription/SubjectManager.js.map +1 -0
- package/dist/lib/esnext/index.js +11 -0
- package/dist/lib/esnext/index.js.map +1 -0
- package/dist/lib/esnext/logger/AbstractLogger.js +99 -0
- package/dist/lib/esnext/logger/AbstractLogger.js.map +1 -0
- package/dist/lib/esnext/logger/ConsoleLogger.js +33 -0
- package/dist/lib/esnext/logger/ConsoleLogger.js.map +1 -0
- package/dist/lib/esnext/logger/LoggerHelper.js +25 -0
- package/dist/lib/esnext/logger/LoggerHelper.js.map +1 -0
- package/dist/lib/esnext/logger/LoggerInterface.js +2 -0
- package/dist/lib/esnext/logger/LoggerInterface.js.map +1 -0
- package/dist/lib/esnext/logger/NullLogger.js +15 -0
- package/dist/lib/esnext/logger/NullLogger.js.map +1 -0
- package/dist/lib/esnext/logger/WinstonLogger.js +34 -0
- package/dist/lib/esnext/logger/WinstonLogger.js.map +1 -0
- package/dist/lib/esnext/logger/index.js +7 -0
- package/dist/lib/esnext/logger/index.js.map +1 -0
- package/dist/lib/esnext/message/MessageFactory.js +37 -0
- package/dist/lib/esnext/message/MessageFactory.js.map +1 -0
- package/dist/lib/esnext/message/guards.js +22 -0
- package/dist/lib/esnext/message/guards.js.map +1 -0
- package/dist/lib/esnext/message/index.js +7 -0
- package/dist/lib/esnext/message/index.js.map +1 -0
- package/dist/lib/esnext/message/interfaces/HTTPProxyRequestOptions.js +2 -0
- package/dist/lib/esnext/message/interfaces/HTTPProxyRequestOptions.js.map +1 -0
- package/dist/lib/esnext/message/interfaces/HighLevelRequestMethod.js +2 -0
- package/dist/lib/esnext/message/interfaces/HighLevelRequestMethod.js.map +1 -0
- package/dist/lib/esnext/message/interfaces/HighLevelRequestOptions.js +2 -0
- package/dist/lib/esnext/message/interfaces/HighLevelRequestOptions.js.map +1 -0
- package/dist/lib/esnext/message/interfaces/JobObservable.js +2 -0
- package/dist/lib/esnext/message/interfaces/JobObservable.js.map +1 -0
- package/dist/lib/esnext/message/interfaces/index.js +5 -0
- package/dist/lib/esnext/message/interfaces/index.js.map +1 -0
- package/dist/lib/esnext/message/request/AbstractMdg2Request.js +17 -0
- package/dist/lib/esnext/message/request/AbstractMdg2Request.js.map +1 -0
- package/dist/lib/esnext/message/request/AuthenticationByTokenRequest.js +32 -0
- package/dist/lib/esnext/message/request/AuthenticationByTokenRequest.js.map +1 -0
- package/dist/lib/esnext/message/request/AuthenticationRequest.js +30 -0
- package/dist/lib/esnext/message/request/AuthenticationRequest.js.map +1 -0
- package/dist/lib/esnext/message/request/AuthenticationTokenRequest.js +24 -0
- package/dist/lib/esnext/message/request/AuthenticationTokenRequest.js.map +1 -0
- package/dist/lib/esnext/message/request/CancelSubscriptionRequest.js +10 -0
- package/dist/lib/esnext/message/request/CancelSubscriptionRequest.js.map +1 -0
- package/dist/lib/esnext/message/request/ConfigurationRequest.js +76 -0
- package/dist/lib/esnext/message/request/ConfigurationRequest.js.map +1 -0
- package/dist/lib/esnext/message/request/HTTPProxyRequest.js +121 -0
- package/dist/lib/esnext/message/request/HTTPProxyRequest.js.map +1 -0
- package/dist/lib/esnext/message/request/HighLevelRequest.js +89 -0
- package/dist/lib/esnext/message/request/HighLevelRequest.js.map +1 -0
- package/dist/lib/esnext/message/request/PingRequest.js +23 -0
- package/dist/lib/esnext/message/request/PingRequest.js.map +1 -0
- package/dist/lib/esnext/message/request/TransportLayerClientRequestHeader.js +109 -0
- package/dist/lib/esnext/message/request/TransportLayerClientRequestHeader.js.map +1 -0
- package/dist/lib/esnext/message/request/index.js +10 -0
- package/dist/lib/esnext/message/request/index.js.map +1 -0
- package/dist/lib/esnext/message/request/raw/RawRequest.js +15 -0
- package/dist/lib/esnext/message/request/raw/RawRequest.js.map +1 -0
- package/dist/lib/esnext/message/request/raw/RawRequestFactory.js +19 -0
- package/dist/lib/esnext/message/request/raw/RawRequestFactory.js.map +1 -0
- package/dist/lib/esnext/message/request/raw/example/CreateNotationSearchRequest.js +568 -0
- package/dist/lib/esnext/message/request/raw/example/CreateNotationSearchRequest.js.map +1 -0
- package/dist/lib/esnext/message/request/raw/index.js +3 -0
- package/dist/lib/esnext/message/request/raw/index.js.map +1 -0
- package/dist/lib/esnext/message/response/AuthenticationByTokenResponse.js +2 -0
- package/dist/lib/esnext/message/response/AuthenticationByTokenResponse.js.map +1 -0
- package/dist/lib/esnext/message/response/AuthenticationResponse.js +2 -0
- package/dist/lib/esnext/message/response/AuthenticationResponse.js.map +1 -0
- package/dist/lib/esnext/message/response/AuthenticationTokenResponse.js +22 -0
- package/dist/lib/esnext/message/response/AuthenticationTokenResponse.js.map +1 -0
- package/dist/lib/esnext/message/response/CancelSubscriptionResponse.js +4 -0
- package/dist/lib/esnext/message/response/CancelSubscriptionResponse.js.map +1 -0
- package/dist/lib/esnext/message/response/ConfigurationResponse.js +2 -0
- package/dist/lib/esnext/message/response/ConfigurationResponse.js.map +1 -0
- package/dist/lib/esnext/message/response/DisconnectionMessage.js +2 -0
- package/dist/lib/esnext/message/response/DisconnectionMessage.js.map +1 -0
- package/dist/lib/esnext/message/response/ErrorResponse.js +10 -0
- package/dist/lib/esnext/message/response/ErrorResponse.js.map +1 -0
- package/dist/lib/esnext/message/response/HTTPProxyResponse.js +30 -0
- package/dist/lib/esnext/message/response/HTTPProxyResponse.js.map +1 -0
- package/dist/lib/esnext/message/response/HighLevelResponse.js +25 -0
- package/dist/lib/esnext/message/response/HighLevelResponse.js.map +1 -0
- package/dist/lib/esnext/message/response/LoadNotificationMessage.js +2 -0
- package/dist/lib/esnext/message/response/LoadNotificationMessage.js.map +1 -0
- package/dist/lib/esnext/message/response/Mdg2Response.js +28 -0
- package/dist/lib/esnext/message/response/Mdg2Response.js.map +1 -0
- package/dist/lib/esnext/message/response/PermissionDeniedResponse.js +7 -0
- package/dist/lib/esnext/message/response/PermissionDeniedResponse.js.map +1 -0
- package/dist/lib/esnext/message/response/PingResponse.js +32 -0
- package/dist/lib/esnext/message/response/PingResponse.js.map +1 -0
- package/dist/lib/esnext/message/response/RejectResponse.js +10 -0
- package/dist/lib/esnext/message/response/RejectResponse.js.map +1 -0
- package/dist/lib/esnext/message/response/index.js +14 -0
- package/dist/lib/esnext/message/response/index.js.map +1 -0
- package/dist/lib/esnext/message/types/Time.js +9 -0
- package/dist/lib/esnext/message/types/Time.js.map +1 -0
- package/dist/lib/esnext/message/types/TransportLayerClientRequestHeaderFlag.js +2 -0
- package/dist/lib/esnext/message/types/TransportLayerClientRequestHeaderFlag.js.map +1 -0
- package/dist/lib/esnext/message/types/index.js +3 -0
- package/dist/lib/esnext/message/types/index.js.map +1 -0
- package/dist/lib/esnext/message/update/HighLevelUpdate.js +19 -0
- package/dist/lib/esnext/message/update/HighLevelUpdate.js.map +1 -0
- package/dist/lib/esnext/message/update/SubscriptionLossMessage.js +11 -0
- package/dist/lib/esnext/message/update/SubscriptionLossMessage.js.map +1 -0
- package/dist/lib/esnext/message/update/index.js +3 -0
- package/dist/lib/esnext/message/update/index.js.map +1 -0
- package/dist/lib/esnext/mixins/AuthTokenRequestMixin.js +38 -0
- package/dist/lib/esnext/mixins/AuthTokenRequestMixin.js.map +1 -0
- package/dist/lib/esnext/mixins/EndpointRequestMixin.js +87 -0
- package/dist/lib/esnext/mixins/EndpointRequestMixin.js.map +1 -0
- package/dist/lib/esnext/mixins/HTTPProxyRequestMixin.js +47 -0
- package/dist/lib/esnext/mixins/HTTPProxyRequestMixin.js.map +1 -0
- package/dist/lib/esnext/mixins/LoggerMixin.js +19 -0
- package/dist/lib/esnext/mixins/LoggerMixin.js.map +1 -0
- package/dist/lib/esnext/mixins/MessageCompressorMixin.js +46 -0
- package/dist/lib/esnext/mixins/MessageCompressorMixin.js.map +1 -0
- package/dist/lib/esnext/mixins/OpenTelemetryMixin.js +65 -0
- package/dist/lib/esnext/mixins/OpenTelemetryMixin.js.map +1 -0
- package/dist/lib/esnext/mixins/ReconnectMixin.js +71 -0
- package/dist/lib/esnext/mixins/ReconnectMixin.js.map +1 -0
- package/dist/lib/esnext/mixins/RequestMixin.js +31 -0
- package/dist/lib/esnext/mixins/RequestMixin.js.map +1 -0
- package/dist/lib/esnext/mixins/auth/AppAuthMixin.js +43 -0
- package/dist/lib/esnext/mixins/auth/AppAuthMixin.js.map +1 -0
- package/dist/lib/esnext/mixins/auth/CookieTokenAuthMixin.js +47 -0
- package/dist/lib/esnext/mixins/auth/CookieTokenAuthMixin.js.map +1 -0
- package/dist/lib/esnext/mixins/auth/FetchAuthenticationMixin.js +128 -0
- package/dist/lib/esnext/mixins/auth/FetchAuthenticationMixin.js.map +1 -0
- package/dist/lib/esnext/mixins/auth/SessionAuthMixin.js +181 -0
- package/dist/lib/esnext/mixins/auth/SessionAuthMixin.js.map +1 -0
- package/dist/lib/esnext/mixins/auth/TokenAuthMixin.js +60 -0
- package/dist/lib/esnext/mixins/auth/TokenAuthMixin.js.map +1 -0
- package/dist/lib/esnext/mixins/auth/UserCredentialAuthMixin.js +44 -0
- package/dist/lib/esnext/mixins/auth/UserCredentialAuthMixin.js.map +1 -0
- package/dist/lib/esnext/mixins/auth/UserPasswordAuthMixin.js +44 -0
- package/dist/lib/esnext/mixins/auth/UserPasswordAuthMixin.js.map +1 -0
- package/dist/lib/esnext/mixins/auth/index.js +34 -0
- package/dist/lib/esnext/mixins/auth/index.js.map +1 -0
- package/dist/lib/esnext/mixins/connection/FrontgateWSMixin.js +326 -0
- package/dist/lib/esnext/mixins/connection/FrontgateWSMixin.js.map +1 -0
- package/dist/lib/esnext/mixins/connection/index.js +2 -0
- package/dist/lib/esnext/mixins/connection/index.js.map +1 -0
- package/dist/lib/esnext/mixins/index.js +20 -0
- package/dist/lib/esnext/mixins/index.js.map +1 -0
- package/dist/lib/esnext/mixins/subscription/DataObserver.js +117 -0
- package/dist/lib/esnext/mixins/subscription/DataObserver.js.map +1 -0
- package/dist/lib/esnext/mixins/subscription/EndpointSubscriptionMixin.js +193 -0
- package/dist/lib/esnext/mixins/subscription/EndpointSubscriptionMixin.js.map +1 -0
- package/dist/lib/esnext/mixins/subscription/RawSubscriptionMixin.js +156 -0
- package/dist/lib/esnext/mixins/subscription/RawSubscriptionMixin.js.map +1 -0
- package/dist/lib/esnext/mixins/subscription/index.js +4 -0
- package/dist/lib/esnext/mixins/subscription/index.js.map +1 -0
- package/dist/lib/esnext/util/TimeOutWrapper.js +52 -0
- package/dist/lib/esnext/util/TimeOutWrapper.js.map +1 -0
- package/dist/lib/esnext/util/functions.js +64 -0
- package/dist/lib/esnext/util/functions.js.map +1 -0
- package/dist/lib/esnext/version.js +2 -0
- package/dist/lib/esnext/version.js.map +1 -0
- package/dist/lib/node/FrontgateClient.js +147 -0
- package/dist/lib/node/FrontgateClient.js.map +1 -0
- package/dist/lib/node/Mdg2Client.js +190 -0
- package/dist/lib/node/Mdg2Client.js.map +1 -0
- package/dist/lib/node/authentication/AbstractAuthentication.js +54 -0
- package/dist/lib/node/authentication/AbstractAuthentication.js.map +1 -0
- package/dist/lib/node/authentication/AppAuthentication.js +75 -0
- package/dist/lib/node/authentication/AppAuthentication.js.map +1 -0
- package/dist/lib/node/authentication/AuthenticationInterface.js +3 -0
- package/dist/lib/node/authentication/AuthenticationInterface.js.map +1 -0
- package/dist/lib/node/authentication/CookieTokenAuthentication.js +23 -0
- package/dist/lib/node/authentication/CookieTokenAuthentication.js.map +1 -0
- package/dist/lib/node/authentication/CookieTokenAuthenticationFactors.js +20 -0
- package/dist/lib/node/authentication/CookieTokenAuthenticationFactors.js.map +1 -0
- package/dist/lib/node/authentication/TokenAuthentication.js +47 -0
- package/dist/lib/node/authentication/TokenAuthentication.js.map +1 -0
- package/dist/lib/node/authentication/UserCredentialAuthentication.js +78 -0
- package/dist/lib/node/authentication/UserCredentialAuthentication.js.map +1 -0
- package/dist/lib/node/authentication/UserPasswordAuthentication.js +76 -0
- package/dist/lib/node/authentication/UserPasswordAuthentication.js.map +1 -0
- package/dist/lib/node/authentication/index.js +22 -0
- package/dist/lib/node/authentication/index.js.map +1 -0
- package/dist/lib/node/authentication/util/ChallengeResolver.js +40 -0
- package/dist/lib/node/authentication/util/ChallengeResolver.js.map +1 -0
- package/dist/lib/node/authentication/util/SecretGenerator.js +67 -0
- package/dist/lib/node/authentication/util/SecretGenerator.js.map +1 -0
- package/dist/lib/node/authentication/util/index.js +19 -0
- package/dist/lib/node/authentication/util/index.js.map +1 -0
- package/dist/lib/node/common/Mdg2ClientOptions.js +3 -0
- package/dist/lib/node/common/Mdg2ClientOptions.js.map +1 -0
- package/dist/lib/node/common/constants.js +14 -0
- package/dist/lib/node/common/constants.js.map +1 -0
- package/dist/lib/node/common/errors.js +52 -0
- package/dist/lib/node/common/errors.js.map +1 -0
- package/dist/lib/node/common/functions.js +114 -0
- package/dist/lib/node/common/functions.js.map +1 -0
- package/dist/lib/node/common/interfaces/PtlMessage.js +3 -0
- package/dist/lib/node/common/interfaces/PtlMessage.js.map +1 -0
- package/dist/lib/node/common/interfaces/index.js +21 -0
- package/dist/lib/node/common/interfaces/index.js.map +1 -0
- package/dist/lib/node/common/interfaces/observe/ObserveOptions.js +3 -0
- package/dist/lib/node/common/interfaces/observe/ObserveOptions.js.map +1 -0
- package/dist/lib/node/common/interfaces/result/HTTPProxyRequestResult.js +3 -0
- package/dist/lib/node/common/interfaces/result/HTTPProxyRequestResult.js.map +1 -0
- package/dist/lib/node/common/interfaces/result/HighLevelRequestResult.js +3 -0
- package/dist/lib/node/common/interfaces/result/HighLevelRequestResult.js.map +1 -0
- package/dist/lib/node/common/interfaces/result/RequestResult.js +3 -0
- package/dist/lib/node/common/interfaces/result/RequestResult.js.map +1 -0
- package/dist/lib/node/common/types/Quality.js +3 -0
- package/dist/lib/node/common/types/Quality.js.map +1 -0
- package/dist/lib/node/common/types/RequestQuality.js +3 -0
- package/dist/lib/node/common/types/RequestQuality.js.map +1 -0
- package/dist/lib/node/common/types/index.js +19 -0
- package/dist/lib/node/common/types/index.js.map +1 -0
- package/dist/lib/node/compat/index.js +27 -0
- package/dist/lib/node/compat/index.js.map +1 -0
- package/dist/lib/node/connection/AbstractFrontgateConnection.js +329 -0
- package/dist/lib/node/connection/AbstractFrontgateConnection.js.map +1 -0
- package/dist/lib/node/connection/ConnectionInterface.js +3 -0
- package/dist/lib/node/connection/ConnectionInterface.js.map +1 -0
- package/dist/lib/node/connection/FrontgateWSConnection.js +289 -0
- package/dist/lib/node/connection/FrontgateWSConnection.js.map +1 -0
- package/dist/lib/node/connection/JobPromise.js +7 -0
- package/dist/lib/node/connection/JobPromise.js.map +1 -0
- package/dist/lib/node/connection/LatencyHandler.js +3 -0
- package/dist/lib/node/connection/LatencyHandler.js.map +1 -0
- package/dist/lib/node/connection/LatencyTracker.js +52 -0
- package/dist/lib/node/connection/LatencyTracker.js.map +1 -0
- package/dist/lib/node/connection/MessageProcessor.js +3 -0
- package/dist/lib/node/connection/MessageProcessor.js.map +1 -0
- package/dist/lib/node/connection/index.js +24 -0
- package/dist/lib/node/connection/index.js.map +1 -0
- package/dist/lib/node/connection/util/Compressor.js +56 -0
- package/dist/lib/node/connection/util/Compressor.js.map +1 -0
- package/dist/lib/node/connection/util/Encoding.js +19 -0
- package/dist/lib/node/connection/util/Encoding.js.map +1 -0
- package/dist/lib/node/connection/util/functions.js +76 -0
- package/dist/lib/node/connection/util/functions.js.map +1 -0
- package/dist/lib/node/core/RequestModule.js +354 -0
- package/dist/lib/node/core/RequestModule.js.map +1 -0
- package/dist/lib/node/core/SubscriptionModule.js +109 -0
- package/dist/lib/node/core/SubscriptionModule.js.map +1 -0
- package/dist/lib/node/core/subscription/EndpointHandler.js +126 -0
- package/dist/lib/node/core/subscription/EndpointHandler.js.map +1 -0
- package/dist/lib/node/core/subscription/SubjectManager.js +44 -0
- package/dist/lib/node/core/subscription/SubjectManager.js.map +1 -0
- package/dist/lib/node/index.js +32 -0
- package/dist/lib/node/index.js.map +1 -0
- package/dist/lib/node/logger/AbstractLogger.js +103 -0
- package/dist/lib/node/logger/AbstractLogger.js.map +1 -0
- package/dist/lib/node/logger/ConsoleLogger.js +37 -0
- package/dist/lib/node/logger/ConsoleLogger.js.map +1 -0
- package/dist/lib/node/logger/LoggerHelper.js +29 -0
- package/dist/lib/node/logger/LoggerHelper.js.map +1 -0
- package/dist/lib/node/logger/LoggerInterface.js +3 -0
- package/dist/lib/node/logger/LoggerInterface.js.map +1 -0
- package/dist/lib/node/logger/NullLogger.js +19 -0
- package/dist/lib/node/logger/NullLogger.js.map +1 -0
- package/dist/lib/node/logger/WinstonLogger.js +38 -0
- package/dist/lib/node/logger/WinstonLogger.js.map +1 -0
- package/dist/lib/node/logger/index.js +23 -0
- package/dist/lib/node/logger/index.js.map +1 -0
- package/dist/lib/node/message/MessageFactory.js +74 -0
- package/dist/lib/node/message/MessageFactory.js.map +1 -0
- package/dist/lib/node/message/guards.js +31 -0
- package/dist/lib/node/message/guards.js.map +1 -0
- package/dist/lib/node/message/index.js +23 -0
- package/dist/lib/node/message/index.js.map +1 -0
- package/dist/lib/node/message/interfaces/HTTPProxyRequestOptions.js +3 -0
- package/dist/lib/node/message/interfaces/HTTPProxyRequestOptions.js.map +1 -0
- package/dist/lib/node/message/interfaces/HighLevelRequestMethod.js +3 -0
- package/dist/lib/node/message/interfaces/HighLevelRequestMethod.js.map +1 -0
- package/dist/lib/node/message/interfaces/HighLevelRequestOptions.js +3 -0
- package/dist/lib/node/message/interfaces/HighLevelRequestOptions.js.map +1 -0
- package/dist/lib/node/message/interfaces/JobObservable.js +3 -0
- package/dist/lib/node/message/interfaces/JobObservable.js.map +1 -0
- package/dist/lib/node/message/interfaces/index.js +21 -0
- package/dist/lib/node/message/interfaces/index.js.map +1 -0
- package/dist/lib/node/message/request/AbstractMdg2Request.js +21 -0
- package/dist/lib/node/message/request/AbstractMdg2Request.js.map +1 -0
- package/dist/lib/node/message/request/AuthenticationByTokenRequest.js +36 -0
- package/dist/lib/node/message/request/AuthenticationByTokenRequest.js.map +1 -0
- package/dist/lib/node/message/request/AuthenticationRequest.js +34 -0
- package/dist/lib/node/message/request/AuthenticationRequest.js.map +1 -0
- package/dist/lib/node/message/request/AuthenticationTokenRequest.js +28 -0
- package/dist/lib/node/message/request/AuthenticationTokenRequest.js.map +1 -0
- package/dist/lib/node/message/request/CancelSubscriptionRequest.js +14 -0
- package/dist/lib/node/message/request/CancelSubscriptionRequest.js.map +1 -0
- package/dist/lib/node/message/request/ConfigurationRequest.js +80 -0
- package/dist/lib/node/message/request/ConfigurationRequest.js.map +1 -0
- package/dist/lib/node/message/request/HTTPProxyRequest.js +125 -0
- package/dist/lib/node/message/request/HTTPProxyRequest.js.map +1 -0
- package/dist/lib/node/message/request/HighLevelRequest.js +93 -0
- package/dist/lib/node/message/request/HighLevelRequest.js.map +1 -0
- package/dist/lib/node/message/request/PingRequest.js +27 -0
- package/dist/lib/node/message/request/PingRequest.js.map +1 -0
- package/dist/lib/node/message/request/TransportLayerClientRequestHeader.js +113 -0
- package/dist/lib/node/message/request/TransportLayerClientRequestHeader.js.map +1 -0
- package/dist/lib/node/message/request/index.js +26 -0
- package/dist/lib/node/message/request/index.js.map +1 -0
- package/dist/lib/node/message/request/raw/RawRequest.js +22 -0
- package/dist/lib/node/message/request/raw/RawRequest.js.map +1 -0
- package/dist/lib/node/message/request/raw/RawRequestFactory.js +23 -0
- package/dist/lib/node/message/request/raw/RawRequestFactory.js.map +1 -0
- package/dist/lib/node/message/request/raw/example/CreateNotationSearchRequest.js +572 -0
- package/dist/lib/node/message/request/raw/example/CreateNotationSearchRequest.js.map +1 -0
- package/dist/lib/node/message/request/raw/index.js +19 -0
- package/dist/lib/node/message/request/raw/index.js.map +1 -0
- package/dist/lib/node/message/response/AuthenticationByTokenResponse.js +3 -0
- package/dist/lib/node/message/response/AuthenticationByTokenResponse.js.map +1 -0
- package/dist/lib/node/message/response/AuthenticationResponse.js +3 -0
- package/dist/lib/node/message/response/AuthenticationResponse.js.map +1 -0
- package/dist/lib/node/message/response/AuthenticationTokenResponse.js +26 -0
- package/dist/lib/node/message/response/AuthenticationTokenResponse.js.map +1 -0
- package/dist/lib/node/message/response/CancelSubscriptionResponse.js +8 -0
- package/dist/lib/node/message/response/CancelSubscriptionResponse.js.map +1 -0
- package/dist/lib/node/message/response/ConfigurationResponse.js +3 -0
- package/dist/lib/node/message/response/ConfigurationResponse.js.map +1 -0
- package/dist/lib/node/message/response/DisconnectionMessage.js +3 -0
- package/dist/lib/node/message/response/DisconnectionMessage.js.map +1 -0
- package/dist/lib/node/message/response/ErrorResponse.js +14 -0
- package/dist/lib/node/message/response/ErrorResponse.js.map +1 -0
- package/dist/lib/node/message/response/HTTPProxyResponse.js +34 -0
- package/dist/lib/node/message/response/HTTPProxyResponse.js.map +1 -0
- package/dist/lib/node/message/response/HighLevelResponse.js +29 -0
- package/dist/lib/node/message/response/HighLevelResponse.js.map +1 -0
- package/dist/lib/node/message/response/LoadNotificationMessage.js +3 -0
- package/dist/lib/node/message/response/LoadNotificationMessage.js.map +1 -0
- package/dist/lib/node/message/response/Mdg2Response.js +32 -0
- package/dist/lib/node/message/response/Mdg2Response.js.map +1 -0
- package/dist/lib/node/message/response/PermissionDeniedResponse.js +11 -0
- package/dist/lib/node/message/response/PermissionDeniedResponse.js.map +1 -0
- package/dist/lib/node/message/response/PingResponse.js +36 -0
- package/dist/lib/node/message/response/PingResponse.js.map +1 -0
- package/dist/lib/node/message/response/RejectResponse.js +14 -0
- package/dist/lib/node/message/response/RejectResponse.js.map +1 -0
- package/dist/lib/node/message/response/index.js +30 -0
- package/dist/lib/node/message/response/index.js.map +1 -0
- package/dist/lib/node/message/types/Time.js +13 -0
- package/dist/lib/node/message/types/Time.js.map +1 -0
- package/dist/lib/node/message/types/TransportLayerClientRequestHeaderFlag.js +3 -0
- package/dist/lib/node/message/types/TransportLayerClientRequestHeaderFlag.js.map +1 -0
- package/dist/lib/node/message/types/index.js +19 -0
- package/dist/lib/node/message/types/index.js.map +1 -0
- package/dist/lib/node/message/update/HighLevelUpdate.js +23 -0
- package/dist/lib/node/message/update/HighLevelUpdate.js.map +1 -0
- package/dist/lib/node/message/update/SubscriptionLossMessage.js +15 -0
- package/dist/lib/node/message/update/SubscriptionLossMessage.js.map +1 -0
- package/dist/lib/node/message/update/index.js +19 -0
- package/dist/lib/node/message/update/index.js.map +1 -0
- package/dist/lib/node/mixins/AuthTokenRequestMixin.js +42 -0
- package/dist/lib/node/mixins/AuthTokenRequestMixin.js.map +1 -0
- package/dist/lib/node/mixins/EndpointRequestMixin.js +91 -0
- package/dist/lib/node/mixins/EndpointRequestMixin.js.map +1 -0
- package/dist/lib/node/mixins/HTTPProxyRequestMixin.js +51 -0
- package/dist/lib/node/mixins/HTTPProxyRequestMixin.js.map +1 -0
- package/dist/lib/node/mixins/LoggerMixin.js +23 -0
- package/dist/lib/node/mixins/LoggerMixin.js.map +1 -0
- package/dist/lib/node/mixins/MessageCompressorMixin.js +50 -0
- package/dist/lib/node/mixins/MessageCompressorMixin.js.map +1 -0
- package/dist/lib/node/mixins/OpenTelemetryMixin.js +70 -0
- package/dist/lib/node/mixins/OpenTelemetryMixin.js.map +1 -0
- package/dist/lib/node/mixins/ReconnectMixin.js +75 -0
- package/dist/lib/node/mixins/ReconnectMixin.js.map +1 -0
- package/dist/lib/node/mixins/RequestMixin.js +35 -0
- package/dist/lib/node/mixins/RequestMixin.js.map +1 -0
- package/dist/lib/node/mixins/auth/AppAuthMixin.js +47 -0
- package/dist/lib/node/mixins/auth/AppAuthMixin.js.map +1 -0
- package/dist/lib/node/mixins/auth/CookieTokenAuthMixin.js +51 -0
- package/dist/lib/node/mixins/auth/CookieTokenAuthMixin.js.map +1 -0
- package/dist/lib/node/mixins/auth/FetchAuthenticationMixin.js +132 -0
- package/dist/lib/node/mixins/auth/FetchAuthenticationMixin.js.map +1 -0
- package/dist/lib/node/mixins/auth/SessionAuthMixin.js +185 -0
- package/dist/lib/node/mixins/auth/SessionAuthMixin.js.map +1 -0
- package/dist/lib/node/mixins/auth/TokenAuthMixin.js +64 -0
- package/dist/lib/node/mixins/auth/TokenAuthMixin.js.map +1 -0
- package/dist/lib/node/mixins/auth/UserCredentialAuthMixin.js +48 -0
- package/dist/lib/node/mixins/auth/UserCredentialAuthMixin.js.map +1 -0
- package/dist/lib/node/mixins/auth/UserPasswordAuthMixin.js +48 -0
- package/dist/lib/node/mixins/auth/UserPasswordAuthMixin.js.map +1 -0
- package/dist/lib/node/mixins/auth/index.js +52 -0
- package/dist/lib/node/mixins/auth/index.js.map +1 -0
- package/dist/lib/node/mixins/connection/FrontgateWSMixin.js +333 -0
- package/dist/lib/node/mixins/connection/FrontgateWSMixin.js.map +1 -0
- package/dist/lib/node/mixins/connection/index.js +18 -0
- package/dist/lib/node/mixins/connection/index.js.map +1 -0
- package/dist/lib/node/mixins/index.js +38 -0
- package/dist/lib/node/mixins/index.js.map +1 -0
- package/dist/lib/node/mixins/subscription/DataObserver.js +122 -0
- package/dist/lib/node/mixins/subscription/DataObserver.js.map +1 -0
- package/dist/lib/node/mixins/subscription/EndpointSubscriptionMixin.js +197 -0
- package/dist/lib/node/mixins/subscription/EndpointSubscriptionMixin.js.map +1 -0
- package/dist/lib/node/mixins/subscription/RawSubscriptionMixin.js +160 -0
- package/dist/lib/node/mixins/subscription/RawSubscriptionMixin.js.map +1 -0
- package/dist/lib/node/mixins/subscription/index.js +20 -0
- package/dist/lib/node/mixins/subscription/index.js.map +1 -0
- package/dist/lib/node/util/TimeOutWrapper.js +56 -0
- package/dist/lib/node/util/TimeOutWrapper.js.map +1 -0
- package/dist/lib/node/util/functions.js +75 -0
- package/dist/lib/node/util/functions.js.map +1 -0
- package/dist/lib/node/version.js +5 -0
- package/dist/lib/node/version.js.map +1 -0
- package/dist/lib/types/FrontgateClient.d.ts +39 -0
- package/dist/lib/types/Mdg2Client.d.ts +52 -0
- package/dist/lib/types/authentication/AbstractAuthentication.d.ts +17 -0
- package/dist/lib/types/authentication/AppAuthentication.d.ts +12 -0
- package/dist/lib/types/authentication/AuthenticationInterface.d.ts +9 -0
- package/dist/lib/types/authentication/CookieTokenAuthentication.d.ts +6 -0
- package/dist/lib/types/authentication/CookieTokenAuthenticationFactors.d.ts +7 -0
- package/dist/lib/types/authentication/TokenAuthentication.d.ts +14 -0
- package/dist/lib/types/authentication/UserCredentialAuthentication.d.ts +13 -0
- package/dist/lib/types/authentication/UserPasswordAuthentication.d.ts +14 -0
- package/dist/lib/types/authentication/index.d.ts +5 -0
- package/dist/lib/types/authentication/util/ChallengeResolver.d.ts +15 -0
- package/dist/lib/types/authentication/util/SecretGenerator.d.ts +14 -0
- package/dist/lib/types/authentication/util/index.d.ts +2 -0
- package/dist/lib/types/common/Mdg2ClientOptions.d.ts +12 -0
- package/dist/lib/types/common/constants.d.ts +11 -0
- package/dist/lib/types/common/errors.d.ts +30 -0
- package/dist/lib/types/common/functions.d.ts +11 -0
- package/dist/lib/types/common/interfaces/PtlMessage.d.ts +5 -0
- package/dist/lib/types/common/interfaces/index.d.ts +5 -0
- package/dist/lib/types/common/interfaces/observe/ObserveOptions.d.ts +5 -0
- package/dist/lib/types/common/interfaces/result/HTTPProxyRequestResult.d.ts +6 -0
- package/dist/lib/types/common/interfaces/result/HighLevelRequestResult.d.ts +6 -0
- package/dist/lib/types/common/interfaces/result/RequestResult.d.ts +5 -0
- package/dist/lib/types/common/types/Quality.d.ts +1 -0
- package/dist/lib/types/common/types/RequestQuality.d.ts +2 -0
- package/dist/lib/types/common/types/index.d.ts +2 -0
- package/dist/lib/types/compat/index.d.ts +10 -0
- package/dist/lib/types/connection/AbstractFrontgateConnection.d.ts +116 -0
- package/dist/lib/types/connection/ConnectionInterface.d.ts +53 -0
- package/dist/lib/types/connection/FrontgateWSConnection.d.ts +23 -0
- package/dist/lib/types/connection/JobPromise.d.ts +3 -0
- package/dist/lib/types/connection/LatencyHandler.d.ts +1 -0
- package/dist/lib/types/connection/LatencyTracker.d.ts +13 -0
- package/dist/lib/types/connection/MessageProcessor.d.ts +2 -0
- package/dist/lib/types/connection/index.d.ts +7 -0
- package/dist/lib/types/connection/util/Compressor.d.ts +8 -0
- package/dist/lib/types/connection/util/Encoding.d.ts +9 -0
- package/dist/lib/types/connection/util/functions.d.ts +19 -0
- package/dist/lib/types/core/RequestModule.d.ts +78 -0
- package/dist/lib/types/core/SubscriptionModule.d.ts +24 -0
- package/dist/lib/types/core/subscription/EndpointHandler.d.ts +37 -0
- package/dist/lib/types/core/subscription/SubjectManager.d.ts +21 -0
- package/dist/lib/types/index.d.ts +10 -0
- package/dist/lib/types/logger/AbstractLogger.d.ts +32 -0
- package/dist/lib/types/logger/ConsoleLogger.d.ts +14 -0
- package/dist/lib/types/logger/LoggerHelper.d.ts +4 -0
- package/dist/lib/types/logger/LoggerInterface.d.ts +12 -0
- package/dist/lib/types/logger/NullLogger.d.ts +10 -0
- package/dist/lib/types/logger/WinstonLogger.d.ts +22 -0
- package/dist/lib/types/logger/index.d.ts +6 -0
- package/dist/lib/types/message/MessageFactory.d.ts +29 -0
- package/dist/lib/types/message/guards.d.ts +11 -0
- package/dist/lib/types/message/index.d.ts +6 -0
- package/dist/lib/types/message/interfaces/HTTPProxyRequestOptions.d.ts +15 -0
- package/dist/lib/types/message/interfaces/HighLevelRequestMethod.d.ts +1 -0
- package/dist/lib/types/message/interfaces/HighLevelRequestOptions.d.ts +9 -0
- package/dist/lib/types/message/interfaces/JobObservable.d.ts +4 -0
- package/dist/lib/types/message/interfaces/index.d.ts +4 -0
- package/dist/lib/types/message/request/AbstractMdg2Request.d.ts +12 -0
- package/dist/lib/types/message/request/AuthenticationByTokenRequest.d.ts +6 -0
- package/dist/lib/types/message/request/AuthenticationRequest.d.ts +17 -0
- package/dist/lib/types/message/request/AuthenticationTokenRequest.d.ts +9 -0
- package/dist/lib/types/message/request/CancelSubscriptionRequest.d.ts +6 -0
- package/dist/lib/types/message/request/ConfigurationRequest.d.ts +14 -0
- package/dist/lib/types/message/request/HTTPProxyRequest.d.ts +28 -0
- package/dist/lib/types/message/request/HighLevelRequest.d.ts +17 -0
- package/dist/lib/types/message/request/PingRequest.d.ts +16 -0
- package/dist/lib/types/message/request/TransportLayerClientRequestHeader.d.ts +53 -0
- package/dist/lib/types/message/request/index.d.ts +9 -0
- package/dist/lib/types/message/request/raw/RawRequest.d.ts +5 -0
- package/dist/lib/types/message/request/raw/RawRequestFactory.d.ts +4 -0
- package/dist/lib/types/message/request/raw/example/CreateNotationSearchRequest.d.ts +146 -0
- package/dist/lib/types/message/request/raw/index.d.ts +2 -0
- package/dist/lib/types/message/response/AuthenticationByTokenResponse.d.ts +20 -0
- package/dist/lib/types/message/response/AuthenticationResponse.d.ts +37 -0
- package/dist/lib/types/message/response/AuthenticationTokenResponse.d.ts +8 -0
- package/dist/lib/types/message/response/CancelSubscriptionResponse.d.ts +3 -0
- package/dist/lib/types/message/response/ConfigurationResponse.d.ts +44 -0
- package/dist/lib/types/message/response/DisconnectionMessage.d.ts +7 -0
- package/dist/lib/types/message/response/ErrorResponse.d.ts +5 -0
- package/dist/lib/types/message/response/HTTPProxyResponse.d.ts +30 -0
- package/dist/lib/types/message/response/HighLevelResponse.d.ts +25 -0
- package/dist/lib/types/message/response/LoadNotificationMessage.d.ts +8 -0
- package/dist/lib/types/message/response/Mdg2Response.d.ts +11 -0
- package/dist/lib/types/message/response/PermissionDeniedResponse.d.ts +4 -0
- package/dist/lib/types/message/response/PingResponse.d.ts +13 -0
- package/dist/lib/types/message/response/RejectResponse.d.ts +5 -0
- package/dist/lib/types/message/response/index.d.ts +13 -0
- package/dist/lib/types/message/types/Time.d.ts +6 -0
- package/dist/lib/types/message/types/TransportLayerClientRequestHeaderFlag.d.ts +1 -0
- package/dist/lib/types/message/types/index.d.ts +2 -0
- package/dist/lib/types/message/update/HighLevelUpdate.d.ts +6 -0
- package/dist/lib/types/message/update/SubscriptionLossMessage.d.ts +17 -0
- package/dist/lib/types/message/update/index.d.ts +2 -0
- package/dist/lib/types/mixins/AuthTokenRequestMixin.d.ts +22 -0
- package/dist/lib/types/mixins/EndpointRequestMixin.d.ts +23 -0
- package/dist/lib/types/mixins/HTTPProxyRequestMixin.d.ts +21 -0
- package/dist/lib/types/mixins/LoggerMixin.d.ts +12 -0
- package/dist/lib/types/mixins/MessageCompressorMixin.d.ts +14 -0
- package/dist/lib/types/mixins/OpenTelemetryMixin.d.ts +20 -0
- package/dist/lib/types/mixins/ReconnectMixin.d.ts +22 -0
- package/dist/lib/types/mixins/RequestMixin.d.ts +17 -0
- package/dist/lib/types/mixins/auth/AppAuthMixin.d.ts +15 -0
- package/dist/lib/types/mixins/auth/CookieTokenAuthMixin.d.ts +13 -0
- package/dist/lib/types/mixins/auth/FetchAuthenticationMixin.d.ts +54 -0
- package/dist/lib/types/mixins/auth/SessionAuthMixin.d.ts +58 -0
- package/dist/lib/types/mixins/auth/TokenAuthMixin.d.ts +18 -0
- package/dist/lib/types/mixins/auth/UserCredentialAuthMixin.d.ts +15 -0
- package/dist/lib/types/mixins/auth/UserPasswordAuthMixin.d.ts +15 -0
- package/dist/lib/types/mixins/auth/index.d.ts +16 -0
- package/dist/lib/types/mixins/connection/FrontgateWSMixin.d.ts +67 -0
- package/dist/lib/types/mixins/connection/index.d.ts +45 -0
- package/dist/lib/types/mixins/index.d.ts +28 -0
- package/dist/lib/types/mixins/subscription/DataObserver.d.ts +43 -0
- package/dist/lib/types/mixins/subscription/EndpointSubscriptionMixin.d.ts +26 -0
- package/dist/lib/types/mixins/subscription/RawSubscriptionMixin.d.ts +27 -0
- package/dist/lib/types/mixins/subscription/index.d.ts +8 -0
- package/dist/lib/types/util/TimeOutWrapper.d.ts +12 -0
- package/dist/lib/types/util/functions.d.ts +20 -0
- package/dist/lib/types/version.d.ts +4 -0
- package/dist/lib/umd/mdg2.client.min.umd.js +12 -0
- package/dist/lib/umd/mdg2.client.umd.js +8852 -0
- package/package.json +92 -0
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
2
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
3
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
4
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
5
|
+
};
|
|
6
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
7
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
8
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
9
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
10
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
11
|
+
};
|
|
12
|
+
var _FrontgateClientDataObserver_data, _FrontgateClientDataObserver_nextFn, _FrontgateClientDataObserver_errorFn;
|
|
13
|
+
import { ErrorResponse } from '../../message/response';
|
|
14
|
+
const getParentAndKey = (obj, path) => {
|
|
15
|
+
const parts = path.split('/').slice(1);
|
|
16
|
+
let parent = obj;
|
|
17
|
+
for (let i = 0; i < parts.length - 1; i++) {
|
|
18
|
+
const key = decodeURIComponent(parts[i]);
|
|
19
|
+
if (!(key in parent)) {
|
|
20
|
+
throw new Error(`Path not found: ${path}`);
|
|
21
|
+
}
|
|
22
|
+
parent = parent[key];
|
|
23
|
+
}
|
|
24
|
+
return [parent, decodeURIComponent(parts[parts.length - 1])];
|
|
25
|
+
};
|
|
26
|
+
const replace = (doc, path, value) => {
|
|
27
|
+
const [parent, key] = getParentAndKey(doc, path);
|
|
28
|
+
parent[key] = value;
|
|
29
|
+
};
|
|
30
|
+
const MAGIC_CHAR_END_OF_ARRAY = '-';
|
|
31
|
+
const add = (doc, path, value) => {
|
|
32
|
+
const [parent, key] = getParentAndKey(doc, path);
|
|
33
|
+
if (Array.isArray(parent)) {
|
|
34
|
+
if (key === MAGIC_CHAR_END_OF_ARRAY) {
|
|
35
|
+
parent.push(value);
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
parent.splice(parseInt(key, 10), 0, value);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
parent[key] = value;
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
const remove = (doc, path) => {
|
|
46
|
+
const [parent, key] = getParentAndKey(doc, path);
|
|
47
|
+
if (Array.isArray(parent)) {
|
|
48
|
+
parent.splice(parseInt(key, 10), 1);
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
delete parent[key];
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
function applyJsonPatch(doc, patch) {
|
|
55
|
+
patch.forEach((op) => {
|
|
56
|
+
switch (op.op) {
|
|
57
|
+
case 'replace':
|
|
58
|
+
replace(doc, op.path, op.value);
|
|
59
|
+
break;
|
|
60
|
+
case 'add':
|
|
61
|
+
add(doc, op.path, op.value);
|
|
62
|
+
break;
|
|
63
|
+
case 'remove':
|
|
64
|
+
remove(doc, op.path);
|
|
65
|
+
break;
|
|
66
|
+
case 'move':
|
|
67
|
+
case 'copy':
|
|
68
|
+
case 'test':
|
|
69
|
+
default:
|
|
70
|
+
throw new Error(`Unsupported op: ${op.op}`);
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
return doc;
|
|
74
|
+
}
|
|
75
|
+
export class FrontgateClientDataObserver {
|
|
76
|
+
get data() {
|
|
77
|
+
return __classPrivateFieldGet(this, _FrontgateClientDataObserver_data, "f");
|
|
78
|
+
}
|
|
79
|
+
constructor(idJob, data) {
|
|
80
|
+
_FrontgateClientDataObserver_data.set(this, void 0);
|
|
81
|
+
_FrontgateClientDataObserver_nextFn.set(this, []);
|
|
82
|
+
_FrontgateClientDataObserver_errorFn.set(this, []);
|
|
83
|
+
__classPrivateFieldSet(this, _FrontgateClientDataObserver_data, data, "f");
|
|
84
|
+
this.idJob = idJob;
|
|
85
|
+
}
|
|
86
|
+
subscribe({ next, error }) {
|
|
87
|
+
next(__classPrivateFieldGet(this, _FrontgateClientDataObserver_data, "f"));
|
|
88
|
+
if (error) {
|
|
89
|
+
__classPrivateFieldGet(this, _FrontgateClientDataObserver_errorFn, "f").push(error);
|
|
90
|
+
}
|
|
91
|
+
__classPrivateFieldGet(this, _FrontgateClientDataObserver_nextFn, "f").push(next);
|
|
92
|
+
}
|
|
93
|
+
pushData(data) {
|
|
94
|
+
__classPrivateFieldSet(this, _FrontgateClientDataObserver_data, data, "f");
|
|
95
|
+
__classPrivateFieldGet(this, _FrontgateClientDataObserver_nextFn, "f").forEach((fn) => {
|
|
96
|
+
fn(data);
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
pushError(error) {
|
|
100
|
+
__classPrivateFieldGet(this, _FrontgateClientDataObserver_errorFn, "f").forEach((fn) => {
|
|
101
|
+
fn(error);
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
_FrontgateClientDataObserver_data = new WeakMap(), _FrontgateClientDataObserver_nextFn = new WeakMap(), _FrontgateClientDataObserver_errorFn = new WeakMap();
|
|
106
|
+
export class FrontgateClientEndpointDataObserver extends FrontgateClientDataObserver {
|
|
107
|
+
pushPatchData(update) {
|
|
108
|
+
try {
|
|
109
|
+
const data = applyJsonPatch(this.data, update);
|
|
110
|
+
super.pushData(data);
|
|
111
|
+
}
|
|
112
|
+
catch (e) {
|
|
113
|
+
super.pushError(new ErrorResponse(e.message));
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=DataObserver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataObserver.js","sourceRoot":"","sources":["../../../../../src/mixins/subscription/DataObserver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
2
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
3
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
4
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
5
|
+
};
|
|
6
|
+
import { createExtendedMixinFactory, FrontgateClientEndpointDataObserver } from '../';
|
|
7
|
+
import { LogLevel } from '../../logger';
|
|
8
|
+
import { HighLevelRequest, ErrorResponse, HighLevelUpdate, CancelSubscriptionRequest, } from '../../message';
|
|
9
|
+
import { useTimeout, addRandomnessToTime } from '../../util/functions';
|
|
10
|
+
export const endpointSubscriptions = (originalConfig) => {
|
|
11
|
+
const mixinEndpointSubscribable = (Base) => {
|
|
12
|
+
var _subscriptions, _a;
|
|
13
|
+
const config = { ...originalConfig };
|
|
14
|
+
return _a = class extends Base {
|
|
15
|
+
constructor() {
|
|
16
|
+
super(...arguments);
|
|
17
|
+
_subscriptions.set(this, new Map());
|
|
18
|
+
}
|
|
19
|
+
async observeEndpoint(method, path, data, requestOptions) {
|
|
20
|
+
const key = `${method}:${path}:${JSON.stringify(data)}:${JSON.stringify(requestOptions ?? {})}`;
|
|
21
|
+
const timeOutInMs = config.timeout ?? this.defaultTimeoutInMs;
|
|
22
|
+
const resubscribeTimeout = config.subscriptionResubscribeTimeout ?? 1000;
|
|
23
|
+
if (__classPrivateFieldGet(this, _subscriptions, "f").has(key)) {
|
|
24
|
+
const subscription = __classPrivateFieldGet(this, _subscriptions, "f").get(key);
|
|
25
|
+
if (subscription) {
|
|
26
|
+
subscription.count++;
|
|
27
|
+
this.log(LogLevel.INFO, `Reusing existing subscription for ${key}`);
|
|
28
|
+
return subscription.observer;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
this.log(LogLevel.INFO, `Creating new subscription for ${key}`);
|
|
32
|
+
const subscriptionRequest = new HighLevelRequest(method, path, data, { ...requestOptions, subscribe: true });
|
|
33
|
+
subscriptionRequest.header.setTimeout(timeOutInMs);
|
|
34
|
+
const subscriptionMsg = {
|
|
35
|
+
message: subscriptionRequest.getPtlMessage(),
|
|
36
|
+
callbackType: 'job',
|
|
37
|
+
callbackId: '',
|
|
38
|
+
};
|
|
39
|
+
await this.hooks.callHook('frontgateConnection:sendMessage', subscriptionMsg);
|
|
40
|
+
const promise = new Promise((resolve, reject) => {
|
|
41
|
+
this.hooks.hookOnce(`frontgateConnection:response:${subscriptionMsg.callbackId}`, (response) => {
|
|
42
|
+
if (!response.Message.includes('HighLevelResponse')) {
|
|
43
|
+
this.log(LogLevel.ERROR, `Unexpected response: ${response.Message}`);
|
|
44
|
+
reject(new ErrorResponse(JSON.stringify(response)));
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
let hlResponseData;
|
|
48
|
+
try {
|
|
49
|
+
hlResponseData = JSON.parse(response.body.value);
|
|
50
|
+
}
|
|
51
|
+
catch (e) {
|
|
52
|
+
this.log(LogLevel.ERROR, `Failed to parse response: ${response.body.value}`);
|
|
53
|
+
this.log(LogLevel.ERROR, e);
|
|
54
|
+
reject(e);
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
const observer = new FrontgateClientEndpointDataObserver(response.header.id_job, hlResponseData);
|
|
58
|
+
let removeMessageUpdateHook = this.hooks.hook(`frontgateConnection:response:${subscriptionMsg.callbackId}`, (update) => {
|
|
59
|
+
if (!update.Message.includes('HighLevelUpdate')) {
|
|
60
|
+
if (update.Message.includes('SubscriptionLoss')) {
|
|
61
|
+
this.log(LogLevel.DEBUG, `Received: ${update.Message}`);
|
|
62
|
+
setTimeout(() => {
|
|
63
|
+
void resubscribe();
|
|
64
|
+
}, addRandomnessToTime(resubscribeTimeout));
|
|
65
|
+
removeMessageUpdateHook();
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
this.log(LogLevel.ERROR, `Unexpected response: ${response.Message}`);
|
|
69
|
+
observer.pushError(new ErrorResponse(JSON.stringify(update)));
|
|
70
|
+
removeMessageUpdateHook();
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
let hlUpdate;
|
|
74
|
+
try {
|
|
75
|
+
hlUpdate = new HighLevelUpdate(update);
|
|
76
|
+
}
|
|
77
|
+
catch (e) {
|
|
78
|
+
this.log(LogLevel.ERROR, `Failed to parse response: ${update.body.value}`);
|
|
79
|
+
observer.pushError(e);
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
observer.pushPatchData(hlUpdate.data);
|
|
83
|
+
});
|
|
84
|
+
const resubscribe = async () => {
|
|
85
|
+
removeMessageUpdateHook();
|
|
86
|
+
this.log(LogLevel.INFO, `Resubscribing to ${key} due to reconnect`);
|
|
87
|
+
await this.hooks.callHook('frontgateConnection:sendMessage', subscriptionMsg);
|
|
88
|
+
const resubscribePromise = new Promise((res, rej) => {
|
|
89
|
+
this.hooks.hookOnce(`frontgateConnection:response:${subscriptionMsg.callbackId}`, (resp) => {
|
|
90
|
+
if (!response.Message.includes('HighLevelResponse')) {
|
|
91
|
+
const err = new ErrorResponse(resp);
|
|
92
|
+
this.log(LogLevel.ERROR, `Unexpected response: ${resp.Message}`);
|
|
93
|
+
removeMessageUpdateHook();
|
|
94
|
+
rej(err);
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
this.log(LogLevel.INFO, `Resubscribed to ${key} with ${resp.header.id_job}`);
|
|
98
|
+
observer.idJob = resp.header.id_job;
|
|
99
|
+
removeMessageUpdateHook = this.hooks.hook(`frontgateConnection:response:${resp.header.id_job}`, (update) => {
|
|
100
|
+
if (!update.Message.includes('HighLevelUpdate')) {
|
|
101
|
+
if (update.Message.includes('SubscriptionLoss')) {
|
|
102
|
+
this.log(LogLevel.DEBUG, `Received: ${update.Message}`);
|
|
103
|
+
setTimeout(() => {
|
|
104
|
+
void resubscribe();
|
|
105
|
+
}, addRandomnessToTime(resubscribeTimeout));
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
this.log(LogLevel.ERROR, `Unexpected response: ${update.Message}`);
|
|
109
|
+
const err = new ErrorResponse(update);
|
|
110
|
+
observer.pushError(err);
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
let hlUpdate;
|
|
114
|
+
try {
|
|
115
|
+
hlUpdate = new HighLevelUpdate(update);
|
|
116
|
+
}
|
|
117
|
+
catch (e) {
|
|
118
|
+
this.log(LogLevel.ERROR, `Failed to parse response: ${update.body.value}`);
|
|
119
|
+
observer.pushError(e);
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
observer.unsubscribe = () => {
|
|
123
|
+
const subscription = __classPrivateFieldGet(this, _subscriptions, "f").get(key);
|
|
124
|
+
if (subscription) {
|
|
125
|
+
subscription.count--;
|
|
126
|
+
if (subscription.count > 0) {
|
|
127
|
+
this.log(LogLevel.INFO, `Not unsubscribing from ${key} as there are still ${subscription.count} subscribers`);
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
__classPrivateFieldGet(this, _subscriptions, "f").delete(key);
|
|
131
|
+
}
|
|
132
|
+
this.log(LogLevel.INFO, `Unsubscribing from ${key}`);
|
|
133
|
+
const cancelationRequest = new CancelSubscriptionRequest(response.header.id_job);
|
|
134
|
+
const unsubscribeMsg = {
|
|
135
|
+
message: cancelationRequest.getPtlMessage(),
|
|
136
|
+
callbackType: 'job',
|
|
137
|
+
callbackId: '',
|
|
138
|
+
};
|
|
139
|
+
void this.hooks.callHook('frontgateConnection:sendMessage', unsubscribeMsg);
|
|
140
|
+
removeMessageUpdateHook();
|
|
141
|
+
removeReconnectHook();
|
|
142
|
+
};
|
|
143
|
+
observer.pushPatchData(hlUpdate.data);
|
|
144
|
+
});
|
|
145
|
+
res();
|
|
146
|
+
});
|
|
147
|
+
});
|
|
148
|
+
try {
|
|
149
|
+
await useTimeout(timeOutInMs, 'Request timeout reached', resubscribePromise);
|
|
150
|
+
}
|
|
151
|
+
catch (e) {
|
|
152
|
+
observer.pushError(new ErrorResponse({ Message: 'Reconnect failed', Error: e }));
|
|
153
|
+
}
|
|
154
|
+
};
|
|
155
|
+
const removeReconnectHook = this.hooks.hook('reconnect:success', resubscribe);
|
|
156
|
+
observer.unsubscribe = () => {
|
|
157
|
+
const subscription = __classPrivateFieldGet(this, _subscriptions, "f").get(key);
|
|
158
|
+
if (subscription) {
|
|
159
|
+
subscription.count--;
|
|
160
|
+
if (subscription.count > 0) {
|
|
161
|
+
this.log(LogLevel.INFO, `Not unsubscribing from ${key} as there are still ${subscription.count} subscribers`);
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
__classPrivateFieldGet(this, _subscriptions, "f").delete(key);
|
|
165
|
+
}
|
|
166
|
+
this.log(LogLevel.INFO, `Unsubscribing from ${key}`);
|
|
167
|
+
const cancelationRequest = new CancelSubscriptionRequest(response.header.id_job);
|
|
168
|
+
const unsubscribeMsg = {
|
|
169
|
+
message: cancelationRequest.getPtlMessage(),
|
|
170
|
+
callbackType: 'job',
|
|
171
|
+
callbackId: '',
|
|
172
|
+
};
|
|
173
|
+
void this.hooks.callHook('frontgateConnection:sendMessage', unsubscribeMsg);
|
|
174
|
+
removeMessageUpdateHook();
|
|
175
|
+
removeReconnectHook();
|
|
176
|
+
};
|
|
177
|
+
__classPrivateFieldGet(this, _subscriptions, "f").set(key, { observer, count: 1 });
|
|
178
|
+
resolve(observer);
|
|
179
|
+
});
|
|
180
|
+
});
|
|
181
|
+
const rejectReason = `Request timeout reached (${timeOutInMs} ms) for ${subscriptionMsg.message.Message}`;
|
|
182
|
+
return useTimeout(timeOutInMs, rejectReason, promise);
|
|
183
|
+
}
|
|
184
|
+
},
|
|
185
|
+
_subscriptions = new WeakMap(),
|
|
186
|
+
_a;
|
|
187
|
+
};
|
|
188
|
+
return createExtendedMixinFactory(mixinEndpointSubscribable, {
|
|
189
|
+
featureName: 'EndpointSubscriptions',
|
|
190
|
+
featureGroups: ['Misc'],
|
|
191
|
+
});
|
|
192
|
+
};
|
|
193
|
+
//# sourceMappingURL=EndpointSubscriptionMixin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EndpointSubscriptionMixin.js","sourceRoot":"","sources":["../../../../../src/mixins/subscription/EndpointSubscriptionMixin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
2
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
3
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
4
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
5
|
+
};
|
|
6
|
+
import { createExtendedMixinFactory, FrontgateClientDataObserver } from '../';
|
|
7
|
+
import { LogLevel } from '../../logger';
|
|
8
|
+
import { ErrorResponse, CancelSubscriptionRequest } from '../../message';
|
|
9
|
+
import { useTimeout } from '../../util/functions';
|
|
10
|
+
export const rawSubscriptions = () => {
|
|
11
|
+
const mixinRawSubscribable = (Base) => {
|
|
12
|
+
var _instances, _subscriptions, _rawSubscriptionHelper, _a;
|
|
13
|
+
return _a = class extends Base {
|
|
14
|
+
constructor() {
|
|
15
|
+
super(...arguments);
|
|
16
|
+
_instances.add(this);
|
|
17
|
+
_subscriptions.set(this, new Map());
|
|
18
|
+
}
|
|
19
|
+
async observe(request, timeOutInMs = this.defaultTimeoutInMs) {
|
|
20
|
+
return __classPrivateFieldGet(this, _instances, "m", _rawSubscriptionHelper).call(this, request, 'job', undefined, timeOutInMs);
|
|
21
|
+
}
|
|
22
|
+
async observeConnectionBased(request, CancelationRequestConstructor, timeOutInMs = this.defaultTimeoutInMs) {
|
|
23
|
+
return __classPrivateFieldGet(this, _instances, "m", _rawSubscriptionHelper).call(this, request, 'connection', CancelationRequestConstructor, timeOutInMs);
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
_subscriptions = new WeakMap(),
|
|
27
|
+
_instances = new WeakSet(),
|
|
28
|
+
_rawSubscriptionHelper = async function _rawSubscriptionHelper(request, subscriptionType, CancelationRequestConstructor, timeOutInMs = this.defaultTimeoutInMs) {
|
|
29
|
+
const key = JSON.stringify(request.getPtlMessage());
|
|
30
|
+
if (__classPrivateFieldGet(this, _subscriptions, "f").has(key)) {
|
|
31
|
+
const subscription = __classPrivateFieldGet(this, _subscriptions, "f").get(key);
|
|
32
|
+
if (subscription) {
|
|
33
|
+
subscription.count++;
|
|
34
|
+
this.log(LogLevel.INFO, `Reusing existing subscription for ${key}`);
|
|
35
|
+
return subscription.observer;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
this.log(LogLevel.INFO, `Creating new subscription for ${key}`);
|
|
39
|
+
const subscriptionRequest = request;
|
|
40
|
+
const subscriptionMsg = {
|
|
41
|
+
message: subscriptionRequest.getPtlMessage(),
|
|
42
|
+
callbackType: 'job',
|
|
43
|
+
callbackId: '',
|
|
44
|
+
};
|
|
45
|
+
await this.hooks.callHook('frontgateConnection:sendMessage', subscriptionMsg);
|
|
46
|
+
const promise = new Promise((resolve, reject) => {
|
|
47
|
+
this.hooks.hookOnce(`frontgateConnection:response:${subscriptionMsg.callbackId}`, (response) => {
|
|
48
|
+
if (response.Message.includes('Error') || response.Message.includes('PermissionDenied')) {
|
|
49
|
+
this.log(LogLevel.ERROR, `Unexpected response: ${response.Message}`);
|
|
50
|
+
reject(new Error(`Unexpected response: ${response.Message}`));
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
const subscriptionKey = subscriptionType === 'connection' ? `${response.header.id_service}-${request.getPtlMessage().id_notation}` : response.header.id_job;
|
|
54
|
+
const cancelationRequest = typeof CancelationRequestConstructor === 'undefined'
|
|
55
|
+
? new CancelSubscriptionRequest(response.header.id_job)
|
|
56
|
+
: new CancelationRequestConstructor(response.header.id_service, request.getPtlMessage().id_notation);
|
|
57
|
+
const observer = new FrontgateClientDataObserver(response.header.id_job, response);
|
|
58
|
+
let removeMessageUpdateHook = this.hooks.hook(`frontgateConnection:response:${subscriptionKey}`, (update) => {
|
|
59
|
+
if (update.Message.includes('Error') || update.Message.includes('PermissionDenied')) {
|
|
60
|
+
this.log(LogLevel.ERROR, `Unexpected response: ${response.Message}`);
|
|
61
|
+
observer.pushError(new ErrorResponse(JSON.stringify(update)));
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
observer.pushData(update);
|
|
65
|
+
});
|
|
66
|
+
const removeReconnectHook = this.hooks.hook('reconnect:success', async () => {
|
|
67
|
+
removeMessageUpdateHook();
|
|
68
|
+
this.log(LogLevel.INFO, `Resubscribing to ${key} due to reconnect`);
|
|
69
|
+
await this.hooks.callHook('frontgateConnection:sendMessage', subscriptionMsg);
|
|
70
|
+
const resubscribePromise = new Promise((res, rej) => {
|
|
71
|
+
this.hooks.hookOnce(`frontgateConnection:response:${subscriptionMsg.callbackId}`, (response) => {
|
|
72
|
+
if (response.Message.includes('Error') || response.Message.includes('PermissionDenied')) {
|
|
73
|
+
const err = new ErrorResponse(response);
|
|
74
|
+
this.log(LogLevel.ERROR, `Unexpected resp: ${response.Message}`);
|
|
75
|
+
rej(err);
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
const subscriptionKey = subscriptionType === 'connection' ? `${response.header.id_service}-${request.getPtlMessage().id_notation}` : response.header.id_job;
|
|
79
|
+
const cancelationRequest = typeof CancelationRequestConstructor === 'undefined'
|
|
80
|
+
? new CancelSubscriptionRequest(response.header.id_job)
|
|
81
|
+
: new CancelationRequestConstructor(response.header.id_service, request.getPtlMessage().id_notation);
|
|
82
|
+
observer.idJob = response.header.id_job;
|
|
83
|
+
removeMessageUpdateHook = this.hooks.hook(`frontgateConnection:response:${subscriptionKey}`, (update) => {
|
|
84
|
+
if (update.Message.includes('Error') || update.Message.includes('PermissionDenied')) {
|
|
85
|
+
this.log(LogLevel.ERROR, `Unexpected response: ${update.Message}`);
|
|
86
|
+
const err = new ErrorResponse(update);
|
|
87
|
+
observer.pushError(err);
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
observer.unsubscribe = () => {
|
|
91
|
+
const subscription = __classPrivateFieldGet(this, _subscriptions, "f").get(key);
|
|
92
|
+
if (subscription) {
|
|
93
|
+
subscription.count--;
|
|
94
|
+
if (subscription.count > 0) {
|
|
95
|
+
this.log(LogLevel.INFO, `Not unsubscribing from ${key} as there are still ${subscription.count} subscribers`);
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
__classPrivateFieldGet(this, _subscriptions, "f").delete(key);
|
|
99
|
+
}
|
|
100
|
+
this.log(LogLevel.INFO, `Unsubscribing from ${key}`);
|
|
101
|
+
const unsubscribeMsg = {
|
|
102
|
+
message: cancelationRequest.getPtlMessage(),
|
|
103
|
+
callbackType: 'job',
|
|
104
|
+
callbackId: '',
|
|
105
|
+
};
|
|
106
|
+
void this.hooks.callHook('frontgateConnection:sendMessage', unsubscribeMsg);
|
|
107
|
+
removeMessageUpdateHook();
|
|
108
|
+
removeReconnectHook();
|
|
109
|
+
};
|
|
110
|
+
observer.pushData(update);
|
|
111
|
+
});
|
|
112
|
+
res();
|
|
113
|
+
});
|
|
114
|
+
});
|
|
115
|
+
try {
|
|
116
|
+
await useTimeout(timeOutInMs, 'Request timeout reached', resubscribePromise);
|
|
117
|
+
}
|
|
118
|
+
catch (e) {
|
|
119
|
+
observer.pushError(new ErrorResponse({ Message: 'Reconnect failed', Error: e }));
|
|
120
|
+
}
|
|
121
|
+
});
|
|
122
|
+
observer.unsubscribe = () => {
|
|
123
|
+
const subscription = __classPrivateFieldGet(this, _subscriptions, "f").get(key);
|
|
124
|
+
if (subscription) {
|
|
125
|
+
subscription.count--;
|
|
126
|
+
if (subscription.count > 0) {
|
|
127
|
+
this.log(LogLevel.INFO, `Not unsubscribing from ${key} as there are still ${subscription.count} subscribers`);
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
__classPrivateFieldGet(this, _subscriptions, "f").delete(key);
|
|
131
|
+
}
|
|
132
|
+
this.log(LogLevel.INFO, `Unsubscribing from ${key}`);
|
|
133
|
+
const unsubscribeMsg = {
|
|
134
|
+
message: cancelationRequest.getPtlMessage(),
|
|
135
|
+
callbackType: 'job',
|
|
136
|
+
callbackId: '',
|
|
137
|
+
};
|
|
138
|
+
void this.hooks.callHook('frontgateConnection:sendMessage', unsubscribeMsg);
|
|
139
|
+
removeMessageUpdateHook();
|
|
140
|
+
removeReconnectHook();
|
|
141
|
+
};
|
|
142
|
+
__classPrivateFieldGet(this, _subscriptions, "f").set(key, { observer, count: 1 });
|
|
143
|
+
resolve(observer);
|
|
144
|
+
});
|
|
145
|
+
});
|
|
146
|
+
const rejectReason = `Request timeout reached (${timeOutInMs} ms) for ${subscriptionMsg.message.Message}`;
|
|
147
|
+
return useTimeout(timeOutInMs, rejectReason, promise);
|
|
148
|
+
},
|
|
149
|
+
_a;
|
|
150
|
+
};
|
|
151
|
+
return createExtendedMixinFactory(mixinRawSubscribable, {
|
|
152
|
+
featureName: 'RawSubscriptions',
|
|
153
|
+
featureGroups: ['Misc'],
|
|
154
|
+
});
|
|
155
|
+
};
|
|
156
|
+
//# sourceMappingURL=RawSubscriptionMixin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RawSubscriptionMixin.js","sourceRoot":"","sources":["../../../../../src/mixins/subscription/RawSubscriptionMixin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/mixins/subscription/index.ts"],"names":[],"mappings":"AAGA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { TimeoutError } from '../common/errors';
|
|
2
|
+
export class TimeoutWrapper {
|
|
3
|
+
static async wrap(promise, delay, rejectReason = '') {
|
|
4
|
+
return new TimeoutWrapper().wrap(promise, delay, rejectReason);
|
|
5
|
+
}
|
|
6
|
+
constructor() {
|
|
7
|
+
this.promiseFinally = async (promise, fn) => {
|
|
8
|
+
const success = (result) => {
|
|
9
|
+
fn();
|
|
10
|
+
return result;
|
|
11
|
+
};
|
|
12
|
+
const error = async (e) => {
|
|
13
|
+
fn();
|
|
14
|
+
return Promise.reject(e);
|
|
15
|
+
};
|
|
16
|
+
return Promise.resolve(promise).then(success, error);
|
|
17
|
+
};
|
|
18
|
+
this._id = null;
|
|
19
|
+
this._delay = null;
|
|
20
|
+
}
|
|
21
|
+
get id() {
|
|
22
|
+
return this._id;
|
|
23
|
+
}
|
|
24
|
+
get delay() {
|
|
25
|
+
return this._delay;
|
|
26
|
+
}
|
|
27
|
+
async set(delay, rejectReason = '') {
|
|
28
|
+
return new Promise((resolve, reject) => {
|
|
29
|
+
this.clear();
|
|
30
|
+
const fn = rejectReason
|
|
31
|
+
? () => {
|
|
32
|
+
reject(new TimeoutError(rejectReason));
|
|
33
|
+
}
|
|
34
|
+
: resolve;
|
|
35
|
+
this._id = setTimeout(fn, delay);
|
|
36
|
+
this._delay = delay;
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
async wrap(promise, delay, rejectReason = '') {
|
|
40
|
+
const wrappedPromise = this.promiseFinally(promise, () => {
|
|
41
|
+
this.clear();
|
|
42
|
+
});
|
|
43
|
+
const timer = this.set(delay, rejectReason);
|
|
44
|
+
return Promise.race([wrappedPromise, timer]);
|
|
45
|
+
}
|
|
46
|
+
clear() {
|
|
47
|
+
if (this._id) {
|
|
48
|
+
clearTimeout(this._id);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=TimeOutWrapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TimeOutWrapper.js","sourceRoot":"","sources":["../../../../src/util/TimeOutWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAE9C,MAAM,OAAO,cAAc;IAKzB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAI,OAAmB,EAAE,KAAa,EAAE,YAAY,GAAG,EAAE;QACxE,OAAO,IAAI,cAAc,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IACjE,CAAC;IAED;QAwCA,mBAAc,GAAG,KAAK,EAAK,OAAmB,EAAE,EAAc,EAAc,EAAE;YAC5E,MAAM,OAAO,GAAG,CAAC,MAAS,EAAK,EAAE;gBAC/B,EAAE,EAAE,CAAC;gBACL,OAAO,MAAM,CAAC;YAChB,CAAC,CAAC;YACF,MAAM,KAAK,GAAG,KAAK,EAAE,CAAU,EAAc,EAAE;gBAC7C,EAAE,EAAE,CAAC;gBACL,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC3B,CAAC,CAAC;YACF,OAAO,OAAO,CAAC,OAAO,CAAI,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC1D,CAAC,CAAC;QAjDA,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;QAChB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,IAAI,EAAE;QACJ,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,GAAG,CAAI,KAAa,EAAE,YAAY,GAAG,EAAE;QAC3C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,MAAM,EAAE,GAAG,YAAY;gBACrB,CAAC,CAAC,GAAS,EAAE;oBACT,MAAM,CAAC,IAAI,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC;gBACzC,CAAC;gBACH,CAAC,CAAC,OAAO,CAAC;YACZ,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YACjC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI,CAAI,OAAmB,EAAE,KAAa,EAAE,YAAY,GAAG,EAAE;QACjE,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,GAAG,EAAE;YACvD,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAI,KAAK,EAAE,YAAY,CAAC,CAAC;QAC/C,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK;QACH,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;CAaF"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { PACKAGE_JSON } from '../version';
|
|
2
|
+
export function getUuid1() {
|
|
3
|
+
return PACKAGE_JSON.package
|
|
4
|
+
.split('')
|
|
5
|
+
.map((char) => char.charCodeAt(0))
|
|
6
|
+
.reduce((acc, val) => acc + val, 0);
|
|
7
|
+
}
|
|
8
|
+
export function getUuid2() {
|
|
9
|
+
return parseInt(PACKAGE_JSON.version.replace(/\D/g, ''), 10);
|
|
10
|
+
}
|
|
11
|
+
export function getClientInformation() {
|
|
12
|
+
const navigator = getNavigator();
|
|
13
|
+
return {
|
|
14
|
+
userAgent: navigator.userAgent,
|
|
15
|
+
platform: navigator.platform,
|
|
16
|
+
version: PACKAGE_JSON.version,
|
|
17
|
+
package: PACKAGE_JSON.package,
|
|
18
|
+
mobile: /Mobi/i.test(navigator.userAgent),
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
export function getNavigator() {
|
|
22
|
+
if (typeof navigator !== 'undefined') {
|
|
23
|
+
return navigator;
|
|
24
|
+
}
|
|
25
|
+
if (typeof process !== 'undefined') {
|
|
26
|
+
return {
|
|
27
|
+
userAgent: `node.js/io.js, ${process.version}`,
|
|
28
|
+
platform: `${process.platform}_${process.arch}`,
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
return { userAgent: 'unknown', platform: 'unknown' };
|
|
32
|
+
}
|
|
33
|
+
export const encodeSpanContext = (spanContext) => {
|
|
34
|
+
const buffer = [18, 20, 9];
|
|
35
|
+
const hexStringToSignedBytes = (value) => {
|
|
36
|
+
for (let i = value.length; i > value.length - 16; i -= 2) {
|
|
37
|
+
let converted = parseInt(value.substring(i - 2, i), 16);
|
|
38
|
+
if (converted > 127) {
|
|
39
|
+
converted -= 256;
|
|
40
|
+
}
|
|
41
|
+
buffer.push(converted);
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
hexStringToSignedBytes(spanContext.traceId);
|
|
45
|
+
buffer.push(17);
|
|
46
|
+
hexStringToSignedBytes(spanContext.spanId);
|
|
47
|
+
buffer.push(24);
|
|
48
|
+
buffer.push(0);
|
|
49
|
+
return buffer;
|
|
50
|
+
};
|
|
51
|
+
export const generateTimeoutPromise = async (timeout, reason) => {
|
|
52
|
+
return new Promise((_, rej) => {
|
|
53
|
+
setTimeout(() => {
|
|
54
|
+
rej(reason);
|
|
55
|
+
}, timeout);
|
|
56
|
+
});
|
|
57
|
+
};
|
|
58
|
+
export const useTimeout = async (timeout, reason, promise) => {
|
|
59
|
+
return Promise.race([generateTimeoutPromise(timeout, reason), promise]);
|
|
60
|
+
};
|
|
61
|
+
export const addRandomnessToTime = (time) => {
|
|
62
|
+
return time + Math.random() * 100;
|
|
63
|
+
};
|
|
64
|
+
//# sourceMappingURL=functions.js.map
|