1.0.1 • Published 10 months ago

bl-json-validator2 v1.0.1

Weekly downloads
-
License
ISC
Repository
-
Last release
10 months ago

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:

  1. jsonData: The JSON to be validated.
  2. 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.

1.0.1

10 months ago

1.0.0

10 months ago