aboutsummaryrefslogtreecommitdiffhomepage
path: root/demo/more/meta.urs
blob: 17e8a9f323e0963fd6f1ed39e122779f7e669aa1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
con meta = fn (db :: Type, widget :: Type) =>
                    {Nam : string,
                     Show : db -> xbody,
                     Widget : nm :: Name -> xml form [] [nm = widget],
                     WidgetPopulated : nm :: Name -> db -> xml form [] [nm = widget],
                     Parse : widget -> db,
                     Inject : sql_injectable db}

val int : string -> meta (int, string)
val float : string -> meta (float, string)
val string : string -> meta (string, string)
val bool : string -> meta (bool, bool)

val textarea : string -> meta (string, string)

val allWidgets : ts ::: {(Type * Type)} -> $(map meta ts) -> folder ts
                 -> xml form [] (map snd ts)