repository: Add defineModelClass
helper and fix DeepPartial<AnyObject>
#4266
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
See #4235 for background context.
Implement a new helper function that allows LB4 users to create
model classes dynamically at runtime. This is similar functionality
as offered by LB3, but with the benefit of compile-time type checks.
Example use:
While testing this code, I found a bug in
DeepPartial<T>
that I have experienced before. This time I could not ignore it because one of my tests would fail, so I am finally fixing it (see the first commit). Consider the following code:Before this change,
create<AnyObject>({key: 'value'})
is rejected by the compiler, becase "No overload matches this call."With this change in place, the compiler no longer complains.
Checklist
👉 Read and sign the CLA (Contributor License Agreement) 👈
npm test
passes on your machinepackages/cli
were updatedexamples/*
were updated👉 Check out how to submit a PR 👈