@tsed/schema
Version:
JsonSchema module for Ts.ED Framework
22 lines (21 loc) • 599 B
JavaScript
import { classOf, isArrowFn, isClass, isClassObject, isCollection, isDate, isPrimitiveOrPrimitiveClass, isPromise, isSymbol } from "@tsed/core";
/**
* @ignore
*/
export function getComputedType(target) {
if (isPromise(target) || target === Function) {
return Object;
}
if (isClass(target) ||
isSymbol(target) ||
isPrimitiveOrPrimitiveClass(target) ||
isClassObject(target) ||
isDate(target) ||
isCollection(target)) {
return classOf(target);
}
if (isArrowFn(target)) {
return target();
}
return target;
}