Compare commits

...
2 Commits
Author SHA1 Message Date
Mathias Buus 0227f45c6b 0.7.3 2020-11-13 16:46:11 +01:00
Mathias Buus ca32540960 load the sink just in time 2020-11-13 16:46:06 +01:00
2 changed files with 12 additions and 5 deletions
+11 -4
View File
@@ -1,21 +1,28 @@
/* eslint-disable camelcase */ /* eslint-disable camelcase */
var MessageChannel = global.MessageChannel
if (MessageChannel == null) ({ MessageChannel } = require('worker' + '_threads'))
function sodium_malloc (n) { function sodium_malloc (n) {
return new Uint8Array(n) return new Uint8Array(n)
} }
const sink = new MessageChannel()
function sodium_free (n) { function sodium_free (n) {
sodium_memzero(n) sodium_memzero(n)
sink.port1.postMessage(n.buffer, [n.buffer]) loadSink().port1.postMessage(n.buffer, [n.buffer])
} }
function sodium_memzero (arr) { function sodium_memzero (arr) {
arr.fill(0) arr.fill(0)
} }
var sink
function loadSink () {
if (sink) return sink
var MessageChannel = global.MessageChannel
if (MessageChannel == null) ({ MessageChannel } = require('worker' + '_threads'))
sink = new MessageChannel()
return sink
}
module.exports = { module.exports = {
sodium_malloc, sodium_malloc,
sodium_free, sodium_free,
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "sodium-javascript", "name": "sodium-javascript",
"version": "0.7.2", "version": "0.7.3",
"description": "WIP - a pure javascript version of sodium-native", "description": "WIP - a pure javascript version of sodium-native",
"main": "index.js", "main": "index.js",
"dependencies": { "dependencies": {