/Tree

Repositorio do módulo Tree, um sistema JSON baseado no comando Tree, famoso em diversos sistemas operacionais.

Primary LanguageJavaScriptMIT LicenseMIT

logo_tree.png

O que este módulo faz?

  • Ele faz a listagem dos arquivos e diretórios especificados pelo usuário em formato JSON, similar ao comando Tree de diversos sistemas operacionais.

Instalação:

  • Rode o código abaixo para instalar via NPM:
$ npm i @killovsky/tree  
  • Rode o código abaixo para instalar via GIT:
$ git clone https://github.com/KillovSky/Tree.git  

O que este módulo tem de especial?

  • Assim como o da NASA, muitas coisas, confira abaixo:

  1. Neste módulo, os erros não afetam o funcionamento, o que significa que apesar de qualquer erro, ele ainda retornará os dados.

  2. Os erros serão inseridos na resposta com uma explicação sobre o que causou eles, facilitando para você entender.

  3. Não existem dependências de módulos de terceiro, tudo é feito usando o puro Node.js.

  4. Cada linha do código possui uma explicação do que está rodando ou vai rodar, ou seja, o código INTEIRO é explicado, linha por linha.

  5. E muitas outras coisas, confira o código para entender!


Como testar este módulo:

  • Basta abrir um terminal na pasta do módulo e digitar:
$ npm test  

Como utilizar este módulo:

  • Existem diversas formas de utilizar, mas se tratando de uma função que não requer promises ou similar, irei explicar o melhor meio abaixo.
  • Clique em uma das linhas/setas abaixo para exibir os detalhes!
Descrição de cada parâmetro da execução:
// Function especificada  
View.init('local')  
  
/* ------------------------------------- *  
* 1° - Local  
* Valores: string  
* Padrão: './'  
* ------------------------------------- */  
  
// Function sem especificar  
View.init()  
  
// Retorna o ambiente  
View.env()  
  
// Reseta o ambiente  
View.reset()  
  
// Retorna a package JSON  
View.pack()  
  
Exemplos de código + código utilizável:
// Modo de uso padrão:  
const tree = require('@killovsky/tree');  
const data = tree.View.init('LOCAL');  
// Faça seu código baseado na object 'data' aqui  
// Exemplo: console.log(data);  
  
// Exemplo de uso pronto:  
const tree = require('@killovsky/tree');  
const data = tree.View.init('LOCAL');  
console.log(data);  
Exemplo de resultado com explicações:
{  
  "name": "String | Nome do módulo",  
  "description": "String | Descrição do módulo",  
  "usage": {  
    "general": "String | Mensagem sobre o módulo",  
    "examples": "Array de Strings | Formas de usar este módulo"  
  },  
  "helps": "Array de Strings | Dicas sobre o módulo",  
  "exports": {  
    "env": "String | Nome padrão da função de ambiente",  
    "init": "String | Nome padrão da função de tree",  
    "pack": "String | Nome padrão da função de package.json",  
    "reset": "String | Nome padrão da função de resetar"  
  },  
  "parameters": {  
    "ambient": {  
      "arguments": "Boolean / Object | Caso precise exportar variáveis, elas estarão descritas aqui",  
      "description": "String | Descrição deste parâmetro em especifico",  
      "type": "String | Tipos de valor que a key abaixo retorna ou que vem por padrão",  
      "value": "Boolean / Function | Mesma coisa de cima"  
    },  
    "checkstats": {  
      "arguments": {  
        "localePlace": {  
          "description": "String | Descrição do que precisa nesse argumento em especifico",  
          "type": "String | Tipos de valor que a key abaixo aceita ou que vem por padrão",  
          "value": "String | Local padrão, caso nenhum seja especificado"  
        }  
      },  
      "description": "String | Descrição deste parâmetro em especifico",  
      "type": "String | Tipos de valor que a key abaixo retorna ou que vem por padrão",  
      "value": "Boolean / Function | Mesma coisa de cima"  
    }  
  },  
  "results": {  
    "description": "String | Descrição do que é esse parâmetro",  
    "type": "Boolean / Object | Tipos de valor que a key abaixo retorna ou que vem por padrão",  
    "value": "Boolean / Object | Mesma coisa de cima"  
  }  
}  
Exemplo utilizável de resultado:
  • A Object utilizável é grande demais para ser exibida aqui, sendo 2 vezes maior que a versão explicativa acima, para conferir um exemplo utilizável, acesse a "Github" oficial e abra o arquivo "utils.json" ou "Clique Aqui".

Perguntas e Respostas:

  • Isso é bem diferente dos outros módulos seus, não é?

Sim, resolvi finalmente usar o Visual Studio Code com ES Lint e AirBNB como regra, como resultado obtive um enorme crescimento na minha tipagem de códigos, embora meu PC ainda trave um pouco com o VS-Code, haha.

  • O que é proibido ao usar este módulo?

Esse módulo é puramente offline, então você não está limitado, mas mantenha em mente que utilizar em locais extremamente grandes, como a pasta Windows ou System32, pode causar uma Memory Leak, que travará seu processo e em casos graves e muito raros, seu computador.

Suporte