@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,385 +1,357 @@
1
- import { TelegramJSONMain } from '../../main';
2
- import { Components, Util } from '../../component';
3
-
4
- export namespace WeatherWarningTimeseries {
5
- export interface Schema {
6
- type: 'weather-warning-timeseries';
7
- version: '1.0.0';
8
- }
9
-
10
- /**
11
- * 危険度
12
- */
13
- export type RiskTypes =
14
- '土砂災害危険度' |
15
- '大雨浸水危険度' |
16
- '風危険度' |
17
- '波危険度' |
18
- '雪危険度' |
19
- '高潮危険度' |
20
- '雷危険度' |
21
- '融雪危険度' |
22
- '着雪危険度' |
23
- '着氷危険度' |
24
- 'なだれ危険度' |
25
- '濃霧危険度' |
26
- '乾燥危険度' |
27
- '霜危険度' |
28
- '低温危険度';
29
-
30
- // 危険度
31
- export interface Significancy {
32
- refId: string;
33
- type: RiskTypes;
34
- code: '50' | '30' | '20' | '01' | '51' | '41' | '31' | '22' | '21' | '11' | '00';
35
- name: '特別警報級' | '警報級' | '注意報級' | '注意報級未満' | '警戒レベル5相当' | '警戒レベル4相当' | '警戒レベル3相当' | '警戒レベル2相当' | '警戒レベル2' | '警戒レベル2未満' | '値なし';
36
- }
37
-
38
- export interface SignificancesBase {
39
- significances: Significancy[];
40
- }
41
-
42
- export type SignificancesLocal = Util.Local<SignificancesBase>;
43
- export type SignificancesPart = Util.Part<SignificancesBase, SignificancesLocal>;
44
-
45
- // 風向
46
- export type Direction = Util.TimeRefID<Util.ValueElement<'風向', '8方位漢字', '風雪'>>;
47
-
48
- export interface WindDirectionsBase {
49
- directions: Direction[];
50
- }
51
-
52
- export type WindDirectionsLocal = Util.Local<WindDirectionsBase>;
53
- export type WindDirectionsPart = Util.Part<WindDirectionsBase, WindDirectionsLocal>;
54
-
55
- // 風速
56
- export type Speed = Util.TimeRefID<Util.ValueElement<'最大風速', 'm/s', '風雪'>>;
57
-
58
- export interface WindSpeedsBase {
59
- speeds: Speed[];
60
- }
61
-
62
- export type WindSpeedsLocal = Util.Local<WindSpeedsBase>;
63
- export type WindSpeedsPart = Util.Part<WindSpeedsBase, WindSpeedsLocal>;
64
-
65
- // 波
66
- export type WaveHeightTypes = '波高' | 'うちあげ高水位' | '最高うちあげ高水位';
67
-
68
- export type WaveHeight<Type extends WaveHeightTypes> = Util.TimeRefID<Util.ValueElement<Type, 'm', '以下' | '未満'>>;
69
-
70
- export interface WaveHeightsBase<Type extends WaveHeightTypes> {
71
- waveHeights: WaveHeight<Type>[];
72
- }
73
-
74
- export type WaveHeightsLocal<Type extends WaveHeightTypes> = Util.Local<WaveHeightsBase<Type>>;
75
- export type WaveHeightsPart<Type extends WaveHeightTypes> = Util.Part<WaveHeightsBase<Type>, WaveHeightsLocal<Type>>;
76
-
77
- // 潮位
78
- type TidalLevelTypes = '潮位' | '最高潮位';
79
-
80
- export type TidalLevel<Type extends TidalLevelTypes> = Util.TimeRefID<Util.ValueElement<Type, 'm', '以下' | '未満'>>;
81
-
82
- export interface TidalLevelsBase<Type extends TidalLevelTypes> {
83
- tidalLevels: TidalLevel<Type>[];
84
- }
85
-
86
- export type TidalLevelsLocal<Type extends TidalLevelTypes> = Util.Local<TidalLevelsBase<Type>>;
87
- export type TidalLevelsPart<Type extends TidalLevelTypes> = Util.Part<TidalLevelsBase<Type>, TidalLevelsLocal<Type>>;
88
-
89
- // 雪
90
- export type SnowfallDepthTypes = '6時間最大降雪量' | '12時間最大降雪量' | '24時間最大降雪量';
91
-
92
- export interface SnowfallDepth<Type extends SnowfallDepthTypes = SnowfallDepthTypes> {
93
- refId: string;
94
- type: Type;
95
- unit: 'cm';
96
- value: string;
97
- condition?: '以下' | '未満';
98
- }
99
-
100
- export interface SnowfallDepthsBase<Type extends SnowfallDepthTypes> {
101
- snowfallDepths: SnowfallDepth<Type>[];
102
- }
103
-
104
- export type SnowfallDepthsLocal<Type extends SnowfallDepthTypes> = Util.Local<SnowfallDepthsBase<Type>>;
105
- export type SnowfallDepthsPart<Type extends SnowfallDepthTypes> = Util.Part<SnowfallDepthsBase<Type>, SnowfallDepthsLocal<Type>>;
106
-
107
- // 湿度
108
- export type HumidityTypes = '実効湿度' | '最小湿度';
109
-
110
- export type Humidity<Type extends HumidityTypes> = Util.TimeRefID<Util.ValueElement<Type, '%'>>;
111
-
112
- export interface HumiditiesBase<Type extends HumidityTypes> {
113
- humidities: Humidity<Type>[];
114
- }
115
-
116
- export type HumiditiesLocal<Type extends HumidityTypes> = Util.Local<HumiditiesBase<Type>>;
117
- export type HumiditiesPart<Type extends HumidityTypes> = Util.Part<HumiditiesBase<Type>, HumiditiesLocal<Type>>;
118
-
119
- // 雨
120
- export type PrecipitationTypes = '1時間最大雨量' | '24時間最大雨量';
121
-
122
- export type Precipitation<Type extends PrecipitationTypes> = Util.TimeRefID<Util.ValueElement<Type, 'mm', '以下' | '未満'>>;
123
-
124
- export interface PrecipitationsBase<Type extends PrecipitationTypes> {
125
- precipitations: Precipitation<Type>[];
126
- }
127
-
128
- export type PrecipitationsLocal<Type extends PrecipitationTypes> = Util.Local<PrecipitationsBase<Type>>;
129
- export type PrecipitationsPart<Type extends PrecipitationTypes> = Util.Part<PrecipitationsBase<Type>, PrecipitationsLocal<Type>>;
130
-
131
-
132
- export interface TimeSeriesPropertyRisk {
133
- type: RiskTypes;
134
- significancyPart: SignificancesPart;
135
- }
136
-
137
- export interface TimeSeriesPropertyPrecipitation<Type extends PrecipitationTypes> {
138
- type: '雨';
139
- precipitationParts: PrecipitationsPart<Type>[];
140
- }
141
-
142
- export interface TimeSeriesPropertyWind {
143
- type: '風';
144
- windDirectionPart: WindDirectionsPart;
145
- windSpeedPart: WindSpeedsPart;
146
- }
147
-
148
- export interface TimeSeriesPropertyWave {
149
- type: '波';
150
- waveHeightPart: WaveHeightsPart<'波高'>;
151
- }
152
-
153
-
154
- export interface TimeSeriesPropertyStormSurge {
155
- type: '高潮';
156
- waveHeightPart?: WaveHeightsPart<'うちあげ高水位'>;
157
- tidalLevelPart: TidalLevelsPart<'潮位'>;
158
- }
159
-
160
- export interface TimeSeriesPropertySnow<Type extends SnowfallDepthTypes> {
161
- type: '雪';
162
- snowfallDepthPart: SnowfallDepthsPart<Type>;
163
- }
164
-
165
- type HumiditiesPartEffective = HumiditiesPart<'実効湿度'>;
166
- type HumiditiesPartMinimum = HumiditiesPart<'最小湿度'>;
167
-
168
- export interface TimeSeriesPropertyDryAir {
169
- type: '乾燥';
170
- humidityParts: [HumiditiesPartEffective, HumiditiesPartMinimum] | [HumiditiesPartEffective | HumiditiesPartMinimum];
171
- }
172
-
173
- export type TimeSeriesProperty =
174
- TimeSeriesPropertyRisk |
175
- TimeSeriesPropertyPrecipitation<PrecipitationTypes> |
176
- TimeSeriesPropertyWind |
177
- TimeSeriesPropertyWave |
178
- TimeSeriesPropertyStormSurge |
179
- TimeSeriesPropertySnow<SnowfallDepthTypes> |
180
- TimeSeriesPropertyDryAir;
181
-
182
- export interface TimeSeriesKindBase<P extends [TimeSeriesProperty]> {
183
- status: '発表' | '継続';
184
- dateTime: string;
185
- properties: P;
186
- }
187
-
188
- export type TimeSeriesPropertiesRainRisk = [TimeSeriesPropertyRisk];
189
- export type TimeSeriesPropertiesPrecipitation<Type extends PrecipitationTypes> = [TimeSeriesPropertyPrecipitation<Type>];
190
- export type TimeSeriesPropertiesLandslideRisk = [TimeSeriesPropertyRisk];
191
- export type TimeSeriesPropertiesWindRisk = [TimeSeriesPropertyRisk];
192
- export type TimeSeriesPropertiesWind = [TimeSeriesPropertyWind];
193
- export type TimeSeriesPropertiesSnowRisk = [TimeSeriesPropertyRisk];
194
- export type TimeSeriesPropertiesSnow<Type extends SnowfallDepthTypes> = [TimeSeriesPropertySnow<Type>];
195
- export type TimeSeriesPropertiesWaveRisk = [TimeSeriesPropertyRisk];
196
- export type TimeSeriesPropertiesWave = [TimeSeriesPropertyWave];
197
- export type TimeSeriesPropertiesStormSurgeRisk = [TimeSeriesPropertyRisk];
198
- export type TimeSeriesPropertiesStormSurge = [TimeSeriesPropertyStormSurge];
199
- export type TimeSeriesPropertiesThunderRisk = [TimeSeriesPropertyRisk];
200
- export type TimeSeriesPropertiesSnowMeltingRisk = [TimeSeriesPropertyRisk];
201
- export type TimeSeriesPropertiesDenseFogRisk = [TimeSeriesPropertyRisk];
202
- export type TimeSeriesPropertiesDryAirRisk = [TimeSeriesPropertyRisk];
203
- export type TimeSeriesPropertiesDryAir = [TimeSeriesPropertyDryAir];
204
- export type TimeSeriesPropertiesAvalancheRisk = [TimeSeriesPropertyRisk];
205
- export type TimeSeriesPropertiesLowTemperatureRisk = [TimeSeriesPropertyRisk];
206
- export type TimeSeriesPropertiesFrostRisk = [TimeSeriesPropertyRisk];
207
- export type TimeSeriesPropertiesIceAccretionRisk = [TimeSeriesPropertyRisk];
208
- export type TimeSeriesPropertiesSnowAccretionRisk = [TimeSeriesPropertyRisk];
209
-
210
- export type TimeSeriesKindProperties =
211
- TimeSeriesPropertiesRainRisk |
212
- TimeSeriesPropertiesPrecipitation<PrecipitationTypes> |
213
- TimeSeriesPropertiesLandslideRisk |
214
- TimeSeriesPropertiesWindRisk |
215
- TimeSeriesPropertiesWind |
216
- TimeSeriesPropertiesSnowRisk |
217
- TimeSeriesPropertiesSnow<SnowfallDepthTypes> |
218
- TimeSeriesPropertiesWaveRisk |
219
- TimeSeriesPropertiesWave |
220
- TimeSeriesPropertiesStormSurgeRisk |
221
- TimeSeriesPropertiesStormSurge |
222
- TimeSeriesPropertiesThunderRisk |
223
- TimeSeriesPropertiesSnowMeltingRisk |
224
- TimeSeriesPropertiesDenseFogRisk |
225
- TimeSeriesPropertiesDryAirRisk |
226
- TimeSeriesPropertiesDryAir |
227
- TimeSeriesPropertiesAvalancheRisk |
228
- TimeSeriesPropertiesLowTemperatureRisk |
229
- TimeSeriesPropertiesFrostRisk |
230
- TimeSeriesPropertiesIceAccretionRisk |
231
- TimeSeriesPropertiesSnowAccretionRisk;
232
-
233
- export type TimeSeriesKindRainRisk = TimeSeriesKindBase<TimeSeriesPropertiesRainRisk>;
234
- export type TimeSeriesKindPrecipitation<Type extends PrecipitationTypes> = TimeSeriesKindBase<TimeSeriesPropertiesPrecipitation<Type>>;
235
- export type TimeSeriesKindLandslideRisk = TimeSeriesKindBase<TimeSeriesPropertiesLandslideRisk>;
236
- export type TimeSeriesKindWindRisk = TimeSeriesKindBase<TimeSeriesPropertiesWindRisk>;
237
- export type TimeSeriesKindWind = TimeSeriesKindBase<TimeSeriesPropertiesWind>;
238
- export type TimeSeriesKindSnowRisk = TimeSeriesKindBase<TimeSeriesPropertiesSnowRisk>;
239
- export type TimeSeriesKindSnow<Type extends SnowfallDepthTypes> = TimeSeriesKindBase<TimeSeriesPropertiesSnow<Type>>;
240
- export type TimeSeriesKindWaveRisk = TimeSeriesKindBase<TimeSeriesPropertiesWaveRisk>;
241
- export type TimeSeriesKindWave = TimeSeriesKindBase<TimeSeriesPropertiesWave>;
242
- export type TimeSeriesKindStormSurgeRisk = TimeSeriesKindBase<TimeSeriesPropertiesStormSurgeRisk>;
243
- export type TimeSeriesKindStormSurge = TimeSeriesKindBase<TimeSeriesPropertiesStormSurge>;
244
- export type TimeSeriesKindThunderRisk = TimeSeriesKindBase<TimeSeriesPropertiesThunderRisk>;
245
- export type TimeSeriesKindSnowMeltingRisk = TimeSeriesKindBase<TimeSeriesPropertiesSnowMeltingRisk>;
246
- export type TimeSeriesKindDenseFogRisk = TimeSeriesKindBase<TimeSeriesPropertiesDenseFogRisk>;
247
- export type TimeSeriesKindDryAirRisk = TimeSeriesKindBase<TimeSeriesPropertiesDryAirRisk>;
248
- export type TimeSeriesKindDryAir = TimeSeriesKindBase<TimeSeriesPropertiesDryAir>;
249
- export type TimeSeriesKindAvalancheRisk = TimeSeriesKindBase<TimeSeriesPropertiesAvalancheRisk>;
250
- export type TimeSeriesKindLowTemperatureRisk = TimeSeriesKindBase<TimeSeriesPropertiesLowTemperatureRisk>;
251
- export type TimeSeriesKindFrostRisk = TimeSeriesKindBase<TimeSeriesPropertiesFrostRisk>;
252
- export type TimeSeriesKindIceAccretionRisk = TimeSeriesKindBase<TimeSeriesPropertiesIceAccretionRisk>;
253
- export type TimeSeriesKindSnowAccretionRisk = TimeSeriesKindBase<TimeSeriesPropertiesSnowAccretionRisk>;
254
-
255
- export type TimeSeriesCityKind =
256
- TimeSeriesKindRainRisk |
257
- TimeSeriesKindPrecipitation<PrecipitationTypes> |
258
- TimeSeriesKindLandslideRisk |
259
- TimeSeriesKindWindRisk |
260
- TimeSeriesKindWind |
261
- TimeSeriesKindSnowRisk |
262
- TimeSeriesKindSnow<SnowfallDepthTypes> |
263
- TimeSeriesKindWaveRisk |
264
- TimeSeriesKindWave |
265
- TimeSeriesKindStormSurgeRisk |
266
- TimeSeriesKindStormSurge |
267
- TimeSeriesKindThunderRisk |
268
- TimeSeriesKindSnowMeltingRisk |
269
- TimeSeriesKindDenseFogRisk |
270
- TimeSeriesKindDryAirRisk |
271
- TimeSeriesKindDryAir |
272
- TimeSeriesKindAvalancheRisk |
273
- TimeSeriesKindLowTemperatureRisk |
274
- TimeSeriesKindFrostRisk |
275
- TimeSeriesKindIceAccretionRisk |
276
- TimeSeriesKindSnowAccretionRisk;
277
-
278
- export interface TimeSeriesCity<Kinds extends TimeSeriesCityKind[]> extends Components.CodeName {
279
- kinds: Kinds;
280
- dateTime: string;
281
- }
282
-
283
- export interface TimeSeriesTimeDefine {
284
- timeId: string;
285
- dateTime: string;
286
- duration: string;
287
- name: string;
288
- }
289
-
290
- export interface TimeSeriesBase<Kinds extends TimeSeriesCityKind[]> {
291
- timeDefines: TimeSeriesTimeDefine[];
292
- items: TimeSeriesCity<Kinds>[];
293
- }
294
-
295
- export type TimeSeriesCity1Kinds = [
296
- TimeSeriesKindRainRisk,
297
- TimeSeriesKindPrecipitation<'1時間最大雨量'>,
298
- TimeSeriesKindLandslideRisk,
299
- TimeSeriesKindWindRisk,
300
- TimeSeriesKindWind,
301
- TimeSeriesKindSnowRisk,
302
- TimeSeriesKindSnow<'6時間最大降雪量'>,
303
- TimeSeriesKindWaveRisk,
304
- TimeSeriesKindWave,
305
- TimeSeriesKindStormSurgeRisk,
306
- TimeSeriesKindStormSurge,
307
- TimeSeriesKindThunderRisk,
308
- TimeSeriesKindSnowMeltingRisk,
309
- TimeSeriesKindDenseFogRisk,
310
- TimeSeriesKindIceAccretionRisk,
311
- TimeSeriesKindSnowAccretionRisk
312
- ] | [
313
- TimeSeriesKindRainRisk,
314
- TimeSeriesKindPrecipitation<'1時間最大雨量'>,
315
- TimeSeriesKindLandslideRisk,
316
- TimeSeriesKindWindRisk,
317
- TimeSeriesKindWind,
318
- TimeSeriesKindSnowRisk,
319
- TimeSeriesKindSnow<'6時間最大降雪量'>,
320
- TimeSeriesKindStormSurgeRisk,
321
- TimeSeriesKindStormSurge,
322
- TimeSeriesKindThunderRisk,
323
- TimeSeriesKindSnowMeltingRisk,
324
- TimeSeriesKindDenseFogRisk,
325
- TimeSeriesKindIceAccretionRisk,
326
- TimeSeriesKindSnowAccretionRisk
327
- ] | [
328
- TimeSeriesKindRainRisk,
329
- TimeSeriesKindPrecipitation<'1時間最大雨量'>,
330
- TimeSeriesKindLandslideRisk,
331
- TimeSeriesKindWindRisk,
332
- TimeSeriesKindWind,
333
- TimeSeriesKindSnowRisk,
334
- TimeSeriesKindSnow<'6時間最大降雪量'>,
335
- TimeSeriesKindThunderRisk,
336
- TimeSeriesKindSnowMeltingRisk,
337
- TimeSeriesKindDenseFogRisk,
338
- TimeSeriesKindIceAccretionRisk,
339
- TimeSeriesKindSnowAccretionRisk
340
- ];
341
-
342
- export type TimeSeriesCity1 = TimeSeriesBase<TimeSeriesCity1Kinds>;
343
-
344
- export type TimeSeriesCity2Kinds = [
345
- TimeSeriesKindPrecipitation<'24時間最大雨量'>,
346
- TimeSeriesKindSnow<'24時間最大降雪量'>
347
- ];
348
- export type TimeSeriesCity2 = TimeSeriesBase<TimeSeriesCity2Kinds>;
349
-
350
- export type TimeSeriesCity3Kinds = [
351
- TimeSeriesKindDryAirRisk,
352
- TimeSeriesKindDryAir,
353
- TimeSeriesKindAvalancheRisk,
354
- TimeSeriesKindLowTemperatureRisk,
355
- TimeSeriesKindFrostRisk
356
- ];
357
- export type TimeSeriesCity3 = TimeSeriesBase<TimeSeriesCity3Kinds>;
358
-
359
- export interface QuantitativeForecast {
360
- type: '量的予想時系列(市町村等)';
361
- timeSeries: [TimeSeriesCity1, TimeSeriesCity2, TimeSeriesCity3];
362
- }
363
-
364
- export interface PublicBody {
365
- city: QuantitativeForecast;
366
- }
367
-
368
-
369
- export interface Public extends TelegramJSONMain {
370
- _schema: Schema;
371
- type: '気象警報・注意報時系列情報(R06)';
372
- title: string;
373
- infoType: '発表' | '訂正';
374
- targetDateTimeDubious?: never;
375
- targetDuration?: never;
376
- validDateTime?: never;
377
- eventId: null;
378
- serialNo: null;
379
- infoKind: '気象警報・注意報時系列';
380
- headline: null;
381
- body: PublicBody;
382
- }
383
-
384
- export type Main = Public;
385
- }
1
+ import { TelegramJSONMain } from '../../main';
2
+ import { Components, Util } from '../../component';
3
+
4
+ export namespace WeatherWarningTimeseries {
5
+ export interface Schema {
6
+ type: 'weather-warning-timeseries';
7
+ version: '1.0.0';
8
+ }
9
+
10
+ /**
11
+ * 危険度
12
+ */
13
+ export type RiskTypes =
14
+ '土砂災害危険度' |
15
+ '大雨浸水危険度' |
16
+ '風危険度' |
17
+ '波危険度' |
18
+ '雪危険度' |
19
+ '高潮危険度' |
20
+ '雷危険度' |
21
+ '融雪危険度' |
22
+ '着雪危険度' |
23
+ '着氷危険度' |
24
+ 'なだれ危険度' |
25
+ '濃霧危険度' |
26
+ '乾燥危険度' |
27
+ '霜危険度' |
28
+ '低温危険度';
29
+
30
+ // 危険度
31
+ export interface Significancy {
32
+ refId: string;
33
+ type: RiskTypes;
34
+ code: '50' | '30' | '20' | '01' | '51' | '41' | '31' | '22' | '21' | '11' | '00';
35
+ name: '特別警報級' | '警報級' | '注意報級' | '注意報級未満' | '警戒レベル5相当' | '警戒レベル4相当' | '警戒レベル3相当' | '警戒レベル2相当' | '警戒レベル2' | '警戒レベル2未満' | '値なし';
36
+ }
37
+
38
+ export interface SignificancesBase {
39
+ significances: Significancy[];
40
+ }
41
+
42
+ export type SignificancesLocal = Util.Local<SignificancesBase>;
43
+ export type SignificancesPart = Util.Part<SignificancesBase, SignificancesLocal>;
44
+
45
+ // 風向
46
+ export type Direction = Util.TimeRefID<Util.ValueElement<'風向', '8方位漢字', '風雪'>>;
47
+
48
+ export interface WindDirectionsBase {
49
+ directions: Direction[];
50
+ }
51
+
52
+ export type WindDirectionsLocal = Util.Local<WindDirectionsBase>;
53
+ export type WindDirectionsPart = Util.Part<WindDirectionsBase, WindDirectionsLocal>;
54
+
55
+ // 風速
56
+ export type Speed = Util.TimeRefID<Util.ValueElement<'最大風速', 'm/s', '風雪'>>;
57
+
58
+ export interface WindSpeedsBase {
59
+ speeds: Speed[];
60
+ }
61
+
62
+ export type WindSpeedsLocal = Util.Local<WindSpeedsBase>;
63
+ export type WindSpeedsPart = Util.Part<WindSpeedsBase, WindSpeedsLocal>;
64
+
65
+ // 波
66
+ export type WaveHeightTypes = '波高' | 'うちあげ高水位' | '最高うちあげ高水位';
67
+
68
+ export type WaveHeight<Type extends WaveHeightTypes> = Util.TimeRefID<Util.ValueElement<Type, 'm', '以下' | '未満'>>;
69
+
70
+ export interface WaveHeightsBase<Type extends WaveHeightTypes> {
71
+ waveHeights: WaveHeight<Type>[];
72
+ }
73
+
74
+ export type WaveHeightsLocal<Type extends WaveHeightTypes> = Util.Local<WaveHeightsBase<Type>>;
75
+ export type WaveHeightsPart<Type extends WaveHeightTypes> = Util.Part<WaveHeightsBase<Type>, WaveHeightsLocal<Type>>;
76
+
77
+ // 潮位
78
+ type TidalLevelTypes = '潮位' | '最高潮位';
79
+
80
+ export type TidalLevel<Type extends TidalLevelTypes> = Util.TimeRefID<Util.ValueElement<Type, 'm', '以下' | '未満'>>;
81
+
82
+ export interface TidalLevelsBase<Type extends TidalLevelTypes> {
83
+ tidalLevels: TidalLevel<Type>[];
84
+ }
85
+
86
+ export type TidalLevelsLocal<Type extends TidalLevelTypes> = Util.Local<TidalLevelsBase<Type>>;
87
+ export type TidalLevelsPart<Type extends TidalLevelTypes> = Util.Part<TidalLevelsBase<Type>, TidalLevelsLocal<Type>>;
88
+
89
+ // 雪
90
+ export type SnowfallDepthTypes = '6時間最大降雪量' | '12時間最大降雪量' | '24時間最大降雪量';
91
+
92
+ export interface SnowfallDepth<Type extends SnowfallDepthTypes = SnowfallDepthTypes> {
93
+ refId: string;
94
+ type: Type;
95
+ unit: 'cm';
96
+ value: string;
97
+ condition?: '以下' | '未満';
98
+ }
99
+
100
+ export interface SnowfallDepthsBase<Type extends SnowfallDepthTypes> {
101
+ snowfallDepths: SnowfallDepth<Type>[];
102
+ }
103
+
104
+ export type SnowfallDepthsLocal<Type extends SnowfallDepthTypes> = Util.Local<SnowfallDepthsBase<Type>>;
105
+ export type SnowfallDepthsPart<Type extends SnowfallDepthTypes> = Util.Part<SnowfallDepthsBase<Type>, SnowfallDepthsLocal<Type>>;
106
+
107
+ // 湿度
108
+ export type HumidityTypes = '実効湿度' | '最小湿度';
109
+
110
+ export type Humidity<Type extends HumidityTypes> = Util.TimeRefID<Util.ValueElement<Type, '%'>>;
111
+
112
+ export interface HumiditiesBase<Type extends HumidityTypes> {
113
+ humidities: Humidity<Type>[];
114
+ }
115
+
116
+ export type HumiditiesLocal<Type extends HumidityTypes> = Util.Local<HumiditiesBase<Type>>;
117
+ export type HumiditiesPart<Type extends HumidityTypes> = Util.Part<HumiditiesBase<Type>, HumiditiesLocal<Type>>;
118
+
119
+ // 雨
120
+ export type PrecipitationTypes = '1時間最大雨量' | '24時間最大雨量';
121
+
122
+ export type Precipitation<Type extends PrecipitationTypes> = Util.TimeRefID<Util.ValueElement<Type, 'mm', '以下' | '未満'>>;
123
+
124
+ export interface PrecipitationsBase<Type extends PrecipitationTypes> {
125
+ precipitations: Precipitation<Type>[];
126
+ }
127
+
128
+ export type PrecipitationsLocal<Type extends PrecipitationTypes> = Util.Local<PrecipitationsBase<Type>>;
129
+ export type PrecipitationsPart<Type extends PrecipitationTypes> = Util.Part<PrecipitationsBase<Type>, PrecipitationsLocal<Type>>;
130
+
131
+
132
+ export interface TimeSeriesPropertyRisk {
133
+ type: RiskTypes;
134
+ significancyPart: SignificancesPart;
135
+ }
136
+
137
+ export interface TimeSeriesPropertyPrecipitation<Type extends PrecipitationTypes> {
138
+ type: '雨';
139
+ precipitationParts: PrecipitationsPart<Type>[];
140
+ }
141
+
142
+ export interface TimeSeriesPropertyWind {
143
+ type: '風';
144
+ windDirectionPart: WindDirectionsPart;
145
+ windSpeedPart: WindSpeedsPart;
146
+ }
147
+
148
+ export interface TimeSeriesPropertyWave {
149
+ type: '波';
150
+ waveHeightPart: WaveHeightsPart<'波高'>;
151
+ }
152
+
153
+
154
+ export interface TimeSeriesPropertyStormSurge {
155
+ type: '高潮';
156
+ waveHeightPart?: WaveHeightsPart<'うちあげ高水位'>;
157
+ tidalLevelPart: TidalLevelsPart<'潮位'>;
158
+ }
159
+
160
+ export interface TimeSeriesPropertySnow<Type extends SnowfallDepthTypes> {
161
+ type: '雪';
162
+ snowfallDepthPart: SnowfallDepthsPart<Type>;
163
+ }
164
+
165
+ type HumiditiesPartEffective = HumiditiesPart<'実効湿度'>;
166
+ type HumiditiesPartMinimum = HumiditiesPart<'最小湿度'>;
167
+
168
+ export interface TimeSeriesPropertyDryAir {
169
+ type: '乾燥';
170
+ humidityParts: [HumiditiesPartEffective, HumiditiesPartMinimum] | [HumiditiesPartEffective | HumiditiesPartMinimum];
171
+ }
172
+
173
+ export type TimeSeriesProperty =
174
+ TimeSeriesPropertyRisk |
175
+ TimeSeriesPropertyPrecipitation<PrecipitationTypes> |
176
+ TimeSeriesPropertyWind |
177
+ TimeSeriesPropertyWave |
178
+ TimeSeriesPropertyStormSurge |
179
+ TimeSeriesPropertySnow<SnowfallDepthTypes> |
180
+ TimeSeriesPropertyDryAir;
181
+
182
+ export interface TimeSeriesKindBase<P extends [TimeSeriesProperty]> {
183
+ status: '発表' | '継続';
184
+ dateTime: string;
185
+ properties: P;
186
+ }
187
+
188
+ export type TimeSeriesPropertiesRainRisk = [TimeSeriesPropertyRisk];
189
+ export type TimeSeriesPropertiesPrecipitation<Type extends PrecipitationTypes> = [TimeSeriesPropertyPrecipitation<Type>];
190
+ export type TimeSeriesPropertiesLandslideRisk = [TimeSeriesPropertyRisk];
191
+ export type TimeSeriesPropertiesWindRisk = [TimeSeriesPropertyRisk];
192
+ export type TimeSeriesPropertiesWind = [TimeSeriesPropertyWind];
193
+ export type TimeSeriesPropertiesSnowRisk = [TimeSeriesPropertyRisk];
194
+ export type TimeSeriesPropertiesSnow<Type extends SnowfallDepthTypes> = [TimeSeriesPropertySnow<Type>];
195
+ export type TimeSeriesPropertiesWaveRisk = [TimeSeriesPropertyRisk];
196
+ export type TimeSeriesPropertiesWave = [TimeSeriesPropertyWave];
197
+ export type TimeSeriesPropertiesStormSurgeRisk = [TimeSeriesPropertyRisk];
198
+ export type TimeSeriesPropertiesStormSurge = [TimeSeriesPropertyStormSurge];
199
+ export type TimeSeriesPropertiesThunderRisk = [TimeSeriesPropertyRisk];
200
+ export type TimeSeriesPropertiesSnowMeltingRisk = [TimeSeriesPropertyRisk];
201
+ export type TimeSeriesPropertiesDenseFogRisk = [TimeSeriesPropertyRisk];
202
+ export type TimeSeriesPropertiesDryAirRisk = [TimeSeriesPropertyRisk];
203
+ export type TimeSeriesPropertiesDryAir = [TimeSeriesPropertyDryAir];
204
+ export type TimeSeriesPropertiesAvalancheRisk = [TimeSeriesPropertyRisk];
205
+ export type TimeSeriesPropertiesLowTemperatureRisk = [TimeSeriesPropertyRisk];
206
+ export type TimeSeriesPropertiesFrostRisk = [TimeSeriesPropertyRisk];
207
+ export type TimeSeriesPropertiesIceAccretionRisk = [TimeSeriesPropertyRisk];
208
+ export type TimeSeriesPropertiesSnowAccretionRisk = [TimeSeriesPropertyRisk];
209
+
210
+ export type TimeSeriesKindProperties =
211
+ TimeSeriesPropertiesRainRisk |
212
+ TimeSeriesPropertiesPrecipitation<PrecipitationTypes> |
213
+ TimeSeriesPropertiesLandslideRisk |
214
+ TimeSeriesPropertiesWindRisk |
215
+ TimeSeriesPropertiesWind |
216
+ TimeSeriesPropertiesSnowRisk |
217
+ TimeSeriesPropertiesSnow<SnowfallDepthTypes> |
218
+ TimeSeriesPropertiesWaveRisk |
219
+ TimeSeriesPropertiesWave |
220
+ TimeSeriesPropertiesStormSurgeRisk |
221
+ TimeSeriesPropertiesStormSurge |
222
+ TimeSeriesPropertiesThunderRisk |
223
+ TimeSeriesPropertiesSnowMeltingRisk |
224
+ TimeSeriesPropertiesDenseFogRisk |
225
+ TimeSeriesPropertiesDryAirRisk |
226
+ TimeSeriesPropertiesDryAir |
227
+ TimeSeriesPropertiesAvalancheRisk |
228
+ TimeSeriesPropertiesLowTemperatureRisk |
229
+ TimeSeriesPropertiesFrostRisk |
230
+ TimeSeriesPropertiesIceAccretionRisk |
231
+ TimeSeriesPropertiesSnowAccretionRisk;
232
+
233
+ export type TimeSeriesKindRainRisk = TimeSeriesKindBase<TimeSeriesPropertiesRainRisk>;
234
+ export type TimeSeriesKindPrecipitation<Type extends PrecipitationTypes> = TimeSeriesKindBase<TimeSeriesPropertiesPrecipitation<Type>>;
235
+ export type TimeSeriesKindLandslideRisk = TimeSeriesKindBase<TimeSeriesPropertiesLandslideRisk>;
236
+ export type TimeSeriesKindWindRisk = TimeSeriesKindBase<TimeSeriesPropertiesWindRisk>;
237
+ export type TimeSeriesKindWind = TimeSeriesKindBase<TimeSeriesPropertiesWind>;
238
+ export type TimeSeriesKindSnowRisk = TimeSeriesKindBase<TimeSeriesPropertiesSnowRisk>;
239
+ export type TimeSeriesKindSnow<Type extends SnowfallDepthTypes> = TimeSeriesKindBase<TimeSeriesPropertiesSnow<Type>>;
240
+ export type TimeSeriesKindWaveRisk = TimeSeriesKindBase<TimeSeriesPropertiesWaveRisk>;
241
+ export type TimeSeriesKindWave = TimeSeriesKindBase<TimeSeriesPropertiesWave>;
242
+ export type TimeSeriesKindStormSurgeRisk = TimeSeriesKindBase<TimeSeriesPropertiesStormSurgeRisk>;
243
+ export type TimeSeriesKindStormSurge = TimeSeriesKindBase<TimeSeriesPropertiesStormSurge>;
244
+ export type TimeSeriesKindThunderRisk = TimeSeriesKindBase<TimeSeriesPropertiesThunderRisk>;
245
+ export type TimeSeriesKindSnowMeltingRisk = TimeSeriesKindBase<TimeSeriesPropertiesSnowMeltingRisk>;
246
+ export type TimeSeriesKindDenseFogRisk = TimeSeriesKindBase<TimeSeriesPropertiesDenseFogRisk>;
247
+ export type TimeSeriesKindDryAirRisk = TimeSeriesKindBase<TimeSeriesPropertiesDryAirRisk>;
248
+ export type TimeSeriesKindDryAir = TimeSeriesKindBase<TimeSeriesPropertiesDryAir>;
249
+ export type TimeSeriesKindAvalancheRisk = TimeSeriesKindBase<TimeSeriesPropertiesAvalancheRisk>;
250
+ export type TimeSeriesKindLowTemperatureRisk = TimeSeriesKindBase<TimeSeriesPropertiesLowTemperatureRisk>;
251
+ export type TimeSeriesKindFrostRisk = TimeSeriesKindBase<TimeSeriesPropertiesFrostRisk>;
252
+ export type TimeSeriesKindIceAccretionRisk = TimeSeriesKindBase<TimeSeriesPropertiesIceAccretionRisk>;
253
+ export type TimeSeriesKindSnowAccretionRisk = TimeSeriesKindBase<TimeSeriesPropertiesSnowAccretionRisk>;
254
+
255
+ export type TimeSeriesCityKind =
256
+ TimeSeriesKindRainRisk |
257
+ TimeSeriesKindPrecipitation<PrecipitationTypes> |
258
+ TimeSeriesKindLandslideRisk |
259
+ TimeSeriesKindWindRisk |
260
+ TimeSeriesKindWind |
261
+ TimeSeriesKindSnowRisk |
262
+ TimeSeriesKindSnow<SnowfallDepthTypes> |
263
+ TimeSeriesKindWaveRisk |
264
+ TimeSeriesKindWave |
265
+ TimeSeriesKindStormSurgeRisk |
266
+ TimeSeriesKindStormSurge |
267
+ TimeSeriesKindThunderRisk |
268
+ TimeSeriesKindSnowMeltingRisk |
269
+ TimeSeriesKindDenseFogRisk |
270
+ TimeSeriesKindDryAirRisk |
271
+ TimeSeriesKindDryAir |
272
+ TimeSeriesKindAvalancheRisk |
273
+ TimeSeriesKindLowTemperatureRisk |
274
+ TimeSeriesKindFrostRisk |
275
+ TimeSeriesKindIceAccretionRisk |
276
+ TimeSeriesKindSnowAccretionRisk;
277
+
278
+ export interface TimeSeriesCity<Kinds extends TimeSeriesCityKind[]> extends Components.CodeName {
279
+ kinds: Kinds;
280
+ dateTime: string;
281
+ }
282
+
283
+ export interface TimeSeriesTimeDefine {
284
+ timeId: string;
285
+ dateTime: string;
286
+ duration: string;
287
+ name: string;
288
+ }
289
+
290
+ export interface TimeSeriesBase<Kinds extends TimeSeriesCityKind[]> {
291
+ timeDefines: TimeSeriesTimeDefine[];
292
+ items: TimeSeriesCity<Kinds>[];
293
+ }
294
+
295
+ export type TimeSeriesCity1Kinds = (
296
+ TimeSeriesKindRainRisk |
297
+ TimeSeriesKindPrecipitation<'1時間最大雨量'> |
298
+ TimeSeriesKindLandslideRisk |
299
+ TimeSeriesKindWindRisk |
300
+ TimeSeriesKindWind |
301
+ TimeSeriesKindSnowRisk |
302
+ TimeSeriesKindSnow<'6時間最大降雪量'> |
303
+ TimeSeriesKindWaveRisk |
304
+ TimeSeriesKindWave |
305
+ TimeSeriesKindStormSurgeRisk |
306
+ TimeSeriesKindStormSurge |
307
+ TimeSeriesKindThunderRisk |
308
+ TimeSeriesKindSnowMeltingRisk |
309
+ TimeSeriesKindDenseFogRisk |
310
+ TimeSeriesKindIceAccretionRisk |
311
+ TimeSeriesKindSnowAccretionRisk
312
+ )[];
313
+
314
+ export type TimeSeriesCity1 = TimeSeriesBase<TimeSeriesCity1Kinds>;
315
+
316
+ export type TimeSeriesCity2Kinds = (
317
+ TimeSeriesKindPrecipitation<'24時間最大雨量'> |
318
+ TimeSeriesKindSnow<'24時間最大降雪量'>
319
+ )[];
320
+ export type TimeSeriesCity2 = TimeSeriesBase<TimeSeriesCity2Kinds>;
321
+
322
+ export type TimeSeriesCity3Kinds = (
323
+ TimeSeriesKindDryAirRisk |
324
+ TimeSeriesKindDryAir |
325
+ TimeSeriesKindAvalancheRisk |
326
+ TimeSeriesKindLowTemperatureRisk |
327
+ TimeSeriesKindFrostRisk
328
+ )[];
329
+ export type TimeSeriesCity3 = TimeSeriesBase<TimeSeriesCity3Kinds>;
330
+
331
+ export interface QuantitativeForecast {
332
+ type: '量的予想時系列(市町村等)';
333
+ timeSeries: [TimeSeriesCity1, TimeSeriesCity2, TimeSeriesCity3];
334
+ }
335
+
336
+ export interface PublicBody {
337
+ city: QuantitativeForecast;
338
+ }
339
+
340
+
341
+ export interface Public extends TelegramJSONMain {
342
+ _schema: Schema;
343
+ type: '気象警報・注意報時系列情報(R06)';
344
+ title: string;
345
+ infoType: '発表' | '訂正';
346
+ targetDateTimeDubious?: never;
347
+ targetDuration?: never;
348
+ validDateTime?: never;
349
+ eventId: null;
350
+ serialNo: null;
351
+ infoKind: '気象警報・注意報時系列';
352
+ headline: null;
353
+ body: PublicBody;
354
+ }
355
+
356
+ export type Main = Public;
357
+ }