convert json string to movemap

This commit is contained in:
2026-05-28 16:28:56 +02:00
parent 6f74db087e
commit 9a2b7dbb86
2 changed files with 14 additions and 1 deletions
+1 -1
View File
@@ -1,7 +1,7 @@
(library (library
(name pgn_logic) (name pgn_logic)
(public_name pgn_to_tex) (public_name pgn_to_tex)
(libraries sedlex menhirLib) (libraries sedlex menhirLib yojson)
(modules ast parser lexer parsing latex latex_helpers pgn2tex nag) (modules ast parser lexer parsing latex latex_helpers pgn2tex nag)
(preprocess (preprocess
(pps sedlex.ppx))) (pps sedlex.ppx)))
+13
View File
@@ -1,4 +1,17 @@
module MoveMap = Ast.MoveMap module MoveMap = Ast.MoveMap
open Yojson.Safe.Util
let parse_diagrams_json diagrams_json_str =
try
let json = Yojson.Safe.from_string diagrams_json_str in
let diagrams_list = to_list json in
List.fold_left
(fun acc_map item ->
let ply = item |> member "ply" |> to_int in
let fen = item |> member "fen" |> to_string in
MoveMap.add ply fen acc_map)
MoveMap.empty diagrams_list
with _ -> MoveMap.empty
let to_tex pgn ~diagram_data ~clock = let to_tex pgn ~diagram_data ~clock =
let game = Parsing.parse_pgn pgn in let game = Parsing.parse_pgn pgn in