@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,77 +1,77 @@
1
- import { Coordinate } from './coordinate';
2
- import { UnitValueNotNull } from './unit-value';
3
-
4
- interface DepthBase {
5
- type: '深さ';
6
- unit: 'km';
7
- value: string | null;
8
- condition?: string | never;
9
- }
10
-
11
- interface DepthNormal extends DepthBase {
12
- value: string;
13
- condition?: never;
14
- }
15
-
16
- interface DepthShallow extends DepthBase {
17
- value: '0';
18
- condition: 'ごく浅い';
19
- }
20
-
21
- interface DepthDeep extends DepthBase {
22
- value: '700';
23
- condition: '700km以上';
24
- }
25
-
26
- interface DepthUnknown extends DepthBase {
27
- value: null;
28
- condition: '不明';
29
- }
30
-
31
- type Depth = DepthNormal | DepthShallow | DepthDeep | DepthUnknown;
32
-
33
-
34
- interface MagnitudeBase {
35
- type: 'マグニチュード';
36
- unit: 'Mj' | 'M';
37
- value: string | null;
38
- condition?: string | never;
39
- }
40
-
41
- interface MagnitudeNormal extends MagnitudeBase {
42
- value: string;
43
- condition?: never;
44
- }
45
-
46
- interface MagnitudeUnknown extends MagnitudeBase {
47
- value: null;
48
- condition: 'M不明' | 'M8を超える巨大地震';
49
- }
50
-
51
- type Magnitude = MagnitudeNormal | MagnitudeUnknown;
52
-
53
- interface Hypocenter {
54
- name: string;
55
- code: string;
56
- coordinate: Coordinate<'日本測地系' | undefined>;
57
- depth: Depth;
58
- detailed?: {
59
- code: string;
60
- name: string;
61
- };
62
- auxiliary?: {
63
- text: string;
64
- code: string;
65
- name: string;
66
- direction: string;
67
- distance: Omit<UnitValueNotNull<never, 'km'>, 'type' | 'condition'>;
68
- };
69
- source?: 'PTWC' | 'NTWC' | 'USGS' | 'SCSTAC' | 'CATAC' | 'WCATWC';
70
- }
71
-
72
- export interface Earthquake {
73
- originTime: string;
74
- arrivalTime: string;
75
- hypocenter: Hypocenter;
76
- magnitude: Magnitude;
77
- }
1
+ import { Coordinate } from './coordinate';
2
+ import { UnitValueNotNull } from './unit-value';
3
+
4
+ interface DepthBase {
5
+ type: '深さ';
6
+ unit: 'km';
7
+ value: string | null;
8
+ condition?: string | never;
9
+ }
10
+
11
+ interface DepthNormal extends DepthBase {
12
+ value: string;
13
+ condition?: never;
14
+ }
15
+
16
+ interface DepthShallow extends DepthBase {
17
+ value: '0';
18
+ condition: 'ごく浅い';
19
+ }
20
+
21
+ interface DepthDeep extends DepthBase {
22
+ value: '700';
23
+ condition: '700km以上';
24
+ }
25
+
26
+ interface DepthUnknown extends DepthBase {
27
+ value: null;
28
+ condition: '不明';
29
+ }
30
+
31
+ type Depth = DepthNormal | DepthShallow | DepthDeep | DepthUnknown;
32
+
33
+
34
+ interface MagnitudeBase {
35
+ type: 'マグニチュード';
36
+ unit: 'Mj' | 'M';
37
+ value: string | null;
38
+ condition?: string | never;
39
+ }
40
+
41
+ interface MagnitudeNormal extends MagnitudeBase {
42
+ value: string;
43
+ condition?: never;
44
+ }
45
+
46
+ interface MagnitudeUnknown extends MagnitudeBase {
47
+ value: null;
48
+ condition: 'M不明' | 'M8を超える巨大地震';
49
+ }
50
+
51
+ type Magnitude = MagnitudeNormal | MagnitudeUnknown;
52
+
53
+ interface Hypocenter {
54
+ name: string;
55
+ code: string;
56
+ coordinate: Coordinate<'日本測地系' | undefined>;
57
+ depth: Depth;
58
+ detailed?: {
59
+ code: string;
60
+ name: string;
61
+ };
62
+ auxiliary?: {
63
+ text: string;
64
+ code: string;
65
+ name: string;
66
+ direction: string;
67
+ distance: Omit<UnitValueNotNull<never, 'km'>, 'type' | 'condition'>;
68
+ };
69
+ source?: 'PTWC' | 'NTWC' | 'USGS' | 'SCSTAC' | 'CATAC' | 'WCATWC';
70
+ }
71
+
72
+ export interface Earthquake {
73
+ originTime: string;
74
+ arrivalTime: string;
75
+ hypocenter: Hypocenter;
76
+ magnitude: Magnitude;
77
+ }
@@ -1,17 +1,17 @@
1
- import { CodeName } from './code-name';
2
- import { Coordinate } from './coordinate';
3
- import { Earthquake } from './earthquake';
4
- import { UnitValue, UnitValueNotNull } from './unit-value';
5
- import { Util } from './util';
6
-
7
- export namespace Components {
8
- export {
9
- CodeName,
10
- Coordinate,
11
- Earthquake,
12
- UnitValue,
13
- UnitValueNotNull
14
- };
15
- }
16
-
17
- export { Util };
1
+ import { CodeName } from './code-name';
2
+ import { Coordinate } from './coordinate';
3
+ import { Earthquake } from './earthquake';
4
+ import { UnitValue, UnitValueNotNull } from './unit-value';
5
+ import { Util } from './util';
6
+
7
+ export namespace Components {
8
+ export {
9
+ CodeName,
10
+ Coordinate,
11
+ Earthquake,
12
+ UnitValue,
13
+ UnitValueNotNull
14
+ };
15
+ }
16
+
17
+ export { Util };
@@ -1,13 +1,13 @@
1
- export type UnitValue<Type = string, Unit = string, Condition = never> = {
2
- type: Type;
3
- unit: Unit;
4
- value: string | null;
5
- condition?: Condition;
6
- };
7
-
8
- export type UnitValueNotNull<Type = string, Unit = string, Condition = never> = {
9
- type: Type;
10
- unit: Unit;
11
- value: string;
12
- condition?: Condition;
13
- };
1
+ export type UnitValue<Type = string, Unit = string, Condition = never> = {
2
+ type: Type;
3
+ unit: Unit;
4
+ value: string | null;
5
+ condition?: Condition;
6
+ };
7
+
8
+ export type UnitValueNotNull<Type = string, Unit = string, Condition = never> = {
9
+ type: Type;
10
+ unit: Unit;
11
+ value: string;
12
+ condition?: Condition;
13
+ };
@@ -1,20 +1,20 @@
1
- export namespace Util {
2
- export type Prohibit<T extends object, NK extends keyof T> = { [P in Exclude<keyof T, NK>]: T[P] } & { [P in Extract<keyof T, NK>]?: never; };
3
- export type ValueElement<T extends string, U extends string, Cv extends string | undefined = never, Cn extends string | undefined = '値なし'> =
4
- { type: T; value: string; unit: U; condition?: Cv; } | { type: T; value: null; unit: U; condition: Cn; };
5
-
6
- export type TimeRefID<T extends object> = { refId: string } & T;
7
- export type Local<T extends object> = { name: string; } & T;
8
-
9
- export type Part<B extends object, L extends Local<B> = Local<B>, Be extends Becoming<B, L>[] | never = never> = {
10
- base: (B & { locals?: never; }) | ({ locals: L[]; } & { [K in keyof B]?: never; });
11
- becomings?: Be;
12
- };
13
- export type PartNoBase<B extends object, L extends Local<B> = Local<B>> =
14
- (B & { base?: never; }) |
15
- ({ base: { locals: L[]; } } & { [K in keyof B]?: never; });
16
-
17
- export type Becoming<B extends object, L extends Local<B> = Local<B>> = {
18
- timeModifier: string;
19
- } & ((B & { locals?: never; }) | ({ locals: L[]; } & { [K in keyof B]?: never; }));
20
- }
1
+ export namespace Util {
2
+ export type Prohibit<T extends object, NK extends keyof T> = { [P in Exclude<keyof T, NK>]: T[P] } & { [P in Extract<keyof T, NK>]?: never; };
3
+ export type ValueElement<T extends string, U extends string, Cv extends string | undefined = never, Cn extends string | undefined = '値なし'> =
4
+ { type: T; value: string; unit: U; condition?: Cv; } | { type: T; value: null; unit: U; condition: Cn; };
5
+
6
+ export type TimeRefID<T extends object> = { refId: string } & T;
7
+ export type Local<T extends object> = { name: string; } & T;
8
+
9
+ export type Part<B extends object, L extends Local<B> = Local<B>, Be extends Becoming<B, L>[] | never = never> = {
10
+ base: (B & { locals?: never; }) | ({ locals: L[]; } & { [K in keyof B]?: never; });
11
+ becomings?: Be;
12
+ };
13
+ export type PartNoBase<B extends object, L extends Local<B> = Local<B>> =
14
+ (B & { base?: never; }) |
15
+ ({ base: { locals: L[]; } } & { [K in keyof B]?: never; });
16
+
17
+ export type Becoming<B extends object, L extends Local<B> = Local<B>> = {
18
+ timeModifier: string;
19
+ } & ((B & { locals?: never; }) | ({ locals: L[]; } & { [K in keyof B]?: never; }));
20
+ }
package/types/index.d.ts CHANGED
@@ -1,84 +1,84 @@
1
- import * as EarthquakeInformation from './schema/earthquake-information';
2
- import * as EarthquakeExplanation from './schema/earthquake-explanation';
3
- import * as EarthquakeCounts from './schema/earthquake-counts';
4
- import * as EarthquakeHypocenterUpdate from './schema/earthquake-hypocenter-update';
5
- import * as EarthquakeNankai from './schema/earthquake-nankai';
6
- import * as EewInformation from './schema/eew-information';
7
- import * as TsunamiInformation from './schema/tsunami-information';
8
- import * as VolcanoInformation from './schema/volcano-information';
9
- import * as WeatherInformation from './schema/weather-information';
10
- import * as WeatherCommentary from './schema/weather-commentary';
11
- import * as WeatherImpactSociety from './schema/weather-impact-society';
12
- import * as WeatherEarly from './schema/weather-early';
13
- import * as WeatherWarning from './schema/weather-warning';
14
- import * as WeatherWarningTimeseries from './schema/weather-warning-timeseries';
15
- import * as WeatherTornado from './schema/weather-tornado';
16
- import * as WeatherTyphoon from './schema/weather-typhoon';
17
- import * as WeatherLandslide from './schema/weather-landslide';
18
- import * as WeatherRiverFlood from './schema/weather-river-flood';
19
- import * as ForecastPrefecture from './schema/forecast-prefecture';
20
- import * as ForecastWarningPossibility from './schema/forecast-warning-possibility';
21
- import * as ForecastSeason from './schema/forecast-season';
22
- import * as Forecast2weekTemperature from './schema/forecast-2week-temperature';
23
- import * as ForecastWeathermap from './schema/forecast-weathermap';
24
-
25
- import { TelegramJSONMain } from './main';
26
- import { Components } from './component';
27
-
28
- type All =
29
- EarthquakeInformation.v1_0_0.Main |
30
- EarthquakeInformation.v1_1_0.Main |
31
- EarthquakeExplanation.v1_0_0.Main |
32
- EarthquakeCounts.v1_0_0.Main |
33
- EarthquakeHypocenterUpdate.v1_0_0.Main |
34
- EarthquakeNankai.v1_0_0.Main |
35
- EewInformation.v1_0_0.Main |
36
- TsunamiInformation.v1_0_0.Main |
37
- TsunamiInformation.v1_1_0.Main |
38
- VolcanoInformation.v1_0_0.Main |
39
- WeatherInformation.v1_0_0.Main |
40
- WeatherCommentary.v1_0_0.Main |
41
- WeatherImpactSociety.v1_0_1.Main |
42
- WeatherEarly.v1_0_0.Main |
43
- WeatherWarning.v1_0_0.Main |
44
- WeatherWarning.v1_1_0.Main |
45
- WeatherWarningTimeseries.v1_0_0.Main |
46
- WeatherTornado.v1_0_0.Main |
47
- WeatherTyphoon.v1_0_0.Main |
48
- WeatherLandslide.v1_0_0.Main |
49
- WeatherRiverFlood.v1_0_0.Main |
50
- ForecastPrefecture.v1_0_0.Main |
51
- ForecastWarningPossibility.v1_0_0.Main |
52
- ForecastWarningPossibility.v1_1_0.Main |
53
- ForecastSeason.v1_0_0.Main |
54
- Forecast2weekTemperature.v1_0_0.Main |
55
- ForecastWeathermap.v1_0_0.Main;
56
-
57
- export {
58
- EarthquakeInformation,
59
- EarthquakeExplanation,
60
- EarthquakeCounts,
61
- EarthquakeHypocenterUpdate,
62
- EarthquakeNankai,
63
- EewInformation,
64
- TsunamiInformation,
65
- VolcanoInformation,
66
- WeatherInformation,
67
- WeatherCommentary,
68
- WeatherImpactSociety,
69
- WeatherEarly,
70
- WeatherWarning,
71
- WeatherWarningTimeseries,
72
- WeatherTornado,
73
- WeatherTyphoon,
74
- WeatherLandslide,
75
- WeatherRiverFlood,
76
- ForecastPrefecture,
77
- ForecastWarningPossibility,
78
- ForecastSeason,
79
- Forecast2weekTemperature,
80
- ForecastWeathermap,
81
- TelegramJSONMain,
82
- Components,
83
- All
84
- };
1
+ import * as EarthquakeInformation from './schema/earthquake-information';
2
+ import * as EarthquakeExplanation from './schema/earthquake-explanation';
3
+ import * as EarthquakeCounts from './schema/earthquake-counts';
4
+ import * as EarthquakeHypocenterUpdate from './schema/earthquake-hypocenter-update';
5
+ import * as EarthquakeNankai from './schema/earthquake-nankai';
6
+ import * as EewInformation from './schema/eew-information';
7
+ import * as TsunamiInformation from './schema/tsunami-information';
8
+ import * as VolcanoInformation from './schema/volcano-information';
9
+ import * as WeatherInformation from './schema/weather-information';
10
+ import * as WeatherCommentary from './schema/weather-commentary';
11
+ import * as WeatherImpactSociety from './schema/weather-impact-society';
12
+ import * as WeatherEarly from './schema/weather-early';
13
+ import * as WeatherWarning from './schema/weather-warning';
14
+ import * as WeatherWarningTimeseries from './schema/weather-warning-timeseries';
15
+ import * as WeatherTornado from './schema/weather-tornado';
16
+ import * as WeatherTyphoon from './schema/weather-typhoon';
17
+ import * as WeatherLandslide from './schema/weather-landslide';
18
+ import * as WeatherRiverFlood from './schema/weather-river-flood';
19
+ import * as ForecastPrefecture from './schema/forecast-prefecture';
20
+ import * as ForecastWarningPossibility from './schema/forecast-warning-possibility';
21
+ import * as ForecastSeason from './schema/forecast-season';
22
+ import * as Forecast2weekTemperature from './schema/forecast-2week-temperature';
23
+ import * as ForecastWeathermap from './schema/forecast-weathermap';
24
+
25
+ import { TelegramJSONMain } from './main';
26
+ import { Components } from './component';
27
+
28
+ type All =
29
+ EarthquakeInformation.v1_0_0.Main |
30
+ EarthquakeInformation.v1_1_0.Main |
31
+ EarthquakeExplanation.v1_0_0.Main |
32
+ EarthquakeCounts.v1_0_0.Main |
33
+ EarthquakeHypocenterUpdate.v1_0_0.Main |
34
+ EarthquakeNankai.v1_0_0.Main |
35
+ EewInformation.v1_0_0.Main |
36
+ TsunamiInformation.v1_0_0.Main |
37
+ TsunamiInformation.v1_1_0.Main |
38
+ VolcanoInformation.v1_0_0.Main |
39
+ WeatherInformation.v1_0_0.Main |
40
+ WeatherCommentary.v1_0_0.Main |
41
+ WeatherImpactSociety.v1_0_1.Main |
42
+ WeatherEarly.v1_0_0.Main |
43
+ WeatherWarning.v1_0_0.Main |
44
+ WeatherWarning.v1_1_0.Main |
45
+ WeatherWarningTimeseries.v1_0_0.Main |
46
+ WeatherTornado.v1_0_0.Main |
47
+ WeatherTyphoon.v1_0_0.Main |
48
+ WeatherLandslide.v1_0_0.Main |
49
+ WeatherRiverFlood.v1_0_0.Main |
50
+ ForecastPrefecture.v1_0_0.Main |
51
+ ForecastWarningPossibility.v1_0_0.Main |
52
+ ForecastWarningPossibility.v1_1_0.Main |
53
+ ForecastSeason.v1_0_0.Main |
54
+ Forecast2weekTemperature.v1_0_0.Main |
55
+ ForecastWeathermap.v1_0_0.Main;
56
+
57
+ export {
58
+ EarthquakeInformation,
59
+ EarthquakeExplanation,
60
+ EarthquakeCounts,
61
+ EarthquakeHypocenterUpdate,
62
+ EarthquakeNankai,
63
+ EewInformation,
64
+ TsunamiInformation,
65
+ VolcanoInformation,
66
+ WeatherInformation,
67
+ WeatherCommentary,
68
+ WeatherImpactSociety,
69
+ WeatherEarly,
70
+ WeatherWarning,
71
+ WeatherWarningTimeseries,
72
+ WeatherTornado,
73
+ WeatherTyphoon,
74
+ WeatherLandslide,
75
+ WeatherRiverFlood,
76
+ ForecastPrefecture,
77
+ ForecastWarningPossibility,
78
+ ForecastSeason,
79
+ Forecast2weekTemperature,
80
+ ForecastWeathermap,
81
+ TelegramJSONMain,
82
+ Components,
83
+ All
84
+ };
@@ -1,69 +1,69 @@
1
- import { TelegramJSONMain } from '../../main';
2
-
3
- export namespace EarthquakeCounts {
4
- export interface Schema {
5
- type: 'earthquake-counts';
6
- version: '1.0.0';
7
- }
8
-
9
- export interface EarthquakeCountTargetTime {
10
- start: string;
11
- end: string;
12
- }
13
-
14
- export interface EarthquakeCountValues {
15
- all: string | null;
16
- felt: string | null;
17
- }
18
-
19
- export interface EarthquakeCount {
20
- type: '1時間地震回数' | '累積地震回数' | '地震回数';
21
- targetTime: EarthquakeCountTargetTime;
22
- values: EarthquakeCountValues;
23
- }
24
-
25
- export interface Comments {
26
- free: string;
27
- }
28
-
29
- export interface PublicBody {
30
- earthquakeCounts?: EarthquakeCount[];
31
- nextAdvisory?: string;
32
- text?: string;
33
- comments?: Comments;
34
- }
35
-
36
- export interface CancelBody {
37
- text: string;
38
- }
39
-
40
- export interface Public extends TelegramJSONMain {
41
- _schema: Schema;
42
- type: '地震回数に関する情報';
43
- title: '地震回数に関する情報';
44
- infoType: '発表' | '訂正';
45
- targetDateTimeDubious?: never;
46
- targetDuration?: never;
47
- validDateTime?: never;
48
- eventId: string;
49
- serialNo: string;
50
- infoKind: '地震回数情報';
51
- body: PublicBody;
52
- }
53
-
54
- export interface Cancel extends TelegramJSONMain {
55
- _schema: Schema;
56
- type: '地震回数に関する情報';
57
- title: '地震回数に関する情報';
58
- infoType: '取消';
59
- targetDateTimeDubious?: never;
60
- targetDuration?: never;
61
- validDateTime?: never;
62
- eventId: string;
63
- serialNo: string;
64
- infoKind: '地震回数情報';
65
- body: CancelBody;
66
- }
67
-
68
- export type Main = Public | Cancel;
69
- }
1
+ import { TelegramJSONMain } from '../../main';
2
+
3
+ export namespace EarthquakeCounts {
4
+ export interface Schema {
5
+ type: 'earthquake-counts';
6
+ version: '1.0.0';
7
+ }
8
+
9
+ export interface EarthquakeCountTargetTime {
10
+ start: string;
11
+ end: string;
12
+ }
13
+
14
+ export interface EarthquakeCountValues {
15
+ all: string | null;
16
+ felt: string | null;
17
+ }
18
+
19
+ export interface EarthquakeCount {
20
+ type: '1時間地震回数' | '累積地震回数' | '地震回数';
21
+ targetTime: EarthquakeCountTargetTime;
22
+ values: EarthquakeCountValues;
23
+ }
24
+
25
+ export interface Comments {
26
+ free: string;
27
+ }
28
+
29
+ export interface PublicBody {
30
+ earthquakeCounts?: EarthquakeCount[];
31
+ nextAdvisory?: string;
32
+ text?: string;
33
+ comments?: Comments;
34
+ }
35
+
36
+ export interface CancelBody {
37
+ text: string;
38
+ }
39
+
40
+ export interface Public extends TelegramJSONMain {
41
+ _schema: Schema;
42
+ type: '地震回数に関する情報';
43
+ title: '地震回数に関する情報';
44
+ infoType: '発表' | '訂正';
45
+ targetDateTimeDubious?: never;
46
+ targetDuration?: never;
47
+ validDateTime?: never;
48
+ eventId: string;
49
+ serialNo: string;
50
+ infoKind: '地震回数情報';
51
+ body: PublicBody;
52
+ }
53
+
54
+ export interface Cancel extends TelegramJSONMain {
55
+ _schema: Schema;
56
+ type: '地震回数に関する情報';
57
+ title: '地震回数に関する情報';
58
+ infoType: '取消';
59
+ targetDateTimeDubious?: never;
60
+ targetDuration?: never;
61
+ validDateTime?: never;
62
+ eventId: string;
63
+ serialNo: string;
64
+ infoKind: '地震回数情報';
65
+ body: CancelBody;
66
+ }
67
+
68
+ export type Main = Public | Cancel;
69
+ }