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

65 lines (64 loc) • 3.04 kB
import { CredoError } from "../../error/CredoError.mjs"; import "../../error/index.mjs"; //#region src/modules/w3c-di/W3cDataIntegrityError.ts let W3cDataIntegrityProcessingErrorCode = /* @__PURE__ */ function(W3cDataIntegrityProcessingErrorCode) { W3cDataIntegrityProcessingErrorCode["ParsingError"] = "https://www.w3.org/ns/credentials#PARSING_ERROR"; W3cDataIntegrityProcessingErrorCode["ProofGenerationError"] = "https://w3id.org/security#PROOF_GENERATION_ERROR"; W3cDataIntegrityProcessingErrorCode["ProofVerificationError"] = "https://w3id.org/security#PROOF_VERIFICATION_ERROR"; W3cDataIntegrityProcessingErrorCode["ProofTransformationError"] = "https://w3id.org/security#PROOF_TRANSFORMATION_ERROR"; W3cDataIntegrityProcessingErrorCode["InvalidDomainError"] = "https://w3id.org/security#INVALID_DOMAIN_ERROR"; W3cDataIntegrityProcessingErrorCode["InvalidChallengeError"] = "https://w3id.org/security#INVALID_CHALLENGE_ERROR"; return W3cDataIntegrityProcessingErrorCode; }({}); var W3cDataIntegrityProcessingError = class extends CredoError { constructor(code, title, detail) { super(title); this.issue = createIssue(code, title, detail); } }; function createIssue(code, title, detail) { return { type: code, title, detail }; } function createProofVerificationIssue(title, detail) { return createIssue("https://w3id.org/security#PROOF_VERIFICATION_ERROR", title, detail); } function createInvalidResult(issue, additionalIssues = []) { return { verified: false, verifiedDocument: null, mediaType: null, errors: [issue, ...additionalIssues] }; } const DEFAULT_VERIFICATION_FAILURE_MESSAGE = "Data Integrity proof verification failed"; function formatIssueSummary(error) { return `[${error.type}] ${error.title}`; } function formatIssueDetail(error) { return error.detail ? `${formatIssueSummary(error)}: ${error.detail}` : formatIssueSummary(error); } function formatW3cDataIntegrityIssueSummary(errors) { return errors.map(formatIssueSummary).join("\n"); } function formatW3cDataIntegrityIssueDetail(errors) { return errors.map(formatIssueDetail).join("\n") || DEFAULT_VERIFICATION_FAILURE_MESSAGE; } function createW3cDataIntegrityCredoError(errors) { const message = formatW3cDataIntegrityIssueDetail(errors); if (errors.length === 0) return new CredoError(message); const cause = new CredoError(`Data Integrity processing issues: ${formatW3cDataIntegrityIssueSummary(errors)}`); return new CredoError(message, { cause }); } function assertCreated(result) { if (!result.created) throw createW3cDataIntegrityCredoError(result.errors); } function assertVerified(result) { if (!result.verified) throw createW3cDataIntegrityCredoError(result.errors); } //#endregion export { W3cDataIntegrityProcessingError, W3cDataIntegrityProcessingErrorCode, assertCreated, assertVerified, createInvalidResult, createIssue, createProofVerificationIssue, createW3cDataIntegrityCredoError, formatW3cDataIntegrityIssueDetail, formatW3cDataIntegrityIssueSummary }; //# sourceMappingURL=W3cDataIntegrityError.mjs.map