computes-vm
Version:
Computes virtual machine
59 lines (49 loc) • 1.67 kB
JavaScript
// Generated by CoffeeScript 1.11.1
(function() {
var Function, packageJSON, vm,
bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; };
vm = require('vm');
packageJSON = require('../package.json');
Function = (function() {
function Function() {
this.onEnvelope = bind(this.onEnvelope, this);
}
Function.prototype.onEnvelope = function(envelope) {
var DotObject, UUID, _, atob, biginteger, btoa, config, context, dependencies, functionText, message, metadata, moment, tinycolor;
config = envelope.config, message = envelope.message, metadata = envelope.metadata;
_ = require('lodash');
moment = require('moment');
tinycolor = require('tinycolor2');
UUID = require('uuid');
DotObject = require('dot-object');
btoa = require('btoa');
atob = require('atob');
biginteger = require('big-integer');
if (message == null) {
message = {};
}
functionText = ("var results = " + config.func + "(") + JSON.stringify(config.data) + ");";
console.log("FUNCTION: ", functionText);
dependencies = {
_: _,
moment: moment,
tinycolor: tinycolor,
metadata: metadata,
UUID: UUID,
DotObject: DotObject,
atob: atob,
btoa: btoa,
biginteger: biginteger,
msg: message
};
context = vm.createContext(dependencies);
vm.runInContext(functionText, context, {
timeout: 300
});
return context.results;
};
return Function;
})();
module.exports = Function;
}).call(this);
//# sourceMappingURL=function-worker.js.map