UNPKG

one

Version:

One is a React framework for web, iOS, and Android apps.

1 lines • 6.61 kB
{"version":3,"file":"bytes.js","names":[],"sources":["esm/platform/crypto/bytes.js"],"sourcesContent":["const HEX_DIGITS = \"0123456789abcdef\";\nfunction bytesToHex(bytes) {\n let out = \"\";\n for (const byte of bytes) out += HEX_DIGITS[byte >> 4] + HEX_DIGITS[byte & 15];\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 const out = new Uint8Array(hex.length / 2);\n for (let index = 0; index < out.length; index++) {\n out[index] = parseInt(hex.slice(index * 2, index * 2 + 2), 16);\n }\n return out;\n}\nconst BASE64_ALPHABET = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\nconst BASE64_VALUES = new Int16Array(128).fill(-1);\nfor (let index = 0; index < BASE64_ALPHABET.length; index++) {\n BASE64_VALUES[BASE64_ALPHABET.charCodeAt(index)] = index;\n}\nfunction bytesToBase64(bytes) {\n let out = \"\";\n for (let index = 0; index < bytes.length; index += 3) {\n const first = bytes[index];\n const second = bytes[index + 1];\n const third = bytes[index + 2];\n out += BASE64_ALPHABET[first >> 2];\n out += BASE64_ALPHABET[(first & 3) << 4 | (second ?? 0) >> 4];\n out += second === void 0 ? \"=\" : BASE64_ALPHABET[(second & 15) << 2 | (third ?? 0) >> 6];\n out += third === void 0 ? \"=\" : BASE64_ALPHABET[third & 63];\n }\n return out;\n}\nfunction base64ToBytes(base64, verb) {\n if (base64.length % 4 !== 0 || /[^A-Za-z0-9+/=]/.test(base64)) {\n throw new Error(`${verb}: expected a base64 string`);\n }\n const 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 const out = new Uint8Array(base64.length / 4 * 3 - padding);\n let at = 0;\n for (let index = 0; index < base64.length; index += 4) {\n const values = [0, 1, 2, 3].map((offset) => {\n const code = base64.charCodeAt(index + offset);\n return code === 61 ? 0 : BASE64_VALUES[code];\n });\n if (values.some((value) => value < 0)) 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 return out;\n}\nfunction utf8Encode(text) {\n const bytes = [];\n for (let index = 0; index < text.length; index++) {\n let code = text.charCodeAt(index);\n if (code >= 55296 && code <= 56319) {\n const next = text.charCodeAt(index + 1);\n if (next >= 56320 && next <= 57343) {\n code = 65536 + (code - 55296 << 10) + (next - 56320);\n index++;\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(\n 240 | code >> 18,\n 128 | code >> 12 & 63,\n 128 | code >> 6 & 63,\n 128 | code & 63\n );\n }\n }\n return new Uint8Array(bytes);\n}\nfunction exactBytes(view) {\n return new Uint8Array(view);\n}\nfunction concatBytes(parts) {\n const length = parts.reduce((sum, part) => sum + part.length, 0);\n const out = new Uint8Array(length);\n let at = 0;\n for (const part of parts) {\n out.set(part, at);\n at += part.length;\n }\n return out;\n}\nexport {\n base64ToBytes,\n bytesToBase64,\n bytesToHex,\n concatBytes,\n exactBytes,\n hexToBytes,\n utf8Encode\n};\n//# sourceMappingURL=bytes.js.map\n"],"mappings":"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"}