bee-produced / bee-built Goto Github PK
View Code? Open in Web Editor NEWA collection of modular libraries tailor-made for Kotlin enthusiasts.
License: MIT License
A collection of modular libraries tailor-made for Kotlin enthusiasts.
License: MIT License
Nested data fetchers that only call data loaders could be generated automatically to reduce boilerplate code. If they are generated automatically, one can also not forget to define them.
Example for such data fetchers:
@DgsData(parentType = "Film", field = "studios")
fun filmStudios(dfe: DataFetchingEnvironment): CompletableFuture<List<CompanyDto>?> {
val dataLoader = dfe.getCompanyDataLoader()
val film = dfe.getSource<FilmDto>()
return dataLoader.loadMany(film.studioIds)
}
@DgsData(parentType = "Film", field = "directors")
fun filmDirectors(dfe: DataFetchingEnvironment): CompletableFuture<List<PersonDto>?> {
val dataLoader = dfe.getPersonDataLoader()
val film = dfe.getSource<FilmDto>()
return dataLoader.loadMany(film.directorIds)
}
@DgsData(parentType = "Film", field = "cast")
fun filmCast(dfe: DataFetchingEnvironment): CompletableFuture<List<PersonDto>?> {
val dataLoader = dfe.getPersonDataLoader()
val film = dfe.getSource<FilmDto>()
return dataLoader.loadMany(film.castIds)
}
One could in theory do this at runtime, however this would require an approach heavy reflection usage. In addition, the DGS plugin would not indicate in the schema that a data fetcher is defined.
Streamline project structure of older modules:
bee
)@TransactionalResult
should become part of lib.data
)Also provide some minor improvements for lib.data
:
typedSelection
which was internally in development but is now nearly finisheddfe.toDataSelection()
Test & prototype implementation with Blaze Persistence instead of Entity Graph
evm.applySetting(setting, cbf.create(...).also { // add jdsl })
Codegen Views
GraphQLEntityViewSupport
Codegen Selection
Selection should be possible without GraphQL DataFetchingEnvironment!
GraphQLEntityViewSupport
Remove FullNonRecursiveSelection
=> Generate Full Simple Selection for every Type
Generate Simple Selection DSL
select(Show.DSL {
actors {
firstname()
lastname()
companies {
users()
}
}
})
Generate real data classes instead of bytebuddy proxy
TupleConstructorReflectionInstantiator
Add existing in-house libraries to project & implement example project showcasing features.
Create pipeline with GitHub actions that tests libraries.
Also publish artifacts to Maven Central.
Implement better solution to improve compatibility between result type & data fetchers in bee.functional.dgs
.
Investigate ByteBuddy for possible solution.
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.