'use strict'; const HighwayHash = require('./build/Release/highwayhash.node'); const assertKey = function (key) { if (!(Buffer.isBuffer(key) && key.length === 32)) { throw new Error('Expected key to be a 32 byte Buffer: ' + key); } }; const assertInput = function (input) { if (!Buffer.isBuffer(input)) { throw new Error('Expected input to be a Buffer: ' + input); } }; module.exports = { asBuffer: function (key, input) { assertKey(key); assertInput(input); return HighwayHash.AsBuffer(key, input); }, asString: function (key, input) { assertKey(key); assertInput(input); return HighwayHash.AsString(key, input); }, asHexString: function (key, input) { assertKey(key); assertInput(input); return HighwayHash.AsHexString(key, input); }, asUInt32Low: function (key, input) { assertKey(key); assertInput(input); return HighwayHash.AsUInt32Low(key, input); }, asUInt32High: function (key, input) { assertKey(key); assertInput(input); return HighwayHash.AsUInt32High(key, input); } };