Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

eh-dia-util-slim

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

eh-dia-util-slim - npm Package Compare versions

Comparing version 1.1.0 to 1.1.1

4

index.d.ts

@@ -1,3 +0,3 @@

declare module 'eh-dia-util-slim' {
export default function eh(d: Date | string): boolean;
declare module "eh-dia-util-slim" {
export default function eh(d: Date | string): boolean;
}

@@ -1,36 +0,36 @@

'use strict';
"use strict";
var getBraziliansYearHolidays = require('./lib/brazilianHolidays');
var parse = require('./lib/parse');
var getBraziliansYearHolidays = require("./lib/brazilianHolidays");
var parse = require("./lib/parse");
var ehDiaUtil = function(date) {
var given = parse(date);
var given = parse(date);
var dayOfWeek = given.getDay();
var isSaturday = dayOfWeek === 6;
var isSunday = dayOfWeek === 0;
var dayOfWeek = given.getDay();
var isSaturday = dayOfWeek === 6;
var isSunday = dayOfWeek === 0;
if (isSaturday || isSunday) {
return false;
}
if (isSaturday || isSunday) {
return false;
}
var year = given.getFullYear();
var holidays = getBraziliansYearHolidays(year);
for (var i = 0; i < holidays.length; i++) {
var holiday = holidays[i];
var date = holiday.date.getDate();
var month = holiday.date.getMonth();
var year = given.getFullYear();
var holidays = getBraziliansYearHolidays(year);
for (var i = 0; i < holidays.length; i++) {
var holiday = holidays[i];
var date = holiday.date.getDate();
var month = holiday.date.getMonth();
var givenDate = given.getDate();
var givenDate = given.getDate();
var givenMonth = given.getMonth();
var givenMonth = given.getMonth();
if (givenDate === date && givenMonth === month) {
return false;
}
if (givenDate === date && givenMonth === month) {
return false;
}
}
return true;
return true;
};
module.exports = ehDiaUtil;

@@ -1,60 +0,112 @@

'use strict';
"use strict";
var parse = require('./parse');
var parse = require("./parse");
var calculateEaster = function(year) {
var C = Math.floor(year/100);
var N = year - 19*Math.floor(year/19);
var K = Math.floor((C - 17)/25);
var I = C - Math.floor(C/4) - Math.floor((C - K)/3) + 19*N + 15;
I = I - 30*Math.floor((I/30));
I = I - Math.floor(I/28)*(1 - Math.floor(I/28)*Math.floor(29/(I + 1))*Math.floor((21 - N)/11));
var J = year + Math.floor(year/4) + I + 2 - C + Math.floor(C/4);
J = J - 7*Math.floor(J/7);
var L = I - J;
var M = 3 + Math.floor((L + 40)/44);
var D = L + 28 - 31*Math.floor(M/4);
var month = (M < 10) ? '0' + M : M;
var day = (D < 10) ? '0' + D : D;
var easterDate = year + '-' + month + '-' + day;
return parse(easterDate);
var C = Math.floor(year / 100);
var N = year - 19 * Math.floor(year / 19);
var K = Math.floor((C - 17) / 25);
var I = C - Math.floor(C / 4) - Math.floor((C - K) / 3) + 19 * N + 15;
I = I - 30 * Math.floor(I / 30);
I =
I -
Math.floor(I / 28) *
(1 -
Math.floor(I / 28) *
Math.floor(29 / (I + 1)) *
Math.floor((21 - N) / 11));
var J = year + Math.floor(year / 4) + I + 2 - C + Math.floor(C / 4);
J = J - 7 * Math.floor(J / 7);
var L = I - J;
var M = 3 + Math.floor((L + 40) / 44);
var D = L + 28 - 31 * Math.floor(M / 4);
var month = M < 10 ? "0" + M : M;
var day = D < 10 ? "0" + D : D;
var easterDate = year + "-" + month + "-" + day;
return parse(easterDate);
};
var DAY_MS = 1000 * 60 * 60 * 24
var DAY_MS = 1000 * 60 * 60 * 24;
var calculateCorpusChristi = function(easterDate) {
return new Date(easterDate.getTime() + 60 * DAY_MS)
return new Date(easterDate.getTime() + 60 * DAY_MS);
};
var calculateCarnival = function(easterDate) {
return new Date(easterDate.getTime() - 47 * DAY_MS)
return new Date(easterDate.getTime() - 47 * DAY_MS);
};
var calculateGodsFriday = function(easterDate) {
return new Date(easterDate.getTime() - 2 * DAY_MS)
return new Date(easterDate.getTime() - 2 * DAY_MS);
};
var getBraziliansYearHolidays = function(year) {
var easterDate = calculateEaster(year);
var corpusChristiDate = calculateCorpusChristi(easterDate);
var carnivalDate = calculateCarnival(easterDate);
var godsFridayDate = calculateGodsFriday(easterDate);
var easterDate = calculateEaster(year);
var corpusChristiDate = calculateCorpusChristi(easterDate);
var carnivalDate = calculateCarnival(easterDate);
var godsFridayDate = calculateGodsFriday(easterDate);
return [
{ date: easterDate, description: "Páscoa ou Domingo da Ressurreição é uma festividade religiosa e um feriado que celebra a ressurreição de Jesus ocorrida três dias depois da sua crucificação no Calvário, conforme o relato do Novo Testamento." },
{ date: corpusChristiDate, description: "Corpus Christi (expressão latina que significa Corpo de Cristo), generalizada em Portugal como Corpo de Deus é um evento baseado em tradições católicas realizado na quinta-feira seguinte ao domingo da Santíssima Trindade, que, por sua vez, acontece no domingo seguinte ao de Pentecostes." },
{ date: carnivalDate, description: "Carnaval é um festival do cristianismo ocidental que ocorre antes da estação litúrgica da Quaresma. Os principais eventos ocorrem tipicamente durante fevereiro ou início de março, durante o período historicamente conhecido como Tempo da Septuagésima (ou pré-quaresma)." },
{ date: godsFridayDate, description: "Sexta-feira Santa ou Sexta-Feira da Paixão é uma data religiosa cristã que relembra a crucificação de Jesus Cristo e sua morte no Calvário. O feriado é observado sempre na sexta-feira que antecede o Domingo de Páscoa." },
{ date: parse(String(year) + '-01-01'), description: "O Dia da Fraternidade Universal ou Dia da Confraternização Universal é um feriado nacional no Brasil, comemorado no dia 1 de janeiro. Foi instituído por lei em 1935, por Getúlio Vargas." },
{ date: parse(String(year) + '-04-21'), description: "Joaquim José da Silva Xavier, o Tiradentes, foi um dentista, tropeiro, minerador, comerciante, militar e ativista político que atuou no Brasil. O dia de sua execução, 21 de abril, é feriado nacional." },
{ date: parse(String(year) + '-05-01'), description: "O Dia do Trabalhador, Dia do Trabalho ou Dia Internacional dos Trabalhadores é celebrado anualmente no dia 1º de maio em numerosos países do mundo, sendo feriado no Brasil, em Portugal, Angola, Moçambique e outros países." },
{ date: parse(String(year) + '-09-07'), description: "Independência do Brasil é um processo que se estende de 1821 a 1825 e coloca em violenta oposição o Reino do Brasil e o Reino de Portugal, dentro do Reino Unido de Portugal, Brasil e Algarves."},
{ date: parse(String(year) + '-10-12'), description: "Nossa Senhora da Conceição Aparecida, popularmente chamada de Nossa Senhora Aparecida, é a padroeira do Brasil. Sua festa litúrgica é celebrada em 12 de outubro, um feriado nacional no Brasil desde 1980." },
{ date: parse(String(year) + '-11-02'), description: "Dia dos Fiéis Defuntos ou Dia de Finados (conhecido ainda como Dia dos Mortos no México) é celebrado pela Igreja Católica no dia 2 de novembro." },
{ date: parse(String(year) + '-11-15'), description: "A Proclamação da República Brasileira foi um levante político-militar ocorrido em 15 de novembro de 1889 que instaurou a forma republicana federativa presidencialista do governo no Brasil, derrubando a monarquia constitucional parlamentarista do Império do Brasil e, por conseguinte, pondo fim à soberania do imperador D. Pedro II. Foi, então, proclamada a República do Brasil." },
{ date: parse(String(year) + '-12-25'), description: "Natal ou Dia de Natal é um feriado e festival religioso cristão comemorado anualmente em 25 de dezembro. A data é o centro das festas de fim de ano e da temporada de férias, sendo, no cristianismo, o marco inicial do Ciclo do Natal, que dura doze dias." }
];
return [
{
date: easterDate,
description:
"Páscoa ou Domingo da Ressurreição é uma festividade religiosa e um feriado que celebra a ressurreição de Jesus ocorrida três dias depois da sua crucificação no Calvário, conforme o relato do Novo Testamento."
},
{
date: corpusChristiDate,
description:
"Corpus Christi (expressão latina que significa Corpo de Cristo), generalizada em Portugal como Corpo de Deus é um evento baseado em tradições católicas realizado na quinta-feira seguinte ao domingo da Santíssima Trindade, que, por sua vez, acontece no domingo seguinte ao de Pentecostes."
},
{
date: carnivalDate,
description:
"Carnaval é um festival do cristianismo ocidental que ocorre antes da estação litúrgica da Quaresma. Os principais eventos ocorrem tipicamente durante fevereiro ou início de março, durante o período historicamente conhecido como Tempo da Septuagésima (ou pré-quaresma)."
},
{
date: godsFridayDate,
description:
"Sexta-feira Santa ou Sexta-Feira da Paixão é uma data religiosa cristã que relembra a crucificação de Jesus Cristo e sua morte no Calvário. O feriado é observado sempre na sexta-feira que antecede o Domingo de Páscoa."
},
{
date: parse(String(year) + "-01-01"),
description:
"O Dia da Fraternidade Universal ou Dia da Confraternização Universal é um feriado nacional no Brasil, comemorado no dia 1 de janeiro. Foi instituído por lei em 1935, por Getúlio Vargas."
},
{
date: parse(String(year) + "-04-21"),
description:
"Joaquim José da Silva Xavier, o Tiradentes, foi um dentista, tropeiro, minerador, comerciante, militar e ativista político que atuou no Brasil. O dia de sua execução, 21 de abril, é feriado nacional."
},
{
date: parse(String(year) + "-05-01"),
description:
"O Dia do Trabalhador, Dia do Trabalho ou Dia Internacional dos Trabalhadores é celebrado anualmente no dia 1º de maio em numerosos países do mundo, sendo feriado no Brasil, em Portugal, Angola, Moçambique e outros países."
},
{
date: parse(String(year) + "-09-07"),
description:
"Independência do Brasil é um processo que se estende de 1821 a 1825 e coloca em violenta oposição o Reino do Brasil e o Reino de Portugal, dentro do Reino Unido de Portugal, Brasil e Algarves."
},
{
date: parse(String(year) + "-10-12"),
description:
"Nossa Senhora da Conceição Aparecida, popularmente chamada de Nossa Senhora Aparecida, é a padroeira do Brasil. Sua festa litúrgica é celebrada em 12 de outubro, um feriado nacional no Brasil desde 1980."
},
{
date: parse(String(year) + "-11-02"),
description:
"Dia dos Fiéis Defuntos ou Dia de Finados (conhecido ainda como Dia dos Mortos no México) é celebrado pela Igreja Católica no dia 2 de novembro."
},
{
date: parse(String(year) + "-11-15"),
description:
"A Proclamação da República Brasileira foi um levante político-militar ocorrido em 15 de novembro de 1889 que instaurou a forma republicana federativa presidencialista do governo no Brasil, derrubando a monarquia constitucional parlamentarista do Império do Brasil e, por conseguinte, pondo fim à soberania do imperador D. Pedro II. Foi, então, proclamada a República do Brasil."
},
{
date: parse(String(year) + "-12-25"),
description:
"Natal ou Dia de Natal é um feriado e festival religioso cristão comemorado anualmente em 25 de dezembro. A data é o centro das festas de fim de ano e da temporada de férias, sendo, no cristianismo, o marco inicial do Ciclo do Natal, que dura doze dias."
}
];
};
module.exports = getBraziliansYearHolidays;
module.exports = getBraziliansYearHolidays;
var parse = function(config) {
var reg
if (config === null) return new Date(NaN) // Treat null as an invalid date
if (!config) return new Date()
if (config instanceof Date) return config
// eslint-disable-next-line no-cond-assign
if (reg = String(config).match(/^(\d{4})-?(\d{2})-?(\d{1,2})$/)) {
// 2018-08-08 or 20180808
return new Date(reg[1], reg[2] - 1, reg[3])
}
return new Date(config) // timestamp
}
var reg;
if (config === null) return new Date(NaN); // Treat null as an invalid date
if (!config) return new Date();
if (config instanceof Date) return config;
// eslint-disable-next-line no-cond-assign
if ((reg = String(config).match(/^(\d{4})-?(\d{2})-?(\d{1,2})$/))) {
// 2018-08-08 or 20180808
return new Date(reg[1], reg[2] - 1, reg[3]);
}
return new Date(config); // timestamp
};
module.exports = parse;
module.exports = parse;
{
"name": "eh-dia-util-slim",
"version": "1.1.0",
"version": "1.1.1",
"description": "Hoje é um dia útil? Qual é o próximo dia útil? Pequena lógica para determinar o próximo (ou se hoje é) dia útil considerando fériados nacionais (móveis ou não).",

@@ -5,0 +5,0 @@ "main": "index.js",

@@ -1,64 +0,226 @@

'use strict';
"use strict";
var expect = require('chai').expect;
var dayjs = require('dayjs');
var ehDiaUtil = require('./../index');
var expect = require("chai").expect;
var dayjs = require("dayjs");
var ehDiaUtil = require("./../index");
describe('É dia útil?', function () {
describe("É dia útil?", function() {
var tests = [
{
givenDate: "2017-09-11",
description: "uma Segunda",
expectedResult: true
},
{ givenDate: "2017-09-12", description: "uma Terça", expectedResult: true },
{
givenDate: "2017-09-13",
description: "uma Quarta",
expectedResult: true
},
{
givenDate: "2017-09-14",
description: "uma Quinta",
expectedResult: true
},
{ givenDate: "2017-09-15", description: "uma Sexta", expectedResult: true },
{
givenDate: "2017-09-09",
description: "um Sábado",
expectedResult: false
},
{
givenDate: "2017-05-13",
description: "um Sábado",
expectedResult: false
},
{
givenDate: "2022-09-10",
description: "um Sábado",
expectedResult: false
},
{
givenDate: "2017-09-30",
description: "um Sábado",
expectedResult: false
},
{
givenDate: "2017-10-01",
description: "um Domingo",
expectedResult: false
},
{
givenDate: "2017-09-10",
description: "um Domingo",
expectedResult: false
},
{
givenDate: "2017-05-06",
description: "um Domingo",
expectedResult: false
},
{
givenDate: "2017-01-07",
description: "um Domingo",
expectedResult: false
},
{ givenDate: "2015-12-25", description: "Natal", expectedResult: false },
{ givenDate: "1988-12-25", description: "Natal", expectedResult: false },
{ givenDate: "2018-12-25", description: "Natal", expectedResult: false },
{
givenDate: "2019-11-15",
description: "Proclamação da República",
expectedResult: false
},
{
givenDate: "2020-11-15",
description: "Proclamação da República",
expectedResult: false
},
{
givenDate: "2050-11-15",
description: "Proclamação da República",
expectedResult: false
},
{
givenDate: "1990-11-15",
description: "Proclamação da República",
expectedResult: false
},
{
givenDate: "2017-11-02",
description: "Dia de Finados",
expectedResult: false
},
{
givenDate: "1990-11-02",
description: "Dia de Finados",
expectedResult: false
},
{
givenDate: "2017-10-12",
description: "Dia de Nossa Senhora Aparecida",
expectedResult: false
},
{
givenDate: "2016-10-12",
description: "Dia de Nossa Senhora Aparecida",
expectedResult: false
},
{
givenDate: "1980-10-12",
description: "Dia de Nossa Senhora Aparecida",
expectedResult: false
},
{
givenDate: "1988-10-12",
description: "Dia de Nossa Senhora Aparecida",
expectedResult: false
},
{
givenDate: "2050-10-12",
description: "Dia de Nossa Senhora Aparecida",
expectedResult: false
},
{
givenDate: "2023-10-12",
description: "Dia de Nossa Senhora Aparecida",
expectedResult: false
},
{
givenDate: "1988-09-07",
description: "Independência do Brasil",
expectedResult: false
},
{
givenDate: "2033-09-07",
description: "Independência do Brasil",
expectedResult: false
},
{
givenDate: "2000-09-07",
description: "Independência do Brasil",
expectedResult: false
},
{
givenDate: "2035-05-01",
description: "Dia do Trabalho",
expectedResult: false
},
{
givenDate: "2000-05-01",
description: "Dia do Trabalho",
expectedResult: false
},
{
givenDate: "2040-04-21",
description: "Tiradentes",
expectedResult: false
},
{
givenDate: "2012-04-21",
description: "Tiradentes",
expectedResult: false
},
{ givenDate: "2010-01-01", description: "Ano novo", expectedResult: false },
{ givenDate: "2001-01-01", description: "Ano novo", expectedResult: false },
{
givenDate: "2017-02-28",
description: "Carnaval 2017",
expectedResult: false
},
{
givenDate: "2018-02-13",
description: "Carnaval 2018",
expectedResult: false
},
{
givenDate: "2019-03-05",
description: "Carnaval 2019",
expectedResult: false
},
{
givenDate: "2017-04-14",
description: "Sexta-feira Santa 2017",
expectedResult: false
},
{
givenDate: "2018-03-30",
description: "Sexta-feira Santa 2018",
expectedResult: false
},
{
givenDate: "2019-04-19",
description: "Sexta-feira Santa 2019",
expectedResult: false
},
{
givenDate: "2017-04-16",
description: "Páscoa 2017",
expectedResult: false
},
{
givenDate: "2018-04-01",
description: "Páscoa 2018",
expectedResult: false
},
{
givenDate: "2019-04-21",
description: "Páscoa 2019",
expectedResult: false
}
];
var tests = [
{ givenDate: '2017-09-11', description: 'uma Segunda', expectedResult: true },
{ givenDate: '2017-09-12', description: 'uma Terça', expectedResult: true },
{ givenDate: '2017-09-13', description: 'uma Quarta', expectedResult: true },
{ givenDate: '2017-09-14', description: 'uma Quinta', expectedResult: true },
{ givenDate: '2017-09-15', description: 'uma Sexta', expectedResult: true },
{ givenDate: '2017-09-09', description: 'um Sábado', expectedResult: false },
{ givenDate: '2017-05-13', description: 'um Sábado', expectedResult: false },
{ givenDate: '2022-09-10', description: 'um Sábado', expectedResult: false },
{ givenDate: '2017-09-30', description: 'um Sábado', expectedResult: false },
{ givenDate: '2017-10-01', description: 'um Domingo', expectedResult: false },
{ givenDate: '2017-09-10', description: 'um Domingo', expectedResult: false },
{ givenDate: '2017-05-06', description: 'um Domingo', expectedResult: false },
{ givenDate: '2017-01-07', description: 'um Domingo', expectedResult: false },
{ givenDate: '2015-12-25', description: 'Natal', expectedResult: false },
{ givenDate: '1988-12-25', description: 'Natal', expectedResult: false },
{ givenDate: '2018-12-25', description: 'Natal', expectedResult: false },
{ givenDate: '2019-11-15', description: 'Proclamação da República', expectedResult: false },
{ givenDate: '2020-11-15', description: 'Proclamação da República', expectedResult: false },
{ givenDate: '2050-11-15', description: 'Proclamação da República', expectedResult: false },
{ givenDate: '1990-11-15', description: 'Proclamação da República', expectedResult: false },
{ givenDate: '2017-11-02', description: 'Dia de Finados', expectedResult: false },
{ givenDate: '1990-11-02', description: 'Dia de Finados', expectedResult: false },
{ givenDate: '2017-10-12', description: 'Dia de Nossa Senhora Aparecida', expectedResult: false },
{ givenDate: '2016-10-12', description: 'Dia de Nossa Senhora Aparecida', expectedResult: false },
{ givenDate: '1980-10-12', description: 'Dia de Nossa Senhora Aparecida', expectedResult: false },
{ givenDate: '1988-10-12', description: 'Dia de Nossa Senhora Aparecida', expectedResult: false },
{ givenDate: '2050-10-12', description: 'Dia de Nossa Senhora Aparecida', expectedResult: false },
{ givenDate: '2023-10-12', description: 'Dia de Nossa Senhora Aparecida', expectedResult: false },
{ givenDate: '1988-09-07', description: 'Independência do Brasil', expectedResult: false },
{ givenDate: '2033-09-07', description: 'Independência do Brasil', expectedResult: false },
{ givenDate: '2000-09-07', description: 'Independência do Brasil', expectedResult: false },
{ givenDate: '2035-05-01', description: 'Dia do Trabalho', expectedResult: false },
{ givenDate: '2000-05-01', description: 'Dia do Trabalho', expectedResult: false },
{ givenDate: '2040-04-21', description: 'Tiradentes', expectedResult: false },
{ givenDate: '2012-04-21', description: 'Tiradentes', expectedResult: false },
{ givenDate: '2010-01-01', description: 'Ano novo', expectedResult: false },
{ givenDate: '2001-01-01', description: 'Ano novo', expectedResult: false },
{ givenDate: '2017-02-28', description: 'Carnaval 2017', expectedResult: false },
{ givenDate: '2018-02-13', description: 'Carnaval 2018', expectedResult: false },
{ givenDate: '2019-03-05', description: 'Carnaval 2019', expectedResult: false },
{ givenDate: '2017-04-14', description: 'Sexta-feira Santa 2017', expectedResult: false },
{ givenDate: '2018-03-30', description: 'Sexta-feira Santa 2018', expectedResult: false },
{ givenDate: '2019-04-19', description: 'Sexta-feira Santa 2019', expectedResult: false },
{ givenDate: '2017-04-16', description: 'Páscoa 2017', expectedResult: false },
{ givenDate: '2018-04-01', description: 'Páscoa 2018', expectedResult: false },
{ givenDate: '2019-04-21', description: 'Páscoa 2019', expectedResult: false }
];
tests.forEach(function(test) {
it('Dado dia ' + dayjs(test.givenDate).format('YYYY-MM-DD') + ' (que é ' + test.description + '), o resultado esperado é ' + test.expectedResult, function() {
expect(ehDiaUtil(test.givenDate)).to.equal(test.expectedResult);
});
});
});
tests.forEach(function(test) {
it(
"Dado dia " +
dayjs(test.givenDate).format("YYYY-MM-DD") +
" (que é " +
test.description +
"), o resultado esperado é " +
test.expectedResult,
function() {
expect(ehDiaUtil(test.givenDate)).to.equal(test.expectedResult);
}
);
});
});
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc