blob: 8e7c19cacdab74d8cff90dea08775e6b7d008547 (
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 MidiProjectFile extends AdditionalFile {
static [Thing.wikiData] = 'midiProjectFileData';
static [Thing.getPropertyDescriptors] = () => ({
// Update & expose
artistContribs: contributionList({
artistProperty: input.value('midiProjectFileArtistContributions'),
}),
// Expose only
isMidiProjectFile: exposeConstant(V(true)),
});
static [Thing.reverseSpecs] = {
midiProjectFileArtistContributionsBy:
soupyReverse.contributionsBy('midiProjectFileData', 'artistContribs'),
};
}
|