Skip to content

Conversation

@deflis
Copy link
Owner

@deflis deflis commented Dec 9, 2025

Summary

  • add an ExecuteOptions bag to Narou client methods to pass fetch settings
  • propagate optional fetch options through builders and ranking helpers
  • cover fetch option forwarding with a new NarouNovelFetch test and export the type

Testing

  • pnpm vitest run test/narou-fetch.test.ts

Codex Task

Copilot AI review requested due to automatic review settings December 9, 2025 21:14
Copy link
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

This PR adds support for passing fetch options to the Narou API client by introducing an ExecuteOptions bag pattern that propagates through all API execution methods.

Key Changes:

  • Introduced ExecuteOptions type containing optional fetchOptions (RequestInit)
  • Updated all execute() method signatures across builders and client methods to accept optional ExecuteOptions
  • Added test coverage for fetch options forwarding in the fetch implementation

Reviewed changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated no comments.

Show a summary per file
File Description
src/narou.ts Defined ExecuteOptions type and updated abstract execute() signature and all public API methods to accept options parameter
src/narou-fetch.ts Updated execute() to forward fetchOptions to the fetch call
src/narou-jsonp.ts Added options parameter with underscore prefix to indicate it's intentionally unused (JSONP doesn't support fetch options)
src/search-builder.ts Updated NovelSearchBuilderBase.execute() to accept and forward options
src/search-builder-r18.ts Updated SearchBuilderR18.execute() to accept and forward options
src/user-search.ts Updated UserSearchBuilder.execute() to accept and forward options
src/ranking.ts Updated all execute() and executeWithFields() signatures to accept and forward options through the execution chain
src/index.common.ts Exported ExecuteOptions type for public API consumers
test/narou-fetch.test.ts Added test case verifying fetch options are correctly passed to the fetch implementation

The implementation is clean and consistent across the codebase. The use of an options bag pattern provides good extensibility for future enhancements. The JSONP implementation appropriately ignores the options parameter since JSONP doesn't support custom fetch options.


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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants