@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
46 lines (45 loc) • 2.46 kB
JavaScript
import __decorateMetadata from "../../../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorateMetadata.mjs";
import __decorate from "../../../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorate.mjs";
import { CREDENTIALS_CONTEXT_V2_URL, ENVELOPED_VERIFIABLE_PRESENTATION_TYPE } from "../../constants.mjs";
import { IsCredentialJsonLdContext } from "../../validators.mjs";
import { Expose } from "class-transformer";
import { IsDataURI, ValidateBy, buildMessage } from "class-validator";
//#region src/modules/vc/models/presentation/W3cV2EnvelopedVerifiablePresentation.ts
var W3cV2EnvelopedVerifiablePresentation = class {
constructor(options) {
if (options) {
this.context = options.context ?? "https://www.w3.org/ns/credentials/v2";
this.id = options.id;
this.type = options.type ?? "EnvelopedVerifiablePresentation";
}
}
};
__decorate([
Expose({ name: "@context" }),
IsCredentialJsonLdContext({
allowString: true,
credentialContext: CREDENTIALS_CONTEXT_V2_URL
}),
__decorateMetadata("design:type", Object)
], W3cV2EnvelopedVerifiablePresentation.prototype, "context", void 0);
__decorate([IsDataURI(), __decorateMetadata("design:type", String)], W3cV2EnvelopedVerifiablePresentation.prototype, "id", void 0);
__decorate([IsEnvelopedVerifiablePresentationType(), __decorateMetadata("design:type", Object)], W3cV2EnvelopedVerifiablePresentation.prototype, "type", void 0);
function isEnvelopedVerifiablePresentationEntry(value) {
if (!value || typeof value !== "object" || Array.isArray(value)) return false;
const type = value.type;
return (Array.isArray(type) ? type : [type]).some((entry) => entry === ENVELOPED_VERIFIABLE_PRESENTATION_TYPE);
}
function IsEnvelopedVerifiablePresentationType(validationOptions) {
return ValidateBy({
name: "IsEnvelopedVerifiablePresentationType",
validator: {
validate: (value) => {
return Array.isArray(value) ? value.includes(ENVELOPED_VERIFIABLE_PRESENTATION_TYPE) : value === ENVELOPED_VERIFIABLE_PRESENTATION_TYPE;
},
defaultMessage: buildMessage((eachPrefix) => `${eachPrefix}$property must be a string that equals, or an array of strings which includes "${ENVELOPED_VERIFIABLE_PRESENTATION_TYPE}"`, validationOptions)
}
}, validationOptions);
}
//#endregion
export { IsEnvelopedVerifiablePresentationType, W3cV2EnvelopedVerifiablePresentation, isEnvelopedVerifiablePresentationEntry };
//# sourceMappingURL=W3cV2EnvelopedVerifiablePresentation.mjs.map