Kaynağa Gözat

Expands `is` usability

main
Eric Amodio 5 yıl önce
ebeveyn
işleme
3be19b29f0
1 değiştirilmiş dosya ile 4 ekleme ve 4 silme
  1. +4
    -4
      src/system/function.ts

+ 4
- 4
src/system/function.ts Dosyayı Görüntüle

@ -111,16 +111,16 @@ export namespace Functions {
: [];
}
export function is<T extends object>(o: T | null | undefined): o is T;
export function is<T extends object>(o: object, prop: keyof T, value?: any): o is T;
export function is<T extends object>(o: object, matcher: (o: object) => boolean): o is T;
export function is<T extends object>(
o: object,
propOrMatcher: keyof T | ((o: any) => boolean),
propOrMatcher?: keyof T | ((o: any) => boolean),
value?: any
): o is T {
if (typeof propOrMatcher === 'function') {
return propOrMatcher(o);
}
if (propOrMatcher == null) return o != null;
if (typeof propOrMatcher === 'function') return propOrMatcher(o);
return value === undefined ? (o as any)[propOrMatcher] !== undefined : (o as any)[propOrMatcher] === value;
}

Yükleniyor…
İptal
Kaydet