/**
 * Minified by jsDelivr using Terser v5.39.0.
 * Original file: /npm/tonal-scale@2.2.2/build/es5.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var tonalNote=require("tonal-note"),tonalPcset=require("tonal-pcset"),tonalDistance=require("tonal-distance"),tonalDictionary=require("tonal-dictionary"),tonalArray=require("tonal-array"),NO_SCALE=Object.freeze({name:null,intervals:[],names:[],chroma:null,setnum:null}),properties=function(e){var t=tonalDictionary.scale(e);if(!t)return NO_SCALE;var n={intervals:t,name:e};return n.chroma=tonalPcset.chroma(t),n.setnum=parseInt(n.chroma,2),n.names=tonalDictionary.scale.names(n.chroma),Object.freeze(n)},memoize=function(e,t){return function(n){return t[n]||(t[n]=e(n))}},props=memoize(properties,{}),names=tonalDictionary.scale.names,intervals=function(e){var t=tokenize(e);return props(t[1]).intervals};function notes(e,t){var n=tokenize(e);return t=t||n[1],intervals(t).map(tonalDistance.transpose(n[0]))}function exists(e){var t=tokenize(e);return void 0!==tonalDictionary.scale(t[1])}function tokenize(e){if("string"!=typeof e)return["",""];var t=e.indexOf(" "),n=tonalNote.name(e.substring(0,t))||tonalNote.name(e)||"",r=""!==n?e.substring(n.length+1):e;return[n,r.length?r:""]}var modeNames=function(e){var t=intervals(e),n=notes(e);return tonalPcset.modes(t).map((function(e,r){var a=tonalDictionary.scale.names(e)[0];if(a)return[n[r]||t[r],a]})).filter((function(e){return e}))},chords=function(e){var t=tonalPcset.isSubsetOf(intervals(e));return tonalDictionary.chord.names().filter((function(e){return t(tonalDictionary.chord(e))}))},toScale=function(e){var t=tonalArray.compact(e.map(tonalNote.pc));if(!t.length)return t;var n=t[0],r=tonalArray.unique(t);return tonalArray.rotate(r.indexOf(n),r)},supersets=function(e){if(!intervals(e).length)return[];var t=tonalPcset.isSupersetOf(intervals(e));return tonalDictionary.scale.names().filter((function(e){return t(tonalDictionary.scale(e))}))},subsets=function(e){var t=tonalPcset.isSubsetOf(intervals(e));return tonalDictionary.scale.names().filter((function(e){return t(tonalDictionary.scale(e))}))};exports.props=props,exports.names=names,exports.intervals=intervals,exports.notes=notes,exports.exists=exists,exports.tokenize=tokenize,exports.modeNames=modeNames,exports.chords=chords,exports.toScale=toScale,exports.supersets=supersets,exports.subsets=subsets;
//# sourceMappingURL=/sm/da8abe6e432f089661c91841cb1b45e11a9eebd2602a1080323e938ea20feb7d.map