ajv-i18n-excelation
TypeScript icon, indicating that this package has built-in type declarations

0.2.1 • Public • Published

excelation-ajv-i18n

Internationalised error messages for Ajv - superfast JSON validator for JSON Schema and JSON Type Definition.

This modification supports german type names and is based on the package by Evgeny Poberezkin Git.

Build Status npm Coverage Status Gitter

Supported locales

locale language contributor draft-04 draft-061 draft-072 draft
2019-093
/2020-124
JTD5
🇩🇪 de German jmtoball
gflohr

 

 


 

 

Install

Using npm:

npm install ajv-i18n

Usage

In node:

const Ajv = require("ajv") // version >= 8.0.0
const localize = require("ajv-i18n")
// or for JSON Type Definition
// const localize = require("ajv-i18n/localize/jtd")

const ajv = Ajv({allErrors: true, messages: false})
const validate = ajv.compile(schema)
const valid = validate(data)

if (!valid) {
  // ru for Russian
  localize.ru(validate.errors)
  // string with all errors and data paths
  console.log(ajv.errorsText(validate.errors, {separator: '\n'}))
}

To require only necessary locales (e.g., with browserify):

const localize_ru = require('ajv-i18n/localize/ru')
// or for JSON Type Definition
// const localize_ru = require('ajv-i18n/localize/ru/jtd')

or

const localize = {
  en: require('ajv-i18n/localize/en'),
  ru: require('ajv-i18n/localize/ru'),
}

See Ajv docs for more information.

Tests

npm install
git submodule update --init
npm test

Contributing

Functions that localize error messages are generated using doT template localize.jst, JSON Schema messages and JSON Type Definition messages. Templates are pre-compiled, so doT is not a run-time dependency.

npm run build - compiles functions to localize folder.

License

MIT

Package Sidebar

Install

npm i ajv-i18n-excelation

Weekly Downloads

1

Version

0.2.1

License

MIT

Unpacked Size

312 kB

Total Files

152

Last publish

Collaborators

  • princebubble