ontimize-web-ngx
Version:
Ontimize Web framework using Angular 15
51 lines • 5.56 kB
JavaScript
import { coerceNumberProperty } from "@angular/cdk/coercion";
export function StringConverter(value) {
if (value == null || typeof value === 'string') {
return value;
}
return value.toString();
}
export function BooleanConverter(value) {
if (value == null || typeof value === 'boolean') {
return value;
}
return value.toString() === 'true' || value.toString() === 'yes';
}
export function NumberConverter(value) {
return coerceNumberProperty(value);
}
export function BooleanInputConverter() {
return function decorator(target, propertyKey) {
const privateFieldName = `_${String(propertyKey)}`;
Object.defineProperty(target, privateFieldName, {
configurable: true,
writable: true,
});
return {
get() {
return this[privateFieldName];
},
set(value) {
this[privateFieldName] = BooleanConverter(value);
},
};
};
}
export function NumberInputConverter() {
return function decorator(target, propertyKey) {
const privateFieldName = `_${String(propertyKey)}`;
Object.defineProperty(target, privateFieldName, {
configurable: true,
writable: true,
});
return {
get() {
return this[privateFieldName];
},
set(value) {
this[privateFieldName] = NumberConverter(value);
},
};
};
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY29udmVydGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvb250aW1pemUtd2ViLW5neC9zcmMvbGliL2RlY29yYXRvcnMvaW5wdXQtY29udmVydGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTdELE1BQU0sVUFBVSxlQUFlLENBQUMsS0FBVTtJQUN4QyxJQUFJLEtBQUssSUFBSSxJQUFJLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1FBQzlDLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFDRCxPQUFPLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztBQUMxQixDQUFDO0FBRUQsTUFBTSxVQUFVLGdCQUFnQixDQUFDLEtBQVU7SUFDekMsSUFBSSxLQUFLLElBQUksSUFBSSxJQUFJLE9BQU8sS0FBSyxLQUFLLFNBQVMsRUFBRTtRQUMvQyxPQUFPLEtBQUssQ0FBQztLQUNkO0lBQ0QsT0FBTyxLQUFLLENBQUMsUUFBUSxFQUFFLEtBQUssTUFBTSxJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUUsS0FBSyxLQUFLLENBQUM7QUFDbkUsQ0FBQztBQUVELE1BQU0sVUFBVSxlQUFlLENBQUMsS0FBVTtJQUN4QyxPQUFPLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3JDLENBQUM7QUFFRCxNQUFNLFVBQVUscUJBQXFCO0lBQ25DLE9BQU8sU0FBUyxTQUFTLENBQUMsTUFBZSxFQUFFLFdBQXdCO1FBQ2pFLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQTtRQUNsRCxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRTtZQUM5QyxZQUFZLEVBQUUsSUFBSTtZQUNsQixRQUFRLEVBQUUsSUFBSTtTQUNmLENBQUMsQ0FBQTtRQUNGLE9BQU87WUFDTCxHQUFHO2dCQUNELE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUE7WUFDL0IsQ0FBQztZQUNELEdBQUcsQ0FBQyxLQUFjO2dCQUNoQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNuRCxDQUFDO1NBQ0YsQ0FBQTtJQUNILENBQUMsQ0FBQTtBQUNILENBQUM7QUFDRCxNQUFNLFVBQVUsb0JBQW9CO0lBQ2xDLE9BQU8sU0FBUyxTQUFTLENBQUMsTUFBZSxFQUFFLFdBQXdCO1FBQ2pFLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQTtRQUNsRCxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRTtZQUM5QyxZQUFZLEVBQUUsSUFBSTtZQUNsQixRQUFRLEVBQUUsSUFBSTtTQUNmLENBQUMsQ0FBQTtRQUNGLE9BQU87WUFDTCxHQUFHO2dCQUNELE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUE7WUFDL0IsQ0FBQztZQUNELEdBQUcsQ0FBQyxLQUFjO2dCQUNoQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbEQsQ0FBQztTQUNGLENBQUE7SUFDSCxDQUFDLENBQUE7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29lcmNlTnVtYmVyUHJvcGVydHkgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL2NvZXJjaW9uXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBTdHJpbmdDb252ZXJ0ZXIodmFsdWU6IGFueSkge1xuICBpZiAodmFsdWUgPT0gbnVsbCB8fCB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG4gIHJldHVybiB2YWx1ZS50b1N0cmluZygpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gQm9vbGVhbkNvbnZlcnRlcih2YWx1ZTogYW55KSB7XG4gIGlmICh2YWx1ZSA9PSBudWxsIHx8IHR5cGVvZiB2YWx1ZSA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG4gIHJldHVybiB2YWx1ZS50b1N0cmluZygpID09PSAndHJ1ZScgfHwgdmFsdWUudG9TdHJpbmcoKSA9PT0gJ3llcyc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBOdW1iZXJDb252ZXJ0ZXIodmFsdWU6IGFueSkge1xuICByZXR1cm4gY29lcmNlTnVtYmVyUHJvcGVydHkodmFsdWUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gQm9vbGVhbklucHV0Q29udmVydGVyKCkge1xuICByZXR1cm4gZnVuY3Rpb24gZGVjb3JhdG9yKHRhcmdldDogdW5rbm93biwgcHJvcGVydHlLZXk6IFByb3BlcnR5S2V5KTogYW55IHtcbiAgICBjb25zdCBwcml2YXRlRmllbGROYW1lID0gYF8ke1N0cmluZyhwcm9wZXJ0eUtleSl9YFxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIHByaXZhdGVGaWVsZE5hbWUsIHtcbiAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgIH0pXG4gICAgcmV0dXJuIHtcbiAgICAgIGdldCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXNbcHJpdmF0ZUZpZWxkTmFtZV1cbiAgICAgIH0sXG4gICAgICBzZXQodmFsdWU6IHVua25vd24pIHtcbiAgICAgICAgdGhpc1twcml2YXRlRmllbGROYW1lXSA9IEJvb2xlYW5Db252ZXJ0ZXIodmFsdWUpO1xuICAgICAgfSxcbiAgICB9XG4gIH1cbn1cbmV4cG9ydCBmdW5jdGlvbiBOdW1iZXJJbnB1dENvbnZlcnRlcigpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIGRlY29yYXRvcih0YXJnZXQ6IHVua25vd24sIHByb3BlcnR5S2V5OiBQcm9wZXJ0eUtleSk6IGFueSB7XG4gICAgY29uc3QgcHJpdmF0ZUZpZWxkTmFtZSA9IGBfJHtTdHJpbmcocHJvcGVydHlLZXkpfWBcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBwcml2YXRlRmllbGROYW1lLCB7XG4gICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICB9KVxuICAgIHJldHVybiB7XG4gICAgICBnZXQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzW3ByaXZhdGVGaWVsZE5hbWVdXG4gICAgICB9LFxuICAgICAgc2V0KHZhbHVlOiB1bmtub3duKSB7XG4gICAgICAgIHRoaXNbcHJpdmF0ZUZpZWxkTmFtZV0gPSBOdW1iZXJDb252ZXJ0ZXIodmFsdWUpO1xuICAgICAgfSxcbiAgICB9XG4gIH1cbn0iXX0=