(data: ContestProject)
| 130 | * @param data |
| 131 | */ |
| 132 | export async function validateProjectJSON(data: ContestProject): Promise<[true, null] | [false, string]> { |
| 133 | const ajv = new ((await import("ajv")).default)(); |
| 134 | const schema = await import("../schema/acc-project-schema.json"); |
| 135 | const validate = ajv.compile(schema); |
| 136 | const valid = validate(data); |
| 137 | if (!valid) return [false, ajv.errorsText(validate.errors)]; |
| 138 | return [true, null]; |
| 139 | } |
| 140 | |
| 141 | /** |
| 142 | * コンテスト情報を取得し、プロジェクトディレクトリを作成する |
no outgoing calls
no test coverage detected