)]}'
{
  "commit": "f837a7805719b37a2b5b5db9e81ee49553057ff3",
  "tree": "5efe868db78474da483eca875ae35cf95009e35b",
  "parents": [
    "a8a02f77480d10c5dc90d39f7b890bc1dff9c1b9"
  ],
  "author": {
    "name": "Daniel Lemire",
    "email": "daniel@lemire.me",
    "time": "Mon Sep 14 23:36:49 2026"
  },
  "committer": {
    "name": "Daniel Lemire",
    "email": "daniel@lemire.me",
    "time": "Mon Sep 14 23:36:49 2026"
  },
  "message": "Add chars_format::javascript (ECMAScript DecimalLiteral)\n\nThe JSON format rejects leading zeros, which JavaScript also rejects,\nbut it further requires digits on both sides of the decimal point,\nwhich JavaScript does not: \".5\", \"5.\" and \"5.e3\" are all valid\nDecimalLiteral productions. Users lexing JavaScript therefore could not\nuse chars_format::json and had to re-check the integer span themselves\nafter a general-mode parse.\n\nchars_format::javascript is general mode plus the leading-zero rule\n(reported as leading_zeros_in_integer_part), with no_infnan. It is a\nruntime check on the format, like fortran, so it reuses the existing\nparse_number_string\u003cfalse\u003e instantiation. A leading minus sign is\naccepted, and a leading plus sign with allow_leading_plus.\n\nClaude-Session: https://claude.ai/code/session_01KbAWRBpE3MPy5cXECc5vWZ\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c7cae9ed71d7bc6cee9a61260586851d3a673e2f",
      "old_mode": 33188,
      "old_path": "README.md",
      "new_id": "e315f1317c03c5fdaba2783bebd9b2619d7e7f3c",
      "new_mode": 33188,
      "new_path": "README.md"
    },
    {
      "type": "modify",
      "old_id": "ba6983b8df33844010663d76918de41648b608bc",
      "old_mode": 33188,
      "old_path": "include/fast_float/ascii_number.h",
      "new_id": "533c2e3dc1b5ccce94d7eb863db4123307c1f141",
      "new_mode": 33188,
      "new_path": "include/fast_float/ascii_number.h"
    },
    {
      "type": "modify",
      "old_id": "2fc3549629b39a6fd6d54d896a627c3bdac046ff",
      "old_mode": 33188,
      "old_path": "include/fast_float/float_common.h",
      "new_id": "5a35703096a62cb69b32725faca8730e69433903",
      "new_mode": 33188,
      "new_path": "include/fast_float/float_common.h"
    },
    {
      "type": "modify",
      "old_id": "57d8c3425cba3c422ffc207f9b8669d4bece3d17",
      "old_mode": 33188,
      "old_path": "tests/BUILD.bazel",
      "new_id": "7c56f64140fd38ffee4f5d938afe279edb319fd6",
      "new_mode": 33188,
      "new_path": "tests/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "f8cc1340f23325f8b759a813fdc9274ca8c71858",
      "old_mode": 33188,
      "old_path": "tests/CMakeLists.txt",
      "new_id": "a9926d10c058d48d085c2d904f0faa39a617d940",
      "new_mode": 33188,
      "new_path": "tests/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "22956c3d540a36d64ce60691044a64a67a0be0ba",
      "new_mode": 33188,
      "new_path": "tests/javascript_fmt.cpp"
    }
  ]
}
