1- import { CredentialDefinitionV1_0_13 , CredentialOfferFormat , JsonLdIssuerCredentialDefinition , VCI_LOG_COMMON } from '../index' ;
1+ import {
2+ CredentialDefinitionV1_0_13 ,
3+ CredentialOfferFormat ,
4+ CredentialOfferPayload ,
5+ JsonLdIssuerCredentialDefinition ,
6+ UniformCredentialOfferRequest ,
7+ VCI_LOG_COMMON ,
8+ } from '../index' ;
29import {
310 AuthorizationServerMetadata ,
411 CredentialConfigurationSupported ,
@@ -236,7 +243,14 @@ export function getIssuerName(
236243 * @param subject
237244 */
238245export function getTypesFromObject (
239- subject : CredentialConfigurationSupported | CredentialOfferFormat | CredentialDefinitionV1_0_13 | JsonLdIssuerCredentialDefinition | string ,
246+ subject :
247+ | CredentialConfigurationSupported
248+ | CredentialOfferFormat
249+ | CredentialOfferPayload
250+ | CredentialDefinitionV1_0_13
251+ | JsonLdIssuerCredentialDefinition
252+ | UniformCredentialOfferRequest
253+ | string ,
240254) : string [ ] | undefined {
241255 if ( subject === undefined ) {
242256 return undefined ;
@@ -250,6 +264,10 @@ export function getTypesFromObject(
250264 return Array . isArray ( subject . type ) ? subject . type : [ subject . type ] ;
251265 } else if ( 'vct' in subject && subject . vct ) {
252266 return [ subject . vct ] ;
267+ } else if ( 'credentials' in subject && subject . credentials ) {
268+ return getTypesFromObject ( subject . credentials ) ;
269+ } else if ( 'credential_offer' in subject && subject . credential_offer ) {
270+ return getTypesFromObject ( subject . credential_offer ) ;
253271 }
254272
255273 VCI_LOG_COMMON . warning ( 'Could not deduce credential types. Probably a failure down the line will happen!' ) ;
0 commit comments