UNPKG

@lcap/asl

Version:

NetEase Application Specific Language

86 lines 2.97 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.genCallInterfaceFromTempInterface = exports.genCallInterface = exports.getOptionalCallParamsOfInterface = exports.getRequiredCallParamsOfInterface = exports.getSelectedCallParamsOfInterface = void 0; const __1 = require("../.."); /** * 根据接口参数列表生成 CallInterParam 列表 * @param itface 接口 */ function getCallParamsOfInterface(itface) { const res = (itface?.logic?.params || []).map((param) => ({ level: __1.LEVEL_ENUM.param, type: 'CallInterParam', logicId: itface.logic.id, callInterParam: `#/${itface.logic.id}/${param.id}`, refTarget: param, callInterParamValue: null, })); return res; } function getSelectedCallParamsOfInterface(itface, params = []) { let res = getCallParamsOfInterface(itface).filter((item) => item.refTarget.required && params.every((param) => param.callInterParam !== `#/${item.refTarget.id}`)); res = [...params, ...res]; return res; } exports.getSelectedCallParamsOfInterface = getSelectedCallParamsOfInterface; function getRequiredCallParamsOfInterface(itface) { return getCallParamsOfInterface(itface).filter((item) => item.refTarget.required); } exports.getRequiredCallParamsOfInterface = getRequiredCallParamsOfInterface; function getOptionalCallParamsOfInterface(itface) { return getCallParamsOfInterface(itface).filter((item) => !item.refTarget.required); } exports.getOptionalCallParamsOfInterface = getOptionalCallParamsOfInterface; /** * 生成调用接口 * @param itface 接口实例 * @param params 输入参数 */ function genCallInterface(itface, params = []) { if (itface.entityId) { const identifier = itface.logicId ? itface.logicId : itface.name; return { level: 'logicNode', type: 'CallLogic', label: '调用逻辑', callee: identifier, calleeCode: `callInterface_${identifier}`, params, }; } const res = { level: 'logicNode', type: 'CallInterface', label: '调用接口', interfaceKey: '', params, }; if (itface) { res.interfaceKey = itface.key; } return res; } exports.genCallInterface = genCallInterface; exports.default = genCallInterface; function genCallInterfaceFromTempInterface(itface, params = []) { if (itface.entityId) { return { level: 'logicNode', type: 'CallLogic', label: '调用逻辑', callee: itface.name, calleeCode: 'callInterface_', params, }; } return { level: 'logicNode', type: 'CallInterface', label: '调用接口', interfaceKey: itface.name, params, }; } exports.genCallInterfaceFromTempInterface = genCallInterfaceFromTempInterface; //# sourceMappingURL=genCallInterface.js.map