Skip to content

@mega-yfue/eufy-sdk / ConditionalKeys

Type Alias: ConditionalKeys<M>

ts
type ConditionalKeys<M> = 
  | UnverifiedKeys<M>
  | { [K in keyof M]: M[K] extends { requires: readonly number[] } ? K : never }[keyof M]
  | { [K in keyof M]: M[K] extends { requiresRead: true } ? K : never }[keyof M]
  | { [K in keyof M]: M[K] extends { available: unknown } ? K : never }[keyof M];

Members whose presence is a runtime fact, so the surface must make a caller check: a write installed only on the devices that prove they speak it (ValueMember.requires), or one whose wire is not captured (ValueMember.unverified).

Type Parameters

M

M extends Members

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.