UNPKG

@sphereon/ssi-sdk.data-store

Version:

69 lines 3.16 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.statusListFrom = exports.statusListEntityFrom = void 0; const StatusListEntities_1 = require("../../entities/statusList/StatusListEntities"); const ssi_types_1 = require("@sphereon/ssi-types"); const FormattingUtils_1 = require("../FormattingUtils"); const statusListEntityFrom = (args) => { if (args.type === ssi_types_1.StatusListType.StatusList2021) { const entity = new StatusListEntities_1.StatusList2021Entity(); const sl2021 = args; entity.indexingDirection = sl2021.indexingDirection; entity.statusPurpose = sl2021.statusPurpose; setBaseFields(entity, args); Object.defineProperty(entity, 'type', { value: ssi_types_1.StatusListType.StatusList2021, enumerable: true, configurable: true, }); return entity; } if (args.type === ssi_types_1.StatusListType.OAuthStatusList) { const entity = new StatusListEntities_1.OAuthStatusListEntity(); const oauthSl = args; entity.bitsPerStatus = oauthSl.bitsPerStatus; entity.expiresAt = oauthSl.expiresAt; setBaseFields(entity, args); Object.defineProperty(entity, 'type', { value: ssi_types_1.StatusListType.OAuthStatusList, enumerable: true, configurable: true, }); return entity; } throw new Error(`Invalid status list type ${args.type}`); }; exports.statusListEntityFrom = statusListEntityFrom; const statusListFrom = (entity) => { if (entity instanceof StatusListEntities_1.StatusList2021Entity) { const result = Object.assign(Object.assign({}, getBaseFields(entity)), { type: ssi_types_1.StatusListType.StatusList2021, indexingDirection: entity.indexingDirection, statusPurpose: entity.statusPurpose }); return (0, FormattingUtils_1.replaceNullWithUndefined)(result); } if (entity instanceof StatusListEntities_1.OAuthStatusListEntity) { const result = Object.assign(Object.assign({}, getBaseFields(entity)), { type: ssi_types_1.StatusListType.OAuthStatusList, bitsPerStatus: entity.bitsPerStatus, expiresAt: entity.expiresAt }); return (0, FormattingUtils_1.replaceNullWithUndefined)(result); } throw new Error(`Invalid status list type ${typeof entity}`); }; exports.statusListFrom = statusListFrom; const setBaseFields = (entity, args) => { entity.id = args.id; entity.correlationId = args.correlationId; entity.length = args.length; entity.issuer = args.issuer; entity.driverType = args.driverType; entity.credentialIdMode = args.credentialIdMode; entity.proofFormat = args.proofFormat; entity.statusListCredential = args.statusListCredential; }; const getBaseFields = (entity) => ({ id: entity.id, correlationId: entity.correlationId, length: entity.length, issuer: entity.issuer, driverType: entity.driverType, credentialIdMode: entity.credentialIdMode, proofFormat: entity.proofFormat, statusListCredential: entity.statusListCredential, }); //# sourceMappingURL=MappingUtils.js.map