{"version":3,"sources":["jsdelivr-header.js","/npm/sqlite-sync-2@0.3.12/sqlite.js"],"names":[],"mappings":"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","file":"/npm/sqlite-sync-2@0.3.12/sqlite.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/sqlite-sync-2@0.3.12/sqlite.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","/*\r\nThe MIT License (MIT)\r\n\r\nCopyright (c) 2015 Jayr Alencar\r\n\r\nPermission is hereby granted, free of charge, to any person obtaining a copy\r\nof this software and associated documentation files (the \"Software\"), to deal\r\nin the Software without restriction, including without limitation the rights\r\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\ncopies of the Software, and to permit persons to whom the Software is\r\nfurnished to do so, subject to the following conditions:\r\n\r\nThe above copyright notice and this permission notice shall be included in all\r\ncopies or substantial portions of the Software.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\r\nSOFTWARE.\r\n*/\r\n\r\n//Testa se � electron, e troca o stderr e stdout para console.\r\n//Test if is Electon, and change sterr e stdout for console.\r\nif (process.versions.electron) {\r\n\tprocess.stderr.write = console.error.bind(console);\r\n\tprocess.stdout.write = console.log.bind(console);\r\n}\r\n\r\n//Requeries\r\nvar fs = require('fs');\r\nvar SQL = require('sql.js');\r\nvar path = require('path');\r\nvar events = require('events');\r\n\r\n//Buffers storage for shared memory\r\nconst memoryBuffers = {};\r\n\r\n//Variables\r\nsqlite.prototype.db = null;\r\nsqlite.prototype.buffer = null;\r\nsqlite.prototype.writer = null;\r\nsqlite.prototype.file = null;\r\nsqlite.prototype.sharedMemory = false;\r\nsqlite.prototype.sql = '';\r\nsqlite.prototype.debug = false;\r\n\r\nfunction sqlite() {\r\n\r\n}\r\n\r\n/**\r\n * Database connection\r\n *\r\n * @param {String|Object} db - File directory+filename | buffer\r\n * @return {Object}\r\n */\r\nsqlite.prototype.connect = function (db) {\r\n\tif (typeof (db) == 'string') {\r\n\t\tconst fileMemory = db.indexOf('file::memory:') === 0;\r\n\t\tthis.file = db;\r\n\t\tif ((db.includes('mode=memory') || fileMemory) && db.includes('cache=shared')) {\r\n\t\t\tthis.sharedMemory = true;\r\n\t\t\tthis.file = this.file.split('?')[0];\r\n\t\t\tif (!(this.file in memoryBuffers)) {\r\n\t\t\t\tmemoryBuffers[this.file] = new Buffer(0);\r\n\t\t\t}\r\n\t\t\tthis.buffer = memoryBuffers[this.file];\r\n\t\t} else if (!db || db === ':memory:' || fileMemory) {\r\n\t\t\tthis.buffer = new Buffer(0);\r\n\t\t} else if (fs.existsSync(this.file)) {\r\n\t\t\tthis.buffer = fs.readFileSync(this.file);\r\n\t\t}\r\n\t} else if (typeof (db) == \"object\") {\r\n\t\tthis.buffer = db;\r\n\t}\r\n\r\n\tif (this.buffer) {\r\n\t\ttry {\r\n\t\t\tthis.db = new SQL.Database(this.buffer);\r\n\t\t} catch (x) {\r\n\t\t\tthrow x;\r\n\t\t}\r\n\t} else {\r\n\t\ttry {\r\n\t\t\tthis.db = new SQL.Database();\r\n\t\t\tthis.write();\r\n\t\t} catch (x) {\r\n\t\t\tthrow x;\r\n\t\t}\r\n\t}\r\n\r\n\treturn this;\r\n}\r\n\r\n/**\r\n * Alternative connection\r\n */\r\nsqlite.prototype.con = sqlite.prototype.connect;\r\n\r\n/**\r\n * Runing queries | Sync & Async\r\n *\r\n * @param {String} sql - SQL code\r\n * @param {Array|Function} options - Array to prepared sql | callback function\r\n * @param {Function} callback - callback function\r\n * @return {Array|Object}\r\n */\r\nsqlite.prototype.run = function (sql, options, callback) {\r\n\tif (typeof (options) == \"function\") {\r\n\t\tcallback = options;\r\n\t\toptions = [];\r\n\t}\r\n\tvar results;\r\n\tvar type = sql.substring(0, 6);\r\n\ttype = type.toUpperCase();\r\n\tif (type.startsWith('WITH')) {\r\n\t\ttype = 'WITH';\r\n\t}\r\n\tswitch (type) {\r\n\t\tcase \"SELECT\":\r\n\t\tcase \"WITH\":\r\n\t\t\tresults = this.pvSELECT(sql, options);\r\n\t\t\tbreak;\r\n\t\tcase \"INSERT\":\r\n\t\t\tresults = this.pvINSERT(sql, options);\r\n\t\t\tbreak;\r\n\t\tcase \"UPDATE\":\r\n\t\t\tresults = this.pvUPDATE(sql, options);\r\n\t\t\tbreak;\r\n\t\tcase \"DELETE\":\r\n\t\t\tresults = this.pvDELETE(sql, options);\r\n\t\t\tbreak;\r\n\t\tcase \"PRAGMA\":\r\n\t\t\tresults = this.pvPRAGMA(sql, options);\r\n\t\t\tbreak;\r\n\t\tdefault:\r\n\t\t\tresults = this.runAll(sql)\r\n\t}\r\n\tif (callback) {\r\n\t\tcallback(results);\r\n\t\treturn this;\r\n\t} else {\r\n\t\treturn results;\r\n\t}\r\n};\r\n\r\n/**\r\n   * Runing queries Async\r\n   *\r\n   * @param {String} sql - SQL code\r\n   * @param {Array|Function} options - Array to prepared sql | callback function\r\n   * @param {Function} callback - callback function\r\n   * @return {Array|Object} \r\n\r\n   * @deprecated This function will no longer be used soon!\r\n   */\r\nsqlite.prototype.runAsync = function (sql, options, callback) {\r\n\tthis.sql = sql;\r\n\tif (typeof (options) == \"function\") {\r\n\t\toptions(this.run(sql));\r\n\t} else if (typeof (callback) == \"function\") {\r\n\t\tcallback(this.run(sql, options));\r\n\t} else {\r\n\t\tthis.run(sql, options);\r\n\t}\r\n\treturn this;\r\n}\r\n\r\n/**\r\n * PRAGMA statements\r\n *\r\n * @param {String} sql - SQL statement\r\n * @param {Array} where - Array ti prepared sql\r\n * @return {Object}\r\n */\r\nsqlite.prototype.pvPRAGMA = function (sql, where) {\r\n\tif ((sql.split('=')).length > 1) {\r\n\t\t// update\r\n\t\treturn this.pvUPDATE(sql, where);\r\n\t} else {\r\n\t\t// get\r\n\t\treturn this.pvSELECT(sql, where);\r\n\t}\r\n};\r\n\r\n/**\r\n * Runing selects - PRIVATE\r\n *\r\n * @param {String}  sql - SQL code\r\n * @param {Array} where - Array to prepared sql \r\n * @return {Object}\r\n */\r\nsqlite.prototype.pvSELECT = function (sql, where) {\r\n\tif (where) {\r\n\t\tfor (var i = 0; i < where.length; i++) {\r\n\t\t\tsql = sql.replace('?', \":arg\" + i);\r\n\t\t}\r\n\t}\r\n\tthis.sql = sql;\r\n\ttry {\r\n\t\tvar stmt = this.db.prepare(sql);\r\n\t\tstmt.bind(where);\r\n\t\tvar resultado = [];\r\n\t\twhile (stmt.step()) {\r\n\t\t\tresultado.push(stmt.getAsObject());\r\n\t\t}\r\n\t\tstmt.free();\r\n\t\treturn resultado;\r\n\t} catch (x) {\r\n\t\tif (this.debug) {\r\n\t\t\tthrow x;\r\n\t\t}\r\n\t\treturn {\r\n\t\t\terror: x\r\n\t\t}\r\n\t}\r\n}\r\n\r\n/**\r\n * Runing deletes - PRIVATE\r\n *\r\n * @param {String}  sql - SQL code\r\n * @param {Array} where - Array to prepared sql \r\n * @return {Boo}\r\n */\r\nsqlite.prototype.pvDELETE = function (sql, where) {\r\n\tif (where) {\r\n\t\tfor (var i = 0; i < where.length; i++) {\r\n\t\t\tsql = sql.replace('?', \":arg\" + i);\r\n\t\t}\r\n\t}\r\n\tthis.sql = sql;\r\n\ttry {\r\n\t\tvar stmt = this.db.prepare(sql);\r\n\t\tstmt.bind(where);\r\n\t\tstmt.step();\r\n\t\tstmt.free();\r\n\t\tthis.write();\r\n\t\treturn this.db.getRowsModified();\r\n\t} catch (x) {\r\n\t\tif (this.debug) {\r\n\t\t\tthrow x;\r\n\t\t}\r\n\t\treturn {\r\n\t\t\terror: x\r\n\t\t};\r\n\t}\r\n}\r\n\r\n/**\r\n * Runing insets - PRIVATE\r\n *\r\n * @param {String}  sql - SQL code\r\n * @param {Array} data - Array to prepared sql \r\n * @return {Int} last insert id\r\n */\r\nsqlite.prototype.pvINSERT = function (sql, data) {\r\n\tif (data) {\r\n\t\tfor (var i = 0; i < data.length; i++) {\r\n\t\t\tsql = sql.replace('?', \":arg\" + i);\r\n\t\t}\r\n\t}\r\n\tthis.sql = sql;\r\n\ttry {\r\n\t\tvar stmt = this.db.prepare(sql);\r\n\t\tstmt.bind(data);\r\n\t\tstmt.step();\r\n\t\tstmt.free();\r\n\t\tvar last = this.pvSELECT(\"SELECT last_insert_rowid()\");\r\n\t\tthis.write();\r\n\t\treturn last[0]['last_insert_rowid()'];\r\n\t} catch (x) {\r\n\t\tif (this.debug) {\r\n\t\t\tthrow x;\r\n\t\t}\r\n\t\treturn {\r\n\t\t\terror: x\r\n\t\t};\r\n\t}\r\n\r\n}\r\n\r\n/**\r\n * Runing updates - PRIVATE\r\n *\r\n * @param {String}  sql - SQL code\r\n * @param {Array} data - Array to prepared sql \r\n * @return {Boo} \r\n */\r\nsqlite.prototype.pvUPDATE = function (sql, data) {\r\n\tif (data) {\r\n\t\tfor (var i = 0; i < data.length; i++) {\r\n\t\t\tsql = sql.replace('?', \":arg\" + i);\r\n\t\t}\r\n\t}\r\n\tthis.sql = sql;\r\n\ttry {\r\n\t\tvar stmt = this.db.prepare(sql);\r\n\t\tstmt.bind(data);\r\n\t\tstmt.step();\r\n\t\tstmt.free();\r\n\t\tthis.write();\r\n\t\treturn this.db.getRowsModified();\r\n\t} catch (x) {\r\n\t\tif (this.debug) {\r\n\t\t\tthrow x;\r\n\t\t}\r\n\t\treturn {\r\n\t\t\terror: x\r\n\t\t};\r\n\t}\r\n}\r\n\r\n/**\r\n * Runing INSERT - Publics\r\n *\r\n * @param {String}  entity - Name of database table\r\n * @param {Object} data - Object to be inserted\r\n * @param {Function} callback - callback function\r\n * @return {Int|Object} - insert id | instance\r\n */\r\nsqlite.prototype.insert = function (entity, data, callback) {\r\n\tvar keys = [];\r\n\tvar values = []\r\n\tvar binds = [];\r\n\tfor (key in data) {\r\n\t\tif (!data.hasOwnProperty(key)) continue;\r\n\t\tkeys.push(key);\r\n\t\tvalues.push(data[key]);\r\n\t\tbinds.push('?');\r\n\t}\r\n\r\n\tvar sql = \"INSERT INTO \" + entity + \" (\" + keys.join(',') + \") VALUES (\" + binds.join(\",\") + \")\";\r\n\tthis.sql = sql;\r\n\tif (callback) {\r\n\t\tcallback(this.run(sql, values));\r\n\t\treturn this;\r\n\t} else {\r\n\t\treturn this.run(sql, values);\r\n\t}\r\n}\r\n\r\n/**\r\n * Runing UPDATE - Publics\r\n *\r\n * @param {String}  entity - Name of database table\r\n * @param {Object} data - Object to be updated\r\n * @param {Object|Function} clause - Object with wheres | callback function\r\n * @param {Function} callback - callback function\r\n * @return {Boo|Object} - result | instance\r\n */\r\nsqlite.prototype.update = function (entity, data, clause, callback) {\r\n\tvar sets = [];\r\n\tvar where = [];\r\n\tif (typeof (clause) == \"function\") {\r\n\t\tcallback = clause;\r\n\t\tclause = {};\r\n\t}\r\n\tvar values = [];\r\n\tfor (key in data) {\r\n\t\tif (!data.hasOwnProperty(key)) continue;\r\n\t\tsets.push(key + \" = ?\");\r\n\t\tvalues.push(data[key]);\r\n\t}\r\n\tfor (key in clause) {\r\n\t\tif (!clause.hasOwnProperty(key)) continue;\r\n\t\twhere.push(key + \" = ?\");\r\n\t\tvalues.push(clause[key]);\r\n\t}\r\n\r\n\tvar sql = \"UPDATE \" + entity + \" SET \" + sets.join(', ') + (where.length > 0 ? \" WHERE \" + where.join(\" AND \") : \"\");\r\n\r\n\tthis.sql = sql;\r\n\r\n\tif (callback) {\r\n\t\tcallback(this.run(sql, values));\r\n\t\treturn this;\r\n\t} else {\r\n\t\treturn this.run(sql, values);\r\n\t}\r\n}\r\n\r\n/**\r\n * Runing DELETE - Publics\r\n *\r\n * @param {String}  entity - Name of database table\r\n * @param {Object|Function} clause - Object with wheres | callback function\r\n * @param {Function} callback - callback function\r\n * @return {Boo|Object} - result | instance\r\n */\r\nsqlite.prototype.delete = function (entity, clause, callback) {\r\n\tvar where = [];\r\n\tif (typeof (clause) == \"function\") {\r\n\t\tcallback = clause;\r\n\t\tclause = [];\r\n\t}\r\n\r\n\tvar values = [];\r\n\tif (clause) {\r\n\t\tfor (key in clause) {\r\n\t\t\tif (!clause.hasOwnProperty(key)) continue;\r\n\t\t\twhere.push(key + \" = ?\");\r\n\t\t\tvalues.push(clause[key]);\r\n\t\t}\r\n\t}\r\n\r\n\tvar sql = \"DELETE FROM \" + entity + \" WHERE \" + where.join(\" AND \");\r\n\r\n\tthis.sql = sql;\r\n\r\n\tvar result = this.pvDELETE(sql, values);\r\n\r\n\tif (callback) {\r\n\t\tcallback(result);\r\n\t\treturn this;\r\n\t} else {\r\n\t\treturn result;\r\n\t}\r\n}\r\n\r\n/**\r\n * Runing All - PRIVATE\r\n *\r\n * @param {String}  sql - SQL\r\n * @return {Boo} \r\n */\r\nsqlite.prototype.runAll = function (sql) {\r\n\tthis.sql = sql;\r\n\ttry {\r\n\t\tvar tes = this.db.exec(sql)\r\n\t\tthis.write();\r\n\t\treturn tes;\r\n\t} catch (x) {\r\n\t\tif (this.debug) {\r\n\t\t\tthrow x;\r\n\t\t}\r\n\t\treturn {\r\n\t\t\terror: x\r\n\t\t};\r\n\t}\r\n}\r\n\r\n/**\r\n * Writing file or calling buffer callback\r\n *\r\n * @return {Object} \r\n */\r\nsqlite.prototype.write = function () {\r\n\tvar data = this.db.export();\r\n\tvar buffer = new Buffer(data);\r\n\r\n\tif (this.sharedMemory) {\r\n\t\tmemoryBuffers[this.file] = buffer;\r\n\t} else if (this.file) {\r\n\t\tfs.writeFileSync(this.file, buffer);\r\n\t} else if (this.writer && typeof (this.writer) == 'function') {\r\n\t\tthis.writer(buffer);\r\n\t}\r\n\treturn this;\r\n}\r\n\r\n/*\r\n * Creating functions\r\n *\r\n * @param {Function} func - the function\r\n * @return {Object} \r\n */\r\nsqlite.prototype.create_function = function (func) {\r\n\tthis.db.create_function(func.name, func);\r\n}\r\n\r\n/**\r\n * Closing connection\r\n */\r\nsqlite.prototype.close = function () {\r\n\tthis.db.close();\r\n}\r\n\r\n/**\r\n * Get current sql\r\n * @return {String}\r\n */\r\nsqlite.prototype.getSql = function () {\r\n\treturn this.sql;\r\n}\r\n\r\n// Exporting module\r\nmodule.exports = new sqlite();"]}