@alova/wormhole
Version:
More modern openAPI generating solution for alova.js
37 lines (36 loc) • 1.25 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.tupleTypeParser = tupleTypeParser;
const helper_1 = require("../../../../helper");
const type_1 = require("../../../../type");
const utils_1 = require("./utils");
function tupleTypeParser(schema, ctx) {
const params = schema.items.map(item => ctx.next(item, ctx.options));
const result = {
...(0, utils_1.initAST)(schema, ctx),
type: type_1.ASTType.TUPLE,
minItems: schema.minItems,
maxItems: schema.maxItems,
params,
};
const deepCommenter = helper_1.CommentHelper.load({
type: ctx.options.commentType,
});
params.forEach((itemsAst, idx) => {
const comment = helper_1.CommentHelper.parseStr(itemsAst.comment ?? '');
const deepComment = helper_1.CommentHelper.parseStr(itemsAst.deepComment ?? '');
if (comment || deepComment) {
deepCommenter
.add(`[params${idx + 1}] start`)
.add(comment)
.add(deepComment)
.add(`[params${idx + 1}] end`);
}
});
result.deepComment = deepCommenter.end();
return result;
}
exports.default = {
type: 'tuple',
parse: tupleTypeParser,
};