fnDefinition.js (693B)
1 export function makeDefinition(inputs, run) { 2 return { 3 inputs, 4 run: run, 5 }; 6 } 7 export function tryCallFnDefinition(fn, args, context) { 8 if (args.length !== fn.inputs.length) { 9 return; 10 } 11 const unpackedArgs = []; 12 for (let i = 0; i < args.length; i++) { 13 const unpackedArg = fn.inputs[i].unpack(args[i]); 14 if (unpackedArg === undefined) { 15 return; 16 } 17 unpackedArgs.push(unpackedArg); 18 } 19 return fn.run(unpackedArgs, context); 20 } 21 export function fnDefinitionToString(fn) { 22 const inputs = fn.inputs.map((t) => t.getName()).join(", "); 23 return `(${inputs})`; 24 } 25 //# sourceMappingURL=fnDefinition.js.map