@@ -644,20 +644,20 @@ export function toDidDocument(
644
644
...( ( opts ?. use === undefined || opts ?. use ?. includes ( JwkKeyUse . Signature ) ) &&
645
645
identifier . keys && {
646
646
assertionMethod : identifier . keys
647
- . filter ( ( key ) => key ?. meta ?. purpose === undefined || key ?. meta ?. purpose === 'assertionMethod' )
647
+ . filter ( ( key ) => key ?. meta ?. purpose === undefined || key ?. meta ?. purpose === 'assertionMethod' || key ?. meta ?. purpose ?. includes ( 'assertionMethod' ) )
648
648
. map ( ( key ) => {
649
649
return `${ did } #${ key . kid } `
650
650
} ) ,
651
651
authentication : identifier . keys
652
- . filter ( ( key ) => key ?. meta ?. purpose === undefined || key ?. meta ?. purpose === 'authentication' )
652
+ . filter ( ( key ) => key ?. meta ?. purpose === undefined || key ?. meta ?. purpose === 'authentication' || key ?. meta ?. purpose ?. includes ( 'authentication' ) )
653
653
. map ( ( key ) => {
654
654
return `${ did } #${ key . kid } `
655
655
} ) ,
656
656
} ) ,
657
657
...( ( opts ?. use === undefined || opts ?. use ?. includes ( JwkKeyUse . Encryption ) ) &&
658
658
identifier . keys && {
659
659
keyAgreement : identifier . keys
660
- . filter ( ( key ) => key . type === 'X25519' || key ?. meta ?. purpose === 'keyAgreement' )
660
+ . filter ( ( key ) => key . type === 'X25519' || key ?. meta ?. purpose === 'keyAgreement' || key ?. meta ?. purpose ?. includes ( 'keyAgreement' ) )
661
661
. map ( ( key ) => {
662
662
if ( key . kid . startsWith ( did ) && key . kid . includes ( '#' ) ) {
663
663
return key . kid
@@ -667,7 +667,7 @@ export function toDidDocument(
667
667
} &&
668
668
identifier . keys && {
669
669
capabilityInvocation : identifier . keys
670
- . filter ( ( key ) => key . type === 'X25519' || key ?. meta ?. purpose === 'capabilityInvocation' )
670
+ . filter ( ( key ) => key . type === 'X25519' || key ?. meta ?. purpose === 'capabilityInvocation' || key ?. meta ?. purpose ?. includes ( 'capabilityInvocation' ) )
671
671
. map ( ( key ) => {
672
672
if ( key . kid . startsWith ( did ) && key . kid . includes ( '#' ) ) {
673
673
return key . kid
@@ -677,7 +677,7 @@ export function toDidDocument(
677
677
} &&
678
678
identifier . keys && {
679
679
capabilityDelegation : identifier . keys
680
- . filter ( ( key ) => key . type === 'X25519' || key ?. meta ?. purpose === 'capabilityDelegation' )
680
+ . filter ( ( key ) => key . type === 'X25519' || key ?. meta ?. purpose === 'capabilityDelegation' || key ?. meta ?. purpose ?. includes ( 'capabilityDelegation' ) )
681
681
. map ( ( key ) => {
682
682
if ( key . kid . startsWith ( did ) && key . kid . includes ( '#' ) ) {
683
683
return key . kid
0 commit comments