« get me outta code hell

hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
path: root/src/data
diff options
context:
space:
mode:
Diffstat (limited to 'src/data')
-rw-r--r--src/data/things/track.js43
1 files changed, 19 insertions, 24 deletions
diff --git a/src/data/things/track.js b/src/data/things/track.js
index 298cd6cf..f77cfa41 100644
--- a/src/data/things/track.js
+++ b/src/data/things/track.js
@@ -6,7 +6,7 @@ import {input, V} from '#composite';
 import {onlyItem} from '#sugar';
 import {sortByDate} from '#sort';
 import Thing from '#thing';
-import {getKebabCase} from '#wiki-data';
+import {compareKebabCase} from '#wiki-data';
 
 import {
   isBoolean,
@@ -169,8 +169,7 @@ export class Track extends Thing {
           ['name']: name,
           ['#mainReleaseTrack.name']: mainReleaseName,
         }) =>
-          getKebabCase(name) ===
-          getKebabCase(mainReleaseName),
+          compareKebabCase(name, mainReleaseName),
       },
     ],
 
@@ -675,27 +674,23 @@ export class Track extends Thing {
         compute: (continuation, {
           ['name']: ownName,
           ['_directory']: ownDirectory,
-        }) => {
-          const ownNameKebabed = getKebabCase(ownName);
-
-          return continuation({
-            ['#mapItsNameLikeName']:
-              name => getKebabCase(name) === ownNameKebabed,
-
-            ['#mapItsDirectoryLikeDirectory']:
-              (ownDirectory
-                ? directory => directory === ownDirectory
-                : () => false),
-
-            ['#mapItsNameLikeDirectory']:
-              (ownDirectory
-                ? name => getKebabCase(name) === ownDirectory
-                : () => false),
-
-            ['#mapItsDirectoryLikeName']:
-              directory => directory === ownNameKebabed,
-          });
-        },
+        }) => continuation({
+          ['#mapItsNameLikeName']:
+            itsName => compareKebabCase(itsName, ownName),
+
+          ['#mapItsDirectoryLikeDirectory']:
+            (ownDirectory
+              ? itsDirectory => itsDirectory === ownDirectory
+              : () => false),
+
+          ['#mapItsNameLikeDirectory']:
+            (ownDirectory
+              ? itsName => compareKebabCase(itsName, ownDirectory)
+              : () => false),
+
+          ['#mapItsDirectoryLikeName']:
+            itsDirectory => compareKebabCase(itsDirectory, ownName),
+        }),
       },
 
       withPropertyFromObject('mainRelease', V('tracks')),