@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
JavaScript
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