first commit

This commit is contained in:
Stefan Hacker
2026-04-03 09:38:48 +02:00
commit 37ad745546
47450 changed files with 3120798 additions and 0 deletions
+1
View File
@@ -0,0 +1 @@
export { Buffer } from 'node:buffer';
+6
View File
@@ -0,0 +1,6 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Buffer = void 0;
var node_buffer_1 = require("node:buffer");
Object.defineProperty(exports, "Buffer", { enumerable: true, get: function () { return node_buffer_1.Buffer; } });
//# sourceMappingURL=buffer.js.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"buffer.js","sourceRoot":"","sources":["../src/buffer.ts"],"names":[],"mappings":";;;AAAA,2CAAqC;AAA5B,qGAAA,MAAM,OAAA"}
+1
View File
@@ -0,0 +1 @@
export { EventEmitter } from 'node:events';
+6
View File
@@ -0,0 +1,6 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.EventEmitter = void 0;
var node_events_1 = require("node:events");
Object.defineProperty(exports, "EventEmitter", { enumerable: true, get: function () { return node_events_1.EventEmitter; } });
//# sourceMappingURL=events.js.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":";;;AAAA,2CAA2C;AAAlC,2GAAA,YAAY,OAAA"}
+6
View File
@@ -0,0 +1,6 @@
import type { Buffer } from './buffer';
import type { URL } from './url';
export type PathLike = string | Buffer | URL;
export declare namespace symlink {
type Type = 'dir' | 'file' | 'junction';
}
+4
View File
@@ -0,0 +1,4 @@
"use strict";
// Inlined types from node:fs to avoid implicit dependencies
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=fs.js.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"fs.js","sourceRoot":"","sources":["../src/fs.ts"],"names":[],"mappings":";AAAA,4DAA4D"}
+9
View File
@@ -0,0 +1,9 @@
import { Buffer } from '../buffer';
declare const bufferAllocUnsafe: (size: number) => Buffer<ArrayBuffer>;
declare const bufferFrom: {
(array: import("buffer").WithImplicitCoercion<ArrayLike<number>>): Buffer<ArrayBuffer>;
<TArrayBuffer extends import("buffer").WithImplicitCoercion<ArrayBufferLike>>(arrayBuffer: TArrayBuffer, byteOffset?: number, length?: number): Buffer<import("buffer").ImplicitArrayBuffer<TArrayBuffer>>;
(string: import("buffer").WithImplicitCoercion<string>, encoding?: BufferEncoding): Buffer<ArrayBuffer>;
(arrayOrString: import("buffer").WithImplicitCoercion<ArrayLike<number> | string>): Buffer<ArrayBuffer>;
};
export { Buffer, bufferAllocUnsafe, bufferFrom };
+13
View File
@@ -0,0 +1,13 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.bufferFrom = exports.bufferAllocUnsafe = exports.Buffer = void 0;
const buffer_1 = require("../buffer");
Object.defineProperty(exports, "Buffer", { enumerable: true, get: function () { return buffer_1.Buffer; } });
function bufferV0P12Ponyfill(arg0, ...args) {
return new buffer_1.Buffer(arg0, ...args);
}
const bufferAllocUnsafe = buffer_1.Buffer.allocUnsafe || bufferV0P12Ponyfill;
exports.bufferAllocUnsafe = bufferAllocUnsafe;
const bufferFrom = buffer_1.Buffer.from || bufferV0P12Ponyfill;
exports.bufferFrom = bufferFrom;
//# sourceMappingURL=buffer.js.map
@@ -0,0 +1 @@
{"version":3,"file":"buffer.js","sourceRoot":"","sources":["../../src/internal/buffer.ts"],"names":[],"mappings":";;;AAAA,sCAAmC;AAS1B,uFATA,eAAM,OASA;AAPf,SAAS,mBAAmB,CAAC,IAAS,EAAE,GAAG,IAAS;IAClD,OAAO,IAAI,eAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,iBAAiB,GAAG,eAAM,CAAC,WAAW,IAAI,mBAAmB,CAAC;AAGnD,8CAAiB;AAFlC,MAAM,UAAU,GAAG,eAAM,CAAC,IAAI,IAAI,mBAAmB,CAAC;AAElB,gCAAU"}
+31
View File
@@ -0,0 +1,31 @@
declare const g: typeof globalThis;
declare class AssertionError extends g.Error {
generatedMessage: any;
name: any;
code: any;
actual: any;
expected: any;
operator: any;
constructor(options: any);
}
declare function message(key: any, args: any): any;
declare function E(sym: any, val: any): void;
export declare const Error: {
new (key: any, ...args: any[]): {
[x: string]: any;
};
[x: string]: any;
};
export declare const TypeError: {
new (key: any, ...args: any[]): {
[x: string]: any;
};
[x: string]: any;
};
export declare const RangeError: {
new (key: any, ...args: any[]): {
[x: string]: any;
};
[x: string]: any;
};
export { message, AssertionError, E };
+77
View File
@@ -0,0 +1,77 @@
"use strict";
// Adapted from Node.js ../internal/errors.js, used for throwing similar errors to Node.js.
Object.defineProperty(exports, "__esModule", { value: true });
exports.AssertionError = exports.RangeError = exports.TypeError = exports.Error = void 0;
exports.message = message;
exports.E = E;
const util_1 = require("../util");
const kCode = typeof Symbol === 'undefined' ? '_kCode' : Symbol('code');
const messages = {};
function makeNodeError(Base) {
return class NodeError extends Base {
constructor(key, ...args) {
super(message(key, args));
this.code = key;
this[kCode] = key;
this.name = `${super.name} [${this[kCode]}]`;
}
};
}
const g = typeof globalThis !== 'undefined' ? globalThis : global;
class AssertionError extends g.Error {
constructor(options) {
if (typeof options !== 'object' || options === null) {
throw new exports.TypeError('ERR_INVALID_ARG_TYPE', 'options', 'object');
}
if (options.message) {
super(options.message);
}
else {
super(`${(0, util_1.inspect)(options.actual).slice(0, 128)} ` + `${options.operator} ${(0, util_1.inspect)(options.expected).slice(0, 128)}`);
}
this.generatedMessage = !options.message;
this.name = 'AssertionError [ERR_ASSERTION]';
this.code = 'ERR_ASSERTION';
this.actual = options.actual;
this.expected = options.expected;
this.operator = options.operator;
exports.Error.captureStackTrace(this, options.stackStartFunction);
}
}
exports.AssertionError = AssertionError;
function message(key, args) {
if (typeof key !== 'string')
throw new exports.Error('Error message key must be a string');
const msg = messages[key];
if (!msg)
throw new exports.Error(`An invalid error message key was used: ${key}.`);
let fmt;
if (typeof msg === 'function') {
fmt = msg;
}
else {
fmt = util_1.format;
if (args === undefined || args.length === 0)
return msg;
args.unshift(msg);
}
return String(fmt.apply(null, args));
}
// Utility function for registering the error codes. Only used here. Exported
// *only* to allow for testing.
function E(sym, val) {
messages[sym] = typeof val === 'function' ? val : String(val);
}
exports.Error = makeNodeError(g.Error);
exports.TypeError = makeNodeError(g.TypeError);
exports.RangeError = makeNodeError(g.RangeError);
E('ERR_DIR_CLOSED', 'Directory handle was closed');
E('ERR_DIR_CONCURRENT_OPERATION', 'Cannot do synchronous work on directory handle with concurrent asynchronous operations');
E('ERR_INVALID_FILE_URL_HOST', 'File URL host must be "localhost" or empty on %s');
E('ERR_INVALID_FILE_URL_PATH', 'File URL path %s');
E('ERR_INVALID_OPT_VALUE', (name, value) => {
return `The value "${String(value)}" is invalid for option "${name}"`;
});
E('ERR_INVALID_OPT_VALUE_ENCODING', value => `The value "${String(value)}" is invalid for option "encoding"`);
E('ERR_INVALID_ARG_VALUE', 'Unable to open file as blob');
//# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/internal/errors.ts"],"names":[],"mappings":"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"}
+1
View File
@@ -0,0 +1 @@
export { resolve, sep, posix, join, relative, dirname, normalize, isAbsolute, basename } from 'node:path';
+14
View File
@@ -0,0 +1,14 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.basename = exports.isAbsolute = exports.normalize = exports.dirname = exports.relative = exports.join = exports.posix = exports.sep = exports.resolve = void 0;
var node_path_1 = require("node:path");
Object.defineProperty(exports, "resolve", { enumerable: true, get: function () { return node_path_1.resolve; } });
Object.defineProperty(exports, "sep", { enumerable: true, get: function () { return node_path_1.sep; } });
Object.defineProperty(exports, "posix", { enumerable: true, get: function () { return node_path_1.posix; } });
Object.defineProperty(exports, "join", { enumerable: true, get: function () { return node_path_1.join; } });
Object.defineProperty(exports, "relative", { enumerable: true, get: function () { return node_path_1.relative; } });
Object.defineProperty(exports, "dirname", { enumerable: true, get: function () { return node_path_1.dirname; } });
Object.defineProperty(exports, "normalize", { enumerable: true, get: function () { return node_path_1.normalize; } });
Object.defineProperty(exports, "isAbsolute", { enumerable: true, get: function () { return node_path_1.isAbsolute; } });
Object.defineProperty(exports, "basename", { enumerable: true, get: function () { return node_path_1.basename; } });
//# sourceMappingURL=path.js.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"path.js","sourceRoot":"","sources":["../src/path.ts"],"names":[],"mappings":";;;AAAA,uCAA0G;AAAjG,oGAAA,OAAO,OAAA;AAAE,gGAAA,GAAG,OAAA;AAAE,kGAAA,KAAK,OAAA;AAAE,iGAAA,IAAI,OAAA;AAAE,qGAAA,QAAQ,OAAA;AAAE,oGAAA,OAAO,OAAA;AAAE,sGAAA,SAAS,OAAA;AAAE,uGAAA,UAAU,OAAA;AAAE,qGAAA,QAAQ,OAAA"}
+1
View File
@@ -0,0 +1 @@
export { Readable, Writable } from 'node:stream';
+7
View File
@@ -0,0 +1,7 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Writable = exports.Readable = void 0;
var node_stream_1 = require("node:stream");
Object.defineProperty(exports, "Readable", { enumerable: true, get: function () { return node_stream_1.Readable; } });
Object.defineProperty(exports, "Writable", { enumerable: true, get: function () { return node_stream_1.Writable; } });
//# sourceMappingURL=stream.js.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"stream.js","sourceRoot":"","sources":["../src/stream.ts"],"names":[],"mappings":";;;AAAA,2CAAiD;AAAxC,uGAAA,QAAQ,OAAA;AAAE,uGAAA,QAAQ,OAAA"}
+1
View File
@@ -0,0 +1 @@
export { URL } from 'node:url';
+6
View File
@@ -0,0 +1,6 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.URL = void 0;
var node_url_1 = require("node:url");
Object.defineProperty(exports, "URL", { enumerable: true, get: function () { return node_url_1.URL; } });
//# sourceMappingURL=url.js.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"url.js","sourceRoot":"","sources":["../src/url.ts"],"names":[],"mappings":";;;AAAA,qCAA+B;AAAtB,+FAAA,GAAG,OAAA"}
+20
View File
@@ -0,0 +1,20 @@
/**
* Minimal implementation of Node.js util.inherits function.
* Sets up prototype inheritance between constructor functions.
*/
export declare function inherits(ctor: any, superCtor: any): void;
/**
* Minimal implementation of Node.js util.promisify function.
* Converts callback-based functions to Promise-based functions.
*/
export declare function promisify(fn: Function): Function;
/**
* Minimal implementation of Node.js util.inspect function.
* Converts a value to a string representation for debugging.
*/
export declare function inspect(value: any): string;
/**
* Minimal implementation of Node.js util.format function.
* Provides printf-style string formatting with basic placeholder support.
*/
export declare function format(template: string, ...args: any[]): string;
+112
View File
@@ -0,0 +1,112 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.inherits = inherits;
exports.promisify = promisify;
exports.inspect = inspect;
exports.format = format;
/**
* Minimal implementation of Node.js util.inherits function.
* Sets up prototype inheritance between constructor functions.
*/
function inherits(ctor, superCtor) {
if (ctor === undefined || ctor === null) {
throw new TypeError('The constructor to inherit from is not defined');
}
if (superCtor === undefined || superCtor === null) {
throw new TypeError('The super constructor to inherit from is not defined');
}
ctor.super_ = superCtor;
ctor.prototype = Object.create(superCtor.prototype, {
constructor: {
value: ctor,
enumerable: false,
writable: true,
configurable: true,
},
});
}
/**
* Minimal implementation of Node.js util.promisify function.
* Converts callback-based functions to Promise-based functions.
*/
function promisify(fn) {
if (typeof fn !== 'function') {
throw new TypeError('The "original" argument must be of type function');
}
return function (...args) {
return new Promise((resolve, reject) => {
fn.call(this, ...args, (err, result) => {
if (err) {
reject(err);
}
else {
resolve(result);
}
});
});
};
}
/**
* Minimal implementation of Node.js util.inspect function.
* Converts a value to a string representation for debugging.
*/
function inspect(value) {
if (value === null)
return 'null';
if (value === undefined)
return 'undefined';
if (typeof value === 'string')
return `'${value}'`;
if (typeof value === 'number' || typeof value === 'boolean')
return String(value);
if (Array.isArray(value)) {
const items = value.map(item => inspect(item)).join(', ');
return `[ ${items} ]`;
}
if (typeof value === 'object') {
const entries = Object.entries(value)
.map(([key, val]) => `${key}: ${inspect(val)}`)
.join(', ');
return `{ ${entries} }`;
}
return String(value);
}
/**
* Minimal implementation of Node.js util.format function.
* Provides printf-style string formatting with basic placeholder support.
*/
function format(template, ...args) {
if (args.length === 0)
return template;
let result = template;
let argIndex = 0;
// Replace %s (string), %d (number), %j (JSON) placeholders
result = result.replace(/%[sdj%]/g, match => {
if (argIndex >= args.length)
return match;
const arg = args[argIndex++];
switch (match) {
case '%s':
return String(arg);
case '%d':
return Number(arg).toString();
case '%j':
try {
return JSON.stringify(arg);
}
catch {
return '[Circular]';
}
case '%%':
return '%';
default:
return match;
}
});
// Append remaining arguments
while (argIndex < args.length) {
result += ' ' + String(args[argIndex++]);
}
return result;
}
//# sourceMappingURL=util.js.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}