On Thu, May 15, 2014 at 4:41 AM, Lee Morgan <[email protected]>wrote:

> Hi Chad,
>
> Thanks for your answer.
>
> Say I want to convert a JS value to my C++ variant type, so if string,
> cast string if number cast float, if array iterate etc
>
> (I'm trying to store a JS object as c++ map)
>

I see, cool.

When I get home to my Ubuntu VM where I do emscripten development, I'll try
to expose the 'typeof' operator to emval.

Just so you're aware, here are the semantics of the JS typeof operator:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/typeof


> Cheers
> Lee
>
> On Thursday, May 15, 2014 7:04:33 AM UTC+1, Chad Austin wrote:
>
>> On Tue, May 13, 2014 at 3:37 AM, Lee Morgan <[email protected]>wrote:
>>
>>> Hi,
>>>
>>> Can I access the object keys given an emscripten::val.
>>>
>>
>> Hi Lee,
>>
>> That's a good question.  Here's one way:
>>
>> #include <stdio.h>
>> #include <emscripten/val.h>
>>
>> using emscripten::val;
>>
>> int main() {
>>     val window = val::global("window");
>>     val keys = val::global("Object").call<val>("keys", window);
>>     int length = keys["length"].as<int>();
>>     for (int i = 0; i < length; ++i) {
>>         printf("%s\n", keys[i].as<std::string>().c_str());
>>     }
>> }
>>
>> The example program looks up the global 'window' object and then prints
>> out all of the keys.
>>
>>
>>> How do I get type information about a val? or an array length etc
>>>
>>
>> The above example illustrates getting array length, but I don't think
>> there's a typeof operator exposed yet.
>>
>> In particular, what kind of type information do you need?
>>
>> Thanks,
>> Chad
>>
>>  --
> You received this message because you are subscribed to the Google Groups
> "emscripten-discuss" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/d/optout.
>



-- 
Chad Austin
Technical Director, IMVU
http://engineering.imvu.com <http://www.imvu.com/members/Chad/>
http://chadaustin.me

-- 
You received this message because you are subscribed to the Google Groups 
"emscripten-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to