ascii-chat
Binary v0.15.83-53-gb711d8720
Library lib/v0.3.2-701-gb711d8720
Video chat in your terminal
Loading...
Searching...
No Matches
byte_arrays.h
Go to the documentation of this file.
1#pragma once
2#include <emscripten/val.h>
3#include <cstdint>
4#include <vector>
5
6inline std::vector<uint8_t> binding_copy_input(emscripten::val bytes) {
7 const size_t length = bytes["length"].as<size_t>();
8 std::vector<uint8_t> copy;
9 copy.reserve(length + 1);
10 copy.resize(length);
11 if (length) {
12 emscripten::val view = emscripten::val(emscripten::typed_memory_view(length, copy.data()));
13 view.call<void>("set", bytes);
14 }
15 return copy;
16}
17
18inline emscripten::val binding_copy_output(const void *data, size_t length) {
19 emscripten::val output = emscripten::val::global("Uint8Array").new_(length);
20 if (length) {
21 emscripten::val view = emscripten::val(emscripten::typed_memory_view(length, static_cast<const uint8_t *>(data)));
22 output.call<void>("set", view);
23 }
24 return output;
25}
emscripten::val binding_copy_output(const void *data, size_t length)
Definition byte_arrays.h:18
std::vector< uint8_t > binding_copy_input(emscripten::val bytes)
Definition byte_arrays.h:6
unsigned char uint8_t
Definition common.h:60