colombian-holidays 4.2.0 → 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 CHANGED
@@ -257,7 +257,33 @@ const currentYearHolidaysAsDates = colombianHolidays({ valueAsDate: true });
257
257
 
258
258
  ## Utils
259
259
 
260
- The package provides two helper functions which can be imported from `lib/utils`:
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.
261
287
 
262
288
  ### isHoliday
263
289
 
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.generateUtcStringFromDate = exports.NEW_HOLIDAY_SCHEMA_START_YEAR = void 0;
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 : generateUtcStringFromDate(holidayDate),
41
+ date: valueAsDate ? holidayDate : holidayDate.toISOString().slice(0, 10),
46
42
  celebrationDate: valueAsDate
47
43
  ? celebrationDate
48
- : generateUtcStringFromDate(celebrationDate),
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;AAED,SAAgB,yBAAyB,CAAC,IAAU;IAClD,OAAO,8BAA8B,CACnC,IAAI,CAAC,cAAc,EAAE,EACrB,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,EACtB,IAAI,CAAC,UAAU,EAAE,CAClB,CAAC;AACJ,CAAC;AAND,8DAMC;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,yBAAyB,CAAC,WAAW,CAAC;QACxE,eAAe,EAAE,WAAW;YAC1B,CAAC,CAAC,eAAe;YACjB,CAAC,CAAC,yBAAyB,CAAC,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"}
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"}
@@ -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 __1 = __importDefault(require(".."));
8
- const helpers_1 = require("../helpers");
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, __1.default)({
13
- year: date.getUTCFullYear(),
8
+ const holiday = (0, getHolidaysByYear_1.getHolidaysForYear)(date.getUTCFullYear(), {
14
9
  valueAsDate: true,
15
- }).find(({ celebrationDate }) => (0, helpers_2.isSameDate)(celebrationDate, date));
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, helpers_1.generateUtcStringFromDate)(holiday.date),
25
- celebrationDate: (0, helpers_1.generateUtcStringFromDate)(holiday.celebrationDate),
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":";;;;;;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
+ {"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 __1 = __importDefault(require(".."));
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, __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
- });
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":";;;;;;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"}
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"}
@@ -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 __1 = __importDefault(require(".."));
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 year = date.getUTCFullYear();
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":";;;;;;AAAA,2CAAmC;AAEnC,uCAAuC;AAEvC,MAAM,aAAa,GAAG,IAAI,GAAG,EAA4C,CAAC;AAE1E,SAAgB,SAAS,CAAC,IAAU;IAClC,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;IACnC,MAAM,cAAc,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC/C,IAAI,cAAc,EAAE;QAClB,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,CACjD,IAAA,oBAAU,EAAC,eAAe,EAAE,IAAI,CAAC,CAClC,CAAC;KACH;IACD,MAAM,QAAQ,GAAG,IAAA,WAAiB,EAAC;QACjC,IAAI;QACJ,WAAW,EAAE,IAAI;KAClB,CAAC,CAAC;IACH,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAClC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,CAC3C,IAAA,oBAAU,EAAC,eAAe,EAAE,IAAI,CAAC,CAClC,CAAC;AACJ,CAAC;AAhBD,8BAgBC"}
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,6 +1,6 @@
1
1
  {
2
2
  "name": "colombian-holidays",
3
- "version": "4.2.0",
3
+ "version": "5.0.0",
4
4
  "description": "Colombian holidays",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {