IQSS / IQSS/dataverse-client-javascript

Refactor ApiRepository for enhanced generality and abstraction

Open
#136 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

pm.GREI-d-2.7.1 pm.GREI-d-2.7.2
Dominant language
TypeScript
Stars
20
Forks
11
Avg merge
2d 5h
Merged PRs (30d)
1

Description

Overview of the Feature Request

The ApiRepository currently incorporates logic that is specific to particular resource types. This approach limits the generic utility of the repository and necessitates direct checks on these types within the repository itself. The proposal is to enhance the generality of ApiRepository by abstracting away resource-specific logic.

What Inspired the Request?

The need for a more generic ApiRepository was identified during a code review. The current implementation requires direct checks on resource types, which can complicate the codebase and reduce the modularity and reusability of the repository.

What Existing Behavior Do You Want Changed?

None, this is just a refactor.

Any Brand New Behavior Do You Want to Add to js-dataverse?

None, this is just a refactor.

Any Open or Closed Issues Related to This Feature Request?

No

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating ApiRepository and review the linked pull request discussion that identified the resource-specific checks. Determine which logic is tied to particular resource types and define an abstraction that preserves existing behavior; completion requires agreement on the refactor scope and verification that current behavior remains unchanged.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
api
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.