@learncard/learn-card-plugin 1.2.17 → 1.2.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/learn-card-plugin.cjs.development.js +64 -7
- package/dist/learn-card-plugin.cjs.development.js.map +2 -2
- package/dist/learn-card-plugin.cjs.production.min.js +1 -1
- package/dist/learn-card-plugin.cjs.production.min.js.map +3 -3
- package/dist/learn-card-plugin.esm.js +67 -8
- package/dist/learn-card-plugin.esm.js.map +2 -2
- package/dist/test/verify.test.d.ts +2 -0
- package/dist/test/verify.test.d.ts.map +1 -0
- package/dist/verify.d.ts.map +1 -1
- package/package.json +4 -4
|
@@ -1717,11 +1717,67 @@ function cleanEscapedString(input) {
|
|
|
1717
1717
|
__name(cleanEscapedString, "cleanEscapedString");
|
|
1718
1718
|
|
|
1719
1719
|
// src/verify.ts
|
|
1720
|
-
var
|
|
1720
|
+
var STATUS_CHECKS = /* @__PURE__ */ new Set(["status", "credentialStatus"]);
|
|
1721
|
+
var isStatusCheck = /* @__PURE__ */ __name((check) => STATUS_CHECKS.has(check), "isStatusCheck");
|
|
1722
|
+
var getStatusPurposeLabel = /* @__PURE__ */ __name((statusPurpose) => {
|
|
1723
|
+
switch (statusPurpose) {
|
|
1724
|
+
case "revocation":
|
|
1725
|
+
return "Revocation";
|
|
1726
|
+
case "suspension":
|
|
1727
|
+
return "Suspension";
|
|
1728
|
+
default:
|
|
1729
|
+
return statusPurpose.replace(/([a-z])([A-Z])/g, "$1 $2").replace(/[-_]+/g, " ").replace(/\s+/g, " ").trim().replace(/\b\w/g, (letter) => letter.toUpperCase());
|
|
1730
|
+
}
|
|
1731
|
+
}, "getStatusPurposeLabel");
|
|
1732
|
+
var getClearStatusMessage = /* @__PURE__ */ __name((statusPurpose) => {
|
|
1733
|
+
switch (statusPurpose) {
|
|
1734
|
+
case "revocation":
|
|
1735
|
+
return "Not Revoked";
|
|
1736
|
+
case "suspension":
|
|
1737
|
+
return "Not Suspended";
|
|
1738
|
+
default:
|
|
1739
|
+
return `${getStatusPurposeLabel(statusPurpose)} Clear`;
|
|
1740
|
+
}
|
|
1741
|
+
}, "getClearStatusMessage");
|
|
1742
|
+
var getSetStatusMessage = /* @__PURE__ */ __name((statusPurpose) => {
|
|
1743
|
+
switch (statusPurpose) {
|
|
1744
|
+
case "revocation":
|
|
1745
|
+
return "Revoked";
|
|
1746
|
+
case "suspension":
|
|
1747
|
+
return "Suspended";
|
|
1748
|
+
default:
|
|
1749
|
+
return `${getStatusPurposeLabel(statusPurpose)} Set`;
|
|
1750
|
+
}
|
|
1751
|
+
}, "getSetStatusMessage");
|
|
1752
|
+
var getUniqueStatusPurposes = /* @__PURE__ */ __name((statuses) => [
|
|
1753
|
+
...new Set(statuses.map((status) => status.statusPurpose))
|
|
1754
|
+
], "getUniqueStatusPurposes");
|
|
1755
|
+
var transformStatusCheckMessage = /* @__PURE__ */ __name((statusEntries = []) => {
|
|
1756
|
+
const setStatuses = statusEntries.filter((status) => status.isSet);
|
|
1757
|
+
if (setStatuses.length > 0) {
|
|
1758
|
+
return getUniqueStatusPurposes(setStatuses).map(getSetStatusMessage).join(", ");
|
|
1759
|
+
}
|
|
1760
|
+
const clearPurposes = getUniqueStatusPurposes(statusEntries);
|
|
1761
|
+
if (clearPurposes.length === 1) return getClearStatusMessage(clearPurposes[0]);
|
|
1762
|
+
return "Active";
|
|
1763
|
+
}, "transformStatusCheckMessage");
|
|
1764
|
+
var getStatusErrorMessage = /* @__PURE__ */ __name((error, verificationCheck) => {
|
|
1765
|
+
if (/credential is revoked/i.test(error)) return "Status: Revoked";
|
|
1766
|
+
if (/credential is suspended/i.test(error)) return "Status: Suspended";
|
|
1767
|
+
const statusPurpose = error.match(/credential status is set for purpose:\s*([^.]+)/i)?.[1];
|
|
1768
|
+
if (statusPurpose) return `Status: ${getSetStatusMessage(statusPurpose.trim())}`;
|
|
1769
|
+
if (!/status/i.test(error)) return;
|
|
1770
|
+
const setStatuses = verificationCheck?.status?.filter((status) => status.isSet) ?? [];
|
|
1771
|
+
if (setStatuses.length > 0) return `Status: ${transformStatusCheckMessage(setStatuses)}`;
|
|
1772
|
+
}, "getStatusErrorMessage");
|
|
1773
|
+
var transformErrorCheck = /* @__PURE__ */ __name((error, _credential, verificationCheck) => {
|
|
1774
|
+
if (getStatusErrorMessage(error, verificationCheck)) return "status";
|
|
1721
1775
|
const prefix = error.split(" error")[0];
|
|
1722
1776
|
return prefix || error;
|
|
1723
1777
|
}, "transformErrorCheck");
|
|
1724
|
-
var transformErrorMessage = /* @__PURE__ */ __name((error, credential) => {
|
|
1778
|
+
var transformErrorMessage = /* @__PURE__ */ __name((error, credential, verificationCheck) => {
|
|
1779
|
+
const statusErrorMessage = getStatusErrorMessage(error, verificationCheck);
|
|
1780
|
+
if (statusErrorMessage) return statusErrorMessage;
|
|
1725
1781
|
if (error.startsWith("expiration")) {
|
|
1726
1782
|
return credential.expirationDate ? `Expired ${format(new Date(credential.expirationDate), "dd MMM yyyy").toUpperCase()}` : "Expired";
|
|
1727
1783
|
}
|
|
@@ -1732,7 +1788,8 @@ var transformWarningCheck = /* @__PURE__ */ __name((warning, _credential) => {
|
|
|
1732
1788
|
const prefix = warning.split(" warning")[0];
|
|
1733
1789
|
return prefix || warning;
|
|
1734
1790
|
}, "transformWarningCheck");
|
|
1735
|
-
var transformCheckMessage = /* @__PURE__ */ __name((check, credential) => {
|
|
1791
|
+
var transformCheckMessage = /* @__PURE__ */ __name((check, credential, verificationCheck) => {
|
|
1792
|
+
if (isStatusCheck(check)) return transformStatusCheckMessage(verificationCheck.status);
|
|
1736
1793
|
return {
|
|
1737
1794
|
proof: "Valid",
|
|
1738
1795
|
expiration: credential.expirationDate ? `Expires ${format(
|
|
@@ -1749,8 +1806,8 @@ var verifyCredential = /* @__PURE__ */ __name((learnCard) => {
|
|
|
1749
1806
|
rawVerificationCheck.errors.forEach((error) => {
|
|
1750
1807
|
verificationItems.push({
|
|
1751
1808
|
status: import_types.VerificationStatusEnum.Failed,
|
|
1752
|
-
check: transformErrorCheck(error, credential),
|
|
1753
|
-
details: transformErrorMessage(error, credential)
|
|
1809
|
+
check: transformErrorCheck(error, credential, rawVerificationCheck),
|
|
1810
|
+
details: transformErrorMessage(error, credential, rawVerificationCheck)
|
|
1754
1811
|
});
|
|
1755
1812
|
});
|
|
1756
1813
|
rawVerificationCheck.warnings.forEach((warning) => {
|
|
@@ -1763,8 +1820,8 @@ var verifyCredential = /* @__PURE__ */ __name((learnCard) => {
|
|
|
1763
1820
|
rawVerificationCheck.checks.forEach((check) => {
|
|
1764
1821
|
verificationItems.push({
|
|
1765
1822
|
status: import_types.VerificationStatusEnum.Success,
|
|
1766
|
-
check,
|
|
1767
|
-
message: transformCheckMessage(check, credential)
|
|
1823
|
+
check: isStatusCheck(check) ? "status" : check,
|
|
1824
|
+
message: transformCheckMessage(check, credential, rawVerificationCheck)
|
|
1768
1825
|
});
|
|
1769
1826
|
});
|
|
1770
1827
|
return verificationItems;
|