Feat/add js repo to monorepo (#683)
* feat: move js repo into web monorepo * added readme * Update packages/core/README.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update packages/transport-http/README.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update packages/transport-web-bluetooth/README.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
# @meshtastic/transport-deno
|
||||
|
||||
[](https://jsr.io/@meshtastic/transport-deno)
|
||||
[](https://github.com/meshtastic/js/actions/workflows/ci.yml)
|
||||
[](https://cla-assistant.io/meshtastic/meshtastic.js)
|
||||
[](https://opencollective.com/meshtastic/)
|
||||
[](https://vercel.com?utm_source=meshtastic&utm_campaign=oss)
|
||||
|
||||
## Overview
|
||||
|
||||
`@meshtastic/transport-deno` Provides TCP transport (Deno) for Meshtastic
|
||||
devices. Installation instructions are avaliable at
|
||||
[JSR](https://jsr.io/@meshtastic/transport-deno)
|
||||
|
||||
## Usage
|
||||
|
||||
```ts
|
||||
import { MeshDevice } from "@meshtastic/core";
|
||||
import { TransportDeno } from "@meshtastic/transport-deno";
|
||||
|
||||
const transport = await TransportDeno.create("10.10.0.57");
|
||||
const device = new MeshDevice(transport);
|
||||
```
|
||||
|
||||
## Stats
|
||||
|
||||

|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"name": "@meshtastic/transport-deno",
|
||||
"version": "0.1.1",
|
||||
"exports": {
|
||||
".": "./mod.ts"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
export { TransportDeno } from "./src/transport.ts";
|
||||
@@ -0,0 +1,32 @@
|
||||
import { Utils } from "@meshtastic/core";
|
||||
import type { Types } from "@meshtastic/core";
|
||||
|
||||
export class TransportDeno implements Types.Transport {
|
||||
private _toDevice: WritableStream<Uint8Array>;
|
||||
private _fromDevice: ReadableStream<Types.DeviceOutput>;
|
||||
|
||||
public static async create(hostname: string): Promise<TransportDeno> {
|
||||
const connection = await Deno.connect({
|
||||
hostname,
|
||||
port: 4403,
|
||||
});
|
||||
return new TransportDeno(connection);
|
||||
}
|
||||
|
||||
constructor(connection: Deno.Conn) {
|
||||
Utils.toDeviceStream.readable.pipeTo(connection.writable);
|
||||
|
||||
this._toDevice = Utils.toDeviceStream.writable;
|
||||
this._fromDevice = connection.readable.pipeThrough(
|
||||
Utils.fromDeviceStream(),
|
||||
);
|
||||
}
|
||||
|
||||
get toDevice(): WritableStream<Uint8Array> {
|
||||
return this._toDevice;
|
||||
}
|
||||
|
||||
get fromDevice(): ReadableStream<Types.DeviceOutput> {
|
||||
return this._fromDevice;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user