bl-json-validator2
v1.0.1
Published
JS validation tool to check JSON validity for different templates
Downloads
36
Readme
bl-json-validator
Repository contains JS validation tool and set of schema files. Validation tool idea is to check JSON validity for different templates. Front-end clients should comply with schemas provided in this repo. If JSON passes the validation, such JSON should be working on clients and should not cause crashes.
Schema folder contains yaml files which defines correct JSON structure for different templates.
Installation
To install bl-json-validator, use npm:
npm install bl-json-validator
Usage
To use bl-json-validator in your project:
import { BLValidateJSON, GetSchemaUrls } from 'bl-json-validator';
// Validate a JSON
const jsonData = { /* your JSON here */ };
const overlayName = 'issov2';
const result = await BLValidateJSON(jsonData, overlayName);
console.log(result);
// Get schema URLs
const schemaUrls = GetSchemaUrls();
console.log(schemaUrls);
Functionality
BLValidateJSON
The main function BLValidateJSON
takes two parameters:
jsonData
: The JSON to be validated.overlayName
: The name of the overlay for which the JSON is being validated.
Valid values for overlayName
are:
- 'issov2'
- 'trivia'
- 'conversionv1'
- 'conversionv2'
- 'ctfs2'
- 'isso'
- 'dynamic_carousel'
- 'selector_with_isso'
- 'store_locator'
- 'image_gallery'
- 'video_gallery'
The function validates the JSON by comparing it with a YAML file associated with the overlayName
. The validation result will include:
- Errors: Critical issues indicating that the JSON does not comply with the schema.
- Warnings: Suggestions or minor issues that do not invalidate the JSON but could be improved.
Multiple Platforms
Some overlays have multiple platforms:
- "isso" has platforms: default, tvos, and roku
- "ctfs2" has platforms: default and RAF
The library will automatically validate the JSON on all applicable platforms and provide a report for each.
GetSchemaUrls
The GetSchemaUrls
function returns the URLs of the YAML schemas used for validation.
Examples
import { BLValidateJSON } from 'bl-json-validator';
const jsonData = {
// Your JSON here
};
const result = await BLValidateJSON(jsonData, 'issov2');
if (result.errors.length === 0) {
console.log("The JSON is valid for ISSO V2");
} else {
console.log("Errors found:", result.errors);
}
if (result.warnings.length > 0) {
console.log("Warnings:", result.warnings);
}
You can check our online validation tool that uses this library.