@xsolla/payment-client-core 0.0.4 → 0.0.6
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/esm2020/lib/core/device-finger-print/device-finger-print-components.interface.mjs +2 -0
- package/esm2020/lib/core/device-finger-print/device-finger-print.service.mjs +167 -0
- package/esm2020/lib/core/device-finger-print/fingerprint-js.interface.mjs +2 -0
- package/esm2020/lib/core/device-finger-print/hash.type.mjs +2 -0
- package/esm2020/lib/core/exceptions-handling/elk/additional-info.interface.mjs +2 -0
- package/esm2020/lib/core/exceptions-handling/elk/elk-logger.service.mjs +120 -0
- package/esm2020/lib/core/exceptions-handling/elk/error-without-meta-fields.interface.mjs +2 -0
- package/esm2020/lib/core/exceptions-handling/elk/log-message.interface.mjs +2 -0
- package/esm2020/lib/core/exceptions-handling/errors/default-terminal-error.class.mjs +8 -0
- package/esm2020/lib/core/exceptions-handling/errors/elk-error-types.enum.mjs +13 -0
- package/esm2020/lib/core/exceptions-handling/errors/tagged-error.class.mjs +16 -0
- package/esm2020/lib/core/exceptions-handling/errors/terminal-error.class.mjs +8 -0
- package/esm2020/lib/core/exceptions-handling/errors/token-error.class.mjs +7 -0
- package/esm2020/lib/core/exceptions-handling/errors/ws-error.class.mjs +10 -0
- package/esm2020/lib/core/payment/actions/action-factory-value.interface.mjs +2 -0
- package/esm2020/lib/core/payment/actions/action-type-command.map.mjs +6 -0
- package/esm2020/lib/core/payment/actions/action.interface.mjs +2 -0
- package/esm2020/lib/core/payment/actions/check-status/check-status.action.class.mjs +16 -0
- package/esm2020/lib/core/payment/actions/check-status/check-status.action.token.mjs +11 -0
- package/esm2020/lib/core/payment/actions/check-status/check-status.action.type.mjs +2 -0
- package/esm2020/lib/core/payment/actions/next-action.interface.mjs +2 -0
- package/esm2020/lib/core/payment/actions/next-action.service.mjs +55 -0
- package/esm2020/lib/core/payment/actions/next-actions.mjs +11 -0
- package/esm2020/lib/core/payment/actions/show-fields/show-fields.action.class.mjs +16 -0
- package/esm2020/lib/core/payment/actions/show-fields/show-fields.action.token.mjs +11 -0
- package/esm2020/lib/core/payment/actions/show-fields/show-fields.action.type.mjs +2 -0
- package/esm2020/lib/core/payment/actions/status-updated/status-updated.action.class.mjs +13 -0
- package/esm2020/lib/core/payment/actions/status-updated/status-updated.action.token.mjs +11 -0
- package/esm2020/lib/core/payment/actions/status-updated/status-updated.action.type.mjs +2 -0
- package/esm2020/lib/core/payment/field-names.enum.mjs +64 -0
- package/esm2020/lib/core/payment/field.interface.mjs +1 -1
- package/esm2020/lib/core/payment/form/common-control-config.interface.mjs +2 -0
- package/esm2020/lib/core/payment/form/controls/control-config.mjs +6 -0
- package/esm2020/lib/core/payment/form/controls/control-config.service.mjs +39 -0
- package/esm2020/lib/core/payment/form/controls/control-type.type.mjs +2 -0
- package/esm2020/lib/core/payment/form/controls/text-control.config.mjs +8 -0
- package/esm2020/lib/core/payment/form/converters/converter.abstract.mjs +75 -0
- package/esm2020/lib/core/payment/form/converters/converters-map.interface.mjs +2 -0
- package/esm2020/lib/core/payment/form/converters/converters-map.mjs +9 -0
- package/esm2020/lib/core/payment/form/converters/email.converter.mjs +29 -0
- package/esm2020/lib/core/payment/form/converters/zip.converter.mjs +64 -0
- package/esm2020/lib/core/payment/form/form-state.interface.mjs +2 -0
- package/esm2020/lib/core/payment/form/form.module.mjs +33 -0
- package/esm2020/lib/core/payment/form/form.service.mjs +28 -0
- package/esm2020/lib/core/payment/form/validators/convert.function.mjs +22 -0
- package/esm2020/lib/core/payment/form/validators/email-validator.mjs +7 -0
- package/esm2020/lib/core/payment/form/validators/required-validator.mjs +6 -0
- package/esm2020/lib/core/payment/form/validators/restricted-value.validator.mjs +6 -0
- package/esm2020/lib/core/payment/form/validators/validation-error.interface.mjs +2 -0
- package/esm2020/lib/core/payment/form/validators/validation-errors.interface.mjs +2 -0
- package/esm2020/lib/core/payment/form/validators/validator-fn.type.mjs +2 -0
- package/esm2020/lib/core/payment/initialize/initialize-request-params.interface.mjs +2 -0
- package/esm2020/lib/core/payment/initialize/initialize-response.class.mjs +43 -0
- package/esm2020/lib/core/payment/initialize/initialize-response.token.mjs +8 -0
- package/esm2020/lib/core/payment/initialize/initialize.service.mjs +46 -0
- package/esm2020/lib/core/payment/payment-form.interface.mjs +2 -0
- package/esm2020/lib/core/payment/payment.interface.mjs +1 -1
- package/esm2020/lib/core/payment/payment.service.mjs +37 -14
- package/esm2020/lib/core/payment/status/check-status/check-status.service.mjs +56 -0
- package/esm2020/lib/core/payment/status/check-status/request/check-status-request.class.mjs +16 -0
- package/esm2020/lib/core/payment/status/check-status/request/check-status-request.token.mjs +8 -0
- package/esm2020/lib/core/payment/status/check-status/response/check-status-response.class.mjs +9 -0
- package/esm2020/lib/core/payment/status/check-status/response/check-status-response.token.mjs +8 -0
- package/esm2020/lib/core/payment/status/listen-status/listen-status.service.mjs +112 -0
- package/esm2020/lib/core/payment/status/status-groups.mjs +7 -0
- package/esm2020/lib/core/payment/status/status-params.interface.mjs +2 -0
- package/esm2020/lib/core/payment/status/status-request/request/status-request.class.mjs +22 -0
- package/esm2020/lib/core/payment/status/status-request/request/status-request.token.mjs +8 -0
- package/esm2020/lib/core/payment/status/status-request/response/status-response.class.mjs +96 -0
- package/esm2020/lib/core/payment/status/status-request/response/status-response.token.mjs +8 -0
- package/esm2020/lib/core/payment/status/status-request/status-request-params.interface.mjs +2 -0
- package/esm2020/lib/core/payment/status/status-request/status-request.service.mjs +68 -0
- package/esm2020/lib/core/payment/status/status-settings.interface.mjs +2 -0
- package/esm2020/lib/core/payment/status/status-updated.interface.mjs +2 -0
- package/esm2020/lib/core/payment/status/status.interface.mjs +1 -1
- package/esm2020/lib/core/payment/status/status.service.mjs +38 -0
- package/esm2020/lib/core/payment/status/websocket-status/websocket-status.enum.mjs +6 -0
- package/esm2020/lib/core/payment/status/websocket-status/websocket-status.service.mjs +76 -0
- package/esm2020/lib/core/payment/submit/request/submit-request.class.mjs +16 -0
- package/esm2020/lib/core/payment/submit/request/submit-request.token.mjs +8 -0
- package/esm2020/lib/core/payment/submit/response/submit-response.class.mjs +31 -0
- package/esm2020/lib/core/payment/submit/response/submit-response.token.mjs +8 -0
- package/esm2020/lib/core/payment/submit/submit.service.mjs +59 -0
- package/esm2020/lib/core/payment/sync/field-sync-state.interface.mjs +2 -0
- package/esm2020/lib/core/payment/sync/sync-request.class.mjs +31 -0
- package/esm2020/lib/core/payment/sync/sync-request.token.mjs +8 -0
- package/esm2020/lib/core/payment/sync/sync-response.class.mjs +14 -0
- package/esm2020/lib/core/payment/sync/sync-response.token.mjs +8 -0
- package/esm2020/lib/core/payment/sync/sync.service.mjs +91 -0
- package/esm2020/lib/core/payment/xps-api-part-request.abstract.mjs +8 -0
- package/esm2020/lib/core/payment/xps-api-part.abstract.mjs +19 -0
- package/esm2020/lib/core/payment/xps-error.interface.mjs +1 -1
- package/esm2020/lib/core/payment/xps-request.abstract.mjs +8 -0
- package/esm2020/lib/core/payment/xps-response.interface.mjs +1 -1
- package/esm2020/lib/core/properties.type.mjs +2 -0
- package/esm2020/lib/core/web-socket/centrifugo-web-socket.service.mjs +200 -0
- package/esm2020/lib/core/web-socket/nchan-web-socket.service.mjs +116 -0
- package/esm2020/lib/core/web-socket/web-socket-client-type.enum.mjs +6 -0
- package/esm2020/lib/core/web-socket/web-socket.factory.mjs +28 -0
- package/esm2020/lib/core/web-socket/web-socket.interface.mjs +2 -0
- package/esm2020/lib/core/xps-boolean.enum.mjs +2 -0
- package/esm2020/lib/core-library.module.mjs +43 -4
- package/esm2020/lib/core-library.service.mjs +18 -11
- package/fesm2015/xsolla-payment-client-core.mjs +2201 -87
- package/fesm2015/xsolla-payment-client-core.mjs.map +1 -1
- package/fesm2020/xsolla-payment-client-core.mjs +2117 -83
- package/fesm2020/xsolla-payment-client-core.mjs.map +1 -1
- package/lib/core/device-finger-print/device-finger-print-components.interface.d.ts +4 -0
- package/lib/core/device-finger-print/device-finger-print.service.d.ts +44 -0
- package/lib/core/device-finger-print/fingerprint-js.interface.d.ts +6 -0
- package/lib/core/device-finger-print/hash.type.d.ts +3 -0
- package/lib/core/exceptions-handling/elk/additional-info.interface.d.ts +19 -0
- package/lib/core/exceptions-handling/elk/elk-logger.service.d.ts +27 -0
- package/lib/core/exceptions-handling/elk/error-without-meta-fields.interface.d.ts +8 -0
- package/lib/core/exceptions-handling/elk/log-message.interface.d.ts +8 -0
- package/lib/core/exceptions-handling/errors/default-terminal-error.class.d.ts +4 -0
- package/lib/core/exceptions-handling/errors/elk-error-types.enum.d.ts +11 -0
- package/lib/core/exceptions-handling/errors/tagged-error.class.d.ts +10 -0
- package/lib/core/exceptions-handling/errors/terminal-error.class.d.ts +5 -0
- package/lib/core/exceptions-handling/errors/token-error.class.d.ts +4 -0
- package/lib/core/exceptions-handling/errors/ws-error.class.d.ts +5 -0
- package/lib/core/payment/actions/action-factory-value.interface.d.ts +5 -0
- package/lib/core/payment/actions/action-type-command.map.d.ts +4 -0
- package/lib/core/payment/actions/check-status/check-status.action.class.d.ts +8 -0
- package/lib/core/payment/actions/check-status/check-status.action.token.d.ts +4 -0
- package/lib/core/payment/actions/check-status/check-status.action.type.d.ts +12 -0
- package/lib/core/payment/actions/next-action.interface.d.ts +4 -0
- package/lib/core/payment/actions/next-action.service.d.ts +20 -0
- package/lib/core/payment/actions/next-actions.d.ts +5 -0
- package/lib/core/payment/actions/show-fields/show-fields.action.class.d.ts +8 -0
- package/lib/core/payment/actions/show-fields/show-fields.action.token.d.ts +4 -0
- package/lib/core/payment/actions/show-fields/show-fields.action.type.d.ts +12 -0
- package/lib/core/payment/actions/status-updated/status-updated.action.class.d.ts +8 -0
- package/lib/core/payment/actions/status-updated/status-updated.action.token.d.ts +4 -0
- package/lib/core/payment/actions/status-updated/status-updated.action.type.d.ts +11 -0
- package/lib/core/payment/field-names.enum.d.ts +62 -0
- package/lib/core/payment/field.interface.d.ts +5 -5
- package/lib/core/payment/form/common-control-config.interface.d.ts +9 -0
- package/lib/core/payment/form/controls/control-config.d.ts +9 -0
- package/lib/core/payment/form/controls/control-config.service.d.ts +15 -0
- package/lib/core/payment/form/controls/control-type.type.d.ts +1 -0
- package/lib/core/payment/form/controls/text-control.config.d.ts +11 -0
- package/lib/core/payment/form/converters/converter.abstract.d.ts +23 -0
- package/lib/core/payment/form/converters/converters-map.d.ts +4 -0
- package/lib/core/payment/form/converters/converters-map.interface.d.ts +5 -0
- package/lib/core/payment/form/converters/email.converter.d.ts +14 -0
- package/lib/core/payment/form/converters/zip.converter.d.ts +21 -0
- package/lib/core/payment/form/form-state.interface.d.ts +3 -0
- package/lib/core/payment/form/form.module.d.ts +7 -0
- package/lib/core/payment/form/form.service.d.ts +12 -0
- package/lib/core/payment/form/validators/convert.function.d.ts +3 -0
- package/lib/core/payment/form/validators/email-validator.d.ts +2 -0
- package/lib/core/payment/form/validators/required-validator.d.ts +2 -0
- package/lib/core/payment/form/validators/restricted-value.validator.d.ts +2 -0
- package/lib/core/payment/form/validators/validation-error.interface.d.ts +4 -0
- package/lib/core/payment/form/validators/validation-errors.interface.d.ts +4 -0
- package/lib/core/payment/form/validators/validator-fn.type.d.ts +3 -0
- package/lib/core/payment/initialize/initialize-response.class.d.ts +7 -0
- package/lib/core/payment/initialize/initialize-response.token.d.ts +6 -0
- package/lib/core/payment/initialize/initialize.service.d.ts +18 -0
- package/lib/core/payment/payment-form.interface.d.ts +39 -0
- package/lib/core/payment/payment.interface.d.ts +12 -8
- package/lib/core/payment/payment.service.d.ts +23 -8
- package/lib/core/payment/status/check-status/check-status.service.d.ts +20 -0
- package/lib/core/payment/status/check-status/request/check-status-request.class.d.ts +8 -0
- package/lib/core/payment/status/check-status/request/check-status-request.token.d.ts +6 -0
- package/lib/core/payment/status/check-status/response/check-status-response.class.d.ts +8 -0
- package/lib/core/payment/status/check-status/response/check-status-response.token.d.ts +7 -0
- package/lib/core/payment/status/listen-status/listen-status.service.d.ts +28 -0
- package/lib/core/payment/status/status-groups.d.ts +5 -0
- package/lib/core/payment/status/status-params.interface.d.ts +9 -0
- package/lib/core/payment/status/status-request/request/status-request.class.d.ts +17 -0
- package/lib/core/payment/status/status-request/request/status-request.token.d.ts +6 -0
- package/lib/core/payment/status/status-request/response/status-response.class.d.ts +14 -0
- package/lib/core/payment/status/status-request/response/status-response.token.d.ts +7 -0
- package/lib/core/payment/status/status-request/status-request-params.interface.d.ts +10 -0
- package/lib/core/payment/status/status-request/status-request.service.d.ts +21 -0
- package/lib/core/payment/status/status-settings.interface.d.ts +13 -0
- package/lib/core/payment/status/status-updated.interface.d.ts +6 -0
- package/lib/core/payment/status/status.interface.d.ts +0 -1
- package/lib/core/payment/status/status.service.d.ts +16 -0
- package/lib/core/payment/status/websocket-status/websocket-status.enum.d.ts +4 -0
- package/lib/core/payment/status/websocket-status/websocket-status.service.d.ts +24 -0
- package/lib/core/payment/submit/request/submit-request.class.d.ts +13 -0
- package/lib/core/payment/submit/request/submit-request.token.d.ts +6 -0
- package/lib/core/payment/submit/response/submit-response.class.d.ts +26 -0
- package/lib/core/payment/submit/response/submit-response.token.d.ts +6 -0
- package/lib/core/payment/submit/submit.service.d.ts +21 -0
- package/lib/core/payment/sync/field-sync-state.interface.d.ts +5 -0
- package/lib/core/payment/sync/sync-request.class.d.ts +15 -0
- package/lib/core/payment/sync/sync-request.token.d.ts +6 -0
- package/lib/core/payment/sync/sync-response.class.d.ts +11 -0
- package/lib/core/payment/sync/sync-response.token.d.ts +6 -0
- package/lib/core/payment/sync/sync.service.d.ts +27 -0
- package/lib/core/payment/xps-api-part-request.abstract.d.ts +6 -0
- package/lib/core/payment/xps-api-part.abstract.d.ts +8 -0
- package/lib/core/payment/xps-error.interface.d.ts +1 -0
- package/lib/core/payment/xps-request.abstract.d.ts +6 -0
- package/lib/core/payment/xps-response.interface.d.ts +3 -6
- package/lib/core/properties.type.d.ts +3 -0
- package/lib/core/web-socket/centrifugo-web-socket.service.d.ts +41 -0
- package/lib/core/web-socket/nchan-web-socket.service.d.ts +30 -0
- package/lib/core/web-socket/web-socket-client-type.enum.d.ts +4 -0
- package/lib/core/web-socket/web-socket.factory.d.ts +13 -0
- package/lib/core/web-socket/web-socket.interface.d.ts +9 -0
- package/lib/core/xps-boolean.enum.d.ts +4 -0
- package/lib/core-library.module.d.ts +2 -1
- package/lib/core-library.service.d.ts +6 -2
- package/package.json +19 -4
- package/xsolla-payment-client-core-0.0.6.tgz +0 -0
- package/esm2020/lib/core/boolean-string.enum.mjs +0 -6
- package/esm2020/lib/core/payment/actions/action.type.mjs +0 -2
- package/esm2020/lib/core/payment/actions/check-status.action.type.mjs +0 -2
- package/esm2020/lib/core/payment/actions/next-action.type.mjs +0 -2
- package/esm2020/lib/core/payment/initialize-request-params.interface.mjs +0 -2
- package/esm2020/lib/core/payment/initialize.service.mjs +0 -39
- package/lib/core/boolean-string.enum.d.ts +0 -4
- package/lib/core/payment/actions/check-status.action.type.d.ts +0 -12
- package/lib/core/payment/actions/next-action.type.d.ts +0 -2
- package/lib/core/payment/initialize.service.d.ts +0 -16
- package/xsolla-payment-client-core-0.0.4.tgz +0 -0
- /package/lib/core/payment/actions/{action.type.d.ts → action.interface.d.ts} +0 -0
- /package/lib/core/payment/{initialize-request-params.interface.d.ts → initialize/initialize-request-params.interface.d.ts} +0 -0
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export class SyncResponse {
|
|
2
|
+
constructor(changedField, response) {
|
|
3
|
+
const fieldError = response?.errors?.find((error) => error.element_name === changedField.name);
|
|
4
|
+
if (fieldError) {
|
|
5
|
+
this.rewritableError = {
|
|
6
|
+
code: fieldError.code,
|
|
7
|
+
message: fieldError.message,
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
this.fields = Object.keys(response.form).map((key) => response.form[key]);
|
|
11
|
+
this.parameters = response;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy1yZXNwb25zZS5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQvc3luYy9zeW5jLXJlc3BvbnNlLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sT0FBTyxZQUFZO0lBS3ZCLFlBQW1CLFlBQW1CLEVBQUUsUUFBcUI7UUFDM0QsTUFBTSxVQUFVLEdBQUcsUUFBUSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQ3ZDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsWUFBWSxLQUFLLFlBQVksQ0FBQyxJQUFJLENBQ3BELENBQUM7UUFFRixJQUFJLFVBQVUsRUFBRTtZQUNkLElBQUksQ0FBQyxlQUFlLEdBQUc7Z0JBQ3JCLElBQUksRUFBRSxVQUFVLENBQUMsSUFBSTtnQkFDckIsT0FBTyxFQUFFLFVBQVUsQ0FBQyxPQUFPO2FBQzVCLENBQUM7U0FDSDtRQUVELElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUMxQyxDQUFDLEdBQVcsRUFBUyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FDM0MsQ0FBQztRQUVGLElBQUksQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDO0lBQzdCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpZWxkIH0gZnJvbSAnLi4vZmllbGQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFhwc1Jlc3BvbnNlIH0gZnJvbSAnLi4veHBzLXJlc3BvbnNlLmludGVyZmFjZSc7XG5cbmV4cG9ydCBjbGFzcyBTeW5jUmVzcG9uc2Uge1xuICBwdWJsaWMgcmVhZG9ubHkgcmV3cml0YWJsZUVycm9yPzogeyBjb2RlOiBudW1iZXI7IG1lc3NhZ2U6IHN0cmluZyB9O1xuICBwdWJsaWMgcmVhZG9ubHkgZmllbGRzOiBGaWVsZFtdO1xuICBwdWJsaWMgcmVhZG9ubHkgcGFyYW1ldGVyczogWHBzUmVzcG9uc2U7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKGNoYW5nZWRGaWVsZDogRmllbGQsIHJlc3BvbnNlOiBYcHNSZXNwb25zZSkge1xuICAgIGNvbnN0IGZpZWxkRXJyb3IgPSByZXNwb25zZT8uZXJyb3JzPy5maW5kKFxuICAgICAgKGVycm9yKSA9PiBlcnJvci5lbGVtZW50X25hbWUgPT09IGNoYW5nZWRGaWVsZC5uYW1lXG4gICAgKTtcblxuICAgIGlmIChmaWVsZEVycm9yKSB7XG4gICAgICB0aGlzLnJld3JpdGFibGVFcnJvciA9IHtcbiAgICAgICAgY29kZTogZmllbGRFcnJvci5jb2RlLFxuICAgICAgICBtZXNzYWdlOiBmaWVsZEVycm9yLm1lc3NhZ2UsXG4gICAgICB9O1xuICAgIH1cblxuICAgIHRoaXMuZmllbGRzID0gT2JqZWN0LmtleXMocmVzcG9uc2UuZm9ybSkubWFwKFxuICAgICAgKGtleTogc3RyaW5nKTogRmllbGQgPT4gcmVzcG9uc2UuZm9ybVtrZXldXG4gICAgKTtcblxuICAgIHRoaXMucGFyYW1ldGVycyA9IHJlc3BvbnNlO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
import { SyncResponse } from './sync-response.class';
|
|
3
|
+
export const syncResponseFactoryToken = new InjectionToken('SyncResponse');
|
|
4
|
+
export const syncResponseFactoryProvider = {
|
|
5
|
+
provide: syncResponseFactoryToken,
|
|
6
|
+
useValue: (...args) => new SyncResponse(...args),
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy1yZXNwb25zZS50b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQvc3luYy9zeW5jLXJlc3BvbnNlLnRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQVFyRCxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FDbkMsSUFBSSxjQUFjLENBQXNCLGNBQWMsQ0FBQyxDQUFDO0FBRTFELE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFrQjtJQUN4RCxPQUFPLEVBQUUsd0JBQXdCO0lBQ2pDLFFBQVEsRUFBRSxDQUFDLEdBQUcsSUFBNEIsRUFBRSxFQUFFLENBQUMsSUFBSSxZQUFZLENBQUMsR0FBRyxJQUFJLENBQUM7Q0FDekUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuLCBWYWx1ZVByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTeW5jUmVzcG9uc2UgfSBmcm9tICcuL3N5bmMtcmVzcG9uc2UuY2xhc3MnO1xuXG5leHBvcnQgdHlwZSBTeW5jUmVzcG9uc2VQYXJhbWV0ZXJzID0gQ29uc3RydWN0b3JQYXJhbWV0ZXJzPHR5cGVvZiBTeW5jUmVzcG9uc2U+O1xuXG5leHBvcnQgdHlwZSBTeW5jUmVzcG9uc2VGYWN0b3J5ID0gKFxuICAuLi5hcmdzOiBTeW5jUmVzcG9uc2VQYXJhbWV0ZXJzXG4pID0+IFN5bmNSZXNwb25zZTtcblxuZXhwb3J0IGNvbnN0IHN5bmNSZXNwb25zZUZhY3RvcnlUb2tlbjogSW5qZWN0aW9uVG9rZW48U3luY1Jlc3BvbnNlRmFjdG9yeT4gPVxuICBuZXcgSW5qZWN0aW9uVG9rZW48U3luY1Jlc3BvbnNlRmFjdG9yeT4oJ1N5bmNSZXNwb25zZScpO1xuXG5leHBvcnQgY29uc3Qgc3luY1Jlc3BvbnNlRmFjdG9yeVByb3ZpZGVyOiBWYWx1ZVByb3ZpZGVyID0ge1xuICBwcm92aWRlOiBzeW5jUmVzcG9uc2VGYWN0b3J5VG9rZW4sXG4gIHVzZVZhbHVlOiAoLi4uYXJnczogU3luY1Jlc3BvbnNlUGFyYW1ldGVycykgPT4gbmV3IFN5bmNSZXNwb25zZSguLi5hcmdzKSxcbn07XG4iXX0=
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { HttpHeaders } from '@angular/common/http';
|
|
2
|
+
import { Inject, Injectable } from '@angular/core';
|
|
3
|
+
import { UntypedFormGroup } from '@angular/forms';
|
|
4
|
+
import { lastValueFrom } from 'rxjs';
|
|
5
|
+
import { syncRequestFactoryToken, } from './sync-request.token';
|
|
6
|
+
import { syncResponseFactoryToken, } from './sync-response.token';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "../../http/secure-api/secure-api.service";
|
|
9
|
+
import * as i2 from "../../settings/settings.service";
|
|
10
|
+
export class SyncService {
|
|
11
|
+
constructor(requestFactory, responseFactory, secureApi, settingsService) {
|
|
12
|
+
this.requestFactory = requestFactory;
|
|
13
|
+
this.responseFactory = responseFactory;
|
|
14
|
+
this.secureApi = secureApi;
|
|
15
|
+
this.settingsService = settingsService;
|
|
16
|
+
this.apiRoute = 'directpayment';
|
|
17
|
+
this.prevFieldSyncStates = {};
|
|
18
|
+
this.form = new UntypedFormGroup({});
|
|
19
|
+
this.fields = [];
|
|
20
|
+
}
|
|
21
|
+
setup(form, fields) {
|
|
22
|
+
this.reset();
|
|
23
|
+
this.form = form;
|
|
24
|
+
this.fields = fields;
|
|
25
|
+
}
|
|
26
|
+
reset() {
|
|
27
|
+
this.prevFieldSyncStates = {};
|
|
28
|
+
this.form = new UntypedFormGroup({});
|
|
29
|
+
this.fields = [];
|
|
30
|
+
}
|
|
31
|
+
async validate(field) {
|
|
32
|
+
if (!this.isReadyField(field)) {
|
|
33
|
+
return Promise.resolve(null);
|
|
34
|
+
}
|
|
35
|
+
const control = this.form.get(field.name);
|
|
36
|
+
const value = control?.value;
|
|
37
|
+
const prevFieldState = this.getPrevFieldSyncState(field);
|
|
38
|
+
const isInitialValue = value === field.value && !prevFieldState;
|
|
39
|
+
if (isInitialValue) {
|
|
40
|
+
return Promise.resolve(null);
|
|
41
|
+
}
|
|
42
|
+
if (prevFieldState && value === prevFieldState.value) {
|
|
43
|
+
return Promise.resolve(prevFieldState.result);
|
|
44
|
+
}
|
|
45
|
+
const requestPromise = this.request(field);
|
|
46
|
+
this.setPrevFieldSyncState(field, value, requestPromise);
|
|
47
|
+
return requestPromise.then((response) => {
|
|
48
|
+
return response.rewritableError ?? null;
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
async request(field) {
|
|
52
|
+
const requestParams = this.requestFactory({
|
|
53
|
+
token: this.settingsService.token,
|
|
54
|
+
changedField: field,
|
|
55
|
+
fields: this.fields,
|
|
56
|
+
form: this.form,
|
|
57
|
+
});
|
|
58
|
+
return lastValueFrom(this.secureApi.post(this.apiRoute, new URLSearchParams(requestParams), {
|
|
59
|
+
headers: new HttpHeaders().set('Content-Type', 'application/x-www-form-urlencoded; charset=utf-8'),
|
|
60
|
+
responseType: 'json',
|
|
61
|
+
})).then((response) => {
|
|
62
|
+
return this.responseFactory(field, response);
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
isReadyField(field) {
|
|
66
|
+
const isSyncEnabled = !!field.javascript?.change;
|
|
67
|
+
const isExistsInForm = !!this.form?.get(field.name);
|
|
68
|
+
return isSyncEnabled && isExistsInForm;
|
|
69
|
+
}
|
|
70
|
+
getPrevFieldSyncState(field) {
|
|
71
|
+
return this.prevFieldSyncStates[field.name];
|
|
72
|
+
}
|
|
73
|
+
setPrevFieldSyncState(field, value, result) {
|
|
74
|
+
this.prevFieldSyncStates[field.name] = { value, result };
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
SyncService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: SyncService, deps: [{ token: syncRequestFactoryToken }, { token: syncResponseFactoryToken }, { token: i1.SecureApiClient }, { token: i2.SettingsService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
78
|
+
SyncService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: SyncService, providedIn: 'root' });
|
|
79
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: SyncService, decorators: [{
|
|
80
|
+
type: Injectable,
|
|
81
|
+
args: [{
|
|
82
|
+
providedIn: 'root',
|
|
83
|
+
}]
|
|
84
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
85
|
+
type: Inject,
|
|
86
|
+
args: [syncRequestFactoryToken]
|
|
87
|
+
}] }, { type: undefined, decorators: [{
|
|
88
|
+
type: Inject,
|
|
89
|
+
args: [syncResponseFactoryToken]
|
|
90
|
+
}] }, { type: i1.SecureApiClient }, { type: i2.SettingsService }]; } });
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9zeW5jL3N5bmMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGdCQUFnQixFQUFvQixNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFNckMsT0FBTyxFQUVMLHVCQUF1QixHQUN4QixNQUFNLHNCQUFzQixDQUFDO0FBRTlCLE9BQU8sRUFFTCx3QkFBd0IsR0FDekIsTUFBTSx1QkFBdUIsQ0FBQzs7OztBQUsvQixNQUFNLE9BQU8sV0FBVztJQVF0QixZQUVtQixjQUFrQyxFQUVsQyxlQUFvQyxFQUNwQyxTQUEwQixFQUMxQixlQUFnQztRQUpoQyxtQkFBYyxHQUFkLGNBQWMsQ0FBb0I7UUFFbEMsb0JBQWUsR0FBZixlQUFlLENBQXFCO1FBQ3BDLGNBQVMsR0FBVCxTQUFTLENBQWlCO1FBQzFCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQWJsQyxhQUFRLEdBQUcsZUFBZSxDQUFDO1FBRXBDLHdCQUFtQixHQUE0QyxFQUFFLENBQUM7UUFFbEUsU0FBSSxHQUFxQixJQUFJLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2xELFdBQU0sR0FBWSxFQUFFLENBQUM7SUFTMUIsQ0FBQztJQUVHLEtBQUssQ0FBQyxJQUFzQixFQUFFLE1BQWU7UUFDbEQsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRWIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLE1B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QUFJLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRU8scUJBQXFCLENBQzNCLEtBQVksRUFDWixLQUFjLEVBQ2QsTUFBd0M7UUFFeEMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUMzRCxDQUFDOzt3R0FyR1UsV0FBVyxrQkFTWix1QkFBdUIsYUFFdkIsd0JBQXdCOzRHQVh2QixXQUFXLGNBRlYsTUFBTTsyRkFFUCxXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBVUksTUFBTTsyQkFBQyx1QkFBdUI7OzBCQUU5QixNQUFNOzJCQUFDLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUdyb3VwLCBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgbGFzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU2VjdXJlQXBpQ2xpZW50IH0gZnJvbSAnLi4vLi4vaHR0cC9zZWN1cmUtYXBpL3NlY3VyZS1hcGkuc2VydmljZSc7XG5pbXBvcnQgeyBTZXR0aW5nc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXR0aW5ncy9zZXR0aW5ncy5zZXJ2aWNlJztcbmltcG9ydCB7IEZpZWxkIH0gZnJvbSAnLi4vZmllbGQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFhwc1Jlc3BvbnNlIH0gZnJvbSAnLi4veHBzLXJlc3BvbnNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGaWVsZFN5bmNTdGF0ZSB9IGZyb20gJy4vZmllbGQtc3luYy1zdGF0ZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHtcbiAgU3luY1JlcXVlc3RGYWN0b3J5LFxuICBzeW5jUmVxdWVzdEZhY3RvcnlUb2tlbixcbn0gZnJvbSAnLi9zeW5jLXJlcXVlc3QudG9rZW4nO1xuaW1wb3J0IHsgU3luY1Jlc3BvbnNlIH0gZnJvbSAnLi9zeW5jLXJlc3BvbnNlLmNsYXNzJztcbmltcG9ydCB7XG4gIFN5bmNSZXNwb25zZUZhY3RvcnksXG4gIHN5bmNSZXNwb25zZUZhY3RvcnlUb2tlbixcbn0gZnJvbSAnLi9zeW5jLXJlc3BvbnNlLnRva2VuJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFN5bmNTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBhcGlSb3V0ZSA9ICdkaXJlY3RwYXltZW50JztcblxuICBwcml2YXRlIHByZXZGaWVsZFN5bmNTdGF0ZXM6IHsgW2ZpZWxkTmFtZTogc3RyaW5nXTogRmllbGRTeW5jU3RhdGUgfSA9IHt9O1xuXG4gIHByaXZhdGUgZm9ybTogVW50eXBlZEZvcm1Hcm91cCA9IG5ldyBVbnR5cGVkRm9ybUdyb3VwKHt9KTtcbiAgcHJpdmF0ZSBmaWVsZHM6IEZpZWxkW10gPSBbXTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChzeW5jUmVxdWVzdEZhY3RvcnlUb2tlbilcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlcXVlc3RGYWN0b3J5OiBTeW5jUmVxdWVzdEZhY3RvcnksXG4gICAgQEluamVjdChzeW5jUmVzcG9uc2VGYWN0b3J5VG9rZW4pXG4gICAgcHJpdmF0ZSByZWFkb25seSByZXNwb25zZUZhY3Rvcnk6IFN5bmNSZXNwb25zZUZhY3RvcnksXG4gICAgcHJpdmF0ZSByZWFkb25seSBzZWN1cmVBcGk6IFNlY3VyZUFwaUNsaWVudCxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNldHRpbmdzU2VydmljZTogU2V0dGluZ3NTZXJ2aWNlXG4gICkge31cblxuICBwdWJsaWMgc2V0dXAoZm9ybTogVW50eXBlZEZvcm1Hcm91cCwgZmllbGRzOiBGaWVsZFtdKTogdm9pZCB7XG4gICAgdGhpcy5yZXNldCgpO1xuXG4gICAgdGhpcy5mb3JtID0gZm9ybTtcbiAgICB0aGlzLmZpZWxkcyA9IGZpZWxkcztcbiAgfVxuXG4gIHB1YmxpYyByZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLnByZXZGaWVsZFN5bmNTdGF0ZXMgPSB7fTtcbiAgICB0aGlzLmZvcm0gPSBuZXcgVW50eXBlZEZvcm1Hcm91cCh7fSk7XG4gICAgdGhpcy5maWVsZHMgPSBbXTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyB2YWxpZGF0ZShmaWVsZDogRmllbGQpOiBQcm9taXNlPFZhbGlkYXRpb25FcnJvcnMgfCBudWxsPiB7XG4gICAgaWYgKCF0aGlzLmlzUmVhZHlGaWVsZChmaWVsZCkpIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUobnVsbCk7XG4gICAgfVxuXG4gICAgY29uc3QgY29udHJvbCA9IHRoaXMuZm9ybS5nZXQoZmllbGQubmFtZSk7XG4gICAgY29uc3QgdmFsdWUgPSBjb250cm9sPy52YWx1ZTtcbiAgICBjb25zdCBwcmV2RmllbGRTdGF0ZSA9IHRoaXMuZ2V0UHJldkZpZWxkU3luY1N0YXRlKGZpZWxkKTtcblxuICAgIGNvbnN0IGlzSW5pdGlhbFZhbHVlID0gdmFsdWUgPT09IGZpZWxkLnZhbHVlICYmICFwcmV2RmllbGRTdGF0ZTtcblxuICAgIGlmIChpc0luaXRpYWxWYWx1ZSkge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsKTtcbiAgICB9XG5cbiAgICBpZiAocHJldkZpZWxkU3RhdGUgJiYgdmFsdWUgPT09IHByZXZGaWVsZFN0YXRlLnZhbHVlKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHByZXZGaWVsZFN0YXRlLnJlc3VsdCk7XG4gICAgfVxuXG4gICAgY29uc3QgcmVxdWVzdFByb21pc2UgPSB0aGlzLnJlcXVlc3QoZmllbGQpO1xuICAgIHRoaXMuc2V0UHJldkZpZWxkU3luY1N0YXRlKGZpZWxkLCB2YWx1ZSwgcmVxdWVzdFByb21pc2UpO1xuXG4gICAgcmV0dXJuIHJlcXVlc3RQcm9taXNlLnRoZW4oKHJlc3BvbnNlOiBTeW5jUmVzcG9uc2UpID0+IHtcbiAgICAgIHJldHVybiByZXNwb25zZS5yZXdyaXRhYmxlRXJyb3IgPz8gbnVsbDtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcmVxdWVzdChmaWVsZDogRmllbGQpOiBQcm9taXNlPFN5bmNSZXNwb25zZT4ge1xuICAgIGNvbnN0IHJlcXVlc3RQYXJhbXMgPSB0aGlzLnJlcXVlc3RGYWN0b3J5KHtcbiAgICAgIHRva2VuOiB0aGlzLnNldHRpbmdzU2VydmljZS50b2tlbixcbiAgICAgIGNoYW5nZWRGaWVsZDogZmllbGQsXG4gICAgICBmaWVsZHM6IHRoaXMuZmllbGRzLFxuICAgICAgZm9ybTogdGhpcy5mb3JtLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIGxhc3RWYWx1ZUZyb20oXG4gICAgICB0aGlzLnNlY3VyZUFwaS5wb3N0PFhwc1Jlc3BvbnNlPihcbiAgICAgICAgdGhpcy5hcGlSb3V0ZSxcbiAgICAgICAgbmV3IFVSTFNlYXJjaFBhcmFtcyhcbiAgICAgICAgICByZXF1ZXN0UGFyYW1zIGFzIHVua25vd24gYXMgeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfVxuICAgICAgICApLFxuICAgICAgICB7XG4gICAgICAgICAgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKCkuc2V0KFxuICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScsXG4gICAgICAgICAgICAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkOyBjaGFyc2V0PXV0Zi04J1xuICAgICAgICAgICksXG4gICAgICAgICAgcmVzcG9uc2VUeXBlOiAnanNvbicsXG4gICAgICAgIH1cbiAgICAgIClcbiAgICApLnRoZW4oKHJlc3BvbnNlOiBYcHNSZXNwb25zZSkgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMucmVzcG9uc2VGYWN0b3J5KGZpZWxkLCByZXNwb25zZSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGlzUmVhZHlGaWVsZChmaWVsZDogRmllbGQpOiBib29sZWFuIHtcbiAgICBjb25zdCBpc1N5bmNFbmFibGVkID0gISFmaWVsZC5qYXZhc2NyaXB0Py5jaGFuZ2U7XG4gICAgY29uc3QgaXNFeGlzdHNJbkZvcm0gPSAhIXRoaXMuZm9ybT8uZ2V0KGZpZWxkLm5hbWUpO1xuXG4gICAgcmV0dXJuIGlzU3luY0VuYWJsZWQgJiYgaXNFeGlzdHNJbkZvcm07XG4gIH1cblxuICBwcml2YXRlIGdldFByZXZGaWVsZFN5bmNTdGF0ZShmaWVsZDogRmllbGQpOiBGaWVsZFN5bmNTdGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMucHJldkZpZWxkU3luY1N0YXRlc1tmaWVsZC5uYW1lXTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0UHJldkZpZWxkU3luY1N0YXRlKFxuICAgIGZpZWxkOiBGaWVsZCxcbiAgICB2YWx1ZTogdW5rbm93bixcbiAgICByZXN1bHQ6IFByb21pc2U8VmFsaWRhdGlvbkVycm9ycyB8IG51bGw+XG4gICk6IHZvaWQge1xuICAgIHRoaXMucHJldkZpZWxkU3luY1N0YXRlc1tmaWVsZC5uYW1lXSA9IHsgdmFsdWUsIHJlc3VsdCB9O1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export class XpsApiPartRequest {
|
|
2
|
+
addXpsParameters(parameters) {
|
|
3
|
+
for (const key in parameters) {
|
|
4
|
+
this[`xps_${key}`] = parameters[key];
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHBzLWFwaS1wYXJ0LXJlcXVlc3QuYWJzdHJhY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L3hwcy1hcGktcGFydC1yZXF1ZXN0LmFic3RyYWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBZ0IsaUJBQWlCO0lBRzNCLGdCQUFnQixDQUFDLFVBQXNDO1FBQy9ELEtBQUssTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFO1lBQzVCLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ3RDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGFic3RyYWN0IGNsYXNzIFhwc0FwaVBhcnRSZXF1ZXN0IHtcbiAgW2ZpZWxkTmFtZTogYHhwc18ke3N0cmluZ31gXTogdW5rbm93bjtcblxuICBwcm90ZWN0ZWQgYWRkWHBzUGFyYW1ldGVycyhwYXJhbWV0ZXJzOiB7IFtrZXk6IHN0cmluZ106IHVua25vd24gfSk6IHZvaWQge1xuICAgIGZvciAoY29uc3Qga2V5IGluIHBhcmFtZXRlcnMpIHtcbiAgICAgIHRoaXNbYHhwc18ke2tleX1gXSA9IHBhcmFtZXRlcnNba2V5XTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { BehaviorSubject } from 'rxjs';
|
|
2
|
+
import { filter } from 'rxjs/operators';
|
|
3
|
+
export class XpsApiPart {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.response = new BehaviorSubject(null);
|
|
6
|
+
}
|
|
7
|
+
get response$() {
|
|
8
|
+
return this.response
|
|
9
|
+
.asObservable()
|
|
10
|
+
.pipe(filter((response) => response !== null));
|
|
11
|
+
}
|
|
12
|
+
emitResponse(response) {
|
|
13
|
+
this.response.next(response);
|
|
14
|
+
}
|
|
15
|
+
get currentValue() {
|
|
16
|
+
return this.response.getValue();
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHBzLWFwaS1wYXJ0LmFic3RyYWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC94cHMtYXBpLXBhcnQuYWJzdHJhY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEMsTUFBTSxPQUFnQixVQUFVO0lBQWhDO1FBV21CLGFBQVEsR0FDdkIsSUFBSSxlQUFlLENBQWtCLElBQUksQ0FBQyxDQUFDO0lBYS9DLENBQUM7SUF4QkMsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFFBQVE7YUFDakIsWUFBWSxFQUFFO2FBQ2QsSUFBSSxDQUNILE1BQU0sQ0FDSixDQUFDLFFBQXlCLEVBQXdCLEVBQUUsQ0FBQyxRQUFRLEtBQUssSUFBSSxDQUN2RSxDQUNGLENBQUM7SUFDTixDQUFDO0lBS00sWUFBWSxDQUFDLFFBQXlCO1FBQzNDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFXLFlBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xDLENBQUM7Q0FLRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgWHBzQXBpUGFydDxSZXNwb25zZT4ge1xuICBwdWJsaWMgZ2V0IHJlc3BvbnNlJCgpOiBPYnNlcnZhYmxlPFJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMucmVzcG9uc2VcbiAgICAgIC5hc09ic2VydmFibGUoKVxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcjxSZXNwb25zZSB8IG51bGwsIFJlc3BvbnNlPihcbiAgICAgICAgICAocmVzcG9uc2U6IFJlc3BvbnNlIHwgbnVsbCk6IHJlc3BvbnNlIGlzIFJlc3BvbnNlID0+IHJlc3BvbnNlICE9PSBudWxsXG4gICAgICAgIClcbiAgICAgICk7XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IHJlc3BvbnNlOiBCZWhhdmlvclN1YmplY3Q8UmVzcG9uc2UgfCBudWxsPiA9XG4gICAgbmV3IEJlaGF2aW9yU3ViamVjdDxSZXNwb25zZSB8IG51bGw+KG51bGwpO1xuXG4gIHB1YmxpYyBlbWl0UmVzcG9uc2UocmVzcG9uc2U6IFJlc3BvbnNlIHwgbnVsbCk6IHZvaWQge1xuICAgIHRoaXMucmVzcG9uc2UubmV4dChyZXNwb25zZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGN1cnJlbnRWYWx1ZSgpOiBSZXNwb25zZSB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnJlc3BvbnNlLmdldFZhbHVlKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgcmVxdWVzdChcbiAgICAuLi5hcmdzOiBhbnlbXSAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgKTogdm9pZCB8IFByb21pc2U8UmVzcG9uc2UgfCB2b2lkPiB8IFByb21pc2U8UmVzcG9uc2U+IHwgT2JzZXJ2YWJsZTxSZXNwb25zZT47XG59XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHBzLWVycm9yLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQveHBzLWVycm9yLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGF5bWVudE1ldGhvZEFwaSB9IGZyb20gJy4uL3BheW1lbnQtbWV0aG9kcy9wYXltZW50LW1ldGhvZC1hcGkuaW50ZXJmYWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBYcHNFcnJvciB7XG4gIGNvZGU6IG51bWJlcjtcbiAgbWVzc2FnZTogc3RyaW5nO1xuICBlbGVtZW50X25hbWU/OiBzdHJpbmc7XG4gIGFsdGVybmF0aXZlX2luc3RhbmNlcz86IFBheW1lbnRNZXRob2RBcGlbXTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export class XpsRequest {
|
|
2
|
+
addXpsParameters(parameters) {
|
|
3
|
+
for (const key in parameters) {
|
|
4
|
+
this[`xps_${key}`] = parameters[key];
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHBzLXJlcXVlc3QuYWJzdHJhY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L3hwcy1yZXF1ZXN0LmFic3RyYWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBZ0IsVUFBVTtJQUdwQixnQkFBZ0IsQ0FBQyxVQUFzQztRQUMvRCxLQUFLLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRTtZQUM1QixJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN0QztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBhYnN0cmFjdCBjbGFzcyBYcHNSZXF1ZXN0IHtcbiAgW2ZpZWxkTmFtZTogYHhwc18ke3N0cmluZ31gXTogdW5rbm93bjtcblxuICBwcm90ZWN0ZWQgYWRkWHBzUGFyYW1ldGVycyhwYXJhbWV0ZXJzOiB7IFtrZXk6IHN0cmluZ106IHVua25vd24gfSk6IHZvaWQge1xuICAgIGZvciAoY29uc3Qga2V5IGluIHBhcmFtZXRlcnMpIHtcbiAgICAgIHRoaXNbYHhwc18ke2tleX1gXSA9IHBhcmFtZXRlcnNba2V5XTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHBzLXJlc3BvbnNlLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQveHBzLXJlc3BvbnNlLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgWHBzQm9vbGVhbiB9IGZyb20gJy4uL3hwcy1ib29sZWFuLmVudW0nO1xuaW1wb3J0IHsgQ2hlY2tvdXRJdGVtIH0gZnJvbSAnLi9jaGVja291dC1pdGVtLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4vZmllbGQuaW50ZXJmYWNlJztcbmltcG9ydCB7IEludm9pY2UgfSBmcm9tICcuL2ludm9pY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IExpbmVJdGVtIH0gZnJvbSAnLi9zdGF0dXMvbGluZS1pdGVtLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTdGF0dXNFbnVtIH0gZnJvbSAnLi9zdGF0dXMvc3RhdHVzLmVudW0nO1xuaW1wb3J0IHsgVGl0bGVDbGFzcyB9IGZyb20gJy4vc3RhdHVzL3RpdGxlLWNsYXNzLmVudW0nO1xuaW1wb3J0IHsgV2ViU29ja2V0Q2xpZW50VHlwZSB9IGZyb20gJy4vc3RhdHVzL3dlYi1zb2NrZXQtY2xpZW50LXR5cGUuZW51bSc7XG5pbXBvcnQgeyBWaXJ0dWFsQ3VycmVuY3kgfSBmcm9tICcuL3ZpcnR1YWwtY3VycmVuY3kuaW50ZXJmYWNlJztcbmltcG9ydCB7IFhwc0NvbW1hbmQgfSBmcm9tICcuL3hwcy1jb21hbmQuZW51bSc7XG5pbXBvcnQgeyBYcHNFcnJvciB9IGZyb20gJy4veHBzLWVycm9yLmludGVyZmFjZSc7XG5pbXBvcnQgeyBYcHNNZXNzYWdlIH0gZnJvbSAnLi94cHMtbWVzc2FnZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgWHBzU3Vic2NyaXB0aW9uSXRlbSB9IGZyb20gJy4veHBzLXN1YnNjcmlwdGlvbi1pdGVtLmludGVyZmFjZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgWHBzUmVzcG9uc2Uge1xuICBjaGVja291dDoge1xuICAgIGFjdGlvbjogc3RyaW5nO1xuICAgIG1ldGhvZDogc3RyaW5nO1xuICAgIGRhdGE6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG4gIH07XG4gIHN1bW1hcnk6IHtcbiAgICBwdXJjaGFzZToge1xuICAgICAgdmlydHVhbF9jdXJyZW5jeT86IFZpcnR1YWxDdXJyZW5jeVtdO1xuICAgICAgY2hlY2tvdXRfaXRlbXM/OiBDaGVja291dEl0ZW1bXTtcbiAgICAgIHZpcnR1YWxfaXRlbXM/OiBWaXJ0dWFsQ3VycmVuY3lbXTtcbiAgICAgIHN1YnNjcmlwdGlvbnM/OiBYcHNTdWJzY3JpcHRpb25JdGVtW107XG4gICAgICBjaGVja291dD86IHtcbiAgICAgICAgYW1vdW50OiBudW1iZXI7XG4gICAgICAgIGN1cnJlbmN5OiBzdHJpbmc7XG4gICAgICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgICAgIGlzX2JvbnVzPzogYm9vbGVhbjtcbiAgICAgIH07XG4gICAgfTtcbiAgICBmaW5hbmNlOiB7XG4gICAgICBwYXltZW50X2NvdW50cnk6IHsgaXNvOiBzdHJpbmcgfTtcbiAgICAgIHN1Yl90b3RhbDoge1xuICAgICAgICBhbW91bnQ6IG51bWJlcjtcbiAgICAgICAgY3VycmVuY3k6IHN0cmluZztcbiAgICAgICAgcGF5bWVudF9hbW91bnQ6IG51bWJlcjtcbiAgICAgICAgcGF5bWVudF9jdXJyZW5jeTogc3RyaW5nO1xuICAgICAgfTtcbiAgICAgIGRpc2NvdW50OiB7IGFtb3VudDogbnVtYmVyOyBjdXJyZW5jeTogc3RyaW5nIH07XG4gICAgICB2YXRfdXNlcj86IHtcbiAgICAgICAgYW1vdW50OiBudW1iZXI7XG4gICAgICAgIHBlcmNlbnQ6IG51bWJlcjtcbiAgICAgICAgY3VycmVuY3k6IHN0cmluZztcbiAgICAgICAgdmlzaWJsZTogYm9vbGVhbjtcbiAgICAgIH07XG4gICAgICBzYWxlc190YXg6IHsgYW1vdW50OiBudW1iZXI7IHBlcmNlbnQ6IG51bWJlcjsgY3VycmVuY3k6IHN0cmluZyB9O1xuICAgICAgc2FsZXNfdGF4X3VzZXI/OiB7IGFtb3VudDogbnVtYmVyOyBwZXJjZW50OiBudW1iZXI7IGN1cnJlbmN5OiBzdHJpbmcgfTtcbiAgICAgIGZlZTogeyBhbW91bnQ6IG51bWJlcjsgY3VycmVuY3k6IHN0cmluZyB9O1xuICAgICAgdG90YWw6IHsgYW1vdW50OiBudW1iZXI7IGN1cnJlbmN5OiBzdHJpbmcgfTtcbiAgICAgIHhzb2xsYV9jcmVkaXRzPzoge1xuICAgICAgICBwYXltZW50X2Ftb3VudDogbnVtYmVyO1xuICAgICAgICBwYXltZW50X2N1cnJlbmN5OiBzdHJpbmc7XG4gICAgICB9O1xuICAgICAgdmF0OiB7XG4gICAgICAgIGFtb3VudDogbnVtYmVyO1xuICAgICAgICBwZXJjZW50OiBudW1iZXI7XG4gICAgICAgIGN1cnJlbmN5OiBzdHJpbmc7XG4gICAgICAgIHZpc2libGU6IGJvb2xlYW47XG4gICAgICB9O1xuICAgICAgdXNlcl9iYWxhbmNlPzogeyBhbW91bnQ6IG51bWJlcjsgY3VycmVuY3k6IHN0cmluZyB9O1xuICAgICAgZ3JhbmRfdG90YWw/OiB7IGFtb3VudDogbnVtYmVyOyBjdXJyZW5jeTogc3RyaW5nIH07XG4gICAgfTtcbiAgfTtcbiAgYnV5RGF0YToge1xuICAgIGN1cnJlbmN5OiBzdHJpbmc7XG4gICAgZW5hYmxlZDogYm9vbGVhbjtcbiAgICBleGFtcGxlOiBudWxsIHwgdW5rbm93bjtcbiAgICBpc01hbmRhdG9yeTogbnVsbCB8IGJvb2xlYW47XG4gICAgaXNQYWtldHM6IG51bGwgfCBib29sZWFuO1xuICAgIGlzUmVhZG9ubHk6IG51bGwgfCBib29sZWFuO1xuICAgIGlzVmlzaWJsZTogWHBzQm9vbGVhbjtcbiAgICBsYWJlbF9oaW50OiBudWxsIHwgc3RyaW5nO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBvcHRpb25zOiBudWxsIHwgdW5rbm93bltdO1xuICAgIHJlZ2V4OiBudWxsIHwgdW5rbm93bjtcbiAgICBzdW06IHN0cmluZztcbiAgICB0aXRsZTogbnVsbCB8IHN0cmluZztcbiAgICB0b29sdGlwOiBudWxsIHwgc3RyaW5nO1xuICAgIHR5cGU6ICdzdWJtaXQnIHwgc3RyaW5nO1xuICAgIHZhbGlkYXRpb25fZXJyb3JfbXNnOiBudWxsIHwgc3RyaW5nO1xuICAgIHZhbHVlOiBzdHJpbmc7XG4gIH07XG4gIGFjY291bnRYc29sbGE6IHN0cmluZztcbiAgcHVibGljX2lkOiBzdHJpbmc7XG4gIGZvcm06IHsgW2tleTogc3RyaW5nXTogRmllbGQgfTtcbiAgdGF4RGlzY2xhaW1lcjogc3RyaW5nIHwgbnVsbDtcbiAgbnVtYmVyOiBudW1iZXI7XG4gIGJhcmNvZGU6IHVua25vd247XG4gIG9mZmVyczogdW5rbm93bjtcbiAgaW5zdHJ1Y3Rpb246IHN0cmluZztcbiAgZXJyb3JzOiBYcHNFcnJvcltdIHwgbnVsbDtcbiAgcmVzdHJpY3Rpb25zOiB1bmtub3duO1xuICBpbmZvOiBzdHJpbmc7XG4gIHBpZDogbnVtYmVyO1xuICBwcm9qZWN0OiB7XG4gICAgaWQ6IG51bWJlcjtcbiAgICBpc01lcmNoYW50OiBib29sZWFuO1xuICAgIGlzVW5rbm93blByaWNlOiBudW1iZXI7XG4gICAgbmFtZTogc3RyaW5nO1xuICB9O1xuICBlcnJvcj86IHtcbiAgICBmaWVsZHM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG4gIH07XG4gIGludm9pY2VDcmVhdGVkOiBYcHNCb29sZWFuO1xuICBtZXNzYWdlcz86IFhwc01lc3NhZ2VbXTtcbiAgc3RhdHVzPzogU3RhdHVzRW51bSB8IFhwc1N0YXR1cyB8IG51bGw7XG4gIGZpbmFsPzogYm9vbGVhbjtcbiAgZWxhcHNlZFRpbWU/OiBudW1iZXI7XG4gIGdyb3VwPzogc3RyaW5nO1xuICBpc19wYXltZW50X2FjY291bnRfYXR0YWNoZWQ/OiBib29sZWFuO1xuICBpc19wYXJ0aWFsX3BheT86IGJvb2xlYW47XG4gIGNvdW50cnk/OiB7IGlzbzogc3RyaW5nIH07XG4gIHVzZXJTZXNzaW9uPzogSW52b2ljZTtcbiAgY3VycmVudENvbW1hbmQ6IFhwc0NvbW1hbmQ7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIG9ubGluZUJhbmtpbmc/OiB7XG4gICAgdmFsdWU6IHN0cmluZztcbiAgfTtcbiAgdGhyZWVEU0Zvcm06IHtcbiAgICB0aHJlZURTVHJYaWQ6IHN0cmluZztcbiAgICB0aHJlZURTTWV0aG9kOiBzdHJpbmc7XG4gICAgdGhyZWVEU01ldGhvZERhdGE6IHN0cmluZztcbiAgICB3ZWJTb2NrZXRDaGFubmVsVXJsOiBzdHJpbmc7XG4gICAgd2ViU29ja2V0Q2hhbm5lbE5hbWU6IHN0cmluZztcbiAgICB3ZWJTb2NrZXRDbGllbnRUeXBlOiBXZWJTb2NrZXRDbGllbnRUeXBlO1xuICAgIHN0YXR1c1VybDogc3RyaW5nO1xuICAgIHdhaXRDYWxsYmFjazogYm9vbGVhbjtcbiAgfSB8IG51bGw7XG4gIHNraXBGb3JtOiBib29sZWFuO1xuICBza2lwQ2hlY2tvdXQ6IGJvb2xlYW47XG4gIGlzTWFwOiBib29sZWFuO1xuICBpc0NoZWNrb3V0OiBib29sZWFuO1xuICBjYXRlZ29yaWVzOiBudW1iZXJbXTtcbiAgdGV4dEFsbD86IHtcbiAgICBmYXRhbDogYm9vbGVhbjtcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBYcHNTdGF0dXMge1xuICBpc19wYXJ0aWFsX3BheTogYm9vbGVhbjtcbiAgbWFya2V0cGxhY2U6IHN0cmluZztcbiAgYXV0b3JlZGlyZWN0PzogeyB0aW1lOiBudW1iZXIgfTtcbiAgc3RhdHVzRGF0YToge1xuICAgIHByb2plY3Q6IG51bWJlcjtcbiAgICBwaWQ6IG51bWJlcjtcbiAgICBvdXQ6IG51bWJlcjtcbiAgICBwYXltZW50X2NvdW50cnlfaXNvOiBzdHJpbmc7XG4gICAgdjE6IHN0cmluZztcbiAgICB2Mjogc3RyaW5nO1xuICAgIHYzOiBzdHJpbmc7XG4gICAgaW52b2ljZTogbnVtYmVyO1xuICAgIGVtYWlsOiBzdHJpbmc7XG4gICAgc3RhdGU6IG51bWJlcjtcbiAgICBzdGF0ZVRleHQ6IFN0YXR1c0VudW07XG4gICAgc3RhdHVzUHM6IG51bWJlcjtcbiAgICBrZXk6IHN0cmluZztcbiAgICB3ZWJTb2NrZXRDaGFubmVsVXJsOiBzdHJpbmc7XG4gICAgd2ViU29ja2V0Q2hhbm5lbE5hbWU6IHN0cmluZztcbiAgICB3ZWJTb2NrZXRDbGllbnRUeXBlOiBXZWJTb2NrZXRDbGllbnRUeXBlO1xuICAgIHByb2plY3RBbW91bnQ6IHN0cmluZztcbiAgICByZWN1cnJlbnRJZD86IG51bWJlcjtcbiAgfTtcbiAgZ3NoYXJlX2Jhbm5lcl9lbmFibGVkOiBib29sZWFuO1xuICBpbnZvaWNlOiBudW1iZXI7XG4gIHJlcGF5bWVudD86IG51bGxbXSB8IG51bGw7XG4gIGVtYWlsPzogbnVsbFtdIHwgbnVsbDtcbiAgZ3JvdXA6IHN0cmluZztcbiAgc2hhcmluZz86IHVua25vd247XG4gIHByZV9vcmRlcnM6IHVua25vd247XG4gIHRleHQ6IHtcbiAgICBpbmZvOiB7XG4gICAgICBba2V5OiBzdHJpbmddOiB7IGtleT86IHN0cmluZzsgcHJlZj86IHN0cmluZzsgdmFsdWU/OiBzdHJpbmcgfTtcbiAgICB9O1xuICAgIHN0YXRlOiBzdHJpbmc7XG4gICAgc3RhdGVGYWlsZWQ6IHN0cmluZztcbiAgICBpc19hZGRpdGlvbmFsX2JhY2tfdXJsX2VuYWJsZWQ/OiBib29sZWFuO1xuICAgIGFkZGl0aW9uYWxfYmFja191cmxfbGluaz86IHN0cmluZztcbiAgICBhZGRpdGlvbmFsX2JhY2tfdXJsX2xhYmVsPzogc3RyaW5nO1xuICAgIGFkZGl0aW9uYWxfYmFja191cmxfYWN0aW9uPzogc3RyaW5nO1xuICAgIGJhY2t1cmw6IHN0cmluZztcbiAgICBiYWNrdXJsX2NhcHRpb246IHN0cmluZztcbiAgICBiYWNrdXJsX2FjdGlvbjogc3RyaW5nO1xuICAgIHJlZGVlbV9pbnN0cnVjdGlvbl9saW5rPzogbnVsbDtcbiAgICBvcmRlcj86IHtcbiAgICAgIGxpbmVpdGVtcz86IExpbmVJdGVtW107XG4gICAgICBzaGlwcGluZz86IHtcbiAgICAgICAgY3VycmVuY3k6IHN0cmluZztcbiAgICAgICAgYW1vdW50OiBudW1iZXI7XG4gICAgICB9O1xuICAgICAgY29udGFpbmVkX3RheGVzPzoge1xuICAgICAgICBzYWxlc190YXg/OiBib29sZWFuO1xuICAgICAgICB1c2VyX3ZhdD86IGJvb2xlYW47XG4gICAgICB9O1xuICAgIH07XG4gIH07XG4gIGNvdW50cnk6IHN0cmluZztcbiAgcmV0dXJuX3JlZ2lvbjogc3RyaW5nO1xuICBhZGRpdGlvbmFsX2J1dHRvbl9yZXR1cm5fcmVnaW9uPzogc3RyaW5nO1xuICBpc1VzZXJMZWdhbDogYm9vbGVhbjtcbiAgaXNDYW5jZWxVc2VyOiBib29sZWFuO1xuICBpc1ByZWxvYWRlcjogYm9vbGVhbjtcbiAgYWx0ZXJuYXRpdmU/OiB1bmtub3duO1xuICBzaG93RW1haWxSZXF1ZXN0OiBib29sZWFuO1xuICBhdXRvUmVjaGFyZ2U6IHtcbiAgICBwYXJhbXM/OiB1bmtub3duO1xuICAgIHBhY2thZ2VzOiB1bmtub3duO1xuICAgIGxhYmVsX2Vycm9yOiBzdHJpbmc7XG4gICAgbGFiZWxfY29udGludWU6IHN0cmluZztcbiAgfTtcbiAgdGl0bGVfY2xhc3M6IFRpdGxlQ2xhc3M7XG4gIG5lZWRUb0NoZWNrOiBib29sZWFuO1xuICBjdXN0b21fbWVzc2FnZTogc3RyaW5nO1xuICBjdXN0b21faGVhZGVyOiBzdHJpbmc7XG4gIGJhYmthTGluazogc3RyaW5nO1xuICBkaXNjb3VudD86IHsgW2tleTogc3RyaW5nXTogeyBrZXk/OiBzdHJpbmc7IHZhbHVlPzogc3RyaW5nIH0gfTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydGllcy50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcHJvcGVydGllcy50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBQcm9wZXJ0aWVzPFQ+ID0ge1xuICBbUCBpbiBrZXlvZiBUXTogVFtQXTtcbn07XG4iXX0=
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { Subject } from 'rxjs';
|
|
3
|
+
import { map } from 'rxjs/operators';
|
|
4
|
+
import { WsError } from '../exceptions-handling/errors/ws-error.class';
|
|
5
|
+
import { ErrorTags } from '../exceptions-handling/errors/elk-error-types.enum';
|
|
6
|
+
import { WebSocketClientType } from './web-socket-client-type.enum';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "../exceptions-handling/elk/elk-logger.service";
|
|
9
|
+
export class CentrifugoWebSocketService {
|
|
10
|
+
constructor(elkLoggerService) {
|
|
11
|
+
this.elkLoggerService = elkLoggerService;
|
|
12
|
+
this.type = WebSocketClientType.centrifugo;
|
|
13
|
+
this.reconnectionTimerId = null;
|
|
14
|
+
this.isConnectionOpen = false;
|
|
15
|
+
this.isConnecting = false;
|
|
16
|
+
this.incomingMessages$ = new Subject();
|
|
17
|
+
this.successfulReconnectionEventsProxy$ = new Subject();
|
|
18
|
+
}
|
|
19
|
+
async open(url, channel) {
|
|
20
|
+
if (url === this.url && channel === this.channel) {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
try {
|
|
24
|
+
this.url = url;
|
|
25
|
+
this.channel = channel;
|
|
26
|
+
await this.createConnection(url, channel);
|
|
27
|
+
}
|
|
28
|
+
catch (error) {
|
|
29
|
+
// @ts-expect-error error is unknown
|
|
30
|
+
const message = (error?.message || error);
|
|
31
|
+
const unknownError = new WsError(`unknown websocket error: ${message}`, channel);
|
|
32
|
+
this.elkLoggerService.handleError(unknownError);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
close() {
|
|
36
|
+
this.clearReconnectionTimer();
|
|
37
|
+
if (!this.isConnectionOpen) {
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
this.connection.disconnect();
|
|
41
|
+
}
|
|
42
|
+
get messages$() {
|
|
43
|
+
return (this.incomingMessages$
|
|
44
|
+
.asObservable()
|
|
45
|
+
// event don't respect type from argument, it's weird
|
|
46
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
47
|
+
.pipe(map((event) => event.data)));
|
|
48
|
+
}
|
|
49
|
+
subscribeOnSuccessfulReconnection(next) {
|
|
50
|
+
return this.successfulReconnectionEventsProxy$
|
|
51
|
+
.asObservable()
|
|
52
|
+
.subscribe(next);
|
|
53
|
+
}
|
|
54
|
+
clearReconnectionTimer() {
|
|
55
|
+
if (this.reconnectionTimerId) {
|
|
56
|
+
clearTimeout(this.reconnectionTimerId);
|
|
57
|
+
this.reconnectionTimerId = null;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
setFirstReconnectionTimeout() {
|
|
61
|
+
const min = CentrifugoWebSocketService.timeoutsMs.reconnection -
|
|
62
|
+
CentrifugoWebSocketService.timeoutsMs.reconnectionMaxDeviation;
|
|
63
|
+
const max = CentrifugoWebSocketService.timeoutsMs.reconnection +
|
|
64
|
+
CentrifugoWebSocketService.timeoutsMs.reconnectionMaxDeviation;
|
|
65
|
+
this.reconnectionTimeoutMs =
|
|
66
|
+
Math.floor(Math.random() * (max - min + 1)) + min;
|
|
67
|
+
}
|
|
68
|
+
incrementReconnectionTimeout() {
|
|
69
|
+
this.reconnectionTimeoutMs =
|
|
70
|
+
this.reconnectionTimeoutMs *
|
|
71
|
+
CentrifugoWebSocketService.reconnectionTimeoutIncrementFactor;
|
|
72
|
+
}
|
|
73
|
+
async getCentrifugoClient() {
|
|
74
|
+
return import('centrifuge').then((module) => module.Centrifuge);
|
|
75
|
+
}
|
|
76
|
+
async createConnection(url, channel) {
|
|
77
|
+
if (this.isConnectionOpen || this.isConnecting) {
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
81
|
+
const CentrifugeClient = await this.getCentrifugoClient();
|
|
82
|
+
const websocketUrl = url ?? this.url;
|
|
83
|
+
const websocketChannel = channel ?? this.channel;
|
|
84
|
+
this.connection = new CentrifugeClient(websocketUrl, {
|
|
85
|
+
debug: true,
|
|
86
|
+
maxReconnectDelay: 1500,
|
|
87
|
+
maxServerPingDelay: 1000,
|
|
88
|
+
});
|
|
89
|
+
return new Promise((resolve, reject) => {
|
|
90
|
+
this.connection
|
|
91
|
+
.on('connecting', () => {
|
|
92
|
+
this.isConnecting = true;
|
|
93
|
+
})
|
|
94
|
+
.on('connected', () => {
|
|
95
|
+
this.onConnect();
|
|
96
|
+
resolve();
|
|
97
|
+
})
|
|
98
|
+
.on('disconnected', (ctx) => {
|
|
99
|
+
this.onDisconnect(ctx, websocketChannel);
|
|
100
|
+
reject();
|
|
101
|
+
})
|
|
102
|
+
.on('error', (ctx) => {
|
|
103
|
+
const message = `code ${ctx.error.code} - ${ctx.error.message}`;
|
|
104
|
+
this.elkLoggerService.log(`connection error: ${message}`, [ErrorTags.WS], {
|
|
105
|
+
channel: websocketChannel,
|
|
106
|
+
});
|
|
107
|
+
})
|
|
108
|
+
.connect();
|
|
109
|
+
this.subscription = this.connection.newSubscription(websocketChannel, this.getSubscriptionOptions(websocketChannel));
|
|
110
|
+
this.subscription
|
|
111
|
+
.on('subscribed', (ctx) => {
|
|
112
|
+
this.subscriptionPosition = ctx.streamPosition;
|
|
113
|
+
this.prevSubscribedChannel = websocketChannel;
|
|
114
|
+
})
|
|
115
|
+
.on('publication', (ctx) => {
|
|
116
|
+
const message = ctx.data;
|
|
117
|
+
this.elkLoggerService.log(`websocket message received: ${message}`, [ErrorTags.WS], {
|
|
118
|
+
channel: websocketChannel,
|
|
119
|
+
});
|
|
120
|
+
this.incomingMessages$.next(ctx);
|
|
121
|
+
})
|
|
122
|
+
.on('error', (ctx) => {
|
|
123
|
+
const message = `code ${ctx.error.code} - ${ctx.error.message}`;
|
|
124
|
+
this.elkLoggerService.log(`subscription error: ${message}`, [ErrorTags.WS], {
|
|
125
|
+
channel: websocketChannel,
|
|
126
|
+
});
|
|
127
|
+
})
|
|
128
|
+
.subscribe();
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
onConnect() {
|
|
132
|
+
clearTimeout(this.openConnectionTimerId);
|
|
133
|
+
this.isConnecting = false;
|
|
134
|
+
this.isConnectionOpen = true;
|
|
135
|
+
}
|
|
136
|
+
onDisconnect(ctx, websocketChannel) {
|
|
137
|
+
this.isConnecting = false;
|
|
138
|
+
this.isConnectionOpen = false;
|
|
139
|
+
/* If connection error, cause any connection error isn't 0 */
|
|
140
|
+
if (ctx.code !== 0) {
|
|
141
|
+
const message = `code ${ctx.code} - ${ctx.reason}`;
|
|
142
|
+
this.elkLoggerService.log(`disconnected error: ${message}`, [ErrorTags.WS], {
|
|
143
|
+
channel: websocketChannel,
|
|
144
|
+
});
|
|
145
|
+
(async () => {
|
|
146
|
+
await this.waitWhileNotReconnect();
|
|
147
|
+
})();
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
async reconnect() {
|
|
151
|
+
this.clearReconnectionTimer();
|
|
152
|
+
return new Promise((resolve) => {
|
|
153
|
+
this.reconnectionTimerId = setTimeout(() => {
|
|
154
|
+
this.createConnection()
|
|
155
|
+
.then(() => resolve(true))
|
|
156
|
+
.catch(() => resolve(false));
|
|
157
|
+
this.incrementReconnectionTimeout();
|
|
158
|
+
}, this.reconnectionTimeoutMs);
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
async waitWhileNotReconnect() {
|
|
162
|
+
this.clearReconnectionTimer();
|
|
163
|
+
this.setFirstReconnectionTimeout();
|
|
164
|
+
let isConnected = false;
|
|
165
|
+
const beforeTimer = performance.now();
|
|
166
|
+
while (!isConnected) {
|
|
167
|
+
isConnected = await this.reconnect();
|
|
168
|
+
}
|
|
169
|
+
const afterTimer = performance.now();
|
|
170
|
+
const timerDuration = afterTimer - beforeTimer;
|
|
171
|
+
this.elkLoggerService.log(`fallback to reconnection timer: duration ${timerDuration}ms`, [ErrorTags.WS], {
|
|
172
|
+
channel: this.channel,
|
|
173
|
+
});
|
|
174
|
+
this.successfulReconnectionEventsProxy$.next();
|
|
175
|
+
}
|
|
176
|
+
getSubscriptionOptions(websocketChannel) {
|
|
177
|
+
const options = {
|
|
178
|
+
recoverable: true,
|
|
179
|
+
};
|
|
180
|
+
if (websocketChannel === this.prevSubscribedChannel &&
|
|
181
|
+
this.subscriptionPosition) {
|
|
182
|
+
options.since = this.subscriptionPosition;
|
|
183
|
+
}
|
|
184
|
+
return options;
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
CentrifugoWebSocketService.reconnectionTimeoutIncrementFactor = 2;
|
|
188
|
+
CentrifugoWebSocketService.timeoutsMs = {
|
|
189
|
+
reconnection: 1000,
|
|
190
|
+
reconnectionMaxDeviation: 1000,
|
|
191
|
+
};
|
|
192
|
+
CentrifugoWebSocketService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CentrifugoWebSocketService, deps: [{ token: i1.ElkLoggerService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
193
|
+
CentrifugoWebSocketService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CentrifugoWebSocketService, providedIn: 'root' });
|
|
194
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CentrifugoWebSocketService, decorators: [{
|
|
195
|
+
type: Injectable,
|
|
196
|
+
args: [{
|
|
197
|
+
providedIn: 'root',
|
|
198
|
+
}]
|
|
199
|
+
}], ctorParameters: function () { return [{ type: i1.ElkLoggerService }]; } });
|
|
200
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VudHJpZnVnby13ZWItc29ja2V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS93ZWItc29ja2V0L2NlbnRyaWZ1Z28td2ViLXNvY2tldC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFjLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDekQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBU3JDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFFL0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0JBQStCLENBQUM7OztBQUtwRSxNQUFNLE9BQU8sMEJBQTBCO0lBOEJyQyxZQUFvQyxnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQTNCL0QsU0FBSSxHQUFHLG1CQUFtQixDQUFDLFVBQVUsQ0FBQztRQVFyQyx3QkFBbUIsR0FBeUMsSUFBSSxDQUFDO1FBT2pFLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUN6QixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUtaLHNCQUFpQixHQUNoQyxJQUFJLE9BQU8sRUFBc0IsQ0FBQztRQUVuQix1Q0FBa0MsR0FDakQsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUVtRCxDQUFDO0lBRW5FLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBVyxFQUFFLE9BQWU7UUFDNUMsSUFBSSxHQUFHLEtBQUssSUFBSSxDQUFDLEdBQUcsSUFBSSxPQUFPLEtBQUssSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoRCxPQUFPO1NBQ1I7UUFFRCxJQUFJO1lBQ0Ys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QUFJO0NBQy9CLENBQUM7dUhBUlMsMEJBQTBCOzJIQUExQiwwQkFBMEIsY0FGekIsTUFBTTsyRkFFUCwwQkFBMEI7a0JBSHRDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgdHlwZSB7XG4gIENlbnRyaWZ1Z2UsXG4gIERpc2Nvbm5lY3RlZENvbnRleHQsXG4gIFB1YmxpY2F0aW9uQ29udGV4dCxcbiAgU3Vic2NyaXB0aW9uIGFzIENlbnRyaWZ1Z2VTdWJzY3JpcHRpb24sXG59IGZyb20gJ2NlbnRyaWZ1Z2UnO1xuaW1wb3J0IHsgU3RyZWFtUG9zaXRpb24sIFN1YnNjcmlwdGlvbk9wdGlvbnMgfSBmcm9tICdjZW50cmlmdWdlL2J1aWxkL3R5cGVzJztcbmltcG9ydCB7IEVsa0xvZ2dlclNlcnZpY2UgfSBmcm9tICcuLi9leGNlcHRpb25zLWhhbmRsaW5nL2Vsay9lbGstbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgV3NFcnJvciB9IGZyb20gJy4uL2V4Y2VwdGlvbnMtaGFuZGxpbmcvZXJyb3JzL3dzLWVycm9yLmNsYXNzJztcbmltcG9ydCB7IEVycm9yVGFncyB9IGZyb20gJy4uL2V4Y2VwdGlvbnMtaGFuZGxpbmcvZXJyb3JzL2Vsay1lcnJvci10eXBlcy5lbnVtJztcbmltcG9ydCB7IFdlYlNvY2tldENsaWVudCB9IGZyb20gJy4vd2ViLXNvY2tldC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgV2ViU29ja2V0Q2xpZW50VHlwZSB9IGZyb20gJy4vd2ViLXNvY2tldC1jbGllbnQtdHlwZS5lbnVtJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIENlbnRyaWZ1Z29XZWJTb2NrZXRTZXJ2aWNlIGltcGxlbWVudHMgV2ViU29ja2V0Q2xpZW50IHtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSByZWNvbm5lY3Rpb25UaW1lb3V0SW5jcmVtZW50RmFjdG9yID0gMjtcblxuICBwdWJsaWMgdHlwZSA9IFdlYlNvY2tldENsaWVudFR5cGUuY2VudHJpZnVnbztcblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSB0aW1lb3V0c01zID0ge1xuICAgIHJlY29ubmVjdGlvbjogMTAwMCxcbiAgICByZWNvbm5lY3Rpb25NYXhEZXZpYXRpb246IDEwMDAsXG4gIH07XG5cbiAgcHJpdmF0ZSByZWNvbm5lY3Rpb25UaW1lb3V0TXMhOiBudW1iZXI7XG4gIHByaXZhdGUgcmVjb25uZWN0aW9uVGltZXJJZDogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD4gfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIHJlYWRvbmx5IG9wZW5Db25uZWN0aW9uVGltZXJJZDogbnVtYmVyIHwgdW5kZWZpbmVkO1xuXG4gIHByaXZhdGUgY29ubmVjdGlvbiE6IENlbnRyaWZ1Z2U7XG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uITogQ2VudHJpZnVnZVN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25Qb3NpdGlvbj86IFN0cmVhbVBvc2l0aW9uO1xuICBwcml2YXRlIGlzQ29ubmVjdGlvbk9wZW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBpc0Nvbm5lY3RpbmcgPSBmYWxzZTtcbiAgcHJpdmF0ZSB1cmwhOiBzdHJpbmc7XG4gIHByaXZhdGUgY2hhbm5lbCE6IHN0cmluZztcbiAgcHJpdmF0ZSBwcmV2U3Vic2NyaWJlZENoYW5uZWw/OiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBpbmNvbWluZ01lc3NhZ2VzJDogU3ViamVjdDxQdWJsaWNhdGlvbkNvbnRleHQ+ID1cbiAgICBuZXcgU3ViamVjdDxQdWJsaWNhdGlvbkNvbnRleHQ+KCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBzdWNjZXNzZnVsUmVjb25uZWN0aW9uRXZlbnRzUHJveHkkOiBTdWJqZWN0PHZvaWQ+ID1cbiAgICBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGVsa0xvZ2dlclNlcnZpY2U6IEVsa0xvZ2dlclNlcnZpY2UpIHt9XG5cbiAgcHVibGljIGFzeW5jIG9wZW4odXJsOiBzdHJpbmcsIGNoYW5uZWw6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh1cmwgPT09IHRoaXMudXJsICYmIGNoYW5uZWwgPT09IHRoaXMuY2hhbm5lbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICB0aGlzLnVybCA9IHVybDtcbiAgICAgIHRoaXMuY2hhbm5lbCA9IGNoYW5uZWw7XG4gICAgICBhd2FpdCB0aGlzLmNyZWF0ZUNvbm5lY3Rpb24odXJsLCBjaGFubmVsKTtcbiAgICB9IGNhdGNoIChlcnJvcjogdW5rbm93bikge1xuICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBlcnJvciBpcyB1bmtub3duXG4gICAgICBjb25zdCBtZXNzYWdlID0gKGVycm9yPy5tZXNzYWdlIHx8IGVycm9yKSBhcyBzdHJpbmc7XG4gICAgICBjb25zdCB1bmtub3duRXJyb3IgPSBuZXcgV3NFcnJvcihcbiAgICAgICAgYHVua25vd24gd2Vic29ja2V0IGVycm9yOiAke21lc3NhZ2V9YCxcbiAgICAgICAgY2hhbm5lbFxuICAgICAgKTtcblxuICAgICAgdGhpcy5lbGtMb2dnZXJTZXJ2aWNlLmhhbmRsZUVycm9yKHVua25vd25FcnJvcik7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMuY2xlYXJSZWNvbm5lY3Rpb25UaW1lcigpO1xuXG4gICAgaWYgKCF0aGlzLmlzQ29ubmVjdGlvbk9wZW4pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmNvbm5lY3Rpb24uZGlzY29ubmVjdCgpO1xuICB9XG5cbiAgcHVibGljIGdldCBtZXNzYWdlcyQoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5pbmNvbWluZ01lc3NhZ2VzJFxuICAgICAgICAuYXNPYnNlcnZhYmxlKClcbiAgICAgICAgLy8gZXZlbnQgZG9uJ3QgcmVzcGVjdCB0eXBlIGZyb20gYXJndW1lbnQsIGl0J3Mgd2VpcmRcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtcmV0dXJuXG4gICAgICAgIC5waXBlKG1hcCgoZXZlbnQpID0+IGV2ZW50LmRhdGEpKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgc3Vic2NyaWJlT25TdWNjZXNzZnVsUmVjb25uZWN0aW9uKG5leHQ/OiAoKSA9PiB2b2lkKTogU3Vic2NyaXB0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5zdWNjZXNzZnVsUmVjb25uZWN0aW9uRXZlbnRzUHJveHkkXG4gICAgICAuYXNPYnNlcnZhYmxlKClcbiAgICAgIC5zdWJzY3JpYmUobmV4dCk7XG4gIH1cblxuICBwcml2YXRlIGNsZWFyUmVjb25uZWN0aW9uVGltZXIoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucmVjb25uZWN0aW9uVGltZXJJZCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMucmVjb25uZWN0aW9uVGltZXJJZCk7XG4gICAgICB0aGlzLnJlY29ubmVjdGlvblRpbWVySWQgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0Rmlyc3RSZWNvbm5lY3Rpb25UaW1lb3V0KCk6IHZvaWQge1xuICAgIGNvbnN0IG1pbiA9XG4gICAgICBDZW50cmlmdWdvV2ViU29ja2V0U2VydmljZS50aW1lb3V0c01zLnJlY29ubmVjdGlvbiAtXG4gICAgICBDZW50cmlmdWdvV2ViU29ja2V0U2VydmljZS50aW1lb3V0c01zLnJlY29ubmVjdGlvbk1heERldmlhdGlvbjtcbiAgICBjb25zdCBtYXggPVxuICAgICAgQ2VudHJpZnVnb1dlYlNvY2tldFNlcnZpY2UudGltZW91dHNNcy5yZWNvbm5lY3Rpb24gK1xuICAgICAgQ2VudHJpZnVnb1dlYlNvY2tldFNlcnZpY2UudGltZW91dHNNcy5yZWNvbm5lY3Rpb25NYXhEZXZpYXRpb247XG4gICAgdGhpcy5yZWNvbm5lY3Rpb25UaW1lb3V0TXMgPVxuICAgICAgTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogKG1heCAtIG1pbiArIDEpKSArIG1pbjtcbiAgfVxuXG4gIHByaXZhdGUgaW5jcmVtZW50UmVjb25uZWN0aW9uVGltZW91dCgpOiB2b2lkIHtcbiAgICB0aGlzLnJlY29ubmVjdGlvblRpbWVvdXRNcyA9XG4gICAgICB0aGlzLnJlY29ubmVjdGlvblRpbWVvdXRNcyAqXG4gICAgICBDZW50cmlmdWdvV2ViU29ja2V0U2VydmljZS5yZWNvbm5lY3Rpb25UaW1lb3V0SW5jcmVtZW50RmFjdG9yO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBnZXRDZW50cmlmdWdvQ2xpZW50KCk6IFByb21pc2U8dHlwZW9mIENlbnRyaWZ1Z2U+IHtcbiAgICByZXR1cm4gaW1wb3J0KCdjZW50cmlmdWdlJykudGhlbigobW9kdWxlKSA9PiBtb2R1bGUuQ2VudHJpZnVnZSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGNyZWF0ZUNvbm5lY3Rpb24oXG4gICAgdXJsPzogc3RyaW5nLFxuICAgIGNoYW5uZWw/OiBzdHJpbmdcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHRoaXMuaXNDb25uZWN0aW9uT3BlbiB8fCB0aGlzLmlzQ29ubmVjdGluZykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICBjb25zdCBDZW50cmlmdWdlQ2xpZW50ID0gYXdhaXQgdGhpcy5nZXRDZW50cmlmdWdvQ2xpZW50KCk7XG5cbiAgICBjb25zdCB3ZWJzb2NrZXRVcmwgPSB1cmwgPz8gdGhpcy51cmw7XG4gICAgY29uc3Qgd2Vic29ja2V0Q2hhbm5lbCA9IGNoYW5uZWwgPz8gdGhpcy5jaGFubmVsO1xuXG4gICAgdGhpcy5jb25uZWN0aW9uID0gbmV3IENlbnRyaWZ1Z2VDbGllbnQod2Vic29ja2V0VXJsLCB7XG4gICAgICBkZWJ1ZzogdHJ1ZSxcbiAgICAgIG1heFJlY29ubmVjdERlbGF5OiAxNTAwLFxuICAgICAgbWF4U2VydmVyUGluZ0RlbGF5OiAxMDAwLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHRoaXMuY29ubmVjdGlvblxuICAgICAgICAub24oJ2Nvbm5lY3RpbmcnLCAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5pc0Nvbm5lY3RpbmcgPSB0cnVlO1xuICAgICAgICB9KVxuICAgICAgICAub24oJ2Nvbm5lY3RlZCcsICgpID0+IHtcbiAgICAgICAgICB0aGlzLm9uQ29ubmVjdCgpO1xuICAgICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgfSlcbiAgICAgICAgLm9uKCdkaXNjb25uZWN0ZWQnLCAoY3R4KSA9PiB7XG4gICAgICAgICAgdGhpcy5vbkRpc2Nvbm5lY3QoY3R4LCB3ZWJzb2NrZXRDaGFubmVsKTtcbiAgICAgICAgICByZWplY3QoKTtcbiAgICAgICAgfSlcbiAgICAgICAgLm9uKCdlcnJvcicsIChjdHgpID0+IHtcbiAgICAgICAgICBjb25zdCBtZXNzYWdlID0gYGNvZGUgJHtjdHguZXJyb3IuY29kZX0gLSAke2N0eC5lcnJvci5tZXNzYWdlfWA7XG5cbiAgICAgICAgICB0aGlzLmVsa0xvZ2dlclNlcnZpY2UubG9nKFxuICAgICAgICAgICAgYGNvbm5lY3Rpb24gZXJyb3I6ICR7bWVzc2FnZX1gLFxuICAgICAgICAgICAgW0Vycm9yVGFncy5XU10sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGNoYW5uZWw6IHdlYnNvY2tldENoYW5uZWwsXG4gICAgICAgICAgICB9XG4gICAgICAgICAgKTtcbiAgICAgICAgfSlcbiAgICAgICAgLmNvbm5lY3QoKTtcblxuICAgICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLmNvbm5lY3Rpb24ubmV3U3Vic2NyaXB0aW9uKFxuICAgICAgICB3ZWJzb2NrZXRDaGFubmVsLFxuICAgICAgICB0aGlzLmdldFN1YnNjcmlwdGlvbk9wdGlvbnMod2Vic29ja2V0Q2hhbm5lbClcbiAgICAgICk7XG5cbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uXG4gICAgICAgIC5vbignc3Vic2NyaWJlZCcsIChjdHgpID0+IHtcbiAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvblBvc2l0aW9uID0gY3R4LnN0cmVhbVBvc2l0aW9uO1xuICAgICAgICAgIHRoaXMucHJldlN1YnNjcmliZWRDaGFubmVsID0gd2Vic29ja2V0Q2hhbm5lbDtcbiAgICAgICAgfSlcbiAgICAgICAgLm9uKCdwdWJsaWNhdGlvbicsIChjdHgpID0+IHtcbiAgICAgICAgICBjb25zdCBtZXNzYWdlID0gY3R4LmRhdGEgYXMgc3RyaW5nO1xuXG4gICAgICAgICAgdGhpcy5lbGtMb2dnZXJTZXJ2aWNlLmxvZyhcbiAgICAgICAgICAgIGB3ZWJzb2NrZXQgbWVzc2FnZSByZWNlaXZlZDogJHttZXNzYWdlfWAsXG4gICAgICAgICAgICBbRXJyb3JUYWdzLldTXSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgY2hhbm5lbDogd2Vic29ja2V0Q2hhbm5lbCxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICApO1xuXG4gICAgICAgICAgdGhpcy5pbmNvbWluZ01lc3NhZ2VzJC5uZXh0KGN0eCk7XG4gICAgICAgIH0pXG4gICAgICAgIC5vbignZXJyb3InLCAoY3R4KSA9PiB7XG4gICAgICAgICAgY29uc3QgbWVzc2FnZSA9IGBjb2RlICR7Y3R4LmVycm9yLmNvZGV9IC0gJHtjdHguZXJyb3IubWVzc2FnZX1gO1xuXG4gICAgICAgICAgdGhpcy5lbGtMb2dnZXJTZXJ2aWNlLmxvZyhcbiAgICAgICAgICAgIGBzdWJzY3JpcHRpb24gZXJyb3I6ICR7bWVzc2FnZX1gLFxuICAgICAgICAgICAgW0Vycm9yVGFncy5XU10sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGNoYW5uZWw6IHdlYnNvY2tldENoYW5uZWwsXG4gICAgICAgICAgICB9XG4gICAgICAgICAgKTtcbiAgICAgICAgfSlcbiAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvbkNvbm5lY3QoKTogdm9pZCB7XG4gICAgY2xlYXJUaW1lb3V0KHRoaXMub3BlbkNvbm5lY3Rpb25UaW1lcklkKTtcbiAgICB0aGlzLmlzQ29ubmVjdGluZyA9IGZhbHNlO1xuICAgIHRoaXMuaXNDb25uZWN0aW9uT3BlbiA9IHRydWU7XG4gIH1cblxuICBwcml2YXRlIG9uRGlzY29ubmVjdChcbiAgICBjdHg6IERpc2Nvbm5lY3RlZENvbnRleHQsXG4gICAgd2Vic29ja2V0Q2hhbm5lbDogc3RyaW5nXG4gICk6IHZvaWQge1xuICAgIHRoaXMuaXNDb25uZWN0aW5nID0gZmFsc2U7XG4gICAgdGhpcy5pc0Nvbm5lY3Rpb25PcGVuID0gZmFsc2U7XG5cbiAgICAvKiBJZiBjb25uZWN0aW9uIGVycm9yLCBjYXVzZSBhbnkgY29ubmVjdGlvbiBlcnJvciBpc24ndCAwICovXG4gICAgaWYgKGN0eC5jb2RlICE9PSAwKSB7XG4gICAgICBjb25zdCBtZXNzYWdlID0gYGNvZGUgJHtjdHguY29kZX0gLSAke2N0eC5yZWFzb259YDtcblxuICAgICAgdGhpcy5lbGtMb2dnZXJTZXJ2aWNlLmxvZyhcbiAgICAgICAgYGRpc2Nvbm5lY3RlZCBlcnJvcjogJHttZXNzYWdlfWAsXG4gICAgICAgIFtFcnJvclRhZ3MuV1NdLFxuICAgICAgICB7XG4gICAgICAgICAgY2hhbm5lbDogd2Vic29ja2V0Q2hhbm5lbCxcbiAgICAgICAgfVxuICAgICAgKTtcblxuICAgICAgKGFzeW5jICgpID0+IHtcbiAgICAgICAgYXdhaXQgdGhpcy53YWl0V2hpbGVOb3RSZWNvbm5lY3QoKTtcbiAgICAgIH0pKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyByZWNvbm5lY3QoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgdGhpcy5jbGVhclJlY29ubmVjdGlvblRpbWVyKCk7XG5cbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgIHRoaXMucmVjb25uZWN0aW9uVGltZXJJZCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLmNyZWF0ZUNvbm5lY3Rpb24oKVxuICAgICAgICAgIC50aGVuKCgpID0+IHJlc29sdmUodHJ1ZSkpXG4gICAgICAgICAgLmNhdGNoKCgpID0+IHJlc29sdmUoZmFsc2UpKTtcbiAgICAgICAgdGhpcy5pbmNyZW1lbnRSZWNvbm5lY3Rpb25UaW1lb3V0KCk7XG4gICAgICB9LCB0aGlzLnJlY29ubmVjdGlvblRpbWVvdXRNcyk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHdhaXRXaGlsZU5vdFJlY29ubmVjdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLmNsZWFyUmVjb25uZWN0aW9uVGltZXIoKTtcbiAgICB0aGlzLnNldEZpcnN0UmVjb25uZWN0aW9uVGltZW91dCgpO1xuXG4gICAgbGV0IGlzQ29ubmVjdGVkID0gZmFsc2U7XG5cbiAgICBjb25zdCBiZWZvcmVUaW1lciA9IHBlcmZvcm1hbmNlLm5vdygpO1xuXG4gICAgd2hpbGUgKCFpc0Nvbm5lY3RlZCkge1xuICAgICAgaXNDb25uZWN0ZWQgPSBhd2FpdCB0aGlzLnJlY29ubmVjdCgpO1xuICAgIH1cblxuICAgIGNvbnN0IGFmdGVyVGltZXIgPSBwZXJmb3JtYW5jZS5ub3coKTtcblxuICAgIGNvbnN0IHRpbWVyRHVyYXRpb24gPSBhZnRlclRpbWVyIC0gYmVmb3JlVGltZXI7XG5cbiAgICB0aGlzLmVsa0xvZ2dlclNlcnZpY2UubG9nKFxuICAgICAgYGZhbGxiYWNrIHRvIHJlY29ubmVjdGlvbiB0aW1lcjogZHVyYXRpb24gJHt0aW1lckR1cmF0aW9ufW1zYCxcbiAgICAgIFtFcnJvclRhZ3MuV1NdLFxuICAgICAge1xuICAgICAgICBjaGFubmVsOiB0aGlzLmNoYW5uZWwsXG4gICAgICB9XG4gICAgKTtcblxuICAgIHRoaXMuc3VjY2Vzc2Z1bFJlY29ubmVjdGlvbkV2ZW50c1Byb3h5JC5uZXh0KCk7XG4gIH1cblxuICBwcml2YXRlIGdldFN1YnNjcmlwdGlvbk9wdGlvbnMoXG4gICAgd2Vic29ja2V0Q2hhbm5lbDogc3RyaW5nXG4gICk6IFBhcnRpYWw8U3Vic2NyaXB0aW9uT3B0aW9ucz4ge1xuICAgIGNvbnN0IG9wdGlvbnM6IFBhcnRpYWw8U3Vic2NyaXB0aW9uT3B0aW9ucz4gPSB7XG4gICAgICByZWNvdmVyYWJsZTogdHJ1ZSxcbiAgICB9O1xuXG4gICAgaWYgKFxuICAgICAgd2Vic29ja2V0Q2hhbm5lbCA9PT0gdGhpcy5wcmV2U3Vic2NyaWJlZENoYW5uZWwgJiZcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uUG9zaXRpb25cbiAgICApIHtcbiAgICAgIG9wdGlvbnMuc2luY2UgPSB0aGlzLnN1YnNjcmlwdGlvblBvc2l0aW9uO1xuICAgIH1cblxuICAgIHJldHVybiBvcHRpb25zO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { Subject } from 'rxjs';
|
|
2
|
+
import { map } from 'rxjs/operators';
|
|
3
|
+
import { Injectable } from '@angular/core';
|
|
4
|
+
import { WebSocketClientType } from './web-socket-client-type.enum';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class NchanWebSocketService {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.type = WebSocketClientType.nchan;
|
|
9
|
+
this.reconnectionTimerId = null;
|
|
10
|
+
this.incomingMessages$ = new Subject();
|
|
11
|
+
this.successfulReconnectionEventsProxy$ = new Subject();
|
|
12
|
+
}
|
|
13
|
+
async open() {
|
|
14
|
+
if (this.openPromise && !this.isClosed()) {
|
|
15
|
+
return this.openPromise;
|
|
16
|
+
}
|
|
17
|
+
this.openPromise = this.createConnection()
|
|
18
|
+
.catch(async () => {
|
|
19
|
+
return this.waitWhileNotReconnect();
|
|
20
|
+
})
|
|
21
|
+
.then(() => {
|
|
22
|
+
this.connection.onclose = async () => this.open();
|
|
23
|
+
});
|
|
24
|
+
return this.openPromise;
|
|
25
|
+
}
|
|
26
|
+
close() {
|
|
27
|
+
this.clearReconnectionTimer();
|
|
28
|
+
if (this.isClosed()) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
this.connection.onclose = null;
|
|
32
|
+
this.connection.close();
|
|
33
|
+
}
|
|
34
|
+
get messages$() {
|
|
35
|
+
return this.incomingMessages$
|
|
36
|
+
.asObservable()
|
|
37
|
+
.pipe(map((event) => event.data));
|
|
38
|
+
}
|
|
39
|
+
subscribeOnSuccessfulReconnection(next) {
|
|
40
|
+
return this.successfulReconnectionEventsProxy$
|
|
41
|
+
.asObservable()
|
|
42
|
+
.subscribe(next);
|
|
43
|
+
}
|
|
44
|
+
isClosed() {
|
|
45
|
+
if (!this.connection) {
|
|
46
|
+
return true;
|
|
47
|
+
}
|
|
48
|
+
return [this.connection.CLOSED, this.connection.CLOSING].includes(this.connection.readyState);
|
|
49
|
+
}
|
|
50
|
+
clearReconnectionTimer() {
|
|
51
|
+
if (this.reconnectionTimerId) {
|
|
52
|
+
clearTimeout(this.reconnectionTimerId);
|
|
53
|
+
this.reconnectionTimerId = null;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
setFirstReconnectionTimeout() {
|
|
57
|
+
const min = NchanWebSocketService.timeoutsMs.reconnection -
|
|
58
|
+
NchanWebSocketService.timeoutsMs.reconnectionMaxDeviation;
|
|
59
|
+
const max = NchanWebSocketService.timeoutsMs.reconnection +
|
|
60
|
+
NchanWebSocketService.timeoutsMs.reconnectionMaxDeviation;
|
|
61
|
+
this.reconnectionTimeoutMs =
|
|
62
|
+
Math.floor(Math.random() * (max - min + 1)) + min;
|
|
63
|
+
}
|
|
64
|
+
incrementReconnectionTimeout() {
|
|
65
|
+
this.reconnectionTimeoutMs =
|
|
66
|
+
this.reconnectionTimeoutMs *
|
|
67
|
+
NchanWebSocketService.reconnectionTimeoutIncrementFactor;
|
|
68
|
+
}
|
|
69
|
+
async createConnection() {
|
|
70
|
+
this.connection = new WebSocket(this.url);
|
|
71
|
+
this.connection.onmessage = this.incomingMessages$.next.bind(this.incomingMessages$);
|
|
72
|
+
return new Promise((resolve, reject) => {
|
|
73
|
+
this.connection.onopen = () => {
|
|
74
|
+
clearTimeout(this.openConnectionTimerId);
|
|
75
|
+
resolve();
|
|
76
|
+
};
|
|
77
|
+
this.connection.onclose = () => {
|
|
78
|
+
reject();
|
|
79
|
+
};
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
async reconnect() {
|
|
83
|
+
this.clearReconnectionTimer();
|
|
84
|
+
return new Promise((resolve) => {
|
|
85
|
+
this.reconnectionTimerId = setTimeout(() => {
|
|
86
|
+
this.createConnection()
|
|
87
|
+
.then(() => resolve(true))
|
|
88
|
+
.catch(() => resolve(false));
|
|
89
|
+
this.incrementReconnectionTimeout();
|
|
90
|
+
}, this.reconnectionTimeoutMs);
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
async waitWhileNotReconnect() {
|
|
94
|
+
this.clearReconnectionTimer();
|
|
95
|
+
this.setFirstReconnectionTimeout();
|
|
96
|
+
let isConnected = false;
|
|
97
|
+
while (!isConnected) {
|
|
98
|
+
isConnected = await this.reconnect();
|
|
99
|
+
}
|
|
100
|
+
this.successfulReconnectionEventsProxy$.next();
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
NchanWebSocketService.reconnectionTimeoutIncrementFactor = 2;
|
|
104
|
+
NchanWebSocketService.timeoutsMs = {
|
|
105
|
+
reconnection: 1500,
|
|
106
|
+
reconnectionMaxDeviation: 1500,
|
|
107
|
+
};
|
|
108
|
+
NchanWebSocketService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: NchanWebSocketService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
109
|
+
NchanWebSocketService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: NchanWebSocketService, providedIn: 'root' });
|
|
110
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: NchanWebSocketService, decorators: [{
|
|
111
|
+
type: Injectable,
|
|
112
|
+
args: [{
|
|
113
|
+
providedIn: 'root',
|
|
114
|
+
}]
|
|
115
|
+
}] });
|
|
116
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmNoYW4td2ViLXNvY2tldC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvd2ViLXNvY2tldC9uY2hhbi13ZWItc29ja2V0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDekQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0JBQStCLENBQUM7O0FBS3BFLE1BQU0sT0FBTyxxQkFBcUI7SUFIbEM7UUFRUyxTQUFJLEdBQUcsbUJBQW1CLENBQUMsS0FBSyxDQUFDO1FBVWhDLHdCQUFtQixHQUF5QyxJQUFJLENBQUM7UUFNeEQsc0JBQWlCLEdBQ2hDLElBQUksT0FBTyxFQUFnQixDQUFDO1FBQ2IsdUNBQWtDLEdBQ2pELElBQUksT0FBTyxFQUFRLENBQUM7S0FzSHZCO0lBcEhRLEtBQUssQ0FBQyxJQUFJO1FBQ2YsSUFBSSxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ3hDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztTQUN6QjtRQUVELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFO2FBQ3ZDLEtBQUssQ0FBQyxLQUFLLElBQUksRUFBRTtZQUNoQixPQUFPLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQ3RDLENBQUMsQ0FBQzthQUNELElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDVCxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sR0FBRyxLQUFLLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEVB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biB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgV2ViU29ja2V0Q2xpZW50IH0gZnJvbSAnLi93ZWItc29ja2V0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBXZWJTb2NrZXRDbGllbnRUeXBlIH0gZnJvbSAnLi93ZWItc29ja2V0LWNsaWVudC10eXBlLmVudW0nO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTmNoYW5XZWJTb2NrZXRTZXJ2aWNlIGltcGxlbWVudHMgV2ViU29ja2V0Q2xpZW50IHtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSByZWNvbm5lY3Rpb25UaW1lb3V0SW5jcmVtZW50RmFjdG9yID0gMjtcblxuICBwdWJsaWMgdXJsITogc3RyaW5nO1xuXG4gIHB1YmxpYyB0eXBlID0gV2ViU29ja2V0Q2xpZW50VHlwZS5uY2hhbjtcblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSB0aW1lb3V0c01zID0ge1xuICAgIHJlY29ubmVjdGlvbjogMTUwMCxcbiAgICByZWNvbm5lY3Rpb25NYXhEZXZpYXRpb246IDE1MDAsXG4gIH07XG5cbiAgcHJpdmF0ZSBvcGVuUHJvbWlzZTogUHJvbWlzZTx1bmtub3duPiB8IHVuZGVmaW5lZDtcblxuICBwcml2YXRlIHJlY29ubmVjdGlvblRpbWVvdXRNcyE6IG51bWJlcjtcbiAgcHJpdmF0ZSByZWNvbm5lY3Rpb25UaW1lcklkOiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PiB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgb3BlbkNvbm5lY3Rpb25UaW1lcklkOiBudW1iZXIgfCB1bmRlZmluZWQ7XG5cbiAgcHJpdmF0ZSBjb25uZWN0aW9uITogV2ViU29ja2V0O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgaW5jb21pbmdNZXNzYWdlcyQ6IFN1YmplY3Q8TWVzc2FnZUV2ZW50PiA9XG4gICAgbmV3IFN1YmplY3Q8TWVzc2FnZUV2ZW50PigpO1xuICBwcml2YXRlIHJlYWRvbmx5IHN1Y2Nlc3NmdWxSZWNvbm5lY3Rpb25FdmVudHNQcm94eSQ6IFN1YmplY3Q8dm9pZD4gPVxuICAgIG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcHVibGljIGFzeW5jIG9wZW4oKTogUHJvbWlzZTx1bmtub3duPiB7XG4gICAgaWYgKHRoaXMub3BlblByb21pc2UgJiYgIXRoaXMuaXNDbG9zZWQoKSkge1xuICAgICAgcmV0dXJuIHRoaXMub3BlblByb21pc2U7XG4gICAgfVxuXG4gICAgdGhpcy5vcGVuUHJvbWlzZSA9IHRoaXMuY3JlYXRlQ29ubmVjdGlvbigpXG4gICAgICAuY2F0Y2goYXN5bmMgKCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy53YWl0V2hpbGVOb3RSZWNvbm5lY3QoKTtcbiAgICAgIH0pXG4gICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgIHRoaXMuY29ubmVjdGlvbi5vbmNsb3NlID0gYXN5bmMgKCkgPT4gdGhpcy5vcGVuKCk7XG4gICAgICB9KTtcblxuICAgIHJldHVybiB0aGlzLm9wZW5Qcm9taXNlO1xuICB9XG5cbiAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMuY2xlYXJSZWNvbm5lY3Rpb25UaW1lcigpO1xuXG4gICAgaWYgKHRoaXMuaXNDbG9zZWQoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuY29ubmVjdGlvbi5vbmNsb3NlID0gbnVsbDtcbiAgICB0aGlzLmNvbm5lY3Rpb24uY2xvc2UoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbWVzc2FnZXMkKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuaW5jb21pbmdNZXNzYWdlcyRcbiAgICAgIC5hc09ic2VydmFibGUoKVxuICAgICAgLnBpcGUobWFwKChldmVudDogTWVzc2FnZUV2ZW50PHN0cmluZz4pID0+IGV2ZW50LmRhdGEpKTtcbiAgfVxuXG4gIHB1YmxpYyBzdWJzY3JpYmVPblN1Y2Nlc3NmdWxSZWNvbm5lY3Rpb24obmV4dD86ICgpID0+IHZvaWQpOiBTdWJzY3JpcHRpb24ge1xuICAgIHJldHVybiB0aGlzLnN1Y2Nlc3NmdWxSZWNvbm5lY3Rpb25FdmVudHNQcm94eSRcbiAgICAgIC5hc09ic2VydmFibGUoKVxuICAgICAgLnN1YnNjcmliZShuZXh0KTtcbiAgfVxuXG4gIHByaXZhdGUgaXNDbG9zZWQoKTogYm9vbGVhbiB7XG4gICAgaWYgKCF0aGlzLmNvbm5lY3Rpb24pIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiBbdGhpcy5jb25uZWN0aW9uLkNMT1NFRCwgdGhpcy5jb25uZWN0aW9uLkNMT1NJTkddLmluY2x1ZGVzKFxuICAgICAgdGhpcy5jb25uZWN0aW9uLnJlYWR5U3RhdGVcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBjbGVhclJlY29ubmVjdGlvblRpbWVyKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnJlY29ubmVjdGlvblRpbWVySWQpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLnJlY29ubmVjdGlvblRpbWVySWQpO1xuICAgICAgdGhpcy5yZWNvbm5lY3Rpb25UaW1lcklkID0gbnVsbDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldEZpcnN0UmVjb25uZWN0aW9uVGltZW91dCgpOiB2b2lkIHtcbiAgICBjb25zdCBtaW4gPVxuICAgICAgTmNoYW5XZWJTb2NrZXRTZXJ2aWNlLnRpbWVvdXRzTXMucmVjb25uZWN0aW9uIC1cbiAgICAgIE5jaGFuV2ViU29ja2V0U2VydmljZS50aW1lb3V0c01zLnJlY29ubmVjdGlvbk1heERldmlhdGlvbjtcbiAgICBjb25zdCBtYXggPVxuICAgICAgTmNoYW5XZWJTb2NrZXRTZXJ2aWNlLnRpbWVvdXRzTXMucmVjb25uZWN0aW9uICtcbiAgICAgIE5jaGFuV2ViU29ja2V0U2VydmljZS50aW1lb3V0c01zLnJlY29ubmVjdGlvbk1heERldmlhdGlvbjtcbiAgICB0aGlzLnJlY29ubmVjdGlvblRpbWVvdXRNcyA9XG4gICAgICBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAobWF4IC0gbWluICsgMSkpICsgbWluO1xuICB9XG5cbiAgcHJpdmF0ZSBpbmNyZW1lbnRSZWNvbm5lY3Rpb25UaW1lb3V0KCk6IHZvaWQge1xuICAgIHRoaXMucmVjb25uZWN0aW9uVGltZW91dE1zID1cbiAgICAgIHRoaXMucmVjb25uZWN0aW9uVGltZW91dE1zICpcbiAgICAgIE5jaGFuV2ViU29ja2V0U2VydmljZS5yZWNvbm5lY3Rpb25UaW1lb3V0SW5jcmVtZW50RmFjdG9yO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBjcmVhdGVDb25uZWN0aW9uKCk6IFByb21pc2U8dW5rbm93bj4ge1xuICAgIHRoaXMuY29ubmVjdGlvbiA9IG5ldyBXZWJTb2NrZXQodGhpcy51cmwpO1xuICAgIHRoaXMuY29ubmVjdGlvbi5vbm1lc3NhZ2UgPSB0aGlzLmluY29taW5nTWVzc2FnZXMkLm5leHQuYmluZChcbiAgICAgIHRoaXMuaW5jb21pbmdNZXNzYWdlcyRcbiAgICApO1xuXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHRoaXMuY29ubmVjdGlvbi5vbm9wZW4gPSAoKSA9PiB7XG4gICAgICAgIGNsZWFyVGltZW91dCh0aGlzLm9wZW5Db25uZWN0aW9uVGltZXJJZCk7XG4gICAgICAgIHJlc29sdmUoKTtcbiAgICAgIH07XG5cbiAgICAgIHRoaXMuY29ubmVjdGlvbi5vbmNsb3NlID0gKCkgPT4ge1xuICAgICAgICByZWplY3QoKTtcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHJlY29ubmVjdCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICB0aGlzLmNsZWFyUmVjb25uZWN0aW9uVGltZXIoKTtcblxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgdGhpcy5yZWNvbm5lY3Rpb25UaW1lcklkID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuY3JlYXRlQ29ubmVjdGlvbigpXG4gICAgICAgICAgLnRoZW4oKCkgPT4gcmVzb2x2ZSh0cnVlKSlcbiAgICAgICAgICAuY2F0Y2goKCkgPT4gcmVzb2x2ZShmYWxzZSkpO1xuICAgICAgICB0aGlzLmluY3JlbWVudFJlY29ubmVjdGlvblRpbWVvdXQoKTtcbiAgICAgIH0sIHRoaXMucmVjb25uZWN0aW9uVGltZW91dE1zKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgd2FpdFdoaWxlTm90UmVjb25uZWN0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuY2xlYXJSZWNvbm5lY3Rpb25UaW1lcigpO1xuICAgIHRoaXMuc2V0Rmlyc3RSZWNvbm5lY3Rpb25UaW1lb3V0KCk7XG5cbiAgICBsZXQgaXNDb25uZWN0ZWQgPSBmYWxzZTtcblxuICAgIHdoaWxlICghaXNDb25uZWN0ZWQpIHtcbiAgICAgIGlzQ29ubmVjdGVkID0gYXdhaXQgdGhpcy5yZWNvbm5lY3QoKTtcbiAgICB9XG5cbiAgICB0aGlzLnN1Y2Nlc3NmdWxSZWNvbm5lY3Rpb25FdmVudHNQcm94eSQubmV4dCgpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export var WebSocketClientType;
|
|
2
|
+
(function (WebSocketClientType) {
|
|
3
|
+
WebSocketClientType["nchan"] = "nchan";
|
|
4
|
+
WebSocketClientType["centrifugo"] = "centrifugo";
|
|
5
|
+
})(WebSocketClientType || (WebSocketClientType = {}));
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViLXNvY2tldC1jbGllbnQtdHlwZS5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvd2ViLXNvY2tldC93ZWItc29ja2V0LWNsaWVudC10eXBlLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksbUJBR1g7QUFIRCxXQUFZLG1CQUFtQjtJQUM3QixzQ0FBZSxDQUFBO0lBQ2YsZ0RBQXlCLENBQUE7QUFDM0IsQ0FBQyxFQUhXLG1CQUFtQixLQUFuQixtQkFBbUIsUUFHOUIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBXZWJTb2NrZXRDbGllbnRUeXBlIHtcbiAgbmNoYW4gPSAnbmNoYW4nLFxuICBjZW50cmlmdWdvID0gJ2NlbnRyaWZ1Z28nLFxufVxuIl19
|