gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-wallet-core] branch master updated: use settimeout and setinterva


From: gnunet
Subject: [taler-wallet-core] branch master updated: use settimeout and setinterval in serviceWorker
Date: Thu, 28 Apr 2022 00:05:50 +0200

This is an automated email from the git hooks/post-receive script.

sebasjm pushed a commit to branch master
in repository wallet-core.

The following commit(s) were added to refs/heads/master by this push:
     new 451c9884 use settimeout and setinterval in serviceWorker
451c9884 is described below

commit 451c9884dcd20e7e886ed32e5ef93913d29e36ff
Author: Sebastian <sebasjm@gmail.com>
AuthorDate: Wed Apr 27 19:05:42 2022 -0300

    use settimeout and setinterval in serviceWorker
---
 .../src/serviceWorkerTimerAPI.ts                   | 58 ++++++++--------------
 1 file changed, 20 insertions(+), 38 deletions(-)

diff --git a/packages/taler-wallet-webextension/src/serviceWorkerTimerAPI.ts 
b/packages/taler-wallet-webextension/src/serviceWorkerTimerAPI.ts
index e88da680..15614ed1 100644
--- a/packages/taler-wallet-webextension/src/serviceWorkerTimerAPI.ts
+++ b/packages/taler-wallet-webextension/src/serviceWorkerTimerAPI.ts
@@ -18,71 +18,53 @@
  * Imports.
  */
 import { Logger } from "@gnu-taler/taler-util";
-import { TimerAPI, TimerHandle } from "@gnu-taler/taler-wallet-core";
+import { timer, TimerAPI, TimerHandle } from "@gnu-taler/taler-wallet-core";
 
 
-const nullTimerHandle = {
-  clear() {
-    // do nothing
-    return;
-  },
-  unref() {
-    // do nothing
-    return;
-  },
-};
-
 const logger = new Logger("ServiceWorkerTimerGroup.ts");
+
 /**
  * Implementation of [[TimerAPI]] using alarm API
  */
 export class ServiceWorkerTimerAPI implements TimerAPI {
 
+
   /**
    * Call a function every time the delay given in milliseconds passes.
    */
-  every(delayMs: number, callback: () => void): TimerHandle {
+  every(delayMs: number, callback: VoidFunction): TimerHandle {
     const seconds = delayMs / 1000;
     const periodInMinutes = Math.round(seconds < 61 ? 1 : seconds / 60);
 
-    logger.trace(`creating a alarm every ${periodInMinutes} ${delayMs}`)
-    chrome.alarms.create("wallet-worker", { periodInMinutes })
-    chrome.alarms.onAlarm.addListener((a) => {
-      logger.trace(`alarm called, every: ${a.name}`)
-      callback()
-    })
+    logger.info(`creating a alarm every ${periodInMinutes} min, intended delay 
was ${delayMs}`)
+    // chrome.alarms.create("wallet-worker", { periodInMinutes })
+    // chrome.alarms.onAlarm.addListener((a) => {
+    //   logger.info(`alarm called, every: ${a.name}`)
+    //   callback()
+    // })
 
-    return new AlarmHandle();
+    const p = timer.every(delayMs, callback)
+    return p;
   }
 
   /**
    * Call a function after the delay given in milliseconds passes.
    */
-  after(delayMs: number, callback: () => void): TimerHandle {
+  after(delayMs: number, callback: VoidFunction): TimerHandle {
     const seconds = delayMs / 1000;
     const delayInMinutes = Math.round(seconds < 61 ? 1 : seconds / 60);
 
-    logger.trace(`creating a alarm after ${delayInMinutes} ${delayMs}`)
+    logger.info(`creating a alarm after ${delayInMinutes} min, intended delay 
was ${delayMs}`)
     chrome.alarms.create("wallet-worker", { delayInMinutes })
-    chrome.alarms.onAlarm.addListener((a) => {
-      logger.trace(`alarm called, after: ${a.name}`)
-      callback();
-    })
-    return new AlarmHandle();
-  }
+    // chrome.alarms.onAlarm.addListener((a) => {
+    //   logger.info(`alarm called, after: ${a.name}`)
+    //   callback();
+    // })
 
-}
 
-class AlarmHandle implements TimerHandle {
+    const p = timer.after(delayMs, callback);
 
-  clear(): void {
-    chrome.alarms.clear("wallet-worker", (result) => {
-      logger.info(`Alarm 'wallet-worker' was cleared: ${result}`)
-    })
-    return;
-  }
-  unref(): void {
-    return;
+    return p
   }
 
 }

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]