feat: 초기 프로젝트 설정 및 룰.md 파일 추가
This commit is contained in:
22
api.hyungi.net/node_modules/@hexagon/base64/LICENSE
generated
vendored
Normal file
22
api.hyungi.net/node_modules/@hexagon/base64/LICENSE
generated
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2021-2022 Hexagon <github.com/Hexagon>
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
|
||||
69
api.hyungi.net/node_modules/@hexagon/base64/README.md
generated
vendored
Normal file
69
api.hyungi.net/node_modules/@hexagon/base64/README.md
generated
vendored
Normal file
@@ -0,0 +1,69 @@
|
||||
<p align="center">
|
||||
<img src="https://cdn.jsdelivr.net/gh/hexagon/base64@main/base64.png" alt="@hexagon/base64" width="200" height="200"><br>
|
||||
<br>Probably the only JavaScript base64 library you'll ever need!<br>
|
||||
</p>
|
||||
|
||||
# @hexagon/base64
|
||||
|
||||
Encode, decode and validate base64/base64url to string/arraybuffer and vice-versa. Works in Node, Deno and browser.
|
||||
|
||||
[](https://github.com/Hexagon/base64/actions/workflows/node.js.yml) [](https://github.com/Hexagon/base64/actions/workflows/deno.yml)
|
||||
[](https://badge.fury.io/js/@hexagon%2Fbase64) [](https://www.npmjs.org/package/@hexagon/base64) [](https://www.jsdelivr.com/package/npm/@hexagon/base64) [](https://www.codacy.com/gh/Hexagon/base64/dashboard?utm_source=github.com&utm_medium=referral&utm_content=Hexagon/base64&utm_campaign=Badge_Grade)
|
||||
[](https://github.com/Hexagon/base64/blob/master/LICENSE)
|
||||
|
||||
* Supports regular base64 and base64url
|
||||
* Convert to/from string or arraybuffer
|
||||
* Validate / identify base64 and base64url
|
||||
* Works in Node.js >=4.0 (both require and import).
|
||||
* Works in Deno >=1.16.
|
||||
* Works in browsers as standalone, UMD or ES-module.
|
||||
* Includes [TypeScript](https://www.typescriptlang.org/) typings.
|
||||
|
||||
|
||||
```javascript
|
||||
// Encode string as regular base64
|
||||
const example1enc = base64.fromString("Hellö Wörld, how are you doing today?!");
|
||||
console.log(example1enc);
|
||||
// > SGVsbMO2IFfDtnJsZCwgaG93IGFyZSB5b3UgZG9pbmcgdG9kYXk/IQ==
|
||||
|
||||
// Decode string as regular base64
|
||||
const example1dec = base64.toString("SGVsbMO2IFfDtnJsZCwgaG93IGFyZSB5b3UgZG9pbmcgdG9kYXk/IQ==");
|
||||
console.log(example1dec);
|
||||
// > Hellö Wörld, how are you doing today?!
|
||||
```
|
||||
|
||||
Full documentation available at [base64.56k.guru](https://base64.56k.guru)
|
||||
|
||||
## Quick Installation
|
||||
|
||||
Node.js: `npm install @hexagon/base64 --save`
|
||||
|
||||
Deno: `import base64 from "https://deno.land/x/b64@1.1.28/src/base64.js";`
|
||||
|
||||
For browser/cdn usage, refer to the documentation.
|
||||
|
||||
### Quick API
|
||||
|
||||
- __fromArrayBuffer(buffer, urlMode)__ - Encodes `ArrayBuffer` into base64 or base64url if urlMode(optional) is true
|
||||
- __toArrayBuffer(str, urlMode)__ - Decodes base64url string (or base64url string if urlMode is true) to `ArrayBuffer`
|
||||
|
||||
- __fromString(str, urlMode)__ - Encodes `String` into base64 string(base64url string if urlMode is true)
|
||||
- __toString(str, urlMode)__ - Decodes base64 or base64url string to `String`
|
||||
|
||||
- __validate(str, urlMode)__ - Returns true if `String` str is valid base64/base64 dependending on urlMode
|
||||
|
||||
## Contributing
|
||||
|
||||
See [Contribution Guide](https://base64.56k.guru/contributing.html)
|
||||
|
||||
## Donations
|
||||
|
||||
If you found this library helpful and wish to support its development, consider making a donation through [Hexagon's GitHub Sponsors page](https://github.com/sponsors/hexagon). Your generosity ensures the library's continued development and maintenance.
|
||||
|
||||
### Contributors
|
||||
|
||||
The underlying code is loosely based on [github.com/niklasvh/base64-arraybuffer](https://github.com/niklasvh/base64-arraybuffer)
|
||||
|
||||
## License
|
||||
|
||||
MIT
|
||||
12
api.hyungi.net/node_modules/@hexagon/base64/SECURITY.md
generated
vendored
Normal file
12
api.hyungi.net/node_modules/@hexagon/base64/SECURITY.md
generated
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
# Security Policy
|
||||
|
||||
## Supported Versions
|
||||
|
||||
| Version | Supported |
|
||||
| ------- | ------------------ |
|
||||
| 4.0.x | :white_check_mark: |
|
||||
| < 4.0 | :x: |
|
||||
|
||||
## Reporting a Vulnerability
|
||||
|
||||
Email hexagon@56k.guru. Do NOT report an issue, we will have a look at it asap.
|
||||
198
api.hyungi.net/node_modules/@hexagon/base64/dist/base64.cjs
generated
vendored
Normal file
198
api.hyungi.net/node_modules/@hexagon/base64/dist/base64.cjs
generated
vendored
Normal file
@@ -0,0 +1,198 @@
|
||||
(function (global, factory) {
|
||||
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
|
||||
typeof define === 'function' && define.amd ? define(factory) :
|
||||
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.base64 = factory());
|
||||
})(this, (function () { 'use strict';
|
||||
|
||||
/* ------------------------------------------------------------------------------------
|
||||
|
||||
base64 - MIT License - Hexagon <hexagon@56k.guru>
|
||||
|
||||
------------------------------------------------------------------------------------
|
||||
|
||||
License:
|
||||
|
||||
Copyright (c) 2021 Hexagon <hexagon@56k.guru>
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
|
||||
------------------------------------------------------------------------------------ */
|
||||
|
||||
const
|
||||
// Regular base64 characters
|
||||
chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",
|
||||
|
||||
// Base64url characters
|
||||
charsUrl = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",
|
||||
|
||||
genLookup = (target) => {
|
||||
const lookupTemp = typeof Uint8Array === "undefined" ? [] : new Uint8Array(256);
|
||||
const len = chars.length;
|
||||
for (let i = 0; i < len; i++) {
|
||||
lookupTemp[target.charCodeAt(i)] = i;
|
||||
}
|
||||
return lookupTemp;
|
||||
},
|
||||
|
||||
// Use a lookup table to find the index.
|
||||
lookup = genLookup(chars),
|
||||
lookupUrl = genLookup(charsUrl);
|
||||
|
||||
/**
|
||||
* Pre-calculated regexes for validating base64 and base64url
|
||||
*/
|
||||
const base64UrlPattern = /^[-A-Za-z0-9\-_]*$/;
|
||||
const base64Pattern = /^[-A-Za-z0-9+/]*={0,3}$/;
|
||||
|
||||
/**
|
||||
* @namespace base64
|
||||
*/
|
||||
const base64 = {};
|
||||
|
||||
/**
|
||||
* Convenience function for converting a base64 encoded string to an ArrayBuffer instance
|
||||
* @public
|
||||
*
|
||||
* @param {string} data - Base64 representation of data
|
||||
* @param {boolean} [urlMode] - If set to true, URL mode string will be expected
|
||||
* @returns {ArrayBuffer} - Decoded data
|
||||
*/
|
||||
base64.toArrayBuffer = (data, urlMode) => {
|
||||
const
|
||||
len = data.length;
|
||||
let bufferLength = data.length * 0.75,
|
||||
i,
|
||||
p = 0,
|
||||
encoded1,
|
||||
encoded2,
|
||||
encoded3,
|
||||
encoded4;
|
||||
|
||||
if (data[data.length - 1] === "=") {
|
||||
bufferLength--;
|
||||
if (data[data.length - 2] === "=") {
|
||||
bufferLength--;
|
||||
}
|
||||
}
|
||||
|
||||
const
|
||||
arraybuffer = new ArrayBuffer(bufferLength),
|
||||
bytes = new Uint8Array(arraybuffer),
|
||||
target = urlMode ? lookupUrl : lookup;
|
||||
|
||||
for (i = 0; i < len; i += 4) {
|
||||
encoded1 = target[data.charCodeAt(i)];
|
||||
encoded2 = target[data.charCodeAt(i + 1)];
|
||||
encoded3 = target[data.charCodeAt(i + 2)];
|
||||
encoded4 = target[data.charCodeAt(i + 3)];
|
||||
|
||||
bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);
|
||||
bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);
|
||||
bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);
|
||||
}
|
||||
|
||||
return arraybuffer;
|
||||
|
||||
};
|
||||
|
||||
/**
|
||||
* Convenience function for creating a base64 encoded string from an ArrayBuffer instance
|
||||
* @public
|
||||
*
|
||||
* @param {ArrayBuffer} arrBuf - ArrayBuffer to be encoded
|
||||
* @param {boolean} [urlMode] - If set to true, URL mode string will be returned
|
||||
* @returns {string} - Base64 representation of data
|
||||
*/
|
||||
base64.fromArrayBuffer = (arrBuf, urlMode) => {
|
||||
const bytes = new Uint8Array(arrBuf);
|
||||
let
|
||||
i,
|
||||
result = "";
|
||||
|
||||
const
|
||||
len = bytes.length,
|
||||
target = urlMode ? charsUrl : chars;
|
||||
|
||||
for (i = 0; i < len; i += 3) {
|
||||
result += target[bytes[i] >> 2];
|
||||
result += target[((bytes[i] & 3) << 4) | (bytes[i + 1] >> 4)];
|
||||
result += target[((bytes[i + 1] & 15) << 2) | (bytes[i + 2] >> 6)];
|
||||
result += target[bytes[i + 2] & 63];
|
||||
}
|
||||
|
||||
const remainder = len % 3;
|
||||
if (remainder === 2) {
|
||||
result = result.substring(0, result.length - 1) + (urlMode ? "" : "=");
|
||||
} else if (remainder === 1) {
|
||||
result = result.substring(0, result.length - 2) + (urlMode ? "" : "==");
|
||||
}
|
||||
|
||||
return result;
|
||||
|
||||
};
|
||||
|
||||
/**
|
||||
* Convenience function for converting base64 to string
|
||||
* @public
|
||||
*
|
||||
* @param {string} str - Base64 encoded string to be decoded
|
||||
* @param {boolean} [urlMode] - If set to true, URL mode string will be expected
|
||||
* @returns {string} - Decoded string
|
||||
*/
|
||||
base64.toString = (str, urlMode) => {
|
||||
return new TextDecoder().decode(base64.toArrayBuffer(str, urlMode));
|
||||
};
|
||||
|
||||
/**
|
||||
* Convenience function for converting a javascript string to base64
|
||||
* @public
|
||||
*
|
||||
* @param {string} str - String to be converted to base64
|
||||
* @param {boolean} [urlMode] - If set to true, URL mode string will be returned
|
||||
* @returns {string} - Base64 encoded string
|
||||
*/
|
||||
base64.fromString = (str, urlMode) => {
|
||||
return base64.fromArrayBuffer(new TextEncoder().encode(str), urlMode);
|
||||
};
|
||||
|
||||
/**
|
||||
* Function to validate base64
|
||||
* @public
|
||||
* @param {string} encoded - Base64 or Base64url encoded data
|
||||
* @param {boolean} [urlMode] - If set to true, base64url will be expected
|
||||
* @returns {boolean} - Valid base64/base64url?
|
||||
*/
|
||||
base64.validate = (encoded, urlMode) => {
|
||||
|
||||
// Bail out if not string
|
||||
if (!(typeof encoded === "string" || encoded instanceof String)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// Go on validate
|
||||
try {
|
||||
return urlMode ? base64UrlPattern.test(encoded) : base64Pattern.test(encoded);
|
||||
} catch (_e) {
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
base64.base64 = base64;
|
||||
|
||||
return base64;
|
||||
|
||||
}));
|
||||
1
api.hyungi.net/node_modules/@hexagon/base64/dist/base64.min.js
generated
vendored
Normal file
1
api.hyungi.net/node_modules/@hexagon/base64/dist/base64.min.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
(function(global,factory){typeof exports==="object"&&typeof module!=="undefined"?module.exports=factory():typeof define==="function"&&define.amd?define(factory):(global=typeof globalThis!=="undefined"?globalThis:global||self,global.base64=factory())})(this,function(){"use strict";const chars="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",charsUrl="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",genLookup=target=>{const lookupTemp=typeof Uint8Array==="undefined"?[]:new Uint8Array(256);const len=chars.length;for(let i=0;i<len;i++){lookupTemp[target.charCodeAt(i)]=i}return lookupTemp},lookup=genLookup(chars),lookupUrl=genLookup(charsUrl);const base64UrlPattern=/^[-A-Za-z0-9\-_]*$/;const base64Pattern=/^[-A-Za-z0-9+/]*={0,3}$/;const base64={};base64.toArrayBuffer=(data,urlMode)=>{const len=data.length;let bufferLength=data.length*.75,i,p=0,encoded1,encoded2,encoded3,encoded4;if(data[data.length-1]==="="){bufferLength--;if(data[data.length-2]==="="){bufferLength--}}const arraybuffer=new ArrayBuffer(bufferLength),bytes=new Uint8Array(arraybuffer),target=urlMode?lookupUrl:lookup;for(i=0;i<len;i+=4){encoded1=target[data.charCodeAt(i)];encoded2=target[data.charCodeAt(i+1)];encoded3=target[data.charCodeAt(i+2)];encoded4=target[data.charCodeAt(i+3)];bytes[p++]=encoded1<<2|encoded2>>4;bytes[p++]=(encoded2&15)<<4|encoded3>>2;bytes[p++]=(encoded3&3)<<6|encoded4&63}return arraybuffer};base64.fromArrayBuffer=(arrBuf,urlMode)=>{const bytes=new Uint8Array(arrBuf);let i,result="";const len=bytes.length,target=urlMode?charsUrl:chars;for(i=0;i<len;i+=3){result+=target[bytes[i]>>2];result+=target[(bytes[i]&3)<<4|bytes[i+1]>>4];result+=target[(bytes[i+1]&15)<<2|bytes[i+2]>>6];result+=target[bytes[i+2]&63]}const remainder=len%3;if(remainder===2){result=result.substring(0,result.length-1)+(urlMode?"":"=")}else if(remainder===1){result=result.substring(0,result.length-2)+(urlMode?"":"==")}return result};base64.toString=(str,urlMode)=>{return(new TextDecoder).decode(base64.toArrayBuffer(str,urlMode))};base64.fromString=(str,urlMode)=>{return base64.fromArrayBuffer((new TextEncoder).encode(str),urlMode)};base64.validate=(encoded,urlMode)=>{if(!(typeof encoded==="string"||encoded instanceof String)){return false}try{return urlMode?base64UrlPattern.test(encoded):base64Pattern.test(encoded)}catch(_e){return false}};base64.base64=base64;return base64});
|
||||
1
api.hyungi.net/node_modules/@hexagon/base64/dist/base64.min.js.map
generated
vendored
Normal file
1
api.hyungi.net/node_modules/@hexagon/base64/dist/base64.min.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["dist/base64.cjs"],"names":["global","factory","exports","module","define","amd","globalThis","self","base64","this","chars","charsUrl","genLookup","lookupTemp","Uint8Array","len","length","let","i","target","charCodeAt","lookup","lookupUrl","base64UrlPattern","base64Pattern","toArrayBuffer","data","urlMode","bufferLength","p","encoded1","encoded2","encoded3","encoded4","arraybuffer","ArrayBuffer","bytes","fromArrayBuffer","arrBuf","result","remainder","substring","toString","str","TextDecoder","decode","fromString","TextEncoder","encode","validate","encoded","String","test","_e"],"mappings":"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"}
|
||||
1
api.hyungi.net/node_modules/@hexagon/base64/dist/base64.min.mjs
generated
vendored
Normal file
1
api.hyungi.net/node_modules/@hexagon/base64/dist/base64.min.mjs
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
const chars="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",charsUrl="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",genLookup=target=>{const lookupTemp=typeof Uint8Array==="undefined"?[]:new Uint8Array(256);const len=chars.length;for(let i=0;i<len;i++){lookupTemp[target.charCodeAt(i)]=i}return lookupTemp},lookup=genLookup(chars),lookupUrl=genLookup(charsUrl);const base64UrlPattern=/^[-A-Za-z0-9\-_]*$/;const base64Pattern=/^[-A-Za-z0-9+/]*={0,3}$/;const base64={};base64.toArrayBuffer=(data,urlMode)=>{const len=data.length;let bufferLength=data.length*.75,i,p=0,encoded1,encoded2,encoded3,encoded4;if(data[data.length-1]==="="){bufferLength--;if(data[data.length-2]==="="){bufferLength--}}const arraybuffer=new ArrayBuffer(bufferLength),bytes=new Uint8Array(arraybuffer),target=urlMode?lookupUrl:lookup;for(i=0;i<len;i+=4){encoded1=target[data.charCodeAt(i)];encoded2=target[data.charCodeAt(i+1)];encoded3=target[data.charCodeAt(i+2)];encoded4=target[data.charCodeAt(i+3)];bytes[p++]=encoded1<<2|encoded2>>4;bytes[p++]=(encoded2&15)<<4|encoded3>>2;bytes[p++]=(encoded3&3)<<6|encoded4&63}return arraybuffer};base64.fromArrayBuffer=(arrBuf,urlMode)=>{const bytes=new Uint8Array(arrBuf);let i,result="";const len=bytes.length,target=urlMode?charsUrl:chars;for(i=0;i<len;i+=3){result+=target[bytes[i]>>2];result+=target[(bytes[i]&3)<<4|bytes[i+1]>>4];result+=target[(bytes[i+1]&15)<<2|bytes[i+2]>>6];result+=target[bytes[i+2]&63]}const remainder=len%3;if(remainder===2){result=result.substring(0,result.length-1)+(urlMode?"":"=")}else if(remainder===1){result=result.substring(0,result.length-2)+(urlMode?"":"==")}return result};base64.toString=(str,urlMode)=>{return(new TextDecoder).decode(base64.toArrayBuffer(str,urlMode))};base64.fromString=(str,urlMode)=>{return base64.fromArrayBuffer((new TextEncoder).encode(str),urlMode)};base64.validate=(encoded,urlMode)=>{if(!(typeof encoded==="string"||encoded instanceof String)){return false}try{return urlMode?base64UrlPattern.test(encoded):base64Pattern.test(encoded)}catch(_e){return false}};base64.base64=base64;export{base64,base64 as default};
|
||||
1
api.hyungi.net/node_modules/@hexagon/base64/dist/base64.min.mjs.map
generated
vendored
Normal file
1
api.hyungi.net/node_modules/@hexagon/base64/dist/base64.min.mjs.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["dist/base64.mjs"],"names":["chars","charsUrl","genLookup","lookupTemp","Uint8Array","len","length","let","i","target","charCodeAt","lookup","lookupUrl","base64UrlPattern","base64Pattern","base64","toArrayBuffer","data","urlMode","bufferLength","p","encoded1","encoded2","encoded3","encoded4","arraybuffer","ArrayBuffer","bytes","fromArrayBuffer","arrBuf","result","remainder","substring","toString","str","TextDecoder","decode","fromString","TextEncoder","encode","validate","encoded","String","test","_e"],"mappings":"AA4BA,MAECA,MAAQ,mEAGRC,SAAW,mEAEXC,UAAY,SACX,MAAMC,WAAa,OAAOC,aAAe,YAAc,GAAK,IAAIA,WAAW,GAAG,EAC9E,MAAMC,IAAML,MAAMM,OAClB,IAAKC,IAAIC,EAAI,EAAGA,EAAIH,IAAKG,CAAC,GAAI,CAC7BL,WAAWM,OAAOC,WAAWF,CAAC,GAAKA,CACpC,CACA,OAAOL,UACR,EAGAQ,OAAST,UAAUF,KAAK,EACxBY,UAAYV,UAAUD,QAAQ,EAK/B,MAAMY,iBAAmB,qBACzB,MAAMC,cAAgB,0BAKtB,MAAMC,OAAS,GAUfA,OAAOC,cAAgB,CAACC,KAAMC,WAC7B,MACCb,IAAMY,KAAKX,OACZC,IAAIY,aAAeF,KAAKX,OAAS,IAChCE,EACAY,EAAI,EACJC,SACAC,SACAC,SACAC,SAED,GAAIP,KAAKA,KAAKX,OAAS,KAAO,IAAK,CAClCa,YAAY,GACZ,GAAIF,KAAKA,KAAKX,OAAS,KAAO,IAAK,CAClCa,YAAY,EACb,CACD,CAEA,MACCM,YAAc,IAAIC,YAAYP,YAAY,EAC1CQ,MAAQ,IAAIvB,WAAWqB,WAAW,EAClChB,OAASS,QAAUN,UAAYD,OAEhC,IAAKH,EAAI,EAAGA,EAAIH,IAAKG,GAAK,EAAG,CAC5Ba,SAAWZ,OAAOQ,KAAKP,WAAWF,CAAC,GACnCc,SAAWb,OAAOQ,KAAKP,WAAWF,EAAI,CAAC,GACvCe,SAAWd,OAAOQ,KAAKP,WAAWF,EAAI,CAAC,GACvCgB,SAAWf,OAAOQ,KAAKP,WAAWF,EAAI,CAAC,GAEvCmB,MAAMP,CAAC,IAAOC,UAAY,EAAMC,UAAY,EAC5CK,MAAMP,CAAC,KAAQE,SAAW,KAAO,EAAMC,UAAY,EACnDI,MAAMP,CAAC,KAAQG,SAAW,IAAM,EAAMC,SAAW,EAClD,CAEA,OAAOC,WAER,EAUAV,OAAOa,gBAAkB,CAACC,OAAQX,WACjC,MAAMS,MAAQ,IAAIvB,WAAWyB,MAAM,EACnCtB,IACCC,EACAsB,OAAS,GAEV,MACCzB,IAAMsB,MAAMrB,OACZG,OAASS,QAAUjB,SAAWD,MAE/B,IAAKQ,EAAI,EAAGA,EAAIH,IAAKG,GAAK,EAAG,CAC5BsB,QAAUrB,OAAOkB,MAAMnB,IAAM,GAC7BsB,QAAUrB,QAASkB,MAAMnB,GAAK,IAAM,EAAMmB,MAAMnB,EAAI,IAAM,GAC1DsB,QAAUrB,QAASkB,MAAMnB,EAAI,GAAK,KAAO,EAAMmB,MAAMnB,EAAI,IAAM,GAC/DsB,QAAUrB,OAAOkB,MAAMnB,EAAI,GAAK,GACjC,CAEA,MAAMuB,UAAY1B,IAAM,EACxB,GAAI0B,YAAc,EAAG,CACpBD,OAASA,OAAOE,UAAU,EAAGF,OAAOxB,OAAS,CAAC,GAAKY,QAAU,GAAK,IACnE,MAAO,GAAIa,YAAc,EAAG,CAC3BD,OAASA,OAAOE,UAAU,EAAGF,OAAOxB,OAAS,CAAC,GAAKY,QAAU,GAAK,KACnE,CAEA,OAAOY,MAER,EAUAf,OAAOkB,SAAW,CAACC,IAAKhB,WACvB,OAAO,IAAIiB,aAAcC,OAAOrB,OAAOC,cAAckB,IAAKhB,OAAO,CAAC,CACnE,EAUAH,OAAOsB,WAAa,CAACH,IAAKhB,WACzB,OAAOH,OAAOa,iBAAgB,IAAIU,aAAcC,OAAOL,GAAG,EAAGhB,OAAO,CACrE,EASAH,OAAOyB,SAAW,CAACC,QAASvB,WAG3B,GAAI,EAAE,OAAOuB,UAAY,UAAYA,mBAAmBC,QAAS,CAChE,OAAO,KACR,CAGA,IACC,OAAOxB,QAAUL,iBAAiB8B,KAAKF,OAAO,EAAI3B,cAAc6B,KAAKF,OAAO,CAG7E,CAFE,MAAOG,IACR,OAAO,KACR,CACD,EAEA7B,OAAOA,OAASA,cAEPA,OAAQA,iBAAmB"}
|
||||
73
api.hyungi.net/node_modules/@hexagon/base64/package.json
generated
vendored
Normal file
73
api.hyungi.net/node_modules/@hexagon/base64/package.json
generated
vendored
Normal file
@@ -0,0 +1,73 @@
|
||||
{
|
||||
"name": "@hexagon/base64",
|
||||
"version": "1.1.28",
|
||||
"description": "Base64 and base64url to string or arraybuffer, and back. Node, Deno or browser.",
|
||||
"author": "Hexagon <github.com/hexagon>",
|
||||
"contributors": [
|
||||
{
|
||||
"name": "Niklas von Hertzen",
|
||||
"email": "niklasvh@gmail.com",
|
||||
"url": "https://hertzen.com"
|
||||
}
|
||||
],
|
||||
"homepage": "https://base64.56k.guru",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/hexagon/base64"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/hexagon/base64/issues"
|
||||
},
|
||||
"files": [
|
||||
"dist/*",
|
||||
"src/*",
|
||||
"types/*",
|
||||
"SECURITY.md"
|
||||
],
|
||||
"keywords": [
|
||||
"base64",
|
||||
"base64url",
|
||||
"parser",
|
||||
"base64",
|
||||
"isomorphic",
|
||||
"arraybuffer",
|
||||
"string"
|
||||
],
|
||||
"scripts": {
|
||||
"test": "uvu test test.base64.js",
|
||||
"test:dist": "uvu test/node/js && npm run test:ts",
|
||||
"test:coverage": "c8 --include=src npm test",
|
||||
"test:lint": "eslint ./**/*.js ./**/*.cjs",
|
||||
"test:lint:fix": "eslint --fix ./**/*.js ./**/*.cjs",
|
||||
"test:ts": "tsc --strict --noEmit ./test/node/ts/basics.ts",
|
||||
"build": "npm update && npm run build:precleanup && npm run test:lint && npm run build:typings && npm run build:dist && npm run build:minify && npm run build:cleanup && npm run test:coverage && npm run test:dist",
|
||||
"build:ci": "npm run test:lint && npm run build:typings && npm run build:dist && npm run build:minify && npm run build:cleanup && npm run test:coverage && npm run test:dist",
|
||||
"build:precleanup": "(rm -rf types/* || del /Q types\\*) && (rm -rf dist/* || del /Q dist\\*)",
|
||||
"build:dist": "rollup -c ./rollup.config.js",
|
||||
"build:minify": "uglifyjs dist/base64.cjs --source-map -o dist/base64.min.js && uglifyjs dist/base64.mjs --source-map -o dist/base64.min.mjs",
|
||||
"build:typings": "tsc",
|
||||
"build:cleanup": "(rm dist/base64.mjs || del dist\\base64.mjs)"
|
||||
},
|
||||
"type": "module",
|
||||
"main": "./dist/base64.cjs",
|
||||
"browser": "./dist/base64.min.js",
|
||||
"module": "./src/base64.js",
|
||||
"types": "types/base64.single.d.ts",
|
||||
"exports": {
|
||||
".": {
|
||||
"import": "./src/base64.js",
|
||||
"require": "./dist/base64.cjs",
|
||||
"browser": "./dist/base64.min.js"
|
||||
}
|
||||
},
|
||||
"devDependencies": {
|
||||
"c8": "^8.0.1",
|
||||
"eslint": "^8.46.0",
|
||||
"jsdoc": "^4.0.2",
|
||||
"rollup": "^3.27.2",
|
||||
"typescript": "^5.2.2",
|
||||
"uglify-js": "^3.17.4",
|
||||
"uvu": "^0.5.6"
|
||||
},
|
||||
"license": "MIT"
|
||||
}
|
||||
190
api.hyungi.net/node_modules/@hexagon/base64/src/base64.js
generated
vendored
Normal file
190
api.hyungi.net/node_modules/@hexagon/base64/src/base64.js
generated
vendored
Normal file
@@ -0,0 +1,190 @@
|
||||
/* ------------------------------------------------------------------------------------
|
||||
|
||||
base64 - MIT License - Hexagon <hexagon@56k.guru>
|
||||
|
||||
------------------------------------------------------------------------------------
|
||||
|
||||
License:
|
||||
|
||||
Copyright (c) 2021 Hexagon <hexagon@56k.guru>
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
|
||||
------------------------------------------------------------------------------------ */
|
||||
|
||||
const
|
||||
// Regular base64 characters
|
||||
chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",
|
||||
|
||||
// Base64url characters
|
||||
charsUrl = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",
|
||||
|
||||
genLookup = (target) => {
|
||||
const lookupTemp = typeof Uint8Array === "undefined" ? [] : new Uint8Array(256);
|
||||
const len = chars.length;
|
||||
for (let i = 0; i < len; i++) {
|
||||
lookupTemp[target.charCodeAt(i)] = i;
|
||||
}
|
||||
return lookupTemp;
|
||||
},
|
||||
|
||||
// Use a lookup table to find the index.
|
||||
lookup = genLookup(chars),
|
||||
lookupUrl = genLookup(charsUrl);
|
||||
|
||||
/**
|
||||
* Pre-calculated regexes for validating base64 and base64url
|
||||
*/
|
||||
const base64UrlPattern = /^[-A-Za-z0-9\-_]*$/;
|
||||
const base64Pattern = /^[-A-Za-z0-9+/]*={0,3}$/;
|
||||
|
||||
/**
|
||||
* @namespace base64
|
||||
*/
|
||||
const base64 = {};
|
||||
|
||||
/**
|
||||
* Convenience function for converting a base64 encoded string to an ArrayBuffer instance
|
||||
* @public
|
||||
*
|
||||
* @param {string} data - Base64 representation of data
|
||||
* @param {boolean} [urlMode] - If set to true, URL mode string will be expected
|
||||
* @returns {ArrayBuffer} - Decoded data
|
||||
*/
|
||||
base64.toArrayBuffer = (data, urlMode) => {
|
||||
const
|
||||
len = data.length;
|
||||
let bufferLength = data.length * 0.75,
|
||||
i,
|
||||
p = 0,
|
||||
encoded1,
|
||||
encoded2,
|
||||
encoded3,
|
||||
encoded4;
|
||||
|
||||
if (data[data.length - 1] === "=") {
|
||||
bufferLength--;
|
||||
if (data[data.length - 2] === "=") {
|
||||
bufferLength--;
|
||||
}
|
||||
}
|
||||
|
||||
const
|
||||
arraybuffer = new ArrayBuffer(bufferLength),
|
||||
bytes = new Uint8Array(arraybuffer),
|
||||
target = urlMode ? lookupUrl : lookup;
|
||||
|
||||
for (i = 0; i < len; i += 4) {
|
||||
encoded1 = target[data.charCodeAt(i)];
|
||||
encoded2 = target[data.charCodeAt(i + 1)];
|
||||
encoded3 = target[data.charCodeAt(i + 2)];
|
||||
encoded4 = target[data.charCodeAt(i + 3)];
|
||||
|
||||
bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);
|
||||
bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);
|
||||
bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);
|
||||
}
|
||||
|
||||
return arraybuffer;
|
||||
|
||||
};
|
||||
|
||||
/**
|
||||
* Convenience function for creating a base64 encoded string from an ArrayBuffer instance
|
||||
* @public
|
||||
*
|
||||
* @param {ArrayBuffer} arrBuf - ArrayBuffer to be encoded
|
||||
* @param {boolean} [urlMode] - If set to true, URL mode string will be returned
|
||||
* @returns {string} - Base64 representation of data
|
||||
*/
|
||||
base64.fromArrayBuffer = (arrBuf, urlMode) => {
|
||||
const bytes = new Uint8Array(arrBuf);
|
||||
let
|
||||
i,
|
||||
result = "";
|
||||
|
||||
const
|
||||
len = bytes.length,
|
||||
target = urlMode ? charsUrl : chars;
|
||||
|
||||
for (i = 0; i < len; i += 3) {
|
||||
result += target[bytes[i] >> 2];
|
||||
result += target[((bytes[i] & 3) << 4) | (bytes[i + 1] >> 4)];
|
||||
result += target[((bytes[i + 1] & 15) << 2) | (bytes[i + 2] >> 6)];
|
||||
result += target[bytes[i + 2] & 63];
|
||||
}
|
||||
|
||||
const remainder = len % 3;
|
||||
if (remainder === 2) {
|
||||
result = result.substring(0, result.length - 1) + (urlMode ? "" : "=");
|
||||
} else if (remainder === 1) {
|
||||
result = result.substring(0, result.length - 2) + (urlMode ? "" : "==");
|
||||
}
|
||||
|
||||
return result;
|
||||
|
||||
};
|
||||
|
||||
/**
|
||||
* Convenience function for converting base64 to string
|
||||
* @public
|
||||
*
|
||||
* @param {string} str - Base64 encoded string to be decoded
|
||||
* @param {boolean} [urlMode] - If set to true, URL mode string will be expected
|
||||
* @returns {string} - Decoded string
|
||||
*/
|
||||
base64.toString = (str, urlMode) => {
|
||||
return new TextDecoder().decode(base64.toArrayBuffer(str, urlMode));
|
||||
};
|
||||
|
||||
/**
|
||||
* Convenience function for converting a javascript string to base64
|
||||
* @public
|
||||
*
|
||||
* @param {string} str - String to be converted to base64
|
||||
* @param {boolean} [urlMode] - If set to true, URL mode string will be returned
|
||||
* @returns {string} - Base64 encoded string
|
||||
*/
|
||||
base64.fromString = (str, urlMode) => {
|
||||
return base64.fromArrayBuffer(new TextEncoder().encode(str), urlMode);
|
||||
};
|
||||
|
||||
/**
|
||||
* Function to validate base64
|
||||
* @public
|
||||
* @param {string} encoded - Base64 or Base64url encoded data
|
||||
* @param {boolean} [urlMode] - If set to true, base64url will be expected
|
||||
* @returns {boolean} - Valid base64/base64url?
|
||||
*/
|
||||
base64.validate = (encoded, urlMode) => {
|
||||
|
||||
// Bail out if not string
|
||||
if (!(typeof encoded === "string" || encoded instanceof String)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// Go on validate
|
||||
try {
|
||||
return urlMode ? base64UrlPattern.test(encoded) : base64Pattern.test(encoded);
|
||||
} catch (_e) {
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
base64.base64 = base64;
|
||||
export default base64;
|
||||
export { base64 };
|
||||
3
api.hyungi.net/node_modules/@hexagon/base64/src/base64.single.js
generated
vendored
Normal file
3
api.hyungi.net/node_modules/@hexagon/base64/src/base64.single.js
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
import base64 from "./base64.js";
|
||||
|
||||
export default base64;
|
||||
48
api.hyungi.net/node_modules/@hexagon/base64/types/base64.d.ts
generated
vendored
Normal file
48
api.hyungi.net/node_modules/@hexagon/base64/types/base64.d.ts
generated
vendored
Normal file
@@ -0,0 +1,48 @@
|
||||
export default base64;
|
||||
export namespace base64 {
|
||||
/**
|
||||
* Convenience function for converting a base64 encoded string to an ArrayBuffer instance
|
||||
* @public
|
||||
*
|
||||
* @param {string} data - Base64 representation of data
|
||||
* @param {boolean} [urlMode] - If set to true, URL mode string will be expected
|
||||
* @returns {ArrayBuffer} - Decoded data
|
||||
*/
|
||||
export function toArrayBuffer(data: string, urlMode?: boolean): ArrayBuffer;
|
||||
/**
|
||||
* Convenience function for creating a base64 encoded string from an ArrayBuffer instance
|
||||
* @public
|
||||
*
|
||||
* @param {ArrayBuffer} arrBuf - ArrayBuffer to be encoded
|
||||
* @param {boolean} [urlMode] - If set to true, URL mode string will be returned
|
||||
* @returns {string} - Base64 representation of data
|
||||
*/
|
||||
export function fromArrayBuffer(arrBuf: ArrayBuffer, urlMode?: boolean): string;
|
||||
/**
|
||||
* Convenience function for converting base64 to string
|
||||
* @public
|
||||
*
|
||||
* @param {string} str - Base64 encoded string to be decoded
|
||||
* @param {boolean} [urlMode] - If set to true, URL mode string will be expected
|
||||
* @returns {string} - Decoded string
|
||||
*/
|
||||
export function toString(str: string, urlMode?: boolean): string;
|
||||
/**
|
||||
* Convenience function for converting a javascript string to base64
|
||||
* @public
|
||||
*
|
||||
* @param {string} str - String to be converted to base64
|
||||
* @param {boolean} [urlMode] - If set to true, URL mode string will be returned
|
||||
* @returns {string} - Base64 encoded string
|
||||
*/
|
||||
export function fromString(str: string, urlMode?: boolean): string;
|
||||
/**
|
||||
* Function to validate base64
|
||||
* @public
|
||||
* @param {string} encoded - Base64 or Base64url encoded data
|
||||
* @param {boolean} [urlMode] - If set to true, base64url will be expected
|
||||
* @returns {boolean} - Valid base64/base64url?
|
||||
*/
|
||||
export function validate(encoded: string, urlMode?: boolean): boolean;
|
||||
export { base64 };
|
||||
}
|
||||
2
api.hyungi.net/node_modules/@hexagon/base64/types/base64.single.d.ts
generated
vendored
Normal file
2
api.hyungi.net/node_modules/@hexagon/base64/types/base64.single.d.ts
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
export default base64;
|
||||
import base64 from "./base64.js";
|
||||
Reference in New Issue
Block a user