From 1d9ba83c9a4473ef5128e72a1cca91b0e9202070 Mon Sep 17 00:00:00 2001 From: Daniel Bluhm Date: Tue, 7 Nov 2023 18:59:50 -0500 Subject: [PATCH] fix: did:peer:2 abbreviations not working quite right Signed-off-by: Daniel Bluhm --- src/lib/peer2.ts | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/src/lib/peer2.ts b/src/lib/peer2.ts index 2cf15e9..23a677a 100644 --- a/src/lib/peer2.ts +++ b/src/lib/peer2.ts @@ -114,10 +114,14 @@ export default class DIDPeer { const expanded = Object.fromEntries( Object.entries(input).map(([key, value]) => { const expandedKey = reverseCommonStringAbbreviations[key] || key - const expandedValue = - typeof value === "string" - ? reverseCommonStringAbbreviations[value] || value - : value + let expandedValue = value; + if (typeof value == "string") { + expandedValue = reverseCommonStringAbbreviations[value] || value + } else if (Array.isArray(value)) { + expandedValue = value.map((item: any) => reverseCommonStringAbbreviations[item] || item) + } else if (typeof value == "object") { + expandedValue = DIDPeer.expandCommonStringAbbreviations(expandedValue) + } return [expandedKey, expandedValue] }) ) @@ -128,10 +132,14 @@ export default class DIDPeer { const abbreviated = Object.fromEntries( Object.entries(input).map(([key, value]) => { const abbreviatedKey = commonStringAbbreviations[key] || key - const abbreviatedValue = - typeof value === "string" - ? commonStringAbbreviations[value] || value - : value + let abbreviatedValue = value + if (typeof value == "string") { + abbreviatedValue = commonStringAbbreviations[value] || value + } else if (Array.isArray(value)) { + abbreviatedValue = value.map((item: any) => commonStringAbbreviations[item] || item) + } else if (typeof value == "object") { + abbreviatedValue = DIDPeer.abbreviateCommonStrings(abbreviatedValue) + } return [abbreviatedKey, abbreviatedValue] }) )