colombian-holidays 4.2.0 → 5.0.1
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 +30 -4
- package/dist/helpers.d.ts +0 -1
- package/dist/helpers.js +3 -7
- package/dist/helpers.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.js +7 -1
- package/dist/index.js.map +1 -1
- package/dist/utils/getHoliday.js +6 -11
- package/dist/utils/getHoliday.js.map +1 -1
- 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 +11 -11
- package/dist/utils/holidaysWithinInterval.js.map +1 -1
- package/dist/utils/isHoliday.js +2 -13
- package/dist/utils/isHoliday.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
@@ -257,14 +257,40 @@ const currentYearHolidaysAsDates = colombianHolidays({ valueAsDate: true });
|
|
257
257
|
|
258
258
|
## Utils
|
259
259
|
|
260
|
-
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";
|
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.
|
261
287
|
|
262
288
|
### isHoliday
|
263
289
|
|
264
290
|
Returns `true` if the given date is a colombian holiday, otherwise returns `false`.
|
265
291
|
|
266
292
|
```js
|
267
|
-
import { isHoliday } from "colombian-holidays
|
293
|
+
import { isHoliday } from "colombian-holidays";
|
268
294
|
|
269
295
|
const date = new Date("2018-01-01");
|
270
296
|
|
@@ -280,7 +306,7 @@ if (isHoliday(date)) {
|
|
280
306
|
Similar to `isHoliday` but will return the corresponding holiday for a given date or `null` if there is no matching holiday.
|
281
307
|
|
282
308
|
```js
|
283
|
-
import { getHoliday } from "colombian-holidays
|
309
|
+
import { getHoliday } from "colombian-holidays";
|
284
310
|
|
285
311
|
const date = new Date("2018-01-01");
|
286
312
|
|
@@ -306,7 +332,7 @@ const newYearAsDate = getHoliday(date, { valueAsDate: true });
|
|
306
332
|
Returns an array with the colombian holidays within two dates:
|
307
333
|
|
308
334
|
```js
|
309
|
-
import { holidaysWithinInterval } from "colombian-holidays
|
335
|
+
import { holidaysWithinInterval } from "colombian-holidays";
|
310
336
|
|
311
337
|
const start = new Date("2021-01-01");
|
312
338
|
const end = new Date("2021-01-11");
|
package/dist/helpers.d.ts
CHANGED
@@ -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/dist/helpers.js
CHANGED
@@ -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
|
};
|
package/dist/helpers.js.map
CHANGED
@@ -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/dist/index.d.ts
CHANGED
@@ -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/dist/index.js
CHANGED
@@ -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
|
package/dist/index.js.map
CHANGED
@@ -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"}
|
package/dist/utils/getHoliday.js
CHANGED
@@ -1,18 +1,13 @@
|
|
1
1
|
"use strict";
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
-
};
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
3
|
exports.getHoliday = void 0;
|
7
|
-
const
|
8
|
-
const helpers_1 = require("
|
9
|
-
const helpers_2 = require("./helpers");
|
4
|
+
const getHolidaysByYear_1 = require("./getHolidaysByYear");
|
5
|
+
const helpers_1 = require("./helpers");
|
10
6
|
function getHoliday(date, options = { valueAsDate: false }) {
|
11
7
|
const { valueAsDate } = options;
|
12
|
-
const holiday = (0,
|
13
|
-
year: date.getUTCFullYear(),
|
8
|
+
const holiday = (0, getHolidaysByYear_1.getHolidaysForYear)(date.getUTCFullYear(), {
|
14
9
|
valueAsDate: true,
|
15
|
-
}).find(({ celebrationDate }) => (0,
|
10
|
+
}).find(({ celebrationDate }) => (0, helpers_1.isSameDate)(celebrationDate, date));
|
16
11
|
if (!holiday) {
|
17
12
|
return null;
|
18
13
|
}
|
@@ -21,8 +16,8 @@ function getHoliday(date, options = { valueAsDate: false }) {
|
|
21
16
|
}
|
22
17
|
return {
|
23
18
|
...holiday,
|
24
|
-
date: (0,
|
25
|
-
celebrationDate: (0,
|
19
|
+
date: holiday.date.toISOString().slice(0, 10),
|
20
|
+
celebrationDate: holiday.celebrationDate.toISOString().slice(0, 10),
|
26
21
|
};
|
27
22
|
}
|
28
23
|
exports.getHoliday = getHoliday;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"getHoliday.js","sourceRoot":"","sources":["../../src/utils/getHoliday.ts"],"names":[],"mappings":"
|
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"}
|
@@ -1,23 +1,23 @@
|
|
1
1
|
"use strict";
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
-
};
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
3
|
exports.holidaysWithinInterval = void 0;
|
7
|
-
const
|
4
|
+
const getHolidaysByYear_1 = require("./getHolidaysByYear");
|
8
5
|
function holidaysWithinInterval({ start, end, valueAsDate = false, }) {
|
9
6
|
if (start >= end) {
|
10
7
|
throw new Error("end date should be greater than start date");
|
11
8
|
}
|
12
9
|
const yearEnd = end.getUTCFullYear();
|
13
10
|
const yearStart = start.getUTCFullYear();
|
14
|
-
const holidays = Array.from({ length: yearEnd - yearStart + 1 }, (_, i) => (0,
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
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
21
|
}
|
22
22
|
exports.holidaysWithinInterval = holidaysWithinInterval;
|
23
23
|
//# sourceMappingURL=holidaysWithinInterval.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"holidaysWithinInterval.js","sourceRoot":"","sources":["../../src/utils/holidaysWithinInterval.ts"],"names":[],"mappings":"
|
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"}
|
package/dist/utils/isHoliday.js
CHANGED
@@ -1,23 +1,12 @@
|
|
1
1
|
"use strict";
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
-
};
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
3
|
exports.isHoliday = void 0;
|
7
|
-
const
|
4
|
+
const getHolidaysByYear_1 = require("./getHolidaysByYear");
|
8
5
|
const helpers_1 = require("./helpers");
|
9
|
-
const holidaysCache = new Map();
|
10
6
|
function isHoliday(date) {
|
11
|
-
const
|
12
|
-
const cachedHolidays = holidaysCache.get(year);
|
13
|
-
if (cachedHolidays) {
|
14
|
-
return cachedHolidays.some(({ celebrationDate }) => (0, helpers_1.isSameDate)(celebrationDate, date));
|
15
|
-
}
|
16
|
-
const holidays = (0, __1.default)({
|
17
|
-
year,
|
7
|
+
const holidays = (0, getHolidaysByYear_1.getHolidaysForYear)(date.getUTCFullYear(), {
|
18
8
|
valueAsDate: true,
|
19
9
|
});
|
20
|
-
holidaysCache.set(year, holidays);
|
21
10
|
return holidays.some(({ celebrationDate }) => (0, helpers_1.isSameDate)(celebrationDate, date));
|
22
11
|
}
|
23
12
|
exports.isHoliday = isHoliday;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"isHoliday.js","sourceRoot":"","sources":["../../src/utils/isHoliday.ts"],"names":[],"mappings":"
|
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"}
|