feat: zod 라이브러리 업데이트 및 JSON 스키마 정의 개선

This commit is contained in:
2026-01-18 08:19:22 +00:00
parent 81594a25c3
commit 116993b3ad
12 changed files with 754 additions and 53 deletions
+149 -5
View File
@@ -1,7 +1,151 @@
{
"$ref": "#/definitions/ScenarioResource",
"definitions": {
"ScenarioResource": {}
},
"$schema": "http://json-schema.org/draft-07/schema#"
"$schema": "http://json-schema.org/draft-07/schema#",
"anyOf": [
{
"type": "object",
"properties": {
"stat": {
"type": "object",
"properties": {
"total": {
"type": "number"
},
"min": {
"type": "number"
},
"max": {
"type": "number"
},
"npcTotal": {
"type": "number"
},
"npcMax": {
"type": "number"
},
"npcMin": {
"type": "number"
},
"chiefMin": {
"type": "number"
}
},
"additionalProperties": false
},
"iconPath": {
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"properties": {
"title": {
"type": "string"
},
"startYear": {
"type": "number"
},
"life": {
"type": "number"
},
"fiction": {
"type": "number"
},
"history": {
"type": "array",
"items": {
"type": "string"
}
},
"iconPath": {
"type": "string"
},
"stat": {
"type": "object",
"properties": {
"total": {
"type": "number"
},
"min": {
"type": "number"
},
"max": {
"type": "number"
},
"npcTotal": {
"type": "number"
},
"npcMax": {
"type": "number"
},
"npcMin": {
"type": "number"
},
"chiefMin": {
"type": "number"
}
},
"additionalProperties": false
},
"map": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"const": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"nation": {
"type": "array",
"items": {}
},
"diplomacy": {
"type": "array",
"items": {}
},
"general": {
"type": "array",
"items": {}
},
"general_ex": {
"type": "array",
"items": {}
},
"general_neutral": {
"type": "array",
"items": {}
},
"cities": {
"type": "array",
"items": {}
},
"events": {
"type": "array",
"items": {}
},
"initialEvents": {
"type": "array",
"items": {}
},
"initialActions": {
"type": "array",
"items": {}
},
"ignoreDefaultEvents": {
"type": "boolean"
}
},
"required": [
"title"
],
"additionalProperties": {}
}
]
}