From 78eaa9997aa378f687c754046abffa76b538258c Mon Sep 17 00:00:00 2001 From: Jad Dayoub Date: Fri, 7 Aug 2026 15:13:25 +0200 Subject: [PATCH 01/16] Add JSROOT test for types/set/fundamental --- jsroot/jsroot_reader.mjs | 20 ++++++++++++++++++++ jsroot/types/set/README.md | 3 +++ jsroot/types/set/fundamental/read.mjs | 10 ++++++++++ 3 files changed, 33 insertions(+) create mode 100644 jsroot/types/set/README.md create mode 100644 jsroot/types/set/fundamental/read.mjs diff --git a/jsroot/jsroot_reader.mjs b/jsroot/jsroot_reader.mjs index daffa75..3b6c061 100644 --- a/jsroot/jsroot_reader.mjs +++ b/jsroot/jsroot_reader.mjs @@ -98,3 +98,23 @@ export function floatToHex(num) { return (sign ? "-" : "") + "0x" + leading + frac + "p" + expStr; } + +export function sortArrayOfNumbers(arr) { + return arr.sort((a, b) => a - b); +} + +export function sortDeep(obj) { + sortArrayOfNumbers(obj); // sort nums inside array + + obj.forEach((value) => { if (Array.isArray(value)) sortArrayOfNumbers(value); }); // sort elements inside inner array + + obj.sort((a, b) => { + const len = Math.min(a.length, b.length); + for (let i = 0; i < len; i++) { + if (a[i] !== b[i]) return a[i] - b[i]; + } + return a.length - b.length; + }); + + return obj; +} diff --git a/jsroot/types/set/README.md b/jsroot/types/set/README.md new file mode 100644 index 0000000..8b50d19 --- /dev/null +++ b/jsroot/types/set/README.md @@ -0,0 +1,3 @@ +# `std::set` + + * [`fundamental`](fundamental): `std::set` diff --git a/jsroot/types/set/fundamental/read.mjs b/jsroot/types/set/fundamental/read.mjs new file mode 100644 index 0000000..39855fa --- /dev/null +++ b/jsroot/types/set/fundamental/read.mjs @@ -0,0 +1,10 @@ +import { read, sortArrayOfNumbers } from "../../../jsroot_reader.mjs"; + +const fields = ["Index32", "Index64", "SplitIndex32", "SplitIndex64"]; + +const [ + input = "types.set.fundamental.root", + output = "types.set.fundamental.json", +] = process.argv.slice(2); + +read(input, output, fields, sortArrayOfNumbers); From 6d961bc8292bce6c8cb8c77efa2a930fdb06fd06 Mon Sep 17 00:00:00 2001 From: Jad Dayoub Date: Fri, 7 Aug 2026 15:13:50 +0200 Subject: [PATCH 02/16] Add JSROOT test for types/set/nested --- jsroot/types/set/README.md | 1 + jsroot/types/set/nested/read.mjs | 8 ++++++++ 2 files changed, 9 insertions(+) create mode 100644 jsroot/types/set/nested/read.mjs diff --git a/jsroot/types/set/README.md b/jsroot/types/set/README.md index 8b50d19..59141d6 100644 --- a/jsroot/types/set/README.md +++ b/jsroot/types/set/README.md @@ -1,3 +1,4 @@ # `std::set` * [`fundamental`](fundamental): `std::set` + * [`nested`](nested): `std::set>` diff --git a/jsroot/types/set/nested/read.mjs b/jsroot/types/set/nested/read.mjs new file mode 100644 index 0000000..fc15f97 --- /dev/null +++ b/jsroot/types/set/nested/read.mjs @@ -0,0 +1,8 @@ +import { read, sortDeep } from "../../../jsroot_reader.mjs"; + +const fields = ["Index32", "Index64", "SplitIndex32", "SplitIndex64"]; + +const [input = "types.set.nested.root", output = "types.set.nested.json"] = + process.argv.slice(2); + +read(input, output, fields, sortDeep); From ea1a685d3e6c9aea01a5280d75cc916413838739 Mon Sep 17 00:00:00 2001 From: Jad Dayoub Date: Fri, 7 Aug 2026 15:14:16 +0200 Subject: [PATCH 03/16] Add JSROOT test for types/map/fundamental --- jsroot/jsroot_reader.mjs | 14 ++++++++++++++ jsroot/types/map/README.md | 3 +++ jsroot/types/map/fundamental/read.mjs | 10 ++++++++++ 3 files changed, 27 insertions(+) create mode 100644 jsroot/types/map/README.md create mode 100644 jsroot/types/map/fundamental/read.mjs diff --git a/jsroot/jsroot_reader.mjs b/jsroot/jsroot_reader.mjs index 3b6c061..6a5fd8e 100644 --- a/jsroot/jsroot_reader.mjs +++ b/jsroot/jsroot_reader.mjs @@ -118,3 +118,17 @@ export function sortDeep(obj) { return obj; } + +export function pairArrayToMap(arr) { + // sort by key + arr.sort((a, b) => + String(a.first).localeCompare(String(b.first)), + ); + + return Object.fromEntries( + arr.map((p) => [ + p.first, + Array.isArray(p.second) ? pairArrayToMap(p.second) : p.second, + ]), + ); +} diff --git a/jsroot/types/map/README.md b/jsroot/types/map/README.md new file mode 100644 index 0000000..795a6cb --- /dev/null +++ b/jsroot/types/map/README.md @@ -0,0 +1,3 @@ +# `std::map` + +- [`fundamental`](fundamental): `std::map` diff --git a/jsroot/types/map/fundamental/read.mjs b/jsroot/types/map/fundamental/read.mjs new file mode 100644 index 0000000..6eda36e --- /dev/null +++ b/jsroot/types/map/fundamental/read.mjs @@ -0,0 +1,10 @@ +import { read, pairArrayToMap } from "../../../jsroot_reader.mjs"; + +const fields = ["Index32", "Index64", "SplitIndex32", "SplitIndex64"]; + +const [ + input = "types.map.fundamental.root", + output = "types.map.fundamental.json", +] = process.argv.slice(2); + +read(input, output, fields, pairArrayToMap); From 7a3d650ecac8eaeb9a91d718030060896130a535 Mon Sep 17 00:00:00 2001 From: Jad Dayoub Date: Tue, 11 Aug 2026 10:31:56 +0200 Subject: [PATCH 04/16] Add JSROOT test for types/map/nested --- jsroot/types/map/README.md | 1 + jsroot/types/map/nested/read.mjs | 8 ++++++++ 2 files changed, 9 insertions(+) create mode 100644 jsroot/types/map/nested/read.mjs diff --git a/jsroot/types/map/README.md b/jsroot/types/map/README.md index 795a6cb..5a2277b 100644 --- a/jsroot/types/map/README.md +++ b/jsroot/types/map/README.md @@ -1,3 +1,4 @@ # `std::map` - [`fundamental`](fundamental): `std::map` +- [`nested`](nested): `std::map>` diff --git a/jsroot/types/map/nested/read.mjs b/jsroot/types/map/nested/read.mjs new file mode 100644 index 0000000..9de8e5c --- /dev/null +++ b/jsroot/types/map/nested/read.mjs @@ -0,0 +1,8 @@ +import { read, pairArrayToMap } from "../../../jsroot_reader.mjs"; + +const fields = ["Index32", "Index64", "SplitIndex32", "SplitIndex64"]; + +const [input = "types.map.nested.root", output = "types.map.nested.json"] = + process.argv.slice(2); + +read(input, output, fields, pairArrayToMap); From 3df0fdec8ce55f9a351323d9e60c6598fc203963 Mon Sep 17 00:00:00 2001 From: Jad Dayoub Date: Fri, 7 Aug 2026 16:49:40 +0200 Subject: [PATCH 05/16] Add JSROOT test for types/unordered_set/fundamental --- jsroot/types/unordered_set/README.md | 3 +++ jsroot/types/unordered_set/fundamental/read.mjs | 10 ++++++++++ 2 files changed, 13 insertions(+) create mode 100644 jsroot/types/unordered_set/README.md create mode 100644 jsroot/types/unordered_set/fundamental/read.mjs diff --git a/jsroot/types/unordered_set/README.md b/jsroot/types/unordered_set/README.md new file mode 100644 index 0000000..0c50153 --- /dev/null +++ b/jsroot/types/unordered_set/README.md @@ -0,0 +1,3 @@ +# `std::unordered_set` + + * [`fundamental`](fundamental): `std::unordered_set` diff --git a/jsroot/types/unordered_set/fundamental/read.mjs b/jsroot/types/unordered_set/fundamental/read.mjs new file mode 100644 index 0000000..28fc7f7 --- /dev/null +++ b/jsroot/types/unordered_set/fundamental/read.mjs @@ -0,0 +1,10 @@ +import { read, sortArrayOfNumbers } from "../../../jsroot_reader.mjs"; + +const fields = ["Index32", "Index64", "SplitIndex32", "SplitIndex64"]; + +const [ + input = "types.unordered_set.fundamental.root", + output = "types.unordered_set.fundamental.json", +] = process.argv.slice(2); + +read(input, output, fields, sortArrayOfNumbers); From b5e674b9ef6947dab2aa1e533852b5dc3948919f Mon Sep 17 00:00:00 2001 From: Jad Dayoub Date: Fri, 7 Aug 2026 16:49:56 +0200 Subject: [PATCH 06/16] Add JSROOT test for types/unordered_set/nested --- jsroot/types/unordered_set/README.md | 1 + jsroot/types/unordered_set/nested/read.mjs | 10 ++++++++++ 2 files changed, 11 insertions(+) create mode 100644 jsroot/types/unordered_set/nested/read.mjs diff --git a/jsroot/types/unordered_set/README.md b/jsroot/types/unordered_set/README.md index 0c50153..3a8ff4b 100644 --- a/jsroot/types/unordered_set/README.md +++ b/jsroot/types/unordered_set/README.md @@ -1,3 +1,4 @@ # `std::unordered_set` * [`fundamental`](fundamental): `std::unordered_set` + * [`nested`](nested): `std::unordered_set>` diff --git a/jsroot/types/unordered_set/nested/read.mjs b/jsroot/types/unordered_set/nested/read.mjs new file mode 100644 index 0000000..7b0e9a6 --- /dev/null +++ b/jsroot/types/unordered_set/nested/read.mjs @@ -0,0 +1,10 @@ +import { read, sortDeep } from "../../../jsroot_reader.mjs"; + +const fields = ["Index32", "Index64", "SplitIndex32", "SplitIndex64"]; + +const [ + input = "types.unordered_set.nested.root", + output = "types.unordered_set.nested.json", +] = process.argv.slice(2); + +read(input, output, fields, sortDeep); From 32b2aa4ea5b95e0b1319f2a2742735880bf1588d Mon Sep 17 00:00:00 2001 From: Jad Dayoub Date: Fri, 7 Aug 2026 17:18:02 +0200 Subject: [PATCH 07/16] Add JSROOT test for types/unordered_map/fundamental --- jsroot/types/unordered_map/README.md | 3 +++ jsroot/types/unordered_map/fundamental/read.mjs | 10 ++++++++++ 2 files changed, 13 insertions(+) create mode 100644 jsroot/types/unordered_map/README.md create mode 100644 jsroot/types/unordered_map/fundamental/read.mjs diff --git a/jsroot/types/unordered_map/README.md b/jsroot/types/unordered_map/README.md new file mode 100644 index 0000000..a11b203 --- /dev/null +++ b/jsroot/types/unordered_map/README.md @@ -0,0 +1,3 @@ +# `std::unordered_map` + +- [`fundamental`](fundamental): `std::unordered_map` diff --git a/jsroot/types/unordered_map/fundamental/read.mjs b/jsroot/types/unordered_map/fundamental/read.mjs new file mode 100644 index 0000000..15b7648 --- /dev/null +++ b/jsroot/types/unordered_map/fundamental/read.mjs @@ -0,0 +1,10 @@ +import { read, pairArrayToMap } from "../../../jsroot_reader.mjs"; + +const fields = ["Index32", "Index64", "SplitIndex32", "SplitIndex64"]; + +const [ + input = "types.unordered_map.fundamental.root", + output = "types.unordered_map.fundamental.json", +] = process.argv.slice(2); + +read(input, output, fields, pairArrayToMap); From 1d5c50e4a74634e00a63aeecf82ccb4a73892f6d Mon Sep 17 00:00:00 2001 From: Jad Dayoub Date: Mon, 10 Aug 2026 17:21:54 +0200 Subject: [PATCH 08/16] Add JSROOT test for types/unordered_map/nested --- jsroot/types/unordered_map/README.md | 1 + jsroot/types/unordered_map/nested/read.mjs | 10 ++++++++++ 2 files changed, 11 insertions(+) create mode 100644 jsroot/types/unordered_map/nested/read.mjs diff --git a/jsroot/types/unordered_map/README.md b/jsroot/types/unordered_map/README.md index a11b203..5938a8b 100644 --- a/jsroot/types/unordered_map/README.md +++ b/jsroot/types/unordered_map/README.md @@ -1,3 +1,4 @@ # `std::unordered_map` - [`fundamental`](fundamental): `std::unordered_map` +- [`nested`](nested): `std::unordered_map>` diff --git a/jsroot/types/unordered_map/nested/read.mjs b/jsroot/types/unordered_map/nested/read.mjs new file mode 100644 index 0000000..774104d --- /dev/null +++ b/jsroot/types/unordered_map/nested/read.mjs @@ -0,0 +1,10 @@ +import { read, pairArrayToMap } from "../../../jsroot_reader.mjs"; + +const fields = ["Index32", "Index64", "SplitIndex32", "SplitIndex64"]; + +const [ + input = "types.unordered_map.nested.root", + output = "types.unordered_map.nested.json", +] = process.argv.slice(2); + +read(input, output, fields, pairArrayToMap); From 60188c67ec2037e27275bf083e249db3c61b4a5f Mon Sep 17 00:00:00 2001 From: Jad Dayoub Date: Mon, 10 Aug 2026 09:59:32 +0200 Subject: [PATCH 09/16] Add JSROOT test for types/unordered_multiset/fundamental --- jsroot/types/unordered_multiset/README.md | 3 +++ jsroot/types/unordered_multiset/fundamental/read.mjs | 10 ++++++++++ 2 files changed, 13 insertions(+) create mode 100644 jsroot/types/unordered_multiset/README.md create mode 100644 jsroot/types/unordered_multiset/fundamental/read.mjs diff --git a/jsroot/types/unordered_multiset/README.md b/jsroot/types/unordered_multiset/README.md new file mode 100644 index 0000000..465620e --- /dev/null +++ b/jsroot/types/unordered_multiset/README.md @@ -0,0 +1,3 @@ +# `std::unordered_multiset` + + * [`fundamental`](fundamental): `std::unordered_multiset` diff --git a/jsroot/types/unordered_multiset/fundamental/read.mjs b/jsroot/types/unordered_multiset/fundamental/read.mjs new file mode 100644 index 0000000..e221a34 --- /dev/null +++ b/jsroot/types/unordered_multiset/fundamental/read.mjs @@ -0,0 +1,10 @@ +import { read, sortArrayOfNumbers } from "../../../jsroot_reader.mjs"; + +const fields = ["Index32", "Index64", "SplitIndex32", "SplitIndex64"]; + +const [ + input = "types.unordered_multiset.fundamental.root", + output = "types.unordered_multiset.fundamental.json", +] = process.argv.slice(2); + +read(input, output, fields, sortArrayOfNumbers); From 7393cba06c5bcc06330dc52ff4ba0af06c7e3e9a Mon Sep 17 00:00:00 2001 From: Jad Dayoub Date: Mon, 10 Aug 2026 09:59:46 +0200 Subject: [PATCH 10/16] Add JSROOT test for types/unordered_multiset/nested --- jsroot/types/unordered_multiset/README.md | 1 + jsroot/types/unordered_multiset/nested/read.mjs | 10 ++++++++++ 2 files changed, 11 insertions(+) create mode 100644 jsroot/types/unordered_multiset/nested/read.mjs diff --git a/jsroot/types/unordered_multiset/README.md b/jsroot/types/unordered_multiset/README.md index 465620e..21eb0a2 100644 --- a/jsroot/types/unordered_multiset/README.md +++ b/jsroot/types/unordered_multiset/README.md @@ -1,3 +1,4 @@ # `std::unordered_multiset` * [`fundamental`](fundamental): `std::unordered_multiset` + * [`nested`](nested): `std::unordered_multiset>` diff --git a/jsroot/types/unordered_multiset/nested/read.mjs b/jsroot/types/unordered_multiset/nested/read.mjs new file mode 100644 index 0000000..1879e8f --- /dev/null +++ b/jsroot/types/unordered_multiset/nested/read.mjs @@ -0,0 +1,10 @@ +import { read, sortDeep } from "../../../jsroot_reader.mjs"; + +const fields = ["Index32", "Index64", "SplitIndex32", "SplitIndex64"]; + +const [ + input = "types.unordered_multiset.nested.root", + output = "types.unordered_multiset.nested.json", +] = process.argv.slice(2); + +read(input, output, fields, sortDeep); From 59b7b2456d8d2138203b18377c56b900fe65f7e6 Mon Sep 17 00:00:00 2001 From: Jad Dayoub Date: Mon, 10 Aug 2026 10:02:08 +0200 Subject: [PATCH 11/16] Add JSROOT test for types/unordered_multimap/fundamental --- jsroot/types/unordered_multimap/README.md | 3 +++ jsroot/types/unordered_multimap/fundamental/read.mjs | 10 ++++++++++ 2 files changed, 13 insertions(+) create mode 100644 jsroot/types/unordered_multimap/README.md create mode 100644 jsroot/types/unordered_multimap/fundamental/read.mjs diff --git a/jsroot/types/unordered_multimap/README.md b/jsroot/types/unordered_multimap/README.md new file mode 100644 index 0000000..a11b203 --- /dev/null +++ b/jsroot/types/unordered_multimap/README.md @@ -0,0 +1,3 @@ +# `std::unordered_map` + +- [`fundamental`](fundamental): `std::unordered_map` diff --git a/jsroot/types/unordered_multimap/fundamental/read.mjs b/jsroot/types/unordered_multimap/fundamental/read.mjs new file mode 100644 index 0000000..25e83b6 --- /dev/null +++ b/jsroot/types/unordered_multimap/fundamental/read.mjs @@ -0,0 +1,10 @@ +import { read, pairArrayToMap } from "../../../jsroot_reader.mjs"; + +const fields = ["Index32", "Index64", "SplitIndex32", "SplitIndex64"]; + +const [ + input = "types.unordered_multimap.fundamental.root", + output = "types.unordered_multimap.fundamental.json", +] = process.argv.slice(2); + +read(input, output, fields, pairArrayToMap); From 271221835b528cd21fcc4dbc77b9346327f8042f Mon Sep 17 00:00:00 2001 From: Jad Dayoub Date: Tue, 11 Aug 2026 10:28:30 +0200 Subject: [PATCH 12/16] Add JSROOT test for types/unordered_multimap/nested --- jsroot/types/unordered_multimap/README.md | 1 + jsroot/types/unordered_multimap/nested/read.mjs | 10 ++++++++++ 2 files changed, 11 insertions(+) create mode 100644 jsroot/types/unordered_multimap/nested/read.mjs diff --git a/jsroot/types/unordered_multimap/README.md b/jsroot/types/unordered_multimap/README.md index a11b203..5938a8b 100644 --- a/jsroot/types/unordered_multimap/README.md +++ b/jsroot/types/unordered_multimap/README.md @@ -1,3 +1,4 @@ # `std::unordered_map` - [`fundamental`](fundamental): `std::unordered_map` +- [`nested`](nested): `std::unordered_map>` diff --git a/jsroot/types/unordered_multimap/nested/read.mjs b/jsroot/types/unordered_multimap/nested/read.mjs new file mode 100644 index 0000000..562475f --- /dev/null +++ b/jsroot/types/unordered_multimap/nested/read.mjs @@ -0,0 +1,10 @@ +import { read, pairArrayToMap } from "../../../jsroot_reader.mjs"; + +const fields = ["Index32", "Index64", "SplitIndex32", "SplitIndex64"]; + +const [ + input = "types.unordered_multimap.nested.root", + output = "types.unordered_multimap.nested.json", +] = process.argv.slice(2); + +read(input, output, fields, pairArrayToMap); From 8215fc3449bea5fd0f73f2bf56657fc1ac027d9b Mon Sep 17 00:00:00 2001 From: Jad Dayoub Date: Wed, 12 Aug 2026 11:50:37 +0200 Subject: [PATCH 13/16] Add JSROOT test for types/multiset/fundamental --- jsroot/types/multiset/README.md | 3 +++ jsroot/types/multiset/fundamental/read.mjs | 10 ++++++++++ 2 files changed, 13 insertions(+) create mode 100644 jsroot/types/multiset/README.md create mode 100644 jsroot/types/multiset/fundamental/read.mjs diff --git a/jsroot/types/multiset/README.md b/jsroot/types/multiset/README.md new file mode 100644 index 0000000..52af9f4 --- /dev/null +++ b/jsroot/types/multiset/README.md @@ -0,0 +1,3 @@ +# `std::multiset` + + * [`fundamental`](fundamental): `std::multiset` diff --git a/jsroot/types/multiset/fundamental/read.mjs b/jsroot/types/multiset/fundamental/read.mjs new file mode 100644 index 0000000..13300a5 --- /dev/null +++ b/jsroot/types/multiset/fundamental/read.mjs @@ -0,0 +1,10 @@ +import { read, sortArrayOfNumbers } from "../../../jsroot_reader.mjs"; + +const fields = ["Index32", "Index64", "SplitIndex32", "SplitIndex64"]; + +const [ + input = "types.multiset.fundamental.root", + output = "types.multiset.fundamental.json", +] = process.argv.slice(2); + +read(input, output, fields, sortArrayOfNumbers); From eaf040df4d17674c30f59a8001ffcdafc32ef776 Mon Sep 17 00:00:00 2001 From: Jad Dayoub Date: Wed, 12 Aug 2026 11:50:52 +0200 Subject: [PATCH 14/16] Add JSROOT test for types/multiset/nested --- jsroot/types/multiset/README.md | 1 + jsroot/types/multiset/nested/read.mjs | 10 ++++++++++ 2 files changed, 11 insertions(+) create mode 100644 jsroot/types/multiset/nested/read.mjs diff --git a/jsroot/types/multiset/README.md b/jsroot/types/multiset/README.md index 52af9f4..637bdcf 100644 --- a/jsroot/types/multiset/README.md +++ b/jsroot/types/multiset/README.md @@ -1,3 +1,4 @@ # `std::multiset` * [`fundamental`](fundamental): `std::multiset` + * [`nested`](nested): `std::multiset>` diff --git a/jsroot/types/multiset/nested/read.mjs b/jsroot/types/multiset/nested/read.mjs new file mode 100644 index 0000000..264bf98 --- /dev/null +++ b/jsroot/types/multiset/nested/read.mjs @@ -0,0 +1,10 @@ +import { read, sortDeep } from "../../../jsroot_reader.mjs"; + +const fields = ["Index32", "Index64", "SplitIndex32", "SplitIndex64"]; + +const [ + input = "types.set.multinested.root", + output = "types.multiset.nested.json", +] = process.argv.slice(2); + +read(input, output, fields, sortDeep); From caf6b4239daf60b474fa857e836edebca31ef158 Mon Sep 17 00:00:00 2001 From: Jad Dayoub Date: Wed, 12 Aug 2026 11:51:25 +0200 Subject: [PATCH 15/16] Add JSROOT test for types/multimap/fundamental --- jsroot/types/multimap/README.md | 3 +++ jsroot/types/multimap/fundamental/read.mjs | 10 ++++++++++ 2 files changed, 13 insertions(+) create mode 100644 jsroot/types/multimap/README.md create mode 100644 jsroot/types/multimap/fundamental/read.mjs diff --git a/jsroot/types/multimap/README.md b/jsroot/types/multimap/README.md new file mode 100644 index 0000000..c0133fe --- /dev/null +++ b/jsroot/types/multimap/README.md @@ -0,0 +1,3 @@ +# `std::multimap` + +- [`fundamental`](fundamental): `std::multimap` diff --git a/jsroot/types/multimap/fundamental/read.mjs b/jsroot/types/multimap/fundamental/read.mjs new file mode 100644 index 0000000..8b7897c --- /dev/null +++ b/jsroot/types/multimap/fundamental/read.mjs @@ -0,0 +1,10 @@ +import { read, pairArrayToMap } from "../../../jsroot_reader.mjs"; + +const fields = ["Index32", "Index64", "SplitIndex32", "SplitIndex64"]; + +const [ + input = "types.multimap.fundamental.root", + output = "types.multimap.fundamental.json", +] = process.argv.slice(2); + +read(input, output, fields, pairArrayToMap); From 498202eb77db6862bb0812be1470475829146930 Mon Sep 17 00:00:00 2001 From: Jad Dayoub Date: Wed, 12 Aug 2026 11:51:37 +0200 Subject: [PATCH 16/16] Add JSROOT test for types/multimap/nested --- jsroot/types/multimap/README.md | 1 + jsroot/types/multimap/nested/read.mjs | 10 ++++++++++ 2 files changed, 11 insertions(+) create mode 100644 jsroot/types/multimap/nested/read.mjs diff --git a/jsroot/types/multimap/README.md b/jsroot/types/multimap/README.md index c0133fe..f6878c4 100644 --- a/jsroot/types/multimap/README.md +++ b/jsroot/types/multimap/README.md @@ -1,3 +1,4 @@ # `std::multimap` - [`fundamental`](fundamental): `std::multimap` +- [`nested`](nested): `std::multimap>` diff --git a/jsroot/types/multimap/nested/read.mjs b/jsroot/types/multimap/nested/read.mjs new file mode 100644 index 0000000..93380ef --- /dev/null +++ b/jsroot/types/multimap/nested/read.mjs @@ -0,0 +1,10 @@ +import { read, pairArrayToMap } from "../../../jsroot_reader.mjs"; + +const fields = ["Index32", "Index64", "SplitIndex32", "SplitIndex64"]; + +const [ + input = "types.multimap.nested.root", + output = "types.multimap.nested.json", +] = process.argv.slice(2); + +read(input, output, fields, pairArrayToMap);