New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More

tonal-interval

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

tonal-interval - npm Package Compare versions

Comparing version 1.0.0-pre4 to 1.0.0-pre5

@@ -49,3 +49,19 @@ 'use strict';

var CLASSES = [0, 1, 2, 3, 4, 5, 6, 5, 4, 3, 2, 1];
var NAMES = "1P 2m 2M 3m 3M 4P 5P 6m 6M 7m 7M 8P".split(" ");
/**
* List basic (perfect, major, minor) interval names within a octave
* @param {String} types - (Optional, default "PMm") the valid types
* @return {Array} the interval names
* @example
* tonal.interval.names() // => [ '1P', '2m', '2M', '3m', '3M', '4P', '5P', '6m', '6M', '7m', '7M', '8P' ]
* tonal.interval.names("P") // => [ '1P', '4P', '5P', '8P' ]
* tonal.interval.names("PM") // => [ '1P', '2M', '3M', '4P', '5P', '6M', '7M', '8P' ]
* tonal.interval.names("Pm") // => [ '1P', '2m', '3m', '4P', '5P', '6m', '7m', '8P' ]
* t.interval.names("d") // => []
*/
var names = function (types) { return typeof types !== "string"
? NAMES.slice()
: NAMES.filter(function (n) { return types.indexOf(n[1]) !== -1; }); };
var tokenize = function (str) {

@@ -322,2 +338,3 @@ var m = REGEX.exec(str);

exports.names = names;
exports.tokenize = tokenize;

@@ -324,0 +341,0 @@ exports.props = props;

@@ -45,3 +45,19 @@ /**

var CLASSES = [0, 1, 2, 3, 4, 5, 6, 5, 4, 3, 2, 1];
var NAMES = "1P 2m 2M 3m 3M 4P 5P 6m 6M 7m 7M 8P".split(" ");
/**
* List basic (perfect, major, minor) interval names within a octave
* @param {String} types - (Optional, default "PMm") the valid types
* @return {Array} the interval names
* @example
* tonal.interval.names() // => [ '1P', '2m', '2M', '3m', '3M', '4P', '5P', '6m', '6M', '7m', '7M', '8P' ]
* tonal.interval.names("P") // => [ '1P', '4P', '5P', '8P' ]
* tonal.interval.names("PM") // => [ '1P', '2M', '3M', '4P', '5P', '6M', '7M', '8P' ]
* tonal.interval.names("Pm") // => [ '1P', '2m', '3m', '4P', '5P', '6m', '7m', '8P' ]
* t.interval.names("d") // => []
*/
export var names = function (types) { return typeof types !== "string"
? NAMES.slice()
: NAMES.filter(function (n) { return types.indexOf(n[1]) !== -1; }); };
export var tokenize = function (str) {

@@ -48,0 +64,0 @@ var m = REGEX.exec(str);

@@ -45,3 +45,20 @@ /**

const CLASSES = [0, 1, 2, 3, 4, 5, 6, 5, 4, 3, 2, 1];
const NAMES = "1P 2m 2M 3m 3M 4P 5P 6m 6M 7m 7M 8P".split(" ");
/**
* List basic (perfect, major, minor) interval names within a octave
* @param {String} types - (Optional, default "PMm") the valid types
* @return {Array} the interval names
* @example
* tonal.interval.names() // => [ '1P', '2m', '2M', '3m', '3M', '4P', '5P', '6m', '6M', '7m', '7M', '8P' ]
* tonal.interval.names("P") // => [ '1P', '4P', '5P', '8P' ]
* tonal.interval.names("PM") // => [ '1P', '2M', '3M', '4P', '5P', '6M', '7M', '8P' ]
* tonal.interval.names("Pm") // => [ '1P', '2m', '3m', '4P', '5P', '6m', '7m', '8P' ]
* t.interval.names("d") // => []
*/
export const names = types =>
typeof types !== "string"
? NAMES.slice()
: NAMES.filter(n => types.indexOf(n[1]) !== -1);
export const tokenize = str => {

@@ -48,0 +65,0 @@ const m = REGEX.exec(str);

{
"name": "tonal-interval",
"version": "1.0.0-pre4",
"version": "1.0.0-pre5",
"description": "Music interval creation and manipulation",

@@ -5,0 +5,0 @@ "repository": "https://github.com/danigb/tonal/packages/interval",

@@ -39,2 +39,3 @@ <a name="module_interval"></a>

* [interval](#module_interval)
* [`.names`](#module_interval.names) ⇒ <code>Array</code>
* [`.props(interval)`](#module_interval.props) ⇒ <code>Object</code>

@@ -52,2 +53,22 @@ * [`.num(interval)`](#module_interval.num) ⇒ <code>Integer</code>

<a name="module_interval.names"></a>
## `interval.names` ⇒ <code>Array</code>
List basic (perfect, major, minor) interval names within a octave
**Kind**: static constant of [<code>interval</code>](#module_interval)
**Returns**: <code>Array</code> - the interval names
| Param | Type | Description |
| --- | --- | --- |
| types | <code>String</code> | (Optional, default "PMm") the valid types |
**Example**
```js
tonal.interval.names() // => [ '1P', '2m', '2M', '3m', '3M', '4P', '5P', '6m', '6M', '7m', '7M', '8P' ]
tonal.interval.names("P") // => [ '1P', '4P', '5P', '8P' ]
tonal.interval.names("PM") // => [ '1P', '2M', '3M', '4P', '5P', '6M', '7M', '8P' ]
tonal.interval.names("Pm") // => [ '1P', '2m', '3m', '4P', '5P', '6m', '7m', '8P' ]
t.interval.names("d") // => []
```
<a name="module_interval.props"></a>

@@ -54,0 +75,0 @@

@@ -16,2 +16,11 @@ var ivl = require("../index");

test("names", () => {
expect(ivl.names()).toEqual($("1P 2m 2M 3m 3M 4P 5P 6m 6M 7m 7M 8P"));
expect(ivl.names("P")).toEqual($("1P 4P 5P 8P"));
expect(ivl.names("PM")).toEqual($("1P 2M 3M 4P 5P 6M 7M 8P"));
expect(ivl.names("Pm")).toEqual($("1P 2m 3m 4P 5P 6m 7m 8P"));
expect(ivl.names("m")).toEqual($("2m 3m 6m 7m"));
expect(ivl.names("d")).toEqual([]);
});
test("num", () => {

@@ -18,0 +27,0 @@ const pos = [1, 2, 3, 4, 5, 6, 7];