react-native-quick-crypto
Version:
A fast implementation of Node's `crypto` module written in C/C++ JSI
232 lines (224 loc) • 7.58 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _exportNames = {
install: true,
constants: true,
subtle: true,
isCryptoKeyPair: true
};
Object.defineProperty(exports, "constants", {
enumerable: true,
get: function () {
return _constants.constants;
}
});
exports.install = exports.default = void 0;
Object.defineProperty(exports, "isCryptoKeyPair", {
enumerable: true,
get: function () {
return subtle.isCryptoKeyPair;
}
});
Object.defineProperty(exports, "subtle", {
enumerable: true,
get: function () {
return subtle.subtle;
}
});
var _reactNativeBuffer = require("@craftzdog/react-native-buffer");
var keys = _interopRequireWildcard(require("./keys"));
Object.keys(keys).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === keys[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return keys[key];
}
});
});
var blake3 = _interopRequireWildcard(require("./blake3"));
Object.keys(blake3).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === blake3[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return blake3[key];
}
});
});
var cipher = _interopRequireWildcard(require("./cipher"));
Object.keys(cipher).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === cipher[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return cipher[key];
}
});
});
var ed = _interopRequireWildcard(require("./ed"));
Object.keys(ed).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === ed[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return ed[key];
}
});
});
var _hash = require("./hash");
Object.keys(_hash).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === _hash[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return _hash[key];
}
});
});
var _hmac = require("./hmac");
Object.keys(_hmac).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === _hmac[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return _hmac[key];
}
});
});
var hkdf = _interopRequireWildcard(require("./hkdf"));
Object.keys(hkdf).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === hkdf[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return hkdf[key];
}
});
});
var pbkdf2 = _interopRequireWildcard(require("./pbkdf2"));
Object.keys(pbkdf2).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === pbkdf2[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return pbkdf2[key];
}
});
});
var scrypt = _interopRequireWildcard(require("./scrypt"));
Object.keys(scrypt).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === scrypt[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return scrypt[key];
}
});
});
var random = _interopRequireWildcard(require("./random"));
Object.keys(random).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === random[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return random[key];
}
});
});
var _constants = require("./constants");
var utils = _interopRequireWildcard(require("./utils"));
Object.keys(utils).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === utils[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return utils[key];
}
});
});
var subtle = _interopRequireWildcard(require("./subtle"));
Object.keys(subtle).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === subtle[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return subtle[key];
}
});
});
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
// polyfill imports
// API imports
// utils import
/**
* Loosely matches Node.js {crypto} with some unimplemented functionality.
* See `docs/implementation-coverage.md` for status.
*/
const QuickCrypto = {
...keys,
...blake3,
...cipher,
...ed,
..._hash.hashExports,
..._hmac.hmacExports,
...hkdf,
...pbkdf2,
...scrypt,
...random,
...utils,
...subtle,
constants: _constants.constants
};
/**
* Optional. Patch global.crypto with react-native-quick-crypto and
* global.Buffer with react-native-buffer.
*/
const install = () => {
// @ts-expect-error copyBytesFrom and poolSizets are missing from react-native-buffer
global.Buffer = _reactNativeBuffer.Buffer;
// @ts-expect-error subtle isn't fully implemented and Cryptokey is missing
global.crypto = QuickCrypto;
};
// random, cipher, hash use nextTick
exports.install = install;
if (global.process == null) {
// @ts-expect-error - process is not defined
global.process = {};
}
if (global.process.nextTick == null) {
global.process.nextTick = setImmediate;
}
// exports
var _default = exports.default = QuickCrypto;
// Additional exports for CommonJS compatibility
module.exports = QuickCrypto;
module.exports.default = QuickCrypto;
module.exports.install = install;
//# sourceMappingURL=index.js.map