simple-squiggle

A restricted subset of Squiggle
Log | Files | Refs | README

worker.js (573B)


      1 importScripts('../../../lib/browser/math.js')
      2 
      3 // create a parser
      4 const parser = self.math.parser()
      5 
      6 self.addEventListener('message', function (event) {
      7   const request = JSON.parse(event.data)
      8   let result = null
      9   let err = null
     10 
     11   try {
     12     // evaluate the expression
     13     result = parser.evaluate(request.expr)
     14   } catch (e) {
     15     // return the error
     16     err = e
     17   }
     18 
     19   // build a response
     20   const response = {
     21     id: request.id,
     22     result: self.math.format(result),
     23     err: err
     24   }
     25 
     26   // send the response back
     27   self.postMessage(JSON.stringify(response))
     28 }, false)