Comparing version 1.1.5 to 1.1.7
@@ -1,1 +0,1 @@ | ||
(function(a,b){if("function"==typeof define&&define.amd)define(["exports"],b);else if("undefined"!=typeof exports)b(exports);else{var c={exports:{}};b(c.exports),a.pascua=c.exports}})(this,function(a){"use strict";function b(a){var b=Number.parseInt(a,10);if(!Number.isNaN(b)&&1983<b)return b;throw new Error("Invalid year. Should be an integer > 1983")}function c(a){return"[object Date]"===Object.prototype.toString.call(a)&&b(a.getFullYear())}function d(a){var b=1<arguments.length&&arguments[1]!==void 0?arguments[1]:"-05:00",c=a.getFullYear(),d=a.getMonth()+1,e=a.getDate(),f=10>d?"0".concat(d):d,g=10>e?"0".concat(e):e;return"".concat(c,"-").concat(f,"-").concat(g,"T00:00:00.000").concat(b)}function e(a,b,c){var d=3<arguments.length&&arguments[3]!==void 0?arguments[3]:"-05:00",e=10>b?"0".concat(b):b,f=10>c?"0".concat(c):c;return new Date("".concat(a,"-").concat(e,"-").concat(f,"T00:00:00.000").concat(d))}function f(a,b){var c=new Date(a.getTime());return c.setDate(c.getDate()+b),c}function g(a,b){return a.getDate()===b.getDate()&&a.getMonth()===b.getMonth()}function h(a,b){var c=new Date(a.getTime());return c.setDate(a.getDate()+(7+b-a.getDay())%7),c}function j(a){var b=Math.floor,c=1<arguments.length&&void 0!==arguments[1]?arguments[1]:"-05:00",d=a%19,f=b(a/100),g=a%100,h=b(f/4),i=b((f+8)/25),j=b((f-i+1)/3),k=(19*d+f-h-j+15)%30,l=b(g/4),m=(32+2*(f%4)+2*l-k-g%4)%7,n=b((d+11*k+22*m)/451),o=k+m-7*n+114,p=b(o/31),q=e(a,p,1+o%31,c);return q}Object.defineProperty(a,"__esModule",{value:!0}),a.getHoliday=function(){var a=0<arguments.length&&arguments[0]!==void 0?arguments[0]:new Date,b=1<arguments.length&&arguments[1]!==void 0?arguments[1]:"-05:00";if(!c(a))throw new Error("Invalid date.");for(var d=a.getFullYear(),l=0;l<k.length;l+=1){if(1===k[l].type){var q=e(d,k[l].month,k[l].day,b);if(g(a,q))return k[l].name}if(2===k[l].type){var m=e(d,k[l].month,k[l].day,b),n=h(m,1);if(g(a,n))return k[l].name}if(3===k[l].type){var o=j(d,b),p=f(o,k[l].offset);if(g(a,p))return k[l].name}}return""},a.getAllHolidays=function(){for(var a,c=0<arguments.length&&arguments[0]!==void 0?arguments[0]:new Date().getFullYear(),g=b(c),l=[],m=0;m<k.length;m+=1)a=void 0,1===k[m].type&&(a=e(g,k[m].month,k[m].day)),2===k[m].type&&(a=h(e(g,k[m].month,k[m].day),1)),3===k[m].type&&(a=f(j(g),k[m].offset)),l.push({date:d(a),type:k[m].type,name:k[m].name});return l};var k=[{type:1,name:"A\xF1o Nuevo",day:1,month:1},{type:1,name:"D\xEDa del Trabajo",day:1,month:5},{type:1,name:"Grito de la Independencia",day:20,month:7},{type:1,name:"Batalla de Boyac\xE1",day:7,month:8},{type:1,name:"Inmaculada Concepci\xF3n",day:8,month:12},{type:1,name:"Navidad",day:25,month:12},{type:2,name:"Reyes Magos",day:6,month:1},{type:2,name:"San Jos\xE9",day:19,month:3},{type:2,name:"San Pedro y San Pablo",day:29,month:6},{type:2,name:"Asunci\xF3n de la Virgen",day:15,month:8},{type:2,name:"D\xEDa de la Raza",day:12,month:10},{type:2,name:"Todos los Santos",day:1,month:11},{type:2,name:"Independencia de Cartagena",day:11,month:11},{type:3,name:"Jueves Santo",offset:-3},{type:3,name:"Viernes Santo",offset:-2},{type:3,name:"Ascensi\xF3n de Jes\xFAs",offset:43},{type:3,name:"Corpus Christi",offset:64},{type:3,name:"Sagrado Coraz\xF3n de Jes\xFAs",offset:71}]}); | ||
(function(a,b){if("function"==typeof define&&define.amd)define([],b);else if("undefined"!=typeof exports)b();else{b(),a.pascua={exports:{}}.exports}})(this,function(){"use strict";function a(a){var b=Number.parseInt(a,10);if(Number.isNaN(b)||1984>b)throw new Error("Invalid year. Should be an integer > 1983");return b}function b(b){return"[object Date]"===Object.prototype.toString.call(b)&&a(b.getFullYear())}function c(a,b){var c=new Date(a.getTime());return c.setDate(c.getDate()+b),c}function d(a,b){return a.getDate()===b.getDate()&&a.getMonth()===b.getMonth()}function e(a,b){var c=new Date(a.getTime());return c.setDate(a.getDate()+(7+b-a.getDay())%7),c}function f(a){var b=Math.floor,c=a%19,d=b(a/100),e=a%100,f=b(d/4),g=b((d+8)/25),h=b((d-g+1)/3),i=(19*c+d-f-h+15)%30,j=b(e/4),k=(32+2*(d%4)+2*j-i-e%4)%7,l=b((c+11*i+22*k)/451),m=i+k-7*l+114,n=b(m/31),o=new Date(a,n-1,1+m%31);return o}var g=[{type:1,name:"A\xF1o Nuevo",day:1,month:1},{type:1,name:"D\xEDa del Trabajo",day:1,month:5},{type:1,name:"Grito de la Independencia",day:20,month:7},{type:1,name:"Batalla de Boyac\xE1",day:7,month:8},{type:1,name:"Inmaculada Concepci\xF3n",day:8,month:12},{type:1,name:"Navidad",day:25,month:12},{type:2,name:"Reyes Magos",day:6,month:1},{type:2,name:"San Jos\xE9",day:19,month:3},{type:2,name:"San Pedro y San Pablo",day:29,month:6},{type:2,name:"Asunci\xF3n de la Virgen",day:15,month:8},{type:2,name:"D\xEDa de la Raza",day:12,month:10},{type:2,name:"Todos los Santos",day:1,month:11},{type:2,name:"Independencia de Cartagena",day:11,month:11},{type:3,name:"Jueves Santo",offset:-3},{type:3,name:"Viernes Santo",offset:-2},{type:3,name:"Ascensi\xF3n de Jes\xFAs",offset:43},{type:3,name:"Corpus Christi",offset:64},{type:3,name:"Sagrado Coraz\xF3n de Jes\xFAs",offset:71}];module.exports={getHoliday:function(){var a=0<arguments.length&&arguments[0]!==void 0?arguments[0]:new Date;if(!b(a))throw new Error("Invalid date.");for(var h=a.getFullYear(),j=0;j<g.length;j+=1){if(1===g[j].type){var o=new Date(h,g[j].month-1,g[j].day);if(d(a,o))return g[j].name}if(2===g[j].type){var k=new Date(h,g[j].month-1,g[j].day),l=e(k,1);if(d(a,l))return g[j].name}if(3===g[j].type){var m=f(h),n=c(m,g[j].offset);if(d(a,n))return g[j].name}}return""},getAllHolidays:function(){for(var b,d=0<arguments.length&&arguments[0]!==void 0?arguments[0]:new Date().getFullYear(),h=a(d),j=[],k=0;k<g.length;k+=1)b=void 0,1===g[k].type&&(b=new Date(h,g[k].month-1,g[k].day)),2===g[k].type&&(b=e(new Date(h,g[k].month-1,g[k].day),1)),3===g[k].type&&(b=c(f(h),g[k].offset)),j.push({date:b.toISOString().substring(0,10),type:g[k].type,name:g[k].name});return j}}}); |
{ | ||
"name": "pascua", | ||
"version": "1.1.5", | ||
"version": "1.1.7", | ||
"description": "Calculadora para los festivos en Colombia", | ||
"main": "dist/pascua.js", | ||
"scripts": { | ||
"examples:serve": "browser-sync start --server --startPath examples --files examples", | ||
"docs:serve": "parcel serve ./examples/index.html --out-dir docs", | ||
"lint": "eslint src", | ||
"test": "jest --coverage", | ||
"build": "babel src/pascua.js --delete-dir-on-start --out-dir dist", | ||
"prepublishOnly": "npm-run-all lint test build" | ||
"prebuild:docs": "rimraf docs", | ||
"build:dist": "babel src/pascua.js --delete-dir-on-start --out-dir dist", | ||
"build:docs": "parcel build ./examples/index.html --out-dir docs --public-url ./ --no-source-maps", | ||
"prepublishOnly": "npm-run-all lint test build:dist", | ||
"travis-deploy-once": "travis-deploy-once", | ||
"semantic-release": "semantic-release" | ||
}, | ||
"husky": { | ||
"hooks": { | ||
"pre-commit": "lint-staged", | ||
"commit-msg": "commitlint -E HUSKY_GIT_PARAMS" | ||
} | ||
}, | ||
"license": "MIT", | ||
@@ -25,6 +23,2 @@ "bugs": { | ||
"author": "Mauricio Robayo <archemiro@gmail.com> (https://www.archemiro.com)", | ||
"repository": { | ||
"type": "git", | ||
"url": "git@github.com:archemiro/pascua.git" | ||
}, | ||
"keywords": [ | ||
@@ -41,16 +35,16 @@ "Colombia", | ||
"@commitlint/config-conventional": "^7.1.2", | ||
"babel-core": "^7.0.0-bridge.0", | ||
"babel-preset-minify": "^0.5.0", | ||
"browser-sync": "^2.26.3", | ||
"codecov": "^3.1.0", | ||
"eslint": "^5.7.0", | ||
"eslint": "^5.10.0", | ||
"eslint-config-airbnb-base": "^13.1.0", | ||
"eslint-config-prettier": "^3.1.0", | ||
"eslint-plugin-import": "^2.14.0", | ||
"husky": "^1.1.2", | ||
"husky": "^1.2.0", | ||
"jest": "^23.6.0", | ||
"lint-staged": "^8.0.0", | ||
"lint-staged": "^8.1.0", | ||
"npm-run-all": "^4.1.3", | ||
"prettier": "^1.14.3", | ||
"semantic-release": "^15.9.17" | ||
"parcel-bundler": "^1.10.3", | ||
"prettier": "^1.15.3", | ||
"rimraf": "^2.6.2", | ||
"semantic-release": "^15.12.4" | ||
}, | ||
@@ -60,3 +54,11 @@ "dependencies": {}, | ||
"dist" | ||
] | ||
], | ||
"directories": { | ||
"doc": "docs", | ||
"example": "examples" | ||
}, | ||
"repository": { | ||
"type": "git", | ||
"url": "https://github.com/archemiro/pascua.git" | ||
} | ||
} |
@@ -1,7 +0,18 @@ | ||
# Pascua 🎆 ![Bandera de Colombia](https://upload.wikimedia.org/wikipedia/commons/thumb/2/21/Flag_of_Colombia.svg/25px-Flag_of_Colombia.svg.png) | ||
# Pascua 🎆 | ||
[![npm version](https://badge.fury.io/js/pascua.svg)](https://badge.fury.io/js/pascua) [![Build Status](https://travis-ci.com/archemiro/pascua.svg?branch=master)](https://travis-ci.com/archemiro/pascua) [![codecov](https://codecov.io/gh/archemiro/pascua/branch/master/graph/badge.svg)](https://codecov.io/gh/archemiro/pascua) [![Greenkeeper badge](https://badges.greenkeeper.io/archemiro/pascua.svg)](https://greenkeeper.io/) | ||
[![install size](https://packagephobia.now.sh/badge?p=pascua)](https://packagephobia.now.sh/result?p=pascua) | ||
[![gzip size](https://img.badgesize.io/https://unpkg.com/pascua/dist/pascua.js?compression=gzip)](https://unpkg.com/pascua/dist/pascua.js) | ||
[![Blazing Fast](https://img.shields.io/badge/speed-blazing%20%F0%9F%94%A5-brightgreen.svg?style=flat-square)](https://twitter.com/acdlite/status/974390255393505280) | ||
Este es un módulo **sin dependencias** para calcular los [días festivos en Colombia](https://www.archemiro.com/pascua/) a partir de 1984 año a partir del cual entra en vigencia la [Ley 51 de 1983](http://www.alcaldiabogota.gov.co/sisjur/normas/Norma1.jsp?i=4954), que establece los días festivos para Colombia de la forma en que se celebran actualmente. | ||
[![npm version](https://badge.fury.io/js/pascua.svg)](https://badge.fury.io/js/pascua) | ||
[![Build Status](https://travis-ci.com/archemiro/pascua.svg?branch=master)](https://travis-ci.com/archemiro/pascua) | ||
[![codecov](https://codecov.io/gh/archemiro/pascua/branch/master/graph/badge.svg)](https://codecov.io/gh/archemiro/pascua) | ||
[![Greenkeeper badge](https://badges.greenkeeper.io/archemiro/pascua.svg)](https://greenkeeper.io/) | ||
![Bandera de Colombia](https://upload.wikimedia.org/wikipedia/commons/thumb/2/21/Flag_of_Colombia.svg/16px-Flag_of_Colombia.svg.png) Módulo **extraligero** y **sin dependencias** para calcular los [días festivos en Colombia](https://www.archemiro.com/pascua/). | ||
--- | ||
Pascua permite obtener los días festivos a partir de 1984 año en que entra en vigencia la [Ley 51 de 1983](http://www.alcaldiabogota.gov.co/sisjur/normas/Norma1.jsp?i=4954), que establece los días festivos para Colombia de la forma en que se celebran actualmente. | ||
Para su cálculo, los días feriados en Colombia se dividen en tres categorías y son 18 días festivos en total: | ||
@@ -51,28 +62,18 @@ | ||
Para usar este módulo en el navegador se puede cargar por medio de [`unpkg`](http://unpkg.org/) | ||
usando el siguiente enlace: https://unpkg.com/pascua/dist/pascua.umd.min.js. | ||
usando el siguiente [enlace](https://unpkg.com/pascua/dist/pascua.js). El objeto `pascua` estará disponible de manera global. | ||
## Uso | ||
Para su uso es importante tener en cuenta que la zona horaria esté configurada | ||
para 'America/Bogota' en el sistema, de lo contrario se pueden tener resultados | ||
inesperados. Si no se tiene la zona horaria correctamente configurada, lo ideal | ||
es especificar una fecha en el formato ISO-8601 como en los ejemplos que se dan | ||
a continuación, en donde se indica '-05:00' como el desplazamiento horario de | ||
la fecha: | ||
Pascua incluye dos funciones: `getHoliday` y `getAllHolidays`. | ||
### Determinar si un día dado es festivo | ||
La función `getHoliday` permite saber si un día determinado es festivo o no. Recibe como argumento opcional una fecha de JavaScript y devuelve el nombre del festivo que aplica para la fecha o una cadena de texto vacía (`""`) si la fecha no corresponde con un festivo: | ||
```js | ||
const { getHoliday } = require("pascua"); | ||
// Especificamos la fecha en formato ISO 8601 para que sea interpretada como UTC | ||
// y no como hora local para evitar saltos inesperados de fechas que producirían | ||
// resultados erroneos. Por ellos, el módulo procura trabajar siempre con UTC y | ||
// el offset de la zona horaria correspondiente a Colombia ('America/Bogota'): | ||
// -05:00 UTC. | ||
const holidayDate = new Date("2017-04-13T00:00:00-05:00"); | ||
const holiday = getHoliday(holidayDate); | ||
const date = new Date("13-04-2017"); | ||
const holiday = getHoliday(date); | ||
console.log(holiday); // 'Jueves Santo' | ||
const noHolidayDate = new Date("2017-04-12T00:00:00-05:00"); | ||
const noHoliday = getHoliday(noHolidayDate); | ||
console.log(noHoliday); // false | ||
``` | ||
@@ -82,6 +83,6 @@ | ||
También podemos consultar los festivos correspondientes a cualquier año con la | ||
función `getAllHolidays(year)`, que arrojará como resultado un array con los | ||
festivos para el año solicitado. Por ejemplo: | ||
### Obtener todos los días festivos para un año determinado | ||
La la función `getAllHolidays(year)` permite consultar los festivos correspondientes a cualquier año, devolviendo un array con los festivos para el año solicitado. Por ejemplo: | ||
```js | ||
@@ -97,20 +98,20 @@ const { getAllHolidays } = require("pascua"); | ||
[ | ||
{ date: '2010-01-01T00:00:00.000-05:00', type: 1, name: 'Año Nuevo' }, | ||
{ date: '2010-05-01T00:00:00.000-05:00', type: 1, name: 'Día del Trabajo' }, | ||
{ date: '2010-07-20T00:00:00.000-05:00', type: 1, name: 'Grito de la Independencia' }, | ||
{ date: '2010-08-07T00:00:00.000-05:00', type: 1, name: 'Batalla de Boyacá' }, | ||
{ date: '2010-12-08T00:00:00.000-05:00', type: 1, name: 'Inmaculada Concepción' }, | ||
{ date: '2010-12-25T00:00:00.000-05:00', type: 1, name: 'Navidad' }, | ||
{ date: '2010-01-11T00:00:00.000-05:00', type: 2, name: 'Reyes Magos' }, | ||
{ date: '2010-03-22T00:00:00.000-05:00', type: 2, name: 'San José' }, | ||
{ date: '2010-07-05T00:00:00.000-05:00', type: 2, name: 'San Pedro y San Pablo' }, | ||
{ date: '2010-08-16T00:00:00.000-05:00', type: 2, name: 'Asunción de la Virgen' }, | ||
{ date: '2010-10-18T00:00:00.000-05:00', type: 2, name: 'Día de la Raza' }, | ||
{ date: '2010-11-01T00:00:00.000-05:00', type: 2, name: 'Todos los Santos' }, | ||
{ date: '2010-11-15T00:00:00.000-05:00', type: 2, name: 'Independencia de Cartagena' }, | ||
{ date: '2010-04-01T00:00:00.000-05:00', type: 3, name: 'Jueves Santo' }, | ||
{ date: '2010-04-02T00:00:00.000-05:00', type: 3, name: 'Viernes Santo' }, | ||
{ date: '2010-05-17T00:00:00.000-05:00', type: 3, name: 'Ascensión de Jesús' }, | ||
{ date: '2010-06-07T00:00:00.000-05:00', type: 3, name: 'Corpus Christi' }, | ||
{ date: '2010-06-14T00:00:00.000-05:00', type: 3, name: 'Sagrado Corazón de Jesús' }, | ||
{ date: '2010-01-01', type: 1, name: 'Año Nuevo' }, | ||
{ date: '2010-05-01', type: 1, name: 'Día del Trabajo' }, | ||
{ date: '2010-07-20', type: 1, name: 'Grito de la Independencia' }, | ||
{ date: '2010-08-07', type: 1, name: 'Batalla de Boyacá' }, | ||
{ date: '2010-12-08', type: 1, name: 'Inmaculada Concepción' }, | ||
{ date: '2010-12-25', type: 1, name: 'Navidad' }, | ||
{ date: '2010-01-11', type: 2, name: 'Reyes Magos' }, | ||
{ date: '2010-03-22', type: 2, name: 'San José' }, | ||
{ date: '2010-07-05', type: 2, name: 'San Pedro y San Pablo' }, | ||
{ date: '2010-08-16', type: 2, name: 'Asunción de la Virgen' }, | ||
{ date: '2010-10-18', type: 2, name: 'Día de la Raza' }, | ||
{ date: '2010-11-01', type: 2, name: 'Todos los Santos' }, | ||
{ date: '2010-11-15', type: 2, name: 'Independencia de Cartagena' }, | ||
{ date: '2010-04-01', type: 3, name: 'Jueves Santo' }, | ||
{ date: '2010-04-02', type: 3, name: 'Viernes Santo' }, | ||
{ date: '2010-05-17', type: 3, name: 'Ascensión de Jesús' }, | ||
{ date: '2010-06-07', type: 3, name: 'Corpus Christi' }, | ||
{ date: '2010-06-14', type: 3, name: 'Sagrado Corazón de Jesús' }, | ||
], | ||
@@ -121,11 +122,4 @@ ``` | ||
Si se usa el script en el navegador el objecto `pascua` estará disponible de manera global con las | ||
funciones `getHoliday` y `getAllHolidays`: | ||
```js | ||
console.table(getAllHolidays(2017)); | ||
``` | ||
## Licencia | ||
[MIT](LICENSE). |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
1
11086
122