@dmdata/telegram-json-types 1.1.14 → 1.1.15

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,110 @@
1
+ import { TelegramJSONMain } from '../../main';
2
+ import { Components } from '../../component';
3
+
4
+ export namespace Forecast2weekTemperature {
5
+ export interface Schema {
6
+ type: 'forecast-2week-temperature';
7
+ version: '1.0.0';
8
+ }
9
+
10
+ export interface TemperatureComparison {
11
+ type: '最高気温の前後2日5日間平均値の階級' | '最低気温の前後2日5日間平均値の階級' | '前後2日の5日間平均・地域平均気温階級';
12
+ value: '-3' | '-2' | '-1' | '0' | '1' | '2' | '3';
13
+ }
14
+
15
+ export interface TimeSeriesTimeDefine {
16
+ timeId: string;
17
+ dateTime: string;
18
+ duration: string;
19
+ name: string;
20
+ }
21
+
22
+ export interface TimeSeriesZoneItemTemperature {
23
+ refId: string;
24
+ type: '地域平均気温';
25
+ comparison: TemperatureComparison;
26
+ }
27
+
28
+ export interface TimeSeriesZoneItemKind {
29
+ type: '地域平均気温';
30
+ average: TimeSeriesZoneItemTemperature[];
31
+ }
32
+
33
+
34
+ export interface TimeSeriesZoneItem extends Components.CodeName {
35
+ kinds: [
36
+ TimeSeriesZoneItemKind
37
+ ];
38
+ }
39
+
40
+ export interface TimeSeriesZone {
41
+ timeDefines: TimeSeriesTimeDefine[];
42
+ items: TimeSeriesZoneItem[];
43
+ }
44
+
45
+ export interface Zone {
46
+ timeSeries: [
47
+ TimeSeriesZone
48
+ ];
49
+ }
50
+
51
+ export interface TimeSeriesStationItemAverageTemperature<Type extends '最高気温' | '最低気温'> {
52
+ refId: string;
53
+ type: `${Type}の前後2日5日間平均値`;
54
+ unit: '度';
55
+ value: string;
56
+ range: {
57
+ type: `${Type}の前後2日5日間平均値の予測範囲`;
58
+ unit: '度';
59
+ from: string;
60
+ to: string;
61
+ };
62
+ comparison: TemperatureComparison;
63
+ }
64
+
65
+ export interface TimeSeriesStationItemKind {
66
+ type: '最低・最高平均気温';
67
+ averageMaximums: TimeSeriesStationItemAverageTemperature<'最高気温'>[];
68
+ averageMinimums: TimeSeriesStationItemAverageTemperature<'最低気温'>[];
69
+ }
70
+
71
+
72
+ export interface TimeSeriesStationItem extends Components.CodeName {
73
+ kinds: [
74
+ TimeSeriesStationItemKind
75
+ ];
76
+ }
77
+
78
+ export interface TimeSeriesStation {
79
+ timeDefines: TimeSeriesTimeDefine[];
80
+ items: TimeSeriesStationItem[];
81
+ }
82
+
83
+ export interface Station {
84
+ timeSeries: [
85
+ TimeSeriesStation
86
+ ];
87
+ }
88
+
89
+ export interface PublicBody {
90
+ zone: Zone;
91
+ station: Station;
92
+ }
93
+
94
+
95
+ export interface Public extends TelegramJSONMain {
96
+ _schema: Schema;
97
+ type: '地方季節予報(2週間気温予報)';
98
+ title: '2週間気温予報';
99
+ infoType: '発表' | '訂正' | '遅延';
100
+ targetDateTimeDubious: never;
101
+ targetDuration: 'P5D';
102
+ validDateTime: never;
103
+ eventId: null;
104
+ serialNo: null;
105
+ infoKind: '2週間気温予報';
106
+ body: PublicBody;
107
+ }
108
+
109
+ export type Main = Public;
110
+ }
@@ -0,0 +1,7 @@
1
+ import { Forecast2weekTemperature as v1_0_0 } from './1.0.0';
2
+
3
+
4
+ export {
5
+ v1_0_0 as Latest,
6
+ v1_0_0
7
+ };
@@ -0,0 +1,526 @@
1
+ import { TelegramJSONMain } from '../../main';
2
+ import { Components } from '../../component';
3
+
4
+ export namespace ForecastPrefecture {
5
+ export interface Schema {
6
+ type: 'forecast-prefecture';
7
+ version: '1.0.0';
8
+ }
9
+
10
+
11
+ export interface WindDirection {
12
+ type: '風向';
13
+ unit: '8方位漢字';
14
+ value: '北' | '北東' | '東' | '南東' | '南' | '南西' | '西' | '北西' | null;
15
+ condition?: 'やや強く' | '強く' | '非常に強く' | string;
16
+ }
17
+
18
+ export interface WindDirectionMildWind extends WindDirection {
19
+ value: null;
20
+ condition: '風弱く';
21
+ }
22
+
23
+ export interface WindDirectionWindSubside extends WindDirection {
24
+ condition: 'おさまり';
25
+ }
26
+
27
+ export interface WindSpeedLevel {
28
+ type: '風速階級';
29
+ value: string;
30
+ range: {
31
+ type: '風速階級の範囲';
32
+ unit: 'm/s';
33
+ from: string;
34
+ to: string | 'over';
35
+ };
36
+ }
37
+
38
+ export interface WaveHeight {
39
+ type: '波高';
40
+ unit: 'm';
41
+ value: string | null;
42
+ condition?: 'うねり を伴う' | '予報無し';
43
+ }
44
+
45
+ export interface PrecipitationProbability<Type extends '6時間降水確率' | '日降水確率'> {
46
+ type: Type;
47
+ unit: '%';
48
+ value: string;
49
+ }
50
+
51
+ export interface Temperature<Type extends '日中の最高気温' | '最高気温' | '最低気温' | '朝の最低気温' | '気温' | '最高気温平年値' | '最低気温平年値'> {
52
+ type: Type;
53
+ unit: '度';
54
+ value: string;
55
+ }
56
+
57
+ export interface TimeSeriesTimeDefine {
58
+ timeId: string;
59
+ dateTime: string;
60
+ duration: string;
61
+ name: string;
62
+ }
63
+
64
+
65
+ /**
66
+ * 府県天気予報(VPFD51)
67
+ */
68
+
69
+ export interface TimeSeriesRegionDayItemWeather extends Components.CodeName {
70
+ refId: string;
71
+ }
72
+
73
+ export interface TimeSeriesRegionDayItemWeatherDetail {
74
+ refId: string;
75
+ text: string;
76
+ base: {
77
+ name: string;
78
+ condition?: string;
79
+ };
80
+ temporaries?: {
81
+ timeModifier: string;
82
+ name: string;
83
+ }[];
84
+ becomings?: {
85
+ timeModifier: string;
86
+ name: string;
87
+ }[];
88
+ subArea?: {
89
+ text: string;
90
+ };
91
+ }
92
+
93
+ export interface TimeSeriesRegionDayItemKindWeather {
94
+ type: '天気';
95
+ weathers: TimeSeriesRegionDayItemWeather[];
96
+ details: TimeSeriesRegionDayItemWeatherDetail[];
97
+ }
98
+
99
+ export interface TimeSeriesRegionDayItemWindDetail {
100
+ refId: string;
101
+ text: string;
102
+ base: {
103
+ direction: WindDirection | WindDirectionMildWind;
104
+ };
105
+ becomings?: {
106
+ timeModifier: string;
107
+ direction: WindDirection | WindDirectionWindSubside;
108
+ }[];
109
+ subArea?: {
110
+ name: string;
111
+ base?: {
112
+ timeModifier?: string;
113
+ direction: WindDirection;
114
+ };
115
+ becomings?: {
116
+ timeModifier: string;
117
+ direction: WindDirection | WindDirectionWindSubside;
118
+ }[];
119
+ };
120
+ }
121
+
122
+ export interface TimeSeriesRegionDayItemKindWind {
123
+ type: '風';
124
+ details: TimeSeriesRegionDayItemWindDetail[];
125
+ }
126
+
127
+ export interface TimeSeriesRegionDayItemWaveDetail {
128
+ refId: string;
129
+ text: string;
130
+ base: {
131
+ height: WaveHeight;
132
+ };
133
+ becomings?: {
134
+ timeModifier: string;
135
+ height: WaveHeight;
136
+ }[];
137
+ subArea?: {
138
+ name: string;
139
+ base?: {
140
+ timeModifier?: string;
141
+ height: WaveHeight;
142
+ };
143
+ becomings?: {
144
+ timeModifier: string;
145
+ height: WaveHeight;
146
+ }[];
147
+ };
148
+ }
149
+
150
+ export interface TimeSeriesRegionDayItemKindWave {
151
+ type: '波';
152
+ details: TimeSeriesRegionDayItemWaveDetail[];
153
+ }
154
+
155
+ export interface TimeSeriesRegionDayItem extends Components.CodeName {
156
+ kinds: [
157
+ TimeSeriesRegionDayItemKindWeather,
158
+ TimeSeriesRegionDayItemKindWind,
159
+ TimeSeriesRegionDayItemKindWave
160
+ ] | [
161
+ TimeSeriesRegionDayItemKindWeather,
162
+ TimeSeriesRegionDayItemKindWind
163
+ ];
164
+ }
165
+
166
+ export interface TimeSeriesRegionDay {
167
+ timeDefines: TimeSeriesTimeDefine[];
168
+ items: TimeSeriesRegionDayItem[];
169
+ }
170
+
171
+ export interface TimeSeriesRegion6HoursItemPrecipitationProbability extends PrecipitationProbability<'6時間降水確率'> {
172
+ refId: string;
173
+ condition: '雨' | '雪' | '雨か雪' | '雪か雨';
174
+ }
175
+
176
+ export interface TimeSeriesRegion6HoursItemKindPrecipitationProbability {
177
+ type: '降水確率';
178
+ probabilities: TimeSeriesRegion6HoursItemPrecipitationProbability[];
179
+ }
180
+
181
+ export interface TimeSeriesRegion6HoursItem extends Components.CodeName {
182
+ kinds: [
183
+ TimeSeriesRegion6HoursItemKindPrecipitationProbability
184
+ ];
185
+ }
186
+
187
+ export interface TimeSeriesRegion6Hours {
188
+ timeDefines: TimeSeriesTimeDefine[];
189
+ items: TimeSeriesRegion6HoursItem[];
190
+ }
191
+
192
+ export interface TimeSeriesRegion3HoursItemWeather {
193
+ refId: string;
194
+ name: string;
195
+ }
196
+
197
+ export interface TimeSeriesRegion3HoursItemKindWeather {
198
+ type: '3時間内卓越天気';
199
+ weathers: TimeSeriesRegion3HoursItemWeather[];
200
+ }
201
+
202
+ export interface TimeSeriesRegion3HoursItemWindDirection extends Omit<WindDirection, 'condition'> {
203
+ refId: string;
204
+ }
205
+
206
+ export interface TimeSeriesRegion3HoursItemWindSpeedLevel extends WindSpeedLevel {
207
+ refId: string;
208
+ }
209
+
210
+ export interface TimeSeriesRegion3HoursItemForecastWind {
211
+ type: '3時間内代表風';
212
+ directions: TimeSeriesRegion3HoursItemWindDirection[];
213
+ speedLevels: TimeSeriesRegion3HoursItemWindSpeedLevel[];
214
+ }
215
+
216
+
217
+ export interface TimeSeriesRegion3HoursItem extends Components.CodeName {
218
+ kinds: [
219
+ TimeSeriesRegion3HoursItemKindWeather,
220
+ TimeSeriesRegion3HoursItemForecastWind
221
+ ];
222
+ }
223
+
224
+ export interface TimeSeriesRegion3Hours {
225
+ timeDefines: Omit<TimeSeriesTimeDefine, 'name'>[];
226
+ items: TimeSeriesRegion3HoursItem[];
227
+ }
228
+
229
+ export interface VPFD51Region {
230
+ timeSeries: [
231
+ TimeSeriesRegionDay,
232
+ TimeSeriesRegion6Hours,
233
+ TimeSeriesRegion3Hours
234
+ ];
235
+ }
236
+
237
+ /**
238
+ * 地点予報
239
+ */
240
+
241
+ export interface TimeSeriesStationDayItemTemperatureDiurnalMaximum extends Temperature<'日中の最高気温'> {
242
+ refId: string;
243
+ }
244
+
245
+ export interface TimeSeriesStationDayItemTemperatureMaximum extends Temperature<'最高気温'> {
246
+ refId: string;
247
+ }
248
+
249
+ export interface TimeSeriesStationDayItemTemperatureMorningMinimum extends Temperature<'朝の最低気温'> {
250
+ refId: string;
251
+ }
252
+
253
+ export interface TimeSeriesStationDayItemKindTemperature {
254
+ type: '気温';
255
+ temperatures: [
256
+ TimeSeriesStationDayItemTemperatureDiurnalMaximum,
257
+ TimeSeriesStationDayItemTemperatureMaximum,
258
+ TimeSeriesStationDayItemTemperatureMorningMinimum,
259
+ TimeSeriesStationDayItemTemperatureDiurnalMaximum
260
+ ] | [
261
+ TimeSeriesStationDayItemTemperatureMorningMinimum,
262
+ TimeSeriesStationDayItemTemperatureDiurnalMaximum
263
+ ];
264
+ }
265
+
266
+ export interface TimeSeriesStationDayItem extends Components.CodeName {
267
+ kinds: [
268
+ TimeSeriesStationDayItemKindTemperature
269
+ ];
270
+ }
271
+
272
+ export interface TimeSeriesStationDay {
273
+ timeDefines: TimeSeriesTimeDefine[];
274
+ items: TimeSeriesStationDayItem[];
275
+ }
276
+
277
+
278
+ export interface TimeSeriesStation3HoursItemTemperature extends Temperature<'気温'> {
279
+ refId: string;
280
+ }
281
+
282
+ export interface TimeSeriesStation3HoursItemKindTemperature {
283
+ type: '3時間毎気温';
284
+ temperatures: TimeSeriesStation3HoursItemTemperature[];
285
+ }
286
+
287
+ export interface TimeSeriesStation3HoursItem extends Components.CodeName {
288
+ kinds: [
289
+ TimeSeriesStation3HoursItemKindTemperature
290
+ ];
291
+ }
292
+
293
+ export interface TimeSeriesStation3Hours {
294
+ timeDefines: Omit<TimeSeriesTimeDefine, 'duration' | 'name'>[];
295
+ items: TimeSeriesStation3HoursItem[];
296
+ }
297
+
298
+ export interface VPFD51Station {
299
+ timeSeries: [
300
+ TimeSeriesStationDay,
301
+ TimeSeriesStation3Hours
302
+ ];
303
+ }
304
+
305
+ export interface AdditionalForecastItem extends Components.CodeName {
306
+ text: string;
307
+ }
308
+
309
+ export interface AdditionalForecast {
310
+ type: '独自予報';
311
+ period: {
312
+ dateTime: {
313
+ value: string;
314
+ };
315
+ duration: string;
316
+ };
317
+ items: [AdditionalForecastItem];
318
+ }
319
+
320
+ export interface PublicBodyVPFD51 {
321
+ region: VPFD51Region;
322
+ station: VPFD51Station;
323
+ additionForecasts?: [AdditionalForecast];
324
+ }
325
+
326
+ /**
327
+ * 府県週間天気予報(VPFW50)
328
+ */
329
+ export interface TimeSeriesRegionWeekItemWeather extends Components.CodeName {
330
+ refId: string;
331
+ }
332
+
333
+ export interface TimeSeriesRegionWeekItemKindWeather {
334
+ type: '天気';
335
+ weathers: TimeSeriesRegionWeekItemWeather[];
336
+ }
337
+
338
+ export interface TimeSeriesRegionWeekItemPrecipitationProbability extends PrecipitationProbability<'日降水確率'> {
339
+ refId: string;
340
+ condition?: never;
341
+ }
342
+
343
+ export interface TimeSeriesRegionWeekItemPrecipitationProbabilityNoValue extends Omit<PrecipitationProbability<'日降水確率'>, 'value'> {
344
+ refId: string;
345
+ value: null;
346
+ condition: '値なし';
347
+ }
348
+
349
+ export interface TimeSeriesRegionWeekItemKindPrecipitationProbability {
350
+ type: '降水確率';
351
+ probabilities: (TimeSeriesRegionWeekItemPrecipitationProbabilityNoValue | TimeSeriesRegionWeekItemPrecipitationProbability)[];
352
+ }
353
+
354
+ export interface TimeSeriesRegionWeekItemReliabilityClass {
355
+ refId: string;
356
+ type: '信頼度階級';
357
+ value: 'A' | 'B' | 'C';
358
+ condition?: never;
359
+ }
360
+
361
+ export interface TimeSeriesRegionWeekItemReliabilityClassNoValue {
362
+ refId: string;
363
+ type: '信頼度階級';
364
+ value: null;
365
+ condition: '値なし';
366
+ }
367
+
368
+ export interface TimeSeriesRegionWeekItemKindReliabilityClass {
369
+ type: '信頼度';
370
+ reliabilityClasses: (TimeSeriesRegionWeekItemReliabilityClassNoValue | TimeSeriesRegionWeekItemReliabilityClass)[];
371
+ }
372
+
373
+ export interface TimeSeriesRegionWeekItem extends Components.CodeName {
374
+ kinds: [
375
+ TimeSeriesRegionWeekItemKindWeather,
376
+ TimeSeriesRegionWeekItemKindPrecipitationProbability,
377
+ TimeSeriesRegionWeekItemKindReliabilityClass
378
+ ];
379
+ }
380
+
381
+ export interface TimeSeriesRegionWeek {
382
+ timeDefines: Omit<TimeSeriesTimeDefine, 'name'>[];
383
+ items: TimeSeriesRegionWeekItem[];
384
+ }
385
+
386
+ export interface VPFW50Region {
387
+ timeSeries: [TimeSeriesRegionWeek];
388
+ }
389
+
390
+ export interface TimeSeriesStationWeekItemTemperatureRange<Type extends '最低気温' | '最高気温'> extends Temperature<Type> {
391
+ refId: string;
392
+ range: {
393
+ type: `${Type}予測範囲`;
394
+ unit: '度';
395
+ from: string;
396
+ to: string;
397
+ };
398
+ condition?: never;
399
+ }
400
+
401
+ export interface TimeSeriesStationWeekItemTemperatureRangeNoValue<Type extends '最低気温' | '最高気温'> extends Omit<Temperature<Type>, 'value'> {
402
+ refId: string;
403
+ range: {
404
+ type: `${Type}予測範囲`;
405
+ unit: '度';
406
+ from: null;
407
+ to: null;
408
+ };
409
+ value: null;
410
+ condition: '値なし';
411
+ }
412
+
413
+ export interface TimeSeriesStationWeekItemKindTemperature {
414
+ type: '最低・最高気温';
415
+ minimums: (TimeSeriesStationWeekItemTemperatureRange<'最低気温'> | TimeSeriesStationWeekItemTemperatureRangeNoValue<'最低気温'>)[];
416
+ maximums: (TimeSeriesStationWeekItemTemperatureRange<'最高気温'> | TimeSeriesStationWeekItemTemperatureRangeNoValue<'最高気温'>)[];
417
+ }
418
+
419
+
420
+ export interface TimeSeriesStationWeekItem extends Components.CodeName {
421
+ kinds: [
422
+ TimeSeriesStationWeekItemKindTemperature
423
+ ];
424
+ }
425
+
426
+ export interface TimeSeriesStationWeek {
427
+ timeDefines: Omit<TimeSeriesTimeDefine, 'name'>[];
428
+ items: TimeSeriesStationWeekItem[];
429
+ }
430
+
431
+ export interface VPFW50Station {
432
+ timeSeries: [TimeSeriesStationWeek];
433
+ }
434
+
435
+ export interface TimeSeriesReferenceItemTemperature<Type extends '最低気温平年値' | '最高気温平年値'> extends Omit<Temperature<Type>, 'value'> {
436
+ refId: string;
437
+ }
438
+
439
+ export interface TimeSeriesReferenceItemKindTemperature {
440
+ type: '最低・最高気温平年値';
441
+ averageMinimums: TimeSeriesReferenceItemTemperature<'最低気温平年値'>[];
442
+ averageMaximums: TimeSeriesReferenceItemTemperature<'最高気温平年値'>[];
443
+ }
444
+
445
+ export interface TimeSeriesReferenceItem extends Components.CodeName {
446
+ kinds: [
447
+ TimeSeriesReferenceItemKindTemperature
448
+ ];
449
+ }
450
+
451
+ export interface TimeSeriesReference {
452
+ timeDefines: Omit<TimeSeriesTimeDefine, 'name'>[];
453
+ items: TimeSeriesReferenceItem[];
454
+ }
455
+
456
+ export interface ReferenceStatisticStationThresholds<Type extends string> {
457
+ type: Type;
458
+ unit: 'mm';
459
+ value: string;
460
+ }
461
+
462
+ export interface ReferenceStatisticStation extends Components.CodeName {
463
+ type: '降水量7日間合計階級閾値';
464
+ thresholds: [
465
+ ReferenceStatisticStationThresholds<'降水量7日間合計階級最小値'>,
466
+ ReferenceStatisticStationThresholds<'降水量7日間合計階級かなり少ない'>,
467
+ ReferenceStatisticStationThresholds<'降水量7日間合計階級少ない'>,
468
+ ReferenceStatisticStationThresholds<'降水量7日間合計階級多い'>,
469
+ ReferenceStatisticStationThresholds<'降水量7日間合計階級かなり多い'>,
470
+ ReferenceStatisticStationThresholds<'降水量7日間合計階級最大値'>,
471
+ ];
472
+ }
473
+
474
+ export interface ReferenceStatistic {
475
+ type: '7日間平年値';
476
+ period: {
477
+ dateTime: {
478
+ value: string;
479
+ };
480
+ duration: string;
481
+ };
482
+ stations: ReferenceStatisticStation[];
483
+ }
484
+
485
+ export interface Reference {
486
+ timeSeries: [TimeSeriesReference];
487
+ statistics: [ReferenceStatistic];
488
+ }
489
+
490
+ export interface PublicBodyVPFW50 {
491
+ region: VPFW50Region;
492
+ station: VPFW50Station;
493
+ reference: Reference;
494
+ }
495
+
496
+
497
+ export interface PublicVPFD51 extends TelegramJSONMain {
498
+ _schema: Schema;
499
+ type: '府県天気予報(R1)';
500
+ title: string;
501
+ infoType: '発表' | '訂正' | '遅延';
502
+ targetDateTimeDubious: never;
503
+ targetDuration: string;
504
+ validDateTime: never;
505
+ eventId: null;
506
+ serialNo: null;
507
+ infoKind: '府県天気予報';
508
+ body: PublicBodyVPFD51;
509
+ }
510
+
511
+ export interface PublicVPFW50 extends TelegramJSONMain {
512
+ _schema: Schema;
513
+ type: '府県週間天気予報';
514
+ title: string;
515
+ infoType: '発表' | '訂正' | '遅延';
516
+ targetDateTimeDubious: never;
517
+ targetDuration: string;
518
+ validDateTime: never;
519
+ eventId: null;
520
+ serialNo: null;
521
+ infoKind: '府県週間天気予報';
522
+ body: PublicBodyVPFW50;
523
+ }
524
+
525
+ export type Main = PublicVPFD51 | PublicVPFW50;
526
+ }
@@ -0,0 +1,7 @@
1
+ import { ForecastPrefecture as v1_0_0 } from './1.0.0';
2
+
3
+
4
+ export {
5
+ v1_0_0 as Latest,
6
+ v1_0_0
7
+ };