|
40 | 40 |
|
41 | 41 | -record(tree, {root = #node{} :: khepri_tree:tree_node(), |
42 | 42 | keep_while_conds = #{} :: khepri_tree:keep_while_conds_map(), |
43 | | - keep_while_conds_revidx = #{} :: |
44 | | - khepri_tree:keep_while_conds_revidx()}). |
| 43 | + keep_while_conds_revidx = #{}}). |
45 | 44 |
|
46 | 45 | -type tree_node() :: #node{}. |
47 | 46 | %% A node in the tree structure. |
48 | 47 |
|
49 | | --opaque tree_v0() :: #tree{keep_while_conds_revidx :: |
50 | | - khepri_tree:keep_while_conds_revidx_v0()}. |
51 | | --opaque tree_v1() :: #tree{keep_while_conds_revidx :: |
52 | | - khepri_tree:keep_while_conds_revidx_v1()}. |
| 48 | +-type tree(KeepWhileCondsRevIdxType) :: #tree{keep_while_conds_revidx :: |
| 49 | + KeepWhileCondsRevIdxType}. |
| 50 | + |
| 51 | +-opaque tree_v0() :: tree(khepri_tree:keep_while_conds_revidx_v0()). |
| 52 | +-opaque tree_v1() :: tree(khepri_tree:keep_while_conds_revidx_v1()). |
53 | 53 |
|
54 | 54 | -type tree() :: tree_v0() | tree_v1(). |
55 | 55 |
|
@@ -389,10 +389,16 @@ is_keep_while_condition_met_on_self( |
389 | 389 | true |
390 | 390 | end. |
391 | 391 |
|
| 392 | +-spec update_keep_while_conds(Tree, Watcher, KeepWhile) -> NewTree when |
| 393 | + Tree :: khepri_tree:tree(), |
| 394 | + Watcher :: khepri_path:native_path(), |
| 395 | + KeepWhile :: khepri_condition:native_keep_while(), |
| 396 | + NewTree :: khepri_tree:tree(). |
| 397 | + |
392 | 398 | update_keep_while_conds(Tree, Watcher, KeepWhile) -> |
393 | 399 | AbsKeepWhile = to_absolute_keep_while(Watcher, KeepWhile), |
394 | 400 | Tree1 = update_keep_while_conds_revidx(Tree, Watcher, AbsKeepWhile), |
395 | | - #tree{keep_while_conds = KeepWhileConds} = Tree1, |
| 401 | + KeepWhileConds = get_keep_while_conds(Tree1), |
396 | 402 | KeepWhileConds1 = KeepWhileConds#{Watcher => AbsKeepWhile}, |
397 | 403 | Tree1#tree{keep_while_conds = KeepWhileConds1}. |
398 | 404 |
|
|
0 commit comments