{"version":3,"sources":["../../src/sdk/dto/validators/is-big-numberish.validator.ts"],"sourcesContent":["import { BigNumber } from '../../common';\nimport { registerDecorator, ValidationOptions } from 'class-validator';\n\nexport function IsBigNumberish(\n  options: {\n    positive?: boolean;\n  } = {},\n  validationOptions: ValidationOptions = {},\n) {\n  return (object: any, propertyName: string) => {\n    const { positive } = options;\n\n    registerDecorator({\n      propertyName,\n      options: {\n        message: `${propertyName} must be ${positive ? 'positive ' : ''}big numberish`,\n        ...validationOptions,\n      },\n      name: 'IsBigNumberish',\n      target: object.constructor,\n      constraints: [],\n      validator: {\n        validate(value: any): boolean {\n          let result = false;\n\n          try {\n            const bn = BigNumber.from(value);\n            result = positive ? bn.gt(0) : bn.gte(0);\n          } catch (err) {\n            //\n          }\n\n          return result;\n        },\n      },\n    });\n  };\n}\n"],"mappings":";;;;;AACA,SAAS,yBAA4C;AAE9C,SAAS,eACd,UAEI,CAAC,GACL,oBAAuC,CAAC,GACxC;AACA,SAAO,CAAC,QAAa,iBAAyB;AAC5C,UAAM,EAAE,SAAS,IAAI;AAErB,sBAAkB;AAAA,MAChB;AAAA,MACA,SAAS;AAAA,QACP,SAAS,GAAG,YAAY,YAAY,WAAW,cAAc,EAAE;AAAA,QAC/D,GAAG;AAAA,MACL;AAAA,MACA,MAAM;AAAA,MACN,QAAQ,OAAO;AAAA,MACf,aAAa,CAAC;AAAA,MACd,WAAW;AAAA,QACT,SAAS,OAAqB;AAC5B,cAAI,SAAS;AAEb,cAAI;AACF,kBAAM,KAAK,UAAU,KAAK,KAAK;AAC/B,qBAAS,WAAW,GAAG,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;AAAA,UACzC,SAAS,KAAK;AAAA,UAEd;AAEA,iBAAO;AAAA,QACT;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACH;AACF;","names":[]}