Skip to content

feat: feat adding in the hook class#136

Merged
jaredwray merged 1 commit intomainfrom
feat-feat-adding-in-the-hook-class
Feb 27, 2026
Merged

feat: feat adding in the hook class#136
jaredwray merged 1 commit intomainfrom
feat-feat-adding-in-the-hook-class

Conversation

@jaredwray
Copy link
Owner

@jaredwray jaredwray commented Feb 27, 2026

Please check if the PR fulfills these requirements

  • Followed the Contributing and Code of Conduct guidelines.
  • Tests for the changes have been added (for bug fixes/features) with 100% code coverage.

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
feat: feat adding in the hook class

@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request introduces a new Hook class to streamline the creation and management of event hooks within the hookified library. This enhancement provides a more structured and object-oriented approach to defining hooks, improving developer experience and code readability. The changes include the class implementation, its public export, updated documentation, and dedicated tests to validate its behavior and integration with existing Hookified functionalities.

Highlights

  • New Hook Class Introduced: A new Hook class has been added, providing a convenient, class-based way to create hook entries that implement the IHook interface. This simplifies the definition and management of hooks.
  • Enhanced Documentation: The README.md file has been updated with comprehensive documentation for the new Hook class, including usage examples for onHookEntry, onHooks, and removeHooks.
  • Public Export: The Hook class is now publicly exported from the main hookified module, allowing users to import and utilize it directly.
  • Comprehensive Testing: New test files and cases have been added to ensure the correct functionality, integration, and export of the Hook class.
Changelog
  • README.md
    • Added a new entry for 'Hook class' in the table of contents.
    • Included a detailed section explaining the Hook class, its purpose, and usage with code examples.
    • Introduced a 'New Features' section to highlight the Hook class.
  • src/hooks/hook.ts
    • Created a new file src/hooks/hook.ts.
    • Implemented the Hook class, which serves as a concrete implementation of the IHook interface, encapsulating an event name and its handler function.
  • src/index.ts
    • Exported the newly created Hook class from src/hooks/hook.js to make it accessible to consumers of the library.
  • test/exports.test.ts
    • Added a new test case to verify that the Hook class is correctly exported in the generated TypeScript declaration files.
  • test/hook.test.ts
    • Created a new test file test/hook.test.ts.
    • Added tests to confirm the proper instantiation of the Hook class with event names and handlers.
    • Included tests to ensure the Hook class correctly integrates with Hookified methods like onHookEntry, onHooks, and removeHooks.
    • Verified that Hook handlers can receive and process arguments as expected.
Activity
  • The pull request was opened by jaredwray.
  • No human activity (comments, reviews) has been recorded on this pull request yet.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@jaredwray jaredwray merged commit df509c9 into main Feb 27, 2026
7 checks passed
Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request introduces a new Hook class as a convenient way to create hook entries, complete with documentation and tests. The changes are well-implemented. I've provided a couple of suggestions to improve code quality: one to enhance immutability in the new Hook class and another to refactor tests for better maintainability by reducing duplication. Overall, a solid feature addition.

@jaredwray jaredwray deleted the feat-feat-adding-in-the-hook-class branch February 27, 2026 18:54
@codecov
Copy link

codecov bot commented Feb 27, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (aec4085) to head (e1475f6).
⚠️ Report is 2 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff            @@
##              main      #136   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files            2         3    +1     
  Lines          281       284    +3     
  Branches        65        65           
=========================================
+ Hits           281       284    +3     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 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.

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.

1 participant