@dmdata/telegram-json-types 1.0.9-jschema.0 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +44 -3
- package/dist/build.js +22 -11
- package/dist/config.d.ts +2 -1
- package/dist/config.js +3 -2
- package/dist/jschema/earthquake-counts_1.0.0.json +1 -0
- package/dist/jschema/earthquake-explanation_1.0.0.json +1 -0
- package/dist/jschema/earthquake-hypocenter-update_1.0.0.json +1 -0
- package/dist/jschema/earthquake-information_1.0.0.json +1 -0
- package/dist/jschema/earthquake-information_1.1.0.json +1 -0
- package/dist/jschema/earthquake-nankai_1.0.0.json +1 -0
- package/dist/jschema/eew-information_1.0.0.json +1 -0
- package/dist/jschema/tsunami-information_1.0.0.json +1 -0
- package/dist/jschema/volcano-information_1.0.0.json +1 -0
- package/dist/jschema/weather-early_1.0.0.json +1 -0
- package/dist/jschema/weather-impact-society_1.0.0.json +1 -0
- package/dist/jschema/weather-information_1.0.0.json +1 -0
- package/dist/jschema/weather-landslide_1.0.0.json +1 -0
- package/dist/jschema/weather-river-flood_1.0.0.json +1 -0
- package/dist/jschema/weather-tornado_1.0.0.json +1 -0
- package/dist/jschema/weather-typhoon_1.0.0.json +1 -0
- package/dist/jschema/weather-warning_1.0.0.json +1 -0
- package/dist/jschema-load.d.ts +1 -1
- package/dist/jschema-load.js +12 -6
- package/index.d.ts +2 -2
- package/jest.config.ts +202 -0
- package/package.json +29 -21
- package/test/sample-schema-check.test.ts +54 -0
- package/tsconfig.json +28 -15
- package/types/component/code-name.ts +4 -0
- package/types/{schema/component → component}/coordinate.d.ts +2 -2
- package/types/{schema/component → component}/earthquake.d.ts +0 -0
- package/types/{schema/component → component}/unit-value.d.ts +13 -13
- package/types/index.d.ts +35 -4
- package/types/schema/earthquake-counts/1.0.0.d.ts +69 -0
- package/types/schema/earthquake-counts/index.d.ts +7 -0
- package/types/schema/earthquake-explanation/1.0.0.d.ts +57 -0
- package/types/schema/earthquake-explanation/index.d.ts +7 -0
- package/types/schema/earthquake-hypocenter-update/1.0.0.d.ts +53 -0
- package/types/schema/earthquake-hypocenter-update/index.d.ts +7 -0
- package/types/schema/earthquake-information/1.0.0.d.ts +159 -0
- package/types/schema/{earthquake-information.d.ts → earthquake-information/1.1.0.d.ts} +206 -181
- package/types/schema/earthquake-information/index.d.ts +9 -0
- package/types/schema/earthquake-nankai/1.0.0.d.ts +86 -0
- package/types/schema/earthquake-nankai/index.d.ts +7 -0
- package/types/schema/{eew-information.d.ts → eew-information/1.0.0.d.ts} +42 -39
- package/types/schema/eew-information/index.d.ts +7 -0
- package/types/schema/{tsunami-information.d.ts → tsunami-information/1.0.0.d.ts} +262 -230
- package/types/schema/tsunami-information/index.d.ts +7 -0
- package/types/schema/volcano-information/1.0.0.d.ts +450 -0
- package/types/schema/volcano-information/index.d.ts +7 -0
- package/types/schema/weather-early/1.0.0.d.ts +135 -0
- package/types/schema/weather-early/index.d.ts +7 -0
- package/types/schema/weather-impact-society/1.0.0.d.ts +140 -0
- package/types/schema/weather-impact-society/index.d.ts +7 -0
- package/types/schema/weather-information/1.0.0.d.ts +30 -0
- package/types/schema/weather-information/index.d.ts +7 -0
- package/types/schema/weather-landslide/1.0.0.d.ts +51 -0
- package/types/schema/weather-landslide/index.d.ts +7 -0
- package/types/schema/weather-river-flood/1.0.0.d.ts +188 -0
- package/types/schema/weather-river-flood/index.d.ts +7 -0
- package/types/schema/weather-tornado/1.0.0.d.ts +51 -0
- package/types/schema/weather-tornado/index.d.ts +7 -0
- package/types/schema/{weather-typhoon.d.ts → weather-typhoon/1.0.0.d.ts} +26 -13
- package/types/schema/weather-typhoon/index.d.ts +7 -0
- package/types/schema/weather-warning/1.0.0.d.ts +212 -0
- package/types/schema/weather-warning/index.d.ts +7 -0
- package/dist/jschema/earthquake-information.json +0 -1778
- package/dist/jschema/eew-information.json +0 -2742
- package/dist/jschema/tsunami-information.json +0 -3891
- package/dist/jschema/weather-typhoon.json +0 -4969
- package/jschema/build.ts +0 -56
- package/jschema/config.ts +0 -4
- package/jschema/jschema-load.ts +0 -26
- package/tsconfig.jschema.json +0 -16
|
@@ -0,0 +1,450 @@
|
|
|
1
|
+
import { TelegramJSONMain } from '@t/main';
|
|
2
|
+
import { Coordinate } from '@t/component/coordinate';
|
|
3
|
+
|
|
4
|
+
export namespace VolcanoInformation {
|
|
5
|
+
export interface Schema {
|
|
6
|
+
type: 'volcano-information';
|
|
7
|
+
version: '1.0.0';
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export type VolcanoCoordinate = Required<Coordinate>;
|
|
11
|
+
export type Direction8 = '北' | '北東' | '東' | '南東' | '南' | '南西' | '西' | '北西';
|
|
12
|
+
|
|
13
|
+
export interface TargetCrater {
|
|
14
|
+
name: string | null;
|
|
15
|
+
coordinate?: VolcanoCoordinate;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export interface TargetKind {
|
|
19
|
+
code: string;
|
|
20
|
+
name: string;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export interface TargetKindEWF extends TargetKind {
|
|
24
|
+
formalName?: string;
|
|
25
|
+
condition: string;
|
|
26
|
+
lastKind: {
|
|
27
|
+
code: string;
|
|
28
|
+
name: string;
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export interface Target {
|
|
33
|
+
code: string;
|
|
34
|
+
name: string;
|
|
35
|
+
coordinate: VolcanoCoordinate;
|
|
36
|
+
areaFromMark?: string;
|
|
37
|
+
crater?: TargetCrater;
|
|
38
|
+
kind: TargetKind;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export interface TargetVFVO56 {
|
|
42
|
+
code: string;
|
|
43
|
+
name: string;
|
|
44
|
+
kind: TargetKind;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export interface TargetEWF extends Target {
|
|
48
|
+
crater: never;
|
|
49
|
+
kind: TargetKindEWF;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export interface CityKind {
|
|
53
|
+
code: string;
|
|
54
|
+
name: string;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export interface CityKindVFVO50 extends CityKind {
|
|
58
|
+
condition: string;
|
|
59
|
+
lastKind: {
|
|
60
|
+
name: string;
|
|
61
|
+
code: string;
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
export interface City {
|
|
66
|
+
code: string;
|
|
67
|
+
name: string;
|
|
68
|
+
kinds: CityKind[];
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
export interface CityVFVO50 extends City {
|
|
72
|
+
kinds: [CityKindVFVO50];
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
export interface CityVFVO56 extends City {
|
|
76
|
+
kinds: [CityKind];
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
export interface OceanZoneKind {
|
|
80
|
+
code: string;
|
|
81
|
+
name: string;
|
|
82
|
+
condition: string;
|
|
83
|
+
lastKind: {
|
|
84
|
+
name: string;
|
|
85
|
+
code: string;
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
export interface OceanZone {
|
|
90
|
+
code: string;
|
|
91
|
+
name: string;
|
|
92
|
+
kinds: [OceanZoneKind];
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
export interface DisasterPreventionKind {
|
|
96
|
+
code: string;
|
|
97
|
+
name: string;
|
|
98
|
+
condition: string;
|
|
99
|
+
lastKind: {
|
|
100
|
+
name: string;
|
|
101
|
+
code: string;
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
export interface DisasterPrevention {
|
|
106
|
+
code: string;
|
|
107
|
+
name: string;
|
|
108
|
+
kinds: [DisasterPreventionKind];
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
export interface Comments {
|
|
112
|
+
headline?: string;
|
|
113
|
+
activity?: string;
|
|
114
|
+
prevention?: string;
|
|
115
|
+
nextAdvisor?: string;
|
|
116
|
+
otherInfo?: string;
|
|
117
|
+
appendix?: string;
|
|
118
|
+
text?: string;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
export interface EruptionEventDateTime {
|
|
122
|
+
value: string;
|
|
123
|
+
validFormat: string;
|
|
124
|
+
dubious?: '頃';
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
export type EruptionPlumeHeightAboveCrater = {
|
|
128
|
+
type: '火口上噴煙高度' | '海面上噴煙高度';
|
|
129
|
+
unit: 'm';
|
|
130
|
+
} & ({
|
|
131
|
+
value: string;
|
|
132
|
+
condition?: '以上';
|
|
133
|
+
} | {
|
|
134
|
+
value: null;
|
|
135
|
+
condition?: '噴煙なし' | '不明';
|
|
136
|
+
})
|
|
137
|
+
|
|
138
|
+
export type EruptionPlumeHeightSeaLevel = {
|
|
139
|
+
type: '海抜噴煙高度';
|
|
140
|
+
unit: 'ft';
|
|
141
|
+
} & ({
|
|
142
|
+
value: string;
|
|
143
|
+
condition?: '以上';
|
|
144
|
+
} | {
|
|
145
|
+
value: null;
|
|
146
|
+
condition?: '噴煙なし' | '不明';
|
|
147
|
+
})
|
|
148
|
+
|
|
149
|
+
export type EruptionPlumeDirection = {
|
|
150
|
+
type: '噴煙の流向';
|
|
151
|
+
unit: '漢字';
|
|
152
|
+
} & ({
|
|
153
|
+
value: Direction8 | '直上' | '流向不明';
|
|
154
|
+
condition: never;
|
|
155
|
+
} | {
|
|
156
|
+
value: null;
|
|
157
|
+
condition: '噴煙なし';
|
|
158
|
+
})
|
|
159
|
+
|
|
160
|
+
export interface EruptionPlume {
|
|
161
|
+
heightAboveCrater?: EruptionPlumeHeightAboveCrater;
|
|
162
|
+
heightSeaLevel?: EruptionPlumeHeightSeaLevel;
|
|
163
|
+
direction?: EruptionPlumeDirection;
|
|
164
|
+
comment?: string;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
export interface Eruption {
|
|
168
|
+
eventDateTime?: EruptionEventDateTime;
|
|
169
|
+
colorPlume?: EruptionPlume;
|
|
170
|
+
whitePlume?: EruptionPlume;
|
|
171
|
+
appendix?: string;
|
|
172
|
+
otherObservation?: string;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
export type AshForecastItemSize = {
|
|
176
|
+
type: '降灰量';
|
|
177
|
+
unit: 'g/m2';
|
|
178
|
+
value: string;
|
|
179
|
+
} | {
|
|
180
|
+
type: '降灰の厚さ';
|
|
181
|
+
unit: 'mm';
|
|
182
|
+
value: string;
|
|
183
|
+
} | {
|
|
184
|
+
type: '小さな噴石の大きさ';
|
|
185
|
+
unit: 'cm';
|
|
186
|
+
value: string;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
export interface AshForecastItemDirection {
|
|
190
|
+
type: '降灰の方向' | '小さな噴石の落下方向';
|
|
191
|
+
unit: '漢字';
|
|
192
|
+
value: Direction8 | '火口近傍' | '方向不定';
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
export interface AshForecastItemDistance {
|
|
196
|
+
type: '降灰の到達距離' | '小さな噴石の到達距離';
|
|
197
|
+
unit: 'km';
|
|
198
|
+
value: string;
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
export interface AshForecastItemCity {
|
|
202
|
+
code: string;
|
|
203
|
+
name: string;
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
export interface AshForecastItem {
|
|
207
|
+
code: string;
|
|
208
|
+
name: string;
|
|
209
|
+
polygons: [number, number][][];
|
|
210
|
+
size?: AshForecastItemSize;
|
|
211
|
+
direction: AshForecastItemDirection;
|
|
212
|
+
distance: AshForecastItemDistance;
|
|
213
|
+
remake?: string;
|
|
214
|
+
cities: AshForecastItemCity[];
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
export interface AshForecast {
|
|
218
|
+
type: '予報';
|
|
219
|
+
elapsedTime: string;
|
|
220
|
+
startTime: string;
|
|
221
|
+
endTime: string;
|
|
222
|
+
items: AshForecastItem[];
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
export interface Ash {
|
|
226
|
+
forecasts: AshForecast[];
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
export interface PublicBodyVFVO50 {
|
|
230
|
+
notice?: string;
|
|
231
|
+
target: TargetEWF;
|
|
232
|
+
cities: CityVFVO50[];
|
|
233
|
+
disasterPreventions: DisasterPrevention[];
|
|
234
|
+
comments: Comments;
|
|
235
|
+
text?: string;
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
export interface PublicBodyVFVO51 {
|
|
239
|
+
notice?: string;
|
|
240
|
+
targets: TargetEWF[];
|
|
241
|
+
comments: Comments;
|
|
242
|
+
text?: string;
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
export interface PublicBodyVFVO52 {
|
|
246
|
+
notice?: string;
|
|
247
|
+
target: Target;
|
|
248
|
+
eruption: Eruption;
|
|
249
|
+
text?: string;
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
export interface PublicBodyVFVO53 {
|
|
253
|
+
notice?: string;
|
|
254
|
+
target: Target;
|
|
255
|
+
cities: City[];
|
|
256
|
+
comments: Comments;
|
|
257
|
+
ash: Ash;
|
|
258
|
+
text?: string;
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
export interface PublicBodyVFVO54 {
|
|
262
|
+
notice?: string;
|
|
263
|
+
target: Target;
|
|
264
|
+
cities: City[];
|
|
265
|
+
eruption: Eruption;
|
|
266
|
+
comments: Comments;
|
|
267
|
+
ash: Ash;
|
|
268
|
+
text?: string;
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
export interface PublicBodyVFVO55 extends PublicBodyVFVO54 {
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
export interface PublicBodyVFVO56 {
|
|
275
|
+
notice?: string;
|
|
276
|
+
target: TargetVFVO56;
|
|
277
|
+
cities: CityVFVO56[];
|
|
278
|
+
eruption: Pick<Eruption, 'eventDateTime'>;
|
|
279
|
+
comments: Comments;
|
|
280
|
+
text?: string;
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
export interface PublicBodyVFSVii {
|
|
284
|
+
notice?: string;
|
|
285
|
+
target: TargetEWF;
|
|
286
|
+
oceanZones: OceanZone[];
|
|
287
|
+
comments: Comments;
|
|
288
|
+
text?: string;
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
export interface PublicBodyVZVO40 {
|
|
292
|
+
text: string;
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
export interface CancelBody {
|
|
296
|
+
text: string;
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
export interface PublicVFVO50 extends TelegramJSONMain {
|
|
300
|
+
_schema: Schema;
|
|
301
|
+
type: '噴火警報・予報';
|
|
302
|
+
title: string;
|
|
303
|
+
infoType: '発表' | '訂正';
|
|
304
|
+
targetDateTimeDubious: never;
|
|
305
|
+
targetDuration: never;
|
|
306
|
+
validDateTime: never;
|
|
307
|
+
eventId: string;
|
|
308
|
+
serialNo: null;
|
|
309
|
+
infoKind: '噴火警報・予報';
|
|
310
|
+
body: PublicBodyVFVO50;
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
export interface PublicVFVO51 extends TelegramJSONMain {
|
|
314
|
+
_schema: Schema;
|
|
315
|
+
type: '火山の状況に関する解説情報';
|
|
316
|
+
title: string;
|
|
317
|
+
infoType: '発表' | '訂正';
|
|
318
|
+
targetDateTimeDubious: never;
|
|
319
|
+
targetDuration: never;
|
|
320
|
+
validDateTime: never;
|
|
321
|
+
eventId: string;
|
|
322
|
+
serialNo: string;
|
|
323
|
+
infoKind: '火山の状況に関する解説情報';
|
|
324
|
+
body: PublicBodyVFVO51;
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
export interface PublicVFVO52 extends Omit<TelegramJSONMain, 'targetDateTime'> {
|
|
328
|
+
_schema: Schema;
|
|
329
|
+
type: '噴火に関する火山観測報';
|
|
330
|
+
title: string;
|
|
331
|
+
infoType: '発表' | '訂正';
|
|
332
|
+
targetDateTime: string | null;
|
|
333
|
+
targetDateTimeDubious?: '年頃' | '月頃' | '日頃' | '時頃' | '分頃' | '秒頃' | '頃';
|
|
334
|
+
targetDuration: never;
|
|
335
|
+
validDateTime: never;
|
|
336
|
+
eventId: string;
|
|
337
|
+
serialNo: string;
|
|
338
|
+
infoKind: '噴火に関する火山観測報';
|
|
339
|
+
body: PublicBodyVFVO52;
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
export interface PublicVFVO53 extends TelegramJSONMain {
|
|
343
|
+
_schema: Schema;
|
|
344
|
+
type: '降灰予報(定時)';
|
|
345
|
+
title: string;
|
|
346
|
+
infoType: '発表' | '訂正';
|
|
347
|
+
targetDateTimeDubious: never;
|
|
348
|
+
targetDuration: never;
|
|
349
|
+
validDateTime: string;
|
|
350
|
+
eventId: string;
|
|
351
|
+
serialNo: string;
|
|
352
|
+
infoKind: '降灰予報';
|
|
353
|
+
body: PublicBodyVFVO53;
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
export interface PublicVFVO54 extends TelegramJSONMain {
|
|
357
|
+
_schema: Schema;
|
|
358
|
+
type: '降灰予報(速報)';
|
|
359
|
+
title: string;
|
|
360
|
+
infoType: '発表' | '訂正';
|
|
361
|
+
targetDateTimeDubious: never;
|
|
362
|
+
targetDuration: never;
|
|
363
|
+
validDateTime: string;
|
|
364
|
+
eventId: string;
|
|
365
|
+
serialNo: string;
|
|
366
|
+
infoKind: '降灰予報';
|
|
367
|
+
body: PublicBodyVFVO54;
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
export interface PublicVFVO55 extends TelegramJSONMain {
|
|
371
|
+
_schema: Schema;
|
|
372
|
+
type: '降灰予報(詳細)';
|
|
373
|
+
title: string;
|
|
374
|
+
infoType: '発表' | '訂正';
|
|
375
|
+
targetDateTimeDubious: never;
|
|
376
|
+
targetDuration: never;
|
|
377
|
+
validDateTime: string;
|
|
378
|
+
eventId: string;
|
|
379
|
+
serialNo: string;
|
|
380
|
+
infoKind: '降灰予報';
|
|
381
|
+
body: PublicBodyVFVO55;
|
|
382
|
+
}
|
|
383
|
+
|
|
384
|
+
export interface PublicVFVO56 extends TelegramJSONMain {
|
|
385
|
+
_schema: Schema;
|
|
386
|
+
type: '噴火速報';
|
|
387
|
+
title: string;
|
|
388
|
+
infoType: '発表' | '訂正';
|
|
389
|
+
targetDateTimeDubious?: '年頃' | '月頃' | '日頃' | '時頃' | '分頃' | '秒頃' | '頃';
|
|
390
|
+
targetDuration: never;
|
|
391
|
+
validDateTime: never;
|
|
392
|
+
eventId: string;
|
|
393
|
+
serialNo: null;
|
|
394
|
+
infoKind: '噴火速報';
|
|
395
|
+
body: PublicBodyVFVO56;
|
|
396
|
+
}
|
|
397
|
+
|
|
398
|
+
export interface PublicVFSVii extends TelegramJSONMain {
|
|
399
|
+
_schema: Schema;
|
|
400
|
+
type: '火山現象に関する海上警報・海上予報';
|
|
401
|
+
title: string;
|
|
402
|
+
infoType: '発表' | '訂正';
|
|
403
|
+
targetDateTimeDubious: never;
|
|
404
|
+
targetDuration: never;
|
|
405
|
+
validDateTime: never;
|
|
406
|
+
eventId: string;
|
|
407
|
+
serialNo: null;
|
|
408
|
+
infoKind: '火山現象に関する海上警報・海上予報';
|
|
409
|
+
body: PublicBodyVFSVii;
|
|
410
|
+
}
|
|
411
|
+
|
|
412
|
+
export interface PublicVZVO40 extends TelegramJSONMain {
|
|
413
|
+
_schema: Schema;
|
|
414
|
+
type: '火山に関するお知らせ';
|
|
415
|
+
title: string;
|
|
416
|
+
infoType: '発表' | '訂正';
|
|
417
|
+
targetDateTimeDubious: never;
|
|
418
|
+
targetDuration: never;
|
|
419
|
+
validDateTime: never;
|
|
420
|
+
eventId: string;
|
|
421
|
+
serialNo: null;
|
|
422
|
+
infoKind: '火山に関するお知らせ';
|
|
423
|
+
body: PublicBodyVZVO40;
|
|
424
|
+
}
|
|
425
|
+
|
|
426
|
+
export interface Cancel extends TelegramJSONMain {
|
|
427
|
+
_schema: Schema;
|
|
428
|
+
type: '噴火警報・予報' | '火山の状況に関する解説情報' | '噴火に関する火山観測報' | '降灰予報(定時)' | '降灰予報(速報)' | '降灰予報(詳細)' | '噴火速報' | '火山現象に関する海上警報・海上予報' | '火山に関するお知らせ';
|
|
429
|
+
title: string;
|
|
430
|
+
infoType: '取消';
|
|
431
|
+
targetDateTimeDubious?: '年頃' | '月頃' | '日頃' | '時頃' | '分頃' | '秒頃' | '頃';
|
|
432
|
+
targetDuration: never;
|
|
433
|
+
validDateTime?: string;
|
|
434
|
+
eventId: string;
|
|
435
|
+
infoKind: '噴火警報・予報' | '火山の状況に関する解説情報' | '噴火に関する火山観測報' | '降灰予報' | '噴火速報' | '火山現象に関する海上警報・海上予報' | '火山に関するお知らせ';
|
|
436
|
+
body: CancelBody;
|
|
437
|
+
}
|
|
438
|
+
|
|
439
|
+
export type Main =
|
|
440
|
+
PublicVFVO50
|
|
441
|
+
| PublicVFVO51
|
|
442
|
+
| PublicVFVO52
|
|
443
|
+
| PublicVFVO53
|
|
444
|
+
| PublicVFVO54
|
|
445
|
+
| PublicVFVO55
|
|
446
|
+
| PublicVFVO56
|
|
447
|
+
| PublicVFSVii
|
|
448
|
+
| PublicVZVO40
|
|
449
|
+
| Cancel;
|
|
450
|
+
}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import { TelegramJSONMain } from '@t/main';
|
|
2
|
+
import { CodeName } from '@t/component/code-name';
|
|
3
|
+
|
|
4
|
+
export namespace WeatherEarly {
|
|
5
|
+
export interface Schema {
|
|
6
|
+
type: 'weather-early';
|
|
7
|
+
version: '1.0.0';
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export interface Target extends CodeName {
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export interface TargetTimeDateTime {
|
|
14
|
+
value: string;
|
|
15
|
+
validFormat: string;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export interface TargetTime {
|
|
19
|
+
dateTime: TargetTimeDateTime;
|
|
20
|
+
duration?: string;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export interface MainTextZone extends CodeName {
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
export interface MainText {
|
|
28
|
+
text: string;
|
|
29
|
+
zones: MainTextZone[];
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export interface StatisticPeriodDateTime {
|
|
33
|
+
value: string;
|
|
34
|
+
validFormat?: string;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export interface StatisticPeriod {
|
|
38
|
+
dateTime: StatisticPeriodDateTime;
|
|
39
|
+
duration: string;
|
|
40
|
+
name: string;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export interface StatisticStationObservedValue {
|
|
44
|
+
type: string;
|
|
45
|
+
unit: string;
|
|
46
|
+
value: string | null;
|
|
47
|
+
condition?: string;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export interface StatisticStation extends CodeName {
|
|
51
|
+
type: '天候の状況(速報値)';
|
|
52
|
+
observedValues: StatisticStationObservedValue[];
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
export interface EarlyBaseZone extends CodeName {
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
export interface EarlyBase {
|
|
60
|
+
type: string;
|
|
61
|
+
forecasts: Object;
|
|
62
|
+
zones: EarlyBaseZone[];
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
export interface EarlyHighForecastProbabilityAboveNormal {
|
|
66
|
+
unit: '%';
|
|
67
|
+
value: string;
|
|
68
|
+
bound: '以上';
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
export interface EarlyHighForecastThresholdAboveNormal {
|
|
72
|
+
unit: '%' | '℃';
|
|
73
|
+
value: string;
|
|
74
|
+
bound: '以上';
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
export interface EarlyLowForecastProbabilityBelowNormal {
|
|
78
|
+
unit: '%';
|
|
79
|
+
value: string;
|
|
80
|
+
bound: '以上';
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
export interface EarlyLowForecastThresholdBelowNormal {
|
|
84
|
+
unit: '℃';
|
|
85
|
+
value: string;
|
|
86
|
+
bound: '以下';
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
export interface EarlyHighForecast {
|
|
90
|
+
probabilityAboveNormal: EarlyHighForecastProbabilityAboveNormal;
|
|
91
|
+
thresholdAboveNormal: EarlyHighForecastThresholdAboveNormal;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
export interface EarlyLowForecast {
|
|
95
|
+
probabilityBelowNormal: EarlyLowForecastProbabilityBelowNormal;
|
|
96
|
+
thresholdBelowNormal: EarlyLowForecastThresholdBelowNormal;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
export interface EarlyHigh extends EarlyBase {
|
|
100
|
+
type: 'かなりの高温' | '大雪';
|
|
101
|
+
forecasts: EarlyHighForecast;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
export interface EarlyLow extends EarlyBase {
|
|
105
|
+
type: 'かなりの低温';
|
|
106
|
+
forecasts: EarlyLowForecast;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
export type Early = EarlyHigh | EarlyLow;
|
|
110
|
+
|
|
111
|
+
export interface PublicBody {
|
|
112
|
+
notice?: string;
|
|
113
|
+
target: Target;
|
|
114
|
+
targetTime: TargetTime;
|
|
115
|
+
mainTexts: [MainText];
|
|
116
|
+
early: Early[];
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
export interface Public extends TelegramJSONMain {
|
|
121
|
+
_schema: Schema;
|
|
122
|
+
type: '早期天候情報';
|
|
123
|
+
title: string;
|
|
124
|
+
infoType: '発表' | '訂正';
|
|
125
|
+
targetDateTimeDubious: '頃';
|
|
126
|
+
targetDuration: string;
|
|
127
|
+
validDateTime: string;
|
|
128
|
+
eventId: null;
|
|
129
|
+
serialNo: null;
|
|
130
|
+
infoKind: '早期天候情報';
|
|
131
|
+
body: PublicBody;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
export type Main = Public;
|
|
135
|
+
}
|