@ultipa-graph/ultipa-node-sdk
Version:
NodeJS SDK for ultipa-server 4.0
71 lines • 3.25 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __rest = (this && this.__rest) || function (s, e) {
var t = {};
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
t[p] = s[p];
if (s != null && typeof Object.getOwnPropertySymbols === "function")
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
t[p[i]] = s[p[i]];
}
return t;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.algoCommonSend = void 0;
const uql_maker_1 = require("../../../utils/uql-maker");
const algoCommonSend = (conn, req, name, commonReq) => __awaiter(void 0, void 0, void 0, function* () {
// 因为有些values里会有值,有些tables会有值,也有可能2者都有值
// 如果write_back,可能就values有值,其它没值
// 有些算法不支持write_back,用户填上也没有用,可能还是其它里的值
// 大部分values里都有值,所以不能取其中一个返回给用户
// 所以把结果统一透传出去
let command = uql_maker_1.UQLMAKER.CommandList.algo;
if (req.exec_task) {
command = "exec task " + command;
}
let uqlMaker = new uql_maker_1.UQLMAKER(command, commonReq, name.replace(/^algo_/, ""));
let _a = req || {}, { write_back, visualization, exec_task, force, write_file, write_db, stats, stream } = _a, params = __rest(_a, ["write_back", "visualization", "exec_task", "force", "write_file", "write_db", "stats", "stream"]);
if (Object.keys(params).length > 0) {
uqlMaker.addParam("params", params);
}
if (write_back) {
uqlMaker.addParam("write_back", "", false);
}
if (force) {
uqlMaker.addParam("force", "", false);
}
if (stats) {
uqlMaker.addParam("stats", "", false);
}
if (write_file || write_db) {
let ws = {};
if (write_file) {
ws.file = write_file;
}
if (write_db) {
ws.db = write_db;
}
uqlMaker.addParam("write", ws);
}
if (stream) {
if (stream === true) {
uqlMaker.addParam("stream", stream, false);
}
else {
uqlMaker.addParam("stream", stream);
}
}
let res = yield conn.uqlSingle(uqlMaker);
return Object.assign(Object.assign({}, res.responseWithoutData), { data: res.uqlReply.toJSON() });
});
exports.algoCommonSend = algoCommonSend;
//# sourceMappingURL=algo.utils.js.map