Add an option to `createContextProvider` to throw an error instead of using a fallback in @solid-primitives/context
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 48/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Tranquilo
- Stack tecnológico
- typescript
- Área
- frontend
Línea de trabajo
Comienza en el punto de entrada createContextProvider e inspecciona su argumento fallback actual y el tipo de retorno del hook generado. Compara la config propuesta y el comportamiento de los errores, y luego cubre los casos de provider ausente y fallback. Se considera terminado cuando strict mode lanza un error si falta el provider, devuelve T en TypeScript y conserva el comportamiento de fallback existente.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Describe The Problem To Be Solved
Right now, if I want to use createContextProvider but maintain a strict "fail-fast" pattern (where it throws an error if used outside its provider). I either have to accept the T | undefined return type and manually wrap it with a null check, or I have to pass a dummy fallback object just to satisfy TypeScript, which actively hides the fact that the provider is missing. Since strict context is super common in Solid, support this would be a good idea.
Suggest A Solution
It would be awesome if the primitive natively supported strict mode. Maybe the second argument could be updated to accept a config object instead of just the fallback value, something like { fallback?: {...}, throws: ... }. The throws property could accept either a string for a standard error message, or even better, an Error class in case developers want to throw their own custom errors.
The ultimate goal is that the generated hook would automatically throw the error if the context is undefined, and the TypeScript return type would be strictly T without needing any extra wrapper hooks.
- Lenguaje dominante
- TypeScript
- Estrellas
- 1.6k
- Forks
- 162
- Merge medio
- 19 h 40 min
- PR fusionados (30 d)
- 8
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de solidjs-community/solid-primitives
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
solidjs-community/solid-primitives#1059 · 1 comentario ·
-
bug
Dificultad 3/5 1-2 días Aptitud para principiantes 68/100
-
enhancement
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
-
bug
Dificultad 3/5 1-2 días Aptitud para principiantes 55/100
solidjs-community/solid-primitives#1000 · 3 comentarios · 5 reacciones ·
-
help wanted
Dificultad 2/5 1-3 horas Aptitud para principiantes 52/100
solidjs-community/solid-primitives#830 · 2 comentarios ·
Todos los issues de solidjs-community/solid-primitives
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
mksglu/context-mode#1200 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
jaegertracing/jaeger-ui#4506 ·
-
area:desktop area:ui bug platform:macos
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
anthropics/claude-code#96687 ·
-
good first issue
Dificultad 1/5 Menos de una hora Aptitud para principiantes 95/100
AOSSIE-Org/DebateAI#582 · 2 comentarios ·