Tilde Friends
Loading...
Searching...
No Matches
util.js.h
1#pragma once
2
9#include "quickjs.h"
10
11#include <stdbool.h>
12
17{
18 k_kind_unknown,
19 k_kind_bool,
20 k_kind_int,
21 k_kind_string,
23
29
36JSValue tf_util_utf8_decode(JSContext* context, JSValue value);
37
45uint8_t* tf_util_try_get_array_buffer(JSContext* context, size_t* psize, JSValueConst obj);
46
56JSValue tf_util_try_get_typed_array_buffer(JSContext* context, JSValueConst obj, size_t* pbyte_offset, size_t* pbyte_length, size_t* pbytes_per_element);
57
64bool tf_util_report_error(JSContext* context, JSValue value);
65
72int tf_util_get_length(JSContext* context, JSValue value);
73
81const char* tf_util_get_property_as_string(JSContext* context, JSValue object, const char* key);
82
92int tf_util_insert_index(const void* key, const void* base, size_t count, size_t size, int (*compare)(const void*, const void*));
93
101JSValue tf_util_new_uint8_array(JSContext* context, const uint8_t* data, size_t size);
102
111size_t tf_base64_encode(const uint8_t* source, size_t source_length, char* out, size_t out_length);
112
121size_t tf_base64_decode(const char* source, size_t source_length, uint8_t* out, size_t out_length);
122
129int tf_util_backtrace(void** buffer, int count);
130
139const char* tf_util_backtrace_to_string(void* const* buffer, int count);
140
148
153
158const char* tf_util_function_to_string(void* function);
159
166#define tf_min(a, b) \
167 ({ \
168 __typeof__(a) _a = (a); \
169 __typeof__(b) _b = (b); \
170 _a > _b ? _b : _a; \
171 })
172
179#define tf_max(a, b) \
180 ({ \
181 __typeof__(a) _a = (a); \
182 __typeof__(b) _b = (b); \
183 _a > _b ? _a : _b; \
184 })
185
191#define tf_countof(a) ((int)(sizeof((a)) / sizeof(*(a))))
192
199
206
212const char* tf_util_get_default_global_setting_string(const char* name);
213
220
229bool tf_util_get_global_setting_by_index(int index, const char** out_name, const char** out_type, tf_setting_kind_t* out_kind, const char** out_description);
230
235void tf_util_document_settings(const char* line_prefix);
236
242
250size_t tf_string_set(char* buffer, size_t size, const char* string);
251
260const char* tf_util_uv_error_buf(char* buffer, size_t size, const char* prefix, int error);
261
struct JSContext JSContext
Definition api.js.h:10
size_t tf_string_set(char *buffer, size_t size, const char *string)
_tf_setting_kind_t
Definition util.js.h:17
int tf_util_get_default_global_setting_int(const char *name)
const char * tf_util_get_default_global_setting_string(const char *name)
uint8_t * tf_util_try_get_array_buffer(JSContext *context, size_t *psize, JSValueConst obj)
bool tf_util_get_global_setting_by_index(int index, const char **out_name, const char **out_type, tf_setting_kind_t *out_kind, const char **out_description)
tf_setting_kind_t tf_util_get_global_setting_kind(const char *name)
enum _tf_setting_kind_t tf_setting_kind_t
size_t tf_base64_decode(const char *source, size_t source_length, uint8_t *out, size_t out_length)
void tf_util_document_settings(const char *line_prefix)
JSValue tf_util_try_get_typed_array_buffer(JSContext *context, JSValueConst obj, size_t *pbyte_offset, size_t *pbyte_length, size_t *pbytes_per_element)
const char * tf_util_function_to_string(void *function)
JSValue tf_util_utf8_decode(JSContext *context, JSValue value)
const char * tf_util_get_property_as_string(JSContext *context, JSValue object, const char *key)
const char * tf_util_uv_error_buf(char *buffer, size_t size, const char *prefix, int error)
void tf_util_register(JSContext *context)
const char * tf_util_backtrace_to_string(void *const *buffer, int count)
void tf_util_print_backtrace()
bool tf_util_is_mobile()
int tf_util_backtrace(void **buffer, int count)
size_t tf_base64_encode(const uint8_t *source, size_t source_length, char *out, size_t out_length)
const char * tf_util_backtrace_string()
int tf_util_get_length(JSContext *context, JSValue value)
JSValue tf_util_new_uint8_array(JSContext *context, const uint8_t *data, size_t size)
int tf_util_insert_index(const void *key, const void *base, size_t count, size_t size, int(*compare)(const void *, const void *))
bool tf_util_report_error(JSContext *context, JSValue value)
bool tf_util_get_default_global_setting_bool(const char *name)