UNPKG

@remix-run/headers

Version:

A toolkit for working with HTTP headers in JavaScript

64 lines 1.97 kB
import { type HeaderValue } from './header-value.ts'; /** * Initializer for a `Range` header value. */ export interface RangeInit { /** * The unit of the range, typically "bytes" */ unit?: string; /** * The ranges requested. Each range has optional start and end values. * - {start: 0, end: 99} = bytes 0-99 * - {start: 100} = bytes 100- (from 100 to end) * - {end: 500} = bytes -500 (last 500 bytes) */ ranges?: Array<{ start?: number; end?: number; }>; } /** * The value of a `Range` HTTP header. * * [MDN `Range` Reference](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Range) * * [HTTP/1.1 Specification](https://httpwg.org/specs/rfc9110.html#field.range) */ export declare class Range implements HeaderValue, RangeInit { unit: string; ranges: Array<{ start?: number; end?: number; }>; /** * @param init A string or object to initialize the header */ constructor(init?: string | RangeInit); /** * Checks if this range can be satisfied for a resource of the given size. * * @param resourceSize The size of the resource in bytes * @return `false` if the range is malformed or all ranges are beyond the resource size */ canSatisfy(resourceSize: number): boolean; /** * Normalizes the ranges for a resource of the given size. * Returns an array of ranges with resolved start and end values. * Returns an empty array if the range cannot be satisfied. * * @param resourceSize The size of the resource in bytes * @return An array of ranges with resolved start and end values */ normalize(resourceSize: number): Array<{ start: number; end: number; }>; /** * Returns the string representation of the header value. * * @return The header value as a string */ toString(): string; } //# sourceMappingURL=range.d.ts.map