All files device-event.ts

100% Statements 7/7
100% Branches 0/0
100% Functions 6/6
100% Lines 7/7

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58          1x                 70x                   4x               4x             5x             5x               4x      
'use strict';
 
import NodePyATVDevice from './device';
import {NodePyATVEventValueType, NodePyATVStateIndex} from './types';
 
export default class NodePyATVDeviceEvent {
    protected readonly values: {key: NodePyATVStateIndex, old: NodePyATVEventValueType, new: NodePyATVEventValueType, device: NodePyATVDevice};
 
    /**
     *
     * @param values
     * @internal
     */
    constructor(values: {key: NodePyATVStateIndex, old: NodePyATVEventValueType, new: NodePyATVEventValueType, device: NodePyATVDevice}) {
        this.values = Object.assign({}, values, {
            key: values.key as NodePyATVStateIndex
        });
    }
 
    /**
     * References the attribute name which was changed. So if the
     * title has been updated, this would be `title`.
     */
    get key(): NodePyATVStateIndex {
        return this.values.key;
    }
 
    /**
     * Holds the old value which was there
     * before the value was changed.
     */
    get oldValue(): NodePyATVEventValueType {
        return this.values.old;
    }
 
    /**
     * @alias value
     */
    get newValue(): NodePyATVEventValueType {
        return this.values.new;
    }
 
    /**
     * New, current value for `key`
     */
    get value(): NodePyATVEventValueType {
        return this.values.new;
    }
 
    /**
     * References the device instance this
     * event originates from
     */
    get device(): NodePyATVDevice {
        return this.values.device;
    }
}