New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

b2x-utils

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

b2x-utils

Biblioteca com funções utilizadas em multi projetos do grupo B2X

latest
npmnpm
Version
1.0.1
Version published
Maintainers
1
Created
Source

Funções de Leitura e Manipulação de Dados

Este código consiste em diversas funções que auxiliam na leitura e manipulação de dados em diferentes formatos: CSV, XML e JSON.

Funções de Leitura

lerCSV(path)

Esta função lê um arquivo CSV no caminho especificado por path e retorna uma Promise que se resolve com um array contendo todos os dados do arquivo. É utilizada a biblioteca csv-parser para realizar a leitura do arquivo.

const csvData = await lerCSV("arquivo.csv");
console.log(csvData);

lerXML(path)

Esta função lê um arquivo XML no caminho especificado por path e retorna uma Promise que se resolve com uma string JSON contendo os dados do arquivo. É utilizada a biblioteca xml2js para converter o XML em um objeto JavaScript e, em seguida, é convertido em uma string JSON.

const xmlData = await lerXML("arquivo.xml");
console.log(xmlData);

lerJSON(path)

const jsonData = await lerJSON("arquivo.json");
console.log(jsonData);

Esta função lê um arquivo JSON no caminho especificado por path e retorna uma Promise que se resolve com um objeto JavaScript contendo os dados do arquivo.

Funções de Manipulação

navigateObject(obj, path)

Esta função recebe um objeto JavaScript obj e uma string path, onde path representa um caminho de acesso no objeto no formato "chave1.chave2.chave3". A função retorna o valor do objeto encontrado no caminho especificado por path, ou retorna o objeto original caso path seja nulo ou indefinido.

const obj = {
  foo: {
    bar: "baz",
  },
};
const result = navigateObject(obj, "foo.bar");
console.log(result); // "baz"

combineObjects(obj1, obj2)

Esta função recebe dois objetos JavaScript, obj1 e obj2, e combina os valores de obj2 com as chaves de obj1. Caso uma chave em obj1 seja uma array, é criada uma nova array contendo objetos com a chave original de obj1 e o valor correspondente de obj2. Se um valor em obj1 for um objeto, a função é chamada recursivamente para combinar os objetos. Se um valor em obj1 for uma chave que não existe em obj2, é atribuído um valor vazio.

const obj1 = {
  name: "John",
  age: "26",
  address: {
    city: "New York",
    zip: "10001",
  },
};
const obj2 = {
  name: "John Doe",
  age: 27,
  address: {
    zip: "10002",
  },
};
const result = combineObjects(obj1, obj2);
console.log(result);

convertValuesToNumberAndBoolean(obj, keys)

Esta função recebe um objeto JavaScript obj e um array de chaves keys. Para cada chave em keys, se a chave existe em obj, o valor é convertido em um número ou booleano, caso possível. Se o valor for uma string "true", é atribuído true. Se o valor for uma string "false", é atribuído false. Caso contrário, é atribuído o valor convertido em um número. Se a chave não existir em obj, é atribuído 0.

const obj = {
  name: "John",
  age: "26",
  isStudent: "true",
  score: "",
};
const keys = ["age", "isStudent", "score"];
const result = convertValuesToNumberAndBoolean(obj, keys);
console.log(result);

removeLargeSpaces(obj)

Esta função recebe um objeto JavaScript obj e remove espaços excessivos em todas as chaves que possuem valor do tipo string. Espaços com mais de dois caracteres são substituídos por um único espaço.

const obj = {
  name: " John     Doe ",
  address: {
    street: "   123   Main   St.  ",
    city: "  New    York   ",
  },
};
const result = removeLargeSpaces(obj);
console.log(result);

removePathFromKeys(obj, path)

Esta função recebe um objeto JavaScript obj e uma string path, onde path representa um caminho de acesso no objeto no formato "chave1.chave2.chave3". A função retorna um novo objeto com as mesmas chaves e valores de obj, exceto pelas chaves que começam com o caminho especificado por path. Nesses casos, a chave é modificada para remover o caminho, mantendo apenas o nome da chave original. Se um valor em obj for uma array, a função é chamada recursivamente para

const obj = {
  "person.name": "John Doe",
  "person.age": 26,
  "person.address.street": "123 Main St.",
  "person.address.city": "New York",
};
const path = "person";
const result = removePathFromKeys(obj, path);
console.log(result);

FAQs

Package last updated on 21 Apr 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts