mirror of
https://github.com/CorentinTh/it-tools.git
synced 2025-05-06 06:17:11 -04:00
🔧:build SSR dist and deploy
This commit is contained in:
parent
76c26901d7
commit
c59ad6aedb
465 changed files with 214127 additions and 2 deletions
46
dist/server/chunks/chunk-72fc6fca.js
vendored
Normal file
46
dist/server/chunks/chunk-72fc6fca.js
vendored
Normal file
|
@ -0,0 +1,46 @@
|
|||
function textToBase64(str, { makeUrlSafe = false } = {}) {
|
||||
const encoded = window.btoa(str);
|
||||
return makeUrlSafe ? makeUriSafe(encoded) : encoded;
|
||||
}
|
||||
function base64ToText(str, { makeUrlSafe = false } = {}) {
|
||||
if (!isValidBase64(str, { makeUrlSafe })) {
|
||||
throw new Error("Incorrect base64 string");
|
||||
}
|
||||
let cleanStr = removePotentialDataAndMimePrefix(str);
|
||||
if (makeUrlSafe) {
|
||||
cleanStr = unURI(cleanStr);
|
||||
}
|
||||
try {
|
||||
return window.atob(cleanStr);
|
||||
} catch (_) {
|
||||
throw new Error("Incorrect base64 string");
|
||||
}
|
||||
}
|
||||
function removePotentialDataAndMimePrefix(str) {
|
||||
return str.replace(/^data:.*?;base64,/, "");
|
||||
}
|
||||
function isValidBase64(str, { makeUrlSafe = false } = {}) {
|
||||
let cleanStr = removePotentialDataAndMimePrefix(str);
|
||||
if (makeUrlSafe) {
|
||||
cleanStr = unURI(cleanStr);
|
||||
}
|
||||
try {
|
||||
if (makeUrlSafe) {
|
||||
return removePotentialPadding(window.btoa(window.atob(cleanStr))) === cleanStr;
|
||||
}
|
||||
return window.btoa(window.atob(cleanStr)) === cleanStr;
|
||||
} catch (err) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
function makeUriSafe(encoded) {
|
||||
return encoded.replace(/=/g, "").replace(/\+/g, "-").replace(/\//g, "_");
|
||||
}
|
||||
function unURI(encoded) {
|
||||
return encoded.replace(/-/g, "+").replace(/_/g, "/").replace(/[^A-Za-z0-9+/]/g, "");
|
||||
}
|
||||
function removePotentialPadding(str) {
|
||||
return str.replace(/=/g, "");
|
||||
}
|
||||
|
||||
export { base64ToText as b, isValidBase64 as i, textToBase64 as t };
|
Loading…
Add table
Add a link
Reference in a new issue