@loom-io/converter
Version:
Combines loom-io converters to convert from or to files
20 lines (19 loc) • 1.07 kB
TypeScript
import { LoomFile } from "@loom-io/core";
import { FileConverter } from "./definitions.js";
export interface CombinedConverterOptions {
failOnNoConverter?: boolean;
}
export declare class CombinedConverter<T> implements FileConverter {
protected converters: Array<FileConverter<T>>;
protected config: CombinedConverterOptions;
constructor(converters: Array<FileConverter<T>> | FileConverter<T>, options?: CombinedConverterOptions);
protected converterSetAction(action: "add" | "delete", ...converters: Array<FileConverter<T>>): void;
set options(options: CombinedConverterOptions);
get options(): CombinedConverterOptions;
addConverter(converter: FileConverter<T>, ...converters: Array<FileConverter<T>>): void;
removeConverter(converter: FileConverter<T>, ...converters: Array<FileConverter<T>>): void;
protected getConverter(file: LoomFile): Promise<FileConverter<T> | undefined>;
verify(file: LoomFile): Promise<boolean>;
unify(file: LoomFile, content: T): Promise<void>;
parse(file: LoomFile): Promise<T | void>;
}