taglib-wasm
Version:
TagLib-Wasm is the universal tagging library for TypeScript/JavaScript platforms: Browsers, Node.js, Deno, Bun, Cloudflare Workers, and Electron apps
49 lines • 1.74 kB
TypeScript
/**
* Folder-level operations: batch updates, duplicates, metadata export
*/
import type { TagInput } from "../simple/index.js";
import type { DuplicateGroup, FolderScanOptions, FolderUpdateResult } from "./types.js";
/**
* Update metadata for multiple files in a folder
*
* @param updates - Array of objects containing path and tags to update
* @param options - Update options
* @returns Results of the update operation
*
* @example
* ```typescript
* const updates = [
* { path: "/music/song1.mp3", tags: { artist: "New Artist" } },
* { path: "/music/song2.mp3", tags: { album: "New Album" } }
* ];
*
* const result = await updateFolderTags(updates);
* const updated = result.items.filter((i) => i.status === "ok").length;
* console.log(`Updated ${updated} files`);
* ```
*/
export declare function updateFolderTags(updates: Array<{
path: string;
tags: Partial<TagInput>;
}>, options?: {
continueOnError?: boolean;
concurrency?: number;
signal?: AbortSignal;
}): Promise<FolderUpdateResult>;
/**
* Find duplicate audio files based on metadata
*
* @param folderPath - Path to scan for duplicates
* @param options - Scan options (includes `criteria` for which fields to compare)
* @returns Groups of potential duplicate files
*/
export declare function findDuplicates(folderPath: string, options?: FolderScanOptions): Promise<DuplicateGroup[]>;
/**
* Export metadata from a folder to JSON
*
* @param folderPath - Path to scan
* @param outputPath - Where to save the JSON file
* @param options - Scan options
*/
export declare function exportFolderMetadata(folderPath: string, outputPath: string, options?: FolderScanOptions): Promise<void>;
//# sourceMappingURL=folder-operations.d.ts.map