UNPKG

nativescript

Version:

Command-line interface for building NativeScript projects

54 lines 1.8 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DeviceDiscovery = void 0; const events_1 = require("events"); const constants_1 = require("../../constants"); const _ = require("lodash"); const yok_1 = require("../../yok"); class DeviceDiscovery extends events_1.EventEmitter { constructor() { super(...arguments); this.devices = {}; } async startLookingForDevices() { return; } getDevice(deviceIdentifier) { const device = this.devices[deviceIdentifier]; return device; } addDevice(device) { this.devices[device.deviceInfo.identifier] = device; this.raiseOnDeviceFound(device); } updateDeviceInfo(device) { const existingDevice = this.devices[device.deviceInfo.identifier]; if (existingDevice) { _.assign(existingDevice.deviceInfo, device.deviceInfo); } else { this.devices[device.deviceInfo.identifier] = device; } this.raiseOnDeviceUpdated(device); } removeDevice(deviceIdentifier) { const device = this.devices[deviceIdentifier]; if (!device) { return; } delete this.devices[deviceIdentifier]; this.raiseOnDeviceLost(device); } raiseOnDeviceFound(device) { this.emit(constants_1.DeviceDiscoveryEventNames.DEVICE_FOUND, device); } raiseOnDeviceUpdated(device) { this.emit(constants_1.DeviceDiscoveryEventNames.DEVICE_UPDATED, device); } raiseOnDeviceLost(device) { this.emit(constants_1.DeviceDiscoveryEventNames.DEVICE_LOST, device); } } exports.DeviceDiscovery = DeviceDiscovery; yok_1.injector.register("deviceDiscovery", DeviceDiscovery); //# sourceMappingURL=device-discovery.js.map