@dmdata/telegram-json-types 1.0.9-jschema.3 → 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.
- package/README.md +7 -0
- package/dist/jschema/earthquake-counts_1.0.0.json +1 -1
- package/dist/jschema/earthquake-hypocenter-update_1.0.0.json +1 -1
- package/dist/jschema/earthquake-information_1.0.0.json +1 -1
- package/dist/jschema/earthquake-information_1.1.0.json +1 -1
- package/dist/jschema/eew-information_1.0.0.json +1 -1
- package/dist/jschema/tsunami-information_1.0.0.json +1 -1
- package/dist/jschema/volcano-information_1.0.0.json +1 -1
- package/dist/jschema/weather-early_1.0.0.json +1 -0
- package/dist/jschema/weather-impact-society_1.0.0.json +1 -0
- package/dist/jschema/weather-information_1.0.0.json +1 -0
- package/dist/jschema/weather-landslide_1.0.0.json +1 -0
- package/dist/jschema/weather-river-flood_1.0.0.json +1 -0
- package/dist/jschema/weather-tornado_1.0.0.json +1 -0
- package/dist/jschema/weather-typhoon_1.0.0.json +1 -1
- package/dist/jschema/weather-warning_1.0.0.json +1 -0
- package/jest.config.ts +202 -0
- package/package.json +29 -21
- package/test/sample-schema-check.test.ts +54 -0
- package/tsconfig.json +2 -1
- package/types/component/code-name.ts +4 -0
- package/types/index.d.ts +15 -1
- package/types/schema/earthquake-counts/1.0.0.d.ts +2 -2
- package/types/schema/earthquake-hypocenter-update/1.0.0.d.ts +1 -1
- package/types/schema/earthquake-information/1.0.0.d.ts +14 -20
- package/types/schema/earthquake-information/1.1.0.d.ts +15 -21
- package/types/schema/earthquake-nankai/1.0.0.d.ts +2 -3
- package/types/schema/eew-information/1.0.0.d.ts +20 -26
- package/types/schema/tsunami-information/1.0.0.d.ts +75 -56
- package/types/schema/volcano-information/1.0.0.d.ts +19 -18
- package/types/schema/weather-early/1.0.0.d.ts +135 -0
- package/types/schema/weather-early/index.d.ts +7 -0
- package/types/schema/weather-impact-society/1.0.0.d.ts +140 -0
- package/types/schema/weather-impact-society/index.d.ts +7 -0
- package/types/schema/weather-information/1.0.0.d.ts +30 -0
- package/types/schema/weather-information/index.d.ts +7 -0
- package/types/schema/weather-landslide/1.0.0.d.ts +51 -0
- package/types/schema/weather-landslide/index.d.ts +7 -0
- package/types/schema/weather-river-flood/1.0.0.d.ts +188 -0
- package/types/schema/weather-river-flood/index.d.ts +7 -0
- package/types/schema/weather-tornado/1.0.0.d.ts +51 -0
- package/types/schema/weather-tornado/index.d.ts +7 -0
- package/types/schema/weather-typhoon/1.0.0.d.ts +22 -11
- package/types/schema/weather-warning/1.0.0.d.ts +212 -0
- package/types/schema/weather-warning/index.d.ts +7 -0
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { TelegramJSONMain } from '@t/main';
|
|
2
|
+
import { CodeName } from '@t/component/code-name';
|
|
2
3
|
import { Earthquake } from '@t/component/earthquake';
|
|
3
4
|
import { UnitValueNotNull } from '@t/component/unit-value';
|
|
4
5
|
|
|
@@ -12,33 +13,26 @@ export namespace EarthquakeInformation {
|
|
|
12
13
|
export type LpgmIntensityClass = '0' | '1' | '2' | '3' | '4';
|
|
13
14
|
export type LpgmCategory = '1' | '2' | '3' | '4';
|
|
14
15
|
|
|
15
|
-
export
|
|
16
|
-
name: string;
|
|
17
|
-
code: string;
|
|
16
|
+
export interface IntensityMaxInt extends CodeName {
|
|
18
17
|
maxInt: IntensityClass;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
code: string;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export interface IntensityMaxIntOnRevise extends CodeName {
|
|
23
21
|
maxInt?: IntensityClass;
|
|
24
22
|
revise?: '上方修正' | '追加';
|
|
25
23
|
}
|
|
26
24
|
|
|
27
|
-
export
|
|
28
|
-
name: string;
|
|
29
|
-
code: string;
|
|
25
|
+
export interface IntensityCity extends CodeName {
|
|
30
26
|
maxInt?: IntensityClass;
|
|
31
27
|
revise?: '上方修正' | '追加';
|
|
32
28
|
condition?: '震度5弱以上未入電';
|
|
33
|
-
}
|
|
29
|
+
}
|
|
34
30
|
|
|
35
|
-
export
|
|
36
|
-
name: string;
|
|
37
|
-
code: string;
|
|
31
|
+
export interface IntensityStation extends CodeName {
|
|
38
32
|
int: IntensityClass | '!5-';
|
|
39
33
|
revise?: '上方修正' | '追加';
|
|
40
34
|
condition?: '震度5弱以上未入電';
|
|
41
|
-
}
|
|
35
|
+
}
|
|
42
36
|
|
|
43
37
|
export type IntensityLpgmMaxInt = IntensityMaxIntOnRevise & {
|
|
44
38
|
maxLpgmInt: LpgmIntensityClass;
|
|
@@ -67,28 +61,28 @@ export namespace EarthquakeInformation {
|
|
|
67
61
|
};
|
|
68
62
|
|
|
69
63
|
|
|
70
|
-
export
|
|
64
|
+
export interface IntensityVXSE51 {
|
|
71
65
|
maxInt: IntensityClass;
|
|
72
66
|
prefectures: IntensityMaxInt[];
|
|
73
67
|
regions: IntensityMaxInt[];
|
|
74
|
-
}
|
|
68
|
+
}
|
|
75
69
|
|
|
76
|
-
export
|
|
70
|
+
export interface IntensityVXSE53 {
|
|
77
71
|
maxInt: IntensityClass;
|
|
78
72
|
prefectures: IntensityMaxIntOnRevise[];
|
|
79
73
|
regions: IntensityMaxIntOnRevise[];
|
|
80
74
|
cities: IntensityCity[];
|
|
81
75
|
stations: IntensityStation[];
|
|
82
|
-
}
|
|
76
|
+
}
|
|
83
77
|
|
|
84
|
-
export
|
|
78
|
+
export interface IntensityVXSE62 {
|
|
85
79
|
maxInt: IntensityClass;
|
|
86
80
|
maxLpgmInt: LpgmIntensityClass;
|
|
87
81
|
lpgmCategory: LpgmCategory;
|
|
88
82
|
prefectures: IntensityLpgmMaxInt[];
|
|
89
83
|
regions: IntensityLpgmMaxInt[];
|
|
90
84
|
stations: IntensityLpgmStation[];
|
|
91
|
-
}
|
|
85
|
+
}
|
|
92
86
|
|
|
93
87
|
|
|
94
88
|
export interface PublicBodyVXSE51 {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { TelegramJSONMain } from '@t/main';
|
|
2
|
+
import { CodeName } from '@t/component/code-name';
|
|
2
3
|
|
|
3
4
|
export namespace EarthquakeNankai {
|
|
4
5
|
export interface Schema {
|
|
@@ -6,9 +7,7 @@ export namespace EarthquakeNankai {
|
|
|
6
7
|
version: '1.0.0';
|
|
7
8
|
}
|
|
8
9
|
|
|
9
|
-
export interface EarthquakeInfoKind {
|
|
10
|
-
code: string;
|
|
11
|
-
name: string;
|
|
10
|
+
export interface EarthquakeInfoKind extends CodeName{
|
|
12
11
|
}
|
|
13
12
|
|
|
14
13
|
export interface EarthquakeInfo {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { TelegramJSONMain } from '@t/main';
|
|
2
|
+
import { CodeName } from '@t/component/code-name';
|
|
2
3
|
import { Coordinate } from '@t/component/coordinate';
|
|
3
4
|
import { UnitValueNotNull } from '@t/component/unit-value';
|
|
4
5
|
|
|
@@ -12,24 +13,18 @@ export namespace EewInformation {
|
|
|
12
13
|
export type IntensityClass = '0' | '1' | '2' | '3' | '4' | '5-' | '5+' | '6-' | '6+' | '7';
|
|
13
14
|
export type LpgmIntensityClass = '0' | '1' | '2' | '3' | '4';
|
|
14
15
|
|
|
15
|
-
export interface
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
name: string;
|
|
21
|
-
};
|
|
16
|
+
export interface WarningAreaKindLastKind extends CodeName {
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export interface WarningAreaKind extends CodeName {
|
|
20
|
+
lastKind: WarningAreaKindLastKind;
|
|
22
21
|
}
|
|
23
22
|
|
|
24
|
-
export interface WarningArea {
|
|
25
|
-
code: string;
|
|
26
|
-
name: string;
|
|
23
|
+
export interface WarningArea extends CodeName {
|
|
27
24
|
kind: WarningAreaKind;
|
|
28
25
|
}
|
|
29
26
|
|
|
30
|
-
export interface EarthquakeHypocenterReduce {
|
|
31
|
-
code: string;
|
|
32
|
-
name: string;
|
|
27
|
+
export interface EarthquakeHypocenterReduce extends CodeName {
|
|
33
28
|
}
|
|
34
29
|
|
|
35
30
|
export interface EarthquakeHypocenterAccuracy {
|
|
@@ -42,9 +37,7 @@ export namespace EewInformation {
|
|
|
42
37
|
numberOfMagnitudeCalculation: '0' | '1' | '2' | '3' | '4' | '5';
|
|
43
38
|
}
|
|
44
39
|
|
|
45
|
-
export interface EarthquakeHypocenter {
|
|
46
|
-
code: string;
|
|
47
|
-
name: string;
|
|
40
|
+
export interface EarthquakeHypocenter extends CodeName {
|
|
48
41
|
coordinate: Coordinate<'日本測地系'>;
|
|
49
42
|
depth: UnitValueNotNull<'深さ', 'km'>;
|
|
50
43
|
reduce: EarthquakeHypocenterReduce;
|
|
@@ -83,12 +76,13 @@ export namespace EewInformation {
|
|
|
83
76
|
maxIntChangeReason: '0' | '1' | '2' | '3' | '4' | '9';
|
|
84
77
|
}
|
|
85
78
|
|
|
86
|
-
export interface
|
|
87
|
-
|
|
88
|
-
|
|
79
|
+
export interface IntensityRegionKind extends CodeName {
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
export interface IntensityRegion extends CodeName {
|
|
89
83
|
forecastMaxInt: IntensityForecastMaxInt;
|
|
90
84
|
forecastLpgmMaxInt?: IntensityForecastLpgmMaxInt;
|
|
91
|
-
kind:
|
|
85
|
+
kind: IntensityRegionKind;
|
|
92
86
|
}
|
|
93
87
|
|
|
94
88
|
|
|
@@ -119,7 +113,7 @@ export namespace EewInformation {
|
|
|
119
113
|
comments: Comment;
|
|
120
114
|
}
|
|
121
115
|
|
|
122
|
-
export interface
|
|
116
|
+
export interface PublicTestingBody {
|
|
123
117
|
isLastInfo: false;
|
|
124
118
|
text: string;
|
|
125
119
|
}
|
|
@@ -145,8 +139,8 @@ export namespace EewInformation {
|
|
|
145
139
|
|
|
146
140
|
export interface PublicTesting extends TelegramJSONMain {
|
|
147
141
|
_schema: Schema;
|
|
148
|
-
type: '
|
|
149
|
-
title: '
|
|
142
|
+
type: '緊急地震速報配信テスト';
|
|
143
|
+
title: '緊急地震速報配信テスト';
|
|
150
144
|
infoType: '発表' | '訂正';
|
|
151
145
|
targetDateTimeDubious: never;
|
|
152
146
|
targetDuration: never;
|
|
@@ -154,13 +148,13 @@ export namespace EewInformation {
|
|
|
154
148
|
eventId: string;
|
|
155
149
|
serialNo: string;
|
|
156
150
|
infoKind: '緊急地震速報';
|
|
157
|
-
body:
|
|
151
|
+
body: PublicTestingBody;
|
|
158
152
|
}
|
|
159
153
|
|
|
160
154
|
export interface Cancel extends TelegramJSONMain {
|
|
161
155
|
_schema: Schema;
|
|
162
|
-
type: '緊急地震速報(予報)' | '緊急地震速報(地震動予報)' | '緊急地震速報(警報)' | '
|
|
163
|
-
title: '緊急地震速報(予報)' | '緊急地震速報(地震動予報)' | '緊急地震速報(警報)' | '
|
|
156
|
+
type: '緊急地震速報(予報)' | '緊急地震速報(地震動予報)' | '緊急地震速報(警報)' | '緊急地震速報配信テスト';
|
|
157
|
+
title: '緊急地震速報(予報)' | '緊急地震速報(地震動予報)' | '緊急地震速報(警報)' | '緊急地震速報配信テスト';
|
|
164
158
|
infoType: '取消';
|
|
165
159
|
targetDateTimeDubious: never;
|
|
166
160
|
targetDuration: never;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { Earthquake } from '@t/component/earthquake';
|
|
2
1
|
import { TelegramJSONMain } from '@t/main';
|
|
2
|
+
import { CodeName } from '@t/component/code-name';
|
|
3
|
+
import { Earthquake } from '@t/component/earthquake';
|
|
3
4
|
|
|
4
5
|
|
|
5
6
|
export namespace TsunamiInformation {
|
|
@@ -8,28 +9,36 @@ export namespace TsunamiInformation {
|
|
|
8
9
|
version: '1.0.0';
|
|
9
10
|
}
|
|
10
11
|
|
|
11
|
-
export interface
|
|
12
|
-
code: string;
|
|
13
|
-
name: string;
|
|
14
|
-
lastKind: {
|
|
15
|
-
code: string;
|
|
16
|
-
name: string;
|
|
17
|
-
};
|
|
12
|
+
export interface TsunamiForecastKindLastKind extends CodeName {
|
|
18
13
|
}
|
|
19
14
|
|
|
20
|
-
export interface
|
|
21
|
-
|
|
22
|
-
condition?: '津波到達中と推測' | '第1波の到達を確認' | 'ただちに津波来襲と予測';
|
|
23
|
-
revise?: '追加' | '更新';
|
|
15
|
+
export interface TsunamiForecastKind extends CodeName {
|
|
16
|
+
lastKind: TsunamiForecastKindLastKind;
|
|
24
17
|
}
|
|
25
18
|
|
|
26
|
-
export
|
|
19
|
+
export type TsunamiForecastFirstHeight = ({
|
|
20
|
+
arrivalTime: string;
|
|
21
|
+
condition?: 'ただちに津波来襲と予測';
|
|
22
|
+
} | {
|
|
23
|
+
arrivalTime: never;
|
|
24
|
+
condition: '津波到達中と推測' | '第1波の到達を確認';
|
|
25
|
+
}) &
|
|
26
|
+
{
|
|
27
|
+
revise?: '追加' | '更新';
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
export type TsunamiForecastMaxHeightValue = {
|
|
27
31
|
type: '津波の高さ';
|
|
28
32
|
unit: 'm';
|
|
29
|
-
|
|
33
|
+
} & ({
|
|
34
|
+
value: string;
|
|
30
35
|
over?: true;
|
|
36
|
+
condition: never;
|
|
37
|
+
} | {
|
|
38
|
+
value: null;
|
|
39
|
+
over: never;
|
|
31
40
|
condition?: '巨大' | '高い';
|
|
32
|
-
}
|
|
41
|
+
});
|
|
33
42
|
|
|
34
43
|
export interface TsunamiForecastMaxHeight {
|
|
35
44
|
height: TsunamiForecastMaxHeightValue;
|
|
@@ -37,19 +46,15 @@ export namespace TsunamiInformation {
|
|
|
37
46
|
revise?: '追加' | '更新';
|
|
38
47
|
}
|
|
39
48
|
|
|
40
|
-
export interface TsunamiForecastStation {
|
|
41
|
-
code: string;
|
|
42
|
-
name: string;
|
|
49
|
+
export interface TsunamiForecastStation extends CodeName {
|
|
43
50
|
highTideDateTime: string;
|
|
44
51
|
firstHeight: TsunamiForecastFirstHeight;
|
|
45
52
|
}
|
|
46
53
|
|
|
47
|
-
export interface TsunamiForecast {
|
|
48
|
-
code: string;
|
|
49
|
-
name: string;
|
|
54
|
+
export interface TsunamiForecast extends CodeName {
|
|
50
55
|
kind: TsunamiForecastKind;
|
|
51
|
-
firstHeight
|
|
52
|
-
maxHeight
|
|
56
|
+
firstHeight?: TsunamiForecastFirstHeight;
|
|
57
|
+
maxHeight?: TsunamiForecastMaxHeight;
|
|
53
58
|
stations?: TsunamiForecastStation[] | never;
|
|
54
59
|
}
|
|
55
60
|
|
|
@@ -61,31 +66,45 @@ export namespace TsunamiInformation {
|
|
|
61
66
|
stations?: TsunamiForecastStation[];
|
|
62
67
|
}
|
|
63
68
|
|
|
64
|
-
export
|
|
69
|
+
export type TsunamiObservationStationFirstHeight = ({
|
|
65
70
|
arrivalTime: string;
|
|
66
|
-
initial
|
|
67
|
-
condition
|
|
71
|
+
initial: '押し' | '引き';
|
|
72
|
+
condition: never;
|
|
73
|
+
} | {
|
|
74
|
+
arrivalTime: never;
|
|
75
|
+
initial: never;
|
|
76
|
+
condition: '第1波識別不能';
|
|
77
|
+
}) & {
|
|
68
78
|
revise?: '追加' | '更新';
|
|
69
|
-
}
|
|
79
|
+
};
|
|
70
80
|
|
|
71
81
|
export interface TsunamiObservationStationMaxHeightValue {
|
|
72
82
|
type: 'これまでの最大波の高さ';
|
|
73
83
|
unit: 'm';
|
|
74
|
-
value: string
|
|
84
|
+
value: string;
|
|
75
85
|
over?: true;
|
|
76
86
|
condition?: '上昇中';
|
|
77
87
|
}
|
|
78
88
|
|
|
79
|
-
export
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
+
export type TsunamiObservationStationMaxHeight =
|
|
90
|
+
({
|
|
91
|
+
dateTime: string;
|
|
92
|
+
height: TsunamiObservationStationMaxHeightValue;
|
|
93
|
+
condition?: '重要';
|
|
94
|
+
} | {
|
|
95
|
+
dateTime: string;
|
|
96
|
+
height: never;
|
|
97
|
+
condition: '微弱';
|
|
98
|
+
} | {
|
|
99
|
+
dateTime: never;
|
|
100
|
+
height: never;
|
|
101
|
+
condition: '観測中';
|
|
102
|
+
}) &
|
|
103
|
+
{
|
|
104
|
+
revise?: '追加' | '更新';
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
export interface TsunamiObservationStation extends CodeName {
|
|
89
108
|
sensor?: string;
|
|
90
109
|
firstHeight: TsunamiObservationStationFirstHeight;
|
|
91
110
|
maxHeight: TsunamiObservationStationMaxHeight;
|
|
@@ -113,23 +132,23 @@ export namespace TsunamiInformation {
|
|
|
113
132
|
revise?: '追加' | '更新';
|
|
114
133
|
}
|
|
115
134
|
|
|
116
|
-
export
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
135
|
+
export type TsunamiEstimationMaxHeightValue = TsunamiForecastMaxHeightValue;
|
|
136
|
+
|
|
137
|
+
export type TsunamiEstimationMaxHeight =
|
|
138
|
+
({
|
|
139
|
+
dateTime: string;
|
|
140
|
+
height: TsunamiEstimationMaxHeightValue;
|
|
141
|
+
condition?: '重要';
|
|
142
|
+
} | {
|
|
143
|
+
dateTime: never;
|
|
144
|
+
height: never;
|
|
145
|
+
condition: '推定中';
|
|
146
|
+
}) &
|
|
147
|
+
{
|
|
148
|
+
revise?: '追加' | '更新';
|
|
149
|
+
};
|
|
129
150
|
|
|
130
|
-
export interface TsunamiEstimation {
|
|
131
|
-
code: string;
|
|
132
|
-
name: string;
|
|
151
|
+
export interface TsunamiEstimation extends CodeName {
|
|
133
152
|
firstHeight: TsunamiEstimationFirstHeight;
|
|
134
153
|
maxHeight: TsunamiEstimationMaxHeight;
|
|
135
154
|
}
|
|
@@ -140,7 +159,7 @@ export namespace TsunamiInformation {
|
|
|
140
159
|
|
|
141
160
|
export interface PublicBodyVTSE51Tsunami {
|
|
142
161
|
forecasts: TsunamiForecastVXSE51[];
|
|
143
|
-
observations
|
|
162
|
+
observations?: TsunamiObservationVXSE51[];
|
|
144
163
|
}
|
|
145
164
|
|
|
146
165
|
export interface PublicBodyVTSE52Tsunami {
|
|
@@ -228,7 +247,7 @@ export namespace TsunamiInformation {
|
|
|
228
247
|
|
|
229
248
|
|
|
230
249
|
export interface Cancel extends TelegramJSONMain {
|
|
231
|
-
type: '
|
|
250
|
+
type: '津波警報・注意報・予報a' | '津波情報a' | '各地の満潮時刻・津波到達予想時刻に関する情報' | '津波観測に関する情報';
|
|
232
251
|
infoType: '取消';
|
|
233
252
|
targetDateTimeDubious: never;
|
|
234
253
|
targetDuration: never;
|
|
@@ -12,7 +12,7 @@ export namespace VolcanoInformation {
|
|
|
12
12
|
|
|
13
13
|
export interface TargetCrater {
|
|
14
14
|
name: string | null;
|
|
15
|
-
coordinate
|
|
15
|
+
coordinate?: VolcanoCoordinate;
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
export interface TargetKind {
|
|
@@ -38,6 +38,12 @@ export namespace VolcanoInformation {
|
|
|
38
38
|
kind: TargetKind;
|
|
39
39
|
}
|
|
40
40
|
|
|
41
|
+
export interface TargetVFVO56 {
|
|
42
|
+
code: string;
|
|
43
|
+
name: string;
|
|
44
|
+
kind: TargetKind;
|
|
45
|
+
}
|
|
46
|
+
|
|
41
47
|
export interface TargetEWF extends Target {
|
|
42
48
|
crater: never;
|
|
43
49
|
kind: TargetKindEWF;
|
|
@@ -144,7 +150,7 @@ export namespace VolcanoInformation {
|
|
|
144
150
|
type: '噴煙の流向';
|
|
145
151
|
unit: '漢字';
|
|
146
152
|
} & ({
|
|
147
|
-
value: Direction8 | '直上' | '
|
|
153
|
+
value: Direction8 | '直上' | '流向不明';
|
|
148
154
|
condition: never;
|
|
149
155
|
} | {
|
|
150
156
|
value: null;
|
|
@@ -201,7 +207,7 @@ export namespace VolcanoInformation {
|
|
|
201
207
|
code: string;
|
|
202
208
|
name: string;
|
|
203
209
|
polygons: [number, number][][];
|
|
204
|
-
size
|
|
210
|
+
size?: AshForecastItemSize;
|
|
205
211
|
direction: AshForecastItemDirection;
|
|
206
212
|
distance: AshForecastItemDistance;
|
|
207
213
|
remake?: string;
|
|
@@ -213,7 +219,7 @@ export namespace VolcanoInformation {
|
|
|
213
219
|
elapsedTime: string;
|
|
214
220
|
startTime: string;
|
|
215
221
|
endTime: string;
|
|
216
|
-
items: AshForecastItem;
|
|
222
|
+
items: AshForecastItem[];
|
|
217
223
|
}
|
|
218
224
|
|
|
219
225
|
export interface Ash {
|
|
@@ -225,14 +231,14 @@ export namespace VolcanoInformation {
|
|
|
225
231
|
target: TargetEWF;
|
|
226
232
|
cities: CityVFVO50[];
|
|
227
233
|
disasterPreventions: DisasterPrevention[];
|
|
228
|
-
|
|
234
|
+
comments: Comments;
|
|
229
235
|
text?: string;
|
|
230
236
|
}
|
|
231
237
|
|
|
232
238
|
export interface PublicBodyVFVO51 {
|
|
233
239
|
notice?: string;
|
|
234
240
|
targets: TargetEWF[];
|
|
235
|
-
|
|
241
|
+
comments: Comments;
|
|
236
242
|
text?: string;
|
|
237
243
|
}
|
|
238
244
|
|
|
@@ -247,7 +253,7 @@ export namespace VolcanoInformation {
|
|
|
247
253
|
notice?: string;
|
|
248
254
|
target: Target;
|
|
249
255
|
cities: City[];
|
|
250
|
-
|
|
256
|
+
comments: Comments;
|
|
251
257
|
ash: Ash;
|
|
252
258
|
text?: string;
|
|
253
259
|
}
|
|
@@ -257,7 +263,7 @@ export namespace VolcanoInformation {
|
|
|
257
263
|
target: Target;
|
|
258
264
|
cities: City[];
|
|
259
265
|
eruption: Eruption;
|
|
260
|
-
|
|
266
|
+
comments: Comments;
|
|
261
267
|
ash: Ash;
|
|
262
268
|
text?: string;
|
|
263
269
|
}
|
|
@@ -267,10 +273,10 @@ export namespace VolcanoInformation {
|
|
|
267
273
|
|
|
268
274
|
export interface PublicBodyVFVO56 {
|
|
269
275
|
notice?: string;
|
|
270
|
-
target:
|
|
276
|
+
target: TargetVFVO56;
|
|
271
277
|
cities: CityVFVO56[];
|
|
272
278
|
eruption: Pick<Eruption, 'eventDateTime'>;
|
|
273
|
-
|
|
279
|
+
comments: Comments;
|
|
274
280
|
text?: string;
|
|
275
281
|
}
|
|
276
282
|
|
|
@@ -278,7 +284,7 @@ export namespace VolcanoInformation {
|
|
|
278
284
|
notice?: string;
|
|
279
285
|
target: TargetEWF;
|
|
280
286
|
oceanZones: OceanZone[];
|
|
281
|
-
|
|
287
|
+
comments: Comments;
|
|
282
288
|
text?: string;
|
|
283
289
|
}
|
|
284
290
|
|
|
@@ -338,7 +344,6 @@ export namespace VolcanoInformation {
|
|
|
338
344
|
type: '降灰予報(定時)';
|
|
339
345
|
title: string;
|
|
340
346
|
infoType: '発表' | '訂正';
|
|
341
|
-
targetDateTime: string;
|
|
342
347
|
targetDateTimeDubious: never;
|
|
343
348
|
targetDuration: never;
|
|
344
349
|
validDateTime: string;
|
|
@@ -353,7 +358,6 @@ export namespace VolcanoInformation {
|
|
|
353
358
|
type: '降灰予報(速報)';
|
|
354
359
|
title: string;
|
|
355
360
|
infoType: '発表' | '訂正';
|
|
356
|
-
targetDateTime: string;
|
|
357
361
|
targetDateTimeDubious: never;
|
|
358
362
|
targetDuration: never;
|
|
359
363
|
validDateTime: string;
|
|
@@ -368,7 +372,6 @@ export namespace VolcanoInformation {
|
|
|
368
372
|
type: '降灰予報(詳細)';
|
|
369
373
|
title: string;
|
|
370
374
|
infoType: '発表' | '訂正';
|
|
371
|
-
targetDateTime: string;
|
|
372
375
|
targetDateTimeDubious: never;
|
|
373
376
|
targetDuration: never;
|
|
374
377
|
validDateTime: string;
|
|
@@ -383,10 +386,9 @@ export namespace VolcanoInformation {
|
|
|
383
386
|
type: '噴火速報';
|
|
384
387
|
title: string;
|
|
385
388
|
infoType: '発表' | '訂正';
|
|
386
|
-
targetDateTime: string;
|
|
387
389
|
targetDateTimeDubious?: '年頃' | '月頃' | '日頃' | '時頃' | '分頃' | '秒頃' | '頃';
|
|
388
390
|
targetDuration: never;
|
|
389
|
-
validDateTime:
|
|
391
|
+
validDateTime: never;
|
|
390
392
|
eventId: string;
|
|
391
393
|
serialNo: null;
|
|
392
394
|
infoKind: '噴火速報';
|
|
@@ -412,10 +414,9 @@ export namespace VolcanoInformation {
|
|
|
412
414
|
type: '火山に関するお知らせ';
|
|
413
415
|
title: string;
|
|
414
416
|
infoType: '発表' | '訂正';
|
|
415
|
-
targetDateTime: string;
|
|
416
417
|
targetDateTimeDubious: never;
|
|
417
418
|
targetDuration: never;
|
|
418
|
-
validDateTime:
|
|
419
|
+
validDateTime: never;
|
|
419
420
|
eventId: string;
|
|
420
421
|
serialNo: null;
|
|
421
422
|
infoKind: '火山に関するお知らせ';
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import { TelegramJSONMain } from '@t/main';
|
|
2
|
+
import { CodeName } from '@t/component/code-name';
|
|
3
|
+
|
|
4
|
+
export namespace WeatherEarly {
|
|
5
|
+
export interface Schema {
|
|
6
|
+
type: 'weather-early';
|
|
7
|
+
version: '1.0.0';
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export interface Target extends CodeName {
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export interface TargetTimeDateTime {
|
|
14
|
+
value: string;
|
|
15
|
+
validFormat: string;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export interface TargetTime {
|
|
19
|
+
dateTime: TargetTimeDateTime;
|
|
20
|
+
duration?: string;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export interface MainTextZone extends CodeName {
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
export interface MainText {
|
|
28
|
+
text: string;
|
|
29
|
+
zones: MainTextZone[];
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export interface StatisticPeriodDateTime {
|
|
33
|
+
value: string;
|
|
34
|
+
validFormat?: string;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export interface StatisticPeriod {
|
|
38
|
+
dateTime: StatisticPeriodDateTime;
|
|
39
|
+
duration: string;
|
|
40
|
+
name: string;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export interface StatisticStationObservedValue {
|
|
44
|
+
type: string;
|
|
45
|
+
unit: string;
|
|
46
|
+
value: string | null;
|
|
47
|
+
condition?: string;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export interface StatisticStation extends CodeName {
|
|
51
|
+
type: '天候の状況(速報値)';
|
|
52
|
+
observedValues: StatisticStationObservedValue[];
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
export interface EarlyBaseZone extends CodeName {
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
export interface EarlyBase {
|
|
60
|
+
type: string;
|
|
61
|
+
forecasts: Object;
|
|
62
|
+
zones: EarlyBaseZone[];
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
export interface EarlyHighForecastProbabilityAboveNormal {
|
|
66
|
+
unit: '%';
|
|
67
|
+
value: string;
|
|
68
|
+
bound: '以上';
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
export interface EarlyHighForecastThresholdAboveNormal {
|
|
72
|
+
unit: '%' | '℃';
|
|
73
|
+
value: string;
|
|
74
|
+
bound: '以上';
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
export interface EarlyLowForecastProbabilityBelowNormal {
|
|
78
|
+
unit: '%';
|
|
79
|
+
value: string;
|
|
80
|
+
bound: '以上';
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
export interface EarlyLowForecastThresholdBelowNormal {
|
|
84
|
+
unit: '℃';
|
|
85
|
+
value: string;
|
|
86
|
+
bound: '以下';
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
export interface EarlyHighForecast {
|
|
90
|
+
probabilityAboveNormal: EarlyHighForecastProbabilityAboveNormal;
|
|
91
|
+
thresholdAboveNormal: EarlyHighForecastThresholdAboveNormal;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
export interface EarlyLowForecast {
|
|
95
|
+
probabilityBelowNormal: EarlyLowForecastProbabilityBelowNormal;
|
|
96
|
+
thresholdBelowNormal: EarlyLowForecastThresholdBelowNormal;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
export interface EarlyHigh extends EarlyBase {
|
|
100
|
+
type: 'かなりの高温' | '大雪';
|
|
101
|
+
forecasts: EarlyHighForecast;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
export interface EarlyLow extends EarlyBase {
|
|
105
|
+
type: 'かなりの低温';
|
|
106
|
+
forecasts: EarlyLowForecast;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
export type Early = EarlyHigh | EarlyLow;
|
|
110
|
+
|
|
111
|
+
export interface PublicBody {
|
|
112
|
+
notice?: string;
|
|
113
|
+
target: Target;
|
|
114
|
+
targetTime: TargetTime;
|
|
115
|
+
mainTexts: [MainText];
|
|
116
|
+
early: Early[];
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
export interface Public extends TelegramJSONMain {
|
|
121
|
+
_schema: Schema;
|
|
122
|
+
type: '早期天候情報';
|
|
123
|
+
title: string;
|
|
124
|
+
infoType: '発表' | '訂正';
|
|
125
|
+
targetDateTimeDubious: '頃';
|
|
126
|
+
targetDuration: string;
|
|
127
|
+
validDateTime: string;
|
|
128
|
+
eventId: null;
|
|
129
|
+
serialNo: null;
|
|
130
|
+
infoKind: '早期天候情報';
|
|
131
|
+
body: PublicBody;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
export type Main = Public;
|
|
135
|
+
}
|