@mnrendra/alias-resolver
Version:
A utility for resolving alias paths.
49 lines (44 loc) • 1.58 kB
TypeScript
import { Aliases } from '@mnrendra/types-aliases';
export { Alias, Aliases } from '@mnrendra/types-aliases';
import { Options } from 'acorn';
export { CallExpression, ImportDeclaration, Literal, Program, VariableDeclaration } from 'acorn';
import { SimpleVisitors } from 'acorn-walk';
export { SimpleVisitors } from 'acorn-walk';
type Type = 'ImportDeclaration' | 'CallExpression' | 'AwaitExpression';
type Resolver<T extends Type, S> = Exclude<SimpleVisitors<S>[T], undefined>;
type ResolveImport<State> = Resolver<'ImportDeclaration', State>;
type ResolveRequire<State> = Resolver<'CallExpression', State>;
type ResolveDynamicImport<State> = Resolver<'AwaitExpression', State>;
type SourceType = Options['sourceType'];
/**
* `@mnrendra/alias-resolver` source object.
*
* @see https://npmjs.com/package/@mnrendra/alias-resolver
*/
interface Source {
/**
* The absolute path of the code.
*/
path: string;
/**
* A stringified code.
*/
code: string;
/**
* The source code type, either `'script'` or `'module'`.
*
* @default 'script'
*/
type?: SourceType;
}
/**
* A utility to resolve alias paths.
*
* @param {Source} source - An object of the source.
* @param {Aliases} [aliases] - A list of aliases (optional).
*
* @see https://github.com/mnrendra/alias-resolver#readme
*/
declare const main: (source: Source, aliases?: Aliases) => void;
export { type ResolveDynamicImport, type ResolveImport, type ResolveRequire, type Source, type SourceType, main as resolveAlias };
//# sourceMappingURL=index.d.ts.map