Pessoal, li documentação, refiz o código, não consigo resolver... segue o erro... alguma ideia do que tentar?
Pessoal, li documentação, refiz o código, não consigo resolver... segue o erro... alguma ideia do que tentar?
consegue compartilha o projeto, ou mostrar os arquivos *.js envolvidos?
Claro
index.test.js
import pegaArquivo from "../index.js";
const arrayResult = [
{
FileList: 'https://developer.mozilla.org/pt-BR/docs/Web/API/FileList'
}
]
describe ('pegaArquivo::', () => {
it('deve ser uma função', () => {
expect(typeof pegaArquivo).toBe('function');
})
it('deve retornar array com resultados', async () => {
const resultado = await pegaArquivo('.\test\arquivos\texto1.md')
expect(resultado).toEqual(arrayResult)
})
})
index.js
import { exec } from 'child_process';
import { groupCollapsed } from 'console';
import fs from 'fs';
import path from 'path';
import validaURLs from './http-validacao.js';
function extraiLinks(texto){
const regex = /\[([^\]]*)\]\((https?:\/\/[^$#\s].[^\s]*)\)/gm;
const arrayResultados =[];
let temp;
while((temp = regex.exec(texto)) !== null){
arrayResultados.push({ [temp[1]]: temp[2]})
//para usar como chave de um objeto precisa colocar todo conteúdo em colchetes.. no caso o temp[1]
}
return arrayResultados.length ===0 ? 'Não há links' : arrayResultados;
}
function trataErro (erro){
// throw new Error(chalk.red(erro.code,'mensagem referente ao erro'));
throw new Error(erro.code,'não há arquivo no caminho');
}
async function pegaArquivo(caminhoDoArquivo) {
const encoding = 'utf-8';
try {
const texto = await fs.promises.readFile(caminhoDoArquivo, encoding)
return extraiLinks(texto);
} catch(erro) {
trataErro(erro);
}
}
export default pegaArquivo;
package.json
{
"name": "06node",
"version": "1.0.0",
"main": "index.js",
"type": "module",
"scripts": {
"test": "node --experimental-vm-modules node_modules/jest/bin/jest.js ./test",
"cli": "node cli.js ./arquivos/texto1.md"
},
"keywords": [],
"author": "",
"license": "ISC",
"description": "",
"dependencies": {
"chalk": "^5.0.1",
"node-fetch": "^3.2.8"
},
"devDependencies": {
"jest": "^28.1.3"
}
}
resolvido era a barra no caminho \ ao invés de /
Mesmo erro aqui, barra invertida resolveu tbm.