Skip to content

Repository files navigation

replutil

npmdeno landdeno docTestnpm version

REPL (Read-eval-print loop) utilities.

Usage

Use Sender to send message to REPL and Receiver to receive message from REPL.

SSH
import{Receiver,Sender}from"./mod.ts";constproc=Deno.run({cmd: ["ssh","-tt","localhost","/bin/sh"],stdin: "piped",stdout: "piped",});constreceiver=newReceiver(proc.stdout,{pattern: /.*\$$/,});constsender=newSender(proc.stdin);awaitreceiver.recv();awaitsender.send("ls -al\n");constreceived=awaitreceiver.recv();awaitsender.send("exit\n");awaitproc.status();proc.close();console.log("-".repeat(80));console.log(received);console.log("-".repeat(80));
Telnet
import{Receiver,Sender}from"./mod.ts";constusername="johntitor";constpassword="steinsgate";constproc=Deno.run({cmd: ["telnet","localhost"],stdin: "piped",stdout: "piped",});constreceiver=newReceiver(proc.stdout,{pattern: /.*%/,});constsender=newSender(proc.stdin);awaitreceiver.recv(/login:$/);awaitsender.send(`${username}\n`);awaitreceiver.recv(/Password:$/);awaitsender.send(`${password}\n`);awaitreceiver.recv();awaitsender.send("ls -al\n");constreceived=awaitreceiver.recv();awaitsender.send("exit\n");awaitproc.status();proc.close();console.log("-".repeat(80));console.log(received);console.log("-".repeat(80));

Development

Lint code like:

make lint

Format code like

make fmt

Check types like

make type-check

Run tests like:

make test

License

The code follows MIT license written in LICENSE. Contributors need to agree that any modifications sent in this repository follow the license.

About

🧰 REPL utilities

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages