@pujansrt/data-genie
Version:
High performant ETL engine written in TypeScript
21 lines (20 loc) • 628 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.FilterExpression = void 0;
class FilterExpression {
constructor(expression) {
this.expression = expression;
}
createRecordFilter() {
return (record) => {
try {
return new Function('record', `with(record) { return ${this.expression} }`)(record);
}
catch (e) {
console.error(`Error evaluating filter expression: ${e}`, record);
return false; // Fail-safe
}
};
}
}
exports.FilterExpression = FilterExpression;