memfs
Advanced tools
Comparing version 4.3.0 to 4.4.0
@@ -15,2 +15,3 @@ /// <reference types="node" /> | ||
read(buffer: Buffer | Uint8Array, offset: number, length: number, position: number): Promise<TFileHandleReadResult>; | ||
readv(buffers: ArrayBufferView[], position?: number | null | undefined): Promise<TFileHandleReadvResult>; | ||
readFile(options?: opts.IReadFileOptions | string): Promise<TDataOut>; | ||
@@ -22,2 +23,3 @@ stat(options?: opts.IFStatOptions): Promise<IStats>; | ||
write(buffer: Buffer | Uint8Array, offset?: number, length?: number, position?: number): Promise<TFileHandleWriteResult>; | ||
writev(buffers: ArrayBufferView[], position?: number | null | undefined): Promise<TFileHandleWritevResult>; | ||
writeFile(data: TData, options?: opts.IWriteFileOptions): Promise<void>; | ||
@@ -33,1 +35,9 @@ } | ||
} | ||
export interface TFileHandleReadvResult { | ||
bytesRead: number; | ||
buffers: ArrayBufferView[]; | ||
} | ||
export interface TFileHandleWritevResult { | ||
bytesWritten: number; | ||
buffers: ArrayBufferView[]; | ||
} |
@@ -28,2 +28,5 @@ "use strict"; | ||
} | ||
readv(buffers, position) { | ||
return (0, util_1.promisify)(this.fs, 'readv', bytesRead => ({ bytesRead, buffers }))(this.fd, buffers, position); | ||
} | ||
readFile(options) { | ||
@@ -47,2 +50,5 @@ return (0, util_1.promisify)(this.fs, 'readFile')(this.fd, options); | ||
} | ||
writev(buffers, position) { | ||
return (0, util_1.promisify)(this.fs, 'writev', bytesWritten => ({ bytesWritten, buffers }))(this.fd, buffers, position); | ||
} | ||
writeFile(data, options) { | ||
@@ -49,0 +55,0 @@ return (0, util_1.promisify)(this.fs, 'writeFile')(this.fd, data, options); |
@@ -29,2 +29,3 @@ "use strict"; | ||
'read', | ||
'readv', | ||
'readdir', | ||
@@ -46,4 +47,5 @@ 'readFile', | ||
'write', | ||
'writev', | ||
'writeFile', | ||
]; | ||
//# sourceMappingURL=fsCallbackApiList.js.map |
@@ -30,2 +30,3 @@ "use strict"; | ||
'readSync', | ||
'readvSync', | ||
'realpathSync', | ||
@@ -42,7 +43,7 @@ 'renameSync', | ||
'writeSync', | ||
'writevSync', | ||
// 'cpSync', | ||
// 'lutimesSync', | ||
// 'statfsSync', | ||
// 'writevSync', | ||
]; | ||
//# sourceMappingURL=fsSynchronousApiList.js.map |
@@ -114,2 +114,3 @@ /// <reference types="node" /> | ||
read(buffer: Buffer | Uint8Array, offset: number, length: number, position: number): Promise<TFileHandleReadResult>; | ||
readv(buffers: ArrayBufferView[], position?: number | null): Promise<TFileHandleReadvResult>; | ||
readFile(options?: IReadFileOptions | string): Promise<TDataOut>; | ||
@@ -120,2 +121,3 @@ stat(options?: IStatOptions): Promise<IStats>; | ||
write(buffer: Buffer | ArrayBufferView | DataView, offset?: number, length?: number, position?: number): Promise<TFileHandleWriteResult>; | ||
writev(buffers: ArrayBufferView[], position?: number | null): Promise<TFileHandleWritevResult>; | ||
writeFile(data: TData, options?: IWriteFileOptions): Promise<void>; | ||
@@ -132,2 +134,10 @@ } | ||
} | ||
export interface TFileHandleReadvResult { | ||
bytesRead: number; | ||
buffers: ArrayBufferView[]; | ||
} | ||
export interface TFileHandleWritevResult { | ||
bytesWritten: number; | ||
buffers: ArrayBufferView[]; | ||
} | ||
export type AssertCallback<T> = T extends () => void ? T : never; |
@@ -98,2 +98,3 @@ "use strict"; | ||
const ERR_FS_EISDIR = 'ERR_FS_EISDIR'; | ||
const ERR_OUT_OF_RANGE = 'ERR_OUT_OF_RANGE'; | ||
function formatError(errorCode, func = '', path = '', path2 = '') { | ||
@@ -132,2 +133,4 @@ let pathFormatted = ''; | ||
return `[ERR_FS_EISDIR]: Path is a directory: ${func} returned EISDIR (is a directory) ${path}`; | ||
case ERR_OUT_OF_RANGE: | ||
return `[ERR_OUT_OF_RANGE]: value out of range, ${func}${pathFormatted}`; | ||
default: | ||
@@ -134,0 +137,0 @@ return `${errorCode}: error occurred, ${func}${pathFormatted}`; |
@@ -15,3 +15,3 @@ /// <reference types="node" /> | ||
import * as opts from './node/types/options'; | ||
import { FsCallbackApi } from './node/types/FsCallbackApi'; | ||
import { FsCallbackApi, WritevCallback } from './node/types/FsCallbackApi'; | ||
import { ToTreeOptions } from './print'; | ||
@@ -54,3 +54,3 @@ import type { PathLike, symlink } from 'fs'; | ||
*/ | ||
export declare class Volume implements FsCallbackApi { | ||
export declare class Volume implements FsCallbackApi, FsSynchronousApi { | ||
static fromJSON(json: DirectoryJSON, cwd?: string): Volume; | ||
@@ -112,3 +112,3 @@ static fromNestedJSON(json: NestedDirectoryJSON, cwd?: string): Volume; | ||
private _toJSON; | ||
toJSON(paths?: PathLike | PathLike[], json?: {}, isRelative?: boolean): DirectoryJSON; | ||
toJSON(paths?: PathLike | PathLike[], json?: {}, isRelative?: boolean, asBuffer?: boolean): DirectoryJSON; | ||
fromJSON(json: DirectoryJSON, cwd?: string): void; | ||
@@ -130,4 +130,8 @@ fromNestedJSON(json: NestedDirectoryJSON, cwd?: string): void; | ||
private readBase; | ||
readSync(fd: number, buffer: Buffer | ArrayBufferView | DataView, offset: number, length: number, position: number): number; | ||
read(fd: number, buffer: Buffer | ArrayBufferView | DataView, offset: number, length: number, position: number, callback: (err?: Error | null, bytesRead?: number, buffer?: Buffer | ArrayBufferView | DataView) => void): void; | ||
readSync(fd: number, buffer: Buffer | ArrayBufferView | DataView, offset: number, length: number, position: number | null): number; | ||
read(fd: number, buffer: Buffer | ArrayBufferView | DataView, offset: number, length: number, position: number | null, callback: (err?: Error | null, bytesRead?: number, buffer?: Buffer | ArrayBufferView | DataView) => void): void; | ||
private readvBase; | ||
readv(fd: number, buffers: ArrayBufferView[], callback: misc.TCallback2<number, ArrayBufferView[]>): void; | ||
readv(fd: number, buffers: ArrayBufferView[], position: number | null, callback: misc.TCallback2<number, ArrayBufferView[]>): void; | ||
readvSync(fd: number, buffers: ArrayBufferView[], position: number | null): number; | ||
private readFileBase; | ||
@@ -147,2 +151,6 @@ readFileSync(file: TFileId, options?: opts.IReadFileOptions | string): TDataOut; | ||
write(fd: number, str: string, position: number, encoding: BufferEncoding, callback: (...args: any[]) => void): any; | ||
private writevBase; | ||
writev(fd: number, buffers: ArrayBufferView[], callback: WritevCallback): void; | ||
writev(fd: number, buffers: ArrayBufferView[], position: number | null, callback: WritevCallback): void; | ||
writevSync(fd: number, buffers: ArrayBufferView[], position: number | null): number; | ||
private writeFileBase; | ||
@@ -339,4 +347,2 @@ writeFileSync(id: TFileId, data: TData, options?: opts.IWriteFileOptions): void; | ||
statfsSync: FsSynchronousApi['statfsSync']; | ||
writevSync: FsSynchronousApi['writevSync']; | ||
readvSync: FsSynchronousApi['readvSync']; | ||
opendirSync: FsSynchronousApi['opendirSync']; | ||
@@ -346,4 +352,2 @@ cp: FsCallbackApi['cp']; | ||
statfs: FsCallbackApi['statfs']; | ||
writev: FsCallbackApi['writev']; | ||
readv: FsCallbackApi['readv']; | ||
openAsBlob: FsCallbackApi['openAsBlob']; | ||
@@ -350,0 +354,0 @@ opendir: FsCallbackApi['opendir']; |
112
package.json
{ | ||
"name": "memfs", | ||
"version": "4.3.0", | ||
"version": "4.4.0", | ||
"description": "In-memory file-system with Node's fs API.", | ||
"author": { | ||
"name": "streamich", | ||
"url": "https://github.com/streamich" | ||
"keywords": [ | ||
"fs", | ||
"filesystem", | ||
"fs.js", | ||
"memory-fs", | ||
"memfs", | ||
"file", | ||
"file system", | ||
"mount", | ||
"memory", | ||
"in-memory", | ||
"virtual", | ||
"test", | ||
"testing", | ||
"mock", | ||
"fsa", | ||
"file system access", | ||
"native file system", | ||
"webfs", | ||
"crudfs", | ||
"opfs", | ||
"casfs", | ||
"content addressable storage" | ||
], | ||
"homepage": "https://github.com/streamich/memfs", | ||
"repository": { | ||
"type": "git", | ||
"url": "https://github.com/streamich/memfs.git" | ||
}, | ||
@@ -13,8 +38,7 @@ "funding": { | ||
}, | ||
"homepage": "https://github.com/streamich/memfs", | ||
"repository": { | ||
"type": "git", | ||
"url": "https://github.com/streamich/memfs.git" | ||
"license": "Apache-2.0", | ||
"author": { | ||
"name": "streamich", | ||
"url": "https://github.com/streamich" | ||
}, | ||
"license": "Apache-2.0", | ||
"main": "lib/index.js", | ||
@@ -31,3 +55,10 @@ "types": "lib/index.d.ts", | ||
"build": "tsc -p .", | ||
"build:webfs": "NODE_ENV=production webpack --config ./src/webfs/webpack.config.js", | ||
"clean": "rimraf lib types", | ||
"demo:crud-and-cas": "webpack serve --config ./demo/crud-and-cas/webpack.config.js", | ||
"demo:fsa-to-node-sync-tests": "webpack serve --config ./demo/fsa-to-node-sync-tests/webpack.config.js", | ||
"demo:fsa-to-node-zipfile": "webpack serve --config ./demo/fsa-to-node-zipfile/webpack.config.js", | ||
"demo:git-fsa": "webpack serve --config ./demo/git-fsa/webpack.config.js", | ||
"demo:git-opfs": "webpack serve --config ./demo/git-opfs/webpack.config.js", | ||
"demo:webfs": "webpack serve --config ./src/webfs/webpack.config.js", | ||
"prettier": "prettier --ignore-path .gitignore --write \"src/**/*.{ts,js}\"", | ||
@@ -40,35 +71,4 @@ "prettier:diff": "prettier -l \"src/**/*.{ts,js}\"", | ||
"typecheck": "tsc -p .", | ||
"watch": "watch \"npm run build\" ./src", | ||
"build:webfs": "NODE_ENV=production webpack --config ./src/webfs/webpack.config.js", | ||
"demo:webfs": "webpack serve --config ./src/webfs/webpack.config.js", | ||
"demo:fsa-to-node-sync-tests": "webpack serve --config ./demo/fsa-to-node-sync-tests/webpack.config.js", | ||
"demo:fsa-to-node-zipfile": "webpack serve --config ./demo/fsa-to-node-zipfile/webpack.config.js", | ||
"demo:git-fsa": "webpack serve --config ./demo/git-fsa/webpack.config.js", | ||
"demo:git-opfs": "webpack serve --config ./demo/git-opfs/webpack.config.js", | ||
"demo:crud-and-cas": "webpack serve --config ./demo/crud-and-cas/webpack.config.js" | ||
"watch": "watch \"npm run build\" ./src" | ||
}, | ||
"keywords": [ | ||
"fs", | ||
"filesystem", | ||
"fs.js", | ||
"memory-fs", | ||
"memfs", | ||
"file", | ||
"file system", | ||
"mount", | ||
"memory", | ||
"in-memory", | ||
"virtual", | ||
"test", | ||
"testing", | ||
"mock", | ||
"fsa", | ||
"file system access", | ||
"native file system", | ||
"webfs", | ||
"crudfs", | ||
"opfs", | ||
"casfs", | ||
"content addressable storage" | ||
], | ||
"commitlint": { | ||
@@ -84,2 +84,12 @@ "extends": [ | ||
}, | ||
"prettier": { | ||
"arrowParens": "avoid", | ||
"bracketSpacing": true, | ||
"printWidth": 120, | ||
"semi": true, | ||
"singleQuote": true, | ||
"tabWidth": 2, | ||
"trailingComma": "all", | ||
"useTabs": false | ||
}, | ||
"release": { | ||
@@ -117,5 +127,2 @@ "branches": [ | ||
}, | ||
"peerDependencies": { | ||
"tslib": "2" | ||
}, | ||
"dependencies": { | ||
@@ -129,3 +136,3 @@ "json-joy": "^9.2.0", | ||
"@semantic-release/npm": "^9.0.1", | ||
"@types/jest": "^27.5.2", | ||
"@types/jest": "^29.0.0", | ||
"@types/node": "^10.17.60", | ||
@@ -138,3 +145,3 @@ "app-root-path": "^3.1.0", | ||
"isomorphic-git": "^1.24.2", | ||
"jest": "^28.1.1", | ||
"jest": "^29.0.0", | ||
"path-browserify": "^1.0.1", | ||
@@ -160,15 +167,8 @@ "prettier": "^2.7.1", | ||
}, | ||
"peerDependencies": { | ||
"tslib": "2" | ||
}, | ||
"engines": { | ||
"node": ">= 4.0.0" | ||
}, | ||
"prettier": { | ||
"printWidth": 120, | ||
"tabWidth": 2, | ||
"useTabs": false, | ||
"semi": true, | ||
"singleQuote": true, | ||
"trailingComma": "all", | ||
"bracketSpacing": true, | ||
"arrowParens": "avoid" | ||
} | ||
} |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
909554
12570