new WebREPL(optsopt)
    Represents a WebREPL connection.
    Parameters:
| Name | Type | Attributes | Description | ||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
opts | 
            
            object | 
                
                    <optional> | 
            
            
            Initialization option
                Properties
  | 
        
Properties:
| Name | Type | Attributes | Default | Description | 
|---|---|---|---|---|
ip | 
            
            string | 
                
                    <optional> | 
            
            
                '192.168.4.1' | Ip address to connect to. | 
password | 
            
            string | 
                
                    <optional> | 
            
            
                'micropythoN' | Password to authenticate webrepl session. | 
autoConnect | 
            
            boolean | 
                
                    <optional> | 
            
            
                false | Flags if should connect automatically when instantiating WebREPL class. | 
autoAuth | 
            
            boolean | 
                
                    <optional> | 
            
            
                false | Flags if should authenticate the webrepl session automatically. | 
timeout | 
            
            number | 
                
                    <optional> | 
            
            
                5000 | How long, in milliseconds, should wait for response from webrepl. | 
fileBuffer | 
            
            Uint8Array | Buffer for files being requested by `loadFile`. | ||
ws | 
            
            WebSocket | WebSocket connection with board. | 
- Source:
 
Example
let repl = new WebREPL({
    ip: '192.168.1.4',
    password: 'micropythoN',
    autoConnect: true,
    autoAuth: true,
    timeout: 5000
})
    
    Methods
connect()
    Creates a websocket connection following the WebREPL standards on the
ip set while instantiating `WebREPL` and binds events for its opening
and for parsing incoming messages.
- Source:
 
Example
let repl = new WebREPL()
repl.connect()
        
            
    
    
    disconnect()
    Close the current websocket connection.
- Source:
 
Example
let repl = new WebREPL()
repl.disconnect()
        
            
    
    
    enterRawRepl() → {Promise}
    Sends character to enter RAW Repl mode (CTRL-A).
- Source:
 
Returns:
    - Resolves when board enters in raw repl mode, rejects if timeout.
- Type
 - Promise
 
Example
let repl = new WebREPL({ autoConnect: true })
repl.on('authenticated', function() {
    repl.enterRawRepl()
        .then(() => {
            // RAW REPL
        })
    })
})
        
            
    
    
    eval(command)
    Send command to websocket connection.
    Parameters:
| Name | Type | Description | 
|---|---|---|
command | 
            
            string | Command to be sent. | 
- Source:
 
Example
let repl = new WebREPL({ autoConnect: true })
repl.on('authenticated', function() {
    this.eval('print("hello world!")\r')
})
        
            
    
    
    exec(command)
    Evaluate command to the board followed by a line break (\r).
    Parameters:
| Name | Type | Description | 
|---|---|---|
command | 
            
            string | Command to be executed by WebREPL. | 
- Source:
 
Example
let repl = new WebREPL({ autoConnect: true })
repl.on('authenticated', function() {
    repl.exec('print("hello world!")')
})
        
            
    
    
    execFromString(code, interval) → {Promise}
    Execute a string containing lines of code separated by `\n` in raw repl
mode. It will send a keyboard interrupt before entering RAW REPL mode.
    Parameters:
| Name | Type | Description | 
|---|---|---|
code | 
            
            string | String containing lines of code separated by `\n`. | 
interval | 
            
            number | Interval in milliseconds between the lines of code. | 
- Source:
 
Returns:
    Resolves when exits raw repl mode.
- Type
 - Promise
 
Example
let repl = new WebREPL({ autoConnect: true })
let code = `for i in range(0, 10):\n    print(i)`
repl.on('authenticated', function() {
    this.execFromString(code)
        .then(() => console.log('code executed'))
})
        
            
    
    
    execRaw(code, interval) → {Promise}
    Evaluate the code on raw repl line by line and resolve promise when it
gets executed (prints "OK"). If `interval` is passed, wait that amount
of time before evaluating next line (important for ESP32 WebREPL).
    Parameters:
| Name | Type | Description | 
|---|---|---|
code | 
            
            string | String containing lines of code separated by `\n`. | 
interval | 
            
            number | Interval in milliseconds between the lines of code. | 
- Source:
 
Returns:
    Resolves when code is pasted and executed (got `OK` from repl) on raw repl mode.
- Type
 - Promise
 
Example
let repl = new WebREPL({ autoConnect: true })
let code = `for i in range(0, 10):\n    print(i)`
repl.on('authenticated', function() {
    this.enterRawRepl()
        .then(() => this.execRaw(code, 30))
        .then(() => this.exitRawRepl(code))
})
        
            
    
    
    exitRawRepl() → {Promise}
    Sends character to enter RAW Repl mode (CTRL-D + CTRL-B).
- Source:
 
Returns:
    Resolves when exits raw repl mode (Gets MicroPython booting message).
- Type
 - Promise
 
Example
let repl = new WebREPL({ autoConnect: true })
repl.on('authenticated', function() {
    repl.enterRawRepl()
        .then(() => repl.execRaw('print("hello world!")'))
        .then(() => repl.exitRawRepl())
})
        
            
    
    
    loadFile(filename) → {Promise}
    Load file from MicroPython's filesystem.
    Parameters:
| Name | Type | Description | 
|---|---|---|
filename | 
            
            string | File name | 
- Source:
 
Returns:
    Resolves with `Uint8Array` containing the data from requested file.
- Type
 - Promise
 
Example
let repl = new WebREPL({ autoConnect: true })
let filename = 'foo.py'
repl.saveAs = (blob) => {
    console.log('File content', blob)
}
repl.loadFile(filename)
        
            
    
    
    sendFile(filename, putFileData) → {Promise}
    Save file to MicroPython's filesystem. Will use the filename from the
`file` argument object as the filesystem path.
    Parameters:
| Name | Type | Description | 
|---|---|---|
filename | 
            
            string | Name of file to be sent | 
putFileData | 
            
            Uint8Array | Typed array buffer with content of file to be sent. | 
- Source:
 
Returns:
    Resolves when file is sent.
- Type
 - Promise
 
Example
let repl = new WebREPL({ autoConnect: true })
let filename = 'foo.py'
let buffer = new TextEncoder("utf-8").encode('print("hello world!")');
repl.on('authenticated', function() {
    repl.sendFile(filename, buffer)
})
        
            
    
    
    sendStop()
    Sends a keyboard interrupt character (CTRL-C).
- Source:
 
Example
let repl = new WebREPL({ autoConnect: true })
let stopButton = document.querySelector('#stop-code')
repl.on('authenticated', () => {
    stopButton.addEventListener('click', repl.sendStop.bind(repl))
})
        
            
    
    
    softReset()
    Sends a keyboard interruption (sendStop) and then the character to
perform a software reset on the board (CTRL-D).
- Source:
 
Example
let repl = new WebREPL({ autoConnect: true })
let resetButton = document.querySelector('#reset-button')
repl.on('authenticated', function() {
    resetButton.addEventListener('click', (e) => repl.softReset())
})
        
    
    
    
        Events
authenticated
    WebREPL authenticated session with success.
- Source:
 
connected
    WebSocket connection is opened.
- Source:
 
data
    `ArrayBuffer` coming from the webrepl.
    Type:
- ArrayBuffer
 
- Source:
 
disconnected
    WebSocket connection is closed.
- Source:
 
error
    Incoming WebSocket connection error or internal WebREPL error.
    Type:
- ErrorEvent
 
- Source:
 
output
    Every message coming from the webrepl to be printed on the terminal.
    Type:
- string
 
- Source: