UNPKG

@pujansrt/data-genie

Version:

High performant ETL engine written in TypeScript

18 lines (17 loc) 867 B
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;