@alova/wormhole
Version:
More modern openAPI generating solution for alova.js
41 lines (40 loc) • 1.63 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.defaultValueLoader = exports.DefaultValueLoader = void 0;
const utils_1 = require("../../../utils");
const helper_1 = require("./helper");
class DefaultValueLoader {
constructor() {
this.name = 'defaultValueLoader';
}
transform(input, options) {
if (options?.format) {
return (0, helper_1.generateDefaultValuesFormat)(input);
}
return Promise.resolve((0, helper_1.generateDefaultValues)(input));
}
async transformApi(api) {
const configStrArr = [];
if (api.pathParametersComment) {
configStrArr.push(`pathParams: ${await this.transform(api.pathParametersComment.replace(/\*/g, ''))}`);
}
if (api.queryParametersComment) {
configStrArr.push(`params: ${await this.transform(api.queryParametersComment.replace(/\*/g, ''))}`);
}
if (api.requestComment) {
configStrArr.push(`data: ${await this.transform(api.requestComment.replace(/\*/g, ''))}`);
}
return (0, utils_1.format)(`${api.global}.${api.pathKey}({${configStrArr.join(',\n')}})`, {
printWidth: 40, // Shorten print width to force line breaks
tabWidth: 2,
semi: false, // Remove the trailing semicolon
useTabs: false,
trailingComma: 'none',
endOfLine: 'lf',
bracketSpacing: true,
arrowParens: 'always',
});
}
}
exports.DefaultValueLoader = DefaultValueLoader;
exports.defaultValueLoader = new DefaultValueLoader();