@volter/browser-runtime 0.1.210 → 0.1.212
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/dist/browser-filesystem.d.ts +2 -0
- package/dist/browser-filesystem.d.ts.map +1 -1
- package/dist/browser-filesystem.js.map +1 -1
- package/dist/browser-pack-index.d.ts.map +1 -1
- package/dist/browser-pack-index.js +3 -26
- package/dist/browser-pack-index.js.map +1 -1
- package/dist/browser-pack-install.d.ts.map +1 -1
- package/dist/browser-pack-install.js +2 -1
- package/dist/browser-pack-install.js.map +1 -1
- package/dist/browser-store-filesystem.d.ts +6 -0
- package/dist/browser-store-filesystem.d.ts.map +1 -1
- package/dist/browser-store-filesystem.js +17 -0
- package/dist/browser-store-filesystem.js.map +1 -1
- package/dist/browser-store-owner.d.ts +0 -1
- package/dist/browser-store-owner.d.ts.map +1 -1
- package/dist/browser-store-owner.js +16 -3
- package/dist/browser-store-owner.js.map +1 -1
- package/dist/browser-tar.d.ts.map +1 -1
- package/dist/browser-tar.js +10 -16
- package/dist/browser-tar.js.map +1 -1
- package/dist/kernel-affinity.d.ts +16 -0
- package/dist/kernel-affinity.d.ts.map +1 -0
- package/dist/kernel-affinity.js +63 -0
- package/dist/kernel-affinity.js.map +1 -0
- package/dist/kernel-processes.d.ts +4 -1
- package/dist/kernel-processes.d.ts.map +1 -1
- package/dist/kernel-processes.js +20 -4
- package/dist/kernel-processes.js.map +1 -1
- package/dist/posix-path-bytes.d.ts +3 -0
- package/dist/posix-path-bytes.d.ts.map +1 -0
- package/dist/posix-path-bytes.js +81 -0
- package/dist/posix-path-bytes.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* POSIX names are bytes, not necessarily UTF-8. Internally, valid UTF-8 stays
|
|
3
|
+
* ordinary text and each undecodable byte becomes U+DC80..U+DCFF (the
|
|
4
|
+
* surrogateescape convention). JSON and structured clone preserve these
|
|
5
|
+
* code units; OPFS uses indexed pack contents, never these logical names as
|
|
6
|
+
* physical file names. Use this for names and process strings at byte boundaries; regular file
|
|
7
|
+
* contents keep their explicitly requested encoding.
|
|
8
|
+
*/
|
|
9
|
+
const encoder = new TextEncoder();
|
|
10
|
+
const decoder = new TextDecoder("utf-8", { fatal: true, ignoreBOM: true });
|
|
11
|
+
const loneSurrogate = /[\uD800-\uDFFF]/u;
|
|
12
|
+
export function decodePosixPath(bytes) {
|
|
13
|
+
// Browsers refuse shared views in TextDecoder. Snapshot only such views.
|
|
14
|
+
const input = typeof SharedArrayBuffer !== "undefined" && bytes.buffer instanceof SharedArrayBuffer ? bytes.slice() : bytes;
|
|
15
|
+
try {
|
|
16
|
+
return decoder.decode(input);
|
|
17
|
+
}
|
|
18
|
+
catch { /* Preserve invalid bytes below. */ }
|
|
19
|
+
let result = "";
|
|
20
|
+
for (let at = 0; at < input.length;) {
|
|
21
|
+
const first = input[at];
|
|
22
|
+
if (first < 0x80) {
|
|
23
|
+
result += String.fromCharCode(first);
|
|
24
|
+
at += 1;
|
|
25
|
+
continue;
|
|
26
|
+
}
|
|
27
|
+
const width = first >= 0xc2 && first <= 0xdf ? 2 : first >= 0xe0 && first <= 0xef ? 3 : first >= 0xf0 && first <= 0xf4 ? 4 : 0;
|
|
28
|
+
let point = first & (width === 2 ? 0x1f : width === 3 ? 0x0f : 0x07);
|
|
29
|
+
let valid = width > 0 && at + width <= input.length;
|
|
30
|
+
for (let offset = 1; valid && offset < width; offset += 1) {
|
|
31
|
+
const next = input[at + offset];
|
|
32
|
+
if ((next & 0xc0) !== 0x80)
|
|
33
|
+
valid = false;
|
|
34
|
+
else
|
|
35
|
+
point = point * 64 + (next & 0x3f);
|
|
36
|
+
}
|
|
37
|
+
valid &&= point >= (width === 2 ? 0x80 : width === 3 ? 0x800 : 0x10000)
|
|
38
|
+
&& point <= 0x10ffff && (point < 0xd800 || point > 0xdfff);
|
|
39
|
+
if (valid) {
|
|
40
|
+
result += String.fromCodePoint(point);
|
|
41
|
+
at += width;
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
result += String.fromCharCode(0xdc00 + first);
|
|
45
|
+
at += 1;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return result;
|
|
49
|
+
}
|
|
50
|
+
export function encodePosixPath(path) {
|
|
51
|
+
// Unicode matching skips paired surrogates, including astral filenames.
|
|
52
|
+
if (!loneSurrogate.test(path))
|
|
53
|
+
return encoder.encode(path);
|
|
54
|
+
const parts = [];
|
|
55
|
+
let start = 0;
|
|
56
|
+
for (let at = 0; at < path.length; at += 1) {
|
|
57
|
+
const unit = path.charCodeAt(at);
|
|
58
|
+
if (unit >= 0xd800 && unit <= 0xdbff && path.charCodeAt(at + 1) >= 0xdc00 && path.charCodeAt(at + 1) <= 0xdfff) {
|
|
59
|
+
at += 1;
|
|
60
|
+
continue;
|
|
61
|
+
}
|
|
62
|
+
if (unit < 0xd800 || unit > 0xdfff)
|
|
63
|
+
continue;
|
|
64
|
+
if (unit < 0xdc80 || unit > 0xdcff)
|
|
65
|
+
throw new TypeError("A POSIX path contains an unpaired surrogate outside the byte escape range.");
|
|
66
|
+
if (start < at)
|
|
67
|
+
parts.push(encoder.encode(path.slice(start, at)));
|
|
68
|
+
parts.push(new Uint8Array([unit - 0xdc00]));
|
|
69
|
+
start = at + 1;
|
|
70
|
+
}
|
|
71
|
+
if (start < path.length)
|
|
72
|
+
parts.push(encoder.encode(path.slice(start)));
|
|
73
|
+
const bytes = new Uint8Array(parts.reduce((total, part) => total + part.length, 0));
|
|
74
|
+
let at = 0;
|
|
75
|
+
for (const part of parts) {
|
|
76
|
+
bytes.set(part, at);
|
|
77
|
+
at += part.length;
|
|
78
|
+
}
|
|
79
|
+
return bytes;
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=posix-path-bytes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"posix-path-bytes.js","sourceRoot":"","sources":["../src/posix-path-bytes.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED