Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | 84x 141x 141x 129x 129x 12x 12x | import parseV1 from './parseV1';
import parseV2 from './parseV2';
import parseV3 from './parseV3';
import type { Issuer } from '../models/Issuer';
import type { Blockcerts } from '../models/Blockcerts';
import type { SignatureImage } from '../models';
import type { BlockcertsVersion } from './helpers/retrieveBlockcertsVersion';
import { retrieveBlockcertsVersion } from './helpers/retrieveBlockcertsVersion';
import type { BlockcertsV3Display } from '../models/BlockcertsV3';
export const versionParserMap = {
1: parseV1,
2: parseV2,
3: parseV3
};
export interface ParsedCertificate {
certificateImage?: string;
description?: string;
display?: BlockcertsV3Display;
expires?: string;
id: string;
isFormatValid?: boolean;
error?: string;
issuedOn?: string;
validFrom?: string;
issuer: Issuer;
metadataJson?: string;
name?: string;
recipientFullName?: string;
recordLink?: string;
revocationKey?: string;
sealImage?: string;
signature?: string;
signatureImage?: SignatureImage[];
subtitle?: string;
}
export {
retrieveBlockcertsVersion
};
export default async function parseJSON (certificateJson: Blockcerts, locale: string = ''): Promise<ParsedCertificate> {
try {
const blockcertsVersion: BlockcertsVersion = retrieveBlockcertsVersion(certificateJson['@context']);
const parsedCertificate = await versionParserMap[blockcertsVersion.versionNumber](certificateJson, locale);
parsedCertificate.isFormatValid = true;
return parsedCertificate;
} catch (error) {
console.error(error);
return {
isFormatValid: false,
error: error.message
} as ParsedCertificate;
}
}
|