goscript 0.0.28 → 0.0.29
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/analysis.go +41 -2
- package/compiler/expr-call.go +87 -15
- package/compiler/expr-selector.go +100 -0
- package/compiler/spec-value.go +79 -8
- package/compiler/spec.go +236 -0
- package/dist/gs/builtin/builtin.d.ts +1 -0
- package/dist/gs/builtin/builtin.js +11 -0
- package/dist/gs/builtin/builtin.js.map +1 -1
- package/dist/gs/internal/oserror/errors.d.ts +6 -0
- package/dist/gs/internal/oserror/errors.js +7 -0
- package/dist/gs/internal/oserror/errors.js.map +1 -0
- package/dist/gs/internal/oserror/index.d.ts +1 -0
- package/dist/gs/internal/oserror/index.js +2 -0
- package/dist/gs/internal/oserror/index.js.map +1 -0
- package/dist/gs/io/fs/format.d.ts +3 -0
- package/dist/gs/io/fs/format.js +56 -0
- package/dist/gs/io/fs/format.js.map +1 -0
- package/dist/gs/io/fs/fs.d.ts +79 -0
- package/dist/gs/io/fs/fs.js +200 -0
- package/dist/gs/io/fs/fs.js.map +1 -0
- package/dist/gs/io/fs/glob.d.ts +10 -0
- package/dist/gs/io/fs/glob.js +141 -0
- package/dist/gs/io/fs/glob.js.map +1 -0
- package/dist/gs/io/fs/index.d.ts +8 -0
- package/dist/gs/io/fs/index.js +9 -0
- package/dist/gs/io/fs/index.js.map +1 -0
- package/dist/gs/io/fs/readdir.d.ts +7 -0
- package/dist/gs/io/fs/readdir.js +152 -0
- package/dist/gs/io/fs/readdir.js.map +1 -0
- package/dist/gs/io/fs/readfile.d.ts +6 -0
- package/dist/gs/io/fs/readfile.js +118 -0
- package/dist/gs/io/fs/readfile.js.map +1 -0
- package/dist/gs/io/fs/stat.d.ts +6 -0
- package/dist/gs/io/fs/stat.js +87 -0
- package/dist/gs/io/fs/stat.js.map +1 -0
- package/dist/gs/io/fs/sub.d.ts +6 -0
- package/dist/gs/io/fs/sub.js +172 -0
- package/dist/gs/io/fs/sub.js.map +1 -0
- package/dist/gs/io/fs/walk.d.ts +7 -0
- package/dist/gs/io/fs/walk.js +76 -0
- package/dist/gs/io/fs/walk.js.map +1 -0
- package/dist/gs/path/index.d.ts +2 -0
- package/dist/gs/path/index.js +3 -0
- package/dist/gs/path/index.js.map +1 -0
- package/dist/gs/path/match.d.ts +6 -0
- package/dist/gs/path/match.js +281 -0
- package/dist/gs/path/match.js.map +1 -0
- package/dist/gs/path/path.d.ts +7 -0
- package/dist/gs/path/path.js +256 -0
- package/dist/gs/path/path.js.map +1 -0
- package/dist/gs/time/time.d.ts +11 -2
- package/dist/gs/time/time.js +337 -12
- package/dist/gs/time/time.js.map +1 -1
- package/gs/builtin/builtin.ts +13 -0
- package/gs/internal/oserror/errors.ts +14 -0
- package/gs/internal/oserror/index.ts +1 -0
- package/gs/io/fs/format.ts +65 -0
- package/gs/io/fs/fs.ts +359 -0
- package/gs/io/fs/glob.ts +167 -0
- package/gs/io/fs/godoc.txt +35 -0
- package/gs/io/fs/index.ts +8 -0
- package/gs/io/fs/readdir.ts +126 -0
- package/gs/io/fs/readfile.ts +77 -0
- package/gs/io/fs/stat.ts +38 -0
- package/gs/io/fs/sub.ts +208 -0
- package/gs/io/fs/walk.ts +89 -0
- package/gs/path/index.ts +2 -0
- package/gs/path/match.ts +307 -0
- package/gs/path/path.ts +301 -0
- package/gs/strings/reader.test.ts +0 -1
- package/gs/time/time.ts +325 -12
- package/package.json +1 -1
- package/gs/time/godoc.md +0 -116
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builtin.js","sourceRoot":"","sources":["../../../gs/builtin/builtin.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"builtin.js","sourceRoot":"","sources":["../../../gs/builtin/builtin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import * as $ from "@goscript/builtin/builtin.js";
|
|
2
|
+
export declare let ErrInvalid: $.GoError;
|
|
3
|
+
export declare let ErrPermission: $.GoError;
|
|
4
|
+
export declare let ErrExist: $.GoError;
|
|
5
|
+
export declare let ErrNotExist: $.GoError;
|
|
6
|
+
export declare let ErrClosed: $.GoError;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as errors from "@goscript/errors/index.js";
|
|
2
|
+
export let ErrInvalid = errors.New("invalid argument");
|
|
3
|
+
export let ErrPermission = errors.New("permission denied");
|
|
4
|
+
export let ErrExist = errors.New("file already exists");
|
|
5
|
+
export let ErrNotExist = errors.New("file does not exist");
|
|
6
|
+
export let ErrClosed = errors.New("file already closed");
|
|
7
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../gs/internal/oserror/errors.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAA;AAEnD,MAAM,CAAC,IAAI,UAAU,GAAc,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;AAEjE,MAAM,CAAC,IAAI,aAAa,GAAc,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAA;AAErE,MAAM,CAAC,IAAI,QAAQ,GAAc,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;AAElE,MAAM,CAAC,IAAI,WAAW,GAAc,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;AAErE,MAAM,CAAC,IAAI,SAAS,GAAc,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { ErrClosed, ErrExist, ErrInvalid, ErrNotExist, ErrPermission } from "./errors.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../gs/internal/oserror/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import * as $ from "@goscript/builtin/builtin.js";
|
|
2
|
+
import { fileModeString } from "./fs.js";
|
|
3
|
+
import * as time from "@goscript/time/index.js";
|
|
4
|
+
// FormatFileInfo returns a formatted version of info for human readability.
|
|
5
|
+
// Implementations of [FileInfo] can call this from a String method.
|
|
6
|
+
// The output for a file named "hello.go", 100 bytes, mode 0o644, created
|
|
7
|
+
// January 1, 1970 at noon is
|
|
8
|
+
//
|
|
9
|
+
// -rw-r--r-- 100 1970-01-01 12:00:00 hello.go
|
|
10
|
+
export function FormatFileInfo(info) {
|
|
11
|
+
let name = info.Name();
|
|
12
|
+
let b = [];
|
|
13
|
+
b.push(fileModeString(info.Mode()));
|
|
14
|
+
b.push(" ");
|
|
15
|
+
let size = info.Size();
|
|
16
|
+
let usize = 0;
|
|
17
|
+
if (size >= 0) {
|
|
18
|
+
usize = size;
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
b.push("-");
|
|
22
|
+
usize = -size;
|
|
23
|
+
}
|
|
24
|
+
b.push(usize.toString());
|
|
25
|
+
b.push(" ");
|
|
26
|
+
// Use a simple date format since time.DateTime is not available
|
|
27
|
+
b.push(info.ModTime().Format(time.DateTime));
|
|
28
|
+
b.push(" ");
|
|
29
|
+
b.push(name);
|
|
30
|
+
if (info.IsDir()) {
|
|
31
|
+
b.push("/");
|
|
32
|
+
}
|
|
33
|
+
return b.join("");
|
|
34
|
+
}
|
|
35
|
+
// FormatDirEntry returns a formatted version of dir for human readability.
|
|
36
|
+
// Implementations of [DirEntry] can call this from a String method.
|
|
37
|
+
// The outputs for a directory named subdir and a file named hello.go are:
|
|
38
|
+
//
|
|
39
|
+
// d subdir/
|
|
40
|
+
// - hello.go
|
|
41
|
+
export function FormatDirEntry(dir) {
|
|
42
|
+
let name = dir.Name();
|
|
43
|
+
let b = [];
|
|
44
|
+
// The Type method does not return any permission bits,
|
|
45
|
+
// so strip them from the string.
|
|
46
|
+
let mode = fileModeString(dir.Type());
|
|
47
|
+
mode = $.sliceString(mode, undefined, $.len(mode) - 9);
|
|
48
|
+
b.push(mode);
|
|
49
|
+
b.push(" ");
|
|
50
|
+
b.push(name);
|
|
51
|
+
if (dir.IsDir()) {
|
|
52
|
+
b.push("/");
|
|
53
|
+
}
|
|
54
|
+
return b.join("");
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=format.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../../../gs/io/fs/format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,8BAA8B,CAAC;AAClD,OAAO,EAAsB,cAAc,EAAgB,MAAM,SAAS,CAAC;AAE3E,OAAO,KAAK,IAAI,MAAM,yBAAyB,CAAA;AAE/C,4EAA4E;AAC5E,oEAAoE;AACpE,yEAAyE;AACzE,6BAA6B;AAC7B,EAAE;AACF,8CAA8C;AAC9C,MAAM,UAAU,cAAc,CAAC,IAAc;IAC5C,IAAI,IAAI,GAAG,IAAK,CAAC,IAAI,EAAE,CAAA;IACvB,IAAI,CAAC,GAAa,EAAE,CAAA;IACpB,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,IAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IACpC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAEX,IAAI,IAAI,GAAG,IAAK,CAAC,IAAI,EAAE,CAAA;IACvB,IAAI,KAAK,GAAW,CAAC,CAAA;IACrB,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC;QACf,KAAK,GAAI,IAAe,CAAA;IACzB,CAAC;SAAM,CAAC;QACP,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACX,KAAK,GAAI,CAAC,IAAe,CAAA;IAC1B,CAAC;IAED,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAA;IACxB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAEX,gEAAgE;IAChE,CAAC,CAAC,IAAI,CAAC,IAAK,CAAC,OAAO,EAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC9C,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAEX,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACZ,IAAI,IAAK,CAAC,KAAK,EAAE,EAAE,CAAC;QACnB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACZ,CAAC;IAED,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AAClB,CAAC;AAED,2EAA2E;AAC3E,oEAAoE;AACpE,0EAA0E;AAC1E,EAAE;AACF,YAAY;AACZ,aAAa;AACb,MAAM,UAAU,cAAc,CAAC,GAAa;IAC3C,IAAI,IAAI,GAAG,GAAI,CAAC,IAAI,EAAE,CAAA;IACtB,IAAI,CAAC,GAAa,EAAE,CAAA;IAEpB,uDAAuD;IACvD,iCAAiC;IACjC,IAAI,IAAI,GAAG,cAAc,CAAC,GAAI,CAAC,IAAI,EAAE,CAAC,CAAA;IACtC,IAAI,GAAG,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;IAEtD,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACZ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACX,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACZ,IAAI,GAAI,CAAC,KAAK,EAAE,EAAE,CAAC;QAClB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACZ,CAAC;IACD,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AAClB,CAAC"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import * as $ from "@goscript/builtin/builtin.js";
|
|
2
|
+
import * as time from "@goscript/time/index.js";
|
|
3
|
+
export type FS = null | {
|
|
4
|
+
Open(name: string): [File, $.GoError];
|
|
5
|
+
};
|
|
6
|
+
export declare function ValidPath(name: string): boolean;
|
|
7
|
+
export type File = null | {
|
|
8
|
+
Close(): $.GoError;
|
|
9
|
+
Read(_p0: Uint8Array): [number, $.GoError];
|
|
10
|
+
Stat(): [FileInfo, $.GoError];
|
|
11
|
+
};
|
|
12
|
+
export type DirEntry = null | {
|
|
13
|
+
Info(): [FileInfo, $.GoError];
|
|
14
|
+
IsDir(): boolean;
|
|
15
|
+
Name(): string;
|
|
16
|
+
Type(): FileMode;
|
|
17
|
+
};
|
|
18
|
+
export type ReadDirFile = null | ({
|
|
19
|
+
ReadDir(n: number): [$.Slice<DirEntry>, $.GoError];
|
|
20
|
+
} & File);
|
|
21
|
+
export declare let ErrInvalid: $.GoError;
|
|
22
|
+
export declare let ErrPermission: $.GoError;
|
|
23
|
+
export declare let ErrExist: $.GoError;
|
|
24
|
+
export declare let ErrNotExist: $.GoError;
|
|
25
|
+
export declare let ErrClosed: $.GoError;
|
|
26
|
+
export declare function errInvalid(): $.GoError;
|
|
27
|
+
export declare function errPermission(): $.GoError;
|
|
28
|
+
export declare function errExist(): $.GoError;
|
|
29
|
+
export declare function errNotExist(): $.GoError;
|
|
30
|
+
export declare function errClosed(): $.GoError;
|
|
31
|
+
export type FileInfo = null | {
|
|
32
|
+
IsDir(): boolean;
|
|
33
|
+
ModTime(): time.Time;
|
|
34
|
+
Mode(): FileMode;
|
|
35
|
+
Name(): string;
|
|
36
|
+
Size(): number;
|
|
37
|
+
Sys(): null | any;
|
|
38
|
+
};
|
|
39
|
+
export type FileMode = number;
|
|
40
|
+
export declare let ModeDir: FileMode;
|
|
41
|
+
export declare let ModeAppend: FileMode;
|
|
42
|
+
export declare let ModeExclusive: FileMode;
|
|
43
|
+
export declare let ModeTemporary: FileMode;
|
|
44
|
+
export declare let ModeSymlink: FileMode;
|
|
45
|
+
export declare let ModeDevice: FileMode;
|
|
46
|
+
export declare let ModeNamedPipe: FileMode;
|
|
47
|
+
export declare let ModeSocket: FileMode;
|
|
48
|
+
export declare let ModeSetuid: FileMode;
|
|
49
|
+
export declare let ModeSetgid: FileMode;
|
|
50
|
+
export declare let ModeCharDevice: FileMode;
|
|
51
|
+
export declare let ModeSticky: FileMode;
|
|
52
|
+
export declare let ModeIrregular: FileMode;
|
|
53
|
+
export declare let ModeType: FileMode;
|
|
54
|
+
export declare let ModePerm: FileMode;
|
|
55
|
+
export declare function fileModeString(mode: FileMode): string;
|
|
56
|
+
export declare function fileModeType(mode: FileMode): FileMode;
|
|
57
|
+
export declare class PathError {
|
|
58
|
+
get Op(): string;
|
|
59
|
+
set Op(value: string);
|
|
60
|
+
get Path(): string;
|
|
61
|
+
set Path(value: string);
|
|
62
|
+
get Err(): $.GoError;
|
|
63
|
+
set Err(value: $.GoError);
|
|
64
|
+
_fields: {
|
|
65
|
+
Op: $.VarRef<string>;
|
|
66
|
+
Path: $.VarRef<string>;
|
|
67
|
+
Err: $.VarRef<$.GoError>;
|
|
68
|
+
};
|
|
69
|
+
constructor(init?: Partial<{
|
|
70
|
+
Err?: $.GoError;
|
|
71
|
+
Op?: string;
|
|
72
|
+
Path?: string;
|
|
73
|
+
}>);
|
|
74
|
+
clone(): PathError;
|
|
75
|
+
Error(): string;
|
|
76
|
+
Unwrap(): $.GoError;
|
|
77
|
+
Timeout(): boolean;
|
|
78
|
+
static __typeInfo: $.StructTypeInfo;
|
|
79
|
+
}
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
import * as $ from "@goscript/builtin/builtin.js";
|
|
2
|
+
import * as utf8 from "@goscript/unicode/utf8/index.js";
|
|
3
|
+
import * as oserror from "@goscript/internal/oserror/index.js";
|
|
4
|
+
$.registerInterfaceType('FS', null, // Zero value for interface is null
|
|
5
|
+
[{ name: "Open", args: [{ name: "name", type: { kind: $.TypeKind.Basic, name: "string" } }], returns: [{ type: "File" }, { type: { kind: $.TypeKind.Interface, name: 'GoError', methods: [{ name: 'Error', args: [], returns: [{ type: { kind: $.TypeKind.Basic, name: 'string' } }] }] } }] }]);
|
|
6
|
+
// ValidPath reports whether the given path name
|
|
7
|
+
// is valid for use in a call to Open.
|
|
8
|
+
//
|
|
9
|
+
// Path names passed to open are UTF-8-encoded,
|
|
10
|
+
// unrooted, slash-separated sequences of path elements, like "x/y/z".
|
|
11
|
+
// Path names must not contain an element that is "." or ".." or the empty string,
|
|
12
|
+
// except for the special case that the name "." may be used for the root directory.
|
|
13
|
+
// Paths must not start or end with a slash: "/x" and "x/" are invalid.
|
|
14
|
+
//
|
|
15
|
+
// Note that paths are slash-separated on all systems, even Windows.
|
|
16
|
+
// Paths containing other characters such as backslash and colon
|
|
17
|
+
// are accepted as valid, but those characters must never be
|
|
18
|
+
// interpreted by an [FS] implementation as path element separators.
|
|
19
|
+
export function ValidPath(name) {
|
|
20
|
+
if (!utf8.ValidString(name)) {
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
// special case
|
|
24
|
+
if (name == ".") {
|
|
25
|
+
// special case
|
|
26
|
+
return true;
|
|
27
|
+
}
|
|
28
|
+
// Iterate over elements in name, checking each.
|
|
29
|
+
// reached clean ending
|
|
30
|
+
for (;;) {
|
|
31
|
+
let i = 0;
|
|
32
|
+
for (; i < $.len(name) && $.indexString(name, i) != 47;) {
|
|
33
|
+
i++;
|
|
34
|
+
}
|
|
35
|
+
let elem = $.sliceString(name, undefined, i);
|
|
36
|
+
if (elem == "" || elem == "." || elem == "..") {
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
// reached clean ending
|
|
40
|
+
if (i == $.len(name)) {
|
|
41
|
+
return true;
|
|
42
|
+
}
|
|
43
|
+
name = $.sliceString(name, i + 1, undefined);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
$.registerInterfaceType('File', null, // Zero value for interface is null
|
|
47
|
+
[{ name: "Close", args: [], returns: [{ type: { kind: $.TypeKind.Interface, name: 'GoError', methods: [{ name: 'Error', args: [], returns: [{ type: { kind: $.TypeKind.Basic, name: 'string' } }] }] } }] }, { name: "Read", args: [{ name: "", type: { kind: $.TypeKind.Slice, elemType: { kind: $.TypeKind.Basic, name: "number" } } }], returns: [{ type: { kind: $.TypeKind.Basic, name: "number" } }, { type: { kind: $.TypeKind.Interface, name: 'GoError', methods: [{ name: 'Error', args: [], returns: [{ type: { kind: $.TypeKind.Basic, name: 'string' } }] }] } }] }, { name: "Stat", args: [], returns: [{ type: "FileInfo" }, { type: { kind: $.TypeKind.Interface, name: 'GoError', methods: [{ name: 'Error', args: [], returns: [{ type: { kind: $.TypeKind.Basic, name: 'string' } }] }] } }] }]);
|
|
48
|
+
$.registerInterfaceType('DirEntry', null, // Zero value for interface is null
|
|
49
|
+
[{ name: "Info", args: [], returns: [{ type: "FileInfo" }, { type: { kind: $.TypeKind.Interface, name: 'GoError', methods: [{ name: 'Error', args: [], returns: [{ type: { kind: $.TypeKind.Basic, name: 'string' } }] }] } }] }, { name: "IsDir", args: [], returns: [{ type: { kind: $.TypeKind.Basic, name: "boolean" } }] }, { name: "Name", args: [], returns: [{ type: { kind: $.TypeKind.Basic, name: "string" } }] }, { name: "Type", args: [], returns: [{ type: "FileMode" }] }]);
|
|
50
|
+
$.registerInterfaceType('ReadDirFile', null, // Zero value for interface is null
|
|
51
|
+
[{ name: "ReadDir", args: [{ name: "n", type: { kind: $.TypeKind.Basic, name: "number" } }], returns: [{ type: { kind: $.TypeKind.Slice, elemType: "DirEntry" } }, { type: { kind: $.TypeKind.Interface, name: 'GoError', methods: [{ name: 'Error', args: [], returns: [{ type: { kind: $.TypeKind.Basic, name: 'string' } }] }] } }] }]);
|
|
52
|
+
// "invalid argument"
|
|
53
|
+
export let ErrInvalid = errInvalid();
|
|
54
|
+
// "permission denied"
|
|
55
|
+
export let ErrPermission = errPermission();
|
|
56
|
+
// "file already exists"
|
|
57
|
+
export let ErrExist = errExist();
|
|
58
|
+
// "file does not exist"
|
|
59
|
+
export let ErrNotExist = errNotExist();
|
|
60
|
+
// "file already closed"
|
|
61
|
+
export let ErrClosed = errClosed();
|
|
62
|
+
export function errInvalid() {
|
|
63
|
+
return oserror.ErrInvalid;
|
|
64
|
+
}
|
|
65
|
+
export function errPermission() {
|
|
66
|
+
return oserror.ErrPermission;
|
|
67
|
+
}
|
|
68
|
+
export function errExist() {
|
|
69
|
+
return oserror.ErrExist;
|
|
70
|
+
}
|
|
71
|
+
export function errNotExist() {
|
|
72
|
+
return oserror.ErrNotExist;
|
|
73
|
+
}
|
|
74
|
+
export function errClosed() {
|
|
75
|
+
return oserror.ErrClosed;
|
|
76
|
+
}
|
|
77
|
+
$.registerInterfaceType('FileInfo', null, // Zero value for interface is null
|
|
78
|
+
[{ name: "IsDir", args: [], returns: [{ type: { kind: $.TypeKind.Basic, name: "boolean" } }] }, { name: "ModTime", args: [], returns: [{ type: "Time" }] }, { name: "Mode", args: [], returns: [{ type: "FileMode" }] }, { name: "Name", args: [], returns: [{ type: { kind: $.TypeKind.Basic, name: "string" } }] }, { name: "Size", args: [], returns: [{ type: { kind: $.TypeKind.Basic, name: "number" } }] }, { name: "Sys", args: [], returns: [{ type: { kind: $.TypeKind.Interface, methods: [] } }] }]);
|
|
79
|
+
// The single letters are the abbreviations
|
|
80
|
+
// used by the String method's formatting.
|
|
81
|
+
// d: is a directory
|
|
82
|
+
export let ModeDir = 2147483648;
|
|
83
|
+
// a: append-only
|
|
84
|
+
export let ModeAppend = 0;
|
|
85
|
+
// l: exclusive use
|
|
86
|
+
export let ModeExclusive = 0;
|
|
87
|
+
// T: temporary file; Plan 9 only
|
|
88
|
+
export let ModeTemporary = 0;
|
|
89
|
+
// L: symbolic link
|
|
90
|
+
export let ModeSymlink = 0;
|
|
91
|
+
// D: device file
|
|
92
|
+
export let ModeDevice = 0;
|
|
93
|
+
// p: named pipe (FIFO)
|
|
94
|
+
export let ModeNamedPipe = 0;
|
|
95
|
+
// S: Unix domain socket
|
|
96
|
+
export let ModeSocket = 0;
|
|
97
|
+
// u: setuid
|
|
98
|
+
export let ModeSetuid = 0;
|
|
99
|
+
// g: setgid
|
|
100
|
+
export let ModeSetgid = 0;
|
|
101
|
+
// c: Unix character device, when ModeDevice is set
|
|
102
|
+
export let ModeCharDevice = 0;
|
|
103
|
+
// t: sticky
|
|
104
|
+
export let ModeSticky = 0;
|
|
105
|
+
// ?: non-regular file; nothing else is known about this file
|
|
106
|
+
export let ModeIrregular = 0;
|
|
107
|
+
// Mask for the type bits. For regular files, none will be set.
|
|
108
|
+
export let ModeType = ((((((2147483648 | 134217728) | 33554432) | 16777216) | 67108864) | 2097152) | 524288);
|
|
109
|
+
// Unix permission bits
|
|
110
|
+
export let ModePerm = 0o777;
|
|
111
|
+
// FileMode methods
|
|
112
|
+
export function fileModeString(mode) {
|
|
113
|
+
const buf = [];
|
|
114
|
+
// File type
|
|
115
|
+
if (mode & ModeDir)
|
|
116
|
+
buf.push("d");
|
|
117
|
+
else if (mode & ModeSymlink)
|
|
118
|
+
buf.push("L");
|
|
119
|
+
else if (mode & ModeDevice)
|
|
120
|
+
buf.push("D");
|
|
121
|
+
else if (mode & ModeNamedPipe)
|
|
122
|
+
buf.push("p");
|
|
123
|
+
else if (mode & ModeSocket)
|
|
124
|
+
buf.push("S");
|
|
125
|
+
else if (mode & ModeCharDevice)
|
|
126
|
+
buf.push("c");
|
|
127
|
+
else if (mode & ModeIrregular)
|
|
128
|
+
buf.push("?");
|
|
129
|
+
else
|
|
130
|
+
buf.push("-");
|
|
131
|
+
// Permission bits
|
|
132
|
+
const perm = mode & ModePerm;
|
|
133
|
+
buf.push((perm & 0o400) ? "r" : "-");
|
|
134
|
+
buf.push((perm & 0o200) ? "w" : "-");
|
|
135
|
+
buf.push((perm & 0o100) ? "x" : "-");
|
|
136
|
+
buf.push((perm & 0o040) ? "r" : "-");
|
|
137
|
+
buf.push((perm & 0o020) ? "w" : "-");
|
|
138
|
+
buf.push((perm & 0o010) ? "x" : "-");
|
|
139
|
+
buf.push((perm & 0o004) ? "r" : "-");
|
|
140
|
+
buf.push((perm & 0o002) ? "w" : "-");
|
|
141
|
+
buf.push((perm & 0o001) ? "x" : "-");
|
|
142
|
+
return buf.join("");
|
|
143
|
+
}
|
|
144
|
+
export function fileModeType(mode) {
|
|
145
|
+
return mode & ModeType;
|
|
146
|
+
}
|
|
147
|
+
export class PathError {
|
|
148
|
+
get Op() {
|
|
149
|
+
return this._fields.Op.value;
|
|
150
|
+
}
|
|
151
|
+
set Op(value) {
|
|
152
|
+
this._fields.Op.value = value;
|
|
153
|
+
}
|
|
154
|
+
get Path() {
|
|
155
|
+
return this._fields.Path.value;
|
|
156
|
+
}
|
|
157
|
+
set Path(value) {
|
|
158
|
+
this._fields.Path.value = value;
|
|
159
|
+
}
|
|
160
|
+
get Err() {
|
|
161
|
+
return this._fields.Err.value;
|
|
162
|
+
}
|
|
163
|
+
set Err(value) {
|
|
164
|
+
this._fields.Err.value = value;
|
|
165
|
+
}
|
|
166
|
+
_fields;
|
|
167
|
+
constructor(init) {
|
|
168
|
+
this._fields = {
|
|
169
|
+
Op: $.varRef(init?.Op ?? ""),
|
|
170
|
+
Path: $.varRef(init?.Path ?? ""),
|
|
171
|
+
Err: $.varRef(init?.Err ?? null)
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
clone() {
|
|
175
|
+
const cloned = new PathError();
|
|
176
|
+
cloned._fields = {
|
|
177
|
+
Op: $.varRef(this._fields.Op.value),
|
|
178
|
+
Path: $.varRef(this._fields.Path.value),
|
|
179
|
+
Err: $.varRef(this._fields.Err.value)
|
|
180
|
+
};
|
|
181
|
+
return cloned;
|
|
182
|
+
}
|
|
183
|
+
Error() {
|
|
184
|
+
const e = this;
|
|
185
|
+
return e.Op + " " + e.Path + ": " + e.Err.Error();
|
|
186
|
+
}
|
|
187
|
+
Unwrap() {
|
|
188
|
+
const e = this;
|
|
189
|
+
return e.Err;
|
|
190
|
+
}
|
|
191
|
+
// Timeout reports whether this error represents a timeout.
|
|
192
|
+
Timeout() {
|
|
193
|
+
const e = this;
|
|
194
|
+
let { value: t, ok: ok } = $.typeAssert(e.Err, { kind: $.TypeKind.Interface, methods: [{ name: 'Timeout', args: [], returns: [{ type: { kind: $.TypeKind.Basic, name: 'boolean' } }] }] });
|
|
195
|
+
return ok && t.Timeout();
|
|
196
|
+
}
|
|
197
|
+
// Register this type with the runtime type system
|
|
198
|
+
static __typeInfo = $.registerStructType('PathError', new PathError(), [{ name: "Error", args: [], returns: [{ type: { kind: $.TypeKind.Basic, name: "string" } }] }, { name: "Unwrap", args: [], returns: [{ type: { kind: $.TypeKind.Interface, name: 'GoError', methods: [{ name: 'Error', args: [], returns: [{ type: { kind: $.TypeKind.Basic, name: 'string' } }] }] } }] }, { name: "Timeout", args: [], returns: [{ type: { kind: $.TypeKind.Basic, name: "boolean" } }] }], PathError, { "Op": { kind: $.TypeKind.Basic, name: "string" }, "Path": { kind: $.TypeKind.Basic, name: "string" }, "Err": { kind: $.TypeKind.Interface, name: 'GoError', methods: [{ name: 'Error', args: [], returns: [{ type: { kind: $.TypeKind.Basic, name: 'string' } }] }] } });
|
|
199
|
+
}
|
|
200
|
+
//# sourceMappingURL=fs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fs.js","sourceRoot":"","sources":["../../../../gs/io/fs/fs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as $ from "@goscript/builtin/builtin.js";
|
|
2
|
+
import { FS } from "./fs.js";
|
|
3
|
+
export type GlobFS = null | ({
|
|
4
|
+
Glob(pattern: string): [$.Slice<string>, $.GoError];
|
|
5
|
+
} & FS);
|
|
6
|
+
export declare function Glob(fsys: FS, pattern: string): [$.Slice<string>, $.GoError];
|
|
7
|
+
export declare function globWithLimit(fsys: FS, pattern: string, depth: number): [$.Slice<string>, $.GoError];
|
|
8
|
+
export declare function cleanGlobPath(path: string): string;
|
|
9
|
+
export declare function glob(fs: FS, dir: string, pattern: string, matches: $.Slice<string>): [$.Slice<string>, $.GoError];
|
|
10
|
+
export declare function hasMeta(path: string): boolean;
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import * as $ from "@goscript/builtin/builtin.js";
|
|
2
|
+
import { Stat } from "./stat.js";
|
|
3
|
+
import { ReadDir } from "./readdir.js";
|
|
4
|
+
import * as path from "@goscript/path/index.js";
|
|
5
|
+
$.registerInterfaceType('GlobFS', null, // Zero value for interface is null
|
|
6
|
+
[{ name: "Glob", args: [{ name: "pattern", type: { kind: $.TypeKind.Basic, name: "string" } }], returns: [{ type: { kind: $.TypeKind.Slice, elemType: { kind: $.TypeKind.Basic, name: "string" } } }, { type: { kind: $.TypeKind.Interface, name: 'GoError', methods: [{ name: 'Error', args: [], returns: [{ type: { kind: $.TypeKind.Basic, name: 'string' } }] }] } }] }]);
|
|
7
|
+
// Glob returns the names of all files matching pattern or nil
|
|
8
|
+
// if there is no matching file. The syntax of patterns is the same
|
|
9
|
+
// as in [path.Match]. The pattern may describe hierarchical names such as
|
|
10
|
+
// usr/*/bin/ed.
|
|
11
|
+
//
|
|
12
|
+
// Glob ignores file system errors such as I/O errors reading directories.
|
|
13
|
+
// The only possible returned error is [path.ErrBadPattern], reporting that
|
|
14
|
+
// the pattern is malformed.
|
|
15
|
+
//
|
|
16
|
+
// If fs implements [GlobFS], Glob calls fs.Glob.
|
|
17
|
+
// Otherwise, Glob uses [ReadDir] to traverse the directory tree
|
|
18
|
+
// and look for matches for the pattern.
|
|
19
|
+
export function Glob(fsys, pattern) {
|
|
20
|
+
let matches = null;
|
|
21
|
+
let err = null;
|
|
22
|
+
{
|
|
23
|
+
return globWithLimit(fsys, pattern, 0);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
export function globWithLimit(fsys, pattern, depth) {
|
|
27
|
+
let matches = null;
|
|
28
|
+
let err = null;
|
|
29
|
+
{
|
|
30
|
+
// This limit is added to prevent stack exhaustion issues. See
|
|
31
|
+
// CVE-2022-30630.
|
|
32
|
+
let pathSeparatorsLimit = 10000;
|
|
33
|
+
if (depth > 10000) {
|
|
34
|
+
return [null, path.ErrBadPattern];
|
|
35
|
+
}
|
|
36
|
+
{
|
|
37
|
+
let { value: fsysTyped, ok: ok } = $.typeAssert(fsys, 'GlobFS');
|
|
38
|
+
if (ok) {
|
|
39
|
+
return fsysTyped.Glob(pattern);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
// Check pattern is well-formed.
|
|
43
|
+
{
|
|
44
|
+
let [, err] = path.Match(pattern, "");
|
|
45
|
+
if (err != null) {
|
|
46
|
+
return [null, err];
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
if (!hasMeta(pattern)) {
|
|
50
|
+
{
|
|
51
|
+
[, err] = Stat(fsys, pattern);
|
|
52
|
+
if (err != null) {
|
|
53
|
+
return [null, null];
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return [$.arrayToSlice([pattern]), null];
|
|
57
|
+
}
|
|
58
|
+
let [dir, file] = path.Split(pattern);
|
|
59
|
+
dir = cleanGlobPath(dir);
|
|
60
|
+
if (!hasMeta(dir)) {
|
|
61
|
+
return glob(fsys, dir, file, null);
|
|
62
|
+
}
|
|
63
|
+
// Prevent infinite recursion. See issue 15879.
|
|
64
|
+
if (dir == pattern) {
|
|
65
|
+
return [null, path.ErrBadPattern];
|
|
66
|
+
}
|
|
67
|
+
let m;
|
|
68
|
+
[m, err] = globWithLimit(fsys, dir, depth + 1);
|
|
69
|
+
if (err != null) {
|
|
70
|
+
return [null, err];
|
|
71
|
+
}
|
|
72
|
+
for (let _i = 0; _i < $.len(m); _i++) {
|
|
73
|
+
const d = m[_i];
|
|
74
|
+
{
|
|
75
|
+
[matches, err] = glob(fsys, d, file, matches);
|
|
76
|
+
if (err != null) {
|
|
77
|
+
return [matches, err];
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
return [matches, err];
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
// cleanGlobPath prepares path for glob matching.
|
|
85
|
+
export function cleanGlobPath(path) {
|
|
86
|
+
// chop off trailing separator
|
|
87
|
+
switch (path) {
|
|
88
|
+
case "":
|
|
89
|
+
return ".";
|
|
90
|
+
break;
|
|
91
|
+
default:
|
|
92
|
+
return $.sliceString(path, 0, $.len(path) - 1);
|
|
93
|
+
break;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
// glob searches for files matching pattern in the directory dir
|
|
97
|
+
// and appends them to matches, returning the updated slice.
|
|
98
|
+
// If the directory cannot be opened, glob returns the existing matches.
|
|
99
|
+
// New matches are added in lexicographical order.
|
|
100
|
+
export function glob(fs, dir, pattern, matches) {
|
|
101
|
+
let m = null;
|
|
102
|
+
let e = null;
|
|
103
|
+
{
|
|
104
|
+
m = matches;
|
|
105
|
+
let [infos, err] = ReadDir(fs, dir);
|
|
106
|
+
// ignore I/O error
|
|
107
|
+
if (err != null) {
|
|
108
|
+
return [m, e];
|
|
109
|
+
}
|
|
110
|
+
for (let _i = 0; _i < $.len(infos); _i++) {
|
|
111
|
+
const info = infos[_i];
|
|
112
|
+
{
|
|
113
|
+
let n = info.Name();
|
|
114
|
+
let [matched, err] = path.Match(pattern, n);
|
|
115
|
+
if (err != null) {
|
|
116
|
+
return [m, err];
|
|
117
|
+
}
|
|
118
|
+
if (matched) {
|
|
119
|
+
m = $.append(m, path.Join(dir, n));
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
return [m, e];
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
// hasMeta reports whether path contains any of the magic characters
|
|
127
|
+
// recognized by path.Match.
|
|
128
|
+
export function hasMeta(path) {
|
|
129
|
+
for (let i = 0; i < $.len(path); i++) {
|
|
130
|
+
switch ($.indexString(path, i)) {
|
|
131
|
+
case 42:
|
|
132
|
+
case 63:
|
|
133
|
+
case 91:
|
|
134
|
+
case 92:
|
|
135
|
+
return true;
|
|
136
|
+
break;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
return false;
|
|
140
|
+
}
|
|
141
|
+
//# sourceMappingURL=glob.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"glob.js","sourceRoot":"","sources":["../../../../gs/io/fs/glob.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * from "./format.js";
|
|
2
|
+
export * from "./fs.js";
|
|
3
|
+
export * from "./glob.js";
|
|
4
|
+
export * from "./readdir.js";
|
|
5
|
+
export * from "./readfile.js";
|
|
6
|
+
export * from "./stat.js";
|
|
7
|
+
export * from "./sub.js";
|
|
8
|
+
export * from "./walk.js";
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../gs/io/fs/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as $ from "@goscript/builtin/builtin.js";
|
|
2
|
+
import { FS, DirEntry, FileInfo } from "./fs.js";
|
|
3
|
+
export type ReadDirFS = null | ({
|
|
4
|
+
ReadDir(name: string): [$.Slice<DirEntry>, $.GoError];
|
|
5
|
+
} & FS);
|
|
6
|
+
export declare function ReadDir(fsys: FS, name: string): [$.Slice<DirEntry>, $.GoError];
|
|
7
|
+
export declare function FileInfoToDirEntry(info: FileInfo): DirEntry;
|