github.com/primecitizens/pcz/std@v0.2.1/plat/js/webext/activitylogprivate/bindings/ffi_bindings.ts (about)

     1  import { importModule, Application, heap, Pointer } from "@ffi";
     2  
     3  importModule("plat/js/webext/activitylogprivate", (A: Application) => {
     4    const WEBEXT = typeof globalThis.browser === "undefined" ? globalThis.chrome : globalThis.browser;
     5  
     6    return {
     7      "constof_ExtensionActivityType": (ref: heap.Ref<string>): number => {
     8        const idx = ["api_call", "api_event", "content_script", "dom_access", "dom_event", "web_request"].indexOf(
     9          A.H.get(ref)
    10        );
    11        return idx < 0 ? 0 : idx + 1;
    12      },
    13      "constof_ExtensionActivityDomVerb": (ref: heap.Ref<string>): number => {
    14        const idx = ["getter", "setter", "method", "inserted", "xhr", "webrequest", "modified"].indexOf(A.H.get(ref));
    15        return idx < 0 ? 0 : idx + 1;
    16      },
    17  
    18      "store_ExtensionActivityFieldOther": (ptr: Pointer, ref: heap.Ref<any>) => {
    19        const x = A.H.get<any>(ref);
    20  
    21        if (typeof x === "undefined") {
    22          A.store.Bool(ptr + 17, false);
    23          A.store.Enum(ptr + 0, -1);
    24          A.store.Ref(ptr + 4, undefined);
    25          A.store.Bool(ptr + 16, false);
    26          A.store.Bool(ptr + 8, false);
    27          A.store.Ref(ptr + 12, undefined);
    28        } else {
    29          A.store.Bool(ptr + 17, true);
    30          A.store.Enum(
    31            ptr + 0,
    32            ["getter", "setter", "method", "inserted", "xhr", "webrequest", "modified"].indexOf(x["domVerb"] as string)
    33          );
    34          A.store.Ref(ptr + 4, x["extra"]);
    35          A.store.Bool(ptr + 16, "prerender" in x ? true : false);
    36          A.store.Bool(ptr + 8, x["prerender"] ? true : false);
    37          A.store.Ref(ptr + 12, x["webRequest"]);
    38        }
    39      },
    40      "load_ExtensionActivityFieldOther": (
    41        ptr: Pointer,
    42        create: heap.Ref<boolean>,
    43        ref: heap.Ref<any>
    44      ): heap.Ref<any> => {
    45        const x = create === A.H.TRUE ? {} : A.H.get<any>(ref);
    46  
    47        x["domVerb"] = A.load.Enum(ptr + 0, ["getter", "setter", "method", "inserted", "xhr", "webrequest", "modified"]);
    48        x["extra"] = A.load.Ref(ptr + 4, undefined);
    49        if (A.load.Bool(ptr + 16)) {
    50          x["prerender"] = A.load.Bool(ptr + 8);
    51        } else {
    52          delete x["prerender"];
    53        }
    54        x["webRequest"] = A.load.Ref(ptr + 12, undefined);
    55        return create === A.H.TRUE ? A.H.push(x) : ref;
    56      },
    57  
    58      "store_ExtensionActivity": (ptr: Pointer, ref: heap.Ref<any>) => {
    59        const x = A.H.get<any>(ref);
    60  
    61        if (typeof x === "undefined") {
    62          A.store.Bool(ptr + 74, false);
    63          A.store.Ref(ptr + 0, undefined);
    64          A.store.Enum(ptr + 4, -1);
    65          A.store.Ref(ptr + 8, undefined);
    66          A.store.Ref(ptr + 12, undefined);
    67          A.store.Ref(ptr + 16, undefined);
    68          A.store.Bool(ptr + 72, false);
    69          A.store.Float64(ptr + 24, 0);
    70          A.store.Ref(ptr + 32, undefined);
    71  
    72          A.store.Bool(ptr + 36 + 17, false);
    73          A.store.Enum(ptr + 36 + 0, -1);
    74          A.store.Ref(ptr + 36 + 4, undefined);
    75          A.store.Bool(ptr + 36 + 16, false);
    76          A.store.Bool(ptr + 36 + 8, false);
    77          A.store.Ref(ptr + 36 + 12, undefined);
    78          A.store.Ref(ptr + 56, undefined);
    79          A.store.Ref(ptr + 60, undefined);
    80          A.store.Bool(ptr + 73, false);
    81          A.store.Float64(ptr + 64, 0);
    82        } else {
    83          A.store.Bool(ptr + 74, true);
    84          A.store.Ref(ptr + 0, x["activityId"]);
    85          A.store.Enum(
    86            ptr + 4,
    87            ["api_call", "api_event", "content_script", "dom_access", "dom_event", "web_request"].indexOf(
    88              x["activityType"] as string
    89            )
    90          );
    91          A.store.Ref(ptr + 8, x["apiCall"]);
    92          A.store.Ref(ptr + 12, x["argUrl"]);
    93          A.store.Ref(ptr + 16, x["args"]);
    94          A.store.Bool(ptr + 72, "count" in x ? true : false);
    95          A.store.Float64(ptr + 24, x["count"] === undefined ? 0 : (x["count"] as number));
    96          A.store.Ref(ptr + 32, x["extensionId"]);
    97  
    98          if (typeof x["other"] === "undefined") {
    99            A.store.Bool(ptr + 36 + 17, false);
   100            A.store.Enum(ptr + 36 + 0, -1);
   101            A.store.Ref(ptr + 36 + 4, undefined);
   102            A.store.Bool(ptr + 36 + 16, false);
   103            A.store.Bool(ptr + 36 + 8, false);
   104            A.store.Ref(ptr + 36 + 12, undefined);
   105          } else {
   106            A.store.Bool(ptr + 36 + 17, true);
   107            A.store.Enum(
   108              ptr + 36 + 0,
   109              ["getter", "setter", "method", "inserted", "xhr", "webrequest", "modified"].indexOf(
   110                x["other"]["domVerb"] as string
   111              )
   112            );
   113            A.store.Ref(ptr + 36 + 4, x["other"]["extra"]);
   114            A.store.Bool(ptr + 36 + 16, "prerender" in x["other"] ? true : false);
   115            A.store.Bool(ptr + 36 + 8, x["other"]["prerender"] ? true : false);
   116            A.store.Ref(ptr + 36 + 12, x["other"]["webRequest"]);
   117          }
   118          A.store.Ref(ptr + 56, x["pageTitle"]);
   119          A.store.Ref(ptr + 60, x["pageUrl"]);
   120          A.store.Bool(ptr + 73, "time" in x ? true : false);
   121          A.store.Float64(ptr + 64, x["time"] === undefined ? 0 : (x["time"] as number));
   122        }
   123      },
   124      "load_ExtensionActivity": (ptr: Pointer, create: heap.Ref<boolean>, ref: heap.Ref<any>): heap.Ref<any> => {
   125        const x = create === A.H.TRUE ? {} : A.H.get<any>(ref);
   126  
   127        x["activityId"] = A.load.Ref(ptr + 0, undefined);
   128        x["activityType"] = A.load.Enum(ptr + 4, [
   129          "api_call",
   130          "api_event",
   131          "content_script",
   132          "dom_access",
   133          "dom_event",
   134          "web_request",
   135        ]);
   136        x["apiCall"] = A.load.Ref(ptr + 8, undefined);
   137        x["argUrl"] = A.load.Ref(ptr + 12, undefined);
   138        x["args"] = A.load.Ref(ptr + 16, undefined);
   139        if (A.load.Bool(ptr + 72)) {
   140          x["count"] = A.load.Float64(ptr + 24);
   141        } else {
   142          delete x["count"];
   143        }
   144        x["extensionId"] = A.load.Ref(ptr + 32, undefined);
   145        if (A.load.Bool(ptr + 36 + 17)) {
   146          x["other"] = {};
   147          x["other"]["domVerb"] = A.load.Enum(ptr + 36 + 0, [
   148            "getter",
   149            "setter",
   150            "method",
   151            "inserted",
   152            "xhr",
   153            "webrequest",
   154            "modified",
   155          ]);
   156          x["other"]["extra"] = A.load.Ref(ptr + 36 + 4, undefined);
   157          if (A.load.Bool(ptr + 36 + 16)) {
   158            x["other"]["prerender"] = A.load.Bool(ptr + 36 + 8);
   159          } else {
   160            delete x["other"]["prerender"];
   161          }
   162          x["other"]["webRequest"] = A.load.Ref(ptr + 36 + 12, undefined);
   163        } else {
   164          delete x["other"];
   165        }
   166        x["pageTitle"] = A.load.Ref(ptr + 56, undefined);
   167        x["pageUrl"] = A.load.Ref(ptr + 60, undefined);
   168        if (A.load.Bool(ptr + 73)) {
   169          x["time"] = A.load.Float64(ptr + 64);
   170        } else {
   171          delete x["time"];
   172        }
   173        return create === A.H.TRUE ? A.H.push(x) : ref;
   174      },
   175  
   176      "store_ActivityResultSet": (ptr: Pointer, ref: heap.Ref<any>) => {
   177        const x = A.H.get<any>(ref);
   178  
   179        if (typeof x === "undefined") {
   180          A.store.Bool(ptr + 4, false);
   181          A.store.Ref(ptr + 0, undefined);
   182        } else {
   183          A.store.Bool(ptr + 4, true);
   184          A.store.Ref(ptr + 0, x["activities"]);
   185        }
   186      },
   187      "load_ActivityResultSet": (ptr: Pointer, create: heap.Ref<boolean>, ref: heap.Ref<any>): heap.Ref<any> => {
   188        const x = create === A.H.TRUE ? {} : A.H.get<any>(ref);
   189  
   190        x["activities"] = A.load.Ref(ptr + 0, undefined);
   191        return create === A.H.TRUE ? A.H.push(x) : ref;
   192      },
   193      "constof_ExtensionActivityFilter": (ref: heap.Ref<string>): number => {
   194        const idx = ["api_call", "api_event", "content_script", "dom_access", "dom_event", "web_request", "any"].indexOf(
   195          A.H.get(ref)
   196        );
   197        return idx < 0 ? 0 : idx + 1;
   198      },
   199  
   200      "store_Filter": (ptr: Pointer, ref: heap.Ref<any>) => {
   201        const x = A.H.get<any>(ref);
   202  
   203        if (typeof x === "undefined") {
   204          A.store.Bool(ptr + 33, false);
   205          A.store.Enum(ptr + 0, -1);
   206          A.store.Ref(ptr + 4, undefined);
   207          A.store.Ref(ptr + 8, undefined);
   208          A.store.Bool(ptr + 32, false);
   209          A.store.Int64(ptr + 16, 0);
   210          A.store.Ref(ptr + 24, undefined);
   211          A.store.Ref(ptr + 28, undefined);
   212        } else {
   213          A.store.Bool(ptr + 33, true);
   214          A.store.Enum(
   215            ptr + 0,
   216            ["api_call", "api_event", "content_script", "dom_access", "dom_event", "web_request", "any"].indexOf(
   217              x["activityType"] as string
   218            )
   219          );
   220          A.store.Ref(ptr + 4, x["apiCall"]);
   221          A.store.Ref(ptr + 8, x["argUrl"]);
   222          A.store.Bool(ptr + 32, "daysAgo" in x ? true : false);
   223          A.store.Int64(ptr + 16, x["daysAgo"] === undefined ? 0 : (x["daysAgo"] as number));
   224          A.store.Ref(ptr + 24, x["extensionId"]);
   225          A.store.Ref(ptr + 28, x["pageUrl"]);
   226        }
   227      },
   228      "load_Filter": (ptr: Pointer, create: heap.Ref<boolean>, ref: heap.Ref<any>): heap.Ref<any> => {
   229        const x = create === A.H.TRUE ? {} : A.H.get<any>(ref);
   230  
   231        x["activityType"] = A.load.Enum(ptr + 0, [
   232          "api_call",
   233          "api_event",
   234          "content_script",
   235          "dom_access",
   236          "dom_event",
   237          "web_request",
   238          "any",
   239        ]);
   240        x["apiCall"] = A.load.Ref(ptr + 4, undefined);
   241        x["argUrl"] = A.load.Ref(ptr + 8, undefined);
   242        if (A.load.Bool(ptr + 32)) {
   243          x["daysAgo"] = A.load.Int64(ptr + 16);
   244        } else {
   245          delete x["daysAgo"];
   246        }
   247        x["extensionId"] = A.load.Ref(ptr + 24, undefined);
   248        x["pageUrl"] = A.load.Ref(ptr + 28, undefined);
   249        return create === A.H.TRUE ? A.H.push(x) : ref;
   250      },
   251      "has_DeleteActivities": (): heap.Ref<boolean> => {
   252        if (WEBEXT?.activityLogPrivate && "deleteActivities" in WEBEXT?.activityLogPrivate) {
   253          return A.H.TRUE;
   254        }
   255        return A.H.FALSE;
   256      },
   257      "func_DeleteActivities": (fn: Pointer): void => {
   258        A.store.Ref(fn, WEBEXT.activityLogPrivate.deleteActivities);
   259      },
   260      "call_DeleteActivities": (retPtr: Pointer, activityIds: heap.Ref<object>): void => {
   261        const _ret = WEBEXT.activityLogPrivate.deleteActivities(A.H.get<object>(activityIds));
   262        A.store.Ref(retPtr, _ret);
   263      },
   264      "try_DeleteActivities": (retPtr: Pointer, errPtr: Pointer, activityIds: heap.Ref<object>): heap.Ref<boolean> => {
   265        try {
   266          const _ret = WEBEXT.activityLogPrivate.deleteActivities(A.H.get<object>(activityIds));
   267          A.store.Ref(retPtr, _ret);
   268          return A.H.TRUE;
   269        } catch (err: any) {
   270          A.store.Ref(errPtr, err);
   271          return A.H.FALSE;
   272        }
   273      },
   274      "has_DeleteActivitiesByExtension": (): heap.Ref<boolean> => {
   275        if (WEBEXT?.activityLogPrivate && "deleteActivitiesByExtension" in WEBEXT?.activityLogPrivate) {
   276          return A.H.TRUE;
   277        }
   278        return A.H.FALSE;
   279      },
   280      "func_DeleteActivitiesByExtension": (fn: Pointer): void => {
   281        A.store.Ref(fn, WEBEXT.activityLogPrivate.deleteActivitiesByExtension);
   282      },
   283      "call_DeleteActivitiesByExtension": (retPtr: Pointer, extensionId: heap.Ref<object>): void => {
   284        const _ret = WEBEXT.activityLogPrivate.deleteActivitiesByExtension(A.H.get<object>(extensionId));
   285        A.store.Ref(retPtr, _ret);
   286      },
   287      "try_DeleteActivitiesByExtension": (
   288        retPtr: Pointer,
   289        errPtr: Pointer,
   290        extensionId: heap.Ref<object>
   291      ): heap.Ref<boolean> => {
   292        try {
   293          const _ret = WEBEXT.activityLogPrivate.deleteActivitiesByExtension(A.H.get<object>(extensionId));
   294          A.store.Ref(retPtr, _ret);
   295          return A.H.TRUE;
   296        } catch (err: any) {
   297          A.store.Ref(errPtr, err);
   298          return A.H.FALSE;
   299        }
   300      },
   301      "has_DeleteDatabase": (): heap.Ref<boolean> => {
   302        if (WEBEXT?.activityLogPrivate && "deleteDatabase" in WEBEXT?.activityLogPrivate) {
   303          return A.H.TRUE;
   304        }
   305        return A.H.FALSE;
   306      },
   307      "func_DeleteDatabase": (fn: Pointer): void => {
   308        A.store.Ref(fn, WEBEXT.activityLogPrivate.deleteDatabase);
   309      },
   310      "call_DeleteDatabase": (retPtr: Pointer): void => {
   311        const _ret = WEBEXT.activityLogPrivate.deleteDatabase();
   312      },
   313      "try_DeleteDatabase": (retPtr: Pointer, errPtr: Pointer): heap.Ref<boolean> => {
   314        try {
   315          const _ret = WEBEXT.activityLogPrivate.deleteDatabase();
   316          return A.H.TRUE;
   317        } catch (err: any) {
   318          A.store.Ref(errPtr, err);
   319          return A.H.FALSE;
   320        }
   321      },
   322      "has_DeleteUrls": (): heap.Ref<boolean> => {
   323        if (WEBEXT?.activityLogPrivate && "deleteUrls" in WEBEXT?.activityLogPrivate) {
   324          return A.H.TRUE;
   325        }
   326        return A.H.FALSE;
   327      },
   328      "func_DeleteUrls": (fn: Pointer): void => {
   329        A.store.Ref(fn, WEBEXT.activityLogPrivate.deleteUrls);
   330      },
   331      "call_DeleteUrls": (retPtr: Pointer, urls: heap.Ref<object>): void => {
   332        const _ret = WEBEXT.activityLogPrivate.deleteUrls(A.H.get<object>(urls));
   333      },
   334      "try_DeleteUrls": (retPtr: Pointer, errPtr: Pointer, urls: heap.Ref<object>): heap.Ref<boolean> => {
   335        try {
   336          const _ret = WEBEXT.activityLogPrivate.deleteUrls(A.H.get<object>(urls));
   337          return A.H.TRUE;
   338        } catch (err: any) {
   339          A.store.Ref(errPtr, err);
   340          return A.H.FALSE;
   341        }
   342      },
   343      "has_GetExtensionActivities": (): heap.Ref<boolean> => {
   344        if (WEBEXT?.activityLogPrivate && "getExtensionActivities" in WEBEXT?.activityLogPrivate) {
   345          return A.H.TRUE;
   346        }
   347        return A.H.FALSE;
   348      },
   349      "func_GetExtensionActivities": (fn: Pointer): void => {
   350        A.store.Ref(fn, WEBEXT.activityLogPrivate.getExtensionActivities);
   351      },
   352      "call_GetExtensionActivities": (retPtr: Pointer, filter: Pointer): void => {
   353        const filter_ffi = {};
   354  
   355        filter_ffi["activityType"] = A.load.Enum(filter + 0, [
   356          "api_call",
   357          "api_event",
   358          "content_script",
   359          "dom_access",
   360          "dom_event",
   361          "web_request",
   362          "any",
   363        ]);
   364        filter_ffi["apiCall"] = A.load.Ref(filter + 4, undefined);
   365        filter_ffi["argUrl"] = A.load.Ref(filter + 8, undefined);
   366        if (A.load.Bool(filter + 32)) {
   367          filter_ffi["daysAgo"] = A.load.Int64(filter + 16);
   368        }
   369        filter_ffi["extensionId"] = A.load.Ref(filter + 24, undefined);
   370        filter_ffi["pageUrl"] = A.load.Ref(filter + 28, undefined);
   371  
   372        const _ret = WEBEXT.activityLogPrivate.getExtensionActivities(filter_ffi);
   373        A.store.Ref(retPtr, _ret);
   374      },
   375      "try_GetExtensionActivities": (retPtr: Pointer, errPtr: Pointer, filter: Pointer): heap.Ref<boolean> => {
   376        try {
   377          const filter_ffi = {};
   378  
   379          filter_ffi["activityType"] = A.load.Enum(filter + 0, [
   380            "api_call",
   381            "api_event",
   382            "content_script",
   383            "dom_access",
   384            "dom_event",
   385            "web_request",
   386            "any",
   387          ]);
   388          filter_ffi["apiCall"] = A.load.Ref(filter + 4, undefined);
   389          filter_ffi["argUrl"] = A.load.Ref(filter + 8, undefined);
   390          if (A.load.Bool(filter + 32)) {
   391            filter_ffi["daysAgo"] = A.load.Int64(filter + 16);
   392          }
   393          filter_ffi["extensionId"] = A.load.Ref(filter + 24, undefined);
   394          filter_ffi["pageUrl"] = A.load.Ref(filter + 28, undefined);
   395  
   396          const _ret = WEBEXT.activityLogPrivate.getExtensionActivities(filter_ffi);
   397          A.store.Ref(retPtr, _ret);
   398          return A.H.TRUE;
   399        } catch (err: any) {
   400          A.store.Ref(errPtr, err);
   401          return A.H.FALSE;
   402        }
   403      },
   404      "has_OnExtensionActivity": (): heap.Ref<boolean> => {
   405        if (
   406          WEBEXT?.activityLogPrivate?.onExtensionActivity &&
   407          "addListener" in WEBEXT?.activityLogPrivate?.onExtensionActivity
   408        ) {
   409          return A.H.TRUE;
   410        }
   411        return A.H.FALSE;
   412      },
   413      "func_OnExtensionActivity": (fn: Pointer): void => {
   414        A.store.Ref(fn, WEBEXT.activityLogPrivate.onExtensionActivity.addListener);
   415      },
   416      "call_OnExtensionActivity": (retPtr: Pointer, callback: heap.Ref<object>): void => {
   417        const _ret = WEBEXT.activityLogPrivate.onExtensionActivity.addListener(A.H.get<object>(callback));
   418      },
   419      "try_OnExtensionActivity": (retPtr: Pointer, errPtr: Pointer, callback: heap.Ref<object>): heap.Ref<boolean> => {
   420        try {
   421          const _ret = WEBEXT.activityLogPrivate.onExtensionActivity.addListener(A.H.get<object>(callback));
   422          return A.H.TRUE;
   423        } catch (err: any) {
   424          A.store.Ref(errPtr, err);
   425          return A.H.FALSE;
   426        }
   427      },
   428      "has_OffExtensionActivity": (): heap.Ref<boolean> => {
   429        if (
   430          WEBEXT?.activityLogPrivate?.onExtensionActivity &&
   431          "removeListener" in WEBEXT?.activityLogPrivate?.onExtensionActivity
   432        ) {
   433          return A.H.TRUE;
   434        }
   435        return A.H.FALSE;
   436      },
   437      "func_OffExtensionActivity": (fn: Pointer): void => {
   438        A.store.Ref(fn, WEBEXT.activityLogPrivate.onExtensionActivity.removeListener);
   439      },
   440      "call_OffExtensionActivity": (retPtr: Pointer, callback: heap.Ref<object>): void => {
   441        const _ret = WEBEXT.activityLogPrivate.onExtensionActivity.removeListener(A.H.get<object>(callback));
   442      },
   443      "try_OffExtensionActivity": (retPtr: Pointer, errPtr: Pointer, callback: heap.Ref<object>): heap.Ref<boolean> => {
   444        try {
   445          const _ret = WEBEXT.activityLogPrivate.onExtensionActivity.removeListener(A.H.get<object>(callback));
   446          return A.H.TRUE;
   447        } catch (err: any) {
   448          A.store.Ref(errPtr, err);
   449          return A.H.FALSE;
   450        }
   451      },
   452      "has_HasOnExtensionActivity": (): heap.Ref<boolean> => {
   453        if (
   454          WEBEXT?.activityLogPrivate?.onExtensionActivity &&
   455          "hasListener" in WEBEXT?.activityLogPrivate?.onExtensionActivity
   456        ) {
   457          return A.H.TRUE;
   458        }
   459        return A.H.FALSE;
   460      },
   461      "func_HasOnExtensionActivity": (fn: Pointer): void => {
   462        A.store.Ref(fn, WEBEXT.activityLogPrivate.onExtensionActivity.hasListener);
   463      },
   464      "call_HasOnExtensionActivity": (retPtr: Pointer, callback: heap.Ref<object>): void => {
   465        const _ret = WEBEXT.activityLogPrivate.onExtensionActivity.hasListener(A.H.get<object>(callback));
   466        A.store.Bool(retPtr, _ret);
   467      },
   468      "try_HasOnExtensionActivity": (retPtr: Pointer, errPtr: Pointer, callback: heap.Ref<object>): heap.Ref<boolean> => {
   469        try {
   470          const _ret = WEBEXT.activityLogPrivate.onExtensionActivity.hasListener(A.H.get<object>(callback));
   471          A.store.Bool(retPtr, _ret);
   472          return A.H.TRUE;
   473        } catch (err: any) {
   474          A.store.Ref(errPtr, err);
   475          return A.H.FALSE;
   476        }
   477      },
   478    };
   479  });