summaryrefslogtreecommitdiffstats
path: root/web/server/h2o/libh2o/misc/oktavia/src/node-sqlite3.jsx
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--web/server/h2o/libh2o/misc/oktavia/src/node-sqlite3.jsx115
1 files changed, 115 insertions, 0 deletions
diff --git a/web/server/h2o/libh2o/misc/oktavia/src/node-sqlite3.jsx b/web/server/h2o/libh2o/misc/oktavia/src/node-sqlite3.jsx
new file mode 100644
index 00000000..32196983
--- /dev/null
+++ b/web/server/h2o/libh2o/misc/oktavia/src/node-sqlite3.jsx
@@ -0,0 +1,115 @@
+import "js.jsx";
+
+native __fake__ class _sqlite3database
+{
+ static const OK = 0;
+ static const ERROR = 1;
+ static const INTERNAL = 2;
+ static const PERM = 3;
+ static const ABORT = 4;
+ static const BUSY = 5;
+ static const LOCKED = 6;
+ static const NOMEM = 7;
+ static const READONLY = 8;
+ static const INTERRUPT = 9;
+ static const IOERR = 10;
+ static const CORRUPT = 11;
+ static const NOTFOUND = 12;
+ static const FULL = 13;
+ static const CANTOPEN = 14;
+ static const PROTOCOL = 15;
+ static const EMPTY = 16;
+ static const SCHEMA = 17;
+ static const TOOBIG = 18;
+ static const CONSTRAINT = 19;
+ static const MISMATCH = 20;
+ static const MISUSE = 21;
+ static const NOLFS = 22;
+ static const AUTH = 23;
+ static const FORMAT = 24;
+ static const RANGE = 25;
+
+ function run(...params : variant) : void;
+ function all(...params : variant) : void;
+ function each(...params : variant) : void;
+ function close(...params : variant) : void;
+ function serialize(...params : variant) : void;
+}
+
+native __fake__ class _sqlite3statement
+{
+}
+
+native __fake__ class _sqlite3error
+{
+ var message : string;
+ var errno : int;
+ var code : string;
+}
+
+class SQLite3Database
+{
+ var _instance : _sqlite3database;
+
+ function constructor (filename : string)
+ {
+ var exp = "(function () { var __sqlite3 = require('sqlite3'); return new __sqlite3.Database('" + filename + "');})()";
+ this._instance = js.eval(exp) as __noconvert__ _sqlite3database;
+ }
+
+ function run (sql : string) : SQLite3Database
+ {
+ this._instance.run(sql);
+ return this;
+ }
+
+ function run (sql : string, bind : variant) : SQLite3Database
+ {
+ this._instance.run(sql, bind);
+ return this;
+ }
+
+ function run (sql : string, bind : variant, callback : (Nullable.<_sqlite3error>) -> void) : SQLite3Database
+ {
+ this._instance.run(sql, bind, callback);
+ return this;
+ }
+
+ function run (sql : string, callback : (Nullable.<_sqlite3error>) -> void) : SQLite3Database
+ {
+ this._instance.run(sql, callback);
+ return this;
+ }
+
+ function each (sql : string, callback : (Nullable.<_sqlite3error>, variant) -> void) : SQLite3Database
+ {
+ this._instance.each(sql, callback);
+ return this;
+ }
+
+ function all (sql : string, callback : (Nullable.<_sqlite3error>, variant[]) -> void) : SQLite3Database
+ {
+ this._instance.all(sql, callback);
+ return this;
+ }
+
+ function serialize () : void
+ {
+ this._instance.serialize();
+ }
+
+ function serialize (callback : (Nullable.<_sqlite3error>) -> void) : void
+ {
+ this._instance.serialize(callback);
+ }
+
+ function close () : void
+ {
+ this._instance.close();
+ }
+
+ function close (callback : (Nullable.<_sqlite3error>) -> void) : void
+ {
+ this._instance.close(callback);
+ }
+}