@checkdigit/time 1.0.0-PR.11-7a3c → 1.0.0-PR.11-5d82

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.
Files changed (80) hide show
  1. package/dist/holidays/index.d.ts +2 -0
  2. package/dist/holidays/index.d.ts.map +1 -0
  3. package/dist/holidays/index.js +19 -0
  4. package/dist/holidays/index.js.map +1 -0
  5. package/dist/holidays/united-states/federal-reserve-bank/add-us-federal-reserve-bank-business-days.d.ts +15 -0
  6. package/dist/holidays/united-states/federal-reserve-bank/add-us-federal-reserve-bank-business-days.d.ts.map +1 -0
  7. package/dist/holidays/united-states/federal-reserve-bank/add-us-federal-reserve-bank-business-days.js +55 -0
  8. package/dist/holidays/united-states/federal-reserve-bank/add-us-federal-reserve-bank-business-days.js.map +1 -0
  9. package/dist/holidays/united-states/federal-reserve-bank/add-us-federal-reserve-bank-business-days.spec.d.ts +2 -0
  10. package/dist/holidays/united-states/federal-reserve-bank/add-us-federal-reserve-bank-business-days.spec.d.ts.map +1 -0
  11. package/dist/holidays/united-states/federal-reserve-bank/add-us-federal-reserve-bank-business-days.spec.js +403 -0
  12. package/dist/holidays/united-states/federal-reserve-bank/add-us-federal-reserve-bank-business-days.spec.js.map +1 -0
  13. package/dist/holidays/united-states/federal-reserve-bank/get-all-us-federal-reserve-bank-holidays.d.ts +19 -0
  14. package/dist/holidays/united-states/federal-reserve-bank/get-all-us-federal-reserve-bank-holidays.d.ts.map +1 -0
  15. package/dist/holidays/united-states/federal-reserve-bank/{get-all-federal-reserve-bank-holidays.js → get-all-us-federal-reserve-bank-holidays.js} +14 -2
  16. package/dist/holidays/united-states/federal-reserve-bank/get-all-us-federal-reserve-bank-holidays.js.map +1 -0
  17. package/dist/holidays/united-states/federal-reserve-bank/get-all-us-federal-reserve-bank-holidays.spec.d.ts +2 -0
  18. package/dist/holidays/united-states/federal-reserve-bank/get-all-us-federal-reserve-bank-holidays.spec.d.ts.map +1 -0
  19. package/dist/holidays/united-states/federal-reserve-bank/{get-all-federal-reserve-bank-holidays.spec.js → get-all-us-federal-reserve-bank-holidays.spec.js} +8 -11
  20. package/dist/holidays/united-states/federal-reserve-bank/get-all-us-federal-reserve-bank-holidays.spec.js.map +1 -0
  21. package/dist/holidays/united-states/federal-reserve-bank/index.d.ts +5 -0
  22. package/dist/holidays/united-states/federal-reserve-bank/index.d.ts.map +1 -0
  23. package/dist/holidays/united-states/federal-reserve-bank/index.js +15 -0
  24. package/dist/holidays/united-states/federal-reserve-bank/index.js.map +1 -0
  25. package/dist/holidays/united-states/federal-reserve-bank/is-us-federal-reserve-bank-closed.d.ts +15 -0
  26. package/dist/holidays/united-states/federal-reserve-bank/is-us-federal-reserve-bank-closed.d.ts.map +1 -0
  27. package/dist/holidays/united-states/federal-reserve-bank/is-us-federal-reserve-bank-closed.js +30 -0
  28. package/dist/holidays/united-states/federal-reserve-bank/is-us-federal-reserve-bank-closed.js.map +1 -0
  29. package/dist/holidays/united-states/federal-reserve-bank/is-us-federal-reserve-bank-closed.spec.d.ts +2 -0
  30. package/dist/holidays/united-states/federal-reserve-bank/is-us-federal-reserve-bank-closed.spec.d.ts.map +1 -0
  31. package/dist/holidays/united-states/federal-reserve-bank/is-us-federal-reserve-bank-closed.spec.js +203 -0
  32. package/dist/holidays/united-states/federal-reserve-bank/is-us-federal-reserve-bank-closed.spec.js.map +1 -0
  33. package/dist/holidays/united-states/federal-reserve-bank/subtract-us-federal-reserve-bank-business-days.spec.d.ts +2 -0
  34. package/dist/holidays/united-states/federal-reserve-bank/subtract-us-federal-reserve-bank-business-days.spec.d.ts.map +1 -0
  35. package/dist/holidays/united-states/federal-reserve-bank/subtract-us-federal-reserve-bank-business-days.spec.js +503 -0
  36. package/dist/holidays/united-states/federal-reserve-bank/subtract-us-federal-reserve-bank-business-days.spec.js.map +1 -0
  37. package/dist/index.d.ts +1 -0
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +2 -0
  40. package/dist/index.js.map +1 -1
  41. package/package.json +1 -1
  42. package/src/holidays/index.ts +3 -0
  43. package/src/holidays/united-states/federal-reserve-bank/add-us-federal-reserve-bank-business-days.ts +59 -0
  44. package/src/holidays/united-states/federal-reserve-bank/{get-all-federal-reserve-bank-holidays.ts → get-all-us-federal-reserve-bank-holidays.ts} +13 -1
  45. package/src/holidays/united-states/federal-reserve-bank/index.ts +6 -0
  46. package/src/holidays/united-states/federal-reserve-bank/is-us-federal-reserve-bank-closed.ts +36 -0
  47. package/src/index.ts +3 -0
  48. package/dist/holidays/united-states/federal-reserve-bank/add-federal-reserve-bank-business-days.d.ts +0 -3
  49. package/dist/holidays/united-states/federal-reserve-bank/add-federal-reserve-bank-business-days.d.ts.map +0 -1
  50. package/dist/holidays/united-states/federal-reserve-bank/add-federal-reserve-bank-business-days.js +0 -32
  51. package/dist/holidays/united-states/federal-reserve-bank/add-federal-reserve-bank-business-days.js.map +0 -1
  52. package/dist/holidays/united-states/federal-reserve-bank/add-federal-reserve-bank-business-days.spec.d.ts +0 -2
  53. package/dist/holidays/united-states/federal-reserve-bank/add-federal-reserve-bank-business-days.spec.d.ts.map +0 -1
  54. package/dist/holidays/united-states/federal-reserve-bank/add-federal-reserve-bank-business-days.spec.js +0 -406
  55. package/dist/holidays/united-states/federal-reserve-bank/add-federal-reserve-bank-business-days.spec.js.map +0 -1
  56. package/dist/holidays/united-states/federal-reserve-bank/get-all-federal-reserve-bank-holidays.d.ts +0 -7
  57. package/dist/holidays/united-states/federal-reserve-bank/get-all-federal-reserve-bank-holidays.d.ts.map +0 -1
  58. package/dist/holidays/united-states/federal-reserve-bank/get-all-federal-reserve-bank-holidays.js.map +0 -1
  59. package/dist/holidays/united-states/federal-reserve-bank/get-all-federal-reserve-bank-holidays.spec.d.ts +0 -2
  60. package/dist/holidays/united-states/federal-reserve-bank/get-all-federal-reserve-bank-holidays.spec.d.ts.map +0 -1
  61. package/dist/holidays/united-states/federal-reserve-bank/get-all-federal-reserve-bank-holidays.spec.js.map +0 -1
  62. package/dist/holidays/united-states/federal-reserve-bank/is-federal-reserve-bank-holiday.d.ts +0 -3
  63. package/dist/holidays/united-states/federal-reserve-bank/is-federal-reserve-bank-holiday.d.ts.map +0 -1
  64. package/dist/holidays/united-states/federal-reserve-bank/is-federal-reserve-bank-holiday.js +0 -21
  65. package/dist/holidays/united-states/federal-reserve-bank/is-federal-reserve-bank-holiday.js.map +0 -1
  66. package/dist/holidays/united-states/federal-reserve-bank/is-federal-reserve-bank-holiday.spec.d.ts +0 -2
  67. package/dist/holidays/united-states/federal-reserve-bank/is-federal-reserve-bank-holiday.spec.d.ts.map +0 -1
  68. package/dist/holidays/united-states/federal-reserve-bank/is-federal-reserve-bank-holiday.spec.js +0 -206
  69. package/dist/holidays/united-states/federal-reserve-bank/is-federal-reserve-bank-holiday.spec.js.map +0 -1
  70. package/dist/holidays/united-states/federal-reserve-bank/subtract-federal-reserve-bank-business-days.d.ts +0 -3
  71. package/dist/holidays/united-states/federal-reserve-bank/subtract-federal-reserve-bank-business-days.d.ts.map +0 -1
  72. package/dist/holidays/united-states/federal-reserve-bank/subtract-federal-reserve-bank-business-days.js +0 -32
  73. package/dist/holidays/united-states/federal-reserve-bank/subtract-federal-reserve-bank-business-days.js.map +0 -1
  74. package/dist/holidays/united-states/federal-reserve-bank/subtract-federal-reserve-bank-business-days.spec.d.ts +0 -2
  75. package/dist/holidays/united-states/federal-reserve-bank/subtract-federal-reserve-bank-business-days.spec.d.ts.map +0 -1
  76. package/dist/holidays/united-states/federal-reserve-bank/subtract-federal-reserve-bank-business-days.spec.js +0 -506
  77. package/dist/holidays/united-states/federal-reserve-bank/subtract-federal-reserve-bank-business-days.spec.js.map +0 -1
  78. package/src/holidays/united-states/federal-reserve-bank/add-federal-reserve-bank-business-days.ts +0 -33
  79. package/src/holidays/united-states/federal-reserve-bank/is-federal-reserve-bank-holiday.ts +0 -25
  80. package/src/holidays/united-states/federal-reserve-bank/subtract-federal-reserve-bank-business-days.ts +0 -33
