UNPKG

ts-stronger-types

Version:

Runtime checking of types and integrity for Typescript projects

21 lines 985 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.checked = void 0; const typed_utils_1 = require("./typed.utils"); const typed_config_1 = require("./typed.config"); function checked(fn, arg1, arg1Type, outType) { const arg1ActualType = typed_utils_1.getActualType(arg1); const arg1ExpectedType = arg1Type.name; if (arg1ActualType !== arg1ExpectedType) { typed_utils_1.logOrThrowIncorrectArgument(fn.name, 'global', arg1, arg1ActualType, arg1ExpectedType, typed_config_1.TypedConfig.get()); } const result = fn(arg1); const resultActualType = typed_utils_1.getActualType(result); const resultExpectedType = outType.name; if (resultActualType !== resultExpectedType) { typed_utils_1.logOrThrowIncorrectReturnType(fn.name, 'global', resultActualType, resultExpectedType, typed_config_1.TypedConfig.get()); } return result; } exports.checked = checked; //# sourceMappingURL=checked.function.js.map