@colijnit/transaction 1.9.31 → 12.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app/component/common/icon/icon.component.d.ts +1 -2
- package/bundles/colijnit-transaction.umd.js +950 -983
- package/bundles/colijnit-transaction.umd.js.map +1 -1
- package/colijnit-transaction.d.ts +14 -14
- package/colijnit-transaction.metadata.json +1 -1
- package/esm2015/app/component/checkout/checkout/checkout.component.js +22 -26
- package/esm2015/app/component/checkout/checkout-login/checkout-login.component.js +18 -27
- package/esm2015/app/component/checkout/checkout-overview/checkout-overview.component.js +26 -49
- package/esm2015/app/component/checkout/checkout-overview-block/checkout-overview-block.component.js +17 -24
- package/esm2015/app/component/checkout/checkout-overview-delivery-address/checkout-overview-delivery-address.component.js +18 -24
- package/esm2015/app/component/checkout/checkout-overview-delivery-edit/checkout-overview-delivery-edit.component.js +27 -42
- package/esm2015/app/component/checkout/checkout-overview-relation-address/checkout-overview-relation-address.component.js +19 -22
- package/esm2015/app/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component.js +25 -36
- package/esm2015/app/component/checkout/checkout-relation-suggestions-list/checkout-relation-suggestions-list.component.js +18 -24
- package/esm2015/app/component/checkout/checkout-relation-suggestions-list-item/checkout-relation-suggestions-list-item.component.js +16 -21
- package/esm2015/app/component/checkout/ione-checkout.component.js +27 -34
- package/esm2015/app/component/checkout/ione-checkout.module.js +55 -58
- package/esm2015/app/component/checkout/retail-transaction-checkout/retail-transaction-checkout.component.js +16 -18
- package/esm2015/app/component/common/icon/icon.component.js +14 -18
- package/esm2015/app/component/common/image-display/image-display.component.js +19 -36
- package/esm2015/app/component/common/no-image-display/no-image-display.component.js +14 -20
- package/esm2015/app/component/core/core.module.js +32 -34
- package/esm2015/app/component/shopping-cart/characteristic-answer/characteristic-answer.component.js +20 -27
- package/esm2015/app/component/shopping-cart/ione-shopping-cart.component.js +31 -48
- package/esm2015/app/component/shopping-cart/ione-shopping-cart.module.js +51 -52
- package/esm2015/app/component/shopping-cart/shopping-cart/shopping-cart.component.js +29 -49
- package/esm2015/app/component/shopping-cart/shopping-cart-line/shopping-cart-line.component.js +25 -38
- package/esm2015/app/component/shopping-cart/shopping-cart-manager/shopping-cart-manager.component.js +27 -38
- package/esm2015/app/component/shopping-cart/stock-status-indicator/stock-status-indicator.component.js +13 -17
- package/esm2015/app/enum/checkout-steps.enum.js +1 -1
- package/esm2015/app/enum/content-view-mode.enum.js +1 -1
- package/esm2015/app/enum/direction.enum.js +1 -1
- package/esm2015/app/enum/language-code.enum.js +1 -1
- package/esm2015/app/enum/order-discount-type.enum.js +1 -1
- package/esm2015/app/enum/time-size.type.js +1 -1
- package/esm2015/app/model/business-object.js +6 -6
- package/esm2015/app/model/text-value-container.js +1 -1
- package/esm2015/app/pipe/append.pipe.js +6 -8
- package/esm2015/app/pipe/co-currency.pipe.js +8 -11
- package/esm2015/app/pipe/date-duration.pipe.js +6 -8
- package/esm2015/app/pipe/delivery-time.pipe.js +6 -8
- package/esm2015/app/pipe/localize.pipe.js +9 -13
- package/esm2015/app/pipe/safe-style-pipe.js +9 -11
- package/esm2015/app/service/dictionary.service.js +10 -10
- package/esm2015/app/service/ione-connector-adapter.service.js +8 -8
- package/esm2015/app/service/options.service.js +8 -8
- package/esm2015/app/service/transaction-event.service.js +6 -8
- package/esm2015/app/service/transaction.service.js +11 -12
- package/esm2015/app/utils/string-utils.js +1 -1
- package/esm2015/assets/dictionary/text.properties.js +1 -1
- package/esm2015/colijnit-transaction.js +15 -15
- package/esm2015/factory/business-object-factory.js +1 -1
- package/esm2015/factory/decorators/boolean.decorator.js +1 -1
- package/esm2015/factory/decorators/complex-array.decorator.js +1 -1
- package/esm2015/factory/decorators/complex-field.decorator.js +2 -2
- package/esm2015/factory/decorators/date-field.decorator.js +1 -1
- package/esm2015/factory/decorators/string-number.decorator.js +1 -1
- package/esm2015/public_api.js +1 -1
- package/esm2015/utils/array-utils.js +1 -1
- package/esm2015/utils/is-nill.function.js +1 -1
- package/fesm2015/colijnit-transaction.js +640 -799
- package/fesm2015/colijnit-transaction.js.map +1 -1
- package/package.json +33 -23
- package/bundles/colijnit-transaction.umd.min.js +0 -16
- package/bundles/colijnit-transaction.umd.min.js.map +0 -1
- package/enum/icon.enum.d.ts +0 -281
- package/esm2015/enum/icon.enum.js +0 -283
- package/esm5/app/component/checkout/checkout/checkout.component.js +0 -196
- package/esm5/app/component/checkout/checkout-login/checkout-login.component.js +0 -62
- package/esm5/app/component/checkout/checkout-overview/checkout-overview.component.js +0 -183
- package/esm5/app/component/checkout/checkout-overview-block/checkout-overview-block.component.js +0 -48
- package/esm5/app/component/checkout/checkout-overview-delivery-address/checkout-overview-delivery-address.component.js +0 -34
- package/esm5/app/component/checkout/checkout-overview-delivery-edit/checkout-overview-delivery-edit.component.js +0 -298
- package/esm5/app/component/checkout/checkout-overview-relation-address/checkout-overview-relation-address.component.js +0 -98
- package/esm5/app/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component.js +0 -303
- package/esm5/app/component/checkout/checkout-relation-suggestions-list/checkout-relation-suggestions-list.component.js +0 -33
- package/esm5/app/component/checkout/checkout-relation-suggestions-list-item/checkout-relation-suggestions-list-item.component.js +0 -48
- package/esm5/app/component/checkout/ione-checkout.component.js +0 -163
- package/esm5/app/component/checkout/ione-checkout.module.js +0 -82
- package/esm5/app/component/checkout/retail-transaction-checkout/retail-transaction-checkout.component.js +0 -62
- package/esm5/app/component/common/icon/icon.component.js +0 -40
- package/esm5/app/component/common/image-display/image-display.component.js +0 -57
- package/esm5/app/component/common/no-image-display/no-image-display.component.js +0 -29
- package/esm5/app/component/core/core.module.js +0 -48
- package/esm5/app/component/shopping-cart/characteristic-answer/characteristic-answer.component.js +0 -66
- package/esm5/app/component/shopping-cart/ione-shopping-cart.component.js +0 -169
- package/esm5/app/component/shopping-cart/ione-shopping-cart.module.js +0 -70
- package/esm5/app/component/shopping-cart/shopping-cart/shopping-cart.component.js +0 -179
- package/esm5/app/component/shopping-cart/shopping-cart-line/shopping-cart-line.component.js +0 -208
- package/esm5/app/component/shopping-cart/shopping-cart-manager/shopping-cart-manager.component.js +0 -563
- package/esm5/app/component/shopping-cart/stock-status-indicator/stock-status-indicator.component.js +0 -28
- package/esm5/app/enum/checkout-steps.enum.js +0 -10
- package/esm5/app/enum/content-view-mode.enum.js +0 -10
- package/esm5/app/enum/direction.enum.js +0 -9
- package/esm5/app/enum/language-code.enum.js +0 -8
- package/esm5/app/enum/order-discount-type.enum.js +0 -7
- package/esm5/app/enum/time-size.type.js +0 -10
- package/esm5/app/model/business-object.js +0 -85
- package/esm5/app/model/text-value-container.js +0 -7
- package/esm5/app/pipe/append.pipe.js +0 -22
- package/esm5/app/pipe/co-currency.pipe.js +0 -55
- package/esm5/app/pipe/date-duration.pipe.js +0 -61
- package/esm5/app/pipe/delivery-time.pipe.js +0 -38
- package/esm5/app/pipe/localize.pipe.js +0 -34
- package/esm5/app/pipe/safe-style-pipe.js +0 -22
- package/esm5/app/service/dictionary.service.js +0 -83
- package/esm5/app/service/ione-connector-adapter.service.js +0 -549
- package/esm5/app/service/options.service.js +0 -108
- package/esm5/app/service/transaction-event.service.js +0 -21
- package/esm5/app/service/transaction.service.js +0 -690
- package/esm5/app/utils/string-utils.js +0 -73
- package/esm5/assets/dictionary/text.properties.js +0 -282
- package/esm5/colijnit-transaction.js +0 -36
- package/esm5/enum/icon.enum.js +0 -283
- package/esm5/factory/business-object-factory.js +0 -122
- package/esm5/factory/decorators/boolean.decorator.js +0 -106
- package/esm5/factory/decorators/complex-array.decorator.js +0 -59
- package/esm5/factory/decorators/complex-field.decorator.js +0 -61
- package/esm5/factory/decorators/date-field.decorator.js +0 -40
- package/esm5/factory/decorators/string-number.decorator.js +0 -47
- package/esm5/public_api.js +0 -8
- package/esm5/utils/array-utils.js +0 -188
- package/esm5/utils/is-nill.function.js +0 -5
- package/fesm5/colijnit-transaction.js +0 -5620
- package/fesm5/colijnit-transaction.js.map +0 -1
|
@@ -1,59 +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
|
-
var PROP_META_KEY = "complexArray";
|
|
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 an array of 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
|
-
* @ComplexArray(TransactionLine)
|
|
15
|
-
* public transactionLines: TransactionLine[]
|
|
16
|
-
*/
|
|
17
|
-
export function ComplexArray(type) {
|
|
18
|
-
return function (target, propertyKey) {
|
|
19
|
-
if (!target || !propertyKey || typeof target !== "object") {
|
|
20
|
-
return;
|
|
21
|
-
}
|
|
22
|
-
// warn the programmer if given type was undefined; it's probably an import order glitch that caused this, because decorators seem
|
|
23
|
-
// to be immediately processed when a class is first imported
|
|
24
|
-
if (!type) {
|
|
25
|
-
console.warn("@ComplexArray(type): type was UNDEFINED. Called on prop (" + ObjectUtils.GetClassName(target) + ", " + propertyKey + "). " +
|
|
26
|
-
"Class will not properly serialize and deserialize now. We've always been able to fix this by CHANGING IMPORT ORDERS " +
|
|
27
|
-
"where both classes and their dependencies are used, e.g. factory, repository or models..");
|
|
28
|
-
return;
|
|
29
|
-
}
|
|
30
|
-
Reflect.defineMetadata(PROP_META_KEY, type, target, propertyKey);
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
// Utility function holder of the ComplexArrayDecorator decorator.
|
|
34
|
-
var ComplexArrayDecorator = /** @class */ (function () {
|
|
35
|
-
function ComplexArrayDecorator() {
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Returns whether given property (as a string) on given object is a complex array. A complex array is an array field that is decorated
|
|
39
|
-
* with the @ComplexArray decorator.
|
|
40
|
-
*/
|
|
41
|
-
ComplexArrayDecorator.IsComplexArray = function (target, propertyKey) {
|
|
42
|
-
if (!target || !propertyKey || typeof target !== "object") {
|
|
43
|
-
return false;
|
|
44
|
-
}
|
|
45
|
-
return (notNill(Reflect.getMetadata(PROP_META_KEY, target, propertyKey)));
|
|
46
|
-
};
|
|
47
|
-
/**
|
|
48
|
-
* Returns the VALUE of the @ComplexArray(VALUE) property decorator on the given propertyKey on the given modelobject.
|
|
49
|
-
*/
|
|
50
|
-
ComplexArrayDecorator.GetComplexArrayType = function (target, propertyKey) {
|
|
51
|
-
if (!target || !propertyKey || typeof target !== "object") {
|
|
52
|
-
return undefined;
|
|
53
|
-
}
|
|
54
|
-
return Reflect.getMetadata(PROP_META_KEY, target, propertyKey);
|
|
55
|
-
};
|
|
56
|
-
return ComplexArrayDecorator;
|
|
57
|
-
}());
|
|
58
|
-
export { ComplexArrayDecorator };
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGxleC1hcnJheS5kZWNvcmF0b3IuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29saWpuaXQvdHJhbnNhY3Rpb24vIiwic291cmNlcyI6WyJmYWN0b3J5L2RlY29yYXRvcnMvY29tcGxleC1hcnJheS5kZWNvcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLGlFQUFpRSxDQUFDO0FBQ3hGLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxtREFBbUQsQ0FBQztBQUU5RSxJQUFNLGFBQWEsR0FBVyxjQUFjLENBQUM7QUFFN0M7O0dBRUc7QUFFSDs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFNLFVBQVUsWUFBWSxDQUFDLElBQVM7SUFDbEMsT0FBTyxVQUFVLE1BQVcsRUFBRSxXQUFtQjtRQUM3QyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsV0FBVyxJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVEsRUFBRTtZQUN2RCxPQUFPO1NBQ1Y7UUFDRCxrSUFBa0k7UUFDbEksNkRBQTZEO1FBQzdELElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDUCxPQUFPLENBQUMsSUFBSSxDQUFDLDhEQUE0RCxXQUFXLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxVQUFLLFdBQVcsUUFBSztnQkFDMUgsc0hBQXNIO2dCQUN0SCwwRkFBMEYsQ0FBQyxDQUFDO1lBQ2hHLE9BQU87U0FDVjtRQUNELE9BQU8sQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDckUsQ0FBQyxDQUFDO0FBQ04sQ0FBQztBQUVELGtFQUFrRTtBQUNsRTtJQUFBO0lBdUJBLENBQUM7SUF0Qkc7OztPQUdHO0lBQ1csb0NBQWMsR0FBNUIsVUFBNkIsTUFBYyxFQUFFLFdBQW1CO1FBQzVELElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxXQUFXLElBQUksT0FBTyxNQUFNLEtBQUssUUFBUSxFQUFFO1lBQ3ZELE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBRUQsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFRDs7T0FFRztJQUNXLHlDQUFtQixHQUFqQyxVQUFrQyxNQUFjLEVBQUUsV0FBbUI7UUFDakUsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLFdBQVcsSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLEVBQUU7WUFDdkQsT0FBTyxTQUFTLENBQUM7U0FDcEI7UUFFRCxPQUFPLE9BQU8sQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBQ0wsNEJBQUM7QUFBRCxDQUFDLEFBdkJELElBdUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtub3ROaWxsfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL3V0aWxzL2Z1bmN0aW9uL25vdC1uaWxsLmZ1bmN0aW9uXCI7XHJcbmltcG9ydCB7T2JqZWN0VXRpbHN9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvdXRpbHMvb2JqZWN0LXV0aWxzXCI7XHJcblxyXG5jb25zdCBQUk9QX01FVEFfS0VZOiBzdHJpbmcgPSBcImNvbXBsZXhBcnJheVwiO1xyXG5cclxuLyoqXHJcbiAqICEhIGp1c3QgYSBUQUcgREVDT1JBVE9SIGZvciBub3csIHRoZXJlIGlzIG5vIGNvZGUgdGhhdCB1c2VzIHRoaXMgbWV0YSBkYXRhIHdpdGhpbiB0aGUgaW9uZSBjb25uZWN0b3IgbGliIGl0c2VsZi5cclxuICovXHJcblxyXG4vKipcclxuICogUHJvcGVydHkgZGVjb3JhdG9yIGZvciBwcm9wZXJ0aWVzIG9mIGJ1c2luZXNzb2JqZWN0IGNsYXNzZXMgdGhhdCBhcmUgYW4gYXJyYXkgb2Ygb3RoZXIgc3Ryb25nbHkgdHlwZWQgYnVzaW5lc3NvYmplY3RzLlxyXG4gKiBFbnN1cmVzIHRoYXQgdGhlIEJ1c2luZXNzT2JqZWN0RmFjdG9yeVNlcnZpY2UgbWFrZXMgcHJvcGVybHkgdHlwZWQgb2JqZWN0cyBmcm9tIGluY29taW5nIHJhdyBwZXJzaXN0ZW5jZSBkYXRhLiBPdGhlcndpc2Ugd2UgY291bGRuJ3QgYWRkIG1ldGhvZHNcclxuICogdG8gb3VyIG93biBidXNpbmVzc29iamVjdHMgYW5kIHVzZSB0aGVtLCBzaW5jZSBhbGwgZmllbGRzIHdvdWxkIGJlIGZsYXQgZGF0YSB3aXRob3V0IG1ldGhvZHMgYWZ0ZXIgQnVzaW5lc3NPYmplY3RGYWN0b3J5U2VydmljZSBjcmVhdGlvbi5cclxuICpcclxuICogVXNhZ2U6XHJcbiAqXHJcbiAqIEBDb21wbGV4QXJyYXkoVHJhbnNhY3Rpb25MaW5lKVxyXG4gKiBwdWJsaWMgdHJhbnNhY3Rpb25MaW5lczogVHJhbnNhY3Rpb25MaW5lW11cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBDb21wbGV4QXJyYXkodHlwZTogYW55KTogUHJvcGVydHlEZWNvcmF0b3Ige1xyXG4gICAgcmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQ6IGFueSwgcHJvcGVydHlLZXk6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGFyZ2V0IHx8ICFwcm9wZXJ0eUtleSB8fCB0eXBlb2YgdGFyZ2V0ICE9PSBcIm9iamVjdFwiKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gd2FybiB0aGUgcHJvZ3JhbW1lciBpZiBnaXZlbiB0eXBlIHdhcyB1bmRlZmluZWQ7IGl0J3MgcHJvYmFibHkgYW4gaW1wb3J0IG9yZGVyIGdsaXRjaCB0aGF0IGNhdXNlZCB0aGlzLCBiZWNhdXNlIGRlY29yYXRvcnMgc2VlbVxyXG4gICAgICAgIC8vIHRvIGJlIGltbWVkaWF0ZWx5IHByb2Nlc3NlZCB3aGVuIGEgY2xhc3MgaXMgZmlyc3QgaW1wb3J0ZWRcclxuICAgICAgICBpZiAoIXR5cGUpIHtcclxuICAgICAgICAgICAgY29uc29sZS53YXJuKGBAQ29tcGxleEFycmF5KHR5cGUpOiB0eXBlIHdhcyBVTkRFRklORUQuIENhbGxlZCBvbiBwcm9wICgke09iamVjdFV0aWxzLkdldENsYXNzTmFtZSh0YXJnZXQpfSwgJHtwcm9wZXJ0eUtleX0pLiBgICtcclxuICAgICAgICAgICAgICAgIGBDbGFzcyB3aWxsIG5vdCBwcm9wZXJseSBzZXJpYWxpemUgYW5kIGRlc2VyaWFsaXplIG5vdy4gV2UndmUgYWx3YXlzIGJlZW4gYWJsZSB0byBmaXggdGhpcyBieSBDSEFOR0lORyBJTVBPUlQgT1JERVJTIGAgK1xyXG4gICAgICAgICAgICAgICAgYHdoZXJlIGJvdGggY2xhc3NlcyBhbmQgdGhlaXIgZGVwZW5kZW5jaWVzIGFyZSB1c2VkLCBlLmcuIGZhY3RvcnksIHJlcG9zaXRvcnkgb3IgbW9kZWxzLi5gKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBSZWZsZWN0LmRlZmluZU1ldGFkYXRhKFBST1BfTUVUQV9LRVksIHR5cGUsIHRhcmdldCwgcHJvcGVydHlLZXkpO1xyXG4gICAgfTtcclxufVxyXG5cclxuLy8gVXRpbGl0eSBmdW5jdGlvbiBob2xkZXIgb2YgdGhlIENvbXBsZXhBcnJheURlY29yYXRvciBkZWNvcmF0b3IuXHJcbmV4cG9ydCBjbGFzcyBDb21wbGV4QXJyYXlEZWNvcmF0b3Ige1xyXG4gICAgLyoqXHJcbiAgICAgKiBSZXR1cm5zIHdoZXRoZXIgZ2l2ZW4gcHJvcGVydHkgKGFzIGEgc3RyaW5nKSBvbiBnaXZlbiBvYmplY3QgaXMgYSBjb21wbGV4IGFycmF5LiBBIGNvbXBsZXggYXJyYXkgaXMgYW4gYXJyYXkgZmllbGQgdGhhdCBpcyBkZWNvcmF0ZWRcclxuICAgICAqIHdpdGggdGhlIEBDb21wbGV4QXJyYXkgZGVjb3JhdG9yLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIElzQ29tcGxleEFycmF5KHRhcmdldDogT2JqZWN0LCBwcm9wZXJ0eUtleTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKCF0YXJnZXQgfHwgIXByb3BlcnR5S2V5IHx8IHR5cGVvZiB0YXJnZXQgIT09IFwib2JqZWN0XCIpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIChub3ROaWxsKFJlZmxlY3QuZ2V0TWV0YWRhdGEoUFJPUF9NRVRBX0tFWSwgdGFyZ2V0LCBwcm9wZXJ0eUtleSkpKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldHVybnMgdGhlIFZBTFVFIG9mIHRoZSBAQ29tcGxleEFycmF5KFZBTFVFKSBwcm9wZXJ0eSBkZWNvcmF0b3Igb24gdGhlIGdpdmVuIHByb3BlcnR5S2V5IG9uIHRoZSBnaXZlbiBtb2RlbG9iamVjdC5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBHZXRDb21wbGV4QXJyYXlUeXBlKHRhcmdldDogT2JqZWN0LCBwcm9wZXJ0eUtleTogc3RyaW5nKTogYW55IHtcclxuICAgICAgICBpZiAoIXRhcmdldCB8fCAhcHJvcGVydHlLZXkgfHwgdHlwZW9mIHRhcmdldCAhPT0gXCJvYmplY3RcIikge1xyXG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIFJlZmxlY3QuZ2V0TWV0YWRhdGEoUFJPUF9NRVRBX0tFWSwgdGFyZ2V0LCBwcm9wZXJ0eUtleSk7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -1,61 +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
|
-
var 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
|
-
// tslint: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
|
-
var ComplexFieldDecorator = /** @class */ (function () {
|
|
39
|
-
function ComplexFieldDecorator() {
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Returns whether given property (as a string) on given object is a complex field. A complex field is a field that is decorated
|
|
43
|
-
* with the @ComplexField decorator.
|
|
44
|
-
*/
|
|
45
|
-
ComplexFieldDecorator.IsComplexField = function (target, propertyKey) {
|
|
46
|
-
if (!target || !propertyKey || typeof target !== "object") {
|
|
47
|
-
return false;
|
|
48
|
-
}
|
|
49
|
-
return (notNill(Reflect.getMetadata(PROP_META_KEY, target, propertyKey)));
|
|
50
|
-
};
|
|
51
|
-
// Returns the VALUE of the @ComplexField(VALUE) property decorator on the given propertyKey on the given modelObject.
|
|
52
|
-
ComplexFieldDecorator.GetComplexFieldType = function (target, propertyKey) {
|
|
53
|
-
if (!target || !propertyKey || typeof target !== "object") {
|
|
54
|
-
return undefined;
|
|
55
|
-
}
|
|
56
|
-
return Reflect.getMetadata(PROP_META_KEY, target, propertyKey);
|
|
57
|
-
};
|
|
58
|
-
return ComplexFieldDecorator;
|
|
59
|
-
}());
|
|
60
|
-
export { ComplexFieldDecorator };
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGxleC1maWVsZC5kZWNvcmF0b3IuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29saWpuaXQvdHJhbnNhY3Rpb24vIiwic291cmNlcyI6WyJmYWN0b3J5L2RlY29yYXRvcnMvY29tcGxleC1maWVsZC5kZWNvcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLGlFQUFpRSxDQUFDO0FBQ3hGLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxtREFBbUQsQ0FBQztBQUU5RSxJQUFNLGFBQWEsR0FBVyxjQUFjLENBQUM7QUFFN0M7O0dBRUc7QUFFSDs7Ozs7Ozs7Ozs7O0dBWUc7QUFDSCxNQUFNLFVBQVUsWUFBWSxDQUFDLElBQVM7SUFDbEMsT0FBTyxVQUFVLE1BQVcsRUFBRSxXQUFtQjtRQUM3QyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3pCLE9BQU87U0FDVjtRQUVELGtJQUFrSTtRQUNsSSw2REFBNkQ7UUFDN0QsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNULHNDQUFzQztZQUNwQyxPQUFPLENBQUMsSUFBSSxDQUFDLDhEQUE0RCxXQUFXLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxVQUFLLFdBQVcsUUFBSztnQkFDMUgsc0hBQXNIO2dCQUN0SCwwRkFBMEYsQ0FBQyxDQUFDO1lBQ2hHLE9BQU87U0FDVjtRQUNELE9BQU8sQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDckUsQ0FBQyxDQUFDO0FBQ04sQ0FBQztBQUVELGtFQUFrRTtBQUNsRTtJQUFBO0lBb0JBLENBQUM7SUFsQkc7OztPQUdHO0lBQ1csb0NBQWMsR0FBNUIsVUFBNkIsTUFBYyxFQUFFLFdBQW1CO1FBQzVELElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxXQUFXLElBQUksT0FBTyxNQUFNLEtBQUssUUFBUSxFQUFFO1lBQ3ZELE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBQ0QsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFRCxzSEFBc0g7SUFDeEcseUNBQW1CLEdBQWpDLFVBQWtDLE1BQWMsRUFBRSxXQUFtQjtRQUNqRSxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsV0FBVyxJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVEsRUFBRTtZQUN2RCxPQUFPLFNBQVMsQ0FBQztTQUNwQjtRQUNELE9BQU8sT0FBTyxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFDTCw0QkFBQztBQUFELENBQUMsQUFwQkQsSUFvQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge25vdE5pbGx9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvdXRpbHMvZnVuY3Rpb24vbm90LW5pbGwuZnVuY3Rpb25cIjtcclxuaW1wb3J0IHtPYmplY3RVdGlsc30gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC91dGlscy9vYmplY3QtdXRpbHNcIjtcclxuXHJcbmNvbnN0IFBST1BfTUVUQV9LRVk6IHN0cmluZyA9IFwiY29tcGxleEZpZWxkXCI7XHJcblxyXG4vKipcclxuICogISEganVzdCBhIFRBRyBERUNPUkFUT1IgZm9yIG5vdywgdGhlcmUgaXMgbm8gY29kZSB0aGF0IHVzZXMgdGhpcyBtZXRhIGRhdGEgd2l0aGluIHRoZSBpb25lIGNvbm5lY3RvciBsaWIgaXRzZWxmLlxyXG4gKi9cclxuXHJcbi8qKlxyXG4gKiBQcm9wZXJ0eSBkZWNvcmF0b3IgZm9yIHByb3BlcnRpZXMgb2YgYnVzaW5lc3NvYmplY3QgY2xhc3NlcyB0aGF0IGFyZSBvdGhlciBzdHJvbmdseSB0eXBlZCBidXNpbmVzc29iamVjdHMuXHJcbiAqIEVuc3VyZXMgdGhhdCB0aGUgQnVzaW5lc3NPYmplY3RGYWN0b3J5U2VydmljZSBtYWtlcyBwcm9wZXJseSB0eXBlZCBvYmplY3RzIGZyb20gaW5jb21pbmcgcmF3IHBlcnNpc3RlbmNlIGRhdGEuIE90aGVyd2lzZSB3ZSBjb3VsZG4ndCBhZGQgbWV0aG9kc1xyXG4gKiB0byBvdXIgb3duIGJ1c2luZXNzb2JqZWN0cyBhbmQgdXNlIHRoZW0sIHNpbmNlIGFsbCBmaWVsZHMgd291bGQgYmUgZmxhdCBkYXRhIHdpdGhvdXQgbWV0aG9kcyBhZnRlciBCdXNpbmVzc09iamVjdEZhY3RvcnlTZXJ2aWNlIGNyZWF0aW9uLlxyXG4gKlxyXG4gKiBVc2FnZTpcclxuICpcclxuICogQENvbXBsZXhGaWVsZChUcmFuc2FjdGlvbilcclxuICogcHVibGljIHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvblxyXG4gKlxyXG4gKiBBbHNvIGtlZXBzIHRyYWNrIG9mIGEgXCJjb21wbGV4RmllbGRQcm9wc1wiIG1ldGFkYXRhIG9uIHRoZSBjbGFzcy1sZXZlbCwgYXMgYSByZWZsZWN0LW1ldGFkYXRhIHdvcmthcm91bmQgdG8gYmUgYWJsZSB0b1xyXG4gKiByZXRyaWV2ZSBhbGwgcHJvcGVydGllcyB0aGF0IGhhdmUgdGhlIEBDb21wbGV4RmllbGQoLi4pIGRlY29yYXRvciAoaW1wb3NzaWJsZSB3aXRoIGN1cnJlbnQgUmVmbGVjdCBBUEkpLlxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIENvbXBsZXhGaWVsZCh0eXBlOiBhbnkpOiBQcm9wZXJ0eURlY29yYXRvciB7XHJcbiAgICByZXR1cm4gZnVuY3Rpb24gKHRhcmdldDogYW55LCBwcm9wZXJ0eUtleTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF0YXJnZXQgfHwgIXByb3BlcnR5S2V5KSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIHdhcm4gdGhlIHByb2dyYW1tZXIgaWYgZ2l2ZW4gdHlwZSB3YXMgdW5kZWZpbmVkOyBpdCdzIHByb2JhYmx5IGFuIGltcG9ydCBvcmRlciBnbGl0Y2ggdGhhdCBjYXVzZWQgdGhpcywgYmVjYXVzZSBkZWNvcmF0b3JzIHNlZW1cclxuICAgICAgICAvLyB0byBiZSBpbW1lZGlhdGVseSBwcm9jZXNzZWQgd2hlbiBhIGNsYXNzIGlzIGZpcnN0IGltcG9ydGVkXHJcbiAgICAgICAgaWYgKCF0eXBlKSB7XHJcbiAgICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tY29uc29sZVxyXG4gICAgICAgICAgICBjb25zb2xlLndhcm4oYEBDb21wbGV4RmllbGQodHlwZSk6IHR5cGUgd2FzIFVOREVGSU5FRC4gQ2FsbGVkIG9uIHByb3AgKCR7T2JqZWN0VXRpbHMuR2V0Q2xhc3NOYW1lKHRhcmdldCl9LCAke3Byb3BlcnR5S2V5fSkuIGAgK1xyXG4gICAgICAgICAgICAgICAgYENsYXNzIHdpbGwgbm90IHByb3Blcmx5IHNlcmlhbGl6ZSBhbmQgZGVzZXJpYWxpemUgbm93LiBXZSd2ZSBhbHdheXMgYmVlbiBhYmxlIHRvIGZpeCB0aGlzIGJ5IENIQU5HSU5HIElNUE9SVCBPUkRFUlMgYCArXHJcbiAgICAgICAgICAgICAgICBgd2hlcmUgYm90aCBjbGFzc2VzIGFuZCB0aGVpciBkZXBlbmRlbmNpZXMgYXJlIHVzZWQsIGUuZy4gZmFjdG9yeSwgcmVwb3NpdG9yeSBvciBtb2RlbHMuLmApO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFJlZmxlY3QuZGVmaW5lTWV0YWRhdGEoUFJPUF9NRVRBX0tFWSwgdHlwZSwgdGFyZ2V0LCBwcm9wZXJ0eUtleSk7XHJcbiAgICB9O1xyXG59XHJcblxyXG4vLyBVdGlsaXR5IGZ1bmN0aW9uIGhvbGRlciBvZiB0aGUgQ29tcGxleEZpZWxkRGVjb3JhdG9yIGRlY29yYXRvci5cclxuZXhwb3J0IGNsYXNzIENvbXBsZXhGaWVsZERlY29yYXRvciB7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXR1cm5zIHdoZXRoZXIgZ2l2ZW4gcHJvcGVydHkgKGFzIGEgc3RyaW5nKSBvbiBnaXZlbiBvYmplY3QgaXMgYSBjb21wbGV4IGZpZWxkLiBBIGNvbXBsZXggZmllbGQgaXMgYSBmaWVsZCB0aGF0IGlzIGRlY29yYXRlZFxyXG4gICAgICogd2l0aCB0aGUgQENvbXBsZXhGaWVsZCBkZWNvcmF0b3IuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgSXNDb21wbGV4RmllbGQodGFyZ2V0OiBPYmplY3QsIHByb3BlcnR5S2V5OiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICBpZiAoIXRhcmdldCB8fCAhcHJvcGVydHlLZXkgfHwgdHlwZW9mIHRhcmdldCAhPT0gXCJvYmplY3RcIikge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiAobm90TmlsbChSZWZsZWN0LmdldE1ldGFkYXRhKFBST1BfTUVUQV9LRVksIHRhcmdldCwgcHJvcGVydHlLZXkpKSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gUmV0dXJucyB0aGUgVkFMVUUgb2YgdGhlIEBDb21wbGV4RmllbGQoVkFMVUUpIHByb3BlcnR5IGRlY29yYXRvciBvbiB0aGUgZ2l2ZW4gcHJvcGVydHlLZXkgb24gdGhlIGdpdmVuIG1vZGVsT2JqZWN0LlxyXG4gICAgcHVibGljIHN0YXRpYyBHZXRDb21wbGV4RmllbGRUeXBlKHRhcmdldDogT2JqZWN0LCBwcm9wZXJ0eUtleTogc3RyaW5nKTogYW55IHtcclxuICAgICAgICBpZiAoIXRhcmdldCB8fCAhcHJvcGVydHlLZXkgfHwgdHlwZW9mIHRhcmdldCAhPT0gXCJvYmplY3RcIikge1xyXG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gUmVmbGVjdC5nZXRNZXRhZGF0YShQUk9QX01FVEFfS0VZLCB0YXJnZXQsIHByb3BlcnR5S2V5KTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { DateUtils } from "@colijnit/transactionapi/build/utils/date-utils";
|
|
2
|
-
var 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
|
-
var DateFieldFieldDecorator = /** @class */ (function () {
|
|
25
|
-
function DateFieldFieldDecorator() {
|
|
26
|
-
}
|
|
27
|
-
// Returns whether given property (as a string) on given object is decorated with @DateField().
|
|
28
|
-
DateFieldFieldDecorator.IsDateField = function (target, propertyKey) {
|
|
29
|
-
if (!target || !propertyKey || typeof target !== "object") {
|
|
30
|
-
return false;
|
|
31
|
-
}
|
|
32
|
-
return Reflect.hasMetadata(PROP_META_KEY, target, propertyKey);
|
|
33
|
-
};
|
|
34
|
-
DateFieldFieldDecorator.StringAsDate = function (str) {
|
|
35
|
-
return DateUtils.StringAsDate(str);
|
|
36
|
-
};
|
|
37
|
-
return DateFieldFieldDecorator;
|
|
38
|
-
}());
|
|
39
|
-
export { DateFieldFieldDecorator };
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1maWVsZC5kZWNvcmF0b3IuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29saWpuaXQvdHJhbnNhY3Rpb24vIiwic291cmNlcyI6WyJmYWN0b3J5L2RlY29yYXRvcnMvZGF0ZS1maWVsZC5kZWNvcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGlEQUFpRCxDQUFDO0FBRTFFLElBQU0sYUFBYSxHQUFXLFdBQVcsQ0FBQztBQUUxQzs7R0FFRztBQUVIOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxVQUFVLFNBQVM7SUFDckIsT0FBTyxVQUFVLE1BQVcsRUFBRSxXQUFtQjtRQUM3QyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3pCLE9BQU87U0FDVjtRQUNELE9BQU8sQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDMUUsQ0FBQyxDQUFDO0FBQ04sQ0FBQztBQUVELHlEQUF5RDtBQUN6RDtJQUFBO0lBYUEsQ0FBQztJQVhHLCtGQUErRjtJQUNqRixtQ0FBVyxHQUF6QixVQUEwQixNQUFjLEVBQUUsV0FBbUI7UUFDekQsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLFdBQVcsSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLEVBQUU7WUFDdkQsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFDRCxPQUFPLE9BQU8sQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRWEsb0NBQVksR0FBMUIsVUFBMkIsR0FBVztRQUNsQyxPQUFPLFNBQVMsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUNMLDhCQUFDO0FBQUQsQ0FBQyxBQWJELElBYUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RhdGVVdGlsc30gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC91dGlscy9kYXRlLXV0aWxzXCI7XHJcblxyXG5jb25zdCBQUk9QX01FVEFfS0VZOiBzdHJpbmcgPSBcImRhdGVGaWVsZFwiO1xyXG5cclxuLyoqXHJcbiAqICEhIGp1c3QgYSBUQUcgREVDT1JBVE9SIGZvciBub3csIHRoZXJlIGlzIG5vIGNvZGUgdGhhdCB1c2VzIHRoaXMgbWV0YSBkYXRhIHdpdGhpbiB0aGUgaW9uZSBjb25uZWN0b3IgbGliIGl0c2VsZi5cclxuICovXHJcblxyXG4vKipcclxuICogUHJvcGVydHkgZGVjb3JhdG9yIGZvciBwcm9wZXJ0aWVzIG9mIGJ1c2luZXNzb2JqZWN0IGNsYXNzZXMgdGhhdCBhcmUgb2YgdHlwZSBEYXRlLCBidXQgYXJlIHNlbnQgdG8gdXMgYXMgc3RyaW5ncy5cclxuICogRW5zdXJlcyB0aGF0IHRoZSBCdXNpbmVzc09iamVjdEZhY3RvcnkgbWFrZXMgcHJvcGVyIEphdmFTY3JpcHQgRGF0ZSBvYmplY3RzIGZyb20gaW5jb21pbmcgc3RyaW5ncyBmb3IgQERhdGVGaWVsZCgpIGRlY29yYXRlZCBwcm9wZXJ0aWVzLlxyXG4gKlxyXG4gKiBVc2FnZTpcclxuICpcclxuICogQERhdGVGaWVsZCgpXHJcbiAqIHB1YmxpYyBleHBlY3RlZERlbGl2ZXJ5RGF0ZTogRGF0ZVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIERhdGVGaWVsZCgpOiBQcm9wZXJ0eURlY29yYXRvciB7XHJcbiAgICByZXR1cm4gZnVuY3Rpb24gKHRhcmdldDogYW55LCBwcm9wZXJ0eUtleTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF0YXJnZXQgfHwgIXByb3BlcnR5S2V5KSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgUmVmbGVjdC5kZWZpbmVNZXRhZGF0YShQUk9QX01FVEFfS0VZLCB1bmRlZmluZWQsIHRhcmdldCwgcHJvcGVydHlLZXkpO1xyXG4gICAgfTtcclxufVxyXG5cclxuLy8gVXRpbGl0eSBmdW5jdGlvbiBob2xkZXIgb2YgdGhlIEBEYXRlRmllbGQoKSBkZWNvcmF0b3IuXHJcbmV4cG9ydCBjbGFzcyBEYXRlRmllbGRGaWVsZERlY29yYXRvciB7XHJcblxyXG4gICAgLy8gUmV0dXJucyB3aGV0aGVyIGdpdmVuIHByb3BlcnR5IChhcyBhIHN0cmluZykgb24gZ2l2ZW4gb2JqZWN0IGlzIGRlY29yYXRlZCB3aXRoIEBEYXRlRmllbGQoKS5cclxuICAgIHB1YmxpYyBzdGF0aWMgSXNEYXRlRmllbGQodGFyZ2V0OiBPYmplY3QsIHByb3BlcnR5S2V5OiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICBpZiAoIXRhcmdldCB8fCAhcHJvcGVydHlLZXkgfHwgdHlwZW9mIHRhcmdldCAhPT0gXCJvYmplY3RcIikge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBSZWZsZWN0Lmhhc01ldGFkYXRhKFBST1BfTUVUQV9LRVksIHRhcmdldCwgcHJvcGVydHlLZXkpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzdGF0aWMgU3RyaW5nQXNEYXRlKHN0cjogc3RyaW5nKTogRGF0ZSB7XHJcbiAgICAgICAgcmV0dXJuIERhdGVVdGlscy5TdHJpbmdBc0RhdGUoc3RyKTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { NumberUtils } from "@colijnit/transactionapi/build/utils/number-utils";
|
|
2
|
-
var 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
|
-
var StringNumberDecorator = /** @class */ (function () {
|
|
29
|
-
function StringNumberDecorator() {
|
|
30
|
-
}
|
|
31
|
-
// Returns whether given property (as a string) on given object is decorated with @StringNumber().
|
|
32
|
-
StringNumberDecorator.IsStringNumber = function (target, propertyKey) {
|
|
33
|
-
if (!target || !propertyKey || typeof target !== "object") {
|
|
34
|
-
return false;
|
|
35
|
-
}
|
|
36
|
-
return Reflect.hasMetadata(PROP_META_KEY, target, propertyKey);
|
|
37
|
-
};
|
|
38
|
-
StringNumberDecorator.StringAsNumber = function (str) {
|
|
39
|
-
return NumberUtils.ParseFloatKeepPrecision(str);
|
|
40
|
-
};
|
|
41
|
-
StringNumberDecorator.NumberAsString = function (nr) {
|
|
42
|
-
return "" + nr;
|
|
43
|
-
};
|
|
44
|
-
return StringNumberDecorator;
|
|
45
|
-
}());
|
|
46
|
-
export { StringNumberDecorator };
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLW51bWJlci5kZWNvcmF0b3IuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29saWpuaXQvdHJhbnNhY3Rpb24vIiwic291cmNlcyI6WyJmYWN0b3J5L2RlY29yYXRvcnMvc3RyaW5nLW51bWJlci5kZWNvcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBRTlFLElBQU0sYUFBYSxHQUFXLGNBQWMsQ0FBQztBQUM3Qzs7R0FFRztBQUVIOzs7Ozs7Ozs7Ozs7R0FZRztBQUNILE1BQU0sVUFBVSxZQUFZO0lBQ3hCLE9BQU8sVUFBVSxNQUFXLEVBQUUsV0FBbUI7UUFDN0MsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUN6QixPQUFPO1NBQ1Y7UUFDRCxPQUFPLENBQUMsY0FBYyxDQUFDLGFBQWEsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQzFFLENBQUMsQ0FBQztBQUNOLENBQUM7QUFFRCw0REFBNEQ7QUFDNUQ7SUFBQTtJQWlCQSxDQUFDO0lBZkcsa0dBQWtHO0lBQ3BGLG9DQUFjLEdBQTVCLFVBQTZCLE1BQWMsRUFBRSxXQUFtQjtRQUM1RCxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsV0FBVyxJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVEsRUFBRTtZQUN2RCxPQUFPLEtBQUssQ0FBQztTQUNoQjtRQUNELE9BQU8sT0FBTyxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFYSxvQ0FBYyxHQUE1QixVQUE2QixHQUFXO1FBQ3BDLE9BQU8sV0FBVyxDQUFDLHVCQUF1QixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFYSxvQ0FBYyxHQUE1QixVQUE2QixFQUFVO1FBQ25DLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBQ0wsNEJBQUM7QUFBRCxDQUFDLEFBakJELElBaUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOdW1iZXJVdGlsc30gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC91dGlscy9udW1iZXItdXRpbHNcIjtcclxuXHJcbmNvbnN0IFBST1BfTUVUQV9LRVk6IHN0cmluZyA9IFwic3RyaW5nTnVtYmVyXCI7XHJcbi8qKlxyXG4gKiAhISBqdXN0IGEgVEFHIERFQ09SQVRPUiBmb3Igbm93LCB0aGVyZSBpcyBubyBjb2RlIHRoYXQgdXNlcyB0aGlzIG1ldGEgZGF0YSB3aXRoaW4gdGhlIGlvbmUgY29ubmVjdG9yIGxpYiBpdHNlbGYuXHJcbiAqL1xyXG5cclxuLyoqXHJcbiAqIERlY29yYXRvciBmb3IgcHJvcGVydGllcyBvZiBidXNpbmVzc29iamVjdHMgdGhhdCBhcmUgc2VudCB0byB1cyBhcyBzdHJpbmdzIGZyb20gdGhlIGRhdGFiYXNlLCBidXQgd2hpY2ggd2Ugd2FudCB0byB1c2UgYXMgYSBudW1iZXIgaW4gdGhlIGNsaWVudC5cclxuICpcclxuICogQ2FuIGJlIGhhbmR5IGZvciBpbmNvbmdydWVudCBiYWNrZW5kIGFwaSBjYXNlcywgd2hlcmUgaWQgZGF0YSB0eXBlcyBhcmUgY29tbXVuaWNhdGVkIHdyb25nbHkgdmlhIHN0cmluZ3MgaW5zdGVhZCBvZiBudW1iZXJzXHJcbiAqIChlLmcuIG9uIEVtcGxveWVlRnVsbE9iamVjdC5kaXN0cmljdCwgcG9pbnRzIHRvIGEgRGlzdHJpY3Qgd2hpY2ggaGFzIGEgbnVtYmVyIGlkLCBidXQgaW4gZW1wbG95ZWUgaXQncyBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGF0IG51bWJlci4uLilcclxuICpcclxuICogVXNlZCBieSBidXNpbmVzcyBvYmplY3QgZmFjdG9yeSBhbmQgLXNlcmlhbGl6ZXIuXHJcbiAqXHJcbiAqIFVzYWdlOlxyXG4gKlxyXG4gKiBAU3RyaW5nTnVtYmVyKClcclxuICogcHVibGljIHJpZ2h0czogVXNlclJpZ2h0VHlwZVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIFN0cmluZ051bWJlcigpOiBQcm9wZXJ0eURlY29yYXRvciB7XHJcbiAgICByZXR1cm4gZnVuY3Rpb24gKHRhcmdldDogYW55LCBwcm9wZXJ0eUtleTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF0YXJnZXQgfHwgIXByb3BlcnR5S2V5KSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgUmVmbGVjdC5kZWZpbmVNZXRhZGF0YShQUk9QX01FVEFfS0VZLCB1bmRlZmluZWQsIHRhcmdldCwgcHJvcGVydHlLZXkpO1xyXG4gICAgfTtcclxufVxyXG5cclxuLy8gVXRpbGl0eSBmdW5jdGlvbiBob2xkZXIgb2YgdGhlIEBTdHJpbmdOdW1iZXIoKSBkZWNvcmF0b3IuXHJcbmV4cG9ydCBjbGFzcyBTdHJpbmdOdW1iZXJEZWNvcmF0b3Ige1xyXG5cclxuICAgIC8vIFJldHVybnMgd2hldGhlciBnaXZlbiBwcm9wZXJ0eSAoYXMgYSBzdHJpbmcpIG9uIGdpdmVuIG9iamVjdCBpcyBkZWNvcmF0ZWQgd2l0aCBAU3RyaW5nTnVtYmVyKCkuXHJcbiAgICBwdWJsaWMgc3RhdGljIElzU3RyaW5nTnVtYmVyKHRhcmdldDogT2JqZWN0LCBwcm9wZXJ0eUtleTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKCF0YXJnZXQgfHwgIXByb3BlcnR5S2V5IHx8IHR5cGVvZiB0YXJnZXQgIT09IFwib2JqZWN0XCIpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gUmVmbGVjdC5oYXNNZXRhZGF0YShQUk9QX01FVEFfS0VZLCB0YXJnZXQsIHByb3BlcnR5S2V5KTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIFN0cmluZ0FzTnVtYmVyKHN0cjogc3RyaW5nKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gTnVtYmVyVXRpbHMuUGFyc2VGbG9hdEtlZXBQcmVjaXNpb24oc3RyKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIE51bWJlckFzU3RyaW5nKG5yOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiBcIlwiICsgbnI7XHJcbiAgICB9XHJcbn1cclxuIl19
|
package/esm5/public_api.js
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
//export * from "./app/component/ione-transaction.module";
|
|
2
|
-
//export * from "./app/component/ione-transaction.component";
|
|
3
|
-
//export * from "./app/component/checkout/retail-transaction-checkout/retail-transaction-checkout.component";
|
|
4
|
-
export * from "./app/component/checkout/ione-checkout.component";
|
|
5
|
-
export * from "./app/component/checkout/ione-checkout.module";
|
|
6
|
-
export * from "./app/component/shopping-cart/ione-shopping-cart.component";
|
|
7
|
-
export * from "./app/component/shopping-cart/ione-shopping-cart.module";
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb2xpam5pdC90cmFuc2FjdGlvbi8iLCJzb3VyY2VzIjpbInB1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMERBQTBEO0FBQzFELDZEQUE2RDtBQUM3RCw2R0FBNkc7QUFDN0csY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsNERBQTRELENBQUM7QUFDM0UsY0FBYyx5REFBeUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vZXhwb3J0ICogZnJvbSBcIi4vYXBwL2NvbXBvbmVudC9pb25lLXRyYW5zYWN0aW9uLm1vZHVsZVwiO1xyXG4vL2V4cG9ydCAqIGZyb20gXCIuL2FwcC9jb21wb25lbnQvaW9uZS10cmFuc2FjdGlvbi5jb21wb25lbnRcIjtcclxuLy9leHBvcnQgKiBmcm9tIFwiLi9hcHAvY29tcG9uZW50L2NoZWNrb3V0L3JldGFpbC10cmFuc2FjdGlvbi1jaGVja291dC9yZXRhaWwtdHJhbnNhY3Rpb24tY2hlY2tvdXQuY29tcG9uZW50XCI7XHJcbmV4cG9ydCAqIGZyb20gXCIuL2FwcC9jb21wb25lbnQvY2hlY2tvdXQvaW9uZS1jaGVja291dC5jb21wb25lbnRcIjtcclxuZXhwb3J0ICogZnJvbSBcIi4vYXBwL2NvbXBvbmVudC9jaGVja291dC9pb25lLWNoZWNrb3V0Lm1vZHVsZVwiO1xyXG5leHBvcnQgKiBmcm9tIFwiLi9hcHAvY29tcG9uZW50L3Nob3BwaW5nLWNhcnQvaW9uZS1zaG9wcGluZy1jYXJ0LmNvbXBvbmVudFwiO1xyXG5leHBvcnQgKiBmcm9tIFwiLi9hcHAvY29tcG9uZW50L3Nob3BwaW5nLWNhcnQvaW9uZS1zaG9wcGluZy1jYXJ0Lm1vZHVsZVwiO1xyXG4iXX0=
|
|
@@ -1,188 +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
|
-
var ArrayUtils = /** @class */ (function () {
|
|
6
|
-
function ArrayUtils() {
|
|
7
|
-
}
|
|
8
|
-
/**
|
|
9
|
-
* Returns whether at least one element in given array could be found by given finder function.
|
|
10
|
-
*
|
|
11
|
-
* @param {T[]} array
|
|
12
|
-
* @param {(element: T) => boolean} finder A finder function that takes an element of the array and returns a boolean that represents
|
|
13
|
-
* the 'found status' for that element; whether it should have been found or not.
|
|
14
|
-
*/
|
|
15
|
-
ArrayUtils.ContainsAnElementFoundBy = function (array, finder) {
|
|
16
|
-
if (!array || !finder) {
|
|
17
|
-
return false;
|
|
18
|
-
}
|
|
19
|
-
return notNill(this.Find(array, finder));
|
|
20
|
-
};
|
|
21
|
-
/**
|
|
22
|
-
* Cross-browser Array.find() function. Returns the first item in given array for which the foundBy function returns true. Returns
|
|
23
|
-
* undefined when none was found.
|
|
24
|
-
*
|
|
25
|
-
* Example usage:
|
|
26
|
-
* const foundItem: BusinessObject = ArrayUtils.Find<BusinessObject>(modelArray, (modelItem: BusinessObject) => <br>
|
|
27
|
-
* (return modelItem.getId() === '1')
|
|
28
|
-
* * });
|
|
29
|
-
*
|
|
30
|
-
* @param array The array with items to search in.
|
|
31
|
-
* @param foundBy The finder function applied on each items of the array, when that returns true, the item is considered found.
|
|
32
|
-
*/
|
|
33
|
-
ArrayUtils.Find = function (array, foundBy) {
|
|
34
|
-
if (!array || !foundBy) {
|
|
35
|
-
return undefined;
|
|
36
|
-
}
|
|
37
|
-
for (var i = 0, len = array.length; i < len; i++) {
|
|
38
|
-
var itemCur = array[i];
|
|
39
|
-
if (foundBy(itemCur)) {
|
|
40
|
-
return itemCur;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
return undefined;
|
|
44
|
-
};
|
|
45
|
-
// @returns empty array when nothing found, otherwise array with found items
|
|
46
|
-
ArrayUtils.FindAll = function (array, foundBy) {
|
|
47
|
-
var answer = [];
|
|
48
|
-
if (!array || !foundBy) {
|
|
49
|
-
return answer;
|
|
50
|
-
}
|
|
51
|
-
for (var i = 0, len = array.length; i < len; i++) {
|
|
52
|
-
var itemCur = array[i];
|
|
53
|
-
if (foundBy(itemCur)) {
|
|
54
|
-
answer.push(itemCur);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
return answer;
|
|
58
|
-
};
|
|
59
|
-
// returns a simple clone of given array, using array.slice(0)
|
|
60
|
-
ArrayUtils.CloneArray = function (array) {
|
|
61
|
-
var answer = [];
|
|
62
|
-
if (array) {
|
|
63
|
-
answer = array.slice(0);
|
|
64
|
-
}
|
|
65
|
-
return answer;
|
|
66
|
-
};
|
|
67
|
-
/**
|
|
68
|
-
* Returns a 'semi deep clone' of given array. Its first-level members are object-shallow-cloned (optionally with a strongly typed constructor),
|
|
69
|
-
* or just as plain object (see param arrayItemsClass).
|
|
70
|
-
* @param array
|
|
71
|
-
* @param arrayItemsClass If provided, the cloned array's first-level items will be strongly typed to / constructed as this class. Otherwise
|
|
72
|
-
* it'll be a plain object.
|
|
73
|
-
* @param deepClone Set to true if array items contain FUNCTIONS that need to be cloned..
|
|
74
|
-
* @returns {Array} semi-deep clone of given array
|
|
75
|
-
*/
|
|
76
|
-
ArrayUtils.CloneArrayAndItsItems = function (array, arrayItemsClass, deepClone) {
|
|
77
|
-
if (deepClone === void 0) { deepClone = false; }
|
|
78
|
-
var cloneArray = [];
|
|
79
|
-
if (array) {
|
|
80
|
-
for (var i = 0, len = array.length; i < len; i++) {
|
|
81
|
-
if (deepClone) {
|
|
82
|
-
cloneArray.push(ObjectUtils.GetDeepClone(array[i]));
|
|
83
|
-
}
|
|
84
|
-
else {
|
|
85
|
-
cloneArray.push(ObjectUtils.GetShallowClone(array[i], arrayItemsClass));
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
else {
|
|
90
|
-
return [];
|
|
91
|
-
}
|
|
92
|
-
return cloneArray;
|
|
93
|
-
};
|
|
94
|
-
/**
|
|
95
|
-
* Removes element at given index from given array. Doesn't just set it to null like JavaScripts standard 'delete' does, but really
|
|
96
|
-
* removes the element using splice().
|
|
97
|
-
*
|
|
98
|
-
* @param {number} index
|
|
99
|
-
* @param {any[]} array in-out
|
|
100
|
-
* @returns {boolean} True if and only if the element on given index is succesfully removed from given array.
|
|
101
|
-
*/
|
|
102
|
-
ArrayUtils.RemoveElementAtIndex = function (index, array) {
|
|
103
|
-
if (NumberUtils.IsNaN(index) || index < 0 || !Array.isArray(array) || array.length === 0) {
|
|
104
|
-
return false;
|
|
105
|
-
}
|
|
106
|
-
if (index in array) {
|
|
107
|
-
array.splice(index, 1);
|
|
108
|
-
return true;
|
|
109
|
-
}
|
|
110
|
-
else {
|
|
111
|
-
return false;
|
|
112
|
-
}
|
|
113
|
-
};
|
|
114
|
-
/**
|
|
115
|
-
* Removes given element from given array. Doesn't just set it to null like JavaScripts standard 'delete' does, but really removes the
|
|
116
|
-
* element using splice(). Also works on associative arrays.
|
|
117
|
-
*
|
|
118
|
-
* @param {T} element The element to remove.
|
|
119
|
-
* @param {T[]} array The array to remove the element from.
|
|
120
|
-
* @returns {boolean} True iff given element was truly successfully removed from given array.
|
|
121
|
-
*/
|
|
122
|
-
ArrayUtils.RemoveElement = function (element, array) {
|
|
123
|
-
if (!Array.isArray(array)) {
|
|
124
|
-
return false;
|
|
125
|
-
}
|
|
126
|
-
var index = array.indexOf(element);
|
|
127
|
-
return ArrayUtils.RemoveElementAtIndex(index, array);
|
|
128
|
-
};
|
|
129
|
-
// 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.
|
|
130
|
-
ArrayUtils.IsArrayWithElements = function (arrayToCheck, classItemsMustBeInstanceOf) {
|
|
131
|
-
if (isNill(arrayToCheck)) {
|
|
132
|
-
return false;
|
|
133
|
-
}
|
|
134
|
-
if (Array.isArray(arrayToCheck) && arrayToCheck.length > 0) {
|
|
135
|
-
if (classItemsMustBeInstanceOf) {
|
|
136
|
-
return arrayToCheck[0] instanceof classItemsMustBeInstanceOf;
|
|
137
|
-
}
|
|
138
|
-
else {
|
|
139
|
-
return true;
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
else {
|
|
143
|
-
return false;
|
|
144
|
-
}
|
|
145
|
-
};
|
|
146
|
-
// Removes all elements from given array for which given filter function holds true. Returns true if at least one removed, else false.
|
|
147
|
-
ArrayUtils.RemoveElementsByFilter = function (array, filterFunction) {
|
|
148
|
-
if (!ArrayUtils.IsArrayWithElements(array) || !filterFunction) {
|
|
149
|
-
return false;
|
|
150
|
-
}
|
|
151
|
-
var atLeastOneRemoved = false;
|
|
152
|
-
var len = array.length;
|
|
153
|
-
for (var i = len - 1; i >= 0; i--) {
|
|
154
|
-
var item = array[i];
|
|
155
|
-
if (filterFunction.call(this, item) === true) {
|
|
156
|
-
array.splice(i, 1);
|
|
157
|
-
atLeastOneRemoved = true;
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
return atLeastOneRemoved;
|
|
161
|
-
};
|
|
162
|
-
ArrayUtils.MoveElement = function (element, toIndex, array) {
|
|
163
|
-
if (!Array.isArray(array) || isNill(toIndex)) {
|
|
164
|
-
return false;
|
|
165
|
-
}
|
|
166
|
-
var fromIndex = array.indexOf(element);
|
|
167
|
-
var toIndexCorrected = NumberUtils.GetNearestNumberWithinBounds(toIndex, 0, array.length - 1);
|
|
168
|
-
if (fromIndex === -1 || array[toIndexCorrected] === element) {
|
|
169
|
-
// element did not exist in given array, or already existed on given toIndex
|
|
170
|
-
return false;
|
|
171
|
-
}
|
|
172
|
-
array.splice(toIndexCorrected, 0, array.splice(fromIndex, 1)[0]);
|
|
173
|
-
return true;
|
|
174
|
-
};
|
|
175
|
-
// PRE: elements exists in given array. POST: given elementToPlace has a lower index than given afterThisElement. Array is in-out manipulated.
|
|
176
|
-
ArrayUtils.PlaceElementAfterOther = function (array, elementToPlace, afterThisElement) {
|
|
177
|
-
if (array) {
|
|
178
|
-
var afterThisElIdx = array.indexOf(afterThisElement);
|
|
179
|
-
var elToPlaceIdx = array.indexOf(elementToPlace);
|
|
180
|
-
if (afterThisElIdx >= elToPlaceIdx) {
|
|
181
|
-
ArrayUtils.MoveElement(elementToPlace, afterThisElIdx + 1, array);
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
};
|
|
185
|
-
return ArrayUtils;
|
|
186
|
-
}());
|
|
187
|
-
export { ArrayUtils };
|
|
188
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXktdXRpbHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29saWpuaXQvdHJhbnNhY3Rpb24vIiwic291cmNlcyI6WyJ1dGlscy9hcnJheS11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sbURBQW1ELENBQUM7QUFDOUUsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBQzlFLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxnRUFBZ0UsQ0FBQztBQUN0RixPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0saUVBQWlFLENBQUM7QUFFeEY7SUFBQTtJQW9NQSxDQUFDO0lBbk1HOzs7Ozs7T0FNRztJQUNXLG1DQUF3QixHQUF0QyxVQUEwQyxLQUFVLEVBQUUsTUFBK0I7UUFDakYsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNuQixPQUFPLEtBQUssQ0FBQztTQUNoQjtRQUVELE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUksS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVEOzs7Ozs7Ozs7OztPQVdHO0lBQ1csZUFBSSxHQUFsQixVQUFzQixLQUFVLEVBQUUsT0FBNkI7UUFDM0QsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNwQixPQUFPLFNBQVMsQ0FBQztTQUNwQjtRQUVELEtBQUssSUFBSSxDQUFDLEdBQVcsQ0FBQyxFQUFFLEdBQUcsR0FBVyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDOUQsSUFBTSxPQUFPLEdBQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzVCLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFHO2dCQUNuQixPQUFPLE9BQU8sQ0FBQzthQUNsQjtTQUNKO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFD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bHN9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvdXRpbHMvb2JqZWN0LXV0aWxzXCI7XHJcbmltcG9ydCB7TnVtYmVyVXRpbHN9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvdXRpbHMvbnVtYmVyLXV0aWxzXCI7XHJcbmltcG9ydCB7aXNOaWxsfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL3V0aWxzL2Z1bmN0aW9uL2lzLW5pbGwuZnVuY3Rpb25cIjtcclxuaW1wb3J0IHtub3ROaWxsfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL3V0aWxzL2Z1bmN0aW9uL25vdC1uaWxsLmZ1bmN0aW9uXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgQXJyYXlVdGlscyB7XHJcbiAgICAvKipcclxuICAgICAqIFJldHVybnMgd2hldGhlciBhdCBsZWFzdCBvbmUgZWxlbWVudCBpbiBnaXZlbiBhcnJheSBjb3VsZCBiZSBmb3VuZCBieSBnaXZlbiBmaW5kZXIgZnVuY3Rpb24uXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIHtUW119IGFycmF5XHJcbiAgICAgKiBAcGFyYW0geyhlbGVtZW50OiBUKSA9PiBib29sZWFufSBmaW5kZXIgQSBmaW5kZXIgZnVuY3Rpb24gdGhhdCB0YWtlcyBhbiBlbGVtZW50IG9mIHRoZSBhcnJheSBhbmQgcmV0dXJucyBhIGJvb2xlYW4gdGhhdCByZXByZXNlbnRzXHJcbiAgICAgKiB0aGUgJ2ZvdW5kIHN0YXR1cycgZm9yIHRoYXQgZWxlbWVudDsgd2hldGhlciBpdCBzaG91bGQgaGF2ZSBiZWVuIGZvdW5kIG9yIG5vdC5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBDb250YWluc0FuRWxlbWVudEZvdW5kQnk8VD4oYXJyYXk6IFRbXSwgZmluZGVyOiAoZWxlbWVudDogVCkgPT4gYm9vbGVhbik6IGJvb2xlYW4ge1xyXG4gICAgICAgIGlmICghYXJyYXkgfHwgIWZpbmRlcikge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gbm90TmlsbCh0aGlzLkZpbmQ8VD4oYXJyYXksIGZpbmRlcikpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ3Jvc3MtYnJvd3NlciBBcnJheS5maW5kKCkgZnVuY3Rpb24uIFJldHVybnMgdGhlIGZpcnN0IGl0ZW0gaW4gZ2l2ZW4gYXJyYXkgZm9yIHdoaWNoIHRoZSBmb3VuZEJ5IGZ1bmN0aW9uIHJldHVybnMgdHJ1ZS4gUmV0dXJuc1xyXG4gICAgICogdW5kZWZpbmVkIHdoZW4gbm9uZSB3YXMgZm91bmQuXHJcbiAgICAgKlxyXG4gICAgICogRXhhbXBsZSB1c2FnZTpcclxuICAgICAqIGNvbnN0IGZvdW5kSXRlbTogQnVzaW5lc3NPYmplY3QgPSBBcnJheVV0aWxzLkZpbmQ8QnVzaW5lc3NPYmplY3Q+KG1vZGVsQXJyYXksIChtb2RlbEl0ZW06IEJ1c2luZXNzT2JqZWN0KSA9PiA8YnI+XHJcbiAgICAgKiAgICAgKHJldHVybiBtb2RlbEl0ZW0uZ2V0SWQoKSA9PT0gJzEnKVxyXG4gICAgICogICAqIH0pO1xyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSBhcnJheSBUaGUgYXJyYXkgd2l0aCBpdGVtcyB0byBzZWFyY2ggaW4uXHJcbiAgICAgKiBAcGFyYW0gZm91bmRCeSBUaGUgZmluZGVyIGZ1bmN0aW9uIGFwcGxpZWQgb24gZWFjaCBpdGVtcyBvZiB0aGUgYXJyYXksIHdoZW4gdGhhdCByZXR1cm5zIHRydWUsIHRoZSBpdGVtIGlzIGNvbnNpZGVyZWQgZm91bmQuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgRmluZDxUPihhcnJheTogVFtdLCBmb3VuZEJ5OiAoaXRlbTogVCkgPT4gYm9vbGVhbik6IFQge1xyXG4gICAgICAgIGlmICghYXJyYXkgfHwgIWZvdW5kQnkpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGZvciAobGV0IGk6IG51bWJlciA9IDAsIGxlbjogbnVtYmVyID0gYXJyYXkubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcclxuICAgICAgICAgICAgY29uc3QgaXRlbUN1cjogVCA9IGFycmF5W2ldO1xyXG4gICAgICAgICAgICBpZiAoZm91bmRCeShpdGVtQ3VyKSApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBpdGVtQ3VyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQHJldHVybnMgZW1wdHkgYXJyYXkgd2hlbiBub3RoaW5nIGZvdW5kLCBvdGhlcndpc2UgYXJyYXkgd2l0aCBmb3VuZCBpdGVtc1xyXG4gICAgcHVibGljIHN0YXRpYyBGaW5kQWxsPFQ+KGFycmF5OiBUW10sIGZvdW5kQnk6IChpdGVtOiBUKSA9PiBib29sZWFuKTogVFtdIHtcclxuICAgICAgICBjb25zdCBhbnN3ZXI6IFRbXSA9IFtdO1xyXG4gICAgICAgIGlmICghYXJyYXkgfHwgIWZvdW5kQnkpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGFuc3dlcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGZvciAobGV0IGk6IG51bWJlciA9IDAsIGxlbjogbnVtYmVyID0gYXJyYXkubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcclxuICAgICAgICAgICAgY29uc3QgaXRlbUN1cjogVCA9IGFycmF5W2ldO1xyXG4gICAgICAgICAgICBpZiAoZm91bmRCeShpdGVtQ3VyKSkge1xyXG4gICAgICAgICAgICAgICAgYW5zd2VyLnB1c2goaXRlbUN1cik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGFuc3dlcjtcclxuICAgIH1cclxuXHJcbiAgICAvLyByZXR1cm5zIGEgc2ltcGxlIGNsb25lIG9mIGdpdmVuIGFycmF5LCB1c2luZyBhcnJheS5zbGljZSgwKVxyXG4gICAgcHVibGljIHN0YXRpYyBDbG9uZUFycmF5PFQ+KGFycmF5OiBUW10pOiBUW10ge1xyXG4gICAgICAgIGxldCBhbnN3ZXI6IFRbXSA9IFtdO1xyXG5cclxuICAgICAgICBpZiAoYXJyYXkpIHtcclxuICAgICAgICAgICAgYW5zd2VyID0gYXJyYXkuc2xpY2UoMCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gYW5zd2VyO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJucyBhICdzZW1pIGRlZXAgY2xvbmUnIG9mIGdpdmVuIGFycmF5LiBJdHMgZmlyc3QtbGV2ZWwgbWVtYmVycyBhcmUgb2JqZWN0LXNoYWxsb3ctY2xvbmVkIChvcHRpb25hbGx5IHdpdGggYSBzdHJvbmdseSB0eXBlZCBjb25zdHJ1Y3RvciksXHJcbiAgICAgKiBvciBqdXN0IGFzIHBsYWluIG9iamVjdCAoc2VlIHBhcmFtIGFycmF5SXRlbXNDbGFzcykuXHJcbiAgICAgKiBAcGFyYW0gYXJyYXlcclxuICAgICAqIEBwYXJhbSBhcnJheUl0ZW1zQ2xhc3MgSWYgcHJvdmlkZWQsIHRoZSBjbG9uZWQgYXJyYXkncyBmaXJzdC1sZXZlbCBpdGVtcyB3aWxsIGJlIHN0cm9uZ2x5IHR5cGVkIHRvIC8gY29uc3RydWN0ZWQgYXMgdGhpcyBjbGFzcy4gT3RoZXJ3aXNlXHJcbiAgICAgKiBpdCdsbCBiZSBhIHBsYWluIG9iamVjdC5cclxuICAgICAqIEBwYXJhbSBkZWVwQ2xvbmUgU2V0IHRvIHRydWUgaWYgYXJyYXkgaXRlbXMgY29udGFpbiBGVU5DVElPTlMgdGhhdCBuZWVkIHRvIGJlIGNsb25lZC4uXHJcbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IHNlbWktZGVlcCBjbG9uZSBvZiBnaXZlbiBhcnJheVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIENsb25lQXJyYXlBbmRJdHNJdGVtczxUPihhcnJheTogVFtdLCBhcnJheUl0ZW1zQ2xhc3M/OiBhbnksIGRlZXBDbG9uZTogYm9vbGVhbiA9IGZhbHNlKTogVFtdIHtcclxuICAgICAgICBjb25zdCBjbG9uZUFycmF5OiBUW10gPSBbXTtcclxuXHJcbiAgICAgICAgaWYgKGFycmF5KSB7XHJcbiAgICAgICAgICAgIGZvciAobGV0IGk6IG51bWJlciA9IDAsIGxlbjogbnVtYmVyID0gYXJyYXkubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcclxuICAgICAgICAgICAgICAgIGlmIChkZWVwQ2xvbmUpIHtcclxuICAgICAgICAgICAgICAgICAgICBjbG9uZUFycmF5LnB1c2goT2JqZWN0VXRpbHMuR2V0RGVlcENsb25lKGFycmF5W2ldKSk7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGNsb25lQXJyYXkucHVzaChPYmplY3RVdGlscy5HZXRTaGFsbG93Q2xvbmUoYXJyYXlbaV0sIGFycmF5SXRlbXNDbGFzcykpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIFtdO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIGNsb25lQXJyYXk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZW1vdmVzIGVsZW1lbnQgYXQgZ2l2ZW4gaW5kZXggZnJvbSBnaXZlbiBhcnJheS4gRG9lc24ndCBqdXN0IHNldCBpdCB0byBudWxsIGxpa2UgSmF2YVNjcmlwdHMgc3RhbmRhcmQgJ2RlbGV0ZScgZG9lcywgYnV0IHJlYWxseVxyXG4gICAgICogcmVtb3ZlcyB0aGUgZWxlbWVudCB1c2luZyBzcGxpY2UoKS5cclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gaW5kZXhcclxuICAgICAqIEBwYXJhbSB7YW55W119IGFycmF5IGluLW91dFxyXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgYW5kIG9ubHkgaWYgdGhlIGVsZW1lbnQgb24gZ2l2ZW4gaW5kZXggaXMgc3VjY2VzZnVsbHkgcmVtb3ZlZCBmcm9tIGdpdmVuIGFycmF5LlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIFJlbW92ZUVsZW1lbnRBdEluZGV4KGluZGV4OiBudW1iZXIsIGFycmF5OiBhbnlbXSk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGlmIChOdW1iZXJVdGlscy5Jc05hTihpbmRleCkgfHwgaW5kZXggPCAwIHx8ICFBcnJheS5pc0FycmF5KGFycmF5KSB8fCBhcnJheS5sZW5ndGggPT09IDApIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGluZGV4IGluIGFycmF5KSB7XHJcbiAgICAgICAgICAgIGFycmF5LnNwbGljZShpbmRleCwgMSk7XHJcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZW1vdmVzIGdpdmVuIGVsZW1lbnQgZnJvbSBnaXZlbiBhcnJheS4gRG9lc24ndCBqdXN0IHNldCBpdCB0byBudWxsIGxpa2UgSmF2YVNjcmlwdHMgc3RhbmRhcmQgJ2RlbGV0ZScgZG9lcywgYnV0IHJlYWxseSByZW1vdmVzIHRoZVxyXG4gICAgICogZWxlbWVudCB1c2luZyBzcGxpY2UoKS4gQWxzbyB3b3JrcyBvbiBhc3NvY2lhdGl2ZSBhcnJheXMuXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIHtUfSBlbGVtZW50IFRoZSBlbGVtZW50IHRvIHJlbW92ZS5cclxuICAgICAqIEBwYXJhbSB7VFtdfSBhcnJheSBUaGUgYXJyYXkgdG8gcmVtb3ZlIHRoZSBlbGVtZW50IGZyb20uXHJcbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZmYgZ2l2ZW4gZWxlbWVudCB3YXMgdHJ1bHkgc3VjY2Vzc2Z1bGx5IHJlbW92ZWQgZnJvbSBnaXZlbiBhcnJheS5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBSZW1vdmVFbGVtZW50PFQ+KGVsZW1lbnQ6IFQsIGFycmF5OiBUW10pOiBib29sZWFuIHtcclxuICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkoYXJyYXkpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IGluZGV4OiBudW1iZXIgPSBhcnJheS5pbmRleE9mKGVsZW1lbnQpO1xyXG4gICAgICAgIHJldHVybiBBcnJheVV0aWxzLlJlbW92ZUVsZW1lbnRBdEluZGV4KGluZGV4LCBhcnJheSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQ2hlY2tzIGlmIGdpdmVuIGFycmF5IGlzIGRlZmluZWQsIGFuZCBpcyBhbiBhcnJheSwgYW5kIGhhcyBsZW5ndGggPiAwLCBhbmQsIG9wdGlvbmFsbHkgY2hlY2tzIHRoYXQgdGhlIGZpcnN0IGVsZW1lbnQgaXMgb2YgdHlwZSBnaXZlbiBjbGF6ei5cclxuICAgIHB1YmxpYyBzdGF0aWMgSXNBcnJheVdpdGhFbGVtZW50czxUPihhcnJheVRvQ2hlY2s6IFRbXSwgY2xhc3NJdGVtc011c3RCZUluc3RhbmNlT2Y/OiBhbnkpOiBib29sZWFuIHtcclxuICAgICAgICBpZiAoaXNOaWxsKGFycmF5VG9DaGVjaykpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoYXJyYXlUb0NoZWNrKSAmJiBhcnJheVRvQ2hlY2subGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICBpZiAoY2xhc3NJdGVtc011c3RCZUluc3RhbmNlT2YpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBhcnJheVRvQ2hlY2tbMF0gaW5zdGFuY2VvZiBjbGFzc0l0ZW1zTXVzdEJlSW5zdGFuY2VPZjtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBSZW1vdmVzIGFsbCBlbGVtZW50cyBmcm9tIGdpdmVuIGFycmF5IGZvciB3aGljaCBnaXZlbiBmaWx0ZXIgZnVuY3Rpb24gaG9sZHMgdHJ1ZS4gUmV0dXJucyB0cnVlIGlmIGF0IGxlYXN0IG9uZSByZW1vdmVkLCBlbHNlIGZhbHNlLlxyXG4gICAgcHVibGljIHN0YXRpYyBSZW1vdmVFbGVtZW50c0J5RmlsdGVyKGFycmF5OiBhbnlbXSwgZmlsdGVyRnVuY3Rpb246IChpdGVtOiBhbnkpID0+IGJvb2xlYW4pOiBib29sZWFuIHtcclxuICAgICAgICBpZiAoIUFycmF5VXRpbHMuSXNBcnJheVdpdGhFbGVtZW50cyhhcnJheSkgfHwgIWZpbHRlckZ1bmN0aW9uKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxldCBhdExlYXN0T25lUmVtb3ZlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgICAgICBjb25zdCBsZW46IG51bWJlciA9IGFycmF5Lmxlbmd0aDtcclxuICAgICAgICBmb3IgKGxldCBpOiBudW1iZXIgPSBsZW4gLSAxOyBpID49IDA7IGktLSkge1xyXG4gICAgICAgICAgICBjb25zdCBpdGVtOiBhbnkgPSBhcnJheVtpXTtcclxuICAgICAgICAgICAgaWYgKGZpbHRlckZ1bmN0aW9uLmNhbGwodGhpcywgaXRlbSkgPT09IHRydWUpIHtcclxuICAgICAgICAgICAgICAgIGFycmF5LnNwbGljZShpLCAxKTtcclxuICAgICAgICAgICAgICAgIGF0TGVhc3RPbmVSZW1vdmVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIGF0TGVhc3RPbmVSZW1vdmVkO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzdGF0aWMgTW92ZUVsZW1lbnQ8VD4oZWxlbWVudDogVCwgdG9JbmRleDogbnVtYmVyLCBhcnJheTogVFtdKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KGFycmF5KSB8fCBpc05pbGwodG9JbmRleCkpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgZnJvbUluZGV4OiBudW1iZXIgPSBhcnJheS5pbmRleE9mKGVsZW1lbnQpO1xyXG4gICAgICAgIGNvbnN0IHRvSW5kZXhDb3JyZWN0ZWQ6IG51bWJlciA9IE51bWJlclV0aWxzLkdldE5lYXJlc3ROdW1iZXJXaXRoaW5Cb3VuZHModG9JbmRleCwgMCwgYXJyYXkubGVuZ3RoIC0gMSk7XHJcbiAgICAgICAgaWYgKGZyb21JbmRleCA9PT0gLTEgfHwgYXJyYXlbdG9JbmRleENvcnJlY3RlZF0gPT09IGVsZW1lbnQpIHtcclxuICAgICAgICAgICAgLy8gZWxlbWVudCBkaWQgbm90IGV4aXN0IGluIGdpdmVuIGFycmF5LCBvciBhbHJlYWR5IGV4aXN0ZWQgb24gZ2l2ZW4gdG9JbmRleFxyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGFycmF5LnNwbGljZSh0b0luZGV4Q29ycmVjdGVkLCAwLCBhcnJheS5zcGxpY2UoZnJvbUluZGV4LCAxKVswXSk7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gUFJFOiBlbGVtZW50cyBleGlzdHMgaW4gZ2l2ZW4gYXJyYXkuIFBPU1Q6IGdpdmVuIGVsZW1lbnRUb1BsYWNlIGhhcyBhIGxvd2VyIGluZGV4IHRoYW4gZ2l2ZW4gYWZ0ZXJUaGlzRWxlbWVudC4gQXJyYXkgaXMgaW4tb3V0IG1hbmlwdWxhdGVkLlxyXG4gICAgcHVibGljIHN0YXRpYyBQbGFjZUVsZW1lbnRBZnRlck90aGVyKGFycmF5OiBhbnlbXSwgZWxlbWVudFRvUGxhY2U6IGFueSwgYWZ0ZXJUaGlzRWxlbWVudDogYW55KTogdm9pZCB7XHJcbiAgICAgICAgaWYgKGFycmF5KSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGFmdGVyVGhpc0VsSWR4OiBudW1iZXIgPSBhcnJheS5pbmRleE9mKGFmdGVyVGhpc0VsZW1lbnQpO1xyXG4gICAgICAgICAgICBjb25zdCBlbFRvUGxhY2VJZHg6IG51bWJlciA9IGFycmF5LmluZGV4T2YoZWxlbWVudFRvUGxhY2UpO1xyXG4gICAgICAgICAgICBpZiAoYWZ0ZXJUaGlzRWxJZHggPj0gZWxUb1BsYWNlSWR4KSB7XHJcbiAgICAgICAgICAgICAgICBBcnJheVV0aWxzLk1vdmVFbGVtZW50KGVsZW1lbnRUb1BsYWNlLCBhZnRlclRoaXNFbElkeCArIDEsIGFycmF5KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtbmlsbC5mdW5jdGlvbi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb2xpam5pdC90cmFuc2FjdGlvbi8iLCJzb3VyY2VzIjpbInV0aWxzL2lzLW5pbGwuZnVuY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0VBQWdFO0FBQ2hFLE1BQU0sVUFBVSxNQUFNLENBQUMsS0FBVTtJQUM3QixPQUFPLEtBQUssS0FBSyxJQUFJLElBQUksS0FBSyxLQUFLLFNBQVMsQ0FBQztBQUNqRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHJldHVybnMgdHJ1ZSBpZmYgZ2l2ZW4gdmFsdWUgZXF1YWxzIG51bGwgb3IgZXF1YWxzIHVuZGVmaW5lZFxyXG5leHBvcnQgZnVuY3Rpb24gaXNOaWxsKHZhbHVlOiBhbnkpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkO1xyXG59Il19
|