From 1c2ce4c76ce44eacb405ce05e4b8fa75d258135d Mon Sep 17 00:00:00 2001 From: Severin Ibarluzea Date: Mon, 2 Mar 2026 20:49:06 -0800 Subject: [PATCH] Add unitPreference to platform config --- README.md | 3 +++ generated/PROPS_OVERVIEW.md | 3 +++ lib/platformConfig.ts | 3 +++ tests/platformConfig.unitPreference.test.ts | 18 ++++++++++++++++++ 4 files changed, 27 insertions(+) create mode 100644 tests/platformConfig.unitPreference.test.ts diff --git a/README.md b/README.md index b0bc3ad..e09736d 100644 --- a/README.md +++ b/README.md @@ -1881,7 +1881,10 @@ export interface PlatformConfig { defaultSpiceEngine?: AutocompleteString<"spicey" | "ngspice">; + unitPreference?: "mm" | "in" | "mil"; + pcbDisabled?: boolean; + routingDisabled?: boolean; schematicDisabled?: boolean; partsEngineDisabled?: boolean; diff --git a/generated/PROPS_OVERVIEW.md b/generated/PROPS_OVERVIEW.md index 1976be9..fefc282 100644 --- a/generated/PROPS_OVERVIEW.md +++ b/generated/PROPS_OVERVIEW.md @@ -1620,7 +1620,10 @@ export interface PlatformConfig { defaultSpiceEngine?: AutocompleteString<"spicey" | "ngspice"> + unitPreference?: "mm" | "in" | "mil" + pcbDisabled?: boolean + routingDisabled?: boolean schematicDisabled?: boolean partsEngineDisabled?: boolean diff --git a/lib/platformConfig.ts b/lib/platformConfig.ts index 0b38ea2..c114b0e 100644 --- a/lib/platformConfig.ts +++ b/lib/platformConfig.ts @@ -69,6 +69,8 @@ export interface PlatformConfig { defaultSpiceEngine?: AutocompleteString<"spicey" | "ngspice"> + unitPreference?: "mm" | "in" | "mil" + pcbDisabled?: boolean routingDisabled?: boolean schematicDisabled?: boolean @@ -197,6 +199,7 @@ export const platformConfig = z.object({ ) .optional(), defaultSpiceEngine: defaultSpiceEngine.optional(), + unitPreference: z.enum(["mm", "in", "mil"]).optional(), localCacheEngine: z.any().optional(), pcbDisabled: z.boolean().optional(), routingDisabled: z.boolean().optional(), diff --git a/tests/platformConfig.unitPreference.test.ts b/tests/platformConfig.unitPreference.test.ts new file mode 100644 index 0000000..a583efe --- /dev/null +++ b/tests/platformConfig.unitPreference.test.ts @@ -0,0 +1,18 @@ +import { expect, test } from "bun:test" +import { platformConfig } from "lib/platformConfig" + +test("unitPreference accepts mm, in, and mil", () => { + expect(platformConfig.parse({ unitPreference: "mm" }).unitPreference).toBe( + "mm", + ) + expect(platformConfig.parse({ unitPreference: "in" }).unitPreference).toBe( + "in", + ) + expect(platformConfig.parse({ unitPreference: "mil" }).unitPreference).toBe( + "mil", + ) +}) + +test("unitPreference rejects unsupported values", () => { + expect(() => platformConfig.parse({ unitPreference: "cm" })).toThrow() +})