@wener/common 2.0.3 → 2.0.5
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.
- package/lib/ai/qwen3vl/utils.js.map +1 -1
- package/lib/cn/ChineseResidentIdNo.js +1 -1
- package/lib/cn/ChineseResidentIdNo.js.map +1 -1
- package/lib/cn/Mod11.js +1 -1
- package/lib/cn/Mod11.js.map +1 -1
- package/lib/consola/formatLogObject.js +5 -5
- package/lib/consola/formatLogObject.js.map +1 -1
- package/lib/data/maybeNumber.js +1 -1
- package/lib/data/maybeNumber.js.map +1 -1
- package/lib/data/types.d.js.map +1 -1
- package/lib/dayjs/formatDuration.js.map +1 -1
- package/lib/dayjs/resolveRelativeTime.js +9 -80
- package/lib/dayjs/resolveRelativeTime.js.map +1 -1
- package/lib/drain3/Drain.js +356 -0
- package/lib/drain3/Drain.js.map +1 -0
- package/lib/drain3/LogCluster.js +38 -0
- package/lib/drain3/LogCluster.js.map +1 -0
- package/lib/drain3/Node.js +39 -0
- package/lib/drain3/Node.js.map +1 -0
- package/lib/drain3/TemplateMiner.js +204 -0
- package/lib/drain3/TemplateMiner.js.map +1 -0
- package/lib/drain3/index.js +31 -0
- package/lib/drain3/index.js.map +1 -0
- package/lib/drain3/persistence/FilePersistence.js +24 -0
- package/lib/drain3/persistence/FilePersistence.js.map +1 -0
- package/lib/drain3/persistence/MemoryPersistence.js +18 -0
- package/lib/drain3/persistence/MemoryPersistence.js.map +1 -0
- package/lib/drain3/persistence/PersistenceHandler.js +5 -0
- package/lib/drain3/persistence/PersistenceHandler.js.map +1 -0
- package/lib/drain3/types.js +7 -0
- package/lib/drain3/types.js.map +1 -0
- package/lib/fs/IFileSystem.d.js.map +1 -1
- package/lib/fs/createBrowserFileSystem.js +4 -2
- package/lib/fs/createBrowserFileSystem.js.map +1 -1
- package/lib/fs/createMemoryFileSystem.js +7 -6
- package/lib/fs/createMemoryFileSystem.js.map +1 -1
- package/lib/fs/createSandboxFileSystem.js.map +1 -1
- package/lib/fs/createWebDavFileSystem.js +22 -5
- package/lib/fs/createWebDavFileSystem.js.map +1 -1
- package/lib/fs/createWebFileSystem.js +225 -0
- package/lib/fs/createWebFileSystem.js.map +1 -0
- package/lib/fs/findMimeType.js +1 -1
- package/lib/fs/findMimeType.js.map +1 -1
- package/lib/fs/index.js +1 -1
- package/lib/fs/index.js.map +1 -1
- package/lib/fs/minio/createMinioFileSystem.js +974 -0
- package/lib/fs/minio/createMinioFileSystem.js.map +1 -0
- package/lib/fs/minio/index.js +2 -0
- package/lib/fs/minio/index.js.map +1 -0
- package/lib/fs/orpc/createContractClientFileSystem.js +3 -3
- package/lib/fs/orpc/createContractClientFileSystem.js.map +1 -1
- package/lib/fs/orpc/server/createFileSystemContractImpl.js.map +1 -1
- package/lib/fs/s3/createS3MiniFileSystem.js +116 -68
- package/lib/fs/s3/createS3MiniFileSystem.js.map +1 -1
- package/lib/fs/server/createDatabaseFileSystem.js +7 -7
- package/lib/fs/server/createDatabaseFileSystem.js.map +1 -1
- package/lib/fs/server/createNodeFileSystem.js +30 -5
- package/lib/fs/server/createNodeFileSystem.js.map +1 -1
- package/lib/fs/tests/runFileSystemTest.js +27 -26
- package/lib/fs/tests/runFileSystemTest.js.map +1 -1
- package/lib/fs/utils.js.map +1 -1
- package/lib/fs/webdav/index.js +2 -0
- package/lib/fs/webdav/index.js.map +1 -0
- package/lib/jsonschema/JsonSchema.js +5 -5
- package/lib/jsonschema/JsonSchema.js.map +1 -1
- package/lib/jsonschema/forEachJsonSchema.js +1 -1
- package/lib/jsonschema/forEachJsonSchema.js.map +1 -1
- package/lib/jsonschema/types.d.js.map +1 -1
- package/lib/meta/defineMetadata.js.map +1 -1
- package/lib/orpc/createOpenApiContractClient.js.map +1 -1
- package/lib/password/PHC.js +2 -2
- package/lib/password/PHC.js.map +1 -1
- package/lib/password/createArgon2PasswordAlgorithm.js.map +1 -1
- package/lib/password/createBase64PasswordAlgorithm.js +1 -1
- package/lib/password/createBase64PasswordAlgorithm.js.map +1 -1
- package/lib/password/createBcryptPasswordAlgorithm.js.map +1 -1
- package/lib/password/createPBKDF2PasswordAlgorithm.js +1 -1
- package/lib/password/createPBKDF2PasswordAlgorithm.js.map +1 -1
- package/lib/password/createScryptPasswordAlgorithm.js +3 -3
- package/lib/password/createScryptPasswordAlgorithm.js.map +1 -1
- package/lib/resource/ListQuery.js.map +1 -1
- package/lib/resource/index.js.map +1 -1
- package/lib/s3/formatS3Url.js +2 -2
- package/lib/s3/formatS3Url.js.map +1 -1
- package/lib/s3/parseS3Url.js +1 -1
- package/lib/s3/parseS3Url.js.map +1 -1
- package/lib/schema/SchemaRegistry.js.map +1 -1
- package/lib/schema/TypeSchema.d.js.map +1 -1
- package/lib/schema/createSchemaData.js +4 -4
- package/lib/schema/createSchemaData.js.map +1 -1
- package/lib/schema/findJsonSchemaByPath.js.map +1 -1
- package/lib/schema/formatZodError.js +42 -44
- package/lib/schema/formatZodError.js.map +1 -1
- package/lib/schema/toJsonSchema.js +4 -4
- package/lib/schema/toJsonSchema.js.map +1 -1
- package/lib/schema/validate.js +1 -1
- package/lib/schema/validate.js.map +1 -1
- package/lib/utils/buildRedactorFormSchema.js +1 -1
- package/lib/utils/buildRedactorFormSchema.js.map +1 -1
- package/package.json +32 -13
- package/src/ai/qwen3vl/utils.ts +1 -1
- package/src/cn/ChineseResidentIdNo.ts +1 -1
- package/src/cn/Mod11.ts +1 -1
- package/src/cn/__snapshots__/ChineseResidentIdNo.test.ts.snap +1 -1
- package/src/cn/__snapshots__/UnifiedSocialCreditCode.test.ts.snap +0 -23
- package/src/cn/parseChineseNumber.test.ts +4 -4
- package/src/consola/formatLogObject.ts +6 -6
- package/src/data/maybeNumber.ts +1 -1
- package/src/data/parseSort.test.ts +0 -1
- package/src/data/types.d.ts +2 -2
- package/src/dayjs/formatDuration.ts +2 -2
- package/src/dayjs/resolveRelativeTime.ts +11 -14
- package/src/drain3/Drain.test.ts +378 -0
- package/src/drain3/Drain.ts +394 -0
- package/src/drain3/LogCluster.ts +46 -0
- package/src/drain3/Node.ts +53 -0
- package/src/drain3/TemplateMiner.ts +246 -0
- package/src/drain3/index.ts +36 -0
- package/src/drain3/persistence/FilePersistence.ts +24 -0
- package/src/drain3/persistence/MemoryPersistence.ts +23 -0
- package/src/drain3/persistence/PersistenceHandler.ts +19 -0
- package/src/drain3/types.ts +75 -0
- package/src/fs/IFileSystem.d.ts +1 -2
- package/src/fs/createBrowserFileSystem.ts +7 -5
- package/src/fs/createMemoryFileSystem.ts +9 -13
- package/src/fs/createSandboxFileSystem.ts +1 -1
- package/src/fs/createWebDavFileSystem.ts +28 -10
- package/src/fs/createWebFileSystem.ts +242 -0
- package/src/fs/findMimeType.ts +1 -4
- package/src/fs/index.ts +1 -1
- package/src/fs/minio/createMinioFileSystem.ts +1148 -0
- package/src/fs/minio/index.ts +1 -0
- package/src/fs/orpc/createContractClientFileSystem.ts +5 -5
- package/src/fs/orpc/server/createFileSystemContractImpl.ts +1 -1
- package/src/fs/s3/createS3MiniFileSystem.ts +119 -78
- package/src/fs/s3/s3fs.test.ts +441 -0
- package/src/fs/s3/s3mini.test.ts +2 -2
- package/src/fs/server/createDatabaseFileSystem.ts +7 -7
- package/src/fs/server/createNodeFileSystem.ts +32 -13
- package/src/fs/server/dbfs.test.ts +2 -1
- package/src/fs/tests/runFileSystemTest.ts +29 -28
- package/src/fs/utils.ts +1 -1
- package/src/fs/webdav/index.ts +1 -0
- package/src/jsonschema/JsonSchema.ts +5 -5
- package/src/jsonschema/forEachJsonSchema.ts +1 -1
- package/src/jsonschema/types.d.ts +1 -1
- package/src/meta/defineMetadata.ts +1 -1
- package/src/orpc/createOpenApiContractClient.ts +2 -2
- package/src/password/PHC.ts +3 -3
- package/src/password/createArgon2PasswordAlgorithm.ts +1 -1
- package/src/password/createBase64PasswordAlgorithm.ts +2 -2
- package/src/password/createBcryptPasswordAlgorithm.ts +4 -2
- package/src/password/createPBKDF2PasswordAlgorithm.ts +2 -2
- package/src/password/createScryptPasswordAlgorithm.ts +4 -4
- package/src/resource/ListQuery.ts +4 -1
- package/src/resource/index.ts +2 -2
- package/src/s3/formatS3Url.test.ts +1 -1
- package/src/s3/formatS3Url.ts +2 -2
- package/src/s3/parseS3Url.ts +1 -1
- package/src/schema/SchemaRegistry.ts +1 -1
- package/src/schema/TypeSchema.d.ts +6 -6
- package/src/schema/createSchemaData.ts +4 -4
- package/src/schema/findJsonSchemaByPath.ts +4 -4
- package/src/schema/formatZodError.test.ts +2 -1
- package/src/schema/formatZodError.ts +50 -62
- package/src/schema/toJsonSchema.ts +6 -6
- package/src/schema/validate.ts +1 -1
- package/src/utils/buildRedactorFormSchema.ts +3 -3
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
import { basename, dirname, join, normalize } from 'pathe';
|
|
2
|
+
import { FileSystemError } from './FileSystemError';
|
|
3
|
+
import type {
|
|
4
|
+
CopyOptions,
|
|
5
|
+
IFileStat,
|
|
6
|
+
IFileSystem,
|
|
7
|
+
MkdirOptions,
|
|
8
|
+
ReadFileOptions,
|
|
9
|
+
ReaddirOptions,
|
|
10
|
+
RenameOptions,
|
|
11
|
+
RmOptions,
|
|
12
|
+
StatOptions,
|
|
13
|
+
WriteFileOptions,
|
|
14
|
+
} from './IFileSystem';
|
|
15
|
+
|
|
16
|
+
export function createWebFileSystem(options: { root: FileSystemDirectoryHandle }): IFileSystem {
|
|
17
|
+
return new WebFileSystem(options);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
class WebFileSystem implements IFileSystem {
|
|
21
|
+
private readonly root: FileSystemDirectoryHandle;
|
|
22
|
+
|
|
23
|
+
constructor({ root }: { root: FileSystemDirectoryHandle }) {
|
|
24
|
+
this.root = root;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
private async _getHandle(path: string): Promise<FileSystemHandle> {
|
|
28
|
+
const parts = normalize(path).split('/').filter(Boolean);
|
|
29
|
+
if (parts.length === 0) return this.root;
|
|
30
|
+
|
|
31
|
+
let current: FileSystemDirectoryHandle = this.root;
|
|
32
|
+
|
|
33
|
+
for (let i = 0; i < parts.length; i++) {
|
|
34
|
+
const part = parts[i];
|
|
35
|
+
const isLast = i === parts.length - 1;
|
|
36
|
+
|
|
37
|
+
try {
|
|
38
|
+
// Try to get as directory first
|
|
39
|
+
current = await current.getDirectoryHandle(part);
|
|
40
|
+
} catch (e: any) {
|
|
41
|
+
if (e.name === 'TypeMismatchError' || e.name === 'NotFoundError') {
|
|
42
|
+
if (isLast) {
|
|
43
|
+
// Might be a file
|
|
44
|
+
try {
|
|
45
|
+
return await current.getFileHandle(part);
|
|
46
|
+
} catch (_e2) {
|
|
47
|
+
throw new FileSystemError(`File not found: ${path}`, 'ENOENT');
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
if (e.name === 'NotFoundError') {
|
|
52
|
+
throw new FileSystemError(`Path not found: ${path}`, 'ENOENT');
|
|
53
|
+
}
|
|
54
|
+
throw e;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return current;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
private async _getParent(path: string): Promise<{ parent: FileSystemDirectoryHandle; name: string }> {
|
|
61
|
+
const normalized = normalize(path);
|
|
62
|
+
const parentPath = dirname(normalized);
|
|
63
|
+
const name = basename(normalized);
|
|
64
|
+
|
|
65
|
+
if (!name) throw new FileSystemError('Invalid path', 'EINVAL');
|
|
66
|
+
|
|
67
|
+
const parentHandle = await this._getHandle(parentPath);
|
|
68
|
+
if (parentHandle.kind !== 'directory') {
|
|
69
|
+
throw new FileSystemError(`Parent is not a directory: ${parentPath}`, 'ENOTDIR');
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
return { parent: parentHandle as FileSystemDirectoryHandle, name };
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
async stat(path: string, options?: StatOptions): Promise<IFileStat> {
|
|
76
|
+
if (options?.signal?.aborted) throw new FileSystemError('Operation aborted', 'ABORT_ERR');
|
|
77
|
+
|
|
78
|
+
const handle = await this._getHandle(path);
|
|
79
|
+
return this._handleToStat(handle, path);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
private async _handleToStat(handle: FileSystemHandle, path: string): Promise<IFileStat> {
|
|
83
|
+
let size = 0;
|
|
84
|
+
let mtime = 0;
|
|
85
|
+
|
|
86
|
+
if (handle.kind === 'file') {
|
|
87
|
+
const file = await (handle as FileSystemFileHandle).getFile();
|
|
88
|
+
size = file.size;
|
|
89
|
+
mtime = file.lastModified;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
return {
|
|
93
|
+
path,
|
|
94
|
+
directory: dirname(path),
|
|
95
|
+
name: handle.name,
|
|
96
|
+
kind: handle.kind,
|
|
97
|
+
size,
|
|
98
|
+
mtime,
|
|
99
|
+
meta: {},
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
async exists(path: string): Promise<boolean> {
|
|
104
|
+
try {
|
|
105
|
+
await this._getHandle(path);
|
|
106
|
+
return true;
|
|
107
|
+
} catch {
|
|
108
|
+
return false;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
async readdir(path: string, options?: ReaddirOptions): Promise<IFileStat[]> {
|
|
113
|
+
if (options?.signal?.aborted) throw new FileSystemError('Operation aborted', 'ABORT_ERR');
|
|
114
|
+
|
|
115
|
+
const handle = await this._getHandle(path);
|
|
116
|
+
if (handle.kind !== 'directory') {
|
|
117
|
+
throw new FileSystemError(`Not a directory: ${path}`, 'ENOTDIR');
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
const entries: IFileStat[] = [];
|
|
121
|
+
// @ts-expect-error - FileSystemDirectoryHandle is async iterable in modern browsers
|
|
122
|
+
for await (const entry of (handle as FileSystemDirectoryHandle).values()) {
|
|
123
|
+
entries.push(await this._handleToStat(entry, join(path, entry.name)));
|
|
124
|
+
}
|
|
125
|
+
return entries;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
async mkdir(path: string, options?: MkdirOptions): Promise<void> {
|
|
129
|
+
if (options?.signal?.aborted) throw new FileSystemError('Operation aborted', 'ABORT_ERR');
|
|
130
|
+
|
|
131
|
+
const normalized = normalize(path);
|
|
132
|
+
const parts = normalized.split('/').filter(Boolean);
|
|
133
|
+
let current = this.root;
|
|
134
|
+
|
|
135
|
+
if (options?.recursive) {
|
|
136
|
+
for (const part of parts) {
|
|
137
|
+
current = await current.getDirectoryHandle(part, { create: true });
|
|
138
|
+
}
|
|
139
|
+
} else {
|
|
140
|
+
const parentPath = dirname(normalized);
|
|
141
|
+
const name = basename(normalized);
|
|
142
|
+
try {
|
|
143
|
+
const parent = await this._getHandle(parentPath);
|
|
144
|
+
if (parent.kind !== 'directory') throw new FileSystemError(`Parent not a directory: ${parentPath}`, 'ENOTDIR');
|
|
145
|
+
await (parent as FileSystemDirectoryHandle).getDirectoryHandle(name, { create: true });
|
|
146
|
+
} catch (e: any) {
|
|
147
|
+
if (e.code === 'ENOENT' || e.name === 'NotFoundError') {
|
|
148
|
+
throw new FileSystemError(`Parent does not exist: ${parentPath}`, 'ENOENT');
|
|
149
|
+
}
|
|
150
|
+
throw e;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
readFile(path: string, options?: ReadFileOptions & { encoding: 'text' }): Promise<string>;
|
|
156
|
+
readFile(path: string, options?: ReadFileOptions): Promise<Uint8Array>;
|
|
157
|
+
async readFile(path: string, options?: ReadFileOptions): Promise<string | Uint8Array> {
|
|
158
|
+
if (options?.signal?.aborted) throw new FileSystemError('Operation aborted', 'ABORT_ERR');
|
|
159
|
+
|
|
160
|
+
const handle = await this._getHandle(path);
|
|
161
|
+
if (handle.kind !== 'file') throw new FileSystemError(`Is a directory: ${path}`, 'EISDIR');
|
|
162
|
+
|
|
163
|
+
const file = await (handle as FileSystemFileHandle).getFile();
|
|
164
|
+
|
|
165
|
+
if (options?.encoding === 'text') {
|
|
166
|
+
return await file.text();
|
|
167
|
+
} else {
|
|
168
|
+
const buffer = await file.arrayBuffer();
|
|
169
|
+
return new Uint8Array(buffer);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
async writeFile(
|
|
174
|
+
path: string,
|
|
175
|
+
data: string | ArrayBuffer | ArrayBufferView<ArrayBufferLike> | ReadableStream,
|
|
176
|
+
options?: WriteFileOptions,
|
|
177
|
+
): Promise<void> {
|
|
178
|
+
if (options?.signal?.aborted) throw new FileSystemError('Operation aborted', 'ABORT_ERR');
|
|
179
|
+
|
|
180
|
+
if (options?.overwrite === false) {
|
|
181
|
+
if (await this.exists(path)) {
|
|
182
|
+
throw new FileSystemError(`File already exists: ${path}`, 'EEXIST');
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
const { parent, name } = await this._getParent(path);
|
|
187
|
+
const handle = await parent.getFileHandle(name, { create: true });
|
|
188
|
+
|
|
189
|
+
const writable = await (handle as any).createWritable();
|
|
190
|
+
await writable.write(data);
|
|
191
|
+
await writable.close();
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
async rm(path: string, options?: RmOptions): Promise<void> {
|
|
195
|
+
if (options?.signal?.aborted) throw new FileSystemError('Operation aborted', 'ABORT_ERR');
|
|
196
|
+
|
|
197
|
+
const { parent, name } = await this._getParent(path);
|
|
198
|
+
|
|
199
|
+
try {
|
|
200
|
+
await (parent as any).removeEntry(name, { recursive: options?.recursive });
|
|
201
|
+
} catch (e: any) {
|
|
202
|
+
if (e.name === 'NotFoundError') {
|
|
203
|
+
if (!options?.force) throw new FileSystemError(`File not found: ${path}`, 'ENOENT');
|
|
204
|
+
} else if (e.name === 'InvalidModificationError') {
|
|
205
|
+
throw new FileSystemError(`Directory not empty: ${path}`, 'ENOTEMPTY');
|
|
206
|
+
} else {
|
|
207
|
+
throw e;
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
async rename(oldPath: string, newPath: string, options?: RenameOptions): Promise<void> {
|
|
213
|
+
if (options?.signal?.aborted) throw new FileSystemError('Operation aborted', 'ABORT_ERR');
|
|
214
|
+
|
|
215
|
+
// File System Access API doesn't support move/rename directly
|
|
216
|
+
// Fallback to copy + delete
|
|
217
|
+
await this.copy(oldPath, newPath, { overwrite: options?.overwrite });
|
|
218
|
+
await this.rm(oldPath, { recursive: true });
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
async copy(src: string, dest: string, options?: CopyOptions): Promise<void> {
|
|
222
|
+
if (options?.signal?.aborted) throw new FileSystemError('Operation aborted', 'ABORT_ERR');
|
|
223
|
+
|
|
224
|
+
const srcHandle = await this._getHandle(src);
|
|
225
|
+
|
|
226
|
+
if (srcHandle.kind === 'file') {
|
|
227
|
+
const file = await (srcHandle as FileSystemFileHandle).getFile();
|
|
228
|
+
await this.writeFile(dest, await file.arrayBuffer(), { overwrite: options?.overwrite });
|
|
229
|
+
} else {
|
|
230
|
+
// Directory copy
|
|
231
|
+
await this.mkdir(dest);
|
|
232
|
+
const entries = await this.readdir(src);
|
|
233
|
+
for (const entry of entries) {
|
|
234
|
+
await this.copy(entry.path, join(dest, entry.name), options);
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
getUrl(_file: IFileStat | string): string | undefined {
|
|
240
|
+
return undefined;
|
|
241
|
+
}
|
|
242
|
+
}
|
package/src/fs/findMimeType.ts
CHANGED
|
@@ -10,10 +10,7 @@ export function findMimeType(path: string | undefined | null) {
|
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
// get the extension ("ext" or ".ext" or full path)
|
|
13
|
-
const extension = pathe
|
|
14
|
-
.extname('x.' + path)
|
|
15
|
-
.toLowerCase()
|
|
16
|
-
.slice(1);
|
|
13
|
+
const extension = pathe.extname(`x.${path}`).toLowerCase().slice(1);
|
|
17
14
|
|
|
18
15
|
if (!extension) {
|
|
19
16
|
return false;
|
package/src/fs/index.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export type * from './IFileSystem';
|
|
2
2
|
export { createSandboxFileSystem } from './createSandboxFileSystem';
|
|
3
3
|
export { createMemoryFileSystem } from './createMemoryFileSystem';
|
|
4
|
-
export { createWebDavFileSystem } from './createWebDavFileSystem';
|
|
5
4
|
export { createBrowserFileSystem } from './createBrowserFileSystem';
|
|
5
|
+
export { createWebFileSystem } from './createWebFileSystem';
|
|
6
6
|
export { findMimeType } from './findMimeType';
|
|
7
7
|
export { type FileUrlOptions, FileUrlOptionsSchema } from './types';
|
|
8
8
|
export { FileSystemError, FileSystemErrorCode } from './FileSystemError';
|