whole_func_string: function GedcomXDate(str) {
  
    if(str == '') {
      throw new Error('Invalid Date');
    }
  
    if(str.charAt(0) == 'R') {
      return new Recurring(str);
    } else if(/\//.test(str)) {
      return new Range(str);
    } else if(str.charAt(0) == 'A') {
      return new Approximate(str);
    } else {
      return new Simple(str);
    }
  }
func_code_string: function GedcomXDate(str) {
  
    if(str == '') {
      throw new Error('Invalid Date');
    }
  
    if(str.charAt(0) == 'R') {
      return new Recurring(str);
    } else if(/\//.test(str)) {
      return new Range(str);
    } else if(str.charAt(0) == 'A') {
      return new Approximate(str);
    } else {
      return new Simple(str);
    }
  }
func_documentation_string: A GedcomX Date.
  This will parse the passed in string and return
  the appropriate GedcomX Date object.