A Node.js adapter for PawSQLite
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1 line
7.3 KiB

{"version":3,"sources":["webpack://pawsqlite-node-adapter/./src/database_wrapper.mjs","webpack://pawsqlite-node-adapter/./src/log.mjs","webpack://pawsqlite-node-adapter/./src/node_adapter_error.mjs","webpack://pawsqlite-node-adapter/./src/query_wrapper.mjs","webpack://pawsqlite-node-adapter/./src/response_wrapper.mjs","webpack://pawsqlite-node-adapter/external \"sqlite3\"","webpack://pawsqlite-node-adapter/webpack/bootstrap","webpack://pawsqlite-node-adapter/webpack/runtime/define property getters","webpack://pawsqlite-node-adapter/webpack/runtime/hasOwnProperty shorthand","webpack://pawsqlite-node-adapter/webpack/runtime/make namespace object","webpack://pawsqlite-node-adapter/./src/node_adapter.mjs"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAA4D;AACT;AACM;AACZ;;;AAGtC;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,0EAAqB;AACtC;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA,sBAAsB,4DAAY;;AAElC;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,MAAM,6CAAG;AACT;AACA;AACA,iBAAiB,0EAAqB;AACtC;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,gBAAgB,0EAAuB;AACvC,OAAO;AACP,KAAK;AACL;;AAEA;AACA;AACA,MAAM,6CAAG;AACT;AACA;AACA,iBAAiB,0EAAqB;AACtC;AACA;AACA,gBAAgB,0EAAuB,EAAE,KAAK;AAC9C,OAAO;AACP,KAAK;AACL;AACA,C;;;;;;;;;;;;;;;ACrEA;;AAEO;AACP;AACA;AACA,G;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA,C;;;;;;;;;;;;;;ACbO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;;;;;;;;;ACRO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;;;;;;;;;ACdO;AACP,oBAAoB;AACpB;AACA;AACA,GAAG;AACH,E;;;;;;;;;;ACLA,qC;;;;;;UCAA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCrBA;WACA;WACA;WACA;WACA,wCAAwC,yCAAyC;WACjF;WACA;WACA,E;;;;;WCPA,wF;;;;;WCAA;WACA;WACA;WACA,sDAAsD,kBAAkB;WACxE;WACA,+CAA+C,cAAc;WAC7D,E;;;;;;;;;;;;;;;;;;;ACNmC;;AAEyB;AACH;AACA;AACZ;;AAE7C;;AAEA,iEAAe;AACf;AACA;AACA;AACA,qBAAqB,kEAAe;AACpC,YAAY,6CAAgB;AAC5B;AACA;AACA;;AAEA,WAAW,0EAAuB;AAClC,GAAG;;AAEH;AACA;AACA;AACA,gBAAgB,qEAAgB;AAChC;;AAEA;;AAEA;AACA,WAAW,0EAAuB;AAClC,GAAG;;AAEH;AACA;AACA;AACA,gBAAgB,qEAAgB;AAChC;;AAEA;;AAEA,WAAW,0EAAuB;AAClC,GAAG;;AAEH;AACA,cAAc,qEAAgB;AAC9B,GAAG;;AAEH,SAAS,iDAAW;AACpB,CAAC,EAAC","file":"pawsqlite-node-adapter.js","sourcesContent":["import { NodeAdapterError } from \"./node_adapter_error.mjs\";\nimport { QueryWrapper } from \"./query_wrapper.mjs\";\nimport { ResponseWrapper } from \"./response_wrapper.mjs\";\nimport { enableDebug, log } from \"./log.mjs\";\n\n\nexport class DatabaseWrapper {\n constructor(db) {\n this.db = db;\n }\n\n close() {\n return new Promise((resolve, reject) => {\n this.db.close((err) => {\n if (err) {\n reject(NodeAdapterError.from(err));\n return;\n }\n resolve();\n });\n });\n }\n\n sql(sql, ...args) {\n const query = new QueryWrapper(sql);\n\n if (query.isAnyOf(\"INSERT\", \"UPDATE\", \"DELETE\")) {\n return this.executeRun(query, ...args);\n } else {\n return this.executeAll(query, ...args);\n }\n }\n\n executeRun(query, ...args) {\n return new Promise((resolve, reject) => {\n log(query.sql);\n this.db.run(query.sql, ...args, function (err) {\n if (err) {\n reject(NodeAdapterError.from(err));\n return;\n }\n\n const result = {};\n\n if (query.isAnyOf(\"INSERT\")) {\n result.insertId = this.lastID;\n }\n\n if (query.isAnyOf(\"UPDATE\", \"DELETE\")) {\n result.rowsAffected = this.changes;\n }\n\n resolve(ResponseWrapper.success(result));\n });\n });\n }\n\n executeAll(query, ...args) {\n return new Promise((resolve, reject) => {\n log(query.sql);\n this.db.all(query.sql, ...args, function (err, rows) {\n if (err) {\n reject(NodeAdapterError.from(err));\n return;\n }\n resolve(ResponseWrapper.success({rows}));\n });\n });\n }\n}","let DEBUG = false;\n\nexport function log(...args) {\n if (DEBUG) {\n console.log(...args);\n } \n}\n\nexport function enableDebug(active) {\n DEBUG = !!active;\n lo