UNPKG

1.94 kBTypeScriptView Raw
1import { Config, CosmiconfigResult, Loaders, LoadersSync } from './types';
2type LoaderResult = Config | null;
3export type Loader = ((filepath: string, content: string) => Promise<LoaderResult>) | LoaderSync;
4export type LoaderSync = (filepath: string, content: string) => LoaderResult;
5export type Transform = ((CosmiconfigResult: CosmiconfigResult) => Promise<CosmiconfigResult>) | TransformSync;
6export type TransformSync = (CosmiconfigResult: CosmiconfigResult) => CosmiconfigResult;
7interface OptionsBase {
8 packageProp?: string | Array<string>;
9 searchPlaces?: Array<string>;
10 ignoreEmptySearchPlaces?: boolean;
11 stopDir?: string;
12 cache?: boolean;
13}
14export interface Options extends OptionsBase {
15 loaders?: Loaders;
16 transform?: Transform;
17}
18export interface OptionsSync extends OptionsBase {
19 loaders?: LoadersSync;
20 transform?: TransformSync;
21}
22export interface PublicExplorerBase {
23 clearLoadCache: () => void;
24 clearSearchCache: () => void;
25 clearCaches: () => void;
26}
27export interface PublicExplorer extends PublicExplorerBase {
28 search: (searchFrom?: string) => Promise<CosmiconfigResult>;
29 load: (filepath: string) => Promise<CosmiconfigResult>;
30}
31export interface PublicExplorerSync extends PublicExplorerBase {
32 search: (searchFrom?: string) => CosmiconfigResult;
33 load: (filepath: string) => CosmiconfigResult;
34}
35export declare const metaSearchPlaces: string[];
36declare const defaultLoaders: Readonly<{
37 readonly '.cjs': LoaderSync;
38 readonly '.js': LoaderSync;
39 readonly '.json': LoaderSync;
40 readonly '.yaml': LoaderSync;
41 readonly '.yml': LoaderSync;
42 readonly noExt: LoaderSync;
43}>;
44declare function cosmiconfig(moduleName: string, options?: Options): PublicExplorer;
45declare function cosmiconfigSync(moduleName: string, options?: OptionsSync): PublicExplorerSync;
46export { cosmiconfig, cosmiconfigSync, defaultLoaders };
47//# sourceMappingURL=index.d.ts.map
\No newline at end of file