diff --git a/src/services/generateKeys.ts b/src/services/generateKeys.ts index 842c2a7..5e01f74 100644 --- a/src/services/generateKeys.ts +++ b/src/services/generateKeys.ts @@ -1,6 +1,4 @@ -interface GenerateKeys { - (startKey: number, endKey: number): number[] -} +type GenerateKeys = (startKey: number, endKey: number) => number[] const generateKeys: GenerateKeys = (startKey, endKey) => Array(endKey - startKey + 1) diff --git a/src/services/getFractionalOctaveCount.ts b/src/services/getFractionalOctaveCount.ts index 787d0fb..5576ee2 100644 --- a/src/services/getFractionalOctaveCount.ts +++ b/src/services/getFractionalOctaveCount.ts @@ -6,9 +6,7 @@ import * as caches from './caches' const getOctaveCompleteness = mem(getOctaveCompletenessUnmemoized, { cache: caches.getOctaveCompleteness }) -interface GetFractionalOctaveCount { - (startKey: number, endKey: number): number -} +type GetFractionalOctaveCount = (startKey: number, endKey: number) => number const getFractionalOctaveCount: GetFractionalOctaveCount = (startKey, endKey) => { const dummyKeys = generateKeys(startKey, endKey) diff --git a/src/services/getKeyLeft.ts b/src/services/getKeyLeft.ts index e3025ae..2082dc2 100644 --- a/src/services/getKeyLeft.ts +++ b/src/services/getKeyLeft.ts @@ -10,15 +10,9 @@ const getOctaveCount = mem(getOctaveCountUnmemoized, { cacheKey: (args) => args. const getFractionalOctaveCount = mem(getFractionalOctaveCountUnmemoized, { cacheKey: (args) => args.join(':') }) const getKeyOctave = mem(getKeyOctaveUnmemoized, { cache: caches.getKeyOctave }) -export interface GetKeyLeft { - (k: number): number -} - -interface GetKeyLeftDecorator { - (startKey: number, endKey: number): GetKeyLeft -} +type GetKeyLeft = (startKey: number, endKey: number) => (k: number) => number -const getKeyLeftDecorator: GetKeyLeftDecorator = (startKey, endKey): GetKeyLeft => (k) => { +const getKeyLeft: GetKeyLeft = (startKey, endKey) => (k) => { const fractionalOctaveCount = getFractionalOctaveCount(startKey, endKey) const octaveCount = getOctaveCount(startKey, endKey) const startOctave = getKeyOctave(startKey) @@ -29,4 +23,4 @@ const getKeyLeftDecorator: GetKeyLeftDecorator = (startKey, endKey): GetKeyLeft return theKeyOffset - firstKeyOffset } -export default getKeyLeftDecorator +export default getKeyLeft diff --git a/src/services/getKeyOctave.ts b/src/services/getKeyOctave.ts index 8222caf..38959c0 100644 --- a/src/services/getKeyOctave.ts +++ b/src/services/getKeyOctave.ts @@ -1,6 +1,4 @@ -interface GetKeyOctave { - (k: number): number -} +type GetKeyOctave = (k: number) => number const getKeyOctave: GetKeyOctave = (k) => Math.floor(k / 12) diff --git a/src/services/getKeyWidth.ts b/src/services/getKeyWidth.ts index 2d71b71..fc75001 100644 --- a/src/services/getKeyWidth.ts +++ b/src/services/getKeyWidth.ts @@ -5,13 +5,7 @@ import getFractionalOctaveCountUnmemoized from './getFractionalOctaveCount' import { ACCIDENTAL_KEY_TO_NATURAL_KEY_WIDTH_RATIO } from './constants' import * as caches from './caches' -export interface GetKeyWidth { - (k: number): number -} - -interface GetKeyWidthDecorator { - (startKey: number, endKey: number): GetKeyWidth -} +type GetKeyWidthDecorator = (startKey: number, endKey: number) => (k: number) => number const isNaturalKey = mem(isNaturalKeyUnmemoized, { cache: caches.isNaturalKey }) const getFractionalOctaveCount = mem(getFractionalOctaveCountUnmemoized, { @@ -19,11 +13,11 @@ const getFractionalOctaveCount = mem(getFractionalOctaveCountUnmemoized, { }) const getOctaveCount = mem(getOctaveCountUnmemoized, { cacheKey: (args) => args.join(':') }) -const getKeyWidthDecorator: GetKeyWidthDecorator = (startKey, endKey) => (k) => { +const getKeyWidth: GetKeyWidthDecorator = (startKey, endKey) => (k) => { const fractionalOctaveCount = getFractionalOctaveCount(startKey, endKey) const octaveCount = getOctaveCount(startKey, endKey) const naturalKeyWidth = (100 * (octaveCount / fractionalOctaveCount)) / (octaveCount * 7) return isNaturalKey(k) ? naturalKeyWidth : naturalKeyWidth * ACCIDENTAL_KEY_TO_NATURAL_KEY_WIDTH_RATIO } -export default getKeyWidthDecorator +export default getKeyWidth diff --git a/src/services/getKeyXOffset.ts b/src/services/getKeyXOffset.ts index 2dea681..bbf2e9c 100644 --- a/src/services/getKeyXOffset.ts +++ b/src/services/getKeyXOffset.ts @@ -1,8 +1,6 @@ import { KEY_OFFSETS } from './constants' -interface GetKeyXOffset { - (k: number): number -} +type GetKeyXOffset = (k: number) => number const getKeyXOffset: GetKeyXOffset = (k) => { return KEY_OFFSETS[k % 12] diff --git a/src/services/getOctaveCompleteness.ts b/src/services/getOctaveCompleteness.ts index f25e5c9..67c8ab1 100644 --- a/src/services/getOctaveCompleteness.ts +++ b/src/services/getOctaveCompleteness.ts @@ -6,9 +6,7 @@ import isNaturalKeyUnmemoized from './isNaturalKey' const getKeyXOffset = mem(getKeyXOffsetUnmemoized, { cache: caches.getKeyXOffset }) const isNaturalKey = mem(isNaturalKeyUnmemoized, { cache: caches.isNaturalKey }) -interface GetOctaveCompleteness { - (firstKey: number, lastKey: number): number -} +type GetOctaveCompleteness = (firstKey: number, lastKey: number) => number // expect firstKey and lastKey within the same octave const getOctaveCompleteness: GetOctaveCompleteness = (firstKey, lastKey) => diff --git a/src/services/getOctaveCount.ts b/src/services/getOctaveCount.ts index 6902786..32df5b0 100644 --- a/src/services/getOctaveCount.ts +++ b/src/services/getOctaveCount.ts @@ -4,9 +4,7 @@ import * as caches from './caches' const getKeyOctave = mem(getKeyOctaveUnmemoized, { cache: caches.getKeyOctave }) -interface GetOctaveCount { - (startKey: number, endKey: number): number -} +type GetOctaveCount = (startKey: number, endKey: number) => number const getOctaveCount: GetOctaveCount = (startKey, endKey) => getKeyOctave(endKey) - getKeyOctave(startKey) + 1 diff --git a/src/services/groupKeysIntoOctaves.ts b/src/services/groupKeysIntoOctaves.ts index 4c6bc0e..958ed8f 100644 --- a/src/services/groupKeysIntoOctaves.ts +++ b/src/services/groupKeysIntoOctaves.ts @@ -1,6 +1,4 @@ -interface GroupKeysIntoOctaves { - (dummyKeys: number[]): Record -} +type GroupKeysIntoOctaves = (dummyKeys: number[]) => Record const groupKeysIntoOctaves: GroupKeysIntoOctaves = (dummyKeys) => dummyKeys diff --git a/src/services/isNaturalKey.ts b/src/services/isNaturalKey.ts index ad50c45..e88e91d 100644 --- a/src/services/isNaturalKey.ts +++ b/src/services/isNaturalKey.ts @@ -1,8 +1,6 @@ const NATURAL_KEYS = [0, 2, 4, 5, 7, 9, 11] -interface IsNaturalKey { - (k: number): boolean -} +type IsNaturalKey = (k: number) => boolean const isNaturalKey: IsNaturalKey = (k: number): boolean => { const type = typeof (k as unknown)