@etherspot/data-utils
Version:
Etherspot Data Utils
1 lines • 1.58 kB
Source Map (JSON)
{"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":[]}