@dvcol/common-utils
Version:
Typescript library for common utility functions and constants
39 lines (36 loc) • 1.73 kB
text/typescript
import { RecursiveRecord } from '../models/typescript.model.cjs';
import './navigator.utils.cjs';
interface FilePickerOptions {
types?: FilePickerAcceptType[] | undefined;
/**
* @default false
*/
excludeAcceptAllOption?: boolean | undefined;
startIn?: WellKnownDirectory | FileSystemHandle | undefined;
id?: string | undefined;
}
interface SaveFilePickerOptions extends FilePickerOptions {
suggestedName?: string | undefined;
}
declare const defaultFileHandlerOptions: SaveFilePickerOptions;
/** @see https://developer.mozilla.org/en-US/docs/Web/API/FileSystemHandle */
declare const getNewFileHandle: (options?: SaveFilePickerOptions) => Promise<FileSystemFileHandle>;
type JsonWriterOptions = {
picker?: SaveFilePickerOptions;
replacer?: Parameters<typeof JSON.stringify>[1];
space?: Parameters<typeof JSON.stringify>[2];
fileHandle?: FileSystemFileHandle;
separator?: string;
};
/** @see https://developer.mozilla.org/en-US/docs/Web/API/FileSystemHandle */
declare const getJsonWriter: ({ picker, replacer, space, fileHandle, separator }?: JsonWriterOptions) => Promise<{
handle: FileSystemFileHandle;
writable: FileSystemWritableFileStream;
write: (newContents: RecursiveRecord) => Promise<void>;
close: () => Promise<void>;
length: number;
[Symbol.asyncDispose]: () => Promise<void>;
}>;
/** @see https://developer.mozilla.org/en-US/docs/Web/API/FileSystemHandle */
declare const writeJson: (contents: RecursiveRecord, options?: JsonWriterOptions) => Promise<FileSystemFileHandle>;
export { type FilePickerOptions, type JsonWriterOptions, type SaveFilePickerOptions, defaultFileHandlerOptions, getJsonWriter, getNewFileHandle, writeJson };