<commit_before>function argumentInfo(...params) {
    let stringsCount = 0
    let numbersCount = 0
    let functionsCount = 0

    for (let i = 0; i < params.length; i++) {
        console.log(`${typeof(params[i])}: ${params[i]}`)
        if (typeof(params[i]) === 'object') {
            for(let key in params[i]){
                if (typeof(params[i][key]) === 'string') {
                    stringsCount += 1
                } else if (typeof(params[i][key]) === 'number') {
                    numbersCount += 1
                } else if (typeof(params[i][key]) === 'function') {
                    functionsCount += 1
                }
            }
        }
        if (typeof(params[i]) === 'string') {
            stringsCount += 1
        } else if (typeof(params[i]) === 'number') {
            numbersCount += 1
        } else if (typeof(params[i]) === 'function') {
            functionsCount += 1
        }
    }
    if (stringsCount > 0 &&
        stringsCount > numbersCount &&
        stringsCount > functionsCount) {
        console.log('string = ' + stringsCount)
        if (numbersCount > 0 &&
            numbersCount > functionsCount) {
            console.log('number = ' + numbersCount)
            if (functionsCount > 0) {
                console.log('function = ' + functionsCount)
            }
        } else if (functionsCount > 0) {
            console.log('function = ' + functionsCount)
            if (numbersCount > 0) {
                console.log('number = ' + numbersCount)
            }
        }
    } else if (numbersCount > 0 &&
        numbersCount > functionsCount) {
        console.log('number = ' + numbersCount)
        if (functionsCount > 0 &&
            functionsCount > stringsCount) {
            console.log('function = ' + functionsCount)
            if (stringsCount > 0) {
                console.log('string = ' + stringsCount)
            }
        } else if (stringsCount > 0) {
            console.log('string = ' + stringsCount)
            if (functionsCount > 0) {
                console.log('function = ' + functionsCount)
            }
        }
    } else if (functionsCount > 0) {
        console.log('function = ' + functionsCount)
        if (numbersCount > 0 &&
            numbersCount > stringsCount) {
            console.log('number = ' + numbersCount)
            if (stringsCount > 0) {
                console.log('string = ' + stringsCount)
            }
        } else if (stringsCount > 0) {
            console.log('string = ' + stringsCount)
            if (numbersCount > 0) {
                console.log('number = ' + numbersCount)
            }
        }
    }
}

// argumentInfo('cat', 42, function () { console.log('Hello world!') })
argumentInfo({ name: 'bob'}, 3.333, 9.999)
<commit_msg>to do<commit_after>function argumentInfo(...params) {
    let stringsCount = 0
    let numbersCount = 0
    let functionsCount = 0
    let first = ''
    let second = ''

    for (let i = 0; i < params.length; i++) {
        console.log(`${typeof(params[i])}: ${params[i]}`)
        if (typeof(params[i]) === 'object') {
            for(let key in params[i]){
                if (typeof(params[i][key]) === 'string') {
                    stringsCount += 1
                    if (first === '') {
                        first = 'string'
                    } else if (second === '') {
                        second = 'string'
                    }
                } else if (typeof(params[i][key]) === 'number') {
                    numbersCount += 1
                    if (first === '') {
                        first = 'number'
                    } else if (second === '') {
                        second = 'number'
                    }
                } else if (typeof(params[i][key]) === 'function') {
                    functionsCount += 1
                    if (first === '') {
                        first = 'function'
                    } else if (second === '') {
                        second = 'function'
                    }
                }
            }
        }
        if (typeof(params[i]) === 'string') {
            stringsCount += 1
            if (first === '') {
                first = 'string'
            } else if (second === '') {
                second = 'string'
            }
        } else if (typeof(params[i]) === 'number') {
            numbersCount += 1
            if (first === '') {
                first = 'number'
            } else if (second === '') {
                second = 'number'
            }
        } else if (typeof(params[i]) === 'function') {
            functionsCount += 1
            if (first === '') {
                first = 'function'
            } else if (second === '') {
                second = 'function'
            }
        }
    }
    if (stringsCount > 0 &&
        ((stringsCount > numbersCount && stringsCount > functionsCount) ||
        (first === 'string' && (stringsCount >= numbersCount && stringsCount >= functionsCount)))) {
        console.log('string = ' + stringsCount)
        if (numbersCount > 0 &&
            numbersCount > functionsCount &&
            second === 'number') {
            console.log('number = ' + numbersCount)
            if (functionsCount > 0) {
                console.log('function = ' + functionsCount)
            }
        } else if (functionsCount > 0 &&
            second === 'function') {
            console.log('function = ' + functionsCount)
            if (numbersCount > 0) {
                console.log('number = ' + numbersCount)
            }
        }
    } else if (numbersCount > 0 &&
        (numbersCount > functionsCount ||
        (first === 'number' && (numbersCount >= stringsCount && numbersCount >= functionsCount)))) {
        console.log('number = ' + numbersCount)
        if (functionsCount > 0 &&
            functionsCount >= stringsCount &&
            second === 'function') {
            console.log('function = ' + functionsCount)
            if (stringsCount > 0) {
                console.log('string = ' + stringsCount)
            }
        } else if (stringsCount > 0 &&
            second === 'string') {
            console.log('string = ' + stringsCount)
            if (functionsCount > 0) {
                console.log('function = ' + functionsCount)
            }
        }
    } else if (functionsCount > 0 &&
        (first === 'function' && (functionsCount >= stringsCount && functionsCount >= numbersCount))) {
        console.log('function = ' + functionsCount)
        if (numbersCount > 0 &&
            numbersCount >= stringsCount &&
            second === 'number') {
            console.log('number = ' + numbersCount)
            if (stringsCount > 0) {
                console.log('string = ' + stringsCount)
            }
        } else if (stringsCount > 0 &&
            second === 'string') {
            console.log('string = ' + stringsCount)
            if (numbersCount > 0) {
                console.log('number = ' + numbersCount)
            }
        }
    }
}

// argumentInfo('cat', 42, function () { console.log('Hello world!') })
argumentInfo({ name: 'bob'}, 3.333, 9.999)

{'fraction_non_alphanumeric': 0.1431364334590141, 'fraction_numerical': 0.009775171065493646, 'mean_word_length': 1.4179608372721135, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 51, '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': '6002373', 'n_tokens_mistral': 1926, 'n_tokens_neox': 1798, 'n_words': 415}