UNPKG

validate-note

Version:

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

81 lines (47 loc) • 3.04 kB
# validate-note ![Node](https://img.shields.io/node/v/validate-note.svg?style=flat-square) [![NPM](https://img.shields.io/npm/v/validate-note.svg?style=flat-square)](https://www.npmjs.com/package/validate-note) [![David](https://img.shields.io/david/duivvv/validate-note.svg?style=flat-square)](https://david-dm.org/duivvv/validate-note) [![Travis](https://img.shields.io/travis/duivvv/validate-note/master.svg?style=flat-square)](https://travis-ci.org/duivvv/validate-note) [![Coverage Status](https://img.shields.io/coveralls/duivvv/validate-note.svg?style=flat-square)](https://coveralls.io/github/duivvv/validate-note) [![Gitmoji](https://img.shields.io/badge/gitmoji-%20😜%20šŸ˜-FFDD67.svg?style=flat-square)](https://gitmoji.carloscuesta.me/) > šŸŽ¼ Validates a note (scientific pitch notation) and throws errors if needed ### Usage ```js import validateNote from 'validate-note'; const note = validateNote('A#4'); console.log(note); // > { letter: 'A', signature: '#', octave: 4 } ``` ### Installation Install via [yarn](https://github.com/yarnpkg/yarn) yarn add validate-note (--dev) or npm npm install validate-note (--save-dev) ### configuration You can pass in extra options (āž• required, āž– optional, āœļø default) ```js import validateNote from 'validate-note'; const note = validateNote('Bb4', { flatToSharp: true, maxOctave: 5, octave: true }); console.log(note); // > { letter: 'A', signature: '#', octave: 4 } ``` āž– **maxOctave** ( Number ) ` āœļø 8 ` <br/> šŸ“ max octave allowed āž– **flatToSharp** ( Boolean ) ` āœļø false ` <br/> šŸ“ convert flats (b) to sharps (#) āž– **octave** ( Boolean ) ` āœļø false ` <br/> šŸ“ octave is required <br/> ā„¹ļø `A#` throws error, `A#3` is a valid note ### Builds If you don't use a package manager, you can [access `validate-note` via unpkg (CDN)](https://unpkg.com/validate-note/), download the source, or point your package manager to the url. `validate-note` is compiled as a collection of [CommonJS](http://webpack.github.io/docs/commonjs.html) modules & [ES2015 modules](http://www.2ality.com/2014/09/es6-modules-final.html) for bundlers that support the `jsnext:main` or `module` field in package.json (Rollup, Webpack 2) The `validate-note` package includes precompiled production and development [UMD](https://github.com/umdjs/umd) builds in the [`dist` folder](https://unpkg.com/validate-note/dist/). 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](https://unpkg.com/validate-note) on your page. The UMD builds make `validate-note` available as a `window.validateNote` global variable. ### License The code is available under the [MIT](LICENSE) license. ### Contributing We are open to contributions, see [CONTRIBUTING.md](CONTRIBUTING.md) for more info. ### Misc This module was created using [generator-module-boilerplate](https://github.com/duivvv/generator-module-boilerplate).