assertior
Version:
Assertion library with soft assertions
33 lines • 1.35 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.buildTypeErrorMessage = exports.reformatMessageArguments = exports.buildDefaultMessage = void 0;
const sat_utils_1 = require("sat-utils");
function reformatMessageArguments(argument) {
if ((typeof argument === 'string') && argument.length === 0) {
return argument;
}
let stringified = '';
if (argument === undefined) {
stringified = 'undefined';
}
else if (sat_utils_1.isSymbol(argument)) {
stringified = argument.toString();
}
else if (sat_utils_1.isFunction(argument) || sat_utils_1.isAsyncFunction(argument)) {
stringified = argument.toString();
}
else {
stringified = JSON.stringify(argument);
}
return stringified;
}
exports.reformatMessageArguments = reformatMessageArguments;
function buildDefaultMessage(condition, expected, actual = '') {
return `Expect that ${reformatMessageArguments(expected)} ${condition} ${reformatMessageArguments(actual)}`;
}
exports.buildDefaultMessage = buildDefaultMessage;
function buildTypeErrorMessage(expectedType, argument) {
return `Expected argument should be a ${expectedType}, but argument is ${reformatMessageArguments(argument)}`;
}
exports.buildTypeErrorMessage = buildTypeErrorMessage;
//# sourceMappingURL=utils.js.map