def convert()

in ShortHand/lambda/convert.py [0:0]


def convert(value):
    if isinstance(value, str):
        yield parse_name(value)
    elif isinstance(value, dict):
        for k, v in value.items():
            ident, props = parse_name(k)
            props.update(unroll_props(v))
            yield ident, props
    elif isinstance(value, list):
        for v in value:
            for ident, props in convert(v):
                yield ident, props
    else:
        raise Exception("Bad format at: {}".format(value))