@dmdata/telegram-json-types 1.2.1 → 1.2.3

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 (51) hide show
  1. package/.github/workflows/release.yml +33 -0
  2. package/LICENSE +21 -21
  3. package/README.md +79 -79
  4. package/dist/jschema/forecast-weathermap_1.0.0.json +1 -1
  5. package/dist/jschema/weather-warning-timeseries_1.0.0.json +1 -1
  6. package/index.d.ts +2 -2
  7. package/package.json +30 -32
  8. package/test/sample-schema-check.test.ts +68 -68
  9. package/tsconfig.json +25 -25
  10. package/types/component/coordinate.d.ts +27 -27
  11. package/types/component/earthquake.d.ts +77 -77
  12. package/types/component/index.d.ts +17 -17
  13. package/types/component/unit-value.d.ts +13 -13
  14. package/types/component/util.d.ts +20 -20
  15. package/types/index.d.ts +84 -84
  16. package/types/schema/earthquake-counts/1.0.0.d.ts +69 -69
  17. package/types/schema/earthquake-explanation/1.0.0.d.ts +57 -57
  18. package/types/schema/earthquake-hypocenter-update/1.0.0.d.ts +53 -53
  19. package/types/schema/earthquake-information/1.0.0.d.ts +158 -158
  20. package/types/schema/earthquake-information/1.1.0.d.ts +224 -224
  21. package/types/schema/earthquake-information/index.d.ts +9 -9
  22. package/types/schema/earthquake-nankai/1.0.0.d.ts +101 -101
  23. package/types/schema/eew-information/1.0.0.d.ts +221 -221
  24. package/types/schema/eew-information/index.d.ts +7 -7
  25. package/types/schema/forecast-2week-temperature/1.0.0.d.ts +110 -110
  26. package/types/schema/forecast-prefecture/1.0.0.d.ts +537 -537
  27. package/types/schema/forecast-season/1.0.0.d.ts +169 -169
  28. package/types/schema/forecast-warning-possibility/1.0.0.d.ts +388 -388
  29. package/types/schema/forecast-warning-possibility/1.1.0.d.ts +129 -129
  30. package/types/schema/forecast-warning-possibility/index.d.ts +9 -9
  31. package/types/schema/forecast-weathermap/1.0.0.d.ts +206 -194
  32. package/types/schema/tsunami-information/1.0.0.d.ts +261 -261
  33. package/types/schema/tsunami-information/1.1.0.d.ts +298 -298
  34. package/types/schema/tsunami-information/index.d.ts +9 -9
  35. package/types/schema/volcano-information/1.0.0.d.ts +450 -450
  36. package/types/schema/weather-commentary/1.0.0.d.ts +984 -984
  37. package/types/schema/weather-commentary/index.d.ts +7 -7
  38. package/types/schema/weather-early/1.0.0.d.ts +111 -111
  39. package/types/schema/weather-impact-society/1.0.0.d.ts +143 -143
  40. package/types/schema/weather-impact-society/1.0.1.d.ts +118 -118
  41. package/types/schema/weather-information/1.0.0.d.ts +67 -67
  42. package/types/schema/weather-landslide/1.0.0.d.ts +51 -51
  43. package/types/schema/weather-river-flood/1.0.0.d.ts +192 -192
  44. package/types/schema/weather-tornado/1.0.0.d.ts +55 -55
  45. package/types/schema/weather-typhoon/1.0.0.d.ts +146 -146
  46. package/types/schema/weather-typhoon/index.d.ts +7 -7
  47. package/types/schema/weather-warning/1.0.0.d.ts +213 -213
  48. package/types/schema/weather-warning/1.1.0.d.ts +469 -469
  49. package/types/schema/weather-warning/index.d.ts +9 -9
  50. package/types/schema/weather-warning-timeseries/1.0.0.d.ts +357 -385
  51. package/types/schema/weather-warning-timeseries/index.d.ts +7 -7
