mirror of
https://github.com/cupcakearmy/cryptgeon.git
synced 2026-09-26 20:41:45 +00:00
feat: move calculation intensive part into a web worker
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
import type { WorkerConract } from '$lib/worker'
|
||||
import { packContent, unpackContent } from '@cryptgeon/shared'
|
||||
import { expose, transfer } from 'comlink'
|
||||
|
||||
const contract: WorkerConract = {
|
||||
pack(input, password) {
|
||||
const content = packContent(input, password)
|
||||
return transfer(content, [content.data.buffer, content.extra.buffer, content.key.buffer])
|
||||
},
|
||||
unpack(data, key) {
|
||||
const content = unpackContent(data, key)
|
||||
return transfer(
|
||||
content,
|
||||
typeof content.data === 'string' ? [] : content.data.map((f) => f.data.buffer)
|
||||
)
|
||||
},
|
||||
}
|
||||
|
||||
expose(contract)
|
||||
Reference in New Issue
Block a user