{"version":3,"sources":["../../src/sdk/dto/validators/is-hex.validator.ts"],"sourcesContent":["import { registerDecorator, ValidationOptions } from 'class-validator';\nimport { isHex } from '../../common';\n\nexport function IsHex(\n  options: {\n    size?: number;\n  } = {},\n  validationOptions: ValidationOptions = {},\n) {\n  return (object: any, propertyName: string) => {\n    const { size } = options;\n    let message = `${propertyName} must be hex`;\n\n    if (size > 0) {\n      message = `${message} with ${size} size`;\n    }\n\n    registerDecorator({\n      propertyName,\n      options: {\n        message,\n        ...validationOptions,\n      },\n      name: 'isHex',\n      target: object.constructor,\n      constraints: [],\n      validator: {\n        validate(value: string): boolean {\n          let result = isHex(value);\n\n          if (result && size > 0) {\n            result = value.length === size * 2 + 2;\n          }\n\n          return result;\n        },\n      },\n    });\n  };\n}\n"],"mappings":";;;;;AAAA,SAAS,yBAA4C;AAG9C,SAAS,MACd,UAEI,CAAC,GACL,oBAAuC,CAAC,GACxC;AACA,SAAO,CAAC,QAAa,iBAAyB;AAC5C,UAAM,EAAE,KAAK,IAAI;AACjB,QAAI,UAAU,GAAG,YAAY;AAE7B,QAAI,OAAO,GAAG;AACZ,gBAAU,GAAG,OAAO,SAAS,IAAI;AAAA,IACnC;AAEA,sBAAkB;AAAA,MAChB;AAAA,MACA,SAAS;AAAA,QACP;AAAA,QACA,GAAG;AAAA,MACL;AAAA,MACA,MAAM;AAAA,MACN,QAAQ,OAAO;AAAA,MACf,aAAa,CAAC;AAAA,MACd,WAAW;AAAA,QACT,SAAS,OAAwB;AAC/B,cAAI,SAAS,MAAM,KAAK;AAExB,cAAI,UAAU,OAAO,GAAG;AACtB,qBAAS,MAAM,WAAW,OAAO,IAAI;AAAA,UACvC;AAEA,iBAAO;AAAA,QACT;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACH;AACF;","names":[]}