@jellybrick/mpris-service 2.1.3 → 2.1.5

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.
@@ -1,32 +1,27 @@
1
1
  "use strict";
2
2
 
3
- function _decorate(decorators, factory, superClass, mixins) { var api = _getDecoratorsApi(); if (mixins) { for (var i = 0; i < mixins.length; i++) { api = mixins[i](api); } } var r = factory(function initialize(O) { api.initializeInstanceElements(O, decorated.elements); }, superClass); var decorated = api.decorateClass(_coalesceClassElements(r.d.map(_createElementDescriptor)), decorators); api.initializeClassElements(r.F, decorated.elements); return api.runClassFinishers(r.F, decorated.finishers); }
4
- function _getDecoratorsApi() { _getDecoratorsApi = function () { return api; }; var api = { elementsDefinitionOrder: [["method"], ["field"]], initializeInstanceElements: function (O, elements) { ["method", "field"].forEach(function (kind) { elements.forEach(function (element) { if (element.kind === kind && element.placement === "own") { this.defineClassElement(O, element); } }, this); }, this); }, initializeClassElements: function (F, elements) { var proto = F.prototype; ["method", "field"].forEach(function (kind) { elements.forEach(function (element) { var placement = element.placement; if (element.kind === kind && (placement === "static" || placement === "prototype")) { var receiver = placement === "static" ? F : proto; this.defineClassElement(receiver, element); } }, this); }, this); }, defineClassElement: function (receiver, element) { var descriptor = element.descriptor; if (element.kind === "field") { var initializer = element.initializer; descriptor = { enumerable: descriptor.enumerable, writable: descriptor.writable, configurable: descriptor.configurable, value: initializer === void 0 ? void 0 : initializer.call(receiver) }; } Object.defineProperty(receiver, element.key, descriptor); }, decorateClass: function (elements, decorators) { var newElements = []; var finishers = []; var placements = { static: [], prototype: [], own: [] }; elements.forEach(function (element) { this.addElementPlacement(element, placements); }, this); elements.forEach(function (element) { if (!_hasDecorators(element)) return newElements.push(element); var elementFinishersExtras = this.decorateElement(element, placements); newElements.push(elementFinishersExtras.element); newElements.push.apply(newElements, elementFinishersExtras.extras); finishers.push.apply(finishers, elementFinishersExtras.finishers); }, this); if (!decorators) { return { elements: newElements, finishers: finishers }; } var result = this.decorateConstructor(newElements, decorators); finishers.push.apply(finishers, result.finishers); result.finishers = finishers; return result; }, addElementPlacement: function (element, placements, silent) { var keys = placements[element.placement]; if (!silent && keys.indexOf(element.key) !== -1) { throw new TypeError("Duplicated element (" + element.key + ")"); } keys.push(element.key); }, decorateElement: function (element, placements) { var extras = []; var finishers = []; for (var decorators = element.decorators, i = decorators.length - 1; i >= 0; i--) { var keys = placements[element.placement]; keys.splice(keys.indexOf(element.key), 1); var elementObject = this.fromElementDescriptor(element); var elementFinisherExtras = this.toElementFinisherExtras((0, decorators[i])(elementObject) || elementObject); element = elementFinisherExtras.element; this.addElementPlacement(element, placements); if (elementFinisherExtras.finisher) { finishers.push(elementFinisherExtras.finisher); } var newExtras = elementFinisherExtras.extras; if (newExtras) { for (var j = 0; j < newExtras.length; j++) { this.addElementPlacement(newExtras[j], placements); } extras.push.apply(extras, newExtras); } } return { element: element, finishers: finishers, extras: extras }; }, decorateConstructor: function (elements, decorators) { var finishers = []; for (var i = decorators.length - 1; i >= 0; i--) { var obj = this.fromClassDescriptor(elements); var elementsAndFinisher = this.toClassDescriptor((0, decorators[i])(obj) || obj); if (elementsAndFinisher.finisher !== undefined) { finishers.push(elementsAndFinisher.finisher); } if (elementsAndFinisher.elements !== undefined) { elements = elementsAndFinisher.elements; for (var j = 0; j < elements.length - 1; j++) { for (var k = j + 1; k < elements.length; k++) { if (elements[j].key === elements[k].key && elements[j].placement === elements[k].placement) { throw new TypeError("Duplicated element (" + elements[j].key + ")"); } } } } } return { elements: elements, finishers: finishers }; }, fromElementDescriptor: function (element) { var obj = { kind: element.kind, key: element.key, placement: element.placement, descriptor: element.descriptor }; var desc = { value: "Descriptor", configurable: true }; Object.defineProperty(obj, Symbol.toStringTag, desc); if (element.kind === "field") obj.initializer = element.initializer; return obj; }, toElementDescriptors: function (elementObjects) { if (elementObjects === undefined) return; return _toArray(elementObjects).map(function (elementObject) { var element = this.toElementDescriptor(elementObject); this.disallowProperty(elementObject, "finisher", "An element descriptor"); this.disallowProperty(elementObject, "extras", "An element descriptor"); return element; }, this); }, toElementDescriptor: function (elementObject) { var kind = String(elementObject.kind); if (kind !== "method" && kind !== "field") { throw new TypeError('An element descriptor\'s .kind property must be either "method" or' + ' "field", but a decorator created an element descriptor with' + ' .kind "' + kind + '"'); } var key = _toPropertyKey(elementObject.key); var placement = String(elementObject.placement); if (placement !== "static" && placement !== "prototype" && placement !== "own") { throw new TypeError('An element descriptor\'s .placement property must be one of "static",' + ' "prototype" or "own", but a decorator created an element descriptor' + ' with .placement "' + placement + '"'); } var descriptor = elementObject.descriptor; this.disallowProperty(elementObject, "elements", "An element descriptor"); var element = { kind: kind, key: key, placement: placement, descriptor: Object.assign({}, descriptor) }; if (kind !== "field") { this.disallowProperty(elementObject, "initializer", "A method descriptor"); } else { this.disallowProperty(descriptor, "get", "The property descriptor of a field descriptor"); this.disallowProperty(descriptor, "set", "The property descriptor of a field descriptor"); this.disallowProperty(descriptor, "value", "The property descriptor of a field descriptor"); element.initializer = elementObject.initializer; } return element; }, toElementFinisherExtras: function (elementObject) { var element = this.toElementDescriptor(elementObject); var finisher = _optionalCallableProperty(elementObject, "finisher"); var extras = this.toElementDescriptors(elementObject.extras); return { element: element, finisher: finisher, extras: extras }; }, fromClassDescriptor: function (elements) { var obj = { kind: "class", elements: elements.map(this.fromElementDescriptor, this) }; var desc = { value: "Descriptor", configurable: true }; Object.defineProperty(obj, Symbol.toStringTag, desc); return obj; }, toClassDescriptor: function (obj) { var kind = String(obj.kind); if (kind !== "class") { throw new TypeError('A class descriptor\'s .kind property must be "class", but a decorator' + ' created a class descriptor with .kind "' + kind + '"'); } this.disallowProperty(obj, "key", "A class descriptor"); this.disallowProperty(obj, "placement", "A class descriptor"); this.disallowProperty(obj, "descriptor", "A class descriptor"); this.disallowProperty(obj, "initializer", "A class descriptor"); this.disallowProperty(obj, "extras", "A class descriptor"); var finisher = _optionalCallableProperty(obj, "finisher"); var elements = this.toElementDescriptors(obj.elements); return { elements: elements, finisher: finisher }; }, runClassFinishers: function (constructor, finishers) { for (var i = 0; i < finishers.length; i++) { var newConstructor = (0, finishers[i])(constructor); if (newConstructor !== undefined) { if (typeof newConstructor !== "function") { throw new TypeError("Finishers must return a constructor."); } constructor = newConstructor; } } return constructor; }, disallowProperty: function (obj, name, objectType) { if (obj[name] !== undefined) { throw new TypeError(objectType + " can't have a ." + name + " property."); } } }; return api; }
5
- function _createElementDescriptor(def) { var key = _toPropertyKey(def.key); var descriptor; if (def.kind === "method") { descriptor = { value: def.value, writable: true, configurable: true, enumerable: false }; } else if (def.kind === "get") { descriptor = { get: def.value, configurable: true, enumerable: false }; } else if (def.kind === "set") { descriptor = { set: def.value, configurable: true, enumerable: false }; } else if (def.kind === "field") { descriptor = { configurable: true, writable: true, enumerable: true }; } var element = { kind: def.kind === "field" ? "field" : "method", key: key, placement: def.static ? "static" : def.kind === "field" ? "own" : "prototype", descriptor: descriptor }; if (def.decorators) element.decorators = def.decorators; if (def.kind === "field") element.initializer = def.value; return element; }
6
- function _coalesceGetterSetter(element, other) { if (element.descriptor.get !== undefined) { other.descriptor.get = element.descriptor.get; } else { other.descriptor.set = element.descriptor.set; } }
7
- function _coalesceClassElements(elements) { var newElements = []; var isSameElement = function (other) { return other.kind === "method" && other.key === element.key && other.placement === element.placement; }; for (var i = 0; i < elements.length; i++) { var element = elements[i]; var other; if (element.kind === "method" && (other = newElements.find(isSameElement))) { if (_isDataDescriptor(element.descriptor) || _isDataDescriptor(other.descriptor)) { if (_hasDecorators(element) || _hasDecorators(other)) { throw new ReferenceError("Duplicated methods (" + element.key + ") can't be decorated."); } other.descriptor = element.descriptor; } else { if (_hasDecorators(element)) { if (_hasDecorators(other)) { throw new ReferenceError("Decorators can't be placed on different accessors with for " + "the same property (" + element.key + ")."); } other.decorators = element.decorators; } _coalesceGetterSetter(element, other); } } else { newElements.push(element); } } return newElements; }
8
- function _hasDecorators(element) { return element.decorators && element.decorators.length; }
9
- function _isDataDescriptor(desc) { return desc !== undefined && !(desc.value === undefined && desc.writable === undefined); }
10
- function _optionalCallableProperty(obj, name) { var value = obj[name]; if (value !== undefined && typeof value !== "function") { throw new TypeError("Expected '" + name + "' to be a function"); } return value; }
11
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
12
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
13
- function _toArray(arr) { return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest(); }
3
+ function _decorate(e, r, t, i) { var o = _getDecoratorsApi(); if (i) for (var n = 0; n < i.length; n++) o = i[n](o); var s = r(function (e) { o.initializeInstanceElements(e, a.elements); }, t), a = o.decorateClass(_coalesceClassElements(s.d.map(_createElementDescriptor)), e); return o.initializeClassElements(s.F, a.elements), o.runClassFinishers(s.F, a.finishers); }
4
+ function _getDecoratorsApi() { _getDecoratorsApi = function () { return e; }; var e = { elementsDefinitionOrder: [["method"], ["field"]], initializeInstanceElements: function (e, r) { ["method", "field"].forEach(function (t) { r.forEach(function (r) { r.kind === t && "own" === r.placement && this.defineClassElement(e, r); }, this); }, this); }, initializeClassElements: function (e, r) { var t = e.prototype; ["method", "field"].forEach(function (i) { r.forEach(function (r) { var o = r.placement; if (r.kind === i && ("static" === o || "prototype" === o)) { var n = "static" === o ? e : t; this.defineClassElement(n, r); } }, this); }, this); }, defineClassElement: function (e, r) { var t = r.descriptor; if ("field" === r.kind) { var i = r.initializer; t = { enumerable: t.enumerable, writable: t.writable, configurable: t.configurable, value: void 0 === i ? void 0 : i.call(e) }; } Object.defineProperty(e, r.key, t); }, decorateClass: function (e, r) { var t = [], i = [], o = { static: [], prototype: [], own: [] }; if (e.forEach(function (e) { this.addElementPlacement(e, o); }, this), e.forEach(function (e) { if (!_hasDecorators(e)) return t.push(e); var r = this.decorateElement(e, o); t.push(r.element), t.push.apply(t, r.extras), i.push.apply(i, r.finishers); }, this), !r) return { elements: t, finishers: i }; var n = this.decorateConstructor(t, r); return i.push.apply(i, n.finishers), n.finishers = i, n; }, addElementPlacement: function (e, r, t) { var i = r[e.placement]; if (!t && -1 !== i.indexOf(e.key)) throw new TypeError("Duplicated element (" + e.key + ")"); i.push(e.key); }, decorateElement: function (e, r) { for (var t = [], i = [], o = e.decorators, n = o.length - 1; n >= 0; n--) { var s = r[e.placement]; s.splice(s.indexOf(e.key), 1); var a = this.fromElementDescriptor(e), l = this.toElementFinisherExtras((0, o[n])(a) || a); e = l.element, this.addElementPlacement(e, r), l.finisher && i.push(l.finisher); var c = l.extras; if (c) { for (var p = 0; p < c.length; p++) this.addElementPlacement(c[p], r); t.push.apply(t, c); } } return { element: e, finishers: i, extras: t }; }, decorateConstructor: function (e, r) { for (var t = [], i = r.length - 1; i >= 0; i--) { var o = this.fromClassDescriptor(e), n = this.toClassDescriptor((0, r[i])(o) || o); if (void 0 !== n.finisher && t.push(n.finisher), void 0 !== n.elements) { e = n.elements; for (var s = 0; s < e.length - 1; s++) for (var a = s + 1; a < e.length; a++) if (e[s].key === e[a].key && e[s].placement === e[a].placement) throw new TypeError("Duplicated element (" + e[s].key + ")"); } } return { elements: e, finishers: t }; }, fromElementDescriptor: function (e) { var r = { kind: e.kind, key: e.key, placement: e.placement, descriptor: e.descriptor }; return Object.defineProperty(r, Symbol.toStringTag, { value: "Descriptor", configurable: !0 }), "field" === e.kind && (r.initializer = e.initializer), r; }, toElementDescriptors: function (e) { if (void 0 !== e) return _toArray(e).map(function (e) { var r = this.toElementDescriptor(e); return this.disallowProperty(e, "finisher", "An element descriptor"), this.disallowProperty(e, "extras", "An element descriptor"), r; }, this); }, toElementDescriptor: function (e) { var r = e.kind + ""; if ("method" !== r && "field" !== r) throw new TypeError('An element descriptor\'s .kind property must be either "method" or "field", but a decorator created an element descriptor with .kind "' + r + '"'); var t = _toPropertyKey(e.key), i = e.placement + ""; if ("static" !== i && "prototype" !== i && "own" !== i) throw new TypeError('An element descriptor\'s .placement property must be one of "static", "prototype" or "own", but a decorator created an element descriptor with .placement "' + i + '"'); var o = e.descriptor; this.disallowProperty(e, "elements", "An element descriptor"); var n = { kind: r, key: t, placement: i, descriptor: Object.assign({}, o) }; return "field" !== r ? this.disallowProperty(e, "initializer", "A method descriptor") : (this.disallowProperty(o, "get", "The property descriptor of a field descriptor"), this.disallowProperty(o, "set", "The property descriptor of a field descriptor"), this.disallowProperty(o, "value", "The property descriptor of a field descriptor"), n.initializer = e.initializer), n; }, toElementFinisherExtras: function (e) { return { element: this.toElementDescriptor(e), finisher: _optionalCallableProperty(e, "finisher"), extras: this.toElementDescriptors(e.extras) }; }, fromClassDescriptor: function (e) { var r = { kind: "class", elements: e.map(this.fromElementDescriptor, this) }; return Object.defineProperty(r, Symbol.toStringTag, { value: "Descriptor", configurable: !0 }), r; }, toClassDescriptor: function (e) { var r = e.kind + ""; if ("class" !== r) throw new TypeError('A class descriptor\'s .kind property must be "class", but a decorator created a class descriptor with .kind "' + r + '"'); this.disallowProperty(e, "key", "A class descriptor"), this.disallowProperty(e, "placement", "A class descriptor"), this.disallowProperty(e, "descriptor", "A class descriptor"), this.disallowProperty(e, "initializer", "A class descriptor"), this.disallowProperty(e, "extras", "A class descriptor"); var t = _optionalCallableProperty(e, "finisher"); return { elements: this.toElementDescriptors(e.elements), finisher: t }; }, runClassFinishers: function (e, r) { for (var t = 0; t < r.length; t++) { var i = (0, r[t])(e); if (void 0 !== i) { if ("function" != typeof i) throw new TypeError("Finishers must return a constructor."); e = i; } } return e; }, disallowProperty: function (e, r, t) { if (void 0 !== e[r]) throw new TypeError(t + " can't have a ." + r + " property."); } }; return e; }
5
+ function _createElementDescriptor(e) { var r, t = _toPropertyKey(e.key); "method" === e.kind ? r = { value: e.value, writable: !0, configurable: !0, enumerable: !1 } : "get" === e.kind ? r = { get: e.value, configurable: !0, enumerable: !1 } : "set" === e.kind ? r = { set: e.value, configurable: !0, enumerable: !1 } : "field" === e.kind && (r = { configurable: !0, writable: !0, enumerable: !0 }); var i = { kind: "field" === e.kind ? "field" : "method", key: t, placement: e.static ? "static" : "field" === e.kind ? "own" : "prototype", descriptor: r }; return e.decorators && (i.decorators = e.decorators), "field" === e.kind && (i.initializer = e.value), i; }
6
+ function _coalesceGetterSetter(e, r) { void 0 !== e.descriptor.get ? r.descriptor.get = e.descriptor.get : r.descriptor.set = e.descriptor.set; }
7
+ function _coalesceClassElements(e) { for (var r = [], isSameElement = function (e) { return "method" === e.kind && e.key === o.key && e.placement === o.placement; }, t = 0; t < e.length; t++) { var i, o = e[t]; if ("method" === o.kind && (i = r.find(isSameElement))) { if (_isDataDescriptor(o.descriptor) || _isDataDescriptor(i.descriptor)) { if (_hasDecorators(o) || _hasDecorators(i)) throw new ReferenceError("Duplicated methods (" + o.key + ") can't be decorated."); i.descriptor = o.descriptor; } else { if (_hasDecorators(o)) { if (_hasDecorators(i)) throw new ReferenceError("Decorators can't be placed on different accessors with for the same property (" + o.key + ")."); i.decorators = o.decorators; } _coalesceGetterSetter(o, i); } } else r.push(o); } return r; }
8
+ function _hasDecorators(e) { return e.decorators && e.decorators.length; }
9
+ function _isDataDescriptor(e) { return void 0 !== e && !(void 0 === e.value && void 0 === e.writable); }
10
+ function _optionalCallableProperty(e, r) { var t = e[r]; if (void 0 !== t && "function" != typeof t) throw new TypeError("Expected '" + r + "' to be a function"); return t; }
11
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
12
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
13
+ function _toArray(r) { return _arrayWithHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableRest(); }
14
14
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
15
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
16
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
17
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
18
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
19
- let MprisInterface = require('./mpris-interface');
20
- let dbus = require('dbus-next');
21
- let Variant = dbus.Variant;
22
- let {
15
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
16
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
17
+ function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
18
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
19
+ const MprisInterface = require('./mpris-interface');
20
+ const dbus = require('@jellybrick/dbus-next');
21
+ const {
23
22
  property,
24
23
  method,
25
- signal,
26
- DBusError,
27
- ACCESS_READ,
28
- ACCESS_WRITE,
29
- ACCESS_READWRITE
24
+ ACCESS_READ
30
25
  } = dbus.interface;
31
26
  let RootInterface = _decorate(null, function (_initialize, _MprisInterface) {
32
27
  class RootInterface extends _MprisInterface {
@@ -112,7 +107,7 @@ let RootInterface = _decorate(null, function (_initialize, _MprisInterface) {
112
107
  access: ACCESS_READ
113
108
  })],
114
109
  key: "CanQuit",
115
- value: function CanQuit() {
110
+ value: function () {
116
111
  return this._CanQuit;
117
112
  }
118
113
  }, {
@@ -121,13 +116,13 @@ let RootInterface = _decorate(null, function (_initialize, _MprisInterface) {
121
116
  signature: 'b'
122
117
  })],
123
118
  key: "Fullscreen",
124
- value: function Fullscreen() {
119
+ value: function () {
125
120
  return this._Fullscreen;
126
121
  }
127
122
  }, {
128
123
  kind: "set",
129
124
  key: "Fullscreen",
130
- value: function Fullscreen(value) {
125
+ value: function (value) {
131
126
  this._setPropertyInternal('Fullscreen', value);
132
127
  }
133
128
  }, {
@@ -137,7 +132,7 @@ let RootInterface = _decorate(null, function (_initialize, _MprisInterface) {
137
132
  access: ACCESS_READ
138
133
  })],
139
134
  key: "CanSetFullscreen",
140
- value: function CanSetFullscreen() {
135
+ value: function () {
141
136
  return this._CanSetFullscreen;
142
137
  }
143
138
  }, {
@@ -147,7 +142,7 @@ let RootInterface = _decorate(null, function (_initialize, _MprisInterface) {
147
142
  access: ACCESS_READ
148
143
  })],
149
144
  key: "CanRaise",
150
- value: function CanRaise() {
145
+ value: function () {
151
146
  return this._CanRaise;
152
147
  }
153
148
  }, {
@@ -157,7 +152,7 @@ let RootInterface = _decorate(null, function (_initialize, _MprisInterface) {
157
152
  access: ACCESS_READ
158
153
  })],
159
154
  key: "HasTrackList",
160
- value: function HasTrackList() {
155
+ value: function () {
161
156
  return this._HasTrackList;
162
157
  }
163
158
  }, {
@@ -167,7 +162,7 @@ let RootInterface = _decorate(null, function (_initialize, _MprisInterface) {
167
162
  access: ACCESS_READ
168
163
  })],
169
164
  key: "Identity",
170
- value: function Identity() {
165
+ value: function () {
171
166
  return this._Identity;
172
167
  }
173
168
  }, {
@@ -177,7 +172,7 @@ let RootInterface = _decorate(null, function (_initialize, _MprisInterface) {
177
172
  access: ACCESS_READ
178
173
  })],
179
174
  key: "DesktopEntry",
180
- value: function DesktopEntry() {
175
+ value: function () {
181
176
  return this._DesktopEntry;
182
177
  }
183
178
  }, {
@@ -187,7 +182,7 @@ let RootInterface = _decorate(null, function (_initialize, _MprisInterface) {
187
182
  access: ACCESS_READ
188
183
  })],
189
184
  key: "SupportedUriSchemes",
190
- value: function SupportedUriSchemes() {
185
+ value: function () {
191
186
  return this._SupportedUriSchemes;
192
187
  }
193
188
  }, {
@@ -197,7 +192,7 @@ let RootInterface = _decorate(null, function (_initialize, _MprisInterface) {
197
192
  access: ACCESS_READ
198
193
  })],
199
194
  key: "SupportedMimeTypes",
200
- value: function SupportedMimeTypes() {
195
+ value: function () {
201
196
  return this._SupportedMimeTypes;
202
197
  }
203
198
  }, {
@@ -1 +1 @@
1
- {"version":3,"file":"root.js","names":["MprisInterface","require","dbus","Variant","property","method","signal","DBusError","ACCESS_READ","ACCESS_WRITE","ACCESS_READWRITE","interface","RootInterface","_decorate","_initialize","_MprisInterface","constructor","player","opts","hasOwnProperty","_Identity","identity","_SupportedUriSchemes","supportedUriSchemes","_SupportedMimeTypes","supportedMimeTypes","_DesktopEntry","desktopEntry","F","d","kind","key","value","decorators","signature","access","CanQuit","_CanQuit","Fullscreen","_Fullscreen","_setPropertyInternal","CanSetFullscreen","_CanSetFullscreen","CanRaise","_CanRaise","HasTrackList","_HasTrackList","Identity","DesktopEntry","SupportedUriSchemes","SupportedMimeTypes","Raise","emit","Quit","module","exports"],"sourceRoot":"../../src/","sources":["interfaces/root.js"],"sourcesContent":["let MprisInterface = require('./mpris-interface');\nlet dbus = require('dbus-next');\nlet Variant = dbus.Variant;\n\nlet {\n property, method, signal, DBusError,\n ACCESS_READ, ACCESS_WRITE, ACCESS_READWRITE\n} = dbus.interface;\n\nclass RootInterface extends MprisInterface {\n constructor(player, opts={}) {\n super('org.mpris.MediaPlayer2', player);\n\n if (opts.hasOwnProperty('identity')) {\n this._Identity = opts.identity;\n }\n if (opts.hasOwnProperty('supportedUriSchemes')) {\n this._SupportedUriSchemes = opts.supportedUriSchemes;\n }\n if (opts.hasOwnProperty('supportedMimeTypes')) {\n this._SupportedMimeTypes = opts.supportedMimeTypes;\n }\n if (opts.hasOwnProperty('desktopEntry')) {\n this._DesktopEntry = opts.desktopEntry;\n }\n }\n\n _CanQuit = true;\n _Fullscreen = false;\n _CanSetFullscreen = false;\n _CanRaise = true;\n _HasTrackList = false;\n _Identity = '';\n // TODO optional properties\n _DesktopEntry = '';\n _SupportedUriSchemes = [];\n _SupportedMimeTypes = [];\n\n @property({signature: 'b', access: ACCESS_READ})\n get CanQuit() {\n return this._CanQuit;\n }\n\n @property({signature: 'b'})\n get Fullscreen() {\n return this._Fullscreen;\n }\n set Fullscreen(value) {\n this._setPropertyInternal('Fullscreen', value);\n }\n\n @property({signature: 'b', access: ACCESS_READ})\n get CanSetFullscreen() {\n return this._CanSetFullscreen;\n }\n\n @property({signature: 'b', access: ACCESS_READ})\n get CanRaise() {\n return this._CanRaise;\n }\n\n @property({signature: 'b', access: ACCESS_READ})\n get HasTrackList() {\n return this._HasTrackList;\n }\n\n @property({signature: 's', access: ACCESS_READ})\n get Identity() {\n return this._Identity;\n }\n\n @property({signature: 's', access: ACCESS_READ})\n get DesktopEntry() {\n return this._DesktopEntry;\n }\n\n @property({signature: 'as', access: ACCESS_READ})\n get SupportedUriSchemes() {\n return this._SupportedUriSchemes;\n }\n\n @property({signature: 'as', access: ACCESS_READ})\n get SupportedMimeTypes() {\n return this._SupportedMimeTypes;\n }\n\n @method({})\n Raise() {\n this.player.emit('raise');\n }\n\n @method({})\n Quit() {\n this.player.emit('quit');\n }\n}\n\nmodule.exports = RootInterface;\n"],"mappings":"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"}
1
+ {"version":3,"file":"root.js","names":["MprisInterface","require","dbus","property","method","ACCESS_READ","interface","RootInterface","_decorate","_initialize","_MprisInterface","constructor","player","opts","hasOwnProperty","_Identity","identity","_SupportedUriSchemes","supportedUriSchemes","_SupportedMimeTypes","supportedMimeTypes","_DesktopEntry","desktopEntry","F","d","kind","key","value","decorators","signature","access","_CanQuit","_Fullscreen","_setPropertyInternal","_CanSetFullscreen","_CanRaise","_HasTrackList","Raise","emit","Quit","module","exports"],"sourceRoot":"../../src/","sources":["interfaces/root.js"],"sourcesContent":["const MprisInterface = require('./mpris-interface');\nconst dbus = require('@jellybrick/dbus-next');\n\n\nconst {\n property,\n method,\n ACCESS_READ\n} = dbus.interface;\n\nclass RootInterface extends MprisInterface {\n constructor(player, opts={}) {\n super('org.mpris.MediaPlayer2', player);\n\n if (opts.hasOwnProperty('identity')) {\n this._Identity = opts.identity;\n }\n if (opts.hasOwnProperty('supportedUriSchemes')) {\n this._SupportedUriSchemes = opts.supportedUriSchemes;\n }\n if (opts.hasOwnProperty('supportedMimeTypes')) {\n this._SupportedMimeTypes = opts.supportedMimeTypes;\n }\n if (opts.hasOwnProperty('desktopEntry')) {\n this._DesktopEntry = opts.desktopEntry;\n }\n }\n\n _CanQuit = true;\n _Fullscreen = false;\n _CanSetFullscreen = false;\n _CanRaise = true;\n _HasTrackList = false;\n _Identity = '';\n // TODO optional properties\n _DesktopEntry = '';\n _SupportedUriSchemes = [];\n _SupportedMimeTypes = [];\n\n @property({signature: 'b', access: ACCESS_READ})\n get CanQuit() {\n return this._CanQuit;\n }\n\n @property({signature: 'b'})\n get Fullscreen() {\n return this._Fullscreen;\n }\n set Fullscreen(value) {\n this._setPropertyInternal('Fullscreen', value);\n }\n\n @property({signature: 'b', access: ACCESS_READ})\n get CanSetFullscreen() {\n return this._CanSetFullscreen;\n }\n\n @property({signature: 'b', access: ACCESS_READ})\n get CanRaise() {\n return this._CanRaise;\n }\n\n @property({signature: 'b', access: ACCESS_READ})\n get HasTrackList() {\n return this._HasTrackList;\n }\n\n @property({signature: 's', access: ACCESS_READ})\n get Identity() {\n return this._Identity;\n }\n\n @property({signature: 's', access: ACCESS_READ})\n get DesktopEntry() {\n return this._DesktopEntry;\n }\n\n @property({signature: 'as', access: ACCESS_READ})\n get SupportedUriSchemes() {\n return this._SupportedUriSchemes;\n }\n\n @property({signature: 'as', access: ACCESS_READ})\n get SupportedMimeTypes() {\n return this._SupportedMimeTypes;\n }\n\n @method({})\n Raise() {\n this.player.emit('raise');\n }\n\n @method({})\n Quit() {\n this.player.emit('quit');\n }\n}\n\nmodule.exports = RootInterface;\n"],"mappings":"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","ignoreList":[]}
@@ -1,33 +1,29 @@
1
1
  "use strict";
2
2
 
3
- function _decorate(decorators, factory, superClass, mixins) { var api = _getDecoratorsApi(); if (mixins) { for (var i = 0; i < mixins.length; i++) { api = mixins[i](api); } } var r = factory(function initialize(O) { api.initializeInstanceElements(O, decorated.elements); }, superClass); var decorated = api.decorateClass(_coalesceClassElements(r.d.map(_createElementDescriptor)), decorators); api.initializeClassElements(r.F, decorated.elements); return api.runClassFinishers(r.F, decorated.finishers); }
4
- function _getDecoratorsApi() { _getDecoratorsApi = function () { return api; }; var api = { elementsDefinitionOrder: [["method"], ["field"]], initializeInstanceElements: function (O, elements) { ["method", "field"].forEach(function (kind) { elements.forEach(function (element) { if (element.kind === kind && element.placement === "own") { this.defineClassElement(O, element); } }, this); }, this); }, initializeClassElements: function (F, elements) { var proto = F.prototype; ["method", "field"].forEach(function (kind) { elements.forEach(function (element) { var placement = element.placement; if (element.kind === kind && (placement === "static" || placement === "prototype")) { var receiver = placement === "static" ? F : proto; this.defineClassElement(receiver, element); } }, this); }, this); }, defineClassElement: function (receiver, element) { var descriptor = element.descriptor; if (element.kind === "field") { var initializer = element.initializer; descriptor = { enumerable: descriptor.enumerable, writable: descriptor.writable, configurable: descriptor.configurable, value: initializer === void 0 ? void 0 : initializer.call(receiver) }; } Object.defineProperty(receiver, element.key, descriptor); }, decorateClass: function (elements, decorators) { var newElements = []; var finishers = []; var placements = { static: [], prototype: [], own: [] }; elements.forEach(function (element) { this.addElementPlacement(element, placements); }, this); elements.forEach(function (element) { if (!_hasDecorators(element)) return newElements.push(element); var elementFinishersExtras = this.decorateElement(element, placements); newElements.push(elementFinishersExtras.element); newElements.push.apply(newElements, elementFinishersExtras.extras); finishers.push.apply(finishers, elementFinishersExtras.finishers); }, this); if (!decorators) { return { elements: newElements, finishers: finishers }; } var result = this.decorateConstructor(newElements, decorators); finishers.push.apply(finishers, result.finishers); result.finishers = finishers; return result; }, addElementPlacement: function (element, placements, silent) { var keys = placements[element.placement]; if (!silent && keys.indexOf(element.key) !== -1) { throw new TypeError("Duplicated element (" + element.key + ")"); } keys.push(element.key); }, decorateElement: function (element, placements) { var extras = []; var finishers = []; for (var decorators = element.decorators, i = decorators.length - 1; i >= 0; i--) { var keys = placements[element.placement]; keys.splice(keys.indexOf(element.key), 1); var elementObject = this.fromElementDescriptor(element); var elementFinisherExtras = this.toElementFinisherExtras((0, decorators[i])(elementObject) || elementObject); element = elementFinisherExtras.element; this.addElementPlacement(element, placements); if (elementFinisherExtras.finisher) { finishers.push(elementFinisherExtras.finisher); } var newExtras = elementFinisherExtras.extras; if (newExtras) { for (var j = 0; j < newExtras.length; j++) { this.addElementPlacement(newExtras[j], placements); } extras.push.apply(extras, newExtras); } } return { element: element, finishers: finishers, extras: extras }; }, decorateConstructor: function (elements, decorators) { var finishers = []; for (var i = decorators.length - 1; i >= 0; i--) { var obj = this.fromClassDescriptor(elements); var elementsAndFinisher = this.toClassDescriptor((0, decorators[i])(obj) || obj); if (elementsAndFinisher.finisher !== undefined) { finishers.push(elementsAndFinisher.finisher); } if (elementsAndFinisher.elements !== undefined) { elements = elementsAndFinisher.elements; for (var j = 0; j < elements.length - 1; j++) { for (var k = j + 1; k < elements.length; k++) { if (elements[j].key === elements[k].key && elements[j].placement === elements[k].placement) { throw new TypeError("Duplicated element (" + elements[j].key + ")"); } } } } } return { elements: elements, finishers: finishers }; }, fromElementDescriptor: function (element) { var obj = { kind: element.kind, key: element.key, placement: element.placement, descriptor: element.descriptor }; var desc = { value: "Descriptor", configurable: true }; Object.defineProperty(obj, Symbol.toStringTag, desc); if (element.kind === "field") obj.initializer = element.initializer; return obj; }, toElementDescriptors: function (elementObjects) { if (elementObjects === undefined) return; return _toArray(elementObjects).map(function (elementObject) { var element = this.toElementDescriptor(elementObject); this.disallowProperty(elementObject, "finisher", "An element descriptor"); this.disallowProperty(elementObject, "extras", "An element descriptor"); return element; }, this); }, toElementDescriptor: function (elementObject) { var kind = String(elementObject.kind); if (kind !== "method" && kind !== "field") { throw new TypeError('An element descriptor\'s .kind property must be either "method" or' + ' "field", but a decorator created an element descriptor with' + ' .kind "' + kind + '"'); } var key = _toPropertyKey(elementObject.key); var placement = String(elementObject.placement); if (placement !== "static" && placement !== "prototype" && placement !== "own") { throw new TypeError('An element descriptor\'s .placement property must be one of "static",' + ' "prototype" or "own", but a decorator created an element descriptor' + ' with .placement "' + placement + '"'); } var descriptor = elementObject.descriptor; this.disallowProperty(elementObject, "elements", "An element descriptor"); var element = { kind: kind, key: key, placement: placement, descriptor: Object.assign({}, descriptor) }; if (kind !== "field") { this.disallowProperty(elementObject, "initializer", "A method descriptor"); } else { this.disallowProperty(descriptor, "get", "The property descriptor of a field descriptor"); this.disallowProperty(descriptor, "set", "The property descriptor of a field descriptor"); this.disallowProperty(descriptor, "value", "The property descriptor of a field descriptor"); element.initializer = elementObject.initializer; } return element; }, toElementFinisherExtras: function (elementObject) { var element = this.toElementDescriptor(elementObject); var finisher = _optionalCallableProperty(elementObject, "finisher"); var extras = this.toElementDescriptors(elementObject.extras); return { element: element, finisher: finisher, extras: extras }; }, fromClassDescriptor: function (elements) { var obj = { kind: "class", elements: elements.map(this.fromElementDescriptor, this) }; var desc = { value: "Descriptor", configurable: true }; Object.defineProperty(obj, Symbol.toStringTag, desc); return obj; }, toClassDescriptor: function (obj) { var kind = String(obj.kind); if (kind !== "class") { throw new TypeError('A class descriptor\'s .kind property must be "class", but a decorator' + ' created a class descriptor with .kind "' + kind + '"'); } this.disallowProperty(obj, "key", "A class descriptor"); this.disallowProperty(obj, "placement", "A class descriptor"); this.disallowProperty(obj, "descriptor", "A class descriptor"); this.disallowProperty(obj, "initializer", "A class descriptor"); this.disallowProperty(obj, "extras", "A class descriptor"); var finisher = _optionalCallableProperty(obj, "finisher"); var elements = this.toElementDescriptors(obj.elements); return { elements: elements, finisher: finisher }; }, runClassFinishers: function (constructor, finishers) { for (var i = 0; i < finishers.length; i++) { var newConstructor = (0, finishers[i])(constructor); if (newConstructor !== undefined) { if (typeof newConstructor !== "function") { throw new TypeError("Finishers must return a constructor."); } constructor = newConstructor; } } return constructor; }, disallowProperty: function (obj, name, objectType) { if (obj[name] !== undefined) { throw new TypeError(objectType + " can't have a ." + name + " property."); } } }; return api; }
5
- function _createElementDescriptor(def) { var key = _toPropertyKey(def.key); var descriptor; if (def.kind === "method") { descriptor = { value: def.value, writable: true, configurable: true, enumerable: false }; } else if (def.kind === "get") { descriptor = { get: def.value, configurable: true, enumerable: false }; } else if (def.kind === "set") { descriptor = { set: def.value, configurable: true, enumerable: false }; } else if (def.kind === "field") { descriptor = { configurable: true, writable: true, enumerable: true }; } var element = { kind: def.kind === "field" ? "field" : "method", key: key, placement: def.static ? "static" : def.kind === "field" ? "own" : "prototype", descriptor: descriptor }; if (def.decorators) element.decorators = def.decorators; if (def.kind === "field") element.initializer = def.value; return element; }
6
- function _coalesceGetterSetter(element, other) { if (element.descriptor.get !== undefined) { other.descriptor.get = element.descriptor.get; } else { other.descriptor.set = element.descriptor.set; } }
7
- function _coalesceClassElements(elements) { var newElements = []; var isSameElement = function (other) { return other.kind === "method" && other.key === element.key && other.placement === element.placement; }; for (var i = 0; i < elements.length; i++) { var element = elements[i]; var other; if (element.kind === "method" && (other = newElements.find(isSameElement))) { if (_isDataDescriptor(element.descriptor) || _isDataDescriptor(other.descriptor)) { if (_hasDecorators(element) || _hasDecorators(other)) { throw new ReferenceError("Duplicated methods (" + element.key + ") can't be decorated."); } other.descriptor = element.descriptor; } else { if (_hasDecorators(element)) { if (_hasDecorators(other)) { throw new ReferenceError("Decorators can't be placed on different accessors with for " + "the same property (" + element.key + ")."); } other.decorators = element.decorators; } _coalesceGetterSetter(element, other); } } else { newElements.push(element); } } return newElements; }
8
- function _hasDecorators(element) { return element.decorators && element.decorators.length; }
9
- function _isDataDescriptor(desc) { return desc !== undefined && !(desc.value === undefined && desc.writable === undefined); }
10
- function _optionalCallableProperty(obj, name) { var value = obj[name]; if (value !== undefined && typeof value !== "function") { throw new TypeError("Expected '" + name + "' to be a function"); } return value; }
11
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
12
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
13
- function _toArray(arr) { return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest(); }
3
+ function _decorate(e, r, t, i) { var o = _getDecoratorsApi(); if (i) for (var n = 0; n < i.length; n++) o = i[n](o); var s = r(function (e) { o.initializeInstanceElements(e, a.elements); }, t), a = o.decorateClass(_coalesceClassElements(s.d.map(_createElementDescriptor)), e); return o.initializeClassElements(s.F, a.elements), o.runClassFinishers(s.F, a.finishers); }
4
+ function _getDecoratorsApi() { _getDecoratorsApi = function () { return e; }; var e = { elementsDefinitionOrder: [["method"], ["field"]], initializeInstanceElements: function (e, r) { ["method", "field"].forEach(function (t) { r.forEach(function (r) { r.kind === t && "own" === r.placement && this.defineClassElement(e, r); }, this); }, this); }, initializeClassElements: function (e, r) { var t = e.prototype; ["method", "field"].forEach(function (i) { r.forEach(function (r) { var o = r.placement; if (r.kind === i && ("static" === o || "prototype" === o)) { var n = "static" === o ? e : t; this.defineClassElement(n, r); } }, this); }, this); }, defineClassElement: function (e, r) { var t = r.descriptor; if ("field" === r.kind) { var i = r.initializer; t = { enumerable: t.enumerable, writable: t.writable, configurable: t.configurable, value: void 0 === i ? void 0 : i.call(e) }; } Object.defineProperty(e, r.key, t); }, decorateClass: function (e, r) { var t = [], i = [], o = { static: [], prototype: [], own: [] }; if (e.forEach(function (e) { this.addElementPlacement(e, o); }, this), e.forEach(function (e) { if (!_hasDecorators(e)) return t.push(e); var r = this.decorateElement(e, o); t.push(r.element), t.push.apply(t, r.extras), i.push.apply(i, r.finishers); }, this), !r) return { elements: t, finishers: i }; var n = this.decorateConstructor(t, r); return i.push.apply(i, n.finishers), n.finishers = i, n; }, addElementPlacement: function (e, r, t) { var i = r[e.placement]; if (!t && -1 !== i.indexOf(e.key)) throw new TypeError("Duplicated element (" + e.key + ")"); i.push(e.key); }, decorateElement: function (e, r) { for (var t = [], i = [], o = e.decorators, n = o.length - 1; n >= 0; n--) { var s = r[e.placement]; s.splice(s.indexOf(e.key), 1); var a = this.fromElementDescriptor(e), l = this.toElementFinisherExtras((0, o[n])(a) || a); e = l.element, this.addElementPlacement(e, r), l.finisher && i.push(l.finisher); var c = l.extras; if (c) { for (var p = 0; p < c.length; p++) this.addElementPlacement(c[p], r); t.push.apply(t, c); } } return { element: e, finishers: i, extras: t }; }, decorateConstructor: function (e, r) { for (var t = [], i = r.length - 1; i >= 0; i--) { var o = this.fromClassDescriptor(e), n = this.toClassDescriptor((0, r[i])(o) || o); if (void 0 !== n.finisher && t.push(n.finisher), void 0 !== n.elements) { e = n.elements; for (var s = 0; s < e.length - 1; s++) for (var a = s + 1; a < e.length; a++) if (e[s].key === e[a].key && e[s].placement === e[a].placement) throw new TypeError("Duplicated element (" + e[s].key + ")"); } } return { elements: e, finishers: t }; }, fromElementDescriptor: function (e) { var r = { kind: e.kind, key: e.key, placement: e.placement, descriptor: e.descriptor }; return Object.defineProperty(r, Symbol.toStringTag, { value: "Descriptor", configurable: !0 }), "field" === e.kind && (r.initializer = e.initializer), r; }, toElementDescriptors: function (e) { if (void 0 !== e) return _toArray(e).map(function (e) { var r = this.toElementDescriptor(e); return this.disallowProperty(e, "finisher", "An element descriptor"), this.disallowProperty(e, "extras", "An element descriptor"), r; }, this); }, toElementDescriptor: function (e) { var r = e.kind + ""; if ("method" !== r && "field" !== r) throw new TypeError('An element descriptor\'s .kind property must be either "method" or "field", but a decorator created an element descriptor with .kind "' + r + '"'); var t = _toPropertyKey(e.key), i = e.placement + ""; if ("static" !== i && "prototype" !== i && "own" !== i) throw new TypeError('An element descriptor\'s .placement property must be one of "static", "prototype" or "own", but a decorator created an element descriptor with .placement "' + i + '"'); var o = e.descriptor; this.disallowProperty(e, "elements", "An element descriptor"); var n = { kind: r, key: t, placement: i, descriptor: Object.assign({}, o) }; return "field" !== r ? this.disallowProperty(e, "initializer", "A method descriptor") : (this.disallowProperty(o, "get", "The property descriptor of a field descriptor"), this.disallowProperty(o, "set", "The property descriptor of a field descriptor"), this.disallowProperty(o, "value", "The property descriptor of a field descriptor"), n.initializer = e.initializer), n; }, toElementFinisherExtras: function (e) { return { element: this.toElementDescriptor(e), finisher: _optionalCallableProperty(e, "finisher"), extras: this.toElementDescriptors(e.extras) }; }, fromClassDescriptor: function (e) { var r = { kind: "class", elements: e.map(this.fromElementDescriptor, this) }; return Object.defineProperty(r, Symbol.toStringTag, { value: "Descriptor", configurable: !0 }), r; }, toClassDescriptor: function (e) { var r = e.kind + ""; if ("class" !== r) throw new TypeError('A class descriptor\'s .kind property must be "class", but a decorator created a class descriptor with .kind "' + r + '"'); this.disallowProperty(e, "key", "A class descriptor"), this.disallowProperty(e, "placement", "A class descriptor"), this.disallowProperty(e, "descriptor", "A class descriptor"), this.disallowProperty(e, "initializer", "A class descriptor"), this.disallowProperty(e, "extras", "A class descriptor"); var t = _optionalCallableProperty(e, "finisher"); return { elements: this.toElementDescriptors(e.elements), finisher: t }; }, runClassFinishers: function (e, r) { for (var t = 0; t < r.length; t++) { var i = (0, r[t])(e); if (void 0 !== i) { if ("function" != typeof i) throw new TypeError("Finishers must return a constructor."); e = i; } } return e; }, disallowProperty: function (e, r, t) { if (void 0 !== e[r]) throw new TypeError(t + " can't have a ." + r + " property."); } }; return e; }
5
+ function _createElementDescriptor(e) { var r, t = _toPropertyKey(e.key); "method" === e.kind ? r = { value: e.value, writable: !0, configurable: !0, enumerable: !1 } : "get" === e.kind ? r = { get: e.value, configurable: !0, enumerable: !1 } : "set" === e.kind ? r = { set: e.value, configurable: !0, enumerable: !1 } : "field" === e.kind && (r = { configurable: !0, writable: !0, enumerable: !0 }); var i = { kind: "field" === e.kind ? "field" : "method", key: t, placement: e.static ? "static" : "field" === e.kind ? "own" : "prototype", descriptor: r }; return e.decorators && (i.decorators = e.decorators), "field" === e.kind && (i.initializer = e.value), i; }
6
+ function _coalesceGetterSetter(e, r) { void 0 !== e.descriptor.get ? r.descriptor.get = e.descriptor.get : r.descriptor.set = e.descriptor.set; }
7
+ function _coalesceClassElements(e) { for (var r = [], isSameElement = function (e) { return "method" === e.kind && e.key === o.key && e.placement === o.placement; }, t = 0; t < e.length; t++) { var i, o = e[t]; if ("method" === o.kind && (i = r.find(isSameElement))) { if (_isDataDescriptor(o.descriptor) || _isDataDescriptor(i.descriptor)) { if (_hasDecorators(o) || _hasDecorators(i)) throw new ReferenceError("Duplicated methods (" + o.key + ") can't be decorated."); i.descriptor = o.descriptor; } else { if (_hasDecorators(o)) { if (_hasDecorators(i)) throw new ReferenceError("Decorators can't be placed on different accessors with for the same property (" + o.key + ")."); i.decorators = o.decorators; } _coalesceGetterSetter(o, i); } } else r.push(o); } return r; }
8
+ function _hasDecorators(e) { return e.decorators && e.decorators.length; }
9
+ function _isDataDescriptor(e) { return void 0 !== e && !(void 0 === e.value && void 0 === e.writable); }
10
+ function _optionalCallableProperty(e, r) { var t = e[r]; if (void 0 !== t && "function" != typeof t) throw new TypeError("Expected '" + r + "' to be a function"); return t; }
11
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
12
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
13
+ function _toArray(r) { return _arrayWithHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableRest(); }
14
14
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
15
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
16
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
17
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
18
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
19
- let MprisInterface = require('./mpris-interface');
20
- let dbus = require('dbus-next');
21
- let Variant = dbus.Variant;
22
- let types = require('./types');
23
- let {
15
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
16
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
17
+ function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
18
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
19
+ const MprisInterface = require('./mpris-interface');
20
+ const dbus = require('@jellybrick/dbus-next');
21
+ const types = require('./types');
22
+ const {
24
23
  property,
25
24
  method,
26
25
  signal,
27
- DBusError,
28
- ACCESS_READ,
29
- ACCESS_WRITE,
30
- ACCESS_READWRITE
26
+ ACCESS_READ
31
27
  } = dbus.interface;
32
28
  let TracklistInterface = _decorate(null, function (_initialize, _MprisInterface) {
33
29
  class TracklistInterface extends _MprisInterface {
@@ -63,7 +59,7 @@ let TracklistInterface = _decorate(null, function (_initialize, _MprisInterface)
63
59
  access: ACCESS_READ
64
60
  })],
65
61
  key: "Tracks",
66
- value: function Tracks() {
62
+ value: function () {
67
63
  return this._Tracks;
68
64
  }
69
65
  }, {
@@ -73,7 +69,7 @@ let TracklistInterface = _decorate(null, function (_initialize, _MprisInterface)
73
69
  access: ACCESS_READ
74
70
  })],
75
71
  key: "CanEditTracks",
76
- value: function CanEditTracks() {
72
+ value: function () {
77
73
  return this._CanEditTracks;
78
74
  }
79
75
  }, {
@@ -1 +1 @@
1
- {"version":3,"file":"tracklist.js","names":["MprisInterface","require","dbus","Variant","types","property","method","signal","DBusError","ACCESS_READ","ACCESS_WRITE","ACCESS_READWRITE","interface","TracklistInterface","_decorate","_initialize","_MprisInterface","constructor","player","F","d","kind","key","value","setTracks","tracksPlain","setProperty","decorators","signature","access","Tracks","_Tracks","CanEditTracks","_CanEditTracks","inSignature","outSignature","GetTracksMetadata","trackIds","tracks","filter","t","some","id","map","metadataToDbus","AddTrack","uri","afterTrack","setAsCurrent","emit","RemoveTrack","trackId","GoTo","TrackListReplaced","replacedPlain","TrackAdded","metadata","TrackRemoved","path","TrackMetadataChanged","module","exports"],"sourceRoot":"../../src/","sources":["interfaces/tracklist.js"],"sourcesContent":["let MprisInterface = require('./mpris-interface');\nlet dbus = require('dbus-next');\nlet Variant = dbus.Variant;\nlet types = require('./types');\n\nlet {\n property, method, signal, DBusError,\n ACCESS_READ, ACCESS_WRITE, ACCESS_READWRITE\n} = dbus.interface;\n\nclass TracklistInterface extends MprisInterface {\n constructor(player) {\n super('org.mpris.MediaPlayer2.TrackList', player);\n }\n\n _Tracks = [];\n _CanEditTracks = false;\n\n setTracks(tracksPlain) {\n this.setProperty('Tracks', tracksPlain);\n }\n\n @property({signature: 'ao', access: ACCESS_READ})\n get Tracks() {\n return this._Tracks;\n }\n\n @property({signature: 'b', access: ACCESS_READ})\n get CanEditTracks() {\n return this._CanEditTracks;\n }\n\n @method({inSignature: 'ao', outSignature: 'aa{sv}'})\n GetTracksMetadata(trackIds) {\n return this.player.tracks.filter((t) => {\n return trackIds.some((id) => id === t['mpris:trackid']);\n }).map(types.metadataToDbus);\n }\n\n @method({inSignature: 'sob'})\n AddTrack(uri, afterTrack, setAsCurrent) {\n this.player.emit('addTrack', { uri, afterTrack, setAsCurrent });\n }\n\n @method({inSignature: 'o'})\n RemoveTrack(trackId) {\n this.player.emit('removeTrack', trackId);\n }\n\n @method({inSignature: 'o'})\n GoTo(trackId) {\n this.player.emit('goTo', trackId);\n }\n\n @signal({signature: 'aoo'})\n TrackListReplaced(replacedPlain) {\n this.setTracks(replacedPlain);\n // TODO what's the active track?\n return [\n this._Tracks,\n '/org/mpris/MediaPlayer2/TrackList/NoTrack'\n ];\n }\n\n @signal({signature: 'a{sv}'})\n TrackAdded(metadata) {\n return types.metadataToDbus(metadata);\n }\n\n @signal({signature: 'o'})\n TrackRemoved(path) {\n return path;\n }\n\n @signal({signature: 'oa{sv}'})\n TrackMetadataChanged(path, metadata){ \n return [\n path,\n types.metadataToDbus(metadata)\n ];\n }\n}\n\nmodule.exports = TracklistInterface;\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA,IAAIA,cAAc,GAAGC,OAAO,CAAC,mBAAmB,CAAC;AACjD,IAAIC,IAAI,GAAGD,OAAO,CAAC,WAAW,CAAC;AAC/B,IAAIE,OAAO,GAAGD,IAAI,CAACC,OAAO;AAC1B,IAAIC,KAAK,GAAGH,OAAO,CAAC,SAAS,CAAC;AAE9B,IAAI;EACFI,QAAQ;EAAEC,MAAM;EAAEC,MAAM;EAAEC,SAAS;EACnCC,WAAW;EAAEC,YAAY;EAAEC;AAC7B,CAAC,GAAGT,IAAI,CAACU,SAAS;AAAC,IAEbC,kBAAkB,GAAAC,SAAA,iBAAAC,WAAA,EAAAC,eAAA;EAAxB,MAAMH,kBAAkB,SAAAG,eAAA,CAAwB;IAC9CC,WAAWA,CAACC,MAAM,EAAE;MAClB,KAAK,CAAC,kCAAkC,EAAEA,MAAM,CAAC;MAACH,WAAA;IACpD;EAoEF;EAAC;IAAAI,CAAA,EAvEKN,kBAAkB;IAAAO,CAAA;MAAAC,IAAA;MAAAC,GAAA;MAAAC,MAAA;QAAA,OAKZ,EAAE;MAAA;IAAA;MAAAF,IAAA;MAAAC,GAAA;MAAAC,MAAA;QAAA,OACK,KAAK;MAAA;IAAA;MAAAF,IAAA;MAAAC,GAAA;MAAAC,KAAA,EAEtB,SAAAC,UAAUC,WAAW,EAAE;QACrB,IAAI,CAACC,WAAW,CAAC,QAAQ,EAAED,WAAW,CAAC;MACzC;IAAC;MAAAJ,IAAA;MAAAM,UAAA,GAEAtB,QAAQ,CAAC;QAACuB,SAAS,EAAE,IAAI;QAAEC,MAAM,EAAEpB;MAAW,CAAC,CAAC;MAAAa,GAAA;MAAAC,KAAA,EAAjD,SAAAO,OAAA,EACa;QACX,OAAO,IAAI,CAACC,OAAO;MACrB;IAAC;MAAAV,IAAA;MAAAM,UAAA,GAEAtB,QAAQ,CAAC;QAACuB,SAAS,EAAE,GAAG;QAAEC,MAAM,EAAEpB;MAAW,CAAC,CAAC;MAAAa,GAAA;MAAAC,KAAA,EAAhD,SAAAS,cAAA,EACoB;QAClB,OAAO,IAAI,CAACC,cAAc;MAC5B;IAAC;MAAAZ,IAAA;MAAAM,UAAA,GAEArB,MAAM,CAAC;QAAC4B,WAAW,EAAE,IAAI;QAAEC,YAAY,EAAE;MAAQ,CAAC,CAAC;MAAAb,GAAA;MAAAC,KAAA,EAApD,SAAAa,kBACkBC,QAAQ,EAAE;QAC1B,OAAO,IAAI,CAACnB,MAAM,CAACoB,MAAM,CAACC,MAAM,CAAEC,CAAC,IAAK;UACtC,OAAOH,QAAQ,CAACI,IAAI,CAAEC,EAAE,IAAKA,EAAE,KAAKF,CAAC,CAAC,eAAe,CAAC,CAAC;QACzD,CAAC,CAAC,CAACG,GAAG,CAACvC,KAAK,CAACwC,cAAc,CAAC;MAC9B;IAAC;MAAAvB,IAAA;MAAAM,UAAA,GAEArB,MAAM,CAAC;QAAC4B,WAAW,EAAE;MAAK,CAAC,CAAC;MAAAZ,GAAA;MAAAC,KAAA,EAA7B,SAAAsB,SACSC,GAAG,EAAEC,UAAU,EAAEC,YAAY,EAAE;QACtC,IAAI,CAAC9B,MAAM,CAAC+B,IAAI,CAAC,UAAU,EAAE;UAAEH,GAAG;UAAEC,UAAU;UAAEC;QAAa,CAAC,CAAC;MACjE;IAAC;MAAA3B,IAAA;MAAAM,UAAA,GAEArB,MAAM,CAAC;QAAC4B,WAAW,EAAE;MAAG,CAAC,CAAC;MAAAZ,GAAA;MAAAC,KAAA,EAA3B,SAAA2B,YACYC,OAAO,EAAE;QACnB,IAAI,CAACjC,MAAM,CAAC+B,IAAI,CAAC,aAAa,EAAEE,OAAO,CAAC;MAC1C;IAAC;MAAA9B,IAAA;MAAAM,UAAA,GAEArB,MAAM,CAAC;QAAC4B,WAAW,EAAE;MAAG,CAAC,CAAC;MAAAZ,GAAA;MAAAC,KAAA,EAA3B,SAAA6B,KACKD,OAAO,EAAE;QACZ,IAAI,CAACjC,MAAM,CAAC+B,IAAI,CAAC,MAAM,EAAEE,OAAO,CAAC;MACnC;IAAC;MAAA9B,IAAA;MAAAM,UAAA,GAEApB,MAAM,CAAC;QAACqB,SAAS,EAAE;MAAK,CAAC,CAAC;MAAAN,GAAA;MAAAC,KAAA,EAA3B,SAAA8B,kBACkBC,aAAa,EAAE;QAC/B,IAAI,CAAC9B,SAAS,CAAC8B,aAAa,CAAC;QAC7B;QACA,OAAO,CACL,IAAI,CAACvB,OAAO,EACZ,2CAA2C,CAC5C;MACH;IAAC;MAAAV,IAAA;MAAAM,UAAA,GAEApB,MAAM,CAAC;QAACqB,SAAS,EAAE;MAAO,CAAC,CAAC;MAAAN,GAAA;MAAAC,KAAA,EAA7B,SAAAgC,WACWC,QAAQ,EAAE;QACnB,OAAOpD,KAAK,CAACwC,cAAc,CAACY,QAAQ,CAAC;MACvC;IAAC;MAAAnC,IAAA;MAAAM,UAAA,GAEApB,MAAM,CAAC;QAACqB,SAAS,EAAE;MAAG,CAAC,CAAC;MAAAN,GAAA;MAAAC,KAAA,EAAzB,SAAAkC,aACaC,IAAI,EAAE;QACjB,OAAOA,IAAI;MACb;IAAC;MAAArC,IAAA;MAAAM,UAAA,GAEApB,MAAM,CAAC;QAACqB,SAAS,EAAE;MAAQ,CAAC,CAAC;MAAAN,GAAA;MAAAC,KAAA,EAA9B,SAAAoC,qBACqBD,IAAI,EAAEF,QAAQ,EAAC;QAClC,OAAO,CACLE,IAAI,EACJtD,KAAK,CAACwC,cAAc,CAACY,QAAQ,CAAC,CAC/B;MACH;IAAC;EAAA;AAAA,GAtE8BxD,cAAc;AAyE/C4D,MAAM,CAACC,OAAO,GAAGhD,kBAAkB"}
1
+ {"version":3,"file":"tracklist.js","names":["MprisInterface","require","dbus","types","property","method","signal","ACCESS_READ","interface","TracklistInterface","_decorate","_initialize","_MprisInterface","constructor","player","F","d","kind","key","value","setTracks","tracksPlain","setProperty","decorators","signature","access","_Tracks","_CanEditTracks","inSignature","outSignature","GetTracksMetadata","trackIds","tracks","filter","t","some","id","map","metadataToDbus","AddTrack","uri","afterTrack","setAsCurrent","emit","RemoveTrack","trackId","GoTo","TrackListReplaced","replacedPlain","TrackAdded","metadata","TrackRemoved","path","TrackMetadataChanged","module","exports"],"sourceRoot":"../../src/","sources":["interfaces/tracklist.js"],"sourcesContent":["const MprisInterface = require('./mpris-interface');\nconst dbus = require('@jellybrick/dbus-next');\nconst types = require('./types');\n\nconst {\n property,\n method,\n signal,\n ACCESS_READ\n} = dbus.interface;\n\nclass TracklistInterface extends MprisInterface {\n constructor(player) {\n super('org.mpris.MediaPlayer2.TrackList', player);\n }\n\n _Tracks = [];\n _CanEditTracks = false;\n\n setTracks(tracksPlain) {\n this.setProperty('Tracks', tracksPlain);\n }\n\n @property({signature: 'ao', access: ACCESS_READ})\n get Tracks() {\n return this._Tracks;\n }\n\n @property({signature: 'b', access: ACCESS_READ})\n get CanEditTracks() {\n return this._CanEditTracks;\n }\n\n @method({inSignature: 'ao', outSignature: 'aa{sv}'})\n GetTracksMetadata(trackIds) {\n return this.player.tracks.filter((t) => {\n return trackIds.some((id) => id === t['mpris:trackid']);\n }).map(types.metadataToDbus);\n }\n\n @method({inSignature: 'sob'})\n AddTrack(uri, afterTrack, setAsCurrent) {\n this.player.emit('addTrack', { uri, afterTrack, setAsCurrent });\n }\n\n @method({inSignature: 'o'})\n RemoveTrack(trackId) {\n this.player.emit('removeTrack', trackId);\n }\n\n @method({inSignature: 'o'})\n GoTo(trackId) {\n this.player.emit('goTo', trackId);\n }\n\n @signal({signature: 'aoo'})\n TrackListReplaced(replacedPlain) {\n this.setTracks(replacedPlain);\n // TODO what's the active track?\n return [\n this._Tracks,\n '/org/mpris/MediaPlayer2/TrackList/NoTrack'\n ];\n }\n\n @signal({signature: 'a{sv}'})\n TrackAdded(metadata) {\n return types.metadataToDbus(metadata);\n }\n\n @signal({signature: 'o'})\n TrackRemoved(path) {\n return path;\n }\n\n @signal({signature: 'oa{sv}'})\n TrackMetadataChanged(path, metadata){ \n return [\n path,\n types.metadataToDbus(metadata)\n ];\n }\n}\n\nmodule.exports = TracklistInterface;\n"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
- let Variant = require('dbus-next').Variant;
4
- let logging = require('../logging');
3
+ const Variant = require('@jellybrick/dbus-next').Variant;
4
+ const logging = require('../logging');
5
5
  function guessMetadataSignature(key, value) {
6
6
  if (key === 'mpris:trackid') {
7
7
  return 'o';
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":["Variant","require","logging","guessMetadataSignature","key","value","Array","isArray","every","v","warn","metadataToPlain","metadataVariant","metadataPlain","k","Object","keys","undefined","constructor","metadataToDbus","signature","emptyPlaylist","playlistToDbus","playlist","Id","Name","Icon","playlistToPlain","wire","module","exports"],"sourceRoot":"../../src/","sources":["interfaces/types.js"],"sourcesContent":["let Variant = require('dbus-next').Variant;\nlet logging = require('../logging');\n\nfunction guessMetadataSignature(key, value) {\n if (key === 'mpris:trackid') {\n return 'o';\n } else if (key === 'mpris:length') {\n return 'x';\n } else if (typeof value === 'string') {\n return 's';\n } else if (typeof value === 'boolean') {\n return 'b';\n } else if (typeof value === 'number') {\n return 'd';\n } else if (Array.isArray(value) && value.every((v) => typeof v === 'string')) {\n return 'as';\n } else {\n // type not supported yet\n logging.warn(`could not determine metadata type for ${key}: ${value}`);\n return null;\n }\n}\n\nfunction metadataToPlain(metadataVariant) {\n let metadataPlain = {};\n for (let k of Object.keys(metadataVariant)) {\n let value = metadataVariant[k];\n if (value === undefined || value === null) {\n logging.warn(`ignoring a null metadata value for key ${k}`);\n continue;\n }\n if (value.constructor === Variant) {\n metadataPlain[k] = value.value;\n } else {\n metadataPlain[k] = value;\n }\n }\n return metadataPlain;\n}\n\nfunction metadataToDbus(metadataPlain) {\n let metadataVariant = {};\n for (let k of Object.keys(metadataPlain)) {\n let value = metadataPlain[k];\n let signature = guessMetadataSignature(k, value);\n if (signature) {\n metadataVariant[k] = new Variant(signature, value);\n }\n }\n return metadataVariant;\n}\n\nlet emptyPlaylist = ['/', '', ''];\n\nfunction playlistToDbus(playlist) {\n if (!playlist) {\n return emptyPlaylist;\n }\n\n let { Id, Name, Icon } = playlist;\n return [ Id, Name, Icon ];\n}\n\nfunction playlistToPlain(wire) {\n let [ Id, Name, Icon ] = wire;\n return { Id, Name, Icon };\n}\n\nmodule.exports = {\n metadataToPlain,\n metadataToDbus,\n playlistToPlain,\n playlistToDbus,\n emptyPlaylist\n};\n"],"mappings":";;AAAA,IAAIA,OAAO,GAAGC,OAAO,CAAC,WAAW,CAAC,CAACD,OAAO;AAC1C,IAAIE,OAAO,GAAGD,OAAO,CAAC,YAAY,CAAC;AAEnC,SAASE,sBAAsBA,CAACC,GAAG,EAAEC,KAAK,EAAE;EAC1C,IAAID,GAAG,KAAK,eAAe,EAAE;IAC3B,OAAO,GAAG;EACZ,CAAC,MAAM,IAAIA,GAAG,KAAK,cAAc,EAAE;IACjC,OAAO,GAAG;EACZ,CAAC,MAAM,IAAI,OAAOC,KAAK,KAAK,QAAQ,EAAE;IACpC,OAAO,GAAG;EACZ,CAAC,MAAM,IAAI,OAAOA,KAAK,KAAK,SAAS,EAAE;IACrC,OAAO,GAAG;EACZ,CAAC,MAAM,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IACpC,OAAO,GAAG;EACZ,CAAC,MAAM,IAAIC,KAAK,CAACC,OAAO,CAACF,KAAK,CAAC,IAAIA,KAAK,CAACG,KAAK,CAAEC,CAAC,IAAK,OAAOA,CAAC,KAAK,QAAQ,CAAC,EAAE;IAC5E,OAAO,IAAI;EACb,CAAC,MAAM;IACL;IACAP,OAAO,CAACQ,IAAI,CAAE,yCAAwCN,GAAI,KAAIC,KAAM,EAAC,CAAC;IACtE,OAAO,IAAI;EACb;AACF;AAEA,SAASM,eAAeA,CAACC,eAAe,EAAE;EACxC,IAAIC,aAAa,GAAG,CAAC,CAAC;EACtB,KAAK,IAAIC,CAAC,IAAIC,MAAM,CAACC,IAAI,CAACJ,eAAe,CAAC,EAAE;IAC1C,IAAIP,KAAK,GAAGO,eAAe,CAACE,CAAC,CAAC;IAC9B,IAAIT,KAAK,KAAKY,SAAS,IAAIZ,KAAK,KAAK,IAAI,EAAE;MACzCH,OAAO,CAACQ,IAAI,CAAE,0CAAyCI,CAAE,EAAC,CAAC;MAC3D;IACF;IACA,IAAIT,KAAK,CAACa,WAAW,KAAKlB,OAAO,EAAE;MACjCa,aAAa,CAACC,CAAC,CAAC,GAAGT,KAAK,CAACA,KAAK;IAChC,CAAC,MAAM;MACLQ,aAAa,CAACC,CAAC,CAAC,GAAGT,KAAK;IAC1B;EACF;EACA,OAAOQ,aAAa;AACtB;AAEA,SAASM,cAAcA,CAACN,aAAa,EAAE;EACrC,IAAID,eAAe,GAAG,CAAC,CAAC;EACxB,KAAK,IAAIE,CAAC,IAAIC,MAAM,CAACC,IAAI,CAACH,aAAa,CAAC,EAAE;IACxC,IAAIR,KAAK,GAAGQ,aAAa,CAACC,CAAC,CAAC;IAC5B,IAAIM,SAAS,GAAGjB,sBAAsB,CAACW,CAAC,EAAET,KAAK,CAAC;IAChD,IAAIe,SAAS,EAAE;MACbR,eAAe,CAACE,CAAC,CAAC,GAAG,IAAId,OAAO,CAACoB,SAAS,EAAEf,KAAK,CAAC;IACpD;EACF;EACA,OAAOO,eAAe;AACxB;AAEA,IAAIS,aAAa,GAAG,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC;AAEjC,SAASC,cAAcA,CAACC,QAAQ,EAAE;EAChC,IAAI,CAACA,QAAQ,EAAE;IACb,OAAOF,aAAa;EACtB;EAEA,IAAI;IAAEG,EAAE;IAAEC,IAAI;IAAEC;EAAK,CAAC,GAAGH,QAAQ;EACjC,OAAO,CAAEC,EAAE,EAAEC,IAAI,EAAEC,IAAI,CAAE;AAC3B;AAEA,SAASC,eAAeA,CAACC,IAAI,EAAE;EAC7B,IAAI,CAAEJ,EAAE,EAAEC,IAAI,EAAEC,IAAI,CAAE,GAAGE,IAAI;EAC7B,OAAO;IAAEJ,EAAE;IAAEC,IAAI;IAAEC;EAAK,CAAC;AAC3B;AAEAG,MAAM,CAACC,OAAO,GAAG;EACfnB,eAAe;EACfQ,cAAc;EACdQ,eAAe;EACfL,cAAc;EACdD;AACF,CAAC"}
1
+ {"version":3,"file":"types.js","names":["Variant","require","logging","guessMetadataSignature","key","value","Array","isArray","every","v","warn","metadataToPlain","metadataVariant","metadataPlain","k","Object","keys","undefined","constructor","metadataToDbus","signature","emptyPlaylist","playlistToDbus","playlist","Id","Name","Icon","playlistToPlain","wire","module","exports"],"sourceRoot":"../../src/","sources":["interfaces/types.js"],"sourcesContent":["const Variant = require('@jellybrick/dbus-next').Variant;\nconst logging = require('../logging');\n\nfunction guessMetadataSignature(key, value) {\n if (key === 'mpris:trackid') {\n return 'o';\n } else if (key === 'mpris:length') {\n return 'x';\n } else if (typeof value === 'string') {\n return 's';\n } else if (typeof value === 'boolean') {\n return 'b';\n } else if (typeof value === 'number') {\n return 'd';\n } else if (Array.isArray(value) && value.every((v) => typeof v === 'string')) {\n return 'as';\n } else {\n // type not supported yet\n logging.warn(`could not determine metadata type for ${key}: ${value}`);\n return null;\n }\n}\n\nfunction metadataToPlain(metadataVariant) {\n let metadataPlain = {};\n for (let k of Object.keys(metadataVariant)) {\n let value = metadataVariant[k];\n if (value === undefined || value === null) {\n logging.warn(`ignoring a null metadata value for key ${k}`);\n continue;\n }\n if (value.constructor === Variant) {\n metadataPlain[k] = value.value;\n } else {\n metadataPlain[k] = value;\n }\n }\n return metadataPlain;\n}\n\nfunction metadataToDbus(metadataPlain) {\n let metadataVariant = {};\n for (let k of Object.keys(metadataPlain)) {\n let value = metadataPlain[k];\n let signature = guessMetadataSignature(k, value);\n if (signature) {\n metadataVariant[k] = new Variant(signature, value);\n }\n }\n return metadataVariant;\n}\n\nlet emptyPlaylist = ['/', '', ''];\n\nfunction playlistToDbus(playlist) {\n if (!playlist) {\n return emptyPlaylist;\n }\n\n let { Id, Name, Icon } = playlist;\n return [ Id, Name, Icon ];\n}\n\nfunction playlistToPlain(wire) {\n let [ Id, Name, Icon ] = wire;\n return { Id, Name, Icon };\n}\n\nmodule.exports = {\n metadataToPlain,\n metadataToDbus,\n playlistToPlain,\n playlistToDbus,\n emptyPlaylist\n};\n"],"mappings":"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","ignoreList":[]}
package/dist/logging.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- let loggingEnabled = process.env.MPRIS_SERVICE_DEBUG !== undefined && process.env.MPRIS_SERVICE_DEBUG !== '0';
3
+ const loggingEnabled = process.env.MPRIS_SERVICE_DEBUG !== undefined && process.env.MPRIS_SERVICE_DEBUG !== '0';
4
4
  module.exports.debug = function (message) {
5
5
  if (loggingEnabled) {
6
6
  console.log(message);
@@ -1 +1 @@
1
- {"version":3,"file":"logging.js","names":["loggingEnabled","process","env","MPRIS_SERVICE_DEBUG","undefined","module","exports","debug","message","console","log","warn"],"sourceRoot":"../src/","sources":["logging.js"],"sourcesContent":["let loggingEnabled = (process.env.MPRIS_SERVICE_DEBUG !== undefined && process.env.MPRIS_SERVICE_DEBUG !== '0');\n\nmodule.exports.debug = function(message) {\n if (loggingEnabled) {\n console.log(message);\n }\n};\n\nmodule.exports.warn = function(message) {\n if (loggingEnabled) {\n console.warn(message);\n }\n};\n"],"mappings":";;AAAA,IAAIA,cAAc,GAAIC,OAAO,CAACC,GAAG,CAACC,mBAAmB,KAAKC,SAAS,IAAIH,OAAO,CAACC,GAAG,CAACC,mBAAmB,KAAK,GAAI;AAE/GE,MAAM,CAACC,OAAO,CAACC,KAAK,GAAG,UAASC,OAAO,EAAE;EACvC,IAAIR,cAAc,EAAE;IAClBS,OAAO,CAACC,GAAG,CAACF,OAAO,CAAC;EACtB;AACF,CAAC;AAEDH,MAAM,CAACC,OAAO,CAACK,IAAI,GAAG,UAASH,OAAO,EAAE;EACtC,IAAIR,cAAc,EAAE;IAClBS,OAAO,CAACE,IAAI,CAACH,OAAO,CAAC;EACvB;AACF,CAAC"}
1
+ {"version":3,"file":"logging.js","names":["loggingEnabled","process","env","MPRIS_SERVICE_DEBUG","undefined","module","exports","debug","message","console","log","warn"],"sourceRoot":"../src/","sources":["logging.js"],"sourcesContent":["const loggingEnabled = (process.env.MPRIS_SERVICE_DEBUG !== undefined && process.env.MPRIS_SERVICE_DEBUG !== '0');\n\nmodule.exports.debug = function(message) {\n if (loggingEnabled) {\n console.log(message);\n }\n};\n\nmodule.exports.warn = function(message) {\n if (loggingEnabled) {\n console.warn(message);\n }\n};\n"],"mappings":";;AAAA,MAAMA,cAAc,GAAIC,OAAO,CAACC,GAAG,CAACC,mBAAmB,KAAKC,SAAS,IAAIH,OAAO,CAACC,GAAG,CAACC,mBAAmB,KAAK,GAAI;AAEjHE,MAAM,CAACC,OAAO,CAACC,KAAK,GAAG,UAASC,OAAO,EAAE;EACvC,IAAIR,cAAc,EAAE;IAClBS,OAAO,CAACC,GAAG,CAACF,OAAO,CAAC;EACtB;AACF,CAAC;AAEDH,MAAM,CAACC,OAAO,CAACK,IAAI,GAAG,UAASH,OAAO,EAAE;EACtC,IAAIR,cAAc,EAAE;IAClBS,OAAO,CAACE,IAAI,CAACH,OAAO,CAAC;EACvB;AACF,CAAC","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jellybrick/mpris-service",
3
- "version": "2.1.3",
3
+ "version": "2.1.5",
4
4
  "description": "Node.js implementation for the MPRIS D-Bus Interface Specification to create a mediaplayer service",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -27,22 +27,22 @@
27
27
  },
28
28
  "homepage": "https://github.com/JellyBrick/mpris-service",
29
29
  "dependencies": {
30
- "dbus-next": "^0.10.2",
31
- "deep-equal": "^2.2.2",
32
- "source-map-support": "^0.5.12"
30
+ "@jellybrick/dbus-next": "^0.10.3",
31
+ "deep-equal": "^2.2.3",
32
+ "source-map-support": "^0.5.21"
33
33
  },
34
34
  "devDependencies": {
35
- "@babel/core": "^7.23.0",
36
- "@babel/plugin-proposal-decorators": "^7.23.0",
37
- "@babel/plugin-transform-private-methods": "^7.22.5",
38
- "@babel/preset-env": "^7.22.20",
39
- "gulp": "^4.0.2",
35
+ "@babel/core": "^7.26.0",
36
+ "@babel/plugin-proposal-decorators": "^7.25.9",
37
+ "@babel/plugin-transform-private-methods": "^7.25.9",
38
+ "@babel/preset-env": "^7.26.0",
39
+ "gulp": "^5.0.0",
40
40
  "gulp-babel": "^8.0.0",
41
- "gulp-cli": "^2.3.0",
41
+ "gulp-cli": "^3.0.0",
42
42
  "gulp-sourcemaps": "^3.0.0",
43
43
  "jest": "^29.7.0",
44
44
  "jsbi": "^4.3.0",
45
- "jsdoc": "^4.0.2"
45
+ "jsdoc": "^4.0.4"
46
46
  },
47
47
  "jest": {
48
48
  "testEnvironment": "node"
package/src/index.js CHANGED
@@ -2,7 +2,7 @@ require('source-map-support').install();
2
2
 
3
3
  const { EventEmitter } = require('events');
4
4
 
5
- const dbus = require('dbus-next');
5
+ const dbus = require('@jellybrick/dbus-next');
6
6
  const PlayerInterface = require('./interfaces/player');
7
7
  const RootInterface = require('./interfaces/root');
8
8
  const PlaylistsInterface = require('./interfaces/playlists');
@@ -154,16 +154,16 @@ class Player extends EventEmitter {
154
154
  * @property {String} loopStatus - The current loop/repeat status. May be "None", "Track", or "Playlist".
155
155
  * @property {Boolean} shuffle - Whether the player is shuffling.
156
156
  * @property {Object} metadata - The metadata of the current element. If there is a current track, this must have a "mpris:trackid" entry (of D-Bus type "o") at the very least, which contains a D-Bus path that uniquely identifies this track.
157
- * @property {Double} volume - The volume level.
157
+ * @property {Number} volume - The volume level. (Double)
158
158
  * @property {Boolean} canControl - Whether the media player may be controlled over this interface.
159
159
  * @property {Boolean} canPause - Whether playback can be paused using Pause or PlayPause.
160
160
  * @property {Boolean} canPlay - Whether playback can be started using Play or PlayPause.
161
161
  * @property {Boolean} canSeek - Whether the client can control the playback position using Seek and SetPosition.
162
162
  * @property {Boolean} canGoNext - Whether the client can call the Next method on this interface and expect the current track to change.
163
163
  * @property {Boolean} canGoPrevious - Whether the client can call the Previous method on this interface and expect the current track to change.
164
- * @property {Double} rate - The current playback rate.
165
- * @property {Double} minimumRate - The minimum value which the Rate property can take.
166
- * @property {Double} maximumRate - The maximum value which the Rate property can take.
164
+ * @property {Number} rate - The current playback rate. (Double)
165
+ * @property {Number} minimumRate - The minimum value which the Rate property can take. (Double)
166
+ * @property {Number} maximumRate - The maximum value which the Rate property can take. (Double)
167
167
  * @property {Array} playlists - The current playlists set by {@link Player#setPlaylists}. (Not a DBus property).
168
168
  * @property {String} activePlaylist - The id of the currently-active playlist.
169
169
  */
@@ -306,7 +306,7 @@ class Player extends EventEmitter {
306
306
  *
307
307
  * @name Player#getPosition
308
308
  * @function
309
- * @returns {Integer} - The current position of the player in microseconds.
309
+ * @returns {Number} - The current position of the player in microseconds. (Integer)
310
310
  */
311
311
  getPosition() {
312
312
  return 0;
@@ -317,7 +317,7 @@ class Player extends EventEmitter {
317
317
  *
318
318
  * @name Player#seeked
319
319
  * @function
320
- * @param {Integer} position - The position in microseconds.
320
+ * @param {Number} position - The position in microseconds. (Integer)
321
321
  */
322
322
  seeked(position) {
323
323
  let seekTo = Math.floor(position || 0);