UNPKG

content-range

Version:
39 lines (34 loc) 1.12 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); /** * 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; } exports.format = format; exports.parse = parse; //# sourceMappingURL=content-range.cjs.development.js.map