(raw: unknown, index: number)
| 67 | }; |
| 68 | |
| 69 | function validateAssertion(raw: unknown, index: number): MotionAssertion | string { |
| 70 | const at = `assertions[${index}]`; |
| 71 | if (!isObject(raw)) return `${at}: must be an object`; |
| 72 | const validator = typeof raw.kind === "string" ? VALIDATORS[raw.kind] : undefined; |
| 73 | if (!validator) return `${at}: unknown assertion kind ${JSON.stringify(raw.kind)}`; |
| 74 | return validator(raw, at); |
| 75 | } |
| 76 | |
| 77 | export function parseMotionSpec(raw: unknown): MotionSpecParse { |
| 78 | if (!isObject(raw)) return { ok: false, errors: ["spec must be a JSON object"] }; |
no test coverage detected