Message validation package for YAML and JSON AsyncAPI documents.
npm install 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
``bash`NPM
npm install asyncapi-validationYarn
yarn add asyncapi-validationPNPM
pnpm install asyncapi-validation
Promise.<ValidationFunction>Parses an AsyncAPI schema from a file and returns a validation function.
Promise.<ValidationFunction>Parses an AsyncAPI schema from a URL and returns a validation function.
Promise.<ValidationFunction>Parses an AsyncAPI schema from a string and returns a validation function.
#### fromFile(path) ⇒ Promise.<ValidationFunction>
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
`js`
const validator = await asyncApiValidation.parseFromFile('path/to/schema.yaml');
validator('messageKey', { foo: 'bar' });
#### fromUrl(url) ⇒ Promise.<ValidationFunction>
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
`js`
const validator = await asyncApiValidation.fromUrl(
'https://example.org/schema.yaml'
);
validator('messageKey', { foo: 'bar' });
#### fromSchema(schema) ⇒ Promise.<ValidationFunction>
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
`js`
const validator = await asyncApiValidation.fromSchema('asyncapi: 2.0.0');
validator('messageKey', { foo: 'bar' });
#### validate(schema) ⇒ ValidationFunction
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. |
##### validate~validatorFunction(key, payload) ⇒ boolean
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
`js``
const validator = await asyncApiValidation.fromSchema('asyncapi: 2.0.0');
validator('messageKey', { foo: 'bar' });
#### 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. |