diff options
Diffstat (limited to 'tests/crud.urs')
-rw-r--r-- | tests/crud.urs | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/tests/crud.urs b/tests/crud.urs index 988c5458..d445ed6e 100644 --- a/tests/crud.urs +++ b/tests/crud.urs @@ -1,14 +1,20 @@ -con colMeta' = fn t :: Type => {Nam : string, Show : t -> xbody} -con colMeta = fn cols :: {Type} => $(Top.mapTT colMeta' cols) +con colMeta = fn t_formT :: (Type * Type) => { + Nam : string, + Show : t_formT.1 -> xbody, + Widget : nm :: Name -> xml form [] [nm = t_formT.2], + Parse : t_formT.2 -> t_formT.1, + Inject : sql_injectable t_formT.1 +} +con colsMeta = fn cols :: {(Type * Type)} => $(Top.mapT2T colMeta cols) functor Make(M : sig - con cols :: {Type} + con cols :: {(Type * Type)} constraint [Id] ~ cols - val tab : sql_table ([Id = int] ++ cols) + val tab : sql_table ([Id = int] ++ mapT2T fstTT cols) val title : string - val cols : colMeta cols + val cols : colsMeta cols end) : sig val main : unit -> transaction page end |