tldraw/packages/tlsync
alex 93c2ed615c
[Snapping 1/5] Validation & strict types for fractional indexes (#2827)
Currently, we type our fractional index keys as `string` and don't have
any validation for them. I'm touching some of this code for my work on
line handles and wanted to change that:
- fractional indexes are now `IndexKey`s, not `string`s. `IndexKey`s
have a brand property so can't be used interchangeably with strings
(like our IDs)
- There's a new `T.indexKey` validator which we can use in our
validations to make sure we don't end up with nonsense keys.

This PR is part of a series - please don't merge it until the things
before it have landed!
1. #2827 (you are here)
2. #2831
3. #2793
4. #2841
5. #2845

### Change Type

- [x] `patch` — Bug fix

### Test Plan

1. Mostly relying on unit & end to end tests here - no user facing
changes.

- [x] Unit Tests
2024-02-14 17:53:30 +00:00
..
src [Snapping 1/5] Validation & strict types for fractional indexes (#2827) 2024-02-14 17:53:30 +00:00
api-extractor.json unbrivate, dot com in (#2475) 2024-01-16 14:38:05 +00:00
api-report.md unbrivate, dot com in (#2475) 2024-01-16 14:38:05 +00:00
CHANGELOG.md unbrivate, dot com in (#2475) 2024-01-16 14:38:05 +00:00
LICENSE.md unbrivate, dot com in (#2475) 2024-01-16 14:38:05 +00:00
package.json dev: swap yarn test and test-dev for better dx (#2773) 2024-02-14 16:05:59 +00:00
README.md unbrivate, dot com in (#2475) 2024-01-16 14:38:05 +00:00
setupJest.js unbrivate, dot com in (#2475) 2024-01-16 14:38:05 +00:00
tsconfig.json unbrivate, dot com in (#2475) 2024-01-16 14:38:05 +00:00

@tldraw/tlsync