fastman
Version:
快速api测试及文档生成
80 lines • 3.11 kB
JavaScript
;
/**
* @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