@@ -0,0 +1,503 @@
1
+ "use strict";
2
+ // holidays/united-states/federal-reserve-bank/subtract-us-federal-reserve-bank-business-days.spec.ts
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ const node_assert_1 = require("node:assert");
5
+ const index_1 = require("./index");
6
+ describe('subtract-federal-reserve-bank-business-days', () => {
7
+ it('throws error when amount is NaN', () => {
8
+ node_assert_1.strict.throws(() => (0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2022, month: 10, date: 13 }, Number.NaN), TypeError);
9
+ });
10
+ it('works for 0 business days for the whole week', () => {
11
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2022, month: 10, date: 13 }, 0), {
12
+ year: 2022,
13
+ month: 10,
14
+ date: 13,
15
+ });
16
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2022, month: 10, date: 14 }, 0), {
17
+ year: 2022,
18
+ month: 10,
19
+ date: 14,
20
+ });
21
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2022, month: 10, date: 15 }, 0), {
22
+ year: 2022,
23
+ month: 10,
24
+ date: 15,
25
+ });
26
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2022, month: 10, date: 16 }, 0), {
27
+ year: 2022,
28
+ month: 10,
29
+ date: 16,
30
+ });
31
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2022, month: 10, date: 17 }, 0), {
32
+ year: 2022,
33
+ month: 10,
34
+ date: 17,
35
+ });
36
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2022, month: 10, date: 18 }, 0), {
37
+ year: 2022,
38
+ month: 10,
39
+ date: 18,
40
+ });
41
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2022, month: 10, date: 19 }, 0), {
42
+ year: 2022,
43
+ month: 10,
44
+ date: 19,
45
+ });
46
+ });
47
+ it('works for 1 business day with Christmas Day and New Years observed on a Monday', () => {
48
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2022, month: 11, date: 25 }, -1), {
49
+ year: 2022,
50
+ month: 11,
51
+ date: 23,
52
+ });
53
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2022, month: 11, date: 26 }, -1), {
54
+ year: 2022,
55
+ month: 11,
56
+ date: 23,
57
+ });
58
+ // Since 2022-12-26 is a Federal Reserve Holiday (observed) celebrating Christmas Day
59
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2022, month: 11, date: 27 }, -1), {
60
+ year: 2022,
61
+ month: 11,
62
+ date: 23,
63
+ });
64
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2022, month: 11, date: 28 }, -1), {
65
+ year: 2022,
66
+ month: 11,
67
+ date: 27,
68
+ });
69
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2022, month: 11, date: 29 }, -1), {
70
+ year: 2022,
71
+ month: 11,
72
+ date: 28,
73
+ });
74
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2022, month: 11, date: 30 }, -1), {
75
+ year: 2022,
76
+ month: 11,
77
+ date: 29,
78
+ });
79
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2022, month: 11, date: 31 }, -1), {
80
+ year: 2022,
81
+ month: 11,
82
+ date: 30,
83
+ });
84
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2023, month: 0, date: 1 }, -1), {
85
+ year: 2022,
86
+ month: 11,
87
+ date: 30,
88
+ });
89
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2023, month: 0, date: 2 }, -1), {
90
+ year: 2022,
91
+ month: 11,
92
+ date: 30,
93
+ });
94
+ // Since 2023-01-02 is a Federal Reserve Holiday (observed) celebrating New Year's Day
95
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2023, month: 0, date: 3 }, -1), {
96
+ year: 2022,
97
+ month: 11,
98
+ date: 30,
99
+ });
100
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2023, month: 0, date: 4 }, -1), {
101
+ year: 2023,
102
+ month: 0,
103
+ date: 3,
104
+ });
105
+ });
106
+ it('works for 2 business days for the whole week with no federal holidays in between', () => {
107
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2022, month: 11, date: 11 }, -2), {
108
+ year: 2022,
109
+ month: 11,
110
+ date: 8,
111
+ });
112
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2022, month: 11, date: 12 }, -2), {
113
+ year: 2022,
114
+ month: 11,
115
+ date: 8,
116
+ });
117
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2022, month: 11, date: 13 }, -2), {
118
+ year: 2022,
119
+ month: 11,
120
+ date: 9,
121
+ });
122
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2022, month: 11, date: 14 }, -2), {
123
+ year: 2022,
124
+ month: 11,
125
+ date: 12,
126
+ });
127
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2022, month: 11, date: 15 }, -2), {
128
+ year: 2022,
129
+ month: 11,
130
+ date: 13,
131
+ });
132
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2022, month: 11, date: 16 }, -2), {
133
+ year: 2022,
134
+ month: 11,
135
+ date: 14,
136
+ });
137
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2022, month: 11, date: 17 }, -2), {
138
+ year: 2022,
139
+ month: 11,
140
+ date: 15,
141
+ });
142
+ });
143
+ it('works for 2 business days for the whole week with a federal holiday(Thanksgiving Day) in between', () => {
144
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2022, month: 10, date: 20 }, -2), {
145
+ year: 2022,
146
+ month: 10,
147
+ date: 17,
148
+ });
149
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2022, month: 10, date: 21 }, -2), {
150
+ year: 2022,
151
+ month: 10,
152
+ date: 17,
153
+ });
154
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2022, month: 10, date: 22 }, -2), {
155
+ year: 2022,
156
+ month: 10,
157
+ date: 18,
158
+ });
159
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2022, month: 10, date: 23 }, -2), {
160
+ year: 2022,
161
+ month: 10,
162
+ date: 21,
163
+ });
164
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2022, month: 10, date: 24 }, -2), {
165
+ year: 2022,
166
+ month: 10,
167
+ date: 22,
168
+ });
169
+ // Since 2022-11-24 is a Federal Reserve Holiday (observed) celebrating Thanksgiving Day
170
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2022, month: 10, date: 25 }, -2), {
171
+ year: 2022,
172
+ month: 10,
173
+ date: 22,
174
+ });
175
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2022, month: 10, date: 26 }, -2), {
176
+ year: 2022,
177
+ month: 10,
178
+ date: 23,
179
+ });
180
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2022, month: 10, date: 27 }, -2), {
181
+ year: 2022,
182
+ month: 10,
183
+ date: 23,
184
+ });
185
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2022, month: 10, date: 28 }, -2), {
186
+ year: 2022,
187
+ month: 10,
188
+ date: 23,
189
+ });
190
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2022, month: 10, date: 29 }, -2), {
191
+ year: 2022,
192
+ month: 10,
193
+ date: 25,
194
+ });
195
+ });
196
+ it('works for 2 business days when the daylight savings time begins in 2023', () => {
197
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2023, month: 2, date: 10 }, -2), {
198
+ year: 2023,
199
+ month: 2,
200
+ date: 8,
201
+ });
202
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2023, month: 2, date: 11 }, -2), {
203
+ year: 2023,
204
+ month: 2,
205
+ date: 9,
206
+ });
207
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2023, month: 2, date: 12 }, -2), {
208
+ year: 2023,
209
+ month: 2,
210
+ date: 9,
211
+ });
212
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2023, month: 2, date: 13 }, -2), {
213
+ year: 2023,
214
+ month: 2,
215
+ date: 9,
216
+ });
217
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2023, month: 2, date: 14 }, -2), {
218
+ year: 2023,
219
+ month: 2,
220
+ date: 10,
221
+ });
222
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2023, month: 2, date: 15 }, -2), {
223
+ year: 2023,
224
+ month: 2,
225
+ date: 13,
226
+ });
227
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2023, month: 2, date: 16 }, -2), {
228
+ year: 2023,
229
+ month: 2,
230
+ date: 14,
231
+ });
232
+ });
233
+ it('works for 3 business days when the daylight savings time ends in 2023', () => {
234
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2023, month: 10, date: 1 }, -3), {
235
+ year: 2023,
236
+ month: 9,
237
+ date: 27,
238
+ });
239
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2023, month: 10, date: 2 }, -3), {
240
+ year: 2023,
241
+ month: 9,
242
+ date: 30,
243
+ });
244
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2023, month: 10, date: 3 }, -3), {
245
+ year: 2023,
246
+ month: 9,
247
+ date: 31,
248
+ });
249
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2023, month: 10, date: 4 }, -3), {
250
+ year: 2023,
251
+ month: 10,
252
+ date: 1,
253
+ });
254
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2023, month: 10, date: 5 }, -3), {
255
+ year: 2023,
256
+ month: 10,
257
+ date: 1,
258
+ });
259
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2023, month: 10, date: 6 }, -3), {
260
+ year: 2023,
261
+ month: 10,
262
+ date: 1,
263
+ });
264
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2023, month: 10, date: 7 }, -3), {
265
+ year: 2023,
266
+ month: 10,
267
+ date: 2,
268
+ });
269
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2023, month: 10, date: 8 }, -3), {
270
+ year: 2023,
271
+ month: 10,
272
+ date: 3,
273
+ });
274
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2023, month: 10, date: 9 }, -3), {
275
+ year: 2023,
276
+ month: 10,
277
+ date: 6,
278
+ });
279
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2023, month: 10, date: 10 }, -3), {
280
+ year: 2023,
281
+ month: 10,
282
+ date: 7,
283
+ });
284
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2023, month: 10, date: 11 }, -3), {
285
+ year: 2023,
286
+ month: 10,
287
+ date: 8,
288
+ });
289
+ });
290
+ it('works for 3 business days with Christmas Day and New Years observed on a Monday', () => {
291
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2022, month: 11, date: 25 }, -3), {
292
+ year: 2022,
293
+ month: 11,
294
+ date: 21,
295
+ });
296
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2022, month: 11, date: 26 }, -3), {
297
+ year: 2022,
298
+ month: 11,
299
+ date: 21,
300
+ });
301
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2022, month: 11, date: 27 }, -3), {
302
+ year: 2022,
303
+ month: 11,
304
+ date: 21,
305
+ });
306
+ // Since 2022-12-26 is a Federal Reserve Holiday (observed) celebrating Christmas Day
307
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2022, month: 11, date: 28 }, -3), {
308
+ year: 2022,
309
+ month: 11,
310
+ date: 22,
311
+ });
312
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2022, month: 11, date: 29 }, -3), {
313
+ year: 2022,
314
+ month: 11,
315
+ date: 23,
316
+ });
317
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2022, month: 11, date: 30 }, -3), {
318
+ year: 2022,
319
+ month: 11,
320
+ date: 27,
321
+ });
322
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2022, month: 11, date: 31 }, -3), {
323
+ year: 2022,
324
+ month: 11,
325
+ date: 28,
326
+ });
327
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2023, month: 0, date: 1 }, -3), {
328
+ year: 2022,
329
+ month: 11,
330
+ date: 28,
331
+ });
332
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2023, month: 0, date: 2 }, -3), {
333
+ year: 2022,
334
+ month: 11,
335
+ date: 28,
336
+ });
337
+ // Since 2023-01-02 is a Federal Reserve Holiday (observed) celebrating New Year's Day
338
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2023, month: 0, date: 3 }, -3), {
339
+ year: 2022,
340
+ month: 11,
341
+ date: 28,
342
+ });
343
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2023, month: 0, date: 4 }, -3), {
344
+ year: 2022,
345
+ month: 11,
346
+ date: 29,
347
+ });
348
+ });
349
+ it('works for 3 business days in a leap year', () => {
350
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2024, month: 1, date: 26 }, -3), {
351
+ year: 2024,
352
+ month: 1,
353
+ date: 21,
354
+ });
355
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2024, month: 1, date: 27 }, -3), {
356
+ year: 2024,
357
+ month: 1,
358
+ date: 22,
359
+ });
360
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2024, month: 1, date: 28 }, -3), {
361
+ year: 2024,
362
+ month: 1,
363
+ date: 23,
364
+ });
365
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2024, month: 1, date: 29 }, -3), {
366
+ year: 2024,
367
+ month: 1,
368
+ date: 26,
369
+ });
370
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2024, month: 2, date: 1 }, -3), {
371
+ year: 2024,
372
+ month: 1,
373
+ date: 27,
374
+ });
375
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2024, month: 2, date: 2 }, -3), {
376
+ year: 2024,
377
+ month: 1,
378
+ date: 28,
379
+ });
380
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2024, month: 2, date: 3 }, -3), {
381
+ year: 2024,
382
+ month: 1,
383
+ date: 28,
384
+ });
385
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2024, month: 2, date: 4 }, -3), {
386
+ year: 2024,
387
+ month: 1,
388
+ date: 28,
389
+ });
390
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2024, month: 2, date: 5 }, -3), {
391
+ year: 2024,
392
+ month: 1,
393
+ date: 29,
394
+ });
395
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2024, month: 2, date: 6 }, -3), {
396
+ year: 2024,
397
+ month: 2,
398
+ date: 1,
399
+ });
400
+ });
401
+ it('works for 3 business days in a leap year when February 29th is a Sunday', () => {
402
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2032, month: 1, date: 26 }, -3), {
403
+ year: 2032,
404
+ month: 1,
405
+ date: 23,
406
+ });
407
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2032, month: 1, date: 27 }, -3), {
408
+ year: 2032,
409
+ month: 1,
410
+ date: 24,
411
+ });
412
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2032, month: 1, date: 28 }, -3), {
413
+ year: 2032,
414
+ month: 1,
415
+ date: 25,
416
+ });
417
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2032, month: 1, date: 29 }, -3), {
418
+ year: 2032,
419
+ month: 1,
420
+ date: 25,
421
+ });
422
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2032, month: 2, date: 1 }, -3), {
423
+ year: 2032,
424
+ month: 1,
425
+ date: 25,
426
+ });
427
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2032, month: 2, date: 2 }, -3), {
428
+ year: 2032,
429
+ month: 1,
430
+ date: 26,
431
+ });
432
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2032, month: 2, date: 3 }, -3), {
433
+ year: 2032,
434
+ month: 1,
435
+ date: 27,
436
+ });
437
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2032, month: 2, date: 4 }, -3), {
438
+ year: 2032,
439
+ month: 2,
440
+ date: 1,
441
+ });
442
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2032, month: 2, date: 5 }, -3), {
443
+ year: 2032,
444
+ month: 2,
445
+ date: 2,
446
+ });
447
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2032, month: 2, date: 6 }, -3), {
448
+ year: 2032,
449
+ month: 2,
450
+ date: 3,
451
+ });
452
+ });
453
+ it('works for 20 business days every hour with three federal holidays in between', () => {
454
+ // We have 4 Saturdays, 4 Sundays and 3 Federal Reserve Bank holidays (2 observed on a Monday and
455
+ // 1 celebrated on a Monday)
456
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2023, month: 0, date: 23 }, -20), {
457
+ year: 2022,
458
+ month: 11,
459
+ date: 21,
460
+ });
461
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2023, month: 0, date: 24 }, -20), {
462
+ year: 2022,
463
+ month: 11,
464
+ date: 22,
465
+ });
466
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2023, month: 0, date: 25 }, -20), {
467
+ year: 2022,
468
+ month: 11,
469
+ date: 23,
470
+ });
471
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2023, month: 0, date: 26 }, -20), {
472
+ year: 2022,
473
+ month: 11,
474
+ date: 27,
475
+ });
476
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2023, month: 0, date: 27 }, -20), {
477
+ year: 2022,
478
+ month: 11,
479
+ date: 28,
480
+ });
481
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2023, month: 0, date: 28 }, -20), {
482
+ year: 2022,
483
+ month: 11,
484
+ date: 29,
485
+ });
486
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2023, month: 0, date: 29 }, -20), {
487
+ year: 2022,
488
+ month: 11,
489
+ date: 29,
490
+ });
491
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2023, month: 0, date: 30 }, -20), {
492
+ year: 2022,
493
+ month: 11,
494
+ date: 29,
495
+ });
496
+ node_assert_1.strict.deepEqual((0, index_1.addUSFederalReserveBankBusinessDays)({ year: 2023, month: 0, date: 31 }, -20), {
497
+ year: 2022,
498
+ month: 11,
499
+ date: 30,
500
+ });
501
+ });
502
+ });
503
+ //# sourceMappingURL=subtract-us-federal-reserve-bank-business-days.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subtract-us-federal-reserve-bank-business-days.spec.js","sourceRoot":"","sources":["../../../../src/holidays/united-states/federal-reserve-bank/subtract-us-federal-reserve-bank-business-days.spec.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -2,4 +2,5 @@ export * as Temporal from './temporal';
2
2
  export * from './date-fns';
