Browse Source

Helpers: Add logAdapter

Danilo Bargen 7 years ago
parent
commit
7c8211ecc0
4 changed files with 17 additions and 6 deletions
  1. 2 2
      src/directives/message_media.ts
  2. 2 2
      src/filters.ts
  3. 11 0
      src/helpers.ts
  4. 2 2
      src/partials/messenger.ts

+ 2 - 2
src/directives/message_media.ts

@@ -15,7 +15,7 @@
  * along with Threema Web. If not, see <http://www.gnu.org/licenses/>.
  */
 
-import {bufferToUrl} from '../helpers';
+import {bufferToUrl, logAdapter} from '../helpers';
 import {MediaboxService} from '../services/mediabox';
 import {MessageService} from '../services/message';
 import {WebClientService} from '../services/webclient';
@@ -77,7 +77,7 @@ export default [
                         thumbnailPreviewUri = bufferToUrl(
                             (this.message as threema.Message).thumbnail.preview,
                             webClientService.appCapabilities.imageFormat.thumbnail,
-                            (msg: string) => $log.warn(this.logTag, msg),
+                            logAdapter($log.warn, this.logTag),
                         );
                     }
                     return thumbnailPreviewUri;

+ 2 - 2
src/filters.ts

@@ -15,7 +15,7 @@
  * along with Threema Web. If not, see <http://www.gnu.org/licenses/>.
  */
 
-import {bufferToUrl, escapeRegExp, filter} from './helpers';
+import {bufferToUrl, escapeRegExp, filter, logAdapter} from './helpers';
 import {MimeService} from './services/mime';
 import {NotificationService} from './services/notification';
 import {WebClientService} from './services/webclient';
@@ -258,7 +258,7 @@ angular.module('3ema.filters', [])
             $log.error(logTag, 'Could not apply bufferToUrl filter: buffer is', buffer);
             return '';
         }
-        const uri = bufferToUrl(buffer, mimeType, (msg: string) => $log.warn(logTag, msg));
+        const uri = bufferToUrl(buffer, mimeType, logAdapter($log.warn, logTag));
         if (trust) {
             return $sce.trustAsResourceUrl(uri);
         } else {

+ 11 - 0
src/helpers.ts

@@ -312,3 +312,14 @@ export function bufferToUrl(buffer: ArrayBuffer, mimeType: string, logWarning: (
     }
     return 'data:' + mimeType + ';base64,' + btoa(binary);
 }
+
+/**
+ * Adapter for creating a logging function.
+ *
+ * Example usage:
+ *
+ * const logWarning = logAdapter($log.warn, '[AvatarService]');
+ */
+export function logAdapter(logFunc: (...msg: string[]) => void, logTag: string): ((msg: string) => void) {
+    return (msg: string) => logFunc(logTag, msg);
+}

+ 2 - 2
src/partials/messenger.ts

@@ -16,7 +16,7 @@
  */
 
 import {ContactControllerModel} from '../controller_model/contact';
-import {bufferToUrl, supportsPassive, throttle, u8aToHex} from '../helpers';
+import {bufferToUrl, logAdapter, supportsPassive, throttle, u8aToHex} from '../helpers';
 import {ContactService} from '../services/contact';
 import {ControllerService} from '../services/controller';
 import {ControllerModelService} from '../services/controller_model';
@@ -94,7 +94,7 @@ class SendFileController extends DialogController {
         this.previewDataUrl = bufferToUrl(
             this.preview.data,
             this.preview.fileType,
-            (msg) => $log.warn(this.logTag, msg),
+            logAdapter($log.warn, this.logTag),
         );
     }