
package.cjs.parse.parsers.api-design-systems-json.index.cjs Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of apidom-reference Show documentation
Show all versions of apidom-reference Show documentation
Advanced algorithms for semantic ApiDOM manipulations like dereferencing or resolution.
"use strict";
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
exports.__esModule = true;
exports.default = void 0;
var _ramda = require("ramda");
var _apidomParserAdapterApiDesignSystemsJson = require("@swagger-api/apidom-parser-adapter-api-design-systems-json");
var _ParserError = _interopRequireDefault(require("../../../errors/ParserError.cjs"));
var _Parser = _interopRequireDefault(require("../Parser.cjs"));
class APIDesignSystemsJSONParser extends _Parser.default {
syntacticAnalysis;
refractorOpts;
constructor(options) {
const {
fileExtensions = ['.json'],
mediaTypes = _apidomParserAdapterApiDesignSystemsJson.mediaTypes,
...rest
} = options != null ? options : {};
super({
...rest,
name: 'api-design-systems-json',
fileExtensions,
mediaTypes
});
}
async canParse(file) {
const hasSupportedFileExtension = this.fileExtensions.length === 0 ? true : this.fileExtensions.includes(file.extension);
const hasSupportedMediaType = this.mediaTypes.includes(file.mediaType);
if (!hasSupportedFileExtension) return false;
if (hasSupportedMediaType) return true;
if (!hasSupportedMediaType) {
return (0, _apidomParserAdapterApiDesignSystemsJson.detect)(file.toString());
}
return false;
}
async parse(file) {
const source = file.toString();
try {
const parserOpts = (0, _ramda.pick)(['sourceMap', 'syntacticAnalysis', 'refractorOpts'], this);
return await (0, _apidomParserAdapterApiDesignSystemsJson.parse)(source, parserOpts);
} catch (error) {
throw new _ParserError.default(`Error parsing "${file.uri}"`, {
cause: error
});
}
}
}
var _default = exports.default = APIDesignSystemsJSONParser;
© 2015 - 2025 Weber Informatics LLC | Privacy Policy