feat: initial commit of Railtrack Pro prototype with complete test suite

This commit is contained in:
Railtrack Pro Dev
2026-03-13 14:26:16 +00:00
commit 40500bb503
7790 changed files with 986332 additions and 0 deletions
+56
View File
@@ -0,0 +1,56 @@
"use strict";
const conversions = require("webidl-conversions");
const utils = require("./utils.js");
exports.convert = (globalObject, value, { context = "The provided value" } = {}) => {
function invokeTheCallbackFunction(...args) {
const thisArg = utils.tryWrapperForImpl(this);
let callResult;
if (typeof value === "function") {
for (let i = 0; i < Math.min(args.length, 5); i++) {
args[i] = utils.tryWrapperForImpl(args[i]);
}
if (args.length < 1) {
for (let i = args.length; i < 1; i++) {
args[i] = undefined;
}
} else if (args.length > 5) {
args.length = 5;
}
callResult = Reflect.apply(value, thisArg, args);
}
callResult = conversions["any"](callResult, { context: context, globals: globalObject });
return callResult;
}
invokeTheCallbackFunction.construct = (...args) => {
for (let i = 0; i < Math.min(args.length, 5); i++) {
args[i] = utils.tryWrapperForImpl(args[i]);
}
if (args.length < 1) {
for (let i = args.length; i < 1; i++) {
args[i] = undefined;
}
} else if (args.length > 5) {
args.length = 5;
}
let callResult = Reflect.construct(value, args);
callResult = conversions["any"](callResult, { context: context, globals: globalObject });
return callResult;
};
invokeTheCallbackFunction[utils.wrapperSymbol] = value;
invokeTheCallbackFunction.objectReference = value;
return invokeTheCallbackFunction;
};