From 6c734d377a350a97f0980204e32c284eb40f74b8 Mon Sep 17 00:00:00 2001 From: Victor Giers Date: Sat, 2 May 2026 04:09:16 +0200 Subject: [PATCH] Add validation and normalization for foliage layer IDs --- src/document/terrains.ts | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/document/terrains.ts b/src/document/terrains.ts index 14fdc2c6..4dee645e 100644 --- a/src/document/terrains.ts +++ b/src/document/terrains.ts @@ -168,6 +168,20 @@ function normalizeTerrainCollisionEnabled(value: boolean): boolean { return value; } +function normalizeTerrainFoliageLayerId(value: string, label: string): string { + if (typeof value !== "string") { + throw new Error(`${label} must be a string.`); + } + + const trimmedValue = value.trim(); + + if (trimmedValue.length === 0) { + throw new Error(`${label} must be a non-empty string.`); + } + + return trimmedValue; +} + export function getTerrainLayerLabel(layerIndex: number): string { if (!Number.isInteger(layerIndex) || layerIndex < 0 || layerIndex >= TERRAIN_LAYER_COUNT) { throw new Error(`Terrain layer index ${layerIndex} is out of range.`);