js-api: ToValueType doesn't accept GC heap types
ToValueType (which is used in global and table constructors) doesn't appear to support any of the GC heap types such as anyref. SM and V8 appear to both support this for most of the GC heap types. We appear to diverge around the bottom types (SM accepts 'nullfuncref', V8 does not).
It also looks like SM has a form of {ref: heaptypestring, nullable: boolean} that we support as well. I think we added this for testing and it slipped through.
cc: @takikawa @jakobkummerow
I had assumed the new types were intentionally left out for now.
But while looking, I also noticed #501.
I had assumed the new types were intentionally left out for now.
But while looking, I also noticed #501.
That may have been the case, but it seems that both V8 and SM at least implement some of the GC heap types. I personally think supporting all the GC heap types via their shorthands makes sense as it's pretty easy. Non-nullable types or references to type definitions should probably be left out for now.