Ejemplo n.º 1
0
def _expand_globals(traverser, node):
    """Expands a global object that has a lambda value."""

    if node.is_global and callable(node.value.get("value")):
        result = node.value["value"](traverser)
        if isinstance(result, dict):
            output = traverser._build_global("--", result)
        elif isinstance(result, JSWrapper):
            output = result
        else:
            output = JSWrapper(result, traverser)

        # Set the node context.
        if "context" in node.value:
            traverser._debug("CONTEXT>>%s" % node.value["context"])
            output.context = node.value["context"]
        else:
            traverser._debug("CONTEXT>>INHERITED")
            output.context = node.context

        return output

    return node
Ejemplo n.º 2
0
def _expand_globals(traverser, node):
    """Expands a global object that has a lambda value."""

    if node.is_global and callable(node.value.get('value')):
        result = node.value['value'](traverser)
        if isinstance(result, dict):
            output = traverser._build_global('--', result)
        elif isinstance(result, JSWrapper):
            output = result
        else:
            output = JSWrapper(result, traverser)

        # Set the node context.
        if 'context' in node.value:
            traverser._debug('CONTEXT>>%s' % node.value['context'])
            output.context = node.value['context']
        else:
            traverser._debug('CONTEXT>>INHERITED')
            output.context = node.context

        return output

    return node
Ejemplo n.º 3
0
def _expand_globals(traverser, node):
    """Expands a global object that has a lambda value."""

    if node.is_global and callable(node.value.get('value')):
        result = node.value['value'](traverser)
        if isinstance(result, dict):
            output = traverser._build_global('--', result)
        elif isinstance(result, JSWrapper):
            output = result
        else:
            output = JSWrapper(result, traverser)

        # Set the node context.
        if 'context' in node.value:
            traverser._debug('CONTEXT>>%s' % node.value['context'])
            output.context = node.value['context']
        else:
            traverser._debug('CONTEXT>>INHERITED')
            output.context = node.context

        return output

    return node