138 lines
3.8 KiB
TypeScript
138 lines
3.8 KiB
TypeScript
|
export function read(
|
|||
|
description: Compatible,
|
|||
|
options: BufferEncoding | ReadOptions | null | undefined,
|
|||
|
callback: Callback
|
|||
|
): undefined
|
|||
|
export function read(description: Compatible, callback: Callback): undefined
|
|||
|
export function read(
|
|||
|
description: Compatible,
|
|||
|
options?: BufferEncoding | ReadOptions | null | undefined
|
|||
|
): Promise<VFile>
|
|||
|
/**
|
|||
|
* Create a virtual file and read it in, synchronously.
|
|||
|
*
|
|||
|
* @param {Compatible} description
|
|||
|
* Path to file, file options, or file itself.
|
|||
|
* @param {BufferEncoding | ReadOptions | null | undefined} [options]
|
|||
|
* Encoding to use or Node.JS read options.
|
|||
|
* @returns {VFile}
|
|||
|
* Given file or new file.
|
|||
|
*/
|
|||
|
export function readSync(
|
|||
|
description: Compatible,
|
|||
|
options?: BufferEncoding | ReadOptions | null | undefined
|
|||
|
): VFile
|
|||
|
/**
|
|||
|
* Create a virtual file from a description.
|
|||
|
*
|
|||
|
* This is like `VFile`, but it accepts a file path instead of file contents.
|
|||
|
*
|
|||
|
* If `options` is a string, URL, or buffer, it’s used as the path.
|
|||
|
* Otherwise, if it’s a file, that’s returned instead.
|
|||
|
* Otherwise, the options are passed through to `new VFile()`.
|
|||
|
*
|
|||
|
* @param {Compatible | null | undefined} [description]
|
|||
|
* Path to file, file options, or file itself.
|
|||
|
* @returns {VFile}
|
|||
|
* Given file or new file.
|
|||
|
*/
|
|||
|
export function toVFile(description?: Compatible | null | undefined): VFile
|
|||
|
export function write(
|
|||
|
description: Compatible,
|
|||
|
options: BufferEncoding | WriteOptions | null | undefined,
|
|||
|
callback: Callback
|
|||
|
): undefined
|
|||
|
export function write(description: Compatible, callback: Callback): undefined
|
|||
|
export function write(
|
|||
|
description: Compatible,
|
|||
|
options?: BufferEncoding | WriteOptions | null | undefined
|
|||
|
): Promise<VFile>
|
|||
|
/**
|
|||
|
* Create a virtual file and write it, synchronously.
|
|||
|
*
|
|||
|
* @param {Compatible} description
|
|||
|
* Path to file, file options, or file itself.
|
|||
|
* @param {BufferEncoding | WriteOptions | null | undefined} [options]
|
|||
|
* Encoding to use or Node.JS write options.
|
|||
|
* @returns {VFile}
|
|||
|
* Given file or new file.
|
|||
|
*/
|
|||
|
export function writeSync(
|
|||
|
description: Compatible,
|
|||
|
options?: BufferEncoding | WriteOptions | null | undefined
|
|||
|
): VFile
|
|||
|
export type Options = import('vfile').VFileOptions
|
|||
|
export type Value = import('vfile').VFileValue
|
|||
|
/**
|
|||
|
* Encodings supported by the buffer class.
|
|||
|
*
|
|||
|
* This is a copy of the types from Node, copied to prevent Node globals from
|
|||
|
* being needed.
|
|||
|
* Copied from: <https://github.com/DefinitelyTyped/DefinitelyTyped/blob/1761eec/types/node/buffer.d.ts#L223>.
|
|||
|
*/
|
|||
|
export type BufferEncoding =
|
|||
|
| 'ascii'
|
|||
|
| 'base64'
|
|||
|
| 'base64url'
|
|||
|
| 'binary'
|
|||
|
| 'hex'
|
|||
|
| 'latin1'
|
|||
|
| 'ucs-2'
|
|||
|
| 'ucs2'
|
|||
|
| 'utf-8'
|
|||
|
| 'utf16le'
|
|||
|
| 'utf8'
|
|||
|
/**
|
|||
|
* Configuration for `fs.readFile`.
|
|||
|
*/
|
|||
|
export type ReadOptions = {
|
|||
|
/**
|
|||
|
* Encoding to read file as, will turn `file.value` into a string if passed.
|
|||
|
*/
|
|||
|
encoding?: BufferEncoding | null | undefined
|
|||
|
/**
|
|||
|
* File system flags to use.
|
|||
|
*/
|
|||
|
flag?: string | undefined
|
|||
|
}
|
|||
|
/**
|
|||
|
* Configuration for `fs.writeFile`.
|
|||
|
*/
|
|||
|
export type WriteOptions = {
|
|||
|
/**
|
|||
|
* Encoding to write file as.
|
|||
|
*/
|
|||
|
encoding?: BufferEncoding | null | undefined
|
|||
|
/**
|
|||
|
* File system flags to use.
|
|||
|
*/
|
|||
|
flag?: string | undefined
|
|||
|
/**
|
|||
|
* File mode (permission and sticky bits) if the file was newly created.
|
|||
|
*/
|
|||
|
mode?: number | string | undefined
|
|||
|
}
|
|||
|
/**
|
|||
|
* URL to file or path to file.
|
|||
|
*
|
|||
|
* > 👉 **Note**: `Value` is used here because it’s a smarter `Buffer`
|
|||
|
*/
|
|||
|
export type Path = URL | Value
|
|||
|
/**
|
|||
|
* URL to file, path to file, options for file, or actual file.
|
|||
|
*/
|
|||
|
export type Compatible = Options | Path | VFile
|
|||
|
/**
|
|||
|
* Callback called after reading or writing a file.
|
|||
|
*/
|
|||
|
export type Callback = (
|
|||
|
error: NodeJS.ErrnoException | undefined,
|
|||
|
file: VFile | null | undefined
|
|||
|
) => undefined
|
|||
|
export type Resolve = (result: VFile) => void
|
|||
|
export type Reject = (
|
|||
|
error: NodeJS.ErrnoException,
|
|||
|
result?: VFile | undefined
|
|||
|
) => void
|
|||
|
import {VFile} from 'vfile'
|