-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Off-by-one de signos no dia limite do signo #1
Comments
Acabei pegando as datas de um site que dizia que Aquário começava em 20 de janeiro, falha minha de não ter percebido na hora de passar pro programa, obrigado pelo aviso! |
Imagina, que isso! Estou desenvolvendo em cima do seu repositório uma suite de testes para melhorar o código, isso mostra como é fundamental usarmos testes para publicarmos um pacote. |
Sumário de testes:
FAIL src/signoDeHojeOffByOne.test.js
● testar último dia de Áries) | data = Thu, 20 Apr 2000 03:00:00 GMT
● testar primeiro dia de Touro) | data = Tue, 21 Mar 2000 03:00:00 GMT
● testar primeiro dia de Leão) | data = Sat, 22 Jul 2000 03:00:00 GMT
● testar último dia de gente Virgem) | data = Tue, 22 Aug 2000 03:00:00 GMT
● testar primeiro dia de Libra) | data = Wed, 23 Aug 2000 03:00:00 GMT
● testar último dia de Capricórnio) | data = Thu, 20 Jan 2000 02:00:00 GMT
Test Suites: 2 failed, 2 total |
Correções:// Eu separei porque essa data que diferencia `or` do `and`
const DataInicio = "12-22"
/**
* @type {Array<{ Nome: 'Aquário' | 'Peixes' | 'Áries' | 'Touro' | 'Gêmeos' | 'Câncer' | 'Leão' | 'Virgem' | 'Libra' | 'Escorpião' | 'Sagitário' | 'Capricórnio', DataInicio: '01-21' | '02-20' | '03-21' | '04-20' | '05-21' | '06-22' | '07-22' | '08-23' | '09-23' | '10-23' | '11-21' | '11-22', DataFim: '02-19' | '03-20' | '04-19' | '05-20' | '06-21' | '07-21' | '08-22' | '09-22' | '10-22' | '11-21' | '12-21' | '01-20' }> }
**/
const colecao_signos = [
{ Nome: 'Aquário',
DataInicio: '01-21', DataFim: '02-19',
},
{ Nome: 'Peixes',
DataInicio: '02-20', DataFim: '03-20',
},
{ Nome: 'Áries',
DataInicio: '03-21', DataFim: '04-19',
},
{ Nome: 'Touro',
DataInicio: '04-20', DataFim: '05-20',
},
{ Nome: 'Gêmeos',
DataInicio: '05-21', DataFim: '06-21',
},
{ Nome: 'Câncer',
DataInicio: '06-22', DataFim: '07-21',
},
{ Nome: 'Leão',
DataInicio: '07-22', DataFim: '08-22',
},
{ Nome: 'Virgem',
DataInicio: '08-23', DataFim: '09-22',
},
{ Nome: 'Libra',
DataInicio: '09-23', DataFim: '10-22',
},
{ Nome: 'Escorpião',
DataInicio: '10-23', DataFim: '11-21',
},
{ Nome: 'Sagitário',
DataInicio: '11-21', DataFim: '12-21',
},
{ Nome: 'Capricórnio',
DataInicio, DataFim: '01-20',
},
]; Nota:Além disso, outro erro que pode acontecer é os milisegundos atrapalharem, mas somente se a data de entrada estiver exatamente no limite (as chances são super baixas) Antes const data_inicio_signo = new Date(`${signo.DataInicio}-${ano} 00:00:00`);
const data_fim_signo = new Date(`${signo.DataFim}-${ano} 23:59:59`); Depois const data_inicio_signo = new Date(`${signo.DataInicio}-${ano} 00:00:00.000`);
const data_fim_signo = new Date(`${signo.DataFim}-${ano} 23:59:59.999`); Questão:
|
Podemos entrar em contato sim, achei muito bacana o teu projeto.
Acredito que não exista algo 100% preciso, tenho alguns amigos que nasceram em dias que alguns sites consideram ser Leão e outros sites dizem que a pessoa é do signo Câncer, acaba sendo um pouco confuso nessa parte. |
Primeiramente, parabéns pelo código, tá muito bem feito! Eu apliquei algumas mudanças com que aprendi em TypeScript, conhece? Bom, basicamente, JSDoc, que quando você abre a função no vscode, ela mostra o que a função faz, quais argumentos ela tem e os tipos desses argumentos... JSDoc ajuda também a detectar erros no próprio vscode, aí eu também apliquei uma biblioteca de assertions em cima do pacote, o objetivo da mesma é que os parâmetros das funções devam respeitar uma assinatura de tipo consistente. Também implementei uma suite completa de testes e workfliows no github para fazer o teste a cada commit, a única coisa que faltou foi husky (husky toma uma ação antes mesmo do Mas faltou a licença, e aí que eu gostaria de conversar contigo:
Tem diversas opções de licenças mais permissivas (uso comercial, pode incluir em um software que vá ser comercializado), o que você acha? Eu fiz uma pesquisa, e uma ótima licença é MIT |
Conheço sim, já utilizei para alguns projetos usando o React
Com certeza, pode licenciar sim na MIT com o uso comercial, sem problemas! |
Se eu usar signoDeHoje com a seguinte data:
new Date('01-20-2005')
- o programa retorna aquário, o resultado está incorreto, pois aquário seria no dia seguinte.The text was updated successfully, but these errors were encountered: