@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 • 3.38 kB
Source Map (JSON)
{"version":3,"file":"W3cV2EnvelopedVerifiablePresentation.mjs","names":[],"sources":["../../../../../src/modules/vc/models/presentation/W3cV2EnvelopedVerifiablePresentation.ts"],"sourcesContent":["import { Expose } from 'class-transformer'\nimport { buildMessage, IsDataURI, ValidateBy, type ValidationOptions } from 'class-validator'\nimport type { JsonObject, SingleOrArray } from '../../../../types'\nimport { CREDENTIALS_CONTEXT_V2_URL, ENVELOPED_VERIFIABLE_PRESENTATION_TYPE } from '../../constants'\nimport { IsCredentialJsonLdContext } from '../../validators'\n\nexport interface W3cV2EnvelopedVerifiablePresentationOptions {\n id: string\n context?: string | Array<string | JsonObject>\n type?: SingleOrArray<string>\n}\n\nexport class W3cV2EnvelopedVerifiablePresentation {\n public constructor(options: W3cV2EnvelopedVerifiablePresentationOptions) {\n if (options) {\n this.context = options.context ?? CREDENTIALS_CONTEXT_V2_URL\n this.id = options.id\n this.type = options.type ?? ENVELOPED_VERIFIABLE_PRESENTATION_TYPE\n }\n }\n\n @Expose({ name: '@context' })\n @IsCredentialJsonLdContext({ allowString: true, credentialContext: CREDENTIALS_CONTEXT_V2_URL })\n public context!: string | Array<string | JsonObject>\n\n @IsDataURI()\n public id!: string\n\n @IsEnvelopedVerifiablePresentationType()\n public type!: SingleOrArray<string>\n}\n\nexport function isEnvelopedVerifiablePresentationEntry(\n value: unknown\n): value is W3cV2EnvelopedVerifiablePresentationOptions {\n if (!value || typeof value !== 'object' || Array.isArray(value)) return false\n\n const type = (value as { type?: unknown }).type\n const values = Array.isArray(type) ? type : [type]\n\n return values.some((entry) => entry === ENVELOPED_VERIFIABLE_PRESENTATION_TYPE)\n}\n\nexport function IsEnvelopedVerifiablePresentationType(validationOptions?: ValidationOptions): PropertyDecorator {\n return ValidateBy(\n {\n name: 'IsEnvelopedVerifiablePresentationType',\n validator: {\n validate: (value): boolean => {\n return Array.isArray(value)\n ? value.includes(ENVELOPED_VERIFIABLE_PRESENTATION_TYPE)\n : value === ENVELOPED_VERIFIABLE_PRESENTATION_TYPE\n },\n defaultMessage: buildMessage(\n (eachPrefix) =>\n `${eachPrefix}$property must be a string that equals, or an array of strings which includes \"${ENVELOPED_VERIFIABLE_PRESENTATION_TYPE}\"`,\n validationOptions\n ),\n },\n },\n validationOptions\n )\n}\n"],"mappings":";;;;;;;AAYA,IAAa,uCAAb,MAAkD;CAChD,YAAmB,SAAsD;EACvE,IAAI,SAAS;GACX,KAAK,UAAU,QAAQ,WAAA;GACvB,KAAK,KAAK,QAAQ;GAClB,KAAK,OAAO,QAAQ,QAAA;EACtB;CACF;AAWF;;CATG,OAAO,EAAE,MAAM,WAAW,CAAC;CAC3B,0BAA0B;EAAE,aAAa;EAAM,mBAAmB;CAA2B,CAAC;;;AAG9F,WAAA,CAAA,UAAU,GAAA,mBAAA,eAAA,MAAA,CAAA,GAAA,qCAAA,WAAA,MAAA,KAAA,CAAA;AAGV,WAAA,CAAA,sCAAsC,GAAA,mBAAA,eAAA,MAAA,CAAA,GAAA,qCAAA,WAAA,QAAA,KAAA,CAAA;AAIzC,SAAgB,uCACd,OACsD;CACtD,IAAI,CAAC,SAAS,OAAO,UAAU,YAAY,MAAM,QAAQ,KAAK,GAAG,OAAO;CAExE,MAAM,OAAQ,MAA6B;CAG3C,QAFe,MAAM,QAAQ,IAAI,IAAI,OAAO,CAAC,IAAI,EAAA,CAEnC,MAAM,UAAU,UAAU,sCAAsC;AAChF;AAEA,SAAgB,sCAAsC,mBAA0D;CAC9G,OAAO,WACL;EACE,MAAM;EACN,WAAW;GACT,WAAW,UAAmB;IAC5B,OAAO,MAAM,QAAQ,KAAK,IACtB,MAAM,SAAS,sCAAsC,IACrD,UAAU;GAChB;GACA,gBAAgB,cACb,eACC,GAAG,WAAW,iFAAiF,uCAAuC,IACxI,iBACF;EACF;CACF,GACA,iBACF;AACF"}