Nth Permutation Mathematics
Miss any of our Open RFC calls?Watch the recordings here! »

applescript-promise

0.0.6 • Public • Published

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

  • Mac (or Hackintosh) running OS X (tested with Sierra)
  • NodeJS (v4.4.7 or newer)

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.

Install

npm i applescript-promise

DownloadsWeekly Downloads

6

Version

0.0.6

License

MIT

Last publish

Collaborators

  • avatar