11/* eslint-disable no-case-declarations */
2- import { WorkerMessageTypes , type WorkerMessage , type TableExistsResponseData } from '../types' ;
2+ import {
3+ WorkerMessageTypes ,
4+ type WorkerMessage ,
5+ type TableExistsResponseData ,
6+ type CreateTableResponseData ,
7+ type CreateTableRequestData
8+ } from '../types' ;
39import { initDb } from './initDb' ;
4- import { handleTableExists } from './storageHandlers' ;
10+ import { handleCreateTable , handleTableExists } from './storageHandlers' ;
511
612console . log ( 'worker loaded' ) ;
713
@@ -11,7 +17,7 @@ function sendMsgToMain(obj: WorkerMessage<unknown>) {
1117
1218( async function ( ) {
1319 addEventListener ( 'message' , async function ( { data } : { data : WorkerMessage < unknown > } ) {
14- console . log ( 'worker received message:' , data . type ) ;
20+ console . log ( 'worker received message:' , data ) ;
1521
1622 switch ( data . type ) {
1723 case WorkerMessageTypes . INIT_DB :
@@ -42,6 +48,19 @@ function sendMsgToMain(obj: WorkerMessage<unknown>) {
4248 sendMsgToMain ( tableExistsResult ) ;
4349 break ;
4450
51+ case WorkerMessageTypes . CREATE_TABLE :
52+ const createTableData = await handleCreateTable (
53+ data as WorkerMessage < CreateTableRequestData >
54+ ) ;
55+
56+ const createTableResult : WorkerMessage < CreateTableResponseData > = {
57+ type : WorkerMessageTypes . CREATE_TABLE_RESPONSE ,
58+ messageId : data . messageId ,
59+ storageId : data . storageId ,
60+ data : createTableData
61+ } ;
62+ sendMsgToMain ( createTableResult ) ;
63+ break ;
4564 default :
4665 throw new Error ( `Unknown message type: ${ data . type } ` ) ;
4766 }
0 commit comments