/** * Returns a string representation of the V8 Type. * @param type Type to return as a string. See constants in V8Value. * @return The V8Value type as a string. * @deprecated Use */ @Deprecated public static String getStringRepresentaion(final int type) { return getStringRepresentation(type); }
/** * Computes the size of the structures required for each TypedArray variation. * * @param type The type of the TypeArray * @return The size of the structures required */ public static int getStructureSize(final int type) { switch (type) { case V8Value.FLOAT_64_ARRAY: return 8; case V8Value.INT_32_ARRAY: case V8Value.UNSIGNED_INT_32_ARRAY: case V8Value.FLOAT_32_ARRAY: return 4; case V8Value.UNSIGNED_INT_16_ARRAY: case V8Value.INT_16_ARRAY: return 2; case V8Value.INT_8_ARRAY: case V8Value.UNSIGNED_INT_8_ARRAY: case V8Value.UNSIGNED_INT_8_CLAMPED_ARRAY: return 1; default: throw new IllegalArgumentException("Cannot create a typed array of type " + V8Value.getStringRepresentation(type)); } }
private static Object getValue(final Object value, final int valueType, final V8Map<Object> cache, final TypeAdapter adapter) { Object adapterResult = adapter.adapt(valueType, value); if (TypeAdapter.DEFAULT != adapterResult) { return adapterResult; } switch (valueType) { case V8Value.INTEGER: case V8Value.DOUBLE: case V8Value.BOOLEAN: case V8Value.STRING: return value; case V8Value.V8_FUNCTION: return IGNORE; case V8Value.V8_ARRAY_BUFFER: return new ArrayBuffer((V8ArrayBuffer) value); case V8Value.V8_TYPED_ARRAY: return new TypedArray((V8TypedArray) value); case V8Value.V8_ARRAY: return toList((V8Array) value, cache, adapter); case V8Value.V8_OBJECT: return toMap((V8Object) value, cache, adapter); case V8Value.NULL: return null; case V8Value.UNDEFINED: return V8.getUndefined(); default: throw new IllegalStateException("Cannot convert type " + V8Value.getStringRepresentation(valueType)); } }
private long createTypedArray(final long runtimePtr, final V8ArrayData arrayData) { switch (arrayData.type) { case V8Value.FLOAT_32_ARRAY: return v8.initNewV8Float32Array(runtimePtr, arrayData.buffer.objectHandle, arrayData.offset, arrayData.size); case V8Value.FLOAT_64_ARRAY: return v8.initNewV8Float64Array(runtimePtr, arrayData.buffer.objectHandle, arrayData.offset, arrayData.size); case V8Value.UNSIGNED_INT_32_ARRAY: return v8.initNewV8UInt32Array(runtimePtr, arrayData.buffer.objectHandle, arrayData.offset, arrayData.size); case V8Value.INT_16_ARRAY: return v8.initNewV8Int16Array(runtimePtr, arrayData.buffer.objectHandle, arrayData.offset, arrayData.size); case V8Value.UNSIGNED_INT_16_ARRAY: return v8.initNewV8UInt16Array(runtimePtr, arrayData.buffer.objectHandle, arrayData.offset, arrayData.size); case V8Value.INTEGER: return v8.initNewV8Int32Array(runtimePtr, arrayData.buffer.objectHandle, arrayData.offset, arrayData.size); case V8Value.UNSIGNED_INT_8_ARRAY: return v8.initNewV8UInt8Array(runtimePtr, arrayData.buffer.objectHandle, arrayData.offset, arrayData.size); case V8Value.INT_8_ARRAY: return v8.initNewV8Int8Array(runtimePtr, arrayData.buffer.objectHandle, arrayData.offset, arrayData.size); case V8Value.UNSIGNED_INT_8_CLAMPED_ARRAY: return v8.initNewV8UInt8ClampedArray(runtimePtr, arrayData.buffer.objectHandle, arrayData.offset, arrayData.size); default: throw new IllegalArgumentException("Cannot create a typed array of type " + V8Value.getStringRepresentation(arrayData.type)); } }
/** * Returns a string representation of the V8 Type. * @param type Type to return as a string. See constants in V8Value. * @return The V8Value type as a string. * @deprecated Use */ @Deprecated public static String getStringRepresentaion(final int type) { return getStringRepresentation(type); }
@Test public void testV8ValueV8Function_StringRepresentation() { assertEquals("V8Function", V8Value.getStringRepresentation(7)); }
@Test public void testV8ValueV8TypedArray_StringRepresentation() { assertEquals("V8TypedArray", V8Value.getStringRepresentation(8)); }
@Test public void testV8ValueV8ArrayBuffer_StringRepresentation() { assertEquals("V8ArrayBuffer", V8Value.getStringRepresentation(10)); }
@Test public void testV8ValueUInt8_StringRepresentation() { assertEquals("UInt8Array", V8Value.getStringRepresentation(11)); }
@Test public void testV8ValueInt16_StringRepresentation() { assertEquals("Int16Array", V8Value.getStringRepresentation(13)); }
@Test public void testV8ValueDouble_StringRepresentation() { assertEquals("Double", V8Value.getStringRepresentation(2)); }
@Test public void testV8ValueString_StringRepresentation() { assertEquals("String", V8Value.getStringRepresentation(4)); }
@Test public void testV8ValueV8Array_StringRepresentation() { assertEquals("V8Array", V8Value.getStringRepresentation(5)); }
@Test public void testV8ValueUInt8Clamped_StringRepresentation() { assertEquals("UInt8ClampedArray", V8Value.getStringRepresentation(12)); }
@Test public void testV8ValueNull_StringRepresentation() { assertEquals("Null", V8Value.getStringRepresentation(0)); }
@Test public void testV8ValueBoolean_StringRepresentation() { assertEquals("Boolean", V8Value.getStringRepresentation(3)); }
@Test public void testV8ValueV8Object_StringRepresentation() { assertEquals("V8Object", V8Value.getStringRepresentation(6)); }
@Test public void testV8ValueUInt16_StringRepresentation() { assertEquals("UInt16Array", V8Value.getStringRepresentation(14)); }
@Test public void testV8ValueUInt32_StringRepresentation() { assertEquals("UInt32Array", V8Value.getStringRepresentation(15)); }
@Test public void testV8ValueInteger_StringRepresentation() { assertEquals("Integer", V8Value.getStringRepresentation(1)); }