@dgpub/prime-sdk
Version:
Etherspot Prime (Account Abstraction) SDK
32 lines (31 loc) • 1.07 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.IsHex = void 0;
const class_validator_1 = require("class-validator");
const ethers_1 = require("ethers");
function IsHex(options = {}, validationOptions = {}) {
return (object, propertyName) => {
const { size } = options;
let message = `${propertyName} must be hex`;
if (size > 0) {
message = `${message} with ${size} size`;
}
(0, class_validator_1.registerDecorator)({
propertyName,
options: Object.assign({ message }, validationOptions),
name: 'isHex',
target: object.constructor,
constraints: [],
validator: {
validate(value) {
let result = ethers_1.utils.isHexString(value);
if (result && size > 0) {
result = value.length === size * 2 + 2;
}
return result;
},
},
});
};
}
exports.IsHex = IsHex;