UNPKG

fastman

Version:

快速api测试及文档生成

80 lines 3.11 kB
"use strict"; /** * @license * Copyright 2017 Red Hat * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ Object.defineProperty(exports, "__esModule", { value: true }); var document_model_1 = require("../models/2.0/document.model"); var js2model_reader_1 = require("../readers/js2model.reader"); var document_model_2 = require("../models/3.0/document.model"); /** * The main factory for creating new OAS Documents. This can be used to create a new, empty * document. It can also be used to parse */ var OasDocumentFactory = /** @class */ (function () { function OasDocumentFactory() { } /** * Creates a new, empty instance of an OAS document. * @param oasVersion * @return {OasDocument} */ OasDocumentFactory.prototype.createEmpty = function (oasVersion) { if (oasVersion === "2.0") { return new document_model_1.Oas20Document(); } if (oasVersion.indexOf("3.") === 0) { return new document_model_2.Oas30Document(); } throw new Error("Unsupported OAS version: " + oasVersion); }; /** * Reads the given object and creates a valid OAS document model. * @param oasObject * @return {Oas20Document} */ OasDocumentFactory.prototype.createFromObject = function (oasObject) { if (oasObject.swagger && oasObject.swagger === "2.0") { var reader = new js2model_reader_1.Oas20JS2ModelReader(); return reader.read(oasObject); } else if (oasObject.openapi && oasObject.openapi.indexOf("3.") === 0) { var reader = new js2model_reader_1.Oas30JS2ModelReader(); return reader.read(oasObject); } else { var ver = oasObject.swagger; if (!ver) { ver = oasObject.openapi; } throw new Error("Unsupported OAS version: " + ver); } }; /** * Parses the given OAS definition source, parses it into an appropriate data model, and * returns it. The factory will figure out what version of the data model to create based * on the content of the source. * * @param oasDefinitionSource * @return {null} */ OasDocumentFactory.prototype.createFromJson = function (oasDefinition) { var jsObj = JSON.parse(oasDefinition); return this.createFromObject(jsObj); }; return OasDocumentFactory; }()); exports.OasDocumentFactory = OasDocumentFactory; //# sourceMappingURL=document.factory.js.map