Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0227f45c6b | ||
|
|
ca32540960 |
@@ -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
@@ -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": {
|
||||||
|
|||||||
Reference in New Issue
Block a user