0.4.1 • Published 7 months ago

@xsor/tlsv v0.4.1

Weekly downloads
-
License
MIT
Repository
github
Last release
7 months ago

XLights FSEQ Light Show Validator

npm package downloads 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.

0.4.1

7 months ago

0.4.0

10 months ago

0.3.0

1 year ago

0.2.1

2 years ago

0.2.0

2 years ago

0.1.0

2 years ago

0.0.1

2 years ago

0.0.1-alpha.2

2 years ago

0.0.1-alpha.1

2 years ago

0.0.1-alpha.0

2 years ago