Improve the `ValueParser` to correctly disambiguate between empty
arrays `[]` and the start of nested structures. This ensures that
the parser can distinguish between an array containing a single
element that starts with a bracket and an actual empty array.
Update tests to reflect that parsed tuples are returned as arrays
rather than objects.
Update the syntax for type declarations and reverse reference
declarations in CSV files to be more explicit.
- Change type declarations from `# TypeName := schema` to
`# type TypeName = schema`
- Change reverse reference declarations from `# fieldName :=
~table(key)`
to `# inject fieldName = ~table(key)`
Introduce the ability to define reusable types within CSV files using
comment lines with the format `# TypeName := schema`.
- Support parsing type declarations from comments or schema cells
- Enable recursive expansion of type names within schemas
- Integrate declared types into generated TypeScript definitions
- Allow columns to reference declared types by name
Split the monolithic `src/csv-loader/loader.test.ts` into multiple
specialized test files to improve maintainability and readability:
- `parseCsv-basic.test.ts`: Primitive types, arrays, and tuples
- `parseCsv-caching.test.ts`: Table caching logic
- `parseCsv-circular.test.ts`: Circular reference detection
- `parseCsv-combinators.test.ts`: References in unions and tuples
- `parseCsv-noResolveRefs.