@qingwu-ui/holiday-data 0.0.0-stage → 1.1.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.
@@ -0,0 +1,63 @@
1
+ //#region src/schema.d.ts
2
+ /** 数据协议独立于运行时与农历算法;calendar/core 构建时内联本文件。 */
3
+ interface DataSource {
4
+ title: string;
5
+ publisher: string;
6
+ url: string;
7
+ accessedAt: string;
8
+ }
9
+ interface HolidayDay {
10
+ date: string;
11
+ name: string;
12
+ isOffDay: boolean;
13
+ }
14
+ interface HolidayYear {
15
+ schemaVersion: 1;
16
+ year: number;
17
+ updatedAt: string;
18
+ sources: DataSource[];
19
+ days: HolidayDay[];
20
+ /** 非空时表示仅部分收录;未列出的日期不能据此认定为工作日。 */
21
+ missingHolidays?: string[];
22
+ }
23
+ interface SourcedText {
24
+ text: string;
25
+ sources: DataSource[];
26
+ }
27
+ interface FestivalRecord {
28
+ id: string;
29
+ name: string;
30
+ rule: {
31
+ calendar: "lunar" | "solar" | "solar-term" | "lunar-eve";
32
+ month?: number;
33
+ day?: number;
34
+ term?: string;
35
+ };
36
+ description: SourcedText;
37
+ origin: SourcedText;
38
+ customs: SourcedText;
39
+ }
40
+ interface HolidayData {
41
+ schemaVersion: 1;
42
+ updatedAt: string;
43
+ years: HolidayYear[];
44
+ festivals: FestivalRecord[];
45
+ coverage?: {
46
+ startYear: number;
47
+ endYear: number;
48
+ missingYears: number[];
49
+ };
50
+ }
51
+ declare function isISODate(value: unknown): value is string;
52
+ declare function validateHolidayYear(value: unknown): asserts value is HolidayYear;
53
+ declare function validateHolidayData(value: unknown): asserts value is HolidayData;
54
+ /** 接受 JSON.parse 后的对象,也接受年度文件;年度输入不会替换其他年份。 */
55
+ declare function parseHolidayData(value: unknown): HolidayData;
56
+ declare function mergeHolidayData(base: HolidayData, custom: HolidayData | HolidayYear): HolidayData;
57
+ //#endregion
58
+ //#region src/index.d.ts
59
+ declare const holidayData: HolidayData;
60
+ declare function getHolidayYear(year: number): HolidayYear | null;
61
+ //#endregion
62
+ export { DataSource, FestivalRecord, HolidayData, HolidayDay, HolidayYear, SourcedText, getHolidayYear, holidayData, isISODate, mergeHolidayData, parseHolidayData, validateHolidayData, validateHolidayYear };
63
+ //# sourceMappingURL=index.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../src/schema.ts","../src/index.ts"],"mappings":";;UACiB;EACf;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA,SAAS;EACT,MAAM;;EAEN;;UAGe;EACf;EACA,SAAS;;UAGM;EACf;EACA;EACA;IACE;IACA;IACA;IACA;;EAEF,aAAa;EACb,QAAQ;EACR,SAAS;;UAGM;EACf;EACA;EACA,OAAO;EACP,WAAW;EACX;IAAa;IAAmB;IAAiB;;;iBAGnC,UAAU,iBAAiB;iBAwC3B,oBAAoB,yBAAyB,SAAS;iBAmCtD,oBAAoB,yBAAyB,SAAS;;iBAmEtD,iBAAiB,iBAAiB;iBASlC,iBACd,MAAM,aACN,QAAQ,cAAc,cACrB;;;cCzMU,aAAA;iBACG,eAAe,eAAf"}
@@ -0,0 +1,63 @@
1
+ //#region src/schema.d.ts
2
+ /** 数据协议独立于运行时与农历算法;calendar/core 构建时内联本文件。 */
3
+ interface DataSource {
4
+ title: string;
5
+ publisher: string;
6
+ url: string;
7
+ accessedAt: string;
8
+ }
9
+ interface HolidayDay {
10
+ date: string;
11
+ name: string;
12
+ isOffDay: boolean;
13
+ }
14
+ interface HolidayYear {
15
+ schemaVersion: 1;
16
+ year: number;
17
+ updatedAt: string;
18
+ sources: DataSource[];
19
+ days: HolidayDay[];
20
+ /** 非空时表示仅部分收录;未列出的日期不能据此认定为工作日。 */
21
+ missingHolidays?: string[];
22
+ }
23
+ interface SourcedText {
24
+ text: string;
25
+ sources: DataSource[];
26
+ }
27
+ interface FestivalRecord {
28
+ id: string;
29
+ name: string;
30
+ rule: {
31
+ calendar: "lunar" | "solar" | "solar-term" | "lunar-eve";
32
+ month?: number;
33
+ day?: number;
34
+ term?: string;
35
+ };
36
+ description: SourcedText;
37
+ origin: SourcedText;
38
+ customs: SourcedText;
39
+ }
40
+ interface HolidayData {
41
+ schemaVersion: 1;
42
+ updatedAt: string;
43
+ years: HolidayYear[];
44
+ festivals: FestivalRecord[];
45
+ coverage?: {
46
+ startYear: number;
47
+ endYear: number;
48
+ missingYears: number[];
49
+ };
50
+ }
51
+ declare function isISODate(value: unknown): value is string;
52
+ declare function validateHolidayYear(value: unknown): asserts value is HolidayYear;
53
+ declare function validateHolidayData(value: unknown): asserts value is HolidayData;
54
+ /** 接受 JSON.parse 后的对象,也接受年度文件;年度输入不会替换其他年份。 */
55
+ declare function parseHolidayData(value: unknown): HolidayData;
56
+ declare function mergeHolidayData(base: HolidayData, custom: HolidayData | HolidayYear): HolidayData;
57
+ //#endregion
58
+ //#region src/index.d.ts
59
+ declare const holidayData: HolidayData;
60
+ declare function getHolidayYear(year: number): HolidayYear | null;
61
+ //#endregion
62
+ export { DataSource, FestivalRecord, HolidayData, HolidayDay, HolidayYear, SourcedText, getHolidayYear, holidayData, isISODate, mergeHolidayData, parseHolidayData, validateHolidayData, validateHolidayYear };
63
+ //# sourceMappingURL=index.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../src/schema.ts","../src/index.ts"],"mappings":";;UACiB;EACf;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA,SAAS;EACT,MAAM;;EAEN;;UAGe;EACf;EACA,SAAS;;UAGM;EACf;EACA;EACA;IACE;IACA;IACA;IACA;;EAEF,aAAa;EACb,QAAQ;EACR,SAAS;;UAGM;EACf;EACA;EACA,OAAO;EACP,WAAW;EACX;IAAa;IAAmB;IAAiB;;;iBAGnC,UAAU,iBAAiB;iBAwC3B,oBAAoB,yBAAyB,SAAS;iBAmCtD,oBAAoB,yBAAyB,SAAS;;iBAmEtD,iBAAiB,iBAAiB;iBASlC,iBACd,MAAM,aACN,QAAQ,cAAc,cACrB;;;cCzMU,aAAA;iBACG,eAAe,eAAf"}