"use strict" module.exports = cwiseTransform var staticModule = require("static-module") var parse = require("cwise-parser") var uglify = require("uglify-js") var REQUIRED_FIELDS = [ "args", "body" ] var OPTIONAL_FIELDS = [ "pre", "post", "printCode", "funcName", "blockSize" ] function processFunc(func) { var codeStr = "var X=" + func var minified = uglify.minify(codeStr, {fromString: true, compress: { unused: "keep_assign" }}).code var code = minified.substr(6, minified.length-7) return parse(code) } function cwiseTransform(file, opts) { var sm = staticModule({ cwise: function(user_args) { for(var id in user_args) { if(REQUIRED_FIELDS.indexOf(id) < 0 && OPTIONAL_FIELDS.indexOf(id) < 0) { console.warn("cwise: Unknown argument '"+id+"' passed to expression compiler") } } for(var i=0; i