Package provided none-aware wrapper for none-safety object manipulation.
Project description
Python none-aware
Install
pip install none-aware
Usage
from none_aware import Maybe
obj = dict(foo='bar', baz=dict(foo='foo', bar='bar'))
maybe_obj = Maybe(obj)
assert maybe_obj['foo']() == 'bar'
assert maybe_obj['bar']() is None
assert maybe_obj['baz']['foo']() == 'foo'
assert maybe_obj['bar']['foo']() is None
assert maybe_obj['foo']['bar']() is None
assert maybe_obj.foo() == 'bar'
assert maybe_obj.bar() is None
assert maybe_obj.baz.foo() == 'foo'
assert maybe_obj.bar.foo() is None
assert maybe_obj.foo.bar() is None
assert maybe_obj.foo.upper() == 'BAR'
assert maybe_obj.foo.upper.lower() == 'bar'
assert maybe_obj.bar.foo.other.upper.lower() is None
assert maybe_obj.bar.foo.other.upper.lower.else_('Nothing') == 'Nothing'
maybe_strict = Maybe(obj, strict=True)
assert maybe_strict['foo'].else_('Other') == 'bar'
assert maybe_strict.foo.else_('Other') == 'Other'
maybe_none = Maybe(None)
print(maybe_none.foo.bar) # None
print(maybe_none.is_none()) # True
print(maybe_none.bar.baz.is_none()) # True
print(maybe_obj.foo.is_none()) # False
print(maybe_obj.foo.bar.is_none()) # True
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
none-aware-0.0.1.tar.gz
(3.1 kB
view hashes)
Built Distribution
Close
Hashes for none_aware-0.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ce89aa1a4b1a27bbe93b38752ac612f5427ae879295beea854c25105da106161 |
|
MD5 | c952d9635ee44acf22cc8e382b25721f |
|
BLAKE2b-256 | ee5befd0d10c19e49193ee74083e33c2b096ca741ded6d85a056f2c33007cdb9 |