<commit_before>"use strict";

module.exports = File;

var sourceMapToComment = require("source-map-to-comment");
var shebangRegex       = require("shebang-regex");
var isFunction         = require("lodash/lang/isFunction");
var transform          = require("./index");
var generate           = require("../generation");
var defaults           = require("lodash/object/defaults");
var includes           = require("lodash/collection/includes");
var assign             = require("lodash/object/assign");
var parse              = require("../helpers/parse");
var Scope              = require("../traversal/scope");
var slash              = require("slash");
var util               = require("../util");
var path               = require("path");
var each               = require("lodash/collection/each");
var t                  = require("../types");

function File(opts) {
  this.dynamicImportedNoDefault = [];
  this.dynamicImportIds         = {};
  this.dynamicImported          = [];
  this.dynamicImports           = [];

  this.dynamicData      = {};
  this.data             = {};

  this.lastStatements   = [];
  this.opts             = this.normalizeOptions(opts);
  this.ast              = {};

  this.buildTransformers();
}

File.helpers = [
  "inherits",
  "defaults",
  "prototype-properties",
  "apply-constructor",
  "tagged-template-literal",
  "tagged-template-literal-loose",
  "interop-require",
  "to-array",
  "to-consumable-array",
  "sliced-to-array",
  "object-without-properties",
  "has-own",
  "slice",
  "bind",
  "define-property",
  "async-to-generator",
  "interop-require-wildcard",
  "typeof",
  "extends",
  "get",
  "set",
  "class-call-check",
  "object-destructuring-empty",
  "temporal-undefined",
  "temporal-assert-defined",
  "tail-call",
  "self-global"
];

File.validOptions = [
  "filename",
  "filenameRelative",
  "blacklist",
  "whitelist",
  "loose",
  "optional",
  "modules",<commit_msg>remove tail-call template<commit_after>"use strict";

module.exports = File;

var sourceMapToComment = require("source-map-to-comment");
var shebangRegex       = require("shebang-regex");
var isFunction         = require("lodash/lang/isFunction");
var transform          = require("./index");
var generate           = require("../generation");
var defaults           = require("lodash/object/defaults");
var includes           = require("lodash/collection/includes");
var assign             = require("lodash/object/assign");
var parse              = require("../helpers/parse");
var Scope              = require("../traversal/scope");
var slash              = require("slash");
var util               = require("../util");
var path               = require("path");
var each               = require("lodash/collection/each");
var t                  = require("../types");

function File(opts) {
  this.dynamicImportedNoDefault = [];
  this.dynamicImportIds         = {};
  this.dynamicImported          = [];
  this.dynamicImports           = [];

  this.dynamicData      = {};
  this.data             = {};

  this.lastStatements   = [];
  this.opts             = this.normalizeOptions(opts);
  this.ast              = {};

  this.buildTransformers();
}

File.helpers = [
  "inherits",
  "defaults",
  "prototype-properties",
  "apply-constructor",
  "tagged-template-literal",
  "tagged-template-literal-loose",
  "interop-require",
  "to-array",
  "to-consumable-array",
  "sliced-to-array",
  "object-without-properties",
  "has-own",
  "slice",
  "bind",
  "define-property",
  "async-to-generator",
  "interop-require-wildcard",
  "typeof",
  "extends",
  "get",
  "set",
  "class-call-check",
  "object-destructuring-empty",
  "temporal-undefined",
  "temporal-assert-defined",
  "self-global"
];

File.validOptions = [
  "filename",
  "filenameRelative",
  "blacklist",
  "whitelist",
  "loose",
  "optional",
  "modules",
{'fraction_non_alphanumeric': 0.16748640952627492, 'fraction_numerical': 0.0, 'mean_word_length': 2.551470588235294, 'pattern_counts': {'":': 0, '<': 3, '<?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': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5373726', 'n_tokens_mistral': 1198, 'n_tokens_neox': 1161, 'n_words': 196}