From b8b1092d4c00362847afd2ef4e2e5ce2752f9134 Mon Sep 17 00:00:00 2001 From: Anna Dingler Date: Fri, 21 Jun 2024 14:51:52 -0700 Subject: [PATCH 1/2] WIP: update qualified name --- source/nodejs/adaptivecards-designer/src/data.ts | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/source/nodejs/adaptivecards-designer/src/data.ts b/source/nodejs/adaptivecards-designer/src/data.ts index 0fa0ed0fff..a9cce3ef38 100644 --- a/source/nodejs/adaptivecards-designer/src/data.ts +++ b/source/nodejs/adaptivecards-designer/src/data.ts @@ -302,9 +302,17 @@ export class FieldDefinition { let forceIndexerSyntax: boolean = false; for (let i = path.length - 1; i >= 0; i--) { - let qualifiedName = path[i].qualifiedName(false) + let qualifiedName = path[i].qualifiedName(false); - if (shouldUseIndexerSyntax(qualifiedName) || forceIndexerSyntax) { + let modifiedName = qualifiedName; + + // If we include `[0]` in the qualified name while determining if we should use indexer syntax, + // We could incorrectly wrap the name in [] + if (this.dataType instanceof ArrayData && qualifiedName.endsWith("[0]")) { + modifiedName = qualifiedName.substring(0, qualifiedName.length - 3); + } + + if (shouldUseIndexerSyntax(modifiedName) || forceIndexerSyntax) { qualifiedName = "['" + qualifiedName + "']"; forceIndexerSyntax = true; From 51228f5be5ca9a47860824b65bbaa496b4b8f16b Mon Sep 17 00:00:00 2001 From: Anna Dingler Date: Fri, 21 Jun 2024 15:11:58 -0700 Subject: [PATCH 2/2] Use path[i] --- source/nodejs/adaptivecards-designer/src/data.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/nodejs/adaptivecards-designer/src/data.ts b/source/nodejs/adaptivecards-designer/src/data.ts index a9cce3ef38..634430737e 100644 --- a/source/nodejs/adaptivecards-designer/src/data.ts +++ b/source/nodejs/adaptivecards-designer/src/data.ts @@ -308,7 +308,7 @@ export class FieldDefinition { // If we include `[0]` in the qualified name while determining if we should use indexer syntax, // We could incorrectly wrap the name in [] - if (this.dataType instanceof ArrayData && qualifiedName.endsWith("[0]")) { + if (path[i].dataType instanceof ArrayData && qualifiedName.endsWith("[0]")) { modifiedName = qualifiedName.substring(0, qualifiedName.length - 3); }