Skip to content

refactor(resolvers): replace loose Record types with narrow projections - #249

Merged
iamfj merged 1 commit into
nextfrom
issue-204
Jul 2, 2026
Merged

refactor(resolvers): replace loose Record types with narrow projections#249
iamfj merged 1 commit into
nextfrom
issue-204

Conversation

@iamfj

@iamfj iamfj commented Jul 2, 2026

Copy link
Copy Markdown
Member

What does this PR do?

Replaces untyped Record<string, unknown> access in the resolvers with narrow, explicit types: the initiative filter clauses now use LinearDocument.InitiativeFilter, and the issue team lookup uses dedicated IssueTeamProjection / TeamLookupProjection interfaces. No behavior change — this only tightens typing around the SDK relation quirks.

Closes #204

Type of change

  • Bug fix
  • New feature
  • Refactor (no behavior change)
  • Documentation
  • Tests
  • Build / CI

Checklist

  • npm run check:ci passes (lint + format)
  • npx tsc --noEmit passes (type check)
  • npm test passes (unit tests)
  • New code has tests (happy path + primary error case)
  • Commit messages follow Conventional Commits

Testing

npx tsc --noEmit and npm test (799 tests) both pass; existing resolver tests cover the team-context happy path and the missing-context error case.

Type the initiative filter clauses with LinearDocument.InitiativeFilter and
introduce explicit IssueTeamProjection/TeamLookupProjection interfaces for the
issue team lookup, removing untyped Record<string, unknown> access.

Closes #204
@github-actions

github-actions Bot commented Jul 2, 2026

Copy link
Copy Markdown

✅ knip — no dead code

No unused files, exports, types, or dependencies detected.

@iamfj
iamfj merged commit 9024248 into next Jul 2, 2026
12 checks passed
@iamfj
iamfj deleted the issue-204 branch July 2, 2026 21:39
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.

type-architecture: replace ad hoc Record<string, unknown> resolver parsing with named SDK projection types

1 participant