Add SplatNet 3 JSON schema generation

This commit is contained in:
Samuel Elliott 2022-09-14 22:18:20 +01:00
parent 6276cef356
commit b7299cb001
No known key found for this signature in database
GPG Key ID: 8420C7CDE43DC4D6
16 changed files with 85 additions and 17 deletions

2
.gitignore vendored
View File

@ -3,4 +3,4 @@ dist
data
docker-compose.override.yml
.env
.vscode/schema
.vscode/schema/generated

View File

@ -1,19 +1,10 @@
#!/bin/sh
mkdir -p .vscode/schema/{moon,splatnet2,nooklink}
mkdir -p .vscode/schema/generated
npx ts-json-schema-generator --path src/api/moon-types.ts --type DailySummary --no-type-check > .vscode/schema/moon/dailysummary.schema.json
npx ts-json-schema-generator --path src/api/moon-types.ts --type MonthlySummary --no-type-check > .vscode/schema/moon/monthlysummary.schema.json
npx ts-json-schema-generator --path src/api/moon-types.ts --expose all --no-type-check > .vscode/schema/generated/moon-types.schema.json
npx ts-json-schema-generator --path src/api/splatnet2-types.ts --expose all --no-type-check > .vscode/schema/generated/splatnet2-types.schema.json
npx ts-json-schema-generator --path src/api/nooklink-types.ts --expose all --no-type-check > .vscode/schema/generated/nooklink-types.schema.json
npx ts-json-schema-generator --path src/api/splatnet3-types.ts --expose all --no-type-check > .vscode/schema/generated/splatnet3-types.schema.json
npx ts-json-schema-generator --path src/api/splatnet2-types.ts --type Records --no-type-check > .vscode/schema/splatnet2/records.schema.json
npx ts-json-schema-generator --path src/api/splatnet2-types.ts --type NicknameAndIcon --no-type-check > .vscode/schema/splatnet2/ni.schema.json
npx ts-json-schema-generator --path src/api/splatnet2-types.ts --type Timeline --no-type-check > .vscode/schema/splatnet2/timeline.schema.json
npx ts-json-schema-generator --path src/api/splatnet2-types.ts --type HeroRecords --no-type-check > .vscode/schema/splatnet2/hero.schema.json
npx ts-json-schema-generator --path src/api/splatnet2-types.ts --type Results --no-type-check > .vscode/schema/splatnet2/results-summary.schema.json
npx ts-json-schema-generator --path src/api/splatnet2-types.ts --type ResultWithPlayerNicknameAndIcons --no-type-check > .vscode/schema/splatnet2/result.schema.json
npx ts-json-schema-generator --path src/api/splatnet2-types.ts --type CoopResults --no-type-check > .vscode/schema/splatnet2/coop-summary.schema.json
npx ts-json-schema-generator --path src/api/splatnet2-types.ts --type CoopResultWithPlayerNicknameAndIcons --no-type-check > .vscode/schema/splatnet2/coop-result.schema.json
npx ts-json-schema-generator --path src/api/nooklink-types.ts --type Newspaper --no-type-check > .vscode/schema/nooklink/newspaper.schema.json
npx ts-json-schema-generator --path src/common/remote-config.ts --type NxapiRemoteConfig --no-type-check > .vscode/schema/remote-config.schema.json
npx ts-json-schema-generator --path src/common/remote-config.ts --type NxapiRemoteConfig --no-type-check > .vscode/schema/generated/remote-config.schema.json

View File

@ -0,0 +1,4 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$ref": "../generated/moon-types.schema.json#/definitions/DailySummary"
}

View File

@ -0,0 +1,4 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$ref": "../generated/moon-types.schema.json#/definitions/MonthlySummary"
}

View File

@ -0,0 +1,4 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$ref": "../generated/nooklink-types.schema.json#/definitions/Newspaper"
}

View File

@ -0,0 +1,4 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$ref": "../generated/splatnet2-types.schema.json#/definitions/CoopResultWithPlayerNicknameAndIcons"
}

View File

@ -0,0 +1,4 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$ref": "../generated/splatnet2-types.schema.json#/definitions/CoopResults"
}

View File

@ -0,0 +1,4 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$ref": "../generated/splatnet2-types.schema.json#/definitions/HeroRecords"
}

View File

@ -0,0 +1,4 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$ref": "../generated/splatnet2-types.schema.json#/definitions/NicknameAndIcon"
}

View File

@ -0,0 +1,4 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$ref": "../generated/splatnet2-types.schema.json#/definitions/Records"
}

View File

@ -0,0 +1,4 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$ref": "../generated/splatnet2-types.schema.json#/definitions/ResultWithPlayerNicknameAndIcons"
}

View File

@ -0,0 +1,4 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$ref": "../generated/splatnet2-types.schema.json#/definitions/Results"
}

View File

@ -0,0 +1,4 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$ref": "../generated/splatnet2-types.schema.json#/definitions/Timeline"
}

View File

@ -0,0 +1,12 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"result": {
"$ref": "../generated/splatnet3-types.schema.json#/definitions/CoopHistoryDetail"
}
},
"required": [
"result"
]
}

View File

@ -0,0 +1,12 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"result": {
"$ref": "../generated/splatnet3-types.schema.json#/definitions/VsHistoryDetail"
}
},
"required": [
"result"
]
}

11
.vscode/settings.json vendored
View File

@ -50,9 +50,18 @@
"url": "./.vscode/schema/nooklink/newspaper.schema.json"
},
{
"fileMatch": ["**/splatnet3-result-*.json"],
"url": "./.vscode/schema/splatnet3/result.schema.json"
},
{
"fileMatch": ["**/splatnet3-coop-result-*.json"],
"url": "./.vscode/schema/splatnet3/coop-result.schema.json"
},
{
"fileMatch": ["**/resources/common/remote-config.json", "**/data/remote-config.json"],
"url": "./.vscode/schema/remote-config.schema.json"
"url": "./.vscode/schema/generated/remote-config.schema.json"
},
],
"typescript.tsdk": "node_modules/typescript/lib",