UNPKG

@lcap/asl

Version:

NetEase Application Specific Language

81 lines 2.81 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.resolveParameter = exports.waitPromise = exports.clearObjectDeep = exports.clearObject = exports.throttle = void 0; __exportStar(require("./string"), exports); __exportStar(require("./traverse"), exports); __exportStar(require("./logger"), exports); const traverse_1 = require("./traverse"); const __1 = require("../"); /** * 用 lodash 的 throttle 好像有点问题,先临时做个处理 * @param func * @param wait * @param options */ const throttle = (func, wait, options) => func; exports.throttle = throttle; function clearObject(obj) { Object.keys(obj).forEach((key) => { if (obj[key] === undefined || obj[key] === null) delete obj[key]; }); } exports.clearObject = clearObject; function clearObjectDeep(obj) { traverse_1.traverse((current) => { Object.keys(current.node).forEach((key) => { if (current.node[key] === null) delete current.node[key]; }); }, { node: obj }, { mode: 'anyObject' }); } exports.clearObjectDeep = clearObjectDeep; const waitPromise = (wait) => new Promise((res) => setTimeout(() => res(wait), wait)); exports.waitPromise = waitPromise; function resolveParameter(params) { const parameters = {}; const requestBody = { content: { 'application/json': {}, }, description: { name: '' }, required: false, }; let hasBody = false; let hasParam = false; params.forEach((p) => { if (p.in === 'body') { hasBody = true; requestBody.description.name = p.name; if (!__1.isBasicType(p.schema)) { requestBody.content['application/json'] = p; } else { requestBody.content['application/json'] = { schema: p.schema, }; } requestBody.required = true; } else { hasParam = true; parameters[p.name] = p; } }); return { parameters: hasParam ? JSON.stringify(parameters) : '', requestBody: hasBody ? JSON.stringify(requestBody) : '', }; } exports.resolveParameter = resolveParameter; //# sourceMappingURL=index.js.map