3
3
  export * from './date-fns-tz';
4
4
  export { default as formatUtc } from './format-utc';
5
+ export * from './holidays';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AAGvC,cAAc,YAAY,CAAC;AAG3B,cAAc,eAAe,CAAC;AAG9B,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AAGvC,cAAc,YAAY,CAAC;AAG3B,cAAc,eAAe,CAAC;AAG9B,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,cAAc,CAAC;AAGpD,cAAc,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -39,4 +39,6 @@ __exportStar(require("./date-fns-tz"), exports);
39
39
  // export local date-fns-tz helper functions
40
40
  var format_utc_1 = require("./format-utc");
41
41
  Object.defineProperty(exports, "formatUtc", { enumerable: true, get: function () { return __importDefault(format_utc_1).default; } });
42
+ // export all holidays functions
43
+ __exportStar(require("./holidays"), exports);
42
44
  //# 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,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEX,uDAAuC;AAEvC,gCAAgC;AAChC,6CAA2B;AAE3B,mCAAmC;AACnC,gDAA8B;AAE9B,4CAA4C;AAC5C,2CAAoD;AAA3C,wHAAA,OAAO,OAAa"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEX,uDAAuC;AAEvC,gCAAgC;AAChC,6CAA2B;AAE3B,mCAAmC;AACnC,gDAA8B;AAE9B,4CAA4C;AAC5C,2CAAoD;AAA3C,wHAAA,OAAO,OAAa;AAE7B,gCAAgC;AAChC,6CAA2B"}
