@ngdoc overview
@name pedigree
@description
Get someone's ancestry or descendancy

{@link https://familysearch.org/developers/docs/api/resources#pedigree FamilySearch API Docs}
 
Generate ancestry or descendancy convenience functions

@param numberLabel ascendancyNumber or descendancyNumber
@returns {{getPersons: Function, exists: Function, getPerson: Function}}
function pedigreeConvenienceFunctionGenerator(numberLabel) {
  return {
    getPersons:    function()    { return maybe(this.getData()).persons; },
    exists:        function(num) { return !!maybe(maybe(utils.find(maybe(this.getData()).persons, matchPersonNum(numberLabel, num))).data).id; },
    getPerson:     function(num) { return utils.find(maybe(this.getData()).persons, matchPersonNum(numberLabel, num)); }
  };
}