@pujansrt/data-genie
Version:
High performant ETL engine written in TypeScript
18 lines (17 loc) • 867 B
TypeScript
import { DataRecord } from '../core/interfaces';
export type FieldFilterRule = (value: any) => boolean;
export declare class FieldFilter {
private fieldName;
private rules;
constructor(fieldName: string);
addRule(rule: FieldFilterRule): this;
createRecordFilter(): (record: DataRecord) => boolean;
}
export declare const IsNotNull: () => FieldFilterRule;
export declare const IsType: (type: string) => FieldFilterRule;
export declare const ValueMatch: <T>(...allowedValues: T[]) => FieldFilterRule;
export declare const PatternMatch: (pattern: string) => FieldFilterRule;
export declare const GreaterThan: (threshold: number) => FieldFilterRule;
export declare const LessThan: (threshold: number) => FieldFilterRule;
export declare const Between: (min: number, max: number) => FieldFilterRule;
export declare const IsEmpty: () => FieldFilterRule;