Message validation package for YAML and JSON AsyncAPI documents.
This package:
- Load and parse your AsyncAPI documents from a file, an url or an in-line schema
- Support AsyncAPI documents v2.x.x and v3.x.x
- Support both YAML and JSON documents
# NPM
npm install asyncapi-validation
# Yarn
yarn add asyncapi-validation
# PNPM
pnpm install asyncapi-validation
- fromFile(path) ⇒
Promise.<ValidationFunction>
Parses an AsyncAPI schema from a file and returns a validation function.
- fromUrl(url) ⇒
Promise.<ValidationFunction>
Parses an AsyncAPI schema from a URL and returns a validation function.
- fromSchema(schema) ⇒
Promise.<ValidationFunction>
Parses an AsyncAPI schema from a string and returns a validation function.
Parses an AsyncAPI schema from a file and returns a validation function.
Kind: global function
Returns: Promise.<ValidationFunction>
- A promise that resolves to the validation function.
Throws:
AsyncAPIParsingError
if the schema is not valid or has governance issues.
Param | Type | Description |
---|---|---|
path | string |
The path to the AsyncAPI schema file. |
Example
const validator = await asyncApiValidation.parseFromFile('path/to/schema.yaml');
validator('messageKey', { foo: 'bar' });
Parses an AsyncAPI schema from a URL and returns a validation function.
Kind: global function
Returns: Promise.<ValidationFunction>
- A promise that resolves to the validation function.
Throws:
AsyncAPIParsingError
if the schema is not valid or has governance issues.
Param | Type | Description |
---|---|---|
url | string |
The URL of the AsyncAPI schema. |
Example
const validator = await asyncApiValidation.fromUrl(
'https://example.org/schema.yaml'
);
validator('messageKey', { foo: 'bar' });
Parses an AsyncAPI schema from a string and returns a validation function.
Kind: global function
Returns: Promise.<ValidationFunction>
- A promise that resolves to the validation function.
Throws:
AsyncAPIParsingError
if the schema is not valid or has governance issues.
Param | Type | Description |
---|---|---|
schema | string |
The AsyncAPI schema as a string. |
Example
const validator = await asyncApiValidation.fromSchema('asyncapi: 2.0.0');
validator('messageKey', { foo: 'bar' });
Validates the provided AsyncAPI schema and returns a validation function.
Kind: global function
Returns: ValidationFunction
- The validation function.
Param | Type | Description |
---|---|---|
schema | ParseOutput |
The parsed AsyncAPI schema. |
Validates the provided payload against the AsyncAPI schema.
Kind: inner method of validate
Returns: boolean
- true if the payload is valid.
Throws:
Error
if no messages are found for the given key.AsyncAPIValidationError
if the payload fails validation.
Param | Type | Description |
---|---|---|
key | string |
The key of the message to validate. |
payload | unknown |
The payload to validate. |
Example
const validator = await asyncApiValidation.fromSchema('asyncapi: 2.0.0');
validator('messageKey', { foo: 'bar' });
Represents an error that occurs during the parsing of an AsyncAPI document.
Represents an error that occurs during the parsing of an AsyncAPI document.
Param | Type | Description |
---|---|---|
message | string |
The error message. |
[errors] | Array.<Diagnostic> |
Optional array of diagnostic errors associated with the parsing error. |
Represents an error that occurs during AsyncAPI validation.
Represents an error that occurs during AsyncAPI validation.
Param | Type | Description |
---|---|---|
message | string |
The error message. |
key | string |
The key associated with the error. |
[errors] | Array.<ErrorObject> | null |
The array of validation error objects. |