source: node_modules/@swagger-api/apidom-reference/cjs/parse/parsers/yaml-1-2/index.cjs@ 65b6638

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

Initial commit

  • Property mode set to 100644
File size: 1.5 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 _apidomParserAdapterYaml = require("@swagger-api/apidom-parser-adapter-yaml-1-2");
8var _ParserError = _interopRequireDefault(require("../../../errors/ParserError.cjs"));
9var _Parser = _interopRequireDefault(require("../Parser.cjs"));
10const YamlParser = (0, _stampit.default)(_Parser.default, {
11 props: {
12 name: 'yaml-1-2',
13 fileExtensions: ['.yaml', '.yml'],
14 mediaTypes: _apidomParserAdapterYaml.mediaTypes
15 },
16 methods: {
17 async canParse(file) {
18 const hasSupportedFileExtension = this.fileExtensions.length === 0 ? true : this.fileExtensions.includes(file.extension);
19 const hasSupportedMediaType = this.mediaTypes.includes(file.mediaType);
20 if (!hasSupportedFileExtension) return false;
21 if (hasSupportedMediaType) return true;
22 if (!hasSupportedMediaType) {
23 return (0, _apidomParserAdapterYaml.detect)(file.toString());
24 }
25 return false;
26 },
27 async parse(file) {
28 const source = file.toString();
29 try {
30 return await (0, _apidomParserAdapterYaml.parse)(source, {
31 sourceMap: this.sourceMap
32 });
33 } catch (error) {
34 throw new _ParserError.default(`Error parsing "${file.uri}"`, {
35 cause: error
36 });
37 }
38 }
39 }
40});
41var _default = exports.default = YamlParser;
Note: See TracBrowser for help on using the repository browser.