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

42 lines (41 loc) • 1.65 kB
import { IsUri, isUri } from "../../../../utils/validators.mjs"; 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 { Transform, TransformationType, instanceToPlain, plainToInstance } from "class-transformer"; import { ValidateBy, buildMessage, isInstance, isString } from "class-validator"; //#region src/modules/vc/models/credential/W3cIssuer.ts var W3cIssuer = class { constructor(options) { if (options) this.id = options.id; } }; __decorate([IsUri(), __decorateMetadata("design:type", String)], W3cIssuer.prototype, "id", void 0); function W3cIssuerTransformer() { return Transform(({ value, type }) => { if (type === TransformationType.PLAIN_TO_CLASS) { if (isString(value)) return value; return plainToInstance(W3cIssuer, value); } if (type === TransformationType.CLASS_TO_PLAIN) { if (isString(value)) return value; return instanceToPlain(value); } return value; }); } function IsW3cIssuer(validationOptions) { return ValidateBy({ name: "IsW3cIssuer", validator: { validate: (value) => { if (typeof value === "string") return isUri(value); if (isInstance(value, W3cIssuer)) return isUri(value.id); return false; }, defaultMessage: buildMessage((eachPrefix) => `${eachPrefix}$property must be an URI or an object with an id property which is an URI`, validationOptions) } }, validationOptions); } //#endregion export { IsW3cIssuer, W3cIssuer, W3cIssuerTransformer }; //# sourceMappingURL=W3cIssuer.mjs.map