sp4c38 / tlsv

Light Show Validator Module

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

XLights FSEQ Light Show Validator

npm package version coverage test build License

A npm package based on Tesla Light Show for validating FSEQ file compatibility with Tesla vehicles.

Contains the following modules:

  • cli tool (dist/cjs/cli.js )
  • a CommonJS (in dist/cjs folder)
  • ES Modules (in dist/esm folder)
  • bundled and minified UMD (in dist/umd folder)
  • TypeScript declaration files (in dist/types folder)

Description

This package provides a Validation function which takes in the contents of an FSEQ file and checks it against custom light show limitations provided by Tesla.

Usage

CLI

npm install -g @xsor/tlsv
tlsv path/to/file.fseq

Node

  1. Install the package:
npm install @xsor/tlsv
  1. Import and use the Validator function
import { Validator} from '@xsor/tlsv';

const fileContents = fs.readFileSync(path.join(__dirname, 'path/to/lightshow.fseq'));
const validationResult: ValidationResults = Validator(fileContents.buffer);

if(!validationResult.errors) {
    // File is valid
} else {
    // File is invalid, print types of errors
    console.error(validationResult.errors);
}

Browser

  1. Bundle or import the script (e.g. webpack, unpkg)
  2. Use the Validator function
let file = document.getElementById('fileInputId').files[0];

const reader = new FileReader();

reader.onload = (event) => {
  const validationResult = Validator(event.target.result);
  // process the result
};

reader.onerror = function(e) {
  resolve({
    error: 'Error reading file: ' + e.message
  });
};

reader.readAsArrayBuffer(file);

Contributing

Feel free to make a pull request and file issues on the repository page!

Test

Test your code with Jest framework:

npm run test

Note: Uses husky and commitlint to automatically execute test and lint commit message before every commit.

Build

Build production (distribution) files in your dist folder:

npm run build

Thank You

This repository was heavily based on the example-typescript-package template provided by tomchen.

About

Light Show Validator Module

License:MIT License


Languages

Language:TypeScript 83.1%Language:JavaScript 16.6%Language:Shell 0.4%