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,