@sebbo2002/node-pyatv 4.3.4-develop.4 → 5.1.0-develop.1
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/.mocharc.yml +3 -3
- package/.nycrc +1 -0
- package/CHANGELOG.md +31 -0
- package/dist/bin/check.js +2 -6
- package/dist/bin/check.js.map +1 -1
- package/dist/examples/push.js +2 -6
- package/dist/examples/push.js.map +1 -1
- package/dist/lib/device-event.d.ts +2 -2
- package/dist/lib/device-event.js +1 -3
- package/dist/lib/device-event.js.map +1 -1
- package/dist/lib/device-events.d.ts +2 -2
- package/dist/lib/device-events.js +38 -40
- package/dist/lib/device-events.js.map +1 -1
- package/dist/lib/device.d.ts +47 -2
- package/dist/lib/device.js +99 -46
- package/dist/lib/device.js.map +1 -1
- package/dist/lib/fake-spawn.js +7 -14
- package/dist/lib/fake-spawn.js.map +1 -1
- package/dist/lib/index.d.ts +6 -5
- package/dist/lib/index.js +6 -22
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/instance.d.ts +2 -2
- package/dist/lib/instance.js +40 -32
- package/dist/lib/instance.js.map +1 -1
- package/dist/lib/tools.d.ts +1 -1
- package/dist/lib/tools.js +24 -34
- package/dist/lib/tools.js.map +1 -1
- package/dist/lib/types.d.ts +24 -0
- package/dist/lib/types.js +20 -23
- package/dist/lib/types.js.map +1 -1
- package/docs/coverage/block-navigation.js +8 -0
- package/docs/coverage/cobertura-coverage.xml +2818 -1534
- package/docs/coverage/device-event.ts.html +64 -59
- package/docs/coverage/device-events.ts.html +215 -210
- package/docs/coverage/device.ts.html +931 -740
- package/docs/coverage/fake-spawn.ts.html +102 -97
- package/docs/coverage/favicon.png +0 -0
- package/docs/coverage/index.html +74 -69
- package/docs/coverage/index.ts.html +63 -49
- package/docs/coverage/instance.ts.html +256 -224
- package/docs/coverage/sort-arrow-sprite.png +0 -0
- package/docs/coverage/sorter.js +26 -0
- package/docs/coverage/tools.ts.html +310 -305
- package/docs/coverage/types.ts.html +204 -121
- package/docs/reference/assets/highlight.css +11 -25
- package/docs/reference/assets/main.js +4 -2
- package/docs/reference/assets/search.js +1 -1
- package/docs/reference/assets/style.css +424 -538
- package/docs/reference/classes/NodePyATVDevice.html +1136 -126
- package/docs/reference/classes/NodePyATVDeviceEvent.html +111 -10
- package/docs/reference/classes/NodePyATVInstance.html +227 -0
- package/docs/reference/enums/NodePyATVDeviceState.html +93 -1
- package/docs/reference/enums/NodePyATVExecutableType.html +65 -0
- package/docs/reference/enums/NodePyATVKeys.html +212 -1
- package/docs/reference/enums/NodePyATVListenerState.html +79 -1
- package/docs/reference/enums/NodePyATVMediaType.html +79 -1
- package/docs/reference/enums/NodePyATVPowerState.html +65 -1
- package/docs/reference/enums/NodePyATVProtocol.html +79 -1
- package/docs/reference/enums/NodePyATVRepeatState.html +72 -1
- package/docs/reference/enums/NodePyATVShuffleState.html +72 -1
- package/docs/reference/index.html +61 -53
- package/docs/reference/interfaces/NodePyATVDeviceOptions.html +229 -1
- package/docs/reference/interfaces/NodePyATVFindAndInstanceOptions.html +190 -1
- package/docs/reference/interfaces/NodePyATVFindOptions.html +120 -1
- package/docs/reference/interfaces/NodePyATVGetStateOptions.html +62 -1
- package/docs/reference/interfaces/NodePyATVInstanceOptions.html +110 -1
- package/docs/reference/interfaces/NodePyATVService.html +69 -0
- package/docs/reference/interfaces/NodePyATVState.html +160 -1
- package/docs/reference/interfaces/NodePyATVVersionResponse.html +69 -1
- package/docs/reference/modules.html +104 -1
- package/docs/reference/types/NodePyATVEventValueType.html +64 -0
- package/docs/tests/index.html +1 -1
- package/docs/tests/mochawesome.json +1074 -784
- package/package.json +18 -15
- package/release.config.cjs +56 -0
- package/src/bin/check.ts +1 -1
- package/src/examples/push.ts +1 -1
- package/src/lib/device-event.ts +2 -2
- package/src/lib/device-events.ts +4 -4
- package/src/lib/device.ts +65 -3
- package/src/lib/index.ts +20 -17
- package/src/lib/instance.ts +31 -22
- package/src/lib/tools.ts +1 -1
- package/src/lib/types.ts +26 -0
- package/test/device-event.ts +2 -2
- package/test/device-events.ts +2 -2
- package/test/device.ts +127 -4
- package/test/instance.ts +128 -42
- package/test/tools.ts +2 -2
- package/tsconfig.json +1 -1
- package/docs/reference/assets/icons.css +0 -1043
- package/docs/reference/assets/icons.png +0 -0
- package/docs/reference/assets/icons@2x.png +0 -0
- package/docs/reference/classes/default.html +0 -50
package/.mocharc.yml
CHANGED
package/.nycrc
CHANGED
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,34 @@
|
|
|
1
|
+
# [5.1.0-develop.1](https://github.com/sebbo2002/node-pyatv/compare/v5.0.0...v5.1.0-develop.1) (2022-08-04)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Features
|
|
5
|
+
|
|
6
|
+
* Add Support for `device_info` and `device.services` ([1f60980](https://github.com/sebbo2002/node-pyatv/commit/1f6098006ec76a018e385f44c8567e465eedbbce))
|
|
7
|
+
|
|
8
|
+
# [5.0.0](https://github.com/sebbo2002/node-pyatv/compare/v4.3.3...v5.0.0) (2022-07-25)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Build System
|
|
12
|
+
|
|
13
|
+
* Native ESM support ([7b86a4f](https://github.com/sebbo2002/node-pyatv/commit/7b86a4f1187c387a3a5792e1fb72d822b04e3631))
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
### BREAKING CHANGES
|
|
17
|
+
|
|
18
|
+
* Only Support for node.js ^12.20.0 || >=14.13.1
|
|
19
|
+
|
|
20
|
+
# [5.0.0-develop.1](https://github.com/sebbo2002/node-pyatv/compare/v4.3.4-develop.4...v5.0.0-develop.1) (2022-07-17)
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
### Build System
|
|
24
|
+
|
|
25
|
+
* Native ESM support ([7b86a4f](https://github.com/sebbo2002/node-pyatv/commit/7b86a4f1187c387a3a5792e1fb72d822b04e3631))
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
### BREAKING CHANGES
|
|
29
|
+
|
|
30
|
+
* Only Support for node.js ^12.20.0 || >=14.13.1
|
|
31
|
+
|
|
1
32
|
## [4.3.4-develop.4](https://github.com/sebbo2002/node-pyatv/compare/v4.3.4-develop.3...v4.3.4-develop.4) (2022-06-10)
|
|
2
33
|
|
|
3
34
|
## [4.3.4-develop.3](https://github.com/sebbo2002/node-pyatv/compare/v4.3.4-develop.2...v4.3.4-develop.3) (2022-06-09)
|
package/dist/bin/check.js
CHANGED
|
@@ -8,14 +8,10 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
|
-
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
const instance_1 = __importDefault(require("../lib/instance"));
|
|
11
|
+
import NodePyATVInstance from '../lib/instance.js';
|
|
16
12
|
(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
17
13
|
try {
|
|
18
|
-
yield
|
|
14
|
+
yield NodePyATVInstance.check();
|
|
19
15
|
console.log('');
|
|
20
16
|
console.log('✔ node-pyatv seems to be ready to use!');
|
|
21
17
|
console.log(' Thank you and have a great day. Or night. Whatever.');
|
package/dist/bin/check.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/bin/check.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC
|
|
1
|
+
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/bin/check.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;AAEb,OAAO,iBAAiB,MAAM,oBAAoB,CAAC;AAEnD,CAAC,GAAS,EAAE;IACR,IAAI;QACA,MAAM,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAEhC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;QACtD,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;QACrE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;KACnB;IACD,OAAM,KAAK,EAAE;QACT,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,kDAAkD,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC;QACvF,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC;QAC5E,OAAO,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC;QAC5E,OAAO,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC;QAC5E,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CACP,MAAM,CAAC,KAAK,CAAC;aACR,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;aACtB,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC;aAC7B,KAAK,CAAC,IAAI,CAAC;aACX,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aAClB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;aACvB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;aACjD,IAAI,CAAC,IAAI,CAAC,CAClB,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC;QAC5E,OAAO,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC;QAC5E,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;KACnB;AACL,CAAC,CAAA,CAAC,EAAE,CAAC"}
|
package/dist/examples/push.js
CHANGED
|
@@ -8,14 +8,10 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
11
|
// import pyatv, {NodePyATVDeviceEvent} from '@sebbo2002/node-pyatv';
|
|
16
|
-
|
|
12
|
+
import pyatv from '../lib/index.js';
|
|
17
13
|
(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
18
|
-
const devices = yield
|
|
14
|
+
const devices = yield pyatv.find( /*{debug: true}*/);
|
|
19
15
|
if (!devices.length) {
|
|
20
16
|
throw new Error('Oh no. Unable to find any devices. If you find devices with atvremote, please enable the debug log.');
|
|
21
17
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"push.js","sourceRoot":"","sources":["../../src/examples/push.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC
|
|
1
|
+
{"version":3,"file":"push.js","sourceRoot":"","sources":["../../src/examples/push.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;AAEb,qEAAqE;AACrE,OAAO,KAA6B,MAAM,iBAAiB,CAAC;AAE5D,CAAC,GAAS,EAAE;IACR,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,IAAI,EAAC,iBAAiB,CAAC,CAAC;IACpD,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;QACjB,MAAM,IAAI,KAAK,CAAC,qGAAqG,CAAC,CAAC;KAC1H;IAED,OAAO,CAAC,GAAG,CAAC,YAAY,OAAO,CAAC,MAAM,UAAU,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAClF,IAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;QACnB,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE;YACrB,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,QAAQ,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;SACvD;KACJ;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;IACxE,OAAO,CAAC,GAAG,CAAC,oCAAoC,MAAM,CAAC,IAAI,0BAA0B,CAAC,CAAC;IACvF,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAClC,MAAM,aAAa,GAAG,CAAC,KAAmC,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7E,MAAM,cAAc,GAAG,CAAC,KAAmC,EAAE,EAAE;YAC3D,IAAG,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,GAAG,KAAK,UAAU;gBAAE,OAAO;YAC9D,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,GAAG,KAAK,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,SAAS,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,GAAG,CAAC,CAAC;QAC7E,CAAC,CAAC;QACF,MAAM,gBAAgB,GAAG,GAAG,EAAE;YAC1B,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;YAC3C,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;YACrC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;YACnC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;YAC5C,OAAO,CAAC,SAAS,CAAC,CAAC;QACvB,CAAC,CAAC;QAEF,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QACpC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAClC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC5B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAA,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;IACf,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,CAAC,KAAK,IAAI,KAAK,EAAE,CAAC,CAAC;IACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { NodePyATVDevice } from '../lib';
|
|
2
|
-
import { NodePyATVEventValueType, NodePyATVStateIndex } from './types';
|
|
1
|
+
import { NodePyATVDevice } from '../lib/index.js';
|
|
2
|
+
import type { NodePyATVEventValueType, NodePyATVStateIndex } from './types.js';
|
|
3
3
|
export default class NodePyATVDeviceEvent {
|
|
4
4
|
protected readonly values: {
|
|
5
5
|
key: NodePyATVStateIndex;
|
package/dist/lib/device-event.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
|
|
3
|
-
class NodePyATVDeviceEvent {
|
|
2
|
+
export default class NodePyATVDeviceEvent {
|
|
4
3
|
/**
|
|
5
4
|
*
|
|
6
5
|
* @param values
|
|
@@ -45,5 +44,4 @@ class NodePyATVDeviceEvent {
|
|
|
45
44
|
return this.values.device;
|
|
46
45
|
}
|
|
47
46
|
}
|
|
48
|
-
exports.default = NodePyATVDeviceEvent;
|
|
49
47
|
//# sourceMappingURL=device-event.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"device-event.js","sourceRoot":"","sources":["../../src/lib/device-event.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC
|
|
1
|
+
{"version":3,"file":"device-event.js","sourceRoot":"","sources":["../../src/lib/device-event.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAKb,MAAM,CAAC,OAAO,OAAO,oBAAoB;IAGrC;;;;OAIG;IACH,YAAY,MAAuH;QAC/H,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE;YACpC,GAAG,EAAE,MAAM,CAAC,GAA0B;SACzC,CAAC,CAAC;IACP,CAAC;IAED;;;OAGG;IACH,IAAI,GAAG;QACH,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACH,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACH,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC9B,CAAC;CACJ"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
import { NodePyATVDeviceOptions, NodePyATVState } from './types';
|
|
2
|
+
import { NodePyATVDeviceOptions, NodePyATVState } from './types.js';
|
|
3
3
|
import { EventEmitter } from 'events';
|
|
4
|
-
import { NodePyATVDevice, NodePyATVDeviceEvent } from '../lib';
|
|
4
|
+
import { NodePyATVDevice, NodePyATVDeviceEvent } from '../lib/index.js';
|
|
5
5
|
/**
|
|
6
6
|
* @internal
|
|
7
7
|
*/
|
|
@@ -8,21 +8,20 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
const tools_1 = require("./tools");
|
|
11
|
+
import { NodePyATVExecutableType, NodePyATVListenerState } from './types.js';
|
|
12
|
+
import { EventEmitter } from 'events';
|
|
13
|
+
import { NodePyATVDeviceEvent } from '../lib/index.js';
|
|
14
|
+
import { addRequestId, debug, execute, getParamters, parseState, removeRequestId } from './tools.js';
|
|
16
15
|
/**
|
|
17
16
|
* @internal
|
|
18
17
|
*/
|
|
19
|
-
class NodePyATVDeviceEvents extends
|
|
18
|
+
export default class NodePyATVDeviceEvents extends EventEmitter {
|
|
20
19
|
constructor(state, device, options) {
|
|
21
20
|
super();
|
|
22
21
|
this.state = state;
|
|
23
22
|
this.device = device;
|
|
24
23
|
this.options = Object.assign({}, options);
|
|
25
|
-
this.listenerState =
|
|
24
|
+
this.listenerState = NodePyATVListenerState.stopped;
|
|
26
25
|
}
|
|
27
26
|
applyStateAndEmitEvents(newState) {
|
|
28
27
|
Object.keys(this.state).forEach((key) => {
|
|
@@ -33,7 +32,7 @@ class NodePyATVDeviceEvents extends events_1.EventEmitter {
|
|
|
33
32
|
if (oldValue === undefined || newValue === undefined || oldValue === newValue) {
|
|
34
33
|
return;
|
|
35
34
|
}
|
|
36
|
-
const event = new
|
|
35
|
+
const event = new NodePyATVDeviceEvent({
|
|
37
36
|
key: key,
|
|
38
37
|
old: oldValue,
|
|
39
38
|
new: newValue,
|
|
@@ -57,19 +56,19 @@ class NodePyATVDeviceEvents extends events_1.EventEmitter {
|
|
|
57
56
|
}
|
|
58
57
|
catch (error) {
|
|
59
58
|
const msg = `Unable to parse stdout json: ${error}`;
|
|
60
|
-
|
|
59
|
+
debug(reqId, msg, this.options);
|
|
61
60
|
this.emit('error', new Error(msg));
|
|
62
61
|
return;
|
|
63
62
|
}
|
|
64
63
|
this.applyPushUpdate(json, reqId);
|
|
65
|
-
if (this.listenerState ===
|
|
66
|
-
this.listenerState =
|
|
64
|
+
if (this.listenerState === NodePyATVListenerState.starting) {
|
|
65
|
+
this.listenerState = NodePyATVListenerState.started;
|
|
67
66
|
this.checkListener();
|
|
68
67
|
}
|
|
69
68
|
}
|
|
70
69
|
applyPushUpdate(update, reqId) {
|
|
71
70
|
try {
|
|
72
|
-
const newState =
|
|
71
|
+
const newState = parseState(update, reqId, this.options);
|
|
73
72
|
this.applyStateAndEmitEvents(newState);
|
|
74
73
|
}
|
|
75
74
|
catch (error) {
|
|
@@ -77,41 +76,41 @@ class NodePyATVDeviceEvents extends events_1.EventEmitter {
|
|
|
77
76
|
}
|
|
78
77
|
}
|
|
79
78
|
checkListener() {
|
|
80
|
-
if (this.listenerState ===
|
|
79
|
+
if (this.listenerState === NodePyATVListenerState.stopped && this.listenerCount() === 0 && this.timeout) {
|
|
81
80
|
clearTimeout(this.timeout);
|
|
82
81
|
this.timeout = undefined;
|
|
83
82
|
}
|
|
84
|
-
else if (this.listenerState ===
|
|
85
|
-
const id =
|
|
86
|
-
|
|
83
|
+
else if (this.listenerState === NodePyATVListenerState.stopped && this.listenerCount() > 0) {
|
|
84
|
+
const id = addRequestId();
|
|
85
|
+
debug(id, `Start listeing to events from device ${this.options.name}`, this.options);
|
|
87
86
|
this.startListening(id);
|
|
88
|
-
|
|
87
|
+
removeRequestId(id);
|
|
89
88
|
}
|
|
90
|
-
else if ([
|
|
89
|
+
else if ([NodePyATVListenerState.starting, NodePyATVListenerState.started].includes(this.listenerState) &&
|
|
91
90
|
this.listenerCount() === 0) {
|
|
92
|
-
const id =
|
|
93
|
-
|
|
91
|
+
const id = addRequestId();
|
|
92
|
+
debug(id, `Stop listening to events from device ${this.options.name}`, this.options);
|
|
94
93
|
this.stopListening(id)
|
|
95
|
-
.catch(error =>
|
|
96
|
-
.finally(() =>
|
|
94
|
+
.catch(error => debug(id, `Unable to stop listeing: ${error}`, this.options))
|
|
95
|
+
.finally(() => removeRequestId(id));
|
|
97
96
|
}
|
|
98
97
|
}
|
|
99
98
|
startListening(reqId) {
|
|
100
|
-
if (this.listenerState !==
|
|
99
|
+
if (this.listenerState !== NodePyATVListenerState.stopped) {
|
|
101
100
|
return;
|
|
102
101
|
}
|
|
103
|
-
this.listenerState =
|
|
102
|
+
this.listenerState = NodePyATVListenerState.starting;
|
|
104
103
|
const listenStart = new Date().getTime();
|
|
105
|
-
const parameters =
|
|
106
|
-
this.pyatv =
|
|
104
|
+
const parameters = getParamters(this.options);
|
|
105
|
+
this.pyatv = execute(reqId, NodePyATVExecutableType.atvscript, [...parameters, 'push_updates'], this.options);
|
|
107
106
|
const onError = (error) => {
|
|
108
|
-
|
|
107
|
+
debug(reqId, `Got error from child process: ${error}`, this.options);
|
|
109
108
|
this.emit('error', error);
|
|
110
109
|
};
|
|
111
110
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
112
111
|
const onStdErr = (data) => {
|
|
113
112
|
const error = new Error(`Got stderr output from pyatv: ${data}`);
|
|
114
|
-
|
|
113
|
+
debug(reqId, data.toString(), this.options);
|
|
115
114
|
this.emit('error', error);
|
|
116
115
|
};
|
|
117
116
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -127,8 +126,8 @@ class NodePyATVDeviceEvents extends events_1.EventEmitter {
|
|
|
127
126
|
// this should never happen… :/
|
|
128
127
|
return;
|
|
129
128
|
}
|
|
130
|
-
this.listenerState =
|
|
131
|
-
|
|
129
|
+
this.listenerState = NodePyATVListenerState.stopped;
|
|
130
|
+
debug(reqId, `Listening with atvscript exited with code ${code}`, this.options);
|
|
132
131
|
if (this.timeout !== undefined) {
|
|
133
132
|
clearTimeout(this.timeout);
|
|
134
133
|
this.timeout = undefined;
|
|
@@ -142,16 +141,16 @@ class NodePyATVDeviceEvents extends events_1.EventEmitter {
|
|
|
142
141
|
this.pyatv.off('error', onError);
|
|
143
142
|
this.pyatv.off('close', onClose);
|
|
144
143
|
if (this.listenerCount() > 0 && new Date().getTime() - listenStart < 30000) {
|
|
145
|
-
|
|
144
|
+
debug(reqId, `Wait 15s and restart listeing to events from device ${this.options.name}`, this.options);
|
|
146
145
|
this.timeout = setTimeout(() => {
|
|
147
146
|
this.checkListener();
|
|
148
147
|
}, 15000);
|
|
149
148
|
}
|
|
150
149
|
else if (this.listenerCount() > 0) {
|
|
151
|
-
|
|
150
|
+
debug(reqId, `Restart listeing to events from device ${this.options.name}`, this.options);
|
|
152
151
|
this.checkListener();
|
|
153
152
|
}
|
|
154
|
-
|
|
153
|
+
removeRequestId(reqId);
|
|
155
154
|
};
|
|
156
155
|
this.pyatv.on('error', onError);
|
|
157
156
|
this.pyatv.on('close', onClose);
|
|
@@ -164,24 +163,24 @@ class NodePyATVDeviceEvents extends events_1.EventEmitter {
|
|
|
164
163
|
}
|
|
165
164
|
stopListening(reqId) {
|
|
166
165
|
return __awaiter(this, void 0, void 0, function* () {
|
|
167
|
-
if (this.listenerState !==
|
|
168
|
-
this.listenerState !==
|
|
166
|
+
if (this.listenerState !== NodePyATVListenerState.starting &&
|
|
167
|
+
this.listenerState !== NodePyATVListenerState.started) {
|
|
169
168
|
return;
|
|
170
169
|
}
|
|
171
|
-
this.listenerState =
|
|
170
|
+
this.listenerState = NodePyATVListenerState.stopping;
|
|
172
171
|
if (this.pyatv === undefined) {
|
|
173
172
|
throw new Error('Unable to stop listening due to internal error: state is stopping, but there\'s no child process. ' +
|
|
174
173
|
'This should never happen, please report this.');
|
|
175
174
|
}
|
|
176
175
|
if (this.pyatv.stdin) {
|
|
177
|
-
|
|
176
|
+
debug(reqId, 'Pressing enter to close atvscript…', this.options);
|
|
178
177
|
this.pyatv.stdin.write('\n');
|
|
179
178
|
yield new Promise(cb => this.timeout = setTimeout(cb, 250));
|
|
180
179
|
}
|
|
181
|
-
if (this.listenerState ===
|
|
180
|
+
if (this.listenerState === NodePyATVListenerState.stopping && this.pyatv) {
|
|
182
181
|
this.pyatv.kill();
|
|
183
182
|
}
|
|
184
|
-
this.listenerState =
|
|
183
|
+
this.listenerState = NodePyATVListenerState.stopped;
|
|
185
184
|
return;
|
|
186
185
|
});
|
|
187
186
|
}
|
|
@@ -232,5 +231,4 @@ class NodePyATVDeviceEvents extends events_1.EventEmitter {
|
|
|
232
231
|
.reduce((a, b) => a + b, 0);
|
|
233
232
|
}
|
|
234
233
|
}
|
|
235
|
-
exports.default = NodePyATVDeviceEvents;
|
|
236
234
|
//# sourceMappingURL=device-events.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"device-events.js","sourceRoot":"","sources":["../../src/lib/device-events.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC
|
|
1
|
+
{"version":3,"file":"device-events.js","sourceRoot":"","sources":["../../src/lib/device-events.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/device.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
import { NodePyATVDeviceOptions, NodePyATVDeviceState, NodePyATVGetStateOptions, NodePyATVKeys, NodePyATVMediaType, NodePyATVProtocol, NodePyATVRepeatState, NodePyATVShuffleState, NodePyATVState } from './types';
|
|
3
|
-
import { NodePyATVDeviceEvent } from '../lib';
|
|
2
|
+
import { NodePyATVDeviceOptions, NodePyATVDeviceState, NodePyATVGetStateOptions, NodePyATVKeys, NodePyATVMediaType, NodePyATVProtocol, NodePyATVRepeatState, NodePyATVService, NodePyATVShuffleState, NodePyATVState } from './types.js';
|
|
3
|
+
import { NodePyATVDeviceEvent } from '../lib/index.js';
|
|
4
4
|
import { EventEmitter } from 'events';
|
|
5
5
|
/**
|
|
6
6
|
* Represents an Apple TV. Use [[getState]] to query the current state (e.g. media
|
|
@@ -38,6 +38,51 @@ export default class NodePyATVDevice implements EventEmitter {
|
|
|
38
38
|
* Get the used protocol to connect to the Apple TV.
|
|
39
39
|
*/
|
|
40
40
|
get protocol(): NodePyATVProtocol | undefined;
|
|
41
|
+
/**
|
|
42
|
+
* Get the model identifier of the device. Only set, if the
|
|
43
|
+
* device was found using [[find()]]. Requires pyatv ≧ 0.10.3.
|
|
44
|
+
*
|
|
45
|
+
* @example device.model → "Gen4K"
|
|
46
|
+
*/
|
|
47
|
+
get model(): string | undefined;
|
|
48
|
+
/**
|
|
49
|
+
* Get the model name of the device. Only set, if the device
|
|
50
|
+
* was found with [[find()]]. Requires pyatv ≧ 0.10.3.
|
|
51
|
+
*
|
|
52
|
+
* @example device.modelName → "Apple TV 4K"
|
|
53
|
+
*/
|
|
54
|
+
get modelName(): string | undefined;
|
|
55
|
+
/**
|
|
56
|
+
* Get the operating system of the device. Only set, if the
|
|
57
|
+
* device was found with [[find()]]. Requires pyatv ≧ 0.10.3.
|
|
58
|
+
*
|
|
59
|
+
* @example device.os → "TvOS"
|
|
60
|
+
*/
|
|
61
|
+
get os(): string | undefined;
|
|
62
|
+
/**
|
|
63
|
+
* Get the device version. Only set, if the device was found
|
|
64
|
+
* during a scan using [[find()]]. Requires pyatv ≧ 0.10.3.
|
|
65
|
+
*
|
|
66
|
+
* @example device.version → "15.5.1"
|
|
67
|
+
*/
|
|
68
|
+
get version(): string | undefined;
|
|
69
|
+
/**
|
|
70
|
+
* Returns a list of services supported by the device. Ony set, if
|
|
71
|
+
* the device was found during a scan using [[find()]]. Requires
|
|
72
|
+
* pyatv ≧ 0.10.3.
|
|
73
|
+
*
|
|
74
|
+
* @example device.services → [
|
|
75
|
+
* {
|
|
76
|
+
* "protocol": "airplay",
|
|
77
|
+
* "port": 7000
|
|
78
|
+
* },
|
|
79
|
+
* {
|
|
80
|
+
* "protocol": "dmap",
|
|
81
|
+
* "port": 3689
|
|
82
|
+
* }
|
|
83
|
+
* ]
|
|
84
|
+
*/
|
|
85
|
+
get services(): NodePyATVService[] | undefined;
|
|
41
86
|
/**
|
|
42
87
|
* Returns true, if debugging is enabled. Returns the custom
|
|
43
88
|
* logging method, if one was specified. Otherwise, if debug
|