@visulima/packem
Version:
A fast and modern bundler for Node.js and TypeScript.
25 lines (24 loc) • 893 B
text/typescript
import type { Pail } from "@visulima/pail";
import type { InternalStyleOptions } from "../types.d.mts";
import type { Loader, LoaderContext, Payload } from "./types.d.mts";
/** Options for {@link Loaders} class */
interface LoadersOptions {
/** @see {@link Options.extensions} */
extensions: string[];
/** @see {@link Options.loaders} */
loaders: Loader[];
logger: Pail;
options: InternalStyleOptions;
}
declare class LoaderManager {
private readonly test;
private readonly loaders;
private readonly options;
private workQueue?;
private readonly logger;
constructor({ extensions, loaders, logger, options }: LoadersOptions);
add<T extends Record<string, unknown>>(...loaders: Loader<T>[]): void;
isSupported(file: string): boolean;
process(payload: Payload, context: LoaderContext): Promise<Payload>;
}
export default LoaderManager;