almond.0 1.65 KB
Newer Older
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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
/*
 * Curve 25519-based cryptography collection.
 *
 * EC Diffie-Hellman (ECDH) based on Curve25519 and digital signatures (EdDSA)
 * based on Ed25519.
 *
 * Copyright (c) 2012 Ron Garret
 * Copyright (c) 2007, 2013, 2014 Michele Bini
 * Copyright (c) 2014 Mega Limited
 * under the MIT License.
 *
 * You should have received a copy of the license along with this program.
 */
// See https://github.com/jrburke/almond#exporting-a-public-api
(function (root, factory) {
    if (typeof define === 'function' && define.amd) {
        // Allow using this built library as an AMD module
        // in another project. That other project will only
        // see this AMD call, not the internal modules in
        // the closure below.
        define([], factory);
    } else if (typeof module === 'object' && module.exports) {
        // Allow using this built library as a CommonJS module
        module.exports = factory();
    } else {
        // Browser globals case. Just assign the
        // result to a property on the global.
        root.jodid25519 = factory();
    }
}(this, function () {
    if (typeof module === 'object' && module.exports) {
        // If we're running under CommonJS, our dependencies get confused and
        // each clobber module.exports which leads to bad behaviour because
        // almond does asynchronous loading. So just pretend we're in the
        // browser globals case, and make them write to those values instead.
        // TODO: ditch requirejs/almond and use browserify or something.
        var __oldModule = module;
        var __oldExports = exports;
        var window = global;
        module = undefined;
        exports = undefined;
    }