blob: d70480e62025474355abae7587cea8ee3025a9d6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
// Please note that this input, used in a variety of #composite/wiki-data
// utilities, is basically always a kludge. Any usage of it depends on
// referencing Thing class values defined outside of the #composite folder.
import {input} from '#composite';
import {isType} from '#validators';
// TODO: Kludge.
import Thing from '../../things/thing.js';
export default function inputThingClass() {
return input.staticValue({
validate(thingClass) {
isType(thingClass, 'function');
if (!Object.hasOwn(thingClass, Thing.referenceType)) {
throw new TypeError(`Expected a Thing constructor, missing Thing.referenceType`);
}
return true;
},
});
}
|