Download packages/coding-agent/src/utils/image-resize-worker.ts from SaylorTwift/pi: direct link, hf CLI and curl.
- Browser
- Download file 1.32 kB
-
https://huggingface.co/SaylorTwift/pi/resolve/main/packages/coding-agent/src/utils/image-resize-worker.ts
- Command line
-
hf download hf://SaylorTwift/pi/packages/coding-agent/src/utils/image-resize-worker.ts
-
curl -L -o image-resize-worker.ts https://huggingface.co/SaylorTwift/pi/resolve/main/packages/coding-agent/src/utils/image-resize-worker.ts
1.32 kB
| import { parentPort } from "node:worker_threads"; | |
| import { type ImageResizeOptions, type ResizedImage, resizeImageInProcess } from "./image-resize-core.ts"; | |
| interface ResizeImageWorkerRequest { | |
| inputBytes: Uint8Array; | |
| mimeType: string; | |
| options?: ImageResizeOptions; | |
| } | |
| interface ResizeImageWorkerResponse { | |
| result?: ResizedImage | null; | |
| error?: string; | |
| } | |
| function isResizeImageWorkerRequest(value: unknown): value is ResizeImageWorkerRequest { | |
| if (!value || typeof value !== "object") return false; | |
| const record = value as Record<string, unknown>; | |
| return record.inputBytes instanceof Uint8Array && typeof record.mimeType === "string"; | |
| } | |
| const port = parentPort; | |
| if (!port) { | |
| throw new Error("image resize worker requires parentPort"); | |
| } | |
| port.once("message", (message: unknown) => { | |
| void (async () => { | |
| try { | |
| if (!isResizeImageWorkerRequest(message)) { | |
| throw new Error("Invalid image resize worker request"); | |
| } | |
| const result = await resizeImageInProcess(message.inputBytes, message.mimeType, message.options); | |
| const response: ResizeImageWorkerResponse = { result }; | |
| port.postMessage(response); | |
| } catch (error) { | |
| const response: ResizeImageWorkerResponse = { | |
| error: error instanceof Error ? error.message : String(error), | |
| }; | |
| port.postMessage(response); | |
| } | |
| })(); | |
| }); | |