Skip to content

docs(types): add typing utilities for v0.14.0 and expand TSDoc examples#535

Merged
nev21 merged 2 commits intomainfrom
nev21/typing
Mar 30, 2026
Merged

docs(types): add typing utilities for v0.14.0 and expand TSDoc examples#535
nev21 merged 2 commits intomainfrom
nev21/typing

Conversation

@nev21
Copy link
Copy Markdown
Contributor

@nev21 nev21 commented Mar 30, 2026

  • Identify issues: DeepPartial test has wrong array element type; DeepRequired needs NonNullable<>
  • Fix DeepRequired<T> in lib/src/helpers/types.ts to apply NonNullable<> when recursing
  • Fix DeepPartial test in lib/test/src/common/helpers/types.test.ts: change ReadonlyArray<string | undefined>ReadonlyArray<string>
  • Run tests to validate (1166 passing)
  • Code review — no issues
  • CodeQL check — 0 alerts

💬 Send tasks to Copilot coding agent from Slack and Teams to turn conversations into code. Copilot posts an update in your thread when it's finished.

- Add `ReadonlyRecord<K,V>`, `DeepPartial<T>`, `DeepReadonly<T>`, `Mutable<T>`,
  `DeepRequired<T>`, `ValueOf<T>`, and `NonEmptyArray<T>` type aliases in
  `lib/src/helpers/types.ts` (@SInCE 0.14.0, @group Helpers)
- Add compile-time and runtime tests in `lib/test/src/common/helpers/types.test.ts`
- Expand TSDoc on `ArrGroupByCallbackFn` with full @param/@returns and three
  @example blocks (parity grouping, object-by-property, index bucketing)
- Expand TSDoc on `RequestIdleCallback` and `CancelIdleCallback` with @group
  tags and @example blocks showing schedule/cancel patterns
- Add @since/@group tags and @example blocks to `TypeFuncNames` and
  `ProxyFunctionDef` in `lib/src/funcs/types.ts`
- Add @example blocks to all seven new type aliases in `lib/src/helpers/types.ts`
- Update `docs/usage-guide.md` with a Type Utility Aliases section and examples
@nev21 nev21 added this to the 0.14.0 milestone Mar 30, 2026
@nev21 nev21 requested review from a team as code owners March 30, 2026 02:48
Copilot AI review requested due to automatic review settings March 30, 2026 02:48
@codecov
Copy link
Copy Markdown

codecov bot commented Mar 30, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 99.45%. Comparing base (df4afdc) to head (329db31).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #535   +/-   ##
=======================================
  Coverage   99.44%   99.45%           
=======================================
  Files         141      142    +1     
  Lines        4181     4187    +6     
  Branches      903      922   +19     
=======================================
+ Hits         4158     4164    +6     
  Misses         23       23           
Files with missing lines Coverage Δ
lib/src/array/groupBy.ts 100.00% <100.00%> (ø)
lib/src/funcs/types.ts 100.00% <100.00%> (ø)
lib/src/helpers/types.ts 100.00% <100.00%> (ø)
lib/src/timer/idle.ts 92.75% <100.00%> (+0.10%) ⬆️
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds new TypeScript type-utility aliases to @nevware21/ts-utils (v0.14.0) and expands TypeDoc/TSDoc examples across the library and docs.

Changes:

  • Introduces helper type aliases (e.g., DeepPartial, DeepReadonly, DeepRequired, ValueOf, NonEmptyArray) and re-exports them from the main index.
  • Adds a new common test file intended to validate the new aliases at compile time.
  • Expands TSDoc examples/groups for arrGroupBy, idle-callback types, and function-proxy typing helpers; updates usage docs/backlog accordingly.

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
lib/src/helpers/types.ts Adds new exported type aliases with TSDoc, examples, and grouping.
lib/src/index.ts Re-exports the new helper type aliases from the package entrypoint.
lib/test/src/common/helpers/types.test.ts Adds compile-time alias validation tests.
lib/src/timer/idle.ts Expands TSDoc for idle callback type aliases with groups and examples.
lib/src/funcs/types.ts Adds @since/@group and examples for existing exported type utilities.
lib/src/array/groupBy.ts Expands TSDoc for ArrGroupByCallbackFn (params/returns/examples).
docs/usage-guide.md Adds “Type Utility Aliases” section with example usage.
docs/feature-backlog.md Updates backlog metadata/structure (target version and section renumbering).

Copy link
Copy Markdown
Contributor

Copilot AI commented Mar 30, 2026

Just as a heads up, I was blocked by some firewall rules while working on your feedback. Expand below for details.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • www.googleapis.com
    • Triggering command: /home/REDACTED/work/_temp/ghcca-node/node/bin/node node install.js (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 8 out of 8 changed files in this pull request and generated 1 comment.

Copy link
Copy Markdown
Contributor

@nevware21-bot nevware21-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved by nevware21-bot

@nev21 nev21 merged commit ccac111 into main Mar 30, 2026
14 checks passed
@nev21 nev21 deleted the nev21/typing branch March 30, 2026 05:02
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.

4 participants