File size: 1,609 Bytes
bc20498
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
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;