summaryrefslogtreecommitdiff
path: root/src/vytree.ml
diff options
context:
space:
mode:
Diffstat (limited to 'src/vytree.ml')
-rw-r--r--src/vytree.ml4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/vytree.ml b/src/vytree.ml
index ace587b..05b3088 100644
--- a/src/vytree.ml
+++ b/src/vytree.ml
@@ -167,6 +167,10 @@ let update node path data =
replace node' child
in do_with_child (update_data data) node path
+let insert_or_update ?(position=Default) node path data =
+ try insert ~position:position node path data
+ with Duplicate_child -> update node path data
+
let rec get node path =
match path with
| [] -> raise Empty_path