@@ -1,388 +1,388 @@
1
- import { TelegramJSONMain } from '../../main';
2
- import { Components } from '../../component';
3
-
4
- export namespace ForecastWarningPossibility {
5
- export interface Schema {
6
- type: 'forecast-warning-possibility';
7
- version: '1.0.0';
8
- }
9
-
10
- export interface WindSpeed {
11
- type: '最大風速';
12
- unit: 'm/s';
13
- value: string | null;
14
- condition?: '以下' | '以上' | '値なし';
15
- range?: never;
16
- }
17
-
18
- export interface WindSpeedRange {
19
- type: '最大風速';
20
- range: {
21
- type: '範囲';
22
- unit: 'm/s';
23
- from: string;
24
- to: string;
25
- };
26
- value?: never;
27
- condition?: never;
28
- }
29
-
30
- export interface WaveHeight {
31
- type: '波高';
32
- unit: 'm';
33
- value: string;
34
- condition?: '以下' | '以上';
35
- range?: never;
36
- }
37
-
38
- export interface WaveHeightNoValue {
39
- type: '波高';
40
- unit: 'm';
41
- value: null;
42
- condition: '流氷に覆われている' | '値なし' | string;
43
- range?: never;
44
- }
45
-
46
- export interface WaveHeightRange {
47
- type: '波高';
48
- range: {
49
- type: '範囲';
50
- unit: 'm';
51
- from: string;
52
- to: string;
53
- };
54
- value?: never;
55
- condition?: never;
56
- }
57
-
58
- export interface Precipitation<Type extends '1時間最大雨量' | '3時間最大雨量' | '24時間最大雨量'> {
59
- type: Type;
60
- unit: 'mm';
61
- value: string | null;
62
- condition?: '以下' | '以上' | '値なし';
63
- range?: never;
64
- }
65
-
66
- export interface PrecipitationRange<Type extends '1時間最大雨量' | '3時間最大雨量' | '24時間最大雨量'> {
67
- type: Type;
68
- range: {
69
- type: '範囲';
70
- unit: 'mm';
71
- from: string;
72
- to: string;
73
- };
74
- value?: never;
75
- condition?: never;
76
- }
77
-
78
- export interface SnowfallDepth<Type extends '6時間最大降雪量' | '24時間最大降雪量'> {
79
- type: Type;
80
- unit: 'cm';
81
- value: string | null;
82
- condition?: '以上' | '値なし';
83
- range?: never;
84
- }
85
-
86
- export interface SnowfallDepthRange<Type extends '6時間最大降雪量' | '24時間最大降雪量'> {
87
- type: Type;
88
- range: {
89
- type: '範囲';
90
- unit: 'cm';
91
- from: string;
92
- to: string;
93
- };
94
- value?: never;
95
- condition?: never;
96
- }
97
-
98
- export interface TimeSeriesTimeDefine {
99
- timeId: string;
100
- dateTime: string;
101
- duration: string;
102
- name: string;
103
- }
104
-
105
- export interface TimeSeriesItemPrecipitationNoRangeDetail<Type extends '1時間最大雨量' | '3時間最大雨量'> {
106
- refId: string;
107
- text: string;
108
- base: {
109
- locals: [
110
- {
111
- name: null;
112
- precipitation: Precipitation<Type>;
113
- }
114
- ] |
115
- {
116
- name: string;
117
- precipitation: Precipitation<Type>;
118
- }[]
119
- };
120
- subArea?: {
121
- name: string;
122
- text?: string;
123
- base: {
124
- precipitation: Precipitation<Type>;
125
- };
126
- };
127
- }
128
-
129
- export interface TimeSeriesItemKindPrecipitationNoRange<Type extends '1時間最大雨量' | '3時間最大雨量'> {
130
- type: Type;
131
- details: TimeSeriesItemPrecipitationNoRangeDetail<Type>[];
132
- }
133
-
134
- export interface TimeSeriesItemSnowfallDepthNoRangeDetail {
135
- refId: string;
136
- text: string;
137
- base: {
138
- locals: [
139
- {
140
- name: null;
141
- depth: SnowfallDepth<'6時間最大降雪量'>;
142
- }
143
- ] |
144
- {
145
- name: string;
146
- depth: SnowfallDepth<'6時間最大降雪量'>;
147
- }[]
148
- };
149
- subArea?: {
150
- name: string;
151
- text?: string;
152
- base: {
153
- depth: SnowfallDepth<'6時間最大降雪量'>;
154
- };
155
- };
156
- }
157
-
158
- export interface TimeSeriesItemKindSnowfallDepthNoRange {
159
- type: '6時間最大降雪量';
160
- details: TimeSeriesItemSnowfallDepthNoRangeDetail[];
161
- }
162
-
163
- export interface TimeSeriesItemWindSpeedDetail {
164
- refId: string;
165
- text: string;
166
- base: {
167
- locals: [
168
- {
169
- name: null;
170
- speed: WindSpeed | WindSpeedRange;
171
- }
172
- ] |
173
- {
174
- name: string;
175
- speed: WindSpeed | WindSpeedRange;
176
- }[]
177
- };
178
- subArea?: {
179
- name: string
180
- text?: string;
181
- base: {
182
- speed: WindSpeed | WindSpeedRange;
183
- };
184
- };
185
- }
186
-
187
- export interface TimeSeriesItemKindWindSpeed {
188
- type: '最大風速';
189
- details: TimeSeriesItemWindSpeedDetail[];
190
- }
191
-
192
- export interface TimeSeriesItemWaveHeightDetail {
193
- refId: string;
194
- text: string;
195
- base: {
196
- locals: [
197
- {
198
- name: null;
199
- height: WaveHeight | WaveHeightRange | WaveHeightNoValue;
200
- }
201
- ] |
202
- {
203
- name: string;
204
- height: WaveHeight | WaveHeightRange | WaveHeightNoValue;
205
- }[]
206
- };
207
- subArea?: {
208
- name: string;
209
- text?: string;
210
- base: {
211
- height: WaveHeight | WaveHeightRange | WaveHeightNoValue;
212
- };
213
- };
214
- }
215
-
216
- export interface TimeSeriesItemKindWaveHeight {
217
- type: '波';
218
- details: TimeSeriesItemWaveHeightDetail[];
219
- }
220
-
221
-
222
- export interface TimeSeries6HoursItem extends Components.CodeName {
223
- kinds: [
224
- TimeSeriesItemKindPrecipitationNoRange<'1時間最大雨量'>,
225
- TimeSeriesItemKindPrecipitationNoRange<'3時間最大雨量'>,
226
- TimeSeriesItemKindSnowfallDepthNoRange,
227
- TimeSeriesItemKindWindSpeed,
228
- TimeSeriesItemKindWaveHeight
229
- ] | [
230
- TimeSeriesItemKindPrecipitationNoRange<'1時間最大雨量'>,
231
- TimeSeriesItemKindPrecipitationNoRange<'3時間最大雨量'>,
232
- TimeSeriesItemKindSnowfallDepthNoRange,
233
- TimeSeriesItemKindWindSpeed,
234
- ];
235
- }
236
-
237
- export interface TimeSeries6Hours {
238
- timeDefines: TimeSeriesTimeDefine[];
239
- items: TimeSeries6HoursItem[];
240
- }
241
-
242
- export interface TimeSeriesItemPrecipitationDetail {
243
- refId: string;
244
- text: string;
245
- base: {
246
- locals: [
247
- {
248
- name: null;
249
- precipitation: Precipitation<'24時間最大雨量'> | PrecipitationRange<'24時間最大雨量'>;
250
- }
251
- ] |
252
- {
253
- name: string;
254
- precipitation: Precipitation<'24時間最大雨量'> | PrecipitationRange<'24時間最大雨量'>;
255
- }[]
256
- };
257
- subArea?: {
258
- name: string;
259
- text?: string;
260
- base: {
261
- precipitation: Precipitation<'24時間最大雨量'> | PrecipitationRange<'24時間最大雨量'>;
262
- };
263
- };
264
- }
265
-
266
- export interface TimeSeriesItemKindPrecipitation {
267
- type: '24時間最大雨量';
268
- details: TimeSeriesItemPrecipitationDetail[];
269
- }
270
-
271
- export interface TimeSeriesItemSnowfallDepthDetail {
272
- refId: string;
273
- text: string;
274
- base: {
275
- locals: [
276
- {
277
- name: null;
278
- depth: SnowfallDepth<'24時間最大降雪量'> | SnowfallDepthRange<'24時間最大降雪量'>;
279
- }
280
- ] |
281
- {
282
- name: string;
283
- depth: SnowfallDepth<'24時間最大降雪量'> | SnowfallDepthRange<'24時間最大降雪量'>;
284
- }[]
285
- };
286
- subArea?: {
287
- name: string;
288
- text?: string;
289
- base: {
290
- depth: SnowfallDepth<'24時間最大降雪量'> | SnowfallDepthRange<'24時間最大降雪量'>;
291
- };
292
- };
293
- }
294
-
295
- export interface TimeSeriesItemKindSnowfallDepth {
296
- type: '24時間最大降雪量';
297
- details: TimeSeriesItemSnowfallDepthDetail[];
298
- }
299
-
300
- export interface TimeSeries24HoursItem extends Components.CodeName {
301
- kinds: [
302
- TimeSeriesItemKindPrecipitation,
303
- TimeSeriesItemKindSnowfallDepth
304
- ];
305
- }
306
-
307
- export interface TimeSeries24Hours {
308
- timeDefines: [TimeSeriesTimeDefine];
309
- items: TimeSeries24HoursItem[];
310
- }
311
-
312
- export interface TimeSeriesPossibilityRanksItemRank<Type extends '雨' | '雪' | '風(風雪)' | '波' | '潮位'> {
313
- refId: string;
314
- type: `${Type}の警報級の可能性`;
315
- value: '高' | '中' | 'なし' | null;
316
- condition?: '値なし';
317
- }
318
-
319
- export interface TimeSeriesPossibilityRanksItemKind<Type extends '雨' | '雪' | '風(風雪)' | '波' | '潮位'> {
320
- type: `${Type}の警報級の可能性`;
321
- text?: string;
322
- possibilityRanks: TimeSeriesPossibilityRanksItemRank<Type>[];
323
- }
324
-
325
- export interface TimeSeriesPossibilityRanksItem extends Components.CodeName {
326
- kinds: [
327
- TimeSeriesPossibilityRanksItemKind<'雨'>,
328
- TimeSeriesPossibilityRanksItemKind<'雪'>,
329
- TimeSeriesPossibilityRanksItemKind<'風(風雪)'>,
330
- TimeSeriesPossibilityRanksItemKind<'波'>,
331
- TimeSeriesPossibilityRanksItemKind<'潮位'>
332
- ] | [
333
- TimeSeriesPossibilityRanksItemKind<'雨'>,
334
- TimeSeriesPossibilityRanksItemKind<'雪'>,
335
- TimeSeriesPossibilityRanksItemKind<'風(風雪)'>
336
- ];
337
- }
338
-
339
-
340
- export interface TimeSeriesPossibilityRanks<TimeDefineName extends boolean = true> {
341
- timeDefines: TimeDefineName extends true ? TimeSeriesTimeDefine[] : Omit<TimeSeriesTimeDefine, 'name'>[];
342
- items: TimeSeriesPossibilityRanksItem[];
343
- }
344
-
345
- export interface PublicBodyVPFD60 {
346
- timeSeries: [
347
- TimeSeries6Hours,
348
- TimeSeries24Hours,
349
- TimeSeriesPossibilityRanks
350
- ];
351
- }
352
-
353
- export interface PublicBodyVPFW60 {
354
- timeSeries: [
355
- TimeSeriesPossibilityRanks<false>
356
- ];
357
- }
358
-
359
- export interface PublicVPFD60 extends TelegramJSONMain {
360
- _schema: Schema;
361
- type: '警報級の可能性(明日まで)';
362
- title: string;
363
- infoType: '発表' | '訂正' | '遅延';
364
- targetDateTimeDubious: never;
365
- targetDuration: string;
366
- validDateTime: never;
367
- eventId: null;
368
- serialNo: null;
369
- infoKind: '警報級の可能性(明日まで)';
370
- body: PublicBodyVPFD60;
371
- }
372
-
373
- export interface PublicVPFW60 extends TelegramJSONMain {
374
- _schema: Schema;
375
- type: '警報級の可能性(明後日以降)';
376
- title: string;
377
- infoType: '発表' | '訂正' | '遅延';
378
- targetDateTimeDubious: never;
379
- targetDuration: string;
380
- validDateTime: never;
381
- eventId: null;
382
- serialNo: null;
383
- infoKind: '警報級の可能性(明後日以降)';
384
- body: PublicBodyVPFW60;
385
- }
386
-
387
- export type Main = PublicVPFD60 | PublicVPFW60;
388
- }
1
+ import { TelegramJSONMain } from '../../main';
2
+ import { Components } from '../../component';
3
+
4
+ export namespace ForecastWarningPossibility {
5
+ export interface Schema {
6
+ type: 'forecast-warning-possibility';
7
+ version: '1.0.0';
8
+ }
9
+
10
+ export interface WindSpeed {
11
+ type: '最大風速';
12
+ unit: 'm/s';
13
+ value: string | null;
14
+ condition?: '以下' | '以上' | '値なし';
15
+ range?: never;
16
+ }
17
+
18
+ export interface WindSpeedRange {
19
+ type: '最大風速';
20
+ range: {
21
+ type: '範囲';
22
+ unit: 'm/s';
23
+ from: string;
24
+ to: string;
25
+ };
26
+ value?: never;
27
+ condition?: never;
28
+ }
29
+
30
+ export interface WaveHeight {
31
+ type: '波高';
32
+ unit: 'm';
33
+ value: string;
34
+ condition?: '以下' | '以上';
35
+ range?: never;
36
+ }
37
+
38
+ export interface WaveHeightNoValue {
39
+ type: '波高';
40
+ unit: 'm';
41
+ value: null;
42
+ condition: '流氷に覆われている' | '値なし' | string;
43
+ range?: never;
44
+ }
45
+
46
+ export interface WaveHeightRange {
47
+ type: '波高';
48
+ range: {
49
+ type: '範囲';
50
+ unit: 'm';
51
+ from: string;
52
+ to: string;
53
+ };
54
+ value?: never;
55
+ condition?: never;
56
+ }
57
+
58
+ export interface Precipitation<Type extends '1時間最大雨量' | '3時間最大雨量' | '24時間最大雨量'> {
59
+ type: Type;
60
+ unit: 'mm';
61
+ value: string | null;
62
+ condition?: '以下' | '以上' | '値なし';
63
+ range?: never;
64
+ }
65
+
66
+ export interface PrecipitationRange<Type extends '1時間最大雨量' | '3時間最大雨量' | '24時間最大雨量'> {
67
+ type: Type;
68
+ range: {
69
+ type: '範囲';
70
+ unit: 'mm';
71
+ from: string;
72
+ to: string;
73
+ };
74
+ value?: never;
75
+ condition?: never;
76
+ }
77
+
78
+ export interface SnowfallDepth<Type extends '6時間最大降雪量' | '24時間最大降雪量'> {
79
+ type: Type;
80
+ unit: 'cm';
81
+ value: string | null;
82
+ condition?: '以上' | '値なし';
83
+ range?: never;
84
+ }
85
+
86
+ export interface SnowfallDepthRange<Type extends '6時間最大降雪量' | '24時間最大降雪量'> {
87
+ type: Type;
88
+ range: {
89
+ type: '範囲';
90
+ unit: 'cm';
91
+ from: string;
92
+ to: string;
93
+ };
94
+ value?: never;
95
+ condition?: never;
96
+ }
97
+
98
+ export interface TimeSeriesTimeDefine {
99
+ timeId: string;
100
+ dateTime: string;
101
+ duration: string;
102
+ name: string;
103
+ }
104
+
105
+ export interface TimeSeriesItemPrecipitationNoRangeDetail<Type extends '1時間最大雨量' | '3時間最大雨量'> {
106
+ refId: string;
107
+ text: string;
108
+ base: {
109
+ locals: [
110
+ {
111
+ name: null;
112
+ precipitation: Precipitation<Type>;
113
+ }
114
+ ] |
115
+ {
116
+ name: string;
117
+ precipitation: Precipitation<Type>;
118
+ }[]
119
+ };
120
+ subArea?: {
121
+ name: string;
122
+ text?: string;
123
+ base: {
124
+ precipitation: Precipitation<Type>;
125
+ };
126
+ };
127
+ }
128
+
129
+ export interface TimeSeriesItemKindPrecipitationNoRange<Type extends '1時間最大雨量' | '3時間最大雨量'> {
130
+ type: Type;
131
+ details: TimeSeriesItemPrecipitationNoRangeDetail<Type>[];
132
+ }
133
+
134
+ export interface TimeSeriesItemSnowfallDepthNoRangeDetail {
135
+ refId: string;
136
+ text: string;
137
+ base: {
138
+ locals: [
139
+ {
140
+ name: null;
141
+ depth: SnowfallDepth<'6時間最大降雪量'>;
142
+ }
143
+ ] |
144
+ {
145
+ name: string;
146
+ depth: SnowfallDepth<'6時間最大降雪量'>;
147
+ }[]
148
+ };
149
+ subArea?: {
150
+ name: string;
151
+ text?: string;
152
+ base: {
153
+ depth: SnowfallDepth<'6時間最大降雪量'>;
154
+ };
155
+ };
156
+ }
157
+
158
+ export interface TimeSeriesItemKindSnowfallDepthNoRange {
159
+ type: '6時間最大降雪量';
160
+ details: TimeSeriesItemSnowfallDepthNoRangeDetail[];
161
+ }
162
+
163
+ export interface TimeSeriesItemWindSpeedDetail {
164
+ refId: string;
165
+ text: string;
166
+ base: {
167
+ locals: [
168
+ {
169
+ name: null;
170
+ speed: WindSpeed | WindSpeedRange;
171
+ }
172
+ ] |
173
+ {
174
+ name: string;
175
+ speed: WindSpeed | WindSpeedRange;
176
+ }[]
177
+ };
178
+ subArea?: {
179
+ name: string
180
+ text?: string;
181
+ base: {
182
+ speed: WindSpeed | WindSpeedRange;
183
+ };
184
+ };
185
+ }
186
+
187
+ export interface TimeSeriesItemKindWindSpeed {
188
+ type: '最大風速';
189
+ details: TimeSeriesItemWindSpeedDetail[];
190
+ }
191
+
192
+ export interface TimeSeriesItemWaveHeightDetail {
193
+ refId: string;
194
+ text: string;
195
+ base: {
196
+ locals: [
197
+ {
198
+ name: null;
199
+ height: WaveHeight | WaveHeightRange | WaveHeightNoValue;
200
+ }
201
+ ] |
202
+ {
203
+ name: string;
204
+ height: WaveHeight | WaveHeightRange | WaveHeightNoValue;
205
+ }[]
206
+ };
207
+ subArea?: {
208
+ name: string;
209
+ text?: string;
210
+ base: {
211
+ height: WaveHeight | WaveHeightRange | WaveHeightNoValue;
212
+ };
213
+ };
214
+ }
215
+
216
+ export interface TimeSeriesItemKindWaveHeight {
217
+ type: '波';
218
+ details: TimeSeriesItemWaveHeightDetail[];
219
+ }
220
+
221
+
222
+ export interface TimeSeries6HoursItem extends Components.CodeName {
223
+ kinds: [
224
+ TimeSeriesItemKindPrecipitationNoRange<'1時間最大雨量'>,
225
+ TimeSeriesItemKindPrecipitationNoRange<'3時間最大雨量'>,
226
+ TimeSeriesItemKindSnowfallDepthNoRange,
227
+ TimeSeriesItemKindWindSpeed,
228
+ TimeSeriesItemKindWaveHeight
229
+ ] | [
230
+ TimeSeriesItemKindPrecipitationNoRange<'1時間最大雨量'>,
231
+ TimeSeriesItemKindPrecipitationNoRange<'3時間最大雨量'>,
232
+ TimeSeriesItemKindSnowfallDepthNoRange,
233
+ TimeSeriesItemKindWindSpeed,
234
+ ];
235
+ }
236
+
237
+ export interface TimeSeries6Hours {
238
+ timeDefines: TimeSeriesTimeDefine[];
239
+ items: TimeSeries6HoursItem[];
240
+ }
241
+
242
+ export interface TimeSeriesItemPrecipitationDetail {
243
+ refId: string;
244
+ text: string;
245
+ base: {
246
+ locals: [
247
+ {
248
+ name: null;
249
+ precipitation: Precipitation<'24時間最大雨量'> | PrecipitationRange<'24時間最大雨量'>;
250
+ }
251
+ ] |
252
+ {
253
+ name: string;
254
+ precipitation: Precipitation<'24時間最大雨量'> | PrecipitationRange<'24時間最大雨量'>;
255
+ }[]
256
+ };
257
+ subArea?: {
258
+ name: string;
259
+ text?: string;
260
+ base: {
261
+ precipitation: Precipitation<'24時間最大雨量'> | PrecipitationRange<'24時間最大雨量'>;
262
+ };
263
+ };
264
+ }
265
+
266
+ export interface TimeSeriesItemKindPrecipitation {
267
+ type: '24時間最大雨量';
268
+ details: TimeSeriesItemPrecipitationDetail[];
269
+ }
270
+
271
+ export interface TimeSeriesItemSnowfallDepthDetail {
272
+ refId: string;
273
+ text: string;
274
+ base: {
275
+ locals: [
276
+ {
277
+ name: null;
278
+ depth: SnowfallDepth<'24時間最大降雪量'> | SnowfallDepthRange<'24時間最大降雪量'>;
279
+ }
280
+ ] |
281
+ {
282
+ name: string;
283
+ depth: SnowfallDepth<'24時間最大降雪量'> | SnowfallDepthRange<'24時間最大降雪量'>;
284
+ }[]
285
+ };
286
+ subArea?: {
287
+ name: string;
288
+ text?: string;
289
+ base: {
290
+ depth: SnowfallDepth<'24時間最大降雪量'> | SnowfallDepthRange<'24時間最大降雪量'>;
291
+ };
292
+ };
293
+ }
294
+
295
+ export interface TimeSeriesItemKindSnowfallDepth {
296
+ type: '24時間最大降雪量';
297
+ details: TimeSeriesItemSnowfallDepthDetail[];
298
+ }
299
+
300
+ export interface TimeSeries24HoursItem extends Components.CodeName {
301
+ kinds: [
302
+ TimeSeriesItemKindPrecipitation,
303
+ TimeSeriesItemKindSnowfallDepth
304
+ ];
305
+ }
306
+
307
+ export interface TimeSeries24Hours {
308
+ timeDefines: [TimeSeriesTimeDefine];
309
+ items: TimeSeries24HoursItem[];
310
+ }
311
+
312
+ export interface TimeSeriesPossibilityRanksItemRank<Type extends '雨' | '雪' | '風(風雪)' | '波' | '潮位'> {
313
+ refId: string;
314
+ type: `${Type}の警報級の可能性`;
315
+ value: '高' | '中' | 'なし' | null;
316
+ condition?: '値なし';
317
+ }
318
+
319
+ export interface TimeSeriesPossibilityRanksItemKind<Type extends '雨' | '雪' | '風(風雪)' | '波' | '潮位'> {
320
+ type: `${Type}の警報級の可能性`;
321
+ text?: string;
322
+ possibilityRanks: TimeSeriesPossibilityRanksItemRank<Type>[];
323
+ }
324
+
325
+ export interface TimeSeriesPossibilityRanksItem extends Components.CodeName {
326
+ kinds: [
327
+ TimeSeriesPossibilityRanksItemKind<'雨'>,
328
+ TimeSeriesPossibilityRanksItemKind<'雪'>,
329
+ TimeSeriesPossibilityRanksItemKind<'風(風雪)'>,
330
+ TimeSeriesPossibilityRanksItemKind<'波'>,
331
+ TimeSeriesPossibilityRanksItemKind<'潮位'>
332
+ ] | [
333
+ TimeSeriesPossibilityRanksItemKind<'雨'>,
334
+ TimeSeriesPossibilityRanksItemKind<'雪'>,
335
+ TimeSeriesPossibilityRanksItemKind<'風(風雪)'>
336
+ ];
337
+ }
338
+
339
+
340
+ export interface TimeSeriesPossibilityRanks<TimeDefineName extends boolean = true> {
341
+ timeDefines: TimeDefineName extends true ? TimeSeriesTimeDefine[] : Omit<TimeSeriesTimeDefine, 'name'>[];
342
+ items: TimeSeriesPossibilityRanksItem[];
343
+ }
344
+
345
+ export interface PublicBodyVPFD60 {
346
+ timeSeries: [
347
+ TimeSeries6Hours,
348
+ TimeSeries24Hours,
349
+ TimeSeriesPossibilityRanks
350
+ ];
351
+ }
352
+
353
+ export interface PublicBodyVPFW60 {
354
+ timeSeries: [
355
+ TimeSeriesPossibilityRanks<false>
356
+ ];
357
+ }
358
+
359
+ export interface PublicVPFD60 extends TelegramJSONMain {
360
+ _schema: Schema;
361
+ type: '警報級の可能性(明日まで)';
362
+ title: string;
363
+ infoType: '発表' | '訂正' | '遅延';
364
+ targetDateTimeDubious: never;
365
+ targetDuration: string;
366
+ validDateTime: never;
367
+ eventId: null;
368
+ serialNo: null;
369
+ infoKind: '警報級の可能性(明日まで)';
370
+ body: PublicBodyVPFD60;
371
+ }
372
+
373
+ export interface PublicVPFW60 extends TelegramJSONMain {
374
+ _schema: Schema;
375
+ type: '警報級の可能性(明後日以降)';
376
+ title: string;
377
+ infoType: '発表' | '訂正' | '遅延';
378
+ targetDateTimeDubious: never;
379
+ targetDuration: string;
380
+ validDateTime: never;
381
+ eventId: null;
382
+ serialNo: null;
383
+ infoKind: '警報級の可能性(明後日以降)';
384
+ body: PublicBodyVPFW60;
385
+ }
386
+
387
+ export type Main = PublicVPFD60 | PublicVPFW60;
388
+ }