homebridge-aeg-robot
Version:
AEG RX9 / Electrolux Pure i9 robot vacuum plugin for Homebridge
120 lines • 4.3 kB
JavaScript
/**
* This module was automatically generated by `ts-interface-builder`
*/
import * as t from "ts-interface-checker";
// tslint:disable:object-literal-key-quotes
export const ApplianceId = t.name("string");
export const ApplianceStatus = t.union(t.lit('enabled'), t.lit('disabled'));
export const ConnectionState = t.union(t.lit('Connected'), t.lit('Disconnected'));
export const Appliance = t.iface([], {
"applianceId": "ApplianceId",
"applianceName": "string",
"applianceType": "string",
"created": "string",
});
export const Appliances = t.array("Appliance");
export const ApplianceInfoDTO = t.iface([], {
"serialNumber": "string",
"pnc": "string",
"brand": "string",
"deviceType": "string",
"model": "string",
"variant": "string",
"colour": "string",
});
export const CapabilityAccess = t.union(t.lit('read'), t.lit('readwrite'), t.lit('write'), t.lit('constant'));
export const CapabilityType = t.union(t.lit('string'), t.lit('number'), t.lit('int'), t.lit('boolean'), t.lit('complex'), t.lit('temperature'), t.lit('alert'));
export const CapabilityValue = t.union("string", "number", "boolean");
export const CapabilityValues = t.iface([], {
[t.indexKey]: "object",
});
export const ConditionOperand = t.union("string", "CapabilityValue", "object");
export const ConditionOperator = t.union(t.lit('eq'), t.lit('gt'), t.lit('ne'), t.lit('lt'), t.lit('ge'), t.lit('le'), t.lit('and'), t.lit('or'));
export const TriggerCondition = t.iface([], {
"operand_1": "ConditionOperand",
"operand_2": "ConditionOperand",
"operator": "ConditionOperator",
});
export const TriggerAction = t.iface([], {
[t.indexKey]: "object",
});
export const CapabilityTrigger = t.iface([], {
"condition": "TriggerCondition",
"action": "TriggerAction",
});
export const ApplianceCapabilityPropertiesBase = t.iface([], {
"access": "CapabilityAccess",
"type": "CapabilityType",
"default": t.opt("CapabilityValue"),
"disabled": t.opt("boolean"),
"schedulable": t.opt("boolean"),
"triggers": t.opt(t.array("CapabilityTrigger")),
});
export const ApplianceCapabilityPropertiesNumber = t.iface([], {
"access": "CapabilityAccess",
"type": t.union(t.lit('number'), t.lit('int'), t.lit('temperature')),
"default": t.opt("number"),
"disabled": t.opt("boolean"),
"min": t.opt("number"),
"max": t.opt("number"),
"step": t.opt("number"),
});
export const ApplianceCapabilityPropertiesString = t.iface([], {
"access": "CapabilityAccess",
"type": t.union(t.lit('string'), t.lit('alert')),
"default": t.opt("string"),
"disabled": t.opt("boolean"),
"values": t.opt("CapabilityValues"),
});
export const ApplianceCapabilityProperties = t.union("ApplianceCapabilityPropertiesBase", "ApplianceCapabilityPropertiesNumber", "ApplianceCapabilityPropertiesString");
export const ApplianceCapabilities = t.iface([], {
[t.indexKey]: t.union("ApplianceCapabilities", "ApplianceCapabilityProperties"),
});
export const ApplianceInfo = t.iface([], {
"applianceInfo": "ApplianceInfoDTO",
"capabilities": "ApplianceCapabilities",
});
export const ApplianceStateProperties = t.iface([], {
"reported": "object",
});
export const ApplianceState = t.iface([], {
"applianceId": "ApplianceId",
"connectionState": "ConnectionState",
"status": "ApplianceStatus",
"properties": "ApplianceStateProperties",
});
export const Command = t.name("object");
export const ErrorResponse = t.iface([], {
"message": "string",
"error": t.opt("string"),
"detail": t.opt("string"),
});
const exportedTypeSuite = {
ApplianceId,
ApplianceStatus,
ConnectionState,
Appliance,
Appliances,
ApplianceInfoDTO,
CapabilityAccess,
CapabilityType,
CapabilityValue,
CapabilityValues,
ConditionOperand,
ConditionOperator,
TriggerCondition,
TriggerAction,
CapabilityTrigger,
ApplianceCapabilityPropertiesBase,
ApplianceCapabilityPropertiesNumber,
ApplianceCapabilityPropertiesString,
ApplianceCapabilityProperties,
ApplianceCapabilities,
ApplianceInfo,
ApplianceStateProperties,
ApplianceState,
Command,
ErrorResponse,
};
export default exportedTypeSuite;
//# sourceMappingURL=aegapi-types-ti.js.map