« 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/yaml.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/data/yaml.js')
-rw-r--r--src/data/yaml.js22
1 files changed, 20 insertions, 2 deletions
diff --git a/src/data/yaml.js b/src/data/yaml.js
index 5ddeb63e..15d7b0ba 100644
--- a/src/data/yaml.js
+++ b/src/data/yaml.js
@@ -780,14 +780,26 @@ export function parseExcludingURLs(value) {
   return value;
 }
 
-export function parseAdditionalFiles(entries, {subdoc, AdditionalFile}) {
+export function parseAdditionalFilesEntries(thingClass, entries, {subdoc}) {
   return parseArrayEntries(entries, item => {
     if (typeof item !== 'object') return item;
 
-    return subdoc(AdditionalFile, item, {bindInto: 'thing'});
+    return subdoc(thingClass, item, {bindInto: 'thing'});
   });
 }
 
+export function parseAdditionalFiles(entries, {subdoc, MiscellaneousAdditionalFile}) {
+  return parseAdditionalFilesEntries(MiscellaneousAdditionalFile, entries, {subdoc});
+}
+
+export function parseMidiProjectFiles(entries, {subdoc, MidiProjectFile}) {
+  return parseAdditionalFilesEntries(MidiProjectFile, entries, {subdoc});
+}
+
+export function parseSheetMusicFiles(entries, {subdoc, SheetMusicFile}) {
+  return parseAdditionalFilesEntries(SheetMusicFile, entries, {subdoc});
+}
+
 export function parseAdditionalNames(entries, {subdoc, AdditionalName}) {
   return parseArrayEntries(entries, item => {
     if (typeof item === 'object') {
@@ -1873,12 +1885,18 @@ export function linkWikiDataArrays(wikiData, {bindFind, bindReverse}) {
 
     ['lyricsData', [/* find */]],
 
+    ['midiProjectFileData', [/* find */]],
+
+    ['miscellaneousAdditionalFileData', [/* find */]],
+
     ['musicVideoData', [/* find */]],
 
     ['referencingSourceData', [/* find */]],
 
     ['seriesData', [/* find */]],
 
+    ['sheetMusicFileData', [/* find */]],
+
     ['trackData', [
       'artworkData',
       'wikiInfo',