@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.
Files changed (74) hide show
  1. package/README.md +44 -3
  2. package/dist/build.js +22 -11
  3. package/dist/config.d.ts +2 -1
  4. package/dist/config.js +3 -2
  5. package/dist/jschema/earthquake-counts_1.0.0.json +1 -0
  6. package/dist/jschema/earthquake-explanation_1.0.0.json +1 -0
  7. package/dist/jschema/earthquake-hypocenter-update_1.0.0.json +1 -0
  8. package/dist/jschema/earthquake-information_1.0.0.json +1 -0
  9. package/dist/jschema/earthquake-information_1.1.0.json +1 -0
  10. package/dist/jschema/earthquake-nankai_1.0.0.json +1 -0
  11. package/dist/jschema/eew-information_1.0.0.json +1 -0
  12. package/dist/jschema/tsunami-information_1.0.0.json +1 -0
  13. package/dist/jschema/volcano-information_1.0.0.json +1 -0
  14. package/dist/jschema/weather-early_1.0.0.json +1 -0
  15. package/dist/jschema/weather-impact-society_1.0.0.json +1 -0
  16. package/dist/jschema/weather-information_1.0.0.json +1 -0
  17. package/dist/jschema/weather-landslide_1.0.0.json +1 -0
  18. package/dist/jschema/weather-river-flood_1.0.0.json +1 -0
  19. package/dist/jschema/weather-tornado_1.0.0.json +1 -0
  20. package/dist/jschema/weather-typhoon_1.0.0.json +1 -0
  21. package/dist/jschema/weather-warning_1.0.0.json +1 -0
  22. package/dist/jschema-load.d.ts +1 -1
  23. package/dist/jschema-load.js +12 -6
  24. package/index.d.ts +2 -2
  25. package/jest.config.ts +202 -0
  26. package/package.json +29 -21
  27. package/test/sample-schema-check.test.ts +54 -0
  28. package/tsconfig.json +28 -15
  29. package/types/component/code-name.ts +4 -0
  30. package/types/{schema/component → component}/coordinate.d.ts +2 -2
  31. package/types/{schema/component → component}/earthquake.d.ts +0 -0
  32. package/types/{schema/component → component}/unit-value.d.ts +13 -13
  33. package/types/index.d.ts +35 -4
  34. package/types/schema/earthquake-counts/1.0.0.d.ts +69 -0
  35. package/types/schema/earthquake-counts/index.d.ts +7 -0
  36. package/types/schema/earthquake-explanation/1.0.0.d.ts +57 -0
  37. package/types/schema/earthquake-explanation/index.d.ts +7 -0
  38. package/types/schema/earthquake-hypocenter-update/1.0.0.d.ts +53 -0
  39. package/types/schema/earthquake-hypocenter-update/index.d.ts +7 -0
  40. package/types/schema/earthquake-information/1.0.0.d.ts +159 -0
  41. package/types/schema/{earthquake-information.d.ts → earthquake-information/1.1.0.d.ts} +206 -181
  42. package/types/schema/earthquake-information/index.d.ts +9 -0
  43. package/types/schema/earthquake-nankai/1.0.0.d.ts +86 -0
  44. package/types/schema/earthquake-nankai/index.d.ts +7 -0
  45. package/types/schema/{eew-information.d.ts → eew-information/1.0.0.d.ts} +42 -39
  46. package/types/schema/eew-information/index.d.ts +7 -0
  47. package/types/schema/{tsunami-information.d.ts → tsunami-information/1.0.0.d.ts} +262 -230
  48. package/types/schema/tsunami-information/index.d.ts +7 -0
  49. package/types/schema/volcano-information/1.0.0.d.ts +450 -0
  50. package/types/schema/volcano-information/index.d.ts +7 -0
  51. package/types/schema/weather-early/1.0.0.d.ts +135 -0
  52. package/types/schema/weather-early/index.d.ts +7 -0
  53. package/types/schema/weather-impact-society/1.0.0.d.ts +140 -0
  54. package/types/schema/weather-impact-society/index.d.ts +7 -0
  55. package/types/schema/weather-information/1.0.0.d.ts +30 -0
  56. package/types/schema/weather-information/index.d.ts +7 -0
  57. package/types/schema/weather-landslide/1.0.0.d.ts +51 -0
  58. package/types/schema/weather-landslide/index.d.ts +7 -0
  59. package/types/schema/weather-river-flood/1.0.0.d.ts +188 -0
  60. package/types/schema/weather-river-flood/index.d.ts +7 -0
  61. package/types/schema/weather-tornado/1.0.0.d.ts +51 -0
  62. package/types/schema/weather-tornado/index.d.ts +7 -0
  63. package/types/schema/{weather-typhoon.d.ts → weather-typhoon/1.0.0.d.ts} +26 -13
  64. package/types/schema/weather-typhoon/index.d.ts +7 -0
  65. package/types/schema/weather-warning/1.0.0.d.ts +212 -0
  66. package/types/schema/weather-warning/index.d.ts +7 -0
  67. package/dist/jschema/earthquake-information.json +0 -1778
  68. package/dist/jschema/eew-information.json +0 -2742
  69. package/dist/jschema/tsunami-information.json +0 -3891
  70. package/dist/jschema/weather-typhoon.json +0 -4969
  71. package/jschema/build.ts +0 -56
  72. package/jschema/config.ts +0 -4
  73. package/jschema/jschema-load.ts +0 -26
  74. package/tsconfig.jschema.json +0 -16
