import {dlopen, suffix, ptr} from 'bun:ffi' export const encodeCString = str => ptr(Buffer.from(str + '\0', 'utf8')) export default dlopen(`${import.meta.dir}/lib/libwebview.${suffix}`, { webview_create: { args: ['i32', 'ptr'], returns: 'ptr' }, webview_destroy: { args: ['ptr'] }, webview_run: { args: ['ptr'] }, webview_terminate: { args: ['ptr'] }, webview_dispatch: { args: ['ptr', 'function', 'ptr'] }, webview_get_window: { args: ['ptr'], returns: 'ptr' }, webview_get_native_handle: { args: ['ptr', 'i32'], returns: 'ptr' }, webview_set_title: { args: ['ptr', 'cstring'] }, webview_set_size: { args: ['ptr', 'i32', 'i32', 'i32'] }, webview_navigate: { args: ['ptr', 'cstring'] }, webview_set_html: { args: ['ptr', 'cstring'] }, webview_init: { args: ['ptr', 'cstring'] }, webview_eval: { args: ['ptr', 'cstring'] }, webview_bind: { args: ['ptr', 'cstring', 'function', 'ptr'] }, webview_unbind: { args: ['ptr', 'cstring'] }, webview_return: { args: ['ptr', 'cstring', 'i32', 'cstring'] } })