function parseIgnores(ignoreFile) {
    const response = new Map();
    ignoreFile.parsed.overrides ??= {};
    const ignores = ignoreFile.parsed.overrides;
    for (const [rule, ignored] of Object.entries(ignores)) {
        assert(Array.isArray(ignored), `Expected .overrides.${rule} to be an Array`);
        for (const [index, ignore] of ignored.entries()) {
            assert(typeof ignore === 'object', `Expected .overrides.${rule}[${index}] to be an Object`);
            assert(typeof ignore.file === 'string', `Expected .overrides.${rule}[${index}].file to be a String`);
            assert(typeof ignore.key === 'string', `Expected .overrides.${rule}[${index}].key to be a String`);
            assert(typeof ignore.comment === 'string', `Expected .overrides.${rule}[${index}].comment to be a String`);
            assert(ignore.comment, `Expected .overrides.${rule}[${index}].comment to contain a comment`);

            response.set(`${rule}:${ignore.file}:${ignore.key}`, index);
        }
    }

    return response;
}
Reads and transforms an ignore file into a Map.
Keys follow the format of `rule:locale/namespace:key`.
The value is the index which can be used for updating the ignore file.
@param {File} ignoreFile