getNthElmKind method

MDElm getNthElmKind(
  1. int ind,
  2. MDElmKind kind
)

Implementation

MDElm getNthElmKind(int ind, MDElmKind kind){
  if(this._mdl.length == 0){
    throw RangeError("指定されたインデックスに該当する要素がない: 要素数が0");
  }else{
    List<MDElm> deg = this._mdl.where((MDElm elm){
      if(kind==MDElmKind.List){
        return (elm.kind == MDElmKind.List)||(elm.kind == MDElmKind.OrdList)||(elm.kind == MDElmKind.UnOrdList);
      }else{
        return elm.kind == kind;
      }
    }).toList();
    if(deg.length == 0){
      throw NoSuchAsElmException("",kind);
    }else if(deg.length <= ind){
      throw RangeError("指定されたインデックスに該当する要素がない: 引数で指定された要素数未満");
    }else{
      return deg[ind];
    }
  }
}