Comments (3)
The easiest way to achieve this is by using a flag that can be obtained through configuration or a command-line argument.
fx.New(
fx.Provide(
func() string {
var country string
// parse config
return country
},
),
fx.Provide(
func(country string) CountryInterface {
switch country {
case "us":
return NewUS()
case "uk":
return NewUK()
default:
return NewDefault()
}
},
),
)
It is also recommended not to use plain strings for representing the country value in fx. Instead, it's better to use a separate custom type or use name tag
from fx.
That's right, but it is not we want to do.
If we have multiple implementations of multiple types we will end up with switch cases everywhere :(
from fx.
Hi! Temporarily, we resolved the request with the following approach.
And perform some validations.
from fx.
Related Issues (20)
- Terminate my application with exit code
- Documentation should have a copy button for code snippets HOT 1
- fx.OnStart dependency missing, sometimes HOT 3
- Error on invalid lifecycle hooks
- Handling optional fields in fx.Decorate HOT 3
- Optional dependency becomes required if there is a provider available HOT 1
- Factory like provider? HOT 3
- Refresh dependency HOT 5
- `fx.Decorate` not working w/ value groups HOT 3
- doc error on [register a handler with the server] HOT 2
- Fx exiting program before panic in OnStart hook gets reported HOT 1
- Add ability to override os.Exit for fxtest HOT 1
- fx.Evaluate: Support dynamic graphs by returning fx.Option from constructors
- https://github.com/benbjohnson/clock is EOL/archived. HOT 1
- fx.Decorate does not add a missing object to the module HOT 3
- When combining fx.As to annotate return type as interface with optional parameters nil value check is not working as expected HOT 1
- Startup order isn't preserved when using modules HOT 3
- Example test failing in master branch when port 8080 is already in use (89f4a90) HOT 3
- fxevent.Logger: Silence until there's an error
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fx.