@@ -1,181 +1,206 @@
1
- import { Earthquake } from './component/earthquake';
2
- import { TelegramJSONMain } from '../main';
3
- import { UnitValueNotNull } from './component/unit-value';
4
-
5
-
6
- export namespace EarthquakeInformation {
7
- export interface Schema {
8
- type: 'earthquake-information';
9
- version: '1.1.0';
10
- }
11
-
12
- export type IntensityClass = '1' | '2' | '3' | '4' | '5-' | '5+' | '6-' | '6+' | '7';
13
- export type LpgmIntensityClass = '0' | '1' | '2' | '3' | '4';
14
- export type LpgmCategory = '1' | '2' | '3' | '4';
15
-
16
- export type IntensityMaxInt = {
17
- name: string;
18
- code: string;
19
- maxInt: IntensityClass;
20
- };
21
- export type IntensityMaxIntOnRevise = {
22
- name: string;
23
- code: string;
24
- maxInt?: IntensityClass;
25
- revise?: '上方修正' | '追加';
26
- }
27
-
28
- export type IntensityCity = {
29
- name: string;
30
- code: string;
31
- maxInt?: IntensityClass;
32
- revise?: '上方修正' | '追加';
33
- condition?: '震度5弱以上未入電';
34
- };
35
-
36
- export type IntensityStation = {
37
- name: string;
38
- code: string;
39
- int: IntensityClass | '!5-';
40
- revise?: '上方修正' | '追加';
41
- condition?: '震度5弱以上未入電';
42
- };
43
-
44
- export type IntensityLpgmMaxInt = IntensityMaxIntOnRevise & {
45
- maxLpgmInt: LpgmIntensityClass;
46
- };
47
- export type IntensityLpgmStationPrePeriod = {
48
- periodicBand: UnitValueNotNull<never, '秒台'>;
49
- lpgmInt: LpgmIntensityClass;
50
- sva: UnitValueNotNull<never, 'cm/s'>;
51
- };
52
- export type IntensityLpgmStation = IntensityStation & {
53
- lpgmInt: LpgmIntensityClass;
54
- sva: UnitValueNotNull<never, 'cm/s'>;
55
- prePeriods: IntensityLpgmStationPrePeriod[];
56
- }
57
-
58
- export type Comment = {
59
- free?: string;
60
- forecast?: {
61
- text: string;
62
- codes: string[];
63
- };
64
- var?: {
65
- text: string;
66
- codes: string[];
67
- };
68
- };
69
-
70
-
71
- export type IntensityVXSE51 = {
72
- maxInt: IntensityClass;
73
- prefectures: IntensityMaxInt[];
74
- regions: IntensityMaxInt[];
75
- };
76
-
77
- export type IntensityVXSE53 = {
78
- maxInt: IntensityClass;
79
- prefectures: IntensityMaxIntOnRevise[];
80
- regions: IntensityMaxIntOnRevise[];
81
- cities: IntensityCity[];
82
- stations: IntensityStation[];
83
- };
84
-
85
- export type IntensityVXSE62 = {
86
- maxInt: IntensityClass;
87
- maxLpgmInt: LpgmIntensityClass;
88
- lpgmCategory: LpgmCategory;
89
- prefectures: IntensityLpgmMaxInt[];
90
- regions: IntensityLpgmMaxInt[];
91
- stations: IntensityLpgmStation[];
92
- };
93
-
94
-
95
- export interface PublicBodyVXSE51 {
96
- intensity: IntensityVXSE51;
97
- text?: string;
98
- comments: Omit<Comment, 'var'>;
99
- }
100
-
101
- export interface PublicBodyVXSE52 {
102
- earthquake: Earthquake;
103
- text?: string;
104
- comments: Omit<Comment, 'var'>;
105
- }
106
-
107
- export interface PublicBodyVXSE53 {
108
- earthquake: Earthquake;
109
- intensity?: IntensityVXSE53;
110
- text?: string;
111
- comments: Comment;
112
- }
113
-
114
- export interface PublicBodyVXSE62 {
115
- earthquake: Earthquake;
116
- intensity?: IntensityVXSE62;
117
- text?: string;
118
- comments: Comment;
119
- }
120
-
121
- export interface ChancelBody {
122
- text: string;
123
- }
124
-
125
- export interface PublicVXSE51 extends TelegramJSONMain {
126
- _schema: Schema;
127
- type: '震度速報';
128
- title: '震度速報';
129
- infoKind: '震度速報';
130
- eventId: string;
131
- serialNo: null;
132
- infoType: '発表' | '訂正';
133
- body: PublicBodyVXSE51;
134
- }
135
-
136
- export interface PublicVXSE52 extends TelegramJSONMain {
137
- _schema: Schema;
138
- type: '震源に関する情報';
139
- title: '震源に関する情報';
140
- infoKind: '震源速報';
141
- eventId: string;
142
- serialNo: null;
143
- infoType: '発表' | '訂正';
144
- body: PublicBodyVXSE52;
145
- }
146
-
147
- export interface PublicVXSE53 extends TelegramJSONMain {
148
- _schema: Schema;
149
- type: '震源・震度に関する情報';
150
- title: '震源・震度情報' | '遠地地震に関する情報';
151
- infoKind: '地震情報';
152
- eventId: string;
153
- serialNo: string;
154
- infoType: '発表' | '訂正';
155
- body: PublicBodyVXSE53;
156
- }
157
-
158
- export interface PublicVXSE62 extends TelegramJSONMain {
159
- _schema: Schema;
160
- type: '長周期地震動に関する観測情報';
161
- title: '長周期地震動に関する観測情報';
162
- infoKind: '長周期地震動に関する観測情報';
163
- eventId: string;
164
- serialNo: string;
165
- infoType: '発表' | '訂正';
166
- body: PublicBodyVXSE62;
167
- }
168
-
169
- export interface Channel extends TelegramJSONMain {
170
- _schema: Schema;
171
- type: '震度速報' | '震源に関する情報' | '震源・震度に関する情報' | '長周期地震動に関する観測情報';
172
- title: '震度速報' | '震源に関する情報' | '震源・震度情報' | '遠地地震に関する情報' | '長周期地震動に関する観測情報';
173
- infoKind: '震度速報';
174
- eventId: string;
175
- infoType: '取消';
176
- body: ChancelBody;
177
- }
178
-
179
- export type Main = (PublicVXSE51 | PublicVXSE52 | PublicVXSE53 | PublicVXSE62) | Channel;
180
-
181
- }
1
+ import { TelegramJSONMain } from '@t/main';
2
+ import { CodeName } from '@t/component/code-name';
3
+ import { Earthquake } from '@t/component/earthquake';
4
+ import { UnitValueNotNull } from '@t/component/unit-value';
5
+
6
+ export namespace EarthquakeInformation {
7
+ export interface Schema {
8
+ type: 'earthquake-information';
9
+ version: '1.1.0';
10
+ }
11
+
12
+ export type IntensityClass = '1' | '2' | '3' | '4' | '5-' | '5+' | '6-' | '6+' | '7';
13
+ export type LpgmIntensityClass = '0' | '1' | '2' | '3' | '4';
14
+ export type LpgmCategory = '1' | '2' | '3' | '4';
15
+
16
+ export interface IntensityMaxInt extends CodeName {
17
+ maxInt: IntensityClass;
18
+ }
19
+
20
+ export interface IntensityMaxIntOnRevise extends CodeName {
21
+ maxInt?: IntensityClass;
22
+ revise?: '上方修正' | '追加';
23
+ }
24
+
25
+ export interface IntensityCity extends CodeName {
26
+ maxInt?: IntensityClass;
27
+ revise?: '上方修正' | '追加';
28
+ condition?: '震度5弱以上未入電';
29
+ }
30
+
31
+ export interface IntensityStation extends CodeName {
32
+ int: IntensityClass | '!5-';
33
+ revise?: '上方修正' | '追加';
34
+ condition?: '震度5弱以上未入電';
35
+ }
36
+
37
+ export type IntensityLpgmMaxInt = IntensityMaxIntOnRevise & {
38
+ maxLpgmInt: LpgmIntensityClass;
39
+ };
40
+ export type IntensityLpgmStationPrePeriod = {
41
+ periodicBand: UnitValueNotNull<never, '秒台'>;
42
+ lpgmInt: LpgmIntensityClass;
43
+ sva: UnitValueNotNull<never, 'cm/s'>;
44
+ };
45
+ export type IntensityLpgmStation = IntensityStation & {
46
+ lpgmInt: LpgmIntensityClass;
47
+ sva: UnitValueNotNull<never, 'cm/s'>;
48
+ prePeriods: IntensityLpgmStationPrePeriod[];
49
+ }
50
+
51
+ export type Comment = {
52
+ free?: string;
53
+ forecast?: {
54
+ text: string;
55
+ codes: string[];
56
+ };
57
+ var?: {
58
+ text: string;
59
+ codes: string[];
60
+ };
61
+ };
62
+
63
+
64
+ export interface IntensityVXSE51 {
65
+ maxInt: IntensityClass;
66
+ prefectures: IntensityMaxInt[];
67
+ regions: IntensityMaxInt[];
68
+ }
69
+
70
+ export interface IntensityVXSE53 {
71
+ maxInt: IntensityClass;
72
+ prefectures: IntensityMaxIntOnRevise[];
73
+ regions: IntensityMaxIntOnRevise[];
74
+ cities: IntensityCity[];
75
+ stations: IntensityStation[];
76
+ }
77
+
78
+ export interface IntensityVXSE62 {
79
+ maxInt: IntensityClass;
80
+ maxLpgmInt: LpgmIntensityClass;
81
+ lpgmCategory: LpgmCategory;
82
+ prefectures: IntensityLpgmMaxInt[];
83
+ regions: IntensityLpgmMaxInt[];
84
+ stations: IntensityLpgmStation[];
85
+ }
86
+
87
+
88
+ export interface PublicBodyVXSE51 {
89
+ intensity: IntensityVXSE51;
90
+ text?: string;
91
+ comments: Omit<Comment, 'var'>;
92
+ }
93
+
94
+ export interface PublicBodyVXSE52 {
95
+ earthquake: Earthquake;
96
+ text?: string;
97
+ comments: Omit<Comment, 'var'>;
98
+ }
99
+
100
+ export interface PublicBodyVXSE53 {
101
+ earthquake: Earthquake;
102
+ intensity?: IntensityVXSE53;
103
+ text?: string;
104
+ comments: Comment;
105
+ }
106
+
107
+ export interface PublicBodyVXSE62 {
108
+ earthquake: Earthquake;
109
+ intensity?: IntensityVXSE62;
110
+ text?: string;
111
+ comments: Comment;
112
+ }
113
+
114
+ export interface PublicBodyVXZSE40 {
115
+ text: string;
116
+ }
117
+
118
+ export interface CancelBody {
119
+ text: string;
120
+ }
121
+
122
+ export interface PublicVXSE51 extends TelegramJSONMain {
123
+ _schema: Schema;
124
+ type: '震度速報';
125
+ title: '震度速報';
126
+ infoType: '発表' | '訂正';
127
+ targetDateTimeDubious: never;
128
+ targetDuration: never;
129
+ validDateTime: never;
130
+ eventId: string;
131
+ serialNo: null;
132
+ infoKind: '震度速報';
133
+ body: PublicBodyVXSE51;
134
+ }
135
+
136
+ export interface PublicVXSE52 extends TelegramJSONMain {
137
+ _schema: Schema;
138
+ type: '震源に関する情報';
139
+ title: '震源に関する情報';
140
+ infoType: '発表' | '訂正';
141
+ targetDateTimeDubious: never;
142
+ targetDuration: never;
143
+ validDateTime: never;
144
+ eventId: string;
145
+ serialNo: null;
146
+ infoKind: '震源速報';
147
+ body: PublicBodyVXSE52;
148
+ }
149
+
150
+ export interface PublicVXSE53 extends TelegramJSONMain {
151
+ _schema: Schema;
152
+ type: '震源・震度に関する情報';
153
+ title: '震源・震度情報' | '遠地地震に関する情報';
154
+ infoType: '発表' | '訂正';
155
+ targetDateTimeDubious: never;
156
+ targetDuration: never;
157
+ validDateTime: never;
158
+ eventId: string;
159
+ serialNo: string;
160
+ infoKind: '地震情報';
161
+ body: PublicBodyVXSE53;
162
+ }
163
+
164
+ export interface PublicVXSE62 extends TelegramJSONMain {
165
+ _schema: Schema;
166
+ type: '長周期地震動に関する観測情報';
167
+ title: '長周期地震動に関する観測情報';
168
+ infoType: '発表' | '訂正';
169
+ targetDateTimeDubious: never;
170
+ targetDuration: never;
171
+ validDateTime: never;
172
+ eventId: string;
173
+ serialNo: string;
174
+ infoKind: '長周期地震動に関する観測情報';
175
+ body: PublicBodyVXSE62;
176
+ }
177
+
178
+ export interface PublicVZSE40 extends TelegramJSONMain {
179
+ _schema: Schema;
180
+ type: '地震・津波に関するお知らせ';
181
+ title: '地震・津波に関するお知らせ';
182
+ infoType: '発表' | '訂正';
183
+ targetDateTimeDubious: never;
184
+ targetDuration: never;
185
+ validDateTime: never;
186
+ eventId: string;
187
+ serialNo: null;
188
+ infoKind: '地震・津波に関するお知らせ';
189
+ body: PublicBodyVXZSE40;
190
+ }
191
+
192
+ export interface Cancel extends TelegramJSONMain {
193
+ _schema: Schema;
194
+ type: '震度速報' | '震源に関する情報' | '震源・震度に関する情報' | '長周期地震動に関する観測情報' | '地震・津波に関するお知らせ';
195
+ title: '震度速報' | '震源に関する情報' | '震源・震度情報' | '遠地地震に関する情報' | '長周期地震動に関する観測情報' | '地震・津波に関するお知らせ';
196
+ infoType: '取消';
197
+ targetDateTimeDubious: never;
198
+ targetDuration: never;
199
+ validDateTime: never;
200
+ eventId: string;
201
+ infoKind: '震度速報' | '震源速報' | '地震情報' | '長周期地震動に関する観測情報' | '地震・津波に関するお知らせ';
202
+ body: CancelBody;
203
+ }
204
+
205
+ export type Main = (PublicVXSE51 | PublicVXSE52 | PublicVXSE53 | PublicVXSE62 | PublicVZSE40) | Cancel;
206
+ }
@@ -0,0 +1,9 @@
1
+ import { EarthquakeInformation as v1_1_0 } from './1.1.0';
2
+ import { EarthquakeInformation as v1_0_0 } from './1.0.0';
3
+
4
+
5
+ export {
6
+ v1_1_0 as Latest,
7
+ v1_1_0,
8
+ v1_0_0,
9
+ };
@@ -0,0 +1,86 @@
1
+ import { TelegramJSONMain } from '@t/main';
2
+ import { CodeName } from '@t/component/code-name';
3
+
4
+ export namespace EarthquakeNankai {
5
+ export interface Schema {
6
+ type: 'earthquake-nankai';
7
+ version: '1.0.0';
8
+ }
9
+
10
+ export interface EarthquakeInfoKind extends CodeName{
11
+ }
12
+
13
+ export interface EarthquakeInfo {
14
+ kind?: EarthquakeInfoKind;
15
+ text: string;
16
+ appendix?: string;
17
+ }
18
+
19
+
20
+ export interface PublicBody {
21
+ earthquakeInfo?: EarthquakeInfo;
22
+ nextAdvisory?: string;
23
+ text?: string;
24
+ }
25
+
26
+ export interface CancelBody {
27
+ text: string;
28
+ }
29
+
30
+ export interface PublicVYSE50 extends TelegramJSONMain {
31
+ _schema: Schema;
32
+ type: '南海トラフ地震臨時情報';
33
+ title: string;
34
+ infoType: '発表' | '訂正';
35
+ targetDateTimeDubious: never;
36
+ targetDuration: never;
37
+ validDateTime: never;
38
+ eventId: string;
39
+ serialNo: null;
40
+ infoKind: '南海トラフ地震に関連する情報';
41
+ body: PublicBody;
42
+ }
43
+
44
+ export interface PublicVYSE51 extends TelegramJSONMain {
45
+ _schema: Schema;
46
+ type: '南海トラフ地震関連解説情報';
47
+ title: string;
48
+ infoType: '発表' | '訂正';
49
+ targetDateTimeDubious: never;
50
+ targetDuration: never;
51
+ validDateTime: never;
52
+ eventId: string;
53
+ serialNo: string;
54
+ infoKind: '南海トラフ地震に関連する情報';
55
+ body: PublicBody;
56
+ }
57
+
58
+ export interface PublicVYSE52 extends TelegramJSONMain {
59
+ _schema: Schema;
60
+ type: '南海トラフ地震関連解説情報';
61
+ title: string;
62
+ infoType: '発表' | '訂正';
63
+ targetDateTimeDubious: never;
64
+ targetDuration: never;
65
+ validDateTime: never;
66
+ eventId: string;
67
+ serialNo: null;
68
+ infoKind: '南海トラフ地震に関連する情報';
69
+ body: PublicBody;
70
+ }
71
+
72
+ export interface Cancel extends TelegramJSONMain {
73
+ _schema: Schema;
74
+ type: '南海トラフ地震臨時情報' | '南海トラフ地震関連解説情報';
75
+ title: string;
76
+ infoType: '取消';
77
+ targetDateTimeDubious: never;
78
+ targetDuration: never;
79
+ validDateTime: never;
80
+ eventId: string;
81
+ infoKind: '南海トラフ地震に関連する情報';
82
+ body: CancelBody;
83
+ }
84
+
85
+ export type Main = PublicVYSE50 | PublicVYSE51 | PublicVYSE52 | Cancel;
86
+ }
@@ -0,0 +1,7 @@
1
+ import { EarthquakeExplanation as v1_0_0 } from './1.0.0';
2
+
3
+
4
+ export {
5
+ v1_0_0 as Latest,
6
+ v1_0_0
7
+ };
@@ -1,6 +1,7 @@
1
- import { TelegramJSONMain } from '../main';
2
- import { Coordinate } from './component/coordinate';
3
- import { UnitValueNotNull } from './component/unit-value';
1
+ import { TelegramJSONMain } from '@t/main';
2
+ import { CodeName } from '@t/component/code-name';
3
+ import { Coordinate } from '@t/component/coordinate';
4
+ import { UnitValueNotNull } from '@t/component/unit-value';
4
5
 
