<commit_before>
function DKIM( signature ) {
  
  if( !(this instanceof DKIM) )
    return new DKIM( signature )
  
  var field, fields = signature.split( /;\s+/g )
  
  for( var i in fields ) {
    if( field = fields[i].match( /^([a-z]+?)=(.+?)$/i ) ) {
      this[ DKIM.fields[ field[1] ] ] = field[2]
    }
  }
  
  // Remove folding whitespace from signature
  this.signature = this.signature.replace( /\s/g, '' )
  // Split up the query methods
  this.query = this.query.split( ':' )
  // Split up copied header fields
  this.copied_headers = this.copied_headers.split( '|' )
  
}

DKIM.fields = {
  v: 'version',
  a: 'algorithm',
  c: 'canonical',
  q: 'query',
  l: 'length',
  t: 'timestamp',
  x: 'expires',
  h: 'headers',
  bh: 'hash',
  s: 'selector',
  d: 'domain',
  b: 'signature'
}

DKIM.prototype = {
  
}

module.exports = DKIM<commit_msg>Added all field types to type name map<commit_after>
function DKIM( signature ) {
  
  if( !(this instanceof DKIM) )
    return new DKIM( signature )
  
  var field, fields = signature.split( /;\s+/g )
  
  for( var i in fields ) {
    if( field = fields[i].match( /^([a-z]+?)=(.+?)$/i ) ) {
      this[ DKIM.fields[ field[1] ] ] = field[2]
    }
  }
  
  // Remove folding whitespace from signature
  this.signature = this.signature.replace( /\s/g, '' )
  // Split up the query methods
  this.query = this.query.split( ':' )
  // Split up copied header fields
  this.copied_headers = this.copied_headers.split( '|' )
  
}

DKIM.fields = {
  a: 'algorithm',
  b: 'signature'
  bh: 'hash',
  c: 'canonical',
  d: 'domain',
  h: 'headers',
  i: 'identity',
  l: 'length',
  q: 'query',
  s: 'selector',
  t: 'timestamp',
  v: 'version',
  x: 'expires',
  z: 'copied_headers'
}

DKIM.prototype = {
  
}

module.exports = DKIM
{'fraction_non_alphanumeric': 0.18146067415730338, 'fraction_numerical': 0.0022471910112359553, 'mean_word_length': 2.741596638655462, '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': '6823226', 'n_tokens_mistral': 709, 'n_tokens_neox': 688, 'n_words': 170}