<commit_before><commit_msg>add private-state module as helper<commit_after>'use strict';

const isFunction = require('lodash/lang/isFunction');
const mapValues = require('lodash/object/mapValues');

module.exports = function (stamp, state = {}) {
  const privateState = new WeakMap();

  if (stamp) {
    stamp.fixed.init = (stamp.fixed.init || []).concat(function () {
      privateState.set(this, mapValues(state, value => {
        return isFunction(value) ? value.bind(this) : value;
      }));
    });
  }
  return privateState;
};
{'fraction_non_alphanumeric': 0.15858208955223882, 'fraction_numerical': 0.0, 'mean_word_length': 4.066037735849057, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 4, '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': '2328544', 'n_tokens_mistral': 168, 'n_tokens_neox': 166, 'n_words': 34}