@nudojs/env 0.2.4 → 0.2.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/dist/chunk-BPVYU23Z.js +386 -0
- package/dist/es.d.ts +8 -3
- package/dist/es.js +1 -1
- package/dist/node.d.ts +4 -0
- package/dist/node.js +423 -302
- package/dist/web.d.ts +4 -0
- package/dist/web.js +320 -265
- package/package.json +2 -2
- package/dist/chunk-VBTQ36SR.js +0 -227
package/dist/node.js
CHANGED
|
@@ -1,17 +1,33 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
arrOf,
|
|
3
|
+
brandOf,
|
|
4
|
+
defineEnv,
|
|
5
|
+
envFn,
|
|
6
|
+
nullLit,
|
|
7
|
+
objAbs,
|
|
8
|
+
prim,
|
|
9
|
+
promiseOf,
|
|
10
|
+
tupleOf,
|
|
11
|
+
undef,
|
|
12
|
+
unionOf
|
|
13
|
+
} from "./chunk-BPVYU23Z.js";
|
|
4
14
|
|
|
5
15
|
// src/node.ts
|
|
6
|
-
import {
|
|
16
|
+
import {
|
|
17
|
+
litValue,
|
|
18
|
+
strLit,
|
|
19
|
+
boolLit
|
|
20
|
+
} from "@nudojs/core";
|
|
7
21
|
import nodePath from "path";
|
|
8
|
-
function
|
|
9
|
-
|
|
22
|
+
function absStr(a) {
|
|
23
|
+
if (!a) return void 0;
|
|
24
|
+
const v = litValue(a);
|
|
25
|
+
return typeof v === "string" ? v : void 0;
|
|
10
26
|
}
|
|
11
|
-
function
|
|
27
|
+
function allAbsStr(args) {
|
|
12
28
|
const result = [];
|
|
13
29
|
for (const a of args) {
|
|
14
|
-
const s =
|
|
30
|
+
const s = absStr(a);
|
|
15
31
|
if (s === void 0) return void 0;
|
|
16
32
|
result.push(s);
|
|
17
33
|
}
|
|
@@ -19,334 +35,439 @@ function allLitStr(args) {
|
|
|
19
35
|
}
|
|
20
36
|
function defineEnv2() {
|
|
21
37
|
const esEnv = defineEnv();
|
|
22
|
-
const BufferInstance =
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
38
|
+
const BufferInstance = brandOf(
|
|
39
|
+
"Buffer",
|
|
40
|
+
objAbs({
|
|
41
|
+
toString: envFn([prim.str()], prim.str()),
|
|
42
|
+
toJSON: envFn(
|
|
43
|
+
[],
|
|
44
|
+
objAbs({ type: prim.str(), data: arrOf(prim.num()) })
|
|
45
|
+
),
|
|
46
|
+
length: prim.num(),
|
|
47
|
+
slice: envFn([prim.num(), prim.num()], brandOf("Buffer")),
|
|
48
|
+
copy: envFn(
|
|
49
|
+
[prim.unknown, prim.num(), prim.num(), prim.num()],
|
|
50
|
+
prim.num()
|
|
51
|
+
),
|
|
52
|
+
write: envFn(
|
|
53
|
+
[prim.str(), prim.num(), prim.num(), prim.str()],
|
|
54
|
+
prim.num()
|
|
55
|
+
),
|
|
56
|
+
readUInt8: envFn([prim.num()], prim.num()),
|
|
57
|
+
readUInt16BE: envFn([prim.num()], prim.num()),
|
|
58
|
+
readUInt16LE: envFn([prim.num()], prim.num()),
|
|
59
|
+
readUInt32BE: envFn([prim.num()], prim.num()),
|
|
60
|
+
readUInt32LE: envFn([prim.num()], prim.num()),
|
|
61
|
+
readInt8: envFn([prim.num()], prim.num()),
|
|
62
|
+
readInt16BE: envFn([prim.num()], prim.num()),
|
|
63
|
+
readInt16LE: envFn([prim.num()], prim.num()),
|
|
64
|
+
readInt32BE: envFn([prim.num()], prim.num()),
|
|
65
|
+
readInt32LE: envFn([prim.num()], prim.num()),
|
|
66
|
+
includes: envFn([unionOf(prim.str(), prim.num())], prim.bool()),
|
|
67
|
+
indexOf: envFn([unionOf(prim.str(), prim.num())], prim.num()),
|
|
68
|
+
fill: envFn([unionOf(prim.str(), prim.num())], brandOf("Buffer")),
|
|
69
|
+
equals: envFn([brandOf("Buffer")], prim.bool()),
|
|
70
|
+
compare: envFn([brandOf("Buffer")], prim.num()),
|
|
71
|
+
subarray: envFn([prim.num(), prim.num()], brandOf("Buffer"))
|
|
72
|
+
})
|
|
73
|
+
);
|
|
74
|
+
const bufferBrand = BufferInstance;
|
|
46
75
|
const fsModule = {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
76
|
+
// encoding 字面量 → string;否则 string|Buffer(TS 重载近似)
|
|
77
|
+
readFileSync: envFn(
|
|
78
|
+
[prim.str(), unionOf(prim.str(), objAbs({}))],
|
|
79
|
+
unionOf(prim.str(), bufferBrand),
|
|
51
80
|
(args) => {
|
|
52
81
|
const enc = args[1];
|
|
53
|
-
if (!enc) return
|
|
54
|
-
if (enc.
|
|
55
|
-
|
|
56
|
-
|
|
82
|
+
if (!enc) return unionOf(prim.str(), bufferBrand);
|
|
83
|
+
if (enc.term?.op === "lit" && typeof enc.term.value === "string") {
|
|
84
|
+
return prim.str();
|
|
85
|
+
}
|
|
86
|
+
if (enc.shape.k === "prim" && enc.shape.type === "string" && !enc.term) {
|
|
87
|
+
return prim.str();
|
|
88
|
+
}
|
|
89
|
+
return unionOf(prim.str(), bufferBrand);
|
|
57
90
|
}
|
|
58
91
|
),
|
|
59
|
-
writeFileSync:
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
92
|
+
writeFileSync: envFn(
|
|
93
|
+
[prim.str(), unionOf(prim.str(), bufferBrand)],
|
|
94
|
+
undef()
|
|
95
|
+
),
|
|
96
|
+
appendFileSync: envFn(
|
|
97
|
+
[prim.str(), unionOf(prim.str(), bufferBrand)],
|
|
98
|
+
undef()
|
|
99
|
+
),
|
|
100
|
+
existsSync: envFn([prim.str()], prim.bool()),
|
|
101
|
+
mkdirSync: envFn([prim.str(), prim.unknown], unionOf(prim.str(), undef())),
|
|
102
|
+
rmdirSync: envFn([prim.str()], undef()),
|
|
103
|
+
rmSync: envFn([prim.str(), prim.unknown], undef()),
|
|
104
|
+
unlinkSync: envFn([prim.str()], undef()),
|
|
105
|
+
renameSync: envFn([prim.str(), prim.str()], undef()),
|
|
106
|
+
copyFileSync: envFn([prim.str(), prim.str()], undef()),
|
|
107
|
+
statSync: envFn(
|
|
108
|
+
[prim.str()],
|
|
109
|
+
objAbs({
|
|
110
|
+
isFile: envFn([], prim.bool()),
|
|
111
|
+
isDirectory: envFn([], prim.bool()),
|
|
112
|
+
isSymbolicLink: envFn([], prim.bool()),
|
|
113
|
+
size: prim.num(),
|
|
114
|
+
mtime: prim.unknown,
|
|
115
|
+
ctime: prim.unknown,
|
|
116
|
+
atime: prim.unknown,
|
|
117
|
+
birthtime: prim.unknown,
|
|
118
|
+
mode: prim.num(),
|
|
119
|
+
uid: prim.num(),
|
|
120
|
+
gid: prim.num()
|
|
121
|
+
})
|
|
122
|
+
),
|
|
123
|
+
readdirSync: envFn(
|
|
124
|
+
[prim.str(), prim.unknown],
|
|
125
|
+
arrOf(unionOf(prim.str(), prim.unknown))
|
|
126
|
+
),
|
|
127
|
+
realpathSync: envFn([prim.str()], prim.str()),
|
|
128
|
+
readlinkSync: envFn([prim.str()], prim.str()),
|
|
129
|
+
symlinkSync: envFn([prim.str(), prim.str()], undef()),
|
|
130
|
+
chmodSync: envFn([prim.str(), prim.num()], undef()),
|
|
131
|
+
chownSync: envFn([prim.str(), prim.num(), prim.num()], undef()),
|
|
132
|
+
accessSync: envFn([prim.str(), prim.num()], undef()),
|
|
133
|
+
readFile: envFn(
|
|
134
|
+
[prim.str(), prim.unknown],
|
|
135
|
+
promiseOf(unionOf(prim.str(), bufferBrand))
|
|
136
|
+
),
|
|
137
|
+
writeFile: envFn(
|
|
138
|
+
[prim.str(), unionOf(prim.str(), bufferBrand)],
|
|
139
|
+
promiseOf(undef())
|
|
140
|
+
),
|
|
141
|
+
mkdir: envFn(
|
|
142
|
+
[prim.str(), prim.unknown],
|
|
143
|
+
promiseOf(unionOf(prim.str(), undef()))
|
|
144
|
+
),
|
|
145
|
+
rm: envFn([prim.str(), prim.unknown], promiseOf(undef())),
|
|
146
|
+
stat: envFn([prim.str()], promiseOf(prim.unknown)),
|
|
147
|
+
readdir: envFn(
|
|
148
|
+
[prim.str(), prim.unknown],
|
|
149
|
+
promiseOf(arrOf(prim.unknown))
|
|
150
|
+
),
|
|
151
|
+
access: envFn([prim.str(), prim.num()], promiseOf(undef()))
|
|
152
|
+
};
|
|
153
|
+
const strImpl1Abs = (fn) => (args) => {
|
|
154
|
+
const a = absStr(args[0]);
|
|
155
|
+
return a !== void 0 ? strLit(fn(a)) : void 0;
|
|
156
|
+
};
|
|
157
|
+
const pathJoinAbs = (args) => {
|
|
158
|
+
const strs = allAbsStr(args);
|
|
159
|
+
return strs ? strLit(nodePath.join(...strs)) : void 0;
|
|
160
|
+
};
|
|
161
|
+
const pathResolveAbs = (args) => {
|
|
162
|
+
const strs = allAbsStr(args);
|
|
163
|
+
return strs ? strLit(nodePath.resolve(...strs)) : void 0;
|
|
95
164
|
};
|
|
96
|
-
const
|
|
97
|
-
const
|
|
98
|
-
|
|
165
|
+
const pathBasenameAbs = (args) => {
|
|
166
|
+
const p = absStr(args[0]);
|
|
167
|
+
if (p === void 0) return void 0;
|
|
168
|
+
const ext = args[1] !== void 0 ? absStr(args[1]) : void 0;
|
|
169
|
+
return strLit(ext !== void 0 ? nodePath.basename(p, ext) : nodePath.basename(p));
|
|
170
|
+
};
|
|
171
|
+
const pathRelativeAbs = (args) => {
|
|
172
|
+
const from = absStr(args[0]);
|
|
173
|
+
const to = absStr(args[1]);
|
|
174
|
+
return from !== void 0 && to !== void 0 ? strLit(nodePath.relative(from, to)) : void 0;
|
|
175
|
+
};
|
|
176
|
+
const pathIsAbsoluteAbs = (args) => {
|
|
177
|
+
const p = absStr(args[0]);
|
|
178
|
+
return p !== void 0 ? boolLit(nodePath.isAbsolute(p)) : void 0;
|
|
99
179
|
};
|
|
100
180
|
const pathModule = {
|
|
101
|
-
join:
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
const parsed = nodePath.parse(p);
|
|
137
|
-
return T.object({
|
|
138
|
-
root: T.literal(parsed.root),
|
|
139
|
-
dir: T.literal(parsed.dir),
|
|
140
|
-
base: T.literal(parsed.base),
|
|
141
|
-
ext: T.literal(parsed.ext),
|
|
142
|
-
name: T.literal(parsed.name)
|
|
143
|
-
});
|
|
144
|
-
}),
|
|
145
|
-
format: T.fnSig([T.object({})], T.string),
|
|
146
|
-
sep: T.string,
|
|
147
|
-
delimiter: T.string,
|
|
148
|
-
posix: T.unknown,
|
|
149
|
-
win32: T.unknown
|
|
181
|
+
join: envFn([prim.str(), prim.str()], prim.str(), pathJoinAbs),
|
|
182
|
+
resolve: envFn([prim.str()], prim.str(), pathResolveAbs),
|
|
183
|
+
dirname: envFn([prim.str()], prim.str(), strImpl1Abs(nodePath.dirname)),
|
|
184
|
+
basename: envFn([prim.str(), prim.str()], prim.str(), pathBasenameAbs),
|
|
185
|
+
extname: envFn([prim.str()], prim.str(), strImpl1Abs(nodePath.extname)),
|
|
186
|
+
relative: envFn([prim.str(), prim.str()], prim.str(), pathRelativeAbs),
|
|
187
|
+
normalize: envFn([prim.str()], prim.str(), strImpl1Abs(nodePath.normalize)),
|
|
188
|
+
isAbsolute: envFn([prim.str()], prim.bool(), pathIsAbsoluteAbs),
|
|
189
|
+
parse: envFn(
|
|
190
|
+
[prim.str()],
|
|
191
|
+
objAbs({
|
|
192
|
+
root: prim.str(),
|
|
193
|
+
dir: prim.str(),
|
|
194
|
+
base: prim.str(),
|
|
195
|
+
ext: prim.str(),
|
|
196
|
+
name: prim.str()
|
|
197
|
+
}),
|
|
198
|
+
(args) => {
|
|
199
|
+
const p = absStr(args[0]);
|
|
200
|
+
if (p === void 0) return void 0;
|
|
201
|
+
const parsed = nodePath.parse(p);
|
|
202
|
+
return objAbs({
|
|
203
|
+
root: strLit(parsed.root),
|
|
204
|
+
dir: strLit(parsed.dir),
|
|
205
|
+
base: strLit(parsed.base),
|
|
206
|
+
ext: strLit(parsed.ext),
|
|
207
|
+
name: strLit(parsed.name)
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
),
|
|
211
|
+
format: envFn([objAbs({})], prim.str()),
|
|
212
|
+
sep: prim.str(),
|
|
213
|
+
delimiter: prim.str(),
|
|
214
|
+
posix: prim.unknown,
|
|
215
|
+
win32: prim.unknown
|
|
150
216
|
};
|
|
151
217
|
const osModule = {
|
|
152
|
-
platform:
|
|
153
|
-
arch:
|
|
154
|
-
type:
|
|
155
|
-
release:
|
|
156
|
-
hostname:
|
|
157
|
-
homedir:
|
|
158
|
-
tmpdir:
|
|
159
|
-
cpus:
|
|
160
|
-
|
|
161
|
-
speed:
|
|
162
|
-
|
|
163
|
-
totalmem:
|
|
164
|
-
freemem:
|
|
165
|
-
uptime:
|
|
166
|
-
loadavg:
|
|
167
|
-
networkInterfaces:
|
|
168
|
-
userInfo:
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
218
|
+
platform: envFn([], prim.str()),
|
|
219
|
+
arch: envFn([], prim.str()),
|
|
220
|
+
type: envFn([], prim.str()),
|
|
221
|
+
release: envFn([], prim.str()),
|
|
222
|
+
hostname: envFn([], prim.str()),
|
|
223
|
+
homedir: envFn([], prim.str()),
|
|
224
|
+
tmpdir: envFn([], prim.str()),
|
|
225
|
+
cpus: envFn(
|
|
226
|
+
[],
|
|
227
|
+
arrOf(objAbs({ model: prim.str(), speed: prim.num() }))
|
|
228
|
+
),
|
|
229
|
+
totalmem: envFn([], prim.num()),
|
|
230
|
+
freemem: envFn([], prim.num()),
|
|
231
|
+
uptime: envFn([], prim.num()),
|
|
232
|
+
loadavg: envFn([], tupleOf([prim.num(), prim.num(), prim.num()])),
|
|
233
|
+
networkInterfaces: envFn([], prim.unknown),
|
|
234
|
+
userInfo: envFn(
|
|
235
|
+
[],
|
|
236
|
+
objAbs({
|
|
237
|
+
username: prim.str(),
|
|
238
|
+
uid: prim.num(),
|
|
239
|
+
gid: prim.num(),
|
|
240
|
+
shell: unionOf(prim.str(), nullLit()),
|
|
241
|
+
homedir: prim.str()
|
|
242
|
+
})
|
|
243
|
+
),
|
|
244
|
+
EOL: prim.str()
|
|
176
245
|
};
|
|
177
|
-
const nodeUrlObj =
|
|
178
|
-
href:
|
|
179
|
-
origin:
|
|
180
|
-
protocol:
|
|
181
|
-
username:
|
|
182
|
-
password:
|
|
183
|
-
host:
|
|
184
|
-
hostname:
|
|
185
|
-
port:
|
|
186
|
-
pathname:
|
|
187
|
-
search:
|
|
188
|
-
hash:
|
|
189
|
-
toString:
|
|
190
|
-
toJSON:
|
|
246
|
+
const nodeUrlObj = objAbs({
|
|
247
|
+
href: prim.str(),
|
|
248
|
+
origin: prim.str(),
|
|
249
|
+
protocol: prim.str(),
|
|
250
|
+
username: prim.str(),
|
|
251
|
+
password: prim.str(),
|
|
252
|
+
host: prim.str(),
|
|
253
|
+
hostname: prim.str(),
|
|
254
|
+
port: prim.str(),
|
|
255
|
+
pathname: prim.str(),
|
|
256
|
+
search: prim.str(),
|
|
257
|
+
hash: prim.str(),
|
|
258
|
+
toString: envFn([], prim.str()),
|
|
259
|
+
toJSON: envFn([], prim.str())
|
|
191
260
|
});
|
|
192
261
|
const urlModule = {
|
|
193
|
-
URL:
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
const
|
|
199
|
-
return
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
262
|
+
URL: envFn(
|
|
263
|
+
[prim.str(), prim.str()],
|
|
264
|
+
nodeUrlObj,
|
|
265
|
+
(args) => {
|
|
266
|
+
const href = absStr(args[0]);
|
|
267
|
+
const base = args[1] !== void 0 ? absStr(args[1]) : void 0;
|
|
268
|
+
if (href === void 0) return void 0;
|
|
269
|
+
try {
|
|
270
|
+
const url = base !== void 0 ? new URL(href, base) : new URL(href);
|
|
271
|
+
return objAbs({
|
|
272
|
+
href: strLit(url.href),
|
|
273
|
+
origin: strLit(url.origin),
|
|
274
|
+
protocol: strLit(url.protocol),
|
|
275
|
+
username: strLit(url.username),
|
|
276
|
+
password: strLit(url.password),
|
|
277
|
+
host: strLit(url.host),
|
|
278
|
+
hostname: strLit(url.hostname),
|
|
279
|
+
port: strLit(url.port),
|
|
280
|
+
pathname: strLit(url.pathname),
|
|
281
|
+
search: strLit(url.search),
|
|
282
|
+
hash: strLit(url.hash),
|
|
283
|
+
toString: envFn([], prim.str(), () => strLit(url.href)),
|
|
284
|
+
toJSON: envFn([], prim.str(), () => strLit(url.href))
|
|
285
|
+
});
|
|
286
|
+
} catch {
|
|
287
|
+
return void 0;
|
|
288
|
+
}
|
|
216
289
|
}
|
|
217
|
-
|
|
218
|
-
URLSearchParams:
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
290
|
+
),
|
|
291
|
+
URLSearchParams: envFn(
|
|
292
|
+
[prim.unknown],
|
|
293
|
+
objAbs({
|
|
294
|
+
get: envFn([prim.str()], unionOf(prim.str(), nullLit())),
|
|
295
|
+
has: envFn([prim.str()], prim.bool()),
|
|
296
|
+
set: envFn([prim.str(), prim.str()], undef()),
|
|
297
|
+
append: envFn([prim.str(), prim.str()], undef()),
|
|
298
|
+
delete: envFn([prim.str()], undef()),
|
|
299
|
+
toString: envFn([], prim.str())
|
|
300
|
+
})
|
|
301
|
+
),
|
|
302
|
+
fileURLToPath: envFn([prim.str()], prim.str(), strImpl1Abs((s) => {
|
|
227
303
|
try {
|
|
228
304
|
return new URL(s).pathname;
|
|
229
305
|
} catch {
|
|
230
306
|
return s;
|
|
231
307
|
}
|
|
232
308
|
})),
|
|
233
|
-
pathToFileURL:
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
const
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
309
|
+
pathToFileURL: envFn(
|
|
310
|
+
[prim.str()],
|
|
311
|
+
objAbs({ href: prim.str() }),
|
|
312
|
+
(args) => {
|
|
313
|
+
const p = absStr(args[0]);
|
|
314
|
+
if (p === void 0) return void 0;
|
|
315
|
+
try {
|
|
316
|
+
const href = `file://${p.startsWith("/") ? "" : "/"}${p}`;
|
|
317
|
+
return objAbs({ href: strLit(href) });
|
|
318
|
+
} catch {
|
|
319
|
+
return void 0;
|
|
320
|
+
}
|
|
241
321
|
}
|
|
242
|
-
|
|
243
|
-
format:
|
|
322
|
+
),
|
|
323
|
+
format: envFn([prim.unknown], prim.str())
|
|
244
324
|
};
|
|
245
325
|
const cryptoModule = {
|
|
246
|
-
randomBytes:
|
|
247
|
-
randomUUID:
|
|
248
|
-
randomInt:
|
|
249
|
-
createHash:
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
326
|
+
randomBytes: envFn([prim.num()], bufferBrand),
|
|
327
|
+
randomUUID: envFn([], prim.str()),
|
|
328
|
+
randomInt: envFn([prim.num(), prim.num()], prim.num()),
|
|
329
|
+
createHash: envFn(
|
|
330
|
+
[prim.str()],
|
|
331
|
+
objAbs({
|
|
332
|
+
update: envFn([unionOf(prim.str(), bufferBrand)], prim.unknown),
|
|
333
|
+
digest: envFn(
|
|
334
|
+
[prim.str()],
|
|
335
|
+
unionOf(prim.str(), bufferBrand)
|
|
336
|
+
)
|
|
337
|
+
})
|
|
338
|
+
),
|
|
339
|
+
createHmac: envFn(
|
|
340
|
+
[prim.str(), unionOf(prim.str(), bufferBrand)],
|
|
341
|
+
objAbs({
|
|
342
|
+
update: envFn([unionOf(prim.str(), bufferBrand)], prim.unknown),
|
|
343
|
+
digest: envFn(
|
|
344
|
+
[prim.str()],
|
|
345
|
+
unionOf(prim.str(), bufferBrand)
|
|
346
|
+
)
|
|
347
|
+
})
|
|
348
|
+
),
|
|
349
|
+
createCipheriv: envFn(
|
|
350
|
+
[prim.str(), prim.unknown, prim.unknown],
|
|
351
|
+
prim.unknown
|
|
352
|
+
),
|
|
353
|
+
createDecipheriv: envFn(
|
|
354
|
+
[prim.str(), prim.unknown, prim.unknown],
|
|
355
|
+
prim.unknown
|
|
356
|
+
),
|
|
357
|
+
pbkdf2Sync: envFn(
|
|
358
|
+
[prim.str(), prim.str(), prim.num(), prim.num(), prim.str()],
|
|
359
|
+
bufferBrand
|
|
360
|
+
),
|
|
361
|
+
scryptSync: envFn([prim.str(), prim.str(), prim.num()], bufferBrand),
|
|
362
|
+
timingSafeEqual: envFn([bufferBrand, bufferBrand], prim.bool())
|
|
262
363
|
};
|
|
263
364
|
const childProcessModule = {
|
|
264
|
-
execSync:
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
365
|
+
execSync: envFn(
|
|
366
|
+
[prim.str(), prim.unknown],
|
|
367
|
+
unionOf(prim.str(), bufferBrand)
|
|
368
|
+
),
|
|
369
|
+
execFileSync: envFn(
|
|
370
|
+
[prim.str(), arrOf(prim.str()), prim.unknown],
|
|
371
|
+
unionOf(prim.str(), bufferBrand)
|
|
372
|
+
),
|
|
373
|
+
spawnSync: envFn(
|
|
374
|
+
[prim.str(), arrOf(prim.str()), prim.unknown],
|
|
375
|
+
objAbs({
|
|
376
|
+
status: unionOf(prim.num(), nullLit()),
|
|
377
|
+
stdout: unionOf(prim.str(), bufferBrand),
|
|
378
|
+
stderr: unionOf(prim.str(), bufferBrand),
|
|
379
|
+
error: unionOf(brandOf("Error"), undef())
|
|
380
|
+
})
|
|
381
|
+
),
|
|
382
|
+
exec: envFn([prim.str(), prim.unknown], prim.unknown),
|
|
383
|
+
spawn: envFn([prim.str(), arrOf(prim.str()), prim.unknown], prim.unknown),
|
|
384
|
+
fork: envFn([prim.str(), arrOf(prim.str()), prim.unknown], prim.unknown)
|
|
275
385
|
};
|
|
276
386
|
const utilModule = {
|
|
277
|
-
promisify:
|
|
278
|
-
inspect:
|
|
279
|
-
format:
|
|
280
|
-
types:
|
|
281
|
-
isDate:
|
|
282
|
-
isRegExp:
|
|
283
|
-
isPromise:
|
|
284
|
-
isArrayBuffer:
|
|
285
|
-
isTypedArray:
|
|
387
|
+
promisify: envFn([prim.unknown], prim.unknown),
|
|
388
|
+
inspect: envFn([prim.unknown, prim.unknown], prim.str()),
|
|
389
|
+
format: envFn([prim.str()], prim.str()),
|
|
390
|
+
types: objAbs({
|
|
391
|
+
isDate: envFn([prim.unknown], prim.bool()),
|
|
392
|
+
isRegExp: envFn([prim.unknown], prim.bool()),
|
|
393
|
+
isPromise: envFn([prim.unknown], prim.bool()),
|
|
394
|
+
isArrayBuffer: envFn([prim.unknown], prim.bool()),
|
|
395
|
+
isTypedArray: envFn([prim.unknown], prim.bool())
|
|
286
396
|
}),
|
|
287
|
-
TextEncoder:
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
397
|
+
TextEncoder: envFn(
|
|
398
|
+
[],
|
|
399
|
+
objAbs({ encode: envFn([prim.str()], prim.unknown) })
|
|
400
|
+
),
|
|
401
|
+
TextDecoder: envFn(
|
|
402
|
+
[prim.str()],
|
|
403
|
+
objAbs({ decode: envFn([prim.unknown], prim.str()) })
|
|
404
|
+
)
|
|
293
405
|
};
|
|
294
406
|
const nodeGlobals = {
|
|
295
|
-
process:
|
|
296
|
-
env:
|
|
297
|
-
argv:
|
|
298
|
-
argv0:
|
|
299
|
-
execArgv:
|
|
300
|
-
execPath:
|
|
301
|
-
cwd:
|
|
302
|
-
chdir:
|
|
303
|
-
exit:
|
|
304
|
-
pid:
|
|
305
|
-
ppid:
|
|
306
|
-
platform:
|
|
307
|
-
arch:
|
|
308
|
-
version:
|
|
309
|
-
versions:
|
|
310
|
-
stdout:
|
|
311
|
-
stderr:
|
|
312
|
-
stdin:
|
|
313
|
-
|
|
314
|
-
bigint: T.fnSig([], T.bigint)
|
|
407
|
+
process: objAbs({
|
|
408
|
+
env: objAbs({}),
|
|
409
|
+
argv: arrOf(prim.str()),
|
|
410
|
+
argv0: prim.str(),
|
|
411
|
+
execArgv: arrOf(prim.str()),
|
|
412
|
+
execPath: prim.str(),
|
|
413
|
+
cwd: envFn([], prim.str()),
|
|
414
|
+
chdir: envFn([prim.str()], undef()),
|
|
415
|
+
exit: envFn([prim.num()], prim.never),
|
|
416
|
+
pid: prim.num(),
|
|
417
|
+
ppid: prim.num(),
|
|
418
|
+
platform: prim.str(),
|
|
419
|
+
arch: prim.str(),
|
|
420
|
+
version: prim.str(),
|
|
421
|
+
versions: objAbs({}),
|
|
422
|
+
stdout: objAbs({ write: envFn([prim.str()], prim.bool()) }),
|
|
423
|
+
stderr: objAbs({ write: envFn([prim.str()], prim.bool()) }),
|
|
424
|
+
stdin: objAbs({
|
|
425
|
+
on: envFn([prim.str(), prim.unknown], prim.unknown)
|
|
315
426
|
}),
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
427
|
+
hrtime: objAbs({ bigint: envFn([], brandOf("bigint")) }),
|
|
428
|
+
memoryUsage: envFn(
|
|
429
|
+
[],
|
|
430
|
+
objAbs({
|
|
431
|
+
rss: prim.num(),
|
|
432
|
+
heapTotal: prim.num(),
|
|
433
|
+
heapUsed: prim.num(),
|
|
434
|
+
external: prim.num(),
|
|
435
|
+
arrayBuffers: prim.num()
|
|
436
|
+
})
|
|
437
|
+
),
|
|
438
|
+
cpuUsage: envFn(
|
|
439
|
+
[],
|
|
440
|
+
objAbs({ user: prim.num(), system: prim.num() })
|
|
441
|
+
),
|
|
442
|
+
uptime: envFn([], prim.num()),
|
|
443
|
+
nextTick: envFn([prim.unknown], undef()),
|
|
444
|
+
on: envFn([prim.str(), prim.unknown], prim.unknown),
|
|
445
|
+
once: envFn([prim.str(), prim.unknown], prim.unknown),
|
|
446
|
+
off: envFn([prim.str(), prim.unknown], prim.unknown),
|
|
447
|
+
emit: envFn([prim.str()], prim.bool())
|
|
330
448
|
}),
|
|
331
|
-
Buffer:
|
|
332
|
-
from:
|
|
333
|
-
alloc:
|
|
334
|
-
allocUnsafe:
|
|
335
|
-
isBuffer:
|
|
336
|
-
byteLength:
|
|
337
|
-
|
|
338
|
-
|
|
449
|
+
Buffer: objAbs({
|
|
450
|
+
from: envFn([unionOf(prim.str(), arrOf(prim.num()))], bufferBrand),
|
|
451
|
+
alloc: envFn([prim.num()], bufferBrand),
|
|
452
|
+
allocUnsafe: envFn([prim.num()], bufferBrand),
|
|
453
|
+
isBuffer: envFn([prim.unknown], prim.bool()),
|
|
454
|
+
byteLength: envFn(
|
|
455
|
+
[unionOf(prim.str(), bufferBrand)],
|
|
456
|
+
prim.num()
|
|
457
|
+
),
|
|
458
|
+
concat: envFn([arrOf(bufferBrand)], bufferBrand),
|
|
459
|
+
compare: envFn([bufferBrand, bufferBrand], prim.num())
|
|
339
460
|
}),
|
|
340
|
-
__dirname:
|
|
341
|
-
__filename:
|
|
342
|
-
setTimeout:
|
|
343
|
-
setInterval:
|
|
344
|
-
setImmediate:
|
|
345
|
-
clearTimeout:
|
|
346
|
-
clearInterval:
|
|
347
|
-
clearImmediate:
|
|
348
|
-
queueMicrotask:
|
|
349
|
-
structuredClone:
|
|
461
|
+
__dirname: prim.str(),
|
|
462
|
+
__filename: prim.str(),
|
|
463
|
+
setTimeout: envFn([prim.unknown, prim.num()], prim.unknown),
|
|
464
|
+
setInterval: envFn([prim.unknown, prim.num()], prim.unknown),
|
|
465
|
+
setImmediate: envFn([prim.unknown], prim.unknown),
|
|
466
|
+
clearTimeout: envFn([prim.unknown], undef()),
|
|
467
|
+
clearInterval: envFn([prim.unknown], undef()),
|
|
468
|
+
clearImmediate: envFn([prim.unknown], undef()),
|
|
469
|
+
queueMicrotask: envFn([prim.unknown], undef()),
|
|
470
|
+
structuredClone: envFn([prim.unknown], prim.unknown)
|
|
350
471
|
};
|
|
351
472
|
const modules = {
|
|
352
473
|
fs: fsModule,
|