@colijnit/sharedcomponents 1.0.57 → 1.0.59
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 +24 -24
- package/bundles/colijnit-sharedcomponents.umd.js +9938 -6389
- package/bundles/colijnit-sharedcomponents.umd.js.map +1 -1
- package/colijnit-sharedcomponents.d.ts +91 -74
- package/colijnit-sharedcomponents.metadata.json +1 -1
- package/esm2015/colijnit-sharedcomponents.js +92 -75
- package/esm2015/lib/assets/dictionary/text.properties.js +11 -11
- package/esm2015/lib/businessobject/build-images-and-documentation-result.js +2 -0
- package/esm2015/lib/businessobject/co-document-right.bo.js +3 -0
- package/esm2015/lib/businessobject/drag-drop-container-element.js +2 -0
- package/esm2015/lib/businessobject/drag-drop-container.js +7 -0
- package/esm2015/lib/components/activity-list/activity-list.component.js +130 -0
- package/esm2015/lib/components/activity-list/activity-list.module.js +24 -0
- package/esm2015/lib/components/app-file-dropzone/app-file-dropzone.component.js +47 -0
- package/esm2015/lib/components/app-file-dropzone/app-file-dropzone.module.js +20 -0
- package/esm2015/lib/components/date-planning/component/agenda/agenda-base-view.component.js +61 -61
- package/esm2015/lib/components/date-planning/component/agenda/agenda-day-view.component.js +36 -36
- package/esm2015/lib/components/date-planning/component/agenda/agenda-event.component.js +56 -56
- package/esm2015/lib/components/date-planning/component/agenda/agenda-events.component.js +47 -47
- package/esm2015/lib/components/date-planning/component/agenda/agenda-half-hour-cell.component.js +68 -68
- package/esm2015/lib/components/date-planning/component/agenda/agenda-header.component.js +243 -243
- package/esm2015/lib/components/date-planning/component/agenda/agenda-hour-cell.component.js +36 -36
- package/esm2015/lib/components/date-planning/component/agenda/agenda-hour-view-labels.component.js +50 -50
- package/esm2015/lib/components/date-planning/component/agenda/agenda-hour-view.component.js +46 -46
- package/esm2015/lib/components/date-planning/component/agenda/agenda-month-view.component.js +61 -61
- package/esm2015/lib/components/date-planning/component/agenda/agenda-select-event.component.js +39 -39
- package/esm2015/lib/components/date-planning/component/agenda/agenda-view.component.js +35 -35
- package/esm2015/lib/components/date-planning/component/agenda/agenda-week-select-view.component.js +64 -64
- package/esm2015/lib/components/date-planning/component/agenda/agenda-week-view.component.js +48 -48
- package/esm2015/lib/components/date-planning/component/agenda/view-select.component.js +42 -42
- package/esm2015/lib/components/date-planning/component/calendar/calendar-all-months.component.js +34 -34
- package/esm2015/lib/components/date-planning/component/calendar/calendar-all-years.component.js +48 -48
- package/esm2015/lib/components/date-planning/component/calendar/calendar-header.component.js +107 -107
- package/esm2015/lib/components/date-planning/component/calendar/calendar-view.component.js +178 -178
- package/esm2015/lib/components/date-planning/component/calendar/calendar.component.js +34 -34
- package/esm2015/lib/components/date-planning/date-planning.component.js +113 -113
- package/esm2015/lib/components/date-planning/date-planning.module.js +63 -63
- package/esm2015/lib/components/docsign/component/signature/signature.component.js +75 -75
- package/esm2015/lib/components/docsign/component/signatures/signatures.component.js +44 -44
- package/esm2015/lib/components/docsign/docsign.component.js +242 -242
- package/esm2015/lib/components/docsign/docsign.module.js +23 -23
- package/esm2015/lib/components/file-upload/file-upload.component.js +189 -0
- package/esm2015/lib/components/file-upload/file-upload.module.js +25 -0
- package/esm2015/lib/components/file-upload-popup/file-upload-popup.component.js +397 -0
- package/esm2015/lib/components/file-upload-popup/file-upload-popup.module.js +30 -0
- package/esm2015/lib/components/files-upload/components/base-file-upload.component.js +469 -0
- package/esm2015/lib/components/files-upload/components/drag-drop-container.component.js +115 -0
- package/esm2015/lib/components/files-upload/files-upload.component.js +131 -0
- package/esm2015/lib/components/files-upload/files-upload.module.js +47 -0
- package/esm2015/lib/components/image-display/image-display.component.js +36 -0
- package/esm2015/lib/components/image-display/image-display.module.js +23 -0
- package/esm2015/lib/components/key-pad/key-pad.component.js +200 -200
- package/esm2015/lib/components/key-pad/key-pad.module.js +22 -22
- package/esm2015/lib/components/layout-switcher/layout-switcher.component.js +74 -74
- package/esm2015/lib/components/layout-switcher/layout-switcher.module.js +21 -21
- package/esm2015/lib/components/linear-gauge/co-linear-gauge.component.js +59 -59
- package/esm2015/lib/components/linear-gauge/co-linear-gauge.module.js +19 -19
- package/esm2015/lib/components/multi-property-toggler/multiple-property-toggler.component.js +89 -0
- package/esm2015/lib/components/multi-property-toggler/multiple-property-toggler.module.js +21 -0
- package/esm2015/lib/components/send-method-dialog/components/layout-selection/layout-selection.component.js +79 -79
- package/esm2015/lib/components/send-method-dialog/components/layout-selection/layout-selection.module.js +21 -21
- package/esm2015/lib/components/send-method-dialog/components/printer-selection/printer-selection.component.js +85 -85
- package/esm2015/lib/components/send-method-dialog/components/printer-selection/printer-selection.module.js +21 -21
- package/esm2015/lib/components/send-method-dialog/components/send-method-email/send-method-email.component.js +64 -64
- package/esm2015/lib/components/send-method-dialog/components/send-method-email/send-method-email.module.js +26 -26
- package/esm2015/lib/components/send-method-dialog/components/send-method-pdf/send-method-pdf.component.js +40 -40
- package/esm2015/lib/components/send-method-dialog/components/send-method-pdf/send-method-pdf.module.js +23 -23
- package/esm2015/lib/components/send-method-dialog/components/send-method-printer/send-method-printer.component.js +61 -61
- package/esm2015/lib/components/send-method-dialog/components/send-method-printer/send-method-printer.module.js +28 -28
- package/esm2015/lib/components/send-method-dialog/components/signature-button/signature-button.component.js +38 -38
- package/esm2015/lib/components/send-method-dialog/components/signature-button/signature-button.module.js +21 -21
- package/esm2015/lib/components/send-method-dialog/model/email-address-viewmodel.js +7 -7
- package/esm2015/lib/components/send-method-dialog/send-method-dialog.component.js +258 -258
- package/esm2015/lib/components/send-method-dialog/send-method-dialog.module.js +35 -35
- package/esm2015/lib/components/send-method-dialog/send-method-params.interface.js +2 -2
- package/esm2015/lib/components/send-method-dialog/service/send-method.service.js +59 -59
- package/esm2015/lib/components/simple-tags/simple-tags.component.js +229 -229
- package/esm2015/lib/components/simple-tags/simple-tags.module.js +26 -26
- package/esm2015/lib/components/statusbar/statusbar-popup.component.js +97 -97
- package/esm2015/lib/components/statusbar/statusbar.component.js +81 -81
- package/esm2015/lib/components/statusbar/statusbar.module.js +27 -27
- package/esm2015/lib/components/stock/components/allocation-stock-history/allocation-stock-history.component.js +47 -47
- package/esm2015/lib/components/stock/components/order-commission-stock-history/order-commission-stock-history.component.js +47 -47
- package/esm2015/lib/components/stock/components/order-stock-history/order-stock-history.component.js +47 -47
- package/esm2015/lib/components/stock/components/order-stock-tab/order-stock-tab.component.js +47 -47
- package/esm2015/lib/components/stock/components/order-supply-stock-history/order-supply-stock-history.component.js +47 -47
- package/esm2015/lib/components/stock/components/order-tab/order-tab.component.js +67 -67
- package/esm2015/lib/components/stock/components/stock-history/stock-history.component.js +53 -53
- package/esm2015/lib/components/stock/components/stock-location/stock-location.component.js +240 -240
- package/esm2015/lib/components/stock/components/stock-prognose/stock-prognose.component.js +52 -52
- package/esm2015/lib/components/stock/components/stock-tab/stock-tab.component.js +41 -41
- package/esm2015/lib/components/stock/localization/translation.js +63 -63
- package/esm2015/lib/components/stock/stock-history-tabs/stock-history-tabs.component.js +33 -33
- package/esm2015/lib/components/stock/stock-information/stock-information.component.js +48 -48
- package/esm2015/lib/components/stock/stock-information-grid/stock-information-grid.component.js +457 -457
- package/esm2015/lib/components/stock/stock-tabs/stock-tabs.component.js +241 -241
- package/esm2015/lib/components/stock/stock-transfer/co-drop-down-list-fields.interface.js +2 -2
- package/esm2015/lib/components/stock/stock-transfer/stock-change-amount.component.js +72 -72
- package/esm2015/lib/components/stock/stock-transfer/stock-transfer.component.js +149 -149
- package/esm2015/lib/components/stock/stock.component.js +193 -193
- package/esm2015/lib/components/stock/stock.module.js +80 -80
- package/esm2015/lib/components/stock-statusbar/stock-statusbar.component.js +23 -23
- package/esm2015/lib/components/stock-statusbar/stock-statusbar.module.js +19 -19
- package/esm2015/lib/components/tab-bar/tab-bar.component.js +88 -88
- package/esm2015/lib/components/tab-bar/tab-bar.module.js +21 -21
- package/esm2015/lib/components/tab-bar/tab.interface.js +2 -2
- package/esm2015/lib/components/tile-renderer/tile-render.component.js +80 -0
- package/esm2015/lib/components/tile-renderer/tile-render.module.js +26 -0
- package/esm2015/lib/decorator/input-boolean.decorator.js +34 -0
- package/esm2015/lib/enum/calendar-view.enum.js +9 -9
- package/esm2015/lib/enum/document-email-report.enum.js +18 -0
- package/esm2015/lib/enum/domain-multiple-name.enum.js +13 -0
- package/esm2015/lib/enum/file-type.js +14 -0
- package/esm2015/lib/enum/files-upload-config-objects.js +3 -0
- package/esm2015/lib/enum/gauge-color.enum.js +10 -10
- package/esm2015/lib/enum/icon.enum.js +44 -38
- package/esm2015/lib/enum/internal-param.enum.js +38 -0
- package/esm2015/lib/enum/keyboard-code.enum.js +32 -32
- package/esm2015/lib/enum/language-code.enum.js +8 -8
- package/esm2015/lib/enum/month.enum.js +17 -17
- package/esm2015/lib/enum/read-write-access-config-names.enum.js +2 -0
- package/esm2015/lib/enum/table-name.enum.js +86 -0
- package/esm2015/lib/enum/tag-category.enum.js +22 -0
- package/esm2015/lib/enum/tags-component-config-names.js +2 -0
- package/esm2015/lib/enum/thumb-three-way-state.js +19 -19
- package/esm2015/lib/enum/tile-size-type.js +7 -0
- package/esm2015/lib/enum/time-period.enum.js +11 -11
- package/esm2015/lib/event/co-drag-event.js +2 -0
- package/esm2015/lib/event/co-drop-event.js +2 -0
- package/esm2015/lib/interface/key-value-pair.js +2 -0
- package/esm2015/lib/interface/operation-callback-simple-function.js +4 -0
- package/esm2015/lib/localization/localization.module.js +19 -19
- package/esm2015/lib/localization/localize.pipe.js +26 -26
- package/esm2015/lib/localization/localize.service.js +30 -30
- package/esm2015/lib/localization/translation.js +3 -3
- package/esm2015/lib/model/agenda-event-per-day.model.js +6 -6
- package/esm2015/lib/model/agenda-event.model.js +8 -8
- package/esm2015/lib/model/agenda-null-objects.js +11 -11
- package/esm2015/lib/model/constant/all-months.js +17 -17
- package/esm2015/lib/model/date-range.js +5 -5
- package/esm2015/lib/model/day.model.js +7 -7
- package/esm2015/lib/model/icon-svg.js +43 -37
- package/esm2015/lib/model/month.model.js +11 -11
- package/esm2015/lib/model/send-method.js +8 -8
- package/esm2015/lib/model/settings.js +4 -4
- package/esm2015/lib/model/tag-tree-item.bo.js +16 -0
- package/esm2015/lib/model/time-window.bo.js +26 -26
- package/esm2015/lib/model/tree-object.js +15 -0
- package/esm2015/lib/model/week.model.js +6 -6
- package/esm2015/lib/model/weekday.model.js +10 -10
- package/esm2015/lib/pipe/array-number.pipe.js +15 -15
- package/esm2015/lib/pipe/file-type-image.pipe.js +51 -0
- package/esm2015/lib/pipe/master-pipes.js +9 -7
- package/esm2015/lib/pipe/ucfirst.pipe.js +16 -16
- package/esm2015/lib/service/dictionary.service.js +76 -76
- package/esm2015/lib/service/drag-drop.service.js +365 -0
- package/esm2015/lib/service/icon-cache.service.js +51 -51
- package/esm2015/lib/service/options.service.js +48 -48
- package/esm2015/lib/service/shared-connector.service.js +433 -424
- package/esm2015/lib/service/shared.service.js +60 -60
- package/esm2015/lib/service/stock.service.js +110 -110
- package/esm2015/lib/utils/array-utils.js +202 -0
- package/esm2015/lib/utils/calendar.utils.js +68 -68
- package/esm2015/lib/utils/check-precision-and-scale-result.js +2 -0
- package/esm2015/lib/utils/check-within-stepped-bounds-result.js +2 -0
- package/esm2015/lib/utils/co-document-shared-field-logic.js +50 -0
- package/esm2015/lib/utils/date-utils.js +264 -264
- package/esm2015/lib/utils/enum-utils.js +128 -0
- package/esm2015/lib/utils/function/not-nill.function.js +5 -5
- package/esm2015/lib/utils/is-nill.function.js +5 -0
- package/esm2015/lib/utils/map-utils.js +41 -41
- package/esm2015/lib/utils/number-utils.js +390 -0
- package/esm2015/lib/utils/object-utils.js +278 -0
- package/esm2015/lib/utils/ref-code-utils.js +49 -0
- package/esm2015/lib/utils/string-utils.js +93 -64
- package/esm2015/public-api.js +31 -27
- package/fesm2015/colijnit-sharedcomponents.js +10379 -6857
- package/fesm2015/colijnit-sharedcomponents.js.map +1 -1
- package/lib/assets/dictionary/text.properties.d.ts +3 -3
- package/lib/businessobject/build-images-and-documentation-result.d.ts +5 -0
- package/lib/businessobject/co-document-right.bo.d.ts +6 -0
- package/lib/businessobject/drag-drop-container-element.d.ts +6 -0
- package/lib/businessobject/drag-drop-container.d.ts +6 -0
- package/lib/components/access/read-write-access.scss +25 -0
- package/lib/components/access/style/_layout.scss +23 -0
- package/lib/components/access/style/_material-definition.scss +12 -0
- package/lib/components/access/style/_theme.scss +4 -0
- package/lib/components/access/style/material.scss +4 -0
- package/lib/components/activity-list/activity-list.component.d.ts +33 -0
- package/lib/components/activity-list/activity-list.module.d.ts +2 -0
- package/lib/components/activity-list/style/_layout.scss +68 -0
- package/lib/components/activity-list/style/_material-definition.scss +0 -0
- package/lib/components/activity-list/style/_theme.scss +4 -0
- package/lib/components/activity-list/style/material.scss +4 -0
- package/lib/components/app-file-dropzone/app-file-dropzone.component.d.ts +14 -0
- package/lib/components/app-file-dropzone/app-file-dropzone.module.d.ts +2 -0
- package/lib/components/app-file-dropzone/style/_layout.scss +61 -0
- package/lib/components/app-file-dropzone/style/_material-definition.scss +0 -0
- package/lib/components/app-file-dropzone/style/_theme.scss +4 -0
- package/lib/components/app-file-dropzone/style/material.scss +4 -0
- package/lib/components/date-planning/component/agenda/agenda-base-view.component.d.ts +21 -21
- package/lib/components/date-planning/component/agenda/agenda-day-view.component.d.ts +7 -7
- package/lib/components/date-planning/component/agenda/agenda-event.component.d.ts +18 -18
- package/lib/components/date-planning/component/agenda/agenda-events.component.d.ts +13 -13
- package/lib/components/date-planning/component/agenda/agenda-half-hour-cell.component.d.ts +18 -18
- package/lib/components/date-planning/component/agenda/agenda-header.component.d.ts +48 -48
- package/lib/components/date-planning/component/agenda/agenda-hour-cell.component.d.ts +9 -9
- package/lib/components/date-planning/component/agenda/agenda-hour-view-labels.component.d.ts +8 -8
- package/lib/components/date-planning/component/agenda/agenda-hour-view.component.d.ts +7 -7
- package/lib/components/date-planning/component/agenda/agenda-month-view.component.d.ts +10 -10
- package/lib/components/date-planning/component/agenda/agenda-select-event.component.d.ts +12 -12
- package/lib/components/date-planning/component/agenda/agenda-view.component.d.ts +12 -12
- package/lib/components/date-planning/component/agenda/agenda-week-select-view.component.d.ts +10 -10
- package/lib/components/date-planning/component/agenda/agenda-week-view.component.d.ts +9 -9
- package/lib/components/date-planning/component/agenda/style/_layout.scss +443 -443
- package/lib/components/date-planning/component/agenda/style/_material-definition.scss +12 -12
- package/lib/components/date-planning/component/agenda/style/_theme.scss +7 -7
- package/lib/components/date-planning/component/agenda/style/material.scss +5 -5
- package/lib/components/date-planning/component/agenda/view-select.component.d.ts +11 -11
- package/lib/components/date-planning/component/calendar/calendar-all-months.component.d.ts +9 -9
- package/lib/components/date-planning/component/calendar/calendar-all-years.component.d.ts +9 -9
- package/lib/components/date-planning/component/calendar/calendar-header.component.d.ts +23 -23
- package/lib/components/date-planning/component/calendar/calendar-view.component.d.ts +31 -31
- package/lib/components/date-planning/component/calendar/calendar.component.d.ts +10 -10
- package/lib/components/date-planning/component/calendar/style/_layout.scss +167 -167
- package/lib/components/date-planning/component/calendar/style/_material-definition.scss +7 -7
- package/lib/components/date-planning/component/calendar/style/_theme.scss +7 -7
- package/lib/components/date-planning/component/calendar/style/material.scss +5 -5
- package/lib/components/date-planning/date-planning.component.d.ts +28 -28
- package/lib/components/date-planning/date-planning.module.d.ts +2 -2
- package/lib/components/date-planning/style/_layout.scss +45 -45
- package/lib/components/date-planning/style/_theme.scss +5 -5
- package/lib/components/date-planning/style/material.scss +7 -7
- package/lib/components/docsign/component/signature/signature.component.d.ts +16 -16
- package/lib/components/docsign/component/signature/style/_layout.scss +40 -40
- package/lib/components/docsign/component/signature/style/_material-definition.scss +11 -11
- package/lib/components/docsign/component/signature/style/_theme.scss +13 -13
- package/lib/components/docsign/component/signature/style/material.scss +4 -4
- package/lib/components/docsign/component/signatures/signatures.component.d.ts +12 -12
- package/lib/components/docsign/component/signatures/style/_layout.scss +13 -13
- package/lib/components/docsign/component/signatures/style/_material-definition.scss +1 -1
- package/lib/components/docsign/component/signatures/style/_theme.scss +4 -4
- package/lib/components/docsign/component/signatures/style/material.scss +5 -5
- package/lib/components/docsign/docsign.component.d.ts +94 -94
- package/lib/components/docsign/docsign.module.d.ts +2 -2
- package/lib/components/docsign/style/_layout.scss +40 -40
- package/lib/components/docsign/style/_material-definition.scss +12 -12
- package/lib/components/docsign/style/_theme.scss +12 -12
- package/lib/components/docsign/style/material.scss +15 -15
- package/lib/components/file-upload/file-upload.component.d.ts +42 -0
- package/lib/components/file-upload/file-upload.module.d.ts +2 -0
- package/lib/components/file-upload/style/_layout.scss +59 -0
- package/lib/components/file-upload/style/_material-definition.scss +2 -0
- package/lib/components/file-upload/style/_theme.scss +4 -0
- package/lib/components/file-upload/style/material.scss +4 -0
- package/lib/components/file-upload-popup/file-upload-popup.component.d.ts +75 -0
- package/lib/components/file-upload-popup/file-upload-popup.module.d.ts +2 -0
- package/lib/components/file-upload-popup/style/_layout.scss +48 -0
- package/lib/components/file-upload-popup/style/_material-definition.scss +2 -0
- package/lib/components/file-upload-popup/style/_theme.scss +5 -0
- package/lib/components/file-upload-popup/style/material.scss +4 -0
- package/lib/components/files-upload/components/base-file-upload.component.d.ts +98 -0
- package/lib/components/files-upload/components/drag-drop-container.component.d.ts +34 -0
- package/lib/components/files-upload/files-upload.component.d.ts +32 -0
- package/lib/components/files-upload/files-upload.module.d.ts +2 -0
- package/lib/components/files-upload/style/_layout.scss +49 -0
- package/lib/components/files-upload/style/_material-definition.scss +0 -0
- package/lib/components/files-upload/style/_theme.scss +5 -0
- package/lib/components/files-upload/style/material.scss +4 -0
- package/lib/components/image-display/image-display.component.d.ts +14 -0
- package/lib/components/image-display/image-display.module.d.ts +2 -0
- package/lib/components/image-display/style/_layout.scss +56 -0
- package/lib/components/image-display/style/_material-definition.scss +4 -0
- package/lib/components/image-display/style/_theme.scss +6 -0
- package/lib/components/image-display/style/material.scss +3 -0
- package/lib/components/key-pad/key-pad.component.d.ts +38 -38
- package/lib/components/key-pad/key-pad.module.d.ts +2 -2
- package/lib/components/key-pad/style/_layout.scss +160 -160
- package/lib/components/key-pad/style/_material-definition.scss +19 -19
- package/lib/components/key-pad/style/_theme.scss +35 -35
- package/lib/components/key-pad/style/material.scss +4 -4
- package/lib/components/layout-switcher/layout-switcher.component.d.ts +16 -16
- package/lib/components/layout-switcher/layout-switcher.module.d.ts +2 -2
- package/lib/components/layout-switcher/style/_layout.scss +94 -94
- package/lib/components/layout-switcher/style/_material-definition.scss +16 -16
- package/lib/components/layout-switcher/style/_theme.scss +4 -4
- package/lib/components/layout-switcher/style/material.scss +6 -6
- package/lib/components/linear-gauge/co-linear-gauge.component.d.ts +11 -11
- package/lib/components/linear-gauge/co-linear-gauge.module.d.ts +2 -2
- package/lib/components/linear-gauge/style/_layout.scss +20 -20
- package/lib/components/linear-gauge/style/_material-definition.scss +8 -8
- package/lib/components/linear-gauge/style/_theme.scss +4 -4
- package/lib/components/linear-gauge/style/material.scss +6 -6
- package/lib/components/login/style/_layout.scss +57 -57
- package/lib/components/login/style/_material-definition.scss +23 -23
- package/lib/components/login/style/_theme.scss +7 -7
- package/lib/components/login/style/material.scss +4 -4
- package/lib/components/multi-property-toggler/multiple-property-toggler.component.d.ts +27 -0
- package/lib/components/multi-property-toggler/multiple-property-toggler.module.d.ts +2 -0
- package/lib/components/multi-property-toggler/style/_layout.scss +24 -0
- package/lib/components/multi-property-toggler/style/_material-definition.scss +0 -0
- package/lib/components/multi-property-toggler/style/_theme.scss +4 -0
- package/lib/components/multi-property-toggler/style/material.scss +4 -0
- package/lib/components/screen-config-generator/style/_layout.scss +95 -95
- package/lib/components/screen-config-generator/style/_theme.scss +4 -4
- package/lib/components/screen-config-generator/style/material.scss +4 -4
- package/lib/components/send-method-dialog/components/layout-selection/layout-selection.component.d.ts +19 -19
- package/lib/components/send-method-dialog/components/layout-selection/layout-selection.module.d.ts +2 -2
- package/lib/components/send-method-dialog/components/layout-selection/style/_layout.scss +44 -44
- package/lib/components/send-method-dialog/components/layout-selection/style/_material-definition.scss +19 -19
- package/lib/components/send-method-dialog/components/layout-selection/style/_theme.scss +17 -17
- package/lib/components/send-method-dialog/components/layout-selection/style/material.scss +4 -4
- package/lib/components/send-method-dialog/components/printer-selection/printer-selection.component.d.ts +19 -19
- package/lib/components/send-method-dialog/components/printer-selection/printer-selection.module.d.ts +2 -2
- package/lib/components/send-method-dialog/components/printer-selection/style/_layout.scss +69 -69
- package/lib/components/send-method-dialog/components/printer-selection/style/_material-definition.scss +37 -37
- package/lib/components/send-method-dialog/components/printer-selection/style/_theme.scss +23 -23
- package/lib/components/send-method-dialog/components/printer-selection/style/material.scss +4 -4
- package/lib/components/send-method-dialog/components/send-method-email/send-method-email.component.d.ts +14 -14
- package/lib/components/send-method-dialog/components/send-method-email/send-method-email.module.d.ts +2 -2
- package/lib/components/send-method-dialog/components/send-method-email/style/_layout.scss +29 -29
- package/lib/components/send-method-dialog/components/send-method-email/style/_material-definition.scss +8 -8
- package/lib/components/send-method-dialog/components/send-method-email/style/_theme.scss +5 -5
- package/lib/components/send-method-dialog/components/send-method-email/style/material.scss +4 -4
- package/lib/components/send-method-dialog/components/send-method-pdf/send-method-pdf.component.d.ts +8 -8
- package/lib/components/send-method-dialog/components/send-method-pdf/send-method-pdf.module.d.ts +2 -2
- package/lib/components/send-method-dialog/components/send-method-pdf/style/_layout.scss +25 -25
- package/lib/components/send-method-dialog/components/send-method-pdf/style/_material-definition.scss +5 -5
- package/lib/components/send-method-dialog/components/send-method-pdf/style/_theme.scss +5 -5
- package/lib/components/send-method-dialog/components/send-method-pdf/style/material.scss +4 -4
- package/lib/components/send-method-dialog/components/send-method-printer/send-method-printer.component.d.ts +13 -13
- package/lib/components/send-method-dialog/components/send-method-printer/send-method-printer.module.d.ts +2 -2
- package/lib/components/send-method-dialog/components/send-method-printer/style/_layout.scss +30 -30
- package/lib/components/send-method-dialog/components/send-method-printer/style/_material-definition.scss +5 -5
- package/lib/components/send-method-dialog/components/send-method-printer/style/_theme.scss +5 -5
- package/lib/components/send-method-dialog/components/send-method-printer/style/material.scss +4 -4
- package/lib/components/send-method-dialog/components/signature-button/signature-button.component.d.ts +12 -12
- package/lib/components/send-method-dialog/components/signature-button/signature-button.module.d.ts +2 -2
- package/lib/components/send-method-dialog/components/signature-button/style/_layout.scss +28 -28
- package/lib/components/send-method-dialog/components/signature-button/style/_material-definition.scss +8 -8
- package/lib/components/send-method-dialog/components/signature-button/style/_theme.scss +4 -4
- package/lib/components/send-method-dialog/components/signature-button/style/material.scss +4 -4
- package/lib/components/send-method-dialog/model/email-address-viewmodel.d.ts +5 -5
- package/lib/components/send-method-dialog/send-method-dialog.component.d.ts +71 -71
- package/lib/components/send-method-dialog/send-method-dialog.module.d.ts +2 -2
- package/lib/components/send-method-dialog/send-method-params.interface.d.ts +13 -13
- package/lib/components/send-method-dialog/service/send-method.service.d.ts +23 -23
- package/lib/components/send-method-dialog/style/_layout.scss +165 -165
- package/lib/components/send-method-dialog/style/_material-definition.scss +48 -48
- package/lib/components/send-method-dialog/style/_theme.scss +33 -33
- package/lib/components/send-method-dialog/style/material.scss +10 -10
- package/lib/components/simple-tags/simple-tags.component.d.ts +31 -31
- package/lib/components/simple-tags/simple-tags.module.d.ts +2 -2
- package/lib/components/simple-tags/style/_layout.scss +272 -272
- package/lib/components/simple-tags/style/_material-definition.scss +39 -39
- package/lib/components/simple-tags/style/_theme.scss +4 -4
- package/lib/components/simple-tags/style/material.scss +4 -4
- package/lib/components/statusbar/statusbar-popup.component.d.ts +21 -21
- package/lib/components/statusbar/statusbar.component.d.ts +26 -26
- package/lib/components/statusbar/statusbar.module.d.ts +2 -2
- package/lib/components/statusbar/style/_layout.scss +70 -70
- package/lib/components/statusbar/style/_material-definition.scss +23 -23
- package/lib/components/statusbar/style/_theme.scss +13 -13
- package/lib/components/statusbar/style/material.scss +5 -5
- package/lib/components/stock/components/allocation-stock-history/allocation-stock-history.component.d.ts +9 -9
- package/lib/components/stock/components/order-commission-stock-history/order-commission-stock-history.component.d.ts +9 -9
- package/lib/components/stock/components/order-stock-history/order-stock-history.component.d.ts +9 -9
- package/lib/components/stock/components/order-stock-tab/order-stock-tab.component.d.ts +11 -11
- package/lib/components/stock/components/order-supply-stock-history/order-supply-stock-history.component.d.ts +9 -9
- package/lib/components/stock/components/order-tab/order-tab.component.d.ts +20 -20
- package/lib/components/stock/components/stock-history/stock-history.component.d.ts +13 -13
- package/lib/components/stock/components/stock-location/stock-location.component.d.ts +50 -50
- package/lib/components/stock/components/stock-prognose/stock-prognose.component.d.ts +11 -11
- package/lib/components/stock/components/stock-tab/stock-tab.component.d.ts +9 -9
- package/lib/components/stock/localization/translation.d.ts +60 -60
- package/lib/components/stock/stock-history-tabs/stock-history-tabs.component.d.ts +7 -7
- package/lib/components/stock/stock-information/stock-information.component.d.ts +8 -8
- package/lib/components/stock/stock-information-grid/stock-information-grid.component.d.ts +75 -75
- package/lib/components/stock/stock-tabs/stock-tabs.component.d.ts +56 -56
- package/lib/components/stock/stock-transfer/co-drop-down-list-fields.interface.d.ts +4 -4
- package/lib/components/stock/stock-transfer/stock-change-amount.component.d.ts +18 -18
- package/lib/components/stock/stock-transfer/stock-transfer.component.d.ts +42 -42
- package/lib/components/stock/stock.component.d.ts +57 -57
- package/lib/components/stock/stock.module.d.ts +2 -2
- package/lib/components/stock/style/_layout.scss +286 -286
- package/lib/components/stock/style/_material-definition.scss +25 -25
- package/lib/components/stock/style/_theme.scss +5 -5
- package/lib/components/stock/style/material.scss +4 -4
- package/lib/components/stock-statusbar/stock-statusbar.component.d.ts +4 -4
- package/lib/components/stock-statusbar/stock-statusbar.module.d.ts +2 -2
- package/lib/components/stock-statusbar/style/_layout.scss +24 -24
- package/lib/components/stock-statusbar/style/material.scss +4 -4
- package/lib/components/tab-bar/style/_layout.scss +78 -78
- package/lib/components/tab-bar/style/_material-definition.scss +6 -6
- package/lib/components/tab-bar/style/material.scss +4 -4
- package/lib/components/tab-bar/tab-bar.component.d.ts +21 -21
- package/lib/components/tab-bar/tab-bar.module.d.ts +2 -2
- package/lib/components/tab-bar/tab.interface.d.ts +5 -5
- package/lib/components/tags/component/style/_layout.scss +67 -67
- package/lib/components/tags/component/style/_material-definition.scss +1 -1
- package/lib/components/tags/component/style/_theme.scss +8 -8
- package/lib/components/tags/component/style/material.scss +3 -3
- package/lib/components/tags/component/tag-join-label/style/_layout.scss +97 -97
- package/lib/components/tags/component/tag-join-label/style/_material-definition.scss +4 -4
- package/lib/components/tags/component/tag-join-label/style/_theme.scss +8 -8
- package/lib/components/tags/component/tag-join-label/style/material.scss +3 -3
- package/lib/components/tile-renderer/style/_layout.scss +90 -0
- package/lib/components/tile-renderer/style/_material-definition.scss +0 -0
- package/lib/components/tile-renderer/style/_theme.scss +4 -0
- package/lib/components/tile-renderer/style/material.scss +4 -0
- package/lib/components/tile-renderer/tile-render.component.d.ts +31 -0
- package/lib/components/tile-renderer/tile-render.module.d.ts +2 -0
- package/lib/decorator/input-boolean.decorator.d.ts +8 -0
- package/lib/enum/calendar-view.enum.d.ts +7 -7
- package/lib/enum/document-email-report.enum.d.ts +15 -0
- package/lib/enum/domain-multiple-name.enum.d.ts +10 -0
- package/lib/enum/file-type.d.ts +7 -0
- package/lib/enum/files-upload-config-objects.d.ts +22 -0
- package/lib/enum/gauge-color.enum.d.ts +8 -8
- package/lib/enum/icon.enum.d.ts +42 -36
- package/lib/enum/internal-param.enum.d.ts +34 -0
- package/lib/enum/keyboard-code.enum.d.ts +30 -30
- package/lib/enum/language-code.enum.d.ts +6 -6
- package/lib/enum/month.enum.d.ts +14 -14
- package/lib/enum/read-write-access-config-names.enum.d.ts +4 -0
- package/lib/enum/table-name.enum.d.ts +84 -0
- package/lib/enum/tag-category.enum.d.ts +19 -0
- package/lib/enum/tags-component-config-names.d.ts +4 -0
- package/lib/enum/thumb-three-way-state.d.ts +6 -6
- package/lib/enum/tile-size-type.d.ts +4 -0
- package/lib/enum/time-period.enum.d.ts +8 -8
- package/lib/event/co-drag-event.d.ts +5 -0
- package/lib/event/co-drop-event.d.ts +8 -0
- package/lib/interface/key-value-pair.d.ts +4 -0
- package/lib/interface/operation-callback-simple-function.d.ts +4 -0
- package/lib/localization/localization.module.d.ts +2 -2
- package/lib/localization/localize.pipe.d.ts +7 -7
- package/lib/localization/localize.service.d.ts +7 -7
- package/lib/localization/translation.d.ts +2 -2
- package/lib/model/agenda-event-per-day.model.d.ts +5 -5
- package/lib/model/agenda-event.model.d.ts +17 -17
- package/lib/model/agenda-null-objects.d.ts +10 -10
- package/lib/model/constant/all-months.d.ts +2 -2
- package/lib/model/date-range.d.ts +7 -7
- package/lib/model/day.model.d.ts +8 -8
- package/lib/model/icon-svg.d.ts +4 -4
- package/lib/model/month.model.d.ts +5 -5
- package/lib/model/send-method.d.ts +7 -7
- package/lib/model/settings.d.ts +3 -3
- package/lib/model/tag-tree-item.bo.d.ts +18 -0
- package/lib/model/time-window.bo.d.ts +13 -13
- package/lib/model/tree-object.d.ts +8 -0
- package/lib/model/week.model.d.ts +4 -4
- package/lib/model/weekday.model.d.ts +16 -16
- package/lib/pipe/array-number.pipe.d.ts +4 -4
- package/lib/pipe/file-type-image.pipe.d.ts +12 -0
- package/lib/pipe/master-pipes.d.ts +1 -1
- package/lib/pipe/ucfirst.pipe.d.ts +4 -4
- package/lib/service/dictionary.service.d.ts +21 -21
- package/lib/service/drag-drop.service.d.ts +86 -0
- package/lib/service/icon-cache.service.d.ts +18 -18
- package/lib/service/options.service.d.ts +13 -13
- package/lib/service/shared-connector.service.d.ts +55 -53
- package/lib/service/shared.service.d.ts +18 -18
- package/lib/service/stock.service.d.ts +41 -41
- package/lib/style/_mixin.scss +14 -14
- package/lib/style/_variables.scss +21 -21
- package/lib/style/sharedcomponents-globals.scss +10 -10
- package/lib/utils/array-utils.d.ts +63 -0
- package/lib/utils/calendar.utils.d.ts +10 -10
- package/lib/utils/check-precision-and-scale-result.d.ts +4 -0
- package/lib/utils/check-within-stepped-bounds-result.d.ts +8 -0
- package/lib/utils/co-document-shared-field-logic.d.ts +7 -0
- package/lib/utils/date-utils.d.ts +44 -44
- package/lib/utils/enum-utils.d.ts +31 -0
- package/lib/utils/function/not-nill.function.d.ts +1 -1
- package/lib/utils/is-nill.function.d.ts +1 -0
- package/lib/utils/map-utils.d.ts +16 -16
- package/lib/utils/number-utils.d.ts +125 -0
- package/lib/utils/object-utils.d.ts +40 -0
- package/lib/utils/ref-code-utils.d.ts +10 -0
- package/lib/utils/string-utils.d.ts +38 -22
- package/package.json +6 -6
- package/public-api.d.ts +27 -23
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import { CoDomainValue } from "@colijnit/mainapi/build/model/co-domain-value.bo";
|
|
2
|
+
import { NumberUtils } from "./number-utils";
|
|
3
|
+
import { StringUtils } from "./string-utils";
|
|
4
|
+
// @dynamic
|
|
5
|
+
export class EnumUtils {
|
|
6
|
+
// Returns a new array with all string values (not keys) of given string enum class.
|
|
7
|
+
static StringEnumToArray(clazz) {
|
|
8
|
+
const asArray = [];
|
|
9
|
+
const keys = Object.keys(clazz);
|
|
10
|
+
for (let i = 0, len = keys.length; i < len; i++) {
|
|
11
|
+
asArray.push(clazz[keys[i]]);
|
|
12
|
+
}
|
|
13
|
+
return asArray;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Returns a single string representation of given string enum class
|
|
17
|
+
* @param clazz
|
|
18
|
+
* @returns {string} eg "input-lov-slideout, financial-customer-group-select" for a given clazz of InputLovSlideoutComponentSelectors
|
|
19
|
+
*/
|
|
20
|
+
static StringEnumToSingleString(clazz) {
|
|
21
|
+
return StringEnumToSingleString(clazz);
|
|
22
|
+
}
|
|
23
|
+
// Get the number values from an enum
|
|
24
|
+
static GetNumberEnumValues(numberEnumClass) {
|
|
25
|
+
return this.GetObjValues(numberEnumClass).filter(value => NumberUtils.IsNumber(value));
|
|
26
|
+
}
|
|
27
|
+
// Get the the property object value names in string format from the enum
|
|
28
|
+
static GetStringEnumValues(stringEnumClass) {
|
|
29
|
+
return this.GetObjValues(stringEnumClass).filter(value => StringUtils.IsString(value));
|
|
30
|
+
}
|
|
31
|
+
static GetObjValues(numberEnumClass) {
|
|
32
|
+
return Object.keys(numberEnumClass).map(key => numberEnumClass[key]);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Returns the enum in object format to make handling easier
|
|
36
|
+
* Works for Enums with the following format:
|
|
37
|
+
* foo: 1
|
|
38
|
+
* bar: 2
|
|
39
|
+
* etc...
|
|
40
|
+
* @param enumClass
|
|
41
|
+
* @returns {Object}
|
|
42
|
+
*/
|
|
43
|
+
static createObjectFromEnum(enumClass) {
|
|
44
|
+
// const objectifiedEnum: { refNumber: number; name: string }[] = [];
|
|
45
|
+
const objectifiedEnum = [];
|
|
46
|
+
for (const enumItem in enumClass) {
|
|
47
|
+
if (typeof enumClass[enumItem] === "number") {
|
|
48
|
+
objectifiedEnum.push({ key: enumClass[enumItem], value: enumItem });
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return objectifiedEnum;
|
|
52
|
+
}
|
|
53
|
+
static getStringEnumKeysArray(enumType) {
|
|
54
|
+
const members = Object.keys(enumType);
|
|
55
|
+
if (!EnumUtils.isNumeral(enumType)) {
|
|
56
|
+
return members;
|
|
57
|
+
}
|
|
58
|
+
const keys = [];
|
|
59
|
+
members.forEach((x) => {
|
|
60
|
+
const parsedValue = parseInt(x, 10);
|
|
61
|
+
if (Number.isNaN(parsedValue)) {
|
|
62
|
+
keys.push(x);
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
return keys;
|
|
66
|
+
}
|
|
67
|
+
static buildPromiseDomainValueListFromEnumClass(enumClass, dictionary, keysAsDescription = false) {
|
|
68
|
+
return new Promise((resolve, reject) => {
|
|
69
|
+
try {
|
|
70
|
+
resolve(EnumUtils.buildDomainValueListFromEnumClass(enumClass, dictionary, keysAsDescription));
|
|
71
|
+
}
|
|
72
|
+
catch (e) {
|
|
73
|
+
reject();
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
static buildDomainValueListFromEnumClass(enumClass, dictionary, keysAsDescription = false) {
|
|
78
|
+
const collection = [];
|
|
79
|
+
if (keysAsDescription) {
|
|
80
|
+
const enumKeys = EnumUtils.getStringEnumKeysArray(enumClass);
|
|
81
|
+
enumKeys.forEach((key, index) => {
|
|
82
|
+
const domainObjectForLov = new CoDomainValue();
|
|
83
|
+
domainObjectForLov.code = enumClass[key];
|
|
84
|
+
domainObjectForLov.description = dictionary.get(key);
|
|
85
|
+
domainObjectForLov.sequence = index;
|
|
86
|
+
collection.push(domainObjectForLov);
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
EnumUtils.StringEnumToArray(enumClass).forEach((strEnumVal, index) => {
|
|
91
|
+
const domainObjectForLov = new CoDomainValue();
|
|
92
|
+
domainObjectForLov.code = strEnumVal;
|
|
93
|
+
domainObjectForLov.description = dictionary.get(strEnumVal);
|
|
94
|
+
domainObjectForLov.sequence = index;
|
|
95
|
+
collection.push(domainObjectForLov);
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
return collection;
|
|
99
|
+
}
|
|
100
|
+
static getKeyByValue(enumType, enumValue) {
|
|
101
|
+
return Object.keys(enumType)[Object.values(enumType).indexOf(enumValue)];
|
|
102
|
+
}
|
|
103
|
+
static isNumeral(enumType) {
|
|
104
|
+
const members = Object.keys(enumType);
|
|
105
|
+
if (!members.some((x) => true)) {
|
|
106
|
+
throw new TypeError("Invalid enumeration type.");
|
|
107
|
+
}
|
|
108
|
+
let parsedCount = 0;
|
|
109
|
+
members.forEach((x) => {
|
|
110
|
+
const parsedValue = parseInt(x, 10);
|
|
111
|
+
if (!Number.isNaN(parsedValue)) {
|
|
112
|
+
parsedCount++;
|
|
113
|
+
}
|
|
114
|
+
});
|
|
115
|
+
return parsedCount === members.length / 2;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
// Outside the class because it's used to generate component selectors, and aot can't call statics.
|
|
119
|
+
export function StringEnumToSingleString(clazz) {
|
|
120
|
+
let str = "";
|
|
121
|
+
const keys = Object.keys(clazz);
|
|
122
|
+
for (let i = 0, len = keys.length; i < len; i++) {
|
|
123
|
+
str += clazz[keys[i]] + ", ";
|
|
124
|
+
}
|
|
125
|
+
str = StringUtils.RemoveLastChars(str, 2);
|
|
126
|
+
return str;
|
|
127
|
+
}
|
|
128
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bS11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi91dGlscy9lbnVtLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxrREFBa0QsQ0FBQztBQUMvRSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLFdBQVc7QUFDWCxNQUFNLE9BQU8sU0FBUztJQUNsQixvRkFBb0Y7SUFDN0UsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEtBQVU7UUFDdEMsTUFBTSxPQUFPLEdBQVUsRUFBRSxDQUFDO1FBRTFCLE1BQU0sSUFBSSxHQUFhLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUMsS0FBSyxJQUFJLENBQUMsR0FBVyxDQUFDLEVBQUUsR0FBRyxHQUFXLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUM3RCxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2hDO1FBRUQsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsd0JBQXdCLENBQUMsS0FBVTtRQUM3QyxPQUFPLHdCQUF3QixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxxQ0FBcUM7SUFDOUIsTUFBTSxDQUFDLG1CQUFtQixDQUFDLGVBQW9CO1FBQ2xELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEtBQUss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QUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNsQixNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3BDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxFQUFFO2dCQUM1QixXQUFXLEVBQUUsQ0FBQzthQUNqQjtRQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxXQUFXLEtBQUssT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDOUMsQ0FBQztDQUVKO0FBRUQsbUdBQW1HO0FBQ25HLE1BQU0sVUFBVSx3QkFBd0IsQ0FBQyxLQUFVO0lBQy9DLElBQUksR0FBRyxHQUFXLEVBQUUsQ0FBQztJQUVyQixNQUFNLElBQUksR0FBYSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFDLEtBQUssSUFBSSxDQUFDLEdBQVcsQ0FBQyxFQUFFLEdBQUcsR0FBVyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDN0QsR0FBRyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUM7S0FDaEM7SUFFRCxHQUFHLEdBQUcsV0FBVyxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDMUMsT0FBTyxHQUFHLENBQUM7QUFDZixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gU3RhdGljIHV0aWxpdHkgZnVuY3Rpb24gaG9sZGVyIHJlbGF0ZWQgdG8gZW51bXMuXG5pbXBvcnQge0tleVZhbHVlUGFpcn0gZnJvbSBcIi4uL2ludGVyZmFjZS9rZXktdmFsdWUtcGFpclwiO1xuaW1wb3J0IHtDb0RvbWFpblZhbHVlfSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvY28tZG9tYWluLXZhbHVlLmJvXCI7XG5pbXBvcnQge051bWJlclV0aWxzfSBmcm9tIFwiLi9udW1iZXItdXRpbHNcIjtcbmltcG9ydCB7U3RyaW5nVXRpbHN9IGZyb20gXCIuL3N0cmluZy11dGlsc1wiO1xuaW1wb3J0IHtEaWN0aW9uYXJ5U2VydmljZX0gZnJvbSBcIi4uL3NlcnZpY2UvZGljdGlvbmFyeS5zZXJ2aWNlXCI7XG4vLyBAZHluYW1pY1xuZXhwb3J0IGNsYXNzIEVudW1VdGlscyB7XG4gICAgLy8gUmV0dXJucyBhIG5ldyBhcnJheSB3aXRoIGFsbCBzdHJpbmcgdmFsdWVzIChub3Qga2V5cykgb2YgZ2l2ZW4gc3RyaW5nIGVudW0gY2xhc3MuXG4gICAgcHVibGljIHN0YXRpYyBTdHJpbmdFbnVtVG9BcnJheShjbGF6ejogYW55KTogc3RyaW5nW10ge1xuICAgICAgICBjb25zdCBhc0FycmF5OiBhbnlbXSA9IFtdO1xuXG4gICAgICAgIGNvbnN0IGtleXM6IHN0cmluZ1tdID0gT2JqZWN0LmtleXMoY2xhenopO1xuICAgICAgICBmb3IgKGxldCBpOiBudW1iZXIgPSAwLCBsZW46IG51bWJlciA9IGtleXMubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgICAgICAgIGFzQXJyYXkucHVzaChjbGF6eltrZXlzW2ldXSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYXNBcnJheTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGEgc2luZ2xlIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBnaXZlbiBzdHJpbmcgZW51bSBjbGFzc1xuICAgICAqIEBwYXJhbSBjbGF6elxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IGVnIFwiaW5wdXQtbG92LXNsaWRlb3V0LCBmaW5hbmNpYWwtY3VzdG9tZXItZ3JvdXAtc2VsZWN0XCIgZm9yIGEgZ2l2ZW4gY2xhenogb2YgSW5wdXRMb3ZTbGlkZW91dENvbXBvbmVudFNlbGVjdG9yc1xuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgU3RyaW5nRW51bVRvU2luZ2xlU3RyaW5nKGNsYXp6OiBhbnkpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gU3RyaW5nRW51bVRvU2luZ2xlU3RyaW5nKGNsYXp6KTtcbiAgICB9XG5cbiAgICAvLyBHZXQgdGhlIG51bWJlciB2YWx1ZXMgZnJvbSBhbiBlbnVtXG4gICAgcHVibGljIHN0YXRpYyBHZXROdW1iZXJFbnVtVmFsdWVzKG51bWJlckVudW1DbGFzczogYW55KTogYW55W10ge1xuICAgICAgICByZXR1cm4gdGhpcy5HZXRPYmpWYWx1ZXMobnVtYmVyRW51bUNsYXNzKS5maWx0ZXIodmFsdWUgPT4gTnVtYmVyVXRpbHMuSXNOdW1iZXIodmFsdWUpKTtcbiAgICB9XG5cbiAgICAvLyBHZXQgdGhlIHRoZSBwcm9wZXJ0eSBvYmplY3QgdmFsdWUgbmFtZXMgaW4gc3RyaW5nIGZvcm1hdCBmcm9tIHRoZSBlbnVtXG4gICAgcHVibGljIHN0YXRpYyBHZXRTdHJpbmdFbnVtVmFsdWVzKHN0cmluZ0VudW1DbGFzczogYW55KTogYW55W10ge1xuICAgICAgICByZXR1cm4gdGhpcy5HZXRPYmpWYWx1ZXMoc3RyaW5nRW51bUNsYXNzKS5maWx0ZXIodmFsdWUgPT4gU3RyaW5nVXRpbHMuSXNTdHJpbmcodmFsdWUpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIEdldE9ialZhbHVlcyhudW1iZXJFbnVtQ2xhc3M6IGFueSk6IChudW1iZXIgfCBzdHJpbmcpW10ge1xuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMobnVtYmVyRW51bUNsYXNzKS5tYXAoa2V5ID0+IG51bWJlckVudW1DbGFzc1trZXldKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSBlbnVtIGluIG9iamVjdCBmb3JtYXQgdG8gbWFrZSBoYW5kbGluZyBlYXNpZXJcbiAgICAgKiBXb3JrcyBmb3IgRW51bXMgd2l0aCB0aGUgZm9sbG93aW5nIGZvcm1hdDpcbiAgICAgKiBmb286IDFcbiAgICAgKiBiYXI6IDJcbiAgICAgKiBldGMuLi5cbiAgICAgKiBAcGFyYW0gZW51bUNsYXNzXG4gICAgICogQHJldHVybnMge09iamVjdH1cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGNyZWF0ZU9iamVjdEZyb21FbnVtKGVudW1DbGFzczogYW55KTogS2V5VmFsdWVQYWlyW10ge1xuICAgICAgIC8vIGNvbnN0IG9iamVjdGlmaWVkRW51bTogeyByZWZOdW1iZXI6IG51bWJlcjsgbmFtZTogc3RyaW5nIH1bXSA9IFtdO1xuICAgICAgICBjb25zdCBvYmplY3RpZmllZEVudW06IEtleVZhbHVlUGFpcltdID0gW107XG5cbiAgICAgICAgZm9yIChjb25zdCBlbnVtSXRlbSBpbiBlbnVtQ2xhc3MpIHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgZW51bUNsYXNzW2VudW1JdGVtXSA9PT0gXCJudW1iZXJcIikge1xuICAgICAgICAgICAgICAgIG9iamVjdGlmaWVkRW51bS5wdXNoKHtrZXk6IDxudW1iZXI+ZW51bUNsYXNzW2VudW1JdGVtXSwgdmFsdWU6IGVudW1JdGVtfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gb2JqZWN0aWZpZWRFbnVtO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0U3RyaW5nRW51bUtleXNBcnJheShlbnVtVHlwZTogb2JqZWN0KTogc3RyaW5nW10ge1xuICAgICAgICBjb25zdCBtZW1iZXJzID0gT2JqZWN0LmtleXMoZW51bVR5cGUpO1xuICAgICAgICBpZiAoIUVudW1VdGlscy5pc051bWVyYWwoZW51bVR5cGUpKSB7XG4gICAgICAgICAgICByZXR1cm4gbWVtYmVycztcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGtleXM6IHN0cmluZ1tdID0gW107XG4gICAgICAgIG1lbWJlcnMuZm9yRWFjaCgoeCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcGFyc2VkVmFsdWUgPSBwYXJzZUludCh4LCAxMCk7XG4gICAgICAgICAgICBpZiAoTnVtYmVyLmlzTmFOKHBhcnNlZFZhbHVlKSkge1xuICAgICAgICAgICAgICAgIGtleXMucHVzaCh4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBrZXlzO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgIGJ1aWxkUHJvbWlzZURvbWFpblZhbHVlTGlzdEZyb21FbnVtQ2xhc3MoZW51bUNsYXNzOiBhbnksIGRpY3Rpb25hcnk6IERpY3Rpb25hcnlTZXJ2aWNlLCBrZXlzQXNEZXNjcmlwdGlvbjogYm9vbGVhbiA9IGZhbHNlKTogUHJvbWlzZTxDb0RvbWFpblZhbHVlW10+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgcmVzb2x2ZShFbnVtVXRpbHMuYnVpbGREb21haW5WYWx1ZUxpc3RGcm9tRW51bUNsYXNzKGVudW1DbGFzcywgZGljdGlvbmFyeSwga2V5c0FzRGVzY3JpcHRpb24pKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICByZWplY3QoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBidWlsZERvbWFpblZhbHVlTGlzdEZyb21FbnVtQ2xhc3MoZW51bUNsYXNzOiBhbnksIGRpY3Rpb25hcnk6IERpY3Rpb25hcnlTZXJ2aWNlLCBrZXlzQXNEZXNjcmlwdGlvbjogYm9vbGVhbiA9IGZhbHNlKTogQ29Eb21haW5WYWx1ZVtdIHtcbiAgICAgICAgY29uc3QgY29sbGVjdGlvbjogQ29Eb21haW5WYWx1ZVtdID0gW107XG5cbiAgICAgICAgaWYgKGtleXNBc0Rlc2NyaXB0aW9uKSB7XG4gICAgICAgICAgICBjb25zdCBlbnVtS2V5czogc3RyaW5nW10gPSBFbnVtVXRpbHMuZ2V0U3RyaW5nRW51bUtleXNBcnJheShlbnVtQ2xhc3MpO1xuICAgICAgICAgICAgZW51bUtleXMuZm9yRWFjaCgoa2V5OiBzdHJpbmcsIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBkb21haW5PYmplY3RGb3JMb3Y6IENvRG9tYWluVmFsdWUgPSBuZXcgQ29Eb21haW5WYWx1ZSgpO1xuICAgICAgICAgICAgICAgIGRvbWFpbk9iamVjdEZvckxvdi5jb2RlID0gZW51bUNsYXNzW2tleV07XG4gICAgICAgICAgICAgICAgZG9tYWluT2JqZWN0Rm9yTG92LmRlc2NyaXB0aW9uID0gZGljdGlvbmFyeS5nZXQoa2V5KTtcbiAgICAgICAgICAgICAgICBkb21haW5PYmplY3RGb3JMb3Yuc2VxdWVuY2UgPSBpbmRleDtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uLnB1c2goZG9tYWluT2JqZWN0Rm9yTG92KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgRW51bVV0aWxzLlN0cmluZ0VudW1Ub0FycmF5KGVudW1DbGFzcykuZm9yRWFjaCgoc3RyRW51bVZhbDogc3RyaW5nLCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZG9tYWluT2JqZWN0Rm9yTG92OiBDb0RvbWFpblZhbHVlID0gbmV3IENvRG9tYWluVmFsdWUoKTtcbiAgICAgICAgICAgICAgICBkb21haW5PYmplY3RGb3JMb3YuY29kZSA9IHN0ckVudW1WYWw7XG4gICAgICAgICAgICAgICAgZG9tYWluT2JqZWN0Rm9yTG92LmRlc2NyaXB0aW9uID0gZGljdGlvbmFyeS5nZXQoc3RyRW51bVZhbCk7XG4gICAgICAgICAgICAgICAgZG9tYWluT2JqZWN0Rm9yTG92LnNlcXVlbmNlID0gaW5kZXg7XG4gICAgICAgICAgICAgICAgY29sbGVjdGlvbi5wdXNoKGRvbWFpbk9iamVjdEZvckxvdik7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjb2xsZWN0aW9uO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0S2V5QnlWYWx1ZShlbnVtVHlwZTogb2JqZWN0LCBlbnVtVmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBPYmplY3Qua2V5cyhlbnVtVHlwZSlbT2JqZWN0LnZhbHVlcyhlbnVtVHlwZSkuaW5kZXhPZihlbnVtVmFsdWUpXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyBpc051bWVyYWwoZW51bVR5cGU6IG9iamVjdCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBtZW1iZXJzID0gT2JqZWN0LmtleXMoZW51bVR5cGUpO1xuICAgICAgICBpZiAoIW1lbWJlcnMuc29tZSgoeCkgPT4gdHJ1ZSkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJJbnZhbGlkIGVudW1lcmF0aW9uIHR5cGUuXCIpO1xuICAgICAgICB9XG4gICAgICAgIGxldCBwYXJzZWRDb3VudCA9IDA7XG4gICAgICAgIG1lbWJlcnMuZm9yRWFjaCgoeCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcGFyc2VkVmFsdWUgPSBwYXJzZUludCh4LCAxMCk7XG4gICAgICAgICAgICBpZiAoIU51bWJlci5pc05hTihwYXJzZWRWYWx1ZSkpIHtcbiAgICAgICAgICAgICAgICBwYXJzZWRDb3VudCsrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHBhcnNlZENvdW50ID09PSBtZW1iZXJzLmxlbmd0aCAvIDI7XG4gICAgfVxuXG59XG5cbi8vIE91dHNpZGUgdGhlIGNsYXNzIGJlY2F1c2UgaXQncyB1c2VkIHRvIGdlbmVyYXRlIGNvbXBvbmVudCBzZWxlY3RvcnMsIGFuZCBhb3QgY2FuJ3QgY2FsbCBzdGF0aWNzLlxuZXhwb3J0IGZ1bmN0aW9uIFN0cmluZ0VudW1Ub1NpbmdsZVN0cmluZyhjbGF6ejogYW55KTogc3RyaW5nIHtcbiAgICBsZXQgc3RyOiBzdHJpbmcgPSBcIlwiO1xuXG4gICAgY29uc3Qga2V5czogc3RyaW5nW10gPSBPYmplY3Qua2V5cyhjbGF6eik7XG4gICAgZm9yIChsZXQgaTogbnVtYmVyID0gMCwgbGVuOiBudW1iZXIgPSBrZXlzLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICAgIHN0ciArPSBjbGF6eltrZXlzW2ldXSArIFwiLCBcIjtcbiAgICB9XG5cbiAgICBzdHIgPSBTdHJpbmdVdGlscy5SZW1vdmVMYXN0Q2hhcnMoc3RyLCAyKTtcbiAgICByZXR1cm4gc3RyO1xufVxuIl19
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
// @returns true iff given value does not equals null and does not equal undefined
|
|
2
|
-
export function notNill(value) {
|
|
3
|
-
return value !== null && value !== undefined;
|
|
4
|
-
}
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
// @returns true iff given value does not equals null and does not equal undefined
|
|
2
|
+
export function notNill(value) {
|
|
3
|
+
return value !== null && value !== undefined;
|
|
4
|
+
}
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90LW5pbGwuZnVuY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvdXRpbHMvZnVuY3Rpb24vbm90LW5pbGwuZnVuY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsa0ZBQWtGO0FBQ2xGLE1BQU0sVUFBVSxPQUFPLENBQUMsS0FBVTtJQUM5QixPQUFPLEtBQUssS0FBSyxJQUFJLElBQUksS0FBSyxLQUFLLFNBQVMsQ0FBQztBQUNqRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHJldHVybnMgdHJ1ZSBpZmYgZ2l2ZW4gdmFsdWUgZG9lcyBub3QgZXF1YWxzIG51bGwgYW5kIGRvZXMgbm90IGVxdWFsIHVuZGVmaW5lZFxuZXhwb3J0IGZ1bmN0aW9uIG5vdE5pbGwodmFsdWU6IGFueSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZSAhPT0gdW5kZWZpbmVkO1xufVxuIl19
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
// @returns true iff given value equals null or equals undefined
|
|
2
|
+
export function isNill(value) {
|
|
3
|
+
return value === null || value === undefined;
|
|
4
|
+
}
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtbmlsbC5mdW5jdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi91dGlscy9pcy1uaWxsLmZ1bmN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdFQUFnRTtBQUNoRSxNQUFNLFVBQVUsTUFBTSxDQUFDLEtBQVU7SUFDN0IsT0FBTyxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxTQUFTLENBQUM7QUFDakQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEByZXR1cm5zIHRydWUgaWZmIGdpdmVuIHZhbHVlIGVxdWFscyBudWxsIG9yIGVxdWFscyB1bmRlZmluZWRcbmV4cG9ydCBmdW5jdGlvbiBpc05pbGwodmFsdWU6IGFueSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkO1xufSJdfQ==
|
|
@@ -1,41 +1,41 @@
|
|
|
1
|
-
// Static utility functions holder related to Maps.
|
|
2
|
-
export class MapUtils {
|
|
3
|
-
/**
|
|
4
|
-
* Returns the first key from given map, for which the value filter holds true. Basically a reverse Map.get(key) function.
|
|
5
|
-
* @param map
|
|
6
|
-
* @param valueFilter For the first value that returns true for this filter functions, its key will be returned.
|
|
7
|
-
*/
|
|
8
|
-
static FindKeyByValue(map, valueFilter) {
|
|
9
|
-
if (!map || !valueFilter) {
|
|
10
|
-
return undefined;
|
|
11
|
-
}
|
|
12
|
-
let foundKey = undefined;
|
|
13
|
-
let keyWasFound = false;
|
|
14
|
-
map.forEach((value, key) => {
|
|
15
|
-
if (!keyWasFound && valueFilter.call(this, value)) {
|
|
16
|
-
foundKey = key;
|
|
17
|
-
keyWasFound = true;
|
|
18
|
-
}
|
|
19
|
-
});
|
|
20
|
-
return foundKey;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Inserts given arrayEntry into given map, under given mapKey. What's special here, is that a NEW map entry is created with an array
|
|
24
|
-
* containing the single [arrayEntry] item, if no entry yet existed.
|
|
25
|
-
* @param map
|
|
26
|
-
* @param mapKey
|
|
27
|
-
* @param arrayEntry
|
|
28
|
-
*/
|
|
29
|
-
static InsertArrayItemIntoMap(map, mapKey, arrayEntry) {
|
|
30
|
-
if (!map) {
|
|
31
|
-
return;
|
|
32
|
-
}
|
|
33
|
-
if (!map.has(mapKey)) {
|
|
34
|
-
map.set(mapKey, [arrayEntry]);
|
|
35
|
-
}
|
|
36
|
-
else {
|
|
37
|
-
map.get(mapKey).push(arrayEntry);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
// Static utility functions holder related to Maps.
|
|
2
|
+
export class MapUtils {
|
|
3
|
+
/**
|
|
4
|
+
* Returns the first key from given map, for which the value filter holds true. Basically a reverse Map.get(key) function.
|
|
5
|
+
* @param map
|
|
6
|
+
* @param valueFilter For the first value that returns true for this filter functions, its key will be returned.
|
|
7
|
+
*/
|
|
8
|
+
static FindKeyByValue(map, valueFilter) {
|
|
9
|
+
if (!map || !valueFilter) {
|
|
10
|
+
return undefined;
|
|
11
|
+
}
|
|
12
|
+
let foundKey = undefined;
|
|
13
|
+
let keyWasFound = false;
|
|
14
|
+
map.forEach((value, key) => {
|
|
15
|
+
if (!keyWasFound && valueFilter.call(this, value)) {
|
|
16
|
+
foundKey = key;
|
|
17
|
+
keyWasFound = true;
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
return foundKey;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Inserts given arrayEntry into given map, under given mapKey. What's special here, is that a NEW map entry is created with an array
|
|
24
|
+
* containing the single [arrayEntry] item, if no entry yet existed.
|
|
25
|
+
* @param map
|
|
26
|
+
* @param mapKey
|
|
27
|
+
* @param arrayEntry
|
|
28
|
+
*/
|
|
29
|
+
static InsertArrayItemIntoMap(map, mapKey, arrayEntry) {
|
|
30
|
+
if (!map) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
if (!map.has(mapKey)) {
|
|
34
|
+
map.set(mapKey, [arrayEntry]);
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
map.get(mapKey).push(arrayEntry);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL3V0aWxzL21hcC11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxtREFBbUQ7QUFDbkQsTUFBTSxPQUFPLFFBQVE7SUFFakI7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQyxjQUFjLENBQU8sR0FBYyxFQUFFLFdBQWtDO1FBRWpGLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDdEIsT0FBTyxTQUFTLENBQUM7U0FDcEI7UUFFRCxJQUFJLFFBQVEsR0FBTSxTQUFTLENBQUM7UUFDNUIsSUFBSSxXQUFXLEdBQVksS0FBSyxDQUFDO1FBQ2pDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFRLEVBQUUsR0FBTSxFQUFFLEVBQUU7WUFDN0IsSUFBSSxDQUFDLFdBQVcsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsRUFBRTtnQkFDL0MsUUFBUSxHQUFHLEdBQUcsQ0FBQztnQkFDZixXQUFXLEdBQUcsSUFBSSxDQUFDO2FBQ3RCO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksTUFBTSxDQUFDLHNCQUFzQixDQUFDLEdBQWtCLEVBQUUsTUFBVyxFQUFFLFVBQWU7UUFDakYsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNOLE9BQU87U0FDVjtRQUVELElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ2xCLEdBQUcsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztTQUNqQzthQUFNO1lBQ0gsR0FBRyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDcEM7SUFDTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTdGF0aWMgdXRpbGl0eSBmdW5jdGlvbnMgaG9sZGVyIHJlbGF0ZWQgdG8gTWFwcy5cbmV4cG9ydCBjbGFzcyBNYXBVdGlscyB7XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSBmaXJzdCBrZXkgZnJvbSBnaXZlbiBtYXAsIGZvciB3aGljaCB0aGUgdmFsdWUgZmlsdGVyIGhvbGRzIHRydWUuIEJhc2ljYWxseSBhIHJldmVyc2UgTWFwLmdldChrZXkpIGZ1bmN0aW9uLlxuICAgICAqIEBwYXJhbSBtYXBcbiAgICAgKiBAcGFyYW0gdmFsdWVGaWx0ZXIgRm9yIHRoZSBmaXJzdCB2YWx1ZSB0aGF0IHJldHVybnMgdHJ1ZSBmb3IgdGhpcyBmaWx0ZXIgZnVuY3Rpb25zLCBpdHMga2V5IHdpbGwgYmUgcmV0dXJuZWQuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBGaW5kS2V5QnlWYWx1ZTxLLCBWPihtYXA6IE1hcDxLLCBWPiwgdmFsdWVGaWx0ZXI6ICh2YWx1ZTogVikgPT4gYm9vbGVhbik6IEsge1xuXG4gICAgICAgIGlmICghbWFwIHx8ICF2YWx1ZUZpbHRlcikge1xuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBmb3VuZEtleTogSyA9IHVuZGVmaW5lZDtcbiAgICAgICAgbGV0IGtleVdhc0ZvdW5kOiBib29sZWFuID0gZmFsc2U7XG4gICAgICAgIG1hcC5mb3JFYWNoKCh2YWx1ZTogViwga2V5OiBLKSA9PiB7XG4gICAgICAgICAgICBpZiAoIWtleVdhc0ZvdW5kICYmIHZhbHVlRmlsdGVyLmNhbGwodGhpcywgdmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgZm91bmRLZXkgPSBrZXk7XG4gICAgICAgICAgICAgICAga2V5V2FzRm91bmQgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGZvdW5kS2V5O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEluc2VydHMgZ2l2ZW4gYXJyYXlFbnRyeSBpbnRvIGdpdmVuIG1hcCwgdW5kZXIgZ2l2ZW4gbWFwS2V5LiBXaGF0J3Mgc3BlY2lhbCBoZXJlLCBpcyB0aGF0IGEgTkVXIG1hcCBlbnRyeSBpcyBjcmVhdGVkIHdpdGggYW4gYXJyYXlcbiAgICAgKiBjb250YWluaW5nIHRoZSBzaW5nbGUgW2FycmF5RW50cnldIGl0ZW0sIGlmIG5vIGVudHJ5IHlldCBleGlzdGVkLlxuICAgICAqIEBwYXJhbSBtYXBcbiAgICAgKiBAcGFyYW0gbWFwS2V5XG4gICAgICogQHBhcmFtIGFycmF5RW50cnlcbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIEluc2VydEFycmF5SXRlbUludG9NYXAobWFwOiBNYXA8YW55LCBhbnk+LCBtYXBLZXk6IGFueSwgYXJyYXlFbnRyeTogYW55KTogdm9pZCB7XG4gICAgICAgIGlmICghbWFwKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIW1hcC5oYXMobWFwS2V5KSkge1xuICAgICAgICAgICAgbWFwLnNldChtYXBLZXksIFthcnJheUVudHJ5XSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBtYXAuZ2V0KG1hcEtleSkucHVzaChhcnJheUVudHJ5KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|