Security News
The Unpaid Backbone of Open Source: Solo Maintainers Face Increasing Security Demands
Solo open source maintainers face burnout and security challenges, with 60% unpaid and 60% considering quitting.
@swagger-api/apidom-parser-adapter-asyncapi-json-2
Advanced tools
Parser adapter for parsing JSON documents into AsyncAPI 2.x.y namespace.
@swagger-api/apidom-parser-adapter-asyncapi-json-2
is a parser adapter for following AsyncAPI specification versions defined in JSON format:
Under the hood this adapter uses @swagger-api/apidom-parser-adapter-json to parse a source string into generic ApiDOM in base ApiDOM namespace which is then refracted with AsyncApi 2.x.y Refractors.
After prerequisites for installing this package are satisfied, you can install it via npm CLI by running the following command:
$ npm install @swagger-api/apidom-parser-adapter-asyncapi-json-2
This parser adapter is fully compatible with parser adapter interface required by @swagger-api/apidom-parser and implements all required properties.
Defines list of media types that this parser adapter recognizes.
[
'application/vnd.aai.asyncapi;version=2.0.0',
'application/vnd.aai.asyncapi;version=2.1.0',
'application/vnd.aai.asyncapi;version=2.2.0',
'application/vnd.aai.asyncapi;version=2.3.0',
'application/vnd.aai.asyncapi;version=2.4.0',
'application/vnd.aai.asyncapi;version=2.5.0',
'application/vnd.aai.asyncapi;version=2.6.0',
'application/vnd.aai.asyncapi+json;version=2.0.0',
'application/vnd.aai.asyncapi+json;version=2.1.0',
'application/vnd.aai.asyncapi+json;version=2.2.0',
'application/vnd.aai.asyncapi+json;version=2.3.0',
'application/vnd.aai.asyncapi+json;version=2.4.0',
'application/vnd.aai.asyncapi+json;version=2.5.0',
'application/vnd.aai.asyncapi+json;version=2.6.0',
]
Detection is based on a regular expression matching required AsyncApi 2.6.0 specification symbols in JSON format.
This adapter exposes an instance of AsyncApi 2.x.y ApiDOM namespace.
parse
function consumes various options as a second argument. Here is a list of these options:
Option | Type | Default | Description |
---|---|---|---|
specObj | Object | Specification Object | This specification object drives the JSON AST transformation to AsyncAPI 2.x ApiDOM namespace. |
sourceMap | Boolean | false | Indicate whether to generate source maps. |
refractorOpts | Object | {} | Refractor options are passed to refractors during refracting phase. |
All unrecognized arbitrary options will be ignored.
This parser adapter can be used directly or indirectly via @swagger-api/apidom-parser.
During direct usage you don't need to provide mediaType
as the parse
function is already pre-bound
with supported media types.
import { parse, detect } from '@swagger-api/apidom-parser-adapter-asyncapi-json-2';
// detecting
await detect('{"asyncapi": "2.0.0"}'); // => true
await detect('{"asyncapi": "2.1.0"}'); // => true
await detect('{"asyncapi": "2.2.0"}'); // => true
await detect('{"asyncapi": "2.3.0"}'); // => true
await detect('{"asyncapi": "2.4.0"}'); // => true
await detect('{"asyncapi": "2.5.0"}'); // => true
await detect('{"asyncapi": "2.6.0"}'); // => true
await detect('test'); // => false
// parsing
const parseResult = await parse('{"asyncapi": "2.6.0"}', { sourceMap: true });
You can omit the mediaType
option here, but please read Word on detect vs mediaTypes before you do so.
import ApiDOMParser from '@swagger-api/apidom-parser';
import * as asyncApiJsonAdapter from '@swagger-api/apidom-parser-adapter-asyncapi-json-2';
const parser = ApiDOMParser();
parser.use(asyncApiJsonAdapter);
const parseResult = await parser.parse('{"asyncapi": "2.6.0"}', { mediaType: asyncApiJsonAdapter.mediaTypes.latest('json') });
0.85.0 (2023-11-30)
FAQs
Parser adapter for parsing JSON documents into AsyncAPI 2.x.y namespace.
The npm package @swagger-api/apidom-parser-adapter-asyncapi-json-2 receives a total of 346,636 weekly downloads. As such, @swagger-api/apidom-parser-adapter-asyncapi-json-2 popularity was classified as popular.
We found that @swagger-api/apidom-parser-adapter-asyncapi-json-2 demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Solo open source maintainers face burnout and security challenges, with 60% unpaid and 60% considering quitting.
Security News
License exceptions modify the terms of open source licenses, impacting how software can be used, modified, and distributed. Developers should be aware of the legal implications of these exceptions.
Security News
A developer is accusing Tencent of violating the GPL by modifying a Python utility and changing its license to BSD, highlighting the importance of copyleft compliance.