示例#1
0
 bool JSONStack::Push(Js::Var data, bool bJsObject)
 {
     if (bJsObject)
     {
         return jsObjectStack.Push(data);
     }
     EnsuresDomObjectStack();
     domObjectStack->Add(data);
     return true;
 }
示例#2
0
    bool JSONStack::Push(Js::Var data, bool bJsObject)
    {
        if (bJsObject)
        {
            bool result = true;
            if (_JS_VALUE)
            {
                jsObjectStack.Push(_JS_VALUE);
                _JS_VALUE = nullptr;
            }

            if (jsObjectStack.Count())
            {
                result = jsObjectStack.Push(data);
            }
            else
            {
                _JS_VALUE = data;
            }

            return result;
        }

        EnsuresDomObjectStack();

        if (_DOM_VALUE)
        {
            domObjectStack->Add(_DOM_VALUE);
            _DOM_VALUE = nullptr;
        }

        if (domObjectStack->Count())
        {
            domObjectStack->Add(data);
        }
        else
        {
            _DOM_VALUE = data;
        }
        return true;
    }