colombian-holidays 4.1.1 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +50 -3
- package/{lib → dist}/helpers.d.ts +0 -1
- package/{lib → dist}/helpers.js +3 -7
- package/{lib → dist}/helpers.js.map +1 -1
- package/{lib → dist}/index.d.ts +3 -0
- package/{lib → dist}/index.js +7 -1
- package/{lib → dist}/index.js.map +1 -1
- package/dist/utils/getHoliday.js +24 -0
- package/dist/utils/getHoliday.js.map +1 -0
- package/dist/utils/getHolidaysByYear.d.ts +7 -0
- package/dist/utils/getHolidaysByYear.js +29 -0
- package/dist/utils/getHolidaysByYear.js.map +1 -0
- package/dist/utils/holidaysWithinInterval.js +23 -0
- package/dist/utils/holidaysWithinInterval.js.map +1 -0
- package/dist/utils/isHoliday.js +13 -0
- package/dist/utils/isHoliday.js.map +1 -0
- package/package.json +9 -4
- package/lib/utils/getHoliday.js +0 -29
- package/lib/utils/getHoliday.js.map +0 -1
- package/lib/utils/holidaysWithinInterval.js +0 -23
- package/lib/utils/holidaysWithinInterval.js.map +0 -1
- package/lib/utils/isHoliday.js +0 -16
- package/lib/utils/isHoliday.js.map +0 -1
- /package/{lib → dist}/holidays.d.ts +0 -0
- /package/{lib → dist}/holidays.js +0 -0
- /package/{lib → dist}/holidays.js.map +0 -0
- /package/{lib → dist}/types.d.ts +0 -0
- /package/{lib → dist}/types.js +0 -0
- /package/{lib → dist}/types.js.map +0 -0
- /package/{lib → dist}/utils/getHoliday.d.ts +0 -0
- /package/{lib → dist}/utils/helpers.d.ts +0 -0
- /package/{lib → dist}/utils/helpers.js +0 -0
- /package/{lib → dist}/utils/helpers.js.map +0 -0
- /package/{lib → dist}/utils/holidaysWithinInterval.d.ts +0 -0
- /package/{lib → dist}/utils/isHoliday.d.ts +0 -0
package/README.md
CHANGED
@@ -1,9 +1,10 @@
|
|
1
1
|
# Colombian Holidays 🎆
|
2
2
|
|
3
3
|
[](https://badge.fury.io/js/colombian-holidays)
|
4
|
-
[](https://github.com/MauricioRobayo/colombian-holidays/actions/workflows/build-and-release.yml)
|
5
5
|
[](https://codecov.io/gh/MauricioRobayo/colombian-holidays)
|
6
6
|
[](https://www.codefactor.io/repository/github/mauriciorobayo/colombian-holidays)
|
7
|
+
[](git@github.com:MauricioRobayo/colombian-holidays.git)
|
7
8
|
|
8
9
|
TypeScript module to calculate colombian holidays for any given year.
|
9
10
|
|
@@ -11,7 +12,7 @@ TypeScript module to calculate colombian holidays for any given year.
|
|
11
12
|
|
12
13
|
To install as a dependency of your project:
|
13
14
|
|
14
|
-
```
|
15
|
+
```sh
|
15
16
|
npm install colombian-holidays
|
16
17
|
```
|
17
18
|
|
@@ -39,6 +40,20 @@ You get a function that you can use to get the complete list of holidays for a g
|
|
39
40
|
const colombianHolidays2015 = colombianHolidays({ year: 2015 });
|
40
41
|
```
|
41
42
|
|
43
|
+
# Examples
|
44
|
+
|
45
|
+
Get current year holidays
|
46
|
+
|
47
|
+
```sh
|
48
|
+
npm run ts-node examples/currentDate
|
49
|
+
```
|
50
|
+
|
51
|
+
Get next year holidays
|
52
|
+
|
53
|
+
```sh
|
54
|
+
npm run ts-node examples/nextYear
|
55
|
+
```
|
56
|
+
|
42
57
|
The content of the `colombianHolidays2015` variable will be the following array:
|
43
58
|
|
44
59
|
```js
|
@@ -218,6 +233,12 @@ Returns:
|
|
218
233
|
];
|
219
234
|
```
|
220
235
|
|
236
|
+
Run the previous example
|
237
|
+
|
238
|
+
```sh
|
239
|
+
npm run ts-node examples/monthHolidays
|
240
|
+
```
|
241
|
+
|
221
242
|
You can opt-in to have the function return native JavaScript dates instead of strings for the `date` and `celebrationDate` properties by using the `valueAsDate` option:
|
222
243
|
|
223
244
|
```js
|
@@ -236,7 +257,33 @@ const currentYearHolidaysAsDates = colombianHolidays({ valueAsDate: true });
|
|
236
257
|
|
237
258
|
## Utils
|
238
259
|
|
239
|
-
The package provides
|
260
|
+
The package provides four helper functions:
|
261
|
+
|
262
|
+
### getHolidaysByYear
|
263
|
+
|
264
|
+
Returns the list of all Colombian holidays for a given year.
|
265
|
+
|
266
|
+
```js
|
267
|
+
import { getHolidaysByYear } from "colombian-holidays/lib/utils/getHolidaysByYear";
|
268
|
+
|
269
|
+
const holidays = getHolidaysByYear(2025);
|
270
|
+
```
|
271
|
+
|
272
|
+
You can also pass the `valueAsDate` option to return native JavaScript `Date` objects instead of ISO strings:
|
273
|
+
|
274
|
+
```js
|
275
|
+
const holidaysAsDates = getHolidaysByYear(2025, { valueAsDate: true });
|
276
|
+
```
|
277
|
+
|
278
|
+
This function is equivalent to calling:
|
279
|
+
|
280
|
+
```js
|
281
|
+
colombianHolidays({ year: 2025 });
|
282
|
+
```
|
283
|
+
|
284
|
+
But exposed as a named utility function for convenience.
|
285
|
+
|
286
|
+
This function uses a shared in-memory cache and is a preferable option to `colombianHolidays` when the same year is requested multiple times, such as in loops or build processes.
|
240
287
|
|
241
288
|
### isHoliday
|
242
289
|
|
@@ -1,6 +1,5 @@
|
|
1
1
|
import type { Holiday, ColombianHoliday, ColombianHolidayWithNativeDate } from "./types";
|
2
2
|
export declare const NEW_HOLIDAY_SCHEMA_START_YEAR = 1984;
|
3
|
-
export declare function generateUtcStringFromDate(date: Date): string;
|
4
3
|
declare function getHoliday(holiday: Holiday, options?: {
|
5
4
|
year?: number;
|
6
5
|
valueAsDate: false | undefined;
|
package/{lib → dist}/helpers.js
RENAMED
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
4
|
};
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
-
exports.
|
6
|
+
exports.NEW_HOLIDAY_SCHEMA_START_YEAR = void 0;
|
7
7
|
const pascua_1 = __importDefault(require("pascua"));
|
8
8
|
// 1984 is the year when the current holidays scheme is enforced
|
9
9
|
// http://www.alcaldiabogota.gov.co/sisjur/normas/Norma1.jsp?i=4954
|
@@ -32,20 +32,16 @@ function getHolidayDate(holiday, year) {
|
|
32
32
|
function generateUtcStringFromDateParts(year, month, day) {
|
33
33
|
return `${year}-${String(month).padStart(2, "0")}-${String(day).padStart(2, "0")}`;
|
34
34
|
}
|
35
|
-
function generateUtcStringFromDate(date) {
|
36
|
-
return generateUtcStringFromDateParts(date.getUTCFullYear(), date.getUTCMonth() + 1, date.getUTCDate());
|
37
|
-
}
|
38
|
-
exports.generateUtcStringFromDate = generateUtcStringFromDate;
|
39
35
|
function getHoliday(holiday, { year = new Date().getUTCFullYear(), valueAsDate = false, } = {}) {
|
40
36
|
const holidayDate = getHolidayDate(holiday, year);
|
41
37
|
const celebrationDate = year >= exports.NEW_HOLIDAY_SCHEMA_START_YEAR && holiday.nextMonday
|
42
38
|
? getNextMonday(holidayDate)
|
43
39
|
: holidayDate;
|
44
40
|
return {
|
45
|
-
date: valueAsDate ? holidayDate :
|
41
|
+
date: valueAsDate ? holidayDate : holidayDate.toISOString().slice(0, 10),
|
46
42
|
celebrationDate: valueAsDate
|
47
43
|
? celebrationDate
|
48
|
-
:
|
44
|
+
: celebrationDate.toISOString().slice(0, 10),
|
49
45
|
name: holiday.name,
|
50
46
|
nextMonday: year >= exports.NEW_HOLIDAY_SCHEMA_START_YEAR && holiday.nextMonday,
|
51
47
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA4B;AAQ5B,gEAAgE;AAChE,mEAAmE;AACtD,QAAA,6BAA6B,GAAG,IAAI,CAAC;AAElD,SAAS,gBAAgB,CAAC,IAAU,EAAE,SAAiB;IACrD,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;IAClC,UAAU,CAAC,UAAU,CACnB,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,CAC7D,CAAC;IACF,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,aAAa,CAAC,IAAU;IAC/B,MAAM,MAAM,GAAG,CAAC,CAAC;IACjB,OAAO,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,eAAe,CAAC,OAAgB;IACvC,OAAO,QAAQ,IAAI,OAAO,CAAC;AAC7B,CAAC;AAED,SAAS,cAAc,CAAC,OAAgB,EAAE,IAAY;IACpD,IAAI,eAAe,CAAC,OAAO,CAAC,EAAE;QAC5B,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,IAAA,gBAAM,EAAC,IAAI,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,8BAA8B,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;QACtE,IAAI,CAAC,UAAU,CAAC,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC;KACb;IAED,OAAO,IAAI,IAAI,CACb,8BAA8B,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,CACjE,CAAC;AACJ,CAAC;AAED,SAAS,8BAA8B,CACrC,IAAY,EACZ,KAAa,EACb,GAAW;IAEX,OAAO,GAAG,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CACtE,CAAC,EACD,GAAG,CACJ,EAAE,CAAC;AACN,CAAC;
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA4B;AAQ5B,gEAAgE;AAChE,mEAAmE;AACtD,QAAA,6BAA6B,GAAG,IAAI,CAAC;AAElD,SAAS,gBAAgB,CAAC,IAAU,EAAE,SAAiB;IACrD,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;IAClC,UAAU,CAAC,UAAU,CACnB,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,CAC7D,CAAC;IACF,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,aAAa,CAAC,IAAU;IAC/B,MAAM,MAAM,GAAG,CAAC,CAAC;IACjB,OAAO,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,eAAe,CAAC,OAAgB;IACvC,OAAO,QAAQ,IAAI,OAAO,CAAC;AAC7B,CAAC;AAED,SAAS,cAAc,CAAC,OAAgB,EAAE,IAAY;IACpD,IAAI,eAAe,CAAC,OAAO,CAAC,EAAE;QAC5B,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,IAAA,gBAAM,EAAC,IAAI,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,8BAA8B,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;QACtE,IAAI,CAAC,UAAU,CAAC,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC;KACb;IAED,OAAO,IAAI,IAAI,CACb,8BAA8B,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,CACjE,CAAC;AACJ,CAAC;AAED,SAAS,8BAA8B,CACrC,IAAY,EACZ,KAAa,EACb,GAAW;IAEX,OAAO,GAAG,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CACtE,CAAC,EACD,GAAG,CACJ,EAAE,CAAC;AACN,CAAC;AAcD,SAAS,UAAU,CACjB,OAAgB,EAChB,EACE,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,cAAc,EAAE,EAClC,WAAW,GAAG,KAAK,MACyB,EAAE;IAEhD,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAClD,MAAM,eAAe,GACnB,IAAI,IAAI,qCAA6B,IAAI,OAAO,CAAC,UAAU;QACzD,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC;QAC5B,CAAC,CAAC,WAAW,CAAC;IAElB,OAAO;QACL,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;QACxE,eAAe,EAAE,WAAW;YAC1B,CAAC,CAAC,eAAe;YACjB,CAAC,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;QAC9C,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,UAAU,EAAE,IAAI,IAAI,qCAA6B,IAAI,OAAO,CAAC,UAAU;KACxE,CAAC;AACJ,CAAC;AAED,kBAAe,UAAU,CAAC"}
|
package/{lib → dist}/index.d.ts
RENAMED
@@ -19,3 +19,6 @@ export declare function colombianHolidays(options?: {
|
|
19
19
|
valueAsDate?: boolean;
|
20
20
|
}): ColombianHoliday[] | ColombianHolidayWithNativeDate[];
|
21
21
|
export default colombianHolidays;
|
22
|
+
export { getHolidaysForYear } from "./utils/getHolidaysByYear";
|
23
|
+
export { isHoliday } from "./utils/isHoliday";
|
24
|
+
export { holidaysWithinInterval } from "./utils/holidaysWithinInterval";
|
package/{lib → dist}/index.js
RENAMED
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
4
|
};
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
-
exports.colombianHolidays = exports.LAST_HOLIDAY_YEAR = exports.FIRST_HOLIDAY_YEAR = void 0;
|
6
|
+
exports.holidaysWithinInterval = exports.isHoliday = exports.getHolidaysForYear = exports.colombianHolidays = exports.LAST_HOLIDAY_YEAR = exports.FIRST_HOLIDAY_YEAR = void 0;
|
7
7
|
const helpers_1 = __importDefault(require("./helpers"));
|
8
8
|
const holidays_1 = __importDefault(require("./holidays"));
|
9
9
|
// pascua package year limits
|
@@ -38,4 +38,10 @@ function colombianHolidays({ year = new Date().getUTCFullYear(), month, valueAsD
|
|
38
38
|
}
|
39
39
|
exports.colombianHolidays = colombianHolidays;
|
40
40
|
exports.default = colombianHolidays;
|
41
|
+
var getHolidaysByYear_1 = require("./utils/getHolidaysByYear");
|
42
|
+
Object.defineProperty(exports, "getHolidaysForYear", { enumerable: true, get: function () { return getHolidaysByYear_1.getHolidaysForYear; } });
|
43
|
+
var isHoliday_1 = require("./utils/isHoliday");
|
44
|
+
Object.defineProperty(exports, "isHoliday", { enumerable: true, get: function () { return isHoliday_1.isHoliday; } });
|
45
|
+
var holidaysWithinInterval_1 = require("./utils/holidaysWithinInterval");
|
46
|
+
Object.defineProperty(exports, "holidaysWithinInterval", { enumerable: true, get: function () { return holidaysWithinInterval_1.holidaysWithinInterval; } });
|
41
47
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,wDAAmC;AACnC,0DAAkC;AAGlC,6BAA6B;AAChB,QAAA,kBAAkB,GAAG,IAAI,CAAC;AAC1B,QAAA,iBAAiB,GAAG,IAAI,CAAC;AAoBtC,SAAgB,iBAAiB,CAAC,EAChC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,cAAc,EAAE,EAClC,KAAK,EACL,WAAW,GAAG,KAAK,MAKjB,EAAE;IACJ,IAAI,IAAI,GAAG,0BAAkB,IAAI,IAAI,GAAG,yBAAiB,EAAE;QACzD,MAAM,IAAI,KAAK,CACb,8BAA8B,0BAAkB,QAAQ,yBAAiB,EAAE,CAC5E,CAAC;KACH;IAED,OAAO,kBAAQ;SACZ,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAA,iBAAU,EAAC,OAAO,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;SAC5D,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;QAClB,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB,OAAO,IAAI,CAAC;SACb;QAED,IAAI,OAAO,OAAO,CAAC,eAAe,KAAK,QAAQ,EAAE;YAC/C,OAAO,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC;SAC9D;QAED,OAAO,OAAO,CAAC,eAAe,CAAC,WAAW,EAAE,GAAG,CAAC,KAAK,KAAK,CAAC;IAC7D,CAAC,CAAC;SACD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACb,IACE,CAAC,CAAC,eAAe,YAAY,IAAI;YACjC,CAAC,CAAC,eAAe,YAAY,IAAI,EACjC;YACA,OAAO,CAAC,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;SAClE;QAED,IACE,OAAO,CAAC,CAAC,eAAe,KAAK,QAAQ;YACrC,OAAO,CAAC,CAAC,eAAe,KAAK,QAAQ,EACrC;YACA,OAAO,CAAC,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;SAC3D;QAED,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;AACP,CAAC;AA7CD,8CA6CC;AAED,kBAAe,iBAAiB,CAAC"}
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,wDAAmC;AACnC,0DAAkC;AAGlC,6BAA6B;AAChB,QAAA,kBAAkB,GAAG,IAAI,CAAC;AAC1B,QAAA,iBAAiB,GAAG,IAAI,CAAC;AAoBtC,SAAgB,iBAAiB,CAAC,EAChC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,cAAc,EAAE,EAClC,KAAK,EACL,WAAW,GAAG,KAAK,MAKjB,EAAE;IACJ,IAAI,IAAI,GAAG,0BAAkB,IAAI,IAAI,GAAG,yBAAiB,EAAE;QACzD,MAAM,IAAI,KAAK,CACb,8BAA8B,0BAAkB,QAAQ,yBAAiB,EAAE,CAC5E,CAAC;KACH;IAED,OAAO,kBAAQ;SACZ,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAA,iBAAU,EAAC,OAAO,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;SAC5D,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;QAClB,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB,OAAO,IAAI,CAAC;SACb;QAED,IAAI,OAAO,OAAO,CAAC,eAAe,KAAK,QAAQ,EAAE;YAC/C,OAAO,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC;SAC9D;QAED,OAAO,OAAO,CAAC,eAAe,CAAC,WAAW,EAAE,GAAG,CAAC,KAAK,KAAK,CAAC;IAC7D,CAAC,CAAC;SACD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACb,IACE,CAAC,CAAC,eAAe,YAAY,IAAI;YACjC,CAAC,CAAC,eAAe,YAAY,IAAI,EACjC;YACA,OAAO,CAAC,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;SAClE;QAED,IACE,OAAO,CAAC,CAAC,eAAe,KAAK,QAAQ;YACrC,OAAO,CAAC,CAAC,eAAe,KAAK,QAAQ,EACrC;YACA,OAAO,CAAC,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;SAC3D;QAED,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;AACP,CAAC;AA7CD,8CA6CC;AAED,kBAAe,iBAAiB,CAAC;AAEjC,+DAA+D;AAAtD,uHAAA,kBAAkB,OAAA;AAC3B,+CAA8C;AAArC,sGAAA,SAAS,OAAA;AAClB,yEAAwE;AAA/D,gIAAA,sBAAsB,OAAA"}
|
@@ -0,0 +1,24 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.getHoliday = void 0;
|
4
|
+
const getHolidaysByYear_1 = require("./getHolidaysByYear");
|
5
|
+
const helpers_1 = require("./helpers");
|
6
|
+
function getHoliday(date, options = { valueAsDate: false }) {
|
7
|
+
const { valueAsDate } = options;
|
8
|
+
const holiday = (0, getHolidaysByYear_1.getHolidaysForYear)(date.getUTCFullYear(), {
|
9
|
+
valueAsDate: true,
|
10
|
+
}).find(({ celebrationDate }) => (0, helpers_1.isSameDate)(celebrationDate, date));
|
11
|
+
if (!holiday) {
|
12
|
+
return null;
|
13
|
+
}
|
14
|
+
if (valueAsDate) {
|
15
|
+
return holiday;
|
16
|
+
}
|
17
|
+
return {
|
18
|
+
...holiday,
|
19
|
+
date: holiday.date.toISOString().slice(0, 10),
|
20
|
+
celebrationDate: holiday.celebrationDate.toISOString().slice(0, 10),
|
21
|
+
};
|
22
|
+
}
|
23
|
+
exports.getHoliday = getHoliday;
|
24
|
+
//# sourceMappingURL=getHoliday.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"getHoliday.js","sourceRoot":"","sources":["../../src/utils/getHoliday.ts"],"names":[],"mappings":";;;AACA,2DAAyD;AACzD,uCAAuC;AAUvC,SAAgB,UAAU,CACxB,IAAU,EACV,UAAoC,EAAE,WAAW,EAAE,KAAK,EAAE;IAE1D,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;IAChC,MAAM,OAAO,GAAG,IAAA,sCAAkB,EAAC,IAAI,CAAC,cAAc,EAAE,EAAE;QACxD,WAAW,EAAE,IAAI;KAClB,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,IAAA,oBAAU,EAAC,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC;IACpE,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,IAAI,CAAC;KACb;IAED,IAAI,WAAW,EAAE;QACf,OAAO,OAAO,CAAC;KAChB;IACD,OAAO;QACL,GAAG,OAAO;QACV,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;QAC7C,eAAe,EAAE,OAAO,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;KACpE,CAAC;AACJ,CAAC;AApBD,gCAoBC"}
|
@@ -0,0 +1,7 @@
|
|
1
|
+
import type { ColombianHolidayWithNativeDate, ColombianHoliday } from "../types";
|
2
|
+
export declare function getHolidaysForYear(year: number, options?: {
|
3
|
+
valueAsDate: false | undefined;
|
4
|
+
}): ColombianHoliday[];
|
5
|
+
export declare function getHolidaysForYear(year: number, options?: {
|
6
|
+
valueAsDate: true;
|
7
|
+
}): ColombianHolidayWithNativeDate[];
|
@@ -0,0 +1,29 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
+
exports.getHolidaysForYear = void 0;
|
7
|
+
const __1 = __importDefault(require(".."));
|
8
|
+
const holidaysWithNativeDateCache = new Map();
|
9
|
+
const holidaysCache = new Map();
|
10
|
+
function getHolidaysForYear(year, { valueAsDate = false } = {}) {
|
11
|
+
if (valueAsDate) {
|
12
|
+
const cachedHolidays = holidaysWithNativeDateCache.get(year);
|
13
|
+
if (cachedHolidays) {
|
14
|
+
return cachedHolidays;
|
15
|
+
}
|
16
|
+
const holidays = (0, __1.default)({ year, valueAsDate });
|
17
|
+
holidaysWithNativeDateCache.set(year, holidays);
|
18
|
+
return holidays;
|
19
|
+
}
|
20
|
+
const cachedHolidays = holidaysCache.get(year);
|
21
|
+
if (cachedHolidays) {
|
22
|
+
return cachedHolidays;
|
23
|
+
}
|
24
|
+
const holidays = (0, __1.default)({ year, valueAsDate });
|
25
|
+
holidaysCache.set(year, holidays);
|
26
|
+
return holidays;
|
27
|
+
}
|
28
|
+
exports.getHolidaysForYear = getHolidaysForYear;
|
29
|
+
//# sourceMappingURL=getHolidaysByYear.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"getHolidaysByYear.js","sourceRoot":"","sources":["../../src/utils/getHolidaysByYear.ts"],"names":[],"mappings":";;;;;;AAAA,2CAAmC;AAMnC,MAAM,2BAA2B,GAAG,IAAI,GAAG,EAGxC,CAAC;AACJ,MAAM,aAAa,GAAG,IAAI,GAAG,EAA8B,CAAC;AAU5D,SAAgB,kBAAkB,CAChC,IAAY,EACZ,EAAE,WAAW,GAAG,KAAK,KAAgC,EAAE;IAEvD,IAAI,WAAW,EAAE;QACf,MAAM,cAAc,GAAG,2BAA2B,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC7D,IAAI,cAAc,EAAE;YAClB,OAAO,cAAc,CAAC;SACvB;QAED,MAAM,QAAQ,GAAG,IAAA,WAAiB,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;QAC1D,2BAA2B,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAChD,OAAO,QAAQ,CAAC;KACjB;IAED,MAAM,cAAc,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC/C,IAAI,cAAc,EAAE;QAClB,OAAO,cAAc,CAAC;KACvB;IAED,MAAM,QAAQ,GAAG,IAAA,WAAiB,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;IAC1D,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAClC,OAAO,QAAQ,CAAC;AAClB,CAAC;AAvBD,gDAuBC"}
|
@@ -0,0 +1,23 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.holidaysWithinInterval = void 0;
|
4
|
+
const getHolidaysByYear_1 = require("./getHolidaysByYear");
|
5
|
+
function holidaysWithinInterval({ start, end, valueAsDate = false, }) {
|
6
|
+
if (start >= end) {
|
7
|
+
throw new Error("end date should be greater than start date");
|
8
|
+
}
|
9
|
+
const yearEnd = end.getUTCFullYear();
|
10
|
+
const yearStart = start.getUTCFullYear();
|
11
|
+
const holidays = Array.from({ length: yearEnd - yearStart + 1 }, (_, i) => (0, getHolidaysByYear_1.getHolidaysForYear)(i + yearStart, { valueAsDate: true })).flat();
|
12
|
+
const holidaysWithin = holidays.filter(({ celebrationDate }) => celebrationDate >= start && celebrationDate <= end);
|
13
|
+
if (valueAsDate) {
|
14
|
+
return holidaysWithin;
|
15
|
+
}
|
16
|
+
return holidaysWithin.map((holiday) => ({
|
17
|
+
...holiday,
|
18
|
+
date: holiday.date.toISOString().slice(0, 10),
|
19
|
+
celebrationDate: holiday.celebrationDate.toISOString().slice(0, 10),
|
20
|
+
}));
|
21
|
+
}
|
22
|
+
exports.holidaysWithinInterval = holidaysWithinInterval;
|
23
|
+
//# sourceMappingURL=holidaysWithinInterval.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"holidaysWithinInterval.js","sourceRoot":"","sources":["../../src/utils/holidaysWithinInterval.ts"],"names":[],"mappings":";;;AACA,2DAAyD;AAiBzD,SAAgB,sBAAsB,CAAC,EACrC,KAAK,EACL,GAAG,EACH,WAAW,GAAG,KAAK,GAKpB;IACC,IAAI,KAAK,IAAI,GAAG,EAAE;QAChB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;KAC/D;IACD,MAAM,OAAO,GAAG,GAAG,CAAC,cAAc,EAAE,CAAC;IACrC,MAAM,SAAS,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC;IAEzC,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,GAAG,SAAS,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACxE,IAAA,sCAAkB,EAAC,CAAC,GAAG,SAAS,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CACzD,CAAC,IAAI,EAAE,CAAC;IAET,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CACpC,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,eAAe,IAAI,KAAK,IAAI,eAAe,IAAI,GAAG,CAC5E,CAAC;IAEF,IAAI,WAAW,EAAE;QACf,OAAO,cAAc,CAAC;KACvB;IAED,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACtC,GAAG,OAAO;QACV,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;QAC7C,eAAe,EAAE,OAAO,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;KACpE,CAAC,CAAC,CAAC;AACN,CAAC;AAhCD,wDAgCC"}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.isHoliday = void 0;
|
4
|
+
const getHolidaysByYear_1 = require("./getHolidaysByYear");
|
5
|
+
const helpers_1 = require("./helpers");
|
6
|
+
function isHoliday(date) {
|
7
|
+
const holidays = (0, getHolidaysByYear_1.getHolidaysForYear)(date.getUTCFullYear(), {
|
8
|
+
valueAsDate: true,
|
9
|
+
});
|
10
|
+
return holidays.some(({ celebrationDate }) => (0, helpers_1.isSameDate)(celebrationDate, date));
|
11
|
+
}
|
12
|
+
exports.isHoliday = isHoliday;
|
13
|
+
//# sourceMappingURL=isHoliday.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"isHoliday.js","sourceRoot":"","sources":["../../src/utils/isHoliday.ts"],"names":[],"mappings":";;;AAAA,2DAAyD;AACzD,uCAAuC;AAEvC,SAAgB,SAAS,CAAC,IAAU;IAClC,MAAM,QAAQ,GAAG,IAAA,sCAAkB,EAAC,IAAI,CAAC,cAAc,EAAE,EAAE;QACzD,WAAW,EAAE,IAAI;KAClB,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,CAC3C,IAAA,oBAAU,EAAC,eAAe,EAAE,IAAI,CAAC,CAClC,CAAC;AACJ,CAAC;AAPD,8BAOC"}
|
package/package.json
CHANGED
@@ -1,14 +1,15 @@
|
|
1
1
|
{
|
2
2
|
"name": "colombian-holidays",
|
3
|
-
"version": "
|
3
|
+
"version": "5.0.0",
|
4
4
|
"description": "Colombian holidays",
|
5
|
-
"main": "
|
5
|
+
"main": "dist/index.js",
|
6
6
|
"scripts": {
|
7
7
|
"format": "prettier --write .",
|
8
8
|
"lint": "eslint . --ext .ts --fix",
|
9
9
|
"test": "jest --coverage",
|
10
10
|
"build": "tsc",
|
11
|
-
"prepublishOnly": "tsc"
|
11
|
+
"prepublishOnly": "tsc",
|
12
|
+
"ts-node": "ts-node"
|
12
13
|
},
|
13
14
|
"license": "MIT",
|
14
15
|
"bugs": {
|
@@ -32,16 +33,20 @@
|
|
32
33
|
"prettier": "^2.6.2",
|
33
34
|
"timezone-mock": "^1.3.1",
|
34
35
|
"ts-jest": "^27.1.4",
|
36
|
+
"ts-node": "^10.9.1",
|
35
37
|
"typescript": "^4.6.4"
|
36
38
|
},
|
37
39
|
"dependencies": {
|
38
40
|
"pascua": "^2.1.5"
|
39
41
|
},
|
40
42
|
"files": [
|
41
|
-
"
|
43
|
+
"dist"
|
42
44
|
],
|
43
45
|
"repository": {
|
44
46
|
"type": "git",
|
45
47
|
"url": "https://github.com/MauricioRobayo/colombian-holidays.git"
|
48
|
+
},
|
49
|
+
"release": {
|
50
|
+
"branches": "main"
|
46
51
|
}
|
47
52
|
}
|
package/lib/utils/getHoliday.js
DELETED
@@ -1,29 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
-
};
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
-
exports.getHoliday = void 0;
|
7
|
-
const __1 = __importDefault(require(".."));
|
8
|
-
const helpers_1 = require("../helpers");
|
9
|
-
const helpers_2 = require("./helpers");
|
10
|
-
function getHoliday(date, options = { valueAsDate: false }) {
|
11
|
-
const { valueAsDate } = options;
|
12
|
-
const holiday = (0, __1.default)({
|
13
|
-
year: date.getUTCFullYear(),
|
14
|
-
valueAsDate: true,
|
15
|
-
}).find(({ celebrationDate }) => (0, helpers_2.isSameDate)(celebrationDate, date));
|
16
|
-
if (!holiday) {
|
17
|
-
return null;
|
18
|
-
}
|
19
|
-
if (valueAsDate) {
|
20
|
-
return holiday;
|
21
|
-
}
|
22
|
-
return {
|
23
|
-
...holiday,
|
24
|
-
date: (0, helpers_1.generateUtcStringFromDate)(holiday.date),
|
25
|
-
celebrationDate: (0, helpers_1.generateUtcStringFromDate)(holiday.celebrationDate),
|
26
|
-
};
|
27
|
-
}
|
28
|
-
exports.getHoliday = getHoliday;
|
29
|
-
//# sourceMappingURL=getHoliday.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"getHoliday.js","sourceRoot":"","sources":["../../src/utils/getHoliday.ts"],"names":[],"mappings":";;;;;;AAAA,2CAAmC;AACnC,wCAAuD;AAEvD,uCAAuC;AAUvC,SAAgB,UAAU,CACxB,IAAU,EACV,UAAoC,EAAE,WAAW,EAAE,KAAK,EAAE;IAE1D,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;IAChC,MAAM,OAAO,GAAG,IAAA,WAAiB,EAAC;QAChC,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE;QAC3B,WAAW,EAAE,IAAI;KAClB,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,IAAA,oBAAU,EAAC,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC;IACpE,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,IAAI,CAAC;KACb;IAED,IAAI,WAAW,EAAE;QACf,OAAO,OAAO,CAAC;KAChB;IACD,OAAO;QACL,GAAG,OAAO;QACV,IAAI,EAAE,IAAA,mCAAyB,EAAC,OAAO,CAAC,IAAI,CAAC;QAC7C,eAAe,EAAE,IAAA,mCAAyB,EAAC,OAAO,CAAC,eAAe,CAAC;KACpE,CAAC;AACJ,CAAC;AArBD,gCAqBC"}
|
@@ -1,23 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
-
};
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
-
exports.holidaysWithinInterval = void 0;
|
7
|
-
const __1 = __importDefault(require(".."));
|
8
|
-
function holidaysWithinInterval({ start, end, valueAsDate = false, }) {
|
9
|
-
if (start >= end) {
|
10
|
-
throw new Error("end date should be greater than start date");
|
11
|
-
}
|
12
|
-
const yearEnd = end.getUTCFullYear();
|
13
|
-
const yearStart = start.getUTCFullYear();
|
14
|
-
const holidays = Array.from({ length: yearEnd - yearStart + 1 }, (_, i) => (0, __1.default)({ year: i + yearStart, valueAsDate })).flat();
|
15
|
-
return holidays.filter(({ celebrationDate }) => {
|
16
|
-
const date = typeof celebrationDate === "string"
|
17
|
-
? new Date(celebrationDate)
|
18
|
-
: celebrationDate;
|
19
|
-
return date >= start && date <= end;
|
20
|
-
});
|
21
|
-
}
|
22
|
-
exports.holidaysWithinInterval = holidaysWithinInterval;
|
23
|
-
//# sourceMappingURL=holidaysWithinInterval.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"holidaysWithinInterval.js","sourceRoot":"","sources":["../../src/utils/holidaysWithinInterval.ts"],"names":[],"mappings":";;;;;;AAAA,2CAAmC;AAkBnC,SAAgB,sBAAsB,CAAC,EACrC,KAAK,EACL,GAAG,EACH,WAAW,GAAG,KAAK,GAKpB;IACC,IAAI,KAAK,IAAI,GAAG,EAAE;QAChB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;KAC/D;IACD,MAAM,OAAO,GAAG,GAAG,CAAC,cAAc,EAAE,CAAC;IACrC,MAAM,SAAS,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC;IAEzC,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,GAAG,SAAS,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACxE,IAAA,WAAiB,EAAC,EAAE,IAAI,EAAE,CAAC,GAAG,SAAS,EAAE,WAAW,EAAE,CAAC,CACxD,CAAC,IAAI,EAAE,CAAC;IAET,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE;QAC7C,MAAM,IAAI,GACR,OAAO,eAAe,KAAK,QAAQ;YACjC,CAAC,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC;YAC3B,CAAC,CAAC,eAAe,CAAC;QACtB,OAAO,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,GAAG,CAAC;IACtC,CAAC,CAAC,CAAC;AACL,CAAC;AA1BD,wDA0BC"}
|
package/lib/utils/isHoliday.js
DELETED
@@ -1,16 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
-
};
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
-
exports.isHoliday = void 0;
|
7
|
-
const __1 = __importDefault(require(".."));
|
8
|
-
const helpers_1 = require("./helpers");
|
9
|
-
function isHoliday(date) {
|
10
|
-
return (0, __1.default)({
|
11
|
-
year: date.getUTCFullYear(),
|
12
|
-
valueAsDate: true,
|
13
|
-
}).some(({ celebrationDate }) => (0, helpers_1.isSameDate)(celebrationDate, date));
|
14
|
-
}
|
15
|
-
exports.isHoliday = isHoliday;
|
16
|
-
//# sourceMappingURL=isHoliday.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"isHoliday.js","sourceRoot":"","sources":["../../src/utils/isHoliday.ts"],"names":[],"mappings":";;;;;;AAAA,2CAAmC;AACnC,uCAAuC;AAEvC,SAAgB,SAAS,CAAC,IAAU;IAClC,OAAO,IAAA,WAAiB,EAAC;QACvB,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE;QAC3B,WAAW,EAAE,IAAI;KAClB,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,IAAA,oBAAU,EAAC,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC;AACtE,CAAC;AALD,8BAKC"}
|
File without changes
|
File without changes
|
File without changes
|
/package/{lib → dist}/types.d.ts
RENAMED
File without changes
|
/package/{lib → dist}/types.js
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|