mirror of
https://gitlab.com/eql/EQL5.git
synced 2025-12-16 23:30:48 -08:00
24 lines
920 B
JavaScript
24 lines
920 B
JavaScript
// helper functions for convenient QML/EQL5 integration
|
|
|
|
function checkEval(arg) {
|
|
// prepared in Lisp for JS evaluation
|
|
if((typeof(arg) == "string") && (arg.substr(0, 3) == "#<>")) {
|
|
return eval(arg.substr(3)); }
|
|
return arg; }
|
|
|
|
function fun(name, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) {
|
|
var args = [];
|
|
if(undefined != arg1) args.push(arg1); {
|
|
if(undefined != arg2) args.push(arg2); {
|
|
if(undefined != arg3) args.push(arg3); {
|
|
if(undefined != arg4) args.push(arg4); {
|
|
if(undefined != arg5) args.push(arg5); {
|
|
if(undefined != arg6) args.push(arg6); {
|
|
if(undefined != arg7) args.push(arg7); {
|
|
if(undefined != arg8) args.push(arg8); {
|
|
if(undefined != arg9) args.push(arg9); }}}}}}}}
|
|
return checkEval(EQL5.apply(name, args)); }
|
|
|
|
function apply(name, args) {
|
|
return checkEval(EQL5.apply(name, args)); }
|
|
|