aboutsummaryrefslogtreecommitdiff
path: root/motus/js/state.ml
diff options
context:
space:
mode:
Diffstat (limited to 'motus/js/state.ml')
-rw-r--r--motus/js/state.ml23
1 files changed, 4 insertions, 19 deletions
diff --git a/motus/js/state.ml b/motus/js/state.ml
index 57a3794..cbab14f 100644
--- a/motus/js/state.ml
+++ b/motus/js/state.ml
@@ -1,15 +1,10 @@
open StdLabels
open Motus_lib
-type letter_validity =
- | Wellplaced
- | Misplaced
- | Missing
-
-type proposition = (Jstr.t * letter_validity) option list
+type proposition = (Jstr.t * Validity.t) option list
type state =
- { analysis : Persistence.t
+ { analysis : Wordlist.t
; rules : Criteria.t list
; length : int
; propositions : proposition list
@@ -18,7 +13,7 @@ type state =
}
let init () =
- { analysis = Persistence.empty_data ()
+ { analysis = Wordlist.empty_data ()
; rules = []
; length = 0
; propositions = []
@@ -42,17 +37,7 @@ let get_current_rules : proposition -> Criteria.t list =
then ()
else
let char = String.get (Jstr.to_string letter) 0 in
-
- match validity with
- | Missing ->
- rules := Criteria.add (Criteria.NotContain (char, None)) !rules
- | Misplaced ->
- rules :=
- Criteria.add (Criteria.NotContain (char, Some i)) !rules;
- rules := Criteria.add (Criteria.Contain (char, None)) !rules
- | Wellplaced ->
- rules := Criteria.add (Criteria.Contain (char, Some i)) !rules
- )
+ rules := Validity.to_criteria char i validity !rules )
prop );
List.rev !rules