UNPKG

@ultipa-graph/ultipa-node-sdk

Version:

NodeJS SDK for ultipa-server 4.0

126 lines 6.34 kB
"use strict"; 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()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.SearchExra = void 0; const connection_base_1 = require("./connection.base"); const utils_1 = require("../../utils"); const { CommandList, VariableString } = utils_1.UQLMAKER; class SearchExra extends connection_base_1.ConnectionBase { /** 自动展开 */ spread(req, commonReq) { var _a; return __awaiter(this, void 0, void 0, function* () { let command = CommandList.nodeSpread; let uqlMaker = new utils_1.UQLMAKER(command, commonReq); uqlMaker.addParam("src", VariableString(req.src)); uqlMaker.addParam("depth", req.depth); uqlMaker.addParam("node_filter", VariableString(req.nodeFilter)); uqlMaker.addParam("edge_filter", VariableString(req.edgeFilter)); if (req.direction) { uqlMaker.addParam("direction", req.direction); } let as = req.as || "paths"; uqlMaker.addParam("as", as); uqlMaker.addParam("return", utils_1.UQLMAKER.Format_RETURN(as, req.return)); if (!!req.limit) { uqlMaker.addParam("limit", req.limit); } let res = yield this.uqlSingle(uqlMaker); return Object.assign(Object.assign({}, res.responseWithoutData), { data: (_a = res.uqlReply) === null || _a === void 0 ? void 0 : _a.singleDataPaths() }); }); } /** k邻查询 */ searchKhop(req, commonReq) { var _a; return __awaiter(this, void 0, void 0, function* () { let command = CommandList.khop; let uqlMaker = new utils_1.UQLMAKER(command, commonReq); uqlMaker.addParam("src", VariableString(req.src)); uqlMaker.addParam("depth", utils_1.UQLMAKER.Format_DEPTH(req.depth)); uqlMaker.addParam("node_filter", VariableString(req.nodeFilter)); uqlMaker.addParam("edge_filter", VariableString(req.edgeFilter)); if (req.direction) { uqlMaker.addParam("direction", req.direction); } let as = req.as || "nodes"; uqlMaker.addParam("as", as); uqlMaker.addParam("return", utils_1.UQLMAKER.Format_RETURN(as, req.return)); if (!!req.limit) { uqlMaker.addParam("limit", req.limit); } let res = yield this.uqlSingle(uqlMaker); return Object.assign(Object.assign({}, res.responseWithoutData), { data: (_a = res.uqlReply) === null || _a === void 0 ? void 0 : _a.singleDataNodes() }); }); } /** AB路径查询 */ searchAb(req, commonReq) { var _a; return __awaiter(this, void 0, void 0, function* () { let command = CommandList.ab; let uqlMaker = new utils_1.UQLMAKER(command, commonReq); uqlMaker.addParam("src", VariableString(req.src)); uqlMaker.addParam("dest", VariableString(req.dest)); uqlMaker.addParam("depth", utils_1.UQLMAKER.Format_DEPTH(req.depth)); if (!!req.shortest) { uqlMaker.addParam("shortest", req.shortest); } uqlMaker.addParam("node_filter", VariableString(req.nodeFilter)); uqlMaker.addParam("edge_filter", VariableString(req.edgeFilter)); if (req.pathAsc) { uqlMaker.addParam("path_asc", req.pathAsc); } if (req.pathDesc) { uqlMaker.addParam("path_desc", req.pathDesc); } if (req.direction) { uqlMaker.addParam("direction", req.direction); } uqlMaker.addEmptyParam("no_circle", req.noCircle); let as = req.as || "paths"; uqlMaker.addParam("as", as); uqlMaker.addParam("return", utils_1.UQLMAKER.Format_RETURN(as, req.return)); if (!!req.limit) { uqlMaker.addParam("limit", req.limit); } let res = yield this.uqlSingle(uqlMaker); return Object.assign(Object.assign({}, res.responseWithoutData), { data: (_a = res.uqlReply) === null || _a === void 0 ? void 0 : _a.singleDataPaths() }); }); } /** 自动组网 */ searchAutoNet(req, commonReq) { var _a; return __awaiter(this, void 0, void 0, function* () { let command = CommandList.autoNet; let uqlMaker = new utils_1.UQLMAKER(command, commonReq); uqlMaker.addParam("src", VariableString(req.src)); if (req.dest) { uqlMaker.addParam("dest", VariableString(req.dest)); } uqlMaker.addParam("depth", utils_1.UQLMAKER.Format_DEPTH(req.depth)); if (!!req.shortest) { uqlMaker.addParam("shortest", req.shortest); } uqlMaker.addParam("node_filter", VariableString(req.nodeFilter)); uqlMaker.addParam("edge_filter", VariableString(req.edgeFilter)); uqlMaker.addEmptyParam("no_circle", req.noCircle); let as = req.as || "paths"; uqlMaker.addParam("as", as); uqlMaker.addParam("return", utils_1.UQLMAKER.Format_RETURN(as, req.return)); if (!!req.limit) { uqlMaker.addParam("limit", req.limit); } let res = yield this.uqlSingle(uqlMaker); return Object.assign(Object.assign({}, res.responseWithoutData), { data: (_a = res.uqlReply) === null || _a === void 0 ? void 0 : _a.singleDataPaths() }); }); } } exports.SearchExra = SearchExra; //# sourceMappingURL=search.extra.js.map