const AbstractBinding = require('@serialport/binding-abstract')
const debug = require('debug')('serialport/binding-mock')
let ports = {}
let serialNumber = 0
function resolveNextTick(value) {
return new Promise(resolve => process.nextTick(() => resolve(value)))
}
class MockBinding extends AbstractBinding {
readonly recording: Buffer
readonly lastWrite: null | Buffer
static createPort(path: string, opt: { echo?: boolean, record?: boolean, readyData?: Buffer}): void
static reset(): void
static list(): Promise<PortInfo[]>
emitData(data: Buffer | string | number[])
open(path: string, opt: OpenOpts): Promise<void>
close(): Promise<void>
read(buffer: Buffer, offset: number, length: number): Promise<Buffer>
write(buffer: Buffer): Promise<void>
update(options: { baudRate: number }): Promise<void>
set(options): Promise<void>
get(): Promise<Flags>
getBaudRate(): Promise<number>
flush(): Promise<void>
drain(): Promise<void>
}