UNPKG

@httpland/accept-ranges-parser

Version:
28 lines (27 loc) 1.08 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.stringifyAcceptRanges = void 0; const deps_js_1 = require("./deps.js"); const constants_js_1 = require("./constants.js"); /** Serialize string of array into string. * * @example * ```ts * import { stringifyAcceptRanges } from "https://deno.land/x/accept_ranges_parser@$VERSION/stringify.ts"; * import { assertEquals } from "https://deno.land/std/testing/asserts.ts"; * * assertEquals(stringifyAcceptRanges(["bytes"]), "bytes"); * ``` * * @throws {TypeError} If the input is invalid [`<range-unit>`](https://www.rfc-editor.org/rfc/rfc9110#section-14.1-3) format. */ function stringifyAcceptRanges(acceptRanges) { const targets = (0, deps_js_1.isString)(acceptRanges) ? [acceptRanges] : acceptRanges; targets.forEach((rangeUnit) => { if (!(0, deps_js_1.isToken)(rangeUnit)) { throw TypeError(`${constants_js_1.Msg.InvalidRangeUnit} "${rangeUnit}"`); } }); return targets.join(", "); } exports.stringifyAcceptRanges = stringifyAcceptRanges;