(items: ReadonlyArray<unknown>)
| 17 | } |
| 18 | |
| 19 | const tupleItemsSchema = (items: ReadonlyArray<unknown>) => { |
| 20 | const projected = items.map(moonshotNode) |
| 21 | if (projected.length === 0) return {} |
| 22 | if (projected.length === 1) return projected[0] |
| 23 | return { anyOf: projected } |
| 24 | } |
| 25 | |
| 26 | const moonshotNode = (schema: unknown): unknown => { |
| 27 | if (Array.isArray(schema)) return schema.map(moonshotNode) |