<commit_before>(function() {

//  ---------------------------------------------------------------------------------------------------------------  //
//  no.request
//  ---------------------------------------------------------------------------------------------------------------  //

/**
 * Делает запрос моделей с сервера.
 * Аргументы можно передавать в 3 форматах:
 *   - string item, params - одна модель и опциональные параметры для нее
 *   - array item[], params - массив моделей и опциональные единые для всех параметры
 *   - array item[] - массив моделей вида {id: modelName, params: modelParams}
 * @param {String|Array|Object} items Массив названий моделей.
 * @param {Object} [params] Параметры моделей.
 * @return {no.Promise}
 */
no.request = function(items, params) {
    // приводим к формату №2
    if (typeof items === 'string') {
        items = [ items ];
    }

    // приводим №2 к формату №3
    if (typeof items[0] === 'string') {
        params = params || {};
        items = normalizeItems(items, params);
    }

    var models = [];
    for (var i = 0, l = items.length; i < l; i++) {
        var item = items[i];

        // можно не использовать if (!model.get()) { model.create() }
        // model.create все это умеет делать
        models.push(no.Model.create(item.id, item.params));
    }

    return no.request.models(models);
};

/**
 * Делает запрос моделей с сервера.
 * @param {no.Model[]} models Массив моделей.
 * @return {no.Promise}
 */
no.request.models = function(models) {
    var request = new Request(models);

    return request.start();
};

/**
 * Дополнительные общие параметры запроса.
 * Эти параметры добавляются в любой запрос.
 * @public
 * @type {Object}
 */
no.request.requestParams = {};

/**
 * Добавляет к params, параметры из no.request.requestParams.
 * @param {Object} params Параметры запроса.
 */
no.request.addRequestParams = function(params) {
    no.extend(params, this.requestParams);<commit_msg>#8<commit_after>(function() {

//  ---------------------------------------------------------------------------------------------------------------  //
//  no.request
//  ---------------------------------------------------------------------------------------------------------------  //

/**
 * Делает запрос моделей с сервера.
 * Аргументы можно передавать в 3 форматах:
 *   - string item, params - одна модель и опциональные параметры для нее
 *   - array item[], params - массив моделей и опциональные единые для всех параметры
 *   - array item[] - массив моделей вида {id: modelName, params: modelParams}
 * @param {String|Array|Object} items Массив названий моделей.
 * @param {Object} [params] Параметры моделей.
 * @return {no.Promise}
 */
no.request = function(items, params) {
    // приводим к формату №2
    if (typeof items === 'string') {
        items = [ items ];
    }

    // приводим №2 к формату №3
    if (typeof items[0] === 'string') {
        params = params || {};
        items = normalizeItems(items, params);
    }

    var models = [];
    for (var i = 0, l = items.length; i < l; i++) {
        var item = items[i];

        // можно не использовать if (!model.get()) { model.create() }
        // model.create все это умеет делать
        models.push(no.Model.create(item.id, item.params));
    }

    return no.request.models(models);
};

/**
 * Делает запрос моделей с сервера.
 * @param {no.Model[]} models Массив моделей.
 * @return {no.Promise}
 */
no.request.models = function(models) {
    var request = new Request(models);

    return request.start();
};

/**
 * Дополнительные общие параметры запроса.
 * Эти параметры добавляются в любой запрос.
 * @public
 * @type {Object}
 */
no.request.requestParams = {};

/**
 * Добавляет к params, параметры из no.request.requestParams.
 * @param {Object} params Параметры запроса.
 */
no.request.addRequestParams = function(params) {
    no.extend(params, no.request.requestParams);
{'fraction_non_alphanumeric': 0.24193138500635325, 'fraction_numerical': 0.003303684879288437, 'mean_word_length': 1.9026548672566372, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 6, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4466547', 'n_tokens_mistral': 1224, 'n_tokens_neox': 1299, 'n_words': 321}