UNPKG

@contract-case/case-entities-internal

Version:

Shared types for ContractCase modules

15 lines 820 B
import { AnyLeafOrStructure } from '@contract-case/case-plugin-dsl-types'; import { AnyCaseNodeType } from './constants.types'; import { AnyCaseMatcher } from './definitions.types'; export type HasExample<T extends AnyCaseMatcher> = T & { '_case:matcher:example': AnyCaseMatcherOrData; }; export declare const hasExample: <T extends AnyCaseMatcher>(maybeMatcher: unknown) => maybeMatcher is HasExample<T>; interface IsCaseNodeForType<T extends AnyCaseNodeType> { '_case:matcher:type': T; } export type CaseNodeFor<T extends AnyCaseNodeType> = Extract<AnyCaseMatcher, IsCaseNodeForType<T>>; export type DataOrCaseNodeFor<T extends AnyCaseNodeType> = CaseNodeFor<T> | AnyLeafOrStructure; export type AnyCaseMatcherOrData = AnyLeafOrStructure | AnyCaseMatcher; export {}; //# sourceMappingURL=utility.types.d.ts.map