From 9be00ea4afb33b271e2eb32f2c8ba3e25ee611dd Mon Sep 17 00:00:00 2001 From: Neko Ayaka Date: Thu, 27 Feb 2025 19:40:14 +0800 Subject: [PATCH] fix(providers-transformers): progress support Signed-off-by: Neko Ayaka --- .../playground/src/App.vue | 36 ++++++++++++++++++- .../playground/src/components/Progress.vue | 27 ++++++++++++++ packages/provider-transformers/src/index.ts | 22 ++++++++---- 3 files changed, 77 insertions(+), 8 deletions(-) create mode 100644 packages/provider-transformers/playground/src/components/Progress.vue diff --git a/packages/provider-transformers/playground/src/App.vue b/packages/provider-transformers/playground/src/App.vue index d3823d0..76b9871 100644 --- a/packages/provider-transformers/playground/src/App.vue +++ b/packages/provider-transformers/playground/src/App.vue @@ -1,4 +1,6 @@ + + diff --git a/packages/provider-transformers/src/index.ts b/packages/provider-transformers/src/index.ts index f0eb0d4..d780194 100644 --- a/packages/provider-transformers/src/index.ts +++ b/packages/provider-transformers/src/index.ts @@ -15,6 +15,9 @@ export function createEmbedProvider((resolve, reject) => { + const onProgress = options.onProgress + delete options.onProgress + try { const workerURL = new URL(createOptions.baseURL) @@ -29,7 +32,7 @@ export function createEmbedProvider) => { + worker.addEventListener('message', (event: MessageEvent) => { switch (event.data.type) { case 'error': reject(event.data.data.error) @@ -42,13 +45,13 @@ export function createEmbedProvider { + reject(event) + }) + let text: string = '' - let body: any + let body: LoadOptions & { input: string } try { body = JSON.parse(init.body.toString()) text = body.input delete body.input + delete body.onProgress } catch (err) { reject(err) @@ -78,7 +86,7 @@ export function createEmbedProvider) => { + worker.addEventListener('message', (event: MessageEvent) => { switch (event.data.type) { case 'error': errored = true @@ -94,7 +102,7 @@ export function createEmbedProvider