@@ -63,6 +63,7 @@ Possible compile time enabled feature types:
6363 - JERRY_FEATURE_LINE_INFO - line info available
6464 - JERRY_FEATURE_LOGGING - logging
6565 - JERRY_FEATURE_SYMBOL - symbol support
66+ - JERRY_FEATURE_DATAVIEW - DataView support
6667
6768## jerry_regexp_flags_t
6869
@@ -1296,6 +1297,56 @@ jerry_value_is_constructor (const jerry_value_t value)
12961297
12971298- [jerry_release_value](#jerry_release_value)
12981299
1300+ ## jerry_value_is_dataview
1301+
1302+ **Summary**
1303+
1304+ Returns whether the given `jerry_value_t` is a DataView object value.
1305+
1306+ **Prototype**
1307+
1308+ ```c
1309+ bool
1310+ jerry_value_is_dataview (const jerry_value_t value)
1311+ ```
1312+
1313+ - `value` - API value
1314+ - return value
1315+ - true, if the given `jerry_value_t` is a DataView object
1316+ - false, otherwise
1317+
1318+ **Example**
1319+
1320+ [doctest]: # ()
1321+
1322+ ```c
1323+ #include "jerryscript.h"
1324+
1325+ int
1326+ main (void)
1327+ {
1328+ jerry_init (JERRY_INIT_EMPTY);
1329+
1330+ jerry_value_t arraybuffer = jerry_create_arraybuffer (16);
1331+ jerry_value_t dataview = jerry_create_dataview (arraybuffer, 0, 16);
1332+
1333+ if (jerry_value_is_dataview (dataview))
1334+ {
1335+ // usage of dataview
1336+ }
1337+
1338+ jerry_release_value (dataview);
1339+ jerry_release_value (arraybuffer);
1340+
1341+ jerry_cleanup ();
1342+ }
1343+ ```
1344+
1345+ **See also**
1346+
1347+ - [jerry_release_value](#jerry_release_value)
1348+
1349+
12991350## jerry_value_is_error
13001351
13011352**Summary**
@@ -3246,6 +3297,60 @@ jerry_create_error_sz (jerry_error_t error_type,
32463297- [jerry_create_error](#jerry_create_error)
32473298
32483299
3300+ ## jerry_create_dataview
3301+
3302+ **Summary**
3303+
3304+ Create new JavaScript DataView object.
3305+
3306+ *Note*: This API depends on the ES2015-subset profile.
3307+
3308+ **Prototype**
3309+
3310+ ```c
3311+ jerry_value_t
3312+ jerry_create_dataview (const jerry_value_t array_buffer,
3313+ const jerry_length_t byte_offset,
3314+ const jerry_length_t byte_length)
3315+ ```
3316+
3317+ - `array_buffer` - arrayBuffer to create DataView from
3318+ - `byte_offset` - offset in bytes, to the first byte in the buffer
3319+ - `byte_length` - number of elements in the byte array
3320+ - return value
3321+ - value of the constructed DataView object - if success
3322+ - created error - otherwise
3323+
3324+ **Example**
3325+
3326+ [doctest]: # ()
3327+
3328+ ```c
3329+ #include "jerryscript.h"
3330+
3331+ int
3332+ main (void)
3333+ {
3334+ jerry_init (JERRY_INIT_EMPTY);
3335+
3336+ jerry_value_t arraybuffer = jerry_create_arraybuffer (16);
3337+ jerry_value_t dataview = jerry_create_dataview (arraybuffer, 0, 16);
3338+
3339+ // usage of dataview
3340+
3341+ jerry_release_value (dataview);
3342+ jerry_release_value (arraybuffer);
3343+
3344+ jerry_cleanup ();
3345+ }
3346+ ```
3347+
3348+ **See also**
3349+
3350+ - [jerry_value_is_dataview](#jerry_value_is_dataview)
3351+ - [jerry_release_value](#jerry_release_value)
3352+
3353+
32493354## jerry_create_external_function
32503355
32513356**Summary**
@@ -6120,6 +6225,152 @@ jerry_get_arraybuffer_pointer (const jerry_value_t value);
61206225- [jerry_create_arraybuffer_external](#jerry_create_arraybuffer_external)
61216226
61226227
6228+ ## jerry_get_dataview_buffer
6229+
6230+ **Summary**
6231+
6232+ Get the ArrayBuffer internal property of the DataView object.
6233+
6234+ **Prototype**
6235+
6236+ ```c
6237+ jerry_value_t
6238+ jerry_get_dataview_buffer (const jerry_value_t value);
6239+ ```
6240+
6241+ - `value` - DataView object.
6242+ - return value
6243+ - the ArrayBuffer internal property - if success
6244+ - created error - otherwise
6245+
6246+ **Example**
6247+
6248+ [doctest]: # ()
6249+
6250+ ```c
6251+ #include "jerryscript.h"
6252+
6253+ int
6254+ main (void)
6255+ {
6256+ jerry_init (JERRY_INIT_EMPTY);
6257+
6258+ jerry_value_t arraybuffer = jerry_create_arraybuffer (16);
6259+ jerry_value_t dataview = jerry_create_dataview (arraybuffer, 0, 16);
6260+ jerry_value_t internal_buffer = jerry_get_dataview_buffer (dataview);
6261+
6262+ // usage of internal_buffer
6263+
6264+ jerry_release_value (internal_buffer);
6265+ jerry_release_value (dataview);
6266+ jerry_release_value (arraybuffer);
6267+
6268+ jerry_cleanup ();
6269+ }
6270+ ```
6271+
6272+ **See also**
6273+
6274+ - [jerry_create_dataview](#jerry_create_dataview)
6275+
6276+
6277+ ## jerry_get_dataview_byte_offset
6278+
6279+ **Summary**
6280+
6281+ Get the ByteOffset internal property of the DataView object.
6282+
6283+ **Prototype**
6284+
6285+ ```c
6286+ jerry_value_t
6287+ jerry_get_dataview_byte_offset (const jerry_value_t value);
6288+ ```
6289+
6290+ - `value` - DataView object.
6291+ - return value
6292+ - the ByteOffset internal property - if success
6293+ - created error - otherwise
6294+
6295+ **Example**
6296+
6297+ [doctest]: # ()
6298+
6299+ ```c
6300+ #include "jerryscript.h"
6301+
6302+ int
6303+ main (void)
6304+ {
6305+ jerry_init (JERRY_INIT_EMPTY);
6306+
6307+ jerry_value_t arraybuffer = jerry_create_arraybuffer (16);
6308+ jerry_value_t dataview = jerry_create_dataview (arraybuffer, 0, 16);
6309+ jerry_value_t byte_offset = jerry_get_dataview_byte_offset (dataview);
6310+
6311+ // usage of byte_offset
6312+
6313+ jerry_release_value (byte_offset);
6314+ jerry_release_value (dataview);
6315+ jerry_release_value (arraybuffer);
6316+
6317+ jerry_cleanup ();
6318+ }
6319+ ```
6320+
6321+ **See also**
6322+
6323+ - [jerry_create_dataview](#jerry_create_dataview)
6324+
6325+ ## jerry_get_dataview_byte_offset
6326+
6327+ **Summary**
6328+
6329+ Get the ByteLength internal property of the DataView object.
6330+
6331+ **Prototype**
6332+
6333+ ```c
6334+ jerry_value_t
6335+ jerry_get_dataview_byte_length (const jerry_value_t value);
6336+ ```
6337+
6338+ - `value` - DataView object.
6339+ - return value
6340+ - the ByteLength internal property - if success
6341+ - created error - otherwise
6342+
6343+ **Example**
6344+
6345+ [doctest]: # ()
6346+
6347+ ```c
6348+ #include "jerryscript.h"
6349+
6350+ int
6351+ main (void)
6352+ {
6353+ jerry_init (JERRY_INIT_EMPTY);
6354+
6355+ jerry_value_t arraybuffer = jerry_create_arraybuffer (16);
6356+ jerry_value_t dataview = jerry_create_dataview (arraybuffer, 0, 16);
6357+ jerry_value_t byte_length = jerry_get_dataview_byte_length (dataview);
6358+
6359+ // usage of byte_length
6360+
6361+ jerry_release_value (byte_length);
6362+ jerry_release_value (dataview);
6363+ jerry_release_value (arraybuffer);
6364+
6365+ jerry_cleanup ();
6366+ }
6367+ ```
6368+
6369+ **See also**
6370+
6371+ - [jerry_create_dataview](#jerry_create_dataview)
6372+
6373+
61236374## jerry_get_typedarray_type
61246375
61256376**Summary**
0 commit comments