source: node_modules/swagger-client/lib/resolver/apidom/reference/parse/parsers/yaml-1-2/index.js

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

Initial commit

  • Property mode set to 100644
File size: 2.0 KB
Line 
1"use strict";
2
3var _interopRequireWildcard = require("@babel/runtime-corejs3/helpers/interopRequireWildcard").default;
4exports.__esModule = true;
5exports.default = void 0;
6var _jsYaml = _interopRequireWildcard(require("js-yaml"));
7var _apidomCore = require("@swagger-api/apidom-core");
8var _empty = require("@swagger-api/apidom-reference/configuration/empty");
9const YamlParser = _empty.Parser.compose({
10 props: {
11 name: 'yaml-1-2-swagger-client',
12 fileExtensions: ['.yaml', '.yml'],
13 mediaTypes: ['text/yaml', 'application/yaml']
14 },
15 methods: {
16 async canParse(file) {
17 const hasSupportedFileExtension = this.fileExtensions.length === 0 ? true : this.fileExtensions.includes(file.extension);
18 const hasSupportedMediaType = this.mediaTypes.includes(file.mediaType);
19 if (!hasSupportedFileExtension) return false;
20 if (hasSupportedMediaType) return true;
21 if (!hasSupportedMediaType) {
22 try {
23 _jsYaml.default.load(file.toString(), {
24 schema: _jsYaml.JSON_SCHEMA
25 });
26 return true;
27 } catch (error) {
28 return false;
29 }
30 }
31 return false;
32 },
33 async parse(file) {
34 if (this.sourceMap) {
35 throw new _empty.ParserError("yaml-1-2-swagger-client parser plugin doesn't support sourceMaps option");
36 }
37 const parseResultElement = new _apidomCore.ParseResultElement();
38 const source = file.toString();
39 try {
40 const pojo = _jsYaml.default.load(source, {
41 schema: _jsYaml.JSON_SCHEMA
42 });
43 if (this.allowEmpty && typeof pojo === 'undefined') {
44 return parseResultElement;
45 }
46 const element = (0, _apidomCore.from)(pojo);
47 element.classes.push('result');
48 parseResultElement.push(element);
49 return parseResultElement;
50 } catch (error) {
51 throw new _empty.ParserError(`Error parsing "${file.uri}"`, {
52 cause: error
53 });
54 }
55 }
56 }
57});
58var _default = exports.default = YamlParser;
Note: See TracBrowser for help on using the repository browser.