/
node-notifier-tests.ts
162 lines (124 loc) · 4.17 KB
/
node-notifier-tests.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
'use strict';
import notifier = require('node-notifier');
import * as path from 'path';
notifier.notify({
title: 'My awesome title',
message: 'Hello from node, Mr. User!',
icon: path.join(__dirname, 'coulson.jpg'), // absolute path (not balloons)
sound: true, // Only Notification Center or Windows Toasters
wait: true // wait with callback until user action is taken on notification
}, function (err: any, response: any) {
// response is response from notification
});
notifier.on('click', function (notifierObject: any, options: any) {
// Happens if `wait: true` and user clicks notification
});
notifier.on('timeout', function (notifierObject: any, options: any) {
// Happens if `wait: true` and notification closes
});
const options = { };
import NotificationCenter = require('node-notifier/notifiers/notificationcenter');
new NotificationCenter(options).notify();
import NotifySend = require('node-notifier/notifiers/notifysend');
new NotifySend(options).notify();
import WindowsToaster = require('node-notifier/notifiers/toaster');
new WindowsToaster(options).notify();
import Growl = require('node-notifier/notifiers/growl');
new Growl(options).notify();
import WindowsBalloon = require('node-notifier/notifiers/balloon');
new WindowsBalloon(options).notify();
var nn = require('node-notifier');
new nn.NotificationCenter(options).notify();
new nn.NotifySend(options).notify();
new nn.WindowsToaster(options).notify(options);
new nn.WindowsBalloon(options).notify(options);
new nn.Growl(options).notify(options);
//
// All notification options with their defaults:
//
var NotificationCenter2 = require('node-notifier').NotificationCenter;
var notifier2 = new NotificationCenter2({
withFallback: false, // use Growl if <= 10.8?
customPath: void 0 // Relative path if you want to use your fork of terminal-notifier
});
notifier2.notify({
'title': void 0,
'subtitle': void 0,
'message': void 0,
'sound': false, // Case Sensitive string of sound file (see below)
'icon': 'Terminal Icon', // Set icon? (Absolute path to image)
'contentImage': void 0, // Attach image? (Absolute path)
'open': void 0, // URL to open on click
'wait': false // if wait for notification to end
}, function(error: any, response: any) {
console.log(response);
});
//
// Usage WindowsToaster
//
var WindowsToaster2 = require('node-notifier').WindowsToaster;
var notifier3 = new WindowsToaster2({
withFallback: false, // Fallback to Growl or Balloons?
customPath: void 0 // Relative path if you want to use your fork of toast.exe
});
notifier3.notify({
title: void 0,
message: void 0,
icon: void 0, // absolute path to an icon
sound: false, // true | false.
wait: false, // if wait for notification to end
}, function(error: any, response: any) {
console.log(response);
});
//
// Usage Growl
//
var Growl2 = require('node-notifier').Growl;
import * as fs from 'fs';
var notifier4 = new Growl2({
name: 'Growl Name Used', // Defaults as 'Node'
host: 'localhost',
port: 23053
});
notifier4.notify({
title: 'Foo',
message: 'Hello World',
icon: fs.readFileSync(__dirname + "/coulson.jpg"),
wait: false, // if wait for user interaction
// and other growl options like sticky etc.
sticky: false,
label: void 0,
priority: void 0
});
//
// Usage WindowsBalloon
//
var WindowsBalloon2 = require('node-notifier').WindowsBalloon;
var notifier5 = new WindowsBalloon2({
withFallback: false, // Try Windows 8 and Growl first?
customPath: void 0 // Relative path if you want to use your fork of notifu
});
notifier5.notify({
title: void 0,
message: void 0,
sound: false, // true | false.
time: 5000, // How long to show balloons in ms
wait: false, // if wait for notification to end
}, function(error: any, response: any) {
console.log(response);
});
//
// Usage NotifySend
//
var NotifySend2 = require('node-notifier').NotifySend;
var notifier6 = new NotifySend2();
notifier6.notify({
title: 'Foo',
message: 'Hello World',
icon: __dirname + "/coulson.jpg",
// .. and other notify-send flags:
urgency: void 0,
time: void 0,
category: void 0,
hint: void 0,
});