UNPKG

1.03 kBTypeScriptView Raw
1/**
2 * When ranges are returned, the array has a "type" property which is the type of
3 * range that is required (most commonly, "bytes"). Each array element is an object
4 * with a "start" and "end" property for the portion of the range.
5 *
6 * @returns `-1` when unsatisfiable and `-2` when syntactically invalid, ranges otherwise.
7 */
8declare function RangeParser(
9 size: number,
10 str: string,
11 options?: RangeParser.Options,
12): RangeParser.Result | RangeParser.Ranges;
13
14declare namespace RangeParser {
15 interface Ranges extends Array<Range> {
16 type: string;
17 }
18 interface Range {
19 start: number;
20 end: number;
21 }
22 interface Options {
23 /**
24 * The "combine" option can be set to `true` and overlapping & adjacent ranges
25 * will be combined into a single range.
26 */
27 combine?: boolean | undefined;
28 }
29 type ResultUnsatisfiable = -1;
30 type ResultInvalid = -2;
31 type Result = ResultUnsatisfiable | ResultInvalid;
32}
33
34export = RangeParser;