summaryrefslogtreecommitdiff
path: root/node_modules/fdir/dist/index.d.cts
diff options
context:
space:
mode:
authorShipwreckt <me@shipwreckt.co.uk>2025-10-31 20:02:14 +0000
committerShipwreckt <me@shipwreckt.co.uk>2025-10-31 20:02:14 +0000
commit7a52ddeba2a68388b544f529d2d92104420f77b0 (patch)
tree15ddd47457a2cb4a96060747437d36474e4f6b4e /node_modules/fdir/dist/index.d.cts
parent53d6ae2b5568437afa5e4995580a3fb679b7b91b (diff)
Changed from static to 11ty!
Diffstat (limited to 'node_modules/fdir/dist/index.d.cts')
-rw-r--r--node_modules/fdir/dist/index.d.cts155
1 files changed, 155 insertions, 0 deletions
diff --git a/node_modules/fdir/dist/index.d.cts b/node_modules/fdir/dist/index.d.cts
new file mode 100644
index 0000000..f448ef5
--- /dev/null
+++ b/node_modules/fdir/dist/index.d.cts
@@ -0,0 +1,155 @@
+/// <reference types="node" />
+import * as nativeFs from "fs";
+import picomatch from "picomatch";
+
+//#region src/api/aborter.d.ts
+/**
+ * AbortController is not supported on Node 14 so we use this until we can drop
+ * support for Node 14.
+ */
+declare class Aborter {
+ aborted: boolean;
+ abort(): void;
+}
+//#endregion
+//#region src/api/queue.d.ts
+type OnQueueEmptyCallback = (error: Error | null, output: WalkerState) => void;
+/**
+ * This is a custom stateless queue to track concurrent async fs calls.
+ * It increments a counter whenever a call is queued and decrements it
+ * as soon as it completes. When the counter hits 0, it calls onQueueEmpty.
+ */
+declare class Queue {
+ private onQueueEmpty?;
+ count: number;
+ constructor(onQueueEmpty?: OnQueueEmptyCallback | undefined);
+ enqueue(): number;
+ dequeue(error: Error | null, output: WalkerState): void;
+}
+//#endregion
+//#region src/types.d.ts
+type Counts = {
+ files: number;
+ directories: number;
+ /**
+ * @deprecated use `directories` instead. Will be removed in v7.0.
+ */
+ dirs: number;
+};
+type Group = {
+ directory: string;
+ files: string[];
+ /**
+ * @deprecated use `directory` instead. Will be removed in v7.0.
+ */
+ dir: string;
+};
+type GroupOutput = Group[];
+type OnlyCountsOutput = Counts;
+type PathsOutput = string[];
+type Output = OnlyCountsOutput | PathsOutput | GroupOutput;
+type FSLike = {
+ readdir: typeof nativeFs.readdir;
+ readdirSync: typeof nativeFs.readdirSync;
+ realpath: typeof nativeFs.realpath;
+ realpathSync: typeof nativeFs.realpathSync;
+ stat: typeof nativeFs.stat;
+ statSync: typeof nativeFs.statSync;
+};
+type WalkerState = {
+ root: string;
+ paths: string[];
+ groups: Group[];
+ counts: Counts;
+ options: Options;
+ queue: Queue;
+ controller: Aborter;
+ fs: FSLike;
+ symlinks: Map<string, string>;
+ visited: string[];
+};
+type ResultCallback<TOutput extends Output> = (error: Error | null, output: TOutput) => void;
+type FilterPredicate = (path: string, isDirectory: boolean) => boolean;
+type ExcludePredicate = (dirName: string, dirPath: string) => boolean;
+type PathSeparator = "/" | "\\";
+type Options<TGlobFunction = unknown> = {
+ includeBasePath?: boolean;
+ includeDirs?: boolean;
+ normalizePath?: boolean;
+ maxDepth: number;
+ maxFiles?: number;
+ resolvePaths?: boolean;
+ suppressErrors: boolean;
+ group?: boolean;
+ onlyCounts?: boolean;
+ filters: FilterPredicate[];
+ resolveSymlinks?: boolean;
+ useRealPaths?: boolean;
+ excludeFiles?: boolean;
+ excludeSymlinks?: boolean;
+ exclude?: ExcludePredicate;
+ relativePaths?: boolean;
+ pathSeparator: PathSeparator;
+ signal?: AbortSignal;
+ globFunction?: TGlobFunction;
+ fs?: FSLike;
+};
+type GlobMatcher = (test: string) => boolean;
+type GlobFunction = (glob: string | string[], ...params: unknown[]) => GlobMatcher;
+type GlobParams<T> = T extends ((globs: string | string[], ...params: infer TParams extends unknown[]) => GlobMatcher) ? TParams : [];
+//#endregion
+//#region src/builder/api-builder.d.ts
+declare class APIBuilder<TReturnType extends Output> {
+ private readonly root;
+ private readonly options;
+ constructor(root: string, options: Options);
+ withPromise(): Promise<TReturnType>;
+ withCallback(cb: ResultCallback<TReturnType>): void;
+ sync(): TReturnType;
+}
+//#endregion
+//#region src/builder/index.d.ts
+declare class Builder<TReturnType extends Output = PathsOutput, TGlobFunction = typeof picomatch> {
+ private readonly globCache;
+ private options;
+ private globFunction?;
+ constructor(options?: Partial<Options<TGlobFunction>>);
+ group(): Builder<GroupOutput, TGlobFunction>;
+ withPathSeparator(separator: "/" | "\\"): this;
+ withBasePath(): this;
+ withRelativePaths(): this;
+ withDirs(): this;
+ withMaxDepth(depth: number): this;
+ withMaxFiles(limit: number): this;
+ withFullPaths(): this;
+ withErrors(): this;
+ withSymlinks({
+ resolvePaths
+ }?: {
+ resolvePaths?: boolean | undefined;
+ }): this;
+ withAbortSignal(signal: AbortSignal): this;
+ normalize(): this;
+ filter(predicate: FilterPredicate): this;
+ onlyDirs(): this;
+ exclude(predicate: ExcludePredicate): this;
+ onlyCounts(): Builder<OnlyCountsOutput, TGlobFunction>;
+ crawl(root?: string): APIBuilder<TReturnType>;
+ withGlobFunction<TFunc>(fn: TFunc): Builder<TReturnType, TFunc>;
+ /**
+ * @deprecated Pass options using the constructor instead:
+ * ```ts
+ * new fdir(options).crawl("/path/to/root");
+ * ```
+ * This method will be removed in v7.0
+ */
+ crawlWithOptions(root: string, options: Partial<Options<TGlobFunction>>): APIBuilder<TReturnType>;
+ glob(...patterns: string[]): Builder<TReturnType, TGlobFunction>;
+ globWithOptions(patterns: string[]): Builder<TReturnType, TGlobFunction>;
+ globWithOptions(patterns: string[], ...options: GlobParams<TGlobFunction>): Builder<TReturnType, TGlobFunction>;
+}
+//#endregion
+//#region src/index.d.ts
+type Fdir = typeof Builder;
+//#endregion
+export { Counts, ExcludePredicate, FSLike, Fdir, FilterPredicate, GlobFunction, GlobMatcher, GlobParams, Group, GroupOutput, OnlyCountsOutput, Options, Output, PathSeparator, PathsOutput, ResultCallback, WalkerState, Builder as fdir }; \ No newline at end of file