function parseReply
parseReply(words: string[]): Reply

Parses a reply sentence into a structured Reply object

Converts an array of words from a sentence into a typed Reply object. The first word determines the reply type (!done, !re, !trap, !fatal).

Examples

Parse a done reply

import { assertEquals } from "@std/assert";
import { parseReply, isDone } from "@hertzg/routeros-api/protocol/reply";

const reply = parseReply(["!done"]);
assertEquals(reply.type, "done");
if (isDone(reply)) {
  assertEquals(reply.attributes, undefined);
}

Parse a data reply

import { assertEquals } from "@std/assert";
import { parseReply, isData } from "@hertzg/routeros-api/protocol/reply";

const reply = parseReply(["!re", "=name=ether1", "=type=ether"]);
assertEquals(reply.type, "re");
if (isData(reply)) {
  assertEquals(reply.attributes.name, "ether1");
  assertEquals(reply.attributes.type, "ether");
}

Parse a trap (error) reply

import { assertEquals } from "@std/assert";
import { parseReply, isTrap } from "@hertzg/routeros-api/protocol/reply";

const reply = parseReply(["!trap", "=message=no such item"]);
assertEquals(reply.type, "trap");
if (isTrap(reply)) {
  assertEquals(reply.message, "no such item");
}

Parameters

words: string[]

Array of words from the decoded sentence

Return Type

Parsed reply object with appropriate type

Usage

import { parseReply } from "protocol/reply.ts";