@zenfs/core 0.9.0 → 0.9.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -448,4 +448,5 @@ export declare function statfs(path: PathLike, options: Node.StatFsOptions & {
448
448
  export declare function statfs(path: PathLike, options: Node.StatFsOptions & {
449
449
  bigint: true;
450
450
  }, callback: Callback<[BigIntStatsFs]>): void;
451
+ export declare function openAsBlob(path: PathLike, options?: Node.OpenAsBlobOptions): Promise<Blob>;
451
452
  export {};
@@ -589,3 +589,10 @@ export function statfs(path, options, callback = nop) {
589
589
  .catch(callback);
590
590
  }
591
591
  statfs;
592
+ export async function openAsBlob(path, options) {
593
+ const handle = await promises.open(path, 'r');
594
+ const buffer = await handle.readFile();
595
+ await handle.close();
596
+ return new Blob([buffer], options);
597
+ }
598
+ openAsBlob;
@@ -17,9 +17,6 @@ import { Dir, Dirent } from './dir.js';
17
17
  import type { PathLike } from './shared.js';
18
18
  import { ReadStream, WriteStream } from './streams.js';
19
19
  export * as constants from './constants.js';
20
- declare global {
21
- const ReadableStream: typeof TReadableStream;
22
- }
23
20
  export declare class FileHandle implements promises.FileHandle {
24
21
  /**
25
22
  * Gets the file descriptor for this file handle.
@@ -446,4 +443,3 @@ export declare function statfs(path: PathLike, opts: Node.StatFsOptions & {
446
443
  bigint: true;
447
444
  }): Promise<BigIntStatsFs>;
448
445
  export declare function statfs(path: PathLike, opts?: Node.StatFsOptions): Promise<StatsFs | BigIntStatsFs>;
449
- export declare function openAsBlob(path: PathLike, options?: Node.OpenAsBlobOptions): Promise<Blob>;
@@ -152,7 +152,7 @@ export class FileHandle {
152
152
  error(e);
153
153
  }
154
154
  };
155
- return new ReadableStream({ start, type: options.type });
155
+ return new globalThis.ReadableStream({ start, type: options.type });
156
156
  }
157
157
  readLines(options) {
158
158
  throw ApiError.With('ENOSYS', this.file.path, 'FileHandle.readLines');
@@ -856,10 +856,3 @@ cp;
856
856
  export async function statfs(path, opts) {
857
857
  throw ApiError.With('ENOSYS', path, 'statfs');
858
858
  }
859
- export async function openAsBlob(path, options) {
860
- const handle = await open(path, 'r');
861
- const buffer = await handle.readFile();
862
- await handle.close();
863
- return new Blob([buffer], options);
864
- }
865
- openAsBlob;
@@ -8,100 +8,10 @@ export declare class ReadStream extends Readable implements Node.ReadStream {
8
8
  bytesRead: number;
9
9
  path: string | Buffer;
10
10
  pending: boolean;
11
- addListener(event: 'close', listener: () => void): this;
12
- addListener(event: 'data', listener: (chunk: Buffer | string) => void): this;
13
- addListener(event: 'end', listener: () => void): this;
14
- addListener(event: 'error', listener: (err: Error) => void): this;
15
- addListener(event: 'open', listener: (fd: number) => void): this;
16
- addListener(event: 'pause', listener: () => void): this;
17
- addListener(event: 'readable', listener: () => void): this;
18
- addListener(event: 'ready', listener: () => void): this;
19
- addListener(event: 'resume', listener: () => void): this;
20
- on(event: 'close', listener: () => void): this;
21
- on(event: 'data', listener: (chunk: Buffer | string) => void): this;
22
- on(event: 'end', listener: () => void): this;
23
- on(event: 'error', listener: (err: Error) => void): this;
24
- on(event: 'open', listener: (fd: number) => void): this;
25
- on(event: 'pause', listener: () => void): this;
26
- on(event: 'readable', listener: () => void): this;
27
- on(event: 'ready', listener: () => void): this;
28
- on(event: 'resume', listener: () => void): this;
29
- once(event: 'close', listener: () => void): this;
30
- once(event: 'data', listener: (chunk: Buffer | string) => void): this;
31
- once(event: 'end', listener: () => void): this;
32
- once(event: 'error', listener: (err: Error) => void): this;
33
- once(event: 'open', listener: (fd: number) => void): this;
34
- once(event: 'pause', listener: () => void): this;
35
- once(event: 'readable', listener: () => void): this;
36
- once(event: 'ready', listener: () => void): this;
37
- once(event: 'resume', listener: () => void): this;
38
- prependListener(event: 'close', listener: () => void): this;
39
- prependListener(event: 'data', listener: (chunk: Buffer | string) => void): this;
40
- prependListener(event: 'end', listener: () => void): this;
41
- prependListener(event: 'error', listener: (err: Error) => void): this;
42
- prependListener(event: 'open', listener: (fd: number) => void): this;
43
- prependListener(event: 'pause', listener: () => void): this;
44
- prependListener(event: 'readable', listener: () => void): this;
45
- prependListener(event: 'ready', listener: () => void): this;
46
- prependListener(event: 'resume', listener: () => void): this;
47
- prependOnceListener(event: 'close', listener: () => void): this;
48
- prependOnceListener(event: 'data', listener: (chunk: Buffer | string) => void): this;
49
- prependOnceListener(event: 'end', listener: () => void): this;
50
- prependOnceListener(event: 'error', listener: (err: Error) => void): this;
51
- prependOnceListener(event: 'open', listener: (fd: number) => void): this;
52
- prependOnceListener(event: 'pause', listener: () => void): this;
53
- prependOnceListener(event: 'readable', listener: () => void): this;
54
- prependOnceListener(event: 'ready', listener: () => void): this;
55
- prependOnceListener(event: 'resume', listener: () => void): this;
56
11
  }
57
12
  export declare class WriteStream extends Writable implements Node.WriteStream {
58
13
  close(callback?: Callback): void;
59
14
  bytesWritten: number;
60
15
  path: string | Buffer;
61
16
  pending: boolean;
62
- addListener(event: 'close', listener: () => void): this;
63
- addListener(event: 'drain', listener: () => void): this;
64
- addListener(event: 'error', listener: (err: Error) => void): this;
65
- addListener(event: 'finish', listener: () => void): this;
66
- addListener(event: 'open', listener: (fd: number) => void): this;
67
- addListener(event: 'pipe', listener: (src: Readable) => void): this;
68
- addListener(event: 'ready', listener: () => void): this;
69
- addListener(event: 'unpipe', listener: (src: Readable) => void): this;
70
- addListener(event: string | symbol, listener: (...args: any[]) => void): this;
71
- on(event: 'close', listener: () => void): this;
72
- on(event: 'drain', listener: () => void): this;
73
- on(event: 'error', listener: (err: Error) => void): this;
74
- on(event: 'finish', listener: () => void): this;
75
- on(event: 'open', listener: (fd: number) => void): this;
76
- on(event: 'pipe', listener: (src: Readable) => void): this;
77
- on(event: 'ready', listener: () => void): this;
78
- on(event: 'unpipe', listener: (src: Readable) => void): this;
79
- on(event: string | symbol, listener: (...args: any[]) => void): this;
80
- once(event: 'close', listener: () => void): this;
81
- once(event: 'drain', listener: () => void): this;
82
- once(event: 'error', listener: (err: Error) => void): this;
83
- once(event: 'finish', listener: () => void): this;
84
- once(event: 'open', listener: (fd: number) => void): this;
85
- once(event: 'pipe', listener: (src: Readable) => void): this;
86
- once(event: 'ready', listener: () => void): this;
87
- once(event: 'unpipe', listener: (src: Readable) => void): this;
88
- once(event: string | symbol, listener: (...args: any[]) => void): this;
89
- prependListener(event: 'close', listener: () => void): this;
90
- prependListener(event: 'drain', listener: () => void): this;
91
- prependListener(event: 'error', listener: (err: Error) => void): this;
92
- prependListener(event: 'finish', listener: () => void): this;
93
- prependListener(event: 'open', listener: (fd: number) => void): this;
94
- prependListener(event: 'pipe', listener: (src: Readable) => void): this;
95
- prependListener(event: 'ready', listener: () => void): this;
96
- prependListener(event: 'unpipe', listener: (src: Readable) => void): this;
97
- prependListener(event: string | symbol, listener: (...args: any[]) => void): this;
98
- prependOnceListener(event: 'close', listener: () => void): this;
99
- prependOnceListener(event: 'drain', listener: () => void): this;
100
- prependOnceListener(event: 'error', listener: (err: Error) => void): this;
101
- prependOnceListener(event: 'finish', listener: () => void): this;
102
- prependOnceListener(event: 'open', listener: (fd: number) => void): this;
103
- prependOnceListener(event: 'pipe', listener: (src: Readable) => void): this;
104
- prependOnceListener(event: 'ready', listener: () => void): this;
105
- prependOnceListener(event: 'unpipe', listener: (src: Readable) => void): this;
106
- prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this;
107
17
  }
@@ -10,21 +10,6 @@ export class ReadStream extends Readable {
10
10
  callback(err);
11
11
  }
12
12
  }
13
- addListener(event, listener) {
14
- return super.addListener(event, listener);
15
- }
16
- on(event, listener) {
17
- return super.on(event, listener);
18
- }
19
- once(event, listener) {
20
- return super.once(event, listener);
21
- }
22
- prependListener(event, listener) {
23
- return super.prependListener(event, listener);
24
- }
25
- prependOnceListener(event, listener) {
26
- return super.prependOnceListener(event, listener);
27
- }
28
13
  }
29
14
  export class WriteStream extends Writable {
30
15
  close(callback = () => null) {
@@ -37,19 +22,4 @@ export class WriteStream extends Writable {
37
22
  callback(err);
38
23
  }
39
24
  }
40
- addListener(event, listener) {
41
- return super.addListener(event, listener);
42
- }
43
- on(event, listener) {
44
- return super.on(event, listener);
45
- }
46
- once(event, listener) {
47
- return super.once(event, listener);
48
- }
49
- prependListener(event, listener) {
50
- return super.prependListener(event, listener);
51
- }
52
- prependOnceListener(event, listener) {
53
- return super.prependOnceListener(event, listener);
54
- }
55
25
  }
@@ -24,7 +24,7 @@ export interface FileSystemMetadata {
24
24
  freeSpace: number;
25
25
  }
26
26
  /**
27
- * Structure for a filesystem. All ZenFS FileSystems must implement this.
27
+ * Structure for a filesystem. All ZenFS backends must extend this.
28
28
  *
29
29
  * This class includes some default implementations
30
30
  *
@@ -3,7 +3,7 @@ import { rootCred } from './cred.js';
3
3
  import { join } from './emulation/path.js';
4
4
  import { PreloadFile, parseFlag } from './file.js';
5
5
  /**
6
- * Structure for a filesystem. All ZenFS FileSystems must implement this.
6
+ * Structure for a filesystem. All ZenFS backends must extend this.
7
7
  *
8
8
  * This class includes some default implementations
9
9
  *
package/dist/index.d.ts CHANGED
@@ -1,15 +1,15 @@
1
- export * from './backends/backend.js';
1
+ export * from './ApiError.js';
2
2
  export * from './backends/AsyncStore.js';
3
3
  export * from './backends/InMemory.js';
4
+ export * from './backends/Index.js';
4
5
  export * from './backends/Locked.js';
5
6
  export * from './backends/Overlay.js';
6
7
  export * from './backends/SyncStore.js';
7
- export * from './ApiError.js';
8
+ export * from './backends/backend.js';
8
9
  export * from './config.js';
9
10
  export * from './cred.js';
10
11
  export * from './file.js';
11
12
  export * from './filesystem.js';
12
- export * from './backends/FileIndex.js';
13
13
  export * from './inode.js';
14
14
  export * from './mutex.js';
15
15
  export * from './stats.js';
package/dist/index.js CHANGED
@@ -1,15 +1,15 @@
1
- export * from './backends/backend.js';
1
+ export * from './ApiError.js';
2
2
  export * from './backends/AsyncStore.js';
3
3
  export * from './backends/InMemory.js';
4
+ export * from './backends/Index.js';
4
5
  export * from './backends/Locked.js';
5
6
  export * from './backends/Overlay.js';
6
7
  export * from './backends/SyncStore.js';
7
- export * from './ApiError.js';
8
+ export * from './backends/backend.js';
8
9
  export * from './config.js';
9
10
  export * from './cred.js';
10
11
  export * from './file.js';
11
12
  export * from './filesystem.js';
12
- export * from './backends/FileIndex.js';
13
13
  export * from './inode.js';
14
14
  export * from './mutex.js';
15
15
  export * from './stats.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zenfs/core",
3
- "version": "0.9.0",
3
+ "version": "0.9.2",
4
4
  "description": "A filesystem in your browser",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist",
@@ -46,7 +46,7 @@
46
46
  "format": "prettier --write .",
47
47
  "format:check": "prettier --check .",
48
48
  "lint": "eslint src tests && tsc -p tsconfig.json --noEmit",
49
- "test": "cross-env NODE_OPTIONS=--experimental-vm-modules npx jest",
49
+ "test": "tsc -p tests/tsconfig.json --noEmit && cross-env NODE_OPTIONS=--experimental-vm-modules npx jest",
50
50
  "build": "node scripts/build.js --globalName=ZenFS --entry src/index.ts",
51
51
  "build:docs": "typedoc --out docs --name ZenFS src/index.ts",
52
52
  "dev": "npm run build -- --watch",
@@ -58,7 +58,7 @@
58
58
  "buffer": "^6.0.3",
59
59
  "minimatch": "^9.0.3",
60
60
  "readable-stream": "^4.5.2",
61
- "utilium": "^0.2.0"
61
+ "utilium": "^0.2.1"
62
62
  },
63
63
  "devDependencies": {
64
64
  "@fal-works/esbuild-plugin-global-externals": "^2.1.2",