mirror of
https://github.com/lana-k/sqliteviz.git
synced 2025-12-07 10:38:54 +08:00
35 lines
768 B
JavaScript
35 lines
768 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 'exec':
|
|
return sql.exec(data.sql, data.params)
|
|
case 'import':
|
|
return sql.import(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)
|
|
})
|