ucg/examples/test_json.ucg

44 lines
961 B
Plaintext
Raw Normal View History

import "shared.ucg" as shared;
2017-12-24 15:24:06 -05:00
// A few constants.
let dbhost1 = "db1.prod.net";
let dbhost2 = "db2.prod.net";
let dbname = "testdb";
2017-12-24 15:24:06 -05:00
// Constructor for database connection strings.
let mk_db_conn = macro (host, port, db) => {
host = host,
port = port,
db = db,
conn_string = "@:@/@" % (host, port, db)
};
let db_conn1 = mk_db_conn(dbhost1, shared.port, dbname);
let db_conn2 = mk_db_conn(dbhost2, shared.port, dbname);
2017-12-24 15:24:06 -05:00
// We have two database connections in a list
2018-03-15 19:08:33 -05:00
let db_conn_list = [db_conn1, db_conn2];
let connstr_mapper = macro (item) => {
str = item.conn_string
};
let db_conns = map connstr_mapper.str [db_conn1, db_conn2];
let cplx_list = [
{foo = 1},
{bar = {foo=1}},
];
2017-12-24 15:24:06 -05:00
// Our server configuration.
let server_config = {
db_conn1 = db_conns.0, // connection one
2017-11-26 13:08:47 -06:00
db_conn2 = db_conns.1,
tmpldir = "./templates",
prefix = {
foo = "bar"
},
l = ["foo", "bar"]
};
2018-08-17 17:38:49 -05:00
out json server_config;