mono/packages/kbot/dist-in/async-iterator.d.ts

44 lines
2.2 KiB
TypeScript

export type AsyncTransformer = (input: string, path: string) => Promise<string>;
export type ErrorCallback = (path: string, value: string, error: unknown) => void;
export type FilterCallback = (input: string, path: string) => Promise<boolean>;
export type Filter = (input: string) => Promise<boolean>;
export interface TransformOptions {
transform: AsyncTransformer;
path: string;
throttleDelay: number;
concurrentTasks: number;
errorCallback: ErrorCallback;
filterCallback: FilterCallback;
targetPath?: string | null;
maxRetries?: number;
retryDelay?: number;
}
export interface GlobalOptions {
throttleDelay?: number;
concurrentTasks?: number;
errorCallback?: ErrorCallback;
filterCallback?: FilterCallback;
maxRetries?: number;
retryDelay?: number;
}
export declare const isNumber: Filter;
export declare const isBoolean: Filter;
export declare const isValidString: Filter;
export declare const testFilters: (filters: Filter[]) => FilterCallback;
export declare const defaultFilters: (filters?: Filter[]) => Filter[];
export declare function transformObject(obj: Record<string, any>, transform: AsyncTransformer, path: string, throttleDelay: number, concurrentTasks: number, errorCallback: ErrorCallback, testCallback: FilterCallback, maxRetries?: number, retryDelay?: number): Promise<void>;
export declare function transformPath(obj: Record<string, any>, keys: string[], transform: AsyncTransformer, throttleDelay: number, concurrentTasks: number, currentPath: string, errorCallback: ErrorCallback, testCallback: FilterCallback, maxRetries?: number, retryDelay?: number): Promise<void>;
export declare const defaultError: ErrorCallback;
export interface TransformWithOptionsInput {
jsonPath: string;
targetPath?: string | null;
throttleDelay?: number;
concurrentTasks?: number;
errorCallback?: ErrorCallback;
filterCallback?: FilterCallback;
maxRetries?: number;
retryDelay?: number;
}
export declare function transformObjectWithOptions(obj: Record<string, any>, transform: AsyncTransformer, options: TransformWithOptionsInput): Promise<void>;
export declare const defaultOptions: (options?: Partial<TransformOptions>) => TransformOptions;