julianalonso / injection Goto Github PK
View Code? Open in Web Editor NEWLightweight swift dependency manager
License: MIT License
Lightweight swift dependency manager
License: MIT License
Sometimes you will need to resolve dependencies provided by the shared module while you have not access to it. This could happen because you're out of a ModuleBuilder.
Provide access to resolve
shared dependencies.
//Usage proposal
resolve()
// or with tag
resolve(tag: "tag")
So we will add a resolve public function to handle this kind of usage.
Add Swift Package Manager support.
Add podspec to allow installation from CocoaPods
Create a Logger that puts how dependencies are being resolved, what modules are resolving it and if some dependency fails to get resolved.
Provide two logger levels, .error
, .debug
.
Error will print only whats happening when some dependency it's not resolved.
Debug will print all.
Add @Inject
support to Auto Wire properties inside dependencies.
The usage should be something like...
struct A {
@Inject var b: B
}
ModuleBuilders feature will be something like...
final class MagicMB: ModuleBuilder<UIViewController> {
@Inject var some: Some
func build() -> UIViewController {
MagicViewController(some: some)
}
}
Add code to all classes
Adding this new Swift 5.2 feature to module we will have the option to call it as function and resolve dependencies on factories registrations like:
factory { Some(dependency: $0()) }
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.