UNPKG

ts-stronger-types

Version:

Runtime checking of types and integrity for Typescript projects

30 lines 1.38 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.logOrThrowIncorrectArgument = exports.logOrThrowIncorrectReturnType = exports.logOrThrow = exports.getActualType = void 0; exports.getActualType = (value) => { let actualType = (typeof value).toString(); if (value.constructor) { actualType = value.constructor.name; } return actualType; }; exports.logOrThrow = (message, options) => { if (options.throwError) { throw new TypeError(message); } else if (options.customLogger) { options.customLogger(message); } else { console.log(message); } }; exports.logOrThrowIncorrectReturnType = (fnName, className, returnTypeName, expectedReturnTypeName, options) => { const errorMessage = `Function ${fnName} of class ${className} return type: ${returnTypeName} is different from expected return type: ${expectedReturnTypeName}.`; exports.logOrThrow(errorMessage, options); }; exports.logOrThrowIncorrectArgument = (fnName, className, argumentValue, actualArgTypeName, expectedArgTypeName, options) => { const errorMessage = `Argument in function ${fnName} of class ${className}: ${argumentValue} has type: ${actualArgTypeName} different from expected type: ${expectedArgTypeName}.`; exports.logOrThrow(errorMessage, options); }; //# sourceMappingURL=typed.utils.js.map