@liskhq/lisk-validator
Version:
Validation library according to the Lisk protocol
49 lines • 2.2 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.lisk32 = exports.oddInteger = exports.ipOrFQDN = exports.ip = exports.encryptedPassphrase = exports.path = exports.networkVersion = exports.version = exports.camelCase = exports.uint32 = exports.uint64 = exports.int64 = exports.bytes = exports.hex = void 0;
const lisk_cryptography_1 = require("@liskhq/lisk-cryptography");
const validation_1 = require("./validation");
const constants_1 = require("./constants");
exports.hex = validation_1.isHexString;
exports.bytes = validation_1.isBytes;
const int64 = (data) => (0, validation_1.isNumberString)(data) && (0, validation_1.isSInt64)(BigInt(data));
exports.int64 = int64;
const uint64 = (data) => (0, validation_1.isNumberString)(data) && (0, validation_1.isUInt64)(BigInt(data));
exports.uint64 = uint64;
exports.uint32 = {
type: 'number',
validate: (value) => Number.isInteger(value) && value >= 0 && value <= constants_1.MAX_UINT32,
};
const camelCaseRegex = /^[a-z][0-9]*([A-Z][a-z]*[a-zA-Z0-9]*|[a-z][a-z]*[a-zA-Z0-9]*)?$/;
const camelCase = (data) => camelCaseRegex.exec(data) !== null;
exports.camelCase = camelCase;
exports.version = validation_1.isSemVer;
const networkVersion = (data) => /^(\d|[1-9]\d{1,2})\.(\d|[1-9]\d{1,2})$/.test(data);
exports.networkVersion = networkVersion;
const path = (data) => /^(.?)(\/[^/]+)+(\/?)$/.test(data);
exports.path = path;
exports.encryptedPassphrase = validation_1.isEncryptedPassphrase;
exports.ip = validation_1.isIP;
const ipOrFQDN = (data) => {
const hostnameRegex = /^[a-zA-Z](([-0-9a-zA-Z]+)?[0-9a-zA-Z])?(\.[a-zA-Z](([-0-9a-zA-Z]+)?[0-9a-zA-Z])?)*$/;
return (0, validation_1.isIPV4)(data) || hostnameRegex.test(data);
};
exports.ipOrFQDN = ipOrFQDN;
const oddInteger = (data) => {
if (typeof data === 'number') {
return Number.isInteger(data) && data % 2 === 1;
}
return /^\d*[13579]$/.test(data);
};
exports.oddInteger = oddInteger;
const lisk32 = (data) => {
try {
lisk_cryptography_1.address.validateLisk32Address(data);
return true;
}
catch (error) {
return false;
}
};
exports.lisk32 = lisk32;
//# sourceMappingURL=formats.js.map
;