Skip to content

Commit 6afe54f

Browse files
revise sql
1 parent 9200aa1 commit 6afe54f

File tree

1 file changed

+37
-51
lines changed

1 file changed

+37
-51
lines changed

scriptum.js

Lines changed: 37 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -13207,76 +13207,62 @@ Node.FS_.collectFiles = ({dirs: {maxDepth, blacklist = new Set(), whitelist = ne
1320713207
███████████████████████████████████████████████████████████████████████████████*/
1320813208

1320913209

13210-
// TODO: dysfunctional - adapt to new async type
13211-
13212-
13213-
Node.SQL = Cons => {
13214-
const o = {};
13215-
13216-
// meta is additional data passed to the query
13217-
13218-
o.Query = product("SqlQuery", "sq") ("meta", "query");
13210+
Node.SQL = {};
1321913211

1322013212

13221-
o.Result = product("SqlResult", "sr") ("data", "fields");
13213+
//█████ Types █████████████████████████████████████████████████████████████████
1322213214

1322313215

13224-
o.createCredentials = ({host, port, name, charset = "utf8mb4"}) => ({
13225-
host,
13226-
port,
13227-
user: process.dbUser,
13228-
password: process.env.dbPassword,
13229-
database: name,
13230-
charset
13231-
});
13216+
Node.SQL.sqlQuery = ({query, meta = null}) => ({
13217+
[$]: "SqlQuery",
13218+
[$$]: "SqlQuery",
13219+
meta,
13220+
query,
13221+
});
1323213222

1323313223

13234-
o.createResource = credentials => mysql.createConnection(credentials);
13224+
Node.SQL.sqlResult = ({data, fields}) => ({
13225+
[$]: "SqlResult",
13226+
[$$]: "SqlResult",
13227+
data,
13228+
fields,
13229+
});
1323513230

1323613231

13237-
o.handle = reify(p => {
13238-
p.connect = res =>
13239-
Cons(k =>
13240-
res.connect(e => e
13241-
? k(new Err(e)) : k(res))),
13232+
//█████ Combinators ███████████████████████████████████████████████████████████
1324213233

1324313234

13244-
o.disconnect = res =>
13245-
Cons(k =>
13246-
res.end(e => e
13247-
? k(new Err(e)) : k(true))),
13235+
Node.SQL.createCredentials = ({host, port, name, charset = "utf8mb4"}) => ({
13236+
host,
13237+
port,
13238+
user: process.env.dbUser,
13239+
password: process.env.dbPassword,
13240+
database: name,
13241+
charset,
13242+
});
1324813243

1324913244

13250-
o.query = con => tx => Cons(k => {
13251-
return con.query(tx.sq.query, (e, data, fields) => {
13252-
if (e) return k(new Err(e));
13253-
else return k(Sql.Result(data, fields));
13254-
});
13255-
});
13256-
});
13245+
Node.SQL.createResource = credentials => mysql.createConnection(credentials);
1325713246

1325813247

13259-
o.throw = reify(p => {
13260-
p.connect = res =>
13261-
Cons(k =>
13262-
res.connect(e => e
13263-
? _throw(e) : k(res))),
13248+
Node.SQL.connect = ressource =>
13249+
Cons((res, rej) =>
13250+
ressource.connect(e => e
13251+
? rej(new Err(e)) : res(ressource)));
1326413252

1326513253

13266-
o.disconnect = res =>
13267-
Cons(k =>
13268-
res.end(e => e
13269-
? _throw(e) : k(true))),
13254+
Node.SQL.disconnect = ressource =>
13255+
Cons((res, rej) =>
13256+
ressource.end(e => e
13257+
? rej(new Err(e)) : res(true)));
1327013258

1327113259

13272-
o.query = con => tx => Cons(k => {
13273-
return con.query(tx.sq.query, (e, data, fields) => {
13274-
if (e) throw e;
13275-
else return k(Sql.Result(data, fields));
13276-
});
13277-
});
13260+
Node.SQL.query = connection => sql => Cons((res, rej) => {
13261+
return connection.query(sql, (e, data, fields) => {
13262+
if (e) return rej(new Err(e));
13263+
else return res({data, fields});
1327813264
});
13279-
};
13265+
});
1328013266

1328113267

1328213268
/*█████████████████████████████████████████████████████████████████████████████

0 commit comments

Comments
 (0)