@@ -63,6 +63,7 @@ Possible compile time enabled feature types:
63
63
- JERRY_FEATURE_LINE_INFO - line info available
64
64
- JERRY_FEATURE_LOGGING - logging
65
65
- JERRY_FEATURE_SYMBOL - symbol support
66
+ - JERRY_FEATURE_DATAVIEW - DataView support
66
67
67
68
## jerry_regexp_flags_t
68
69
@@ -1296,6 +1297,56 @@ jerry_value_is_constructor (const jerry_value_t value)
1296
1297
1297
1298
- [jerry_release_value](#jerry_release_value)
1298
1299
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
+
1299
1350
## jerry_value_is_error
1300
1351
1301
1352
**Summary**
@@ -3246,6 +3297,60 @@ jerry_create_error_sz (jerry_error_t error_type,
3246
3297
- [jerry_create_error](#jerry_create_error)
3247
3298
3248
3299
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
+
3249
3354
## jerry_create_external_function
3250
3355
3251
3356
**Summary**
@@ -6120,6 +6225,152 @@ jerry_get_arraybuffer_pointer (const jerry_value_t value);
6120
6225
- [jerry_create_arraybuffer_external](#jerry_create_arraybuffer_external)
6121
6226
6122
6227
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
+
6123
6374
## jerry_get_typedarray_type
6124
6375
6125
6376
**Summary**
0 commit comments