turtlecoin-wallet-backend
Version:
[](https://travis-ci.org/turtlecoin/turtlecoin-wallet-backend-js)
48 lines (47 loc) • 1.8 kB
JavaScript
// Copyright (C) 2019, Zpalmtree
//
// Please see the included LICENSE file for more information.
Object.defineProperty(exports, "__esModule", { value: true });
const _ = require("lodash");
function assertStringOrUndefined(param, name) {
return assertType(param, name, 'string', _.isString, true);
}
exports.assertStringOrUndefined = assertStringOrUndefined;
function assertString(param, name) {
return assertType(param, name, 'string', _.isString, false);
}
exports.assertString = assertString;
function assertNumberOrUndefined(param, name) {
return assertType(param, name, 'number', _.isNumber, true);
}
exports.assertNumberOrUndefined = assertNumberOrUndefined;
function assertNumber(param, name) {
return assertType(param, name, 'number', _.isNumber, false);
}
exports.assertNumber = assertNumber;
function assertBooleanOrUndefined(param, name) {
return assertType(param, name, 'boolean', _.isBoolean, true);
}
exports.assertBooleanOrUndefined = assertBooleanOrUndefined;
function assertBoolean(param, name) {
return assertType(param, name, 'boolean', _.isBoolean, false);
}
exports.assertBoolean = assertBoolean;
function assertArrayOrUndefined(param, name) {
return assertType(param, name, 'array', _.isArray, true);
}
exports.assertArrayOrUndefined = assertArrayOrUndefined;
function assertArray(param, name) {
return assertType(param, name, 'array', _.isArray, false);
}
exports.assertArray = assertArray;
function assertType(param, name, correctType, typeVerificationFunc, allowUndefined) {
if (allowUndefined && param === undefined) {
return;
}
if (!typeVerificationFunc(param)) {
throw new Error(`Expected ${correctType} for '${name}' parameter, but got ${typeof param}`);
}
}
exports.assertType = assertType;
;