« 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: d4697403996450c5191240c951b4100bcc29125b (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
export default {
  contentDependencies: [
    'linkAlbum',
    'linkFlash',
    'linkTrack',
  ],

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

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

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