Skip to content

@mega-yfue/eufy-sdk / RawDpCodec

Interface: RawDpCodec ​

Reader for the structured, base64-encoded values some device data points carry in place of a plain scalar. Such a value is a length-prefixed field-and-value tree; this walks the tree and reports the fields it finds, with no schema and no notion of which data point the value came from.

The split mirrors DpInboundFrame: decoding a container is a technical job, naming its contents is a semantic one. A capability receives a codec and asks for the field positions whose meaning it knows, so neither half has to carry the other's knowledge.

Methods ​

decode() ​

ts
decode(value): readonly RawDpField[] | undefined;

Decode a base64 payload to its top-level fields, or undefined when the value is not a well-formed payload — a length prefix disagreeing with the body, an encoding this does not recognise, or a string that is not base64 at all. The result is a whole field list or nothing, never a partial read.

Parameters ​

value ​

string

Returns ​

readonly RawDpField[] | undefined


nested() ​

ts
nested(value): readonly RawDpField[] | undefined;

Read a length-delimited field's bytes as a nested field list, on the same terms as decode.

Parameters ​

value ​

Buffer

Returns ​

readonly RawDpField[] | undefined

Independent and unofficial. Not affiliated with, endorsed by, or sponsored by Anker Innovations, Anker eufy, or eufy. "Anker eufy", "eufy" and "Anker" are trademarks of their respective owners. Use responsibly — rapid or failed logins can trigger captcha or temporary cooldowns.