github.com/primecitizens/pcz/std@v0.2.1/plat/js/webext/sharedstorageprivate/bindings/ffi_bindings.ts (about) 1 import { importModule, Application, heap, Pointer } from "@ffi"; 2 3 importModule("plat/js/webext/sharedstorageprivate", (A: Application) => { 4 const WEBEXT = typeof globalThis.browser === "undefined" ? globalThis.chrome : globalThis.browser; 5 6 return { 7 "has_Get": (): heap.Ref<boolean> => { 8 if (WEBEXT?.sharedStoragePrivate && "get" in WEBEXT?.sharedStoragePrivate) { 9 return A.H.TRUE; 10 } 11 return A.H.FALSE; 12 }, 13 "func_Get": (fn: Pointer): void => { 14 A.store.Ref(fn, WEBEXT.sharedStoragePrivate.get); 15 }, 16 "call_Get": (retPtr: Pointer): void => { 17 const _ret = WEBEXT.sharedStoragePrivate.get(); 18 A.store.Ref(retPtr, _ret); 19 }, 20 "try_Get": (retPtr: Pointer, errPtr: Pointer): heap.Ref<boolean> => { 21 try { 22 const _ret = WEBEXT.sharedStoragePrivate.get(); 23 A.store.Ref(retPtr, _ret); 24 return A.H.TRUE; 25 } catch (err: any) { 26 A.store.Ref(errPtr, err); 27 return A.H.FALSE; 28 } 29 }, 30 "has_Remove": (): heap.Ref<boolean> => { 31 if (WEBEXT?.sharedStoragePrivate && "remove" in WEBEXT?.sharedStoragePrivate) { 32 return A.H.TRUE; 33 } 34 return A.H.FALSE; 35 }, 36 "func_Remove": (fn: Pointer): void => { 37 A.store.Ref(fn, WEBEXT.sharedStoragePrivate.remove); 38 }, 39 "call_Remove": (retPtr: Pointer, keys: heap.Ref<object>): void => { 40 const _ret = WEBEXT.sharedStoragePrivate.remove(A.H.get<object>(keys)); 41 A.store.Ref(retPtr, _ret); 42 }, 43 "try_Remove": (retPtr: Pointer, errPtr: Pointer, keys: heap.Ref<object>): heap.Ref<boolean> => { 44 try { 45 const _ret = WEBEXT.sharedStoragePrivate.remove(A.H.get<object>(keys)); 46 A.store.Ref(retPtr, _ret); 47 return A.H.TRUE; 48 } catch (err: any) { 49 A.store.Ref(errPtr, err); 50 return A.H.FALSE; 51 } 52 }, 53 "has_Set": (): heap.Ref<boolean> => { 54 if (WEBEXT?.sharedStoragePrivate && "set" in WEBEXT?.sharedStoragePrivate) { 55 return A.H.TRUE; 56 } 57 return A.H.FALSE; 58 }, 59 "func_Set": (fn: Pointer): void => { 60 A.store.Ref(fn, WEBEXT.sharedStoragePrivate.set); 61 }, 62 "call_Set": (retPtr: Pointer, items: heap.Ref<object>): void => { 63 const _ret = WEBEXT.sharedStoragePrivate.set(A.H.get<object>(items)); 64 A.store.Ref(retPtr, _ret); 65 }, 66 "try_Set": (retPtr: Pointer, errPtr: Pointer, items: heap.Ref<object>): heap.Ref<boolean> => { 67 try { 68 const _ret = WEBEXT.sharedStoragePrivate.set(A.H.get<object>(items)); 69 A.store.Ref(retPtr, _ret); 70 return A.H.TRUE; 71 } catch (err: any) { 72 A.store.Ref(errPtr, err); 73 return A.H.FALSE; 74 } 75 }, 76 }; 77 });