| 12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- const text_encoder = new TextEncoder();
- const text_decoder = new TextDecoder();
- function get_relative_path(from, to) {
- const from_parts = from.split(/[/\\]/);
- const to_parts = to.split(/[/\\]/);
- from_parts.pop();
- while (from_parts[0] === to_parts[0]) {
- from_parts.shift();
- to_parts.shift();
- }
- let i = from_parts.length;
- while (i--) from_parts[i] = "..";
- return from_parts.concat(to_parts).join("/");
- }
- function base64_encode(bytes) {
- if (globalThis.Buffer) {
- return globalThis.Buffer.from(bytes).toString("base64");
- }
- let binary = "";
- for (let i = 0; i < bytes.length; i++) {
- binary += String.fromCharCode(bytes[i]);
- }
- return btoa(binary);
- }
- function base64_decode(encoded) {
- if (globalThis.Buffer) {
- const buffer = globalThis.Buffer.from(encoded, "base64");
- return new Uint8Array(buffer);
- }
- const binary = atob(encoded);
- const bytes = new Uint8Array(binary.length);
- for (let i = 0; i < binary.length; i++) {
- bytes[i] = binary.charCodeAt(i);
- }
- return bytes;
- }
- export {
- text_encoder as a,
- base64_encode as b,
- base64_decode as c,
- get_relative_path as g,
- text_decoder as t
- };
|