applescript-promise
v0.0.6
Published
Easily execute arbitrary AppleScript code on OS X through NodeJS with Promises.
Downloads
12
Maintainers
Readme
node-applescript-promise
A high-level way to execute AppleScript code through NodeJS and retrieve
the result as a native JavaScript object. Underneath the hood, this
module is just a simple wrapper around the OS X osascript
command.
Why?
AppleScripts are the only way to communicate and interact with certain external OS X processes, for example iTunes.
Easy Install
yarn add applescript-promise
Requirements
Usage
The node-applescript-promise
module provides execString
and execFile
functions
to easily execute AppleScript commands and buffer the output into a calback.
import applescript from 'applescript';
// Very basic AppleScript command. Returns the song name of each
// currently selected track in iTunes as an 'Array' of 'String's.
const script = 'tell application "iTunes" to get name of selection';
applescript.execString(script)
.then((tracks) => {
tracks.forEach(songName => console.log(songName);
})
.catch((error) => {
// Something went wrong
console.log('error:', error);
});
execFile
works the exact same way, except you pass the path of the AppleScript
(*.applescript
) file as the first argument instead of the command itself, and you
may pass an optional Array
of strings as a second argument to send to the applescript file.
License
The node-applescript-promise
module is licensed under the MIT license.
This module is a merely wrapper over node-applescript.