Module: @nginstack/engine/lib/dataset/pruneTree


(require("@nginstack/engine/lib/dataset/pruneTree"))(ds, idField, parentField, filterFunc)

Para DataSets que possuem uma estrutura de árvore este método remove nós baseado numa dada função, preservando os nós que são essenciais para a integridade da árvore. Este método tentará preservar o bookmark do DataSet, caso ele tenha sido retirado, o cursor irá para o primeiro registro.

Parameters:
Name Type Description
ds DataSet

DataSet que será filtrado.

idField string

Campo que contém o identificador do registro.

parentField string

Campo que contém o identificador do pai do registro.

filterFunc function

Função que realizará o teste para checar se o registro deve ser removido.

Example
Digamos que temos uma árvore com essa estrutura:
  setor1
    time1
      joão
      joaquim
    time2
      fulano
      sicrano
  Se o "time1" não atender à função mas o "joão" atender significa que o nó
  "time1" precisará ser removido, mas se isso acontecer o nó "joão" ficará
  sem mãe fazendo com que a árvore perca sua consistência. Então este método
  preservaria o nó "time1".