@sebbo2002/node-pyatv 6.0.0-develop.2 → 6.0.0-develop.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin/check.cjs +10 -0
- package/dist/bin/check.cjs.map +1 -0
- package/dist/bin/check.d.ts +2 -1
- package/dist/bin/check.js +4 -45
- package/dist/bin/check.js.map +1 -1
- package/dist/chunk-TZSWUAOB.js +7 -0
- package/dist/chunk-TZSWUAOB.js.map +1 -0
- package/dist/lib/index.cjs +7 -0
- package/dist/lib/index.cjs.map +1 -0
- package/dist/lib/{device.d.ts → index.d.cts} +340 -4
- package/dist/lib/index.d.ts +806 -6
- package/dist/lib/index.js +1 -7
- package/dist/lib/index.js.map +1 -1
- package/package.json +18 -9
- package/.editorconfig +0 -12
- package/.eslintignore +0 -4
- package/.eslintrc +0 -60
- package/.mocharc.yml +0 -7
- package/.nycrc +0 -32
- package/CHANGELOG.md +0 -295
- package/check.sh +0 -5
- package/dist/examples/push.d.ts +0 -1
- package/dist/examples/push.js +0 -51
- package/dist/examples/push.js.map +0 -1
- package/dist/lib/device-event.d.ts +0 -44
- package/dist/lib/device-event.js +0 -47
- package/dist/lib/device-event.js.map +0 -1
- package/dist/lib/device-events.d.ts +0 -30
- package/dist/lib/device-events.js +0 -237
- package/dist/lib/device-events.js.map +0 -1
- package/dist/lib/device.js +0 -793
- package/dist/lib/device.js.map +0 -1
- package/dist/lib/fake-spawn.d.ts +0 -43
- package/dist/lib/fake-spawn.js +0 -85
- package/dist/lib/fake-spawn.js.map +0 -1
- package/dist/lib/instance.d.ts +0 -97
- package/dist/lib/instance.js +0 -208
- package/dist/lib/instance.js.map +0 -1
- package/dist/lib/tools.d.ts +0 -12
- package/dist/lib/tools.js +0 -319
- package/dist/lib/tools.js.map +0 -1
- package/dist/lib/types.d.ts +0 -204
- package/dist/lib/types.js +0 -108
- package/dist/lib/types.js.map +0 -1
- package/docs/coverage/base.css +0 -224
- package/docs/coverage/block-navigation.js +0 -87
- package/docs/coverage/cobertura-coverage.xml +0 -2889
- package/docs/coverage/device-event.ts.html +0 -256
- package/docs/coverage/device-events.ts.html +0 -970
- package/docs/coverage/device.ts.html +0 -2518
- package/docs/coverage/fake-spawn.ts.html +0 -448
- package/docs/coverage/favicon.png +0 -0
- package/docs/coverage/index.html +0 -221
- package/docs/coverage/index.ts.html +0 -172
- package/docs/coverage/instance.ts.html +0 -718
- package/docs/coverage/prettify.css +0 -1
- package/docs/coverage/prettify.js +0 -2
- package/docs/coverage/sort-arrow-sprite.png +0 -0
- package/docs/coverage/sorter.js +0 -196
- package/docs/coverage/tools.ts.html +0 -1222
- package/docs/coverage/types.ts.html +0 -775
- package/docs/reference/.nojekyll +0 -1
- package/docs/reference/assets/highlight.css +0 -99
- package/docs/reference/assets/main.js +0 -58
- package/docs/reference/assets/search.js +0 -1
- package/docs/reference/assets/style.css +0 -1280
- package/docs/reference/classes/NodePyATVDevice.html +0 -1266
- package/docs/reference/classes/NodePyATVDeviceEvent.html +0 -123
- package/docs/reference/classes/NodePyATVInstance.html +0 -240
- package/docs/reference/enums/NodePyATVDeviceState.html +0 -97
- package/docs/reference/enums/NodePyATVExecutableType.html +0 -69
- package/docs/reference/enums/NodePyATVKeys.html +0 -216
- package/docs/reference/enums/NodePyATVListenerState.html +0 -83
- package/docs/reference/enums/NodePyATVMediaType.html +0 -83
- package/docs/reference/enums/NodePyATVPowerState.html +0 -69
- package/docs/reference/enums/NodePyATVProtocol.html +0 -83
- package/docs/reference/enums/NodePyATVRepeatState.html +0 -76
- package/docs/reference/enums/NodePyATVShuffleState.html +0 -76
- package/docs/reference/index.html +0 -139
- package/docs/reference/interfaces/NodePyATVDeviceOptions.html +0 -232
- package/docs/reference/interfaces/NodePyATVFindAndInstanceOptions.html +0 -193
- package/docs/reference/interfaces/NodePyATVFindOptions.html +0 -124
- package/docs/reference/interfaces/NodePyATVGetStateOptions.html +0 -66
- package/docs/reference/interfaces/NodePyATVInstanceOptions.html +0 -113
- package/docs/reference/interfaces/NodePyATVService.html +0 -73
- package/docs/reference/interfaces/NodePyATVState.html +0 -164
- package/docs/reference/interfaces/NodePyATVVersionResponse.html +0 -73
- package/docs/reference/modules.html +0 -106
- package/docs/reference/types/NodePyATVEventValueType.html +0 -66
- package/docs/tests/assets/MaterialIcons-Regular.woff +0 -0
- package/docs/tests/assets/MaterialIcons-Regular.woff2 +0 -0
- package/docs/tests/assets/app.css +0 -14
- package/docs/tests/assets/app.js +0 -2
- package/docs/tests/assets/app.js.LICENSE.txt +0 -55
- package/docs/tests/assets/roboto-light-webfont.woff +0 -0
- package/docs/tests/assets/roboto-light-webfont.woff2 +0 -0
- package/docs/tests/assets/roboto-medium-webfont.woff +0 -0
- package/docs/tests/assets/roboto-medium-webfont.woff2 +0 -0
- package/docs/tests/assets/roboto-regular-webfont.woff +0 -0
- package/docs/tests/assets/roboto-regular-webfont.woff2 +0 -0
- package/docs/tests/index.html +0 -2
- package/docs/tests/mochawesome.json +0 -4823
- package/release.config.cjs +0 -51
- package/src/bin/check.ts +0 -41
- package/src/examples/push.ts +0 -46
- package/src/lib/device-event.ts +0 -57
- package/src/lib/device-events.ts +0 -295
- package/src/lib/device.ts +0 -811
- package/src/lib/fake-spawn.ts +0 -121
- package/src/lib/index.ts +0 -29
- package/src/lib/instance.ts +0 -211
- package/src/lib/tools.ts +0 -379
- package/src/lib/types.ts +0 -230
- package/test/device-event.ts +0 -88
- package/test/device-events.ts +0 -502
- package/test/device.ts +0 -826
- package/test/instance.ts +0 -428
- package/test/tools.ts +0 -301
- package/tsconfig.json +0 -19
- package/typedoc.json +0 -15
|
@@ -1,7 +1,245 @@
|
|
|
1
|
-
|
|
2
|
-
import { NodePyATVApp, NodePyATVDeviceOptions, NodePyATVDeviceState, NodePyATVGetStateOptions, NodePyATVKeys, NodePyATVMediaType, NodePyATVProtocol, NodePyATVRepeatState, NodePyATVService, NodePyATVShuffleState, NodePyATVState } from './types.js';
|
|
3
|
-
import { NodePyATVDeviceEvent } from '../lib/index.js';
|
|
1
|
+
import { SpawnOptions, ChildProcess } from 'child_process';
|
|
4
2
|
import { EventEmitter } from 'events';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* @internal
|
|
6
|
+
*/
|
|
7
|
+
declare class FakeChildProcessStdIn extends EventEmitter {
|
|
8
|
+
write(data: string): void;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* @internal
|
|
12
|
+
*/
|
|
13
|
+
declare class FakeChildProcess extends EventEmitter {
|
|
14
|
+
cmd: string;
|
|
15
|
+
args: ReadonlyArray<string>;
|
|
16
|
+
timeout: NodeJS.Timeout | undefined;
|
|
17
|
+
stdout: EventEmitter;
|
|
18
|
+
stderr: EventEmitter;
|
|
19
|
+
stdin: FakeChildProcessStdIn;
|
|
20
|
+
constructor(command: string, args: ReadonlyArray<string>, options: SpawnOptions, callback: (cp: FakeChildProcessController) => void);
|
|
21
|
+
kill(): void;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* @internal
|
|
25
|
+
*/
|
|
26
|
+
declare class FakeChildProcessController {
|
|
27
|
+
_cp: FakeChildProcess;
|
|
28
|
+
_code: number | null;
|
|
29
|
+
constructor(cp: FakeChildProcess);
|
|
30
|
+
cmd(): string;
|
|
31
|
+
stdout(content: string | Record<string, unknown>): this;
|
|
32
|
+
stderr(content: string): this;
|
|
33
|
+
onStdIn(listener: (...args: any[]) => void): this;
|
|
34
|
+
error(error: Error): this;
|
|
35
|
+
code(exitCode: number): this;
|
|
36
|
+
end(content?: string | Record<string, unknown>): this;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
declare enum NodePyATVExecutableType {
|
|
40
|
+
atvremote = "atvremote",
|
|
41
|
+
atvscript = "atvscript"
|
|
42
|
+
}
|
|
43
|
+
declare enum NodePyATVProtocol {
|
|
44
|
+
dmap = "dmap",
|
|
45
|
+
mrp = "mrp",
|
|
46
|
+
airplay = "airplay",
|
|
47
|
+
mdns = "mdns"
|
|
48
|
+
}
|
|
49
|
+
declare enum NodePyATVMediaType {
|
|
50
|
+
music = "music",
|
|
51
|
+
tv = "tv",
|
|
52
|
+
video = "video",
|
|
53
|
+
unknown = "unknown"
|
|
54
|
+
}
|
|
55
|
+
declare enum NodePyATVDeviceState {
|
|
56
|
+
idle = "idle",
|
|
57
|
+
loading = "loading",
|
|
58
|
+
paused = "paused",
|
|
59
|
+
playing = "playing",
|
|
60
|
+
seeking = "seeking",
|
|
61
|
+
stopped = "stopped"
|
|
62
|
+
}
|
|
63
|
+
declare enum NodePyATVRepeatState {
|
|
64
|
+
all = "all",
|
|
65
|
+
track = "track",
|
|
66
|
+
off = "off"
|
|
67
|
+
}
|
|
68
|
+
declare enum NodePyATVShuffleState {
|
|
69
|
+
albums = "albums",
|
|
70
|
+
songs = "songs",
|
|
71
|
+
off = "off"
|
|
72
|
+
}
|
|
73
|
+
declare enum NodePyATVPowerState {
|
|
74
|
+
on = "on",
|
|
75
|
+
off = "off"
|
|
76
|
+
}
|
|
77
|
+
declare enum NodePyATVKeys {
|
|
78
|
+
down = "down",
|
|
79
|
+
home = "home",
|
|
80
|
+
homeHold = "homeHold",
|
|
81
|
+
left = "left",
|
|
82
|
+
menu = "menu",
|
|
83
|
+
next = "next",
|
|
84
|
+
pause = "pause",
|
|
85
|
+
play = "play",
|
|
86
|
+
playPause = "playPause",
|
|
87
|
+
previous = "previous",
|
|
88
|
+
right = "right",
|
|
89
|
+
select = "select",
|
|
90
|
+
skipBackward = "skipBackward",
|
|
91
|
+
skipForward = "skipForward",
|
|
92
|
+
stop = "stop",
|
|
93
|
+
suspend = "suspend",
|
|
94
|
+
topMenu = "topMenu",
|
|
95
|
+
up = "up",
|
|
96
|
+
volumeDown = "volumeDown",
|
|
97
|
+
volumeUp = "volumeUp",
|
|
98
|
+
wakeup = "wakeup",
|
|
99
|
+
turnOff = "turnOff",
|
|
100
|
+
turnOn = "turnOn"
|
|
101
|
+
}
|
|
102
|
+
declare enum NodePyATVListenerState {
|
|
103
|
+
stopped = 0,
|
|
104
|
+
starting = 1,
|
|
105
|
+
started = 2,
|
|
106
|
+
stopping = 3
|
|
107
|
+
}
|
|
108
|
+
type NodePyATVStateIndex = keyof NodePyATVState;
|
|
109
|
+
type NodePyATVEventValueType = (string | number | NodePyATVMediaType | NodePyATVDeviceState | NodePyATVShuffleState | NodePyATVRepeatState);
|
|
110
|
+
interface NodePyATVInstanceOptions {
|
|
111
|
+
atvremotePath?: string;
|
|
112
|
+
atvscriptPath?: string;
|
|
113
|
+
debug?: true | ((msg: string) => void);
|
|
114
|
+
noColors?: true;
|
|
115
|
+
spawn?: (command: string, args: Array<string>, options: SpawnOptions) => (ChildProcess | FakeChildProcess);
|
|
116
|
+
}
|
|
117
|
+
interface NodePyATVVersionResponse {
|
|
118
|
+
pyatv: string | null;
|
|
119
|
+
module: string | null;
|
|
120
|
+
}
|
|
121
|
+
interface NodePyATVFindOptions {
|
|
122
|
+
host?: string;
|
|
123
|
+
hosts?: string[];
|
|
124
|
+
id?: string;
|
|
125
|
+
protocol?: NodePyATVProtocol;
|
|
126
|
+
dmapCredentials?: string;
|
|
127
|
+
mrpCredentials?: string;
|
|
128
|
+
airplayCredentials?: string;
|
|
129
|
+
companionCredentials?: string;
|
|
130
|
+
raopCredentials?: string;
|
|
131
|
+
}
|
|
132
|
+
interface NodePyATVFindAndInstanceOptions extends NodePyATVInstanceOptions, NodePyATVFindOptions {
|
|
133
|
+
}
|
|
134
|
+
interface NodePyATVDeviceOptions extends NodePyATVFindAndInstanceOptions {
|
|
135
|
+
host: string;
|
|
136
|
+
name: string;
|
|
137
|
+
model?: string;
|
|
138
|
+
modelName?: string;
|
|
139
|
+
os?: string;
|
|
140
|
+
version?: string;
|
|
141
|
+
services?: NodePyATVService[];
|
|
142
|
+
}
|
|
143
|
+
interface NodePyATVGetStateOptions {
|
|
144
|
+
maxAge?: number;
|
|
145
|
+
}
|
|
146
|
+
interface NodePyATVService {
|
|
147
|
+
protocol: NodePyATVProtocol;
|
|
148
|
+
port: number;
|
|
149
|
+
}
|
|
150
|
+
interface NodePyATVState {
|
|
151
|
+
dateTime: Date | null;
|
|
152
|
+
hash: string | null;
|
|
153
|
+
mediaType: NodePyATVMediaType | null;
|
|
154
|
+
deviceState: NodePyATVDeviceState | null;
|
|
155
|
+
title: string | null;
|
|
156
|
+
artist: string | null;
|
|
157
|
+
album: string | null;
|
|
158
|
+
genre: string | null;
|
|
159
|
+
totalTime: number | null;
|
|
160
|
+
position: number | null;
|
|
161
|
+
shuffle: NodePyATVShuffleState | null;
|
|
162
|
+
repeat: NodePyATVRepeatState | null;
|
|
163
|
+
app: string | null;
|
|
164
|
+
appId: string | null;
|
|
165
|
+
powerState: NodePyATVPowerState | null;
|
|
166
|
+
}
|
|
167
|
+
interface NodePyATVApp {
|
|
168
|
+
id: string;
|
|
169
|
+
name: string;
|
|
170
|
+
launch: () => Promise<void>;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
declare class NodePyATVDeviceEvent {
|
|
174
|
+
protected readonly values: {
|
|
175
|
+
key: NodePyATVStateIndex;
|
|
176
|
+
old: NodePyATVEventValueType;
|
|
177
|
+
new: NodePyATVEventValueType;
|
|
178
|
+
device: NodePyATVDevice;
|
|
179
|
+
};
|
|
180
|
+
/**
|
|
181
|
+
*
|
|
182
|
+
* @param values
|
|
183
|
+
* @internal
|
|
184
|
+
*/
|
|
185
|
+
constructor(values: {
|
|
186
|
+
key: NodePyATVStateIndex;
|
|
187
|
+
old: NodePyATVEventValueType;
|
|
188
|
+
new: NodePyATVEventValueType;
|
|
189
|
+
device: NodePyATVDevice;
|
|
190
|
+
});
|
|
191
|
+
/**
|
|
192
|
+
* References the attribute name which was changed. So if the
|
|
193
|
+
* title has been updated, this would be `title`.
|
|
194
|
+
*/
|
|
195
|
+
get key(): NodePyATVStateIndex;
|
|
196
|
+
/**
|
|
197
|
+
* Holds the old value which was there
|
|
198
|
+
* before the value was changed.
|
|
199
|
+
*/
|
|
200
|
+
get oldValue(): NodePyATVEventValueType;
|
|
201
|
+
/**
|
|
202
|
+
* @alias value
|
|
203
|
+
*/
|
|
204
|
+
get newValue(): NodePyATVEventValueType;
|
|
205
|
+
/**
|
|
206
|
+
* New, current value for `key`
|
|
207
|
+
*/
|
|
208
|
+
get value(): NodePyATVEventValueType;
|
|
209
|
+
/**
|
|
210
|
+
* References the device instance this
|
|
211
|
+
* event originates from
|
|
212
|
+
*/
|
|
213
|
+
get device(): NodePyATVDevice;
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
/**
|
|
217
|
+
* @internal
|
|
218
|
+
*/
|
|
219
|
+
declare class NodePyATVDeviceEvents extends EventEmitter {
|
|
220
|
+
private readonly options;
|
|
221
|
+
private readonly state;
|
|
222
|
+
private readonly device;
|
|
223
|
+
private pyatv;
|
|
224
|
+
private timeout;
|
|
225
|
+
private listenerState;
|
|
226
|
+
constructor(state: NodePyATVState, device: NodePyATVDevice, options: NodePyATVDeviceOptions);
|
|
227
|
+
applyStateAndEmitEvents(newState: NodePyATVState): void;
|
|
228
|
+
private parsePushUpdate;
|
|
229
|
+
private applyPushUpdate;
|
|
230
|
+
private checkListener;
|
|
231
|
+
private startListening;
|
|
232
|
+
protected stopListening(reqId: string): Promise<void>;
|
|
233
|
+
addListener(event: string | symbol, listener: (event: NodePyATVDeviceEvent) => void): this;
|
|
234
|
+
on(event: string | symbol, listener: (event: NodePyATVDeviceEvent) => void): this;
|
|
235
|
+
once(event: string | symbol, listener: (event: NodePyATVDeviceEvent) => void): this;
|
|
236
|
+
prependListener(event: string | symbol, listener: (event: NodePyATVDeviceEvent) => void): this;
|
|
237
|
+
off(event: string | symbol, listener: (event: NodePyATVDeviceEvent) => void): this;
|
|
238
|
+
removeAllListeners(event?: string | symbol): this;
|
|
239
|
+
removeListener(event: string | symbol, listener: (event: NodePyATVDeviceEvent) => void): this;
|
|
240
|
+
listenerCount(event?: string | symbol): number;
|
|
241
|
+
}
|
|
242
|
+
|
|
5
243
|
/**
|
|
6
244
|
* Represents an Apple TV. Use [[getState]] to query the current state (e.g. media
|
|
7
245
|
* type and title). You can also use the attribute methods (e.g. [[getTitle]] to get
|
|
@@ -9,7 +247,7 @@ import { EventEmitter } from 'events';
|
|
|
9
247
|
* `EventEmitter` like API, so for example by using [[on]], [[once]] or [[addListener]].
|
|
10
248
|
* It's also possible to send key commands by using [[pressKey]] or methods like [[pause]].
|
|
11
249
|
*/
|
|
12
|
-
|
|
250
|
+
declare class NodePyATVDevice implements EventEmitter {
|
|
13
251
|
private readonly options;
|
|
14
252
|
private readonly state;
|
|
15
253
|
private readonly events;
|
|
@@ -468,3 +706,101 @@ export default class NodePyATVDevice implements EventEmitter {
|
|
|
468
706
|
*/
|
|
469
707
|
setMaxListeners(n: number): this;
|
|
470
708
|
}
|
|
709
|
+
|
|
710
|
+
/**
|
|
711
|
+
* Default class exported by `@sebbo2002/node-pyatv`. Use [[find]] to scan for devices in your local network. Use
|
|
712
|
+
* [[device]] to connect to a known device by passing (at least) it's name and IP.
|
|
713
|
+
*
|
|
714
|
+
* ```typescript
|
|
715
|
+
* import pyatv from '@sebbo2002/node-pyatv';
|
|
716
|
+
* ```
|
|
717
|
+
*/
|
|
718
|
+
declare class NodePyATVInstance {
|
|
719
|
+
private readonly options;
|
|
720
|
+
/**
|
|
721
|
+
* Checks if pyatv is installed and ready to be used.
|
|
722
|
+
* Will throw an error if not.
|
|
723
|
+
*
|
|
724
|
+
* @param options
|
|
725
|
+
*/
|
|
726
|
+
static check(options?: NodePyATVInstanceOptions): Promise<void>;
|
|
727
|
+
/**
|
|
728
|
+
* Resolves with the version of pyatv and of the module itself.
|
|
729
|
+
* If a value can't be found, null is returned instead.
|
|
730
|
+
*
|
|
731
|
+
* @param options
|
|
732
|
+
*/
|
|
733
|
+
static version(options?: NodePyATVInstanceOptions): Promise<NodePyATVVersionResponse>;
|
|
734
|
+
/**
|
|
735
|
+
* Scan the network for Apple TVs by using pyatv's atvscript. See [[NodePyATVFindAndInstanceOptions]]
|
|
736
|
+
* for the options allowed. Use the `host` / `hosts` attribute to filter by IP addresses. Resolves with
|
|
737
|
+
* an array of [[NodePyATVDevice]].
|
|
738
|
+
*
|
|
739
|
+
* ```typescript
|
|
740
|
+
* import pyatv from '@sebbo2002/node-pyatv';
|
|
741
|
+
* const devices = await pyatv.find();
|
|
742
|
+
* console.log(devices);
|
|
743
|
+
* ```
|
|
744
|
+
*
|
|
745
|
+
* @param options
|
|
746
|
+
*/
|
|
747
|
+
static find(options?: NodePyATVFindAndInstanceOptions): Promise<NodePyATVDevice[]>;
|
|
748
|
+
/**
|
|
749
|
+
* Create a [[NodePyATVDevice]] to query the state and control it.
|
|
750
|
+
* At least `host` and `name` are required.
|
|
751
|
+
*
|
|
752
|
+
* @param options
|
|
753
|
+
*/
|
|
754
|
+
static device(options: NodePyATVDeviceOptions): NodePyATVDevice;
|
|
755
|
+
/**
|
|
756
|
+
* Use this to apply [[NodePyATVInstanceOptions]]
|
|
757
|
+
* (e.g. debug log method) to all further requests
|
|
758
|
+
*
|
|
759
|
+
* ```typescript
|
|
760
|
+
* import pyatv from '@sebbo2002/node-pyatv';
|
|
761
|
+
* const myPyatv = new pyatv({debug: true});
|
|
762
|
+
* const devices = myPyatv.find();
|
|
763
|
+
* console.log(devices);
|
|
764
|
+
* ```
|
|
765
|
+
* @param options
|
|
766
|
+
*/
|
|
767
|
+
constructor(options?: NodePyATVInstanceOptions);
|
|
768
|
+
/**
|
|
769
|
+
* Checks if pyatv is installed and ready to be used.
|
|
770
|
+
* Will throw an error if not.
|
|
771
|
+
*
|
|
772
|
+
* @param options
|
|
773
|
+
*/
|
|
774
|
+
check(options?: NodePyATVInstanceOptions): Promise<void>;
|
|
775
|
+
/**
|
|
776
|
+
* Resolves with the version of pyatv and of the module itself.
|
|
777
|
+
* If a value can't be found, null is returned instead.
|
|
778
|
+
*
|
|
779
|
+
* @param options
|
|
780
|
+
*/
|
|
781
|
+
version(options?: NodePyATVInstanceOptions): Promise<NodePyATVVersionResponse>;
|
|
782
|
+
/**
|
|
783
|
+
* Scan the network for Apple TVs by using pyatv's atvscript. See [[NodePyATVFindAndInstanceOptions]]
|
|
784
|
+
* for the options allowed. Use the `host` / `hosts` attribute to filter by IP addresses. Resolves with
|
|
785
|
+
* an array of [[NodePyATVDevice]].
|
|
786
|
+
*
|
|
787
|
+
* ```typescript
|
|
788
|
+
* import pyatv from '@sebbo2002/node-pyatv';
|
|
789
|
+
* const myPyATV = new pyatv({debug: true});
|
|
790
|
+
* const devices = await myPyATV.find();
|
|
791
|
+
* console.log(devices);
|
|
792
|
+
* ```
|
|
793
|
+
*
|
|
794
|
+
* @param options
|
|
795
|
+
*/
|
|
796
|
+
find(options?: NodePyATVFindAndInstanceOptions): Promise<NodePyATVDevice[]>;
|
|
797
|
+
/**
|
|
798
|
+
* Create a [[NodePyATVDevice]] to query the state and control it.
|
|
799
|
+
* At least `host` and `name` are required.
|
|
800
|
+
*
|
|
801
|
+
* @param options
|
|
802
|
+
*/
|
|
803
|
+
device(options: NodePyATVDeviceOptions): NodePyATVDevice;
|
|
804
|
+
}
|
|
805
|
+
|
|
806
|
+
export { NodePyATVDevice, NodePyATVDeviceEvent, NodePyATVDeviceEvents, NodePyATVDeviceOptions, NodePyATVDeviceState, NodePyATVEventValueType, NodePyATVExecutableType, NodePyATVFindAndInstanceOptions, NodePyATVFindOptions, NodePyATVGetStateOptions, NodePyATVInstance, NodePyATVInstanceOptions, NodePyATVKeys, NodePyATVListenerState, NodePyATVMediaType, NodePyATVPowerState, NodePyATVProtocol, NodePyATVRepeatState, NodePyATVService, NodePyATVShuffleState, NodePyATVState, NodePyATVVersionResponse, NodePyATVInstance as default };
|