AsyncAPI validation
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
Installation
# NPM
npm install asyncapi-validation
# Yarn
yarn add asyncapi-validation
# PNPM
pnpm install asyncapi-validation
Usage
Parsing Functions
-
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.
Promise.<ValidationFunction>
fromFile(path) ⇒ 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' });
Promise.<ValidationFunction>
fromUrl(url) ⇒ 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' });
Promise.<ValidationFunction>
fromSchema(schema) ⇒ 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' });
Validator Function
ValidationFunction
validate(schema) ⇒ 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. |
boolean
validate~validatorFunction(key, payload) ⇒ 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' });
Errors
AsyncAPIParsingError
Represents an error that occurs during the parsing of an AsyncAPI document.
new AsyncAPIParsingError(message, [errors])
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. |
AsyncAPIValidationError
Represents an error that occurs during AsyncAPI validation.
new AsyncAPIValidationError(message, key, [errors])
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. |