ReScript bindings for clean-deep, a library for removing empty or nullable values from javascript objects.
Getting started
yarn add rescript-clean-deep
Then add rescript-clean-deep as a dependency to rescript.json:
"dependencies": [
+ "rescript-clean-deep"
]Example
open RescriptCleanDeep let jsObject = %raw(` { bar: {}, baz: null, biz: 'baz', foo: '', net: [], nit: undefined, qux: { baz: 'boz', txi: '' } } `) let cleaned = CleanDeep.cleanDeep(jsObject, ()) Console.log(cleaned) // => { biz: 'baz', qux: { baz: 'boz' } } let cleanedKeepStrings = jsObject->CleanDeep.cleanDeep(~emptyStrings=false, ()) Console.log(cleanedKeepStrings) // => { biz: 'baz', foo: '', qux: { baz: 'boz', txi: '' } } let cleanedCustomValues = jsObject->CleanDeep.cleanDeep(~cleanValues=["baz"], ()) Console.log(cleanedCustomValues) // => { qux: { baz: 'boz' } }
See also example-project.
Contribute
If you find bugs or there are updates in
clean-deep, feel free to open an issue
or PR.
If you are upgrading any dependencies, please use yarn so yarn.lock is
updated.