<commit_before>'use strict';

// Required to load node-interval-tree until Node implements the "import module" syntax
require('babel-polyfill');

// eslint-disable-next-line vars-on-top
var
  SortedArray = require('sorted-array'),
  strcmp = require('../util/stringCompare'),
  IntervalTree = require('node-interval-tree'),
  NotEqualsCondition = require('./objects/notEqualsCondition'),
  NotGeospatialCondition = require('./objects/notGeospatialCondition'),
  RegexpCondition = require('./objects/regexpCondition'),
  BoostSpatialIndex = require('boost-geospatial-index');

/**
 * Exposes a sets of methods meant to store operands in
 * the DSL keyword-specific part of a field-operand  object
 *
 * All provided <f,o> pair object references must point directly
 * to the right index/collection/keyword part of the structure
 *
 * @constructor
 */
function OperandsStorage () {
  return this;
}

/**
 * Stores an empty filter in the <f,o> pairs structure
 * There can never be more than 1 filter and subfilter for an
 * all-matching filter, for an index/collection pair
 *
 * @param {object} foPairs
 * @param {object} subfilter<commit_msg>add support for ES6 modules + load new version of node-interval-tree<commit_after>'use strict';

import IntervalTree from 'node-interval-tree';

var
  SortedArray = require('sorted-array'),
  strcmp = require('../util/stringCompare'),
  NotEqualsCondition = require('./objects/notEqualsCondition'),
  NotGeospatialCondition = require('./objects/notGeospatialCondition'),
  RegexpCondition = require('./objects/regexpCondition'),
  BoostSpatialIndex = require('boost-geospatial-index');

/**
 * Exposes a sets of methods meant to store operands in
 * the DSL keyword-specific part of a field-operand  object
 *
 * All provided <f,o> pair object references must point directly
 * to the right index/collection/keyword part of the structure
 *
 * @constructor
 */
function OperandsStorage () {
  return this;
}

/**
 * Stores an empty filter in the <f,o> pairs structure
 * There can never be more than 1 filter and subfilter for an
 * all-matching filter, for an index/collection pair
 *
 * @param {object} foPairs
 * @param {object} subfilter
{'fraction_non_alphanumeric': 0.11131470453504352, 'fraction_numerical': 0.001374255611543747, 'mean_word_length': 4.543147208121828, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, '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': '1195590', 'n_tokens_mistral': 620, 'n_tokens_neox': 601, 'n_words': 204}