diff options
author | (quasar) nebula <qznebula@protonmail.com> | 2024-03-04 18:10:10 -0400 |
---|---|---|
committer | (quasar) nebula <qznebula@protonmail.com> | 2024-04-24 11:55:20 -0300 |
commit | ac862a9adedd779537f38dfa5a996ced84fc3b74 (patch) | |
tree | c5e9d13930b054962072c7ba69a77398f78d1616 /src/data/thing.js | |
parent | 2740bf06f3e2bd5cc137d8f7e98a6e6fc69f9394 (diff) |
validators: optimize validateWikiData, support no-referenceType
Diffstat (limited to 'src/data/thing.js')
-rw-r--r-- | src/data/thing.js | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/data/thing.js b/src/data/thing.js index 706e893d..9a8cec91 100644 --- a/src/data/thing.js +++ b/src/data/thing.js @@ -17,6 +17,22 @@ export default class Thing extends CacheableObject { static yamlDocumentSpec = Symbol.for('Thing.yamlDocumentSpec'); static getYamlLoadingSpec = Symbol.for('Thing.getYamlLoadingSpec'); + static isThingConstructor = Symbol.for('Thing.isThingConstructor'); + static isThing = Symbol.for('Thing.isThing'); + + // To detect: + // Symbol.for('Thing.isThingConstructor') in constructor + static [Symbol.for('Thing.isThingConstructor')] = NaN; + + static [CacheableObject.propertyDescriptors] = { + // To detect: + // Object.hasOwn(object, Symbol.for('Thing.isThing')) + [Symbol.for('Thing.isThing')]: { + flags: {expose: true}, + expose: {compute: () => NaN}, + }, + }; + // Default custom inspect function, which may be overridden by Thing // subclasses. This will be used when displaying aggregate errors and other // command-line logging - it's the place to provide information useful in |