package/package.json CHANGED
@@ -1 +1 @@
1
- {"name":"@checkdigit/time","version":"1.0.0-PR.11-7a3c","description":"Standard time handling","typings":"./dist/index.d.ts","main":"./dist/index.js","prettier":"@checkdigit/prettier-config","engines":{"node":">=16"},"repository":{"type":"git","url":"git+https://github.com/checkdigit/time.git"},"author":"Check Digit, LLC","license":"MIT","bugs":{"url":"https://github.com/checkdigit/time/issues"},"homepage":"https://github.com/checkdigit/time#readme","files":["dist","/src/"],"devDependencies":{"@checkdigit/eslint-config":"7.4.0","@checkdigit/jest-config":"^2.1.0","@checkdigit/prettier-config":"^3.1.0","@checkdigit/typescript-config":"^3.2.0","@js-temporal/polyfill":"^0.4.3","rimraf":"^3.0.2","ts-node":"^10.9.1"},"scripts":{"postversion":"git push && git push --tags","lint":"eslint -f unix 'src/**/*.ts'","lint:fix":"eslint -f unix 'src/**/*.ts' --fix","prettier":"prettier --ignore-path .gitignore --list-different .","prettier:fix":"prettier --ignore-path .gitignore --write .","test":"npm run ci:compile && npm run ci:test && npm run ci:lint && npm run ci:style","ci:compile":"tsc --noEmit","ci:test":"jest --coverage=false","ci:coverage":"jest --coverage=true","ci:lint":"npm run lint","ci:style":"npm run prettier"},"jest":{"preset":"@checkdigit/jest-config"},"eslintConfig":{"extends":["@checkdigit/eslint-config"],"ignorePatterns":["src/date-fns/**","src/date-fns-tz/**"]}}
1
+ {"name":"@checkdigit/time","version":"1.0.0-PR.11-5d82","description":"Standard time handling","typings":"./dist/index.d.ts","main":"./dist/index.js","prettier":"@checkdigit/prettier-config","engines":{"node":">=16"},"repository":{"type":"git","url":"git+https://github.com/checkdigit/time.git"},"author":"Check Digit, LLC","license":"MIT","bugs":{"url":"https://github.com/checkdigit/time/issues"},"homepage":"https://github.com/checkdigit/time#readme","files":["dist","/src/"],"devDependencies":{"@checkdigit/eslint-config":"7.4.0","@checkdigit/jest-config":"^2.1.0","@checkdigit/prettier-config":"^3.1.0","@checkdigit/typescript-config":"^3.2.0","@js-temporal/polyfill":"^0.4.3","rimraf":"^3.0.2","ts-node":"^10.9.1"},"scripts":{"postversion":"git push && git push --tags","lint":"eslint -f unix 'src/**/*.ts'","lint:fix":"eslint -f unix 'src/**/*.ts' --fix","prettier":"prettier --ignore-path .gitignore --list-different .","prettier:fix":"prettier --ignore-path .gitignore --write .","test":"npm run ci:compile && npm run ci:test && npm run ci:lint && npm run ci:style","ci:compile":"tsc --noEmit","ci:test":"jest --coverage=false","ci:coverage":"jest --coverage=true","ci:lint":"npm run lint","ci:style":"npm run prettier"},"jest":{"preset":"@checkdigit/jest-config"},"eslintConfig":{"extends":["@checkdigit/eslint-config"],"ignorePatterns":["src/date-fns/**","src/date-fns-tz/**"]}}
@@ -0,0 +1,3 @@
1
+ // holidays/index.ts
2
+
3
+ export * from './united-states/federal-reserve-bank';
@@ -0,0 +1,59 @@
1
+ // holidays/united-states/federal-reserve-bank/add-us-federal-reserve-bank-business-days.ts
2
+
3
+ import { isUSFederalReserveBankClosed, PlainDate } from './index';
4
+
5
+ /**
6
+ * @name addUSFederalReserveBankBusinessDays
7
+ * @summary Add or subtract the specified number of US Federal Reserve Bank business days to the given date.
8
+ *
9
+ * @description
10
+ * Add or subtract the specified number of US Federal Reserve Bank business days to the given date.
11
+ *
12
+ * @param plainDate - the date to be changed
13
+ * @param amount - the amount of business days to be added or subtracted. Positive amount will add the number of US
14
+ * Federal Reserve Bank business days and negative amount will subtract the number of US Federal Reserve Bank business days.
15
+ * @returns plainDate with the business days added/subtracted
16
+ */
17
+ export default function (plainDate: PlainDate, amount: number): PlainDate {
18
+ if (Number.isNaN(amount)) {
19
+ throw new TypeError('Invalid Amount');
20
+ }
21
+
22
+ const endDate = new Date(plainDate.year, plainDate.month, plainDate.date);
23
+ endDate.setUTCHours(0, 0, 0, 0);
24
+
25
+ let count = 0;
26
+ if (amount < 0) {
27
+ while (count < -amount) {
28
+ endDate.setUTCDate(endDate.getUTCDate() - 1);
29
+ if (
30
+ !isUSFederalReserveBankClosed({
31
+ year: endDate.getUTCFullYear(),
32
+ month: endDate.getUTCMonth(),
33
+ date: endDate.getUTCDate(),
34
+ })
35
+ ) {
36
+ count++;
37
+ }
38
+ }
39
+ } else {
40
+ while (count < amount) {
41
+ endDate.setUTCDate(endDate.getUTCDate() + 1);
42
+ if (
43
+ !isUSFederalReserveBankClosed({
44
+ year: endDate.getUTCFullYear(),
45
+ month: endDate.getUTCMonth(),
46
+ date: endDate.getUTCDate(),
47
+ })
48
+ ) {
49
+ count++;
50
+ }
51
+ }
52
+ }
53
+
54
+ return {
55
+ year: endDate.getUTCFullYear(),
56
+ month: endDate.getUTCMonth(),
57
+ date: endDate.getUTCDate(),
58
+ };
59
+ }