<commit_before>export const options = {
    functionMarker: 'i18n',
    elementMarker: 'I18N',
    whitelistedAttributes: {
        a:   ['href'],
        img: ['alt'],
        '*': ['title', 'placeholder', 'alt', 'summary', 'i18n-id',],
        'Pluralize': ['on'],
        'Match': ['when'],
    },
};


export const whitelist = (function(wl) {
    const shared = wl['*'];
    return Object.keys(wl).reduce((whitelist, name) => {
        const attrs = wl[name];
        if (name !== '*') {
            wl[name] = attrs.concat(shared);
        }
        return wl;
    }, {'*': shared});
})(options.whitelistedAttributes);<commit_msg>Do not whitelist `on` prop of `Pluralize` components<commit_after>export const options = {
    functionMarker: 'i18n',
    elementMarker: 'I18N',
    whitelistedAttributes: {
        a:   ['href'],
        img: ['alt'],
        '*': ['title', 'placeholder', 'alt', 'summary', 'i18n-id',],
        'Match': ['when'],
    },
};


export const whitelist = (function(wl) {
    const shared = wl['*'];
    return Object.keys(wl).reduce((whitelist, name) => {
        const attrs = wl[name];
        if (name !== '*') {
            wl[name] = attrs.concat(shared);
        }
        return wl;
    }, {'*': shared});
})(options.whitelistedAttributes);
{'fraction_non_alphanumeric': 0.2015625, 'fraction_numerical': 0.009375, 'mean_word_length': 2.558333333333333, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '56158', 'n_tokens_mistral': 430, 'n_tokens_neox': 416, 'n_words': 88}