Move auto-updater-win to ES6
authorSamuel Attard <samuel.r.attard@gmail.com>
Tue, 26 Jul 2016 01:40:55 +0000 (11:40 +1000)
committerSamuel Attard <samuel.r.attard@gmail.com>
Tue, 26 Jul 2016 01:40:55 +0000 (11:40 +1000)
lib/browser/api/auto-updater/auto-updater-win.js

index 564e2ff..a010f76 100644 (file)
@@ -1,71 +1,66 @@
 'use strict'
 
-const app = require('electron').app
-const EventEmitter = require('events').EventEmitter
+const {app} = require('electron')
+const {EventEmitter} = require('events')
 const squirrelUpdate = require('./squirrel-update-win')
-const util = require('util')
 
-function AutoUpdater () {
-  EventEmitter.call(this)
-}
-
-util.inherits(AutoUpdater, EventEmitter)
-
-AutoUpdater.prototype.quitAndInstall = function () {
-  if (!this.updateAvailable) {
-    return this.emitError('No update available, can\'t quit and install')
+class AutoUpdater extends EventEmitter {
+  quitAndInstall () {
+    if (!this.updateAvailable) {
+      return this.emitError('No update available, can\'t quit and install')
+    }
+    squirrelUpdate.processStart()
+    return app.quit()
   }
-  squirrelUpdate.processStart()
-  return app.quit()
-}
-
-AutoUpdater.prototype.getFeedURL = function () {
-  return this.updateURL
-}
 
-AutoUpdater.prototype.setFeedURL = function (updateURL, headers) {
-  this.updateURL = updateURL
-}
-
-AutoUpdater.prototype.checkForUpdates = function () {
-  if (!this.updateURL) {
-    return this.emitError('Update URL is not set')
+  getFeedURL () {
+    return this.updateURL
   }
-  if (!squirrelUpdate.supported()) {
-    return this.emitError('Can not find Squirrel')
+
+  setFeedURL (updateURL, headers) {
+    this.updateURL = updateURL
   }
-  this.emit('checking-for-update')
-  squirrelUpdate.download(this.updateURL, (error, update) => {
-    if (error != null) {
-      return this.emitError(error)
+
+  checkForUpdates () {
+    if (!this.updateURL) {
+      return this.emitError('Update URL is not set')
     }
-    if (update == null) {
-      this.updateAvailable = false
-      return this.emit('update-not-available')
+    if (!squirrelUpdate.supported()) {
+      return this.emitError('Can not find Squirrel')
     }
-    this.updateAvailable = true
-    this.emit('update-available')
-    squirrelUpdate.update(this.updateURL, (error) => {
-      var date, releaseNotes, version
+    this.emit('checking-for-update')
+    squirrelUpdate.download(this.updateURL, (error, update) => {
       if (error != null) {
         return this.emitError(error)
       }
-      releaseNotes = update.releaseNotes
-      version = update.version
+      if (update == null) {
+        this.updateAvailable = false
+        return this.emit('update-not-available')
+      }
+      this.updateAvailable = true
+      this.emit('update-available')
+      squirrelUpdate.update(this.updateURL, (error) => {
+        var date, releaseNotes, version
+        if (error != null) {
+          return this.emitError(error)
+        }
+        releaseNotes = update.releaseNotes
+        version = update.version
 
-      // Following information is not available on Windows, so fake them.
-      date = new Date()
-      this.emit('update-downloaded', {}, releaseNotes, version, date, this.updateURL, () => {
-        this.quitAndInstall()
+        // Following information is not available on Windows, so fake them.
+        date = new Date()
+        this.emit('update-downloaded', {}, releaseNotes, version, date, this.updateURL, () => {
+          this.quitAndInstall()
+        })
       })
     })
-  })
-}
+  }
 
-// Private: Emit both error object and message, this is to keep compatibility
-// with Old APIs.
-AutoUpdater.prototype.emitError = function (message) {
-  return this.emit('error', new Error(message), message)
+  // Private: Emit both error object and message, this is to keep compatibility
+  // with Old APIs.
+  emitError (message) {
+    return this.emit('error', new Error(message), message)
+  }
 }
 
 module.exports = new AutoUpdater()