@pagepocket/uni-fs 0.4.0

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.
@@ -0,0 +1,9 @@
1
+ export type WriteData = ArrayBuffer | Uint8Array | Blob | string;
2
+ export declare function exists(filename: string, extension: string): Promise<boolean>;
3
+ export declare function readBinary(filename: string, extension: string): Promise<Uint8Array>;
4
+ export declare function readText(filename: string, extension: string): Promise<string>;
5
+ export declare function readAsURL(filename: string, extension: string): Promise<string>;
6
+ export declare function write(filename: string, extension: string, data: WriteData): Promise<void>;
7
+ export declare function remove(filename: string, extension: string): Promise<void>;
8
+ export { remove as delete };
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,IAAI,GAAG,MAAM,CAAC;AAuJjE,wBAAsB,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CA8BlF;AAED,wBAAsB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAwBzF;AAED,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAsBnF;AAED,wBAAsB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAsBpF;AAED,wBAAsB,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CA8B/F;AAED,wBAAsB,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAsB/E;AAED,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,255 @@
1
+ const MIME_BY_EXTENSION = {
2
+ css: "text/css",
3
+ gif: "image/gif",
4
+ html: "text/html",
5
+ jpeg: "image/jpeg",
6
+ jpg: "image/jpeg",
7
+ js: "text/javascript",
8
+ json: "application/json",
9
+ png: "image/png",
10
+ svg: "image/svg+xml",
11
+ txt: "text/plain",
12
+ webp: "image/webp"
13
+ };
14
+ const OPFS_ERROR_MESSAGE = "OPFS is not available in this environment. Use a browser or service worker that supports navigator.storage.getDirectory().";
15
+ function normalizeExtension(extension) {
16
+ if (!extension) {
17
+ return "";
18
+ }
19
+ return extension.startsWith(".") ? extension.slice(1) : extension;
20
+ }
21
+ function buildFileName(filename, extension) {
22
+ const normalizedExtension = normalizeExtension(extension);
23
+ if (!normalizedExtension) {
24
+ return filename;
25
+ }
26
+ return `${filename}.${normalizedExtension}`;
27
+ }
28
+ function isOpfsAvailable() {
29
+ return typeof navigator !== "undefined" && typeof navigator.storage?.getDirectory === "function";
30
+ }
31
+ function isNodeEnvironment() {
32
+ const globalProcess = globalThis.process;
33
+ return typeof globalProcess?.versions?.node === "string";
34
+ }
35
+ async function getOpfsRoot() {
36
+ if (!isOpfsAvailable()) {
37
+ throw new Error(OPFS_ERROR_MESSAGE);
38
+ }
39
+ return navigator.storage.getDirectory();
40
+ }
41
+ async function getOpfsDirectory(root, segments, options) {
42
+ let current = root;
43
+ for (const segment of segments) {
44
+ current = await current.getDirectoryHandle(segment, {
45
+ create: options.create
46
+ });
47
+ }
48
+ return current;
49
+ }
50
+ function splitPath(path) {
51
+ const parts = path.split("/").filter(Boolean);
52
+ if (parts.length === 0) {
53
+ return { directories: [], basename: path };
54
+ }
55
+ const basename = parts[parts.length - 1] ?? "";
56
+ const directories = parts.slice(0, -1);
57
+ return { directories, basename };
58
+ }
59
+ function guessMimeType(extension) {
60
+ const normalizedExtension = normalizeExtension(extension).toLowerCase();
61
+ return MIME_BY_EXTENSION[normalizedExtension] ?? "application/octet-stream";
62
+ }
63
+ function arrayBufferToBase64(buffer) {
64
+ const bufferConstructor = globalThis.Buffer;
65
+ if (bufferConstructor) {
66
+ return bufferConstructor.from(buffer).toString("base64");
67
+ }
68
+ const bytes = new Uint8Array(buffer);
69
+ const chunkSize = 0x8000;
70
+ let binary = "";
71
+ for (let i = 0; i < bytes.length; i += chunkSize) {
72
+ const chunk = bytes.subarray(i, i + chunkSize);
73
+ binary += String.fromCharCode(...chunk);
74
+ }
75
+ return btoa(binary);
76
+ }
77
+ async function dataToOpfsWritable(data) {
78
+ if (typeof data === "string") {
79
+ return data;
80
+ }
81
+ if (data instanceof ArrayBuffer) {
82
+ return data;
83
+ }
84
+ if (data instanceof Uint8Array) {
85
+ return new Uint8Array(data).buffer;
86
+ }
87
+ if (typeof Blob !== "undefined" && data instanceof Blob) {
88
+ return data;
89
+ }
90
+ throw new Error("Unsupported data type.");
91
+ }
92
+ async function dataToNodeWritable(data) {
93
+ if (typeof data === "string") {
94
+ return data;
95
+ }
96
+ if (data instanceof Uint8Array) {
97
+ return data;
98
+ }
99
+ if (data instanceof ArrayBuffer) {
100
+ return new Uint8Array(data);
101
+ }
102
+ if (typeof Blob !== "undefined" && data instanceof Blob) {
103
+ return new Uint8Array(await data.arrayBuffer());
104
+ }
105
+ throw new Error("Unsupported data type.");
106
+ }
107
+ function getNodeCwd() {
108
+ const nodeProcess = globalThis.process;
109
+ if (!nodeProcess?.cwd) {
110
+ throw new Error("process.cwd is unavailable in this environment.");
111
+ }
112
+ return nodeProcess.cwd();
113
+ }
114
+ export async function exists(filename, extension) {
115
+ const fileName = buildFileName(filename, extension);
116
+ if (isOpfsAvailable()) {
117
+ try {
118
+ const root = await getOpfsRoot();
119
+ const { directories, basename } = splitPath(fileName);
120
+ const directory = await getOpfsDirectory(root, directories, {
121
+ create: false
122
+ });
123
+ await directory.getFileHandle(basename, { create: false });
124
+ return true;
125
+ }
126
+ catch {
127
+ return false;
128
+ }
129
+ }
130
+ if (isNodeEnvironment()) {
131
+ const { join } = await import("node:path");
132
+ const { access } = await import("node:fs/promises");
133
+ const outputPath = join(getNodeCwd(), fileName);
134
+ try {
135
+ await access(outputPath);
136
+ return true;
137
+ }
138
+ catch {
139
+ return false;
140
+ }
141
+ }
142
+ throw new Error(OPFS_ERROR_MESSAGE);
143
+ }
144
+ export async function readBinary(filename, extension) {
145
+ const fileName = buildFileName(filename, extension);
146
+ if (isOpfsAvailable()) {
147
+ const root = await getOpfsRoot();
148
+ const { directories, basename } = splitPath(fileName);
149
+ const directory = await getOpfsDirectory(root, directories, {
150
+ create: false
151
+ });
152
+ const fileHandle = await directory.getFileHandle(basename);
153
+ const file = await fileHandle.getFile();
154
+ const buffer = await file.arrayBuffer();
155
+ return new Uint8Array(buffer);
156
+ }
157
+ if (isNodeEnvironment()) {
158
+ const { join } = await import("node:path");
159
+ const { readFile } = await import("node:fs/promises");
160
+ const outputPath = join(getNodeCwd(), fileName);
161
+ const buffer = await readFile(outputPath);
162
+ return new Uint8Array(buffer);
163
+ }
164
+ throw new Error(OPFS_ERROR_MESSAGE);
165
+ }
166
+ export async function readText(filename, extension) {
167
+ const fileName = buildFileName(filename, extension);
168
+ if (isOpfsAvailable()) {
169
+ const root = await getOpfsRoot();
170
+ const { directories, basename } = splitPath(fileName);
171
+ const directory = await getOpfsDirectory(root, directories, {
172
+ create: false
173
+ });
174
+ const fileHandle = await directory.getFileHandle(basename);
175
+ const file = await fileHandle.getFile();
176
+ return file.text();
177
+ }
178
+ if (isNodeEnvironment()) {
179
+ const { join } = await import("node:path");
180
+ const { readFile } = await import("node:fs/promises");
181
+ const outputPath = join(getNodeCwd(), fileName);
182
+ return readFile(outputPath, "utf-8");
183
+ }
184
+ throw new Error(OPFS_ERROR_MESSAGE);
185
+ }
186
+ export async function readAsURL(filename, extension) {
187
+ const fileName = buildFileName(filename, extension);
188
+ if (isOpfsAvailable()) {
189
+ const root = await getOpfsRoot();
190
+ const { directories, basename } = splitPath(fileName);
191
+ const directory = await getOpfsDirectory(root, directories, {
192
+ create: false
193
+ });
194
+ const fileHandle = await directory.getFileHandle(basename);
195
+ const file = await fileHandle.getFile();
196
+ const buffer = await file.arrayBuffer();
197
+ const mimeType = file.type || guessMimeType(extension);
198
+ const base64 = arrayBufferToBase64(buffer);
199
+ return `data:${mimeType};base64,${base64}`;
200
+ }
201
+ if (isNodeEnvironment()) {
202
+ return `/${fileName}`;
203
+ }
204
+ throw new Error(OPFS_ERROR_MESSAGE);
205
+ }
206
+ export async function write(filename, extension, data) {
207
+ const fileName = buildFileName(filename, extension);
208
+ if (isOpfsAvailable()) {
209
+ const root = await getOpfsRoot();
210
+ const { directories, basename } = splitPath(fileName);
211
+ const directory = await getOpfsDirectory(root, directories, {
212
+ create: true
213
+ });
214
+ const fileHandle = await directory.getFileHandle(basename, {
215
+ create: true
216
+ });
217
+ const writable = await fileHandle.createWritable();
218
+ const writableData = await dataToOpfsWritable(data);
219
+ await writable.write(writableData);
220
+ await writable.close();
221
+ return;
222
+ }
223
+ if (isNodeEnvironment()) {
224
+ const { dirname, join } = await import("node:path");
225
+ const { writeFile, mkdir } = await import("node:fs/promises");
226
+ const outputPath = join(getNodeCwd(), fileName);
227
+ await mkdir(dirname(outputPath), { recursive: true });
228
+ const writableData = await dataToNodeWritable(data);
229
+ await writeFile(outputPath, writableData);
230
+ return;
231
+ }
232
+ throw new Error(OPFS_ERROR_MESSAGE);
233
+ }
234
+ export async function remove(filename, extension) {
235
+ const fileName = buildFileName(filename, extension);
236
+ if (isOpfsAvailable()) {
237
+ const root = await getOpfsRoot();
238
+ const { directories, basename } = splitPath(fileName);
239
+ const directory = await getOpfsDirectory(root, directories, {
240
+ create: false
241
+ });
242
+ await directory.removeEntry(basename);
243
+ return;
244
+ }
245
+ if (isNodeEnvironment()) {
246
+ const { join } = await import("node:path");
247
+ const { unlink } = await import("node:fs/promises");
248
+ const outputPath = join(getNodeCwd(), fileName);
249
+ await unlink(outputPath);
250
+ return;
251
+ }
252
+ throw new Error(OPFS_ERROR_MESSAGE);
253
+ }
254
+ export { remove as delete };
255
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,23 @@
1
+ {
2
+ "name": "@pagepocket/uni-fs",
3
+ "version": "0.4.0",
4
+ "description": "",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "keywords": [],
9
+ "author": "",
10
+ "license": "ISC",
11
+ "files": [
12
+ "dist"
13
+ ],
14
+ "devDependencies": {
15
+ "@types/node": "^20.17.12",
16
+ "tsx": "^4.21.0",
17
+ "typescript": "^5.7.2"
18
+ },
19
+ "scripts": {
20
+ "build": "tsc -p tsconfig.json",
21
+ "test": "tsx --test specs/**/*.test.ts"
22
+ }
23
+ }