1.0.2 ā€¢ Published 7 years ago

validate-chord v1.0.2

Weekly downloads
9
License
MIT
Repository
github
Last release
7 years ago

validate-chord

Node NPM Travis David Coverage Status Gitmoji

šŸŽ¼ Validates a chord (scientific pitch notation) and throws errors if needed

Usage

import validateChord from 'validate-chord';

const chord = validateChord(`A#3m`);
console.log(chord);

// > { note: { letter: 'A', signature: '#', octave: 3 }, type: 'minor' }

currently validates:

  • minor (m, min, minor)
  • major ('', maj, major)
  • augmented (aug) and diminished (dim)

PR welcome for more chord types

Installation

Install via yarn

yarn add validate-chord (--dev)

or npm

npm install validate-chord (--save-dev)

configuration

You can pass in extra options as a configuration object (āž• required, āž– optional, āœļø default).

import validateChord from 'validate-chord';

const chord = validateChord(`A3m`, {maxOctave: 5, flatToSharp: true});
console.log(chord);

āž– maxOctave ( Number ) āœļø 8 šŸ“ max octave allowed

āž– flatToSharp ( Boolean ) āœļø false šŸ“ convert flats (b) to sharps (#)

Examples

See example

Builds

If you don't use a package manager, you can access validate-chord via unpkg (CDN), download the source, or point your package manager to the url.

validate-chord is compiled as a collection of CommonJS modules & ES2015 modules(http://www.2ality.com/2014/0 -9/es6-modules-final.html) for bundlers that support the jsnext:main or module field in package.json (Rollup, Webpack 2)

The validate-chord package includes precompiled production and development UMD builds in the dist folder. They can be used directly without a bundler and are thus compatible with many popular JavaScript module loaders and environments. You can drop a UMD build as a <script> tag on your page. The UMD builds make validate-chord available as a window.validateChord global variable.

License

The code is available under the MIT license.

Contributing

We are open to contributions, see CONTRIBUTING.md for more info.

Misc

This module was created using generator-module-boilerplate.

1.0.2

7 years ago

1.0.1

8 years ago

1.0.0

8 years ago