| import crypto from 'crypto'; | |
| import URLSearchParams from './classes/URLSearchParams.js'; | |
| import FormData from './classes/FormData.js'; | |
| const ALPHA = 'abcdefghijklmnopqrstuvwxyz'; | |
| const DIGIT = '0123456789'; | |
| const ALPHABET = { | |
| DIGIT, | |
| ALPHA, | |
| ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT, | |
| }; | |
| const generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => { | |
| let str = ''; | |
| const { length } = alphabet; | |
| const randomValues = new Uint32Array(size); | |
| crypto.randomFillSync(randomValues); | |
| for (let i = 0; i < size; i++) { | |
| str += alphabet[randomValues[i] % length]; | |
| } | |
| return str; | |
| }; | |
| export default { | |
| isNode: true, | |
| classes: { | |
| URLSearchParams, | |
| FormData, | |
| Blob: (typeof Blob !== 'undefined' && Blob) || null, | |
| }, | |
| ALPHABET, | |
| generateString, | |
| protocols: ['http', 'https', 'file', 'data'], | |
| }; | |
Xet Storage Details
- Size:
- 837 Bytes
- Xet hash:
- 2d636bb3ad067b36a011e4adc75fd5e1245bcc5ec7d67761b251bb124285962c
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.