1
0
mirror of https://github.com/lana-k/sqliteviz.git synced 2025-12-07 18:48:55 +08:00
Files
sqliteviz/src/lib/database/_worker.js
lana-k 99a10225a3 CSV import as a table and db connection rework
- Add csv to existing db #32
- [RFE] Simplify working with temporary tables #53
2021-05-24 19:40:47 +02:00

43 lines
886 B
JavaScript

import registerPromiseWorker from 'promise-worker/register'
import Sql from './_sql'
const sqlReady = Sql.build()
function processMsg (sql) {
const data = this
switch (data && data.action) {
case 'open':
return sql.open(data.buffer)
case 'reopen':
return sql.open(sql.export())
case 'exec':
return sql.exec(data.sql, data.params)
case 'import':
return sql.import(
data.tabName,
data.columns,
data.values,
data.progressCounterId,
postMessage
)
case 'export':
return sql.export()
case 'close':
return sql.close()
default:
throw new Error('Invalid action : ' + (data && data.action))
}
}
function onError (error) {
return {
error: error.message
}
}
registerPromiseWorker(data => {
return sqlReady
.then(processMsg.bind(data))
.catch(onError)
})