bizdays-toolkit 0.1.2 → 0.3.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/CHANGELOG.md +43 -1
- package/README.md +60 -2
- package/dist/core/calendar.d.ts +68 -37
- package/dist/core/calendar.js +119 -173
- package/dist/core/date.d.ts +24 -6
- package/dist/core/date.js +24 -10
- package/dist/core/errors.d.ts +78 -0
- package/dist/core/errors.js +61 -0
- package/dist/core/input.d.ts +29 -9
- package/dist/core/input.js +48 -20
- package/dist/core/schedule.d.ts +224 -0
- package/dist/core/schedule.js +426 -0
- package/dist/core/types.d.ts +11 -3
- package/dist/index.d.ts +10 -4
- package/dist/index.js +9 -3
- package/dist/jp/index.d.ts +45 -11
- package/dist/jp/index.js +39 -9
- package/dist/jp/rules.d.ts +17 -8
- package/dist/jp/rules.js +8 -7
- package/package.json +6 -4
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,46 @@
|
|
|
4
4
|
|
|
5
5
|
## [Unreleased]
|
|
6
6
|
|
|
7
|
+
## [0.3.0] - 2026-10-15
|
|
8
|
+
|
|
9
|
+
1.0.0 に向けて、将来の機能追加で利用者のコードが壊れにくい作りにしました。機能の追加はありません。
|
|
10
|
+
|
|
11
|
+
### Added
|
|
12
|
+
|
|
13
|
+
- 例外に `code` を付けた(`invalid-date`・`invalid-range`・`no-business-day` など)。例外は従来どおり `RangeError`・`TypeError`・`Error` のインスタンス。`isBizdaysError()` で判定できる
|
|
14
|
+
- `KnownDayReason`・`KnownScheduleReason`・`KnownJapaneseHolidayKind`・`KnownErrorCode`: 既知の値だけの閉じた型(網羅を型で確かめたい場合に使う)
|
|
15
|
+
- 祝日の提供元(`HolidayProvider`)の形式を作る時点で、返したデータを年ごとに初めて使うときに検証する(誤りは `invalid-provider`・`invalid-provider-data`)
|
|
16
|
+
|
|
17
|
+
### Changed
|
|
18
|
+
|
|
19
|
+
- `DayReason`・`ScheduleReason`・`JapaneseHolidayKind` を「開いた型」にした(将来の版で値が増えても、利用者のコードがコンパイルエラーにならない)。値を列挙して分岐しているコードは「その他」の分岐が必要になる
|
|
20
|
+
- 設定の誤りのメッセージに、設定の中の位置(例: `closedDates[1].date`)を入れた
|
|
21
|
+
- 設定は作る時点で複製するようにした(作ったあとに元の配列を書き換えても、結果が変わらない)
|
|
22
|
+
- 提供元が返した祝日は、契約の項目だけを持つ変更できないオブジェクトにして返す
|
|
23
|
+
- 別の実行環境(iframe・`vm`)で作られた `Date` も受け付けるようにした
|
|
24
|
+
|
|
25
|
+
### Removed
|
|
26
|
+
|
|
27
|
+
- `vernalEquinoxDay`・`autumnalEquinoxDay`(`bizdays-toolkit/jp`): 祝日の計算の内部の手段のため非公開にした
|
|
28
|
+
- `nthWeekdayOfMonth`: 内部の関数のため非公開にした
|
|
29
|
+
|
|
30
|
+
### 開発
|
|
31
|
+
|
|
32
|
+
- 品質の確認を追加: タイムゾーン(`TZ`)を変えたテスト、性質のテスト、型のテスト、サイズの上限(`size-limits.json`)、公開 API のスナップショット(`etc/api.md`)
|
|
33
|
+
- 互換性の約束と安定度の表示(`@public`・`@beta`)を RELEASING.md に、設計上の決定を `docs/decisions.md` に記載
|
|
34
|
+
- `SECURITY.md` を追加(脆弱性の非公開の報告先)
|
|
35
|
+
|
|
36
|
+
## [0.2.0] - 2026-10-14
|
|
37
|
+
|
|
38
|
+
### Added
|
|
39
|
+
|
|
40
|
+
- `createSchedule()`: 曜日・祝日・毎年の月日・個別の日付の規則から、日ごとに任意の値(営業時間など)を返すスケジュール。祝日の値は `"weekday"`(曜日どおり)・`{ sameAs: 曜日 }`(その曜日の値)・`{ value }`(指定の値)から選べる。`valueOn`・`dayInfo`(値を決めた規則と祝日の情報付き)
|
|
41
|
+
- `civilOf()`(営業日カレンダー・スケジュール)、`toDateTimeParts()`、`toJapanDateTime()`(`bizdays-toolkit/jp`): 入力を、タイムゾーンでの暦日と時刻(`"HH:mm"`)に変換する
|
|
42
|
+
|
|
43
|
+
### Changed
|
|
44
|
+
|
|
45
|
+
- 営業日カレンダー(`createCalendar`)を、スケジュールの真偽値版として作り直した。判定の優先順位と結果は変わらない
|
|
46
|
+
|
|
7
47
|
## [0.1.2] - 2026-10-12
|
|
8
48
|
|
|
9
49
|
ライブラリのコードと祝日データに変更はありません。
|
|
@@ -39,7 +79,9 @@
|
|
|
39
79
|
|
|
40
80
|
- 日本: 2026 年 2 月の官報(2027 年の春分・秋分の日)まで反映(`dataVersion: "2026-02"`、`confirmedThrough: 2027`)
|
|
41
81
|
|
|
42
|
-
[Unreleased]: https://github.com/inohan77/bizdays-toolkit/compare/v0.
|
|
82
|
+
[Unreleased]: https://github.com/inohan77/bizdays-toolkit/compare/v0.3.0...HEAD
|
|
83
|
+
[0.3.0]: https://github.com/inohan77/bizdays-toolkit/compare/v0.2.0...v0.3.0
|
|
84
|
+
[0.2.0]: https://github.com/inohan77/bizdays-toolkit/compare/v0.1.2...v0.2.0
|
|
43
85
|
[0.1.2]: https://github.com/inohan77/bizdays-toolkit/compare/v0.1.1...v0.1.2
|
|
44
86
|
[0.1.1]: https://github.com/inohan77/bizdays-toolkit/compare/v0.1.0...v0.1.1
|
|
45
87
|
[0.1.0]: https://github.com/inohan77/bizdays-toolkit/releases/tag/v0.1.0
|
package/README.md
CHANGED
|
@@ -17,9 +17,10 @@
|
|
|
17
17
|
祝日と、会社・店舗の休業日を組み合わせた営業日カレンダーです。
|
|
18
18
|
|
|
19
19
|
- **日本の祝日を内閣府のデータで全日照合**: 1955 年〜官報公表済みの年まで、内閣府「国民の祝日」CSV のすべての日付と一致することをテストで確かめています(振替休日・国民の休日・皇室行事による休日・五輪特措法による移動を含む)
|
|
20
|
+
- **日ごとの値(営業時間など)**: 「火曜定休、祝日は日曜の営業時間、元日は休業、大晦日は短縮営業」のように、曜日・祝日・特定日で変わる値を同じ規則で引けます
|
|
20
21
|
- **営業日の計算**: 定休日の曜日・毎年の休業日(年末年始のような年をまたぐ期間も可)・臨時休業日・臨時営業日と祝日を組み合わせ、「N 営業日後」「締め時刻を過ぎたら翌営業日」などを計算します
|
|
21
22
|
- **タイムゾーンを間違えない**: `Date` などの瞬間は、カレンダーのタイムゾーン(日本は `Asia/Tokyo`)で暦日に変換してから判定します。UTC で動くサーバーでも、日本時間 0〜9 時が前日扱いになりません
|
|
22
|
-
- **軽量・依存ゼロ**: minify + gzip で約
|
|
23
|
+
- **軽量・依存ゼロ**: minify + gzip で約 5.5KB(日本の祝日込みで約 7KB)。ESM・型定義同梱・`sideEffects: false` で、Node.js・ブラウザー・Edge ランタイムで動作します
|
|
23
24
|
- **他の国・地域に拡張できる**: 祝日の提供元はインターフェース(`HolidayProvider`)で差し替えられます。現在は日本のみ同梱しています
|
|
24
25
|
|
|
25
26
|
[English](#english)
|
|
@@ -87,6 +88,43 @@ shipping.dayInfo("2027-01-01");
|
|
|
87
88
|
5. `closedWeekdays`(定休日の曜日)
|
|
88
89
|
6. それ以外は営業日
|
|
89
90
|
|
|
91
|
+
### 日ごとの値(営業時間など)
|
|
92
|
+
|
|
93
|
+
`createSchedule` は、曜日・祝日・特定日の規則から、日ごとに任意の値を返します。値の型は自由なので、営業時間のほか、受付枠や配送料の区分などにも使えます。
|
|
94
|
+
|
|
95
|
+
```ts
|
|
96
|
+
import { createSchedule } from "bizdays-toolkit";
|
|
97
|
+
import { jp } from "bizdays-toolkit/jp";
|
|
98
|
+
|
|
99
|
+
type Hours = { open: string; close: string } | null; // null は休業
|
|
100
|
+
const weekday = { open: "10:00", close: "21:00" };
|
|
101
|
+
const sunday = { open: "10:00", close: "19:00" };
|
|
102
|
+
|
|
103
|
+
const storeHours = createSchedule<Hours>({
|
|
104
|
+
holidays: jp,
|
|
105
|
+
weekly: [sunday, weekday, null, weekday, weekday, weekday, weekday], // [日, 月, …, 土]。火曜定休
|
|
106
|
+
holiday: { sameAs: 0 }, // 祝日は日曜の値("weekday": 曜日どおり / { value: … }: 指定の値)
|
|
107
|
+
annual: [{ date: "01-01", value: null, name: "元日休業" }], // 毎年の月日(期間も可)
|
|
108
|
+
dates: [{ date: "2026-12-31", value: { open: "10:00", close: "17:00" }, name: "大晦日" }],
|
|
109
|
+
});
|
|
110
|
+
|
|
111
|
+
storeHours.valueOn("2026-11-03"); // { open: "10:00", close: "19:00" }(文化の日は日曜の営業時間)
|
|
112
|
+
storeHours.dayInfo("2027-01-01");
|
|
113
|
+
// { date: "2027-01-01", weekday: 5, value: null, reason: "annual", name: "元日休業", holiday: {…} }
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
値は `dates`(個別の日付・期間)→ `annual`(毎年の月日・期間)→ 祝日 → `weekly`(曜日)の順に決まります。同じ種類の規則が重なる場合は、配列で先に書いたものが優先です。
|
|
117
|
+
|
|
118
|
+
「今、営業時間内か」のような時刻の範囲の判定は、業種ごとの決まり(深夜をまたぐ営業、休憩時間など)があるためライブラリでは行いません。`civilOf` でタイムゾーンでの暦日と時刻を取り出せば、アプリ側で簡単に書けます。
|
|
119
|
+
|
|
120
|
+
```ts
|
|
121
|
+
const { date, time } = storeHours.civilOf(new Date()); // { date: "2026-10-14", time: "16:30" }(日本時間)
|
|
122
|
+
const hours = storeHours.valueOn(date);
|
|
123
|
+
const isOpen = hours !== null && time !== null && hours.open <= time && time < hours.close;
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
`civilOf` は営業日カレンダーにもあり、`bizdays-toolkit/jp` の `toJapanDateTime`、ルートの `toDateTimeParts(input, timeZone)` でも同じ変換ができます。
|
|
127
|
+
|
|
90
128
|
### 日付・日時の入力
|
|
91
129
|
|
|
92
130
|
すべてのメソッドは次の入力を受け付けます。戻り値の日付は常に `"YYYY-MM-DD"` 文字列です。
|
|
@@ -131,6 +169,24 @@ const calendar = createCalendar({ holidays: myCountry, closedWeekdays: [0, 6] })
|
|
|
131
169
|
|
|
132
170
|
祝日の提供元の対応年(日本は 1955〜2099 年)を外れた日付を判定すると `RangeError` になります。祝日がない日として扱いたい場合は `outOfRange: "ignore"` を指定してください。
|
|
133
171
|
|
|
172
|
+
### エラー
|
|
173
|
+
|
|
174
|
+
設定や入力の誤りは、従来どおり `RangeError`・`TypeError` などの例外になり、`code` を持ちます。メッセージの文言は変わることがあるので、判定には `code` を使ってください。
|
|
175
|
+
|
|
176
|
+
```ts
|
|
177
|
+
import { createCalendar, isBizdaysError } from "bizdays-toolkit";
|
|
178
|
+
|
|
179
|
+
try {
|
|
180
|
+
createCalendar({ closedDates: ["2026-12-32"] });
|
|
181
|
+
} catch (error) {
|
|
182
|
+
if (isBizdaysError(error) && error.code === "invalid-date") {
|
|
183
|
+
// 日付の誤り(メッセージには設定の中の位置 "closedDates[0].date" が入る)
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
主なコード: `invalid-date`・`invalid-month-day`・`invalid-time`・`invalid-range`・`invalid-weekday`・`invalid-time-zone`・`invalid-option`・`out-of-range`・`invalid-provider`・`invalid-provider-data`・`no-business-day`。将来の版でコードが増えることがあります。
|
|
189
|
+
|
|
134
190
|
## バージョン番号とデータの更新
|
|
135
191
|
|
|
136
192
|
[Semantic Versioning](https://semver.org/lang/ja/) に従います。詳しくは [RELEASING.md](./RELEASING.md) を参照してください。
|
|
@@ -139,6 +195,7 @@ const calendar = createCalendar({ holidays: myCountry, closedWeekdays: [0, 6] })
|
|
|
139
195
|
- 祝日の判定結果を固定したい場合は、版を完全一致で指定してください(例: `"bizdays-toolkit": "0.1.0"`)
|
|
140
196
|
- 反映済みのデータは `dataVersion`(日本は反映済みの官報の年月)と `confirmedThrough` で確認できます
|
|
141
197
|
- 1.0.0 までは、マイナー版で破壊的変更を行うことがあります
|
|
198
|
+
- 判定の理由(`reason`)・祝日の種別(`kind`)・エラーコードは、将来の版で値が増えることがあります。値を列挙して分岐するときは「その他」も扱ってください([RELEASING.md](./RELEASING.md) の「互換性の約束」)
|
|
142
199
|
|
|
143
200
|
## 出典
|
|
144
201
|
|
|
@@ -155,9 +212,10 @@ MIT
|
|
|
155
212
|
A business-day calendar that combines public holidays with company or store closures.
|
|
156
213
|
|
|
157
214
|
- **Japanese holidays verified day by day** against the Cabinet Office CSV, from 1955 through the latest year officially announced (substitute holidays, citizens' holidays, imperial ceremonies, and the Olympic moves included)
|
|
215
|
+
- **Day-by-day schedules**: `createSchedule` returns any value per day (e.g. store hours) from weekly values, a holiday rule (`"weekday"`, `{ sameAs: 0 }`, or `{ value }`), annual dates and specific dates
|
|
158
216
|
- **Business-day arithmetic**: closed weekdays, annual closures (including ranges across the new year), specific closed/open dates, holiday policy, `addBusinessDays`, cut-off times, and more
|
|
159
217
|
- **Time-zone safe**: instants (`Date`, ISO strings with offsets, Temporal) are converted to a civil date in the calendar's time zone before evaluation
|
|
160
|
-
- **Lightweight, zero dependencies**: about
|
|
218
|
+
- **Lightweight, zero dependencies**: about 5.5 KB min+gzip (about 7 KB with Japanese holidays), ESM, bundled types, `sideEffects: false`
|
|
161
219
|
- **Extensible** through the `HolidayProvider` interface (only Japan is bundled for now)
|
|
162
220
|
|
|
163
221
|
```ts
|
package/dist/core/calendar.d.ts
CHANGED
|
@@ -8,42 +8,58 @@
|
|
|
8
8
|
* 4. 祝日 … holidayPolicy に従う(closed: 休業 / open: 営業 / ignore: 判定に使わない)
|
|
9
9
|
* 5. closedWeekdays … 定休日の曜日
|
|
10
10
|
* 6. それ以外は営業日
|
|
11
|
+
*
|
|
12
|
+
* 内部では、営業日かどうか(真偽値)を返すスケジュール(createSchedule)として作っている。
|
|
11
13
|
*/
|
|
12
14
|
import { type DateString, type Weekday } from "./date.ts";
|
|
15
|
+
import { IssueCollector } from "./errors.ts";
|
|
13
16
|
import { type DateInput } from "./input.ts";
|
|
14
|
-
import type
|
|
15
|
-
|
|
17
|
+
import { type CompiledSchedule, type HolidayLookup, type HolidaySourceOptions } from "./schedule.ts";
|
|
18
|
+
import type { Holiday } from "./types.ts";
|
|
19
|
+
/**
|
|
20
|
+
* 祝日の扱い。
|
|
21
|
+
* @public
|
|
22
|
+
*/
|
|
16
23
|
export type HolidayPolicy = "closed" | "open" | "ignore";
|
|
17
|
-
/**
|
|
24
|
+
/**
|
|
25
|
+
* 毎年の月日 "MM-DD"(名前付きも可)。
|
|
26
|
+
* @public
|
|
27
|
+
*/
|
|
18
28
|
export type AnnualDate = string | {
|
|
19
29
|
readonly date: string;
|
|
20
30
|
readonly name?: string;
|
|
21
31
|
};
|
|
22
|
-
/**
|
|
32
|
+
/**
|
|
33
|
+
* 毎年の月日の期間(from > to なら年をまたぐ。例: 12-31 〜 01-03)。
|
|
34
|
+
* @public
|
|
35
|
+
*/
|
|
23
36
|
export interface AnnualRange {
|
|
24
37
|
readonly from: string;
|
|
25
38
|
readonly to: string;
|
|
26
39
|
readonly name?: string;
|
|
27
40
|
}
|
|
28
|
-
/**
|
|
41
|
+
/**
|
|
42
|
+
* 個別の日付 "YYYY-MM-DD"(名前付きも可)。
|
|
43
|
+
* @public
|
|
44
|
+
*/
|
|
29
45
|
export type SpecificDate = DateString | {
|
|
30
46
|
readonly date: DateString;
|
|
31
47
|
readonly name?: string;
|
|
32
48
|
};
|
|
33
|
-
/**
|
|
49
|
+
/**
|
|
50
|
+
* 個別の日付の期間(両端を含む)。
|
|
51
|
+
* @public
|
|
52
|
+
*/
|
|
34
53
|
export interface DateRange {
|
|
35
54
|
readonly from: DateString;
|
|
36
55
|
readonly to: DateString;
|
|
37
56
|
readonly name?: string;
|
|
38
57
|
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
* 省略時は祝日の提供元のタイムゾーン、提供元もなければ "UTC"
|
|
45
|
-
*/
|
|
46
|
-
readonly timeZone?: string;
|
|
58
|
+
/**
|
|
59
|
+
* 営業日カレンダーの設定。
|
|
60
|
+
* @public
|
|
61
|
+
*/
|
|
62
|
+
export interface CalendarOptions<Kind extends string = string> extends HolidaySourceOptions<Kind> {
|
|
47
63
|
/** 定休日の曜日(0 = 日曜日) */
|
|
48
64
|
readonly closedWeekdays?: readonly Weekday[];
|
|
49
65
|
/** 毎年の休業日 */
|
|
@@ -54,14 +70,24 @@ export interface CalendarOptions<Kind extends string = string> {
|
|
|
54
70
|
readonly openDates?: readonly (SpecificDate | DateRange)[];
|
|
55
71
|
/** 祝日の扱い(既定: "closed") */
|
|
56
72
|
readonly holidayPolicy?: HolidayPolicy;
|
|
57
|
-
/** 祝日の提供元の対応年を外れた日付の扱い(既定: "throw") */
|
|
58
|
-
readonly outOfRange?: "throw" | "ignore";
|
|
59
73
|
/** 営業日を探すときに調べる最大日数(既定: 3660)。超えたら Error */
|
|
60
74
|
readonly maxSearchDays?: number;
|
|
61
75
|
}
|
|
62
|
-
/**
|
|
63
|
-
|
|
64
|
-
|
|
76
|
+
/**
|
|
77
|
+
* 営業・休業を決めた規則(既知の値)。
|
|
78
|
+
* @public
|
|
79
|
+
*/
|
|
80
|
+
export type KnownDayReason = "open-date" | "closed-date" | "closed-annual" | "holiday" | "closed-weekday" | "regular";
|
|
81
|
+
/**
|
|
82
|
+
* 営業・休業を決めた規則。将来の版で値が増えることがあるので、分岐では「その他」も扱うこと。
|
|
83
|
+
* すべての値を網羅したことを型で確かめたい場合は KnownDayReason を使う。
|
|
84
|
+
* @public
|
|
85
|
+
*/
|
|
86
|
+
export type DayReason = KnownDayReason | (string & {});
|
|
87
|
+
/**
|
|
88
|
+
* 1 日分の判定結果。
|
|
89
|
+
* @public
|
|
90
|
+
*/
|
|
65
91
|
export interface DayInfo<Kind extends string = string> {
|
|
66
92
|
readonly date: DateString;
|
|
67
93
|
readonly weekday: Weekday;
|
|
@@ -73,6 +99,10 @@ export interface DayInfo<Kind extends string = string> {
|
|
|
73
99
|
/** その日が祝日なら祝日(holidayPolicy に関係なく付く) */
|
|
74
100
|
readonly holiday?: Holiday<Kind>;
|
|
75
101
|
}
|
|
102
|
+
/**
|
|
103
|
+
* 営業日を探すときのオプション。
|
|
104
|
+
* @public
|
|
105
|
+
*/
|
|
76
106
|
export interface BusinessDayOptions {
|
|
77
107
|
/**
|
|
78
108
|
* 締め時刻 "HH:mm"(カレンダーのタイムゾーン)。
|
|
@@ -80,23 +110,11 @@ export interface BusinessDayOptions {
|
|
|
80
110
|
*/
|
|
81
111
|
readonly cutoff?: string;
|
|
82
112
|
}
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
/** 入力をカレンダーのタイムゾーンでの暦日に変換する */
|
|
89
|
-
dateOf(input: DateInput): DateString;
|
|
90
|
-
/** 今日の日付(カレンダーのタイムゾーン) */
|
|
91
|
-
today(now?: Date): DateString;
|
|
92
|
-
/** 祝日か */
|
|
93
|
-
isHoliday(input: DateInput): boolean;
|
|
94
|
-
/** 祝日なら祝日を返す */
|
|
95
|
-
getHoliday(input: DateInput): Holiday<Kind> | undefined;
|
|
96
|
-
/** その年の祝日 */
|
|
97
|
-
holidaysInYear(year: number): readonly Holiday<Kind>[];
|
|
98
|
-
/** 期間内の祝日(両端を含む) */
|
|
99
|
-
holidaysBetween(from: DateInput, to: DateInput): readonly Holiday<Kind>[];
|
|
113
|
+
/**
|
|
114
|
+
* 営業日カレンダー。
|
|
115
|
+
* @public
|
|
116
|
+
*/
|
|
117
|
+
export interface Calendar<Kind extends string = string> extends HolidayLookup<Kind> {
|
|
100
118
|
/** 1 日分の判定結果(営業日か・理由・祝日) */
|
|
101
119
|
dayInfo(input: DateInput): DayInfo<Kind>;
|
|
102
120
|
/** 営業日か */
|
|
@@ -119,5 +137,18 @@ export interface Calendar<Kind extends string = string> {
|
|
|
119
137
|
/** 期間内の営業日(両端を含む) */
|
|
120
138
|
listBusinessDays(from: DateInput, to: DateInput): readonly DateString[];
|
|
121
139
|
}
|
|
122
|
-
|
|
140
|
+
interface CompiledCalendar<Kind extends string> {
|
|
141
|
+
readonly schedule: CompiledSchedule<boolean, Kind>;
|
|
142
|
+
readonly maxSearchDays: number;
|
|
143
|
+
}
|
|
144
|
+
/** @internal 営業日カレンダーの設定を検証して取り込む(誤りは c に集める) */
|
|
145
|
+
export declare function compileCalendarOptions<Kind extends string>(c: IssueCollector, options: unknown): CompiledCalendar<Kind> | undefined;
|
|
146
|
+
/**
|
|
147
|
+
* 祝日と休業日の規則から営業日カレンダーを作る。
|
|
148
|
+
*
|
|
149
|
+
* 設定は作る時点で取り込まれるので、あとから元の配列を書き換えても結果は変わらない。
|
|
150
|
+
* 設定の誤りは code 付きの RangeError になる。
|
|
151
|
+
* @public
|
|
152
|
+
*/
|
|
123
153
|
export declare function createCalendar<Kind extends string = string>(options?: CalendarOptions<Kind>): Calendar<Kind>;
|
|
154
|
+
export {};
|