« get me outta code hell

hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/data/things/album.js37
-rw-r--r--src/data/things/art-tag.js4
-rw-r--r--src/data/things/artist.js10
-rw-r--r--src/data/things/artwork.js4
-rw-r--r--src/data/things/flash.js33
-rw-r--r--src/data/things/group.js8
-rw-r--r--src/data/things/homepage-layout.js12
-rw-r--r--src/data/things/track.js53
8 files changed, 38 insertions, 123 deletions
diff --git a/src/data/things/album.js b/src/data/things/album.js
index ee25e59e..0fdc6fa8 100644
--- a/src/data/things/album.js
+++ b/src/data/things/album.js
@@ -100,9 +100,7 @@ export class Album extends Thing {
   }) => ({
     // > Update & expose - Internal relationships
 
-    trackSections: thingList({
-      class: input.value(TrackSection),
-    }),
+    trackSections: thingList(V(TrackSection)),
 
     // > Update & expose - Identifying metadata
 
@@ -135,9 +133,7 @@ export class Album extends Thing {
     bandcampAlbumIdentifier: simpleString(),
     bandcampArtworkIdentifier: simpleString(),
 
-    additionalNames: thingList({
-      class: input.value(AdditionalName),
-    }),
+    additionalNames: thingList(V(AdditionalName)),
 
     date: simpleDate(),
     dateAddedToWiki: simpleDate(),
@@ -371,19 +367,12 @@ export class Album extends Thing {
 
     // > Update & expose - Content entries
 
-    commentary: thingList({
-      class: input.value(CommentaryEntry),
-    }),
-
-    creditingSources: thingList({
-      class: input.value(CreditingSourcesEntry),
-    }),
+    commentary: thingList(V(CommentaryEntry)),
+    creditingSources: thingList(V(CreditingSourcesEntry)),
 
     // > Update & expose - Additional files
 
-    additionalFiles: thingList({
-      class: input.value(AdditionalFile),
-    }),
+    additionalFiles: thingList(V(AdditionalFile)),
 
     // > Update only
 
@@ -391,14 +380,10 @@ export class Album extends Thing {
     reverse: soupyReverse(),
 
     // used for referencedArtworkList (mixedFind)
-    artworkData: wikiData({
-      class: input.value(Artwork),
-    }),
+    artworkData: wikiData(V(Artwork)),
 
     // used for withMatchingContributionPresets (indirectly by Contribution)
-    wikiInfo: thing({
-      class: input.value(WikiInfo),
-    }),
+    wikiInfo: thing(V(WikiInfo)),
 
     // > Expose only
 
@@ -955,9 +940,7 @@ export class TrackSection extends Thing {
   static [Thing.getPropertyDescriptors] = ({Track}) => ({
     // Update & expose
 
-    album: thing({
-      class: input.value(Album),
-    }),
+    album: thing(V(Album)),
 
     name: name(V('Unnamed Track Section')),
 
@@ -1059,9 +1042,7 @@ export class TrackSection extends Thing {
 
     description: contentString(),
 
-    tracks: thingList({
-      class: input.value(Track),
-    }),
+    tracks: thingList(V(Track)),
 
     // Update only
 
diff --git a/src/data/things/art-tag.js b/src/data/things/art-tag.js
index 998aa064..f4fedf49 100644
--- a/src/data/things/art-tag.js
+++ b/src/data/things/art-tag.js
@@ -59,9 +59,7 @@ export class ArtTag extends Thing {
       },
     ],
 
-    additionalNames: thingList({
-      class: input.value(AdditionalName),
-    }),
+    additionalNames: thingList(V(AdditionalName)),
 
     description: contentString(),
 
diff --git a/src/data/things/artist.js b/src/data/things/artist.js
index 1e7ef0e5..a2ed0b74 100644
--- a/src/data/things/artist.js
+++ b/src/data/things/artist.js
@@ -66,14 +66,8 @@ export class Artist extends Thing {
     ],
 
     isAlias: flag(V(false)),
-
-    artistAliases: thingList({
-      class: input.value(Artist),
-    }),
-
-    aliasedArtist: thing({
-      class: input.value(Artist),
-    }),
+    artistAliases: thingList(V(Artist)),
+    aliasedArtist: thing(V(Artist)),
 
     // Update only
 
diff --git a/src/data/things/artwork.js b/src/data/things/artwork.js
index 7a6c3cfb..1c1e3f78 100644
--- a/src/data/things/artwork.js
+++ b/src/data/things/artwork.js
@@ -213,9 +213,7 @@ export class Artwork extends Thing {
     reverse: soupyReverse(),
 
     // used for referencedArtworks (mixedFind)
-    artworkData: wikiData({
-      class: input.value(Artwork),
-    }),
+    artworkData: wikiData(V(Artwork)),
 
     // Expose only
 
diff --git a/src/data/things/flash.js b/src/data/things/flash.js
index 5610dadc..cb791ef8 100644
--- a/src/data/things/flash.js
+++ b/src/data/things/flash.js
@@ -61,9 +61,7 @@ export class Flash extends Thing {
   }) => ({
     // Update & expose
 
-    act: thing({
-      class: input.value(FlashAct),
-    }),
+    act: thing(V(FlashAct)),
 
     name: name(V('Unnamed Flash')),
 
@@ -124,17 +122,10 @@ export class Flash extends Thing {
 
     urls: urls(),
 
-    additionalNames: thingList({
-      class: input.value(AdditionalName),
-    }),
+    additionalNames: thingList(V(AdditionalName)),
 
-    commentary: thingList({
-      class: input.value(CommentaryEntry),
-    }),
-
-    creditingSources: thingList({
-      class: input.value(CreditingSourcesEntry),
-    }),
+    commentary: thingList(V(CommentaryEntry)),
+    creditingSources: thingList(V(CreditingSourcesEntry)),
 
     // Update only
 
@@ -142,9 +133,7 @@ export class Flash extends Thing {
     reverse: soupyReverse(),
 
     // used for withMatchingContributionPresets (indirectly by Contribution)
-    wikiInfo: thing({
-      class: input.value(WikiInfo),
-    }),
+    wikiInfo: thing(V(WikiInfo)),
 
     // Expose only
 
@@ -271,9 +260,7 @@ export class FlashAct extends Thing {
   static [Thing.getPropertyDescriptors] = ({Flash, FlashSide}) => ({
     // Update & expose
 
-    side: thing({
-      class: input.value(FlashSide),
-    }),
+    side: thing(V(FlashSide)),
 
     name: name(V('Unnamed Flash Act')),
     directory: directory(),
@@ -288,9 +275,7 @@ export class FlashAct extends Thing {
       exposeDependency('#side.listTerminology'),
     ],
 
-    flashes: thingList({
-      class: input.value(Flash),
-    }),
+    flashes: thingList(V(Flash)),
 
     // Update only
 
@@ -344,9 +329,7 @@ export class FlashSide extends Thing {
     color: color(),
     listTerminology: contentString(),
 
-    acts: thingList({
-      class: input.value(FlashAct),
-    }),
+    acts: thingList(V(FlashAct)),
 
     // Update only
 
diff --git a/src/data/things/group.js b/src/data/things/group.js
index b7fe49e5..cc5f4cb8 100644
--- a/src/data/things/group.js
+++ b/src/data/things/group.js
@@ -78,9 +78,7 @@ export class Group extends Thing {
       find: soupyFind.input('album'),
     }),
 
-    serieses: thingList({
-      class: input.value(Series),
-    }),
+    serieses: thingList(V(Series)),
 
     // Update only
 
@@ -307,9 +305,7 @@ export class Series extends Thing {
 
     description: contentString(),
 
-    group: thing({
-      class: input.value(Group),
-    }),
+    group: thing(V(Group)),
 
     albums: referenceList({
       class: input.value(Album),
diff --git a/src/data/things/homepage-layout.js b/src/data/things/homepage-layout.js
index c0a2aea1..c4dc2812 100644
--- a/src/data/things/homepage-layout.js
+++ b/src/data/things/homepage-layout.js
@@ -46,9 +46,7 @@ export class HomepageLayout extends Thing {
       expose: {transform: value => value ?? []},
     },
 
-    sections: thingList({
-      class: input.value(HomepageLayoutSection),
-    }),
+    sections: thingList(V(HomepageLayoutSection)),
 
     // Expose only
 
@@ -157,9 +155,7 @@ export class HomepageLayoutSection extends Thing {
 
     color: color(),
 
-    rows: thingList({
-      class: input.value(HomepageLayoutRow),
-    }),
+    rows: thingList(V(HomepageLayoutRow)),
 
     // Expose only
 
@@ -180,9 +176,7 @@ export class HomepageLayoutRow extends Thing {
   static [Thing.getPropertyDescriptors] = ({HomepageLayoutSection}) => ({
     // Update & expose
 
-    section: thing({
-      class: input.value(HomepageLayoutSection),
-    }),
+    section: thing(V(HomepageLayoutSection)),
 
     // Update only
 
diff --git a/src/data/things/track.js b/src/data/things/track.js
index e65c5d13..37639eee 100644
--- a/src/data/things/track.js
+++ b/src/data/things/track.js
@@ -119,13 +119,8 @@ export class Track extends Thing {
   }) => ({
     // > Update & expose - Internal relationships
 
-    album: thing({
-      class: input.value(Album),
-    }),
-
-    trackSection: thing({
-      class: input.value(TrackSection),
-    }),
+    album: thing(V(Album)),
+    trackSection: thing(V(TrackSection)),
 
     // > Update & expose - Identifying metadata
 
@@ -269,9 +264,7 @@ export class Track extends Thing {
     bandcampTrackIdentifier: simpleString(),
     bandcampArtworkIdentifier: simpleString(),
 
-    additionalNames: thingList({
-      class: input.value(AdditionalName),
-    }),
+    additionalNames: thingList(V(AdditionalName)),
 
     dateFirstReleased: simpleDate(),
 
@@ -531,17 +524,9 @@ export class Track extends Thing {
 
     // > Update & expose - Additional files
 
-    additionalFiles: thingList({
-      class: input.value(AdditionalFile),
-    }),
-
-    sheetMusicFiles: thingList({
-      class: input.value(AdditionalFile),
-    }),
-
-    midiProjectFiles: thingList({
-      class: input.value(AdditionalFile),
-    }),
+    additionalFiles: thingList(V(AdditionalFile)),
+    sheetMusicFiles: thingList(V(AdditionalFile)),
+    midiProjectFiles: thingList(V(AdditionalFile)),
 
     // > Update & expose - Content entries
 
@@ -551,22 +536,12 @@ export class Track extends Thing {
       // certainly couldn't be recontextualized...
       inheritFromMainRelease(),
 
-      thingList({
-        class: input.value(LyricsEntry),
-      }),
+      thingList(V(LyricsEntry)),
     ],
 
-    commentary: thingList({
-      class: input.value(CommentaryEntry),
-    }),
-
-    creditingSources: thingList({
-      class: input.value(CreditingSourcesEntry),
-    }),
-
-    referencingSources: thingList({
-      class: input.value(ReferencingSourcesEntry),
-    }),
+    commentary: thingList(V(CommentaryEntry)),
+    creditingSources: thingList(V(CreditingSourcesEntry)),
+    referencingSources: thingList(V(ReferencingSourcesEntry)),
 
     // > Update only
 
@@ -574,14 +549,10 @@ export class Track extends Thing {
     reverse: soupyReverse(),
 
     // used for referencedArtworkList (mixedFind)
-    artworkData: wikiData({
-      class: input.value(Artwork),
-    }),
+    artworkData: wikiData(V(Artwork)),
 
     // used for withMatchingContributionPresets (indirectly by Contribution)
-    wikiInfo: thing({
-      class: input.value(WikiInfo),
-    }),
+    wikiInfo: thing(V(WikiInfo)),
 
     // > Expose only