From b98f3f2fc678290b64cd47cb6f7d57e70579a251 Mon Sep 17 00:00:00 2001 From: Jenendar Date: Sat, 19 Sep 2026 16:36:17 +0530 Subject: [PATCH] fix: update parseDefaultValue and defaultValueInitializer to handle boolean inputs --- .../boolean/BooleanFieldManagerForDto.ts | 16 +++++++++------- .../boolean/BooleanFieldManagerForEntity.ts | 18 ++++++++++-------- 2 files changed, 19 insertions(+), 15 deletions(-) diff --git a/src/code-builder/lib/field/field-managers/boolean/BooleanFieldManagerForDto.ts b/src/code-builder/lib/field/field-managers/boolean/BooleanFieldManagerForDto.ts index 21993c8..25502f6 100644 --- a/src/code-builder/lib/field/field-managers/boolean/BooleanFieldManagerForDto.ts +++ b/src/code-builder/lib/field/field-managers/boolean/BooleanFieldManagerForDto.ts @@ -57,17 +57,19 @@ export class BooleanFieldManagerForDto }; } - protected override parseDefaultValue(defaultValue: string): boolean | null { - try { - return defaultValue === 'true' ? true : false; - } - catch (e) { - // console.log(`Could not set default value ${defaultValue} for field ${this.field.name} in model ${this.modelName}`); + protected override parseDefaultValue(defaultValue: boolean | string | null | undefined): boolean | null { + if (typeof defaultValue === 'boolean') return defaultValue; + + if (typeof defaultValue === 'string') { + const normalizedDefaultValue = defaultValue.trim().toLowerCase(); + if (normalizedDefaultValue === 'true') return true; + if (normalizedDefaultValue === 'false') return false; } + return null; } - protected override defaultValueInitializer(defaultValueConfig: string): DefaultValueInitializer | null { + protected override defaultValueInitializer(defaultValueConfig: boolean | string | null | undefined): DefaultValueInitializer | null { const defaultValue = this.parseDefaultValue(defaultValueConfig) ?? false; return { value : defaultValue, diff --git a/src/code-builder/lib/field/field-managers/boolean/BooleanFieldManagerForEntity.ts b/src/code-builder/lib/field/field-managers/boolean/BooleanFieldManagerForEntity.ts index 6457658..702406c 100644 --- a/src/code-builder/lib/field/field-managers/boolean/BooleanFieldManagerForEntity.ts +++ b/src/code-builder/lib/field/field-managers/boolean/BooleanFieldManagerForEntity.ts @@ -33,17 +33,19 @@ export class BooleanFieldManagerForEntity return options; } - protected override parseDefaultValue(defaultValue: string): boolean | null { - try { - return defaultValue === 'true' ? true : false; - } - catch (e) { - // console.log(`Could not set default value ${defaultValue} for field ${this.field.name} in model ${this.modelName}`); + protected override parseDefaultValue(defaultValue: boolean | string | null | undefined): boolean | null { + if (typeof defaultValue === 'boolean') return defaultValue; + + if (typeof defaultValue === 'string') { + const normalizedDefaultValue = defaultValue.trim().toLowerCase(); + if (normalizedDefaultValue === 'true') return true; + if (normalizedDefaultValue === 'false') return false; } + return null; } - protected override defaultValueInitializer(defaultValueConfig: string): DefaultValueInitializer | null { + protected override defaultValueInitializer(defaultValueConfig: boolean | string | null | undefined): DefaultValueInitializer | null { const defaultValue = this.parseDefaultValue(defaultValueConfig) ?? false; return { value: defaultValue, @@ -51,4 +53,4 @@ export class BooleanFieldManagerForEntity expression: defaultValue ? ts.factory.createTrue() : ts.factory.createFalse() }; } -} \ No newline at end of file +}