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.
The Type module seemed like it could use some love. Here are some ideas and issues. This is a draft/experiment for feedback. I'm happy to clean up the Type module, add docs, etc. after getting feedback on this. Trying to be mindful of @glennsl feedback that we don't want to build full opinionated parsing here.
Classify
should be a sub-module with a singleclassify
function in ittypeof
unknown
type which should be used as output fromObject.get
classify
liketoString
andtoBool
to make it easier to extract values safely without having to write the switch statementsbigInt
Symbol.t
since we've got a type for this nowisNull
helpersclassify
checks for null objects and returnsNull
notObject
Issues and questions
Object
module. I couldn't figure out how to type it. Before it used an abstractobject
type defined just in this module.