function repeated
repeated<T>(item: XmlField<T>): XmlField<T[]>

Elements repeated directly under the parent, such as several <AlarmEvent> inside <AlarmEventList>. Missing elements read as [].

Examples

Read repeated elements

import { assertEquals } from "@std/assert";
import { parse } from "@std/xml";
import { int, obj, repeated } from "@hertzg/reolink-api/protocol/xml";

const events = repeated(obj({ channelId: int() }));
const parent = parse(
  "<list><event><channelId>0</channelId></event><event><channelId>1</channelId></event></list>",
).root;

assertEquals(events.decode("event", parent), [{ channelId: 0 }, { channelId: 1 }]);

Type Parameters

Parameters

item: XmlField<T>

The codec for one element.

Return Type

A field codec for an array.

Usage

import { repeated } from "protocol/xml.ts";