@sphereon/oid4vci-common
Version:
OpenID 4 Verifiable Credential Issuance Common Types
44 lines • 1.58 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getFormatForVersion = exports.getUniformFormat = exports.isNotFormat = exports.isFormat = void 0;
const types_1 = require("../types");
function isFormat(formatObject, format) {
return formatObject.format === format;
}
exports.isFormat = isFormat;
function isNotFormat(formatObject, format) {
return formatObject.format !== format;
}
exports.isNotFormat = isNotFormat;
const isUniformFormat = (format) => {
return ['jwt_vc_json', 'jwt_vc_json-ld', 'ldp_vc', 'vc+sd-jwt', 'mso_mdoc'].includes(format);
};
function getUniformFormat(format) {
// Already valid format
if (isUniformFormat(format)) {
return format;
}
// Older formats
if (format.toLocaleLowerCase() === 'jwt_vc' || format.toLocaleLowerCase() === 'jwt') {
return 'jwt_vc';
}
if (format === 'ldp_vc' || format === 'ldp') {
return 'ldp_vc';
}
throw new Error(`Invalid format: ${format}`);
}
exports.getUniformFormat = getUniformFormat;
function getFormatForVersion(format, version) {
const uniformFormat = isUniformFormat(format) ? format : getUniformFormat(format);
if (version === types_1.OpenId4VCIVersion.VER_1_0_08) {
if (uniformFormat === 'jwt_vc_json') {
return 'jwt_vc';
}
else if (uniformFormat === 'ldp_vc' || uniformFormat === 'jwt_vc_json-ld') {
return 'ldp_vc';
}
}
return uniformFormat;
}
exports.getFormatForVersion = getFormatForVersion;
//# sourceMappingURL=FormatUtils.js.map