MCPcopy Index your code
hub / github.com/simstudioai/sim / getWorker

Function getWorker

apps/sim/lib/pptx-renderer/utils/pdf-renderer.ts:95–131  ·  view source on GitHub ↗
(_pdfjsUrl: string)

Source from the content-addressed store, hash-verified

93>()
94
95function getWorker(_pdfjsUrl: string): Worker | null {
96 if (_workerFailed) return null
97 if (_worker) return _worker
98
99 try {
100 const blob = new Blob([WORKER_SRC], { type: 'text/javascript' })
101 const url = URL.createObjectURL(blob)
102 _worker = new Worker(url, { type: 'module' })
103
104 _worker.onmessage = (e: MessageEvent) => {
105 const { id, blob, error } = e.data
106 const entry = _pending.get(id)
107 if (!entry) return
108 _pending.delete(id)
109 if (error) {
110 entry.resolve(null) // Treat worker-side errors as "no result"
111 } else {
112 entry.resolve(blob ?? null)
113 }
114 }
115
116 _worker.onerror = () => {
117 // Worker failed to initialize (e.g. module import blocked by CSP)
118 _workerFailed = true
119 _worker = null
120 for (const [, entry] of _pending) {
121 entry.resolve(null)
122 }
123 _pending.clear()
124 }
125
126 return _worker
127 } catch {
128 _workerFailed = true
129 return null
130 }
131}
132
133function renderInWorker(
134 pdfData: Uint8Array,

Callers 1

renderInWorkerFunction · 0.70

Calls 4

getMethod · 0.65
deleteMethod · 0.65
resolveMethod · 0.65
clearMethod · 0.65

Tested by

no test coverage detected