jest-metadata
Version:
🦸♂️ Superhero power for your Jest reporters! 🦸♀️
62 lines • 2.17 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.InstanceOfMetadataChecker = void 0;
class InstanceOfMetadataChecker {
config;
constructor(config) {
this.config = config;
}
isGlobalMetadata(metadata) {
return metadata instanceof this.config.GlobalMetadata;
}
isTestFileMetadata(metadata) {
return metadata instanceof this.config.TestFileMetadata;
}
isDescribeBlockMetadata(metadata) {
return metadata instanceof this.config.DescribeBlockMetadata;
}
isHookDefinitionMetadata(metadata) {
return metadata instanceof this.config.HookDefinitionMetadata;
}
isTestEntryMetadata(metadata) {
return metadata instanceof this.config.TestEntryMetadata;
}
isHookInvocationMetadata(metadata) {
return metadata instanceof this.config.HookInvocationMetadata;
}
isTestInvocationMetadata(metadata) {
return metadata instanceof this.config.TestInvocationMetadata;
}
isTestFnInvocationMetadata(metadata) {
return metadata instanceof this.config.TestFnInvocationMetadata;
}
asTestInvocationMetadata(metadata) {
this._assert(metadata, 'TestInvocationMetadata');
return metadata;
}
asDescribeBlockMetadata(metadata) {
this._assert(metadata, 'DescribeBlockMetadata');
return metadata;
}
asTestFileMetadata(metadata) {
this._assert(metadata, 'TestFileMetadata');
return metadata;
}
asTestEntryMetadata(metadata) {
this._assert(metadata, 'TestEntryMetadata');
return metadata;
}
asGlobalMetadata(metadata) {
this._assert(metadata, 'GlobalMetadata');
return metadata;
}
// eslint-disable-next-line @typescript-eslint/no-explicit-any
_assert(metadata, klassName) {
const Klass = this.config[klassName];
if (!(metadata instanceof Klass)) {
throw new TypeError(`Metadata (${metadata?.id}) is not an instance of ${klassName}`);
}
}
}
exports.InstanceOfMetadataChecker = InstanceOfMetadataChecker;
//# sourceMappingURL=InstanceOfMetadataChecker.js.map