Dia antes primera install
This commit is contained in:
104
node_modules/@serialport/bindings-cpp/dist/poller.js
generated
vendored
Normal file
104
node_modules/@serialport/bindings-cpp/dist/poller.js
generated
vendored
Normal file
@@ -0,0 +1,104 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.Poller = exports.EVENTS = void 0;
|
||||
const debug_1 = __importDefault(require("debug"));
|
||||
const events_1 = require("events");
|
||||
const path_1 = require("path");
|
||||
const node_gyp_build_1 = __importDefault(require("node-gyp-build"));
|
||||
const errors_1 = require("./errors");
|
||||
const { Poller: PollerBindings } = (0, node_gyp_build_1.default)((0, path_1.join)(__dirname, '../'));
|
||||
const logger = (0, debug_1.default)('serialport/bindings-cpp/poller');
|
||||
exports.EVENTS = {
|
||||
UV_READABLE: 0b0001,
|
||||
UV_WRITABLE: 0b0010,
|
||||
UV_DISCONNECT: 0b0100,
|
||||
};
|
||||
function handleEvent(error, eventFlag) {
|
||||
if (error) {
|
||||
logger('error', error);
|
||||
this.emit('readable', error);
|
||||
this.emit('writable', error);
|
||||
this.emit('disconnect', error);
|
||||
return;
|
||||
}
|
||||
if (eventFlag & exports.EVENTS.UV_READABLE) {
|
||||
logger('received "readable"');
|
||||
this.emit('readable', null);
|
||||
}
|
||||
if (eventFlag & exports.EVENTS.UV_WRITABLE) {
|
||||
logger('received "writable"');
|
||||
this.emit('writable', null);
|
||||
}
|
||||
if (eventFlag & exports.EVENTS.UV_DISCONNECT) {
|
||||
logger('received "disconnect"');
|
||||
this.emit('disconnect', null);
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Polls unix systems for readable or writable states of a file or serialport
|
||||
*/
|
||||
class Poller extends events_1.EventEmitter {
|
||||
constructor(fd, FDPoller = PollerBindings) {
|
||||
logger('Creating poller');
|
||||
super();
|
||||
this.poller = new FDPoller(fd, handleEvent.bind(this));
|
||||
}
|
||||
/**
|
||||
* Wait for the next event to occur
|
||||
* @param {string} event ('readable'|'writable'|'disconnect')
|
||||
* @returns {Poller} returns itself
|
||||
*/
|
||||
once(event, callback) {
|
||||
switch (event) {
|
||||
case 'readable':
|
||||
this.poll(exports.EVENTS.UV_READABLE);
|
||||
break;
|
||||
case 'writable':
|
||||
this.poll(exports.EVENTS.UV_WRITABLE);
|
||||
break;
|
||||
case 'disconnect':
|
||||
this.poll(exports.EVENTS.UV_DISCONNECT);
|
||||
break;
|
||||
}
|
||||
return super.once(event, callback);
|
||||
}
|
||||
/**
|
||||
* Ask the bindings to listen for an event, it is recommend to use `.once()` for easy use
|
||||
* @param {EVENTS} eventFlag polls for an event or group of events based upon a flag.
|
||||
*/
|
||||
poll(eventFlag = 0) {
|
||||
if (eventFlag & exports.EVENTS.UV_READABLE) {
|
||||
logger('Polling for "readable"');
|
||||
}
|
||||
if (eventFlag & exports.EVENTS.UV_WRITABLE) {
|
||||
logger('Polling for "writable"');
|
||||
}
|
||||
if (eventFlag & exports.EVENTS.UV_DISCONNECT) {
|
||||
logger('Polling for "disconnect"');
|
||||
}
|
||||
this.poller.poll(eventFlag);
|
||||
}
|
||||
/**
|
||||
* Stop listening for events and cancel all outstanding listening with an error
|
||||
*/
|
||||
stop() {
|
||||
logger('Stopping poller');
|
||||
this.poller.stop();
|
||||
this.emitCanceled();
|
||||
}
|
||||
destroy() {
|
||||
logger('Destroying poller');
|
||||
this.poller.destroy();
|
||||
this.emitCanceled();
|
||||
}
|
||||
emitCanceled() {
|
||||
const err = new errors_1.BindingsError('Canceled', { canceled: true });
|
||||
this.emit('readable', err);
|
||||
this.emit('writable', err);
|
||||
this.emit('disconnect', err);
|
||||
}
|
||||
}
|
||||
exports.Poller = Poller;
|
||||
Reference in New Issue
Block a user