@credo-ts/core
Version:
<p align="center"> <br /> <img alt="Credo Logo" src="https://github.com/openwallet-foundation/credo-ts/blob/c7886cb8377ceb8ee4efe8d264211e561a75072d/images/credo-logo.png" height="250px" /> </p> <h1 align="center"><b>Credo - Core</b></h1
1 lines • 1.91 kB
Source Map (JSON)
{"version":3,"file":"ProofTransformer.mjs","names":[],"sources":["../../../../../src/modules/vc/data-integrity/models/ProofTransformer.ts"],"sourcesContent":["import { instanceToPlain, plainToInstance, Transform, TransformationType } from 'class-transformer'\nimport type { SingleOrArray } from '../../../../types'\nimport type { DataIntegrityProofOptions } from './DataIntegrityProof'\nimport { DataIntegrityProof } from './DataIntegrityProof'\nimport type { LinkedDataProofOptions } from './LinkedDataProof'\nimport { LinkedDataProof } from './LinkedDataProof'\n\nexport function ProofTransformer() {\n return Transform(\n ({\n value,\n type,\n }: {\n value: SingleOrArray<LinkedDataProofOptions | DataIntegrityProofOptions>\n type: TransformationType\n }) => {\n if (type === TransformationType.PLAIN_TO_CLASS) {\n const plainOptionsToClass = (v: LinkedDataProofOptions | DataIntegrityProofOptions) => {\n if ('cryptosuite' in v) {\n return plainToInstance(DataIntegrityProof, v)\n }\n return plainToInstance(LinkedDataProof, v)\n }\n\n if (Array.isArray(value)) return value.map(plainOptionsToClass)\n return plainOptionsToClass(value)\n }\n if (type === TransformationType.CLASS_TO_PLAIN) {\n if (Array.isArray(value)) return value.map((v) => instanceToPlain(v))\n return instanceToPlain(value)\n }\n // PLAIN_TO_PLAIN\n return value\n }\n )\n}\n"],"mappings":";;;;;;;AAOA,SAAgB,mBAAmB;AACjC,QAAO,WACJ,EACC,OACA,WAII;AACJ,MAAI,SAAS,mBAAmB,gBAAgB;GAC9C,MAAM,uBAAuB,MAA0D;AACrF,QAAI,iBAAiB,EACnB,QAAO,gBAAgB,oBAAoB,EAAE;AAE/C,WAAO,gBAAgB,iBAAiB,EAAE;;AAG5C,OAAI,MAAM,QAAQ,MAAM,CAAE,QAAO,MAAM,IAAI,oBAAoB;AAC/D,UAAO,oBAAoB,MAAM;;AAEnC,MAAI,SAAS,mBAAmB,gBAAgB;AAC9C,OAAI,MAAM,QAAQ,MAAM,CAAE,QAAO,MAAM,KAAK,MAAM,gBAAgB,EAAE,CAAC;AACrE,UAAO,gBAAgB,MAAM;;AAG/B,SAAO;GAEV"}