UNPKG

@etherspot/prime-sdk

Version:

Etherspot Prime (Account Abstraction) SDK

31 lines (30 loc) 1.13 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.IsBigNumberish = void 0; const ethers_1 = require("ethers"); const class_validator_1 = require("class-validator"); function IsBigNumberish(options = {}, validationOptions = {}) { return (object, propertyName) => { const { positive } = options; (0, class_validator_1.registerDecorator)({ propertyName, options: Object.assign({ message: `${propertyName} must be ${positive ? 'positive ' : ''}big numberish` }, validationOptions), name: 'IsBigNumberish', target: object.constructor, constraints: [], validator: { validate(value) { let result = false; try { const bn = ethers_1.BigNumber.from(value); result = positive ? bn.gt(0) : bn.gte(0); } catch (err) { } return result; }, }, }); }; } exports.IsBigNumberish = IsBigNumberish;