@jsmanifest/content-combiner
Version:
Combine content from multiple sources and transform them into one unified data structure to work with
11 lines (10 loc) • 646 B
TypeScript
export declare type Fetcher<DataObject = any> = (...args: any[]) => Promise<DataObject | DataObject[]>;
export declare type Keymap<DataObject> = Map<string, Mapper<DataObject>>;
export declare type ConsumerKeymap<DataObject> = Record<string, Mapper<DataObject>>;
export declare type Mapper<DataObject extends {} = any> = StringMapper | ArrayMapper | FuncMapper<DataObject>;
export declare type StringMapper = string;
export declare type ArrayMapper = string[];
export interface FuncMapper<DataObject> {
(item: DataObject): any;
}
export declare type FinalizedKeymap<DataObject> = Partial<Record<keyof DataObject, (item: DataObject) => any>>;