@lcap/asl
Version:
NetEase Application Specific Language
81 lines • 2.81 kB
JavaScript
;
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