UNPKG

@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

28 lines (24 loc) • 968 B
import { DataIntegrityProof } from "./DataIntegrityProof.mjs"; import { LinkedDataProof } from "./LinkedDataProof.mjs"; import { Transform, TransformationType, instanceToPlain, plainToInstance } from "class-transformer"; //#region src/modules/vc/data-integrity/models/ProofTransformer.ts function ProofTransformer() { return Transform(({ value, type }) => { if (type === TransformationType.PLAIN_TO_CLASS) { const plainOptionsToClass = (v) => { if ("cryptosuite" in v) return plainToInstance(DataIntegrityProof, v); return plainToInstance(LinkedDataProof, v); }; if (Array.isArray(value)) return value.map(plainOptionsToClass); return plainOptionsToClass(value); } if (type === TransformationType.CLASS_TO_PLAIN) { if (Array.isArray(value)) return value.map((v) => instanceToPlain(v)); return instanceToPlain(value); } return value; }); } //#endregion export { ProofTransformer }; //# sourceMappingURL=ProofTransformer.mjs.map