44 lines
2.2 KiB
TypeScript
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;
|