MCPcopy Index your code
hub / github.com/andywer/threads.js / createProxyFunction

Function createProxyFunction

src/master/invocation-proxy.ts:118–139  ·  view source on GitHub ↗
(worker: WorkerType, method?: string)

Source from the content-addressed store, hash-verified

116}
117
118export function createProxyFunction<Args extends any[], ReturnType>(worker: WorkerType, method?: string) {
119 return ((...rawArgs: Args) => {
120 const uid = nextJobUID++
121 const { args, transferables } = prepareArguments(rawArgs)
122 const runMessage: MasterJobRunMessage = {
123 type: MasterMessageType.run,
124 uid,
125 method,
126 args
127 }
128
129 debugMessages("Sending command to run function to worker:", runMessage)
130
131 try {
132 worker.postMessage(runMessage, transferables)
133 } catch (error) {
134 return ObservablePromise.from(Promise.reject(error))
135 }
136
137 return ObservablePromise.from(multicast(createObservableForJob<ReturnType>(worker, uid)))
138 }) as any as ProxyableFunction<Args, ReturnType>
139}
140
141export function createProxyModule<Methods extends ModuleMethods>(
142 worker: WorkerType,

Callers 2

spawnFunction · 0.90
createProxyModuleFunction · 0.85

Calls 4

prepareArgumentsFunction · 0.85
createObservableForJobFunction · 0.85
fromMethod · 0.80
postMessageMethod · 0.65

Tested by

no test coverage detected