)]}'
{
  "commit": "3211f857d13ffe75d44f3d9b3e804e8a50dfdb6e",
  "tree": "7139baeed9ffc8badc2015e95c2746568a30190f",
  "parents": [
    "95ff1f1d803ba52235fd827218bfdd606327abeb"
  ],
  "author": {
    "name": "Iñaki Baz Castillo",
    "email": "ibc@aliax.net",
    "time": "Wed Feb 04 13:37:41 2026 +0100"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed Feb 04 13:37:41 2026 +0100"
  },
  "message": "Add --ts-undefined-for-optionals command line option (#8861)\n\n* Add --ts-undefined-for-optionals command line option\n\n# Details\n\n- Fixes #7656\n- Added a new `--ts-undefined-for-optionals` command line option for `flatc`.\n- If enabled, generated TypeScript code uses `undefined` for optional fields rather than `null`.\n\n* Also add TS generated test files\n\n* Run `sh scripts/clang-format-git.sh`\n\n* also add tests/ts/lalala-options.ts to the repo\n\n* move new tests to tests/ts/optional_values dir\n\n* add tests/ts/optional_values/optional_values_generated.cjs to the repo\n\n* reuse existing optional_scalars.fbs and add new test\n\n* add comma\n\n* sh scripts/clang-format-git.sh\n\n* remove comma\n\n* sh scripts/clang-format-git.sh\n\n* trying things\n\n* sh scripts/clang-format-git.sh\n\n* done\n\n* address feedback\n\n* sh scripts/clang-format-git.sh\n\n* run `sh scripts/clang-format-git.sh`\n\n* remove uneeded `eslint-disable @typescript-eslint/no-namespace` line\n\n---------\n\nCo-authored-by: José Luis Millán \u003cjmillan@aliax.net\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "3e35b48be2c84b4672ed79cdc4ae7df8e76e0a30",
      "old_mode": 33188,
      "old_path": "include/flatbuffers/idl.h",
      "new_id": "5a63fa75a78f498bb52763dabab0dfa3c77eb4a0",
      "new_mode": 33188,
      "new_path": "include/flatbuffers/idl.h"
    },
    {
      "type": "modify",
      "old_id": "4bb590b5f0d56b03ac16e102936b1f7c68c3103e",
      "old_mode": 33188,
      "old_path": "src/flatc.cpp",
      "new_id": "6a5708574aa8dd1d158de19c896d58dd5e58f50b",
      "new_mode": 33188,
      "new_path": "src/flatc.cpp"
    },
    {
      "type": "modify",
      "old_id": "7d3a00d6c2c9742326debc35331743b5f05ff8d4",
      "old_mode": 33188,
      "old_path": "src/idl_gen_swift.cpp",
      "new_id": "0f519b2490f9194d2fc9101ce376fd0db69a9198",
      "new_mode": 33188,
      "new_path": "src/idl_gen_swift.cpp"
    },
    {
      "type": "modify",
      "old_id": "14f366a83e8c48ec656744378b9e729fc467b35b",
      "old_mode": 33188,
      "old_path": "src/idl_gen_ts.cpp",
      "new_id": "923bca9d99e2ee6bebf31a2bfbc7ebcdba3f8d99",
      "new_mode": 33188,
      "new_path": "src/idl_gen_ts.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6cbd283712ce17278f87ed5fbcf350640855a52d",
      "new_mode": 33188,
      "new_path": "tests/ts/JavaScriptUndefinedForOptionals.js"
    },
    {
      "type": "modify",
      "old_id": "a12bc25ab5bfe4e658bafc4a99a36365980e40d7",
      "old_mode": 33261,
      "old_path": "tests/ts/TypeScriptTest.py",
      "new_id": "6870ff99557e4c4aa19753bca39079f08836e53d",
      "new_mode": 33261,
      "new_path": "tests/ts/TypeScriptTest.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "aba7511a416bbaf240ea6dd027ab67a4f1845bb0",
      "new_mode": 33188,
      "new_path": "tests/ts/ts-undefined-for-optionals/optional-scalars.ts"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9bb66a9bc14d3f623b7a1bf611d1858c4df0ae97",
      "new_mode": 33188,
      "new_path": "tests/ts/ts-undefined-for-optionals/optional-scalars/optional-byte.ts"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "448b9d6b664cfd392a0dbb7f6a14eea52bb56289",
      "new_mode": 33188,
      "new_path": "tests/ts/ts-undefined-for-optionals/optional-scalars/scalar-stuff.ts"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3805ab68c83cf10ccead31d03e891cb777eecb96",
      "new_mode": 33188,
      "new_path": "tests/ts/ts-undefined-for-optionals/optional_scalars.ts"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3997f008179dd031e44509654a9e1da9d9ce604a",
      "new_mode": 33188,
      "new_path": "tests/ts/ts-undefined-for-optionals/optional_scalars_generated.cjs"
    },
    {
      "type": "modify",
      "old_id": "54a95ab04c95fa1f1fc1272ac208ef8927855d0b",
      "old_mode": 33188,
      "old_path": "ts/builder.ts",
      "new_id": "25557727d29ca52b7b06b3f9819ef17f7aec04f5",
      "new_mode": 33188,
      "new_path": "ts/builder.ts"
    },
    {
      "type": "modify",
      "old_id": "e6d71c0944198e94b8b0ebdfdea19b23a1765ba2",
      "old_mode": 33188,
      "old_path": "ts/flexbuffers.ts",
      "new_id": "0fdc0955d538fc386e4587cc3ce80b0140ffc47f",
      "new_mode": 33188,
      "new_path": "ts/flexbuffers.ts"
    }
  ]
}
