1.0.1 • Published 1 year ago

b2x-utils v1.0.1

Weekly downloads
-
License
ISC
Repository
-
Last release
1 year ago

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);
acorn-dynamic-importacceptsababacornajvacorn-globalsajv-keywordsacorn-jsxacorn-walkajv-errorsansi-htmlansi-escapesansi-stylesansi-colorsargparseansi-regexarr-diffaprobaarr-unionanymatcharray-equalarray-flattenarray-buffer-byte-lengtharr-flattenarray-uniquearray.prototype.reduceasn1.jsasn1array-unionassertarray-uniqassert-plusassign-symbolsastral-regexasyncasync-limiterasync-eachavailable-typed-arraysasynckitbalanced-matchatobaws4babel-plugin-istanbulaws-sign2babel-preset-jestbabel-plugin-jest-hoistbasebatchbig.jsbase64-jsbcrypt-pbkdfbluebirdbinary-extensionsbrace-expansionbracesbn.jsbonjourbrorandbrowser-process-hrtimebody-parserbrowserify-cipherbrowserify-aesbrowser-resolvebrowserify-rsabrowserslistbrowserify-zlibbufferbrowserify-signbrowserify-desbserbuffer-indexofbuffer-frombuffer-xorbuiltin-status-codescall-bindcacachebytescache-basecallsitescaniuse-litecaselesschokidarcapture-exitchardetchalkcamelcasechownrchrome-trace-eventci-infocliuicipher-baseclass-utilscocli-cursorcolor-convertcolor-namecode-point-atcli-widthcommondircombined-streamcollection-visitcommandercomponent-emittercompressiblecompressionconcat-mapconcat-streamconsole-browserifyconstants-browserifyconnect-history-api-fallbackcontains-pathcontent-dispositionconvert-source-mapcontent-typecookiecopy-concurrentlycopy-descriptorcookie-signaturecore-util-iscreate-hashcross-spawncreate-ecdhcreate-hmaccyclistcssomcssstylecrypto-browserifydashdashdata-urlsdebugdecode-uri-componentdecamelizedefine-propertiesdeep-isdeep-equaldepddefault-gatewaydeldefine-propertydelayed-streamdetect-newlinedes.jsdestroydetect-filedetect-nodediffie-hellmandns-equaldns-packetdiff-sequencesdns-txtdomain-browserdoctrineduplexifydomexceptionecc-jsbnee-firstellipticemoji-regexelectron-to-chromiumend-of-streamencodeurles-abstractemojis-listes-to-primitiveerrnoenhanced-resolveerror-exes-array-method-boxes-properlyes-set-tostringtagescape-string-regexpescaladeescape-htmleslint-module-utilseslint-scopeeslint-import-resolver-nodeeslint-plugin-esescodegeneslint-utilsesqueryeslint-visitor-keysesprimaespreeestraverseesrecurseetagesutilseventemitter3eventseventsourceexecaexec-shevp_bytestokeyexitexpand-bracketsexpand-tildeexpressextendexternal-editorexpectextsprintfextglobextend-shallowfast-levenshteinfast-deep-equalfast-json-stable-stringifyfaye-websocketfb-watchmanfiggy-puddingfile-entry-cachefiguresfind-cache-dirfind-upfindup-syncfinalhandlerfill-rangeflattedflat-cachefor-eachflush-write-streamfollow-redirectsforever-agentfor-infragment-cacheforwardedfreshform-datafs.realpathfunction.prototype.namefrom2function-bindfs-write-stream-atomicfunctional-red-black-treefunctions-have-namesget-intrinsicget-streamglobgensyncget-symbol-descriptionglobal-modulesget-valueglobal-prefixgetpassglob-parentgopdglobalsget-caller-fileglobalthishasgrowlygraceful-fsglobbyhandle-thinghar-schemahas-property-descriptorshas-protohas-symbolshar-validatorhas-valueshas-tostringtaghas-flaghas-bigintshash-basehmac-drbghas-valuehash.jshomedir-polyfillhtml-encoding-snifferhpack.jshtml-entitieshosted-git-infohttp-deceiverhtml-escaperhttp-errorshttp-parser-jshttp-proxyhttp-signaturehttps-browserifyiconv-liteieee754import-localiferrignorehttp-proxy-middlewareinflightimport-freshimurmurhashinheritsinfer-owneriniinquirerinvert-kvinvariantinternal-ipinterpretinternal-slotipip-regexis-bigintipaddr.jsis-accessor-descriptoris-arrayishis-argumentsis-array-bufferis-binary-pathis-ciis-core-moduleis-bufferis-boolean-objectis-date-objectis-data-descriptoris-callableis-descriptoris-extendableis-fullwidth-code-pointis-extglobis-globis-negative-zerois-number-objectis-numberis-generator-fnis-regexis-path-insideis-path-cwdis-path-in-cwdis-plain-objectis-stringis-symbolis-streamis-weakrefis-typed-arrayis-typedarrayis-wslistanbul-lib-coverageistanbul-lib-reportis-shared-array-bufferis-windowsisarrayisobjectisexeistanbul-lib-instrumentistanbul-lib-source-mapsjest-configistanbul-reportsisstreamjest-clijest-changed-filesjest-diffjest-environment-jsdomjest-environment-nodejest-get-typejest-jasmine2jest-docblockjest-haste-mapjest-leak-detectorjest-matcher-utilsjest-eachjest-message-utiljest-mockjest-regex-utiljest-pnp-resolverjest-resolvejest-resolve-dependenciesjest-runnerjest-runtimejest-snapshotjest-utiljest-serializerjest-validatejs-levenshteinjs-tokensjest-watcherjs-yamljest-workerjsdomjsescjson-schema-traversejson-schemajsbnjson5json-stable-stringify-without-jsonifyjson-parse-better-errorsjson-stringify-safejsprimkind-oflcidjson3killablelevenkleurlevnleft-padloader-runnerloader-utilslocate-pathloglevelload-json-filelodash.sortbyloose-envifymake-dirlodashlru-cachemap-age-cleanermakeerrormemmamacromap-cachemd5.jsmap-visitmedia-typermemory-fsmerge-streammerge-descriptorsmethodsmicromatchmiller-rabinmimemimic-fnmime-dbminimatchmime-typesminimalistic-assertminimalistic-crypto-utilsmississippiminimistmove-concurrentlymixin-deepmkdirpmulticast-dns-service-typesmulticast-dnsmsnegotiatormute-streamnatural-comparenanomatchneo-asyncnice-trynode-libs-browsernode-int64node-forgenode-notifiernode-releasesnpm-run-pathnormalize-package-datanumber-is-nannormalize-pathobject-inspectnwsapioauth-signobject-keysobject-copyobject-assignobject-visitonceobject-isobject.getownpropertydescriptorsobject.assignobject.pickon-finishedos-browserifyobufos-localep-deferonetimeon-headersoptionatoropnp-locatep-is-promiseos-tmpdirp-limitp-finallyp-mapp-reduceparallel-transformp-each-seriesp-tryparse-passwdpakoparse-asn1parseurlparent-moduleparse5pascalcasepath-dirnamepath-is-insidepath-browserifypath-existspath-is-absoluteparse-jsonpath-parsepath-to-regexpperformance-nowpath-keypbkdf2path-typepicomatchpifypkg-dirpinkie-promisepinkiepicocolorspiratespnposix-character-classesportfinderprelude-lsprocess-nextick-argspretty-formatprogressprocesspromise-inflightpromptsproxy-addrpumppumpifyprrpublic-encryptpslqspunycodequerystringquerystring-es3querystringifyrandomfillrandombytesraw-bodyread-pkgread-pkg-uprange-parserreadable-streamreact-isreaddirprealpath-nativeregenerate-unicode-propertiesregenerateregenerator-runtimeregex-notregexp.prototype.flagsregenerator-transformregexpu-coreregexppremove-trailing-separatorregjsparserrepeat-elementrepeat-stringrequire-main-filenamerequest-promise-corerequestrequest-promise-nativeresolverequire-directoryresolve-cwdresolve-dirrimrafrequires-portresolve-fromretresolve-urlripemd160rsvpsafe-array-concatrestore-cursorrun-asyncsafe-regex-testrun-queuesafe-buffersafe-regexschema-utilssafer-buffersaxrxjssanesemverserialize-javascriptset-valueselfsignedselect-hoseset-blockingshebang-commandserve-staticserve-indexsetprototypeofsetimmediatesendshebang-regexsignal-exitshellwordssha.jssnapdragon-nodeside-channelsnapdragonsisteransisource-mapslashsource-list-mapsnapdragon-utilsockjssource-map-urlsource-map-resolveslice-ansisockjs-clientspdx-expression-parsesource-map-supportspdx-correctspdx-exceptionsspdx-license-idssplit-stringspdy-transportspdyssristatic-extendstream-browserifysprintf-jssshpkstream-httpstream-eachstring-widthstream-shiftstack-utilsstealthy-requirestring-lengthstatusesstrip-eofstring.prototype.trimstring_decoderstring.prototype.trimstartstrip-bomstring.prototype.trimendtapablesupports-colorstrip-json-commentsterserstrip-ansitest-excludesymbol-treeterser-webpack-pluginsupports-preserve-symlinks-flagtablethroughthrough2thunkyto-fast-propertiestext-tablethroatto-object-pathtimers-browserifyto-regexto-regex-rangetmptoidentifierto-arraybuffertty-browserifytmpltough-cookietr46tunnel-agenttslibunicode-canonical-property-names-ecmascripttype-checktyped-array-lengthunicode-match-property-value-ecmascripttweetnaclunicode-property-aliases-ecmascriptunion-valueunique-filenameunset-valueunicode-match-property-ecmascriptunique-slugunbox-primitivetype-isurixunpipeuri-jstypedarrayurluseutil-deprecateutilupathutil.promisifyupdate-browserslist-dburl-parsev8-compile-cacheutils-mergevm-browserifywatchpackuuidvalidate-npm-package-licenseverrorwatchpack-chokidar2w3c-hr-timewalkerwebidl-conversionswebpack-logwebpack-sourceswebpack-dev-middlewarewbufvarywebsocket-extensionswhatwg-encodingwebsocket-driverwhatwg-mimetypewhatwg-urlwhich-boxed-primitiveworker-farmwhichwrappywrap-ansiword-wrapwhich-modulewritewsy18nwhich-typed-arrayyargs-parserxtendyallistxml-name-validatorwrite-file-atomicxregexpyargs
1.0.1

1 year ago

1.0.0

1 year ago