Skip to content

Conversation

nicu-chiciuc
Copy link

The package has implicit type for get, all, etc.

The type of get is inferred as:

(method) RedisStore.get(sid: string, cb?: (_err?: unknown, _data?: any) => void): Promise<void>

Whereas based on the implementation the get can be awaited and a value can be returned.

A better approach would've been to use generics, but for now a simple change to unknown from void is more than acceptable.

Copy link

This PR is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 5 days.

@github-actions github-actions bot added the stale label Apr 14, 2025
@wavded
Copy link
Collaborator

wavded commented Apr 17, 2025

The use of promises here is really just to await the Redis implementations we use (so only intended for internal use to keep the code cleaner). The actual public API follows the spec of using Node-style callbacks defined within the express-session store spec. Promises don't return anything meaningful to the end user and are not intended to be used. I suppose we could run async functions within the functions such that TS type reporting isn't confusing.

@wavded wavded removed the stale label Apr 17, 2025
@wavded
Copy link
Collaborator

wavded commented May 9, 2025

Ended up changing course here in a subsequent PR to allow async functions to return values if awaited. Addressed in #430 .

@wavded wavded closed this May 9, 2025
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