@base44/functions-compiler 0.1.4 → 0.1.6

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.
Files changed (70) hide show
  1. package/README.md +23 -9
  2. package/lib/src/assembly.js +2 -2
  3. package/lib/src/assembly.js.map +1 -1
  4. package/lib/src/assets.d.ts +7 -0
  5. package/lib/src/assets.js +15 -0
  6. package/lib/src/assets.js.map +1 -0
  7. package/lib/src/bundler.d.ts +3 -1
  8. package/lib/src/bundler.js +14 -1
  9. package/lib/src/bundler.js.map +1 -1
  10. package/lib/src/contracts.d.ts +2 -0
  11. package/lib/src/contracts.js +4 -0
  12. package/lib/src/contracts.js.map +1 -1
  13. package/lib/src/deno-bundle.js +2 -2
  14. package/lib/src/deno-bundle.js.map +1 -1
  15. package/lib/src/esbuild/deno-resolver.js +28 -24
  16. package/lib/src/esbuild/deno-resolver.js.map +1 -1
  17. package/lib/src/esbuild/private-data-sources-virtual.js +2 -3
  18. package/lib/src/esbuild/private-data-sources-virtual.js.map +1 -1
  19. package/lib/src/esbuild/runtime-context-specifier.d.ts +1 -0
  20. package/lib/src/esbuild/runtime-context-specifier.js +3 -0
  21. package/lib/src/esbuild/runtime-context-specifier.js.map +1 -0
  22. package/lib/src/esbuild/runtime-context-virtual.d.ts +2 -1
  23. package/lib/src/esbuild/runtime-context-virtual.js +4 -4
  24. package/lib/src/esbuild/runtime-context-virtual.js.map +1 -1
  25. package/lib/src/esbuild/runtime-virtual.js +4 -21
  26. package/lib/src/esbuild/runtime-virtual.js.map +1 -1
  27. package/lib/src/fetch-guard.js +4 -2
  28. package/lib/src/fetch-guard.js.map +1 -1
  29. package/lib/src/generated/assets.d.ts +1 -0
  30. package/lib/src/generated/assets.js +30 -0
  31. package/lib/src/generated/assets.js.map +1 -0
  32. package/lib/src/index.d.ts +1 -1
  33. package/lib/src/index.js.map +1 -1
  34. package/lib/src/lazy-deps.d.ts +2 -0
  35. package/lib/src/lazy-deps.js +11 -0
  36. package/lib/src/lazy-deps.js.map +1 -0
  37. package/lib/src/shards/build.d.ts +4 -1
  38. package/lib/src/shards/build.js +5 -4
  39. package/lib/src/shards/build.js.map +1 -1
  40. package/lib/src/version.d.ts +1 -1
  41. package/lib/src/version.js +1 -1
  42. package/lib/src/worker-entry.js +56 -40
  43. package/lib/src/worker-entry.js.map +1 -1
  44. package/package.json +4 -3
  45. package/lib/dist/activation-shim.mjs +0 -237
  46. package/lib/dist/actor.mjs +0 -1129
  47. package/lib/dist/deno-shim.mjs +0 -2347
  48. package/lib/src/private-data-sources/build-http.ts +0 -51
  49. package/lib/src/private-data-sources/elasticsearch.ts +0 -8
  50. package/lib/src/private-data-sources/http-url.ts +0 -23
  51. package/lib/src/private-data-sources/http.ts +0 -6
  52. package/lib/src/private-data-sources/hyperdrive.ts +0 -48
  53. package/lib/src/private-data-sources/ioredis-adapter.ts +0 -229
  54. package/lib/src/private-data-sources/manifest.ts +0 -150
  55. package/lib/src/private-data-sources/mariadb.ts +0 -8
  56. package/lib/src/private-data-sources/mongodb.ts +0 -70
  57. package/lib/src/private-data-sources/mysql.ts +0 -8
  58. package/lib/src/private-data-sources/node-net-adapter.ts +0 -247
  59. package/lib/src/private-data-sources/oracle.ts +0 -34
  60. package/lib/src/private-data-sources/postgres.ts +0 -8
  61. package/lib/src/private-data-sources/redis-auth.ts +0 -83
  62. package/lib/src/private-data-sources/redis.ts +0 -47
  63. package/lib/src/private-data-sources/runtime-environment.ts +0 -4
  64. package/lib/src/private-data-sources/runtime-manifest-store.ts +0 -32
  65. package/lib/src/private-data-sources/sqlserver.ts +0 -22
  66. package/lib/src/private-data-sources/tcp.ts +0 -86
  67. package/lib/src/private-data-sources/tedious-adapter.ts +0 -67
  68. package/lib/src/private-data-sources/types.ts +0 -29
  69. package/lib/src/runtime/index.ts +0 -30
  70. package/lib/src/runtime-context.ts +0 -29
