@jackchuka/gql-ingest
Version:
A CLI tool for ingesting data from CSV files into a GraphQL API
31 lines • 1.18 kB
TypeScript
import { GraphQLClientWrapper } from "./graphql-client";
import { MetricsCollector } from "./metrics";
import { ParallelProcessingConfig, RetryConfig } from "./config";
export interface MappingConfig {
csvFile?: string;
dataFile?: string;
dataFormat?: string;
graphqlFile: string;
mapping: Record<string, string | any>;
}
export declare class DataMapper {
private client;
private basePath;
private metrics;
private verbose;
private formatOverride?;
constructor(client: GraphQLClientWrapper, basePath?: string, metrics?: MetricsCollector, verbose?: boolean, formatOverride?: string);
discoverMappings(configDir: string, entityFilter?: string[]): string[];
processEntity(configPath: string, parallelConfig?: ParallelProcessingConfig, retryConfig?: RetryConfig): Promise<void>;
private processRowsSequentially;
private processRowsConcurrently;
private chunkArray;
private mapRowToVariables;
private getValueByPath;
private mapNestedObject;
private extractVariableTypes;
private extractTypeName;
private convertValue;
getMetrics(): MetricsCollector;
}
//# sourceMappingURL=mapper.d.ts.map