@dmdata/telegram-json-types 1.0.6 → 1.0.9-jschema.1
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/LICENSE +21 -0
- package/README.md +55 -0
- package/dist/build.d.ts +1 -0
- package/dist/build.js +63 -0
- package/dist/config.d.ts +2 -0
- package/dist/config.js +6 -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/eew-information_1.0.0.json +1 -0
- package/dist/jschema/tsunami-information_1.0.0.json +1 -0
- package/dist/jschema/weather-typhoon_1.0.0.json +1 -0
- package/dist/jschema-load.d.ts +1 -0
- package/dist/jschema-load.js +44 -0
- package/index.d.ts +2 -1
- package/package.json +21 -11
- package/types/{schema/component → component}/coordinate.d.ts +15 -15
- package/types/{schema/component → component}/earthquake.d.ts +56 -56
- package/types/{schema/component → component}/unit-value.d.ts +0 -0
- package/types/index.d.ts +11 -2
- package/types/schema/earthquake-information/1.0.0.d.ts +135 -0
- package/types/schema/{earthquake-information.d.ts → earthquake-information/1.1.0.d.ts} +179 -177
- package/types/schema/earthquake-information/index.d.ts +11 -0
- package/types/schema/eew-information/1.0.0.d.ts +167 -0
- package/types/schema/eew-information/index.d.ts +9 -0
- package/types/schema/tsunami-information/1.0.0.d.ts +230 -0
- package/types/schema/tsunami-information/index.d.ts +9 -0
- package/types/schema/{weather-typhoon.d.ts → weather-typhoon/1.0.0.d.ts} +122 -117
- package/types/schema/weather-typhoon/index.d.ts +9 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2022 Project DM-D.S.S (dmdata.jp)
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# @dmdata/telegram-json-type
|
|
2
|
+
|
|
3
|
+
## 概要
|
|
4
|
+
DMDATA.JP が提供する [JSON Schema](https://dmdata.jp/doc/reference/conversion/json/) の、TypeScript型定義(作成中)を公開しています。
|
|
5
|
+
|
|
6
|
+
## 使い方
|
|
7
|
+
|
|
8
|
+
### インストール
|
|
9
|
+
`$ npm i -D @dmdata/telegram-json-type`
|
|
10
|
+
|
|
11
|
+
### 型の使用
|
|
12
|
+
|
|
13
|
+
```typescript
|
|
14
|
+
import { EarthquakeInformation } from '@dmdata/telegram-json-types';
|
|
15
|
+
|
|
16
|
+
const data = await fetch('https://data.api.dmdata.jp/v1/...')
|
|
17
|
+
.then(res => res.json()) as Promise<EarthquakeInformation.Latest.Main>
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## JSON Schema による整合性チェック
|
|
22
|
+
|
|
23
|
+
Telegram JSON が、仕様通り整合するかチェックすることができます。
|
|
24
|
+
|
|
25
|
+
`$ npm i @dmdata/telegram-json-type ajv`
|
|
26
|
+
|
|
27
|
+
```typescript
|
|
28
|
+
import { getJSchema } from '@dmdata/telegram-json-types';
|
|
29
|
+
|
|
30
|
+
// 実際の電文データ
|
|
31
|
+
const telegramData = {
|
|
32
|
+
_schema: {
|
|
33
|
+
type: 'earthquake-information',
|
|
34
|
+
version: '1.1.0'
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
async function check() {
|
|
39
|
+
// Schema 名から JSON Schema 定義を読み込む
|
|
40
|
+
const jschema = await getJSchema(telegramData._schema.type, telegramData._schema.version);
|
|
41
|
+
|
|
42
|
+
const validate = ajv.complite(jschema);
|
|
43
|
+
|
|
44
|
+
console.log(validate(telegramData)); // false
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
check();
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## 使える型定義
|
|
51
|
+
|
|
52
|
+
* [EewInformation](https://dmdata.jp/doc/reference/conversion/json/schema/eew-information)
|
|
53
|
+
* [EarthquakeInformation](https://dmdata.jp/doc/reference/conversion/json/schema/earthquake-information)
|
|
54
|
+
* [TsunamiInformation](https://dmdata.jp/doc/reference/conversion/json/schema/tsunami-information)
|
|
55
|
+
* [WeatherTyphoon](https://dmdata.jp/doc/reference/conversion/json/schema/weather-typhoon)
|
package/dist/build.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist/build.js
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
const path_1 = require("path");
|
|
23
|
+
const promises_1 = require("fs/promises");
|
|
24
|
+
const TJS = __importStar(require("typescript-json-schema"));
|
|
25
|
+
const config_1 = require("./config");
|
|
26
|
+
const settings = {
|
|
27
|
+
required: true,
|
|
28
|
+
};
|
|
29
|
+
const compilerOptions = {
|
|
30
|
+
strictNullChecks: true,
|
|
31
|
+
};
|
|
32
|
+
(0, promises_1.readdir)(config_1.basePath, { withFileTypes: true })
|
|
33
|
+
.then(dirs => dirs.filter(dir => dir.isDirectory())
|
|
34
|
+
.map(async (dir) => [dir.name, await (0, promises_1.readdir)((0, path_1.resolve)(config_1.basePath, dir.name))]))
|
|
35
|
+
.then(dirs => Promise.all(dirs))
|
|
36
|
+
.then(dirs => dirs
|
|
37
|
+
.flatMap(([dir, files]) => files.map(file => (0, path_1.resolve)(config_1.basePath, dir, file)))
|
|
38
|
+
.filter(file => /(\d+\.\d+\.\d+)(\.d)?\.ts$/.test(file)))
|
|
39
|
+
.then(files => programTypescript(files));
|
|
40
|
+
async function programTypescript(files) {
|
|
41
|
+
const tsTypeFiles = files.filter(file => /\.ts$/.test(file));
|
|
42
|
+
const objectMaps = tsTypeFiles.map(file => tsTypeFileName2TypeSymbolName(file));
|
|
43
|
+
await (0, promises_1.rm)(config_1.distDir, { recursive: true, force: true });
|
|
44
|
+
await (0, promises_1.mkdir)(config_1.distDir, { recursive: true });
|
|
45
|
+
for (let i = 0; i < objectMaps.length; i++) {
|
|
46
|
+
const { schemaName, schemaVersion, typeName, file } = objectMaps[i];
|
|
47
|
+
const program = TJS.getProgramFromFiles([file], compilerOptions);
|
|
48
|
+
const schema = TJS.generateSchema(program, typeName, settings);
|
|
49
|
+
console.log(`Build ok: ${schemaName}:${schemaVersion} => ${typeName}`);
|
|
50
|
+
await (0, promises_1.writeFile)((0, path_1.resolve)(config_1.distDir, `${schemaName}_${schemaVersion}.json`), JSON.stringify(schema));
|
|
51
|
+
}
|
|
52
|
+
console.log('Build complete');
|
|
53
|
+
}
|
|
54
|
+
function tsTypeFileName2TypeSymbolName(file) {
|
|
55
|
+
const [, schemaName = null, schemaVersion = null] = file.match(/([\w-]+?)[\\/](\d+\.\d+\.\d+)(\.d)?\.ts$/) ?? [];
|
|
56
|
+
const nameScope = schemaName?.replace(/-(\w)|(^\w)/g, (match, p1 = '', p2 = '') => `${p1}${p2}`.toUpperCase());
|
|
57
|
+
return {
|
|
58
|
+
schemaName,
|
|
59
|
+
schemaVersion,
|
|
60
|
+
typeName: nameScope + '.Main',
|
|
61
|
+
file
|
|
62
|
+
};
|
|
63
|
+
}
|
package/dist/config.d.ts
ADDED
package/dist/config.js
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.distDir = exports.basePath = void 0;
|
|
4
|
+
const path_1 = require("path");
|
|
5
|
+
exports.basePath = (0, path_1.resolve)(__dirname, '../types/schema/');
|
|
6
|
+
exports.distDir = (0, path_1.resolve)(__dirname, '../dist/jschema/');
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"anyOf":[{"$ref":"#/definitions/EarthquakeInformation.PublicVXSE51"},{"$ref":"#/definitions/EarthquakeInformation.PublicVXSE52"},{"$ref":"#/definitions/EarthquakeInformation.PublicVXSE53"},{"$ref":"#/definitions/EarthquakeInformation.Channel"}],"definitions":{"EarthquakeInformation.PublicVXSE51":{"type":"object","properties":{"_schema":{"$ref":"#/definitions/EarthquakeInformation.Schema"},"type":{"type":"string","enum":["震度速報"]},"title":{"type":"string","enum":["震度速報"]},"infoKind":{"type":"string","enum":["震度速報"]},"eventId":{"type":"string"},"serialNo":{"type":"null"},"infoType":{"enum":["発表","訂正"],"type":"string"},"body":{"$ref":"#/definitions/EarthquakeInformation.PublicBodyVXSE51"},"_originalId":{"type":"string"},"status":{"enum":["訓練","試験","通常"],"type":"string"},"editorialOffice":{"type":"string"},"publishingOffice":{"type":"array","items":{"type":"string"}},"pressDateTime":{"type":"string"},"reportDateTime":{"type":"string"},"targetDateTime":{"type":"string"},"targetDateTimeDubious":{"type":"string"},"targetDuration":{"type":"string"},"validDateTime":{"type":"string"},"infoKindVersion":{"type":"string"},"headline":{"type":["null","string"]}},"required":["_originalId","_schema","body","editorialOffice","eventId","headline","infoKind","infoKindVersion","infoType","pressDateTime","publishingOffice","reportDateTime","serialNo","status","targetDateTime","title","type"]},"EarthquakeInformation.Schema":{"type":"object","properties":{"type":{"type":"string","enum":["earthquake-information"]},"version":{"type":"string","enum":["1.1.0"]}},"required":["type","version"]},"EarthquakeInformation.PublicBodyVXSE51":{"type":"object","properties":{"intensity":{"type":"object","properties":{"maxInt":{"$ref":"#/definitions/EarthquakeInformation.IntensityClass"},"prefectures":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"code":{"type":"string"},"maxInt":{"$ref":"#/definitions/EarthquakeInformation.IntensityClass"}},"required":["code","maxInt","name"]}},"regions":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"code":{"type":"string"},"maxInt":{"$ref":"#/definitions/EarthquakeInformation.IntensityClass"}},"required":["code","maxInt","name"]}}},"required":["maxInt","prefectures","regions"]},"text":{"type":"string"},"comments":{"$ref":"#/definitions/Omit<EarthquakeInformation.Comment,\"var\">"}},"required":["comments","intensity"]},"EarthquakeInformation.IntensityClass":{"enum":["1","2","3","4","5+","5-","6+","6-","7"],"type":"string"},"Omit<EarthquakeInformation.Comment,\"var\">":{"type":"object","properties":{"free":{"type":"string"},"forecast":{"type":"object","properties":{"text":{"type":"string"},"codes":{"type":"array","items":{"type":"string"}}},"required":["codes","text"]}}},"EarthquakeInformation.PublicVXSE52":{"type":"object","properties":{"_schema":{"$ref":"#/definitions/EarthquakeInformation.Schema"},"type":{"type":"string","enum":["震源に関する情報"]},"title":{"type":"string","enum":["震源に関する情報"]},"infoKind":{"type":"string","enum":["震源速報"]},"eventId":{"type":"string"},"serialNo":{"type":"null"},"infoType":{"enum":["発表","訂正"],"type":"string"},"body":{"$ref":"#/definitions/EarthquakeInformation.PublicBodyVXSE52"},"_originalId":{"type":"string"},"status":{"enum":["訓練","試験","通常"],"type":"string"},"editorialOffice":{"type":"string"},"publishingOffice":{"type":"array","items":{"type":"string"}},"pressDateTime":{"type":"string"},"reportDateTime":{"type":"string"},"targetDateTime":{"type":"string"},"targetDateTimeDubious":{"type":"string"},"targetDuration":{"type":"string"},"validDateTime":{"type":"string"},"infoKindVersion":{"type":"string"},"headline":{"type":["null","string"]}},"required":["_originalId","_schema","body","editorialOffice","eventId","headline","infoKind","infoKindVersion","infoType","pressDateTime","publishingOffice","reportDateTime","serialNo","status","targetDateTime","title","type"]},"EarthquakeInformation.PublicBodyVXSE52":{"type":"object","properties":{"earthquake":{"$ref":"#/definitions/Earthquake"},"text":{"type":"string"},"comments":{"$ref":"#/definitions/Omit<EarthquakeInformation.Comment,\"var\">"}},"required":["comments","earthquake"]},"Earthquake":{"type":"object","properties":{"originTime":{"type":"string"},"arrivalTime":{"type":"string"},"hypocenter":{"type":"object","properties":{"name":{"type":"string"},"code":{"type":"string"},"coordinate":{"anyOf":[{"type":"object","properties":{"condition":{"type":"string","enum":["不明"]}},"required":["condition"]},{"type":"object","properties":{"latitude":{"type":"object","properties":{"text":{"type":"string"},"value":{"type":"string"}},"required":["text","value"]},"longitude":{"type":"object","properties":{"text":{"type":"string"},"value":{"type":"string"}},"required":["text","value"]},"height":{"type":"object","properties":{"type":{"type":"string","enum":["深さ"]},"unit":{"type":"string","enum":["km"]},"value":{"type":["null","string"]}},"required":["type","unit","value"]},"condition":{"type":"undefined"},"geodeticSystem":{"enum":["日本測地系"],"type":"string"}},"required":["condition","latitude","longitude"]}]},"depth":{"anyOf":[{"allOf":[{"type":"object","properties":{"type":{"type":"string","enum":["深さ"]},"unit":{"type":"string","enum":["km"]}},"required":["type","unit"]},{"type":"object","properties":{"value":{"type":"null"},"condition":{"type":"string","enum":["不明"]}},"required":["condition","value"]}]},{"allOf":[{"type":"object","properties":{"type":{"type":"string","enum":["深さ"]},"unit":{"type":"string","enum":["km"]}},"required":["type","unit"]},{"type":"object","properties":{"value":{"type":"string","enum":["0"]},"condition":{"type":"string","enum":["ごく浅い"]}},"required":["condition","value"]}]},{"allOf":[{"type":"object","properties":{"type":{"type":"string","enum":["深さ"]},"unit":{"type":"string","enum":["km"]}},"required":["type","unit"]},{"type":"object","properties":{"value":{"type":"string","enum":["700"]},"condition":{"type":"string","enum":["700km以上"]}},"required":["condition","value"]}]},{"allOf":[{"type":"object","properties":{"type":{"type":"string","enum":["深さ"]},"unit":{"type":"string","enum":["km"]}},"required":["type","unit"]},{"type":"object","properties":{"value":{"type":"string"}},"required":["value"]}]}]},"detailed":{"type":"object","properties":{"code":{"type":"string"},"name":{"type":"string"}},"required":["code","name"]},"auxiliary":{"type":"object","properties":{"text":{"type":"string"},"code":{"type":"string"},"name":{"type":"string"},"direction":{"type":"string"},"distance":{"$ref":"#/definitions/Omit<UnitValueNotNull<never,\"km\",never>,\"type\"|\"condition\">"}},"required":["code","direction","distance","name","text"]},"source":{"enum":["PTWC","USGS","WCATWC"],"type":"string"}},"required":["code","coordinate","depth","name"]},"magnitude":{"anyOf":[{"allOf":[{"type":"object","properties":{"type":{"type":"string","enum":["マグニチュード"]},"unit":{"enum":["M","Mj"],"type":"string"}},"required":["type","unit"]},{"type":"object","properties":{"value":{"type":"null"},"condition":{"enum":["M不明","M8を超える巨大地震"],"type":"string"}},"required":["condition","value"]}]},{"allOf":[{"type":"object","properties":{"type":{"type":"string","enum":["マグニチュード"]},"unit":{"enum":["M","Mj"],"type":"string"}},"required":["type","unit"]},{"type":"object","properties":{"value":{"type":"string"}},"required":["value"]}]}]}},"required":["arrivalTime","hypocenter","magnitude","originTime"]},"Omit<UnitValueNotNull<never,\"km\",never>,\"type\"|\"condition\">":{"type":"object","properties":{"unit":{"type":"string","enum":["km"]},"value":{"type":"string"}},"required":["unit","value"]},"EarthquakeInformation.PublicVXSE53":{"type":"object","properties":{"_schema":{"$ref":"#/definitions/EarthquakeInformation.Schema"},"type":{"type":"string","enum":["震源・震度に関する情報"]},"title":{"enum":["遠地地震に関する情報","震源・震度情報"],"type":"string"},"infoKind":{"type":"string","enum":["地震情報"]},"eventId":{"type":"string"},"serialNo":{"type":"string"},"infoType":{"enum":["発表","訂正"],"type":"string"},"body":{"$ref":"#/definitions/EarthquakeInformation.PublicBodyVXSE53"},"_originalId":{"type":"string"},"status":{"enum":["訓練","試験","通常"],"type":"string"},"editorialOffice":{"type":"string"},"publishingOffice":{"type":"array","items":{"type":"string"}},"pressDateTime":{"type":"string"},"reportDateTime":{"type":"string"},"targetDateTime":{"type":"string"},"targetDateTimeDubious":{"type":"string"},"targetDuration":{"type":"string"},"validDateTime":{"type":"string"},"infoKindVersion":{"type":"string"},"headline":{"type":["null","string"]}},"required":["_originalId","_schema","body","editorialOffice","eventId","headline","infoKind","infoKindVersion","infoType","pressDateTime","publishingOffice","reportDateTime","serialNo","status","targetDateTime","title","type"]},"EarthquakeInformation.PublicBodyVXSE53":{"type":"object","properties":{"earthquake":{"$ref":"#/definitions/Earthquake"},"intensity":{"type":"object","properties":{"maxInt":{"$ref":"#/definitions/EarthquakeInformation.IntensityClass"},"prefectures":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"code":{"type":"string"},"maxInt":{"enum":["1","2","3","4","5+","5-","6+","6-","7"],"type":"string"},"revise":{"enum":["上方修正","追加"],"type":"string"}},"required":["code","name"]}},"regions":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"code":{"type":"string"},"maxInt":{"enum":["1","2","3","4","5+","5-","6+","6-","7"],"type":"string"},"revise":{"enum":["上方修正","追加"],"type":"string"}},"required":["code","name"]}},"cities":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"code":{"type":"string"},"maxInt":{"enum":["1","2","3","4","5+","5-","6+","6-","7"],"type":"string"},"revise":{"enum":["上方修正","追加"],"type":"string"},"condition":{"enum":["震度5弱以上未入電"],"type":"string"}},"required":["code","name"]}},"stations":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"code":{"type":"string"},"int":{"enum":["!5-","1","2","3","4","5+","5-","6+","6-","7"],"type":"string"},"revise":{"enum":["上方修正","追加"],"type":"string"},"condition":{"enum":["震度5弱以上未入電"],"type":"string"}},"required":["code","int","name"]}}},"required":["cities","maxInt","prefectures","regions","stations"]},"text":{"type":"string"},"comments":{"type":"object","properties":{"free":{"type":"string"},"forecast":{"type":"object","properties":{"text":{"type":"string"},"codes":{"type":"array","items":{"type":"string"}}},"required":["codes","text"]},"var":{"type":"object","properties":{"text":{"type":"string"},"codes":{"type":"array","items":{"type":"string"}}},"required":["codes","text"]}}}},"required":["comments","earthquake"]},"EarthquakeInformation.Channel":{"type":"object","properties":{"_schema":{"$ref":"#/definitions/EarthquakeInformation.Schema"},"type":{"enum":["長周期地震動に関する観測情報","震度速報","震源に関する情報","震源・震度に関する情報"],"type":"string"},"title":{"enum":["遠地地震に関する情報","長周期地震動に関する観測情報","震度速報","震源に関する情報","震源・震度情報"],"type":"string"},"infoKind":{"type":"string","enum":["震度速報"]},"eventId":{"type":"string"},"infoType":{"type":"string","enum":["取消"]},"body":{"$ref":"#/definitions/EarthquakeInformation.ChancelBody"},"_originalId":{"type":"string"},"status":{"enum":["訓練","試験","通常"],"type":"string"},"editorialOffice":{"type":"string"},"publishingOffice":{"type":"array","items":{"type":"string"}},"pressDateTime":{"type":"string"},"reportDateTime":{"type":"string"},"targetDateTime":{"type":"string"},"targetDateTimeDubious":{"type":"string"},"targetDuration":{"type":"string"},"validDateTime":{"type":"string"},"serialNo":{"type":["null","string"]},"infoKindVersion":{"type":"string"},"headline":{"type":["null","string"]}},"required":["_originalId","_schema","body","editorialOffice","eventId","headline","infoKind","infoKindVersion","infoType","pressDateTime","publishingOffice","reportDateTime","serialNo","status","targetDateTime","title","type"]},"EarthquakeInformation.ChancelBody":{"type":"object","properties":{"text":{"type":"string"}},"required":["text"]}},"$schema":"http://json-schema.org/draft-07/schema#"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"anyOf":[{"$ref":"#/definitions/EarthquakeInformation.PublicVXSE51"},{"$ref":"#/definitions/EarthquakeInformation.PublicVXSE52"},{"$ref":"#/definitions/EarthquakeInformation.PublicVXSE53"},{"$ref":"#/definitions/EarthquakeInformation.PublicVXSE62"},{"$ref":"#/definitions/EarthquakeInformation.Channel"}],"definitions":{"EarthquakeInformation.PublicVXSE51":{"type":"object","properties":{"_schema":{"$ref":"#/definitions/EarthquakeInformation.Schema"},"type":{"type":"string","enum":["震度速報"]},"title":{"type":"string","enum":["震度速報"]},"infoKind":{"type":"string","enum":["震度速報"]},"eventId":{"type":"string"},"serialNo":{"type":"null"},"infoType":{"enum":["発表","訂正"],"type":"string"},"body":{"$ref":"#/definitions/EarthquakeInformation.PublicBodyVXSE51"},"_originalId":{"type":"string"},"status":{"enum":["訓練","試験","通常"],"type":"string"},"editorialOffice":{"type":"string"},"publishingOffice":{"type":"array","items":{"type":"string"}},"pressDateTime":{"type":"string"},"reportDateTime":{"type":"string"},"targetDateTime":{"type":"string"},"targetDateTimeDubious":{"type":"string"},"targetDuration":{"type":"string"},"validDateTime":{"type":"string"},"infoKindVersion":{"type":"string"},"headline":{"type":["null","string"]}},"required":["_originalId","_schema","body","editorialOffice","eventId","headline","infoKind","infoKindVersion","infoType","pressDateTime","publishingOffice","reportDateTime","serialNo","status","targetDateTime","title","type"]},"EarthquakeInformation.Schema":{"type":"object","properties":{"type":{"type":"string","enum":["earthquake-information"]},"version":{"type":"string","enum":["1.1.0"]}},"required":["type","version"]},"EarthquakeInformation.PublicBodyVXSE51":{"type":"object","properties":{"intensity":{"type":"object","properties":{"maxInt":{"$ref":"#/definitions/EarthquakeInformation.IntensityClass"},"prefectures":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"code":{"type":"string"},"maxInt":{"$ref":"#/definitions/EarthquakeInformation.IntensityClass"}},"required":["code","maxInt","name"]}},"regions":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"code":{"type":"string"},"maxInt":{"$ref":"#/definitions/EarthquakeInformation.IntensityClass"}},"required":["code","maxInt","name"]}}},"required":["maxInt","prefectures","regions"]},"text":{"type":"string"},"comments":{"$ref":"#/definitions/Omit<EarthquakeInformation.Comment,\"var\">"}},"required":["comments","intensity"]},"EarthquakeInformation.IntensityClass":{"enum":["1","2","3","4","5+","5-","6+","6-","7"],"type":"string"},"Omit<EarthquakeInformation.Comment,\"var\">":{"type":"object","properties":{"free":{"type":"string"},"forecast":{"type":"object","properties":{"text":{"type":"string"},"codes":{"type":"array","items":{"type":"string"}}},"required":["codes","text"]}}},"EarthquakeInformation.PublicVXSE52":{"type":"object","properties":{"_schema":{"$ref":"#/definitions/EarthquakeInformation.Schema"},"type":{"type":"string","enum":["震源に関する情報"]},"title":{"type":"string","enum":["震源に関する情報"]},"infoKind":{"type":"string","enum":["震源速報"]},"eventId":{"type":"string"},"serialNo":{"type":"null"},"infoType":{"enum":["発表","訂正"],"type":"string"},"body":{"$ref":"#/definitions/EarthquakeInformation.PublicBodyVXSE52"},"_originalId":{"type":"string"},"status":{"enum":["訓練","試験","通常"],"type":"string"},"editorialOffice":{"type":"string"},"publishingOffice":{"type":"array","items":{"type":"string"}},"pressDateTime":{"type":"string"},"reportDateTime":{"type":"string"},"targetDateTime":{"type":"string"},"targetDateTimeDubious":{"type":"string"},"targetDuration":{"type":"string"},"validDateTime":{"type":"string"},"infoKindVersion":{"type":"string"},"headline":{"type":["null","string"]}},"required":["_originalId","_schema","body","editorialOffice","eventId","headline","infoKind","infoKindVersion","infoType","pressDateTime","publishingOffice","reportDateTime","serialNo","status","targetDateTime","title","type"]},"EarthquakeInformation.PublicBodyVXSE52":{"type":"object","properties":{"earthquake":{"$ref":"#/definitions/Earthquake"},"text":{"type":"string"},"comments":{"$ref":"#/definitions/Omit<EarthquakeInformation.Comment,\"var\">"}},"required":["comments","earthquake"]},"Earthquake":{"type":"object","properties":{"originTime":{"type":"string"},"arrivalTime":{"type":"string"},"hypocenter":{"type":"object","properties":{"name":{"type":"string"},"code":{"type":"string"},"coordinate":{"anyOf":[{"type":"object","properties":{"condition":{"type":"string","enum":["不明"]}},"required":["condition"]},{"type":"object","properties":{"latitude":{"type":"object","properties":{"text":{"type":"string"},"value":{"type":"string"}},"required":["text","value"]},"longitude":{"type":"object","properties":{"text":{"type":"string"},"value":{"type":"string"}},"required":["text","value"]},"height":{"type":"object","properties":{"type":{"type":"string","enum":["深さ"]},"unit":{"type":"string","enum":["km"]},"value":{"type":["null","string"]}},"required":["type","unit","value"]},"condition":{"type":"undefined"},"geodeticSystem":{"enum":["日本測地系"],"type":"string"}},"required":["condition","latitude","longitude"]}]},"depth":{"anyOf":[{"allOf":[{"type":"object","properties":{"type":{"type":"string","enum":["深さ"]},"unit":{"type":"string","enum":["km"]}},"required":["type","unit"]},{"type":"object","properties":{"value":{"type":"null"},"condition":{"type":"string","enum":["不明"]}},"required":["condition","value"]}]},{"allOf":[{"type":"object","properties":{"type":{"type":"string","enum":["深さ"]},"unit":{"type":"string","enum":["km"]}},"required":["type","unit"]},{"type":"object","properties":{"value":{"type":"string","enum":["0"]},"condition":{"type":"string","enum":["ごく浅い"]}},"required":["condition","value"]}]},{"allOf":[{"type":"object","properties":{"type":{"type":"string","enum":["深さ"]},"unit":{"type":"string","enum":["km"]}},"required":["type","unit"]},{"type":"object","properties":{"value":{"type":"string","enum":["700"]},"condition":{"type":"string","enum":["700km以上"]}},"required":["condition","value"]}]},{"allOf":[{"type":"object","properties":{"type":{"type":"string","enum":["深さ"]},"unit":{"type":"string","enum":["km"]}},"required":["type","unit"]},{"type":"object","properties":{"value":{"type":"string"}},"required":["value"]}]}]},"detailed":{"type":"object","properties":{"code":{"type":"string"},"name":{"type":"string"}},"required":["code","name"]},"auxiliary":{"type":"object","properties":{"text":{"type":"string"},"code":{"type":"string"},"name":{"type":"string"},"direction":{"type":"string"},"distance":{"$ref":"#/definitions/Omit<UnitValueNotNull<never,\"km\",never>,\"type\"|\"condition\">"}},"required":["code","direction","distance","name","text"]},"source":{"enum":["PTWC","USGS","WCATWC"],"type":"string"}},"required":["code","coordinate","depth","name"]},"magnitude":{"anyOf":[{"allOf":[{"type":"object","properties":{"type":{"type":"string","enum":["マグニチュード"]},"unit":{"enum":["M","Mj"],"type":"string"}},"required":["type","unit"]},{"type":"object","properties":{"value":{"type":"null"},"condition":{"enum":["M不明","M8を超える巨大地震"],"type":"string"}},"required":["condition","value"]}]},{"allOf":[{"type":"object","properties":{"type":{"type":"string","enum":["マグニチュード"]},"unit":{"enum":["M","Mj"],"type":"string"}},"required":["type","unit"]},{"type":"object","properties":{"value":{"type":"string"}},"required":["value"]}]}]}},"required":["arrivalTime","hypocenter","magnitude","originTime"]},"Omit<UnitValueNotNull<never,\"km\",never>,\"type\"|\"condition\">":{"type":"object","properties":{"unit":{"type":"string","enum":["km"]},"value":{"type":"string"}},"required":["unit","value"]},"EarthquakeInformation.PublicVXSE53":{"type":"object","properties":{"_schema":{"$ref":"#/definitions/EarthquakeInformation.Schema"},"type":{"type":"string","enum":["震源・震度に関する情報"]},"title":{"enum":["遠地地震に関する情報","震源・震度情報"],"type":"string"},"infoKind":{"type":"string","enum":["地震情報"]},"eventId":{"type":"string"},"serialNo":{"type":"string"},"infoType":{"enum":["発表","訂正"],"type":"string"},"body":{"$ref":"#/definitions/EarthquakeInformation.PublicBodyVXSE53"},"_originalId":{"type":"string"},"status":{"enum":["訓練","試験","通常"],"type":"string"},"editorialOffice":{"type":"string"},"publishingOffice":{"type":"array","items":{"type":"string"}},"pressDateTime":{"type":"string"},"reportDateTime":{"type":"string"},"targetDateTime":{"type":"string"},"targetDateTimeDubious":{"type":"string"},"targetDuration":{"type":"string"},"validDateTime":{"type":"string"},"infoKindVersion":{"type":"string"},"headline":{"type":["null","string"]}},"required":["_originalId","_schema","body","editorialOffice","eventId","headline","infoKind","infoKindVersion","infoType","pressDateTime","publishingOffice","reportDateTime","serialNo","status","targetDateTime","title","type"]},"EarthquakeInformation.PublicBodyVXSE53":{"type":"object","properties":{"earthquake":{"$ref":"#/definitions/Earthquake"},"intensity":{"type":"object","properties":{"maxInt":{"$ref":"#/definitions/EarthquakeInformation.IntensityClass"},"prefectures":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"code":{"type":"string"},"maxInt":{"enum":["1","2","3","4","5+","5-","6+","6-","7"],"type":"string"},"revise":{"enum":["上方修正","追加"],"type":"string"}},"required":["code","name"]}},"regions":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"code":{"type":"string"},"maxInt":{"enum":["1","2","3","4","5+","5-","6+","6-","7"],"type":"string"},"revise":{"enum":["上方修正","追加"],"type":"string"}},"required":["code","name"]}},"cities":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"code":{"type":"string"},"maxInt":{"enum":["1","2","3","4","5+","5-","6+","6-","7"],"type":"string"},"revise":{"enum":["上方修正","追加"],"type":"string"},"condition":{"enum":["震度5弱以上未入電"],"type":"string"}},"required":["code","name"]}},"stations":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"code":{"type":"string"},"int":{"enum":["!5-","1","2","3","4","5+","5-","6+","6-","7"],"type":"string"},"revise":{"enum":["上方修正","追加"],"type":"string"},"condition":{"enum":["震度5弱以上未入電"],"type":"string"}},"required":["code","int","name"]}}},"required":["cities","maxInt","prefectures","regions","stations"]},"text":{"type":"string"},"comments":{"type":"object","properties":{"free":{"type":"string"},"forecast":{"type":"object","properties":{"text":{"type":"string"},"codes":{"type":"array","items":{"type":"string"}}},"required":["codes","text"]},"var":{"type":"object","properties":{"text":{"type":"string"},"codes":{"type":"array","items":{"type":"string"}}},"required":["codes","text"]}}}},"required":["comments","earthquake"]},"EarthquakeInformation.PublicVXSE62":{"type":"object","properties":{"_schema":{"$ref":"#/definitions/EarthquakeInformation.Schema"},"type":{"type":"string","enum":["長周期地震動に関する観測情報"]},"title":{"type":"string","enum":["長周期地震動に関する観測情報"]},"infoKind":{"type":"string","enum":["長周期地震動に関する観測情報"]},"eventId":{"type":"string"},"serialNo":{"type":"string"},"infoType":{"enum":["発表","訂正"],"type":"string"},"body":{"$ref":"#/definitions/EarthquakeInformation.PublicBodyVXSE62"},"_originalId":{"type":"string"},"status":{"enum":["訓練","試験","通常"],"type":"string"},"editorialOffice":{"type":"string"},"publishingOffice":{"type":"array","items":{"type":"string"}},"pressDateTime":{"type":"string"},"reportDateTime":{"type":"string"},"targetDateTime":{"type":"string"},"targetDateTimeDubious":{"type":"string"},"targetDuration":{"type":"string"},"validDateTime":{"type":"string"},"infoKindVersion":{"type":"string"},"headline":{"type":["null","string"]}},"required":["_originalId","_schema","body","editorialOffice","eventId","headline","infoKind","infoKindVersion","infoType","pressDateTime","publishingOffice","reportDateTime","serialNo","status","targetDateTime","title","type"]},"EarthquakeInformation.PublicBodyVXSE62":{"type":"object","properties":{"earthquake":{"$ref":"#/definitions/Earthquake"},"intensity":{"type":"object","properties":{"maxInt":{"$ref":"#/definitions/EarthquakeInformation.IntensityClass"},"maxLpgmInt":{"$ref":"#/definitions/EarthquakeInformation.LpgmIntensityClass"},"lpgmCategory":{"$ref":"#/definitions/EarthquakeInformation.LpgmCategory"},"prefectures":{"type":"array","items":{"allOf":[{"type":"object","properties":{"name":{"type":"string"},"code":{"type":"string"},"maxInt":{"enum":["1","2","3","4","5+","5-","6+","6-","7"],"type":"string"},"revise":{"enum":["上方修正","追加"],"type":"string"}},"required":["code","name"]},{"type":"object","properties":{"maxLpgmInt":{"$ref":"#/definitions/EarthquakeInformation.LpgmIntensityClass"}},"required":["maxLpgmInt"]}]}},"regions":{"type":"array","items":{"allOf":[{"type":"object","properties":{"name":{"type":"string"},"code":{"type":"string"},"maxInt":{"enum":["1","2","3","4","5+","5-","6+","6-","7"],"type":"string"},"revise":{"enum":["上方修正","追加"],"type":"string"}},"required":["code","name"]},{"type":"object","properties":{"maxLpgmInt":{"$ref":"#/definitions/EarthquakeInformation.LpgmIntensityClass"}},"required":["maxLpgmInt"]}]}},"stations":{"type":"array","items":{"allOf":[{"type":"object","properties":{"name":{"type":"string"},"code":{"type":"string"},"int":{"enum":["!5-","1","2","3","4","5+","5-","6+","6-","7"],"type":"string"},"revise":{"enum":["上方修正","追加"],"type":"string"},"condition":{"enum":["震度5弱以上未入電"],"type":"string"}},"required":["code","int","name"]},{"type":"object","properties":{"lpgmInt":{"$ref":"#/definitions/EarthquakeInformation.LpgmIntensityClass"},"sva":{"type":"object","properties":{"unit":{"type":"string","enum":["cm/s"]},"value":{"type":"string"}},"required":["unit","value"]},"prePeriods":{"type":"array","items":{"type":"object","properties":{"periodicBand":{"type":"object","properties":{"unit":{"type":"string","enum":["秒台"]},"value":{"type":"string"}},"required":["unit","value"]},"lpgmInt":{"$ref":"#/definitions/EarthquakeInformation.LpgmIntensityClass"},"sva":{"type":"object","properties":{"unit":{"type":"string","enum":["cm/s"]},"value":{"type":"string"}},"required":["unit","value"]}},"required":["lpgmInt","periodicBand","sva"]}}},"required":["lpgmInt","prePeriods","sva"]}]}}},"required":["lpgmCategory","maxInt","maxLpgmInt","prefectures","regions","stations"]},"text":{"type":"string"},"comments":{"type":"object","properties":{"free":{"type":"string"},"forecast":{"type":"object","properties":{"text":{"type":"string"},"codes":{"type":"array","items":{"type":"string"}}},"required":["codes","text"]},"var":{"type":"object","properties":{"text":{"type":"string"},"codes":{"type":"array","items":{"type":"string"}}},"required":["codes","text"]}}}},"required":["comments","earthquake"]},"EarthquakeInformation.LpgmIntensityClass":{"enum":["0","1","2","3","4"],"type":"string"},"EarthquakeInformation.LpgmCategory":{"enum":["1","2","3","4"],"type":"string"},"EarthquakeInformation.Channel":{"type":"object","properties":{"_schema":{"$ref":"#/definitions/EarthquakeInformation.Schema"},"type":{"enum":["長周期地震動に関する観測情報","震度速報","震源に関する情報","震源・震度に関する情報"],"type":"string"},"title":{"enum":["遠地地震に関する情報","長周期地震動に関する観測情報","震度速報","震源に関する情報","震源・震度情報"],"type":"string"},"infoKind":{"type":"string","enum":["震度速報"]},"eventId":{"type":"string"},"infoType":{"type":"string","enum":["取消"]},"body":{"$ref":"#/definitions/EarthquakeInformation.ChancelBody"},"_originalId":{"type":"string"},"status":{"enum":["訓練","試験","通常"],"type":"string"},"editorialOffice":{"type":"string"},"publishingOffice":{"type":"array","items":{"type":"string"}},"pressDateTime":{"type":"string"},"reportDateTime":{"type":"string"},"targetDateTime":{"type":"string"},"targetDateTimeDubious":{"type":"string"},"targetDuration":{"type":"string"},"validDateTime":{"type":"string"},"serialNo":{"type":["null","string"]},"infoKindVersion":{"type":"string"},"headline":{"type":["null","string"]}},"required":["_originalId","_schema","body","editorialOffice","eventId","headline","infoKind","infoKindVersion","infoType","pressDateTime","publishingOffice","reportDateTime","serialNo","status","targetDateTime","title","type"]},"EarthquakeInformation.ChancelBody":{"type":"object","properties":{"text":{"type":"string"}},"required":["text"]}},"$schema":"http://json-schema.org/draft-07/schema#"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"anyOf":[{"$ref":"#/definitions/EewInformation.PublicTesting"},{"$ref":"#/definitions/EewInformation.PublicCommon"},{"$ref":"#/definitions/EewInformation.Channel"}],"definitions":{"EewInformation.PublicTesting":{"type":"object","properties":{"isLastInfo":{"type":"boolean","enum":[false]},"text":{"type":"string"},"_schema":{"$ref":"#/definitions/EewInformation.Schema"},"type":{"type":"string","enum":["緊急地震速報テスト"]},"title":{"type":"string","enum":["緊急地震速報テスト"]},"infoKind":{"type":"string","enum":["緊急地震速報"]},"eventId":{"type":"string"},"serialNo":{"type":"string"},"infoType":{"enum":["発表","訂正"],"type":"string"},"body":{"$ref":"#/definitions/EewInformation.PublicTesting"},"_originalId":{"type":"string"},"status":{"enum":["訓練","試験","通常"],"type":"string"},"editorialOffice":{"type":"string"},"publishingOffice":{"type":"array","items":{"type":"string"}},"pressDateTime":{"type":"string"},"reportDateTime":{"type":"string"},"targetDateTime":{"type":"string"},"targetDateTimeDubious":{"type":"string"},"targetDuration":{"type":"string"},"validDateTime":{"type":"string"},"infoKindVersion":{"type":"string"},"headline":{"type":["null","string"]}},"required":["_originalId","_schema","body","editorialOffice","eventId","headline","infoKind","infoKindVersion","infoType","isLastInfo","pressDateTime","publishingOffice","reportDateTime","serialNo","status","targetDateTime","text","title","type"]},"EewInformation.Schema":{"type":"object","properties":{"type":{"type":"string","enum":["eew-information"]},"version":{"type":"string","enum":["1.0.0"]}},"required":["type","version"]},"EewInformation.PublicCommon":{"type":"object","properties":{"_schema":{"$ref":"#/definitions/EewInformation.Schema"},"type":{"enum":["緊急地震速報(予報)","緊急地震速報(地震動予報)","緊急地震速報(警報)"],"type":"string"},"title":{"enum":["緊急地震速報(予報)","緊急地震速報(地震動予報)","緊急地震速報(警報)"],"type":"string"},"infoKind":{"type":"string","enum":["緊急地震速報"]},"eventId":{"type":"string"},"serialNo":{"type":"string"},"infoType":{"enum":["発表","訂正"],"type":"string"},"body":{"$ref":"#/definitions/EewInformation.PublicCommonBody"},"_originalId":{"type":"string"},"status":{"enum":["訓練","試験","通常"],"type":"string"},"editorialOffice":{"type":"string"},"publishingOffice":{"type":"array","items":{"type":"string"}},"pressDateTime":{"type":"string"},"reportDateTime":{"type":"string"},"targetDateTime":{"type":"string"},"targetDateTimeDubious":{"type":"string"},"targetDuration":{"type":"string"},"validDateTime":{"type":"string"},"infoKindVersion":{"type":"string"},"headline":{"type":["null","string"]}},"required":["_originalId","_schema","body","editorialOffice","eventId","headline","infoKind","infoKindVersion","infoType","pressDateTime","publishingOffice","reportDateTime","serialNo","status","targetDateTime","title","type"]},"EewInformation.PublicCommonBody":{"type":"object","properties":{"isLastInfo":{"type":"boolean"},"zones":{"type":"array","items":{"$ref":"#/definitions/EewInformation.WarningArea"}},"prefectures":{"type":"array","items":{"$ref":"#/definitions/EewInformation.WarningArea"}},"regions":{"type":"array","items":{"$ref":"#/definitions/EewInformation.WarningArea"}},"earthquake":{"$ref":"#/definitions/EewInformation.Earthquake"},"intensity":{"$ref":"#/definitions/EewInformation.Intensity"},"text":{"type":"string"},"comments":{"type":"object","properties":{"free":{"type":"string"},"warning":{"type":"object","properties":{"text":{"type":"string"},"codes":{"type":"array","items":{"type":"string"}}},"required":["codes","text"]}}}},"required":["comments","earthquake","isLastInfo"]},"EewInformation.WarningArea":{"type":"object","properties":{"code":{"type":"string"},"name":{"type":"string"},"kind":{"$ref":"#/definitions/EewInformation.WarningAreaKind"}},"required":["code","kind","name"]},"EewInformation.WarningAreaKind":{"type":"object","properties":{"code":{"type":"string"},"name":{"type":"string"},"lastKind":{"type":"object","properties":{"code":{"type":"string"},"name":{"type":"string"}},"required":["code","name"]}},"required":["code","lastKind","name"]},"EewInformation.Earthquake":{"type":"object","properties":{"originTime":{"type":"string"},"arrivalTime":{"type":"string"},"condition":{"enum":["仮定震源要素"],"type":"string"},"hypocenter":{"$ref":"#/definitions/EewInformation.EarthquakeHypocenter"},"magnitude":{"$ref":"#/definitions/EewInformation.EarthquakeMagnitude"}},"required":["arrivalTime","hypocenter","magnitude"]},"EewInformation.EarthquakeHypocenter":{"type":"object","properties":{"code":{"type":"string"},"name":{"type":"string"},"coordinate":{"anyOf":[{"type":"object","properties":{"condition":{"type":"string","enum":["不明"]}},"required":["condition"]},{"type":"object","properties":{"latitude":{"type":"object","properties":{"text":{"type":"string"},"value":{"type":"string"}},"required":["text","value"]},"longitude":{"type":"object","properties":{"text":{"type":"string"},"value":{"type":"string"}},"required":["text","value"]},"height":{"type":"object","properties":{"type":{"type":"string","enum":["深さ"]},"unit":{"type":"string","enum":["km"]},"value":{"type":["null","string"]}},"required":["type","unit","value"]},"condition":{"type":"undefined"},"geodeticSystem":{"type":"string","enum":["日本測地系"]}},"required":["condition","geodeticSystem","latitude","longitude"]}]},"depth":{"type":"object","properties":{"type":{"type":"string","enum":["深さ"]},"unit":{"type":"string","enum":["km"]},"value":{"type":"string"}},"required":["type","unit","value"]},"reduce":{"$ref":"#/definitions/EewInformation.EarthquakeHypocenterReduce"},"landOrSea":{"enum":["内陸","海域"],"type":"string"},"accuracy":{"$ref":"#/definitions/EewInformation.EarthquakeHypocenterAccuracy"}},"required":["accuracy","code","coordinate","depth","name","reduce"]},"EewInformation.EarthquakeHypocenterReduce":{"type":"object","properties":{"code":{"type":"string"},"name":{"type":"string"}},"required":["code","name"]},"EewInformation.EarthquakeHypocenterAccuracy":{"type":"object","properties":{"epicenters":{"type":"array","items":[{"enum":["0","1","2","3","4","5","6","7","8"],"type":"string"},{"enum":["0","1","2","3","4","9"],"type":"string"}],"minItems":2,"maxItems":2},"depth":{"enum":["0","1","2","3","4","5","6","7","8"],"type":"string"},"magnitudeCalculation":{"enum":["0","2","3","4","5","6","8"],"type":"string"},"numberOfMagnitudeCalculation":{"enum":["0","1","2","3","4","5"],"type":"string"}},"required":["depth","epicenters","magnitudeCalculation","numberOfMagnitudeCalculation"]},"EewInformation.EarthquakeMagnitude":{"type":"object","properties":{"type":{"type":"string","enum":["マグニチュード"]},"unit":{"enum":["M","Mj"],"type":"string"},"value":{"type":["null","string"]},"condition":{"enum":["M不明"],"type":"string"}},"required":["type","unit","value"]},"EewInformation.Intensity":{"type":"object","properties":{"forecastMaxInt":{"$ref":"#/definitions/EewInformation.IntensityForecastMaxInt"},"forecastLpgmMaxInt":{"$ref":"#/definitions/EewInformation.IntensityForecastLpgmMaxInt"},"appendix":{"$ref":"#/definitions/EewInformation.IntensityAppendix"},"regions":{"type":"array","items":{"$ref":"#/definitions/EewInformation.IntensityRegion"}}},"required":["forecastMaxInt","regions"]},"EewInformation.IntensityForecastMaxInt":{"type":"object","properties":{"from":{"enum":["0","1","2","3","4","5+","5-","6+","6-","7","不明"],"type":"string"},"to":{"enum":["0","1","2","3","4","5+","5-","6+","6-","7","over","不明"],"type":"string"}},"required":["from","to"]},"EewInformation.IntensityForecastLpgmMaxInt":{"type":"object","properties":{"from":{"enum":["0","1","2","3","4","不明"],"type":"string"},"to":{"enum":["0","1","2","3","4","over","不明"],"type":"string"}},"required":["from","to"]},"EewInformation.IntensityAppendix":{"type":"object","properties":{"maxIntChange":{"enum":["0","1","2"],"type":"string"},"maxLpgmIntChange":{"enum":["0","1","2"],"type":"string"},"maxIntChangeReason":{"enum":["0","1","2","3","4","9"],"type":"string"}},"required":["maxIntChange","maxIntChangeReason"]},"EewInformation.IntensityRegion":{"type":"object","properties":{"code":{"type":"string"},"name":{"type":"string"},"forecastMaxInt":{"$ref":"#/definitions/EewInformation.IntensityForecastMaxInt"},"forecastLpgmMaxInt":{"$ref":"#/definitions/EewInformation.IntensityForecastLpgmMaxInt"},"kind":{"$ref":"#/definitions/EewInformation.WarningAreaKind"}},"required":["code","forecastMaxInt","kind","name"]},"EewInformation.Channel":{"type":"object","properties":{"_schema":{"$ref":"#/definitions/EewInformation.Schema"},"type":{"enum":["緊急地震速報テスト","緊急地震速報(予報)","緊急地震速報(地震動予報)","緊急地震速報(警報)"],"type":"string"},"title":{"enum":["緊急地震速報テスト","緊急地震速報(予報)","緊急地震速報(地震動予報)","緊急地震速報(警報)"],"type":"string"},"infoKind":{"type":"string","enum":["緊急地震速報"]},"eventId":{"type":"string"},"serialNo":{"type":"string"},"infoType":{"type":"string","enum":["取消"]},"body":{"$ref":"#/definitions/EewInformation.ChancelBody"},"_originalId":{"type":"string"},"status":{"enum":["訓練","試験","通常"],"type":"string"},"editorialOffice":{"type":"string"},"publishingOffice":{"type":"array","items":{"type":"string"}},"pressDateTime":{"type":"string"},"reportDateTime":{"type":"string"},"targetDateTime":{"type":"string"},"targetDateTimeDubious":{"type":"string"},"targetDuration":{"type":"string"},"validDateTime":{"type":"string"},"infoKindVersion":{"type":"string"},"headline":{"type":["null","string"]}},"required":["_originalId","_schema","body","editorialOffice","eventId","headline","infoKind","infoKindVersion","infoType","pressDateTime","publishingOffice","reportDateTime","serialNo","status","targetDateTime","title","type"]},"EewInformation.ChancelBody":{"type":"object","properties":{"isLastInfo":{"type":"boolean","enum":[true]},"text":{"type":"string"}},"required":["isLastInfo","text"]}},"$schema":"http://json-schema.org/draft-07/schema#"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"anyOf":[{"$ref":"#/definitions/TsunamiInformation.PublicVTSE41"},{"$ref":"#/definitions/TsunamiInformation.PublicVTSE51"},{"$ref":"#/definitions/TsunamiInformation.PublicVTSE52"},{"$ref":"#/definitions/TsunamiInformation.Channel"}],"definitions":{"TsunamiInformation.PublicVTSE41":{"type":"object","properties":{"_schema":{"$ref":"#/definitions/TsunamiInformation.Schema"},"type":{"type":"string","enum":["津波警報・注意報・予報a"]},"title":{"type":"string"},"infoKind":{"type":"string","enum":["津波警報・注意報・予報"]},"eventId":{"type":"string"},"serialNo":{"type":"null"},"infoType":{"enum":["発表","訂正"],"type":"string"},"body":{"$ref":"#/definitions/TsunamiInformation.PublicBodyVTSE41"},"_originalId":{"type":"string"},"status":{"enum":["訓練","試験","通常"],"type":"string"},"editorialOffice":{"type":"string"},"publishingOffice":{"type":"array","items":{"type":"string"}},"pressDateTime":{"type":"string"},"reportDateTime":{"type":"string"},"targetDateTime":{"type":"string"},"targetDateTimeDubious":{"type":"string"},"targetDuration":{"type":"string"},"validDateTime":{"type":"string"},"infoKindVersion":{"type":"string"},"headline":{"type":["null","string"]}},"required":["_originalId","_schema","body","editorialOffice","eventId","headline","infoKind","infoKindVersion","infoType","pressDateTime","publishingOffice","reportDateTime","serialNo","status","targetDateTime","title","type"]},"TsunamiInformation.Schema":{"type":"object","properties":{"type":{"type":"string","enum":["tsunami-information"]},"version":{"type":"string","enum":["1.0.0"]}},"required":["type","version"]},"TsunamiInformation.PublicBodyVTSE41":{"type":"object","properties":{"tsunami":{"$ref":"#/definitions/TsunamiInformation.PublicBodyVTSE41Tsunami"},"earthquakes":{"type":"array","items":{"$ref":"#/definitions/Earthquake"}},"text":{"type":"string"},"comments":{"type":"object","properties":{"free":{"type":"string"},"warning":{"type":"object","properties":{"text":{"type":"string"},"codes":{"type":"array","items":{"type":"string"}}},"required":["codes","text"]}}}},"required":["earthquakes","tsunami"]},"TsunamiInformation.PublicBodyVTSE41Tsunami":{"type":"object","properties":{"forecasts":{"type":"array","items":{"$ref":"#/definitions/TsunamiInformation.TsunamiForecastVXSE41"}}},"required":["forecasts"]},"TsunamiInformation.TsunamiForecastVXSE41":{"type":"object","properties":{"code":{"type":"string"},"name":{"type":"string"},"kind":{"$ref":"#/definitions/TsunamiInformation.TsunamiForecastKind"},"firstHeight":{"$ref":"#/definitions/TsunamiInformation.TsunamiForecastFirstHeight"},"maxHeight":{"$ref":"#/definitions/TsunamiInformation.TsunamiForecastMaxHeight"}},"required":["code","firstHeight","kind","maxHeight","name"]},"TsunamiInformation.TsunamiForecastKind":{"type":"object","properties":{"code":{"type":"string"},"name":{"type":"string"},"lastKind":{"type":"object","properties":{"code":{"type":"string"},"name":{"type":"string"}},"required":["code","name"]}},"required":["code","lastKind","name"]},"TsunamiInformation.TsunamiForecastFirstHeight":{"type":"object","properties":{"arrivalTime":{"type":"string"},"condition":{"enum":["ただちに津波来襲と予測","津波到達中と推測","第1波の到達を確認"],"type":"string"},"revise":{"enum":["更新","追加"],"type":"string"}}},"TsunamiInformation.TsunamiForecastMaxHeight":{"type":"object","properties":{"height":{"$ref":"#/definitions/TsunamiInformation.TsunamiForecastMaxHeightValue"},"condition":{"enum":["重要"],"type":"string"},"revise":{"enum":["更新","追加"],"type":"string"}},"required":["height"]},"TsunamiInformation.TsunamiForecastMaxHeightValue":{"type":"object","properties":{"type":{"type":"string","enum":["津波の高さ"]},"unit":{"type":"string","enum":["m"]},"value":{"type":["null","string"]},"over":{"enum":[true],"type":"boolean"},"condition":{"enum":["巨大","高い"],"type":"string"}},"required":["type","unit","value"]},"Earthquake":{"type":"object","properties":{"originTime":{"type":"string"},"arrivalTime":{"type":"string"},"hypocenter":{"type":"object","properties":{"name":{"type":"string"},"code":{"type":"string"},"coordinate":{"anyOf":[{"type":"object","properties":{"condition":{"type":"string","enum":["不明"]}},"required":["condition"]},{"type":"object","properties":{"latitude":{"type":"object","properties":{"text":{"type":"string"},"value":{"type":"string"}},"required":["text","value"]},"longitude":{"type":"object","properties":{"text":{"type":"string"},"value":{"type":"string"}},"required":["text","value"]},"height":{"type":"object","properties":{"type":{"type":"string","enum":["深さ"]},"unit":{"type":"string","enum":["km"]},"value":{"type":["null","string"]}},"required":["type","unit","value"]},"condition":{"type":"undefined"},"geodeticSystem":{"enum":["日本測地系"],"type":"string"}},"required":["condition","latitude","longitude"]}]},"depth":{"anyOf":[{"allOf":[{"type":"object","properties":{"type":{"type":"string","enum":["深さ"]},"unit":{"type":"string","enum":["km"]}},"required":["type","unit"]},{"type":"object","properties":{"value":{"type":"null"},"condition":{"type":"string","enum":["不明"]}},"required":["condition","value"]}]},{"allOf":[{"type":"object","properties":{"type":{"type":"string","enum":["深さ"]},"unit":{"type":"string","enum":["km"]}},"required":["type","unit"]},{"type":"object","properties":{"value":{"type":"string","enum":["0"]},"condition":{"type":"string","enum":["ごく浅い"]}},"required":["condition","value"]}]},{"allOf":[{"type":"object","properties":{"type":{"type":"string","enum":["深さ"]},"unit":{"type":"string","enum":["km"]}},"required":["type","unit"]},{"type":"object","properties":{"value":{"type":"string","enum":["700"]},"condition":{"type":"string","enum":["700km以上"]}},"required":["condition","value"]}]},{"allOf":[{"type":"object","properties":{"type":{"type":"string","enum":["深さ"]},"unit":{"type":"string","enum":["km"]}},"required":["type","unit"]},{"type":"object","properties":{"value":{"type":"string"}},"required":["value"]}]}]},"detailed":{"type":"object","properties":{"code":{"type":"string"},"name":{"type":"string"}},"required":["code","name"]},"auxiliary":{"type":"object","properties":{"text":{"type":"string"},"code":{"type":"string"},"name":{"type":"string"},"direction":{"type":"string"},"distance":{"$ref":"#/definitions/Omit<UnitValueNotNull<never,\"km\",never>,\"type\"|\"condition\">"}},"required":["code","direction","distance","name","text"]},"source":{"enum":["PTWC","USGS","WCATWC"],"type":"string"}},"required":["code","coordinate","depth","name"]},"magnitude":{"anyOf":[{"allOf":[{"type":"object","properties":{"type":{"type":"string","enum":["マグニチュード"]},"unit":{"enum":["M","Mj"],"type":"string"}},"required":["type","unit"]},{"type":"object","properties":{"value":{"type":"null"},"condition":{"enum":["M不明","M8を超える巨大地震"],"type":"string"}},"required":["condition","value"]}]},{"allOf":[{"type":"object","properties":{"type":{"type":"string","enum":["マグニチュード"]},"unit":{"enum":["M","Mj"],"type":"string"}},"required":["type","unit"]},{"type":"object","properties":{"value":{"type":"string"}},"required":["value"]}]}]}},"required":["arrivalTime","hypocenter","magnitude","originTime"]},"Omit<UnitValueNotNull<never,\"km\",never>,\"type\"|\"condition\">":{"type":"object","properties":{"unit":{"type":"string","enum":["km"]},"value":{"type":"string"}},"required":["unit","value"]},"TsunamiInformation.PublicVTSE51":{"type":"object","properties":{"_schema":{"$ref":"#/definitions/TsunamiInformation.Schema"},"type":{"type":"string","enum":["津波情報a"]},"title":{"enum":["各地の満潮時刻・津波到達予想時刻に関する情報","津波観測に関する情報"],"type":"string"},"infoKind":{"type":"string","enum":["津波情報"]},"eventId":{"type":"string"},"serialNo":{"type":"string"},"infoType":{"enum":["発表","訂正"],"type":"string"},"body":{"$ref":"#/definitions/TsunamiInformation.PublicBodyVTSE51"},"_originalId":{"type":"string"},"status":{"enum":["訓練","試験","通常"],"type":"string"},"editorialOffice":{"type":"string"},"publishingOffice":{"type":"array","items":{"type":"string"}},"pressDateTime":{"type":"string"},"reportDateTime":{"type":"string"},"targetDateTime":{"type":"string"},"targetDateTimeDubious":{"type":"string"},"targetDuration":{"type":"string"},"validDateTime":{"type":"string"},"infoKindVersion":{"type":"string"},"headline":{"type":["null","string"]}},"required":["_originalId","_schema","body","editorialOffice","eventId","headline","infoKind","infoKindVersion","infoType","pressDateTime","publishingOffice","reportDateTime","serialNo","status","targetDateTime","title","type"]},"TsunamiInformation.PublicBodyVTSE51":{"type":"object","properties":{"tsunami":{"$ref":"#/definitions/TsunamiInformation.PublicBodyVTSE51Tsunami"},"earthquakes":{"type":"array","items":{"$ref":"#/definitions/Earthquake"}},"text":{"type":"string"},"comments":{"type":"object","properties":{"free":{"type":"string"},"warning":{"type":"object","properties":{"text":{"type":"string"},"codes":{"type":"array","items":{"type":"string"}}},"required":["codes","text"]}}}},"required":["earthquakes","tsunami"]},"TsunamiInformation.PublicBodyVTSE51Tsunami":{"type":"object","properties":{"forecasts":{"type":"array","items":{"$ref":"#/definitions/TsunamiInformation.TsunamiForecastVXSE51"}},"observations":{"type":"array","items":{"$ref":"#/definitions/TsunamiInformation.TsunamiObservationVXSE51"}}},"required":["forecasts","observations"]},"TsunamiInformation.TsunamiForecastVXSE51":{"type":"object","properties":{"stations":{"type":"array","items":{"$ref":"#/definitions/TsunamiInformation.TsunamiForecastStation"}},"code":{"type":"string"},"name":{"type":"string"},"kind":{"$ref":"#/definitions/TsunamiInformation.TsunamiForecastKind"},"firstHeight":{"$ref":"#/definitions/TsunamiInformation.TsunamiForecastFirstHeight"},"maxHeight":{"$ref":"#/definitions/TsunamiInformation.TsunamiForecastMaxHeight"}},"required":["code","firstHeight","kind","maxHeight","name"]},"TsunamiInformation.TsunamiForecastStation":{"type":"object","properties":{"code":{"type":"string"},"name":{"type":"string"},"highTideDateTime":{"type":"string"},"firstHeight":{"$ref":"#/definitions/TsunamiInformation.TsunamiForecastFirstHeight"}},"required":["code","firstHeight","highTideDateTime","name"]},"TsunamiInformation.TsunamiObservationVXSE51":{"type":"object","properties":{"code":{"type":"string"},"name":{"type":"string"},"stations":{"type":"array","items":{"$ref":"#/definitions/TsunamiInformation.TsunamiObservationStation"}}},"required":["code","name","stations"]},"TsunamiInformation.TsunamiObservationStation":{"type":"object","properties":{"code":{"type":"string"},"name":{"type":"string"},"sensor":{"type":"string"},"firstHeight":{"$ref":"#/definitions/TsunamiInformation.TsunamiObservationStationFirstHeight"},"maxHeight":{"$ref":"#/definitions/TsunamiInformation.TsunamiObservationStationMaxHeight"}},"required":["code","firstHeight","maxHeight","name"]},"TsunamiInformation.TsunamiObservationStationFirstHeight":{"type":"object","properties":{"arrivalTime":{"type":"string"},"initial":{"enum":["引き","押し"],"type":"string"},"condition":{"enum":["第1波識別不能"],"type":"string"},"revise":{"enum":["更新","追加"],"type":"string"}},"required":["arrivalTime"]},"TsunamiInformation.TsunamiObservationStationMaxHeight":{"type":"object","properties":{"dateTime":{"type":"string"},"height":{"$ref":"#/definitions/TsunamiInformation.TsunamiObservationStationMaxHeightValue"},"condition":{"enum":["微弱","観測中","重要"],"type":"string"},"revise":{"enum":["更新","追加"],"type":"string"}}},"TsunamiInformation.TsunamiObservationStationMaxHeightValue":{"type":"object","properties":{"type":{"type":"string","enum":["これまでの最大波の高さ"]},"unit":{"type":"string","enum":["m"]},"value":{"type":["null","string"]},"over":{"enum":[true],"type":"boolean"},"condition":{"enum":["上昇中"],"type":"string"}},"required":["type","unit","value"]},"TsunamiInformation.PublicVTSE52":{"type":"object","properties":{"_schema":{"$ref":"#/definitions/TsunamiInformation.Schema"},"type":{"type":"string","enum":["沖合の津波観測に関する情報"]},"title":{"type":"string","enum":["沖合の津波観測に関する情報"]},"infoKind":{"type":"string","enum":["津波情報"]},"eventId":{"type":"string"},"serialNo":{"type":"string"},"infoType":{"enum":["発表","訂正"],"type":"string"},"body":{"$ref":"#/definitions/TsunamiInformation.PublicBodyVTSE52"},"_originalId":{"type":"string"},"status":{"enum":["訓練","試験","通常"],"type":"string"},"editorialOffice":{"type":"string"},"publishingOffice":{"type":"array","items":{"type":"string"}},"pressDateTime":{"type":"string"},"reportDateTime":{"type":"string"},"targetDateTime":{"type":"string"},"targetDateTimeDubious":{"type":"string"},"targetDuration":{"type":"string"},"validDateTime":{"type":"string"},"infoKindVersion":{"type":"string"},"headline":{"type":["null","string"]}},"required":["_originalId","_schema","body","editorialOffice","eventId","headline","infoKind","infoKindVersion","infoType","pressDateTime","publishingOffice","reportDateTime","serialNo","status","targetDateTime","title","type"]},"TsunamiInformation.PublicBodyVTSE52":{"type":"object","properties":{"tsunami":{"$ref":"#/definitions/TsunamiInformation.PublicBodyVTSE52Tsunami"},"earthquakes":{"type":"array","items":{"$ref":"#/definitions/Earthquake"}},"text":{"type":"string"},"comments":{"type":"object","properties":{"free":{"type":"string"},"warning":{"type":"object","properties":{"text":{"type":"string"},"codes":{"type":"array","items":{"type":"string"}}},"required":["codes","text"]}}}},"required":["earthquakes","tsunami"]},"TsunamiInformation.PublicBodyVTSE52Tsunami":{"type":"object","properties":{"observations":{"type":"array","items":{"$ref":"#/definitions/TsunamiInformation.TsunamiObservationVXSE52"}},"estimations":{"type":"array","items":{"$ref":"#/definitions/TsunamiInformation.TsunamiEstimation"}}},"required":["estimations","observations"]},"TsunamiInformation.TsunamiObservationVXSE52":{"type":"object","properties":{"code":{"type":"null"},"name":{"type":"null"},"stations":{"type":"array","items":{"$ref":"#/definitions/TsunamiInformation.TsunamiObservationStation"}}},"required":["code","name","stations"]},"TsunamiInformation.TsunamiEstimation":{"type":"object","properties":{"code":{"type":"string"},"name":{"type":"string"},"firstHeight":{"$ref":"#/definitions/TsunamiInformation.TsunamiEstimationFirstHeight"},"maxHeight":{"$ref":"#/definitions/TsunamiInformation.TsunamiEstimationMaxHeight"}},"required":["code","firstHeight","maxHeight","name"]},"TsunamiInformation.TsunamiEstimationFirstHeight":{"type":"object","properties":{"arrivalTime":{"type":"string"},"condition":{"enum":["早いところでは既に津波到達と推定"],"type":"string"},"revise":{"enum":["更新","追加"],"type":"string"}},"required":["arrivalTime"]},"TsunamiInformation.TsunamiEstimationMaxHeight":{"type":"object","properties":{"dateTime":{"type":"string"},"height":{"$ref":"#/definitions/TsunamiInformation.TsunamiEstimationMaxHeightValue"},"condition":{"enum":["微弱","観測中","重要"],"type":"string"},"revise":{"enum":["更新","追加"],"type":"string"}}},"TsunamiInformation.TsunamiEstimationMaxHeightValue":{"type":"object","properties":{"type":{"type":"string","enum":["津波の高さ"]},"unit":{"type":"string","enum":["m"]},"value":{"type":["null","string"]},"over":{"enum":[true],"type":"boolean"}},"required":["type","unit","value"]},"TsunamiInformation.Channel":{"type":"object","properties":{"type":{"enum":["各地の満潮時刻・津波到達予想時刻に関する情報","大津波警報・津波警報・津波予報a","津波情報a","津波観測に関する情報"],"type":"string"},"infoType":{"type":"string","enum":["取消"]},"eventId":{"type":"string"},"body":{"$ref":"#/definitions/TsunamiInformation.ChancelBody"},"_originalId":{"type":"string"},"_schema":{"type":"object","properties":{"type":{"type":"string"},"version":{"type":"string"}},"required":["type","version"]},"title":{"type":"string"},"status":{"enum":["訓練","試験","通常"],"type":"string"},"editorialOffice":{"type":"string"},"publishingOffice":{"type":"array","items":{"type":"string"}},"pressDateTime":{"type":"string"},"reportDateTime":{"type":"string"},"targetDateTime":{"type":"string"},"targetDateTimeDubious":{"type":"string"},"targetDuration":{"type":"string"},"validDateTime":{"type":"string"},"serialNo":{"type":["null","string"]},"infoKind":{"type":"string"},"infoKindVersion":{"type":"string"},"headline":{"type":["null","string"]}},"required":["_originalId","_schema","body","editorialOffice","eventId","headline","infoKind","infoKindVersion","infoType","pressDateTime","publishingOffice","reportDateTime","serialNo","status","targetDateTime","title","type"]},"TsunamiInformation.ChancelBody":{"type":"object","properties":{"text":{"type":"string"}},"required":["text"]}},"$schema":"http://json-schema.org/draft-07/schema#"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"type":"object","properties":{"_schema":{"$ref":"#/definitions/WeatherTyphoon.Schema"},"type":{"enum":["台風解析・予報情報(3日予報)","台風解析・予報情報(5日予報)","台風解析・予報情報(5日予報)(H30)"],"type":"string"},"title":{"type":"string","enum":["台風解析・予報情報"]},"targetDuration":{"type":"string"},"infoKind":{"enum":["台風解析・予報情報(3日予報)","台風解析・予報情報(5日予報)"],"type":"string"},"eventId":{"type":"string"},"serialNo":{"type":"string"},"infoType":{"enum":["取消","発表","訂正"],"type":"string"},"headline":{"type":"null"},"body":{"$ref":"#/definitions/WeatherTyphoon.PublicBody"},"_originalId":{"type":"string"},"status":{"enum":["訓練","試験","通常"],"type":"string"},"editorialOffice":{"type":"string"},"publishingOffice":{"type":"array","items":{"type":"string"}},"pressDateTime":{"type":"string"},"reportDateTime":{"type":"string"},"targetDateTime":{"type":"string"},"targetDateTimeDubious":{"type":"string"},"validDateTime":{"type":"string"},"infoKindVersion":{"type":"string"}},"required":["_originalId","_schema","body","editorialOffice","eventId","headline","infoKind","infoKindVersion","infoType","pressDateTime","publishingOffice","reportDateTime","serialNo","status","targetDateTime","targetDuration","title","type"],"definitions":{"WeatherTyphoon.Schema":{"type":"object","properties":{"type":{"type":"string","enum":["weather-typhoon"]},"version":{"type":"string","enum":["1.0.0"]}},"required":["type","version"]},"WeatherTyphoon.PublicBody":{"type":"object","properties":{"typhoon":{"$ref":"#/definitions/WeatherTyphoon.Typhoon"},"forecasts":{"anyOf":[{"type":"array","items":[{"$ref":"#/definitions/WeatherTyphoon.RealState"}],"minItems":1,"maxItems":1},{"type":"array","items":[{"$ref":"#/definitions/WeatherTyphoon.RealState"}],"minItems":1,"additionalItems":{"$ref":"#/definitions/WeatherTyphoon.Forecast"}},{"type":"array","items":[{"$ref":"#/definitions/WeatherTyphoon.RealState"},{"$ref":"#/definitions/WeatherTyphoon.RealState"}],"minItems":2,"maxItems":2},{"type":"array","items":[{"$ref":"#/definitions/WeatherTyphoon.RealState"},{"$ref":"#/definitions/WeatherTyphoon.RealState"}],"minItems":2,"additionalItems":{"$ref":"#/definitions/WeatherTyphoon.Forecast"}}]}},"required":["forecasts","typhoon"]},"WeatherTyphoon.Typhoon":{"type":"object","properties":{"tcNumber":{"type":"string"},"name":{"$ref":"#/definitions/WeatherTyphoon.TyphoonName"},"remark":{"anyOf":[{"enum":["台風消滅(域外へ出る)","台風消滅(温帯低気圧化)","台風消滅(熱帯低気圧化)","台風発生","台風発生の可能性が小さくなった","台風発生予想","台風発生(域外から入る)","温帯低気圧化しつつある","発表間隔変更(毎時から3時間毎)","発表間隔変更(3時間毎から毎時)"],"type":"string"},{"type":"null"}]}},"required":["name","remark","tcNumber"]},"WeatherTyphoon.TyphoonName":{"type":"object","properties":{"text":{"type":["null","string"]},"kana":{"type":["null","string"]},"number":{"type":["null","string"]}},"required":["kana","number","text"]},"WeatherTyphoon.RealState":{"type":"object","properties":{"type":{"enum":["実況","推定"],"type":"string"},"elapsedTime":{"enum":["PT0H","PT1H"],"type":"string"},"dateTime":{"type":"string"},"classification":{"$ref":"#/definitions/WeatherTyphoon.RealStateClassification"},"center":{"$ref":"#/definitions/WeatherTyphoon.RealStateCenter"},"wind":{"$ref":"#/definitions/WeatherTyphoon.RealStateWind"}},"required":["center","classification","dateTime","elapsedTime","type"]},"WeatherTyphoon.RealStateClassification":{"type":"object","properties":{"category":{"anyOf":[{"enum":["Hurricane","LOW","STS","TD","TY","Tropical Storm"],"type":"string"},{"type":"null"}]},"name":{"anyOf":[{"enum":["ハリケーン","台風","温帯低気圧","熱帯低気圧","発達した熱帯低気圧"],"type":"string"},{"type":"null"}]},"area":{"anyOf":[{"enum":["大型","超大型"],"type":"string"},{"type":"null"}]},"intensity":{"anyOf":[{"enum":["強い","猛烈な","非常に強い"],"type":"string"},{"type":"null"}]}},"required":["area","category","intensity","name"]},"WeatherTyphoon.RealStateCenter":{"type":"object","properties":{"coordinate":{"anyOf":[{"type":"object","properties":{"condition":{"type":"string","enum":["不明"]}},"required":["condition"]},{"type":"object","properties":{"latitude":{"type":"object","properties":{"text":{"type":"string"},"value":{"type":"string"}},"required":["text","value"]},"longitude":{"type":"object","properties":{"text":{"type":"string"},"value":{"type":"string"}},"required":["text","value"]},"height":{"type":"object","properties":{"type":{"type":"string","enum":["深さ"]},"unit":{"type":"string","enum":["km"]},"value":{"type":["null","string"]}},"required":["type","unit","value"]},"condition":{"type":"undefined"}},"required":["condition","latitude","longitude"]}]},"location":{"type":"string"},"direction":{"$ref":"#/definitions/WeatherTyphoon.Direction"},"speed":{"type":"object","properties":{"type":{"type":"string"},"unit":{"type":"string"},"value":{"type":["null","string"]}},"required":["type","unit","value"]},"pressure":{"type":"object","properties":{"type":{"type":"string"},"unit":{"type":"string"},"value":{"type":"string"}},"required":["type","unit","value"]}},"required":["coordinate","direction","location","pressure","speed"]},"WeatherTyphoon.Direction":{"type":"object","properties":{"type":{"type":"string"},"unit":{"type":"string"},"value":{"type":["null","string"]},"azimuth":{"type":["null","string"]},"condition":{"type":"string"}},"required":["azimuth","type","unit","value"]},"WeatherTyphoon.RealStateWind":{"type":"object","properties":{"average":{"type":"object","properties":{"type":{"type":"string"},"unit":{"type":"string"},"value":{"type":["null","string"]}},"required":["type","unit","value"]},"instantaneous":{"type":"object","properties":{"type":{"type":"string"},"unit":{"type":"string"},"value":{"type":["null","string"]}},"required":["type","unit","value"]},"area":{"$ref":"#/definitions/WeatherTyphoon.RealStateWindArea"}},"required":["area","average","instantaneous"]},"WeatherTyphoon.RealStateWindArea":{"type":"object","properties":{"strong":{"type":"array","items":{"$ref":"#/definitions/WeatherTyphoon.Axis"}},"storm":{"type":"array","items":{"$ref":"#/definitions/WeatherTyphoon.Axis"}}},"required":["storm","strong"]},"WeatherTyphoon.Axis":{"type":"object","properties":{"direction":{"$ref":"#/definitions/WeatherTyphoon.Direction"},"radius":{"type":"object","properties":{"type":{"type":"string"},"unit":{"type":"string"},"value":{"type":["null","string"]}},"required":["type","unit","value"]}},"required":["direction","radius"]},"WeatherTyphoon.Forecast":{"type":"object","properties":{"type":{"enum":["予報","延長予報"],"type":"string"},"elapsedTime":{"type":"string"},"dateTime":{"type":"string"},"classification":{"$ref":"#/definitions/WeatherTyphoon.ForecastClassification"},"center":{"allOf":[{"type":"object","properties":{"probabilityCircle":{"type":"object","properties":{"basePoint":{"anyOf":[{"type":"object","properties":{"condition":{"type":"string","enum":["不明"]}},"required":["condition"]},{"type":"object","properties":{"latitude":{"type":"object","properties":{"text":{"type":"string"},"value":{"type":"string"}},"required":["text","value"]},"longitude":{"type":"object","properties":{"text":{"type":"string"},"value":{"type":"string"}},"required":["text","value"]},"height":{"type":"object","properties":{"type":{"type":"string","enum":["深さ"]},"unit":{"type":"string","enum":["km"]},"value":{"type":["null","string"]}},"required":["type","unit","value"]},"condition":{"type":"undefined"}},"required":["condition","latitude","longitude"]}]},"axes":{"type":"array","items":{"$ref":"#/definitions/WeatherTyphoon.Axis"}}},"required":["axes","basePoint"]}},"required":["probabilityCircle"]},{"$ref":"#/definitions/Omit<WeatherTyphoon.RealStateCenter,\"location\">"}]},"wind":{"$ref":"#/definitions/WeatherTyphoon.ForecastWind"}},"required":["center","classification","dateTime","elapsedTime","type","wind"]},"WeatherTyphoon.ForecastClassification":{"type":"object","properties":{"name":{"anyOf":[{"enum":["ハリケーン","台風","温帯低気圧","熱帯低気圧","発達した熱帯低気圧"],"type":"string"},{"type":"null"}]},"category":{"anyOf":[{"enum":["Hurricane","LOW","STS","TD","TY","Tropical Storm"],"type":"string"},{"type":"null"}]},"intensity":{"anyOf":[{"enum":["強い","猛烈な","非常に強い"],"type":"string"},{"type":"null"}]}},"required":["category","intensity","name"]},"Omit<WeatherTyphoon.RealStateCenter,\"location\">":{"type":"object","properties":{"coordinate":{"anyOf":[{"type":"object","properties":{"condition":{"type":"string","enum":["不明"]}},"required":["condition"]},{"type":"object","properties":{"latitude":{"type":"object","properties":{"text":{"type":"string"},"value":{"type":"string"}},"required":["text","value"]},"longitude":{"type":"object","properties":{"text":{"type":"string"},"value":{"type":"string"}},"required":["text","value"]},"height":{"type":"object","properties":{"type":{"type":"string","enum":["深さ"]},"unit":{"type":"string","enum":["km"]},"value":{"type":["null","string"]}},"required":["type","unit","value"]},"condition":{"type":"undefined"}},"required":["condition","latitude","longitude"]}]},"direction":{"$ref":"#/definitions/WeatherTyphoon.Direction"},"speed":{"type":"object","properties":{"type":{"type":"string"},"unit":{"type":"string"},"value":{"type":["null","string"]}},"required":["type","unit","value"]},"pressure":{"type":"object","properties":{"type":{"type":"string"},"unit":{"type":"string"},"value":{"type":"string"}},"required":["type","unit","value"]}},"required":["coordinate","direction","pressure","speed"]},"WeatherTyphoon.ForecastWind":{"type":"object","properties":{"average":{"type":"object","properties":{"type":{"type":"string"},"unit":{"type":"string"},"value":{"type":["null","string"]}},"required":["type","unit","value"]},"instantaneous":{"type":"object","properties":{"type":{"type":"string"},"unit":{"type":"string"},"value":{"type":["null","string"]}},"required":["type","unit","value"]},"area":{"$ref":"#/definitions/WeatherTyphoon.ForecastWindArea"}},"required":["area","average","instantaneous"]},"WeatherTyphoon.ForecastWindArea":{"type":"object","properties":{"stormWarning":{"type":"array","items":{"$ref":"#/definitions/WeatherTyphoon.Axis"}}},"required":["stormWarning"]}},"$schema":"http://json-schema.org/draft-07/schema#"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function getJSchema(name: string, version?: string): Promise<any>;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
exports.getJSchema = void 0;
|
|
23
|
+
const fs_1 = require("fs");
|
|
24
|
+
const path_1 = require("path");
|
|
25
|
+
const config_1 = require("./config");
|
|
26
|
+
const schemas = new Map();
|
|
27
|
+
const jschemaList = (0, fs_1.readdirSync)(config_1.distDir)
|
|
28
|
+
.filter(file => /\.json$/.test(file))
|
|
29
|
+
.sort();
|
|
30
|
+
jschemaList.forEach(file => {
|
|
31
|
+
const [, schemaName, schemaVersion] = file.match(/^([\w-]+)_(\w+\.\w+\.\w+)\.json$/) ?? [];
|
|
32
|
+
const schemaVersions = schemas.get(schemaName) ?? schemas.set(schemaName, new Map()).get(schemaName);
|
|
33
|
+
const jschemaFile = (0, path_1.resolve)(config_1.distDir, file);
|
|
34
|
+
schemaVersions?.set(schemaVersion, jschemaFile);
|
|
35
|
+
schemaVersions?.set('latest', jschemaFile);
|
|
36
|
+
});
|
|
37
|
+
async function getJSchema(name, version = 'latest') {
|
|
38
|
+
const filePath = schemas.get(name)?.get(version);
|
|
39
|
+
if (!filePath) {
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
return await Promise.resolve().then(() => __importStar(require(filePath)));
|
|
43
|
+
}
|
|
44
|
+
exports.getJSchema = getJSchema;
|
package/index.d.ts
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
export * from './types';
|
|
1
|
+
export * from './types';
|
|
2
|
+
export * from './dist/jschema-load'
|
package/package.json
CHANGED
|
@@ -1,11 +1,21 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@dmdata/telegram-json-types",
|
|
3
|
-
"version": "1.0.
|
|
4
|
-
"scripts": {
|
|
5
|
-
"
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
"
|
|
11
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "@dmdata/telegram-json-types",
|
|
3
|
+
"version": "1.0.9-jschema.1",
|
|
4
|
+
"scripts": {
|
|
5
|
+
"build:jschema": "npx tsc --project tsconfig.jschema.json",
|
|
6
|
+
"build:dist-jschema": "node ./dist/build.js",
|
|
7
|
+
"prepublishOnly": "npm run build:jschema && npm run build:dist-jschema",
|
|
8
|
+
"publish:npm": "npm version patch && npm publish --access=public"
|
|
9
|
+
},
|
|
10
|
+
"types": "index.d.ts",
|
|
11
|
+
"main": "./dist/jschema-load.js",
|
|
12
|
+
"keywords": [],
|
|
13
|
+
"author": "",
|
|
14
|
+
"license": "MIT",
|
|
15
|
+
"devDependencies": {
|
|
16
|
+
"@types/node": "^14.18.9",
|
|
17
|
+
"typescript": "^4.5.5",
|
|
18
|
+
"ts-node": "^10.4.0",
|
|
19
|
+
"typescript-json-schema": "^0.53.0"
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { UnitValue } from './unit-value';
|
|
2
|
-
|
|
3
|
-
export type Coordinate<Geo = never> = {
|
|
4
|
-
latitude: { text: string, value: string };
|
|
5
|
-
longitude: { text: string, value: string };
|
|
6
|
-
height?: UnitValue<'深さ', 'km'>;
|
|
7
|
-
condition: undefined;
|
|
8
|
-
geodeticSystem: Geo;
|
|
9
|
-
} | {
|
|
10
|
-
latitude:
|
|
11
|
-
longitude:
|
|
12
|
-
height:
|
|
13
|
-
geodeticSystem: never;
|
|
14
|
-
condition: '不明';
|
|
15
|
-
}
|
|
1
|
+
import { UnitValue } from './unit-value';
|
|
2
|
+
|
|
3
|
+
export type Coordinate<Geo = never> = {
|
|
4
|
+
latitude: { text: string, value: string };
|
|
5
|
+
longitude: { text: string, value: string };
|
|
6
|
+
height?: UnitValue<'深さ', 'km'>;
|
|
7
|
+
condition: undefined;
|
|
8
|
+
geodeticSystem: Geo;
|
|
9
|
+
} | {
|
|
10
|
+
latitude: never;
|
|
11
|
+
longitude: never;
|
|
12
|
+
height: never;
|
|
13
|
+
geodeticSystem: never;
|
|
14
|
+
condition: '不明';
|
|
15
|
+
}
|