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  });