UNPKG

@alova/wormhole

Version:

More modern openAPI generating solution for alova.js

71 lines (70 loc) 2.59 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const normalizer_1 = require("./normalizer"); const convertTypeArray_1 = __importDefault(require("./rules/convertTypeArray")); const handleEmptyType_1 = __importDefault(require("./rules/handleEmptyType")); const inferType_1 = __importDefault(require("./rules/inferType")); const mergeAnyOf_1 = __importDefault(require("./rules/mergeAnyOf")); const normalizeCombiningKeywords_1 = __importDefault(require("./rules/normalizeCombiningKeywords")); const normalizeEnum_1 = __importDefault(require("./rules/normalizeEnum")); const normalizeNullType_1 = __importDefault(require("./rules/normalizeNullType")); const removeRedundantKeywords_1 = __importDefault(require("./rules/removeRedundantKeywords")); const simplifySingleType_1 = __importDefault(require("./rules/simplifySingleType")); const validateSchema_1 = __importDefault(require("./rules/validateSchema")); const normalizer = new normalizer_1.SchemaNormalizer(); // ================= 注册规则 ================= normalizer .addRule({ name: 'inferType', description: '从关键字推断类型', handler: inferType_1.default, }) .addRule({ name: 'normalizeNullType', description: '规范化 null 类型', handler: normalizeNullType_1.default, }) .addRule({ name: 'convertTypeArray', description: '将 type 数组转换为 anyOf 结构', handler: convertTypeArray_1.default, }) .addRule({ name: 'normalizeEnum', description: '规范化枚举类型', handler: normalizeEnum_1.default, }) .addRule({ name: 'normalizeCombiningKeywords', description: '规范化anyOf/oneOf/allOf 关键字', handler: normalizeCombiningKeywords_1.default, }) .addRule({ name: 'mergeAnyOf', description: '合并anyOf中type相同的分支', handler: mergeAnyOf_1.default, }) .addRule({ name: 'removeRedundantKeywords', description: '移除多余关键字', handler: removeRedundantKeywords_1.default, }) .addRule({ name: 'handleEmptyType', description: '处理空类型定义', handler: handleEmptyType_1.default, }) .addRule({ name: 'simplifySingleType', description: '简化单元素类型数组', handler: simplifySingleType_1.default, }) .addRule({ name: 'validateSchema', description: '验证 schema 的有效性', handler: validateSchema_1.default, }); exports.default = normalizer;