Browse Source

Update courceBoolean Decorator

pull/8879/head
kalytka 3 years ago
parent
commit
e7fd826a85
  1. 38
      ui-ngx/src/app/shared/decorators/coercion.ts

38
ui-ngx/src/app/shared/decorators/coercion.ts

@ -22,21 +22,29 @@ import {
coerceStringArray as coerceStringArrayAngular
} from '@angular/cdk/coercion';
export const coerceBoolean = () => (target: any, key: string): void => {
const getter = function() {
return this['__' + key];
};
const setter = function(next: any) {
this['__' + key] = coerceBooleanProperty(next);
};
Object.defineProperty(target, key, {
get: getter,
set: setter,
enumerable: true,
configurable: true,
});
export const coerceBoolean = () => (target: any, key: string, propertyDescriptor?: PropertyDescriptor): void => {
if (!!propertyDescriptor && !!propertyDescriptor.set) {
const original = propertyDescriptor.set;
propertyDescriptor.set = function(next) {
original.apply(this, [coerceBooleanProperty(next)]);
};
} else {
const getter = function() {
return this['__' + key];
};
const setter = function(next: any) {
this['__' + key] = coerceBooleanProperty(next);
};
Object.defineProperty(target, key, {
get: getter,
set: setter,
enumerable: true,
configurable: true,
});
}
};
export const coerceNumber = () => (target: any, key: string): void => {

Loading…
Cancel
Save