diff --git a/lib/config/builder/value.ts b/lib/config/builder/value.ts
index 7f442be..cca028b 100644
--- a/lib/config/builder/value.ts
+++ b/lib/config/builder/value.ts
@@ -145,6 +145,7 @@ export class Value extends IBuilder {
name: string;
description: string | null;
warning: string | null;
+ selectKey: string;
variants: Variants<{ [key: string]: { name: string; spec: InputSpec } }>;
nullable: boolean;
default: string | null;
diff --git a/lib/config/config-types.ts b/lib/config/config-types.ts
index 5dfbb62..ce4df9c 100644
--- a/lib/config/config-types.ts
+++ b/lib/config/config-types.ts
@@ -66,6 +66,7 @@ export interface ValueSpecBoolean extends WithStandalone {
export interface ValueSpecUnion extends WithStandalone {
type: "union";
+ selectKey: string;
nullable: boolean;
variants: Record;
}
diff --git a/scripts/oldSpecToBuilder.ts b/scripts/oldSpecToBuilder.ts
index 093e772..b6f1398 100644
--- a/scripts/oldSpecToBuilder.ts
+++ b/scripts/oldSpecToBuilder.ts
@@ -136,13 +136,14 @@ export default async function makeFileContent(
case "union": {
const variants = newConst(
value.name + "_variants",
- convertVariants(value.variants, value["variant-names"] || {})
+ convertVariants(value.variants, value.tag["variant-names"] || {})
);
return `Value.union({
name: ${JSON.stringify(value.name || null)},
- description: ${JSON.stringify(value.description || null)},
- warning: ${JSON.stringify(value.warning || null)},
+ description: ${JSON.stringify(value.tag.description || null)},
+ warning: ${JSON.stringify(value.tag.warning || null)},
+ selectKey: ${JSON.stringify(value.tag.id || null)},
nullable: false,
default: ${JSON.stringify(value.default || null)},
variants: ${variants},