3.0.0-beta.1
Pre-releaseBreaking changes
Kernel
is nowContainer
getServiceIdentifierAsString
is not a method ofContainer
anymore.PlanAndResolveArgs
is nowNextArgs
in middleware.- Contextual constraints
New features
Non-functional improvements
Notes
All changes can be explored here.
This is a beta release, we are going to do multiple beta releases before releasing 3.0.
My goal is to include:
- Non-nullable types
- Async/await providers (awaiting TypeScript 2.1)
I'm also considering a second refactor in which all the functions in planning and resolution process will become pure. For example, at the moment some functions either return or throw an error. Instead of that, it could be better to always return Either<Error, interfaces.Target[]>
. By doing this, the planner and resolver will become pure (at the moment they are stateless but not pure).
The Container (old Kernel) is the only stateful entity and will be the place in which we throw exceptions. We can also explore not throwing and returning Either<Error, T>
when resolving. This is something that I need to think about and might never happen...