Buckets:
ktongue/docker_container / simsite /frontend /node_modules /@jridgewell /sourcemap-codec /src /vlq.ts
| import type { StringReader, StringWriter } from './strings'; | |
| export const comma = ','.charCodeAt(0); | |
| export const semicolon = ';'.charCodeAt(0); | |
| const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; | |
| const intToChar = new Uint8Array(64); // 64 possible chars. | |
| const charToInt = new Uint8Array(128); // z is 122 in ASCII | |
| for (let i = 0; i < chars.length; i++) { | |
| const c = chars.charCodeAt(i); | |
| intToChar[i] = c; | |
| charToInt[c] = i; | |
| } | |
| export function decodeInteger(reader: StringReader, relative: number): number { | |
| let value = 0; | |
| let shift = 0; | |
| let integer = 0; | |
| do { | |
| const c = reader.next(); | |
| integer = charToInt[c]; | |
| value |= (integer & 31) << shift; | |
| shift += 5; | |
| } while (integer & 32); | |
| const shouldNegate = value & 1; | |
| value >>>= 1; | |
| if (shouldNegate) { | |
| value = -0x80000000 | -value; | |
| } | |
| return relative + value; | |
| } | |
| export function encodeInteger(builder: StringWriter, num: number, relative: number): number { | |
| let delta = num - relative; | |
| delta = delta < 0 ? (-delta << 1) | 1 : delta << 1; | |
| do { | |
| let clamped = delta & 0b011111; | |
| delta >>>= 5; | |
| if (delta > 0) clamped |= 0b100000; | |
| builder.write(intToChar[clamped]); | |
| } while (delta > 0); | |
| return num; | |
| } | |
| export function hasMoreVlq(reader: StringReader, max: number) { | |
| if (reader.pos >= max) return false; | |
| return reader.peek() !== comma; | |
| } | |
Xet Storage Details
- Size:
- 1.39 kB
- Xet hash:
- d0f4a8fd4f2fb15295388c3fb3a9cc8f7e79e6c0ade1fda1a20a650edef37f01
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.