Only inject objects with the @inject decorator and objects with a @provider
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 25/100
Línea de trabajo
No files, tests, or entry points are named in the issue. Start by tracing how Injector currently creates objects and handles @provider and @inject, then inspect existing tests for constructor injection and providers. Done means un-decorated constructors are not implicitly used, while explicitly provided or @inject-decorated objects remain creatable.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Edit: This post originally had a question on how to solve a specific problem, but is updated with the solution and requested change described in https://github.com/alecthomas/injector/issues/116#issuecomment-647505337:
Injector should require a @provider or a constructor with the @inject decorator for an object to be created.
The original post is kept below.
As mentioned before in #78, I feel that the way Injector has default values for "value types" such as such as str, int and bool is pretty counter-intuitive, and therefore risky. Removing that would obviously break backwards compatibility, but I'd like you to consider that.
To me, the use case for Injector is primarily to inject dependent classes. It is in some cases also useful to configure these classes with parameters that may be value types, but commonly the values shouldn't be the same for every every class they configure.
Is there a design decision behind the current behavior, or is it rather a consequence of the implementation?
- Lenguaje dominante
- Python
- Estrellas
- 1.5k
- Forks
- 94
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
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 python-injector/injector
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
python-injector/injector#317 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 55/100
python-injector/injector#298 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 65/100
python-injector/injector#297 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 30/100
python-injector/injector#267 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 48/100
python-injector/injector#258 · 3 comentarios ·
Todos los issues de python-injector/injector
Issues similares
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
zostera/django-bootstrap4#894 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
use-agent-os/agent-os#3276 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
zephyrproject-rtos/zephyr#119726 ·
-
area/auth bug comp/agent P3 platform/discord type/security
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
NousResearch/hermes-agent#117848 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
zilliztech/memsearch#759 ·