Skip to content

Added JSDoc comments for exported functions and types#11

Open
fantaJinMode wants to merge 1 commit intoLinkForty:mainfrom
fantaJinMode:jsdoc_comments_for_exported_func
Open

Added JSDoc comments for exported functions and types#11
fantaJinMode wants to merge 1 commit intoLinkForty:mainfrom
fantaJinMode:jsdoc_comments_for_exported_func

Conversation

@fantaJinMode
Copy link
Contributor

Description

Adds JSDoc documentation to every public interface, type alias, and exported function across the core library. Consumers using TypeScript-aware editors will now see inline docs for all public APIs.

Type of Change

  • 🐛 Bug fix (non-breaking change which fixes an issue)
  • ✨ New feature (non-breaking change which adds functionality)
  • 💥 Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • 📝 Documentation update
  • ♻️ Code refactoring
  • ⚡ Performance improvement
  • ✅ Test addition or update

Fixes #

Changes Made

  • Added JSDoc to all exported interfaces in src/types/index.ts (Link, LinkTemplate, ClickEvent, AnalyticsData, Webhook, WebhookPayload, etc.)
  • Documented all exported utility functions in src/lib/utils.ts (generateShortCode, parseUserAgent, getLocationFromIP, buildRedirectUrl, detectDevice)
  • Documented ServerOptions and createServer in src/index.ts, including param and return tags

Testing

  • Tests pass locally (npm test)
  • New tests added for new functionality
  • Existing tests updated (if needed)
  • Type checking passes (npm run typecheck)

Checklist

  • My code follows the project's code style
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings or errors
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published
  • I have used conventional commit messages (e.g., feat:, fix:)
  • I have signed the Contributor License Agreement (the CLA bot will prompt you)

Breaking Changes

None

Additional Notes

Benefits

  • Hover-to-doc in VSCode and other LSP-aware editors for all public APIs
  • Clearer contract for each function's parameters and return values
  • Foundation for auto-generated API reference docs (TypeDoc, etc.)

@CLAassistant
Copy link

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

@codecov
Copy link

codecov bot commented Mar 11, 2026

Codecov Report

❌ Patch coverage is 76.92308% with 12 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
src/index.ts 0.00% 12 Missing ⚠️

📢 Thoughts on this report? Let us know!

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