def nested_get(record: dict, target: str):
    """
        Using dot-notation get the value of a dictionary

        Example:

        obj = {
            "foo": {
                "bar": 4
            }
        }

        nested_get(obj, 'foo.bar')  # returns 4
        nested_get(obj, 'foo.zaz')  # returns None
    """

    if '.' in target:
        next_level, extra_levels = target.split('.', 1)
        return nested_get(record.get(next_level, {}), extra_levels)

    return record.get(target)