one 2.6.19 → 2.6.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cpp/HybridOneCrypto.cpp +327 -1
- package/cpp/HybridOneCrypto.hpp +8 -0
- package/dist/cjs/index.cjs +25 -22
- package/dist/cjs/index.native.cjs +25 -22
- package/dist/cjs/index.native.js +25 -22
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/one.cjs +1 -0
- package/dist/cjs/one.native.cjs +1 -0
- package/dist/cjs/one.native.js +1 -0
- package/dist/cjs/one.native.js.map +1 -1
- package/dist/cjs/platform/crypto/aes.cjs +259 -0
- package/dist/cjs/platform/crypto/aes.native.cjs +343 -0
- package/dist/cjs/platform/crypto/aes.native.js +345 -0
- package/dist/cjs/platform/crypto/aes.native.js.map +1 -0
- package/dist/cjs/platform/crypto/bytes.cjs +132 -0
- package/dist/cjs/platform/crypto/bytes.native.cjs +175 -0
- package/dist/cjs/platform/crypto/bytes.native.js +177 -0
- package/dist/cjs/platform/crypto/bytes.native.js.map +1 -0
- package/dist/cjs/platform/crypto/digest-api.cjs +65 -0
- package/dist/cjs/platform/crypto/digest-api.native.cjs +69 -0
- package/dist/cjs/platform/crypto/digest-api.native.js +71 -0
- package/dist/cjs/platform/crypto/digest-api.native.js.map +1 -0
- package/dist/cjs/platform/crypto/digest.cjs +26 -15
- package/dist/cjs/platform/crypto/digest.native.cjs +26 -15
- package/dist/cjs/platform/crypto/digest.native.js +26 -15
- package/dist/cjs/platform/crypto/digest.native.js.map +1 -1
- package/dist/cjs/platform/crypto/index.cjs +19 -1
- package/dist/cjs/platform/crypto/index.native.cjs +39 -1
- package/dist/cjs/platform/crypto/index.native.js +39 -1
- package/dist/cjs/platform/crypto/index.native.js.map +1 -1
- package/dist/cjs/platform/crypto/types.cjs +16 -0
- package/dist/cjs/platform/crypto/types.native.cjs +18 -0
- package/dist/cjs/platform/crypto/types.native.js +20 -0
- package/dist/cjs/platform/crypto/types.native.js.map +1 -0
- package/dist/cjs/platform/crypto/web.cjs +73 -0
- package/dist/cjs/platform/extras.cjs +4 -0
- package/dist/cjs/platform/extras.native.cjs +4 -0
- package/dist/cjs/platform/extras.native.js +4 -0
- package/dist/cjs/platform/extras.native.js.map +1 -1
- package/dist/esm/index.js +2 -2
- package/dist/esm/index.mjs +2 -2
- package/dist/esm/index.native.js +2 -2
- package/dist/esm/one.mjs +2 -1
- package/dist/esm/one.mjs.map +1 -1
- package/dist/esm/one.native.js +2 -1
- package/dist/esm/one.native.js.map +1 -1
- package/dist/esm/platform/crypto/aes.mjs +236 -0
- package/dist/esm/platform/crypto/aes.mjs.map +1 -0
- package/dist/esm/platform/crypto/aes.native.js +318 -0
- package/dist/esm/platform/crypto/aes.native.js.map +1 -0
- package/dist/esm/platform/crypto/bytes.mjs +104 -0
- package/dist/esm/platform/crypto/bytes.mjs.map +1 -0
- package/dist/esm/platform/crypto/bytes.native.js +145 -0
- package/dist/esm/platform/crypto/bytes.native.js.map +1 -0
- package/dist/esm/platform/crypto/digest-api.mjs +42 -0
- package/dist/esm/platform/crypto/digest-api.mjs.map +1 -0
- package/dist/esm/platform/crypto/digest-api.native.js +44 -0
- package/dist/esm/platform/crypto/digest-api.native.js.map +1 -0
- package/dist/esm/platform/crypto/digest.mjs +23 -15
- package/dist/esm/platform/crypto/digest.mjs.map +1 -1
- package/dist/esm/platform/crypto/digest.native.js +23 -15
- package/dist/esm/platform/crypto/digest.native.js.map +1 -1
- package/dist/esm/platform/crypto/index.mjs +14 -1
- package/dist/esm/platform/crypto/index.mjs.map +1 -1
- package/dist/esm/platform/crypto/index.native.js +34 -1
- package/dist/esm/platform/crypto/index.native.js.map +1 -1
- package/dist/esm/platform/crypto/types.mjs +0 -0
- package/dist/esm/platform/crypto/types.native.js +0 -0
- package/dist/esm/platform/crypto/web.mjs +50 -0
- package/dist/esm/platform/crypto/web.mjs.map +1 -0
- package/dist/esm/platform/extras.mjs +2 -1
- package/dist/esm/platform/extras.native.js +2 -1
- package/nitrogen/generated/shared/c++/HybridOneCryptoSpec.cpp +2 -0
- package/nitrogen/generated/shared/c++/HybridOneCryptoSpec.hpp +4 -1
- package/package.json +12 -12
- package/src/index.ts +1 -0
- package/src/one.ts +3 -0
- package/src/platform/crypto/aes.ts +345 -0
- package/src/platform/crypto/bytes.ts +120 -0
- package/src/platform/crypto/digest-api.ts +50 -0
- package/src/platform/crypto/digest.ts +24 -15
- package/src/platform/crypto/index.native.ts +68 -0
- package/src/platform/crypto/index.ts +31 -0
- package/src/platform/crypto/types.ts +64 -0
- package/src/platform/crypto/web.ts +69 -0
- package/src/platform/extras.ts +15 -0
- package/src/platform/specs/OneCrypto.nitro.ts +19 -0
- package/types/index.d.ts +1 -0
- package/types/index.d.ts.map +1 -1
- package/types/one.d.ts +2 -1
- package/types/one.d.ts.map +1 -1
- package/types/platform/crypto/aes.d.ts +211 -0
- package/types/platform/crypto/aes.d.ts.map +1 -0
- package/types/platform/crypto/bytes.d.ts +8 -0
- package/types/platform/crypto/bytes.d.ts.map +1 -0
- package/types/platform/crypto/digest-api.d.ts +9 -0
- package/types/platform/crypto/digest-api.d.ts.map +1 -0
- package/types/platform/crypto/digest.d.ts +5 -0
- package/types/platform/crypto/digest.d.ts.map +1 -1
- package/types/platform/crypto/index.d.ts +127 -0
- package/types/platform/crypto/index.d.ts.map +1 -1
- package/types/platform/crypto/index.native.d.ts +127 -0
- package/types/platform/crypto/index.native.d.ts.map +1 -1
- package/types/platform/crypto/types.d.ts +43 -0
- package/types/platform/crypto/types.d.ts.map +1 -0
- package/types/platform/crypto/web.d.ts +5 -0
- package/types/platform/crypto/web.d.ts.map +1 -0
- package/types/platform/extras.d.ts +2 -0
- package/types/platform/extras.d.ts.map +1 -1
- package/types/platform/specs/OneCrypto.nitro.d.ts +2 -0
- package/types/platform/specs/OneCrypto.nitro.d.ts.map +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aes.native.js","names":[],"sources":["cjs/platform/crypto/aes.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar aes_exports = {};\n__export(aes_exports, {\n assertTagLength: () => assertTagLength,\n createAesApi: () => createAesApi,\n toBytes: () => toBytes\n});\nmodule.exports = __toCommonJS(aes_exports);\nvar import_bytes = require(\"./bytes\");\nfunction _class_call_check(instance, Constructor) {\n if (!(instance instanceof Constructor)) throw new TypeError(\"Cannot call a class as a function\");\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _create_class(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else obj[key] = value;\n return obj;\n}\nvar KEY_SIZES = [\n 128,\n 192,\n 256\n];\nvar TAG_LENGTHS = [\n 16,\n 15,\n 14,\n 13,\n 12,\n 8,\n 4\n];\nvar DEFAULT_IV_LENGTH = 12;\nvar DEFAULT_TAG_LENGTH = 16;\nfunction assertTagLength(tagLength, verb) {\n if (!TAG_LENGTHS.includes(tagLength)) {\n throw new Error(`${verb}: tagLength must be one of: ${TAG_LENGTHS.join(\", \")}`);\n }\n}\nfunction toBytes(input, verb) {\n if (typeof input === \"string\") return (0, import_bytes.base64ToBytes)(input, verb);\n if (input instanceof ArrayBuffer) return new Uint8Array(input.slice(0));\n if (ArrayBuffer.isView(input) && input.buffer instanceof ArrayBuffer) {\n return (0, import_bytes.exactBytes)(new Uint8Array(input.buffer, input.byteOffset, input.byteLength));\n }\n throw new TypeError(`${verb}: expected a base64 string, Uint8Array, or ArrayBuffer`);\n}\nvar sealedParts = /* @__PURE__ */ new WeakMap();\nvar keyBytes = /* @__PURE__ */ new WeakMap();\nfunction encodeParts(bytes, encoding) {\n return encoding === \"base64\" ? (0, import_bytes.bytesToBase64)(bytes) : (0, import_bytes.exactBytes)(bytes);\n}\nfunction createAesApi(engine) {\n var AESEncryptionKey = /* @__PURE__ */ (function() {\n \"use strict\";\n function AESEncryptionKey2(bytes) {\n _class_call_check(this, AESEncryptionKey2);\n _define_property(this, \"size\", void 0);\n if (!KEY_SIZES.includes(bytes.length * 8)) {\n throw new Error(`Crypto.AESEncryptionKey: key must be 128, 192, or 256 bits, got ${bytes.length * 8}`);\n }\n this.size = bytes.length * 8;\n keyBytes.set(this, (0, import_bytes.exactBytes)(bytes));\n }\n _create_class(AESEncryptionKey2, [\n {\n key: \"bytes\",\n value: async function bytes() {\n return (0, import_bytes.exactBytes)(keyBytes.get(this));\n }\n },\n {\n key: \"encoded\",\n value: async function encoded(encoding) {\n var bytes = keyBytes.get(this);\n if (encoding === \"hex\") return (0, import_bytes.bytesToHex)(bytes);\n if (encoding === \"base64\") return (0, import_bytes.bytesToBase64)(bytes);\n throw new Error(`Crypto.AESEncryptionKey.encoded: encoding must be 'hex' or 'base64'`);\n }\n }\n ], [\n {\n key: \"generate\",\n value: async function generate() {\n var size = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 256;\n if (!KEY_SIZES.includes(size)) {\n throw new Error(`Crypto.AESEncryptionKey.generate: size must be one of: ${KEY_SIZES.join(\", \")}`);\n }\n var bytes = new Uint8Array(size / 8);\n engine.random(bytes);\n return new AESEncryptionKey2(bytes);\n }\n },\n {\n key: \"import\",\n value: async function _import(input, encoding) {\n var verb = \"Crypto.AESEncryptionKey.import\";\n var bytes;\n if (typeof input === \"string\") {\n if (encoding === \"hex\") bytes = (0, import_bytes.hexToBytes)(input, verb);\n else if (encoding === \"base64\") bytes = (0, import_bytes.base64ToBytes)(input, verb);\n else throw new Error(`${verb}: encoding must be 'hex' or 'base64'`);\n } else if (input instanceof Uint8Array) {\n bytes = (0, import_bytes.exactBytes)(input);\n } else {\n throw new TypeError(`${verb}: expected bytes or an encoded string`);\n }\n if (!KEY_SIZES.includes(bytes.length * 8)) {\n throw new Error(`${verb}: key must be 128, 192, or 256 bits, got ${bytes.length * 8}`);\n }\n return new AESEncryptionKey2(bytes);\n }\n }\n ]);\n return AESEncryptionKey2;\n })();\n var AESSealedData = /* @__PURE__ */ (function() {\n \"use strict\";\n function AESSealedData2(parts) {\n _class_call_check(this, AESSealedData2);\n if (parts.iv.length === 0) throw new Error(\"Crypto.AESSealedData: iv must not be empty\");\n assertTagLength(parts.tag.length, \"Crypto.AESSealedData\");\n sealedParts.set(this, parts);\n }\n _create_class(AESSealedData2, [\n {\n key: \"ivSize\",\n get: function get() {\n return sealedParts.get(this).iv.length;\n }\n },\n {\n key: \"tagSize\",\n get: function get() {\n return sealedParts.get(this).tag.length;\n }\n },\n {\n key: \"combinedSize\",\n get: function get() {\n var parts = sealedParts.get(this);\n return parts.iv.length + parts.ciphertext.length + parts.tag.length;\n }\n },\n {\n key: \"iv\",\n value: async function iv(encoding) {\n return encodeParts(sealedParts.get(this).iv, encoding);\n }\n },\n {\n key: \"tag\",\n value: async function tag(encoding) {\n return encodeParts(sealedParts.get(this).tag, encoding);\n }\n },\n {\n key: \"ciphertext\",\n value: async function ciphertext(options) {\n var parts = sealedParts.get(this);\n var bytes = (options === null || options === void 0 ? void 0 : options.includeTag) ? (0, import_bytes.concatBytes)([\n parts.ciphertext,\n parts.tag\n ]) : parts.ciphertext;\n return encodeParts(bytes, options === null || options === void 0 ? void 0 : options.encoding);\n }\n },\n {\n key: \"combined\",\n value: async function combined(encoding) {\n var parts = sealedParts.get(this);\n return encodeParts((0, import_bytes.concatBytes)([\n parts.iv,\n parts.ciphertext,\n parts.tag\n ]), encoding);\n }\n }\n ], [\n {\n key: \"fromCombined\",\n value: function fromCombined(combined) {\n var config = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};\n var _config_ivLength, _config_tagLength;\n var verb = \"Crypto.AESSealedData.fromCombined\";\n var ivLength = (_config_ivLength = config.ivLength) !== null && _config_ivLength !== void 0 ? _config_ivLength : DEFAULT_IV_LENGTH;\n var tagLength = (_config_tagLength = config.tagLength) !== null && _config_tagLength !== void 0 ? _config_tagLength : DEFAULT_TAG_LENGTH;\n assertTagLength(tagLength, verb);\n if (!Number.isInteger(ivLength) || ivLength <= 0) {\n throw new Error(`${verb}: ivLength must be a positive integer`);\n }\n var bytes = toBytes(combined, verb);\n if (bytes.length < ivLength + tagLength) {\n throw new Error(`${verb}: combined data is shorter than its iv and tag`);\n }\n return new AESSealedData2({\n iv: (0, import_bytes.exactBytes)(bytes.subarray(0, ivLength)),\n ciphertext: (0, import_bytes.exactBytes)(bytes.subarray(ivLength, bytes.length - tagLength)),\n tag: (0, import_bytes.exactBytes)(bytes.subarray(bytes.length - tagLength))\n });\n }\n },\n {\n key: \"fromParts\",\n value: function fromParts(ivInput, ciphertextInput, tagOrLength) {\n var verb = \"Crypto.AESSealedData.fromParts\";\n var iv = toBytes(ivInput, verb);\n var ciphertext = toBytes(ciphertextInput, verb);\n if (tagOrLength === void 0 || typeof tagOrLength === \"number\") {\n var tagLength = tagOrLength !== null && tagOrLength !== void 0 ? tagOrLength : DEFAULT_TAG_LENGTH;\n assertTagLength(tagLength, verb);\n if (ciphertext.length < tagLength) {\n throw new Error(`${verb}: ciphertext is shorter than its tag`);\n }\n return new AESSealedData2({\n iv,\n ciphertext: (0, import_bytes.exactBytes)(ciphertext.subarray(0, ciphertext.length - tagLength)),\n tag: (0, import_bytes.exactBytes)(ciphertext.subarray(ciphertext.length - tagLength))\n });\n }\n var tag = toBytes(tagOrLength, verb);\n assertTagLength(tag.length, verb);\n return new AESSealedData2({\n iv,\n ciphertext,\n tag\n });\n }\n },\n {\n key: \"fromSeal\",\n value: (\n // internal: aesEncrypt builds sealed data from engine output without\n // going through the public parsers (which would just re-split it).\n function fromSeal(iv, ciphertextWithTag, tagLength) {\n return new AESSealedData2({\n iv,\n ciphertext: (0, import_bytes.exactBytes)(ciphertextWithTag.subarray(0, ciphertextWithTag.length - tagLength)),\n tag: (0, import_bytes.exactBytes)(ciphertextWithTag.subarray(ciphertextWithTag.length - tagLength))\n });\n }\n )\n }\n ]);\n return AESSealedData2;\n })();\n async function keyMaterial(key, verb) {\n var own = keyBytes.get(key);\n if (own) return (0, import_bytes.exactBytes)(own);\n if (key && typeof key.bytes === \"function\") return (0, import_bytes.exactBytes)(await key.bytes());\n throw new TypeError(`${verb}: expected an AESEncryptionKey`);\n }\n async function partsOf(sealed, verb) {\n var own = sealedParts.get(sealed);\n if (own) {\n return {\n iv: (0, import_bytes.exactBytes)(own.iv),\n ciphertext: (0, import_bytes.exactBytes)(own.ciphertext),\n tag: (0, import_bytes.exactBytes)(own.tag)\n };\n }\n if (sealed && typeof sealed.iv === \"function\" && typeof sealed.combined === \"function\") {\n var iv = (0, import_bytes.exactBytes)(await sealed.iv());\n var tag = (0, import_bytes.exactBytes)(await sealed.tag());\n var ciphertext = (0, import_bytes.exactBytes)(await sealed.ciphertext({\n encoding: \"bytes\",\n includeTag: false\n }));\n return {\n iv,\n ciphertext,\n tag\n };\n }\n throw new TypeError(`${verb}: expected an AESSealedData`);\n }\n async function aesEncrypt(plaintext, key) {\n var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};\n var _options_tagLength;\n var verb = \"Crypto.aesEncrypt\";\n var tagLength = (_options_tagLength = options.tagLength) !== null && _options_tagLength !== void 0 ? _options_tagLength : DEFAULT_TAG_LENGTH;\n assertTagLength(tagLength, verb);\n var iv;\n var nonce = options.nonce;\n if (nonce && \"bytes\" in nonce && nonce.bytes !== void 0) {\n iv = toBytes(nonce.bytes, verb);\n if (iv.length === 0) throw new Error(`${verb}: nonce bytes must not be empty`);\n } else {\n var length = nonce && \"length\" in nonce && nonce.length !== void 0 ? nonce.length : DEFAULT_IV_LENGTH;\n if (!Number.isInteger(length) || length <= 0) {\n throw new Error(`${verb}: nonce length must be a positive integer`);\n }\n iv = new Uint8Array(length);\n engine.random(iv);\n }\n var additionalData = options.additionalData === void 0 ? void 0 : toBytes(options.additionalData, verb);\n var plainBytes = toBytes(plaintext, verb);\n var sealed = await engine.seal(await keyMaterial(key, verb), iv, plainBytes, additionalData, tagLength);\n var actualTag = sealed.length - plainBytes.length;\n return AESSealedData.fromSeal(iv, sealed, actualTag > 0 ? actualTag : tagLength);\n }\n async function aesDecrypt(sealedData, key) {\n var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};\n var verb = \"Crypto.aesDecrypt\";\n var parts = await partsOf(sealedData, verb);\n var additionalData = options.additionalData === void 0 ? void 0 : toBytes(options.additionalData, verb);\n var plaintext = await engine.open(await keyMaterial(key, verb), parts.iv, (0, import_bytes.concatBytes)([\n parts.ciphertext,\n parts.tag\n ]), additionalData, parts.tag.length);\n return options.output === \"base64\" ? (0, import_bytes.bytesToBase64)(plaintext) : plaintext;\n }\n return {\n AESEncryptionKey,\n AESSealedData,\n aesEncrypt,\n aesDecrypt\n };\n}\n//# sourceMappingURL=aes.js.map\n"],"mappings":"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"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all) __defProp(target, name, {
|
|
7
|
+
get: all[name],
|
|
8
|
+
enumerable: true
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
14
|
+
get: () => from[key],
|
|
15
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
21
|
+
var bytes_exports = {};
|
|
22
|
+
__export(bytes_exports, {
|
|
23
|
+
base64ToBytes: () => base64ToBytes,
|
|
24
|
+
bytesToBase64: () => bytesToBase64,
|
|
25
|
+
bytesToHex: () => bytesToHex,
|
|
26
|
+
concatBytes: () => concatBytes,
|
|
27
|
+
exactBytes: () => exactBytes,
|
|
28
|
+
hexToBytes: () => hexToBytes,
|
|
29
|
+
utf8Encode: () => utf8Encode
|
|
30
|
+
});
|
|
31
|
+
module.exports = __toCommonJS(bytes_exports);
|
|
32
|
+
const HEX_DIGITS = "0123456789abcdef";
|
|
33
|
+
function bytesToHex(bytes) {
|
|
34
|
+
let out = "";
|
|
35
|
+
for (const byte of bytes) out += HEX_DIGITS[byte >> 4] + HEX_DIGITS[byte & 15];
|
|
36
|
+
return out;
|
|
37
|
+
}
|
|
38
|
+
function hexToBytes(hex, verb) {
|
|
39
|
+
if (hex.length % 2 !== 0 || /[^0-9a-fA-F]/.test(hex)) {
|
|
40
|
+
throw new Error(`${verb}: expected an even-length hex string`);
|
|
41
|
+
}
|
|
42
|
+
const out = new Uint8Array(hex.length / 2);
|
|
43
|
+
for (let index = 0; index < out.length; index++) {
|
|
44
|
+
out[index] = parseInt(hex.slice(index * 2, index * 2 + 2), 16);
|
|
45
|
+
}
|
|
46
|
+
return out;
|
|
47
|
+
}
|
|
48
|
+
const BASE64_ALPHABET = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
|
49
|
+
const BASE64_VALUES = new Int16Array(128).fill(-1);
|
|
50
|
+
for (let index = 0; index < BASE64_ALPHABET.length; index++) {
|
|
51
|
+
BASE64_VALUES[BASE64_ALPHABET.charCodeAt(index)] = index;
|
|
52
|
+
}
|
|
53
|
+
function bytesToBase64(bytes) {
|
|
54
|
+
let out = "";
|
|
55
|
+
for (let index = 0; index < bytes.length; index += 3) {
|
|
56
|
+
const first = bytes[index];
|
|
57
|
+
const second = bytes[index + 1];
|
|
58
|
+
const third = bytes[index + 2];
|
|
59
|
+
out += BASE64_ALPHABET[first >> 2];
|
|
60
|
+
out += BASE64_ALPHABET[(first & 3) << 4 | (second ?? 0) >> 4];
|
|
61
|
+
out += second === void 0 ? "=" : BASE64_ALPHABET[(second & 15) << 2 | (third ?? 0) >> 6];
|
|
62
|
+
out += third === void 0 ? "=" : BASE64_ALPHABET[third & 63];
|
|
63
|
+
}
|
|
64
|
+
return out;
|
|
65
|
+
}
|
|
66
|
+
function base64ToBytes(base64, verb) {
|
|
67
|
+
if (base64.length % 4 !== 0 || /[^A-Za-z0-9+/=]/.test(base64)) {
|
|
68
|
+
throw new Error(`${verb}: expected a base64 string`);
|
|
69
|
+
}
|
|
70
|
+
const padding = base64.endsWith("==") ? 2 : base64.endsWith("=") ? 1 : 0;
|
|
71
|
+
if (base64.slice(0, base64.length - padding).includes("=")) {
|
|
72
|
+
throw new Error(`${verb}: expected a base64 string`);
|
|
73
|
+
}
|
|
74
|
+
const out = new Uint8Array(base64.length / 4 * 3 - padding);
|
|
75
|
+
let at = 0;
|
|
76
|
+
for (let index = 0; index < base64.length; index += 4) {
|
|
77
|
+
const values = [
|
|
78
|
+
0,
|
|
79
|
+
1,
|
|
80
|
+
2,
|
|
81
|
+
3
|
|
82
|
+
].map((offset) => {
|
|
83
|
+
const code = base64.charCodeAt(index + offset);
|
|
84
|
+
return code === 61 ? 0 : BASE64_VALUES[code];
|
|
85
|
+
});
|
|
86
|
+
if (values.some((value) => value < 0)) throw new Error(`${verb}: expected a base64 string`);
|
|
87
|
+
if (at < out.length) out[at++] = values[0] << 2 | values[1] >> 4;
|
|
88
|
+
if (at < out.length) out[at++] = (values[1] & 15) << 4 | values[2] >> 2;
|
|
89
|
+
if (at < out.length) out[at++] = (values[2] & 3) << 6 | values[3];
|
|
90
|
+
}
|
|
91
|
+
return out;
|
|
92
|
+
}
|
|
93
|
+
function utf8Encode(text) {
|
|
94
|
+
const bytes = [];
|
|
95
|
+
for (let index = 0; index < text.length; index++) {
|
|
96
|
+
let code = text.charCodeAt(index);
|
|
97
|
+
if (code >= 55296 && code <= 56319) {
|
|
98
|
+
const next = text.charCodeAt(index + 1);
|
|
99
|
+
if (next >= 56320 && next <= 57343) {
|
|
100
|
+
code = 65536 + (code - 55296 << 10) + (next - 56320);
|
|
101
|
+
index++;
|
|
102
|
+
} else {
|
|
103
|
+
code = 65533;
|
|
104
|
+
}
|
|
105
|
+
} else if (code >= 56320 && code <= 57343) {
|
|
106
|
+
code = 65533;
|
|
107
|
+
}
|
|
108
|
+
if (code < 128) {
|
|
109
|
+
bytes.push(code);
|
|
110
|
+
} else if (code < 2048) {
|
|
111
|
+
bytes.push(192 | code >> 6, 128 | code & 63);
|
|
112
|
+
} else if (code < 65536) {
|
|
113
|
+
bytes.push(224 | code >> 12, 128 | code >> 6 & 63, 128 | code & 63);
|
|
114
|
+
} else {
|
|
115
|
+
bytes.push(240 | code >> 18, 128 | code >> 12 & 63, 128 | code >> 6 & 63, 128 | code & 63);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
return new Uint8Array(bytes);
|
|
119
|
+
}
|
|
120
|
+
function exactBytes(view) {
|
|
121
|
+
return new Uint8Array(view);
|
|
122
|
+
}
|
|
123
|
+
function concatBytes(parts) {
|
|
124
|
+
const length = parts.reduce((sum, part) => sum + part.length, 0);
|
|
125
|
+
const out = new Uint8Array(length);
|
|
126
|
+
let at = 0;
|
|
127
|
+
for (const part of parts) {
|
|
128
|
+
out.set(part, at);
|
|
129
|
+
at += part.length;
|
|
130
|
+
}
|
|
131
|
+
return out;
|
|
132
|
+
}
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all) __defProp(target, name, {
|
|
9
|
+
get: all[name],
|
|
10
|
+
enumerable: true
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
var __copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
16
|
+
get: () => from[key],
|
|
17
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
return to;
|
|
21
|
+
};
|
|
22
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
23
|
+
var bytes_exports = {};
|
|
24
|
+
__export(bytes_exports, {
|
|
25
|
+
base64ToBytes: () => base64ToBytes,
|
|
26
|
+
bytesToBase64: () => bytesToBase64,
|
|
27
|
+
bytesToHex: () => bytesToHex,
|
|
28
|
+
concatBytes: () => concatBytes,
|
|
29
|
+
exactBytes: () => exactBytes,
|
|
30
|
+
hexToBytes: () => hexToBytes,
|
|
31
|
+
utf8Encode: () => utf8Encode
|
|
32
|
+
});
|
|
33
|
+
module.exports = __toCommonJS(bytes_exports);
|
|
34
|
+
var HEX_DIGITS = "0123456789abcdef";
|
|
35
|
+
function bytesToHex(bytes) {
|
|
36
|
+
var out = "";
|
|
37
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
38
|
+
try {
|
|
39
|
+
for (var _iterator = bytes[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
40
|
+
var byte = _step.value;
|
|
41
|
+
out += HEX_DIGITS[byte >> 4] + HEX_DIGITS[byte & 15];
|
|
42
|
+
}
|
|
43
|
+
} catch (err) {
|
|
44
|
+
_didIteratorError = true;
|
|
45
|
+
_iteratorError = err;
|
|
46
|
+
} finally {
|
|
47
|
+
try {
|
|
48
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
49
|
+
_iterator.return();
|
|
50
|
+
}
|
|
51
|
+
} finally {
|
|
52
|
+
if (_didIteratorError) {
|
|
53
|
+
throw _iteratorError;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return out;
|
|
58
|
+
}
|
|
59
|
+
function hexToBytes(hex, verb) {
|
|
60
|
+
if (hex.length % 2 !== 0 || /[^0-9a-fA-F]/.test(hex)) {
|
|
61
|
+
throw new Error(`${verb}: expected an even-length hex string`);
|
|
62
|
+
}
|
|
63
|
+
var out = new Uint8Array(hex.length / 2);
|
|
64
|
+
for (var index2 = 0; index2 < out.length; index2++) {
|
|
65
|
+
out[index2] = parseInt(hex.slice(index2 * 2, index2 * 2 + 2), 16);
|
|
66
|
+
}
|
|
67
|
+
return out;
|
|
68
|
+
}
|
|
69
|
+
var BASE64_ALPHABET = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
|
70
|
+
var BASE64_VALUES = new Int16Array(128).fill(-1);
|
|
71
|
+
for (var index = 0; index < BASE64_ALPHABET.length; index++) {
|
|
72
|
+
BASE64_VALUES[BASE64_ALPHABET.charCodeAt(index)] = index;
|
|
73
|
+
}
|
|
74
|
+
function bytesToBase64(bytes) {
|
|
75
|
+
var out = "";
|
|
76
|
+
for (var index2 = 0; index2 < bytes.length; index2 += 3) {
|
|
77
|
+
var first = bytes[index2];
|
|
78
|
+
var second = bytes[index2 + 1];
|
|
79
|
+
var third = bytes[index2 + 2];
|
|
80
|
+
out += BASE64_ALPHABET[first >> 2];
|
|
81
|
+
out += BASE64_ALPHABET[(first & 3) << 4 | (second !== null && second !== void 0 ? second : 0) >> 4];
|
|
82
|
+
out += second === void 0 ? "=" : BASE64_ALPHABET[(second & 15) << 2 | (third !== null && third !== void 0 ? third : 0) >> 6];
|
|
83
|
+
out += third === void 0 ? "=" : BASE64_ALPHABET[third & 63];
|
|
84
|
+
}
|
|
85
|
+
return out;
|
|
86
|
+
}
|
|
87
|
+
function base64ToBytes(base64, verb) {
|
|
88
|
+
var _loop = function(index3) {
|
|
89
|
+
var values = [
|
|
90
|
+
0,
|
|
91
|
+
1,
|
|
92
|
+
2,
|
|
93
|
+
3
|
|
94
|
+
].map(function(offset) {
|
|
95
|
+
var code = base64.charCodeAt(index3 + offset);
|
|
96
|
+
return code === 61 ? 0 : BASE64_VALUES[code];
|
|
97
|
+
});
|
|
98
|
+
if (values.some(function(value) {
|
|
99
|
+
return value < 0;
|
|
100
|
+
})) throw new Error(`${verb}: expected a base64 string`);
|
|
101
|
+
if (at < out.length) out[at++] = values[0] << 2 | values[1] >> 4;
|
|
102
|
+
if (at < out.length) out[at++] = (values[1] & 15) << 4 | values[2] >> 2;
|
|
103
|
+
if (at < out.length) out[at++] = (values[2] & 3) << 6 | values[3];
|
|
104
|
+
};
|
|
105
|
+
if (base64.length % 4 !== 0 || /[^A-Za-z0-9+/=]/.test(base64)) {
|
|
106
|
+
throw new Error(`${verb}: expected a base64 string`);
|
|
107
|
+
}
|
|
108
|
+
var padding = base64.endsWith("==") ? 2 : base64.endsWith("=") ? 1 : 0;
|
|
109
|
+
if (base64.slice(0, base64.length - padding).includes("=")) {
|
|
110
|
+
throw new Error(`${verb}: expected a base64 string`);
|
|
111
|
+
}
|
|
112
|
+
var out = new Uint8Array(base64.length / 4 * 3 - padding);
|
|
113
|
+
var at = 0;
|
|
114
|
+
for (var index2 = 0; index2 < base64.length; index2 += 4) _loop(index2);
|
|
115
|
+
return out;
|
|
116
|
+
}
|
|
117
|
+
function utf8Encode(text) {
|
|
118
|
+
var bytes = [];
|
|
119
|
+
for (var index2 = 0; index2 < text.length; index2++) {
|
|
120
|
+
var code = text.charCodeAt(index2);
|
|
121
|
+
if (code >= 55296 && code <= 56319) {
|
|
122
|
+
var next = text.charCodeAt(index2 + 1);
|
|
123
|
+
if (next >= 56320 && next <= 57343) {
|
|
124
|
+
code = 65536 + (code - 55296 << 10) + (next - 56320);
|
|
125
|
+
index2++;
|
|
126
|
+
} else {
|
|
127
|
+
code = 65533;
|
|
128
|
+
}
|
|
129
|
+
} else if (code >= 56320 && code <= 57343) {
|
|
130
|
+
code = 65533;
|
|
131
|
+
}
|
|
132
|
+
if (code < 128) {
|
|
133
|
+
bytes.push(code);
|
|
134
|
+
} else if (code < 2048) {
|
|
135
|
+
bytes.push(192 | code >> 6, 128 | code & 63);
|
|
136
|
+
} else if (code < 65536) {
|
|
137
|
+
bytes.push(224 | code >> 12, 128 | code >> 6 & 63, 128 | code & 63);
|
|
138
|
+
} else {
|
|
139
|
+
bytes.push(240 | code >> 18, 128 | code >> 12 & 63, 128 | code >> 6 & 63, 128 | code & 63);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
return new Uint8Array(bytes);
|
|
143
|
+
}
|
|
144
|
+
function exactBytes(view) {
|
|
145
|
+
return new Uint8Array(view);
|
|
146
|
+
}
|
|
147
|
+
function concatBytes(parts) {
|
|
148
|
+
var length = parts.reduce(function(sum, part2) {
|
|
149
|
+
return sum + part2.length;
|
|
150
|
+
}, 0);
|
|
151
|
+
var out = new Uint8Array(length);
|
|
152
|
+
var at = 0;
|
|
153
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
154
|
+
try {
|
|
155
|
+
for (var _iterator = parts[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
156
|
+
var part = _step.value;
|
|
157
|
+
out.set(part, at);
|
|
158
|
+
at += part.length;
|
|
159
|
+
}
|
|
160
|
+
} catch (err) {
|
|
161
|
+
_didIteratorError = true;
|
|
162
|
+
_iteratorError = err;
|
|
163
|
+
} finally {
|
|
164
|
+
try {
|
|
165
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
166
|
+
_iterator.return();
|
|
167
|
+
}
|
|
168
|
+
} finally {
|
|
169
|
+
if (_didIteratorError) {
|
|
170
|
+
throw _iteratorError;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
return out;
|
|
175
|
+
}
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all) __defProp(target, name, {
|
|
9
|
+
get: all[name],
|
|
10
|
+
enumerable: true
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
var __copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
16
|
+
get: () => from[key],
|
|
17
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
return to;
|
|
21
|
+
};
|
|
22
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
23
|
+
var bytes_exports = {};
|
|
24
|
+
__export(bytes_exports, {
|
|
25
|
+
base64ToBytes: () => base64ToBytes,
|
|
26
|
+
bytesToBase64: () => bytesToBase64,
|
|
27
|
+
bytesToHex: () => bytesToHex,
|
|
28
|
+
concatBytes: () => concatBytes,
|
|
29
|
+
exactBytes: () => exactBytes,
|
|
30
|
+
hexToBytes: () => hexToBytes,
|
|
31
|
+
utf8Encode: () => utf8Encode
|
|
32
|
+
});
|
|
33
|
+
module.exports = __toCommonJS(bytes_exports);
|
|
34
|
+
var HEX_DIGITS = "0123456789abcdef";
|
|
35
|
+
function bytesToHex(bytes) {
|
|
36
|
+
var out = "";
|
|
37
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
38
|
+
try {
|
|
39
|
+
for (var _iterator = bytes[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
40
|
+
var byte = _step.value;
|
|
41
|
+
out += HEX_DIGITS[byte >> 4] + HEX_DIGITS[byte & 15];
|
|
42
|
+
}
|
|
43
|
+
} catch (err) {
|
|
44
|
+
_didIteratorError = true;
|
|
45
|
+
_iteratorError = err;
|
|
46
|
+
} finally {
|
|
47
|
+
try {
|
|
48
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
49
|
+
_iterator.return();
|
|
50
|
+
}
|
|
51
|
+
} finally {
|
|
52
|
+
if (_didIteratorError) {
|
|
53
|
+
throw _iteratorError;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return out;
|
|
58
|
+
}
|
|
59
|
+
function hexToBytes(hex, verb) {
|
|
60
|
+
if (hex.length % 2 !== 0 || /[^0-9a-fA-F]/.test(hex)) {
|
|
61
|
+
throw new Error(`${verb}: expected an even-length hex string`);
|
|
62
|
+
}
|
|
63
|
+
var out = new Uint8Array(hex.length / 2);
|
|
64
|
+
for (var index2 = 0; index2 < out.length; index2++) {
|
|
65
|
+
out[index2] = parseInt(hex.slice(index2 * 2, index2 * 2 + 2), 16);
|
|
66
|
+
}
|
|
67
|
+
return out;
|
|
68
|
+
}
|
|
69
|
+
var BASE64_ALPHABET = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
|
70
|
+
var BASE64_VALUES = new Int16Array(128).fill(-1);
|
|
71
|
+
for (var index = 0; index < BASE64_ALPHABET.length; index++) {
|
|
72
|
+
BASE64_VALUES[BASE64_ALPHABET.charCodeAt(index)] = index;
|
|
73
|
+
}
|
|
74
|
+
function bytesToBase64(bytes) {
|
|
75
|
+
var out = "";
|
|
76
|
+
for (var index2 = 0; index2 < bytes.length; index2 += 3) {
|
|
77
|
+
var first = bytes[index2];
|
|
78
|
+
var second = bytes[index2 + 1];
|
|
79
|
+
var third = bytes[index2 + 2];
|
|
80
|
+
out += BASE64_ALPHABET[first >> 2];
|
|
81
|
+
out += BASE64_ALPHABET[(first & 3) << 4 | (second !== null && second !== void 0 ? second : 0) >> 4];
|
|
82
|
+
out += second === void 0 ? "=" : BASE64_ALPHABET[(second & 15) << 2 | (third !== null && third !== void 0 ? third : 0) >> 6];
|
|
83
|
+
out += third === void 0 ? "=" : BASE64_ALPHABET[third & 63];
|
|
84
|
+
}
|
|
85
|
+
return out;
|
|
86
|
+
}
|
|
87
|
+
function base64ToBytes(base64, verb) {
|
|
88
|
+
var _loop = function(index3) {
|
|
89
|
+
var values = [
|
|
90
|
+
0,
|
|
91
|
+
1,
|
|
92
|
+
2,
|
|
93
|
+
3
|
|
94
|
+
].map(function(offset) {
|
|
95
|
+
var code = base64.charCodeAt(index3 + offset);
|
|
96
|
+
return code === 61 ? 0 : BASE64_VALUES[code];
|
|
97
|
+
});
|
|
98
|
+
if (values.some(function(value) {
|
|
99
|
+
return value < 0;
|
|
100
|
+
})) throw new Error(`${verb}: expected a base64 string`);
|
|
101
|
+
if (at < out.length) out[at++] = values[0] << 2 | values[1] >> 4;
|
|
102
|
+
if (at < out.length) out[at++] = (values[1] & 15) << 4 | values[2] >> 2;
|
|
103
|
+
if (at < out.length) out[at++] = (values[2] & 3) << 6 | values[3];
|
|
104
|
+
};
|
|
105
|
+
if (base64.length % 4 !== 0 || /[^A-Za-z0-9+/=]/.test(base64)) {
|
|
106
|
+
throw new Error(`${verb}: expected a base64 string`);
|
|
107
|
+
}
|
|
108
|
+
var padding = base64.endsWith("==") ? 2 : base64.endsWith("=") ? 1 : 0;
|
|
109
|
+
if (base64.slice(0, base64.length - padding).includes("=")) {
|
|
110
|
+
throw new Error(`${verb}: expected a base64 string`);
|
|
111
|
+
}
|
|
112
|
+
var out = new Uint8Array(base64.length / 4 * 3 - padding);
|
|
113
|
+
var at = 0;
|
|
114
|
+
for (var index2 = 0; index2 < base64.length; index2 += 4) _loop(index2);
|
|
115
|
+
return out;
|
|
116
|
+
}
|
|
117
|
+
function utf8Encode(text) {
|
|
118
|
+
var bytes = [];
|
|
119
|
+
for (var index2 = 0; index2 < text.length; index2++) {
|
|
120
|
+
var code = text.charCodeAt(index2);
|
|
121
|
+
if (code >= 55296 && code <= 56319) {
|
|
122
|
+
var next = text.charCodeAt(index2 + 1);
|
|
123
|
+
if (next >= 56320 && next <= 57343) {
|
|
124
|
+
code = 65536 + (code - 55296 << 10) + (next - 56320);
|
|
125
|
+
index2++;
|
|
126
|
+
} else {
|
|
127
|
+
code = 65533;
|
|
128
|
+
}
|
|
129
|
+
} else if (code >= 56320 && code <= 57343) {
|
|
130
|
+
code = 65533;
|
|
131
|
+
}
|
|
132
|
+
if (code < 128) {
|
|
133
|
+
bytes.push(code);
|
|
134
|
+
} else if (code < 2048) {
|
|
135
|
+
bytes.push(192 | code >> 6, 128 | code & 63);
|
|
136
|
+
} else if (code < 65536) {
|
|
137
|
+
bytes.push(224 | code >> 12, 128 | code >> 6 & 63, 128 | code & 63);
|
|
138
|
+
} else {
|
|
139
|
+
bytes.push(240 | code >> 18, 128 | code >> 12 & 63, 128 | code >> 6 & 63, 128 | code & 63);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
return new Uint8Array(bytes);
|
|
143
|
+
}
|
|
144
|
+
function exactBytes(view) {
|
|
145
|
+
return new Uint8Array(view);
|
|
146
|
+
}
|
|
147
|
+
function concatBytes(parts) {
|
|
148
|
+
var length = parts.reduce(function(sum, part2) {
|
|
149
|
+
return sum + part2.length;
|
|
150
|
+
}, 0);
|
|
151
|
+
var out = new Uint8Array(length);
|
|
152
|
+
var at = 0;
|
|
153
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
154
|
+
try {
|
|
155
|
+
for (var _iterator = parts[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
156
|
+
var part = _step.value;
|
|
157
|
+
out.set(part, at);
|
|
158
|
+
at += part.length;
|
|
159
|
+
}
|
|
160
|
+
} catch (err) {
|
|
161
|
+
_didIteratorError = true;
|
|
162
|
+
_iteratorError = err;
|
|
163
|
+
} finally {
|
|
164
|
+
try {
|
|
165
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
166
|
+
_iterator.return();
|
|
167
|
+
}
|
|
168
|
+
} finally {
|
|
169
|
+
if (_didIteratorError) {
|
|
170
|
+
throw _iteratorError;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
return out;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
//# sourceMappingURL=bytes.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bytes.native.js","names":[],"sources":["cjs/platform/crypto/bytes.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar bytes_exports = {};\n__export(bytes_exports, {\n base64ToBytes: () => base64ToBytes,\n bytesToBase64: () => bytesToBase64,\n bytesToHex: () => bytesToHex,\n concatBytes: () => concatBytes,\n exactBytes: () => exactBytes,\n hexToBytes: () => hexToBytes,\n utf8Encode: () => utf8Encode\n});\nmodule.exports = __toCommonJS(bytes_exports);\nvar HEX_DIGITS = \"0123456789abcdef\";\nfunction bytesToHex(bytes) {\n var out = \"\";\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = bytes[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var byte = _step.value;\n out += HEX_DIGITS[byte >> 4] + HEX_DIGITS[byte & 15];\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return out;\n}\nfunction hexToBytes(hex, verb) {\n if (hex.length % 2 !== 0 || /[^0-9a-fA-F]/.test(hex)) {\n throw new Error(`${verb}: expected an even-length hex string`);\n }\n var out = new Uint8Array(hex.length / 2);\n for (var index2 = 0; index2 < out.length; index2++) {\n out[index2] = parseInt(hex.slice(index2 * 2, index2 * 2 + 2), 16);\n }\n return out;\n}\nvar BASE64_ALPHABET = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\nvar BASE64_VALUES = new Int16Array(128).fill(-1);\nfor (var index = 0; index < BASE64_ALPHABET.length; index++) {\n BASE64_VALUES[BASE64_ALPHABET.charCodeAt(index)] = index;\n}\nfunction bytesToBase64(bytes) {\n var out = \"\";\n for (var index2 = 0; index2 < bytes.length; index2 += 3) {\n var first = bytes[index2];\n var second = bytes[index2 + 1];\n var third = bytes[index2 + 2];\n out += BASE64_ALPHABET[first >> 2];\n out += BASE64_ALPHABET[(first & 3) << 4 | (second !== null && second !== void 0 ? second : 0) >> 4];\n out += second === void 0 ? \"=\" : BASE64_ALPHABET[(second & 15) << 2 | (third !== null && third !== void 0 ? third : 0) >> 6];\n out += third === void 0 ? \"=\" : BASE64_ALPHABET[third & 63];\n }\n return out;\n}\nfunction base64ToBytes(base64, verb) {\n var _loop = function(index3) {\n var values = [\n 0,\n 1,\n 2,\n 3\n ].map(function(offset) {\n var code = base64.charCodeAt(index3 + offset);\n return code === 61 ? 0 : BASE64_VALUES[code];\n });\n if (values.some(function(value) {\n return value < 0;\n })) throw new Error(`${verb}: expected a base64 string`);\n if (at < out.length) out[at++] = values[0] << 2 | values[1] >> 4;\n if (at < out.length) out[at++] = (values[1] & 15) << 4 | values[2] >> 2;\n if (at < out.length) out[at++] = (values[2] & 3) << 6 | values[3];\n };\n if (base64.length % 4 !== 0 || /[^A-Za-z0-9+/=]/.test(base64)) {\n throw new Error(`${verb}: expected a base64 string`);\n }\n var padding = base64.endsWith(\"==\") ? 2 : base64.endsWith(\"=\") ? 1 : 0;\n if (base64.slice(0, base64.length - padding).includes(\"=\")) {\n throw new Error(`${verb}: expected a base64 string`);\n }\n var out = new Uint8Array(base64.length / 4 * 3 - padding);\n var at = 0;\n for (var index2 = 0; index2 < base64.length; index2 += 4) _loop(index2);\n return out;\n}\nfunction utf8Encode(text) {\n var bytes = [];\n for (var index2 = 0; index2 < text.length; index2++) {\n var code = text.charCodeAt(index2);\n if (code >= 55296 && code <= 56319) {\n var next = text.charCodeAt(index2 + 1);\n if (next >= 56320 && next <= 57343) {\n code = 65536 + (code - 55296 << 10) + (next - 56320);\n index2++;\n } else {\n code = 65533;\n }\n } else if (code >= 56320 && code <= 57343) {\n code = 65533;\n }\n if (code < 128) {\n bytes.push(code);\n } else if (code < 2048) {\n bytes.push(192 | code >> 6, 128 | code & 63);\n } else if (code < 65536) {\n bytes.push(224 | code >> 12, 128 | code >> 6 & 63, 128 | code & 63);\n } else {\n bytes.push(240 | code >> 18, 128 | code >> 12 & 63, 128 | code >> 6 & 63, 128 | code & 63);\n }\n }\n return new Uint8Array(bytes);\n}\nfunction exactBytes(view) {\n return new Uint8Array(view);\n}\nfunction concatBytes(parts) {\n var length = parts.reduce(function(sum, part2) {\n return sum + part2.length;\n }, 0);\n var out = new Uint8Array(length);\n var at = 0;\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = parts[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var part = _step.value;\n out.set(part, at);\n at += part.length;\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return out;\n}\n//# sourceMappingURL=bytes.js.map\n"],"mappings":"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"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all) __defProp(target, name, {
|
|
7
|
+
get: all[name],
|
|
8
|
+
enumerable: true
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
14
|
+
get: () => from[key],
|
|
15
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
21
|
+
var digest_api_exports = {};
|
|
22
|
+
__export(digest_api_exports, {
|
|
23
|
+
DIGEST_ALGORITHMS: () => DIGEST_ALGORITHMS,
|
|
24
|
+
assertDigestAlgorithm: () => assertDigestAlgorithm,
|
|
25
|
+
createDigestApi: () => createDigestApi
|
|
26
|
+
});
|
|
27
|
+
module.exports = __toCommonJS(digest_api_exports);
|
|
28
|
+
var import_bytes = require("./bytes.cjs");
|
|
29
|
+
var import_digest = require("./digest.cjs");
|
|
30
|
+
const DIGEST_ALGORITHMS = [
|
|
31
|
+
"MD5",
|
|
32
|
+
"SHA-1",
|
|
33
|
+
"SHA-256",
|
|
34
|
+
"SHA-384",
|
|
35
|
+
"SHA-512"
|
|
36
|
+
];
|
|
37
|
+
function assertDigestAlgorithm(algorithm, verb) {
|
|
38
|
+
if (!DIGEST_ALGORITHMS.includes(algorithm)) {
|
|
39
|
+
throw new Error(`${verb}: unknown algorithm ${JSON.stringify(algorithm)}. Expected one of: ${DIGEST_ALGORITHMS.join(", ")}`);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
function createDigestApi(source) {
|
|
43
|
+
async function digest(algorithm, data) {
|
|
44
|
+
assertDigestAlgorithm(algorithm, "Crypto.digest");
|
|
45
|
+
const { buffer, offset, length } = (0, import_digest.bufferSourceRange)(data, "Crypto.digest");
|
|
46
|
+
return source(algorithm, buffer, offset, length);
|
|
47
|
+
}
|
|
48
|
+
async function digestString(algorithm, data, options = {}) {
|
|
49
|
+
assertDigestAlgorithm(algorithm, "Crypto.digestString");
|
|
50
|
+
if (typeof data !== "string") {
|
|
51
|
+
throw new TypeError("Crypto.digestString: data must be a string");
|
|
52
|
+
}
|
|
53
|
+
const encoding = options?.encoding ?? "hex";
|
|
54
|
+
if (encoding !== "hex" && encoding !== "base64") {
|
|
55
|
+
throw new Error(`Crypto.digestString: encoding must be 'hex' or 'base64'`);
|
|
56
|
+
}
|
|
57
|
+
const bytes = (0, import_bytes.utf8Encode)(data);
|
|
58
|
+
const hashed = new Uint8Array(await source(algorithm, bytes.buffer, 0, bytes.length));
|
|
59
|
+
return encoding === "base64" ? (0, import_bytes.bytesToBase64)(hashed) : (0, import_bytes.bytesToHex)(hashed);
|
|
60
|
+
}
|
|
61
|
+
return {
|
|
62
|
+
digest,
|
|
63
|
+
digestString
|
|
64
|
+
};
|
|
65
|
+
}
|