import * as common from "../Common/_all"; import * as match from "../Match/_all"; export class It { static isValue(x: T): T { let matcher: match.IMatch = new match.MatchValue(x); return matcher; } static isObjectWith(x: { [P in keyof T]?: T[P] }): T { let matcher: match.IMatch = new match.MatchObjectWith(x); return matcher; } static isAnyObject(x: common.Ctor): T { let matcher: match.IMatch = new match.MatchAnyObject(x); return matcher; } static isAny(): any { let matcher: match.IMatch = new match.MatchAny(); return matcher; } static isAnyString(): string { let matcher: match.IMatch = new match.MatchAnyString(); return matcher; } static isAnyNumber(): number { let matcher: match.IMatch = new match.MatchAnyNumber(); return matcher; } static is(predicate: common.IFunc2): T { let matcher: match.IMatch = new match.MatchPred(predicate); return matcher; } }