lightfold
Version:
lightweight scaffolding and archiving utility CLI.
26 lines (19 loc) • 599 B
JavaScript
;
const { solelyContainsHTTPTokenCodePoints } = require("./utils.js");
module.exports = mimeType => {
let serialization = `${mimeType.type}/${mimeType.subtype}`;
if (mimeType.parameters.size === 0) {
return serialization;
}
for (let [name, value] of mimeType.parameters) {
serialization += ";";
serialization += name;
serialization += "=";
if (!solelyContainsHTTPTokenCodePoints(value) || value.length === 0) {
value = value.replace(/(["\\])/g, "\\$1");
value = `"${value}"`;
}
serialization += value;
}
return serialization;
};