source: node_modules/@swagger-api/apidom-reference/cjs/parse/parsers/openapi-yaml-2/index.cjs@ d24f17c

main
Last change on this file since d24f17c was d24f17c, checked in by Aleksandar Panovski <apano77@…>, 15 months ago

Initial commit

  • Property mode set to 100644
File size: 1.6 KB
Line 
1"use strict";
2
3var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
4exports.__esModule = true;
5exports.default = void 0;
6var _stampit = _interopRequireDefault(require("stampit"));
7var _ramda = require("ramda");
8var _apidomParserAdapterOpenapiYaml = require("@swagger-api/apidom-parser-adapter-openapi-yaml-2");
9var _ParserError = _interopRequireDefault(require("../../../errors/ParserError.cjs"));
10var _Parser = _interopRequireDefault(require("../Parser.cjs"));
11const OpenApiYaml2Parser = (0, _stampit.default)(_Parser.default, {
12 props: {
13 name: 'openapi-yaml-2',
14 fileExtensions: ['.yaml', '.yml'],
15 mediaTypes: _apidomParserAdapterOpenapiYaml.mediaTypes
16 },
17 methods: {
18 async canParse(file) {
19 const hasSupportedFileExtension = this.fileExtensions.length === 0 ? true : this.fileExtensions.includes(file.extension);
20 const hasSupportedMediaType = this.mediaTypes.includes(file.mediaType);
21 if (!hasSupportedFileExtension) return false;
22 if (hasSupportedMediaType) return true;
23 if (!hasSupportedMediaType) {
24 return (0, _apidomParserAdapterOpenapiYaml.detect)(file.toString());
25 }
26 return false;
27 },
28 async parse(file) {
29 const source = file.toString();
30 try {
31 const parserOpts = (0, _ramda.pick)(['sourceMap', 'refractorOpts'], this);
32 return await (0, _apidomParserAdapterOpenapiYaml.parse)(source, parserOpts);
33 } catch (error) {
34 throw new _ParserError.default(`Error parsing "${file.uri}"`, {
35 cause: error
36 });
37 }
38 }
39 }
40});
41var _default = exports.default = OpenApiYaml2Parser;
Note: See TracBrowser for help on using the repository browser.