UNPKG

@etherspot/remote-signer

Version:

Etherspot Permissioned Signer SDK - signs the UserOp with SessionKey and sends it to the Bundler

1 lines 1.92 kB
{"version":3,"sources":["../../src/sdk/dto/utils/validate-dto.ts"],"sourcesContent":["import { validate } from 'class-validator';\nimport { ValidationException, prepareAddresses } from '../../common';\n\n/**\n * @ignore\n */\nexport async function validateDto<T extends {}>(\n dto: Partial<T>,\n DtoConstructor: { new (): T },\n options: {\n addressKeys?: (keyof T)[];\n } = {},\n): Promise<T> {\n const result = new DtoConstructor();\n\n const { addressKeys } = options;\n\n try {\n let dtoWithoutUndefined = Object.entries(dto).reduce((result, [key, value]) => {\n if (typeof value !== 'undefined') {\n result = {\n ...result,\n [key]: value,\n };\n }\n return result;\n }, {}) as T;\n\n if (addressKeys) {\n dtoWithoutUndefined = prepareAddresses(dtoWithoutUndefined, ...addressKeys);\n }\n\n Object.assign(result, dtoWithoutUndefined);\n } catch (err) {\n //\n }\n\n const errors = await validate(result, {\n forbidUnknownValues: true,\n validationError: {\n target: false,\n value: false,\n },\n });\n\n if (errors && errors.length) {\n throw new ValidationException(errors);\n }\n\n return result;\n}\n"],"mappings":";;;;;;;;AAAA,SAAS,gBAAgB;AAMzB,eAAsB,YACpB,KACA,gBACA,UAEI,CAAC,GACO;AACZ,QAAM,SAAS,IAAI,eAAe;AAElC,QAAM,EAAE,YAAY,IAAI;AAExB,MAAI;AACF,QAAI,sBAAsB,OAAO,QAAQ,GAAG,EAAE,OAAO,CAACA,SAAQ,CAAC,KAAK,KAAK,MAAM;AAC7E,UAAI,OAAO,UAAU,aAAa;AAChC,QAAAA,UAAS;AAAA,UACP,GAAGA;AAAA,UACH,CAAC,GAAG,GAAG;AAAA,QACT;AAAA,MACF;AACA,aAAOA;AAAA,IACT,GAAG,CAAC,CAAC;AAEL,QAAI,aAAa;AACf,4BAAsB,iBAAiB,qBAAqB,GAAG,WAAW;AAAA,IAC5E;AAEA,WAAO,OAAO,QAAQ,mBAAmB;AAAA,EAC3C,SAAS,KAAK;AAAA,EAEd;AAEA,QAAM,SAAS,MAAM,SAAS,QAAQ;AAAA,IACpC,qBAAqB;AAAA,IACrB,iBAAiB;AAAA,MACf,QAAQ;AAAA,MACR,OAAO;AAAA,IACT;AAAA,EACF,CAAC;AAED,MAAI,UAAU,OAAO,QAAQ;AAC3B,UAAM,IAAI,oBAAoB,MAAM;AAAA,EACtC;AAEA,SAAO;AACT;","names":["result"]}