@dmdata/telegram-json-types 1.2.0 → 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 (52) 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/dist/jschema-load.js +3 -36
  7. package/index.d.ts +2 -2
  8. package/package.json +30 -32
  9. package/test/sample-schema-check.test.ts +68 -68
  10. package/tsconfig.json +25 -25
  11. package/types/component/coordinate.d.ts +27 -27
  12. package/types/component/earthquake.d.ts +77 -77
  13. package/types/component/index.d.ts +17 -17
  14. package/types/component/unit-value.d.ts +13 -13
  15. package/types/component/util.d.ts +20 -20
  16. package/types/index.d.ts +84 -84
  17. package/types/schema/earthquake-counts/1.0.0.d.ts +69 -69
  18. package/types/schema/earthquake-explanation/1.0.0.d.ts +57 -57
  19. package/types/schema/earthquake-hypocenter-update/1.0.0.d.ts +53 -53
  20. package/types/schema/earthquake-information/1.0.0.d.ts +158 -158
  21. package/types/schema/earthquake-information/1.1.0.d.ts +224 -224
  22. package/types/schema/earthquake-information/index.d.ts +9 -9
  23. package/types/schema/earthquake-nankai/1.0.0.d.ts +101 -101
  24. package/types/schema/eew-information/1.0.0.d.ts +221 -221
  25. package/types/schema/eew-information/index.d.ts +7 -7
  26. package/types/schema/forecast-2week-temperature/1.0.0.d.ts +110 -110
  27. package/types/schema/forecast-prefecture/1.0.0.d.ts +537 -537
  28. package/types/schema/forecast-season/1.0.0.d.ts +169 -169
  29. package/types/schema/forecast-warning-possibility/1.0.0.d.ts +388 -388
  30. package/types/schema/forecast-warning-possibility/1.1.0.d.ts +129 -129
  31. package/types/schema/forecast-warning-possibility/index.d.ts +9 -9
  32. package/types/schema/forecast-weathermap/1.0.0.d.ts +206 -194
  33. package/types/schema/tsunami-information/1.0.0.d.ts +261 -261
  34. package/types/schema/tsunami-information/1.1.0.d.ts +298 -298
  35. package/types/schema/tsunami-information/index.d.ts +9 -9
  36. package/types/schema/volcano-information/1.0.0.d.ts +450 -450
  37. package/types/schema/weather-commentary/1.0.0.d.ts +984 -984
  38. package/types/schema/weather-commentary/index.d.ts +7 -7
  39. package/types/schema/weather-early/1.0.0.d.ts +111 -111
  40. package/types/schema/weather-impact-society/1.0.0.d.ts +143 -143
  41. package/types/schema/weather-impact-society/1.0.1.d.ts +118 -118
  42. package/types/schema/weather-information/1.0.0.d.ts +67 -67
  43. package/types/schema/weather-landslide/1.0.0.d.ts +51 -51
  44. package/types/schema/weather-river-flood/1.0.0.d.ts +192 -192
  45. package/types/schema/weather-tornado/1.0.0.d.ts +55 -55
  46. package/types/schema/weather-typhoon/1.0.0.d.ts +146 -146
  47. package/types/schema/weather-typhoon/index.d.ts +7 -7
  48. package/types/schema/weather-warning/1.0.0.d.ts +213 -213
  49. package/types/schema/weather-warning/1.1.0.d.ts +469 -469
  50. package/types/schema/weather-warning/index.d.ts +9 -9
  51. package/types/schema/weather-warning-timeseries/1.0.0.d.ts +357 -385
  52. 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
+ }