@senior-agronegocio/angular-components 0.0.9884 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +25 -0
- package/agro-angular-components.module.d.ts +13 -9
- package/common/agro-array-utils.class.d.ts +48 -48
- package/common/agro-cookie-utils.class.d.ts +9 -9
- package/common/agro-date-utils.class.d.ts +88 -88
- package/common/agro-logics.class.d.ts +23 -23
- package/common/agro-name-utils.class.d.ts +22 -22
- package/common/agro-number-utils.class.d.ts +77 -77
- package/common/agro-object-stringifier.class.d.ts +16 -16
- package/common/agro-object-utils.class.d.ts +184 -173
- package/common/agro-platform-utils.class.d.ts +60 -60
- package/common/agro-regex.constant.d.ts +155 -155
- package/common/agro-string-utils.class.d.ts +97 -97
- package/common/agro-unit-converter.class.d.ts +23 -23
- package/common/colors.class.d.ts +78 -78
- package/common/edl-query-builder.class.d.ts +27 -0
- package/common/index.d.ts +15 -12
- package/components/cancel-event-dialog/cancel-event-dialog-config.d.ts +8 -8
- package/components/cancel-event-dialog/cancel-event-dialog.component.d.ts +34 -33
- package/components/cancel-event-dialog/cancel-event-dialog.module.d.ts +14 -2
- package/components/cancel-event-dialog/index.d.ts +3 -3
- package/components/event-control-board/common/control-status.d.ts +5 -5
- package/components/event-control-board/common/documentsToIssue.d.ts +4 -4
- package/components/event-control-board/common/event-control-constants.d.ts +11 -11
- package/components/event-control-board/common/event-operation.d.ts +52 -52
- package/components/event-control-board/common/event-origin.d.ts +12 -12
- package/components/event-control-board/common/event-status.d.ts +7 -7
- package/components/event-control-board/common/input-fields-translate.d.ts +5 -5
- package/components/event-control-board/common/input-fields.d.ts +5 -5
- package/components/event-control-board/common/invoice-type.d.ts +9 -9
- package/components/event-control-board/common/lookup-error-message.constants.d.ts +3 -3
- package/components/event-control-board/common/operation.d.ts +5 -5
- package/components/event-control-board/common/operationType.d.ts +5 -5
- package/components/event-control-board/common/status-entity.d.ts +4 -4
- package/components/event-control-board/common/ticket-status.d.ts +7 -7
- package/components/event-control-board/common/transfer-status.d.ts +6 -6
- package/components/event-control-board/event-control-board.component.d.ts +120 -106
- package/components/event-control-board/event-control-board.module.d.ts +31 -2
- package/components/event-control-board/index.d.ts +22 -22
- package/components/event-control-board/service/e001pes/e001pes-dto.d.ts +12 -12
- package/components/event-control-board/service/e001pes/e001pes.d.ts +15 -15
- package/components/event-control-board/service/e001pes/e001pes.module.d.ts +7 -2
- package/components/event-control-board/service/e001pes/e001pes.service.d.ts +16 -13
- package/components/event-control-board/service/e001tns/e001tns-dto.d.ts +14 -14
- package/components/event-control-board/service/e001tns/e001tns.d.ts +19 -19
- package/components/event-control-board/service/e001tns/e001tns.module.d.ts +7 -2
- package/components/event-control-board/service/e001tns/e001tns.service.d.ts +14 -11
- package/components/event-control-board/service/e012fam/e012fam-dto.d.ts +11 -11
- package/components/event-control-board/service/e012fam/e012fam.d.ts +14 -14
- package/components/event-control-board/service/e012fam/e012fam.service.d.ts +14 -11
- package/components/event-control-board/service/e070emp/e070emp-dto.d.ts +10 -10
- package/components/event-control-board/service/e070emp/e070emp.d.ts +13 -13
- package/components/event-control-board/service/e070emp/e070emp.module.d.ts +7 -2
- package/components/event-control-board/service/e070emp/e070emp.service.d.ts +15 -12
- package/components/event-control-board/service/e070fil/e070fil-dto.d.ts +14 -14
- package/components/event-control-board/service/e070fil/e070fil.d.ts +17 -17
- package/components/event-control-board/service/e070fil/e070fil.module.d.ts +7 -2
- package/components/event-control-board/service/e070fil/e070fil.service.d.ts +15 -12
- package/components/event-control-board/service/e075der/e075der-dto.d.ts +15 -15
- package/components/event-control-board/service/e075der/e075der.d.ts +18 -18
- package/components/event-control-board/service/e075der/e075der.module.d.ts +7 -2
- package/components/event-control-board/service/e075der/e075der.service.d.ts +15 -12
- package/components/event-control-board/service/e113saf/e113saf-dto.d.ts +11 -11
- package/components/event-control-board/service/e113saf/e113saf.d.ts +14 -14
- package/components/event-control-board/service/e205dep/deposit-dto.d.ts +11 -11
- package/components/event-control-board/service/e205dep/e205dep-dto.d.ts +15 -15
- package/components/event-control-board/service/e205dep/e205dep.d.ts +16 -16
- package/components/event-control-board/service/e205dep/e205dep.service.d.ts +15 -12
- package/components/event-control-board/service/event-control/event-control-dto.d.ts +15 -15
- package/components/event-control-board/service/event-control/event-control.d.ts +21 -21
- package/components/event-control-board/service/event-control/event-control.module.d.ts +7 -2
- package/components/event-control-board/service/event-control/event-control.service.d.ts +14 -11
- package/components/event-control-board/service/event-control-item/event-control-item-dto.d.ts +18 -18
- package/components/event-control-board/service/event-control-item/event-control-item.d.ts +25 -25
- package/components/event-control-board/service/event-control-item/event-control-item.module.d.ts +7 -2
- package/components/event-control-board/service/event-control-item/event-control-item.service.d.ts +18 -15
- package/components/event-control-board/service/external-invoice/external-invoice-dto.d.ts +13 -13
- package/components/event-control-board/service/external-invoice/external-invoice.d.ts +13 -13
- package/components/event-control-board/service/external-invoice/external-invoice.module.d.ts +7 -2
- package/components/event-control-board/service/external-invoice/external-invoice.service.d.ts +14 -11
- package/components/event-control-board/service/fixation-entity/fixation-dto.d.ts +41 -41
- package/components/event-control-board/service/fixation-entity/fixation.module.d.ts +7 -2
- package/components/event-control-board/service/fixation-entity/fixation.service.d.ts +18 -15
- package/components/event-control-board/service/invoice/invoice-dto.d.ts +15 -15
- package/components/event-control-board/service/invoice/invoice.d.ts +21 -21
- package/components/event-control-board/service/invoice/invoice.module.d.ts +7 -2
- package/components/event-control-board/service/invoice/invoice.service.d.ts +14 -11
- package/components/event-control-board/service/origination/operationType.d.ts +5 -5
- package/components/event-control-board/service/origination/origination-dto.d.ts +50 -50
- package/components/event-control-board/service/origination/origination.d.ts +51 -51
- package/components/event-control-board/service/origination/origination.module.d.ts +7 -2
- package/components/event-control-board/service/origination/origination.service.d.ts +14 -11
- package/components/event-control-board/service/paginator-storage.service.d.ts +8 -8
- package/components/event-control-board/service/rural-estate/rural-estate-dto.d.ts +28 -28
- package/components/event-control-board/service/rural-estate/rural-estate.d.ts +34 -34
- package/components/event-control-board/service/rural-estate/rural-estate.module.d.ts +7 -2
- package/components/event-control-board/service/rural-estate/rural-estate.service.d.ts +14 -11
- package/components/event-control-board/service/ticket/ticket-dto.d.ts +17 -17
- package/components/event-control-board/service/ticket/ticket.d.ts +18 -18
- package/components/event-control-board/service/ticket/ticket.module.d.ts +7 -2
- package/components/event-control-board/service/ticket/ticket.service.d.ts +48 -45
- package/components/event-control-board/service/transfer/transfer-dto.d.ts +32 -32
- package/components/event-control-board/service/transfer/transfer.module.d.ts +7 -2
- package/components/event-control-board/service/transfer/transfer.service.d.ts +16 -13
- package/components/event-control-board/shared.module.d.ts +31 -2
- package/components/event-steps/event-steps.component.d.ts +39 -36
- package/components/event-steps/event-steps.module.d.ts +9 -2
- package/components/event-steps/index.d.ts +2 -2
- package/components/financial-title-table/financial-title-table-options.interface.d.ts +10 -10
- package/components/financial-title-table/financial-title-table.component.d.ts +128 -126
- package/components/financial-title-table/financial-title-table.module.d.ts +26 -2
- package/components/financial-title-table/index.d.ts +4 -4
- package/components/financial-title-table/services/financial/agro-financial.service.d.ts +26 -23
- package/components/financial-title-table/services/financial/enums.d.ts +27 -27
- package/components/financial-title-table/services/financial/index.d.ts +3 -3
- package/components/financial-title-table/services/financial/intefaces.d.ts +107 -107
- package/components/index.d.ts +5 -5
- package/components/modal-invoice-pj/for-fixation/modal-fixation-options.interface.d.ts +5 -5
- package/components/modal-invoice-pj/for-fixation/modal-invoice-pj-for-fixation.component.d.ts +40 -36
- package/components/modal-invoice-pj/for-fixation/modal-invoice-pj-for-fixation.module.d.ts +26 -2
- package/components/modal-invoice-pj/for-origination/modal-invoice-pj-for-origination.component.d.ts +32 -28
- package/components/modal-invoice-pj/for-origination/modal-invoice-pj-for-origination.module.d.ts +26 -2
- package/components/modal-invoice-pj/for-transfer/modal-invoice-pj-for-transfer.component.d.ts +20 -17
- package/components/modal-invoice-pj/for-transfer/modal-invoice-pj-for-transfer.module.d.ts +26 -2
- package/components/modal-invoice-pj/index.d.ts +9 -9
- package/components/modal-invoice-pj/modal-invoice-pj-base.class.d.ts +64 -55
- package/components/modal-invoice-pj/modal-invoice-pj-options.interface.d.ts +10 -10
- package/components/modal-invoice-pj/modal-shared-imports.d.ts +7 -5
- package/components/modal-invoice-pj/services/agro-invoice/agro-invoice.module.d.ts +8 -2
- package/components/modal-invoice-pj/services/agro-invoice/agro-invoice.service.d.ts +19 -16
- package/components/modal-invoice-pj/services/agro-invoice/index.d.ts +2 -2
- package/components/modal-invoice-pj/services/agro-invoice/interfaces.d.ts +75 -75
- package/enums/agro-entity-status.enum.d.ts +4 -4
- package/enums/agro-numbers.enum.d.ts +1008 -1008
- package/enums/agro-string-masks.enum.d.ts +10 -10
- package/enums/date-comparison-type.enum.d.ts +4 -4
- package/enums/fixation-status.d.ts +8 -8
- package/enums/http-codes.enum.d.ts +64 -64
- package/enums/index.d.ts +8 -7
- package/enums/invoice-status.enum.d.ts +12 -12
- package/enums/number-comparison-type.enum.d.ts +8 -8
- package/enums/unit-measurement.enum.d.ts +49 -49
- package/esm2022/agro-angular-components.module.mjs +24 -0
- package/esm2022/common/agro-array-utils.class.mjs +74 -0
- package/esm2022/common/agro-cookie-utils.class.mjs +47 -0
- package/esm2022/common/agro-date-utils.class.mjs +121 -0
- package/esm2022/common/agro-logics.class.mjs +54 -0
- package/esm2022/common/agro-name-utils.class.mjs +60 -0
- package/esm2022/common/agro-number-utils.class.mjs +129 -0
- package/esm2022/common/agro-object-stringifier.class.mjs +34 -0
- package/esm2022/common/agro-object-utils.class.mjs +320 -0
- package/esm2022/common/agro-platform-utils.class.mjs +119 -0
- package/esm2022/common/agro-regex.constant.mjs +156 -0
- package/esm2022/common/agro-string-utils.class.mjs +363 -0
- package/esm2022/common/agro-unit-converter.class.mjs +254 -0
- package/esm2022/common/colors.class.mjs +79 -0
- package/esm2022/common/edl-query-builder.class.mjs +141 -0
- package/esm2022/common/index.mjs +14 -0
- package/esm2022/components/cancel-event-dialog/cancel-event-dialog-config.mjs +2 -0
- package/esm2022/components/cancel-event-dialog/cancel-event-dialog.component.mjs +117 -0
- package/esm2022/components/cancel-event-dialog/cancel-event-dialog.module.mjs +24 -0
- package/esm2022/components/cancel-event-dialog/index.mjs +3 -0
- package/esm2022/components/event-control-board/common/control-status.mjs +7 -0
- package/esm2022/components/event-control-board/common/documentsToIssue.mjs +6 -0
- package/esm2022/components/event-control-board/common/event-control-constants.mjs +113 -0
- package/esm2022/components/event-control-board/common/event-operation.mjs +54 -0
- package/esm2022/components/event-control-board/common/event-origin.mjs +14 -0
- package/esm2022/components/event-control-board/common/event-status.mjs +9 -0
- package/esm2022/components/event-control-board/common/input-fields-translate.mjs +11 -0
- package/esm2022/components/event-control-board/common/input-fields.mjs +7 -0
- package/esm2022/components/event-control-board/common/invoice-type.mjs +11 -0
- package/esm2022/components/event-control-board/common/lookup-error-message.constants.mjs +11 -0
- package/esm2022/components/event-control-board/common/operation.mjs +7 -0
- package/esm2022/components/event-control-board/common/operationType.mjs +7 -0
- package/esm2022/components/event-control-board/common/status-entity.mjs +6 -0
- package/esm2022/components/event-control-board/common/ticket-status.mjs +9 -0
- package/esm2022/components/event-control-board/common/transfer-status.mjs +8 -0
- package/esm2022/components/event-control-board/event-control-board.component.mjs +609 -0
- package/esm2022/components/event-control-board/event-control-board.module.mjs +120 -0
- package/esm2022/components/event-control-board/index.mjs +22 -0
- package/esm2022/components/event-control-board/service/e001pes/e001pes-dto.mjs +2 -0
- package/esm2022/components/event-control-board/service/e001pes/e001pes.mjs +30 -0
- package/esm2022/components/event-control-board/service/e001pes/e001pes.module.mjs +34 -0
- package/esm2022/components/event-control-board/service/e001pes/e001pes.service.mjs +33 -0
- package/esm2022/components/event-control-board/service/e001tns/e001tns-dto.mjs +2 -0
- package/esm2022/components/event-control-board/service/e001tns/e001tns.mjs +51 -0
- package/esm2022/components/event-control-board/service/e001tns/e001tns.module.mjs +38 -0
- package/esm2022/components/event-control-board/service/e001tns/e001tns.service.mjs +23 -0
- package/esm2022/components/event-control-board/service/e012fam/e012fam-dto.mjs +2 -0
- package/esm2022/components/event-control-board/service/e012fam/e012fam.mjs +29 -0
- package/esm2022/components/event-control-board/service/e012fam/e012fam.service.mjs +23 -0
- package/esm2022/components/event-control-board/service/e070emp/e070emp-dto.mjs +2 -0
- package/esm2022/components/event-control-board/service/e070emp/e070emp.mjs +37 -0
- package/esm2022/components/event-control-board/service/e070emp/e070emp.module.mjs +34 -0
- package/esm2022/components/event-control-board/service/e070emp/e070emp.service.mjs +30 -0
- package/esm2022/components/event-control-board/service/e070fil/e070fil-dto.mjs +2 -0
- package/esm2022/components/event-control-board/service/e070fil/e070fil.mjs +52 -0
- package/esm2022/components/event-control-board/service/e070fil/e070fil.module.mjs +34 -0
- package/esm2022/components/event-control-board/service/e070fil/e070fil.service.mjs +30 -0
- package/esm2022/components/event-control-board/service/e075der/e075der-dto.mjs +2 -0
- package/esm2022/components/event-control-board/service/e075der/e075der.mjs +41 -0
- package/esm2022/components/event-control-board/service/e075der/e075der.module.mjs +34 -0
- package/esm2022/components/event-control-board/service/e075der/e075der.service.mjs +28 -0
- package/esm2022/components/event-control-board/service/e113saf/e113saf-dto.mjs +2 -0
- package/{esm2015/components/event-control-board/service/e113saf/e113saf.js → esm2022/components/event-control-board/service/e113saf/e113saf.mjs} +29 -20
- package/esm2022/components/event-control-board/service/e205dep/deposit-dto.mjs +2 -0
- package/esm2022/components/event-control-board/service/e205dep/e205dep-dto.mjs +2 -0
- package/esm2022/components/event-control-board/service/e205dep/e205dep.mjs +31 -0
- package/esm2022/components/event-control-board/service/e205dep/e205dep.service.mjs +28 -0
- package/esm2022/components/event-control-board/service/event-control/event-control-dto.mjs +2 -0
- package/esm2022/components/event-control-board/service/event-control/event-control.mjs +32 -0
- package/esm2022/components/event-control-board/service/event-control/event-control.module.mjs +34 -0
- package/esm2022/components/event-control-board/service/event-control/event-control.service.mjs +23 -0
- package/esm2022/components/event-control-board/service/event-control-item/event-control-item-dto.mjs +2 -0
- package/esm2022/components/event-control-board/service/event-control-item/event-control-item.mjs +52 -0
- package/esm2022/components/event-control-board/service/event-control-item/event-control-item.module.mjs +34 -0
- package/esm2022/components/event-control-board/service/event-control-item/event-control-item.service.mjs +28 -0
- package/esm2022/components/event-control-board/service/external-invoice/external-invoice-dto.mjs +2 -0
- package/esm2022/components/event-control-board/service/external-invoice/external-invoice.mjs +28 -0
- package/esm2022/components/event-control-board/service/external-invoice/external-invoice.module.mjs +34 -0
- package/esm2022/components/event-control-board/service/external-invoice/external-invoice.service.mjs +23 -0
- package/esm2022/components/event-control-board/service/fixation-entity/fixation-dto.mjs +2 -0
- package/esm2022/components/event-control-board/service/fixation-entity/fixation.module.mjs +34 -0
- package/esm2022/components/event-control-board/service/fixation-entity/fixation.service.mjs +28 -0
- package/esm2022/components/event-control-board/service/invoice/invoice-dto.mjs +2 -0
- package/esm2022/components/event-control-board/service/invoice/invoice.mjs +56 -0
- package/esm2022/components/event-control-board/service/invoice/invoice.module.mjs +38 -0
- package/esm2022/components/event-control-board/service/invoice/invoice.service.mjs +23 -0
- package/esm2022/components/event-control-board/service/origination/operationType.mjs +7 -0
- package/esm2022/components/event-control-board/service/origination/origination-dto.mjs +2 -0
- package/esm2022/components/event-control-board/service/origination/origination.mjs +86 -0
- package/esm2022/components/event-control-board/service/origination/origination.module.mjs +34 -0
- package/esm2022/components/event-control-board/service/origination/origination.service.mjs +23 -0
- package/esm2022/components/event-control-board/service/paginator-storage.service.mjs +21 -0
- package/esm2022/components/event-control-board/service/rural-estate/rural-estate-dto.mjs +2 -0
- package/esm2022/components/event-control-board/service/rural-estate/rural-estate.mjs +102 -0
- package/esm2022/components/event-control-board/service/rural-estate/rural-estate.module.mjs +34 -0
- package/esm2022/components/event-control-board/service/rural-estate/rural-estate.service.mjs +23 -0
- package/esm2022/components/event-control-board/service/ticket/ticket-dto.mjs +2 -0
- package/esm2022/components/event-control-board/service/ticket/ticket.mjs +51 -0
- package/esm2022/components/event-control-board/service/ticket/ticket.module.mjs +38 -0
- package/esm2022/components/event-control-board/service/ticket/ticket.service.mjs +58 -0
- package/esm2022/components/event-control-board/service/transfer/transfer-dto.mjs +2 -0
- package/esm2022/components/event-control-board/service/transfer/transfer.module.mjs +38 -0
- package/esm2022/components/event-control-board/service/transfer/transfer.service.mjs +33 -0
- package/esm2022/components/event-control-board/shared.module.mjs +200 -0
- package/esm2022/components/event-steps/event-steps.component.mjs +129 -0
- package/esm2022/components/event-steps/event-steps.module.mjs +19 -0
- package/esm2022/components/event-steps/index.mjs +3 -0
- package/esm2022/components/financial-title-table/financial-title-table-options.interface.mjs +2 -0
- package/esm2022/components/financial-title-table/financial-title-table.component.mjs +422 -0
- package/esm2022/components/financial-title-table/financial-title-table.module.mjs +100 -0
- package/esm2022/components/financial-title-table/index.mjs +4 -0
- package/esm2022/components/financial-title-table/services/financial/agro-financial.service.mjs +68 -0
- package/esm2022/components/financial-title-table/services/financial/enums.mjs +33 -0
- package/esm2022/components/financial-title-table/services/financial/index.mjs +3 -0
- package/esm2022/components/financial-title-table/services/financial/intefaces.mjs +2 -0
- package/esm2022/components/index.mjs +6 -0
- package/esm2022/components/modal-invoice-pj/for-fixation/modal-fixation-options.interface.mjs +2 -0
- package/esm2022/components/modal-invoice-pj/for-fixation/modal-invoice-pj-for-fixation.component.mjs +190 -0
- package/esm2022/components/modal-invoice-pj/for-fixation/modal-invoice-pj-for-fixation.module.mjs +38 -0
- package/esm2022/components/modal-invoice-pj/for-origination/modal-invoice-pj-for-origination.component.mjs +67 -0
- package/esm2022/components/modal-invoice-pj/for-origination/modal-invoice-pj-for-origination.module.mjs +38 -0
- package/esm2022/components/modal-invoice-pj/for-transfer/modal-invoice-pj-for-transfer.component.mjs +41 -0
- package/esm2022/components/modal-invoice-pj/for-transfer/modal-invoice-pj-for-transfer.module.mjs +38 -0
- package/esm2022/components/modal-invoice-pj/index.mjs +8 -0
- package/esm2022/components/modal-invoice-pj/modal-invoice-pj-base.class.mjs +207 -0
- package/esm2022/components/modal-invoice-pj/modal-invoice-pj-options.interface.mjs +2 -0
- package/esm2022/components/modal-invoice-pj/modal-shared-imports.mjs +42 -0
- package/esm2022/components/modal-invoice-pj/services/agro-invoice/agro-invoice.module.mjs +41 -0
- package/esm2022/components/modal-invoice-pj/services/agro-invoice/agro-invoice.service.mjs +48 -0
- package/esm2022/components/modal-invoice-pj/services/agro-invoice/index.mjs +3 -0
- package/esm2022/components/modal-invoice-pj/services/agro-invoice/interfaces.mjs +13 -0
- package/esm2022/enums/agro-entity-status.enum.mjs +6 -0
- package/{esm2015/enums/agro-numbers.enum.js → esm2022/enums/agro-numbers.enum.mjs} +1009 -1009
- package/esm2022/enums/agro-string-masks.enum.mjs +12 -0
- package/esm2022/enums/date-comparison-type.enum.mjs +6 -0
- package/esm2022/enums/fixation-status.mjs +10 -0
- package/{esm2015/enums/http-codes.enum.js → esm2022/enums/http-codes.enum.mjs} +66 -66
- package/esm2022/enums/index.mjs +8 -0
- package/esm2022/enums/invoice-status.enum.mjs +14 -0
- package/esm2022/enums/number-comparison-type.enum.mjs +10 -0
- package/esm2022/enums/unit-measurement.enum.mjs +60 -0
- package/esm2022/form-validator/agro-form-validator.mjs +315 -0
- package/esm2022/form-validator/index.mjs +2 -0
- package/esm2022/lib-translation.module.mjs +26 -0
- package/esm2022/pipe/cnpj-cpf/cnpj-cpf.pipe.mjs +30 -0
- package/esm2022/pipe/cnpj-cpf/cnpj-cpf.pipe.module.mjs +18 -0
- package/esm2022/pipe/cnpj-cpf/index.mjs +3 -0
- package/esm2022/pipe/index.mjs +6 -0
- package/esm2022/pipe/kilogram/index.mjs +3 -0
- package/esm2022/pipe/kilogram/kilogram.module.mjs +20 -0
- package/esm2022/pipe/kilogram/kilogram.pipe.mjs +38 -0
- package/esm2022/pipe/lib-translate.pipe.mjs +24 -0
- package/esm2022/pipe/stringifier/index.mjs +3 -0
- package/esm2022/pipe/stringifier/stringifier.pipe.mjs +15 -0
- package/esm2022/pipe/stringifier/stringifier.pipe.module.mjs +18 -0
- package/esm2022/pipe/telephone/index.mjs +3 -0
- package/esm2022/pipe/telephone/telephone.pipe.mjs +93 -0
- package/esm2022/pipe/telephone/telephone.pipe.module.mjs +18 -0
- package/esm2022/public-api.mjs +11 -0
- package/esm2022/senior-agronegocio-angular-components.mjs +5 -0
- package/esm2022/services/agro-entity-service.mjs +137 -0
- package/esm2022/services/i18n/en-US.mjs +322 -0
- package/esm2022/services/i18n/es-CO.mjs +322 -0
- package/esm2022/services/i18n/pt-BR.mjs +322 -0
- package/esm2022/services/index.mjs +3 -0
- package/esm2022/services/lib-translation.service.mjs +58 -0
- package/esm2022/services/producer-invoice/index.mjs +3 -0
- package/esm2022/services/producer-invoice/producer-invoice-dto.mjs +2 -0
- package/esm2022/services/producer-invoice/producer-invoice.mjs +49 -0
- package/esm2022/services/producer-invoice/producer-invoice.service.mjs +56 -0
- package/esm2022/services/websocket/async-lock.mjs +27 -0
- package/esm2022/services/websocket/index.mjs +7 -0
- package/esm2022/services/websocket/models/index.mjs +2 -0
- package/esm2022/services/websocket/models/primitive-manager.mjs +45 -0
- package/esm2022/services/websocket/protocols/index.mjs +2 -0
- package/esm2022/services/websocket/protocols/on-event-options.mjs +2 -0
- package/esm2022/services/websocket/protocols/primitive-event.mjs +2 -0
- package/esm2022/services/websocket/user-information.service.mjs +34 -0
- package/esm2022/services/websocket/websocket.module.mjs +27 -0
- package/esm2022/services/websocket/websocket.service.mjs +327 -0
- package/{fesm2015/senior-agronegocio-angular-components.js → fesm2022/senior-agronegocio-angular-components.mjs} +8600 -7931
- package/fesm2022/senior-agronegocio-angular-components.mjs.map +1 -0
- package/form-validator/agro-form-validator.d.ts +117 -117
- package/form-validator/index.d.ts +1 -1
- package/index.d.ts +5 -0
- package/lib-translation.module.d.ts +8 -2
- package/package.json +52 -29
- package/pipe/cnpj-cpf/cnpj-cpf.pipe.d.ts +7 -4
- package/pipe/cnpj-cpf/cnpj-cpf.pipe.module.d.ts +8 -2
- package/pipe/cnpj-cpf/index.d.ts +2 -2
- package/pipe/index.d.ts +5 -5
- package/pipe/kilogram/index.d.ts +2 -2
- package/pipe/kilogram/kilogram.module.d.ts +8 -2
- package/pipe/kilogram/kilogram.pipe.d.ts +11 -8
- package/pipe/lib-translate.pipe.d.ts +10 -7
- package/pipe/stringifier/index.d.ts +2 -2
- package/pipe/stringifier/stringifier.pipe.d.ts +12 -9
- package/pipe/stringifier/stringifier.pipe.module.d.ts +8 -2
- package/pipe/telephone/index.d.ts +2 -2
- package/pipe/telephone/telephone.pipe.d.ts +24 -21
- package/pipe/telephone/telephone.pipe.module.d.ts +8 -2
- package/public-api.d.ts +9 -8
- package/services/agro-entity-service.d.ts +63 -62
- package/services/i18n/en-US.d.ts +321 -321
- package/services/i18n/es-CO.d.ts +321 -321
- package/services/i18n/pt-BR.d.ts +321 -321
- package/services/index.d.ts +2 -2
- package/services/lib-translation.service.d.ts +19 -16
- package/services/producer-invoice/index.d.ts +3 -3
- package/services/producer-invoice/producer-invoice-dto.d.ts +26 -26
- package/services/producer-invoice/producer-invoice.d.ts +27 -27
- package/services/producer-invoice/producer-invoice.service.d.ts +21 -18
- package/services/websocket/async-lock.d.ts +6 -6
- package/services/websocket/index.d.ts +6 -6
- package/services/websocket/models/index.d.ts +1 -1
- package/services/websocket/models/primitive-manager.d.ts +19 -19
- package/services/websocket/protocols/index.d.ts +2 -2
- package/services/websocket/protocols/on-event-options.d.ts +8 -8
- package/services/websocket/protocols/primitive-event.d.ts +10 -10
- package/services/websocket/user-information.service.d.ts +10 -7
- package/services/websocket/websocket.module.d.ts +7 -2
- package/services/websocket/websocket.service.d.ts +103 -100
- package/bundles/senior-agronegocio-angular-components.umd.js +0 -8889
- package/bundles/senior-agronegocio-angular-components.umd.js.map +0 -1
- package/bundles/senior-agronegocio-angular-components.umd.min.js +0 -17
- package/bundles/senior-agronegocio-angular-components.umd.min.js.map +0 -1
- package/esm2015/agro-angular-components.module.js +0 -22
- package/esm2015/common/agro-array-utils.class.js +0 -74
- package/esm2015/common/agro-cookie-utils.class.js +0 -47
- package/esm2015/common/agro-date-utils.class.js +0 -121
- package/esm2015/common/agro-logics.class.js +0 -54
- package/esm2015/common/agro-name-utils.class.js +0 -60
- package/esm2015/common/agro-number-utils.class.js +0 -129
- package/esm2015/common/agro-object-stringifier.class.js +0 -34
- package/esm2015/common/agro-object-utils.class.js +0 -301
- package/esm2015/common/agro-platform-utils.class.js +0 -119
- package/esm2015/common/agro-regex.constant.js +0 -156
- package/esm2015/common/agro-string-utils.class.js +0 -364
- package/esm2015/common/agro-unit-converter.class.js +0 -255
- package/esm2015/common/colors.class.js +0 -79
- package/esm2015/common/index.js +0 -13
- package/esm2015/components/cancel-event-dialog/cancel-event-dialog-config.js +0 -1
- package/esm2015/components/cancel-event-dialog/cancel-event-dialog.component.js +0 -117
- package/esm2015/components/cancel-event-dialog/cancel-event-dialog.module.js +0 -19
- package/esm2015/components/cancel-event-dialog/index.js +0 -3
- package/esm2015/components/event-control-board/common/control-status.js +0 -7
- package/esm2015/components/event-control-board/common/documentsToIssue.js +0 -6
- package/esm2015/components/event-control-board/common/event-control-constants.js +0 -113
- package/esm2015/components/event-control-board/common/event-operation.js +0 -54
- package/esm2015/components/event-control-board/common/event-origin.js +0 -14
- package/esm2015/components/event-control-board/common/event-status.js +0 -9
- package/esm2015/components/event-control-board/common/input-fields-translate.js +0 -11
- package/esm2015/components/event-control-board/common/input-fields.js +0 -7
- package/esm2015/components/event-control-board/common/invoice-type.js +0 -11
- package/esm2015/components/event-control-board/common/lookup-error-message.constants.js +0 -11
- package/esm2015/components/event-control-board/common/operation.js +0 -7
- package/esm2015/components/event-control-board/common/operationType.js +0 -7
- package/esm2015/components/event-control-board/common/status-entity.js +0 -6
- package/esm2015/components/event-control-board/common/ticket-status.js +0 -9
- package/esm2015/components/event-control-board/common/transfer-status.js +0 -8
- package/esm2015/components/event-control-board/event-control-board.component.js +0 -598
- package/esm2015/components/event-control-board/event-control-board.module.js +0 -66
- package/esm2015/components/event-control-board/index.js +0 -22
- package/esm2015/components/event-control-board/service/e001pes/e001pes-dto.js +0 -1
- package/esm2015/components/event-control-board/service/e001pes/e001pes.js +0 -20
- package/esm2015/components/event-control-board/service/e001pes/e001pes.module.js +0 -24
- package/esm2015/components/event-control-board/service/e001pes/e001pes.service.js +0 -34
- package/esm2015/components/event-control-board/service/e001tns/e001tns-dto.js +0 -1
- package/esm2015/components/event-control-board/service/e001tns/e001tns.js +0 -42
- package/esm2015/components/event-control-board/service/e001tns/e001tns.module.js +0 -26
- package/esm2015/components/event-control-board/service/e001tns/e001tns.service.js +0 -24
- package/esm2015/components/event-control-board/service/e012fam/e012fam-dto.js +0 -1
- package/esm2015/components/event-control-board/service/e012fam/e012fam.js +0 -20
- package/esm2015/components/event-control-board/service/e012fam/e012fam.service.js +0 -24
- package/esm2015/components/event-control-board/service/e070emp/e070emp-dto.js +0 -1
- package/esm2015/components/event-control-board/service/e070emp/e070emp.js +0 -29
- package/esm2015/components/event-control-board/service/e070emp/e070emp.module.js +0 -24
- package/esm2015/components/event-control-board/service/e070emp/e070emp.service.js +0 -31
- package/esm2015/components/event-control-board/service/e070fil/e070fil-dto.js +0 -1
- package/esm2015/components/event-control-board/service/e070fil/e070fil.js +0 -41
- package/esm2015/components/event-control-board/service/e070fil/e070fil.module.js +0 -24
- package/esm2015/components/event-control-board/service/e070fil/e070fil.service.js +0 -31
- package/esm2015/components/event-control-board/service/e075der/e075der-dto.js +0 -1
- package/esm2015/components/event-control-board/service/e075der/e075der.js +0 -31
- package/esm2015/components/event-control-board/service/e075der/e075der.module.js +0 -24
- package/esm2015/components/event-control-board/service/e075der/e075der.service.js +0 -29
- package/esm2015/components/event-control-board/service/e113saf/e113saf-dto.js +0 -1
- package/esm2015/components/event-control-board/service/e205dep/deposit-dto.js +0 -1
- package/esm2015/components/event-control-board/service/e205dep/e205dep-dto.js +0 -1
- package/esm2015/components/event-control-board/service/e205dep/e205dep.js +0 -20
- package/esm2015/components/event-control-board/service/e205dep/e205dep.service.js +0 -29
- package/esm2015/components/event-control-board/service/event-control/event-control-dto.js +0 -1
- package/esm2015/components/event-control-board/service/event-control/event-control.js +0 -20
- package/esm2015/components/event-control-board/service/event-control/event-control.module.js +0 -24
- package/esm2015/components/event-control-board/service/event-control/event-control.service.js +0 -24
- package/esm2015/components/event-control-board/service/event-control-item/event-control-item-dto.js +0 -1
- package/esm2015/components/event-control-board/service/event-control-item/event-control-item.js +0 -35
- package/esm2015/components/event-control-board/service/event-control-item/event-control-item.module.js +0 -24
- package/esm2015/components/event-control-board/service/event-control-item/event-control-item.service.js +0 -29
- package/esm2015/components/event-control-board/service/external-invoice/external-invoice-dto.js +0 -1
- package/esm2015/components/event-control-board/service/external-invoice/external-invoice.js +0 -20
- package/esm2015/components/event-control-board/service/external-invoice/external-invoice.module.js +0 -24
- package/esm2015/components/event-control-board/service/external-invoice/external-invoice.service.js +0 -24
- package/esm2015/components/event-control-board/service/fixation-entity/fixation-dto.js +0 -1
- package/esm2015/components/event-control-board/service/fixation-entity/fixation.module.js +0 -24
- package/esm2015/components/event-control-board/service/fixation-entity/fixation.service.js +0 -29
- package/esm2015/components/event-control-board/service/invoice/invoice-dto.js +0 -1
- package/esm2015/components/event-control-board/service/invoice/invoice.js +0 -43
- package/esm2015/components/event-control-board/service/invoice/invoice.module.js +0 -26
- package/esm2015/components/event-control-board/service/invoice/invoice.service.js +0 -24
- package/esm2015/components/event-control-board/service/origination/operationType.js +0 -7
- package/esm2015/components/event-control-board/service/origination/origination-dto.js +0 -1
- package/esm2015/components/event-control-board/service/origination/origination.js +0 -59
- package/esm2015/components/event-control-board/service/origination/origination.module.js +0 -24
- package/esm2015/components/event-control-board/service/origination/origination.service.js +0 -24
- package/esm2015/components/event-control-board/service/paginator-storage.service.js +0 -32
- package/esm2015/components/event-control-board/service/rural-estate/rural-estate-dto.js +0 -1
- package/esm2015/components/event-control-board/service/rural-estate/rural-estate.js +0 -78
- package/esm2015/components/event-control-board/service/rural-estate/rural-estate.module.js +0 -24
- package/esm2015/components/event-control-board/service/rural-estate/rural-estate.service.js +0 -24
- package/esm2015/components/event-control-board/service/ticket/ticket-dto.js +0 -1
- package/esm2015/components/event-control-board/service/ticket/ticket.js +0 -39
- package/esm2015/components/event-control-board/service/ticket/ticket.module.js +0 -26
- package/esm2015/components/event-control-board/service/ticket/ticket.service.js +0 -59
- package/esm2015/components/event-control-board/service/transfer/transfer-dto.js +0 -1
- package/esm2015/components/event-control-board/service/transfer/transfer.module.js +0 -26
- package/esm2015/components/event-control-board/service/transfer/transfer.service.js +0 -34
- package/esm2015/components/event-control-board/shared.module.js +0 -56
- package/esm2015/components/event-steps/event-steps.component.js +0 -103
- package/esm2015/components/event-steps/event-steps.module.js +0 -16
- package/esm2015/components/event-steps/index.js +0 -3
- package/esm2015/components/financial-title-table/financial-title-table-options.interface.js +0 -1
- package/esm2015/components/financial-title-table/financial-title-table.component.js +0 -416
- package/esm2015/components/financial-title-table/financial-title-table.module.js +0 -45
- package/esm2015/components/financial-title-table/index.js +0 -4
- package/esm2015/components/financial-title-table/services/financial/agro-financial.service.js +0 -69
- package/esm2015/components/financial-title-table/services/financial/enums.js +0 -33
- package/esm2015/components/financial-title-table/services/financial/index.js +0 -3
- package/esm2015/components/financial-title-table/services/financial/intefaces.js +0 -1
- package/esm2015/components/index.js +0 -6
- package/esm2015/components/modal-invoice-pj/for-fixation/modal-fixation-options.interface.js +0 -1
- package/esm2015/components/modal-invoice-pj/for-fixation/modal-invoice-pj-for-fixation.component.js +0 -191
- package/esm2015/components/modal-invoice-pj/for-fixation/modal-invoice-pj-for-fixation.module.js +0 -16
- package/esm2015/components/modal-invoice-pj/for-origination/modal-invoice-pj-for-origination.component.js +0 -64
- package/esm2015/components/modal-invoice-pj/for-origination/modal-invoice-pj-for-origination.module.js +0 -16
- package/esm2015/components/modal-invoice-pj/for-transfer/modal-invoice-pj-for-transfer.component.js +0 -37
- package/esm2015/components/modal-invoice-pj/for-transfer/modal-invoice-pj-for-transfer.module.js +0 -16
- package/esm2015/components/modal-invoice-pj/index.js +0 -8
- package/esm2015/components/modal-invoice-pj/modal-invoice-pj-base.class.js +0 -196
- package/esm2015/components/modal-invoice-pj/modal-invoice-pj-options.interface.js +0 -1
- package/esm2015/components/modal-invoice-pj/modal-shared-imports.js +0 -32
- package/esm2015/components/modal-invoice-pj/services/agro-invoice/agro-invoice.module.js +0 -28
- package/esm2015/components/modal-invoice-pj/services/agro-invoice/agro-invoice.service.js +0 -49
- package/esm2015/components/modal-invoice-pj/services/agro-invoice/index.js +0 -3
- package/esm2015/components/modal-invoice-pj/services/agro-invoice/interfaces.js +0 -13
- package/esm2015/enums/agro-entity-status.enum.js +0 -6
- package/esm2015/enums/agro-string-masks.enum.js +0 -12
- package/esm2015/enums/date-comparison-type.enum.js +0 -6
- package/esm2015/enums/fixation-status.js +0 -10
- package/esm2015/enums/index.js +0 -8
- package/esm2015/enums/invoice-status.enum.js +0 -14
- package/esm2015/enums/number-comparison-type.enum.js +0 -10
- package/esm2015/enums/unit-measurement.enum.js +0 -60
- package/esm2015/form-validator/agro-form-validator.js +0 -319
- package/esm2015/form-validator/index.js +0 -2
- package/esm2015/lib-translation.module.js +0 -23
- package/esm2015/pipe/cnpj-cpf/cnpj-cpf.pipe.js +0 -28
- package/esm2015/pipe/cnpj-cpf/cnpj-cpf.pipe.module.js +0 -15
- package/esm2015/pipe/cnpj-cpf/index.js +0 -3
- package/esm2015/pipe/index.js +0 -6
- package/esm2015/pipe/kilogram/index.js +0 -3
- package/esm2015/pipe/kilogram/kilogram.module.js +0 -17
- package/esm2015/pipe/kilogram/kilogram.pipe.js +0 -38
- package/esm2015/pipe/lib-translate.pipe.js +0 -24
- package/esm2015/pipe/stringifier/index.js +0 -3
- package/esm2015/pipe/stringifier/stringifier.pipe.js +0 -13
- package/esm2015/pipe/stringifier/stringifier.pipe.module.js +0 -15
- package/esm2015/pipe/telephone/index.js +0 -3
- package/esm2015/pipe/telephone/telephone.pipe.js +0 -91
- package/esm2015/pipe/telephone/telephone.pipe.module.js +0 -15
- package/esm2015/public-api.js +0 -9
- package/esm2015/senior-agronegocio-angular-components.js +0 -7
- package/esm2015/services/agro-entity-service.js +0 -132
- package/esm2015/services/i18n/en-US.js +0 -322
- package/esm2015/services/i18n/es-CO.js +0 -322
- package/esm2015/services/i18n/pt-BR.js +0 -322
- package/esm2015/services/index.js +0 -3
- package/esm2015/services/lib-translation.service.js +0 -58
- package/esm2015/services/producer-invoice/index.js +0 -3
- package/esm2015/services/producer-invoice/producer-invoice-dto.js +0 -1
- package/esm2015/services/producer-invoice/producer-invoice.js +0 -32
- package/esm2015/services/producer-invoice/producer-invoice.service.js +0 -64
- package/esm2015/services/websocket/async-lock.js +0 -34
- package/esm2015/services/websocket/index.js +0 -6
- package/esm2015/services/websocket/models/index.js +0 -2
- package/esm2015/services/websocket/models/primitive-manager.js +0 -39
- package/esm2015/services/websocket/protocols/index.js +0 -1
- package/esm2015/services/websocket/protocols/on-event-options.js +0 -1
- package/esm2015/services/websocket/protocols/primitive-event.js +0 -1
- package/esm2015/services/websocket/user-information.service.js +0 -34
- package/esm2015/services/websocket/websocket.module.js +0 -21
- package/esm2015/services/websocket/websocket.service.js +0 -338
- package/esm5/agro-angular-components.module.js +0 -26
- package/esm5/common/agro-array-utils.class.js +0 -90
- package/esm5/common/agro-cookie-utils.class.js +0 -54
- package/esm5/common/agro-date-utils.class.js +0 -126
- package/esm5/common/agro-logics.class.js +0 -96
- package/esm5/common/agro-name-utils.class.js +0 -64
- package/esm5/common/agro-number-utils.class.js +0 -137
- package/esm5/common/agro-object-stringifier.class.js +0 -38
- package/esm5/common/agro-object-utils.class.js +0 -306
- package/esm5/common/agro-platform-utils.class.js +0 -123
- package/esm5/common/agro-regex.constant.js +0 -156
- package/esm5/common/agro-string-utils.class.js +0 -380
- package/esm5/common/agro-unit-converter.class.js +0 -258
- package/esm5/common/colors.class.js +0 -83
- package/esm5/common/index.js +0 -13
- package/esm5/components/cancel-event-dialog/cancel-event-dialog-config.js +0 -1
- package/esm5/components/cancel-event-dialog/cancel-event-dialog.component.js +0 -128
- package/esm5/components/cancel-event-dialog/cancel-event-dialog.module.js +0 -22
- package/esm5/components/cancel-event-dialog/index.js +0 -3
- package/esm5/components/event-control-board/common/control-status.js +0 -7
- package/esm5/components/event-control-board/common/documentsToIssue.js +0 -6
- package/esm5/components/event-control-board/common/event-control-constants.js +0 -113
- package/esm5/components/event-control-board/common/event-operation.js +0 -54
- package/esm5/components/event-control-board/common/event-origin.js +0 -14
- package/esm5/components/event-control-board/common/event-status.js +0 -9
- package/esm5/components/event-control-board/common/input-fields-translate.js +0 -11
- package/esm5/components/event-control-board/common/input-fields.js +0 -7
- package/esm5/components/event-control-board/common/invoice-type.js +0 -11
- package/esm5/components/event-control-board/common/lookup-error-message.constants.js +0 -11
- package/esm5/components/event-control-board/common/operation.js +0 -7
- package/esm5/components/event-control-board/common/operationType.js +0 -7
- package/esm5/components/event-control-board/common/status-entity.js +0 -6
- package/esm5/components/event-control-board/common/ticket-status.js +0 -9
- package/esm5/components/event-control-board/common/transfer-status.js +0 -8
- package/esm5/components/event-control-board/event-control-board.component.js +0 -620
- package/esm5/components/event-control-board/event-control-board.module.js +0 -69
- package/esm5/components/event-control-board/index.js +0 -22
- package/esm5/components/event-control-board/service/e001pes/e001pes-dto.js +0 -1
- package/esm5/components/event-control-board/service/e001pes/e001pes.js +0 -25
- package/esm5/components/event-control-board/service/e001pes/e001pes.module.js +0 -27
- package/esm5/components/event-control-board/service/e001pes/e001pes.service.js +0 -37
- package/esm5/components/event-control-board/service/e001tns/e001tns-dto.js +0 -1
- package/esm5/components/event-control-board/service/e001tns/e001tns.js +0 -45
- package/esm5/components/event-control-board/service/e001tns/e001tns.module.js +0 -29
- package/esm5/components/event-control-board/service/e001tns/e001tns.service.js +0 -27
- package/esm5/components/event-control-board/service/e012fam/e012fam-dto.js +0 -1
- package/esm5/components/event-control-board/service/e012fam/e012fam.js +0 -25
- package/esm5/components/event-control-board/service/e012fam/e012fam.service.js +0 -27
- package/esm5/components/event-control-board/service/e070emp/e070emp-dto.js +0 -1
- package/esm5/components/event-control-board/service/e070emp/e070emp.js +0 -34
- package/esm5/components/event-control-board/service/e070emp/e070emp.module.js +0 -27
- package/esm5/components/event-control-board/service/e070emp/e070emp.service.js +0 -34
- package/esm5/components/event-control-board/service/e070fil/e070fil-dto.js +0 -1
- package/esm5/components/event-control-board/service/e070fil/e070fil.js +0 -48
- package/esm5/components/event-control-board/service/e070fil/e070fil.module.js +0 -27
- package/esm5/components/event-control-board/service/e070fil/e070fil.service.js +0 -34
- package/esm5/components/event-control-board/service/e075der/e075der-dto.js +0 -1
- package/esm5/components/event-control-board/service/e075der/e075der.js +0 -36
- package/esm5/components/event-control-board/service/e075der/e075der.module.js +0 -27
- package/esm5/components/event-control-board/service/e075der/e075der.service.js +0 -32
- package/esm5/components/event-control-board/service/e113saf/e113saf-dto.js +0 -1
- package/esm5/components/event-control-board/service/e113saf/e113saf.js +0 -25
- package/esm5/components/event-control-board/service/e205dep/deposit-dto.js +0 -1
- package/esm5/components/event-control-board/service/e205dep/e205dep-dto.js +0 -1
- package/esm5/components/event-control-board/service/e205dep/e205dep.js +0 -25
- package/esm5/components/event-control-board/service/e205dep/e205dep.service.js +0 -32
- package/esm5/components/event-control-board/service/event-control/event-control-dto.js +0 -1
- package/esm5/components/event-control-board/service/event-control/event-control.js +0 -25
- package/esm5/components/event-control-board/service/event-control/event-control.module.js +0 -27
- package/esm5/components/event-control-board/service/event-control/event-control.service.js +0 -27
- package/esm5/components/event-control-board/service/event-control-item/event-control-item-dto.js +0 -1
- package/esm5/components/event-control-board/service/event-control-item/event-control-item.js +0 -40
- package/esm5/components/event-control-board/service/event-control-item/event-control-item.module.js +0 -27
- package/esm5/components/event-control-board/service/event-control-item/event-control-item.service.js +0 -32
- package/esm5/components/event-control-board/service/external-invoice/external-invoice-dto.js +0 -1
- package/esm5/components/event-control-board/service/external-invoice/external-invoice.js +0 -25
- package/esm5/components/event-control-board/service/external-invoice/external-invoice.module.js +0 -27
- package/esm5/components/event-control-board/service/external-invoice/external-invoice.service.js +0 -27
- package/esm5/components/event-control-board/service/fixation-entity/fixation-dto.js +0 -1
- package/esm5/components/event-control-board/service/fixation-entity/fixation.module.js +0 -27
- package/esm5/components/event-control-board/service/fixation-entity/fixation.service.js +0 -32
- package/esm5/components/event-control-board/service/invoice/invoice-dto.js +0 -1
- package/esm5/components/event-control-board/service/invoice/invoice.js +0 -48
- package/esm5/components/event-control-board/service/invoice/invoice.module.js +0 -29
- package/esm5/components/event-control-board/service/invoice/invoice.service.js +0 -27
- package/esm5/components/event-control-board/service/origination/operationType.js +0 -7
- package/esm5/components/event-control-board/service/origination/origination-dto.js +0 -1
- package/esm5/components/event-control-board/service/origination/origination.js +0 -62
- package/esm5/components/event-control-board/service/origination/origination.module.js +0 -27
- package/esm5/components/event-control-board/service/origination/origination.service.js +0 -27
- package/esm5/components/event-control-board/service/paginator-storage.service.js +0 -71
- package/esm5/components/event-control-board/service/rural-estate/rural-estate-dto.js +0 -1
- package/esm5/components/event-control-board/service/rural-estate/rural-estate.js +0 -83
- package/esm5/components/event-control-board/service/rural-estate/rural-estate.module.js +0 -27
- package/esm5/components/event-control-board/service/rural-estate/rural-estate.service.js +0 -27
- package/esm5/components/event-control-board/service/ticket/ticket-dto.js +0 -1
- package/esm5/components/event-control-board/service/ticket/ticket.js +0 -44
- package/esm5/components/event-control-board/service/ticket/ticket.module.js +0 -29
- package/esm5/components/event-control-board/service/ticket/ticket.service.js +0 -62
- package/esm5/components/event-control-board/service/transfer/transfer-dto.js +0 -1
- package/esm5/components/event-control-board/service/transfer/transfer.module.js +0 -29
- package/esm5/components/event-control-board/service/transfer/transfer.service.js +0 -37
- package/esm5/components/event-control-board/shared.module.js +0 -59
- package/esm5/components/event-steps/event-steps.component.js +0 -113
- package/esm5/components/event-steps/event-steps.module.js +0 -19
- package/esm5/components/event-steps/index.js +0 -3
- package/esm5/components/financial-title-table/financial-title-table-options.interface.js +0 -1
- package/esm5/components/financial-title-table/financial-title-table.component.js +0 -438
- package/esm5/components/financial-title-table/financial-title-table.module.js +0 -48
- package/esm5/components/financial-title-table/index.js +0 -4
- package/esm5/components/financial-title-table/services/financial/agro-financial.service.js +0 -76
- package/esm5/components/financial-title-table/services/financial/enums.js +0 -33
- package/esm5/components/financial-title-table/services/financial/index.js +0 -3
- package/esm5/components/financial-title-table/services/financial/intefaces.js +0 -1
- package/esm5/components/index.js +0 -6
- package/esm5/components/modal-invoice-pj/for-fixation/modal-fixation-options.interface.js +0 -1
- package/esm5/components/modal-invoice-pj/for-fixation/modal-invoice-pj-for-fixation.component.js +0 -223
- package/esm5/components/modal-invoice-pj/for-fixation/modal-invoice-pj-for-fixation.module.js +0 -19
- package/esm5/components/modal-invoice-pj/for-origination/modal-invoice-pj-for-origination.component.js +0 -67
- package/esm5/components/modal-invoice-pj/for-origination/modal-invoice-pj-for-origination.module.js +0 -19
- package/esm5/components/modal-invoice-pj/for-transfer/modal-invoice-pj-for-transfer.component.js +0 -40
- package/esm5/components/modal-invoice-pj/for-transfer/modal-invoice-pj-for-transfer.module.js +0 -19
- package/esm5/components/modal-invoice-pj/index.js +0 -8
- package/esm5/components/modal-invoice-pj/modal-invoice-pj-base.class.js +0 -213
- package/esm5/components/modal-invoice-pj/modal-invoice-pj-options.interface.js +0 -1
- package/esm5/components/modal-invoice-pj/modal-shared-imports.js +0 -32
- package/esm5/components/modal-invoice-pj/services/agro-invoice/agro-invoice.module.js +0 -31
- package/esm5/components/modal-invoice-pj/services/agro-invoice/agro-invoice.service.js +0 -56
- package/esm5/components/modal-invoice-pj/services/agro-invoice/index.js +0 -3
- package/esm5/components/modal-invoice-pj/services/agro-invoice/interfaces.js +0 -13
- package/esm5/enums/agro-entity-status.enum.js +0 -6
- package/esm5/enums/agro-numbers.enum.js +0 -1009
- package/esm5/enums/agro-string-masks.enum.js +0 -12
- package/esm5/enums/date-comparison-type.enum.js +0 -6
- package/esm5/enums/fixation-status.js +0 -10
- package/esm5/enums/http-codes.enum.js +0 -66
- package/esm5/enums/index.js +0 -8
- package/esm5/enums/invoice-status.enum.js +0 -14
- package/esm5/enums/number-comparison-type.enum.js +0 -10
- package/esm5/enums/unit-measurement.enum.js +0 -60
- package/esm5/form-validator/agro-form-validator.js +0 -341
- package/esm5/form-validator/index.js +0 -2
- package/esm5/lib-translation.module.js +0 -26
- package/esm5/pipe/cnpj-cpf/cnpj-cpf.pipe.js +0 -35
- package/esm5/pipe/cnpj-cpf/cnpj-cpf.pipe.module.js +0 -18
- package/esm5/pipe/cnpj-cpf/index.js +0 -3
- package/esm5/pipe/index.js +0 -6
- package/esm5/pipe/kilogram/index.js +0 -3
- package/esm5/pipe/kilogram/kilogram.module.js +0 -20
- package/esm5/pipe/kilogram/kilogram.pipe.js +0 -41
- package/esm5/pipe/lib-translate.pipe.js +0 -29
- package/esm5/pipe/stringifier/index.js +0 -3
- package/esm5/pipe/stringifier/stringifier.pipe.js +0 -16
- package/esm5/pipe/stringifier/stringifier.pipe.module.js +0 -18
- package/esm5/pipe/telephone/index.js +0 -3
- package/esm5/pipe/telephone/telephone.pipe.js +0 -95
- package/esm5/pipe/telephone/telephone.pipe.module.js +0 -18
- package/esm5/public-api.js +0 -9
- package/esm5/senior-agronegocio-angular-components.js +0 -7
- package/esm5/services/agro-entity-service.js +0 -143
- package/esm5/services/i18n/en-US.js +0 -322
- package/esm5/services/i18n/es-CO.js +0 -322
- package/esm5/services/i18n/pt-BR.js +0 -322
- package/esm5/services/index.js +0 -3
- package/esm5/services/lib-translation.service.js +0 -60
- package/esm5/services/producer-invoice/index.js +0 -3
- package/esm5/services/producer-invoice/producer-invoice-dto.js +0 -1
- package/esm5/services/producer-invoice/producer-invoice.js +0 -37
- package/esm5/services/producer-invoice/producer-invoice.service.js +0 -72
- package/esm5/services/websocket/async-lock.js +0 -43
- package/esm5/services/websocket/index.js +0 -6
- package/esm5/services/websocket/models/index.js +0 -2
- package/esm5/services/websocket/models/primitive-manager.js +0 -58
- package/esm5/services/websocket/protocols/index.js +0 -1
- package/esm5/services/websocket/protocols/on-event-options.js +0 -1
- package/esm5/services/websocket/protocols/primitive-event.js +0 -1
- package/esm5/services/websocket/user-information.service.js +0 -38
- package/esm5/services/websocket/websocket.module.js +0 -24
- package/esm5/services/websocket/websocket.service.js +0 -410
- package/fesm2015/senior-agronegocio-angular-components.js.map +0 -1
- package/fesm5/senior-agronegocio-angular-components.js +0 -8647
- package/fesm5/senior-agronegocio-angular-components.js.map +0 -1
- package/senior-agronegocio-angular-components.d.ts +0 -6
- package/senior-agronegocio-angular-components.metadata.json +0 -1
|
@@ -0,0 +1,327 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { filter, finalize, map, switchMap, take } from 'rxjs/operators';
|
|
3
|
+
import { Client, FrameImpl } from '@stomp/stompjs';
|
|
4
|
+
import { BehaviorSubject, Subject } from 'rxjs';
|
|
5
|
+
// @ts-ignore - sockjs-client doesn't have type definitions
|
|
6
|
+
import SockJS from 'sockjs-client';
|
|
7
|
+
import { AsyncLock } from './async-lock';
|
|
8
|
+
import { PrimitiveManager } from './models';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
import * as i1 from "./user-information.service";
|
|
11
|
+
const RECONNECT_INTERVAL_MILLISECONDS = 3000;
|
|
12
|
+
const CONNECTION_TIMEOUT_MILLISECONDS = 5000;
|
|
13
|
+
export class WebsocketService {
|
|
14
|
+
userInformationService;
|
|
15
|
+
connected$ = new BehaviorSubject(false);
|
|
16
|
+
disconnected$ = new Subject();
|
|
17
|
+
reconnected$ = new Subject();
|
|
18
|
+
error$ = new Subject();
|
|
19
|
+
subscribed$ = new Subject();
|
|
20
|
+
primitiveManagers = new Map();
|
|
21
|
+
connectionLock = new AsyncLock();
|
|
22
|
+
stompClient;
|
|
23
|
+
debugEnable = false;
|
|
24
|
+
lostConnection = false;
|
|
25
|
+
constructor(userInformationService) {
|
|
26
|
+
this.userInformationService = userInformationService;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Enables stompjs debug logs and additional info
|
|
30
|
+
*/
|
|
31
|
+
enableDebugLogs() {
|
|
32
|
+
this.debugEnable = true;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Manually starts the connection
|
|
36
|
+
*/
|
|
37
|
+
async connect() {
|
|
38
|
+
await this.connectionLock.acquire();
|
|
39
|
+
try {
|
|
40
|
+
if (this.isConnected() || this.isConnecting()) {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
this.lostConnection = false;
|
|
44
|
+
const stompConfig = {
|
|
45
|
+
webSocketFactory: () => {
|
|
46
|
+
return new SockJS(this.getSubscriptionUrl(), null, {
|
|
47
|
+
timeout: CONNECTION_TIMEOUT_MILLISECONDS
|
|
48
|
+
});
|
|
49
|
+
},
|
|
50
|
+
reconnectDelay: RECONNECT_INTERVAL_MILLISECONDS,
|
|
51
|
+
debug: this.debug.bind(this),
|
|
52
|
+
onConnect: this.handleOnConnected.bind(this),
|
|
53
|
+
onDisconnect: this.handleOnDisconnect.bind(this),
|
|
54
|
+
onWebSocketClose: this.handleOnWebSocketClose.bind(this),
|
|
55
|
+
onStompError: this.handleOnStompError.bind(this),
|
|
56
|
+
onWebSocketError: this.handleOnWebSocketError.bind(this)
|
|
57
|
+
};
|
|
58
|
+
this.debug('Connecting the Webscoket');
|
|
59
|
+
this.stompClient = new Client(stompConfig);
|
|
60
|
+
this.stompClient.activate();
|
|
61
|
+
}
|
|
62
|
+
finally {
|
|
63
|
+
await this.connectionLock.release();
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Manually disconnect the websocket. The reconnect loop will be stopped.
|
|
68
|
+
*/
|
|
69
|
+
async disconnect() {
|
|
70
|
+
if (!this.isConnected()) {
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
await this.connectionLock.acquire();
|
|
74
|
+
try {
|
|
75
|
+
for (const primitiveManager of this.primitiveManagers.values()) {
|
|
76
|
+
primitiveManager.unsubscribe();
|
|
77
|
+
}
|
|
78
|
+
this.primitiveManagers.clear();
|
|
79
|
+
this.connected$.next(false);
|
|
80
|
+
if (this.stompClient) {
|
|
81
|
+
await this.stompClient.deactivate();
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
finally {
|
|
85
|
+
await this.connectionLock.release();
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Check if the websocket is connected
|
|
90
|
+
* @return `boolean` representing if the websocket is connected
|
|
91
|
+
*/
|
|
92
|
+
isConnected() {
|
|
93
|
+
if (!this.stompClient) {
|
|
94
|
+
return false;
|
|
95
|
+
}
|
|
96
|
+
return this.stompClient.connected;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Check if the websocket is tring to connect
|
|
100
|
+
* @return `boolean` representing if the websocket status
|
|
101
|
+
*/
|
|
102
|
+
isConnecting() {
|
|
103
|
+
if (!this.stompClient) {
|
|
104
|
+
return false;
|
|
105
|
+
}
|
|
106
|
+
return !this.stompClient.connected && this.stompClient.active;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Event responsable to emit an event when the connection is established.
|
|
110
|
+
* Do not forget to unsubscribe the observable when you don't need it anymore.
|
|
111
|
+
* @return `Observable<boolean>`
|
|
112
|
+
*/
|
|
113
|
+
onConnect() {
|
|
114
|
+
return this.connected$.asObservable()
|
|
115
|
+
.pipe(filter(p => p === true));
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Event responsable to emit an event when the connection is closed.
|
|
119
|
+
* Do not forget to unsubscribe the observable when you don't need it anymore.
|
|
120
|
+
* @return `Observable<void>`
|
|
121
|
+
*/
|
|
122
|
+
onDisconnect() {
|
|
123
|
+
return this.disconnected$.asObservable();
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Event responsable to emit an event when the connection is reestablished.
|
|
127
|
+
* Do not forget to unsubscribe the observable when you don't need it anymore.
|
|
128
|
+
* @return `Observable<void>`
|
|
129
|
+
*/
|
|
130
|
+
onReconnect() {
|
|
131
|
+
return this.reconnected$.asObservable();
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Event responsable to emit an event when an error ocurred.
|
|
135
|
+
* Do not forget to unsubscribe the observable when you don't need it anymore.
|
|
136
|
+
* @return `Observable<FrameImpl>`
|
|
137
|
+
*/
|
|
138
|
+
onError() {
|
|
139
|
+
return this.error$.asObservable();
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Event responsible to emit an event when a primitive is called.
|
|
143
|
+
* Do not forget to unsubscribe the observable when you don't need it anymore.
|
|
144
|
+
* @typeParam `<T>` Object type that will be used in the observable for the `data` property.
|
|
145
|
+
* @param {OnEventOptions} options Configurations for the event.
|
|
146
|
+
* @return `Observable<PrimitiveEvent<T>>` Observable that emits an event when the service calls the primitive.
|
|
147
|
+
*/
|
|
148
|
+
onEvent(options) {
|
|
149
|
+
const { domain, service, primitive } = options;
|
|
150
|
+
const key = this.buildPrimitiveManagerKey(domain, service, primitive);
|
|
151
|
+
if (this.primitiveManagers.has(key)) {
|
|
152
|
+
return this.primitiveManagers.get(key).getEventObservable();
|
|
153
|
+
}
|
|
154
|
+
const primitiveManager = new PrimitiveManager(domain, service, primitive);
|
|
155
|
+
this.primitiveManagers.set(key, primitiveManager);
|
|
156
|
+
this.connect().then(() => {
|
|
157
|
+
this.onConnect()
|
|
158
|
+
.pipe(take(1))
|
|
159
|
+
.subscribe(() => {
|
|
160
|
+
this.createStompSubscriptions(primitiveManager);
|
|
161
|
+
});
|
|
162
|
+
});
|
|
163
|
+
return primitiveManager
|
|
164
|
+
.getEventObservable()
|
|
165
|
+
.pipe(finalize(() => this.unsubscribePrimitiveOnFinalize(primitiveManager)));
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Event responsible to emit an event when a subscription is created for the primitive.
|
|
169
|
+
* Do not forget to unsubscribe the observable when you don't need it anymore.
|
|
170
|
+
* @param {OnEventOptions} options Configurations for the event.
|
|
171
|
+
* Observable responsável por emitir uma notificação após o subscribe do evento pela primeira vez.
|
|
172
|
+
* @return `Observable<boolean>` Observable that emits an event when the service calls the primitive.
|
|
173
|
+
*/
|
|
174
|
+
onSubscribe(options) {
|
|
175
|
+
const { domain, service, primitive } = options;
|
|
176
|
+
const key = this.buildPrimitiveManagerKey(domain, service, primitive);
|
|
177
|
+
return this.onConnect().pipe(take(1), switchMap(() => {
|
|
178
|
+
if (this.primitiveManagers.has(key)) {
|
|
179
|
+
return this.primitiveManagers
|
|
180
|
+
.get(key)
|
|
181
|
+
.getSubscriptionObservable()
|
|
182
|
+
.pipe(take(1));
|
|
183
|
+
}
|
|
184
|
+
return this.subscribed$.asObservable().pipe(filter((primitiveManager) => {
|
|
185
|
+
return this.buildPrimitiveManagerKey(primitiveManager.domain, primitiveManager.service, primitiveManager.primitive) === key;
|
|
186
|
+
}), map(() => true), take(1));
|
|
187
|
+
}));
|
|
188
|
+
}
|
|
189
|
+
debug(message, ...optionalParams) {
|
|
190
|
+
if (!this.debugEnable) {
|
|
191
|
+
return;
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
info(message) {
|
|
195
|
+
console.info('WS info: ' + message);
|
|
196
|
+
}
|
|
197
|
+
handleOnConnected() {
|
|
198
|
+
this.info('Webscoket connected');
|
|
199
|
+
this.connected$.next(true);
|
|
200
|
+
if (this.lostConnection) {
|
|
201
|
+
this.info('Webscoket reconnected, recriating subscriptions');
|
|
202
|
+
this.handleReconnection();
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
handleOnDisconnect() {
|
|
206
|
+
this.info('Webscoket disconnected');
|
|
207
|
+
this.connected$.next(false);
|
|
208
|
+
this.disconnected$.next();
|
|
209
|
+
}
|
|
210
|
+
handleOnWebSocketClose(data) {
|
|
211
|
+
if (data?.reason?.toLowerCase().indexOf("go away") !== -1) {
|
|
212
|
+
this.lostConnection = true;
|
|
213
|
+
this.handleError('AuthenticationError', new FrameImpl({
|
|
214
|
+
command: data.type,
|
|
215
|
+
headers: {
|
|
216
|
+
message: data.reason
|
|
217
|
+
}
|
|
218
|
+
}));
|
|
219
|
+
return;
|
|
220
|
+
}
|
|
221
|
+
if (data?.reason?.toLowerCase().indexOf("cannot connect to server") !== -1) {
|
|
222
|
+
this.lostConnection = true;
|
|
223
|
+
this.handleError('ConnectionError', new FrameImpl({
|
|
224
|
+
command: data.type,
|
|
225
|
+
headers: {
|
|
226
|
+
message: data.reason
|
|
227
|
+
}
|
|
228
|
+
}));
|
|
229
|
+
return;
|
|
230
|
+
}
|
|
231
|
+
if (data.wasClean) {
|
|
232
|
+
return;
|
|
233
|
+
}
|
|
234
|
+
this.lostConnection = true;
|
|
235
|
+
}
|
|
236
|
+
handleOnStompError(data) {
|
|
237
|
+
this.handleError('StompError', data);
|
|
238
|
+
if (this.isAuthenticationError(data)) {
|
|
239
|
+
this.info('Authentication error, recriating subscriptions');
|
|
240
|
+
this.handleReconnection();
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
isAuthenticationError(data) {
|
|
244
|
+
const errorMessage = data?.headers?.['message'];
|
|
245
|
+
if (!errorMessage) {
|
|
246
|
+
return false;
|
|
247
|
+
}
|
|
248
|
+
return errorMessage.toLowerCase().indexOf('forbiddenexception') !== -1;
|
|
249
|
+
}
|
|
250
|
+
handleOnWebSocketError(data) {
|
|
251
|
+
this.handleError('WebSocketError', data);
|
|
252
|
+
}
|
|
253
|
+
handleError(origin, data) {
|
|
254
|
+
console.info(origin, data);
|
|
255
|
+
this.error$.next(data);
|
|
256
|
+
}
|
|
257
|
+
handleReconnection() {
|
|
258
|
+
this.lostConnection = false;
|
|
259
|
+
this.reconnectPrimitives();
|
|
260
|
+
this.reconnected$.next();
|
|
261
|
+
}
|
|
262
|
+
reconnectPrimitives() {
|
|
263
|
+
for (const primitiveManager of this.primitiveManagers.values()) {
|
|
264
|
+
this.createStompSubscriptions(primitiveManager);
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
buildSubscriptionUrlWithToken(domain, service, primitive) {
|
|
268
|
+
const authToken = this.userInformationService.getAuthToken();
|
|
269
|
+
const tenant = this.userInformationService.getTenantDomain();
|
|
270
|
+
return `/topic/${tenant}/${authToken}/${domain}/${service}/${primitive}`;
|
|
271
|
+
}
|
|
272
|
+
getSubscriptionUrlWithoutToken(domain, service, primitive) {
|
|
273
|
+
const tenant = this.userInformationService.getTenantDomain();
|
|
274
|
+
return `/topic/${tenant}/${domain}/${service}/${primitive}`;
|
|
275
|
+
}
|
|
276
|
+
buildPrimitiveManagerKey(domain, service, primitive) {
|
|
277
|
+
return `${domain}/${service}/${primitive}`;
|
|
278
|
+
}
|
|
279
|
+
async unsubscribePrimitiveOnFinalize(primitiveManager) {
|
|
280
|
+
if (primitiveManager.hasObservers()) {
|
|
281
|
+
return;
|
|
282
|
+
}
|
|
283
|
+
primitiveManager.unsubscribe();
|
|
284
|
+
const key = this.buildPrimitiveManagerKey(primitiveManager.domain, primitiveManager.service, primitiveManager.primitive);
|
|
285
|
+
this.primitiveManagers.delete(key);
|
|
286
|
+
await this.disconnectIfNoMoreObservables();
|
|
287
|
+
}
|
|
288
|
+
async disconnectIfNoMoreObservables() {
|
|
289
|
+
if (this.getObserversCount() === 0) {
|
|
290
|
+
this.debug('Manually disconnecting because there are no more observers');
|
|
291
|
+
await this.disconnect();
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
getObserversCount() {
|
|
295
|
+
let observersCount = 0;
|
|
296
|
+
this.primitiveManagers.forEach(primitiveManager => {
|
|
297
|
+
observersCount += primitiveManager.getObserversCount();
|
|
298
|
+
});
|
|
299
|
+
return observersCount;
|
|
300
|
+
}
|
|
301
|
+
createStompSubscription(destination, primitiveManager) {
|
|
302
|
+
return this.stompClient.subscribe(destination, (message) => {
|
|
303
|
+
const event = JSON.parse(message.body || '{}');
|
|
304
|
+
primitiveManager.fireEvent(event);
|
|
305
|
+
});
|
|
306
|
+
}
|
|
307
|
+
createStompSubscriptions(primitiveManager) {
|
|
308
|
+
const subscriptionUrlWithToken = this.buildSubscriptionUrlWithToken(primitiveManager.domain, primitiveManager.service, primitiveManager.primitive);
|
|
309
|
+
const subscriptionUrlWithoutToken = this.getSubscriptionUrlWithoutToken(primitiveManager.domain, primitiveManager.service, primitiveManager.primitive);
|
|
310
|
+
const stompSubscriptionWithToken = this.createStompSubscription(subscriptionUrlWithToken, primitiveManager);
|
|
311
|
+
const stompSubscriptionWithoutToken = this.createStompSubscription(subscriptionUrlWithoutToken, primitiveManager);
|
|
312
|
+
primitiveManager.subscribe(stompSubscriptionWithToken, stompSubscriptionWithoutToken);
|
|
313
|
+
this.subscribed$.next(primitiveManager);
|
|
314
|
+
}
|
|
315
|
+
getSubscriptionUrl() {
|
|
316
|
+
return `${this.userInformationService.getWebSocketUrl()}/subscription`;
|
|
317
|
+
}
|
|
318
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: WebsocketService, deps: [{ token: i1.UserInformationService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
319
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: WebsocketService, providedIn: 'root' });
|
|
320
|
+
}
|
|
321
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: WebsocketService, decorators: [{
|
|
322
|
+
type: Injectable,
|
|
323
|
+
args: [{
|
|
324
|
+
providedIn: 'root'
|
|
325
|
+
}]
|
|
326
|
+
}], ctorParameters: () => [{ type: i1.UserInformationService }] });
|
|
327
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vic29ja2V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc2VydmljZXMvd2Vic29ja2V0L3dlYnNvY2tldC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RSxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBMEMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzRixPQUFPLEVBQUUsZUFBZSxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1RCwyREFBMkQ7QUFDM0QsT0FBTyxNQUFNLE1BQU0sZUFBZSxDQUFDO0FBQ25DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFekMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sVUFBVSxDQUFDOzs7QUFHNUMsTUFBTSwrQkFBK0IsR0FBRyxJQUFJLENBQUM7QUFDN0MsTUFBTSwrQkFBK0IsR0FBRyxJQUFJLENBQUM7QUFLN0MsTUFBTSxPQUFPLGdCQUFnQjtJQWNJO0lBYlosVUFBVSxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBQ2pELGFBQWEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBQ3BDLFlBQVksR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBQ25DLE1BQU0sR0FBRyxJQUFJLE9BQU8sRUFBYSxDQUFDO0lBQ2xDLFdBQVcsR0FBRyxJQUFJLE9BQU8sRUFBeUIsQ0FBQztJQUVuRCxpQkFBaUIsR0FBdUMsSUFBSSxHQUFHLEVBQWlDLENBQUM7SUFDakcsY0FBYyxHQUFHLElBQUksU0FBUyxFQUFFLENBQUM7SUFFMUMs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Q0FBQyxTQUFTLENBQzdCLENBQUM7UUFFRixNQUFNLDBCQUEwQixHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyx3QkFBd0IsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzVHLE1BQU0sNkJBQTZCLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLDJCQUEyQixFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFDbEgsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLDBCQUEwQixFQUFFLDZCQUE2QixDQUFDLENBQUM7UUFDdEYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRU8sa0JBQWtCO1FBQ3RCLE9BQU8sR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsZUFBZSxFQUFFLGVBQWUsQ0FBQztJQUMzRSxDQUFDO3dHQXJZUSxnQkFBZ0I7NEdBQWhCLGdCQUFnQixjQUZiLE1BQU07OzRGQUVULGdCQUFnQjtrQkFINUIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGZpbHRlciwgZmluYWxpemUsIG1hcCwgc3dpdGNoTWFwLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBDbGllbnQsIEZyYW1lSW1wbCwgSUZyYW1lLCBTdG9tcENvbmZpZywgU3RvbXBTdWJzY3JpcHRpb24gfSBmcm9tICdAc3RvbXAvc3RvbXBqcyc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG4vLyBAdHMtaWdub3JlIC0gc29ja2pzLWNsaWVudCBkb2Vzbid0IGhhdmUgdHlwZSBkZWZpbml0aW9uc1xyXG5pbXBvcnQgU29ja0pTIGZyb20gJ3NvY2tqcy1jbGllbnQnO1xyXG5pbXBvcnQgeyBBc3luY0xvY2sgfSBmcm9tICcuL2FzeW5jLWxvY2snO1xyXG5pbXBvcnQgeyBVc2VySW5mb3JtYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi91c2VyLWluZm9ybWF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQcmltaXRpdmVNYW5hZ2VyIH0gZnJvbSAnLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBPbkV2ZW50T3B0aW9ucywgUHJpbWl0aXZlRXZlbnQgfSBmcm9tICcuL3Byb3RvY29scyc7XHJcblxyXG5jb25zdCBSRUNPTk5FQ1RfSU5URVJWQUxfTUlMTElTRUNPTkRTID0gMzAwMDtcclxuY29uc3QgQ09OTkVDVElPTl9USU1FT1VUX01JTExJU0VDT05EUyA9IDUwMDA7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFdlYnNvY2tldFNlcnZpY2Uge1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25uZWN0ZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRpc2Nvbm5lY3RlZCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSByZWNvbm5lY3RlZCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBlcnJvciQgPSBuZXcgU3ViamVjdDxGcmFtZUltcGw+KCk7XHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN1YnNjcmliZWQkID0gbmV3IFN1YmplY3Q8UHJpbWl0aXZlTWFuYWdlcjxhbnk+PigpO1xyXG5cclxuICAgIHByaXZhdGUgcmVhZG9ubHkgcHJpbWl0aXZlTWFuYWdlcnM6IE1hcDxzdHJpbmcsIFByaW1pdGl2ZU1hbmFnZXI8YW55Pj4gPSBuZXcgTWFwPHN0cmluZywgUHJpbWl0aXZlTWFuYWdlcjxhbnk+PigpO1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25uZWN0aW9uTG9jayA9IG5ldyBBc3luY0xvY2soKTtcclxuXHJcbiAgICBwcml2YXRlIHN0b21wQ2xpZW50ITogQ2xpZW50O1xyXG4gICAgcHJpdmF0ZSBkZWJ1Z0VuYWJsZSA9IGZhbHNlO1xyXG4gICAgcHJpdmF0ZSBsb3N0Q29ubmVjdGlvbiA9IGZhbHNlO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgdXNlckluZm9ybWF0aW9uU2VydmljZTogVXNlckluZm9ybWF0aW9uU2VydmljZSkge1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRW5hYmxlcyBzdG9tcGpzIGRlYnVnIGxvZ3MgYW5kIGFkZGl0aW9uYWwgaW5mb1xyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZW5hYmxlRGVidWdMb2dzKCkge1xyXG4gICAgICAgIHRoaXMuZGVidWdFbmFibGUgPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogTWFudWFsbHkgc3RhcnRzIHRoZSBjb25uZWN0aW9uXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBhc3luYyBjb25uZWN0KCkge1xyXG4gICAgICAgIGF3YWl0IHRoaXMuY29ubmVjdGlvbkxvY2suYWNxdWlyZSgpO1xyXG5cclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5pc0Nvbm5lY3RlZCgpIHx8IHRoaXMuaXNDb25uZWN0aW5nKCkpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLmxvc3RDb25uZWN0aW9uID0gZmFsc2U7XHJcblxyXG4gICAgICAgICAgICBjb25zdCBzdG9tcENvbmZpZzogU3RvbXBDb25maWcgPSB7XHJcbiAgICAgICAgICAgICAgICB3ZWJTb2NrZXRGYWN0b3J5OiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBTb2NrSlMoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0U3Vic2NyaXB0aW9uVXJsKCksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG51bGwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVvdXQ6IENPTk5FQ1RJT05fVElNRU9VVF9NSUxMSVNFQ09ORFNcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgcmVjb25uZWN0RGVsYXk6IFJFQ09OTkVDVF9JTlRFUlZBTF9NSUxMSVNFQ09ORFMsXHJcbiAgICAgICAgICAgICAgICBkZWJ1ZzogdGhpcy5kZWJ1Zy5iaW5kKHRoaXMpLFxyXG4gICAgICAgICAgICAgICAgb25Db25uZWN0OiB0aGlzLmhhbmRsZU9uQ29ubmVjdGVkLmJpbmQodGhpcyksXHJcbiAgICAgICAgICAgICAgICBvbkRpc2Nvbm5lY3Q6IHRoaXMuaGFuZGxlT25EaXNjb25uZWN0LmJpbmQodGhpcyksXHJcbiAgICAgICAgICAgICAgICBvbldlYlNvY2tldENsb3NlOiB0aGlzLmhhbmRsZU9uV2ViU29ja2V0Q2xvc2UuYmluZCh0aGlzKSxcclxuICAgICAgICAgICAgICAgIG9uU3RvbXBFcnJvcjogdGhpcy5oYW5kbGVPblN0b21wRXJyb3IuYmluZCh0aGlzKSxcclxuICAgICAgICAgICAgICAgIG9uV2ViU29ja2V0RXJyb3I6IHRoaXMuaGFuZGxlT25XZWJTb2NrZXRFcnJvci5iaW5kKHRoaXMpXHJcbiAgICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgICB0aGlzLmRlYnVnKCdDb25uZWN0aW5nIHRoZSBXZWJzY29rZXQnKTtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuc3RvbXBDbGllbnQgPSBuZXcgQ2xpZW50KHN0b21wQ29uZmlnKTtcclxuICAgICAgICAgICAgdGhpcy5zdG9tcENsaWVudC5hY3RpdmF0ZSgpO1xyXG4gICAgICAgIH0gZmluYWxseSB7XHJcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuY29ubmVjdGlvbkxvY2sucmVsZWFzZSgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIE1hbnVhbGx5IGRpc2Nvbm5lY3QgdGhlIHdlYnNvY2tldC4gVGhlIHJlY29ubmVjdCBsb29wIHdpbGwgYmUgc3RvcHBlZC5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGFzeW5jIGRpc2Nvbm5lY3QoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmlzQ29ubmVjdGVkKCkpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgYXdhaXQgdGhpcy5jb25uZWN0aW9uTG9jay5hY3F1aXJlKCk7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgZm9yIChjb25zdCBwcmltaXRpdmVNYW5hZ2VyIG9mIHRoaXMucHJpbWl0aXZlTWFuYWdlcnMudmFsdWVzKCkpIHtcclxuICAgICAgICAgICAgICAgIHByaW1pdGl2ZU1hbmFnZXIudW5zdWJzY3JpYmUoKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdGhpcy5wcmltaXRpdmVNYW5hZ2Vycy5jbGVhcigpO1xyXG4gICAgICAgICAgICB0aGlzLmNvbm5lY3RlZCQubmV4dChmYWxzZSk7XHJcblxyXG4gICAgICAgICAgICBpZiAodGhpcy5zdG9tcENsaWVudCkge1xyXG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5zdG9tcENsaWVudC5kZWFjdGl2YXRlKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGZpbmFsbHkge1xyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLmNvbm5lY3Rpb25Mb2NrLnJlbGVhc2UoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDaGVjayBpZiB0aGUgd2Vic29ja2V0IGlzIGNvbm5lY3RlZFxyXG4gICAgICogQHJldHVybiBgYm9vbGVhbmAgcmVwcmVzZW50aW5nIGlmIHRoZSB3ZWJzb2NrZXQgaXMgY29ubmVjdGVkXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBpc0Nvbm5lY3RlZCgpOiBib29sZWFuIHtcclxuICAgICAgICBpZiAoIXRoaXMuc3RvbXBDbGllbnQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RvbXBDbGllbnQuY29ubmVjdGVkO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ2hlY2sgaWYgdGhlIHdlYnNvY2tldCBpcyB0cmluZyB0byBjb25uZWN0XHJcbiAgICAgKiBAcmV0dXJuIGBib29sZWFuYCByZXByZXNlbnRpbmcgaWYgdGhlIHdlYnNvY2tldCBzdGF0dXNcclxuICAgICAqL1xyXG4gICAgcHVibGljIGlzQ29ubmVjdGluZygpOiBib29sZWFuIHtcclxuICAgICAgICBpZiAoIXRoaXMuc3RvbXBDbGllbnQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuICF0aGlzLnN0b21wQ2xpZW50LmNvbm5lY3RlZCAmJiB0aGlzLnN0b21wQ2xpZW50LmFjdGl2ZTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEV2ZW50IHJlc3BvbnNhYmxlIHRvIGVtaXQgYW4gZXZlbnQgd2hlbiB0aGUgY29ubmVjdGlvbiBpcyBlc3RhYmxpc2hlZC5cclxuICAgICAqIERvIG5vdCBmb3JnZXQgdG8gdW5zdWJzY3JpYmUgdGhlIG9ic2VydmFibGUgd2hlbiB5b3UgZG9uJ3QgbmVlZCBpdCBhbnltb3JlLlxyXG4gICAgICogQHJldHVybiBgT2JzZXJ2YWJsZTxib29sZWFuPmBcclxuICAgICAqL1xyXG4gICAgcHVibGljIG9uQ29ubmVjdCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jb25uZWN0ZWQkLmFzT2JzZXJ2YWJsZSgpXHJcbiAgICAgICAgICAgIC5waXBlKGZpbHRlcihwID0+IHAgPT09IHRydWUpKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEV2ZW50IHJlc3BvbnNhYmxlIHRvIGVtaXQgYW4gZXZlbnQgd2hlbiB0aGUgY29ubmVjdGlvbiBpcyBjbG9zZWQuXHJcbiAgICAgKiBEbyBub3QgZm9yZ2V0IHRvIHVuc3Vic2NyaWJlIHRoZSBvYnNlcnZhYmxlIHdoZW4geW91IGRvbid0IG5lZWQgaXQgYW55bW9yZS5cclxuICAgICAqIEByZXR1cm4gYE9ic2VydmFibGU8dm9pZD5gXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBvbkRpc2Nvbm5lY3QoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZGlzY29ubmVjdGVkJC5hc09ic2VydmFibGUoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEV2ZW50IHJlc3BvbnNhYmxlIHRvIGVtaXQgYW4gZXZlbnQgd2hlbiB0aGUgY29ubmVjdGlvbiBpcyByZWVzdGFibGlzaGVkLlxyXG4gICAgICogRG8gbm90IGZvcmdldCB0byB1bnN1YnNjcmliZSB0aGUgb2JzZXJ2YWJsZSB3aGVuIHlvdSBkb24ndCBuZWVkIGl0IGFueW1vcmUuXHJcbiAgICAgKiBAcmV0dXJuIGBPYnNlcnZhYmxlPHZvaWQ+YFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgb25SZWNvbm5lY3QoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMucmVjb25uZWN0ZWQkLmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRXZlbnQgcmVzcG9uc2FibGUgdG8gZW1pdCBhbiBldmVudCB3aGVuIGFuIGVycm9yIG9jdXJyZWQuXHJcbiAgICAgKiBEbyBub3QgZm9yZ2V0IHRvIHVuc3Vic2NyaWJlIHRoZSBvYnNlcnZhYmxlIHdoZW4geW91IGRvbid0IG5lZWQgaXQgYW55bW9yZS5cclxuICAgICAqIEByZXR1cm4gYE9ic2VydmFibGU8RnJhbWVJbXBsPmBcclxuICAgICAqL1xyXG4gICAgcHVibGljIG9uRXJyb3IoKTogT2JzZXJ2YWJsZTxGcmFtZUltcGw+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5lcnJvciQuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBFdmVudCByZXNwb25zaWJsZSB0byBlbWl0IGFuIGV2ZW50IHdoZW4gYSBwcmltaXRpdmUgaXMgY2FsbGVkLlxyXG4gICAgICogRG8gbm90IGZvcmdldCB0byB1bnN1YnNjcmliZSB0aGUgb2JzZXJ2YWJsZSB3aGVuIHlvdSBkb24ndCBuZWVkIGl0IGFueW1vcmUuXHJcbiAgICAgKiBAdHlwZVBhcmFtIGA8VD5gIE9iamVjdCB0eXBlIHRoYXQgd2lsbCBiZSB1c2VkIGluIHRoZSBvYnNlcnZhYmxlIGZvciB0aGUgYGRhdGFgIHByb3BlcnR5LlxyXG4gICAgICogQHBhcmFtIHtPbkV2ZW50T3B0aW9uc30gb3B0aW9ucyBDb25maWd1cmF0aW9ucyBmb3IgdGhlIGV2ZW50LlxyXG4gICAgICogQHJldHVybiBgT2JzZXJ2YWJsZTxQcmltaXRpdmVFdmVudDxUPj5gIE9ic2VydmFibGUgdGhhdCBlbWl0cyBhbiBldmVudCB3aGVuIHRoZSBzZXJ2aWNlIGNhbGxzIHRoZSBwcmltaXRpdmUuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBvbkV2ZW50PFQ+KG9wdGlvbnM6IE9uRXZlbnRPcHRpb25zKTogT2JzZXJ2YWJsZTxQcmltaXRpdmVFdmVudDxUPj4ge1xyXG4gICAgICAgIGNvbnN0IHsgZG9tYWluLCBzZXJ2aWNlLCBwcmltaXRpdmUgfSA9IG9wdGlvbnM7XHJcbiAgICAgICAgY29uc3Qga2V5ID0gdGhpcy5idWlsZFByaW1pdGl2ZU1hbmFnZXJLZXkoZG9tYWluLCBzZXJ2aWNlLCBwcmltaXRpdmUpO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5wcmltaXRpdmVNYW5hZ2Vycy5oYXMoa2V5KSkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5wcmltaXRpdmVNYW5hZ2Vycy5nZXQoa2V5KSEuZ2V0RXZlbnRPYnNlcnZhYmxlKCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBwcmltaXRpdmVNYW5hZ2VyID0gbmV3IFByaW1pdGl2ZU1hbmFnZXI8VD4oZG9tYWluLCBzZXJ2aWNlLCBwcmltaXRpdmUpO1xyXG4gICAgICAgIHRoaXMucHJpbWl0aXZlTWFuYWdlcnMuc2V0KGtleSwgcHJpbWl0aXZlTWFuYWdlcik7XHJcblxyXG4gICAgICAgIHRoaXMuY29ubmVjdCgpLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLm9uQ29ubmVjdCgpXHJcbiAgICAgICAgICAgICAgICAucGlwZSh0YWtlKDEpKVxyXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVTdG9tcFN1YnNjcmlwdGlvbnMocHJpbWl0aXZlTWFuYWdlcik7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHByaW1pdGl2ZU1hbmFnZXJcclxuICAgICAgICAgICAgLmdldEV2ZW50T2JzZXJ2YWJsZSgpXHJcbiAgICAgICAgICAgIC5waXBlKGZpbmFsaXplKCgpID0+IHRoaXMudW5zdWJzY3JpYmVQcmltaXRpdmVPbkZpbmFsaXplKHByaW1pdGl2ZU1hbmFnZXIpKSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBFdmVudCByZXNwb25zaWJsZSB0byBlbWl0IGFuIGV2ZW50IHdoZW4gYSBzdWJzY3JpcHRpb24gaXMgY3JlYXRlZCBmb3IgdGhlIHByaW1pdGl2ZS5cclxuICAgICAqIERvIG5vdCBmb3JnZXQgdG8gdW5zdWJzY3JpYmUgdGhlIG9ic2VydmFibGUgd2hlbiB5b3UgZG9uJ3QgbmVlZCBpdCBhbnltb3JlLlxyXG4gICAgICogQHBhcmFtIHtPbkV2ZW50T3B0aW9uc30gb3B0aW9ucyBDb25maWd1cmF0aW9ucyBmb3IgdGhlIGV2ZW50LlxyXG4gICAgICogT2JzZXJ2YWJsZSByZXNwb25zw6F2ZWwgcG9yIGVtaXRpciB1bWEgbm90aWZpY2HDp8OjbyBhcMOzcyBvIHN1YnNjcmliZSBkbyBldmVudG8gcGVsYSBwcmltZWlyYSB2ZXouXHJcbiAgICAgKiBAcmV0dXJuIGBPYnNlcnZhYmxlPGJvb2xlYW4+YCBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgYW4gZXZlbnQgd2hlbiB0aGUgc2VydmljZSBjYWxscyB0aGUgcHJpbWl0aXZlLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgb25TdWJzY3JpYmUob3B0aW9uczogT25FdmVudE9wdGlvbnMpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcclxuICAgICAgICBjb25zdCB7IGRvbWFpbiwgc2VydmljZSwgcHJpbWl0aXZlIH0gPSBvcHRpb25zO1xyXG4gICAgICAgIGNvbnN0IGtleSA9IHRoaXMuYnVpbGRQcmltaXRpdmVNYW5hZ2VyS2V5KGRvbWFpbiwgc2VydmljZSwgcHJpbWl0aXZlKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMub25Db25uZWN0KCkucGlwZShcclxuICAgICAgICAgICAgdGFrZSgxKSxcclxuICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnByaW1pdGl2ZU1hbmFnZXJzLmhhcyhrZXkpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucHJpbWl0aXZlTWFuYWdlcnNcclxuICAgICAgICAgICAgICAgICAgICAgICAgLmdldChrZXkpIVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAuZ2V0U3Vic2NyaXB0aW9uT2JzZXJ2YWJsZSgpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5waXBlKHRha2UoMSkpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnN1YnNjcmliZWQkLmFzT2JzZXJ2YWJsZSgpLnBpcGUoXHJcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyKChwcmltaXRpdmVNYW5hZ2VyKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmJ1aWxkUHJpbWl0aXZlTWFuYWdlcktleShcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW1pdGl2ZU1hbmFnZXIuZG9tYWluLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpbWl0aXZlTWFuYWdlci5zZXJ2aWNlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpbWl0aXZlTWFuYWdlci5wcmltaXRpdmVcclxuICAgICAgICAgICAgICAgICAgICAgICAgKSA9PT0ga2V5O1xyXG4gICAgICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgICAgICAgIG1hcCgoKSA9PiB0cnVlKSxcclxuICAgICAgICAgICAgICAgICAgICB0YWtlKDEpXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBkZWJ1ZyhtZXNzYWdlOiBzdHJpbmcsIC4uLm9wdGlvbmFsUGFyYW1zOiBhbnlbXSkge1xyXG4gICAgICAgIGlmICghdGhpcy5kZWJ1Z0VuYWJsZSkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaW5mbyhtZXNzYWdlOiBzdHJpbmcpIHtcclxuICAgICAgICBjb25zb2xlLmluZm8oJ1dTIGluZm86ICcgKyBtZXNzYWdlKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGhhbmRsZU9uQ29ubmVjdGVkKCkge1xyXG4gICAgICAgIHRoaXMuaW5mbygnV2Vic2Nva2V0IGNvbm5lY3RlZCcpO1xyXG5cclxuICAgICAgICB0aGlzLmNvbm5lY3RlZCQubmV4dCh0cnVlKTtcclxuICAgICAgICBpZiAodGhpcy5sb3N0Q29ubmVjdGlvbikge1xyXG4gICAgICAgICAgICB0aGlzLmluZm8oJ1dlYnNjb2tldCByZWNvbm5lY3RlZCwgcmVjcmlhdGluZyBzdWJzY3JpcHRpb25zJyk7XHJcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlUmVjb25uZWN0aW9uKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaGFuZGxlT25EaXNjb25uZWN0KCkge1xyXG4gICAgICAgIHRoaXMuaW5mbygnV2Vic2Nva2V0IGRpc2Nvbm5lY3RlZCcpO1xyXG5cclxuICAgICAgICB0aGlzLmNvbm5lY3RlZCQubmV4dChmYWxzZSk7XHJcbiAgICAgICAgdGhpcy5kaXNjb25uZWN0ZWQkLm5leHQoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGhhbmRsZU9uV2ViU29ja2V0Q2xvc2UoZGF0YTogQ2xvc2VFdmVudCkge1xyXG4gICAgICAgIGlmIChkYXRhPy5yZWFzb24/LnRvTG93ZXJDYXNlKCkuaW5kZXhPZihcImdvIGF3YXlcIikgIT09IC0xKSB7XHJcbiAgICAgICAgICAgIHRoaXMubG9zdENvbm5lY3Rpb24gPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLmhhbmRsZUVycm9yKCdBdXRoZW50aWNhdGlvbkVycm9yJywgbmV3IEZyYW1lSW1wbChcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICBjb21tYW5kOiBkYXRhLnR5cGUsXHJcbiAgICAgICAgICAgICAgICAgICAgaGVhZGVyczoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiBkYXRhLnJlYXNvblxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgKSk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChkYXRhPy5yZWFzb24/LnRvTG93ZXJDYXNlKCkuaW5kZXhPZihcImNhbm5vdCBjb25uZWN0IHRvIHNlcnZlclwiKSAhPT0gLTEpIHtcclxuICAgICAgICAgICAgdGhpcy5sb3N0Q29ubmVjdGlvbiA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlRXJyb3IoJ0Nvbm5lY3Rpb25FcnJvcicsIG5ldyBGcmFtZUltcGwoXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29tbWFuZDogZGF0YS50eXBlLFxyXG4gICAgICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogZGF0YS5yZWFzb25cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICkpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoZGF0YS53YXNDbGVhbikge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmxvc3RDb25uZWN0aW9uID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGhhbmRsZU9uU3RvbXBFcnJvcihkYXRhOiBJRnJhbWUpIHtcclxuICAgICAgICB0aGlzLmhhbmRsZUVycm9yKCdTdG9tcEVycm9yJywgZGF0YSBhcyBGcmFtZUltcGwpO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5pc0F1dGhlbnRpY2F0aW9uRXJyb3IoZGF0YSkpIHtcclxuICAgICAgICAgICAgdGhpcy5pbmZvKCdBdXRoZW50aWNhdGlvbiBlcnJvciwgcmVjcmlhdGluZyBzdWJzY3JpcHRpb25zJyk7XHJcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlUmVjb25uZWN0aW9uKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaXNBdXRoZW50aWNhdGlvbkVycm9yKGRhdGE6IElGcmFtZSkge1xyXG4gICAgICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IGRhdGE/LmhlYWRlcnM/LlsnbWVzc2FnZSddO1xyXG4gICAgICAgIGlmICghZXJyb3JNZXNzYWdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBlcnJvck1lc3NhZ2UudG9Mb3dlckNhc2UoKS5pbmRleE9mKCdmb3JiaWRkZW5leGNlcHRpb24nKSAhPT0gLTE7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBoYW5kbGVPbldlYlNvY2tldEVycm9yKGRhdGE6IGFueSkge1xyXG4gICAgICAgIHRoaXMuaGFuZGxlRXJyb3IoJ1dlYlNvY2tldEVycm9yJywgZGF0YSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBoYW5kbGVFcnJvcihvcmlnaW46IHN0cmluZywgZGF0YTogRnJhbWVJbXBsKSB7XHJcbiAgICAgICAgY29uc29sZS5pbmZvKG9yaWdpbiwgZGF0YSk7XHJcbiAgICAgICAgdGhpcy5lcnJvciQubmV4dChkYXRhKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGhhbmRsZVJlY29ubmVjdGlvbigpIHtcclxuICAgICAgICB0aGlzLmxvc3RDb25uZWN0aW9uID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5yZWNvbm5lY3RQcmltaXRpdmVzKCk7XHJcbiAgICAgICAgdGhpcy5yZWNvbm5lY3RlZCQubmV4dCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgcmVjb25uZWN0UHJpbWl0aXZlcygpOiB2b2lkIHtcclxuICAgICAgICBmb3IgKGNvbnN0IHByaW1pdGl2ZU1hbmFnZXIgb2YgdGhpcy5wcmltaXRpdmVNYW5hZ2Vycy52YWx1ZXMoKSkge1xyXG4gICAgICAgICAgICB0aGlzLmNyZWF0ZVN0b21wU3Vic2NyaXB0aW9ucyhwcmltaXRpdmVNYW5hZ2VyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBidWlsZFN1YnNjcmlwdGlvblVybFdpdGhUb2tlbihkb21haW46IHN0cmluZywgc2VydmljZTogc3RyaW5nLCBwcmltaXRpdmU6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgY29uc3QgYXV0aFRva2VuID0gdGhpcy51c2VySW5mb3JtYXRpb25TZXJ2aWNlLmdldEF1dGhUb2tlbigpO1xyXG4gICAgICAgIGNvbnN0IHRlbmFudCA9IHRoaXMudXNlckluZm9ybWF0aW9uU2VydmljZS5nZXRUZW5hbnREb21haW4oKTtcclxuICAgICAgICByZXR1cm4gYC90b3BpYy8ke3RlbmFudH0vJHthdXRoVG9rZW59LyR7ZG9tYWlufS8ke3NlcnZpY2V9LyR7cHJpbWl0aXZlfWA7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRTdWJzY3JpcHRpb25VcmxXaXRob3V0VG9rZW4oZG9tYWluOiBzdHJpbmcsIHNlcnZpY2U6IHN0cmluZywgcHJpbWl0aXZlOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIGNvbnN0IHRlbmFudCA9IHRoaXMudXNlckluZm9ybWF0aW9uU2VydmljZS5nZXRUZW5hbnREb21haW4oKTtcclxuICAgICAgICByZXR1cm4gYC90b3BpYy8ke3RlbmFudH0vJHtkb21haW59LyR7c2VydmljZX0vJHtwcmltaXRpdmV9YDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGJ1aWxkUHJpbWl0aXZlTWFuYWdlcktleShkb21haW46IHN0cmluZywgc2VydmljZTogc3RyaW5nLCBwcmltaXRpdmU6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIGAke2RvbWFpbn0vJHtzZXJ2aWNlfS8ke3ByaW1pdGl2ZX1gO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgYXN5bmMgdW5zdWJzY3JpYmVQcmltaXRpdmVPbkZpbmFsaXplKHByaW1pdGl2ZU1hbmFnZXI6IFByaW1pdGl2ZU1hbmFnZXI8YW55Pikge1xyXG4gICAgICAgIGlmIChwcmltaXRpdmVNYW5hZ2VyLmhhc09ic2VydmVycygpKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHByaW1pdGl2ZU1hbmFnZXIudW5zdWJzY3JpYmUoKTtcclxuXHJcbiAgICAgICAgY29uc3Qga2V5ID0gdGhpcy5idWlsZFByaW1pdGl2ZU1hbmFnZXJLZXkocHJpbWl0aXZlTWFuYWdlci5kb21haW4sIHByaW1pdGl2ZU1hbmFnZXIuc2VydmljZSwgcHJpbWl0aXZlTWFuYWdlci5wcmltaXRpdmUpO1xyXG4gICAgICAgIHRoaXMucHJpbWl0aXZlTWFuYWdlcnMuZGVsZXRlKGtleSk7XHJcblxyXG4gICAgICAgIGF3YWl0IHRoaXMuZGlzY29ubmVjdElmTm9Nb3JlT2JzZXJ2YWJsZXMoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGFzeW5jIGRpc2Nvbm5lY3RJZk5vTW9yZU9ic2VydmFibGVzKCkge1xyXG4gICAgICAgIGlmICh0aGlzLmdldE9ic2VydmVyc0NvdW50KCkgPT09IDApIHtcclxuICAgICAgICAgICAgdGhpcy5kZWJ1ZygnTWFudWFsbHkgZGlzY29ubmVjdGluZyBiZWNhdXNlIHRoZXJlIGFyZSBubyBtb3JlIG9ic2VydmVycycpO1xyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLmRpc2Nvbm5lY3QoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRPYnNlcnZlcnNDb3VudCgpOiBudW1iZXIge1xyXG4gICAgICAgIGxldCBvYnNlcnZlcnNDb3VudCA9IDA7XHJcblxyXG4gICAgICAgIHRoaXMucHJpbWl0aXZlTWFuYWdlcnMuZm9yRWFjaChwcmltaXRpdmVNYW5hZ2VyID0+IHtcclxuICAgICAgICAgICAgb2JzZXJ2ZXJzQ291bnQgKz0gcHJpbWl0aXZlTWFuYWdlci5nZXRPYnNlcnZlcnNDb3VudCgpO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICByZXR1cm4gb2JzZXJ2ZXJzQ291bnQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBjcmVhdGVTdG9tcFN1YnNjcmlwdGlvbjxUPihkZXN0aW5hdGlvbjogc3RyaW5nLCBwcmltaXRpdmVNYW5hZ2VyOiBQcmltaXRpdmVNYW5hZ2VyPFQ+KTogU3RvbXBTdWJzY3JpcHRpb24ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnN0b21wQ2xpZW50LnN1YnNjcmliZShkZXN0aW5hdGlvbiwgKG1lc3NhZ2U6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBldmVudCA9IEpTT04ucGFyc2UobWVzc2FnZS5ib2R5IHx8ICd7fScpO1xyXG4gICAgICAgICAgICBwcmltaXRpdmVNYW5hZ2VyLmZpcmVFdmVudChldmVudCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBjcmVhdGVTdG9tcFN1YnNjcmlwdGlvbnM8VD4ocHJpbWl0aXZlTWFuYWdlcjogUHJpbWl0aXZlTWFuYWdlcjxUPik6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvblVybFdpdGhUb2tlbiA9IHRoaXMuYnVpbGRTdWJzY3JpcHRpb25VcmxXaXRoVG9rZW4oXHJcbiAgICAgICAgICAgIHByaW1pdGl2ZU1hbmFnZXIuZG9tYWluLFxyXG4gICAgICAgICAgICBwcmltaXRpdmVNYW5hZ2VyLnNlcnZpY2UsXHJcbiAgICAgICAgICAgIHByaW1pdGl2ZU1hbmFnZXIucHJpbWl0aXZlXHJcbiAgICAgICAgKTtcclxuICAgICAgICBjb25zdCBzdWJzY3JpcHRpb25VcmxXaXRob3V0VG9rZW4gPSB0aGlzLmdldFN1YnNjcmlwdGlvblVybFdpdGhvdXRUb2tlbihcclxuICAgICAgICAgICAgcHJpbWl0aXZlTWFuYWdlci5kb21haW4sXHJcbiAgICAgICAgICAgIHByaW1pdGl2ZU1hbmFnZXIuc2VydmljZSxcclxuICAgICAgICAgICAgcHJpbWl0aXZlTWFuYWdlci5wcmltaXRpdmVcclxuICAgICAgICApO1xyXG5cclxuICAgICAgICBjb25zdCBzdG9tcFN1YnNjcmlwdGlvbldpdGhUb2tlbiA9IHRoaXMuY3JlYXRlU3RvbXBTdWJzY3JpcHRpb24oc3Vic2NyaXB0aW9uVXJsV2l0aFRva2VuLCBwcmltaXRpdmVNYW5hZ2VyKTtcclxuICAgICAgICBjb25zdCBzdG9tcFN1YnNjcmlwdGlvbldpdGhvdXRUb2tlbiA9IHRoaXMuY3JlYXRlU3RvbXBTdWJzY3JpcHRpb24oc3Vic2NyaXB0aW9uVXJsV2l0aG91dFRva2VuLCBwcmltaXRpdmVNYW5hZ2VyKTtcclxuICAgICAgICBwcmltaXRpdmVNYW5hZ2VyLnN1YnNjcmliZShzdG9tcFN1YnNjcmlwdGlvbldpdGhUb2tlbiwgc3RvbXBTdWJzY3JpcHRpb25XaXRob3V0VG9rZW4pO1xyXG4gICAgICAgIHRoaXMuc3Vic2NyaWJlZCQubmV4dChwcmltaXRpdmVNYW5hZ2VyKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldFN1YnNjcmlwdGlvblVybCgpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhpcy51c2VySW5mb3JtYXRpb25TZXJ2aWNlLmdldFdlYlNvY2tldFVybCgpfS9zdWJzY3JpcHRpb25gO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|