deno.land / x / deno@v1.28.2 / cli / bench / testdata / npm / hono / dist / utils / encode.js

نووسراو ببینە
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.arrayBufferToBase64URL = exports.arrayBufferToBase64 = exports.utf8ToUint8Array = exports.decodeBase64URL = exports.encodeBase64URL = exports.decodeBase64 = exports.encodeBase64 = void 0;const encodeBase64 = (str) => { if (str === null) { throw new TypeError('1st argument of "encodeBase64" should not be null.'); } try { const encoder = new TextEncoder(); const bytes = encoder.encode(str); return btoa(String.fromCharCode(...bytes)); } catch { } try { return Buffer.from(str).toString('base64'); } catch (e) { console.error('If you want to do "encodeBase64", polyfill "buffer" module.'); throw e; }};exports.encodeBase64 = encodeBase64;const decodeBase64 = (str) => { if (str === null) { throw new TypeError('1st argument of "decodeBase64" should not be null.'); } try { const text = atob(str); const bytes = new Uint8Array(text.split('').map((c) => c.charCodeAt(0))); const decoder = new TextDecoder(); return decoder.decode(bytes); } catch { } try { return Buffer.from(str, 'base64').toString(); } catch (e) { console.error('If you want to do "decodeBase64", polyfill "buffer" module.'); throw e; }};exports.decodeBase64 = decodeBase64;const encodeBase64URL = (str) => { return (0, exports.encodeBase64)(str).replace(/=/g, '').replace(/\+/g, '-').replace(/\//g, '_');};exports.encodeBase64URL = encodeBase64URL;const decodeBase64URL = (str) => { const pad = (s) => { const diff = s.length % 4; if (diff === 2) { return `${s}==`; } if (diff === 3) { return `${s}=`; } return s; }; return (0, exports.decodeBase64)(pad(str).replace(/-/g, '+').replace('_', '/'));};exports.decodeBase64URL = decodeBase64URL;const utf8ToUint8Array = (str) => { const encoder = new TextEncoder(); return encoder.encode(str);};exports.utf8ToUint8Array = utf8ToUint8Array;const arrayBufferToBase64 = async (buf) => { if (typeof btoa === 'function') { return btoa(String.fromCharCode(...new Uint8Array(buf))); } try { return Buffer.from(String.fromCharCode(...new Uint8Array(buf))).toString('base64'); } catch (e) { } return '';};exports.arrayBufferToBase64 = arrayBufferToBase64;const arrayBufferToBase64URL = async (buf) => { return (await (0, exports.arrayBufferToBase64)(buf)).replace(/=/g, '').replace(/\+/g, '-').replace(/\//g, '_');};exports.arrayBufferToBase64URL = arrayBufferToBase64URL;
deno

Version Info

Tagged at
2 years ago