Skip to content

Conversation

@jasonkuhrt
Copy link
Owner

Summary

  • Removed obj → rec type-only dependency that inverted the conceptual hierarchy
  • obj is the primitive (any non-null, non-array object), rec is the refinement (plain objects only)
  • Replaced Rec.Any and Rec.Value casts with Record<PropertyKey, unknown>

Changes

File Change
src/domains/obj/obj.ts Removed import type { Rec }, replaced Rec.Any cast
src/domains/obj/merge.ts Removed import type { Rec }, replaced Rec.Value casts

Test plan

  • Type checks pass (pnpm check:types)
  • All 2958 tests pass
  • Code formatted

Closes #106

obj is the primitive concept (any non-null, non-array object), while rec
is a refinement (plain objects only). The dependency should be one-way:
rec → obj.

Replaced type-only imports of Rec.Any and Rec.Value with built-in
Record<PropertyKey, unknown> for internal casting.

Closes #106
@netlify
Copy link

netlify bot commented Nov 25, 2025

Deploy Preview for wollybeard-kit canceled.

Name Link
🔨 Latest commit 1317faa
🔍 Latest deploy log https://app.netlify.com/projects/wollybeard-kit/deploys/69260b460a9e0100077af2e0

@jasonkuhrt jasonkuhrt merged commit 6c1ece1 into main Nov 25, 2025
11 checks passed
@jasonkuhrt jasonkuhrt deleted the feat/106-rec-obj branch November 25, 2025 20:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

rec ↔ obj

2 participants