@@ -1,2347 +0,0 @@
1
- // GENERATED by scripts/build-shim.ts from src/shim/entry.ts — do not edit.
2
- // Regenerate with `npm run build:shim`.
3
- var __create = Object.create;
4
- var __defProp = Object.defineProperty;
5
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
- var __getOwnPropNames = Object.getOwnPropertyNames;
7
- var __getProtoOf = Object.getPrototypeOf;
8
- var __hasOwnProp = Object.prototype.hasOwnProperty;
9
- var __esm = (fn, res) => function __init() {
10
- return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
11
- };
12
- var __commonJS = (cb, mod) => function __require() {
13
- return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
14
- };
15
- var __export = (target, all) => {
16
- for (var name in all)
17
- __defProp(target, name, { get: all[name], enumerable: true });
18
- };
19
- var __copyProps = (to, from, except, desc) => {
20
- if (from && typeof from === "object" || typeof from === "function") {
21
- for (let key of __getOwnPropNames(from))
22
- if (!__hasOwnProp.call(to, key) && key !== except)
23
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
24
- }
25
- return to;
26
- };
27
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
28
- // If the importer is in node compatibility mode or this is not an ESM
29
- // file that has been converted to a CommonJS file using a Babel-
30
- // compatible transform (i.e. "__esModule" has not been set), then set
31
- // "default" to the CommonJS "module.exports" for node compatibility.
32
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
33
- mod
34
- ));
35
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
36
-
37
- // ../../node_modules/isexe/dist/esm/index.min.js
38
- var index_min_exports = {};
39
- __export(index_min_exports, {
40
- isexe: () => R,
41
- posix: () => i,
42
- sync: () => U,
43
- win32: () => a
44
- });
45
- import { statSync as w } from "node:fs";
46
- import { stat as S } from "node:fs/promises";
47
- import { statSync as k } from "node:fs";
48
- import { stat as I } from "node:fs/promises";
49
- import { delimiter as _ } from "node:path";
50
- var y, u, i, C, A, d, T, a, F, L, P, m, v, g, R, U;
51
- var init_index_min = __esm({
52
- "../../node_modules/isexe/dist/esm/index.min.js"() {
53
- y = Object.defineProperty;
54
- u = (t, r) => {
55
- for (var e in r) y(t, e, { get: r[e], enumerable: true });
56
- };
57
- i = {};
58
- u(i, { isexe: () => C, sync: () => A });
59
- C = async (t, r = {}) => {
60
- let { ignoreErrors: e = false } = r;
61
- try {
62
- return d(await S(t), r);
63
- } catch (s) {
64
- let o = s;
65
- if (e || o.code === "EACCES") return false;
66
- throw o;
67
- }
68
- };
69
- A = (t, r = {}) => {
70
- let { ignoreErrors: e = false } = r;
71
- try {
72
- return d(w(t), r);
73
- } catch (s) {
74
- let o = s;
75
- if (e || o.code === "EACCES") return false;
76
- throw o;
77
- }
78
- };
79
- d = (t, r) => t.isFile() && T(t, r);
80
- T = (t, r) => {
81
- let e = r.uid ?? process.getuid?.(), s = r.groups ?? process.getgroups?.() ?? [], o = r.gid ?? process.getgid?.() ?? s[0];
82
- if (e === void 0 || o === void 0) throw new Error("cannot get uid or gid");
83
- let c = /* @__PURE__ */ new Set([o, ...s]), n = t.mode, l = t.uid, E = t.gid, f = parseInt("100", 8), p = parseInt("010", 8), x = parseInt("001", 8), h = f | p;
84
- return !!(n & x || n & p && c.has(E) || n & f && l === e || n & h && e === 0);
85
- };
86
- a = {};
87
- u(a, { isexe: () => F, sync: () => L });
88
- F = async (t, r = {}) => {
89
- let { ignoreErrors: e = false } = r;
90
- try {
91
- return m(await I(t), t, r);
92
- } catch (s) {
93
- let o = s;
94
- if (e || o.code === "EACCES") return false;
95
- throw o;
96
- }
97
- };
98
- L = (t, r = {}) => {
99
- let { ignoreErrors: e = false } = r;
100
- try {
101
- return m(k(t), t, r);
102
- } catch (s) {
103
- let o = s;
104
- if (e || o.code === "EACCES") return false;
105
- throw o;
106
- }
107
- };
108
- P = (t, r) => {
109
- let { pathExt: e = process.env.PATHEXT || "" } = r, s = e.split(_);
110
- if (s.indexOf("") !== -1) return true;
111
- for (let o of s) {
112
- let c = o.toLowerCase(), n = t.substring(t.length - c.length).toLowerCase();
113
- if (c && n === c) return true;
114
- }
115
- return false;
116
- };
117
- m = (t, r, e) => t.isFile() && P(r, e);
118
- v = process.env._ISEXE_TEST_PLATFORM_ || process.platform;
119
- g = v === "win32" ? a : i;
120
- R = g.isexe;
121
- U = g.sync;
122
- }
123
- });
124
-
125
- // node-builtin-reexport:path
126
- import * as builtin from "path";
127
- var require_path = __commonJS({
128
- "node-builtin-reexport:path"(exports, module) {
129
- module.exports = builtin.default ?? builtin;
130
- }
131
- });
132
-
133
- // ../../node_modules/which/lib/index.js
134
- var require_lib = __commonJS({
135
- "../../node_modules/which/lib/index.js"(exports, module) {
136
- var { isexe, sync: isexeSync } = (init_index_min(), __toCommonJS(index_min_exports));
137
- var { join: join6, delimiter, sep, posix } = require_path();
138
- var isWindows2 = process.platform === "win32";
139
- var rSlash = new RegExp(`[${posix.sep}${sep === posix.sep ? "" : sep}]`.replace(/(\\)/g, "\\$1"));
140
- var rRel = new RegExp(`^\\.${rSlash.source}`);
141
- var getNotFoundError = (cmd) => Object.assign(new Error(`not found: ${cmd}`), { code: "ENOENT" });
142
- var getPathInfo = (cmd, {
143
- path: optPath = process.env.PATH,
144
- pathExt: optPathExt = process.env.PATHEXT,
145
- delimiter: optDelimiter = delimiter
146
- }) => {
147
- const pathEnv = cmd.match(rSlash) ? [""] : [
148
- // windows always checks the cwd first
149
- ...isWindows2 ? [process.cwd()] : [],
150
- ...(optPath || /* istanbul ignore next: very unusual */
151
- "").split(optDelimiter)
152
- ];
153
- if (isWindows2) {
154
- const pathExtExe = optPathExt || [".EXE", ".CMD", ".BAT", ".COM"].join(optDelimiter);
155
- const pathExt = pathExtExe.split(optDelimiter).flatMap((item) => [item, item.toLowerCase()]);
156
- if (cmd.includes(".") && pathExt[0] !== "") {
157
- pathExt.unshift("");
158
- }
159
- return { pathEnv, pathExt, pathExtExe };
160
- }
161
- return { pathEnv, pathExt: [""] };
162
- };
163
- var getPathPart = (raw, cmd) => {
164
- const pathPart = /^".*"$/.test(raw) ? raw.slice(1, -1) : raw;
165
- const prefix = !pathPart && rRel.test(cmd) ? cmd.slice(0, 2) : "";
166
- return prefix + join6(pathPart, cmd);
167
- };
168
- var which3 = async (cmd, opt = {}) => {
169
- const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt);
170
- const found = [];
171
- for (const envPart of pathEnv) {
172
- const p = getPathPart(envPart, cmd);
173
- for (const ext of pathExt) {
174
- const withExt = p + ext;
175
- const is = await isexe(withExt, { pathExt: pathExtExe, ignoreErrors: true });
176
- if (is) {
177
- if (!opt.all) {
178
- return withExt;
179
- }
180
- found.push(withExt);
181
- }
182
- }
183
- }
184
- if (opt.all && found.length) {
185
- return found;
186
- }
187
- if (opt.nothrow) {
188
- return null;
189
- }
190
- throw getNotFoundError(cmd);
191
- };
192
- var whichSync = (cmd, opt = {}) => {
193
- const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt);
194
- const found = [];
195
- for (const pathEnvPart of pathEnv) {
196
- const p = getPathPart(pathEnvPart, cmd);
197
- for (const ext of pathExt) {
198
- const withExt = p + ext;
199
- const is = isexeSync(withExt, { pathExt: pathExtExe, ignoreErrors: true });
200
- if (is) {
201
- if (!opt.all) {
202
- return withExt;
203
- }
204
- found.push(withExt);
205
- }
206
- }
207
- }
208
- if (opt.all && found.length) {
209
- return found;
210
- }
211
- if (opt.nothrow) {
212
- return null;
213
- }
214
- throw getNotFoundError(cmd);
215
- };
216
- module.exports = which3;
217
- which3.sync = whichSync;
218
- }
219
- });
220
-
221
- // ../../node_modules/@deno/shim-deno-test/dist/definitions.js
222
- var require_definitions = __commonJS({
223
- "../../node_modules/@deno/shim-deno-test/dist/definitions.js"(exports) {
224
- "use strict";
225
- Object.defineProperty(exports, "__esModule", { value: true });
226
- exports.testDefinitions = void 0;
227
- exports.testDefinitions = [];
228
- }
229
- });
230
-
231
- // ../../node_modules/@deno/shim-deno-test/dist/test.js
232
- var require_test = __commonJS({
233
- "../../node_modules/@deno/shim-deno-test/dist/test.js"(exports) {
234
- "use strict";
235
- Object.defineProperty(exports, "__esModule", { value: true });
236
- exports.test = void 0;
237
- var definitions_js_1 = require_definitions();
238
- exports.test = Object.assign(function test2() {
239
- handleDefinition(arguments);
240
- }, {
241
- ignore() {
242
- handleDefinition(arguments, { ignore: true });
243
- },
244
- only() {
245
- handleDefinition(arguments, { only: true });
246
- }
247
- });
248
- function handleDefinition(args2, additional) {
249
- var _a, _b;
250
- let testDef;
251
- const firstArg = args2[0];
252
- const secondArg = args2[1];
253
- const thirdArg = args2[2];
254
- if (typeof firstArg === "string") {
255
- if (typeof secondArg === "object") {
256
- if (typeof thirdArg === "function") {
257
- if (secondArg.fn != null) {
258
- throw new TypeError("Unexpected 'fn' field in options, test function is already provided as the third argument.");
259
- }
260
- }
261
- if (secondArg.name != null) {
262
- throw new TypeError("Unexpected 'name' field in options, test name is already provided as the first argument.");
263
- }
264
- testDef = { name: firstArg, fn: thirdArg, ...secondArg };
265
- } else {
266
- testDef = { name: firstArg, fn: secondArg };
267
- }
268
- } else if (firstArg instanceof Function) {
269
- if (firstArg.name.length === 0) {
270
- throw new TypeError("The test function must have a name");
271
- }
272
- testDef = { fn: firstArg, name: firstArg.name };
273
- if (secondArg != null) {
274
- throw new TypeError("Unexpected second argument to Deno.test()");
275
- }
276
- } else if (typeof firstArg === "object") {
277
- testDef = { ...firstArg };
278
- if (typeof secondArg === "function") {
279
- testDef.fn = secondArg;
280
- if (firstArg.fn != null) {
281
- throw new TypeError("Unexpected 'fn' field in options, test function is already provided as the second argument.");
282
- }
283
- if (testDef.name == null) {
284
- if (secondArg.name.length === 0) {
285
- throw new TypeError("The test function must have a name");
286
- }
287
- testDef.name = secondArg.name;
288
- }
289
- } else {
290
- if (typeof firstArg.fn !== "function") {
291
- throw new TypeError("Expected 'fn' field in the first argument to be a test function.");
292
- }
293
- }
294
- } else {
295
- throw new TypeError("Unknown test overload");
296
- }
297
- if (typeof testDef.fn !== "function") {
298
- throw new TypeError("Missing test function");
299
- }
300
- if (((_b = (_a = testDef.name) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0) === 0) {
301
- throw new TypeError("The test name can't be empty");
302
- }
303
- if (additional === null || additional === void 0 ? void 0 : additional.ignore) {
304
- testDef.ignore = true;
305
- }
306
- if (additional === null || additional === void 0 ? void 0 : additional.only) {
307
- testDef.only = true;
308
- }
309
- definitions_js_1.testDefinitions.push(testDef);
310
- }
311
- }
312
- });
313
-
314
- // ../../node_modules/@deno/shim-deno-test/dist/index.js
315
- var require_dist = __commonJS({
316
- "../../node_modules/@deno/shim-deno-test/dist/index.js"(exports) {
317
- "use strict";
318
- var __createBinding = exports && exports.__createBinding || (Object.create ? (function(o, m2, k2, k22) {
319
- if (k22 === void 0) k22 = k2;
320
- var desc = Object.getOwnPropertyDescriptor(m2, k2);
321
- if (!desc || ("get" in desc ? !m2.__esModule : desc.writable || desc.configurable)) {
322
- desc = { enumerable: true, get: function() {
323
- return m2[k2];
324
- } };
325
- }
326
- Object.defineProperty(o, k22, desc);
327
- }) : (function(o, m2, k2, k22) {
328
- if (k22 === void 0) k22 = k2;
329
- o[k22] = m2[k2];
330
- }));
331
- var __exportStar = exports && exports.__exportStar || function(m2, exports2) {
332
- for (var p in m2) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports2, p)) __createBinding(exports2, m2, p);
333
- };
334
- Object.defineProperty(exports, "__esModule", { value: true });
335
- exports.testDefinitions = exports.Deno = void 0;
336
- exports.Deno = require_test();
337
- __exportStar(require_test(), exports);
338
- var definitions_js_1 = require_definitions();
339
- Object.defineProperty(exports, "testDefinitions", { enumerable: true, get: function() {
340
- return definitions_js_1.testDefinitions;
341
- } });
342
- }
343
- });
344
-
345
- // src/shim/entry.ts
346
- import { AsyncLocalStorage } from "node:async_hooks";
347
-
348
- // ../../node_modules/@deno/shim-deno/dist/index.mjs
349
- var import_which = __toESM(require_lib(), 1);
350
- var import_which2 = __toESM(require_lib(), 1);
351
- var import_shim_deno_test = __toESM(require_dist(), 1);
352
- import * as fs5 from "fs";
353
- import * as stream from "stream";
354
- import * as fs from "fs";
355
- import { promisify } from "util";
356
- import { stat as nodeStat } from "fs/promises";
357
- import * as os from "os";
358
- import { fstatSync as nodeFstatSync } from "fs";
359
- import { ftruncate as nodeftruncate } from "fs";
360
- import { promisify as promisify2 } from "util";
361
- import { ftruncateSync as nodeftruncateSync } from "fs";
362
- import { fdatasync as nodefdatasync } from "fs";
363
- import { promisify as promisify3 } from "util";
364
- import { fdatasyncSync as nodefdatasyncSync } from "fs";
365
- import { promisify as promisify4 } from "util";
366
- import { read as nodeRead } from "fs";
367
- import * as fs2 from "fs";
368
- import * as fs3 from "fs";
369
- import { promisify as promisify5 } from "util";
370
- import * as fs4 from "fs";
371
- import fs34 from "fs";
372
- import * as os2 from "os";
373
- import { join } from "path";
374
- import { pathToFileURL } from "url";
375
- import stream2 from "stream";
376
- import tty from "tty";
377
- import { isatty } from "tty";
378
- import ps from "process";
379
- import { fileURLToPath } from "url";
380
- import * as fs6 from "fs/promises";
381
- import * as fs7 from "fs";
382
- import * as fs8 from "fs/promises";
383
- import * as fs9 from "fs";
384
- import * as fs10 from "fs";
385
- import { createConnection } from "net";
386
- import { Socket } from "net";
387
- import { once } from "events";
388
- import { connect as tlsConnect } from "tls";
389
- import { readFile } from "fs/promises";
390
- import * as fs11 from "fs/promises";
391
- import * as fs12 from "fs";
392
- import { open as _open } from "fs";
393
- import { promisify as promisify6 } from "util";
394
- import { constants } from "fs";
395
- import os3 from "os";
396
- import { openSync as nodeOpenSync } from "fs";
397
- import { fsync as nodeFsync } from "fs";
398
- import { promisify as promisify7 } from "util";
399
- import { fsyncSync as nodeFsyncSync } from "fs";
400
- import ps2 from "process";
401
- import * as os4 from "os";
402
- import * as util from "util";
403
- import os5 from "os";
404
- import ps3 from "process";
405
- import * as fs13 from "fs/promises";
406
- import * as fs14 from "fs";
407
- import { createServer } from "net";
408
- import { createServer as createServer2 } from "tls";
409
- import * as fs15 from "fs";
410
- import * as os6 from "os";
411
- import * as fs16 from "fs/promises";
412
- import * as fs17 from "fs";
413
- import { mkdtemp } from "fs/promises";
414
- import { join as join2 } from "path";
415
- import { tmpdir } from "os";
416
- import { mkdtempSync } from "fs";
417
- import { join as join3 } from "path";
418
- import { tmpdir as tmpdir2 } from "os";
419
- import { tmpdir as tmpdir3 } from "os";
420
- import { join as join4 } from "path";
421
- import * as fs18 from "fs/promises";
422
- import { tmpdir as tmpdir4 } from "os";
423
- import { join as join5 } from "path";
424
- import * as fs19 from "fs";
425
- import { mkdir as nodeMkdir } from "fs/promises";
426
- import * as fs20 from "fs";
427
- import { release } from "os";
428
- import { uptime } from "os";
429
- import { opendir } from "fs/promises";
430
- import { readdirSync as nodeReadDir } from "fs";
431
- import { readFile as nodeReadFile } from "fs/promises";
432
- import { readFileSync as nodeReadFile2 } from "fs";
433
- import * as fs21 from "fs/promises";
434
- import * as fs22 from "fs";
435
- import * as fs23 from "fs/promises";
436
- import * as fs24 from "fs";
437
- import { rm, rmdir } from "fs/promises";
438
- import ps4 from "process";
439
- import * as fs25 from "fs";
440
- import { rename as nodeRename } from "fs/promises";
441
- import * as fs26 from "fs";
442
- import dns from "dns";
443
- import childProcess from "child_process";
444
- import fs27 from "fs";
445
- import os7 from "os";
446
- import url from "url";
447
- import { once as once2 } from "events";
448
- import { Socket as Socket2 } from "net";
449
- import * as fs28 from "fs";
450
- import * as fs29 from "fs/promises";
451
- import * as fs30 from "fs";
452
- import * as fs31 from "fs/promises";
453
- import * as fs32 from "fs";
454
- import ps5 from "process";
455
- import { watch } from "fs/promises";
456
- import { resolve } from "path";
457
- import * as fs33 from "fs/promises";
458
- import { platform as platform3 } from "os";
459
- var __defProp2 = Object.defineProperty;
460
- var __export2 = (target, all) => {
461
- for (var name in all)
462
- __defProp2(target, name, { get: all[name], enumerable: true });
463
- };
464
- var main_exports = {};
465
- __export2(main_exports, {
466
- File: () => File,
467
- FsFile: () => FsFile,
468
- PermissionStatus: () => PermissionStatus,
469
- Permissions: () => Permissions,
470
- Process: () => Process,
471
- SeekMode: () => SeekMode,
472
- addSignalListener: () => addSignalListener,
473
- args: () => args,
474
- build: () => build,
475
- chdir: () => chdir,
476
- chmod: () => chmod22,
477
- chmodSync: () => chmodSync22,
478
- chown: () => chown2,
479
- chownSync: () => chownSync2,
480
- close: () => close,
481
- connect: () => connect,
482
- connectTls: () => connectTls,
483
- consoleSize: () => consoleSize,
484
- copy: () => copy,
485
- copyFile: () => copyFile2,
486
- copyFileSync: () => copyFileSync2,
487
- create: () => create,
488
- createSync: () => createSync,
489
- customInspect: () => customInspect,
490
- cwd: () => cwd,
491
- env: () => env,
492
- errors: () => errors_exports,
493
- execPath: () => execPath,
494
- exit: () => exit,
495
- fdatasync: () => fdatasync,
496
- fdatasyncSync: () => fdatasyncSync,
497
- fstat: () => fstat2,
498
- fstatSync: () => fstatSync,
499
- fsync: () => fsync,
500
- fsyncSync: () => fsyncSync,
501
- ftruncate: () => ftruncate,
502
- ftruncateSync: () => ftruncateSync,
503
- futime: () => futime,
504
- futimeSync: () => futimeSync,
505
- gid: () => gid,
506
- hostname: () => hostname2,
507
- inspect: () => inspect2,
508
- isatty: () => isatty,
509
- kill: () => kill,
510
- link: () => link2,
511
- linkSync: () => linkSync2,
512
- listen: () => listen,
513
- listenTls: () => listenTls,
514
- loadavg: () => loadavg2,
515
- lstat: () => lstat2,
516
- lstatSync: () => lstatSync2,
517
- mainModule: () => mainModule,
518
- makeTempDir: () => makeTempDir,
519
- makeTempDirSync: () => makeTempDirSync,
520
- makeTempFile: () => makeTempFile,
521
- makeTempFileSync: () => makeTempFileSync,
522
- memoryUsage: () => memoryUsage,
523
- metrics: () => metrics,
524
- mkdir: () => mkdir,
525
- mkdirSync: () => mkdirSync2,
526
- noColor: () => noColor,
527
- open: () => open,
528
- openSync: () => openSync,
529
- osRelease: () => osRelease,
530
- osUptime: () => osUptime,
531
- permissions: () => permissions,
532
- pid: () => pid,
533
- ppid: () => ppid,
534
- read: () => read,
535
- readDir: () => readDir,
536
- readDirSync: () => readDirSync,
537
- readFile: () => readFile2,
538
- readFileSync: () => readFileSync2,
539
- readLink: () => readLink,
540
- readLinkSync: () => readLinkSync,
541
- readSync: () => readSync2,
542
- readTextFile: () => readTextFile,
543
- readTextFileSync: () => readTextFileSync,
544
- realPath: () => realPath,
545
- realPathSync: () => realPathSync,
546
- remove: () => remove,
547
- removeSignalListener: () => removeSignalListener,
548
- removeSync: () => removeSync,
549
- rename: () => rename,
550
- renameSync: () => renameSync2,
551
- resolveDns: () => resolveDns,
552
- resources: () => resources,
553
- run: () => run,
554
- shutdown: () => shutdown,
555
- stat: () => stat,
556
- statSync: () => statSync2,
557
- stderr: () => stderr,
558
- stdin: () => stdin,
559
- stdout: () => stdout,
560
- symlink: () => symlink2,
561
- symlinkSync: () => symlinkSync2,
562
- test: () => import_shim_deno_test.test,
563
- truncate: () => truncate2,
564
- truncateSync: () => truncateSync2,
565
- uid: () => uid,
566
- utime: () => utime,
567
- utimeSync: () => utimeSync,
568
- version: () => version,
569
- watchFs: () => watchFs,
570
- write: () => write2,
571
- writeFile: () => writeFile3,
572
- writeFileSync: () => writeFileSync2,
573
- writeSync: () => writeSync2,
574
- writeTextFile: () => writeTextFile,
575
- writeTextFileSync: () => writeTextFileSync
576
- });
577
- var errors_exports = {};
578
- __export2(errors_exports, {
579
- AddrInUse: () => AddrInUse,
580
- AddrNotAvailable: () => AddrNotAvailable,
581
- AlreadyExists: () => AlreadyExists,
582
- BadResource: () => BadResource,
583
- BrokenPipe: () => BrokenPipe,
584
- Busy: () => Busy,
585
- ConnectionAborted: () => ConnectionAborted,
586
- ConnectionRefused: () => ConnectionRefused,
587
- ConnectionReset: () => ConnectionReset,
588
- Http: () => Http,
589
- Interrupted: () => Interrupted,
590
- InvalidData: () => InvalidData,
591
- NotConnected: () => NotConnected,
592
- NotFound: () => NotFound,
593
- PermissionDenied: () => PermissionDenied,
594
- TimedOut: () => TimedOut,
595
- UnexpectedEof: () => UnexpectedEof,
596
- WriteZero: () => WriteZero
597
- });
598
- var AddrInUse = class extends Error {
599
- };
600
- var AddrNotAvailable = class extends Error {
601
- };
602
- var AlreadyExists = class extends Error {
603
- };
604
- var BadResource = class extends Error {
605
- };
606
- var BrokenPipe = class extends Error {
607
- };
608
- var Busy = class extends Error {
609
- };
610
- var ConnectionAborted = class extends Error {
611
- };
612
- var ConnectionRefused = class extends Error {
613
- };
614
- var ConnectionReset = class extends Error {
615
- };
616
- var Http = class extends Error {
617
- };
618
- var Interrupted = class extends Error {
619
- };
620
- var InvalidData = class extends Error {
621
- };
622
- var NotConnected = class extends Error {
623
- };
624
- var NotFound = class extends Error {
625
- code = "ENOENT";
626
- };
627
- var PermissionDenied = class extends Error {
628
- };
629
- var TimedOut = class extends Error {
630
- };
631
- var UnexpectedEof = class extends Error {
632
- };
633
- var WriteZero = class extends Error {
634
- };
635
- var mapper = (Ctor) => (err) => Object.assign(new Ctor(err.message), {
636
- stack: err.stack
637
- });
638
- var map = {
639
- EEXIST: mapper(AlreadyExists),
640
- ENOENT: mapper(NotFound),
641
- EBADF: mapper(BadResource)
642
- };
643
- var isNodeErr = (e) => {
644
- return e instanceof Error && "code" in e;
645
- };
646
- function mapError(e) {
647
- if (!isNodeErr(e))
648
- return e;
649
- return map[e.code]?.(e) || e;
650
- }
651
- var isWindows = os.platform() === "win32";
652
- function denoifyFileInfo(s) {
653
- return {
654
- atime: s.atime,
655
- birthtime: s.birthtime,
656
- blksize: isWindows ? null : s.blksize,
657
- blocks: isWindows ? null : s.blocks,
658
- dev: s.dev,
659
- gid: isWindows ? null : s.gid,
660
- ino: isWindows ? null : s.ino,
661
- isDirectory: s.isDirectory(),
662
- isFile: s.isFile(),
663
- isSymlink: s.isSymbolicLink(),
664
- isBlockDevice: isWindows ? null : s.isBlockDevice(),
665
- isCharDevice: isWindows ? null : s.isCharacterDevice(),
666
- isFifo: isWindows ? null : s.isFIFO(),
667
- isSocket: isWindows ? null : s.isSocket(),
668
- mode: isWindows ? null : s.mode,
669
- mtime: s.mtime,
670
- nlink: isWindows ? null : s.nlink,
671
- rdev: isWindows ? null : s.rdev,
672
- size: s.size,
673
- uid: isWindows ? null : s.uid
674
- };
675
- }
676
- var stat = async (path) => {
677
- try {
678
- return denoifyFileInfo(await nodeStat(path));
679
- } catch (e) {
680
- throw mapError(e);
681
- }
682
- };
683
- var nodeFstat = promisify(fs.fstat);
684
- var fstat2 = async function(fd) {
685
- try {
686
- return denoifyFileInfo(await nodeFstat(fd));
687
- } catch (err) {
688
- throw mapError(err);
689
- }
690
- };
691
- var fstatSync = function fstatSync2(fd) {
692
- try {
693
- return denoifyFileInfo(nodeFstatSync(fd));
694
- } catch (err) {
695
- throw mapError(err);
696
- }
697
- };
698
- var _ftruncate = promisify2(nodeftruncate);
699
- var ftruncate = _ftruncate;
700
- var ftruncateSync = nodeftruncateSync;
701
- var _fdatasync = promisify3(nodefdatasync);
702
- var fdatasync = _fdatasync;
703
- var fdatasyncSync = nodefdatasyncSync;
704
- var _read = promisify4(nodeRead);
705
- var read = async function read2(rid, buffer) {
706
- if (buffer == null) {
707
- throw new TypeError("Buffer must not be null.");
708
- }
709
- if (buffer.length === 0) {
710
- return 0;
711
- }
712
- const { bytesRead } = await _read(rid, buffer, 0, buffer.length, null);
713
- return bytesRead === 0 ? null : bytesRead;
714
- };
715
- var readSync2 = (fd, buffer) => {
716
- const bytesRead = fs2.readSync(fd, buffer);
717
- return bytesRead === 0 ? null : bytesRead;
718
- };
719
- var nodeWrite = promisify5(fs3.write);
720
- var write2 = async (fd, data) => {
721
- const { bytesWritten } = await nodeWrite(fd, data);
722
- return bytesWritten;
723
- };
724
- var writeSync2 = fs4.writeSync;
725
- Symbol.dispose ??= /* @__PURE__ */ Symbol("Symbol.dispose");
726
- Symbol.asyncDispose ??= /* @__PURE__ */ Symbol("Symbol.asyncDispose");
727
- var FsFile = class {
728
- rid;
729
- #closed = false;
730
- constructor(rid) {
731
- this.rid = rid;
732
- }
733
- [Symbol.dispose]() {
734
- if (!this.#closed) {
735
- this.close();
736
- }
737
- }
738
- async write(p) {
739
- return await write2(this.rid, p);
740
- }
741
- writeSync(p) {
742
- return writeSync2(this.rid, p);
743
- }
744
- async truncate(len) {
745
- await ftruncate(this.rid, len);
746
- }
747
- truncateSync(len) {
748
- return ftruncateSync(this.rid, len);
749
- }
750
- read(p) {
751
- return read(this.rid, p);
752
- }
753
- readSync(p) {
754
- return readSync2(this.rid, p);
755
- }
756
- seek(_offset, _whence) {
757
- throw new Error("Method not implemented.");
758
- }
759
- seekSync(_offset, _whence) {
760
- throw new Error("Method not implemented.");
761
- }
762
- async stat() {
763
- return await fstat2(this.rid);
764
- }
765
- statSync() {
766
- return fstatSync(this.rid);
767
- }
768
- sync() {
769
- throw new Error("Method not implemented.");
770
- }
771
- syncSync() {
772
- throw new Error("Method not implemented.");
773
- }
774
- syncData() {
775
- return fdatasync(this.rid);
776
- }
777
- syncDataSync() {
778
- return fdatasyncSync(this.rid);
779
- }
780
- utime(_atime, _mtime) {
781
- throw new Error("Method not implemented.");
782
- }
783
- utimeSync(_atime, _mtime) {
784
- throw new Error("Method not implemented.");
785
- }
786
- close() {
787
- this.#closed = true;
788
- fs5.closeSync(this.rid);
789
- }
790
- #readableStream;
791
- get readable() {
792
- if (this.#readableStream == null) {
793
- const nodeStream = fs5.createReadStream(null, {
794
- fd: this.rid,
795
- autoClose: false
796
- });
797
- this.#readableStream = stream.Readable.toWeb(nodeStream);
798
- }
799
- return this.#readableStream;
800
- }
801
- #writableStream;
802
- get writable() {
803
- if (this.#writableStream == null) {
804
- const nodeStream = fs5.createWriteStream(null, {
805
- fd: this.rid,
806
- autoClose: false
807
- });
808
- this.#writableStream = stream.Writable.toWeb(nodeStream);
809
- }
810
- return this.#writableStream;
811
- }
812
- };
813
- var File = FsFile;
814
- var PermissionStatus = class extends EventTarget {
815
- state;
816
- onchange = null;
817
- partial = false;
818
- /** @internal */
819
- constructor(state) {
820
- super();
821
- this.state = state;
822
- }
823
- };
824
- var Permissions = class {
825
- query(desc) {
826
- return Promise.resolve(this.querySync(desc));
827
- }
828
- querySync(_desc) {
829
- return new PermissionStatus("granted");
830
- }
831
- revoke(desc) {
832
- return Promise.resolve(this.revokeSync(desc));
833
- }
834
- revokeSync(_desc) {
835
- return new PermissionStatus("denied");
836
- }
837
- request(desc) {
838
- return this.query(desc);
839
- }
840
- requestSync(desc) {
841
- return this.querySync(desc);
842
- }
843
- };
844
- var SeekMode;
845
- (function(SeekMode2) {
846
- SeekMode2[SeekMode2["Start"] = 0] = "Start";
847
- SeekMode2[SeekMode2["Current"] = 1] = "Current";
848
- SeekMode2[SeekMode2["End"] = 2] = "End";
849
- })(SeekMode || (SeekMode = {}));
850
- var arch = process.arch === "arm64" ? "aarch64" : "x86_64";
851
- var build = {
852
- arch,
853
- os: /* @__PURE__ */ ((p) => p === "win32" ? "windows" : p === "darwin" ? "darwin" : "linux")(os2.platform()),
854
- vendor: "pc",
855
- target: ((p) => p === "win32" ? `${arch}-pc-windows-msvc` : p === "darwin" ? `${arch}-apple-darwin` : `${arch}-unknown-linux-gnu`)(os2.platform())
856
- };
857
- var customInspect = /* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom");
858
- var env = {
859
- get(key) {
860
- assertValidKey(key);
861
- return process.env[key];
862
- },
863
- set(key, value) {
864
- assertValidKey(key);
865
- assertValidValue(value);
866
- process.env[key] = value;
867
- },
868
- has(key) {
869
- assertValidKey(key);
870
- return key in process.env;
871
- },
872
- delete(key) {
873
- assertValidKey(key);
874
- delete process.env[key];
875
- },
876
- // @ts-expect-error https://github.com/denoland/deno/issues/10267
877
- toObject() {
878
- return { ...process.env };
879
- }
880
- };
881
- var invalidKeyChars = ["=", "\0"].map((c) => c.charCodeAt(0));
882
- var invalidValueChar = "\0".charCodeAt(0);
883
- function assertValidKey(key) {
884
- if (key.length === 0) {
885
- throw new TypeError("Key is an empty string.");
886
- }
887
- for (let i2 = 0; i2 < key.length; i2++) {
888
- if (invalidKeyChars.includes(key.charCodeAt(i2))) {
889
- const char = key.charCodeAt(i2) === "\0".charCodeAt(0) ? "\\0" : key[i2];
890
- throw new TypeError(`Key contains invalid characters: "${char}"`);
891
- }
892
- }
893
- }
894
- function assertValidValue(value) {
895
- for (let i2 = 0; i2 < value.length; i2++) {
896
- if (value.charCodeAt(i2) === invalidValueChar) {
897
- throw new TypeError('Value contains invalid characters: "\\0"');
898
- }
899
- }
900
- }
901
- var mainModule = pathToFileURL(process.argv[1] ?? join(process.cwd(), "$deno$repl.ts")).href;
902
- var metrics = function metrics2() {
903
- return {
904
- opsDispatched: 0,
905
- opsDispatchedSync: 0,
906
- opsDispatchedAsync: 0,
907
- opsDispatchedAsyncUnref: 0,
908
- opsCompleted: 0,
909
- opsCompletedSync: 0,
910
- opsCompletedAsync: 0,
911
- opsCompletedAsyncUnref: 0,
912
- bytesSentControl: 0,
913
- bytesSentData: 0,
914
- bytesReceived: 0,
915
- ops: {}
916
- };
917
- };
918
- var noColor = process.env.NO_COLOR !== void 0;
919
- var permissions = new Permissions();
920
- var pid = process.pid;
921
- var ppid = process.ppid;
922
- var resources = function resources2() {
923
- console.warn([
924
- "Deno.resources() shim returns a dummy object that does not update.",
925
- "If you think this is a mistake, raise an issue at https://github.com/denoland/node_deno_shims/issues"
926
- ].join("\n"));
927
- return {};
928
- };
929
- function chain(fn, cleanup) {
930
- let prev;
931
- return function _fn(...args2) {
932
- const curr = (prev || Promise.resolve()).then(() => fn(...args2)).finally(cleanup || (() => {
933
- })).then((result) => {
934
- if (prev === curr)
935
- prev = void 0;
936
- return result;
937
- });
938
- return prev = curr;
939
- };
940
- }
941
- var stdinReadable;
942
- var stdin = {
943
- rid: 0,
944
- isTerminal() {
945
- return tty.isatty(this.rid);
946
- },
947
- read: chain((p) => {
948
- return new Promise((resolve2, reject) => {
949
- process.stdin.resume();
950
- process.stdin.on("error", onerror);
951
- process.stdin.once("readable", () => {
952
- process.stdin.off("error", onerror);
953
- const data = process.stdin.read(p.length) ?? process.stdin.read();
954
- if (data) {
955
- p.set(data);
956
- resolve2(data.length > 0 ? data.length : null);
957
- } else {
958
- resolve2(null);
959
- }
960
- });
961
- function onerror(error) {
962
- reject(error);
963
- process.stdin.off("error", onerror);
964
- }
965
- });
966
- }, () => process.stdin.pause()),
967
- get readable() {
968
- if (stdinReadable == null) {
969
- stdinReadable = stream2.Readable.toWeb(process.stdin);
970
- }
971
- return stdinReadable;
972
- },
973
- readSync(buffer) {
974
- return readSync2(this.rid, buffer);
975
- },
976
- close() {
977
- process.stdin.destroy();
978
- },
979
- setRaw(mode, options) {
980
- if (options?.cbreak) {
981
- throw new Error("The cbreak option is not implemented.");
982
- }
983
- process.stdin.setRawMode(mode);
984
- }
985
- };
986
- var stdoutWritable;
987
- var stdout = {
988
- rid: 1,
989
- isTerminal() {
990
- return tty.isatty(this.rid);
991
- },
992
- write: chain((p) => {
993
- return new Promise((resolve2) => {
994
- const result = process.stdout.write(p);
995
- if (!result) {
996
- process.stdout.once("drain", () => resolve2(p.length));
997
- } else {
998
- resolve2(p.length);
999
- }
1000
- });
1001
- }),
1002
- get writable() {
1003
- if (stdoutWritable == null) {
1004
- stdoutWritable = stream2.Writable.toWeb(process.stdout);
1005
- }
1006
- return stdoutWritable;
1007
- },
1008
- writeSync(data) {
1009
- return writeSync2(this.rid, data);
1010
- },
1011
- close() {
1012
- process.stdout.destroy();
1013
- }
1014
- };
1015
- var stderrWritable;
1016
- var stderr = {
1017
- rid: 2,
1018
- isTerminal() {
1019
- return tty.isatty(this.rid);
1020
- },
1021
- write: chain((p) => {
1022
- return new Promise((resolve2) => {
1023
- const result = process.stderr.write(p);
1024
- if (!result) {
1025
- process.stderr.once("drain", () => resolve2(p.length));
1026
- } else {
1027
- resolve2(p.length);
1028
- }
1029
- });
1030
- }),
1031
- get writable() {
1032
- if (stderrWritable == null) {
1033
- stderrWritable = stream2.Writable.toWeb(process.stderr);
1034
- }
1035
- return stderrWritable;
1036
- },
1037
- writeSync(data) {
1038
- return writeSync2(this.rid, data);
1039
- },
1040
- close() {
1041
- process.stderr.destroy();
1042
- }
1043
- };
1044
- var deno = "1.40.2";
1045
- var typescript = "5.3.3";
1046
- var version = {
1047
- deno,
1048
- typescript,
1049
- v8: process.versions.v8
1050
- };
1051
- function denoSignalToNodeJs(signal) {
1052
- if (signal === "SIGEMT") {
1053
- throw new Error("SIGEMT is not supported");
1054
- }
1055
- return signal;
1056
- }
1057
- var addSignalListener = (signal, handler) => {
1058
- ps.addListener(denoSignalToNodeJs(signal), handler);
1059
- };
1060
- var chdir = function(path) {
1061
- try {
1062
- return process.chdir(path instanceof URL ? fileURLToPath(path) : path);
1063
- } catch (error) {
1064
- if (error?.code === "ENOENT") {
1065
- throw new errors_exports.NotFound(`No such file or directory (os error 2), chdir '${path}'`);
1066
- }
1067
- throw mapError(error);
1068
- }
1069
- };
1070
- var chmod22 = fs6.chmod;
1071
- var chmodSync22 = fs7.chmodSync;
1072
- var chown2 = async (path, uid2, gid2) => await fs8.chown(path, uid2 ?? -1, gid2 ?? -1);
1073
- var chownSync2 = (path, uid2, gid2) => fs9.chownSync(path, uid2 ?? -1, gid2 ?? -1);
1074
- var close = fs10.closeSync;
1075
- var Conn = class extends FsFile {
1076
- rid;
1077
- localAddr;
1078
- remoteAddr;
1079
- #socket;
1080
- constructor(rid, localAddr, remoteAddr, socket) {
1081
- super(rid);
1082
- this.rid = rid;
1083
- this.localAddr = localAddr;
1084
- this.remoteAddr = remoteAddr;
1085
- this.#socket = socket || new Socket({ fd: rid });
1086
- }
1087
- [Symbol.dispose]() {
1088
- this.close();
1089
- }
1090
- async closeWrite() {
1091
- await new Promise((resolve2) => this.#socket.end(resolve2));
1092
- }
1093
- setNoDelay(enable) {
1094
- this.#socket.setNoDelay(enable);
1095
- }
1096
- setKeepAlive(enable) {
1097
- this.#socket.setKeepAlive(enable);
1098
- }
1099
- ref() {
1100
- this.#socket.ref();
1101
- }
1102
- unref() {
1103
- this.#socket.unref();
1104
- }
1105
- async read(p) {
1106
- try {
1107
- return await super.read(p);
1108
- } catch (error) {
1109
- if (!(error instanceof Error && "code" in error && error.code == "EAGAIN")) {
1110
- throw error;
1111
- }
1112
- }
1113
- await once(this.#socket, "readable");
1114
- return await super.read(p);
1115
- }
1116
- };
1117
- var TlsConn = class extends Conn {
1118
- handshake() {
1119
- console.warn("@deno/shim-deno: Handshake is not supported.");
1120
- return Promise.resolve({
1121
- alpnProtocol: null
1122
- });
1123
- }
1124
- };
1125
- var connect = function connect2(options) {
1126
- if (options.transport === "unix") {
1127
- throw new Error("Unstable UnixConnectOptions is not implemented");
1128
- }
1129
- const { transport = "tcp", hostname: hostname4 = "127.0.0.1", port } = options;
1130
- if (transport !== "tcp") {
1131
- throw new Error("Deno.connect is only implemented for transport: tcp");
1132
- }
1133
- const socket = createConnection({ port, host: hostname4 });
1134
- socket.on("error", (err) => console.error(err));
1135
- return new Promise((resolve2) => {
1136
- socket.once("connect", () => {
1137
- const rid = socket._handle.fd;
1138
- const localAddr = {
1139
- // cannot be undefined while socket is connected
1140
- hostname: socket.localAddress,
1141
- port: socket.localPort,
1142
- transport: "tcp"
1143
- };
1144
- const remoteAddr = {
1145
- // cannot be undefined while socket is connected
1146
- hostname: socket.remoteAddress,
1147
- port: socket.remotePort,
1148
- transport: "tcp"
1149
- };
1150
- resolve2(new Conn(rid, localAddr, remoteAddr, socket));
1151
- });
1152
- });
1153
- };
1154
- var readTextFile = async (path, { signal } = {}) => {
1155
- try {
1156
- return await readFile(path, { encoding: "utf8", signal });
1157
- } catch (e) {
1158
- throw mapError(e);
1159
- }
1160
- };
1161
- var connectTls = async function connectTls2({ port, hostname: hostname4 = "127.0.0.1", certFile }) {
1162
- const cert = certFile && await readTextFile(certFile);
1163
- const socket = tlsConnect({ port, host: hostname4, cert });
1164
- return new Promise((resolve2) => {
1165
- socket.on("connect", () => {
1166
- const rid = socket._handle.fd;
1167
- const localAddr = {
1168
- // cannot be undefined while socket is connected
1169
- hostname: socket.localAddress,
1170
- port: socket.localPort,
1171
- transport: "tcp"
1172
- };
1173
- const remoteAddr = {
1174
- // cannot be undefined while socket is connected
1175
- hostname: socket.remoteAddress,
1176
- port: socket.remotePort,
1177
- transport: "tcp"
1178
- };
1179
- resolve2(new TlsConn(rid, localAddr, remoteAddr, socket));
1180
- });
1181
- });
1182
- };
1183
- var consoleSize = function consoleSize2() {
1184
- const pipes = [process.stderr, process.stdout];
1185
- for (const pipe of pipes) {
1186
- if (pipe.columns != null) {
1187
- const { columns, rows } = pipe;
1188
- return { columns, rows };
1189
- }
1190
- }
1191
- throw new Error("The handle is invalid.");
1192
- };
1193
- var DEFAULT_BUFFER_SIZE = 32 * 1024;
1194
- var copy = async function copy2(src, dst, options) {
1195
- let n = 0;
1196
- const bufSize = options?.bufSize ?? DEFAULT_BUFFER_SIZE;
1197
- const b = new Uint8Array(bufSize);
1198
- let gotEOF = false;
1199
- while (gotEOF === false) {
1200
- const result = await src.read(b);
1201
- if (result === null) {
1202
- gotEOF = true;
1203
- } else {
1204
- let nwritten = 0;
1205
- while (nwritten < result) {
1206
- nwritten += await dst.write(b.subarray(nwritten, result));
1207
- }
1208
- n += nwritten;
1209
- }
1210
- }
1211
- return n;
1212
- };
1213
- var copyFile2 = async (src, dest) => {
1214
- try {
1215
- await fs11.copyFile(src, dest);
1216
- } catch (error) {
1217
- if (error?.code === "ENOENT") {
1218
- throw new NotFound(`File not found, copy '${src}' -> '${dest}'`);
1219
- }
1220
- throw mapError(error);
1221
- }
1222
- };
1223
- var copyFileSync2 = (src, dest) => {
1224
- try {
1225
- fs12.copyFileSync(src, dest);
1226
- } catch (error) {
1227
- if (error?.code === "ENOENT") {
1228
- throw new NotFound(`File not found, copy '${src}' -> '${dest}'`);
1229
- }
1230
- throw mapError(error);
1231
- }
1232
- };
1233
- var { O_APPEND, O_CREAT, O_EXCL, O_RDONLY, O_RDWR, O_TRUNC, O_WRONLY } = constants;
1234
- function getAccessFlag(opts) {
1235
- if (opts.read && !opts.write && !opts.append)
1236
- return O_RDONLY;
1237
- if (!opts.read && opts.write && !opts.append)
1238
- return O_WRONLY;
1239
- if (opts.read && opts.write && !opts.append)
1240
- return O_RDWR;
1241
- if (!opts.read && opts.append)
1242
- return O_WRONLY | O_APPEND;
1243
- if (opts.read && opts.append)
1244
- return O_RDWR | O_APPEND;
1245
- if (!opts.read && !opts.write && !opts.append) {
1246
- throw new BadResource("EINVAL: One of 'read', 'write', 'append' is required to open file.");
1247
- }
1248
- throw new BadResource("EINVAL: Invalid fs flags.");
1249
- }
1250
- function getCreationFlag(opts) {
1251
- if (!opts.write && !opts.append) {
1252
- if (opts.truncate || opts.create || opts.createNew) {
1253
- throw new BadResource("EINVAL: One of 'write', 'append' is required to 'truncate', 'create' or 'createNew' file.");
1254
- }
1255
- }
1256
- if (opts.append) {
1257
- if (opts.truncate && !opts.createNew) {
1258
- throw new BadResource("EINVAL: unexpected 'truncate': true and 'createNew': false when 'append' is true.");
1259
- }
1260
- }
1261
- if (!opts.create && !opts.truncate && !opts.createNew)
1262
- return 0;
1263
- if (opts.create && !opts.truncate && !opts.createNew)
1264
- return O_CREAT;
1265
- if (!opts.create && opts.truncate && !opts.createNew) {
1266
- if (os3.platform() === "win32") {
1267
- return O_CREAT | O_TRUNC;
1268
- } else {
1269
- return O_TRUNC;
1270
- }
1271
- }
1272
- if (opts.create && opts.truncate && !opts.createNew) {
1273
- return O_CREAT | O_TRUNC;
1274
- }
1275
- if (opts.createNew)
1276
- return O_CREAT | O_EXCL;
1277
- throw new BadResource("EINVAL: Invalid fs flags.");
1278
- }
1279
- function getFsFlag(flags) {
1280
- return getAccessFlag(flags) | getCreationFlag(flags);
1281
- }
1282
- var nodeOpen = promisify6(_open);
1283
- var open = async function open2(path, { read: read3, write: write3, append, truncate: truncate3, create: create3, createNew, mode = 438 } = {
1284
- read: true
1285
- }) {
1286
- const flagMode = getFsFlag({
1287
- read: read3,
1288
- write: write3,
1289
- append,
1290
- truncate: truncate3,
1291
- create: create3,
1292
- createNew
1293
- });
1294
- try {
1295
- const fd = await nodeOpen(path, flagMode, mode);
1296
- return new File(fd);
1297
- } catch (err) {
1298
- throw mapError(err);
1299
- }
1300
- };
1301
- var create = async function create2(path) {
1302
- return await open(path, { write: true, create: true, truncate: true });
1303
- };
1304
- var openSync = function openSync2(path, { read: read3, write: write3, append, truncate: truncate3, create: create3, createNew, mode = 438 } = {
1305
- read: true
1306
- }) {
1307
- const flagMode = getFsFlag({
1308
- read: read3,
1309
- write: write3,
1310
- append,
1311
- truncate: truncate3,
1312
- create: create3,
1313
- createNew
1314
- });
1315
- try {
1316
- const fd = nodeOpenSync(path, flagMode, mode);
1317
- return new File(fd);
1318
- } catch (err) {
1319
- throw mapError(err);
1320
- }
1321
- };
1322
- var createSync = function createSync2(path) {
1323
- return openSync(path, {
1324
- create: true,
1325
- truncate: true,
1326
- read: true,
1327
- write: true
1328
- });
1329
- };
1330
- var cwd = process.cwd;
1331
- var execPath = () => import_which.default.sync("deno");
1332
- var exit = function exit2(code) {
1333
- return process.exit(code);
1334
- };
1335
- var fsync = function fsync2(rid) {
1336
- return promisify7(nodeFsync)(rid);
1337
- };
1338
- var fsyncSync = function fsyncSync2(rid) {
1339
- return nodeFsyncSync(rid);
1340
- };
1341
- var gid = ps2.getgid ?? (() => null);
1342
- var hostname2 = function hostname3() {
1343
- return os4.hostname();
1344
- };
1345
- var inspect2 = (value, options = {}) => util.inspect(value, options);
1346
- var kill = function(pid2, signo) {
1347
- if (pid2 < 0 && os5.platform() === "win32") {
1348
- throw new TypeError("Invalid pid");
1349
- }
1350
- ps3.kill(pid2, signo);
1351
- };
1352
- var link2 = fs13.link;
1353
- var linkSync2 = fs14.linkSync;
1354
- var Listener = class {
1355
- rid;
1356
- addr;
1357
- #listener;
1358
- constructor(rid, addr, listener) {
1359
- this.rid = rid;
1360
- this.addr = addr;
1361
- this.#listener = listener;
1362
- }
1363
- [Symbol.dispose]() {
1364
- this.close();
1365
- }
1366
- async accept() {
1367
- if (!this.#listener) {
1368
- throw new BadResource("Listener not initialised");
1369
- }
1370
- const result = await this.#listener.next();
1371
- if (result.done) {
1372
- throw new BadResource("Server not listening");
1373
- }
1374
- return result.value;
1375
- }
1376
- async next() {
1377
- let conn;
1378
- try {
1379
- conn = await this.accept();
1380
- } catch (error) {
1381
- if (error instanceof BadResource) {
1382
- return { value: void 0, done: true };
1383
- }
1384
- throw error;
1385
- }
1386
- return { value: conn, done: false };
1387
- }
1388
- return(value) {
1389
- this.close();
1390
- return Promise.resolve({ value, done: true });
1391
- }
1392
- close() {
1393
- close(this.rid);
1394
- }
1395
- ref() {
1396
- throw new Error("Not implemented");
1397
- }
1398
- unref() {
1399
- throw new Error("Not implemented");
1400
- }
1401
- [Symbol.asyncIterator]() {
1402
- return this;
1403
- }
1404
- };
1405
- async function* _listen(server, waitFor) {
1406
- await waitFor;
1407
- while (server.listening) {
1408
- yield new Promise((resolve2) => server.once("connection", (socket) => {
1409
- socket.on("error", (err) => console.error(err));
1410
- const rid = socket._handle.fd;
1411
- const localAddr = {
1412
- // cannot be undefined while socket is connected
1413
- hostname: socket.localAddress,
1414
- port: socket.localPort,
1415
- transport: "tcp"
1416
- };
1417
- const remoteAddr = {
1418
- // cannot be undefined while socket is connected
1419
- hostname: socket.remoteAddress,
1420
- port: socket.remotePort,
1421
- transport: "tcp"
1422
- };
1423
- resolve2(new Conn(rid, localAddr, remoteAddr));
1424
- }));
1425
- }
1426
- }
1427
- var listen = function listen2(options) {
1428
- if (options.transport === "unix") {
1429
- throw new Error("Unstable UnixListenOptions is not implemented");
1430
- }
1431
- const { port, hostname: hostname4 = "0.0.0.0", transport = "tcp" } = options;
1432
- if (transport !== "tcp") {
1433
- throw new Error("Deno.listen is only implemented for transport: tcp");
1434
- }
1435
- const server = createServer();
1436
- const waitFor = new Promise((resolve2) => (
1437
- // server._handle.fd is assigned immediately on .listen()
1438
- server.listen(port, hostname4, resolve2)
1439
- ));
1440
- const listener = new Listener(server._handle.fd, {
1441
- hostname: hostname4,
1442
- port,
1443
- transport: "tcp"
1444
- }, _listen(server, waitFor));
1445
- return listener;
1446
- };
1447
- var readTextFileSync = function(path) {
1448
- try {
1449
- return fs15.readFileSync(path, "utf8");
1450
- } catch (e) {
1451
- throw mapError(e);
1452
- }
1453
- };
1454
- async function* _listen2(server, waitFor) {
1455
- await waitFor;
1456
- while (server.listening) {
1457
- yield new Promise((resolve2) => server.once("secureConnection", (socket) => {
1458
- socket.on("error", (err) => console.error(err));
1459
- const rid = socket._handle.fd;
1460
- const localAddr = {
1461
- // cannot be undefined while socket is connected
1462
- hostname: socket.localAddress,
1463
- port: socket.localPort,
1464
- transport: "tcp"
1465
- };
1466
- const remoteAddr = {
1467
- // cannot be undefined while socket is connected
1468
- hostname: socket.remoteAddress,
1469
- port: socket.remotePort,
1470
- transport: "tcp"
1471
- };
1472
- resolve2(new TlsConn(rid, localAddr, remoteAddr));
1473
- }));
1474
- }
1475
- }
1476
- var listenTls = function listen3({ port, hostname: hostname4 = "0.0.0.0", transport = "tcp", certFile, keyFile }) {
1477
- if (transport !== "tcp") {
1478
- throw new Error("Deno.listen is only implemented for transport: tcp");
1479
- }
1480
- const [cert, key] = [certFile, keyFile].map((f) => f == null ? void 0 : readTextFileSync(f));
1481
- const server = createServer2({ cert, key });
1482
- const waitFor = new Promise((resolve2) => (
1483
- // server._handle.fd is assigned immediately on .listen()
1484
- server.listen(port, hostname4, resolve2)
1485
- ));
1486
- const listener = new Listener(server._handle.fd, {
1487
- hostname: hostname4,
1488
- port,
1489
- transport: "tcp"
1490
- }, _listen2(server, waitFor));
1491
- return listener;
1492
- };
1493
- var loadavg2 = function loadavg3() {
1494
- return os6.loadavg();
1495
- };
1496
- var lstat2 = async (path) => {
1497
- try {
1498
- return denoifyFileInfo(await fs16.lstat(path));
1499
- } catch (e) {
1500
- throw mapError(e);
1501
- }
1502
- };
1503
- var lstatSync2 = (path) => {
1504
- try {
1505
- return denoifyFileInfo(fs17.lstatSync(path));
1506
- } catch (err) {
1507
- throw mapError(err);
1508
- }
1509
- };
1510
- var makeTempDir = function makeTempDir2({ prefix = "" } = {}) {
1511
- return mkdtemp(join2(tmpdir(), prefix || "/"));
1512
- };
1513
- var makeTempDirSync = function makeTempDirSync2({ prefix = "" } = {}) {
1514
- return mkdtempSync(join3(tmpdir2(), prefix || "/"));
1515
- };
1516
- var randomId = () => {
1517
- const n = (Math.random() * 1048575 * 1e6).toString(16);
1518
- return "" + n.slice(0, 6);
1519
- };
1520
- var writeTextFile = async function writeTextFile2(path, data, { append = false, create: create3 = true, createNew = false, mode, signal } = {}) {
1521
- const truncate3 = create3 && !append;
1522
- const flag = getFsFlag({
1523
- append,
1524
- create: create3,
1525
- createNew,
1526
- truncate: truncate3,
1527
- write: true
1528
- });
1529
- try {
1530
- await fs18.writeFile(path, data, { flag, mode, signal });
1531
- if (mode !== void 0)
1532
- await fs18.chmod(path, mode);
1533
- } catch (error) {
1534
- throw mapError(error);
1535
- }
1536
- };
1537
- var makeTempFile = async function makeTempFile2({ prefix = "" } = {}) {
1538
- const name = join4(tmpdir3(), prefix, randomId());
1539
- await writeTextFile(name, "");
1540
- return name;
1541
- };
1542
- var writeTextFileSync = (path, data, { append = false, create: create3 = true, mode } = {}) => {
1543
- const flag = create3 ? append ? "a" : "w" : "r+";
1544
- try {
1545
- fs19.writeFileSync(path, data, { flag, mode });
1546
- if (mode !== void 0)
1547
- fs19.chmodSync(path, mode);
1548
- } catch (error) {
1549
- throw mapError(error);
1550
- }
1551
- };
1552
- var makeTempFileSync = function makeTempFileSync2({ prefix = "" } = {}) {
1553
- const name = join5(tmpdir4(), prefix, randomId());
1554
- writeTextFileSync(name, "");
1555
- return name;
1556
- };
1557
- var memoryUsage = process.memoryUsage;
1558
- var mkdir = async function mkdir2(path, options) {
1559
- try {
1560
- await nodeMkdir(path, options);
1561
- } catch (error) {
1562
- if (error?.code === "EEXIST") {
1563
- throw new errors_exports.AlreadyExists(`File exists (os error 17), mkdir '${path}'`);
1564
- }
1565
- throw mapError(error);
1566
- }
1567
- };
1568
- var mkdirSync2 = (path, options) => {
1569
- try {
1570
- fs20.mkdirSync(path, options);
1571
- } catch (error) {
1572
- if (error?.code === "EEXIST") {
1573
- throw new errors_exports.AlreadyExists(`File exists (os error 17), mkdir '${path}'`);
1574
- }
1575
- throw mapError(error);
1576
- }
1577
- };
1578
- var osRelease = function osRelease2() {
1579
- return release();
1580
- };
1581
- var osUptime = function osUptime2() {
1582
- return uptime();
1583
- };
1584
- var readDir = async function* readDir2(path) {
1585
- try {
1586
- for await (const e of await opendir(String(path))) {
1587
- const ent = {
1588
- name: e.name,
1589
- isFile: e.isFile(),
1590
- isDirectory: e.isDirectory(),
1591
- isSymlink: e.isSymbolicLink()
1592
- };
1593
- yield ent;
1594
- }
1595
- } catch (e) {
1596
- throw mapError(e);
1597
- }
1598
- };
1599
- var readDirSync = function* readDir3(path) {
1600
- try {
1601
- for (const e of nodeReadDir(String(path), { withFileTypes: true })) {
1602
- const ent = {
1603
- name: e.name,
1604
- isFile: e.isFile(),
1605
- isDirectory: e.isDirectory(),
1606
- isSymlink: e.isSymbolicLink()
1607
- };
1608
- yield ent;
1609
- }
1610
- } catch (e) {
1611
- throw mapError(e);
1612
- }
1613
- };
1614
- var readFile2 = async function readFile3(path, { signal } = {}) {
1615
- try {
1616
- const buf = await nodeReadFile(path, { signal });
1617
- return new Uint8Array(buf.buffer, buf.byteOffset, buf.length);
1618
- } catch (e) {
1619
- throw mapError(e);
1620
- }
1621
- };
1622
- var readFileSync2 = function readFileSync3(path) {
1623
- try {
1624
- const buf = nodeReadFile2(path);
1625
- return new Uint8Array(buf.buffer, buf.byteOffset, buf.length);
1626
- } catch (e) {
1627
- throw mapError(e);
1628
- }
1629
- };
1630
- var readLink = fs21.readlink;
1631
- var readLinkSync = fs22.readlinkSync;
1632
- var realPath = fs23.realpath;
1633
- var realPathSync = fs24.realpathSync;
1634
- var remove = async function remove2(path, options = {}) {
1635
- const innerOptions = options.recursive ? { recursive: true, force: true } : {};
1636
- try {
1637
- return await rm(path, innerOptions);
1638
- } catch (err) {
1639
- if (err.code === "ERR_FS_EISDIR") {
1640
- return await rmdir(path, innerOptions);
1641
- } else {
1642
- throw err;
1643
- }
1644
- }
1645
- };
1646
- var removeSignalListener = (signal, handler) => {
1647
- ps4.removeListener(signal, handler);
1648
- };
1649
- var removeSync = (path, options = {}) => {
1650
- const innerOptions = options.recursive ? { recursive: true, force: true } : {};
1651
- try {
1652
- fs25.rmSync(path, innerOptions);
1653
- } catch (err) {
1654
- if (err.code === "ERR_FS_EISDIR") {
1655
- fs25.rmdirSync(path, innerOptions);
1656
- } else {
1657
- throw err;
1658
- }
1659
- }
1660
- };
1661
- var rename = function rename2(oldpath, newpath) {
1662
- return nodeRename(oldpath, newpath);
1663
- };
1664
- var renameSync2 = fs26.renameSync;
1665
- var resolveDns = function resolveDns2(query, recordType, options) {
1666
- if (options) {
1667
- throw Error(`resolveDns option not implemnted yet`);
1668
- }
1669
- switch (recordType) {
1670
- case "A":
1671
- case "AAAA":
1672
- case "CNAME":
1673
- case "NS":
1674
- case "PTR":
1675
- return new Promise((resolve2, reject) => {
1676
- dns.resolve(query, recordType, (err, addresses) => {
1677
- if (err) {
1678
- reject(err);
1679
- } else {
1680
- resolve2(addresses);
1681
- }
1682
- });
1683
- });
1684
- case "ANAME":
1685
- case "CAA":
1686
- case "MX":
1687
- case "NAPTR":
1688
- case "SOA":
1689
- case "SRV":
1690
- case "TXT":
1691
- default:
1692
- throw Error(`resolveDns type ${recordType} not implemnted yet`);
1693
- }
1694
- };
1695
- var BufferStreamReader = class {
1696
- #stream;
1697
- #error;
1698
- #ended = false;
1699
- #pendingActions = [];
1700
- constructor(stream3) {
1701
- this.#stream = stream3;
1702
- this.#stream.pause();
1703
- this.#stream.on("error", (error) => {
1704
- this.#error = error;
1705
- this.#runPendingActions();
1706
- });
1707
- this.#stream.on("readable", () => {
1708
- this.#runPendingActions();
1709
- });
1710
- this.#stream.on("end", () => {
1711
- this.#ended = true;
1712
- this.#runPendingActions();
1713
- });
1714
- }
1715
- readAll() {
1716
- return new Promise((resolve2, reject) => {
1717
- const chunks = [];
1718
- const action = () => {
1719
- if (this.#error) {
1720
- reject(this.#error);
1721
- return;
1722
- }
1723
- const buffer = this.#stream.read();
1724
- if (buffer != null) {
1725
- chunks.push(buffer);
1726
- this.#pendingActions.push(action);
1727
- } else if (this.#ended) {
1728
- const result = Buffer.concat(chunks);
1729
- resolve2(result);
1730
- } else {
1731
- this.#pendingActions.push(action);
1732
- }
1733
- };
1734
- action();
1735
- });
1736
- }
1737
- read(p) {
1738
- return new Promise((resolve2, reject) => {
1739
- const action = () => {
1740
- if (this.#error) {
1741
- reject(this.#error);
1742
- return;
1743
- }
1744
- const readBuffer = this.#stream.read(p.byteLength);
1745
- if (readBuffer && readBuffer.byteLength > 0) {
1746
- readBuffer.copy(p, 0, 0, readBuffer.byteLength);
1747
- resolve2(readBuffer.byteLength);
1748
- return;
1749
- }
1750
- if (this.#ended) {
1751
- resolve2(null);
1752
- } else {
1753
- this.#pendingActions.push(action);
1754
- }
1755
- };
1756
- action();
1757
- });
1758
- }
1759
- #runPendingActions() {
1760
- const errors = [];
1761
- for (const action of this.#pendingActions.splice(0)) {
1762
- try {
1763
- action();
1764
- } catch (err) {
1765
- errors.push(err);
1766
- }
1767
- }
1768
- if (errors.length > 0) {
1769
- throw errors.length > 1 ? new globalThis.AggregateError(errors) : errors[0];
1770
- }
1771
- }
1772
- };
1773
- var StreamWriter = class {
1774
- #stream;
1775
- constructor(stream3) {
1776
- this.#stream = stream3;
1777
- }
1778
- write(p) {
1779
- return new Promise((resolve2, reject) => {
1780
- this.#stream.write(p, (err) => {
1781
- if (err) {
1782
- reject(err);
1783
- } else {
1784
- resolve2(p.byteLength);
1785
- }
1786
- });
1787
- });
1788
- }
1789
- };
1790
- var run = function run2(options) {
1791
- const [cmd, ...args2] = options.cmd;
1792
- if (options.cwd && !fs27.existsSync(options.cwd)) {
1793
- throw new Error("The directory name is invalid.");
1794
- }
1795
- const commandName = getCmd(cmd);
1796
- if (!import_which2.default.sync(commandName, { nothrow: true })) {
1797
- throw new NotFound("The system cannot find the file specified.");
1798
- }
1799
- const process2 = childProcess.spawn(commandName, args2, {
1800
- cwd: options.cwd,
1801
- env: getEnv(options),
1802
- uid: options.uid,
1803
- gid: options.gid,
1804
- shell: false,
1805
- stdio: [
1806
- getStdio(options.stdin, "in"),
1807
- getStdio(options.stdout, "out"),
1808
- getStdio(options.stderr, "out")
1809
- ]
1810
- });
1811
- return new Process(process2);
1812
- };
1813
- function getStdio(value, kind) {
1814
- if (value === "inherit" || value == null) {
1815
- return "inherit";
1816
- } else if (value === "piped") {
1817
- return "pipe";
1818
- } else if (value === "null") {
1819
- return "ignore";
1820
- } else if (typeof value === "number") {
1821
- switch (kind) {
1822
- case "in":
1823
- return fs27.createReadStream(null, { fd: value });
1824
- case "out":
1825
- return fs27.createWriteStream(null, { fd: value });
1826
- default: {
1827
- const _assertNever = kind;
1828
- throw new Error("Unreachable.");
1829
- }
1830
- }
1831
- } else {
1832
- const _assertNever = value;
1833
- throw new Error("Unknown value.");
1834
- }
1835
- }
1836
- function getCmd(firstArg) {
1837
- if (firstArg instanceof URL) {
1838
- return url.fileURLToPath(firstArg);
1839
- } else {
1840
- return firstArg;
1841
- }
1842
- }
1843
- function getEnv(options) {
1844
- const env2 = options.env ?? {};
1845
- for (const name in process.env) {
1846
- if (!Object.prototype.hasOwnProperty.call(env2, name)) {
1847
- if (options.clearEnv) {
1848
- if (os7.platform() === "win32") {
1849
- env2[name] = "";
1850
- } else {
1851
- delete env2[name];
1852
- }
1853
- } else {
1854
- env2[name] = process.env[name];
1855
- }
1856
- }
1857
- }
1858
- return env2;
1859
- }
1860
- var Process = class {
1861
- #process;
1862
- #stderr;
1863
- #stdout;
1864
- #stdin;
1865
- #status;
1866
- #receivedStatus = false;
1867
- /** @internal */
1868
- constructor(process2) {
1869
- this.#process = process2;
1870
- this.#stdout = ProcessReadStream.fromNullable(this.#process.stdout) ?? null;
1871
- this.#stderr = ProcessReadStream.fromNullable(this.#process.stderr) ?? null;
1872
- this.#stdin = ProcessWriteStream.fromNullable(this.#process.stdin) ?? null;
1873
- this.#status = once2(process2, "exit");
1874
- }
1875
- get rid() {
1876
- return NaN;
1877
- }
1878
- get pid() {
1879
- return this.#process.pid;
1880
- }
1881
- get stdin() {
1882
- return this.#stdin;
1883
- }
1884
- get stdout() {
1885
- return this.#stdout;
1886
- }
1887
- get stderr() {
1888
- return this.#stderr;
1889
- }
1890
- async status() {
1891
- const [receivedCode, signalName] = await this.#status;
1892
- const signal = signalName ? os7.constants.signals[signalName] : receivedCode > 128 ? receivedCode - 128 : void 0;
1893
- const code = receivedCode != null ? receivedCode : signal != null ? 128 + signal : void 0;
1894
- const success = code === 0;
1895
- this.#receivedStatus = true;
1896
- return { code, signal, success };
1897
- }
1898
- async output() {
1899
- if (!this.#stdout) {
1900
- throw new TypeError("stdout was not piped");
1901
- }
1902
- const result = await this.#stdout.readAll();
1903
- this.#stdout.close();
1904
- return result;
1905
- }
1906
- async stderrOutput() {
1907
- if (!this.#stderr) {
1908
- throw new TypeError("stderr was not piped");
1909
- }
1910
- const result = await this.#stderr.readAll();
1911
- this.#stderr.close();
1912
- return result;
1913
- }
1914
- close() {
1915
- this.#process.unref();
1916
- this.#process.kill();
1917
- }
1918
- kill(signo = "SIGTERM") {
1919
- if (this.#receivedStatus) {
1920
- throw new NotFound("entity not found");
1921
- }
1922
- this.#process.kill(signo);
1923
- }
1924
- };
1925
- var ProcessReadStream = class _ProcessReadStream {
1926
- #stream;
1927
- #bufferStreamReader;
1928
- #closed = false;
1929
- constructor(stream3) {
1930
- this.#stream = stream3;
1931
- this.#bufferStreamReader = new BufferStreamReader(stream3);
1932
- }
1933
- static fromNullable(stream3) {
1934
- return stream3 ? new _ProcessReadStream(stream3) : void 0;
1935
- }
1936
- readAll() {
1937
- if (this.#closed) {
1938
- return Promise.resolve(new Uint8Array(0));
1939
- } else {
1940
- return this.#bufferStreamReader.readAll();
1941
- }
1942
- }
1943
- read(p) {
1944
- if (this.#closed) {
1945
- return Promise.resolve(null);
1946
- } else {
1947
- return this.#bufferStreamReader.read(p);
1948
- }
1949
- }
1950
- close() {
1951
- this.#closed = true;
1952
- this.#stream.destroy();
1953
- }
1954
- get readable() {
1955
- throw new Error("Not implemented.");
1956
- }
1957
- get writable() {
1958
- throw new Error("Not implemented.");
1959
- }
1960
- };
1961
- var ProcessWriteStream = class _ProcessWriteStream {
1962
- #stream;
1963
- #streamWriter;
1964
- #closed = false;
1965
- constructor(stream3) {
1966
- this.#stream = stream3;
1967
- this.#streamWriter = new StreamWriter(stream3);
1968
- }
1969
- static fromNullable(stream3) {
1970
- return stream3 ? new _ProcessWriteStream(stream3) : void 0;
1971
- }
1972
- write(p) {
1973
- if (this.#closed) {
1974
- return Promise.resolve(0);
1975
- } else {
1976
- return this.#streamWriter.write(p);
1977
- }
1978
- }
1979
- close() {
1980
- this.#closed = true;
1981
- this.#stream.end();
1982
- }
1983
- };
1984
- var shutdown = async function shutdown2(rid) {
1985
- await new Promise((resolve2) => new Socket2({ fd: rid }).end(resolve2));
1986
- };
1987
- var statSync2 = (path) => {
1988
- try {
1989
- return denoifyFileInfo(fs28.statSync(path));
1990
- } catch (err) {
1991
- throw mapError(err);
1992
- }
1993
- };
1994
- var symlink2 = async (oldpath, newpath, options) => await fs29.symlink(oldpath, newpath, options?.type);
1995
- var symlinkSync2 = (oldpath, newpath, options) => fs30.symlinkSync(oldpath, newpath, options?.type);
1996
- var truncate2 = async (name, len) => {
1997
- try {
1998
- return await fs31.truncate(name, len);
1999
- } catch (error) {
2000
- if (error?.code === "ENOENT") {
2001
- throw new errors_exports.NotFound(`No such file or directory (os error 2), truncate '${name}'`);
2002
- }
2003
- throw mapError(error);
2004
- }
2005
- };
2006
- var truncateSync2 = (name, len) => {
2007
- try {
2008
- return fs32.truncateSync(name, len);
2009
- } catch (error) {
2010
- if (error?.code === "ENOENT") {
2011
- throw new errors_exports.NotFound(`No such file or directory (os error 2), truncate '${name}'`);
2012
- }
2013
- throw mapError(error);
2014
- }
2015
- };
2016
- var uid = ps5.getuid ?? (() => null);
2017
- function* map2(iter, f) {
2018
- for (const i2 of iter) {
2019
- yield f(i2);
2020
- }
2021
- }
2022
- async function* mapAsync(iter, f) {
2023
- for await (const i2 of iter) {
2024
- yield f(i2);
2025
- }
2026
- }
2027
- async function* filterAsync(iter, filter) {
2028
- for await (const i2 of iter) {
2029
- if (filter(i2)) {
2030
- yield i2;
2031
- }
2032
- }
2033
- }
2034
- async function* merge(iterables) {
2035
- const racers = new Map(map2(map2(iterables, (iter) => iter[Symbol.asyncIterator]()), (iter) => [iter, iter.next()]));
2036
- while (racers.size > 0) {
2037
- const winner = await Promise.race(map2(racers.entries(), ([iter, prom]) => prom.then((result) => ({ result, iter }))));
2038
- if (winner.result.done) {
2039
- racers.delete(winner.iter);
2040
- } else {
2041
- yield await winner.result.value;
2042
- racers.set(winner.iter, winner.iter.next());
2043
- }
2044
- }
2045
- }
2046
- var watchFs = function watchFs2(paths, options = { recursive: true }) {
2047
- paths = Array.isArray(paths) ? paths : [paths];
2048
- const ac = new AbortController();
2049
- const { signal } = ac;
2050
- const rid = -1;
2051
- const masterWatcher = merge(paths.map((path) => mapAsync(filterAsync(watch(path, { recursive: options?.recursive, signal }), (info) => info.filename != null), (info) => ({
2052
- kind: "modify",
2053
- paths: [resolve(path, info.filename)]
2054
- }))));
2055
- function close2() {
2056
- ac.abort();
2057
- }
2058
- return Object.assign(masterWatcher, {
2059
- rid,
2060
- close: close2,
2061
- [Symbol.dispose]: close2
2062
- });
2063
- };
2064
- var writeFile3 = async function writeFile4(path, data, { append = false, create: create3 = true, createNew = false, mode, signal } = {}) {
2065
- const truncate3 = create3 && !append;
2066
- const flag = getFsFlag({ append, create: create3, createNew, truncate: truncate3, write: true });
2067
- try {
2068
- await fs33.writeFile(path, data, { flag, signal });
2069
- if (mode != null)
2070
- await fs33.chmod(path, mode);
2071
- } catch (error) {
2072
- throw mapError(error);
2073
- }
2074
- };
2075
- var writeFileSync2 = function writeFileSync3(path, data, options = {}) {
2076
- try {
2077
- if (options.create !== void 0) {
2078
- const create3 = !!options.create;
2079
- if (!create3) {
2080
- statSync2(path);
2081
- }
2082
- }
2083
- const openOptions = {
2084
- write: true,
2085
- create: true,
2086
- createNew: options.createNew,
2087
- append: !!options.append,
2088
- truncate: !options.append
2089
- };
2090
- const file = openSync(path, openOptions);
2091
- if (options.mode !== void 0 && options.mode !== null && platform3() !== "win32") {
2092
- chmodSync22(path, options.mode);
2093
- }
2094
- let nwritten = 0;
2095
- while (nwritten < data.length) {
2096
- nwritten += file.writeSync(data.subarray(nwritten));
2097
- }
2098
- file.close();
2099
- } catch (e) {
2100
- throw mapError(e);
2101
- }
2102
- };
2103
- var args = process.argv.slice(2);
2104
- var futime = async function(rid, atime, mtime) {
2105
- try {
2106
- await new Promise((resolve2, reject) => {
2107
- fs34.futimes(rid, atime, mtime, (err) => {
2108
- if (err) {
2109
- reject(err);
2110
- } else {
2111
- resolve2();
2112
- }
2113
- });
2114
- });
2115
- } catch (error) {
2116
- throw mapError(error);
2117
- }
2118
- };
2119
- var futimeSync = function(rid, atime, mtime) {
2120
- try {
2121
- fs34.futimesSync(rid, atime, mtime);
2122
- } catch (error) {
2123
- throw mapError(error);
2124
- }
2125
- };
2126
- var utime = async function(path, atime, mtime) {
2127
- try {
2128
- await fs34.promises.utimes(path, atime, mtime);
2129
- } catch (error) {
2130
- if (error?.code === "ENOENT") {
2131
- throw new errors_exports.NotFound(`No such file or directory (os error 2), utime '${path}'`);
2132
- }
2133
- throw mapError(error);
2134
- }
2135
- };
2136
- var utimeSync = function(path, atime, mtime) {
2137
- try {
2138
- fs34.utimesSync(path, atime, mtime);
2139
- } catch (error) {
2140
- if (error?.code === "ENOENT") {
2141
- throw new errors_exports.NotFound(`No such file or directory (os error 2), utime '${path}'`);
2142
- }
2143
- throw mapError(error);
2144
- }
2145
- };
2146
-
2147
- // src/shim/entry.ts
2148
- import { Buffer as Buffer2 } from "node:buffer";
2149
-
2150
- // src/private-data-sources/runtime-environment.ts
2151
- import {
2152
- currentWorkerRuntimeContext,
2153
- workerEnvironment
2154
- } from "base44:internal/runtime-context";
2155
-
2156
- // src/static-egress-marker.ts
2157
- var STATIC_EGRESS_ARTIFACT_MARKER = "base44.static-egress.request-env.v2";
2158
-
2159
- // src/static-egress.ts
2160
- var STATIC_EGRESS_BINDING_NAME = "STATIC_EGRESS";
2161
- var PRIVATE_DATA_SOURCES_MANIFEST_ENV = "BASE44_PRIVATE_DATA_SOURCES";
2162
- var STATIC_EGRESS_EXCLUDED_HOSTS_ENV = "BASE44_STATIC_EGRESS_EXCLUDED_HOSTS";
2163
- var STATIC_EGRESS_ENABLED_ENV = "BASE44_STATIC_EGRESS_ENABLED";
2164
- var STATIC_EGRESS_DIAGNOSTIC_LIMIT = 5;
2165
- var staticEgressFetchInstalled = false;
2166
- var staticEgressDiagnosticCount = 0;
2167
- function inputKind(input) {
2168
- if (typeof input === "string") return "string";
2169
- return input instanceof URL ? "url" : "request";
2170
- }
2171
- function logStaticEgressDecision(route, input, binding, enableSecret) {
2172
- if (staticEgressDiagnosticCount >= STATIC_EGRESS_DIAGNOSTIC_LIMIT) return;
2173
- staticEgressDiagnosticCount += 1;
2174
- console.log(JSON.stringify({
2175
- b44_diagnostic: "static_egress",
2176
- diagnostic_version: STATIC_EGRESS_ARTIFACT_MARKER,
2177
- event: "fetch_route",
2178
- route,
2179
- input_kind: inputKind(input),
2180
- binding_present: binding !== void 0,
2181
- binding_type: typeof binding,
2182
- enable_secret_present: enableSecret !== void 0,
2183
- enable_secret_enabled: isEnabled(enableSecret),
2184
- binding_fetch_type: binding !== null && typeof binding === "object" ? typeof binding.fetch : "undefined"
2185
- }));
2186
- }
2187
- function hasFetch(value) {
2188
- return value !== null && typeof value === "object" && typeof value.fetch === "function";
2189
- }
2190
- function isEnabled(value) {
2191
- return value === "1";
2192
- }
2193
- function privateDataSourceHosts(raw) {
2194
- if (typeof raw !== "string" || !raw) return /* @__PURE__ */ new Set();
2195
- try {
2196
- const parsed = JSON.parse(raw);
2197
- if (!Array.isArray(parsed)) return /* @__PURE__ */ new Set();
2198
- return new Set(
2199
- parsed.flatMap((entry) => {
2200
- if (entry === null || typeof entry !== "object") return [];
2201
- const host = entry.host;
2202
- return typeof host === "string" && host ? [normalizeHostname(host)] : [];
2203
- })
2204
- );
2205
- } catch {
2206
- return /* @__PURE__ */ new Set();
2207
- }
2208
- }
2209
- function configuredExcludedHosts(raw) {
2210
- if (typeof raw !== "string" || !raw) return /* @__PURE__ */ new Set();
2211
- try {
2212
- const parsed = JSON.parse(raw);
2213
- if (!Array.isArray(parsed)) return /* @__PURE__ */ new Set();
2214
- return new Set(
2215
- parsed.flatMap(
2216
- (host) => typeof host === "string" && host ? [normalizeHostname(host)] : []
2217
- )
2218
- );
2219
- } catch {
2220
- return /* @__PURE__ */ new Set();
2221
- }
2222
- }
2223
- function normalizeHostname(host) {
2224
- return host.toLowerCase().replace(/^\[(.*)\]$/, "$1").replace(/\.$/, "");
2225
- }
2226
- function targetHostname(input) {
2227
- try {
2228
- const raw = input instanceof URL ? input.href : typeof input === "string" ? input : input.url;
2229
- return normalizeHostname(new URL(raw).hostname);
2230
- } catch {
2231
- return null;
2232
- }
2233
- }
2234
- function isExcludedHostname(hostname4, excludedHosts) {
2235
- for (const excludedHost of excludedHosts) {
2236
- if (excludedHost.startsWith(".")) {
2237
- const apex = excludedHost.slice(1);
2238
- if (apex && (hostname4 === apex || hostname4.endsWith(excludedHost))) {
2239
- return true;
2240
- }
2241
- } else if (hostname4 === excludedHost) {
2242
- return true;
2243
- }
2244
- }
2245
- return false;
2246
- }
2247
- function createRequestScopedStaticEgressFetch(originalFetch, readEnvironment) {
2248
- return (input, init) => {
2249
- const env2 = readEnvironment();
2250
- const binding = env2[STATIC_EGRESS_BINDING_NAME];
2251
- const enableSecret = env2[STATIC_EGRESS_ENABLED_ENV];
2252
- if (!hasFetch(binding) || !isEnabled(enableSecret)) {
2253
- if (binding !== void 0 || enableSecret !== void 0 || typeof env2[STATIC_EGRESS_EXCLUDED_HOSTS_ENV] === "string") {
2254
- logStaticEgressDecision("fallback", input, binding, enableSecret);
2255
- }
2256
- return originalFetch(input, init);
2257
- }
2258
- const excludedHosts = /* @__PURE__ */ new Set([
2259
- ...privateDataSourceHosts(env2[PRIVATE_DATA_SOURCES_MANIFEST_ENV]),
2260
- ...configuredExcludedHosts(env2[STATIC_EGRESS_EXCLUDED_HOSTS_ENV])
2261
- ]);
2262
- const hostname4 = targetHostname(input);
2263
- if (hostname4 !== null && isExcludedHostname(hostname4, excludedHosts)) {
2264
- logStaticEgressDecision("excluded", input, binding, enableSecret);
2265
- return originalFetch(input, init);
2266
- }
2267
- logStaticEgressDecision("dedicated", input, binding, enableSecret);
2268
- return binding.fetch(input, init);
2269
- };
2270
- }
2271
- function installStaticEgressFetch() {
2272
- if (staticEgressFetchInstalled) return;
2273
- globalThis.fetch = createRequestScopedStaticEgressFetch(
2274
- globalThis.fetch.bind(globalThis),
2275
- workerEnvironment
2276
- );
2277
- staticEgressFetchInstalled = true;
2278
- }
2279
-
2280
- // src/shim/entry.ts
2281
- var registeredHandler = null;
2282
- var initContext = new AsyncLocalStorage();
2283
- function serve(arg1, arg2) {
2284
- let handler = null;
2285
- if (typeof arg1 === "function") {
2286
- handler = arg1;
2287
- } else if (typeof arg2 === "function") {
2288
- handler = arg2;
2289
- } else if (arg1 && typeof arg1.handler === "function") {
2290
- handler = arg1.handler;
2291
- }
2292
- if (!handler) {
2293
- throw new TypeError("Deno.serve: a request handler function is required");
2294
- }
2295
- const ctx = initContext.getStore();
2296
- if (ctx) {
2297
- ctx.handler = handler;
2298
- } else {
2299
- registeredHandler = handler;
2300
- }
2301
- return {
2302
- finished: Promise.resolve(),
2303
- shutdown: async () => {
2304
- },
2305
- ref() {
2306
- },
2307
- unref() {
2308
- },
2309
- addr: { transport: "tcp", hostname: "0.0.0.0", port: 0 }
2310
- };
2311
- }
2312
- var deno2 = Object.freeze({
2313
- ...main_exports,
2314
- serve
2315
- });
2316
- globalThis.Deno = deno2;
2317
- globalThis.Buffer = Buffer2;
2318
- function getRegisteredHandler() {
2319
- return registeredHandler;
2320
- }
2321
- var lazyImporters = /* @__PURE__ */ new Map();
2322
- var handlerByName = /* @__PURE__ */ new Map();
2323
- function registerLazy(functionName, importThunk) {
2324
- lazyImporters.set(functionName, importThunk);
2325
- }
2326
- function resolveHandler(functionName) {
2327
- const importThunk = lazyImporters.get(functionName);
2328
- if (importThunk === void 0) return void 0;
2329
- let handler = handlerByName.get(functionName);
2330
- if (handler === void 0) {
2331
- const ctx = { handler: null };
2332
- handler = initContext.run(ctx, async () => {
2333
- const mod = await importThunk();
2334
- if (ctx.handler) return ctx.handler;
2335
- const def = mod?.default;
2336
- return typeof def === "function" ? def : null;
2337
- });
2338
- handlerByName.set(functionName, handler);
2339
- }
2340
- return handler;
2341
- }
2342
- export {
2343
- getRegisteredHandler,
2344
- installStaticEgressFetch,
2345
- registerLazy,
2346
- resolveHandler
2347
- };