aboutsummaryrefslogtreecommitdiff
path: root/javascript/olm_pre.js
blob: 611488b6d7d453cfb516dd7c01c1dcfab9aca1c6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
var olm_exports = {};
var get_random_values;
var process; // Shadow the process object so that emscripten won't get
             // confused by browserify

if (typeof(window) !== 'undefined') {
    // We've in a browser (directly, via browserify, or via webpack).
    get_random_values = function(buf) {
        window.crypto.getRandomValues(buf);
    };
} else if (module["exports"]) {
    // We're running in node.
    var nodeCrypto = require("crypto");
    get_random_values = function(buf) {
        var bytes = nodeCrypto.randomBytes(buf.length);
        buf.set(bytes);
    };
    process = global["process"];
} else {
    throw new Error("Cannot find global to attach library to");
}

(function() {
    var module; // Shadow the Node 'module' object so that emscripten won't try
                // to fiddle with it.