« get me outta code hell

linkAnythingMan.js « dependencies « content « src - hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
path: root/src/content/dependencies/linkAnythingMan.js
blob: e408c1b276afee8147da33fe955ecd9d2ac68b5e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
export default {
  contentDependencies: [
    'linkAlbum',
    'linkArtwork',
    'linkFlash',
    'linkTrack',
  ],

  query: (thing) => ({
    referenceType: thing.constructor[Symbol.for('Thing.referenceType')],
  }),

  relations: (relation, query, thing) => ({
    link:
      (query.referenceType === 'album'
        ? relation('linkAlbum', thing)
     : query.referenceType === 'artwork'
        ? relation('linkArtwork', thing)
     : query.referenceType === 'flash'
        ? relation('linkFlash', thing)
     : query.referenceType === 'track'
        ? relation('linkTrack', thing)
        : null),
  }),

  generate: (relations) =>
    relations.link,
};