UNPKG

1.23 kBJavaScriptView Raw
1/* jshint asi: true, node: true, laxbreak: true, laxcomma: true, undef: true, unused: true */
2/* global self */
3
4var anonize = require('node-anonize2-relic-emscripten')
5
6self.onmessage = function (evt) {
7 var request = evt.data
8
9 var d = function (err, result) {
10 self.postMessage({ msgno: request.msgno, err: err, result: result })
11 }
12
13 var f = {
14 request:
15 function () {
16 var credential = new anonize.Credential(request.payload.credential)
17 var proof = credential.request()
18
19 return { credential: JSON.stringify(credential), proof: proof }
20 },
21
22 finalize:
23 function () {
24 var credential = new anonize.Credential(request.payload.credential)
25
26 credential.finalize(request.payload.verification)
27 return { credential: JSON.stringify(credential) }
28 },
29
30 submit:
31 function () {
32 var credential = new anonize.Credential(request.payload.credential)
33 var surveyor = new anonize.Surveyor(request.payload.surveyor)
34
35 return { payload: { proof: credential.submit(surveyor, request.payload.data) } }
36 }
37 }[request.operation]
38 if (!f) return d('invalid operation')
39
40 try {
41 d(null, f())
42 } catch (ex) {
43 d(ex.toString())
44 }
45}