asyncapi-validation
v0.2.0
Published
Message validation package for YAML and JSON AsyncAPI documents.
Downloads
7,822
Maintainers
Readme
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.
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' });
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
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
const validator = await asyncApiValidation.fromSchema('asyncapi: 2.0.0');
validator('messageKey', { foo: 'bar' });
Validator Function
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
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.
Kind: global class
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.
Kind: global class
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. |