@tsed/core
Advanced tools
Comparing version 4.32.3 to 4.32.4
@@ -106,3 +106,3 @@ import { Type } from "../interfaces"; | ||
*/ | ||
readonly isClass: any; | ||
readonly isClass: boolean; | ||
/** | ||
@@ -109,0 +109,0 @@ * |
@@ -40,2 +40,7 @@ /** | ||
* @param target | ||
*/ | ||
export declare function isSymbol(target: any): boolean; | ||
/** | ||
* | ||
* @param target | ||
* @returns {boolean} | ||
@@ -85,2 +90,3 @@ */ | ||
*/ | ||
export declare function isClassObject(target: any): boolean; | ||
export declare function isObject(target: any): boolean; | ||
@@ -92,3 +98,4 @@ /** | ||
*/ | ||
export declare function isClass(target: any): any; | ||
export declare function isClass(target: any): boolean; | ||
export declare function isArrowFn(target: any): boolean; | ||
/** | ||
@@ -95,0 +102,0 @@ * Return true if the value is an empty string, null or undefined. |
@@ -33,3 +33,3 @@ "use strict"; | ||
function getClassOrSymbol(target) { | ||
return typeof target === "symbol" ? target : getClass(target); | ||
return isClass(target) ? getClass(target) : target; | ||
} | ||
@@ -67,2 +67,10 @@ exports.getClassOrSymbol = getClassOrSymbol; | ||
* @param target | ||
*/ | ||
function isSymbol(target) { | ||
return typeof target === "symbol" || target instanceof Symbol || target === Symbol; | ||
} | ||
exports.isSymbol = isSymbol; | ||
/** | ||
* | ||
* @param target | ||
* @returns {boolean} | ||
@@ -144,5 +152,9 @@ */ | ||
*/ | ||
function isObject(target) { | ||
function isClassObject(target) { | ||
return target === Object; | ||
} | ||
exports.isClassObject = isClassObject; | ||
function isObject(target) { | ||
return typeof target === "object"; | ||
} | ||
exports.isObject = isObject; | ||
@@ -155,10 +167,15 @@ /** | ||
function isClass(target) { | ||
return (!isPrimitiveOrPrimitiveClass(target) && | ||
!isObject(target) && | ||
!isDate(target) && | ||
target !== undefined && | ||
!isPromise(target) && | ||
target.prototype); | ||
if (!target) { | ||
return false; | ||
} | ||
if (isArrowFn(target)) { | ||
return false; | ||
} | ||
return !(isSymbol(target) || isPrimitiveOrPrimitiveClass(target) || isClassObject(target) || isDate(target) || isPromise(target)); | ||
} | ||
exports.isClass = isClass; | ||
function isArrowFn(target) { | ||
return target && typeof target === "function" && !target.prototype; | ||
} | ||
exports.isArrowFn = isArrowFn; | ||
/** | ||
@@ -165,0 +182,0 @@ * Return true if the value is an empty string, null or undefined. |
{ | ||
"name": "@tsed/core", | ||
"version": "4.32.3", | ||
"version": "4.32.4", | ||
"description": "Core module for Ts.ED Framework", | ||
@@ -27,3 +27,3 @@ "main": "lib/index.js", | ||
"license": "MIT", | ||
"gitHead": "425b15e7ac2b67e30e856a9169d7f0c0b1f86b09" | ||
"gitHead": "faefde92a16a2dc15f5f6398657abce22fb17972" | ||
} |
@@ -32,3 +32,3 @@ /** | ||
export function getClassOrSymbol(target: any): any { | ||
return typeof target === "symbol" ? target : getClass(target); | ||
return isClass(target) ? getClass(target) : target; | ||
} | ||
@@ -67,2 +67,10 @@ | ||
* @param target | ||
*/ | ||
export function isSymbol(target: any) { | ||
return typeof target === "symbol" || target instanceof Symbol || target === Symbol; | ||
} | ||
/** | ||
* | ||
* @param target | ||
* @returns {boolean} | ||
@@ -147,6 +155,10 @@ */ | ||
*/ | ||
export function isObject(target: any): boolean { | ||
export function isClassObject(target: any): boolean { | ||
return target === Object; | ||
} | ||
export function isObject(target: any): boolean { | ||
return typeof target === "object"; | ||
} | ||
/** | ||
@@ -158,12 +170,17 @@ * | ||
export function isClass(target: any) { | ||
return ( | ||
!isPrimitiveOrPrimitiveClass(target) && | ||
!isObject(target) && | ||
!isDate(target) && | ||
target !== undefined && | ||
!isPromise(target) && | ||
target.prototype | ||
); | ||
if (!target) { | ||
return false; | ||
} | ||
if (isArrowFn(target)) { | ||
return false; | ||
} | ||
return !(isSymbol(target) || isPrimitiveOrPrimitiveClass(target) || isClassObject(target) || isDate(target) || isPromise(target)); | ||
} | ||
export function isArrowFn(target: any) { | ||
return target && typeof target === "function" && !target.prototype; | ||
} | ||
/** | ||
@@ -170,0 +187,0 @@ * Return true if the value is an empty string, null or undefined. |
Sorry, the diff of this file is not supported yet
245455
4837