goscript 0.2.3 → 0.2.4
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/compiler/lowering.go +57 -8
- package/compiler/override-registry_test.go +125 -0
- package/compiler/skeleton_test.go +49 -2
- package/dist/gs/compress/gzip/index.d.ts +41 -0
- package/dist/gs/compress/gzip/index.js +235 -0
- package/dist/gs/compress/gzip/index.js.map +1 -0
- package/dist/gs/io/fs/glob.js +1 -1
- package/dist/gs/io/fs/glob.js.map +1 -1
- package/dist/gs/io/fs/readlink.d.ts +1 -1
- package/dist/gs/io/fs/readlink.js +2 -2
- package/dist/gs/io/fs/readlink.js.map +1 -1
- package/dist/gs/io/fs/stat.d.ts +4 -2
- package/dist/gs/io/fs/stat.js +12 -73
- package/dist/gs/io/fs/stat.js.map +1 -1
- package/dist/gs/io/fs/sub.d.ts +2 -2
- package/dist/gs/io/fs/sub.js +7 -7
- package/dist/gs/io/fs/sub.js.map +1 -1
- package/dist/gs/io/fs/walk.js +1 -1
- package/dist/gs/io/fs/walk.js.map +1 -1
- package/dist/gs/net/http/index.d.ts +18 -14
- package/dist/gs/net/http/index.js +44 -23
- package/dist/gs/net/http/index.js.map +1 -1
- package/dist/gs/net/http/pprof/index.d.ts +5 -5
- package/dist/gs/net/http/pprof/index.js +21 -21
- package/dist/gs/net/http/pprof/index.js.map +1 -1
- package/gs/builtin/runtime-contract.test.ts +25 -0
- package/gs/compress/gzip/index.test.ts +86 -0
- package/gs/compress/gzip/index.ts +297 -0
- package/gs/compress/gzip/meta.json +6 -0
- package/gs/compress/gzip/parity.json +45 -0
- package/gs/embed/index.test.ts +1 -1
- package/gs/io/fs/glob.ts +1 -1
- package/gs/io/fs/meta.json +3 -0
- package/gs/io/fs/readlink.test.ts +2 -2
- package/gs/io/fs/readlink.ts +5 -2
- package/gs/io/fs/stat.test.ts +79 -0
- package/gs/io/fs/stat.ts +24 -10
- package/gs/io/fs/sub.test.ts +93 -0
- package/gs/io/fs/sub.ts +9 -9
- package/gs/io/fs/walk.ts +1 -1
- package/gs/net/http/index.test.ts +207 -2
- package/gs/net/http/index.ts +68 -37
- package/gs/net/http/meta.json +3 -1
- package/gs/net/http/pprof/index.test.ts +4 -4
- package/gs/net/http/pprof/index.ts +30 -27
- package/package.json +1 -1
|
@@ -50,10 +50,10 @@ export function ReadLink(fsys, name) {
|
|
|
50
50
|
}
|
|
51
51
|
return sym.ReadLink(name);
|
|
52
52
|
}
|
|
53
|
-
export function Lstat(fsys, name) {
|
|
53
|
+
export async function Lstat(fsys, name) {
|
|
54
54
|
const { value: sym, ok } = $.typeAssert(fsys, 'ReadLinkFS');
|
|
55
55
|
if (!ok) {
|
|
56
|
-
return Stat(fsys, name);
|
|
56
|
+
return await Stat(fsys, name);
|
|
57
57
|
}
|
|
58
58
|
return sym.Lstat(name);
|
|
59
59
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readlink.js","sourceRoot":"","sources":["../../../../gs/io/fs/readlink.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,4BAA4B,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAgB,SAAS,EAAE,MAAM,SAAS,CAAA;AAC7D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAShC,CAAC,CAAC,qBAAqB,CAAC,YAAY,EAAE,IAAI,EAAE;IAC1C;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC;QAC1E,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACpD;gBACE,IAAI,EAAE;oBACJ,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS;oBAC1B,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,OAAO;4BACb,IAAI,EAAE,EAAE;4BACR,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC;yBAChE;qBACF;iBACF;aACF;SACF;KACF;IACD;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC;QAC1E,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,UAAU,EAAE;YACpB;gBACE,IAAI,EAAE;oBACJ,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS;oBAC1B,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,OAAO;4BACb,IAAI,EAAE,EAAE;4BACR,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC;yBAChE;qBACF;iBACF;aACF;SACF;KACF;CACF,CAAC,CAAA;AAEF,MAAM,UAAU,QAAQ,CAAC,IAAQ,EAAE,IAAY;IAC7C,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,UAAU,CAAa,IAAI,EAAE,YAAY,CAAC,CAAA;IACvE,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,OAAO,CAAC,EAAE,EAAE,IAAI,SAAS,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IAC7E,CAAC;IACD,OAAO,GAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;AAC5B,CAAC;AAED,MAAM,UAAU,KAAK,
|
|
1
|
+
{"version":3,"file":"readlink.js","sourceRoot":"","sources":["../../../../gs/io/fs/readlink.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,4BAA4B,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAgB,SAAS,EAAE,MAAM,SAAS,CAAA;AAC7D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAShC,CAAC,CAAC,qBAAqB,CAAC,YAAY,EAAE,IAAI,EAAE;IAC1C;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC;QAC1E,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACpD;gBACE,IAAI,EAAE;oBACJ,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS;oBAC1B,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,OAAO;4BACb,IAAI,EAAE,EAAE;4BACR,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC;yBAChE;qBACF;iBACF;aACF;SACF;KACF;IACD;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC;QAC1E,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,UAAU,EAAE;YACpB;gBACE,IAAI,EAAE;oBACJ,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS;oBAC1B,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,OAAO;4BACb,IAAI,EAAE,EAAE;4BACR,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC;yBAChE;qBACF;iBACF;aACF;SACF;KACF;CACF,CAAC,CAAA;AAEF,MAAM,UAAU,QAAQ,CAAC,IAAQ,EAAE,IAAY;IAC7C,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,UAAU,CAAa,IAAI,EAAE,YAAY,CAAC,CAAA;IACvE,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,OAAO,CAAC,EAAE,EAAE,IAAI,SAAS,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IAC7E,CAAC;IACD,OAAO,GAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;AAC5B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,KAAK,CACzB,IAAQ,EACR,IAAY;IAEZ,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,UAAU,CAAa,IAAI,EAAE,YAAY,CAAC,CAAA;IACvE,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,OAAO,MAAM,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAC/B,CAAC;IACD,OAAO,GAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC"}
|
package/dist/gs/io/fs/stat.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import * as $ from '@goscript/builtin/index.js';
|
|
2
2
|
import { FS, FileInfo } from './fs.js';
|
|
3
|
+
type maybePromise<T> = T | Promise<T>;
|
|
3
4
|
export type StatFS = null | ({
|
|
4
|
-
Stat(name: string): [FileInfo, $.GoError]
|
|
5
|
+
Stat(name: string): maybePromise<[FileInfo, $.GoError]>;
|
|
5
6
|
} & FS);
|
|
6
|
-
export declare function Stat(fsys: FS, name: string): [FileInfo, $.GoError]
|
|
7
|
+
export declare function Stat(fsys: FS, name: string): Promise<[FileInfo, $.GoError]>;
|
|
8
|
+
export {};
|
package/dist/gs/io/fs/stat.js
CHANGED
|
@@ -1,55 +1,3 @@
|
|
|
1
|
-
var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) {
|
|
2
|
-
if (value !== null && value !== void 0) {
|
|
3
|
-
if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
|
|
4
|
-
var dispose, inner;
|
|
5
|
-
if (async) {
|
|
6
|
-
if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
|
|
7
|
-
dispose = value[Symbol.asyncDispose];
|
|
8
|
-
}
|
|
9
|
-
if (dispose === void 0) {
|
|
10
|
-
if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
|
|
11
|
-
dispose = value[Symbol.dispose];
|
|
12
|
-
if (async) inner = dispose;
|
|
13
|
-
}
|
|
14
|
-
if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
|
|
15
|
-
if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };
|
|
16
|
-
env.stack.push({ value: value, dispose: dispose, async: async });
|
|
17
|
-
}
|
|
18
|
-
else if (async) {
|
|
19
|
-
env.stack.push({ async: true });
|
|
20
|
-
}
|
|
21
|
-
return value;
|
|
22
|
-
};
|
|
23
|
-
var __disposeResources = (this && this.__disposeResources) || (function (SuppressedError) {
|
|
24
|
-
return function (env) {
|
|
25
|
-
function fail(e) {
|
|
26
|
-
env.error = env.hasError ? new SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
|
|
27
|
-
env.hasError = true;
|
|
28
|
-
}
|
|
29
|
-
var r, s = 0;
|
|
30
|
-
function next() {
|
|
31
|
-
while (r = env.stack.pop()) {
|
|
32
|
-
try {
|
|
33
|
-
if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
|
|
34
|
-
if (r.dispose) {
|
|
35
|
-
var result = r.dispose.call(r.value);
|
|
36
|
-
if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
|
|
37
|
-
}
|
|
38
|
-
else s |= 1;
|
|
39
|
-
}
|
|
40
|
-
catch (e) {
|
|
41
|
-
fail(e);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
|
|
45
|
-
if (env.hasError) throw env.error;
|
|
46
|
-
}
|
|
47
|
-
return next();
|
|
48
|
-
};
|
|
49
|
-
})(typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
|
|
50
|
-
var e = new Error(message);
|
|
51
|
-
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
52
|
-
});
|
|
53
1
|
import * as $ from '@goscript/builtin/index.js';
|
|
54
2
|
$.registerInterfaceType('StatFS', null, // Zero value for interface is null
|
|
55
3
|
[
|
|
@@ -80,31 +28,22 @@ $.registerInterfaceType('StatFS', null, // Zero value for interface is null
|
|
|
80
28
|
//
|
|
81
29
|
// If fs implements [StatFS], Stat calls fs.Stat.
|
|
82
30
|
// Otherwise, Stat opens the [File] to stat it.
|
|
83
|
-
export function Stat(fsys, name) {
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
let { value: fsysTyped, ok: ok } = $.typeAssert(fsys, 'StatFS');
|
|
89
|
-
if (ok) {
|
|
90
|
-
return fsysTyped.Stat(name);
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
let [file, err] = fsys.Open(name);
|
|
94
|
-
if (err != null) {
|
|
95
|
-
return [null, err];
|
|
31
|
+
export async function Stat(fsys, name) {
|
|
32
|
+
{
|
|
33
|
+
let { value: fsysTyped, ok: ok } = $.typeAssert(fsys, 'StatFS');
|
|
34
|
+
if (ok) {
|
|
35
|
+
return await fsysTyped.Stat(name);
|
|
96
36
|
}
|
|
97
|
-
__defer.defer(() => {
|
|
98
|
-
file.Close();
|
|
99
|
-
});
|
|
100
|
-
return file.Stat();
|
|
101
37
|
}
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
38
|
+
let [file, err] = await fsys.Open(name);
|
|
39
|
+
if (err != null) {
|
|
40
|
+
return [null, err];
|
|
41
|
+
}
|
|
42
|
+
try {
|
|
43
|
+
return await file.Stat();
|
|
105
44
|
}
|
|
106
45
|
finally {
|
|
107
|
-
|
|
46
|
+
await file.Close();
|
|
108
47
|
}
|
|
109
48
|
}
|
|
110
49
|
//# sourceMappingURL=stat.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stat.js","sourceRoot":"","sources":["../../../../gs/io/fs/stat.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"stat.js","sourceRoot":"","sources":["../../../../gs/io/fs/stat.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,4BAA4B,CAAA;AAsB/C,CAAC,CAAC,qBAAqB,CACrB,QAAQ,EACR,IAAI,EAAE,mCAAmC;AACzC;IACE;QACE,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE;YACJ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;SACnE;QACD,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,UAAU,EAAE;YACpB;gBACE,IAAI,EAAE;oBACJ,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS;oBAC1B,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,OAAO;4BACb,IAAI,EAAE,EAAE;4BACR,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC;yBAChE;qBACF;iBACF;aACF;SACF;KACF;CACF,CACF,CAAA;AAED,4EAA4E;AAC5E,EAAE;AACF,iDAAiD;AACjD,+CAA+C;AAC/C,MAAM,CAAC,KAAK,UAAU,IAAI,CACxB,IAAQ,EACR,IAAY;IAEZ,CAAC;QACC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,UAAU,CAAS,IAAI,EAAE,QAAQ,CAAC,CAAA;QACvE,IAAI,EAAE,EAAE,CAAC;YACP,OAAO,MAAM,SAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACpC,CAAC;IACH,CAAC;IAED,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,MAAO,IAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACrD,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAChB,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IACpB,CAAC;IACD,IAAI,CAAC;QACH,OAAO,MAAO,IAAmB,CAAC,IAAI,EAAE,CAAA;IAC1C,CAAC;YAAS,CAAC;QACT,MAAO,IAAmB,CAAC,KAAK,EAAE,CAAA;IACpC,CAAC;AACH,CAAC"}
|
package/dist/gs/io/fs/sub.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as $ from '@goscript/builtin/index.js';
|
|
2
2
|
import { FS } from './fs.js';
|
|
3
3
|
export type SubFS = null | ({
|
|
4
|
-
Sub(dir: string): [FS, $.GoError]
|
|
4
|
+
Sub(dir: string): [FS, $.GoError] | Promise<[FS, $.GoError]>;
|
|
5
5
|
} & FS);
|
|
6
|
-
export declare function Sub(fsys: FS, dir: string): [FS, $.GoError]
|
|
6
|
+
export declare function Sub(fsys: FS, dir: string): Promise<[FS, $.GoError]>;
|
package/dist/gs/io/fs/sub.js
CHANGED
|
@@ -42,7 +42,7 @@ $.registerInterfaceType('SubFS', null, // Zero value for interface is null
|
|
|
42
42
|
// does not check for symbolic links inside "/prefix" that point to
|
|
43
43
|
// other directories. That is, [os.DirFS] is not a general substitute for a
|
|
44
44
|
// chroot-style security mechanism, and Sub does not change that fact.
|
|
45
|
-
export function Sub(fsys, dir) {
|
|
45
|
+
export async function Sub(fsys, dir) {
|
|
46
46
|
if (!ValidPath(dir)) {
|
|
47
47
|
return [null, new PathError({ Err: ErrInvalid, Op: 'sub', Path: dir })];
|
|
48
48
|
}
|
|
@@ -52,10 +52,10 @@ export function Sub(fsys, dir) {
|
|
|
52
52
|
{
|
|
53
53
|
let { value: fsysTyped, ok: ok } = $.typeAssert(fsys, 'SubFS');
|
|
54
54
|
if (ok) {
|
|
55
|
-
return fsysTyped.Sub(dir);
|
|
55
|
+
return await fsysTyped.Sub(dir);
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
|
-
return [new subFS({}), null];
|
|
58
|
+
return [new subFS({ fsys, dir }), null];
|
|
59
59
|
}
|
|
60
60
|
class subFS {
|
|
61
61
|
get fsys() {
|
|
@@ -125,14 +125,14 @@ class subFS {
|
|
|
125
125
|
}
|
|
126
126
|
return err;
|
|
127
127
|
}
|
|
128
|
-
Open(name) {
|
|
128
|
+
async Open(name) {
|
|
129
129
|
const f = this;
|
|
130
130
|
let [full, err] = f.fullName('open', name);
|
|
131
131
|
if (err != null) {
|
|
132
132
|
return [null, err];
|
|
133
133
|
}
|
|
134
134
|
let file;
|
|
135
|
-
[file, err] = f.fsys.Open(full);
|
|
135
|
+
[file, err] = await f.fsys.Open(full);
|
|
136
136
|
return [file, f.fixErr(err)];
|
|
137
137
|
}
|
|
138
138
|
async ReadDir(name) {
|
|
@@ -192,11 +192,11 @@ class subFS {
|
|
|
192
192
|
if (dir == '.') {
|
|
193
193
|
return [f, null];
|
|
194
194
|
}
|
|
195
|
-
let [
|
|
195
|
+
let [full, err] = f.fullName('sub', dir);
|
|
196
196
|
if (err != null) {
|
|
197
197
|
return [null, err];
|
|
198
198
|
}
|
|
199
|
-
return [new subFS({}), null];
|
|
199
|
+
return [new subFS({ fsys: f.fsys, dir: full }), null];
|
|
200
200
|
}
|
|
201
201
|
// Register this type with the runtime type system
|
|
202
202
|
static __typeInfo = $.registerStructType('subFS', new subFS(), [
|
package/dist/gs/io/fs/sub.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sub.js","sourceRoot":"","sources":["../../../../gs/io/fs/sub.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sub.js","sourceRoot":"","sources":["../../../../gs/io/fs/sub.ts"],"names":[],"mappings":"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"}
|
package/dist/gs/io/fs/walk.js
CHANGED
|
@@ -61,7 +61,7 @@ export async function walkDir(fsys, name, d, walkDirFn) {
|
|
|
61
61
|
// WalkDir does not follow symbolic links found in directories,
|
|
62
62
|
// but if root itself is a symbolic link, its target will be walked.
|
|
63
63
|
export async function WalkDir(fsys, root, fn) {
|
|
64
|
-
let [info, err] = Stat(fsys, root);
|
|
64
|
+
let [info, err] = await Stat(fsys, root);
|
|
65
65
|
if (err != null) {
|
|
66
66
|
err = await fn(root, null, err);
|
|
67
67
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"walk.js","sourceRoot":"","sources":["../../../../gs/io/fs/walk.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,4BAA4B,CAAA;AAC/C,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAGhC,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAA;AAEnD,OAAO,KAAK,IAAI,MAAM,yBAAyB,CAAA;AAE/C,MAAM,CAAC,IAAI,OAAO,GAAc,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;AAEjE,MAAM,CAAC,IAAI,OAAO,GAAc,MAAM,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAA;AAU/E,wDAAwD;AACxD,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,IAAQ,EACR,IAAY,EACZ,CAAW,EACX,SAAsB;IAEtB,kCAAkC;IAClC,CAAC;QACC,IAAI,GAAG,GAAG,MAAM,SAAU,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,CAAA;QACzC,IAAI,GAAG,IAAI,IAAI,IAAI,CAAC,CAAE,CAAC,KAAK,EAAE,EAAE,CAAC;YAC/B,kCAAkC;YAClC,IAAI,GAAG,IAAI,OAAO,IAAI,CAAE,CAAC,KAAK,EAAE,EAAE,CAAC;gBACjC,kCAAkC;gBAClC,GAAG,GAAG,IAAI,CAAA;YACZ,CAAC;YACD,OAAO,GAAG,CAAA;QACZ,CAAC;IACH,CAAC;IAED,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAE3C,wCAAwC;IACxC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAChB,wCAAwC;QACxC,GAAG,GAAG,MAAM,SAAU,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAA;QACpC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;YAChB,IAAI,GAAG,IAAI,OAAO,IAAI,CAAE,CAAC,KAAK,EAAE,EAAE,CAAC;gBACjC,GAAG,GAAG,IAAI,CAAA;YACZ,CAAC;YACD,OAAO,GAAG,CAAA;QACZ,CAAC;IACH,CAAC;IAED,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;QACxC,MAAM,EAAE,GAAG,IAAK,CAAC,EAAE,CAAC,CAAA;QACpB,CAAC;YACC,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAG,CAAC,IAAI,EAAE,CAAC,CAAA;YACvC,CAAC;gBACC,IAAI,GAAG,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,CAAC,CAAA;gBACnD,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;oBAChB,IAAI,GAAG,IAAI,OAAO,EAAE,CAAC;wBACnB,MAAK;oBACP,CAAC;oBACD,OAAO,GAAG,CAAA;gBACZ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,0EAA0E;AAC1E,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,sDAAsD;AACtD,EAAE;AACF,8EAA8E;AAC9E,iFAAiF;AACjF,0BAA0B;AAC1B,EAAE;AACF,+DAA+D;AAC/D,oEAAoE;AACpE,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,IAAQ,EACR,IAAY,EACZ,EAAe;IAEf,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"walk.js","sourceRoot":"","sources":["../../../../gs/io/fs/walk.ts"],"names":[],"mappings":"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"}
|
|
@@ -125,18 +125,22 @@ export declare const StateHijacked = 3;
|
|
|
125
125
|
export declare const StateClosed = 4;
|
|
126
126
|
export declare function StatusText(code: number): string;
|
|
127
127
|
export type Header = Map<string, $.Slice<string>>;
|
|
128
|
+
type HeaderBox = {
|
|
129
|
+
__goValue: HeaderValue;
|
|
130
|
+
};
|
|
131
|
+
type HeaderValue = Header | $.VarRef<Header> | HeaderBox;
|
|
128
132
|
export declare const Header: {
|
|
129
133
|
new (entries?: Iterable<readonly [string, $.Slice<string>]> | null): Header;
|
|
130
134
|
};
|
|
131
135
|
export declare function CanonicalHeaderKey(s: string): string;
|
|
132
|
-
export declare function Header_Add(h:
|
|
133
|
-
export declare function Header_Del(h:
|
|
134
|
-
export declare function Header_Get(h:
|
|
135
|
-
export declare function Header_Set(h:
|
|
136
|
-
export declare function Header_Values(h:
|
|
137
|
-
export declare function Header_Clone(h:
|
|
138
|
-
export declare function Header_Write(h:
|
|
139
|
-
export declare function Header_WriteSubset(h:
|
|
136
|
+
export declare function Header_Add(h: HeaderValue, key: string, value: string): void;
|
|
137
|
+
export declare function Header_Del(h: HeaderValue, key: string): void;
|
|
138
|
+
export declare function Header_Get(h: HeaderValue, key: string): string;
|
|
139
|
+
export declare function Header_Set(h: HeaderValue, key: string, value: string): void;
|
|
140
|
+
export declare function Header_Values(h: HeaderValue, key: string): $.Slice<string>;
|
|
141
|
+
export declare function Header_Clone(h: HeaderValue): Header;
|
|
142
|
+
export declare function Header_Write(h: HeaderValue, w: io.Writer): $.GoError;
|
|
143
|
+
export declare function Header_WriteSubset(h: HeaderValue, w: io.Writer, exclude: Map<string, boolean> | null): $.GoError;
|
|
140
144
|
export type Dir = string;
|
|
141
145
|
export interface CookieJar {
|
|
142
146
|
SetCookies(u: any, cookies: $.Slice<Cookie | $.VarRef<Cookie> | null>): void;
|
|
@@ -164,13 +168,13 @@ export declare class Cookie {
|
|
|
164
168
|
constructor(init?: Partial<Cookie>);
|
|
165
169
|
String(): string;
|
|
166
170
|
}
|
|
167
|
-
export declare function SetCookie(w: ResponseWriter | null, cookie: Cookie | $.VarRef<Cookie> | null): void
|
|
171
|
+
export declare function SetCookie(w: ResponseWriter | null, cookie: Cookie | $.VarRef<Cookie> | null): Promise<void>;
|
|
168
172
|
export declare function RegisterInProcessServer(handler: Handler | null): string;
|
|
169
173
|
export declare function UnregisterInProcessServer(rawURL: string): void;
|
|
170
174
|
export interface ResponseWriter {
|
|
171
|
-
Header(): Header
|
|
172
|
-
Write(p: $.Slice<number>): [number, $.GoError]
|
|
173
|
-
WriteHeader(statusCode: number): void
|
|
175
|
+
Header(): Header | Promise<Header>;
|
|
176
|
+
Write(p: $.Slice<number>): [number, $.GoError] | Promise<[number, $.GoError]>;
|
|
177
|
+
WriteHeader(statusCode: number): void | Promise<void>;
|
|
174
178
|
}
|
|
175
179
|
export declare class Request {
|
|
176
180
|
Method: string;
|
|
@@ -314,7 +318,7 @@ export declare function NewFileTransport(root: FileSystem | null): RoundTripper;
|
|
|
314
318
|
export declare function NewFileTransportFS(fsys: fs.FS): RoundTripper;
|
|
315
319
|
type maybePromise<T> = T | Promise<T>;
|
|
316
320
|
export interface FileSystem {
|
|
317
|
-
Open(name: string): [File | null, $.GoError]
|
|
321
|
+
Open(name: string): maybePromise<[File | null, $.GoError]>;
|
|
318
322
|
}
|
|
319
323
|
export interface File extends io.Closer, io.Reader, io.Seeker {
|
|
320
324
|
Readdir(count: number): [$.Slice<fs.FileInfo> | null, $.GoError];
|
|
@@ -428,7 +432,7 @@ export declare function RedirectHandler(url: string, code: number): Handler;
|
|
|
428
432
|
export declare function TimeoutHandler(handler: Handler | null, _dt: number, msg: string): Handler;
|
|
429
433
|
export declare function Error(w: ResponseWriter | null, error: string, code: number): void;
|
|
430
434
|
export declare function NotFound(w: ResponseWriter | null, _r: Request | $.VarRef<Request> | null): void;
|
|
431
|
-
export declare function Redirect(w: ResponseWriter | null, _r: Request | $.VarRef<Request> | null, url: string, code: number): void
|
|
435
|
+
export declare function Redirect(w: ResponseWriter | null, _r: Request | $.VarRef<Request> | null, url: string, code: number): Promise<void>;
|
|
432
436
|
export declare function ParseTime(text: string): [time.Time, $.GoError];
|
|
433
437
|
export declare function DetectContentType(data: $.Slice<number>): string;
|
|
434
438
|
export declare function ParseHTTPVersion(vers: string): [number, number, boolean];
|
|
@@ -4,6 +4,8 @@ import * as context from '@goscript/context/index.js';
|
|
|
4
4
|
import * as errors from '@goscript/errors/index.js';
|
|
5
5
|
import * as fs from '@goscript/io/fs/fs.js';
|
|
6
6
|
import * as io from '@goscript/io/index.js';
|
|
7
|
+
import * as mime from '@goscript/mime/index.js';
|
|
8
|
+
import * as path from '@goscript/path/index.js';
|
|
7
9
|
import * as strings from '@goscript/strings/index.js';
|
|
8
10
|
import * as time from '@goscript/time/index.js';
|
|
9
11
|
export const StatusContinue = 100;
|
|
@@ -210,28 +212,39 @@ export const Header = Map;
|
|
|
210
212
|
export function CanonicalHeaderKey(s) {
|
|
211
213
|
return canonicalMIMEHeaderKey(s);
|
|
212
214
|
}
|
|
215
|
+
function headerMap(h) {
|
|
216
|
+
let value = $.pointerValue(h);
|
|
217
|
+
while (value !== null &&
|
|
218
|
+
value !== undefined &&
|
|
219
|
+
typeof value === 'object' &&
|
|
220
|
+
'__goValue' in value) {
|
|
221
|
+
value = $.pointerValue(value.__goValue);
|
|
222
|
+
}
|
|
223
|
+
return value;
|
|
224
|
+
}
|
|
213
225
|
export function Header_Add(h, key, value) {
|
|
226
|
+
const headers = headerMap(h);
|
|
214
227
|
key = canonicalMIMEHeaderKey(key);
|
|
215
|
-
const values = Array.from(
|
|
228
|
+
const values = Array.from(headers.get(key) ?? []);
|
|
216
229
|
values.push(value);
|
|
217
|
-
|
|
230
|
+
headers.set(key, $.arrayToSlice(values));
|
|
218
231
|
}
|
|
219
232
|
export function Header_Del(h, key) {
|
|
220
|
-
h.delete(canonicalMIMEHeaderKey(key));
|
|
233
|
+
headerMap(h).delete(canonicalMIMEHeaderKey(key));
|
|
221
234
|
}
|
|
222
235
|
export function Header_Get(h, key) {
|
|
223
|
-
const values = h.get(canonicalMIMEHeaderKey(key));
|
|
236
|
+
const values = headerMap(h).get(canonicalMIMEHeaderKey(key));
|
|
224
237
|
return values == null || values.length === 0 ? '' : String(values[0]);
|
|
225
238
|
}
|
|
226
239
|
export function Header_Set(h, key, value) {
|
|
227
|
-
h.set(canonicalMIMEHeaderKey(key), $.arrayToSlice([value]));
|
|
240
|
+
headerMap(h).set(canonicalMIMEHeaderKey(key), $.arrayToSlice([value]));
|
|
228
241
|
}
|
|
229
242
|
export function Header_Values(h, key) {
|
|
230
|
-
return h.get(canonicalMIMEHeaderKey(key)) ?? null;
|
|
243
|
+
return headerMap(h).get(canonicalMIMEHeaderKey(key)) ?? null;
|
|
231
244
|
}
|
|
232
245
|
export function Header_Clone(h) {
|
|
233
246
|
const cloned = new Header();
|
|
234
|
-
for (const [key, values] of h.entries()) {
|
|
247
|
+
for (const [key, values] of headerMap(h).entries()) {
|
|
235
248
|
cloned.set(key, $.arrayToSlice(Array.from(values ?? [])));
|
|
236
249
|
}
|
|
237
250
|
return cloned;
|
|
@@ -240,7 +253,7 @@ export function Header_Write(h, w) {
|
|
|
240
253
|
return Header_WriteSubset(h, w, null);
|
|
241
254
|
}
|
|
242
255
|
export function Header_WriteSubset(h, w, exclude) {
|
|
243
|
-
for (const [key, values] of h.entries()) {
|
|
256
|
+
for (const [key, values] of headerMap(h).entries()) {
|
|
244
257
|
if (exclude?.get(key) === true) {
|
|
245
258
|
continue;
|
|
246
259
|
}
|
|
@@ -505,12 +518,12 @@ function asciiLower(value) {
|
|
|
505
518
|
}
|
|
506
519
|
return [value.toLowerCase(), true];
|
|
507
520
|
}
|
|
508
|
-
export function SetCookie(w, cookie) {
|
|
521
|
+
export async function SetCookie(w, cookie) {
|
|
509
522
|
const c = $.pointerValue(cookie);
|
|
510
523
|
if (w == null || c == null) {
|
|
511
524
|
return;
|
|
512
525
|
}
|
|
513
|
-
Header_Add(w.Header(), 'Set-Cookie', c.String());
|
|
526
|
+
Header_Add(await w.Header(), 'Set-Cookie', c.String());
|
|
514
527
|
}
|
|
515
528
|
class memoryResponseWriter {
|
|
516
529
|
Code = StatusOK;
|
|
@@ -1217,9 +1230,9 @@ async function readFetchBody(fetched, requestContext, abortFetch) {
|
|
|
1217
1230
|
}
|
|
1218
1231
|
export function FS(fsys) {
|
|
1219
1232
|
return {
|
|
1220
|
-
Open(name) {
|
|
1233
|
+
async Open(name) {
|
|
1221
1234
|
const cleaned = cleanFileServerPath(name);
|
|
1222
|
-
const [file, err] = fsys?.Open(cleaned) ?? [null, fs.ErrInvalid];
|
|
1235
|
+
const [file, err] = (await fsys?.Open(cleaned)) ?? [null, fs.ErrInvalid];
|
|
1223
1236
|
if (err != null || file == null) {
|
|
1224
1237
|
return [null, err];
|
|
1225
1238
|
}
|
|
@@ -1266,17 +1279,22 @@ export function FileServer(root) {
|
|
|
1266
1279
|
NotFound(w, req);
|
|
1267
1280
|
return;
|
|
1268
1281
|
}
|
|
1269
|
-
const
|
|
1270
|
-
if (
|
|
1271
|
-
|
|
1272
|
-
|
|
1282
|
+
const header = await w.Header();
|
|
1283
|
+
if (Header_Get(header, 'Content-Type') === '') {
|
|
1284
|
+
const contentType = mime.TypeByExtension(path.Ext(info?.Name?.() || req.URL?.Path || ''));
|
|
1285
|
+
if (contentType !== '') {
|
|
1286
|
+
Header_Set(header, 'Content-Type', contentType);
|
|
1287
|
+
}
|
|
1273
1288
|
}
|
|
1274
1289
|
if (info?.Size != null) {
|
|
1275
|
-
Header_Set(
|
|
1290
|
+
Header_Set(header, 'Content-Length', String(info.Size()));
|
|
1276
1291
|
}
|
|
1277
|
-
w.WriteHeader(StatusOK);
|
|
1292
|
+
await w.WriteHeader(StatusOK);
|
|
1278
1293
|
if (req.Method !== MethodHead) {
|
|
1279
|
-
|
|
1294
|
+
const [, copyErr] = await io.Copy(w, file);
|
|
1295
|
+
if (copyErr != null) {
|
|
1296
|
+
return;
|
|
1297
|
+
}
|
|
1280
1298
|
}
|
|
1281
1299
|
}
|
|
1282
1300
|
finally {
|
|
@@ -1683,7 +1701,7 @@ export function NotFoundHandler() {
|
|
|
1683
1701
|
export function RedirectHandler(url, code) {
|
|
1684
1702
|
return {
|
|
1685
1703
|
ServeHTTP(w, r) {
|
|
1686
|
-
Redirect(w, r, url, code);
|
|
1704
|
+
return Redirect(w, r, url, code);
|
|
1687
1705
|
},
|
|
1688
1706
|
};
|
|
1689
1707
|
}
|
|
@@ -1705,12 +1723,15 @@ export function Error(w, error, code) {
|
|
|
1705
1723
|
export function NotFound(w, _r) {
|
|
1706
1724
|
Error(w, '404 page not found', StatusNotFound);
|
|
1707
1725
|
}
|
|
1708
|
-
export function Redirect(w, _r, url, code) {
|
|
1709
|
-
|
|
1726
|
+
export async function Redirect(w, _r, url, code) {
|
|
1727
|
+
if (w == null) {
|
|
1728
|
+
return;
|
|
1729
|
+
}
|
|
1730
|
+
const header = await w.Header();
|
|
1710
1731
|
if (header != null) {
|
|
1711
1732
|
Header_Set(header, 'Location', url);
|
|
1712
1733
|
}
|
|
1713
|
-
w
|
|
1734
|
+
await w.WriteHeader(code);
|
|
1714
1735
|
}
|
|
1715
1736
|
export function ParseTime(text) {
|
|
1716
1737
|
const date = new globalThis.Date(text);
|