source: node_modules/@swagger-api/apidom-reference/cjs/parse/parsers/asyncapi-json-2/index.cjs

main
Last change on this file 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 _apidomParserAdapterAsyncapiJson = require("@swagger-api/apidom-parser-adapter-asyncapi-json-2");
9var _ParserError = _interopRequireDefault(require("../../../errors/ParserError.cjs"));
10var _Parser = _interopRequireDefault(require("../Parser.cjs"));
11const AsyncApiJson2Parser = (0, _stampit.default)(_Parser.default, {
12 props: {
13 name: 'asyncapi-json-2',
14 fileExtensions: ['.json'],
15 mediaTypes: _apidomParserAdapterAsyncapiJson.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, _apidomParserAdapterAsyncapiJson.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', 'syntacticAnalysis', 'refractorOpts'], this);
32 return await (0, _apidomParserAdapterAsyncapiJson.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 = AsyncApiJson2Parser;
Note: See TracBrowser for help on using the repository browser.