UNPKG

simonflex-framework

Version:

A library implements Meter Flex interface

102 lines 6.94 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); function isDecString(val) { return typeof val === 'string' && /^[0-9]+$/.test(val); } exports.isDecString = isDecString; function isHexString(val) { return typeof val === 'string' && /^0x[0-9a-f]+$/i.test(val); } exports.isHexString = isHexString; function isHexBytes(val, n) { if (typeof val !== 'string' || !/^0x[0-9a-f]*$/i.test(val)) { return false; } return n ? val.length === n * 2 + 2 : val.length % 2 === 0; } exports.isHexBytes = isHexBytes; function isUInt(val, bit) { if (val < 0 || !Number.isInteger(val)) { return false; } return bit ? val < Math.pow(2, bit) : true; } exports.isUInt = isUInt; function isBigInt(v) { return typeof v === 'string' ? (isDecString(v) || isHexString(v)) : isUInt(v, 0); } exports.isBigInt = isBigInt; class BadParameter extends Error { constructor(msg) { super(msg); } } exports.BadParameter = BadParameter; BadParameter.prototype.name = 'BadParameter'; function ensure(b, msg) { if (!b) { throw new BadParameter(msg); } } exports.ensure = ensure; const V = require("validator-ts"); function test(value, scheme, context) { try { return V.validate(value, scheme, context); } catch (err) { if (err instanceof V.ValidationError) { throw new BadParameter(err.message); } throw err; } } exports.test = test; // rules function bytes(v) { return isHexBytes(v) ? '' : 'expected bytes in hex string'; } exports.bytes = bytes; function bytes8(v) { return isHexBytes(v, 8) ? '' : 'expected bytes8'; } exports.bytes8 = bytes8; function bytes32(v) { return isHexBytes(v, 32) ? '' : 'expected bytes32'; } exports.bytes32 = bytes32; function uint8(v) { return isUInt(v, 8) ? '' : 'expected 8-bit unsigned integer'; } exports.uint8 = uint8; function uint32(v) { return isUInt(v, 32) ? '' : 'expected 32-bit unsigned integer'; } exports.uint32 = uint32; function uint64(v) { return isUInt(v, 64) ? '' : 'expected 64-bit unsigned integer'; } exports.uint64 = uint64; function bool(v) { return typeof v === 'boolean' ? '' : 'expected boolean'; } exports.bool = bool; function bigInt(v) { return isBigInt(v) ? '' : 'expected unsigned integer in number or string'; } exports.bigInt = bigInt; function hexString(v) { return isHexString(v) ? '' : 'expected integer in hex string'; } exports.hexString = hexString; function address(v) { return isHexBytes(v, 20) ? '' : 'expected address'; } exports.address = address; function string(v) { return typeof v === 'string' ? '' : 'expected string'; } exports.string = string; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZnJhbWV3b3JrL3J1bGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsU0FBZ0IsV0FBVyxDQUFDLEdBQVc7SUFDbkMsT0FBTyxPQUFPLEdBQUcsS0FBSyxRQUFRLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtBQUMxRCxDQUFDO0FBRkQsa0NBRUM7QUFFRCxTQUFnQixXQUFXLENBQUMsR0FBVztJQUNuQyxPQUFPLE9BQU8sR0FBRyxLQUFLLFFBQVEsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7QUFDaEUsQ0FBQztBQUZELGtDQUVDO0FBRUQsU0FBZ0IsVUFBVSxDQUFDLEdBQVcsRUFBRSxDQUFVO0lBQzlDLElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQ3hELE9BQU8sS0FBSyxDQUFBO0tBQ2Y7SUFDRCxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFBO0FBQzlELENBQUM7QUFMRCxnQ0FLQztBQUVELFNBQWdCLE1BQU0sQ0FBQyxHQUFXLEVBQUUsR0FBVztJQUMzQyxJQUFJLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQ25DLE9BQU8sS0FBSyxDQUFBO0tBQ2Y7SUFDRCxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLFNBQUEsQ0FBQyxFQUFJLEdBQUcsQ0FBQSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUE7QUFDdEMsQ0FBQztBQUxELHdCQUtDO0FBRUQsU0FB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