Customise getter, setter, and updater names independently
This commit is contained in:
2 files changed
+28
-5
No files matched your search
@@ -83,3 +83,15 @@ end
|
||||
let () =
|
||||
assert (Named.swatch_colour Named.{ item_colour = "grey"; item_size = 3 } = "grey");
|
||||
assert (Typed.swatch_size Typed.{ item_colour = "grey"; item_size = 3 } = 3)
|
||||
|
||||
module Verbs = struct
|
||||
type t = { colour : string }
|
||||
[@@fieldglass generate ~get_prefix:read ~set_prefix:replace ~update_prefix:"revise"]
|
||||
end
|
||||
|
||||
let () =
|
||||
let original = Verbs.{ colour = "grey" } in
|
||||
assert (Verbs.read_colour original = "grey");
|
||||
assert (Verbs.read_colour (Verbs.replace_colour "blue" original) = "blue");
|
||||
assert (Verbs.read_colour (Verbs.revise_colour ~f:(fun s -> s ^ "s") original) = "greys");
|
||||
assert (Fieldglass.view Verbs._colour original = "grey")
|
||||
Reference in new issue
Block a user