INNER CODE UNIT · JavaScript

generateMimeTypeData

gildas-lormeau/zip.js · generate-mime-type-data.js:17

function generateMimeTypeData() {
	const table = JSON.parse(fs.readFileSync(MIME_TYPES_PATH, "utf8"));
	const expectedMimeTypes = {};
	for (const type of Object.keys(table).sort()) {
		if (!VALID_NAME_REGEXP.test(type)) {
			throw new Error("invalid mime type name: " + type);
		}
		for (const [subtype, value] of Object.entries(table[type])) {
			if (!VALID_NAME_REGEXP.test(subtype)) {
				throw new Error("invalid mime subtype name: " + type + "/" + subtype);
			}
			for (const extension of typeof value == "string" ? [value] : value) {
				if (!VALID_NAME_REGEXP.test(extension)) {
					throw new Error("invalid extension: " + extension + " (" + type + "/" + subtype + ")");
				}
				if (expectedMimeTypes[extension]) {
					throw new Error("duplicate extension: " + extension + " (" + expectedMimeTypes[extension] + " and " + type + "/" + subtype + ")");
				}

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…