mirror of
https://github.com/TheAlgorithms/JavaScript.git
synced 2025-07-05 08:16:50 +08:00
feat: Test running overhaul, switch to Prettier & reformat everything (#1407)
* chore: Switch to Node 20 + Vitest * chore: migrate to vitest mock functions * chore: code style (switch to prettier) * test: re-enable long-running test Seems the switch to Node 20 and Vitest has vastly improved the code's and / or the test's runtime! see #1193 * chore: code style * chore: fix failing tests * Updated Documentation in README.md * Update contribution guidelines to state usage of Prettier * fix: set prettier printWidth back to 80 * chore: apply updated code style automatically * fix: set prettier line endings to lf again * chore: apply updated code style automatically --------- Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com> Co-authored-by: Lars Müller <34514239+appgurueu@users.noreply.github.com>
This commit is contained in:
@ -5,9 +5,10 @@
|
||||
* @param {ArrayBuffer} binaryData An ArrayBuffer which represents an array of bytes
|
||||
* @returns {string} A string containing the base64 encoding of `binaryData`
|
||||
*/
|
||||
function bufferToBase64 (binaryData) {
|
||||
function bufferToBase64(binaryData) {
|
||||
// The base64 encoding uses the following set of characters to encode any binary data as text
|
||||
const base64Table = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
|
||||
const base64Table =
|
||||
'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
|
||||
// Every 3 bytes translates to 4 base64 characters, if we have less than 3 bytes we must append '=' chars as padding
|
||||
const padding = 3 - (binaryData.byteLength % 3)
|
||||
// Create an instance of Uint8Array, to read from the binaryData array buffer
|
||||
@ -23,15 +24,16 @@ function bufferToBase64 (binaryData) {
|
||||
const char4 = byteView[i + 2] & 63
|
||||
|
||||
result +=
|
||||
base64Table[char1] +
|
||||
base64Table[char2] +
|
||||
base64Table[char3] +
|
||||
base64Table[char4]
|
||||
base64Table[char1] +
|
||||
base64Table[char2] +
|
||||
base64Table[char3] +
|
||||
base64Table[char4]
|
||||
}
|
||||
|
||||
// Add padding '=' chars if needed
|
||||
if (padding !== 3) {
|
||||
const paddedResult = result.slice(0, result.length - padding) + '='.repeat(padding)
|
||||
const paddedResult =
|
||||
result.slice(0, result.length - padding) + '='.repeat(padding)
|
||||
return paddedResult
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user