From 537c42a821b7a4208165df746002cc53cb187072 Mon Sep 17 00:00:00 2001 From: Johnny Viel Date: Thu, 9 Mar 2023 16:05:59 -0500 Subject: [PATCH] Fixes bug where null default allows 0 as a value. --- src/idl_gen_ts.cpp | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/idl_gen_ts.cpp b/src/idl_gen_ts.cpp index af0836acf..c7371686b 100644 --- a/src/idl_gen_ts.cpp +++ b/src/idl_gen_ts.cpp @@ -1975,7 +1975,8 @@ class TsGenerator : public BaseGenerator { GenDocComment(code_ptr); code += "static " + namer_.Method("add", field); code += "(builder:flatbuffers.Builder, " + argname + ":" + - GetArgType(imports, struct_def, field, false) + ") {\n"; + GetArgType(imports, struct_def, field, /* allow null */ true) + + ") {\n"; code += " builder.addField" + GenWriteMethod(field.value.type) + "("; code += NumToString(it - struct_def.fields.vec.begin()) + ", "; if (field.value.type.base_type == BASE_TYPE_BOOL) { code += "+"; } @@ -1983,11 +1984,7 @@ class TsGenerator : public BaseGenerator { if (!IsScalar(field.value.type.base_type)) { code += "0"; } else if (HasNullDefault(field)) { - if (IsLong(field.value.type.base_type)) { - code += "BigInt(0)"; - } else { - code += "0"; - } + code += "null"; } else { if (field.value.type.base_type == BASE_TYPE_BOOL) { code += "+"; } code += GenDefaultValue(field, imports);