@godspeedsystems/core
Version:
> 4th Generation Declarative Microservice Framework
83 lines (82 loc) • 2.67 kB
JavaScript
/*
* You are allowed to study this software for learning and local * development purposes only. Any other use without explicit permission by Mindgrep, is prohibited.
* © 2022 Mindgrep Technologies Pvt Ltd
*/ /**
* Import all packages available in scripts of workflow
*/ "use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
function _export(target, all) {
for(var name in all)Object.defineProperty(target, name, {
enumerable: true,
get: all[name]
});
}
_export(exports, {
/**
* Can be called for gsFunction.args, gsFunction.on_error.transform and switch.condition
* Input an be scalar or object
*/ default: function() {
return evaluateScript;
},
importAll: function() {
return importAll;
}
});
const _interfaces = require("./interfaces");
const _logger = require("../logger");
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
try {
var info = gen[key](arg);
var value = info.value;
} catch (error) {
reject(error);
return;
}
if (info.done) {
resolve(value);
} else {
Promise.resolve(value).then(_next, _throw);
}
}
function _async_to_generator(fn) {
return function() {
var self = this, args = arguments;
return new Promise(function(resolve, reject) {
var gen = fn.apply(self, args);
function _next(value) {
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
}
function _throw(err) {
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
}
_next(undefined);
});
};
}
function importAll(sourceScope, targetScope) {
for(let name in sourceScope){
targetScope[name] = sourceScope[name];
}
}
function evaluateScript(ctx, script, taskValue) {
return _evaluateScript.apply(this, arguments);
}
function _evaluateScript() {
_evaluateScript = _async_to_generator(function*(ctx, script, taskValue) {
// childLogger.debug('before evaluateScript %s', script);
if (!script) {
return;
}
try {
return script(ctx.config, ctx.inputs.data, ctx.outputs, ctx.mappings, taskValue);
} catch (err) {
_logger.logger.error('Error in evaluating script: %s', err);
_logger.logger.debug('%s', err.stack);
ctx.exitWithStatus = new _interfaces.GSStatus(false, undefined, err.message, err.stack);
//return 'Error in parsing script';
}
});
return _evaluateScript.apply(this, arguments);
}