mourke / fyper Goto Github PK
View Code? Open in Web Editor NEWCompile-Time Dependency Injection for Swift (based on Resolver)
Compile-Time Dependency Injection for Swift (based on Resolver)
The current analyser class will only search through the immediate directory for swift files. This needs to be a deep search.
Copy how Dagger does it.
Add a -v option to the command line arguments and print verbose logging when this option is enabled
If the initialiser's arguments are spread out amongst many lines which is common in large initialisers, the logic falls apart for extracting the comment.
This is a low-priority issue as the comment method of injecting is not supposed to be long-term
Generate basic code
Change the errors from throwing and stopping the program to outputting to the IDE with line numbers and messages
Initialisers that look like:
let myObject: MyClass = .init()
We can use Resolver's .register(name:
overload. We will need to add an optional name parameter to the @Register
property wrapper as well as support in the build plugin for searching the dependency graph for this.
We might also need to add an attribute macro to the Parameters of the initializer to manually specify the name of the literal if it is to be different to the parameter name
Add check for this when graph is being built
Resolver.register
closure for casts to protocolsFyper is searching for the class that is declared inside initialiser. This also means it will not work for typealiasing.
In the future, a pass of every file should be done again searching for name aliases. All of these name aliases should then be searched.
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.