UNPKG

@n2flowjs/nbase

Version:

Neural Vector Database for efficient similarity search

27 lines (26 loc) 1.52 kB
import { PartitionedVectorDB } from "../../vector/partitioned_vector_db"; import { FilterConfig } from "../../types"; /** * Creates a filter function from a filter configuration * Supports both simple object-style filters and array of FilterConfig objects * * @param filters Filter configuration object or array of FilterConfig objects * @returns A function that takes an ID and returns true if the item passes the filter */ export declare function createFilterFunction(filters: Record<string, any> | FilterConfig[] | undefined): (id: number | string, metadata?: Record<string, any> | null) => boolean; /** * Creates a combined filter function from multiple filter conditions * using logical operations (AND, OR, NOT) */ export declare function createLogicalFilterFunction(conditions: Array<{ filter: Record<string, any> | FilterConfig[]; operation: "AND" | "OR" | "NOT"; }>, db?: PartitionedVectorDB): (id: number | string, metadata?: Record<string, any> | null) => boolean; /** * Helper function to create a combined filter with OR logic */ export declare function createOrFilter(filters: Array<Record<string, any> | FilterConfig[]>, db?: PartitionedVectorDB): (id: number | string, metadata?: Record<string, any> | null) => boolean; /** * Helper function to create a combined filter with AND logic */ export declare function createAndFilter(filters: Array<Record<string, any> | FilterConfig[]>, db?: PartitionedVectorDB): (id: number | string, metadata?: Record<string, any> | null) => boolean;