UNPKG

@digitalcredentials/verifier-core

Version:

For verifying Verifiable Credentials in the browser, Node.js, and React Native.

80 lines (79 loc) 2.69 kB
const expectedPresentationResult = { "presentationResult": { "signature": 'valid', } }; const expectedResult = { "credential": {}, "log": [ { "id": "valid_signature", "valid": true }, { "id": "expiration", "valid": true }, { "id": "registered_issuer", "valid": true, "foundInRegistries": [ "DCC Sandbox Registry" ], "registriesNotLoaded": [] } ] }; const fatalResult = { credential: {}, errors: [ { name: 'error name goes here, e.g., no_proof', message: 'error message goes here' } ] }; const getCopyOfFatalResult = (credential, errorName, errorMessage) => { const expectedResultCopy = JSON.parse(JSON.stringify(fatalResult)); expectedResultCopy.credential = credential; expectedResultCopy.errors[0].name = errorName; expectedResultCopy.errors[0].message = errorMessage; return expectedResultCopy; }; const getCopyOfExpectedResult = (credential, withStatus) => { const expectedResultCopy = JSON.parse(JSON.stringify(expectedResult)); if (withStatus) { expectedResultCopy.log?.push({ "id": "revocation_status", "valid": true }); } expectedResultCopy.credential = credential; return expectedResultCopy; }; const getCopyOfExpectedVPResult = () => { return JSON.parse(JSON.stringify(expectedPresentationResult)); }; const getExpectedVerifiedResult = ({ credential, withStatus }) => { return getCopyOfExpectedResult(credential, withStatus); }; const getExpectedUnverifiedResult = ({ credential, unVerifiedStep, withStatus }) => { const expectedResult = getCopyOfExpectedResult(credential, withStatus); const step = expectedResult.log?.find((entry) => entry.id === unVerifiedStep); if (step) step.valid = false; return expectedResult; }; const getExpectedFatalResult = ({ credential, errorName, errorMessage }) => { const expectedResult = getCopyOfFatalResult(credential, errorName, errorMessage); return expectedResult; }; const getExpectedVerifiedPresentationResult = ({ credentialResults, unsigned = false }) => { const expectedResult = getCopyOfExpectedVPResult(); expectedResult.credentialResults = credentialResults; if (unsigned && expectedResult.presentationResult) { expectedResult.presentationResult.signature = 'unsigned'; } return expectedResult; }; export { getExpectedVerifiedResult, getExpectedUnverifiedResult, getExpectedFatalResult, getExpectedVerifiedPresentationResult };