UNPKG

content-range

Version:
34 lines (31 loc) 1.01 kB
/** * Format Content-Range header. */ function format(input) { var size = input.size != null ? input.size : "*"; var range = input.start == null && input.end == null ? "*" : input.start + "-" + input.end; if (size === "*" && range === "*") return null; if (range !== "*" && (input.start == null || input.end == null)) return null; return input.unit + " " + range + "/" + size; } /** * Parse Content-Range header. */ function parse(input) { var matches = input.match(/^(\w+) ((\d+)-(\d+)|\*)\/(\d+|\*)$/); if (!matches) return null; var unit = matches[1], start = matches[3], end = matches[4], size = matches[5]; var range = { unit: unit, start: start != null ? Number(start) : null, end: end != null ? Number(end) : null, size: size === "*" ? null : Number(size) }; if (range.start === null && range.end === null && range.size === null) return null; return range; } export { format, parse }; //# sourceMappingURL=content-range.esm.js.map