@make-mjs/main
Version:
46 lines (45 loc) • 1.25 kB
TypeScript
/// <reference types="node" />
import { Stats } from 'fs-extra';
import { MaybePromise } from '@make-mjs/utils';
import { CodeTransformOptions } from '@make-mjs/code';
export interface FilterFunc {
(param: FilterFunc.Param): boolean;
}
export declare namespace FilterFunc {
interface Param extends TraverseReturn {
}
}
export interface StatFunc {
(path: string): MaybePromise<Stats>;
}
export interface TraverseOptions {
readonly deep?: FilterFunc;
readonly stat?: StatFunc;
}
export interface TraverseReturn {
base: string;
path: string;
}
interface ReadSharedOptions extends TraverseOptions {
readonly filter?: FilterFunc;
}
export interface ReadOptions extends ReadSharedOptions {
readonly dirname: string;
}
export interface PathTransformFunc {
(path: string): string;
}
interface TransformSharedOptions {
readonly getNewPath?: PathTransformFunc;
readonly codeTransformOptions?: Omit<CodeTransformOptions, 'moduleContainer'>;
}
export interface TransformOptions extends TransformSharedOptions {
readonly files: AsyncIterable<File>;
}
export interface MainOptions extends ReadOptions, TransformSharedOptions {
}
export interface File {
path: string;
content: string;
}
export {};