@colijnit/transaction 12.1.58 → 12.1.60
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-transaction.umd.js +2705 -2160
- package/bundles/colijnit-transaction.umd.js.map +1 -1
- package/colijnit-transaction.d.ts +223 -203
- package/colijnit-transaction.metadata.json +1 -1
- package/esm2015/colijnit-transaction.js +224 -204
- package/esm2015/lib/assets/dictionary/text.properties.js +9 -1
- package/esm2015/lib/cache/parameter-cache-field.js +2 -2
- package/esm2015/lib/cache/service/business-object-cache-manager.service.js +2 -2
- package/esm2015/lib/cache/service/select-multiple-cache.service.js +1 -1
- package/esm2015/lib/cache/service/select-multiple-parameterized-cache.service.js +1 -1
- package/esm2015/lib/cache/service/select-single-cache.service.js +1 -1
- package/esm2015/lib/component/animated-checkbox/animated-checkbox.component.js +27 -0
- package/esm2015/lib/component/animated-checkbox/animated-checkbox.module.js +21 -0
- package/esm2015/lib/component/avatar/avatar.component.js +8 -5
- package/esm2015/lib/component/checkout/checkout-overview-delivery-address/checkout-overview-delivery-address.component.js +1 -1
- package/esm2015/lib/component/checkout/checkout-overview-delivery-edit/checkout-overview-delivery-edit.component.js +85 -94
- package/esm2015/lib/component/checkout/checkout-overview-payment/checkout-overview-payment.component.js +2 -2
- package/esm2015/lib/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component.js +54 -163
- package/esm2015/lib/component/checkout/checkout.component.js +6 -3
- package/esm2015/lib/component/confirmation-dialog/confirmation-dialog.component.js +2 -2
- package/esm2015/lib/component/core/base/components/characteristic-answer/characteristic-answer.component.js +2 -2
- package/esm2015/lib/component/core/base/components/warehouse/warehouse.component.js +2 -2
- package/esm2015/lib/component/core/base/dialog-transaction-line-base.component.js +6 -2
- package/esm2015/lib/component/core/base/transaction-filter-popup-base.component.js +8 -7
- package/esm2015/lib/component/core/base/transaction-header-base.component.js +3 -3
- package/esm2015/lib/component/core/base/transaction-header-filter-popup-base.component.js +111 -0
- package/esm2015/lib/component/core/base/transaction-line-base.component.js +2 -4
- package/esm2015/lib/component/core/base/transaction-lines-line-base.component.js +5 -3
- package/esm2015/lib/component/core/core.module.js +1 -4
- package/esm2015/lib/component/core/relation/customer-groups.component.js +4 -1
- package/esm2015/lib/component/dialog/transaction-header/dialog-transaction-header-delivery-method/dialog-transaction-header-delivery-method.component.js +2 -2
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-commission-code/dialog-transaction-line-commission-code.component.js +2 -2
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-delivery-method/dialog-transaction-line-delivery-method.component.js +2 -2
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-discount/dialog-transaction-line-discount.component.js +3 -7
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-price-list/dialog-transaction-line-price-list.component.js +2 -2
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-supplier/dialog-transaction-line-supplier.component.js +37 -0
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-supplier/dialog-transaction-line-supplier.module.js +28 -0
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-vat/dialog-transaction-line-vat.component.js +2 -2
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse/dialog-transaction-line-warehouse.component.js +2 -2
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/dialog-transaction-line-warehouse-cc.component.js +2 -2
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-location/dialog-transaction-line-warehouse-location.component.js +2 -2
- package/esm2015/lib/component/down-payment/down-payment.component.js +2 -2
- package/esm2015/lib/component/down-payment/down-payment.module.js +4 -2
- package/esm2015/lib/component/editable-label/editable-label.component.js +4 -1
- package/esm2015/lib/component/loader/loader.component.js +51 -0
- package/esm2015/lib/component/loader/loader.module.js +19 -0
- package/esm2015/lib/component/payment/payment.component.js +14 -11
- package/esm2015/lib/component/payment/payment.module.js +4 -2
- package/esm2015/lib/component/payment-qr-code/payment-qr-code.component.js +2 -2
- package/esm2015/lib/component/payment-qr-code/payment-qr-code.module.js +4 -2
- package/esm2015/lib/component/quick-send-button/quick-send-button.component.js +116 -0
- package/esm2015/lib/component/quick-send-button/quick-send-button.module.js +27 -0
- package/esm2015/lib/component/relation/relation-address/relation-address.component.js +4 -4
- package/esm2015/lib/component/relation/relation-address-select/relation-address-select.component.js +7 -8
- package/esm2015/lib/component/relation/relation-address-tile/relation-address-tile.component.js +6 -2
- package/esm2015/lib/component/relation/relation-addresses/relation-addresses.component.js +37 -43
- package/esm2015/lib/component/relation/relation-addresses/relation-addresses.module.js +5 -3
- package/esm2015/lib/component/relation/relation-base.component.js +2 -2
- package/esm2015/lib/component/relation/relation-contact-details/relation-contact-details.component.js +10 -8
- package/esm2015/lib/component/relation/relation-general/relation-general.component.js +40 -16
- package/esm2015/lib/component/relation/relation-preferences/relation-preferences.component.js +6 -3
- package/esm2015/lib/component/relation/relation-suggestions-list/relation-suggestions-list.component.js +1 -1
- package/esm2015/lib/component/relation/relation-suggestions-list-item/relation-suggestions-list-item.component.js +1 -1
- package/esm2015/lib/component/relation/relation-type/relation-type.component.js +7 -3
- package/esm2015/lib/component/shared/transaction-article-text-overview/transaction-article-text-overview.component.js +5 -6
- package/esm2015/lib/component/shared/transaction-article-text-overview/transaction-article-text-overview.module.js +1 -5
- package/esm2015/lib/component/shopping-cart/shopping-cart.component.js +2 -2
- package/esm2015/lib/component/tile/tile.component.js +2 -2
- package/esm2015/lib/component/transaction/transaction.component.js +7 -3
- package/esm2015/lib/component/transaction/transaction.module.js +6 -2
- package/esm2015/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-button-bar-button-base.component.js +37 -0
- package/esm2015/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-button-bar-button.component.js +55 -11
- package/esm2015/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-sales-purchase-button-bar-button.component.js +40 -0
- package/esm2015/lib/component/transaction-button-bar/transaction-button-bar.component.js +4 -1
- package/esm2015/lib/component/transaction-button-bar/transaction-button-bar.module.js +10 -3
- package/esm2015/lib/component/transaction-header/transaction-header/transaction-header.component.js +2 -2
- package/esm2015/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.component.js +4 -9
- package/esm2015/lib/component/transaction-header/transaction-header-relation/transaction-header-relation.component.js +125 -57
- package/esm2015/lib/component/transaction-header/transaction-header-relation/transaction-header-relation.module.js +5 -3
- package/esm2015/lib/component/transaction-header-fields/transaction-header-administrative-relation.component.js +9 -6
- package/esm2015/lib/component/transaction-header-fields/transaction-header-branch.component.js +8 -5
- package/esm2015/lib/component/transaction-header-fields/transaction-header-delivery-method.component.js +16 -6
- package/esm2015/lib/component/transaction-header-fields/transaction-header-delivery-method.module.js +4 -3
- package/esm2015/lib/component/transaction-header-fields/transaction-header-partial-delivery.component.js +9 -3
- package/esm2015/lib/component/transaction-line/transaction-base-line/transaction-base-line.component.js +10 -8
- package/esm2015/lib/component/transaction-line/transaction-order-delivery-line/service/transaction-order-delivery.service.js +15 -0
- package/esm2015/lib/component/transaction-line/transaction-order-delivery-line/transaction-order-delivery-line.component.js +56 -30
- package/esm2015/lib/component/transaction-line/transaction-order-delivery-line/transaction-order-delivery-line.module.js +4 -3
- package/esm2015/lib/component/transaction-line/transaction-overview-line/transaction-overview-line.component.js +6 -31
- package/esm2015/lib/component/transaction-line/transaction-overview-line/transaction-overview-line.module.js +4 -2
- package/esm2015/lib/component/transaction-line/transaction-purchase-line/transaction-purchase-line.component.js +87 -0
- package/esm2015/lib/component/transaction-line/transaction-purchase-line/transaction-purchase-line.module.js +45 -0
- package/esm2015/lib/component/transaction-line-checkbox-list/transaction-line-checkbox-list.component.js +2 -2
- package/esm2015/lib/component/transaction-line-fields/transaction-line-amount.component.js +47 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-amount.module.js +21 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-commission-button.component.js +1 -1
- package/esm2015/lib/component/transaction-line-fields/transaction-line-commission-code.component.js +3 -3
- package/esm2015/lib/component/transaction-line-fields/transaction-line-delivery-method.component.js +3 -3
- package/esm2015/lib/component/transaction-line-fields/transaction-line-price-list.component.js +3 -3
- package/esm2015/lib/component/transaction-line-fields/transaction-line-supplier-button.component.js +50 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-supplier-button.module.js +28 -0
- package/esm2015/lib/component/transaction-line-fields/transaction-line-supplier.component.js +27 -26
- package/esm2015/lib/component/transaction-line-fields/transaction-line-supplier.module.js +4 -2
- package/esm2015/lib/component/transaction-line-fields/transaction-line-vat.component.js +3 -3
- package/esm2015/lib/component/transaction-line-fields/transaction-line-warehouse-location.component.js +3 -3
- package/esm2015/lib/component/transaction-line-fields/transaction-line-warehouse.component.js +3 -3
- package/esm2015/lib/component/transaction-line-side-panel-purchase/transaction-line-side-panel-purchase.component.js +1 -2
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access/transaction-quick-access.component.js +10 -7
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access/transaction-quick-access.module.js +4 -2
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-order-delivery/transaction-quick-access-order-delivery.component.js +24 -22
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-order-delivery/transaction-quick-access-order-delivery.module.js +4 -2
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-order-purchase/transaction-quick-access-order-purchase.component.js +52 -0
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-order-purchase/transaction-quick-access-order-purchase.module.js +28 -0
- package/esm2015/lib/component/transaction-search/service/transaction-search.service.js +2 -2
- package/esm2015/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-article/transaction-purchase-order-filter-content-article.component.js +9 -6
- package/esm2015/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-order/transaction-purchase-order-filter-content-order.component.js +7 -4
- package/esm2015/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-article/transaction-sales-order-filter-content-article.component.js +9 -6
- package/esm2015/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-order/transaction-sales-order-filter-content-order.component.js +9 -6
- package/esm2015/lib/component/transaction-send-button-dialog/transaction-send-button-dialog.component.js +75 -0
- package/esm2015/lib/component/transaction-send-button-dialog/transaction-send-button-dialog.module.js +25 -0
- package/esm2015/lib/enum/icon.enum.js +2 -1
- package/esm2015/lib/model/icon-svg.js +2 -1
- package/esm2015/lib/model/relation-any-type.js +1 -1
- package/esm2015/lib/model/transaction-bar-button.js +2 -3
- package/esm2015/lib/pipe/co-currency.pipe.js +2 -2
- package/esm2015/lib/pipe/date-duration.pipe.js +2 -2
- package/esm2015/lib/pipe/delivery-time.pipe.js +2 -2
- package/esm2015/lib/service/article-connector.service.js +10 -6
- package/esm2015/lib/service/dictionary.service.js +2 -2
- package/esm2015/lib/service/error.service.js +1 -1
- package/esm2015/lib/service/payment.service.js +1 -1
- package/esm2015/lib/service/pending-reason.service.js +31 -31
- package/esm2015/lib/service/relation-connector.service.js +192 -0
- package/esm2015/lib/service/relation.service.js +120 -0
- package/esm2015/lib/service/shared-connector.service.js +2 -2
- package/esm2015/lib/service/shared.service.js +10 -6
- package/esm2015/lib/service/transaction-connector-adapter.service.js +108 -93
- package/esm2015/lib/service/transaction-connector.service.js +36 -45
- package/esm2015/lib/service/transaction-event.service.js +6 -2
- package/esm2015/lib/service/transaction-mapping.service.js +8 -2
- package/esm2015/lib/service/transaction.service.js +68 -75
- package/esm2015/public_api.js +3 -1
- package/fesm2015/colijnit-transaction.js +2487 -1995
- package/fesm2015/colijnit-transaction.js.map +1 -1
- package/lib/cache/service/business-object-cache-manager.service.d.ts +2 -1
- package/lib/cache/service/select-multiple-cache.service.d.ts +1 -1
- package/lib/cache/service/select-multiple-parameterized-cache.service.d.ts +1 -1
- package/lib/cache/service/select-single-cache.service.d.ts +2 -1
- package/lib/component/animated-checkbox/animated-checkbox.component.d.ts +5 -0
- package/lib/component/animated-checkbox/animated-checkbox.module.d.ts +2 -0
- package/lib/component/animated-checkbox/style/_layout.scss +78 -0
- package/lib/component/animated-checkbox/style/_material-definition.scss +13 -0
- package/lib/component/animated-checkbox/style/_theme.scss +4 -0
- package/lib/component/animated-checkbox/style/material.scss +4 -0
- package/lib/component/avatar/avatar.component.d.ts +5 -3
- package/lib/component/checkout/checkout-overview-delivery-address/checkout-overview-delivery-address.component.d.ts +1 -1
- package/lib/component/checkout/checkout-overview-delivery-edit/checkout-overview-delivery-edit.component.d.ts +3 -5
- package/lib/component/checkout/checkout-overview-delivery-edit/style/_layout.scss +95 -90
- package/lib/component/checkout/checkout-overview-delivery-edit/style/_material-definition.scss +0 -10
- package/lib/component/checkout/checkout-overview-delivery-edit/style/_theme.scss +0 -8
- package/lib/component/checkout/checkout-overview-payment/checkout-overview-payment.component.d.ts +2 -2
- package/lib/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component.d.ts +9 -18
- package/lib/component/checkout/checkout-overview-relation-edit/style/_layout.scss +0 -84
- package/lib/component/checkout/checkout-overview-relation-edit/style/_material-definition.scss +0 -16
- package/lib/component/checkout/style/_layout.scss +86 -1
- package/lib/component/checkout/style/_material-definition.scss +7 -0
- package/lib/component/core/base/components/characteristic-answer/style/_layout.scss +0 -4
- package/lib/component/core/base/components/warehouse/style/_layout.scss +0 -4
- package/lib/component/core/base/dialog-transaction-line-base.component.d.ts +3 -0
- package/lib/component/core/base/transaction-filter-popup-base.component.d.ts +3 -5
- package/lib/component/core/base/transaction-header-base.component.d.ts +4 -5
- package/lib/component/core/base/transaction-header-filter-popup-base.component.d.ts +38 -0
- package/lib/component/core/base/transaction-line-base.component.d.ts +2 -3
- package/lib/component/core/base/transaction-lines-line-base.component.d.ts +1 -1
- package/lib/component/core/relation/customer-groups.component.d.ts +2 -1
- package/lib/component/dialog/transaction-header/dialog-transaction-header-delivery-method/style/_layout.scss +0 -4
- package/lib/component/dialog/transaction-header/dialog-transaction-header-discount/style/_layout.scss +4 -5
- package/lib/component/dialog/transaction-header/dialog-transaction-header-discount/style/_material-definition.scss +5 -3
- package/lib/component/dialog/transaction-line/dialog-transaction-line-commission-code/style/_layout.scss +0 -4
- package/lib/component/dialog/transaction-line/dialog-transaction-line-delivery-method/style/_layout.scss +0 -4
- package/lib/component/dialog/transaction-line/dialog-transaction-line-discount/style/_layout.scss +4 -5
- package/lib/component/dialog/transaction-line/dialog-transaction-line-discount/style/_material-definition.scss +5 -3
- package/lib/component/dialog/transaction-line/dialog-transaction-line-price-list/style/_layout.scss +0 -4
- package/lib/component/dialog/transaction-line/dialog-transaction-line-supplier/dialog-transaction-line-supplier.component.d.ts +4 -0
- package/lib/component/dialog/transaction-line/dialog-transaction-line-supplier/dialog-transaction-line-supplier.module.d.ts +2 -0
- package/lib/component/dialog/transaction-line/dialog-transaction-line-supplier/style/_layout.scss +11 -0
- package/lib/component/dialog/transaction-line/dialog-transaction-line-supplier/style/_material-definition.scss +2 -0
- package/lib/component/dialog/transaction-line/dialog-transaction-line-supplier/style/_theme.scss +4 -0
- package/lib/component/dialog/transaction-line/dialog-transaction-line-supplier/style/material.scss +4 -0
- package/lib/component/dialog/transaction-line/dialog-transaction-line-vat/style/_layout.scss +0 -4
- package/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse/style/_layout.scss +0 -4
- package/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/style/_layout.scss +0 -4
- package/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-location/style/_layout.scss +0 -4
- package/lib/component/editable-label/editable-label.component.d.ts +1 -0
- package/lib/component/editable-label/style/_layout.scss +9 -0
- package/lib/component/editable-label/style/_material-definition.scss +1 -0
- package/lib/component/editable-label/style/material.scss +1 -1
- package/lib/component/{core → loader}/loader.component.d.ts +1 -0
- package/lib/component/loader/loader.module.d.ts +2 -0
- package/lib/component/loader/style/_layout.scss +8 -0
- package/lib/component/loader/style/_material-definition.scss +1 -0
- package/lib/component/loader/style/_theme.scss +10 -0
- package/lib/component/loader/style/material.scss +4 -0
- package/lib/component/quick-send-button/quick-send-button.component.d.ts +31 -0
- package/lib/component/quick-send-button/quick-send-button.module.d.ts +2 -0
- package/lib/component/quick-send-button/style/_layout.scss +52 -1
- package/lib/component/quick-send-button/style/_material-definition.scss +4 -0
- package/lib/component/relation/relation-address/relation-address.component.d.ts +2 -2
- package/lib/component/relation/relation-address/style/_layout.scss +3 -0
- package/lib/component/relation/relation-address-select/relation-address-select.component.d.ts +3 -4
- package/lib/component/relation/relation-address-tile/relation-address-tile.component.d.ts +3 -2
- package/lib/component/relation/relation-addresses/relation-addresses.component.d.ts +10 -9
- package/lib/component/relation/relation-addresses/style/_layout.scss +2 -6
- package/lib/component/relation/relation-base.component.d.ts +2 -2
- package/lib/component/relation/relation-contact-details/relation-contact-details.component.d.ts +2 -1
- package/lib/component/relation/relation-general/relation-general.component.d.ts +11 -4
- package/lib/component/relation/relation-preferences/relation-preferences.component.d.ts +2 -1
- package/lib/component/relation/relation-suggestions-list/relation-suggestions-list.component.d.ts +1 -1
- package/lib/component/relation/relation-suggestions-list-item/relation-suggestions-list-item.component.d.ts +1 -1
- package/lib/component/relation/relation-type/relation-type.component.d.ts +3 -2
- package/lib/component/shared/transaction-article-text-overview/transaction-article-text-overview.component.d.ts +2 -3
- package/lib/component/tile/style/_layout.scss +10 -7
- package/lib/component/tile/style/_material-definition.scss +2 -1
- package/lib/component/transaction/style/_layout.scss +4 -21
- package/lib/component/transaction/style/_material-definition.scss +1 -4
- package/lib/component/transaction-button-bar/style/_layout.scss +25 -0
- package/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-button-bar-button-base.component.d.ts +16 -0
- package/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-button-bar-button.component.d.ts +14 -5
- package/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-sales-purchase-button-bar-button.component.d.ts +12 -0
- package/lib/component/transaction-button-bar/transaction-button-bar.component.d.ts +2 -0
- package/lib/component/transaction-header/transaction-header/transaction-header.component.d.ts +1 -1
- package/lib/component/transaction-header/transaction-header-payment/style/_material-definition.scss +2 -1
- package/lib/component/transaction-header/transaction-header-payment/style/_theme.scss +5 -2
- package/lib/component/transaction-header/transaction-header-relation/transaction-header-relation.component.d.ts +21 -12
- package/lib/component/transaction-header-fields/transaction-header-administrative-relation.component.d.ts +4 -2
- package/lib/component/transaction-header-fields/transaction-header-branch.component.d.ts +5 -3
- package/lib/component/transaction-header-fields/transaction-header-delivery-method.component.d.ts +1 -0
- package/lib/component/transaction-header-fields/transaction-header-partial-delivery.component.d.ts +3 -1
- package/lib/component/transaction-line/transaction-base-line/style/_layout.scss +2 -93
- package/lib/component/transaction-line/transaction-base-line/style/_material-definition.scss +6 -0
- package/lib/component/transaction-line/transaction-base-line/transaction-base-line.component.d.ts +4 -2
- package/lib/component/transaction-line/transaction-line/style/_layout.scss +170 -0
- package/lib/component/transaction-line/transaction-line/style/_material-definition.scss +24 -0
- package/lib/component/transaction-line/transaction-line/style/_theme.scss +4 -0
- package/lib/component/transaction-line/transaction-line/style/material.scss +13 -0
- package/lib/component/transaction-line/transaction-order-delivery-line/service/transaction-order-delivery.service.d.ts +4 -0
- package/lib/component/transaction-line/transaction-order-delivery-line/style/_layout.scss +4 -4
- package/lib/component/transaction-line/transaction-order-delivery-line/transaction-order-delivery-line.component.d.ts +9 -4
- package/lib/component/transaction-line/transaction-overview-line/style/_layout.scss +0 -97
- package/lib/component/transaction-line/transaction-overview-line/style/_material-definition.scss +0 -36
- package/lib/component/transaction-line/transaction-overview-line/style/_theme.scss +0 -27
- package/lib/component/transaction-line/transaction-overview-line/style/material.scss +0 -11
- package/lib/component/transaction-line/transaction-overview-line/transaction-overview-line.component.d.ts +4 -11
- package/lib/component/transaction-line/transaction-purchase-line/style/_layout.scss +7 -0
- package/lib/component/transaction-line/transaction-purchase-line/style/_material-definition.scss +0 -0
- package/lib/component/transaction-line/transaction-purchase-line/style/_theme.scss +4 -0
- package/lib/component/transaction-line/transaction-purchase-line/style/material.scss +4 -0
- package/lib/component/transaction-line/transaction-purchase-line/transaction-purchase-line.component.d.ts +19 -0
- package/lib/component/transaction-line/transaction-purchase-line/transaction-purchase-line.module.d.ts +2 -0
- package/lib/component/transaction-line-checkbox-list/style/_layout.scss +8 -4
- package/lib/component/transaction-line-checkbox-list/style/_material-definition.scss +1 -0
- package/lib/component/transaction-line-fields/transaction-line-amount.component.d.ts +10 -0
- package/lib/component/transaction-line-fields/transaction-line-amount.module.d.ts +2 -0
- package/lib/component/transaction-line-fields/transaction-line-commission-code.component.d.ts +3 -3
- package/lib/component/transaction-line-fields/transaction-line-delivery-method.component.d.ts +2 -2
- package/lib/component/transaction-line-fields/transaction-line-price-list.component.d.ts +2 -2
- package/lib/component/transaction-line-fields/transaction-line-supplier-button.component.d.ts +11 -0
- package/lib/component/transaction-line-fields/transaction-line-supplier-button.module.d.ts +2 -0
- package/lib/component/transaction-line-fields/transaction-line-supplier.component.d.ts +10 -7
- package/lib/component/transaction-line-fields/transaction-line-vat.component.d.ts +2 -2
- package/lib/component/transaction-line-fields/transaction-line-warehouse-location.component.d.ts +2 -2
- package/lib/component/transaction-line-fields/transaction-line-warehouse.component.d.ts +2 -2
- package/lib/component/transaction-line-image-and-description/style/_layout.scss +16 -13
- package/lib/component/transaction-line-image-and-description/style/_material-definition.scss +21 -1
- package/lib/component/transaction-line-image-and-description/style/_theme.scss +18 -1
- package/lib/component/transaction-line-statusbar/style/_layout.scss +4 -0
- package/lib/component/transaction-lines/style/material.scss +2 -0
- package/lib/component/transaction-quick-access/transaction-quick-access/style/_layout.scss +5 -1
- package/lib/component/transaction-quick-access/transaction-quick-access/style/_material-definition.scss +2 -1
- package/lib/component/transaction-quick-access/transaction-quick-access/style/material.scss +1 -0
- package/lib/component/transaction-quick-access/transaction-quick-access/transaction-quick-access.component.d.ts +5 -3
- package/lib/component/transaction-quick-access/transaction-quick-access-order-delivery/style/_layout.scss +5 -48
- package/lib/component/transaction-quick-access/transaction-quick-access-order-delivery/transaction-quick-access-order-delivery.component.d.ts +10 -7
- package/lib/component/transaction-quick-access/transaction-quick-access-order-purchase/style/_layout.scss +8 -0
- package/lib/component/transaction-quick-access/transaction-quick-access-order-purchase/style/_material-definition.scss +0 -0
- package/lib/component/transaction-quick-access/transaction-quick-access-order-purchase/style/_theme.scss +4 -0
- package/lib/component/transaction-quick-access/transaction-quick-access-order-purchase/style/material.scss +5 -0
- package/lib/component/transaction-quick-access/transaction-quick-access-order-purchase/transaction-quick-access-order-purchase.component.d.ts +13 -0
- package/lib/component/transaction-quick-access/transaction-quick-access-order-purchase/transaction-quick-access-order-purchase.module.d.ts +2 -0
- package/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-article/transaction-purchase-order-filter-content-article.component.d.ts +3 -1
- package/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-order/transaction-purchase-order-filter-content-order.component.d.ts +3 -1
- package/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-article/transaction-sales-order-filter-content-article.component.d.ts +3 -1
- package/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-order/transaction-sales-order-filter-content-order.component.d.ts +3 -1
- package/lib/component/transaction-send-button-dialog/style/_layout.scss +47 -0
- package/lib/component/transaction-send-button-dialog/style/_material-definition.scss +13 -0
- package/lib/component/transaction-send-button-dialog/style/_theme.scss +24 -0
- package/lib/component/transaction-send-button-dialog/style/material.scss +4 -0
- package/lib/component/transaction-send-button-dialog/transaction-send-button-dialog.component.d.ts +16 -0
- package/lib/component/transaction-send-button-dialog/transaction-send-button-dialog.module.d.ts +2 -0
- package/lib/enum/icon.enum.d.ts +1 -0
- package/lib/model/relation-any-type.d.ts +2 -2
- package/lib/model/transaction-bar-button.d.ts +4 -1
- package/lib/service/article-connector.service.d.ts +3 -1
- package/lib/service/error.service.d.ts +1 -1
- package/lib/service/pending-reason.service.d.ts +9 -5
- package/lib/service/relation-connector.service.d.ts +34 -0
- package/lib/service/relation.service.d.ts +37 -0
- package/lib/service/shared.service.d.ts +3 -1
- package/lib/service/transaction-connector-adapter.service.d.ts +20 -18
- package/lib/service/transaction-connector.service.d.ts +18 -18
- package/lib/service/transaction-event.service.d.ts +6 -2
- package/lib/service/transaction.service.d.ts +13 -15
- package/lib/style/_variables.scss +6 -3
- package/lib/style/transaction-globals.scss +12 -1
- package/package.json +9 -3
- package/public_api.d.ts +2 -0
- package/esm2015/lib/component/core/loader.component.js +0 -44
- package/esm2015/lib/factory/business-object-factory.js +0 -120
- package/esm2015/lib/factory/decorators/boolean.decorator.js +0 -102
- package/esm2015/lib/factory/decorators/complex-array.decorator.js +0 -55
- package/esm2015/lib/factory/decorators/complex-field.decorator.js +0 -57
- package/esm2015/lib/factory/decorators/date-field.decorator.js +0 -36
- package/esm2015/lib/factory/decorators/string-number.decorator.js +0 -43
- package/esm2015/lib/model/business-object.js +0 -81
- package/esm2015/lib/utils/array-utils.js +0 -183
- package/esm2015/lib/utils/is-nill.function.js +0 -5
- package/esm2015/lib/utils/string-utils.js +0 -64
- package/lib/factory/business-object-factory.d.ts +0 -23
- package/lib/factory/decorators/boolean.decorator.d.ts +0 -43
- package/lib/factory/decorators/complex-array.decorator.d.ts +0 -25
- package/lib/factory/decorators/complex-field.decorator.d.ts +0 -25
- package/lib/factory/decorators/date-field.decorator.d.ts +0 -17
- package/lib/factory/decorators/string-number.decorator.d.ts +0 -22
- package/lib/model/business-object.d.ts +0 -7
- package/lib/utils/array-utils.d.ts +0 -57
- package/lib/utils/is-nill.function.d.ts +0 -1
- package/lib/utils/string-utils.d.ts +0 -22
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { notNill } from "@colijnit/transactionapi/build/utils/function/not-nill.function";
|
|
2
|
-
import { ObjectUtils } from "@colijnit/transactionapi/build/utils/object-utils";
|
|
3
|
-
const PROP_META_KEY = "complexField";
|
|
4
|
-
/**
|
|
5
|
-
* !! just a TAG DECORATOR for now, there is no code that uses this meta data within the ione connector lib itself.
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* Property decorator for properties of businessobject classes that are other strongly typed businessobjects.
|
|
9
|
-
* Ensures that the BusinessObjectFactoryService makes properly typed objects from incoming raw persistence data. Otherwise we couldn't add methods
|
|
10
|
-
* to our own businessobjects and use them, since all fields would be flat data without methods after BusinessObjectFactoryService creation.
|
|
11
|
-
*
|
|
12
|
-
* Usage:
|
|
13
|
-
*
|
|
14
|
-
* @ComplexField(Transaction)
|
|
15
|
-
* public transaction: Transaction
|
|
16
|
-
*
|
|
17
|
-
* Also keeps track of a "complexFieldProps" metadata on the class-level, as a reflect-metadata workaround to be able to
|
|
18
|
-
* retrieve all properties that have the @ComplexField(..) decorator (impossible with current Reflect API).
|
|
19
|
-
*/
|
|
20
|
-
export function ComplexField(type) {
|
|
21
|
-
return function (target, propertyKey) {
|
|
22
|
-
if (!target || !propertyKey) {
|
|
23
|
-
return;
|
|
24
|
-
}
|
|
25
|
-
// warn the programmer if given type was undefined; it's probably an import order glitch that caused this, because decorators seem
|
|
26
|
-
// to be immediately processed when a class is first imported
|
|
27
|
-
if (!type) {
|
|
28
|
-
// eslint-disable-next-line no-console
|
|
29
|
-
console.warn(`@ComplexField(type): type was UNDEFINED. Called on prop (${ObjectUtils.GetClassName(target)}, ${propertyKey}). ` +
|
|
30
|
-
`Class will not properly serialize and deserialize now. We've always been able to fix this by CHANGING IMPORT ORDERS ` +
|
|
31
|
-
`where both classes and their dependencies are used, e.g. factory, repository or models..`);
|
|
32
|
-
return;
|
|
33
|
-
}
|
|
34
|
-
Reflect.defineMetadata(PROP_META_KEY, type, target, propertyKey);
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
// Utility function holder of the ComplexFieldDecorator decorator.
|
|
38
|
-
export class ComplexFieldDecorator {
|
|
39
|
-
/**
|
|
40
|
-
* Returns whether given property (as a string) on given object is a complex field. A complex field is a field that is decorated
|
|
41
|
-
* with the @ComplexField decorator.
|
|
42
|
-
*/
|
|
43
|
-
static IsComplexField(target, propertyKey) {
|
|
44
|
-
if (!target || !propertyKey || typeof target !== "object") {
|
|
45
|
-
return false;
|
|
46
|
-
}
|
|
47
|
-
return (notNill(Reflect.getMetadata(PROP_META_KEY, target, propertyKey)));
|
|
48
|
-
}
|
|
49
|
-
// Returns the VALUE of the @ComplexField(VALUE) property decorator on the given propertyKey on the given modelObject.
|
|
50
|
-
static GetComplexFieldType(target, propertyKey) {
|
|
51
|
-
if (!target || !propertyKey || typeof target !== "object") {
|
|
52
|
-
return undefined;
|
|
53
|
-
}
|
|
54
|
-
return Reflect.getMetadata(PROP_META_KEY, target, propertyKey);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGxleC1maWVsZC5kZWNvcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2ZhY3RvcnkvZGVjb3JhdG9ycy9jb21wbGV4LWZpZWxkLmRlY29yYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0saUVBQWlFLENBQUM7QUFDeEYsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBRTlFLE1BQU0sYUFBYSxHQUFXLGNBQWMsQ0FBQztBQUU3Qzs7R0FFRztBQUVIOzs7Ozs7Ozs7Ozs7R0FZRztBQUNILE1BQU0sVUFBVSxZQUFZLENBQUMsSUFBUztJQUNsQyxPQUFPLFVBQVUsTUFBVyxFQUFFLFdBQW1CO1FBQzdDLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDekIsT0FBTztTQUNWO1FBRUQsa0lBQWtJO1FBQ2xJLDZEQUE2RDtRQUM3RCxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1Qsc0NBQXNDO1lBQ3BDLE9BQU8sQ0FBQyxJQUFJLENBQUMsNERBQTRELFdBQVcsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEtBQUssV0FBVyxLQUFLO2dCQUMxSCxzSEFBc0g7Z0JBQ3RILDBGQUEwRixDQUFDLENBQUM7WUFDaEcsT0FBTztTQUNWO1FBQ0QsT0FBTyxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQztJQUNyRSxDQUFDLENBQUM7QUFDTixDQUFDO0FBRUQsa0VBQWtFO0FBQ2xFLE1BQU0sT0FBTyxxQkFBcUI7SUFFOUI7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFjLEVBQUUsV0FBbUI7UUFDNUQsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLFdBQVcsSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLEVBQUU7WUFDdkQsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFDRCxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVELHNIQUFzSDtJQUMvRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsTUFBYyxFQUFFLFdBQW1CO1FBQ2pFLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxXQUFXLElBQUksT0FBTyxNQUFNLEtBQUssUUFBUSxFQUFFO1lBQ3ZELE9BQU8sU0FBUyxDQUFDO1NBQ3BCO1FBQ0QsT0FBTyxPQUFPLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDbkUsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtub3ROaWxsfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL3V0aWxzL2Z1bmN0aW9uL25vdC1uaWxsLmZ1bmN0aW9uXCI7XHJcbmltcG9ydCB7T2JqZWN0VXRpbHN9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvdXRpbHMvb2JqZWN0LXV0aWxzXCI7XHJcblxyXG5jb25zdCBQUk9QX01FVEFfS0VZOiBzdHJpbmcgPSBcImNvbXBsZXhGaWVsZFwiO1xyXG5cclxuLyoqXHJcbiAqICEhIGp1c3QgYSBUQUcgREVDT1JBVE9SIGZvciBub3csIHRoZXJlIGlzIG5vIGNvZGUgdGhhdCB1c2VzIHRoaXMgbWV0YSBkYXRhIHdpdGhpbiB0aGUgaW9uZSBjb25uZWN0b3IgbGliIGl0c2VsZi5cclxuICovXHJcblxyXG4vKipcclxuICogUHJvcGVydHkgZGVjb3JhdG9yIGZvciBwcm9wZXJ0aWVzIG9mIGJ1c2luZXNzb2JqZWN0IGNsYXNzZXMgdGhhdCBhcmUgb3RoZXIgc3Ryb25nbHkgdHlwZWQgYnVzaW5lc3NvYmplY3RzLlxyXG4gKiBFbnN1cmVzIHRoYXQgdGhlIEJ1c2luZXNzT2JqZWN0RmFjdG9yeVNlcnZpY2UgbWFrZXMgcHJvcGVybHkgdHlwZWQgb2JqZWN0cyBmcm9tIGluY29taW5nIHJhdyBwZXJzaXN0ZW5jZSBkYXRhLiBPdGhlcndpc2Ugd2UgY291bGRuJ3QgYWRkIG1ldGhvZHNcclxuICogdG8gb3VyIG93biBidXNpbmVzc29iamVjdHMgYW5kIHVzZSB0aGVtLCBzaW5jZSBhbGwgZmllbGRzIHdvdWxkIGJlIGZsYXQgZGF0YSB3aXRob3V0IG1ldGhvZHMgYWZ0ZXIgQnVzaW5lc3NPYmplY3RGYWN0b3J5U2VydmljZSBjcmVhdGlvbi5cclxuICpcclxuICogVXNhZ2U6XHJcbiAqXHJcbiAqIEBDb21wbGV4RmllbGQoVHJhbnNhY3Rpb24pXHJcbiAqIHB1YmxpYyB0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb25cclxuICpcclxuICogQWxzbyBrZWVwcyB0cmFjayBvZiBhIFwiY29tcGxleEZpZWxkUHJvcHNcIiBtZXRhZGF0YSBvbiB0aGUgY2xhc3MtbGV2ZWwsIGFzIGEgcmVmbGVjdC1tZXRhZGF0YSB3b3JrYXJvdW5kIHRvIGJlIGFibGUgdG9cclxuICogcmV0cmlldmUgYWxsIHByb3BlcnRpZXMgdGhhdCBoYXZlIHRoZSBAQ29tcGxleEZpZWxkKC4uKSBkZWNvcmF0b3IgKGltcG9zc2libGUgd2l0aCBjdXJyZW50IFJlZmxlY3QgQVBJKS5cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBDb21wbGV4RmllbGQodHlwZTogYW55KTogUHJvcGVydHlEZWNvcmF0b3Ige1xyXG4gICAgcmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQ6IGFueSwgcHJvcGVydHlLZXk6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGFyZ2V0IHx8ICFwcm9wZXJ0eUtleSkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyB3YXJuIHRoZSBwcm9ncmFtbWVyIGlmIGdpdmVuIHR5cGUgd2FzIHVuZGVmaW5lZDsgaXQncyBwcm9iYWJseSBhbiBpbXBvcnQgb3JkZXIgZ2xpdGNoIHRoYXQgY2F1c2VkIHRoaXMsIGJlY2F1c2UgZGVjb3JhdG9ycyBzZWVtXHJcbiAgICAgICAgLy8gdG8gYmUgaW1tZWRpYXRlbHkgcHJvY2Vzc2VkIHdoZW4gYSBjbGFzcyBpcyBmaXJzdCBpbXBvcnRlZFxyXG4gICAgICAgIGlmICghdHlwZSkge1xyXG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcclxuICAgICAgICAgICAgY29uc29sZS53YXJuKGBAQ29tcGxleEZpZWxkKHR5cGUpOiB0eXBlIHdhcyBVTkRFRklORUQuIENhbGxlZCBvbiBwcm9wICgke09iamVjdFV0aWxzLkdldENsYXNzTmFtZSh0YXJnZXQpfSwgJHtwcm9wZXJ0eUtleX0pLiBgICtcclxuICAgICAgICAgICAgICAgIGBDbGFzcyB3aWxsIG5vdCBwcm9wZXJseSBzZXJpYWxpemUgYW5kIGRlc2VyaWFsaXplIG5vdy4gV2UndmUgYWx3YXlzIGJlZW4gYWJsZSB0byBmaXggdGhpcyBieSBDSEFOR0lORyBJTVBPUlQgT1JERVJTIGAgK1xyXG4gICAgICAgICAgICAgICAgYHdoZXJlIGJvdGggY2xhc3NlcyBhbmQgdGhlaXIgZGVwZW5kZW5jaWVzIGFyZSB1c2VkLCBlLmcuIGZhY3RvcnksIHJlcG9zaXRvcnkgb3IgbW9kZWxzLi5gKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBSZWZsZWN0LmRlZmluZU1ldGFkYXRhKFBST1BfTUVUQV9LRVksIHR5cGUsIHRhcmdldCwgcHJvcGVydHlLZXkpO1xyXG4gICAgfTtcclxufVxyXG5cclxuLy8gVXRpbGl0eSBmdW5jdGlvbiBob2xkZXIgb2YgdGhlIENvbXBsZXhGaWVsZERlY29yYXRvciBkZWNvcmF0b3IuXHJcbmV4cG9ydCBjbGFzcyBDb21wbGV4RmllbGREZWNvcmF0b3Ige1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJucyB3aGV0aGVyIGdpdmVuIHByb3BlcnR5IChhcyBhIHN0cmluZykgb24gZ2l2ZW4gb2JqZWN0IGlzIGEgY29tcGxleCBmaWVsZC4gQSBjb21wbGV4IGZpZWxkIGlzIGEgZmllbGQgdGhhdCBpcyBkZWNvcmF0ZWRcclxuICAgICAqIHdpdGggdGhlIEBDb21wbGV4RmllbGQgZGVjb3JhdG9yLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIElzQ29tcGxleEZpZWxkKHRhcmdldDogT2JqZWN0LCBwcm9wZXJ0eUtleTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKCF0YXJnZXQgfHwgIXByb3BlcnR5S2V5IHx8IHR5cGVvZiB0YXJnZXQgIT09IFwib2JqZWN0XCIpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gKG5vdE5pbGwoUmVmbGVjdC5nZXRNZXRhZGF0YShQUk9QX01FVEFfS0VZLCB0YXJnZXQsIHByb3BlcnR5S2V5KSkpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFJldHVybnMgdGhlIFZBTFVFIG9mIHRoZSBAQ29tcGxleEZpZWxkKFZBTFVFKSBwcm9wZXJ0eSBkZWNvcmF0b3Igb24gdGhlIGdpdmVuIHByb3BlcnR5S2V5IG9uIHRoZSBnaXZlbiBtb2RlbE9iamVjdC5cclxuICAgIHB1YmxpYyBzdGF0aWMgR2V0Q29tcGxleEZpZWxkVHlwZSh0YXJnZXQ6IE9iamVjdCwgcHJvcGVydHlLZXk6IHN0cmluZyk6IGFueSB7XHJcbiAgICAgICAgaWYgKCF0YXJnZXQgfHwgIXByb3BlcnR5S2V5IHx8IHR5cGVvZiB0YXJnZXQgIT09IFwib2JqZWN0XCIpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIFJlZmxlY3QuZ2V0TWV0YWRhdGEoUFJPUF9NRVRBX0tFWSwgdGFyZ2V0LCBwcm9wZXJ0eUtleSk7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { DateUtils } from "@colijnit/transactionapi/build/utils/date-utils";
|
|
2
|
-
const PROP_META_KEY = "dateField";
|
|
3
|
-
/**
|
|
4
|
-
* !! just a TAG DECORATOR for now, there is no code that uses this meta data within the ione connector lib itself.
|
|
5
|
-
*/
|
|
6
|
-
/**
|
|
7
|
-
* Property decorator for properties of businessobject classes that are of type Date, but are sent to us as strings.
|
|
8
|
-
* Ensures that the BusinessObjectFactory makes proper JavaScript Date objects from incoming strings for @DateField() decorated properties.
|
|
9
|
-
*
|
|
10
|
-
* Usage:
|
|
11
|
-
*
|
|
12
|
-
* @DateField()
|
|
13
|
-
* public expectedDeliveryDate: Date
|
|
14
|
-
*/
|
|
15
|
-
export function DateField() {
|
|
16
|
-
return function (target, propertyKey) {
|
|
17
|
-
if (!target || !propertyKey) {
|
|
18
|
-
return;
|
|
19
|
-
}
|
|
20
|
-
Reflect.defineMetadata(PROP_META_KEY, undefined, target, propertyKey);
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
// Utility function holder of the @DateField() decorator.
|
|
24
|
-
export class DateFieldFieldDecorator {
|
|
25
|
-
// Returns whether given property (as a string) on given object is decorated with @DateField().
|
|
26
|
-
static IsDateField(target, propertyKey) {
|
|
27
|
-
if (!target || !propertyKey || typeof target !== "object") {
|
|
28
|
-
return false;
|
|
29
|
-
}
|
|
30
|
-
return Reflect.hasMetadata(PROP_META_KEY, target, propertyKey);
|
|
31
|
-
}
|
|
32
|
-
static StringAsDate(str) {
|
|
33
|
-
return DateUtils.StringAsDate(str);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1maWVsZC5kZWNvcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2ZhY3RvcnkvZGVjb3JhdG9ycy9kYXRlLWZpZWxkLmRlY29yYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0saURBQWlELENBQUM7QUFFMUUsTUFBTSxhQUFhLEdBQVcsV0FBVyxDQUFDO0FBRTFDOztHQUVHO0FBRUg7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLFVBQVUsU0FBUztJQUNyQixPQUFPLFVBQVUsTUFBVyxFQUFFLFdBQW1CO1FBQzdDLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDekIsT0FBTztTQUNWO1FBQ0QsT0FBTyxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQztJQUMxRSxDQUFDLENBQUM7QUFDTixDQUFDO0FBRUQseURBQXlEO0FBQ3pELE1BQU0sT0FBTyx1QkFBdUI7SUFFaEMsK0ZBQStGO0lBQ3hGLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBYyxFQUFFLFdBQW1CO1FBQ3pELElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxXQUFXLElBQUksT0FBTyxNQUFNLEtBQUssUUFBUSxFQUFFO1lBQ3ZELE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBQ0QsT0FBTyxPQUFPLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVNLE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBVztRQUNsQyxPQUFPLFNBQVMsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdkMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEYXRlVXRpbHN9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvdXRpbHMvZGF0ZS11dGlsc1wiO1xyXG5cclxuY29uc3QgUFJPUF9NRVRBX0tFWTogc3RyaW5nID0gXCJkYXRlRmllbGRcIjtcclxuXHJcbi8qKlxyXG4gKiAhISBqdXN0IGEgVEFHIERFQ09SQVRPUiBmb3Igbm93LCB0aGVyZSBpcyBubyBjb2RlIHRoYXQgdXNlcyB0aGlzIG1ldGEgZGF0YSB3aXRoaW4gdGhlIGlvbmUgY29ubmVjdG9yIGxpYiBpdHNlbGYuXHJcbiAqL1xyXG5cclxuLyoqXHJcbiAqIFByb3BlcnR5IGRlY29yYXRvciBmb3IgcHJvcGVydGllcyBvZiBidXNpbmVzc29iamVjdCBjbGFzc2VzIHRoYXQgYXJlIG9mIHR5cGUgRGF0ZSwgYnV0IGFyZSBzZW50IHRvIHVzIGFzIHN0cmluZ3MuXHJcbiAqIEVuc3VyZXMgdGhhdCB0aGUgQnVzaW5lc3NPYmplY3RGYWN0b3J5IG1ha2VzIHByb3BlciBKYXZhU2NyaXB0IERhdGUgb2JqZWN0cyBmcm9tIGluY29taW5nIHN0cmluZ3MgZm9yIEBEYXRlRmllbGQoKSBkZWNvcmF0ZWQgcHJvcGVydGllcy5cclxuICpcclxuICogVXNhZ2U6XHJcbiAqXHJcbiAqIEBEYXRlRmllbGQoKVxyXG4gKiBwdWJsaWMgZXhwZWN0ZWREZWxpdmVyeURhdGU6IERhdGVcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBEYXRlRmllbGQoKTogUHJvcGVydHlEZWNvcmF0b3Ige1xyXG4gICAgcmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQ6IGFueSwgcHJvcGVydHlLZXk6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGFyZ2V0IHx8ICFwcm9wZXJ0eUtleSkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFJlZmxlY3QuZGVmaW5lTWV0YWRhdGEoUFJPUF9NRVRBX0tFWSwgdW5kZWZpbmVkLCB0YXJnZXQsIHByb3BlcnR5S2V5KTtcclxuICAgIH07XHJcbn1cclxuXHJcbi8vIFV0aWxpdHkgZnVuY3Rpb24gaG9sZGVyIG9mIHRoZSBARGF0ZUZpZWxkKCkgZGVjb3JhdG9yLlxyXG5leHBvcnQgY2xhc3MgRGF0ZUZpZWxkRmllbGREZWNvcmF0b3Ige1xyXG5cclxuICAgIC8vIFJldHVybnMgd2hldGhlciBnaXZlbiBwcm9wZXJ0eSAoYXMgYSBzdHJpbmcpIG9uIGdpdmVuIG9iamVjdCBpcyBkZWNvcmF0ZWQgd2l0aCBARGF0ZUZpZWxkKCkuXHJcbiAgICBwdWJsaWMgc3RhdGljIElzRGF0ZUZpZWxkKHRhcmdldDogT2JqZWN0LCBwcm9wZXJ0eUtleTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKCF0YXJnZXQgfHwgIXByb3BlcnR5S2V5IHx8IHR5cGVvZiB0YXJnZXQgIT09IFwib2JqZWN0XCIpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gUmVmbGVjdC5oYXNNZXRhZGF0YShQUk9QX01FVEFfS0VZLCB0YXJnZXQsIHByb3BlcnR5S2V5KTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIFN0cmluZ0FzRGF0ZShzdHI6IHN0cmluZyk6IERhdGUge1xyXG4gICAgICAgIHJldHVybiBEYXRlVXRpbHMuU3RyaW5nQXNEYXRlKHN0cik7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { NumberUtils } from "@colijnit/transactionapi/build/utils/number-utils";
|
|
2
|
-
const PROP_META_KEY = "stringNumber";
|
|
3
|
-
/**
|
|
4
|
-
* !! just a TAG DECORATOR for now, there is no code that uses this meta data within the ione connector lib itself.
|
|
5
|
-
*/
|
|
6
|
-
/**
|
|
7
|
-
* Decorator for properties of businessobjects that are sent to us as strings from the database, but which we want to use as a number in the client.
|
|
8
|
-
*
|
|
9
|
-
* Can be handy for incongruent backend api cases, where id data types are communicated wrongly via strings instead of numbers
|
|
10
|
-
* (e.g. on EmployeeFullObject.district, points to a District which has a number id, but in employee it's a string representation of that number...)
|
|
11
|
-
*
|
|
12
|
-
* Used by business object factory and -serializer.
|
|
13
|
-
*
|
|
14
|
-
* Usage:
|
|
15
|
-
*
|
|
16
|
-
* @StringNumber()
|
|
17
|
-
* public rights: UserRightType
|
|
18
|
-
*/
|
|
19
|
-
export function StringNumber() {
|
|
20
|
-
return function (target, propertyKey) {
|
|
21
|
-
if (!target || !propertyKey) {
|
|
22
|
-
return;
|
|
23
|
-
}
|
|
24
|
-
Reflect.defineMetadata(PROP_META_KEY, undefined, target, propertyKey);
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
// Utility function holder of the @StringNumber() decorator.
|
|
28
|
-
export class StringNumberDecorator {
|
|
29
|
-
// Returns whether given property (as a string) on given object is decorated with @StringNumber().
|
|
30
|
-
static IsStringNumber(target, propertyKey) {
|
|
31
|
-
if (!target || !propertyKey || typeof target !== "object") {
|
|
32
|
-
return false;
|
|
33
|
-
}
|
|
34
|
-
return Reflect.hasMetadata(PROP_META_KEY, target, propertyKey);
|
|
35
|
-
}
|
|
36
|
-
static StringAsNumber(str) {
|
|
37
|
-
return NumberUtils.ParseFloatKeepPrecision(str);
|
|
38
|
-
}
|
|
39
|
-
static NumberAsString(nr) {
|
|
40
|
-
return "" + nr;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLW51bWJlci5kZWNvcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2ZhY3RvcnkvZGVjb3JhdG9ycy9zdHJpbmctbnVtYmVyLmRlY29yYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sbURBQW1ELENBQUM7QUFFOUUsTUFBTSxhQUFhLEdBQVcsY0FBYyxDQUFDO0FBQzdDOztHQUVHO0FBRUg7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0gsTUFBTSxVQUFVLFlBQVk7SUFDeEIsT0FBTyxVQUFVLE1BQVcsRUFBRSxXQUFtQjtRQUM3QyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3pCLE9BQU87U0FDVjtRQUNELE9BQU8sQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDMUUsQ0FBQyxDQUFDO0FBQ04sQ0FBQztBQUVELDREQUE0RDtBQUM1RCxNQUFNLE9BQU8scUJBQXFCO0lBRTlCLGtHQUFrRztJQUMzRixNQUFNLENBQUMsY0FBYyxDQUFDLE1BQWMsRUFBRSxXQUFtQjtRQUM1RCxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsV0FBVyxJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVEsRUFBRTtZQUN2RCxPQUFPLEtBQUssQ0FBQztTQUNoQjtRQUNELE9BQU8sT0FBTyxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFTSxNQUFNLENBQUMsY0FBYyxDQUFDLEdBQVc7UUFDcEMsT0FBTyxXQUFXLENBQUMsdUJBQXVCLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVNLE1BQU0sQ0FBQyxjQUFjLENBQUMsRUFBVTtRQUNuQyxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDbkIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOdW1iZXJVdGlsc30gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC91dGlscy9udW1iZXItdXRpbHNcIjtcclxuXHJcbmNvbnN0IFBST1BfTUVUQV9LRVk6IHN0cmluZyA9IFwic3RyaW5nTnVtYmVyXCI7XHJcbi8qKlxyXG4gKiAhISBqdXN0IGEgVEFHIERFQ09SQVRPUiBmb3Igbm93LCB0aGVyZSBpcyBubyBjb2RlIHRoYXQgdXNlcyB0aGlzIG1ldGEgZGF0YSB3aXRoaW4gdGhlIGlvbmUgY29ubmVjdG9yIGxpYiBpdHNlbGYuXHJcbiAqL1xyXG5cclxuLyoqXHJcbiAqIERlY29yYXRvciBmb3IgcHJvcGVydGllcyBvZiBidXNpbmVzc29iamVjdHMgdGhhdCBhcmUgc2VudCB0byB1cyBhcyBzdHJpbmdzIGZyb20gdGhlIGRhdGFiYXNlLCBidXQgd2hpY2ggd2Ugd2FudCB0byB1c2UgYXMgYSBudW1iZXIgaW4gdGhlIGNsaWVudC5cclxuICpcclxuICogQ2FuIGJlIGhhbmR5IGZvciBpbmNvbmdydWVudCBiYWNrZW5kIGFwaSBjYXNlcywgd2hlcmUgaWQgZGF0YSB0eXBlcyBhcmUgY29tbXVuaWNhdGVkIHdyb25nbHkgdmlhIHN0cmluZ3MgaW5zdGVhZCBvZiBudW1iZXJzXHJcbiAqIChlLmcuIG9uIEVtcGxveWVlRnVsbE9iamVjdC5kaXN0cmljdCwgcG9pbnRzIHRvIGEgRGlzdHJpY3Qgd2hpY2ggaGFzIGEgbnVtYmVyIGlkLCBidXQgaW4gZW1wbG95ZWUgaXQncyBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGF0IG51bWJlci4uLilcclxuICpcclxuICogVXNlZCBieSBidXNpbmVzcyBvYmplY3QgZmFjdG9yeSBhbmQgLXNlcmlhbGl6ZXIuXHJcbiAqXHJcbiAqIFVzYWdlOlxyXG4gKlxyXG4gKiBAU3RyaW5nTnVtYmVyKClcclxuICogcHVibGljIHJpZ2h0czogVXNlclJpZ2h0VHlwZVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIFN0cmluZ051bWJlcigpOiBQcm9wZXJ0eURlY29yYXRvciB7XHJcbiAgICByZXR1cm4gZnVuY3Rpb24gKHRhcmdldDogYW55LCBwcm9wZXJ0eUtleTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF0YXJnZXQgfHwgIXByb3BlcnR5S2V5KSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgUmVmbGVjdC5kZWZpbmVNZXRhZGF0YShQUk9QX01FVEFfS0VZLCB1bmRlZmluZWQsIHRhcmdldCwgcHJvcGVydHlLZXkpO1xyXG4gICAgfTtcclxufVxyXG5cclxuLy8gVXRpbGl0eSBmdW5jdGlvbiBob2xkZXIgb2YgdGhlIEBTdHJpbmdOdW1iZXIoKSBkZWNvcmF0b3IuXHJcbmV4cG9ydCBjbGFzcyBTdHJpbmdOdW1iZXJEZWNvcmF0b3Ige1xyXG5cclxuICAgIC8vIFJldHVybnMgd2hldGhlciBnaXZlbiBwcm9wZXJ0eSAoYXMgYSBzdHJpbmcpIG9uIGdpdmVuIG9iamVjdCBpcyBkZWNvcmF0ZWQgd2l0aCBAU3RyaW5nTnVtYmVyKCkuXHJcbiAgICBwdWJsaWMgc3RhdGljIElzU3RyaW5nTnVtYmVyKHRhcmdldDogT2JqZWN0LCBwcm9wZXJ0eUtleTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKCF0YXJnZXQgfHwgIXByb3BlcnR5S2V5IHx8IHR5cGVvZiB0YXJnZXQgIT09IFwib2JqZWN0XCIpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gUmVmbGVjdC5oYXNNZXRhZGF0YShQUk9QX01FVEFfS0VZLCB0YXJnZXQsIHByb3BlcnR5S2V5KTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIFN0cmluZ0FzTnVtYmVyKHN0cjogc3RyaW5nKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gTnVtYmVyVXRpbHMuUGFyc2VGbG9hdEtlZXBQcmVjaXNpb24oc3RyKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIE51bWJlckFzU3RyaW5nKG5yOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiBcIlwiICsgbnI7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* This type represents the concept of a business object ID type. ID's of business objects can be a primary number, a simple string or a
|
|
3
|
-
* object for a composite key.
|
|
4
|
-
*
|
|
5
|
-
* Simply to prevent type declarations of 'number | string | Object' for BO ID data all over the application.
|
|
6
|
-
*/
|
|
7
|
-
import { MapPropertyDecorator } from "@colijnit/transactionapi/build/factory/decorators/map-property.decorator";
|
|
8
|
-
import { BooleanTextDecorator } from "@colijnit/transactionapi/build/factory/decorators/boolean.decorator";
|
|
9
|
-
import { JsonFieldFieldDecorator } from "@colijnit/transactionapi/build/factory/decorators/json.decorator";
|
|
10
|
-
import { ComplexArrayDecorator } from "@colijnit/transactionapi/build/factory/decorators/complex-array.decorator";
|
|
11
|
-
export class BusinessObject {
|
|
12
|
-
constructor() {
|
|
13
|
-
}
|
|
14
|
-
// Overridable. Returns the ID of the model. Concrete model classes often override this method to provide their specific ID getter.
|
|
15
|
-
getId() {
|
|
16
|
-
return this.id;
|
|
17
|
-
}
|
|
18
|
-
setOwnMappedPropsFromRawData(rawData = {}) {
|
|
19
|
-
if (!rawData) {
|
|
20
|
-
return;
|
|
21
|
-
}
|
|
22
|
-
Object.keys(this).forEach((key) => {
|
|
23
|
-
// check if property needs to be mapped
|
|
24
|
-
if (MapPropertyDecorator.IsMapProperty(this, key)) {
|
|
25
|
-
const mapKeys = MapPropertyDecorator.GetMapProperty(this, key).split(",");
|
|
26
|
-
const len = mapKeys.length;
|
|
27
|
-
for (let i = 0; i < len; i++) {
|
|
28
|
-
// eslint-disable-next-line
|
|
29
|
-
const mapKey = mapKeys[i].trim();
|
|
30
|
-
const objProp = rawData[mapKey];
|
|
31
|
-
let decorated = false;
|
|
32
|
-
if (rawData.hasOwnProperty(mapKey)) {
|
|
33
|
-
if (BooleanTextDecorator.IsBooleanTextField(this, key)) {
|
|
34
|
-
this[key] = BooleanTextDecorator.GetLogicalBooleanValue(objProp);
|
|
35
|
-
decorated = true;
|
|
36
|
-
}
|
|
37
|
-
if (JsonFieldFieldDecorator.IsJsonField(this, key)) {
|
|
38
|
-
this[key] = JsonFieldFieldDecorator.StringAsJson(objProp);
|
|
39
|
-
decorated = true;
|
|
40
|
-
}
|
|
41
|
-
if (ComplexArrayDecorator.IsComplexArray(this, key)) {
|
|
42
|
-
const arrayClass = ComplexArrayDecorator.GetComplexArrayType(this, key);
|
|
43
|
-
// eslint-disable-next-line
|
|
44
|
-
const origArray = this[key];
|
|
45
|
-
// eslint-disable-next-line
|
|
46
|
-
const newArray = [];
|
|
47
|
-
// eslint-disable-next-line @typescript-eslint/prefer-for-of
|
|
48
|
-
for (let j = 0; j < origArray.length; j++) {
|
|
49
|
-
// eslint-disable-next-line
|
|
50
|
-
const item = new arrayClass(origArray[j]);
|
|
51
|
-
newArray.push(item);
|
|
52
|
-
}
|
|
53
|
-
this[key] = newArray;
|
|
54
|
-
}
|
|
55
|
-
else {
|
|
56
|
-
if (!decorated) {
|
|
57
|
-
this[key] = objProp;
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
break;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
else {
|
|
65
|
-
if (rawData.hasOwnProperty(key)) {
|
|
66
|
-
const objProp = rawData[key];
|
|
67
|
-
if (BooleanTextDecorator.IsBooleanTextField(this, key)) {
|
|
68
|
-
this[key] = BooleanTextDecorator.GetLogicalBooleanValue(objProp);
|
|
69
|
-
}
|
|
70
|
-
else if (JsonFieldFieldDecorator.IsJsonField(this, key)) {
|
|
71
|
-
this[key] = JsonFieldFieldDecorator.StringAsJson(objProp);
|
|
72
|
-
}
|
|
73
|
-
else {
|
|
74
|
-
this[key] = objProp;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVzaW5lc3Mtb2JqZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9tb2RlbC9idXNpbmVzcy1vYmplY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7QUFDSCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSwwRUFBMEUsQ0FBQztBQUM5RyxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxxRUFBcUUsQ0FBQztBQUN6RyxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxrRUFBa0UsQ0FBQztBQUN6RyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSwyRUFBMkUsQ0FBQztBQUloSCxNQUFNLE9BQWdCLGNBQWM7SUFTaEM7SUFDQSxDQUFDO0lBTkQsbUlBQW1JO0lBQzVILEtBQUs7UUFDUixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUtTLDRCQUE0QixDQUFDLFVBQWUsRUFBRTtRQUNwRCxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ1YsT0FBTztTQUNWO1FBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUM5Qix1Q0FBdUM7WUFDdkMsSUFBSSxvQkFBb0IsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxFQUFFO2dCQUMvQyxNQUFNLE9BQU8sR0FBYSxvQkFBb0IsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDcEYsTUFBTSxHQUFHLEdBQVcsT0FBTyxDQUFDLE1BQU0sQ0FBQztnQkFDbkMsS0FBSyxJQUFJLENBQUMsR0FBVyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTtvQkFDcEMsNEJBQTRCO29CQUMxQixNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7b0JBQ2pDLE1BQU0sT0FBTyxHQUFRLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDckMsSUFBSSxTQUFTLEdBQVksS0FBSyxDQUFDO29CQUMvQixJQUFJLE9BQU8sQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLEVBQUU7d0JBQ2hDLElBQUksb0JBQW9CLENBQUMsa0JBQWtCLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxFQUFFOzRCQUNwRCxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsb0JBQW9CLENBQUMsc0JBQXNCLENBQUMsT0FBTyxDQUFDLENBQUM7NEJBQ2pFLFNBQVMsR0FBRyxJQUFJLENBQUM7eUJBQ3BCO3dCQUNELElBQUksdUJBQXVCLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsRUFBRTs0QkFDaEQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLHVCQUF1QixDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQzs0QkFDMUQsU0FBUyxHQUFHLElBQUksQ0FBQzt5QkFDcEI7d0JBQ0QsSUFBSSxxQkFBcUIsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxFQUFFOzRCQUNqRCxNQUFNLFVBQVUsR0FBUSxxQkFBcUIsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7NEJBQy9FLDRCQUE0Qjs0QkFDMUIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDOzRCQUM5Qiw0QkFBNEI7NEJBQzFCLE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQzs0QkFDdEIsNERBQTREOzRCQUMxRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtnQ0FDekMsMkJBQTJCO2dDQUN6QixNQUFNLElBQUksR0FBRyxJQUFJLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQ0FDMUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQzs2QkFDdkI7NEJBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFFBQVEsQ0FBQzt5QkFDeEI7NkJBQU07NEJBQ0gsSUFBSSxDQUFDLFNBQVMsRUFBRTtnQ0FDWixJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDOzZCQUN2Qjt5QkFDSjt3QkFDRCxNQUFNO3FCQUNUO2lCQUNKO2FBQ0o7aUJBQU07Z0JBQ0gsSUFBSSxPQUFPLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFO29CQUM3QixNQUFNLE9BQU8sR0FBUSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQ2xDLElBQUksb0JBQW9CLENBQUMsa0JBQWtCLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxFQUFFO3dCQUNwRCxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsb0JBQW9CLENBQUMsc0JBQXNCLENBQUMsT0FBTyxDQUFDLENBQUM7cUJBQ3BFO3lCQUFNLElBQUksdUJBQXVCLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsRUFBRTt3QkFDdkQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLHVCQUF1QixDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztxQkFDN0Q7eUJBQU07d0JBQ0gsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLE9BQU8sQ0FBQztxQkFDdkI7aUJBQ0o7YUFDSjtRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztDQUVKIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIFRoaXMgdHlwZSByZXByZXNlbnRzIHRoZSBjb25jZXB0IG9mIGEgYnVzaW5lc3Mgb2JqZWN0IElEIHR5cGUuIElEJ3Mgb2YgYnVzaW5lc3Mgb2JqZWN0cyBjYW4gYmUgYSBwcmltYXJ5IG51bWJlciwgYSBzaW1wbGUgc3RyaW5nIG9yIGFcclxuICogb2JqZWN0IGZvciBhIGNvbXBvc2l0ZSBrZXkuXHJcbiAqXHJcbiAqIFNpbXBseSB0byBwcmV2ZW50IHR5cGUgZGVjbGFyYXRpb25zIG9mICdudW1iZXIgfCBzdHJpbmcgfCBPYmplY3QnIGZvciBCTyBJRCBkYXRhIGFsbCBvdmVyIHRoZSBhcHBsaWNhdGlvbi5cclxuICovXHJcbmltcG9ydCB7TWFwUHJvcGVydHlEZWNvcmF0b3J9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvZmFjdG9yeS9kZWNvcmF0b3JzL21hcC1wcm9wZXJ0eS5kZWNvcmF0b3JcIjtcclxuaW1wb3J0IHtCb29sZWFuVGV4dERlY29yYXRvcn0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9mYWN0b3J5L2RlY29yYXRvcnMvYm9vbGVhbi5kZWNvcmF0b3JcIjtcclxuaW1wb3J0IHtKc29uRmllbGRGaWVsZERlY29yYXRvcn0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9mYWN0b3J5L2RlY29yYXRvcnMvanNvbi5kZWNvcmF0b3JcIjtcclxuaW1wb3J0IHtDb21wbGV4QXJyYXlEZWNvcmF0b3J9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvZmFjdG9yeS9kZWNvcmF0b3JzL2NvbXBsZXgtYXJyYXkuZGVjb3JhdG9yXCI7XHJcblxyXG5leHBvcnQgdHlwZSBCdXNpbmVzc09iamVjdElEVHlwZSA9IG51bWJlciB8IHN0cmluZyB8IE9iamVjdDtcclxuXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCdXNpbmVzc09iamVjdCB7XHJcbiAgICAvLyBUaGUgSUQgb2YgdGhlIG1vZGVsLlxyXG4gICAgcHVibGljIGlkOiBCdXNpbmVzc09iamVjdElEVHlwZTtcclxuXHJcbiAgICAvLyBPdmVycmlkYWJsZS4gUmV0dXJucyB0aGUgSUQgb2YgdGhlIG1vZGVsLiBDb25jcmV0ZSBtb2RlbCBjbGFzc2VzIG9mdGVuIG92ZXJyaWRlIHRoaXMgbWV0aG9kIHRvIHByb3ZpZGUgdGhlaXIgc3BlY2lmaWMgSUQgZ2V0dGVyLlxyXG4gICAgcHVibGljIGdldElkKCk6IEJ1c2luZXNzT2JqZWN0SURUeXBlIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5pZDtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgc2V0T3duTWFwcGVkUHJvcHNGcm9tUmF3RGF0YShyYXdEYXRhOiBhbnkgPSB7fSk6IHZvaWQge1xyXG4gICAgICAgIGlmICghcmF3RGF0YSkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIE9iamVjdC5rZXlzKHRoaXMpLmZvckVhY2goKGtleSkgPT4ge1xyXG4gICAgICAgICAgICAvLyBjaGVjayBpZiBwcm9wZXJ0eSBuZWVkcyB0byBiZSBtYXBwZWRcclxuICAgICAgICAgICAgaWYgKE1hcFByb3BlcnR5RGVjb3JhdG9yLklzTWFwUHJvcGVydHkodGhpcywga2V5KSkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgbWFwS2V5czogc3RyaW5nW10gPSBNYXBQcm9wZXJ0eURlY29yYXRvci5HZXRNYXBQcm9wZXJ0eSh0aGlzLCBrZXkpLnNwbGl0KFwiLFwiKTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGxlbjogbnVtYmVyID0gbWFwS2V5cy5sZW5ndGg7XHJcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpOiBudW1iZXIgPSAwOyBpIDwgbGVuOyBpKyspIHtcclxuICAgICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIFxyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG1hcEtleSA9IG1hcEtleXNbaV0udHJpbSgpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG9ialByb3A6IGFueSA9IHJhd0RhdGFbbWFwS2V5XTtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgZGVjb3JhdGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJhd0RhdGEuaGFzT3duUHJvcGVydHkobWFwS2V5KSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoQm9vbGVhblRleHREZWNvcmF0b3IuSXNCb29sZWFuVGV4dEZpZWxkKHRoaXMsIGtleSkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXNba2V5XSA9IEJvb2xlYW5UZXh0RGVjb3JhdG9yLkdldExvZ2ljYWxCb29sZWFuVmFsdWUob2JqUHJvcCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWNvcmF0ZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChKc29uRmllbGRGaWVsZERlY29yYXRvci5Jc0pzb25GaWVsZCh0aGlzLCBrZXkpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzW2tleV0gPSBKc29uRmllbGRGaWVsZERlY29yYXRvci5TdHJpbmdBc0pzb24ob2JqUHJvcCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWNvcmF0ZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChDb21wbGV4QXJyYXlEZWNvcmF0b3IuSXNDb21wbGV4QXJyYXkodGhpcywga2V5KSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYXJyYXlDbGFzczogYW55ID0gQ29tcGxleEFycmF5RGVjb3JhdG9yLkdldENvbXBsZXhBcnJheVR5cGUodGhpcywga2V5KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBvcmlnQXJyYXkgPSB0aGlzW2tleV07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbmV3QXJyYXkgPSBbXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L3ByZWZlci1mb3Itb2ZcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgb3JpZ0FycmF5Lmxlbmd0aDsgaisrKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSBuZXcgYXJyYXlDbGFzcyhvcmlnQXJyYXlbal0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld0FycmF5LnB1c2goaXRlbSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzW2tleV0gPSBuZXdBcnJheTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghZGVjb3JhdGVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpc1trZXldID0gb2JqUHJvcDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBpZiAocmF3RGF0YS5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgb2JqUHJvcDogYW55ID0gcmF3RGF0YVtrZXldO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChCb29sZWFuVGV4dERlY29yYXRvci5Jc0Jvb2xlYW5UZXh0RmllbGQodGhpcywga2V5KSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzW2tleV0gPSBCb29sZWFuVGV4dERlY29yYXRvci5HZXRMb2dpY2FsQm9vbGVhblZhbHVlKG9ialByb3ApO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoSnNvbkZpZWxkRmllbGREZWNvcmF0b3IuSXNKc29uRmllbGQodGhpcywga2V5KSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzW2tleV0gPSBKc29uRmllbGRGaWVsZERlY29yYXRvci5TdHJpbmdBc0pzb24ob2JqUHJvcCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpc1trZXldID0gb2JqUHJvcDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbn1cclxuIl19
|
|
@@ -1,183 +0,0 @@
|
|
|
1
|
-
import { ObjectUtils } from "@colijnit/transactionapi/build/utils/object-utils";
|
|
2
|
-
import { NumberUtils } from "@colijnit/transactionapi/build/utils/number-utils";
|
|
3
|
-
import { isNill } from "@colijnit/transactionapi/build/utils/function/is-nill.function";
|
|
4
|
-
import { notNill } from "@colijnit/transactionapi/build/utils/function/not-nill.function";
|
|
5
|
-
export class ArrayUtils {
|
|
6
|
-
/**
|
|
7
|
-
* Returns whether at least one element in given array could be found by given finder function.
|
|
8
|
-
*
|
|
9
|
-
* @param {T[]} array
|
|
10
|
-
* @param {(element: T) => boolean} finder A finder function that takes an element of the array and returns a boolean that represents
|
|
11
|
-
* the 'found status' for that element; whether it should have been found or not.
|
|
12
|
-
*/
|
|
13
|
-
static ContainsAnElementFoundBy(array, finder) {
|
|
14
|
-
if (!array || !finder) {
|
|
15
|
-
return false;
|
|
16
|
-
}
|
|
17
|
-
return notNill(this.Find(array, finder));
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Cross-browser Array.find() function. Returns the first item in given array for which the foundBy function returns true. Returns
|
|
21
|
-
* undefined when none was found.
|
|
22
|
-
*
|
|
23
|
-
* Example usage:
|
|
24
|
-
* const foundItem: BusinessObject = ArrayUtils.Find<BusinessObject>(modelArray, (modelItem: BusinessObject) => <br>
|
|
25
|
-
* (return modelItem.getId() === '1')
|
|
26
|
-
* * });
|
|
27
|
-
*
|
|
28
|
-
* @param array The array with items to search in.
|
|
29
|
-
* @param foundBy The finder function applied on each items of the array, when that returns true, the item is considered found.
|
|
30
|
-
*/
|
|
31
|
-
static Find(array, foundBy) {
|
|
32
|
-
if (!array || !foundBy) {
|
|
33
|
-
return undefined;
|
|
34
|
-
}
|
|
35
|
-
for (let i = 0, len = array.length; i < len; i++) {
|
|
36
|
-
const itemCur = array[i];
|
|
37
|
-
if (foundBy(itemCur)) {
|
|
38
|
-
return itemCur;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
return undefined;
|
|
42
|
-
}
|
|
43
|
-
// @returns empty array when nothing found, otherwise array with found items
|
|
44
|
-
static FindAll(array, foundBy) {
|
|
45
|
-
const answer = [];
|
|
46
|
-
if (!array || !foundBy) {
|
|
47
|
-
return answer;
|
|
48
|
-
}
|
|
49
|
-
for (let i = 0, len = array.length; i < len; i++) {
|
|
50
|
-
const itemCur = array[i];
|
|
51
|
-
if (foundBy(itemCur)) {
|
|
52
|
-
answer.push(itemCur);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
return answer;
|
|
56
|
-
}
|
|
57
|
-
// returns a simple clone of given array, using array.slice(0)
|
|
58
|
-
static CloneArray(array) {
|
|
59
|
-
let answer = [];
|
|
60
|
-
if (array) {
|
|
61
|
-
answer = array.slice(0);
|
|
62
|
-
}
|
|
63
|
-
return answer;
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* Returns a 'semi deep clone' of given array. Its first-level members are object-shallow-cloned (optionally with a strongly typed constructor),
|
|
67
|
-
* or just as plain object (see param arrayItemsClass).
|
|
68
|
-
* @param array
|
|
69
|
-
* @param arrayItemsClass If provided, the cloned array's first-level items will be strongly typed to / constructed as this class. Otherwise
|
|
70
|
-
* it'll be a plain object.
|
|
71
|
-
* @param deepClone Set to true if array items contain FUNCTIONS that need to be cloned..
|
|
72
|
-
* @returns {Array} semi-deep clone of given array
|
|
73
|
-
*/
|
|
74
|
-
static CloneArrayAndItsItems(array, arrayItemsClass, deepClone = false) {
|
|
75
|
-
const cloneArray = [];
|
|
76
|
-
if (array) {
|
|
77
|
-
for (let i = 0, len = array.length; i < len; i++) {
|
|
78
|
-
if (deepClone) {
|
|
79
|
-
cloneArray.push(ObjectUtils.GetDeepClone(array[i]));
|
|
80
|
-
}
|
|
81
|
-
else {
|
|
82
|
-
cloneArray.push(ObjectUtils.GetShallowClone(array[i], arrayItemsClass));
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
else {
|
|
87
|
-
return [];
|
|
88
|
-
}
|
|
89
|
-
return cloneArray;
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* Removes element at given index from given array. Doesn't just set it to null like JavaScripts standard 'delete' does, but really
|
|
93
|
-
* removes the element using splice().
|
|
94
|
-
*
|
|
95
|
-
* @param {number} index
|
|
96
|
-
* @param {any[]} array in-out
|
|
97
|
-
* @returns {boolean} True if and only if the element on given index is succesfully removed from given array.
|
|
98
|
-
*/
|
|
99
|
-
static RemoveElementAtIndex(index, array) {
|
|
100
|
-
if (NumberUtils.IsNaN(index) || index < 0 || !Array.isArray(array) || array.length === 0) {
|
|
101
|
-
return false;
|
|
102
|
-
}
|
|
103
|
-
if (index in array) {
|
|
104
|
-
array.splice(index, 1);
|
|
105
|
-
return true;
|
|
106
|
-
}
|
|
107
|
-
else {
|
|
108
|
-
return false;
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
/**
|
|
112
|
-
* Removes given element from given array. Doesn't just set it to null like JavaScripts standard 'delete' does, but really removes the
|
|
113
|
-
* element using splice(). Also works on associative arrays.
|
|
114
|
-
*
|
|
115
|
-
* @param {T} element The element to remove.
|
|
116
|
-
* @param {T[]} array The array to remove the element from.
|
|
117
|
-
* @returns {boolean} True iff given element was truly successfully removed from given array.
|
|
118
|
-
*/
|
|
119
|
-
static RemoveElement(element, array) {
|
|
120
|
-
if (!Array.isArray(array)) {
|
|
121
|
-
return false;
|
|
122
|
-
}
|
|
123
|
-
const index = array.indexOf(element);
|
|
124
|
-
return ArrayUtils.RemoveElementAtIndex(index, array);
|
|
125
|
-
}
|
|
126
|
-
// Checks if given array is defined, and is an array, and has length > 0, and, optionally checks that the first element is of type given clazz.
|
|
127
|
-
static IsArrayWithElements(arrayToCheck, classItemsMustBeInstanceOf) {
|
|
128
|
-
if (isNill(arrayToCheck)) {
|
|
129
|
-
return false;
|
|
130
|
-
}
|
|
131
|
-
if (Array.isArray(arrayToCheck) && arrayToCheck.length > 0) {
|
|
132
|
-
if (classItemsMustBeInstanceOf) {
|
|
133
|
-
return arrayToCheck[0] instanceof classItemsMustBeInstanceOf;
|
|
134
|
-
}
|
|
135
|
-
else {
|
|
136
|
-
return true;
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
else {
|
|
140
|
-
return false;
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
// Removes all elements from given array for which given filter function holds true. Returns true if at least one removed, else false.
|
|
144
|
-
static RemoveElementsByFilter(array, filterFunction) {
|
|
145
|
-
if (!ArrayUtils.IsArrayWithElements(array) || !filterFunction) {
|
|
146
|
-
return false;
|
|
147
|
-
}
|
|
148
|
-
let atLeastOneRemoved = false;
|
|
149
|
-
const len = array.length;
|
|
150
|
-
for (let i = len - 1; i >= 0; i--) {
|
|
151
|
-
const item = array[i];
|
|
152
|
-
if (filterFunction.call(this, item) === true) {
|
|
153
|
-
array.splice(i, 1);
|
|
154
|
-
atLeastOneRemoved = true;
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
return atLeastOneRemoved;
|
|
158
|
-
}
|
|
159
|
-
static MoveElement(element, toIndex, array) {
|
|
160
|
-
if (!Array.isArray(array) || isNill(toIndex)) {
|
|
161
|
-
return false;
|
|
162
|
-
}
|
|
163
|
-
const fromIndex = array.indexOf(element);
|
|
164
|
-
const toIndexCorrected = NumberUtils.GetNearestNumberWithinBounds(toIndex, 0, array.length - 1);
|
|
165
|
-
if (fromIndex === -1 || array[toIndexCorrected] === element) {
|
|
166
|
-
// element did not exist in given array, or already existed on given toIndex
|
|
167
|
-
return false;
|
|
168
|
-
}
|
|
169
|
-
array.splice(toIndexCorrected, 0, array.splice(fromIndex, 1)[0]);
|
|
170
|
-
return true;
|
|
171
|
-
}
|
|
172
|
-
// PRE: elements exists in given array. POST: given elementToPlace has a lower index than given afterThisElement. Array is in-out manipulated.
|
|
173
|
-
static PlaceElementAfterOther(array, elementToPlace, afterThisElement) {
|
|
174
|
-
if (array) {
|
|
175
|
-
const afterThisElIdx = array.indexOf(afterThisElement);
|
|
176
|
-
const elToPlaceIdx = array.indexOf(elementToPlace);
|
|
177
|
-
if (afterThisElIdx >= elToPlaceIdx) {
|
|
178
|
-
ArrayUtils.MoveElement(elementToPlace, afterThisElIdx + 1, array);
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXktdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL3V0aWxzL2FycmF5LXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxtREFBbUQsQ0FBQztBQUM5RSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sbURBQW1ELENBQUM7QUFDOUUsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGdFQUFnRSxDQUFDO0FBQ3RGLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxpRUFBaUUsQ0FBQztBQUV4RixNQUFNLE9BQU8sVUFBVTtJQUNuQjs7Ozs7O09BTUc7SUFDSSxNQUFNLENBQUMsd0JBQXdCLENBQUksS0FBVSxFQUFFLE1BQStCO1FBQ2pGLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDbkIsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFFRCxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFJLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRDs7Ozs7Ozs7Ozs7T0FXRztJQUNJLE1BQU0sQ0FBQyxJQUFJLENBQUksS0FBVSxFQUFFLE9BQTZCO1FBQzNELElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDcEIsT0FBTyxTQUFTLENBQUM7U0FDcEI7UUFFRCxLQUFLLElBQUksQ0FBQyxHQUFXLENBQUMsRUFBRSxHQUFHLEdBQVcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzlELE1BQU0sT0FBTyxHQUFNLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM1QixJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRztnQkFDbkIsT0FBTyxPQUFPLENBQUM7YUFDbEI7U0FDSjtR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fSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL3V0aWxzL29iamVjdC11dGlsc1wiO1xyXG5pbXBvcnQge051bWJlclV0aWxzfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL3V0aWxzL251bWJlci11dGlsc1wiO1xyXG5pbXBvcnQge2lzTmlsbH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC91dGlscy9mdW5jdGlvbi9pcy1uaWxsLmZ1bmN0aW9uXCI7XHJcbmltcG9ydCB7bm90TmlsbH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC91dGlscy9mdW5jdGlvbi9ub3QtbmlsbC5mdW5jdGlvblwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIEFycmF5VXRpbHMge1xyXG4gICAgLyoqXHJcbiAgICAgKiBSZXR1cm5zIHdoZXRoZXIgYXQgbGVhc3Qgb25lIGVsZW1lbnQgaW4gZ2l2ZW4gYXJyYXkgY291bGQgYmUgZm91bmQgYnkgZ2l2ZW4gZmluZGVyIGZ1bmN0aW9uLlxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSB7VFtdfSBhcnJheVxyXG4gICAgICogQHBhcmFtIHsoZWxlbWVudDogVCkgPT4gYm9vbGVhbn0gZmluZGVyIEEgZmluZGVyIGZ1bmN0aW9uIHRoYXQgdGFrZXMgYW4gZWxlbWVudCBvZiB0aGUgYXJyYXkgYW5kIHJldHVybnMgYSBib29sZWFuIHRoYXQgcmVwcmVzZW50c1xyXG4gICAgICogdGhlICdmb3VuZCBzdGF0dXMnIGZvciB0aGF0IGVsZW1lbnQ7IHdoZXRoZXIgaXQgc2hvdWxkIGhhdmUgYmVlbiBmb3VuZCBvciBub3QuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgQ29udGFpbnNBbkVsZW1lbnRGb3VuZEJ5PFQ+KGFycmF5OiBUW10sIGZpbmRlcjogKGVsZW1lbnQ6IFQpID0+IGJvb2xlYW4pOiBib29sZWFuIHtcclxuICAgICAgICBpZiAoIWFycmF5IHx8ICFmaW5kZXIpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIG5vdE5pbGwodGhpcy5GaW5kPFQ+KGFycmF5LCBmaW5kZXIpKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENyb3NzLWJyb3dzZXIgQXJyYXkuZmluZCgpIGZ1bmN0aW9uLiBSZXR1cm5zIHRoZSBmaXJzdCBpdGVtIGluIGdpdmVuIGFycmF5IGZvciB3aGljaCB0aGUgZm91bmRCeSBmdW5jdGlvbiByZXR1cm5zIHRydWUuIFJldHVybnNcclxuICAgICAqIHVuZGVmaW5lZCB3aGVuIG5vbmUgd2FzIGZvdW5kLlxyXG4gICAgICpcclxuICAgICAqIEV4YW1wbGUgdXNhZ2U6XHJcbiAgICAgKiBjb25zdCBmb3VuZEl0ZW06IEJ1c2luZXNzT2JqZWN0ID0gQXJyYXlVdGlscy5GaW5kPEJ1c2luZXNzT2JqZWN0Pihtb2RlbEFycmF5LCAobW9kZWxJdGVtOiBCdXNpbmVzc09iamVjdCkgPT4gPGJyPlxyXG4gICAgICogICAgIChyZXR1cm4gbW9kZWxJdGVtLmdldElkKCkgPT09ICcxJylcclxuICAgICAqICAgKiB9KTtcclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gYXJyYXkgVGhlIGFycmF5IHdpdGggaXRlbXMgdG8gc2VhcmNoIGluLlxyXG4gICAgICogQHBhcmFtIGZvdW5kQnkgVGhlIGZpbmRlciBmdW5jdGlvbiBhcHBsaWVkIG9uIGVhY2ggaXRlbXMgb2YgdGhlIGFycmF5LCB3aGVuIHRoYXQgcmV0dXJucyB0cnVlLCB0aGUgaXRlbSBpcyBjb25zaWRlcmVkIGZvdW5kLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIEZpbmQ8VD4oYXJyYXk6IFRbXSwgZm91bmRCeTogKGl0ZW06IFQpID0+IGJvb2xlYW4pOiBUIHtcclxuICAgICAgICBpZiAoIWFycmF5IHx8ICFmb3VuZEJ5KSB7XHJcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBmb3IgKGxldCBpOiBudW1iZXIgPSAwLCBsZW46IG51bWJlciA9IGFycmF5Lmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGl0ZW1DdXI6IFQgPSBhcnJheVtpXTtcclxuICAgICAgICAgICAgaWYgKGZvdW5kQnkoaXRlbUN1cikgKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gaXRlbUN1cjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEByZXR1cm5zIGVtcHR5IGFycmF5IHdoZW4gbm90aGluZyBmb3VuZCwgb3RoZXJ3aXNlIGFycmF5IHdpdGggZm91bmQgaXRlbXNcclxuICAgIHB1YmxpYyBzdGF0aWMgRmluZEFsbDxUPihhcnJheTogVFtdLCBmb3VuZEJ5OiAoaXRlbTogVCkgPT4gYm9vbGVhbik6IFRbXSB7XHJcbiAgICAgICAgY29uc3QgYW5zd2VyOiBUW10gPSBbXTtcclxuICAgICAgICBpZiAoIWFycmF5IHx8ICFmb3VuZEJ5KSB7XHJcbiAgICAgICAgICAgIHJldHVybiBhbnN3ZXI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBmb3IgKGxldCBpOiBudW1iZXIgPSAwLCBsZW46IG51bWJlciA9IGFycmF5Lmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGl0ZW1DdXI6IFQgPSBhcnJheVtpXTtcclxuICAgICAgICAgICAgaWYgKGZvdW5kQnkoaXRlbUN1cikpIHtcclxuICAgICAgICAgICAgICAgIGFuc3dlci5wdXNoKGl0ZW1DdXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBhbnN3ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gcmV0dXJucyBhIHNpbXBsZSBjbG9uZSBvZiBnaXZlbiBhcnJheSwgdXNpbmcgYXJyYXkuc2xpY2UoMClcclxuICAgIHB1YmxpYyBzdGF0aWMgQ2xvbmVBcnJheTxUPihhcnJheTogVFtdKTogVFtdIHtcclxuICAgICAgICBsZXQgYW5zd2VyOiBUW10gPSBbXTtcclxuXHJcbiAgICAgICAgaWYgKGFycmF5KSB7XHJcbiAgICAgICAgICAgIGFuc3dlciA9IGFycmF5LnNsaWNlKDApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIGFuc3dlcjtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldHVybnMgYSAnc2VtaSBkZWVwIGNsb25lJyBvZiBnaXZlbiBhcnJheS4gSXRzIGZpcnN0LWxldmVsIG1lbWJlcnMgYXJlIG9iamVjdC1zaGFsbG93LWNsb25lZCAob3B0aW9uYWxseSB3aXRoIGEgc3Ryb25nbHkgdHlwZWQgY29uc3RydWN0b3IpLFxyXG4gICAgICogb3IganVzdCBhcyBwbGFpbiBvYmplY3QgKHNlZSBwYXJhbSBhcnJheUl0ZW1zQ2xhc3MpLlxyXG4gICAgICogQHBhcmFtIGFycmF5XHJcbiAgICAgKiBAcGFyYW0gYXJyYXlJdGVtc0NsYXNzIElmIHByb3ZpZGVkLCB0aGUgY2xvbmVkIGFycmF5J3MgZmlyc3QtbGV2ZWwgaXRlbXMgd2lsbCBiZSBzdHJvbmdseSB0eXBlZCB0byAvIGNvbnN0cnVjdGVkIGFzIHRoaXMgY2xhc3MuIE90aGVyd2lzZVxyXG4gICAgICogaXQnbGwgYmUgYSBwbGFpbiBvYmplY3QuXHJcbiAgICAgKiBAcGFyYW0gZGVlcENsb25lIFNldCB0byB0cnVlIGlmIGFycmF5IGl0ZW1zIGNvbnRhaW4gRlVOQ1RJT05TIHRoYXQgbmVlZCB0byBiZSBjbG9uZWQuLlxyXG4gICAgICogQHJldHVybnMge0FycmF5fSBzZW1pLWRlZXAgY2xvbmUgb2YgZ2l2ZW4gYXJyYXlcclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBDbG9uZUFycmF5QW5kSXRzSXRlbXM8VD4oYXJyYXk6IFRbXSwgYXJyYXlJdGVtc0NsYXNzPzogYW55LCBkZWVwQ2xvbmU6IGJvb2xlYW4gPSBmYWxzZSk6IFRbXSB7XHJcbiAgICAgICAgY29uc3QgY2xvbmVBcnJheTogVFtdID0gW107XHJcblxyXG4gICAgICAgIGlmIChhcnJheSkge1xyXG4gICAgICAgICAgICBmb3IgKGxldCBpOiBudW1iZXIgPSAwLCBsZW46IG51bWJlciA9IGFycmF5Lmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoZGVlcENsb25lKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY2xvbmVBcnJheS5wdXNoKE9iamVjdFV0aWxzLkdldERlZXBDbG9uZShhcnJheVtpXSkpO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBjbG9uZUFycmF5LnB1c2goT2JqZWN0VXRpbHMuR2V0U2hhbGxvd0Nsb25lKGFycmF5W2ldLCBhcnJheUl0ZW1zQ2xhc3MpKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiBbXTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBjbG9uZUFycmF5O1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmVtb3ZlcyBlbGVtZW50IGF0IGdpdmVuIGluZGV4IGZyb20gZ2l2ZW4gYXJyYXkuIERvZXNuJ3QganVzdCBzZXQgaXQgdG8gbnVsbCBsaWtlIEphdmFTY3JpcHRzIHN0YW5kYXJkICdkZWxldGUnIGRvZXMsIGJ1dCByZWFsbHlcclxuICAgICAqIHJlbW92ZXMgdGhlIGVsZW1lbnQgdXNpbmcgc3BsaWNlKCkuXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IGluZGV4XHJcbiAgICAgKiBAcGFyYW0ge2FueVtdfSBhcnJheSBpbi1vdXRcclxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIGFuZCBvbmx5IGlmIHRoZSBlbGVtZW50IG9uIGdpdmVuIGluZGV4IGlzIHN1Y2Nlc2Z1bGx5IHJlbW92ZWQgZnJvbSBnaXZlbiBhcnJheS5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBSZW1vdmVFbGVtZW50QXRJbmRleChpbmRleDogbnVtYmVyLCBhcnJheTogYW55W10pOiBib29sZWFuIHtcclxuICAgICAgICBpZiAoTnVtYmVyVXRpbHMuSXNOYU4oaW5kZXgpIHx8IGluZGV4IDwgMCB8fCAhQXJyYXkuaXNBcnJheShhcnJheSkgfHwgYXJyYXkubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChpbmRleCBpbiBhcnJheSkge1xyXG4gICAgICAgICAgICBhcnJheS5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmVtb3ZlcyBnaXZlbiBlbGVtZW50IGZyb20gZ2l2ZW4gYXJyYXkuIERvZXNuJ3QganVzdCBzZXQgaXQgdG8gbnVsbCBsaWtlIEphdmFTY3JpcHRzIHN0YW5kYXJkICdkZWxldGUnIGRvZXMsIGJ1dCByZWFsbHkgcmVtb3ZlcyB0aGVcclxuICAgICAqIGVsZW1lbnQgdXNpbmcgc3BsaWNlKCkuIEFsc28gd29ya3Mgb24gYXNzb2NpYXRpdmUgYXJyYXlzLlxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSB7VH0gZWxlbWVudCBUaGUgZWxlbWVudCB0byByZW1vdmUuXHJcbiAgICAgKiBAcGFyYW0ge1RbXX0gYXJyYXkgVGhlIGFycmF5IHRvIHJlbW92ZSB0aGUgZWxlbWVudCBmcm9tLlxyXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWZmIGdpdmVuIGVsZW1lbnQgd2FzIHRydWx5IHN1Y2Nlc3NmdWxseSByZW1vdmVkIGZyb20gZ2l2ZW4gYXJyYXkuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgUmVtb3ZlRWxlbWVudDxUPihlbGVtZW50OiBULCBhcnJheTogVFtdKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KGFycmF5KSkge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBpbmRleDogbnVtYmVyID0gYXJyYXkuaW5kZXhPZihlbGVtZW50KTtcclxuICAgICAgICByZXR1cm4gQXJyYXlVdGlscy5SZW1vdmVFbGVtZW50QXRJbmRleChpbmRleCwgYXJyYXkpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIENoZWNrcyBpZiBnaXZlbiBhcnJheSBpcyBkZWZpbmVkLCBhbmQgaXMgYW4gYXJyYXksIGFuZCBoYXMgbGVuZ3RoID4gMCwgYW5kLCBvcHRpb25hbGx5IGNoZWNrcyB0aGF0IHRoZSBmaXJzdCBlbGVtZW50IGlzIG9mIHR5cGUgZ2l2ZW4gY2xhenouXHJcbiAgICBwdWJsaWMgc3RhdGljIElzQXJyYXlXaXRoRWxlbWVudHM8VD4oYXJyYXlUb0NoZWNrOiBUW10sIGNsYXNzSXRlbXNNdXN0QmVJbnN0YW5jZU9mPzogYW55KTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKGlzTmlsbChhcnJheVRvQ2hlY2spKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGFycmF5VG9DaGVjaykgJiYgYXJyYXlUb0NoZWNrLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgaWYgKGNsYXNzSXRlbXNNdXN0QmVJbnN0YW5jZU9mKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gYXJyYXlUb0NoZWNrWzBdIGluc3RhbmNlb2YgY2xhc3NJdGVtc011c3RCZUluc3RhbmNlT2Y7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gUmVtb3ZlcyBhbGwgZWxlbWVudHMgZnJvbSBnaXZlbiBhcnJheSBmb3Igd2hpY2ggZ2l2ZW4gZmlsdGVyIGZ1bmN0aW9uIGhvbGRzIHRydWUuIFJldHVybnMgdHJ1ZSBpZiBhdCBsZWFzdCBvbmUgcmVtb3ZlZCwgZWxzZSBmYWxzZS5cclxuICAgIHB1YmxpYyBzdGF0aWMgUmVtb3ZlRWxlbWVudHNCeUZpbHRlcihhcnJheTogYW55W10sIGZpbHRlckZ1bmN0aW9uOiAoaXRlbTogYW55KSA9PiBib29sZWFuKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKCFBcnJheVV0aWxzLklzQXJyYXlXaXRoRWxlbWVudHMoYXJyYXkpIHx8ICFmaWx0ZXJGdW5jdGlvbikge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsZXQgYXRMZWFzdE9uZVJlbW92ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAgICAgY29uc3QgbGVuOiBudW1iZXIgPSBhcnJheS5sZW5ndGg7XHJcbiAgICAgICAgZm9yIChsZXQgaTogbnVtYmVyID0gbGVuIC0gMTsgaSA+PSAwOyBpLS0pIHtcclxuICAgICAgICAgICAgY29uc3QgaXRlbTogYW55ID0gYXJyYXlbaV07XHJcbiAgICAgICAgICAgIGlmIChmaWx0ZXJGdW5jdGlvbi5jYWxsKHRoaXMsIGl0ZW0pID09PSB0cnVlKSB7XHJcbiAgICAgICAgICAgICAgICBhcnJheS5zcGxpY2UoaSwgMSk7XHJcbiAgICAgICAgICAgICAgICBhdExlYXN0T25lUmVtb3ZlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBhdExlYXN0T25lUmVtb3ZlZDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIE1vdmVFbGVtZW50PFQ+KGVsZW1lbnQ6IFQsIHRvSW5kZXg6IG51bWJlciwgYXJyYXk6IFRbXSk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGlmICghQXJyYXkuaXNBcnJheShhcnJheSkgfHwgaXNOaWxsKHRvSW5kZXgpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IGZyb21JbmRleDogbnVtYmVyID0gYXJyYXkuaW5kZXhPZihlbGVtZW50KTtcclxuICAgICAgICBjb25zdCB0b0luZGV4Q29ycmVjdGVkOiBudW1iZXIgPSBOdW1iZXJVdGlscy5HZXROZWFyZXN0TnVtYmVyV2l0aGluQm91bmRzKHRvSW5kZXgsIDAsIGFycmF5Lmxlbmd0aCAtIDEpO1xyXG4gICAgICAgIGlmIChmcm9tSW5kZXggPT09IC0xIHx8IGFycmF5W3RvSW5kZXhDb3JyZWN0ZWRdID09PSBlbGVtZW50KSB7XHJcbiAgICAgICAgICAgIC8vIGVsZW1lbnQgZGlkIG5vdCBleGlzdCBpbiBnaXZlbiBhcnJheSwgb3IgYWxyZWFkeSBleGlzdGVkIG9uIGdpdmVuIHRvSW5kZXhcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBhcnJheS5zcGxpY2UodG9JbmRleENvcnJlY3RlZCwgMCwgYXJyYXkuc3BsaWNlKGZyb21JbmRleCwgMSlbMF0pO1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFBSRTogZWxlbWVudHMgZXhpc3RzIGluIGdpdmVuIGFycmF5LiBQT1NUOiBnaXZlbiBlbGVtZW50VG9QbGFjZSBoYXMgYSBsb3dlciBpbmRleCB0aGFuIGdpdmVuIGFmdGVyVGhpc0VsZW1lbnQuIEFycmF5IGlzIGluLW91dCBtYW5pcHVsYXRlZC5cclxuICAgIHB1YmxpYyBzdGF0aWMgUGxhY2VFbGVtZW50QWZ0ZXJPdGhlcihhcnJheTogYW55W10sIGVsZW1lbnRUb1BsYWNlOiBhbnksIGFmdGVyVGhpc0VsZW1lbnQ6IGFueSk6IHZvaWQge1xyXG4gICAgICAgIGlmIChhcnJheSkge1xyXG4gICAgICAgICAgICBjb25zdCBhZnRlclRoaXNFbElkeDogbnVtYmVyID0gYXJyYXkuaW5kZXhPZihhZnRlclRoaXNFbGVtZW50KTtcclxuICAgICAgICAgICAgY29uc3QgZWxUb1BsYWNlSWR4OiBudW1iZXIgPSBhcnJheS5pbmRleE9mKGVsZW1lbnRUb1BsYWNlKTtcclxuICAgICAgICAgICAgaWYgKGFmdGVyVGhpc0VsSWR4ID49IGVsVG9QbGFjZUlkeCkge1xyXG4gICAgICAgICAgICAgICAgQXJyYXlVdGlscy5Nb3ZlRWxlbWVudChlbGVtZW50VG9QbGFjZSwgYWZ0ZXJUaGlzRWxJZHggKyAxLCBhcnJheSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -1,5 +0,0 @@
|
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtbmlsbC5mdW5jdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvdXRpbHMvaXMtbmlsbC5mdW5jdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnRUFBZ0U7QUFDaEUsTUFBTSxVQUFVLE1BQU0sQ0FBQyxLQUFVO0lBQzdCLE9BQU8sS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLEtBQUssU0FBUyxDQUFDO0FBQ2pELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAcmV0dXJucyB0cnVlIGlmZiBnaXZlbiB2YWx1ZSBlcXVhbHMgbnVsbCBvciBlcXVhbHMgdW5kZWZpbmVkXHJcbmV4cG9ydCBmdW5jdGlvbiBpc05pbGwodmFsdWU6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQ7XHJcbn0iXX0=
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
// Static utility functions holder related to strings.
|
|
2
|
-
export class StringUtils {
|
|
3
|
-
/**
|
|
4
|
-
* Returns a new string where given placeholder in given source string are replaced by given replacement texts.
|
|
5
|
-
*
|
|
6
|
-
* Example usage:
|
|
7
|
-
*
|
|
8
|
-
* source = "ABCDABCD"
|
|
9
|
-
* placeholder = "BC"
|
|
10
|
-
* replacementTexts = "Z", "Z" (REST arguments)
|
|
11
|
-
* OUTPUT = "AZDAZD"
|
|
12
|
-
*
|
|
13
|
-
* @param {string} source
|
|
14
|
-
* @param {string} placeholder
|
|
15
|
-
* @param {string} replacementTexts If only one is given, this function replaces all placeholders with that single replacementText.
|
|
16
|
-
* If more are given, placeholders without a corresponding replacementText will remain their original placeholder characters.
|
|
17
|
-
*/
|
|
18
|
-
static ReplaceOccurrencesIn(source, placeholder, ...replacementTexts) {
|
|
19
|
-
// parameter guards
|
|
20
|
-
if (!(source)) {
|
|
21
|
-
return undefined;
|
|
22
|
-
}
|
|
23
|
-
if (!placeholder || replacementTexts.length === 0) {
|
|
24
|
-
return source;
|
|
25
|
-
}
|
|
26
|
-
let outString = source;
|
|
27
|
-
// one replacementText means replace for all
|
|
28
|
-
if (replacementTexts.length === 1) {
|
|
29
|
-
// "g" is the g flag to replace globally
|
|
30
|
-
outString = outString.replace(placeholder, replacementTexts[0]);
|
|
31
|
-
}
|
|
32
|
-
else {
|
|
33
|
-
// replace occurence i by replacementTexts[i], one at a time in loop (there might be a faster way..)
|
|
34
|
-
for (let i = 0, len = replacementTexts.length; i < len; i++) {
|
|
35
|
-
outString = outString.replace(placeholder, replacementTexts[i]);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
return outString;
|
|
39
|
-
}
|
|
40
|
-
// Returns the given argument as a string. Returns given defaultValue if conversion of argument to string was impossible.
|
|
41
|
-
static ParseString(arg, defaultValue = "") {
|
|
42
|
-
if (!StringUtils.IsString(arg)) {
|
|
43
|
-
if (arg && typeof arg.toString === "function") {
|
|
44
|
-
arg = arg.toString();
|
|
45
|
-
}
|
|
46
|
-
else {
|
|
47
|
-
arg = defaultValue;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
return arg;
|
|
51
|
-
}
|
|
52
|
-
static IsString(str) {
|
|
53
|
-
return typeof str === 'string';
|
|
54
|
-
}
|
|
55
|
-
// Returns whether given str is a string and has a length > 0.
|
|
56
|
-
static IsStringWithLength(str) {
|
|
57
|
-
return str && StringUtils.IsString(str) && str.length > 0;
|
|
58
|
-
}
|
|
59
|
-
// Returns given string, escaped for use as string literal in regular expressions.
|
|
60
|
-
static _escapeRegExp(str) {
|
|
61
|
-
return str; // .replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^$\|]/g, "\\$&");
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi91dGlscy9zdHJpbmctdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsc0RBQXNEO0FBQ3RELE1BQU0sT0FBTyxXQUFXO0lBRXRCOzs7Ozs7Ozs7Ozs7OztPQWNHO0lBQ0ksTUFBTSxDQUFDLG9CQUFvQixDQUFDLE1BQWMsRUFBRSxXQUFtQixFQUFFLEdBQUcsZ0JBQTBCO1FBQ25HLG1CQUFtQjtRQUNuQixJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNiLE9BQU8sU0FBUyxDQUFDO1NBQ2xCO1FBQ0QsSUFBSSxDQUFDLFdBQVcsSUFBSSxnQkFBZ0IsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ2pELE9BQU8sTUFBTSxDQUFDO1NBQ2Y7UUFDRCxJQUFJLFNBQVMsR0FBVyxNQUFNLENBQUM7UUFDL0IsNENBQTRDO1FBQzVDLElBQUksZ0JBQWdCLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUNqQyx3Q0FBd0M7WUFDeEMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDakU7YUFBTTtZQUNMLG9HQUFvRztZQUNwRyxLQUFLLElBQUksQ0FBQyxHQUFXLENBQUMsRUFBRSxHQUFHLEdBQVcsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQzNFLFNBQVMsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ2pFO1NBQ0Y7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQseUhBQXlIO0lBQ2xILE1BQU0sQ0FBQyxXQUFXLENBQUMsR0FBUSxFQUFFLGVBQXVCLEVBQUU7UUFDM0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDOUIsSUFBSSxHQUFHLElBQUksT0FBTyxHQUFHLENBQUMsUUFBUSxLQUFLLFVBQVUsRUFBRTtnQkFDN0MsR0FBRyxHQUFHLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQzthQUN0QjtpQkFBTTtnQkFDTCxHQUFHLEdBQUcsWUFBWSxDQUFDO2FBQ3BCO1NBQ0Y7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFTSxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQVE7UUFDN0IsT0FBTyxPQUFPLEdBQUcsS0FBSyxRQUFRLENBQUM7SUFDakMsQ0FBQztJQUVELDhEQUE4RDtJQUN2RCxNQUFNLENBQUMsa0JBQWtCLENBQUMsR0FBVztRQUMxQyxPQUFPLEdBQUcsSUFBSSxXQUFXLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxrRkFBa0Y7SUFDMUUsTUFBTSxDQUFDLGFBQWEsQ0FBQyxHQUFXO1FBQ3RDLE9BQU8sR0FBRyxDQUFDLENBQUEsMERBQTBEO0lBQ3ZFLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbIi8vIFN0YXRpYyB1dGlsaXR5IGZ1bmN0aW9ucyBob2xkZXIgcmVsYXRlZCB0byBzdHJpbmdzLlxyXG5leHBvcnQgY2xhc3MgU3RyaW5nVXRpbHMge1xyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm5zIGEgbmV3IHN0cmluZyB3aGVyZSBnaXZlbiBwbGFjZWhvbGRlciBpbiBnaXZlbiBzb3VyY2Ugc3RyaW5nIGFyZSByZXBsYWNlZCBieSBnaXZlbiByZXBsYWNlbWVudCB0ZXh0cy5cclxuICAgKlxyXG4gICAqIEV4YW1wbGUgdXNhZ2U6XHJcbiAgICpcclxuICAgKiBzb3VyY2UgPSBcIkFCQ0RBQkNEXCJcclxuICAgKiBwbGFjZWhvbGRlciA9IFwiQkNcIlxyXG4gICAqIHJlcGxhY2VtZW50VGV4dHMgPSBcIlpcIiwgXCJaXCIgKFJFU1QgYXJndW1lbnRzKVxyXG4gICAqIE9VVFBVVCA9IFwiQVpEQVpEXCJcclxuICAgKlxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzb3VyY2VcclxuICAgKiBAcGFyYW0ge3N0cmluZ30gcGxhY2Vob2xkZXJcclxuICAgKiBAcGFyYW0ge3N0cmluZ30gcmVwbGFjZW1lbnRUZXh0cyBJZiBvbmx5IG9uZSBpcyBnaXZlbiwgdGhpcyBmdW5jdGlvbiByZXBsYWNlcyBhbGwgcGxhY2Vob2xkZXJzIHdpdGggdGhhdCBzaW5nbGUgcmVwbGFjZW1lbnRUZXh0LlxyXG4gICAqIElmIG1vcmUgYXJlIGdpdmVuLCBwbGFjZWhvbGRlcnMgd2l0aG91dCBhIGNvcnJlc3BvbmRpbmcgcmVwbGFjZW1lbnRUZXh0IHdpbGwgcmVtYWluIHRoZWlyIG9yaWdpbmFsIHBsYWNlaG9sZGVyIGNoYXJhY3RlcnMuXHJcbiAgICovXHJcbiAgcHVibGljIHN0YXRpYyBSZXBsYWNlT2NjdXJyZW5jZXNJbihzb3VyY2U6IHN0cmluZywgcGxhY2Vob2xkZXI6IHN0cmluZywgLi4ucmVwbGFjZW1lbnRUZXh0czogc3RyaW5nW10pOiBzdHJpbmcge1xyXG4gICAgLy8gcGFyYW1ldGVyIGd1YXJkc1xyXG4gICAgaWYgKCEoc291cmNlKSkge1xyXG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG4gICAgaWYgKCFwbGFjZWhvbGRlciB8fCByZXBsYWNlbWVudFRleHRzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICByZXR1cm4gc291cmNlO1xyXG4gICAgfVxyXG4gICAgbGV0IG91dFN0cmluZzogc3RyaW5nID0gc291cmNlO1xyXG4gICAgLy8gb25lIHJlcGxhY2VtZW50VGV4dCBtZWFucyByZXBsYWNlIGZvciBhbGxcclxuICAgIGlmIChyZXBsYWNlbWVudFRleHRzLmxlbmd0aCA9PT0gMSkge1xyXG4gICAgICAvLyBcImdcIiBpcyB0aGUgZyBmbGFnIHRvIHJlcGxhY2UgZ2xvYmFsbHlcclxuICAgICAgb3V0U3RyaW5nID0gb3V0U3RyaW5nLnJlcGxhY2UocGxhY2Vob2xkZXIsIHJlcGxhY2VtZW50VGV4dHNbMF0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgLy8gcmVwbGFjZSBvY2N1cmVuY2UgaSBieSByZXBsYWNlbWVudFRleHRzW2ldLCBvbmUgYXQgYSB0aW1lIGluIGxvb3AgKHRoZXJlIG1pZ2h0IGJlIGEgZmFzdGVyIHdheS4uKVxyXG4gICAgICBmb3IgKGxldCBpOiBudW1iZXIgPSAwLCBsZW46IG51bWJlciA9IHJlcGxhY2VtZW50VGV4dHMubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcclxuICAgICAgICBvdXRTdHJpbmcgPSBvdXRTdHJpbmcucmVwbGFjZShwbGFjZWhvbGRlciwgcmVwbGFjZW1lbnRUZXh0c1tpXSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBvdXRTdHJpbmc7XHJcbiAgfVxyXG5cclxuICAvLyBSZXR1cm5zIHRoZSBnaXZlbiBhcmd1bWVudCBhcyBhIHN0cmluZy4gUmV0dXJucyBnaXZlbiBkZWZhdWx0VmFsdWUgaWYgY29udmVyc2lvbiBvZiBhcmd1bWVudCB0byBzdHJpbmcgd2FzIGltcG9zc2libGUuXHJcbiAgcHVibGljIHN0YXRpYyBQYXJzZVN0cmluZyhhcmc6IGFueSwgZGVmYXVsdFZhbHVlOiBzdHJpbmcgPSBcIlwiKTogc3RyaW5nIHtcclxuICAgIGlmICghU3RyaW5nVXRpbHMuSXNTdHJpbmcoYXJnKSkge1xyXG4gICAgICBpZiAoYXJnICYmIHR5cGVvZiBhcmcudG9TdHJpbmcgPT09IFwiZnVuY3Rpb25cIikge1xyXG4gICAgICAgIGFyZyA9IGFyZy50b1N0cmluZygpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGFyZyA9IGRlZmF1bHRWYWx1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGFyZztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgSXNTdHJpbmcoc3RyOiBhbnkpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0eXBlb2Ygc3RyID09PSAnc3RyaW5nJztcclxuICB9XHJcblxyXG4gIC8vIFJldHVybnMgd2hldGhlciBnaXZlbiBzdHIgaXMgYSBzdHJpbmcgYW5kIGhhcyBhIGxlbmd0aCA+IDAuXHJcbiAgcHVibGljIHN0YXRpYyBJc1N0cmluZ1dpdGhMZW5ndGgoc3RyOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBzdHIgJiYgU3RyaW5nVXRpbHMuSXNTdHJpbmcoc3RyKSAmJiBzdHIubGVuZ3RoID4gMDtcclxuICB9XHJcblxyXG4gIC8vIFJldHVybnMgZ2l2ZW4gc3RyaW5nLCBlc2NhcGVkIGZvciB1c2UgYXMgc3RyaW5nIGxpdGVyYWwgaW4gcmVndWxhciBleHByZXNzaW9ucy5cclxuICBwcml2YXRlIHN0YXRpYyBfZXNjYXBlUmVnRXhwKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBzdHI7Ly8gLnJlcGxhY2UoL1tcXC1cXFtcXF1cXC9cXHtcXH1cXChcXClcXCpcXCtcXD9cXC5cXFxcXFxeJFxcfF0vZywgXCJcXFxcJCZcIik7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { BusinessObject } from "../model/business-object";
|
|
2
|
-
export declare class BusinessObjectFactory {
|
|
3
|
-
constructor();
|
|
4
|
-
/**
|
|
5
|
-
* Creates and returns a new business data object instance of given class, with all given data properties applied to it in a
|
|
6
|
-
* complex-aware style. That is, all properties on given class that are decorated with @ComplexField(..) or @ComplexArray(..) decorators
|
|
7
|
-
* become strongly typed business objects, with methods that are usable and such.
|
|
8
|
-
*
|
|
9
|
-
* @param modelClass
|
|
10
|
-
* @param {Object} rawData The object with all (possibly raw/flat/not alive) data to be applied to the created model object
|
|
11
|
-
*/
|
|
12
|
-
makeWithRawBackendData(modelClass: any, rawData: Object): BusinessObject;
|
|
13
|
-
makeBOArrayFromRawBackendDataArray(modelClass: any, arrayOfRawDatas: Object[]): BusinessObject[];
|
|
14
|
-
instantiateNewBo(modelClass: any): BusinessObject;
|
|
15
|
-
/**
|
|
16
|
-
* Applies all properties of given 'source' object to the given 'destination' businessobject, if destination has that property.
|
|
17
|
-
* Works with the @ComplexField(), @ComplexArray, @BooleanText, @CoInject and @DateField annotations of given destination model.
|
|
18
|
-
*
|
|
19
|
-
* @param sourceData Raw data to copy to destination model
|
|
20
|
-
* @param {BusinessObject} destinationModel InOut: The annotated businessobject to apply source properties to
|
|
21
|
-
*/
|
|
22
|
-
private _copyAllPropertiesDecoratorProcessedFrom;
|
|
23
|
-
}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { DbBooleanValueType } from "@colijnit/transactionapi/build/enum/db-boolean-value-type.enum";
|
|
2
|
-
/**
|
|
3
|
-
* There are 'J', 'T', 'N', 'F', 0 and 1 'boolean values' in the database. These should be translated to true and false boolean values in
|
|
4
|
-
* our client application.
|
|
5
|
-
*
|
|
6
|
-
* The values 'J' and 'N' seem to be most commonly used. This is the default setting when using this decorator.
|
|
7
|
-
* You can pass 'T' or 1 for the other variants as follows:
|
|
8
|
-
*
|
|
9
|
-
* Usage:
|
|
10
|
-
*
|
|
11
|
-
* @BooleanText() or @BooleanText("J") (the default, uses YesNoDbType char values)
|
|
12
|
-
* public foo: boolean // 'J' and 'N' become true and false after BusinessObjectFactoryService and -SerializerService processing
|
|
13
|
-
*
|
|
14
|
-
* @BooleanText('T') (uses TrueFalseDbType char values)
|
|
15
|
-
* public bar: boolean // 'T' and 'F' become true and false after BusinessObjectFactoryService and -SerializerService processing
|
|
16
|
-
*
|
|
17
|
-
* @BooleanText(1)
|
|
18
|
-
* public baz: boolean // 1 and 0 become true and false after BusinessObjectFactoryService and -SerializerService processing
|
|
19
|
-
*/
|
|
20
|
-
export declare function BooleanText(type?: "J" | "T" | 1): PropertyDecorator;
|
|
21
|
-
export declare class BooleanTextDecorator {
|
|
22
|
-
/**
|
|
23
|
-
* Returns whether given property (as a string) on given object is a boolean text field. That is, it's a field that is decorated
|
|
24
|
-
* with the @BooleanText decorator.
|
|
25
|
-
*/
|
|
26
|
-
static IsBooleanTextField(target: Object, propertyKey: string): boolean;
|
|
27
|
-
/**
|
|
28
|
-
* Returns the logical true or false value of given character ('J', 'N', 'T' or 'F') or number (0 or 1).
|
|
29
|
-
* Returns UNDEFINED if given boolChar was not recognised as a boolean text.
|
|
30
|
-
*/
|
|
31
|
-
static GetLogicalBooleanValue(dbBoolChar: DbBooleanValueType | string): boolean;
|
|
32
|
-
/**
|
|
33
|
-
* Returns the boolean character / number of given logical bool property on target object. Uses its @BooleanText() annotation to decide
|
|
34
|
-
* what character / number to return.
|
|
35
|
-
* Used in BusinessObjectSerializerServiceService to convert logical bools to their original boolean character.
|
|
36
|
-
* @returns {string|number} The original, reverse-engineered boolean character (or number) of given object property, or undefined.
|
|
37
|
-
*/
|
|
38
|
-
static GetDbBooleanValue(target: Object, propertyKey: string): DbBooleanValueType;
|
|
39
|
-
private static _IsJaNeeProp;
|
|
40
|
-
private static _IsTrueFalseProp;
|
|
41
|
-
private static _IsZeroOneProp;
|
|
42
|
-
private static _IsProp;
|
|
43
|
-
}
|