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:
AsyncAPIParsingErrorif 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:
AsyncAPIParsingErrorif 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:
AsyncAPIParsingErrorif 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:
Errorif no messages are found for the given key.AsyncAPIValidationErrorif 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. |