Download node_modules/@jridgewell/sourcemap-codec/src/range-mappings.ts from metarm/QMetaRam: direct link, hf CLI and curl.
- Browser
- Download file 1.19 kB
-
https://huggingface.co/metarm/QMetaRam/resolve/main/node_modules/%40jridgewell/sourcemap-codec/src/range-mappings.ts
- Command line
-
hf download hf://metarm/QMetaRam/node_modules/@jridgewell/sourcemap-codec/src/range-mappings.ts
-
curl -L -o range-mappings.ts https://huggingface.co/metarm/QMetaRam/resolve/main/node_modules/%40jridgewell/sourcemap-codec/src/range-mappings.ts
1.19 kB
| import { StringReader, StringWriter } from './strings'; | |
| import { decodeInteger, encodeInteger, semicolon } from './vlq'; | |
| export type MappingIndex = number; | |
| export type RangeMappings = MappingIndex[][]; | |
| export function decodeRangeMappings(input: string): RangeMappings { | |
| const { length } = input; | |
| const reader = new StringReader(input); | |
| const rangeMappings: RangeMappings = []; | |
| do { | |
| const semi = reader.indexOf(';'); | |
| const indices: MappingIndex[] = []; | |
| let index = 0; | |
| while (reader.pos < semi) { | |
| index += decodeInteger(reader); | |
| indices.push(index); | |
| } | |
| rangeMappings.push(indices); | |
| reader.pos = semi + 1; | |
| } while (reader.pos <= length); | |
| return rangeMappings; | |
| } | |
| export function encodeRangeMappings(decoded: RangeMappings): string { | |
| if (decoded.length === 0) return ''; | |
| const writer = new StringWriter(); | |
| for (let i = 0; i < decoded.length; i++) { | |
| const indices = decoded[i]; | |
| if (i > 0) writer.write(semicolon); | |
| let index = 0; | |
| for (let j = 0; j < indices.length; j++) { | |
| const offset = indices[j]; | |
| encodeInteger(writer, offset - index); | |
| index = offset; | |
| } | |
| } | |
| return writer.flush(); | |
| } | |