@colijnit/corecomponents_v12 12.2.26 → 12.2.27
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/bundles/colijnit-corecomponents_v12.umd.js +13684 -13680
- package/bundles/colijnit-corecomponents_v12.umd.js.map +1 -1
- package/colijnit-corecomponents_v12.d.ts +43 -43
- package/colijnit-corecomponents_v12.metadata.json +1 -1
- package/esm2015/colijnit-corecomponents_v12.js +43 -43
- package/esm2015/lib/components/article-tile/article-tile.component.js +49 -49
- package/esm2015/lib/components/article-tile/article-tile.module.js +34 -34
- package/esm2015/lib/components/base/base-input.component.js +833 -833
- package/esm2015/lib/components/base/base.module.js +21 -21
- package/esm2015/lib/components/base/commit-buttons/commit-buttons.component.js +85 -85
- package/esm2015/lib/components/base/commit-buttons/commit-buttons.module.js +20 -20
- package/esm2015/lib/components/base/dialog-base.component.js +5 -5
- package/esm2015/lib/components/base-input-date-picker/base-input-date-picker.directive.js +24 -24
- package/esm2015/lib/components/button/button.component.js +73 -73
- package/esm2015/lib/components/button/button.module.js +18 -18
- package/esm2015/lib/components/calendar/calendar-template.component.js +281 -281
- package/esm2015/lib/components/calendar/calendar.component.js +32 -32
- package/esm2015/lib/components/calendar/calendar.module.js +27 -27
- package/esm2015/lib/components/card/card.component.js +50 -50
- package/esm2015/lib/components/card/card.module.js +34 -34
- package/esm2015/lib/components/carousel/carousel.component.js +109 -109
- package/esm2015/lib/components/carousel/carousel.module.js +31 -31
- package/esm2015/lib/components/carousel-3d/carousel-3d.component.js +293 -293
- package/esm2015/lib/components/carousel-3d/carousel-3d.module.js +18 -18
- package/esm2015/lib/components/carousel-3d/carouselItem.js +53 -53
- package/esm2015/lib/components/checkmark-overlay/checkmark-overlay.component.js +72 -72
- package/esm2015/lib/components/checkmark-overlay/checkmark-overlay.module.js +18 -18
- package/esm2015/lib/components/co-dialog/co-dialog.component.js +91 -91
- package/esm2015/lib/components/co-dialog/co-dialog.module.js +18 -18
- package/esm2015/lib/components/co-dialog-wizard/co-dialog-wizard.component.js +35 -35
- package/esm2015/lib/components/co-dialog-wizard/co-dialog-wizard.module.js +16 -16
- package/esm2015/lib/components/collapsible/collapsible.component.js +67 -67
- package/esm2015/lib/components/collapsible/collapsible.module.js +18 -18
- package/esm2015/lib/components/color-picker/color-picker.component.js +33 -33
- package/esm2015/lib/components/color-picker/color-picker.module.js +20 -20
- package/esm2015/lib/components/core-dialog/confirmation-dialog/confirmation-dialog.component.js +46 -46
- package/esm2015/lib/components/core-dialog/core-dialog.module.js +38 -38
- package/esm2015/lib/components/core-dialog/core-dialog.service.js +66 -66
- package/esm2015/lib/components/core-dialog/core-dynamic-component.service.js +92 -92
- package/esm2015/lib/components/double-calendar/double-calendar.component.js +62 -62
- package/esm2015/lib/components/double-calendar/double-calendar.module.js +24 -24
- package/esm2015/lib/components/filter-item/filter-item-viewmodel.js +12 -12
- package/esm2015/lib/components/filter-item/filter-item.component.js +496 -496
- package/esm2015/lib/components/filter-item/filter-item.module.js +42 -42
- package/esm2015/lib/components/filter-item/filter-viewmodel.js +10 -10
- package/esm2015/lib/components/form/form.component.js +181 -181
- package/esm2015/lib/components/form/form.module.js +22 -22
- package/esm2015/lib/components/grid-toolbar/grid-toolbar.component.js +48 -48
- package/esm2015/lib/components/grid-toolbar/grid-toolbar.module.js +22 -22
- package/esm2015/lib/components/grid-toolbar-button/grid-toolbar-button.component.js +23 -23
- package/esm2015/lib/components/grid-toolbar-button/grid-toolbar-button.module.js +18 -18
- package/esm2015/lib/components/icon/icon-cache.service.js +51 -51
- package/esm2015/lib/components/icon/icon.component.js +47 -47
- package/esm2015/lib/components/icon/icon.module.js +24 -24
- package/esm2015/lib/components/icon-collapse-handle/icon-collapse-handle.component.js +56 -56
- package/esm2015/lib/components/icon-collapse-handle/icon-collapse-handle.module.js +22 -22
- package/esm2015/lib/components/image/image.component.js +31 -31
- package/esm2015/lib/components/image/image.module.js +13 -13
- package/esm2015/lib/components/input-checkbox/input-checkbox.component.js +71 -71
- package/esm2015/lib/components/input-checkbox/input-checkbox.module.js +18 -18
- package/esm2015/lib/components/input-date-picker/input-date-picker.component.js +74 -74
- package/esm2015/lib/components/input-date-picker/input-date-picker.module.js +25 -25
- package/esm2015/lib/components/input-date-range-picker/input-date-range-picker.component.js +107 -107
- package/esm2015/lib/components/input-date-range-picker/input-date-range-picker.module.js +26 -26
- package/esm2015/lib/components/input-number-picker/input-number-picker.component.js +285 -285
- package/esm2015/lib/components/input-number-picker/input-number-picker.module.js +22 -22
- package/esm2015/lib/components/input-radio-button/input-radio-button.component.js +77 -77
- package/esm2015/lib/components/input-radio-button/input-radio-button.module.js +18 -18
- package/esm2015/lib/components/input-scanner/bar-code-scanner.js +22 -22
- package/esm2015/lib/components/input-scanner/input-scanner.component.js +56 -56
- package/esm2015/lib/components/input-scanner/input-scanner.module.js +20 -20
- package/esm2015/lib/components/input-scanner/scanner.service.js +27 -27
- package/esm2015/lib/components/input-search/input-search.component.js +67 -63
- package/esm2015/lib/components/input-search/input-search.module.js +20 -20
- package/esm2015/lib/components/input-text/input-text.component.js +192 -192
- package/esm2015/lib/components/input-text/input-text.module.js +32 -32
- package/esm2015/lib/components/input-textarea/input-textarea.component.js +55 -55
- package/esm2015/lib/components/input-textarea/input-textarea.module.js +26 -26
- package/esm2015/lib/components/level-indicator/level-indicator-level.enum.js +6 -6
- package/esm2015/lib/components/level-indicator/level-indicator.component.js +29 -29
- package/esm2015/lib/components/level-indicator/level-indicator.module.js +14 -14
- package/esm2015/lib/components/list-of-values/list-of-values-multiselect-popup.component.js +87 -87
- package/esm2015/lib/components/list-of-values/list-of-values-popup.component.js +218 -218
- package/esm2015/lib/components/list-of-values/list-of-values.component.js +199 -199
- package/esm2015/lib/components/list-of-values/list-of-values.module.js +37 -37
- package/esm2015/lib/components/loader/loader.component.js +16 -16
- package/esm2015/lib/components/loader/loader.module.js +18 -18
- package/esm2015/lib/components/pagination/paginate.pipe.js +98 -98
- package/esm2015/lib/components/pagination/pagination-instance.js +1 -1
- package/esm2015/lib/components/pagination/pagination.component.js +107 -107
- package/esm2015/lib/components/pagination/pagination.module.js +27 -27
- package/esm2015/lib/components/pagination/pagination.service.js +87 -87
- package/esm2015/lib/components/pagination-bar/pagination-bar.component.js +136 -136
- package/esm2015/lib/components/pagination-bar/pagination-bar.module.js +18 -18
- package/esm2015/lib/components/popup/const/popup-window-token.js +2 -2
- package/esm2015/lib/components/popup/interface/popup-button.js +7 -7
- package/esm2015/lib/components/popup/interface/popup-close-event.js +1 -1
- package/esm2015/lib/components/popup/interface/popup-settings.js +41 -41
- package/esm2015/lib/components/popup/interface/popup.js +1 -1
- package/esm2015/lib/components/popup/model/popup-button-globals.js +10 -10
- package/esm2015/lib/components/popup/model/popup-window.js +37 -37
- package/esm2015/lib/components/popup/popup-buttons.component.js +42 -42
- package/esm2015/lib/components/popup/popup-message-display.component.js +37 -37
- package/esm2015/lib/components/popup/popup-window-shell.component.js +141 -141
- package/esm2015/lib/components/popup/popup.module.js +48 -48
- package/esm2015/lib/components/popup/service/popup-shower.service.js +89 -89
- package/esm2015/lib/components/popup/service/prompt.service.js +126 -126
- package/esm2015/lib/components/popup/text-input-popup.component.js +33 -33
- package/esm2015/lib/components/responsive-text/responsive-text.component.js +17 -17
- package/esm2015/lib/components/responsive-text/responsive-text.module.js +18 -18
- package/esm2015/lib/components/simple-grid/base-simple-grid.component.js +163 -163
- package/esm2015/lib/components/simple-grid/simple-grid-cell.component.js +141 -141
- package/esm2015/lib/components/simple-grid/simple-grid-column.directive.js +110 -110
- package/esm2015/lib/components/simple-grid/simple-grid.component.js +378 -378
- package/esm2015/lib/components/simple-grid/simple-grid.module.js +40 -40
- package/esm2015/lib/components/tile/tile.component.js +44 -44
- package/esm2015/lib/components/tile/tile.module.js +22 -22
- package/esm2015/lib/components/tile-select/tile-select.component.js +26 -26
- package/esm2015/lib/components/tile-select/tile-select.module.js +20 -20
- package/esm2015/lib/components/tooltip/tooltip.component.js +74 -74
- package/esm2015/lib/components/tooltip/tooltip.module.js +18 -18
- package/esm2015/lib/components/validation-error/validation-error.component.js +30 -30
- package/esm2015/lib/components/validation-error/validation-error.module.js +24 -24
- package/esm2015/lib/components/view-mode-buttons/content-view-mode.enum.js +10 -10
- package/esm2015/lib/components/view-mode-buttons/view-mode-buttons.component.js +41 -41
- package/esm2015/lib/components/view-mode-buttons/view-mode-buttons.module.js +20 -20
- package/esm2015/lib/core/constant/default-upper-bound-for-range-components.js +3 -3
- package/esm2015/lib/core/constant/java-max-int.js +1 -1
- package/esm2015/lib/core/constant/number-inputs-key-down-white-list.js +44 -44
- package/esm2015/lib/core/decorator/input-boolean.decorator.js +33 -33
- package/esm2015/lib/core/enum/co-direction.js +8 -8
- package/esm2015/lib/core/enum/co-document-image-display-kind.enum.js +6 -6
- package/esm2015/lib/core/enum/co-document-type.enum.js +10 -10
- package/esm2015/lib/core/enum/co-orientation.js +16 -16
- package/esm2015/lib/core/enum/core-components-icon.enum.js +299 -299
- package/esm2015/lib/core/enum/file-type-internal.enum.js +16 -16
- package/esm2015/lib/core/enum/file-type.enum.js +10 -10
- package/esm2015/lib/core/enum/filterItem-mode.enum.js +42 -42
- package/esm2015/lib/core/enum/input-number-picker-show-mode.enum.js +7 -7
- package/esm2015/lib/core/enum/keyboard-code.enum.js +73 -73
- package/esm2015/lib/core/enum/keyboard-key.enum.js +75 -75
- package/esm2015/lib/core/enum/object-right-type.enum.js +6 -6
- package/esm2015/lib/core/enum/popup-button-type.enum.js +11 -11
- package/esm2015/lib/core/enum/popup-type.enum.js +10 -10
- package/esm2015/lib/core/enum/table-name.enum.js +80 -80
- package/esm2015/lib/core/function/any-nill.function.js +5 -5
- package/esm2015/lib/core/function/is-nill.function.js +4 -4
- package/esm2015/lib/core/function/none-nill.function.js +16 -16
- package/esm2015/lib/core/function/not-nill.function.js +4 -4
- package/esm2015/lib/core/model/bounds-constrained-number-value.js +170 -170
- package/esm2015/lib/core/model/check-precision-and-scale-result.js +1 -1
- package/esm2015/lib/core/model/check-within-stepped-bounds-result.js +1 -1
- package/esm2015/lib/core/model/co-document-right.bo.js +2 -2
- package/esm2015/lib/core/model/co-document.bo.js +120 -120
- package/esm2015/lib/core/model/core-components-icon-svg.js +298 -298
- package/esm2015/lib/core/model/element-position.js +9 -9
- package/esm2015/lib/core/model/event/string-prompt-result-event.js +7 -7
- package/esm2015/lib/core/service/form-input-user-change-listener.service.js +24 -24
- package/esm2015/lib/core/service/form-master.service.js +101 -101
- package/esm2015/lib/core/service/ng-zone-wrapper.service.js +19 -19
- package/esm2015/lib/core/utils/array-utils.js +263 -263
- package/esm2015/lib/core/utils/browser-utils.js +99 -99
- package/esm2015/lib/core/utils/direction-enum-utils.js +13 -13
- package/esm2015/lib/core/utils/event-utils.js +52 -52
- package/esm2015/lib/core/utils/file-utils.js +266 -266
- package/esm2015/lib/core/utils/number-utils.js +308 -308
- package/esm2015/lib/core/utils/object-utils.js +185 -185
- package/esm2015/lib/core/utils/string-utils.js +93 -93
- package/esm2015/lib/core/validator/email.validator.js +5 -5
- package/esm2015/lib/core/validator/equal.validator.js +10 -10
- package/esm2015/lib/core/validator/max-string-length.validator.js +9 -9
- package/esm2015/lib/core/validator/password.validator.js +30 -30
- package/esm2015/lib/core/validator/precision-scale.validator.js +10 -10
- package/esm2015/lib/core/validator/required.validator.js +4 -4
- package/esm2015/lib/directives/clickoutside/click-outside-master.service.js +56 -56
- package/esm2015/lib/directives/clickoutside/click-outside.directive.js +70 -70
- package/esm2015/lib/directives/clickoutside/clickoutside.module.js +18 -18
- package/esm2015/lib/directives/observe-visibility/observe-visibility.directive.js +52 -52
- package/esm2015/lib/directives/observe-visibility/observe-visibility.module.js +14 -14
- package/esm2015/lib/directives/overlay/overlay-parent.directive.js +18 -18
- package/esm2015/lib/directives/overlay/overlay.directive.js +160 -160
- package/esm2015/lib/directives/overlay/overlay.module.js +17 -17
- package/esm2015/lib/directives/ripple/ripple-ref.js +25 -25
- package/esm2015/lib/directives/ripple/ripple-renderer.js +159 -159
- package/esm2015/lib/directives/ripple/ripple.directive.js +79 -79
- package/esm2015/lib/directives/ripple/ripple.module.js +23 -23
- package/esm2015/lib/directives/ripple/scroll-dispatcher.service.js +107 -107
- package/esm2015/lib/directives/ripple/scrollable.directive.js +39 -39
- package/esm2015/lib/directives/ripple/viewport-ruler.service.js +72 -72
- package/esm2015/lib/directives/screen-configuration/screen-configuration.directive.js +157 -157
- package/esm2015/lib/directives/screen-configuration/screen-configuration.module.js +18 -18
- package/esm2015/lib/directives/stopclick/stop-click.directive.js +37 -37
- package/esm2015/lib/directives/stopclick/stop-click.module.js +14 -14
- package/esm2015/lib/directives/template-wrapper/template-wrapper.directive.js +67 -67
- package/esm2015/lib/directives/template-wrapper/template-wrapper.module.js +14 -14
- package/esm2015/lib/directives/tooltip/tooltip-directive.module.js +18 -18
- package/esm2015/lib/directives/tooltip/tooltip.directive.js +77 -77
- package/esm2015/lib/interfaces/dialog-response.interface.js +1 -1
- package/esm2015/lib/interfaces/scanner-input.interface.js +1 -1
- package/esm2015/lib/interfaces/screen-config-adapter-component-interface-name.js +3 -3
- package/esm2015/lib/interfaces/screen-config-adapter.component.interface.js +1 -1
- package/esm2015/lib/model/enum/app-button-type.enum.js +10 -10
- package/esm2015/lib/model/enum/app-popup-type.enum.js +7 -7
- package/esm2015/lib/pipes/append.pipe.js +16 -16
- package/esm2015/lib/pipes/append.pipe.module.js +14 -14
- package/esm2015/lib/pipes/filter.pipe.js +15 -15
- package/esm2015/lib/pipes/filter.pipe.module.js +14 -14
- package/esm2015/lib/pipes/prepend.pipe.js +16 -16
- package/esm2015/lib/pipes/prepend.pipe.module.js +14 -14
- package/esm2015/lib/pipes/price-display-pipe.module.js +14 -14
- package/esm2015/lib/pipes/price-display.pipe.js +19 -19
- package/esm2015/lib/service/base-module-screen-config.service.js +204 -204
- package/esm2015/lib/service/base-module.service.js +41 -41
- package/esm2015/lib/service/color-sequence.service.js +22 -22
- package/esm2015/lib/service/overlay.service.js +72 -72
- package/esm2015/lib/translation/core-components-translation.module.js +28 -28
- package/esm2015/lib/translation/core-components-translation.service.js +16 -16
- package/esm2015/lib/translation/core-dictionary.service.js +28 -28
- package/esm2015/lib/translation/core-localize.pipe.js +25 -25
- package/esm2015/public-api.js +129 -129
- package/fesm2015/colijnit-corecomponents_v12.js +12090 -12086
- package/fesm2015/colijnit-corecomponents_v12.js.map +1 -1
- package/lib/components/article-tile/article-tile.component.d.ts +22 -22
- package/lib/components/article-tile/article-tile.module.d.ts +2 -2
- package/lib/components/base/base-input.component.d.ts +182 -182
- package/lib/components/base/base.module.d.ts +2 -2
- package/lib/components/base/commit-buttons/commit-buttons.component.d.ts +21 -21
- package/lib/components/base/commit-buttons/commit-buttons.module.d.ts +2 -2
- package/lib/components/base/dialog-base.component.d.ts +4 -4
- package/lib/components/base-input-date-picker/base-input-date-picker.directive.d.ts +15 -15
- package/lib/components/button/button.component.d.ts +29 -29
- package/lib/components/button/button.module.d.ts +2 -2
- package/lib/components/calendar/calendar-template.component.d.ts +60 -60
- package/lib/components/calendar/calendar.component.d.ts +13 -13
- package/lib/components/calendar/calendar.module.d.ts +2 -2
- package/lib/components/card/card.component.d.ts +23 -23
- package/lib/components/card/card.module.d.ts +2 -2
- package/lib/components/carousel/carousel.component.d.ts +23 -23
- package/lib/components/carousel/carousel.module.d.ts +6 -6
- package/lib/components/carousel-3d/carousel-3d.component.d.ts +55 -55
- package/lib/components/carousel-3d/carousel-3d.module.d.ts +2 -2
- package/lib/components/carousel-3d/carouselItem.d.ts +13 -13
- package/lib/components/checkmark-overlay/checkmark-overlay.component.d.ts +17 -17
- package/lib/components/checkmark-overlay/checkmark-overlay.module.d.ts +2 -2
- package/lib/components/co-dialog/co-dialog.component.d.ts +23 -23
- package/lib/components/co-dialog/co-dialog.module.d.ts +2 -2
- package/lib/components/co-dialog-wizard/co-dialog-wizard.component.d.ts +9 -9
- package/lib/components/co-dialog-wizard/co-dialog-wizard.module.d.ts +2 -2
- package/lib/components/collapsible/collapsible.component.d.ts +22 -22
- package/lib/components/collapsible/collapsible.module.d.ts +2 -2
- package/lib/components/color-picker/color-picker.component.d.ts +6 -6
- package/lib/components/color-picker/color-picker.module.d.ts +2 -2
- package/lib/components/core-dialog/confirmation-dialog/confirmation-dialog.component.d.ts +20 -20
- package/lib/components/core-dialog/core-dialog.module.d.ts +4 -4
- package/lib/components/core-dialog/core-dialog.service.d.ts +15 -15
- package/lib/components/core-dialog/core-dynamic-component.service.d.ts +12 -12
- package/lib/components/double-calendar/double-calendar.component.d.ts +18 -18
- package/lib/components/double-calendar/double-calendar.module.d.ts +2 -2
- package/lib/components/filter-item/filter-item-viewmodel.d.ts +9 -9
- package/lib/components/filter-item/filter-item.component.d.ts +80 -80
- package/lib/components/filter-item/filter-item.module.d.ts +2 -2
- package/lib/components/filter-item/filter-viewmodel.d.ts +8 -8
- package/lib/components/form/form.component.d.ts +39 -39
- package/lib/components/form/form.module.d.ts +2 -2
- package/lib/components/grid-toolbar/grid-toolbar.component.d.ts +19 -19
- package/lib/components/grid-toolbar/grid-toolbar.module.d.ts +2 -2
- package/lib/components/grid-toolbar-button/grid-toolbar-button.component.d.ts +8 -8
- package/lib/components/grid-toolbar-button/grid-toolbar-button.module.d.ts +2 -2
- package/lib/components/icon/icon-cache.service.d.ts +20 -20
- package/lib/components/icon/icon.component.d.ts +17 -17
- package/lib/components/icon/icon.module.d.ts +2 -2
- package/lib/components/icon-collapse-handle/icon-collapse-handle.component.d.ts +21 -21
- package/lib/components/icon-collapse-handle/icon-collapse-handle.module.d.ts +2 -2
- package/lib/components/image/image.component.d.ts +20 -20
- package/lib/components/image/image.module.d.ts +2 -2
- package/lib/components/input-checkbox/input-checkbox.component.d.ts +24 -24
- package/lib/components/input-checkbox/input-checkbox.module.d.ts +2 -2
- package/lib/components/input-date-picker/input-date-picker.component.d.ts +12 -12
- package/lib/components/input-date-picker/input-date-picker.module.d.ts +2 -2
- package/lib/components/input-date-range-picker/input-date-range-picker.component.d.ts +20 -20
- package/lib/components/input-date-range-picker/input-date-range-picker.module.d.ts +2 -2
- package/lib/components/input-number-picker/input-number-picker.component.d.ts +73 -73
- package/lib/components/input-number-picker/input-number-picker.module.d.ts +2 -2
- package/lib/components/input-radio-button/input-radio-button.component.d.ts +19 -19
- package/lib/components/input-radio-button/input-radio-button.module.d.ts +2 -2
- package/lib/components/input-scanner/bar-code-scanner.d.ts +7 -7
- package/lib/components/input-scanner/input-scanner.component.d.ts +24 -24
- package/lib/components/input-scanner/input-scanner.module.d.ts +2 -2
- package/lib/components/input-scanner/scanner.service.d.ts +11 -11
- package/lib/components/input-search/input-search.component.d.ts +20 -19
- package/lib/components/input-search/input-search.module.d.ts +2 -2
- package/lib/components/input-text/input-text.component.d.ts +65 -65
- package/lib/components/input-text/input-text.module.d.ts +2 -2
- package/lib/components/input-textarea/input-textarea.component.d.ts +19 -19
- package/lib/components/input-textarea/input-textarea.module.d.ts +2 -2
- package/lib/components/level-indicator/level-indicator-level.enum.d.ts +5 -5
- package/lib/components/level-indicator/level-indicator.component.d.ts +10 -10
- package/lib/components/level-indicator/level-indicator.module.d.ts +2 -2
- package/lib/components/list-of-values/list-of-values-multiselect-popup.component.d.ts +25 -25
- package/lib/components/list-of-values/list-of-values-popup.component.d.ts +47 -47
- package/lib/components/list-of-values/list-of-values.component.d.ts +37 -37
- package/lib/components/list-of-values/list-of-values.module.d.ts +2 -2
- package/lib/components/loader/loader.component.d.ts +3 -3
- package/lib/components/loader/loader.module.d.ts +2 -2
- package/lib/components/pagination/paginate.pipe.d.ts +15 -15
- package/lib/components/pagination/pagination-instance.d.ts +14 -14
- package/lib/components/pagination/pagination.component.d.ts +38 -38
- package/lib/components/pagination/pagination.module.d.ts +2 -2
- package/lib/components/pagination/pagination.service.d.ts +24 -24
- package/lib/components/pagination-bar/pagination-bar.component.d.ts +33 -33
- package/lib/components/pagination-bar/pagination-bar.module.d.ts +2 -2
- package/lib/components/popup/const/popup-window-token.d.ts +3 -3
- package/lib/components/popup/interface/popup-button.d.ts +8 -8
- package/lib/components/popup/interface/popup-close-event.d.ts +5 -5
- package/lib/components/popup/interface/popup-settings.d.ts +21 -21
- package/lib/components/popup/interface/popup.d.ts +9 -9
- package/lib/components/popup/model/popup-button-globals.d.ts +9 -9
- package/lib/components/popup/model/popup-window.d.ts +21 -21
- package/lib/components/popup/popup-buttons.component.d.ts +13 -13
- package/lib/components/popup/popup-message-display.component.d.ts +12 -12
- package/lib/components/popup/popup-window-shell.component.d.ts +42 -42
- package/lib/components/popup/popup.module.d.ts +4 -4
- package/lib/components/popup/service/popup-shower.service.d.ts +17 -17
- package/lib/components/popup/service/prompt.service.d.ts +17 -17
- package/lib/components/popup/text-input-popup.component.d.ts +12 -12
- package/lib/components/responsive-text/responsive-text.component.d.ts +4 -4
- package/lib/components/responsive-text/responsive-text.module.d.ts +2 -2
- package/lib/components/simple-grid/base-simple-grid.component.d.ts +52 -52
- package/lib/components/simple-grid/simple-grid-cell.component.d.ts +30 -30
- package/lib/components/simple-grid/simple-grid-column.directive.d.ts +42 -42
- package/lib/components/simple-grid/simple-grid.component.d.ts +64 -64
- package/lib/components/simple-grid/simple-grid.module.d.ts +2 -2
- package/lib/components/tile/tile.component.d.ts +16 -16
- package/lib/components/tile/tile.module.d.ts +2 -2
- package/lib/components/tile-select/tile-select.component.d.ts +8 -8
- package/lib/components/tile-select/tile-select.module.d.ts +2 -2
- package/lib/components/tooltip/tooltip.component.d.ts +18 -18
- package/lib/components/tooltip/tooltip.module.d.ts +2 -2
- package/lib/components/validation-error/validation-error.component.d.ts +12 -12
- package/lib/components/validation-error/validation-error.module.d.ts +2 -2
- package/lib/components/view-mode-buttons/content-view-mode.enum.d.ts +8 -8
- package/lib/components/view-mode-buttons/view-mode-buttons.component.d.ts +17 -17
- package/lib/components/view-mode-buttons/view-mode-buttons.module.d.ts +2 -2
- package/lib/core/constant/default-upper-bound-for-range-components.d.ts +2 -2
- package/lib/core/constant/java-max-int.d.ts +1 -1
- package/lib/core/constant/number-inputs-key-down-white-list.d.ts +2 -2
- package/lib/core/decorator/input-boolean.decorator.d.ts +8 -8
- package/lib/core/enum/co-direction.d.ts +6 -6
- package/lib/core/enum/co-document-image-display-kind.enum.d.ts +5 -5
- package/lib/core/enum/co-document-type.enum.d.ts +5 -5
- package/lib/core/enum/co-orientation.d.ts +6 -6
- package/lib/core/enum/core-components-icon.enum.d.ts +298 -298
- package/lib/core/enum/file-type-internal.enum.d.ts +15 -15
- package/lib/core/enum/file-type.enum.d.ts +5 -5
- package/lib/core/enum/filterItem-mode.enum.d.ts +15 -15
- package/lib/core/enum/input-number-picker-show-mode.enum.d.ts +5 -5
- package/lib/core/enum/keyboard-code.enum.d.ts +71 -71
- package/lib/core/enum/keyboard-key.enum.d.ts +70 -70
- package/lib/core/enum/object-right-type.enum.d.ts +5 -5
- package/lib/core/enum/popup-button-type.enum.d.ts +9 -9
- package/lib/core/enum/popup-type.enum.d.ts +9 -9
- package/lib/core/enum/table-name.enum.d.ts +79 -79
- package/lib/core/function/any-nill.function.d.ts +1 -1
- package/lib/core/function/is-nill.function.d.ts +1 -1
- package/lib/core/function/none-nill.function.d.ts +1 -1
- package/lib/core/function/not-nill.function.d.ts +1 -1
- package/lib/core/model/bounds-constrained-number-value.d.ts +46 -46
- package/lib/core/model/check-precision-and-scale-result.d.ts +4 -4
- package/lib/core/model/check-within-stepped-bounds-result.d.ts +8 -8
- package/lib/core/model/co-document-right.bo.d.ts +6 -6
- package/lib/core/model/co-document.bo.d.ts +61 -61
- package/lib/core/model/core-components-icon-svg.d.ts +4 -4
- package/lib/core/model/element-position.d.ts +7 -7
- package/lib/core/model/event/string-prompt-result-event.d.ts +6 -6
- package/lib/core/service/form-input-user-change-listener.service.d.ts +10 -10
- package/lib/core/service/form-master.service.d.ts +26 -26
- package/lib/core/service/ng-zone-wrapper.service.d.ts +6 -6
- package/lib/core/utils/array-utils.d.ts +85 -85
- package/lib/core/utils/browser-utils.d.ts +15 -15
- package/lib/core/utils/direction-enum-utils.d.ts +5 -5
- package/lib/core/utils/event-utils.d.ts +12 -12
- package/lib/core/utils/file-utils.d.ts +29 -29
- package/lib/core/utils/number-utils.d.ts +89 -89
- package/lib/core/utils/object-utils.d.ts +31 -31
- package/lib/core/utils/string-utils.d.ts +25 -25
- package/lib/core/validator/email.validator.d.ts +2 -2
- package/lib/core/validator/equal.validator.d.ts +2 -2
- package/lib/core/validator/max-string-length.validator.d.ts +2 -2
- package/lib/core/validator/password.validator.d.ts +3 -3
- package/lib/core/validator/precision-scale.validator.d.ts +2 -2
- package/lib/core/validator/required.validator.d.ts +2 -2
- package/lib/directives/clickoutside/click-outside-master.service.d.ts +15 -15
- package/lib/directives/clickoutside/click-outside.directive.d.ts +18 -18
- package/lib/directives/clickoutside/clickoutside.module.d.ts +2 -2
- package/lib/directives/observe-visibility/observe-visibility.directive.d.ts +14 -14
- package/lib/directives/observe-visibility/observe-visibility.module.d.ts +2 -2
- package/lib/directives/overlay/overlay-parent.directive.d.ts +6 -6
- package/lib/directives/overlay/overlay.directive.d.ts +25 -25
- package/lib/directives/overlay/overlay.module.d.ts +2 -2
- package/lib/directives/ripple/ripple-ref.d.ts +21 -21
- package/lib/directives/ripple/ripple-renderer.d.ts +56 -56
- package/lib/directives/ripple/ripple.directive.d.ts +56 -56
- package/lib/directives/ripple/ripple.module.d.ts +2 -2
- package/lib/directives/ripple/scroll-dispatcher.service.d.ts +51 -51
- package/lib/directives/ripple/scrollable.directive.d.ts +20 -20
- package/lib/directives/ripple/viewport-ruler.service.d.ts +29 -29
- package/lib/directives/screen-configuration/screen-configuration.directive.d.ts +32 -32
- package/lib/directives/screen-configuration/screen-configuration.module.d.ts +2 -2
- package/lib/directives/stopclick/stop-click.directive.d.ts +10 -10
- package/lib/directives/stopclick/stop-click.module.d.ts +2 -2
- package/lib/directives/template-wrapper/template-wrapper.directive.d.ts +13 -13
- package/lib/directives/template-wrapper/template-wrapper.module.d.ts +2 -2
- package/lib/directives/tooltip/tooltip-directive.module.d.ts +2 -2
- package/lib/directives/tooltip/tooltip.directive.d.ts +20 -20
- package/lib/interfaces/dialog-response.interface.d.ts +6 -6
- package/lib/interfaces/scanner-input.interface.d.ts +3 -3
- package/lib/interfaces/screen-config-adapter-component-interface-name.d.ts +3 -3
- package/lib/interfaces/screen-config-adapter.component.interface.d.ts +10 -10
- package/lib/model/enum/app-button-type.enum.d.ts +9 -9
- package/lib/model/enum/app-popup-type.enum.d.ts +6 -6
- package/lib/pipes/append.pipe.d.ts +4 -4
- package/lib/pipes/append.pipe.module.d.ts +2 -2
- package/lib/pipes/filter.pipe.d.ts +4 -4
- package/lib/pipes/filter.pipe.module.d.ts +2 -2
- package/lib/pipes/prepend.pipe.d.ts +4 -4
- package/lib/pipes/prepend.pipe.module.d.ts +2 -2
- package/lib/pipes/price-display-pipe.module.d.ts +2 -2
- package/lib/pipes/price-display.pipe.d.ts +4 -4
- package/lib/service/base-module-screen-config.service.d.ts +47 -47
- package/lib/service/base-module.service.d.ts +22 -22
- package/lib/service/color-sequence.service.d.ts +4 -4
- package/lib/service/overlay.service.d.ts +13 -13
- package/lib/translation/core-components-translation.module.d.ts +4 -4
- package/lib/translation/core-components-translation.service.d.ts +6 -6
- package/lib/translation/core-dictionary.service.d.ts +12 -12
- package/lib/translation/core-localize.pipe.d.ts +7 -7
- package/package.json +1 -1
- package/public-api.d.ts +126 -126
|
@@ -1,186 +1,186 @@
|
|
|
1
|
-
import { isNill } from "../function/is-nill.function";
|
|
2
|
-
import { notNill } from "../function/not-nill.function";
|
|
3
|
-
// Static utility function holder related to objects.
|
|
4
|
-
export class ObjectUtils {
|
|
5
|
-
/**
|
|
6
|
-
* Returns whether all given values exist: for all values it holds that they are not null nor undefined. Short-circuit check.
|
|
7
|
-
* @param values Rest parameters with all objects to check existence for.
|
|
8
|
-
* @returns True if ALL given values are not null nor undefined, otherwise false (if at least one value was null or undefined)
|
|
9
|
-
*/
|
|
10
|
-
static AllExist(...values) {
|
|
11
|
-
let allExist = true;
|
|
12
|
-
for (let i = 0, len = values.length; i < len; i++) {
|
|
13
|
-
if (isNill(values[i])) {
|
|
14
|
-
allExist = false;
|
|
15
|
-
break;
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
return allExist;
|
|
19
|
-
}
|
|
20
|
-
// Returns a shallow clone of the given original object. The clone is a SIMPLE OBJECT with the same properties as the original.
|
|
21
|
-
static GetShallowClone(originalObject, objectClass) {
|
|
22
|
-
let clonedObject = undefined;
|
|
23
|
-
if (objectClass) {
|
|
24
|
-
clonedObject = new objectClass();
|
|
25
|
-
}
|
|
26
|
-
else {
|
|
27
|
-
clonedObject = {};
|
|
28
|
-
}
|
|
29
|
-
ObjectUtils.ForOwnProperty(originalObject, (value, key) => {
|
|
30
|
-
clonedObject[key] = value;
|
|
31
|
-
});
|
|
32
|
-
return clonedObject;
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Copies all properties from object 'from' to object 'to'. Overwrites properties on object 'to' if property already exists.
|
|
36
|
-
* Does not copy functions, only properties.
|
|
37
|
-
* @param from The source object from which to copy all properties of to the 'to' object.
|
|
38
|
-
* @param to The object to which the properties of the 'from' object will be copied.
|
|
39
|
-
* @param [allowUndefined = true] wether the 'to' object may be assigned null or undefined values to any of its properties.
|
|
40
|
-
*/
|
|
41
|
-
static CopyPropertiesFrom(from, to, allowUndefined = true) {
|
|
42
|
-
if (!to) {
|
|
43
|
-
to = {};
|
|
44
|
-
}
|
|
45
|
-
if (!from) {
|
|
46
|
-
return to;
|
|
47
|
-
}
|
|
48
|
-
ObjectUtils.ForOwnProperty(from, (value, key) => {
|
|
49
|
-
if (allowUndefined || notNill(value)) {
|
|
50
|
-
to[key] = value;
|
|
51
|
-
}
|
|
52
|
-
});
|
|
53
|
-
return to;
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Returns the display value of the given property on the given object, as a string (== the string representation of the property value).
|
|
57
|
-
* Does not return null or undefined, but returns the given defaultValue instead.
|
|
58
|
-
*/
|
|
59
|
-
static GetDisplayValueOfPropertyOn(object, property, defaultValue = "") {
|
|
60
|
-
if (!object || !property) {
|
|
61
|
-
return defaultValue;
|
|
62
|
-
}
|
|
63
|
-
let returnValue = defaultValue;
|
|
64
|
-
let propertyValue = object[property];
|
|
65
|
-
if (propertyValue) {
|
|
66
|
-
returnValue = propertyValue.toString();
|
|
67
|
-
}
|
|
68
|
-
return returnValue;
|
|
69
|
-
}
|
|
70
|
-
// Performs given callback function for each own property of given plain object. Also works on string enums.
|
|
71
|
-
static ForOwnProperty(plainObject, callback) {
|
|
72
|
-
if (ObjectUtils.IsPlainObject(plainObject)) {
|
|
73
|
-
for (let key in plainObject) {
|
|
74
|
-
if (plainObject.hasOwnProperty(key) && typeof plainObject[key] !== 'function') {
|
|
75
|
-
let response = callback(plainObject[key], key);
|
|
76
|
-
if (response === false) {
|
|
77
|
-
break;
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
// Returns whether given object is an existing, plain object. That is, it defined, its type if 'object' and it is NOT an array or func.
|
|
84
|
-
static IsPlainObject(object) {
|
|
85
|
-
return object !== null && !Array.isArray(object) && typeof object !== 'function' && typeof object === 'object';
|
|
86
|
-
}
|
|
87
|
-
static DeepEquals(actual, expected) {
|
|
88
|
-
if (actual === expected) {
|
|
89
|
-
return true;
|
|
90
|
-
}
|
|
91
|
-
else if (actual instanceof Date && expected instanceof Date) {
|
|
92
|
-
return actual.getTime() === expected.getTime();
|
|
93
|
-
}
|
|
94
|
-
else if (!actual || !expected || typeof actual !== 'object' && typeof expected !== 'object') {
|
|
95
|
-
return actual === expected;
|
|
96
|
-
}
|
|
97
|
-
else {
|
|
98
|
-
return this._objEquiv(actual, expected);
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
static _objEquiv(a, b) {
|
|
102
|
-
let i, key;
|
|
103
|
-
if (isNill(a) || isNill(b)) {
|
|
104
|
-
return false;
|
|
105
|
-
}
|
|
106
|
-
if (a.prototype !== b.prototype) {
|
|
107
|
-
return false;
|
|
108
|
-
}
|
|
109
|
-
if (this._isArguments(a)) {
|
|
110
|
-
if (!this._isArguments(b)) {
|
|
111
|
-
return false;
|
|
112
|
-
}
|
|
113
|
-
a = Array.prototype.slice.call(a);
|
|
114
|
-
b = Array.prototype.slice.call(b);
|
|
115
|
-
return this.DeepEquals(a, b);
|
|
116
|
-
}
|
|
117
|
-
if (this._isBuffer(a)) {
|
|
118
|
-
if (!this._isBuffer(b)) {
|
|
119
|
-
return false;
|
|
120
|
-
}
|
|
121
|
-
if (a.length !== b.length) {
|
|
122
|
-
return false;
|
|
123
|
-
}
|
|
124
|
-
for (i = 0; i < a.length; i++) {
|
|
125
|
-
if (a[i] !== b[i]) {
|
|
126
|
-
return false;
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
return true;
|
|
130
|
-
}
|
|
131
|
-
let ka;
|
|
132
|
-
let kb;
|
|
133
|
-
try {
|
|
134
|
-
ka = Object.keys(a);
|
|
135
|
-
kb = Object.keys(b);
|
|
136
|
-
}
|
|
137
|
-
catch (e) {
|
|
138
|
-
return false;
|
|
139
|
-
}
|
|
140
|
-
if (ka.length !== kb.length) {
|
|
141
|
-
return false;
|
|
142
|
-
}
|
|
143
|
-
ka.sort();
|
|
144
|
-
kb.sort();
|
|
145
|
-
for (i = ka.length - 1; i >= 0; i--) {
|
|
146
|
-
if (ka[i] !== kb[i]) {
|
|
147
|
-
return false;
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
for (i = ka.length - 1; i >= 0; i--) {
|
|
151
|
-
key = ka[i];
|
|
152
|
-
if (!this.DeepEquals(a[key], b[key])) {
|
|
153
|
-
return false;
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
return typeof a === typeof b;
|
|
157
|
-
}
|
|
158
|
-
static _isBuffer(x) {
|
|
159
|
-
if (!x || typeof x !== 'object' || typeof x.length !== 'number') {
|
|
160
|
-
return false;
|
|
161
|
-
}
|
|
162
|
-
if (typeof x.copy !== 'function' || typeof x.slice !== 'function') {
|
|
163
|
-
return false;
|
|
164
|
-
}
|
|
165
|
-
return !(x.length > 0 && typeof x[0] !== 'number');
|
|
166
|
-
}
|
|
167
|
-
static _isArguments(x) {
|
|
168
|
-
let supportsArgsClass = this._supportsArgumentsClass();
|
|
169
|
-
return supportsArgsClass ? this._isArgumentsWhenArgsClassSupported(x) : this._isArgumentsWhenArgsClassNotSupported(x);
|
|
170
|
-
}
|
|
171
|
-
static _isArgumentsWhenArgsClassNotSupported(object) {
|
|
172
|
-
return object &&
|
|
173
|
-
typeof object === 'object' &&
|
|
174
|
-
typeof object.length === 'number' &&
|
|
175
|
-
Object.prototype.hasOwnProperty.call(object, 'callee') &&
|
|
176
|
-
!Object.prototype.propertyIsEnumerable.call(object, 'callee') ||
|
|
177
|
-
false;
|
|
178
|
-
}
|
|
179
|
-
static _isArgumentsWhenArgsClassSupported(object) {
|
|
180
|
-
return Object.prototype.toString.call(object) === '[object Arguments]';
|
|
181
|
-
}
|
|
182
|
-
static _supportsArgumentsClass() {
|
|
183
|
-
return Object.prototype.toString.call(arguments) === '[object Arguments]';
|
|
184
|
-
}
|
|
185
|
-
}
|
|
1
|
+
import { isNill } from "../function/is-nill.function";
|
|
2
|
+
import { notNill } from "../function/not-nill.function";
|
|
3
|
+
// Static utility function holder related to objects.
|
|
4
|
+
export class ObjectUtils {
|
|
5
|
+
/**
|
|
6
|
+
* Returns whether all given values exist: for all values it holds that they are not null nor undefined. Short-circuit check.
|
|
7
|
+
* @param values Rest parameters with all objects to check existence for.
|
|
8
|
+
* @returns True if ALL given values are not null nor undefined, otherwise false (if at least one value was null or undefined)
|
|
9
|
+
*/
|
|
10
|
+
static AllExist(...values) {
|
|
11
|
+
let allExist = true;
|
|
12
|
+
for (let i = 0, len = values.length; i < len; i++) {
|
|
13
|
+
if (isNill(values[i])) {
|
|
14
|
+
allExist = false;
|
|
15
|
+
break;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
return allExist;
|
|
19
|
+
}
|
|
20
|
+
// Returns a shallow clone of the given original object. The clone is a SIMPLE OBJECT with the same properties as the original.
|
|
21
|
+
static GetShallowClone(originalObject, objectClass) {
|
|
22
|
+
let clonedObject = undefined;
|
|
23
|
+
if (objectClass) {
|
|
24
|
+
clonedObject = new objectClass();
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
clonedObject = {};
|
|
28
|
+
}
|
|
29
|
+
ObjectUtils.ForOwnProperty(originalObject, (value, key) => {
|
|
30
|
+
clonedObject[key] = value;
|
|
31
|
+
});
|
|
32
|
+
return clonedObject;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Copies all properties from object 'from' to object 'to'. Overwrites properties on object 'to' if property already exists.
|
|
36
|
+
* Does not copy functions, only properties.
|
|
37
|
+
* @param from The source object from which to copy all properties of to the 'to' object.
|
|
38
|
+
* @param to The object to which the properties of the 'from' object will be copied.
|
|
39
|
+
* @param [allowUndefined = true] wether the 'to' object may be assigned null or undefined values to any of its properties.
|
|
40
|
+
*/
|
|
41
|
+
static CopyPropertiesFrom(from, to, allowUndefined = true) {
|
|
42
|
+
if (!to) {
|
|
43
|
+
to = {};
|
|
44
|
+
}
|
|
45
|
+
if (!from) {
|
|
46
|
+
return to;
|
|
47
|
+
}
|
|
48
|
+
ObjectUtils.ForOwnProperty(from, (value, key) => {
|
|
49
|
+
if (allowUndefined || notNill(value)) {
|
|
50
|
+
to[key] = value;
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
return to;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Returns the display value of the given property on the given object, as a string (== the string representation of the property value).
|
|
57
|
+
* Does not return null or undefined, but returns the given defaultValue instead.
|
|
58
|
+
*/
|
|
59
|
+
static GetDisplayValueOfPropertyOn(object, property, defaultValue = "") {
|
|
60
|
+
if (!object || !property) {
|
|
61
|
+
return defaultValue;
|
|
62
|
+
}
|
|
63
|
+
let returnValue = defaultValue;
|
|
64
|
+
let propertyValue = object[property];
|
|
65
|
+
if (propertyValue) {
|
|
66
|
+
returnValue = propertyValue.toString();
|
|
67
|
+
}
|
|
68
|
+
return returnValue;
|
|
69
|
+
}
|
|
70
|
+
// Performs given callback function for each own property of given plain object. Also works on string enums.
|
|
71
|
+
static ForOwnProperty(plainObject, callback) {
|
|
72
|
+
if (ObjectUtils.IsPlainObject(plainObject)) {
|
|
73
|
+
for (let key in plainObject) {
|
|
74
|
+
if (plainObject.hasOwnProperty(key) && typeof plainObject[key] !== 'function') {
|
|
75
|
+
let response = callback(plainObject[key], key);
|
|
76
|
+
if (response === false) {
|
|
77
|
+
break;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
// Returns whether given object is an existing, plain object. That is, it defined, its type if 'object' and it is NOT an array or func.
|
|
84
|
+
static IsPlainObject(object) {
|
|
85
|
+
return object !== null && !Array.isArray(object) && typeof object !== 'function' && typeof object === 'object';
|
|
86
|
+
}
|
|
87
|
+
static DeepEquals(actual, expected) {
|
|
88
|
+
if (actual === expected) {
|
|
89
|
+
return true;
|
|
90
|
+
}
|
|
91
|
+
else if (actual instanceof Date && expected instanceof Date) {
|
|
92
|
+
return actual.getTime() === expected.getTime();
|
|
93
|
+
}
|
|
94
|
+
else if (!actual || !expected || typeof actual !== 'object' && typeof expected !== 'object') {
|
|
95
|
+
return actual === expected;
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
return this._objEquiv(actual, expected);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
static _objEquiv(a, b) {
|
|
102
|
+
let i, key;
|
|
103
|
+
if (isNill(a) || isNill(b)) {
|
|
104
|
+
return false;
|
|
105
|
+
}
|
|
106
|
+
if (a.prototype !== b.prototype) {
|
|
107
|
+
return false;
|
|
108
|
+
}
|
|
109
|
+
if (this._isArguments(a)) {
|
|
110
|
+
if (!this._isArguments(b)) {
|
|
111
|
+
return false;
|
|
112
|
+
}
|
|
113
|
+
a = Array.prototype.slice.call(a);
|
|
114
|
+
b = Array.prototype.slice.call(b);
|
|
115
|
+
return this.DeepEquals(a, b);
|
|
116
|
+
}
|
|
117
|
+
if (this._isBuffer(a)) {
|
|
118
|
+
if (!this._isBuffer(b)) {
|
|
119
|
+
return false;
|
|
120
|
+
}
|
|
121
|
+
if (a.length !== b.length) {
|
|
122
|
+
return false;
|
|
123
|
+
}
|
|
124
|
+
for (i = 0; i < a.length; i++) {
|
|
125
|
+
if (a[i] !== b[i]) {
|
|
126
|
+
return false;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
return true;
|
|
130
|
+
}
|
|
131
|
+
let ka;
|
|
132
|
+
let kb;
|
|
133
|
+
try {
|
|
134
|
+
ka = Object.keys(a);
|
|
135
|
+
kb = Object.keys(b);
|
|
136
|
+
}
|
|
137
|
+
catch (e) {
|
|
138
|
+
return false;
|
|
139
|
+
}
|
|
140
|
+
if (ka.length !== kb.length) {
|
|
141
|
+
return false;
|
|
142
|
+
}
|
|
143
|
+
ka.sort();
|
|
144
|
+
kb.sort();
|
|
145
|
+
for (i = ka.length - 1; i >= 0; i--) {
|
|
146
|
+
if (ka[i] !== kb[i]) {
|
|
147
|
+
return false;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
for (i = ka.length - 1; i >= 0; i--) {
|
|
151
|
+
key = ka[i];
|
|
152
|
+
if (!this.DeepEquals(a[key], b[key])) {
|
|
153
|
+
return false;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
return typeof a === typeof b;
|
|
157
|
+
}
|
|
158
|
+
static _isBuffer(x) {
|
|
159
|
+
if (!x || typeof x !== 'object' || typeof x.length !== 'number') {
|
|
160
|
+
return false;
|
|
161
|
+
}
|
|
162
|
+
if (typeof x.copy !== 'function' || typeof x.slice !== 'function') {
|
|
163
|
+
return false;
|
|
164
|
+
}
|
|
165
|
+
return !(x.length > 0 && typeof x[0] !== 'number');
|
|
166
|
+
}
|
|
167
|
+
static _isArguments(x) {
|
|
168
|
+
let supportsArgsClass = this._supportsArgumentsClass();
|
|
169
|
+
return supportsArgsClass ? this._isArgumentsWhenArgsClassSupported(x) : this._isArgumentsWhenArgsClassNotSupported(x);
|
|
170
|
+
}
|
|
171
|
+
static _isArgumentsWhenArgsClassNotSupported(object) {
|
|
172
|
+
return object &&
|
|
173
|
+
typeof object === 'object' &&
|
|
174
|
+
typeof object.length === 'number' &&
|
|
175
|
+
Object.prototype.hasOwnProperty.call(object, 'callee') &&
|
|
176
|
+
!Object.prototype.propertyIsEnumerable.call(object, 'callee') ||
|
|
177
|
+
false;
|
|
178
|
+
}
|
|
179
|
+
static _isArgumentsWhenArgsClassSupported(object) {
|
|
180
|
+
return Object.prototype.toString.call(object) === '[object Arguments]';
|
|
181
|
+
}
|
|
182
|
+
static _supportsArgumentsClass() {
|
|
183
|
+
return Object.prototype.toString.call(arguments) === '[object Arguments]';
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
186
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZWNvbXBvbmVudHMvc3JjL2xpYi9jb3JlL3V0aWxzL29iamVjdC11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDcEQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBRXRELHFEQUFxRDtBQUNyRCxNQUFNLE9BQU8sV0FBVztJQUVwQjs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLE1BQWE7UUFDbkMsSUFBSSxRQUFRLEdBQVksSUFBSSxDQUFDO1FBQzdCLEtBQUssSUFBSSxDQUFDLEdBQVcsQ0FBQyxFQUFFLEdBQUcsR0FBVyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDL0QsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ25CLFFBQVEsR0FBRyxLQUFLLENBQUM7Z0JBQ2pCLE1BQU07YUFDVDtTQUNKO1FBQ0QsT0FBTyxRQUFRLENBQUM7SUFDcEIsQ0FBQztJQUVELCtIQUErSDtJQUN4SCxNQUFNLENBQUMsZUFBZSxDQUFDLGNBQW1CLEVBQUUsV0FBaUI7UUFDaEUsSUFBSSxZQUFZLEdBQVEsU0FBUyxDQUFDO1FBRWxDLElBQUksV0FBVyxFQUFFO1lBQ2IsWUFBWSxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7U0FDcEM7YUFBTTtZQUNILFlBQVksR0FBRyxFQUFFLENBQUM7U0FDckI7UUFFRCxXQUFXLENBQUMsY0FBYyxDQUFDLGNBQWMsRUFBRSxDQUFDLEtBQVUsRUFBRSxHQUFXLEVBQUUsRUFBRTtZQUNuRSxZQUFZLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO1FBQzlCLENBQUMs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LFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssb0JBQW9CLENBQUM7SUFDOUUsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpc05pbGx9IGZyb20gXCIuLi9mdW5jdGlvbi9pcy1uaWxsLmZ1bmN0aW9uXCI7XHJcbmltcG9ydCB7bm90TmlsbH0gZnJvbSBcIi4uL2Z1bmN0aW9uL25vdC1uaWxsLmZ1bmN0aW9uXCI7XHJcblxyXG4vLyBTdGF0aWMgdXRpbGl0eSBmdW5jdGlvbiBob2xkZXIgcmVsYXRlZCB0byBvYmplY3RzLlxyXG5leHBvcnQgY2xhc3MgT2JqZWN0VXRpbHMge1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJucyB3aGV0aGVyIGFsbCBnaXZlbiB2YWx1ZXMgZXhpc3Q6IGZvciBhbGwgdmFsdWVzIGl0IGhvbGRzIHRoYXQgdGhleSBhcmUgbm90IG51bGwgbm9yIHVuZGVmaW5lZC4gU2hvcnQtY2lyY3VpdCBjaGVjay5cclxuICAgICAqIEBwYXJhbSB2YWx1ZXMgUmVzdCBwYXJhbWV0ZXJzIHdpdGggYWxsIG9iamVjdHMgdG8gY2hlY2sgZXhpc3RlbmNlIGZvci5cclxuICAgICAqIEByZXR1cm5zIFRydWUgaWYgQUxMIGdpdmVuIHZhbHVlcyBhcmUgbm90IG51bGwgbm9yIHVuZGVmaW5lZCwgb3RoZXJ3aXNlIGZhbHNlIChpZiBhdCBsZWFzdCBvbmUgdmFsdWUgd2FzIG51bGwgb3IgdW5kZWZpbmVkKVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIEFsbEV4aXN0KC4uLnZhbHVlczogYW55W10pOiBib29sZWFuIHtcclxuICAgICAgICBsZXQgYWxsRXhpc3Q6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgICAgIGZvciAobGV0IGk6IG51bWJlciA9IDAsIGxlbjogbnVtYmVyID0gdmFsdWVzLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XHJcbiAgICAgICAgICAgIGlmIChpc05pbGwodmFsdWVzW2ldKSkge1xyXG4gICAgICAgICAgICAgICAgYWxsRXhpc3QgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBhbGxFeGlzdDtcclxuICAgIH1cclxuXHJcbiAgICAvLyBSZXR1cm5zIGEgc2hhbGxvdyBjbG9uZSBvZiB0aGUgZ2l2ZW4gb3JpZ2luYWwgb2JqZWN0LiBUaGUgY2xvbmUgaXMgYSBTSU1QTEUgT0JKRUNUIHdpdGggdGhlIHNhbWUgcHJvcGVydGllcyBhcyB0aGUgb3JpZ2luYWwuXHJcbiAgICBwdWJsaWMgc3RhdGljIEdldFNoYWxsb3dDbG9uZShvcmlnaW5hbE9iamVjdDogYW55LCBvYmplY3RDbGFzcz86IGFueSk6IGFueSB7XHJcbiAgICAgICAgbGV0IGNsb25lZE9iamVjdDogYW55ID0gdW5kZWZpbmVkO1xyXG5cclxuICAgICAgICBpZiAob2JqZWN0Q2xhc3MpIHtcclxuICAgICAgICAgICAgY2xvbmVkT2JqZWN0ID0gbmV3IG9iamVjdENsYXNzKCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgY2xvbmVkT2JqZWN0ID0ge307XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBPYmplY3RVdGlscy5Gb3JPd25Qcm9wZXJ0eShvcmlnaW5hbE9iamVjdCwgKHZhbHVlOiBhbnksIGtleTogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICAgIGNsb25lZE9iamVjdFtrZXldID0gdmFsdWU7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHJldHVybiBjbG9uZWRPYmplY3Q7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDb3BpZXMgYWxsIHByb3BlcnRpZXMgZnJvbSBvYmplY3QgJ2Zyb20nIHRvIG9iamVjdCAndG8nLiBPdmVyd3JpdGVzIHByb3BlcnRpZXMgb24gb2JqZWN0ICd0bycgaWYgcHJvcGVydHkgYWxyZWFkeSBleGlzdHMuXHJcbiAgICAgKiBEb2VzIG5vdCBjb3B5IGZ1bmN0aW9ucywgb25seSBwcm9wZXJ0aWVzLlxyXG4gICAgICogQHBhcmFtIGZyb20gVGhlIHNvdXJjZSBvYmplY3QgZnJvbSB3aGljaCB0byBjb3B5IGFsbCBwcm9wZXJ0aWVzIG9mIHRvIHRoZSAndG8nIG9iamVjdC5cclxuICAgICAqIEBwYXJhbSB0byBUaGUgb2JqZWN0IHRvIHdoaWNoIHRoZSBwcm9wZXJ0aWVzIG9mIHRoZSAnZnJvbScgb2JqZWN0IHdpbGwgYmUgY29waWVkLlxyXG4gICAgICogQHBhcmFtIFthbGxvd1VuZGVmaW5lZCA9IHRydWVdIHdldGhlciB0aGUgJ3RvJyBvYmplY3QgbWF5IGJlIGFzc2lnbmVkIG51bGwgb3IgdW5kZWZpbmVkIHZhbHVlcyB0byBhbnkgb2YgaXRzIHByb3BlcnRpZXMuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgQ29weVByb3BlcnRpZXNGcm9tPFQ+KGZyb206IE9iamVjdCwgdG86IFQsIGFsbG93VW5kZWZpbmVkOiBib29sZWFuID0gdHJ1ZSk6IFQge1xyXG4gICAgICAgIGlmICghdG8pIHtcclxuICAgICAgICAgICAgdG8gPSB7fSBhcyBUO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoIWZyb20pIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRvO1xyXG4gICAgICAgIH1cclxuICAgICAgICBPYmplY3RVdGlscy5Gb3JPd25Qcm9wZXJ0eShmcm9tLCAodmFsdWU6IGFueSwga2V5OiBzdHJpbmcpID0+IHtcclxuICAgICAgICAgICAgaWYgKGFsbG93VW5kZWZpbmVkIHx8IG5vdE5pbGwodmFsdWUpKSB7XHJcbiAgICAgICAgICAgICAgICB0b1trZXldID0gdmFsdWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gdG87XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXR1cm5zIHRoZSBkaXNwbGF5IHZhbHVlIG9mIHRoZSBnaXZlbiBwcm9wZXJ0eSBvbiB0aGUgZ2l2ZW4gb2JqZWN0LCBhcyBhIHN0cmluZyAoPT0gdGhlIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgcHJvcGVydHkgdmFsdWUpLlxyXG4gICAgICogRG9lcyBub3QgcmV0dXJuIG51bGwgb3IgdW5kZWZpbmVkLCBidXQgcmV0dXJucyB0aGUgZ2l2ZW4gZGVmYXVsdFZhbHVlIGluc3RlYWQuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgR2V0RGlzcGxheVZhbHVlT2ZQcm9wZXJ0eU9uKG9iamVjdDogT2JqZWN0LCBwcm9wZXJ0eTogc3RyaW5nLCBkZWZhdWx0VmFsdWU6IHN0cmluZyA9IFwiXCIpOiBzdHJpbmcge1xyXG4gICAgICAgIGlmICghb2JqZWN0IHx8ICFwcm9wZXJ0eSkge1xyXG4gICAgICAgICAgICByZXR1cm4gZGVmYXVsdFZhbHVlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGV0IHJldHVyblZhbHVlOiBzdHJpbmcgPSBkZWZhdWx0VmFsdWU7XHJcbiAgICAgICAgbGV0IHByb3BlcnR5VmFsdWU6IGFueSA9IG9iamVjdFtwcm9wZXJ0eV07XHJcbiAgICAgICAgaWYgKHByb3BlcnR5VmFsdWUpIHtcclxuICAgICAgICAgICAgcmV0dXJuVmFsdWUgPSBwcm9wZXJ0eVZhbHVlLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gcmV0dXJuVmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gUGVyZm9ybXMgZ2l2ZW4gY2FsbGJhY2sgZnVuY3Rpb24gZm9yIGVhY2ggb3duIHByb3BlcnR5IG9mIGdpdmVuIHBsYWluIG9iamVjdC4gQWxzbyB3b3JrcyBvbiBzdHJpbmcgZW51bXMuXHJcbiAgICBwdWJsaWMgc3RhdGljIEZvck93blByb3BlcnR5KHBsYWluT2JqZWN0OiBhbnksIGNhbGxiYWNrOiAocHJvcFZhbDogYW55LCBrZXk6IHN0cmluZykgPT4gYW55KTogdm9pZCB7XHJcbiAgICAgICAgaWYgKE9iamVjdFV0aWxzLklzUGxhaW5PYmplY3QocGxhaW5PYmplY3QpKSB7XHJcbiAgICAgICAgICAgIGZvciAobGV0IGtleSBpbiBwbGFpbk9iamVjdCkge1xyXG4gICAgICAgICAgICAgICAgaWYgKHBsYWluT2JqZWN0Lmhhc093blByb3BlcnR5KGtleSkgJiYgdHlwZW9mIHBsYWluT2JqZWN0W2tleV0gIT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgcmVzcG9uc2U6IGJvb2xlYW4gPSBjYWxsYmFjayhwbGFpbk9iamVjdFtrZXldLCBrZXkpO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZSA9PT0gZmFsc2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIFJldHVybnMgd2hldGhlciBnaXZlbiBvYmplY3QgaXMgYW4gZXhpc3RpbmcsIHBsYWluIG9iamVjdC4gVGhhdCBpcywgaXQgZGVmaW5lZCwgaXRzIHR5cGUgaWYgJ29iamVjdCcgYW5kIGl0IGlzIE5PVCBhbiBhcnJheSBvciBmdW5jLlxyXG4gICAgcHVibGljIHN0YXRpYyBJc1BsYWluT2JqZWN0KG9iamVjdDogYW55KTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIG9iamVjdCAhPT0gbnVsbCAmJiAhQXJyYXkuaXNBcnJheShvYmplY3QpICYmIHR5cGVvZiBvYmplY3QgIT09ICdmdW5jdGlvbicgJiYgdHlwZW9mIG9iamVjdCA9PT0gJ29iamVjdCc7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHN0YXRpYyBEZWVwRXF1YWxzKGFjdHVhbDogYW55LCBleHBlY3RlZDogYW55KTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKGFjdHVhbCA9PT0gZXhwZWN0ZWQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfSBlbHNlIGlmIChhY3R1YWwgaW5zdGFuY2VvZiBEYXRlICYmIGV4cGVjdGVkIGluc3RhbmNlb2YgRGF0ZSkge1xyXG4gICAgICAgICAgICByZXR1cm4gYWN0dWFsLmdldFRpbWUoKSA9PT0gZXhwZWN0ZWQuZ2V0VGltZSgpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoIWFjdHVhbCB8fCAhZXhwZWN0ZWQgfHwgdHlwZW9mIGFjdHVhbCAhPT0gJ29iamVjdCcgJiYgdHlwZW9mIGV4cGVjdGVkICE9PSAnb2JqZWN0Jykge1xyXG4gICAgICAgICAgICByZXR1cm4gYWN0dWFsID09PSBleHBlY3RlZDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fb2JqRXF1aXYoYWN0dWFsLCBleHBlY3RlZCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc3RhdGljIF9vYmpFcXVpdihhOiBhbnksIGI6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGxldCBpOiBudW1iZXIsIGtleTogc3RyaW5nO1xyXG4gICAgICAgIGlmIChpc05pbGwoYSkgfHwgaXNOaWxsKGIpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChhLnByb3RvdHlwZSAhPT0gYi5wcm90b3R5cGUpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMuX2lzQXJndW1lbnRzKGEpKSB7XHJcbiAgICAgICAgICAgIGlmICghdGhpcy5faXNBcmd1bWVudHMoYikpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBhID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYSk7XHJcbiAgICAgICAgICAgIGIgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChiKTtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuRGVlcEVxdWFscyhhLCBiKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuX2lzQnVmZmVyKGEpKSB7XHJcbiAgICAgICAgICAgIGlmICghdGhpcy5faXNCdWZmZXIoYikpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoYS5sZW5ndGggIT09IGIubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IGEubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgICAgIGlmIChhW2ldICE9PSBiW2ldKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsZXQga2E6IHN0cmluZ1tdO1xyXG4gICAgICAgIGxldCBrYjogc3RyaW5nW107XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAga2EgPSBPYmplY3Qua2V5cyhhKTtcclxuICAgICAgICAgICAga2IgPSBPYmplY3Qua2V5cyhiKTtcclxuICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChrYS5sZW5ndGggIT09IGtiLmxlbmd0aCkge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBrYS5zb3J0KCk7XHJcbiAgICAgICAga2Iuc29ydCgpO1xyXG5cclxuICAgICAgICBmb3IgKGkgPSBrYS5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xyXG4gICAgICAgICAgICBpZiAoa2FbaV0gIT09IGtiW2ldKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGZvciAoaSA9IGthLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XHJcbiAgICAgICAgICAgIGtleSA9IGthW2ldO1xyXG4gICAgICAgICAgICBpZiAoIXRoaXMuRGVlcEVxdWFscyhhW2tleV0sIGJba2V5XSkpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdHlwZW9mIGEgPT09IHR5cGVvZiBiO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc3RhdGljIF9pc0J1ZmZlcih4OiBhbnkpOiBib29sZWFuIHtcclxuICAgICAgICBpZiAoIXggfHwgdHlwZW9mIHggIT09ICdvYmplY3QnIHx8IHR5cGVvZiB4Lmxlbmd0aCAhPT0gJ251bWJlcicpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodHlwZW9mIHguY29weSAhPT0gJ2Z1bmN0aW9uJyB8fCB0eXBlb2YgeC5zbGljZSAhPT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiAhKHgubGVuZ3RoID4gMCAmJiB0eXBlb2YgeFswXSAhPT0gJ251bWJlcicpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc3RhdGljIF9pc0FyZ3VtZW50cyh4OiBhbnkpOiBib29sZWFuIHtcclxuICAgICAgICBsZXQgc3VwcG9ydHNBcmdzQ2xhc3M6IGJvb2xlYW4gPSB0aGlzLl9zdXBwb3J0c0FyZ3VtZW50c0NsYXNzKCk7XHJcbiAgICAgICAgcmV0dXJuIHN1cHBvcnRzQXJnc0NsYXNzID8gdGhpcy5faXNBcmd1bWVudHNXaGVuQXJnc0NsYXNzU3VwcG9ydGVkKHgpIDogdGhpcy5faXNBcmd1bWVudHNXaGVuQXJnc0NsYXNzTm90U3VwcG9ydGVkKHgpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc3RhdGljIF9pc0FyZ3VtZW50c1doZW5BcmdzQ2xhc3NOb3RTdXBwb3J0ZWQob2JqZWN0OiBhbnkpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gb2JqZWN0ICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBvYmplY3QgPT09ICdvYmplY3QnICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBvYmplY3QubGVuZ3RoID09PSAnbnVtYmVyJyAmJlxyXG4gICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LCAnY2FsbGVlJykgJiZcclxuICAgICAgICAgICAgIU9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChvYmplY3QsICdjYWxsZWUnKSB8fFxyXG4gICAgICAgICAgICBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHN0YXRpYyBfaXNBcmd1bWVudHNXaGVuQXJnc0NsYXNzU3VwcG9ydGVkKG9iamVjdDogYW55KTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChvYmplY3QpID09PSAnW29iamVjdCBBcmd1bWVudHNdJztcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHN0YXRpYyBfc3VwcG9ydHNBcmd1bWVudHNDbGFzcygpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGFyZ3VtZW50cykgPT09ICdbb2JqZWN0IEFyZ3VtZW50c10nO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,94 +1,94 @@
|
|
|
1
|
-
import { notNill } from "../function/not-nill.function";
|
|
2
|
-
import { ArrayUtils } from './array-utils';
|
|
3
|
-
// @dynamic
|
|
4
|
-
export class StringUtils {
|
|
5
|
-
// Returns the given argument as a string. Returns given defaultValue if conversion of argument to string was impossible.
|
|
6
|
-
static ParseString(arg, defaultValue = '') {
|
|
7
|
-
if (!StringUtils.IsString(arg)) {
|
|
8
|
-
if (arg && typeof arg.toString === 'function') {
|
|
9
|
-
arg = arg.toString();
|
|
10
|
-
}
|
|
11
|
-
else {
|
|
12
|
-
arg = defaultValue;
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
return arg;
|
|
16
|
-
}
|
|
17
|
-
static AsLowerCaseIfString(str) {
|
|
18
|
-
if (StringUtils.IsString(str)) {
|
|
19
|
-
return str.toLowerCase();
|
|
20
|
-
}
|
|
21
|
-
else {
|
|
22
|
-
return str;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Example usage:
|
|
27
|
-
* str = 'File is to large to upload. Maximum file size is {0} Mb'
|
|
28
|
-
* format = [FileUtils.MaxUploadSizeInMb]
|
|
29
|
-
* output = File is to large to upload. Maximum file size is 3 Mb
|
|
30
|
-
*
|
|
31
|
-
* str = '{0} is way better than {1}'
|
|
32
|
-
* format = ['Angular2','Angular1']
|
|
33
|
-
* output = Angular2 is way better than Angular1
|
|
34
|
-
*
|
|
35
|
-
* @param str The string that contains {0} and {1} etc, for replacement by given format data
|
|
36
|
-
* @param format The format replacement data
|
|
37
|
-
*/
|
|
38
|
-
static Format(str, format) {
|
|
39
|
-
let args = Array.prototype.slice.call(format);
|
|
40
|
-
return str.replace(/{(\d+)}/g, function (match, number) {
|
|
41
|
-
return typeof args[number] !== 'undefined' ? (args[number] !== null ? args[number] : "") : "";
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
static IsString(str) {
|
|
45
|
-
return typeof str === 'string';
|
|
46
|
-
}
|
|
47
|
-
// Returns whether given str is a string and has a length > 0.
|
|
48
|
-
static IsStringWithLength(str) {
|
|
49
|
-
return notNill(str) && StringUtils.IsString(str) && str.length > 0;
|
|
50
|
-
}
|
|
51
|
-
// Returns a new string string with N amount of characters removed from the end of it.
|
|
52
|
-
static RemoveLastChars(str, amount) {
|
|
53
|
-
if (str) {
|
|
54
|
-
return str.slice(0, -1 * amount);
|
|
55
|
-
}
|
|
56
|
-
else {
|
|
57
|
-
return str;
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
static StringToStringArray(str) {
|
|
61
|
-
if (!str) {
|
|
62
|
-
return [];
|
|
63
|
-
}
|
|
64
|
-
const strArray = str.split(" ");
|
|
65
|
-
ArrayUtils.RemoveElementsByFilter(strArray, (txt) => {
|
|
66
|
-
return !txt || txt === "";
|
|
67
|
-
});
|
|
68
|
-
return strArray;
|
|
69
|
-
}
|
|
70
|
-
static CloneStringArray(strArray) {
|
|
71
|
-
const clone = [];
|
|
72
|
-
if (strArray) {
|
|
73
|
-
for (let i = 0, len = strArray.length; i < len; i++) {
|
|
74
|
-
clone.push(strArray[i]);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
return clone;
|
|
78
|
-
}
|
|
79
|
-
static ToStringOrDefault(arg, defaultReturnVal = "") {
|
|
80
|
-
if (notNill(arg) && arg.toString) {
|
|
81
|
-
return arg.toString();
|
|
82
|
-
}
|
|
83
|
-
else {
|
|
84
|
-
return defaultReturnVal;
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
static CreateGuid() {
|
|
88
|
-
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {
|
|
89
|
-
const r = Math.random() * 16 | 0;
|
|
90
|
-
return (c === 'x' ? r : (r & 0x3 | 0x8)).toString(16);
|
|
91
|
-
});
|
|
92
|
-
}
|
|
93
|
-
}
|
|
1
|
+
import { notNill } from "../function/not-nill.function";
|
|
2
|
+
import { ArrayUtils } from './array-utils';
|
|
3
|
+
// @dynamic
|
|
4
|
+
export class StringUtils {
|
|
5
|
+
// Returns the given argument as a string. Returns given defaultValue if conversion of argument to string was impossible.
|
|
6
|
+
static ParseString(arg, defaultValue = '') {
|
|
7
|
+
if (!StringUtils.IsString(arg)) {
|
|
8
|
+
if (arg && typeof arg.toString === 'function') {
|
|
9
|
+
arg = arg.toString();
|
|
10
|
+
}
|
|
11
|
+
else {
|
|
12
|
+
arg = defaultValue;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
return arg;
|
|
16
|
+
}
|
|
17
|
+
static AsLowerCaseIfString(str) {
|
|
18
|
+
if (StringUtils.IsString(str)) {
|
|
19
|
+
return str.toLowerCase();
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
return str;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Example usage:
|
|
27
|
+
* str = 'File is to large to upload. Maximum file size is {0} Mb'
|
|
28
|
+
* format = [FileUtils.MaxUploadSizeInMb]
|
|
29
|
+
* output = File is to large to upload. Maximum file size is 3 Mb
|
|
30
|
+
*
|
|
31
|
+
* str = '{0} is way better than {1}'
|
|
32
|
+
* format = ['Angular2','Angular1']
|
|
33
|
+
* output = Angular2 is way better than Angular1
|
|
34
|
+
*
|
|
35
|
+
* @param str The string that contains {0} and {1} etc, for replacement by given format data
|
|
36
|
+
* @param format The format replacement data
|
|
37
|
+
*/
|
|
38
|
+
static Format(str, format) {
|
|
39
|
+
let args = Array.prototype.slice.call(format);
|
|
40
|
+
return str.replace(/{(\d+)}/g, function (match, number) {
|
|
41
|
+
return typeof args[number] !== 'undefined' ? (args[number] !== null ? args[number] : "") : "";
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
static IsString(str) {
|
|
45
|
+
return typeof str === 'string';
|
|
46
|
+
}
|
|
47
|
+
// Returns whether given str is a string and has a length > 0.
|
|
48
|
+
static IsStringWithLength(str) {
|
|
49
|
+
return notNill(str) && StringUtils.IsString(str) && str.length > 0;
|
|
50
|
+
}
|
|
51
|
+
// Returns a new string string with N amount of characters removed from the end of it.
|
|
52
|
+
static RemoveLastChars(str, amount) {
|
|
53
|
+
if (str) {
|
|
54
|
+
return str.slice(0, -1 * amount);
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
return str;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
static StringToStringArray(str) {
|
|
61
|
+
if (!str) {
|
|
62
|
+
return [];
|
|
63
|
+
}
|
|
64
|
+
const strArray = str.split(" ");
|
|
65
|
+
ArrayUtils.RemoveElementsByFilter(strArray, (txt) => {
|
|
66
|
+
return !txt || txt === "";
|
|
67
|
+
});
|
|
68
|
+
return strArray;
|
|
69
|
+
}
|
|
70
|
+
static CloneStringArray(strArray) {
|
|
71
|
+
const clone = [];
|
|
72
|
+
if (strArray) {
|
|
73
|
+
for (let i = 0, len = strArray.length; i < len; i++) {
|
|
74
|
+
clone.push(strArray[i]);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
return clone;
|
|
78
|
+
}
|
|
79
|
+
static ToStringOrDefault(arg, defaultReturnVal = "") {
|
|
80
|
+
if (notNill(arg) && arg.toString) {
|
|
81
|
+
return arg.toString();
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
return defaultReturnVal;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
static CreateGuid() {
|
|
88
|
+
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {
|
|
89
|
+
const r = Math.random() * 16 | 0;
|
|
90
|
+
return (c === 'x' ? r : (r & 0x3 | 0x8)).toString(16);
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
94
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZWNvbXBvbmVudHMvc3JjL2xpYi9jb3JlL3V0aWxzL3N0cmluZy11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxXQUFXO0FBQ1gsTUFBTSxPQUFPLFdBQVc7SUFDcEIseUhBQXlIO0lBQ2xILE1BQU0sQ0FBQyxXQUFXLENBQUMsR0FBUSxFQUFFLGVBQXVCLEVBQUU7UUFDekQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDNUIsSUFBSSxHQUFHLElBQUksT0FBTyxHQUFHLENBQUMsUUFBUSxLQUFLLFVBQVUsRUFBRTtnQkFDM0MsR0FBRyxHQUFHLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQzthQUN4QjtpQkFBTTtnQkFDSCxHQUFHLEdBQUcsWUFBWSxDQUFDO2FBQ3RCO1NBQ0o7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNmLENBQUM7SUFFTSxNQUFNLENBQUMsbUJBQW1CLENBQUMsR0FBUTtRQUN0QyxJQUFJLFdBQVcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDM0IsT0FBTyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDNUI7YUFBTTtZQUNILE9BQU8sR0FBRyxDQUFDO1NBQ2Q7SUFDTCxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7OztPQVlHO0lBQ0ksTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFXLEVBQUUsTUFBYTtRQUMzQyxJQUFJLElBQUksR0FBUSxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkQsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLFVB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ZnVuY3Rpb24vbm90LW5pbGwuZnVuY3Rpb25cIjtcclxuaW1wb3J0IHsgQXJyYXlVdGlscyB9IGZyb20gJy4vYXJyYXktdXRpbHMnO1xyXG5cclxuLy8gQGR5bmFtaWNcclxuZXhwb3J0IGNsYXNzIFN0cmluZ1V0aWxzIHtcclxuICAgIC8vIFJldHVybnMgdGhlIGdpdmVuIGFyZ3VtZW50IGFzIGEgc3RyaW5nLiBSZXR1cm5zIGdpdmVuIGRlZmF1bHRWYWx1ZSBpZiBjb252ZXJzaW9uIG9mIGFyZ3VtZW50IHRvIHN0cmluZyB3YXMgaW1wb3NzaWJsZS5cclxuICAgIHB1YmxpYyBzdGF0aWMgUGFyc2VTdHJpbmcoYXJnOiBhbnksIGRlZmF1bHRWYWx1ZTogc3RyaW5nID0gJycpOiBzdHJpbmcge1xyXG4gICAgICAgIGlmICghU3RyaW5nVXRpbHMuSXNTdHJpbmcoYXJnKSkge1xyXG4gICAgICAgICAgICBpZiAoYXJnICYmIHR5cGVvZiBhcmcudG9TdHJpbmcgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgICAgICAgICAgIGFyZyA9IGFyZy50b1N0cmluZygpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgYXJnID0gZGVmYXVsdFZhbHVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBhcmc7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHN0YXRpYyBBc0xvd2VyQ2FzZUlmU3RyaW5nKHN0cjogYW55KTogYW55IHtcclxuICAgICAgICBpZiAoU3RyaW5nVXRpbHMuSXNTdHJpbmcoc3RyKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gc3RyLnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIHN0cjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBFeGFtcGxlIHVzYWdlOlxyXG4gICAgICogc3RyID0gJ0ZpbGUgaXMgdG8gbGFyZ2UgdG8gdXBsb2FkLiBNYXhpbXVtIGZpbGUgc2l6ZSBpcyB7MH0gTWInXHJcbiAgICAgKiBmb3JtYXQgPSBbRmlsZVV0aWxzLk1heFVwbG9hZFNpemVJbk1iXVxyXG4gICAgICogb3V0cHV0ID0gRmlsZSBpcyB0byBsYXJnZSB0byB1cGxvYWQuIE1heGltdW0gZmlsZSBzaXplIGlzIDMgTWJcclxuICAgICAqXHJcbiAgICAgKiBzdHIgPSAnezB9IGlzIHdheSBiZXR0ZXIgdGhhbiB7MX0nXHJcbiAgICAgKiBmb3JtYXQgPSBbJ0FuZ3VsYXIyJywnQW5ndWxhcjEnXVxyXG4gICAgICogb3V0cHV0ID0gQW5ndWxhcjIgaXMgd2F5IGJldHRlciB0aGFuIEFuZ3VsYXIxXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIHN0ciBUaGUgc3RyaW5nIHRoYXQgY29udGFpbnMgezB9IGFuZCB7MX0gZXRjLCBmb3IgcmVwbGFjZW1lbnQgYnkgZ2l2ZW4gZm9ybWF0IGRhdGFcclxuICAgICAqIEBwYXJhbSBmb3JtYXQgVGhlIGZvcm1hdCByZXBsYWNlbWVudCBkYXRhXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgRm9ybWF0KHN0cjogc3RyaW5nLCBmb3JtYXQ6IGFueVtdKTogc3RyaW5nIHtcclxuICAgICAgICBsZXQgYXJnczogYW55ID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZm9ybWF0KTtcclxuICAgICAgICByZXR1cm4gc3RyLnJlcGxhY2UoL3soXFxkKyl9L2csIGZ1bmN0aW9uIChtYXRjaDogYW55LCBudW1iZXI6IGFueSk6IHN0cmluZyB7XHJcbiAgICAgICAgICAgIHJldHVybiB0eXBlb2YgYXJnc1tudW1iZXJdICE9PSAndW5kZWZpbmVkJyA/IChhcmdzW251bWJlcl0gIT09IG51bGwgPyBhcmdzW251bWJlcl0gOiBcIlwiKSA6IFwiXCI7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHN0YXRpYyBJc1N0cmluZyhzdHI6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0eXBlb2Ygc3RyID09PSAnc3RyaW5nJztcclxuICAgIH1cclxuXHJcbiAgICAvLyBSZXR1cm5zIHdoZXRoZXIgZ2l2ZW4gc3RyIGlzIGEgc3RyaW5nIGFuZCBoYXMgYSBsZW5ndGggPiAwLlxyXG4gICAgcHVibGljIHN0YXRpYyBJc1N0cmluZ1dpdGhMZW5ndGgoc3RyOiBhbnkpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gbm90TmlsbChzdHIpICYmIFN0cmluZ1V0aWxzLklzU3RyaW5nKHN0cikgJiYgc3RyLmxlbmd0aCA+IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gUmV0dXJucyBhIG5ldyBzdHJpbmcgc3RyaW5nIHdpdGggTiBhbW91bnQgb2YgY2hhcmFjdGVycyByZW1vdmVkIGZyb20gdGhlIGVuZCBvZiBpdC5cclxuICAgIHB1YmxpYyBzdGF0aWMgUmVtb3ZlTGFzdENoYXJzKHN0cjogc3RyaW5nLCBhbW91bnQ6IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICAgICAgaWYgKHN0cikge1xyXG4gICAgICAgICAgICByZXR1cm4gc3RyLnNsaWNlKDAsIC0xICogYW1vdW50KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gc3RyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIFN0cmluZ1RvU3RyaW5nQXJyYXkoc3RyOiBzdHJpbmcpOiBzdHJpbmdbXSB7XHJcbiAgICAgICAgaWYgKCFzdHIpIHtcclxuICAgICAgICAgICAgcmV0dXJuIFtdO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3Qgc3RyQXJyYXk6IHN0cmluZ1tdID0gc3RyLnNwbGl0KFwiIFwiKTtcclxuICAgICAgICBBcnJheVV0aWxzLlJlbW92ZUVsZW1lbnRzQnlGaWx0ZXIoc3RyQXJyYXksICh0eHQ6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gIXR4dCB8fCB0eHQgPT09IFwiXCI7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuIHN0ckFycmF5O1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzdGF0aWMgQ2xvbmVTdHJpbmdBcnJheShzdHJBcnJheTogc3RyaW5nW10pOiBzdHJpbmdbXSB7XHJcbiAgICAgICAgY29uc3QgY2xvbmU6IHN0cmluZ1tdID0gW107XHJcbiAgICAgICAgaWYgKHN0ckFycmF5KSB7XHJcbiAgICAgICAgICAgIGZvciAobGV0IGk6IG51bWJlciA9IDAsIGxlbjogbnVtYmVyID0gc3RyQXJyYXkubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcclxuICAgICAgICAgICAgICAgIGNsb25lLnB1c2goc3RyQXJyYXlbaV0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBjbG9uZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIFRvU3RyaW5nT3JEZWZhdWx0KGFyZzogYW55LCBkZWZhdWx0UmV0dXJuVmFsOiBzdHJpbmcgPSBcIlwiKTogc3RyaW5nIHtcclxuICAgICAgICBpZiAobm90TmlsbChhcmcpICYmIGFyZy50b1N0cmluZykge1xyXG4gICAgICAgICAgICByZXR1cm4gYXJnLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIGRlZmF1bHRSZXR1cm5WYWw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzdGF0aWMgQ3JlYXRlR3VpZCgpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiAneHh4eHh4eHgteHh4eC00eHh4LXl4eHgteHh4eHh4eHh4eHh4Jy5yZXBsYWNlKC9beHldL2csIChjOiBzdHJpbmcpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgcjogbnVtYmVyID0gTWF0aC5yYW5kb20oKSAqIDE2IHwgMDtcclxuICAgICAgICAgICAgcmV0dXJuIChjID09PSAneCcgPyByIDogKHIgJiAweDMgfCAweDgpKS50b1N0cmluZygxNik7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export function emailValidator(control) {
|
|
2
|
-
const emailRegex = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
|
|
3
|
-
const isValid = !!emailRegex.test(control.value);
|
|
4
|
-
return isValid ? null : { 'email': 'MESSAGE_EMAIL_NOT_CORRECT' };
|
|
5
|
-
}
|
|
1
|
+
export function emailValidator(control) {
|
|
2
|
+
const emailRegex = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
|
|
3
|
+
const isValid = !!emailRegex.test(control.value);
|
|
4
|
+
return isValid ? null : { 'email': 'MESSAGE_EMAIL_NOT_CORRECT' };
|
|
5
|
+
}
|
|
6
6
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwudmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZWNvbXBvbmVudHMvc3JjL2xpYi9jb3JlL3ZhbGlkYXRvci9lbWFpbC52YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxVQUFVLGNBQWMsQ0FBQyxPQUF3QjtJQUVuRCxNQUFNLFVBQVUsR0FBUSx3SkFBd0osQ0FBQztJQUNqTCxNQUFNLE9BQU8sR0FBWSxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFMUQsT0FBTyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBQyxPQUFPLEVBQUUsMkJBQTJCLEVBQUMsQ0FBQztBQUVuRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnN9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBlbWFpbFZhbGlkYXRvcihjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XHJcblxyXG4gICAgY29uc3QgZW1haWxSZWdleDogYW55ID0gL14oKFtePD4oKVxcW1xcXVxcXFwuLDs6XFxzQFwiXSsoXFwuW148PigpXFxbXFxdXFxcXC4sOzpcXHNAXCJdKykqKXwoXCIuK1wiKSlAKChcXFtbMC05XXsxLDN9XFwuWzAtOV17MSwzfVxcLlswLTldezEsM31cXC5bMC05XXsxLDN9XSl8KChbYS16QS1aXFwtMC05XStcXC4pK1thLXpBLVpdezIsfSkpJC87XHJcbiAgICBjb25zdCBpc1ZhbGlkOiBib29sZWFuID0gISFlbWFpbFJlZ2V4LnRlc3QoY29udHJvbC52YWx1ZSk7XHJcblxyXG4gICAgcmV0dXJuIGlzVmFsaWQgPyBudWxsIDogeydlbWFpbCc6ICdNRVNTQUdFX0VNQUlMX05PVF9DT1JSRUNUJ307XHJcblxyXG59Il19
|