@alova/wormhole
Version:
More modern openAPI generating solution for alova.js
46 lines (45 loc) • 1.23 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.stringTypeParser = stringTypeParser;
exports.simpleTypeParser = simpleTypeParser;
const type_1 = require("../../../../type");
const utils_1 = require("./utils");
function stringTypeParser(schema, init) {
if (schema.format === 'binary') {
return {
...init,
type: type_1.ASTType.CUSTOM,
params: 'Blob',
};
}
return {
...init,
type: type_1.ASTType.STRING,
};
}
function simpleTypeParser(schema, ctx) {
const result = (0, utils_1.initAST)(schema, ctx);
switch (schema.type) {
case 'boolean':
result.type = type_1.ASTType.BOOLEAN;
break;
case 'integer':
case 'number':
result.type = type_1.ASTType.NUMBER;
break;
case 'string': {
return stringTypeParser(schema, result);
}
case 'null':
case null:
result.type = type_1.ASTType.NULL;
break;
default:
break;
}
return result;
}
exports.default = {
type: ['boolean', 'integer', 'number', 'string', 'null'],
parse: simpleTypeParser,
};