forked from Fediversity/fediversity.eu
55 lines
1.6 KiB
TypeScript
55 lines
1.6 KiB
TypeScript
export type LilconfigResult = null | {
|
|
filepath: string;
|
|
config: any;
|
|
isEmpty?: boolean;
|
|
};
|
|
interface OptionsBase {
|
|
cache?: boolean;
|
|
stopDir?: string;
|
|
searchPlaces?: string[];
|
|
ignoreEmptySearchPlaces?: boolean;
|
|
packageProp?: string | string[];
|
|
}
|
|
export type Transform =
|
|
| TransformSync
|
|
| ((result: LilconfigResult) => Promise<LilconfigResult>);
|
|
export type TransformSync = (result: LilconfigResult) => LilconfigResult;
|
|
type LoaderResult = any;
|
|
export type LoaderSync = (filepath: string, content: string) => LoaderResult;
|
|
export type Loader =
|
|
| LoaderSync
|
|
| ((filepath: string, content: string) => Promise<LoaderResult>);
|
|
export type Loaders = Record<string, Loader>;
|
|
export type LoadersSync = Record<string, LoaderSync>;
|
|
export interface Options extends OptionsBase {
|
|
loaders?: Loaders;
|
|
transform?: Transform;
|
|
}
|
|
export interface OptionsSync extends OptionsBase {
|
|
loaders?: LoadersSync;
|
|
transform?: TransformSync;
|
|
}
|
|
export declare const defaultLoadersSync: LoadersSync;
|
|
export declare const defaultLoaders: Loaders;
|
|
type ClearCaches = {
|
|
clearLoadCache: () => void;
|
|
clearSearchCache: () => void;
|
|
clearCaches: () => void;
|
|
};
|
|
type AsyncSearcher = {
|
|
search(searchFrom?: string): Promise<LilconfigResult>;
|
|
load(filepath: string): Promise<LilconfigResult>;
|
|
} & ClearCaches;
|
|
export declare function lilconfig(
|
|
name: string,
|
|
options?: Partial<Options>,
|
|
): AsyncSearcher;
|
|
type SyncSearcher = {
|
|
search(searchFrom?: string): LilconfigResult;
|
|
load(filepath: string): LilconfigResult;
|
|
} & ClearCaches;
|
|
export declare function lilconfigSync(
|
|
name: string,
|
|
options?: OptionsSync,
|
|
): SyncSearcher;
|