M1: core path escaping, order-preserving index value encoding, errors
Scaffold TypeScript/Vitest project, add DESIGN.md (brief) and CLAUDE.md. Property tests cover escape round-trips, separator-freedom and order preservation. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017Qxbkp4tA7G5SCWjzWuxmE
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
# PotentialStorage
|
||||
|
||||
Layered TypeScript storage library: KV → Events → Documents. The full design, milestones and
|
||||
implementation decisions are in [DESIGN.md](./DESIGN.md) — read it before changing anything.
|
||||
Record new decisions in DESIGN.md section 12.
|
||||
|
||||
## Commands
|
||||
|
||||
- `npm test` — run all tests (Vitest; includes `*.test-d.ts` type tests)
|
||||
- `npm run typecheck` — `tsc --noEmit` over src, test and bench
|
||||
- `npm run bench` — `vitest bench`
|
||||
- `npm run build` — emit `dist/`
|
||||
|
||||
## Rules
|
||||
|
||||
- No runtime dependencies in `src/`. Dev dependencies only.
|
||||
- Drivers stay flat and string-keyed; all path/index/escaping logic lives in the node classes.
|
||||
- Self vs child dispatch is by `arguments.length`; a passed-but-`undefined`/`null` key throws.
|
||||
- Multi-result reads are `AsyncIterable`; don't build large arrays internally.
|
||||
- Keep tests green and commit per milestone. Ask the owner before pushing.
|
||||
Reference in New Issue
Block a user