♻️ Name the matcher factories getMatcher / getMatcherW
Drop the strict/widened aliases from src/index.ts so the factories are exported under their own names, and align the type tests, the autocomplete probe (which now imports the public surface from ./index.ts) and library.md with them. Also correct the widened-overload comment: the excess-property check does not apply to a generic P, so MatcherWidening's keyof guard — not the closed constraint — is what rejects keys outside T/_, as library.md already documented.
This commit is contained in:
1 parent
05fad0fcd6
commit
800c11139d
5 files changed
+69
-84
No files matched your search
+1
-1
@@ -35,7 +35,7 @@ Testing:
|
||||
|
||||
Matcher:
|
||||
✔ Clean up: adopt the 3-overload matcher (`src/prototype-ac2.ts`) and delete the prototypes @high @done
|
||||
→ `strict` / `widened`, each with overloads `ExhaustiveLoose` → `Fallback` → `Handlers` (order is load-bearing)
|
||||
→ `getMatcher` / `getMatcherW`, each with overloads `ExhaustiveLoose` → `Fallback` → `Handlers` (order is load-bearing)
|
||||
→ fold into `src/primitive.ts` / the public API; drop `src/prototype*.ts`
|
||||
☐ `_` should receive only the unhandled `T` keys, not all of `T` @medium
|
||||
→ today `_: (shape: T) => R`; desired `_: (shape: Exclude<T, handledKeys>) => R`
|
||||
|
||||
Reference in new issue
Block a user