UNPKG

@contract-case/case-plugin-dsl-types

Version:

Types for writing the definition DSL for plugins for the ContractCase test framework

48 lines 1.24 kB
/** * Base type for any matcher descriptor * @public */ export interface AnyCaseMatcher { '_case:matcher:type': string; } type JsonSerialisablePrimitive = boolean | number | string | null; interface JsonMap { [key: string]: AnyData; } type JsonArray = Array<AnyData>; /** * Helper type to represent any raw json data * @public */ export type AnyData = JsonSerialisablePrimitive | JsonMap | JsonArray; /** * TODO: Remove this type, it doesn't provide much value * @internal */ export type AnyLeafOrStructure = JsonSerialisablePrimitive | JsonOrMatcherArray | JsonOrMatcherMap; /** * Indicates that a matcher should always resolve to this type of value * @public */ export type ResolvesTo<T extends string> = { '_case:matcher:resolvesTo': T; }; /** * Any matcher descriptor or data * @public */ export type AnyCaseMatcherOrData = AnyCaseMatcher | AnyData | AnyLeafOrStructure; /** * Any json object that might contain data or matchers * @public */ export type JsonOrMatcherMap = { [key: string]: AnyCaseMatcherOrData; }; /** * Any json array that might contain data or matchers * @public */ export type JsonOrMatcherArray = Array<AnyCaseMatcherOrData>; export {}; //# sourceMappingURL=matchers.types.d.ts.map