blob: c06cde7f2bcbdbf5549b3c51c847d77c68b5407f (
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
|
import {input, V} from '#composite';
import Thing from '#thing';
import {exposeConstant} from '#composite/control-flow';
import {contributionList, soupyReverse} from '#composite/wiki-properties';
import {AdditionalFile} from './AdditionalFile.js';
export class SheetMusicFile extends AdditionalFile {
static [Thing.wikiData] = 'sheetMusicFileData';
static [Thing.getPropertyDescriptors] = () => ({
// Update & expose
artistContribs: contributionList({
artistProperty: input.value('sheetMusicFileArtistContributions'),
}),
// Expose only
isSheetMusicFile: exposeConstant(V(true)),
});
static [Thing.reverseSpecs] = {
sheetMusicFileArtistContributionsBy:
soupyReverse.contributionsBy('sheetMusicFileData', 'artistContribs'),
};
}
|