Skip to content

For alpha 13#42

Merged
baxyz merged 22 commits intomainfrom
for-alpha-13
Apr 17, 2026
Merged

For alpha 13#42
baxyz merged 22 commits intomainfrom
for-alpha-13

Conversation

@baxyz
Copy link
Copy Markdown
Contributor

@baxyz baxyz commented Apr 16, 2026

  • update generic types for better type safety
  • simplify return types in memoize and throttle functions

Description

Please include a summary of what this PR does and why it's needed.

Type of Change

  • Bug fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update
  • Refactoring
  • Test improvement

Related Issues

Closes #(issue number)

How Has This Been Tested?

Describe the tests you ran and how to reproduce them:

  • Test A
  • Test B

Checklist

  • My code follows the code style of this project
  • I have updated the documentation accordingly
  • I have added tests for my changes
  • All new and existing tests passed locally
  • My commits follow the conventional commit format

Screenshots (if applicable)

Add screenshots for UI changes.

Additional Context

Add any other context about the PR here.

baxyz added 2 commits April 16, 2026 20:47
…, and throttle

- update generic types for better type safety
- simplify return types in memoize and throttle functions
Copilot AI review requested due to automatic review settings April 16, 2026 19:02
Copy link
Copy Markdown

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

This PR prepares the codebase for “alpha 13” by tightening TypeScript generics (replacing any with unknown in a few APIs) and simplifying the exposed return types for function helpers like memoize, throttle, and debounce.

Changes:

  • Strengthen typing in combineLatest and deepCompare by replacing any with unknown-based generics/casts.
  • Simplify function helper typings for memoize, throttle, and debounce to use explicit argument/return generics.
  • Update devcontainer feature set by enabling previously-disabled mount-related features.

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
helpers/promise/parallel.ts Changes results array initialization while preserving ordered assignment behavior.
helpers/observable/combineLatest.ts Tightens types from anyunknown and adjusts runtime filtering logic/typing.
helpers/object/deepCompare.ts Replaces any casts with Record<string, unknown> for safer property access typing.
helpers/function/throttle.ts Refactors generics to explicit args/return type parameters.
helpers/function/memoize.ts Refactors generics and simplifies the returned function type (removes as T).
helpers/function/debounce.ts Refactors generics to explicit args/return type parameters.
.devcontainer/devcontainer.json Enables mount-related devcontainer features that were previously commented out.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread helpers/observable/combineLatest.ts Outdated
Comment thread helpers/observable/combineLatest.ts Outdated
Comment thread .devcontainer/devcontainer.json
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 16, 2026

❌ PR Validation Failed

6/8 checks passed


📋 Pipeline Status

Job Status
🔢 Version passing
🏗️ Build passing
🧪 Tests failing
📝 Lint passing
📘 TypeCheck passing
🔐 Security Audit passing
🧾 Conventional Commits passing
⚠️ 🔗 Coherency unknown

📊 Code Coverage

🔴 Overall Coverage: 0.0% — Target: 100%

Metric Progress Coverage
🔴 Lines ░░░░░░░░░░░░░░░░░░░░ 0%
🔴 Branches ░░░░░░░░░░░░░░░░░░░░ 0%
🔴 Functions ░░░░░░░░░░░░░░░░░░░░ 0%
🔴 Statements ░░░░░░░░░░░░░░░░░░░░ 0%

🧬 Mutation Testing

🟢 Mutation Score: 93.14% — excellent

Metric Progress Score
🟢 Mutation Score ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░ 93.14%

🧬 Mutation testing is informational only and does not block the PR

📊 View full mutation report on Stryker Dashboard


🌐 Runtime Compatibility

Runtime Compatibility: 3/3 — All runtimes passed!

Runtime Status
🟩 Node.js 24 (LTS) v24.14.1
🦕 Deno 2.7.12
🍞 Bun 1.3.12

🔄 Runtime compatibility is informational only and does not block the PR


⏱️ Benchmarks

Benchmarks: 0 suites — completed

⏱️ Benchmarks are informational only and do not block the PR


ℹ️ About this report
  • 🎯 Coverage Target: 100% for all metrics
  • 🧬 Mutation Testing: powered by Stryker (non-blocking)
  • ⏱️ Benchmarks: powered by Vitest Bench (non-blocking)
  • 🔄 This comment updates automatically with each push
  • 📈 Coverage is measured using Vitest + v8

🤖 Generated by @helpers4 CI • 2026-04-17

baxyz added 4 commits April 16, 2026 20:41
test(object): ✅ add mutation-killing tests for deepCompare
test(object): ✅ add mutation-killing tests for deepMerge
test(object): ✅ add mutation-killing tests for get
test(object): ✅ add mutation-killing tests for set
test(observable): ✅ add mutation-killing tests for combineLatest
test(promise): ✅ add mutation-killing tests for meaningPromiseOrThrow
test(promise): ✅ add mutation-killing tests for retry
test(string): ✅ add mutation-killing tests for capitalize
test(string): ✅ add mutation-killing tests for errorToReadableMessage
test(string): ✅ add mutation-killing tests for slugify
test(type): ✅ add mutation-killing tests for isEmpty
test(type): ✅ add mutation-killing tests for isSpecialObject
test(url): ✅ add mutation-killing tests for extractPureURI
test(version): ✅ add mutation-killing tests for compare
test(version): ✅ add mutation-killing tests for increment
test(version): ✅ add mutation-killing tests for parse
test(version): ✅ add mutation-killing tests for satisfiesRange
Copy link
Copy Markdown

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 54 out of 55 changed files in this pull request and generated 5 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread scripts/build/build-llms-txt.ts
Comment thread scripts/build/build-llms-txt.ts Outdated
Comment thread helpers/array/ensureArray.ts Outdated
Comment thread CONTRIBUTING.md Outdated
Comment thread CONTRIBUTING.md Outdated
refactor(array): ♻️ improve ensureArray function and documentation
baxyz added 3 commits April 16, 2026 23:58
- Add fast-check 4.6.0 as devDependency
- Add 105 .spec.ts files (one per function) across all 12 categories
- Each spec file covers property-based invariants (fast-check) and contract/boundary inputs
- Update AGENTS.md: add .spec.ts to file structure, fast-check to tech stack
- Update CONTRIBUTING.md: add Step 2b documenting the .spec.ts convention
- Update README.md: mention property-based testing alongside mutation testing
@baxyz baxyz requested a review from Copilot April 16, 2026 22:04
Copy link
Copy Markdown

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 163 out of 164 changed files in this pull request and generated 4 comments.

Files not reviewed (1)
  • pnpm-lock.yaml: Language not supported

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread helpers/date/difference.spec.ts Outdated
Comment thread helpers/observable/combineLatest.ts
Comment thread helpers/function/returnOrThrowError.test.ts
Comment thread helpers/array/equals.spec.ts Outdated
fix(date): 🐛 update daysDifference test for leap year scenario
fix(function): 🐛 fix typo in returnOrThrowError test message
refactor(observable): ♻️ use isDefined for filtering in combineLatest
Copy link
Copy Markdown

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 163 out of 164 changed files in this pull request and generated no new comments.

Files not reviewed (1)
  • pnpm-lock.yaml: Language not supported

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

- change type from 'any' to 'unknown' in sorting functions
- reorder import statements for consistency
@baxyz baxyz merged commit bc1df43 into main Apr 17, 2026
15 checks passed
@baxyz baxyz deleted the for-alpha-13 branch April 17, 2026 19:01
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.

2 participants