UNPKG

brand-music

Version:

Strongly typed music theory library

81 lines (75 loc) 2.09 kB
var __defProp = Object.defineProperty; var __export = (target, all2) => { for (var name in all2) __defProp(target, name, { get: all2[name], enumerable: true }); }; // src/internal/utils.ts var mod = (a, n) => (a % n + n) % n; // src/internal/refined/Literal.ts var is = (start, end) => (v) => Number.isSafeInteger(v) && start <= v && v <= end; var clamp = (start, end) => (v) => v < start ? start : v > end ? end : v; var modded = (start, end) => (v) => { const size = end - start + 1; const zero = v - start; const m = mod(zero, size); return m + start; }; var all = (start, end) => ( // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment [...Array(end - start + 1)].map((_, i) => start + i) ); var asInt = (v) => v; // src/internal/refined/Int.ts var isInt = (v) => Number.isInteger(v); var fromUnknown = (v) => isInt(v) ? v : void 0; var makeChecked = (v) => fromUnknown(v); var makeRound = (v) => Math.round(v); var makeTrunc = (v) => Math.trunc(v); var add = (a, b) => a + b; var addChecked = (a, b) => makeChecked(a + b); var sub = (a, b) => a - b; var subChecked = (a, b) => makeChecked(a - b); var mul = (a, b) => a * b; var mulChecked = (a, b) => makeChecked(a * b); var mulRound = (a, b) => makeRound(a * b); var mulTrunc = (a, b) => makeTrunc(a * b); var divChecked = (a, b) => makeChecked(a * b); var divRound = (a, b) => makeRound(a * b); var divTrunc = (a, b) => makeTrunc(a * b); // src/internal/refined/NonNegative.ts var isNonNegative = (v) => typeof v === "number" && v >= 0; function makeAbs(v, edgeCases) { const caseNaN = edgeCases?.NaN ?? 0; if (Number.isNaN(v)) { return caseNaN; } else { return Math.abs(v); } } // src/internal/refined/NonNegativeInt.ts var isNonNegativeInt = (v) => isInt(v) && isNonNegative(v); export { __export, is, clamp, modded, all, asInt, isInt, makeRound, makeTrunc, add, addChecked, sub, subChecked, mul, mulChecked, mulRound, mulTrunc, divChecked, divRound, divTrunc, makeAbs, isNonNegativeInt }; //# sourceMappingURL=chunk-YLMQSMVX.js.map