:lipstick: CoffeeScript is cute.
authorCheng Zhao <zcbenz@gmail.com>
Mon, 23 Sep 2013 08:51:00 +0000 (16:51 +0800)
committerCheng Zhao <zcbenz@gmail.com>
Mon, 23 Sep 2013 08:51:00 +0000 (16:51 +0800)
browser/api/lib/dialog.coffee

index 760d633..69713ab 100644 (file)
@@ -8,54 +8,56 @@ messageBoxTypes = ['none', 'info', 'warning']
 
 module.exports =
   showOpenDialog: (window, options, callback) ->
-    if window? and window.constructor isnt BrowserWindow
+    unless window?.constructor is BrowserWindow
       # Shift.
       callback = options
       options = window
       window = null
 
-    options = title: 'Open', properties: ['openFile'] unless options?
-    options.properties = options.properties ? ['openFile']
+    options ?= title: 'Open', properties: ['openFile']
+    options.properties ?= ['openFile']
     throw new TypeError('Properties need to be array') unless Array.isArray options.properties
 
     properties = 0
     for prop, value of fileDialogProperties
       properties |= value if prop in options.properties
 
-    options.title = options.title ? ''
-    options.defaultPath = options.defaultPath ? ''
+    options.title ?= ''
+    options.defaultPath ?= ''
 
-    binding.showOpenDialog options.title,
-                           options.defaultPath,
+    binding.showOpenDialog String(options.title),
+                           String(options.defaultPath),
                            properties,
                            window
 
   showSaveDialog: (window, options) ->
     throw new TypeError('Invalid window') unless window?.constructor is BrowserWindow
-    options = title: 'Save' unless options?
 
-    options.title = options.title ? ''
-    options.defaultPath = options.defaultPath ? ''
+    options ?= title: 'Save'
+    options.title ?= ''
+    options.defaultPath ?= ''
 
-    binding.showSaveDialog window, options.title, options.defaultPath
+    binding.showSaveDialog window,
+                           String(options.title),
+                           String(options.defaultPath)
 
   showMessageBox: (window, options, callback) ->
-    if window? and window.constructor isnt BrowserWindow
+    unless window?.constructor is BrowserWindow
       # Shift.
       callback = options
       options = window
       window = null
 
-    options = type: 'none' unless options?
-    options.type = options.type ? 'none'
+    options ?= type: 'none'
+    options.type ?= 'none'
     options.type = messageBoxTypes.indexOf options.type
     throw new TypeError('Invalid message box type') unless options.type > -1
 
     throw new TypeError('Buttons need to be array') unless Array.isArray options.buttons
 
-    options.title = options.title ? ''
-    options.message = options.message ? ''
-    options.detail = options.detail ? ''
+    options.title ?= ''
+    options.message ?= ''
+    options.detail ?= ''
 
     binding.showMessageBox options.type,
                            options.buttons,