5
6
 
6
7
  export namespace EewInformation {
@@ -12,24 +13,18 @@ export namespace EewInformation {
12
13
  export type IntensityClass = '0' | '1' | '2' | '3' | '4' | '5-' | '5+' | '6-' | '6+' | '7';
13
14
  export type LpgmIntensityClass = '0' | '1' | '2' | '3' | '4';
14
15
 
15
- export interface WarningAreaKind {
16
- code: string;
17
- name: string;
18
- lastKind: {
19
- code: string;
20
- name: string;
21
- };
16
+ export interface WarningAreaKindLastKind extends CodeName {
17
+ }
18
+
19
+ export interface WarningAreaKind extends CodeName {
20
+ lastKind: WarningAreaKindLastKind;
22
21
  }
23
22
 
24
- export interface WarningArea {
25
- code: string;
26
- name: string;
23
+ export interface WarningArea extends CodeName {
27
24
  kind: WarningAreaKind;
28
25
  }
29
26
 
30
- export interface EarthquakeHypocenterReduce {
31
- code: string;
32
- name: string;
27
+ export interface EarthquakeHypocenterReduce extends CodeName {
33
28
  }
34
29
 
35
30
  export interface EarthquakeHypocenterAccuracy {
@@ -42,9 +37,7 @@ export namespace EewInformation {
42
37
  numberOfMagnitudeCalculation: '0' | '1' | '2' | '3' | '4' | '5';
43
38
  }
44
39
 
45
- export interface EarthquakeHypocenter {
46
- code: string;
47
- name: string;
40
+ export interface EarthquakeHypocenter extends CodeName {
48
41
  coordinate: Coordinate<'日本測地系'>;
49
42
  depth: UnitValueNotNull<'深さ', 'km'>;
50
43
  reduce: EarthquakeHypocenterReduce;
@@ -83,12 +76,13 @@ export namespace EewInformation {
83
76
  maxIntChangeReason: '0' | '1' | '2' | '3' | '4' | '9';
84
77
  }
85
78
 
86
- export interface IntensityRegion {
87
- code: string;
88
- name: string;
79
+ export interface IntensityRegionKind extends CodeName {
80
+ }
81
+
82
+ export interface IntensityRegion extends CodeName {
89
83
  forecastMaxInt: IntensityForecastMaxInt;
90
84
  forecastLpgmMaxInt?: IntensityForecastLpgmMaxInt;
91
- kind: WarningAreaKind;
85
+ kind: IntensityRegionKind;
92
86
  }
93
87
 
94
88
 
@@ -119,12 +113,12 @@ export namespace EewInformation {
119
113
  comments: Comment;
120
114
  }
121
115
 
122
- export interface PublicTesting {
116
+ export interface PublicTestingBody {
123
117
  isLastInfo: false;
124
118
  text: string;
125
119
  }
126
120
 
127
- export interface ChancelBody {
121
+ export interface CancelBody {
128
122
  isLastInfo: true;
129
123
  text: string;
130
124
  }
@@ -133,35 +127,44 @@ export namespace EewInformation {
133
127
  _schema: Schema;
134
128
  type: '緊急地震速報(予報)' | '緊急地震速報(地震動予報)' | '緊急地震速報(警報)';
135
129
  title: '緊急地震速報(予報)' | '緊急地震速報(地震動予報)' | '緊急地震速報(警報)';
136
- infoKind: '緊急地震速報';
130
+ infoType: '発表' | '訂正';
131
+ targetDateTimeDubious: never;
132
+ targetDuration: never;
133
+ validDateTime: never;
137
134
  eventId: string;
138
135
  serialNo: string;
139
- infoType: '発表' | '訂正';
136
+ infoKind: '緊急地震速報';
140
137
  body: PublicCommonBody;
141
138
  }
142
139
 
143
140
  export interface PublicTesting extends TelegramJSONMain {
144
141
  _schema: Schema;
145
- type: '緊急地震速報テスト';
146
- title: '緊急地震速報テスト';
147
- infoKind: '緊急地震速報';
142
+ type: '緊急地震速報配信テスト';
143
+ title: '緊急地震速報配信テスト';
144
+ infoType: '発表' | '訂正';
145
+ targetDateTimeDubious: never;
146
+ targetDuration: never;
147
+ validDateTime: never;
148
148
  eventId: string;
149
149
  serialNo: string;
150
- infoType: '発表' | '訂正';
151
- body: PublicTesting;
150
+ infoKind: '緊急地震速報';
151
+ body: PublicTestingBody;
152
152
  }
153
153
 
154
- export interface Channel extends TelegramJSONMain {
154
+ export interface Cancel extends TelegramJSONMain {
155
155
  _schema: Schema;
156
- type: '緊急地震速報(予報)' | '緊急地震速報(地震動予報)' | '緊急地震速報(警報)' | '緊急地震速報テスト';
157
- title: '緊急地震速報(予報)' | '緊急地震速報(地震動予報)' | '緊急地震速報(警報)' | '緊急地震速報テスト';
158
- infoKind: '緊急地震速報';
156
+ type: '緊急地震速報(予報)' | '緊急地震速報(地震動予報)' | '緊急地震速報(警報)' | '緊急地震速報配信テスト';
157
+ title: '緊急地震速報(予報)' | '緊急地震速報(地震動予報)' | '緊急地震速報(警報)' | '緊急地震速報配信テスト';
158
+ infoType: '取消';
159
+ targetDateTimeDubious: never;
160
+ targetDuration: never;
161
+ validDateTime: never;
159
162
  eventId: string;
160
163
  serialNo: string;
161
- infoType: '取消';
162
- body: ChancelBody;
164
+ infoKind: '緊急地震速報';
165
+ body: CancelBody;
163
166
  }
164
167
 
165
- export type Main = PublicCommon | PublicTesting | Channel;
168
+ export type Main = PublicCommon | PublicTesting | Cancel;
166
169
 
167
170
  }
@@ -0,0 +1,7 @@
1
+ import { EewInformation as v1_0_0 } from './1.0.0';
2
+
3
+
4
+ export {
5
+ v1_0_0 as Latest,
6
+ v1_0_0
7
+ };