homebridge-homeconnect
Version:
A Homebridge plugin that connects Home Connect appliances to Apple HomeKit
60 lines • 1.98 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 ConfigPlugin = t.iface([], {
"platform": "string",
"name": t.opt("string"),
"clientid": "string",
"clientsecret": t.opt("string"),
"simulator": t.opt("boolean"),
"china": t.opt("boolean"),
"language": t.iface([], {
"api": "string",
}),
"debug": t.opt(t.array("DebugFeatures")),
});
export const DebugFeatures = t.union(t.lit('Log API Headers'), t.lit('Log API Bodies'), t.lit('Log Appliance IDs'), t.lit('Log Debug as Info'), t.lit('Mock Appliances'));
export const ConfigAppliances = t.iface([], {
[t.indexKey]: "ApplianceConfig",
});
export const AddProgramsConfig = t.union(t.lit('none'), t.lit('auto'), t.lit('custom'));
export const ApplianceConfig = t.iface([], {
"enabled": t.opt("boolean"),
"names": t.opt(t.iface([], {
"prefix": "ApplianceNamesPrefix",
})),
"features": t.opt("ApplianceFeatures"),
"addprograms": t.opt("AddProgramsConfig"),
"programs": t.opt(t.array("ApplianceProgramConfig")),
});
export const ApplianceNamesPrefix = t.iface([], {
"programs": t.opt("boolean"),
"other": t.opt("boolean"),
});
export const ApplianceFeatures = t.iface([], {
[t.indexKey]: "boolean",
});
export const ApplianceProgramConfig = t.iface([], {
"name": "string",
"key": "string",
"selectonly": t.opt("boolean"),
"options": t.opt("ApplianceProgramOptions"),
});
export const ApplianceProgramOptions = t.iface([], {
[t.indexKey]: t.union("string", "number", "boolean"),
});
const exportedTypeSuite = {
ConfigPlugin,
DebugFeatures,
ConfigAppliances,
AddProgramsConfig,
ApplianceConfig,
ApplianceNamesPrefix,
ApplianceFeatures,
ApplianceProgramConfig,
ApplianceProgramOptions,
};
export default exportedTypeSuite;
//# sourceMappingURL=config-types-ti.js.map