@digital-alchemy/hass 24.8.3 → 24.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -78,6 +78,16 @@ function CallProxy({ logger, lifecycle, internal, hass, config, }) {
78
78
  }
79
79
  return rawProxy[domain];
80
80
  },
81
+ has(_, property) {
82
+ return property in rawProxy;
83
+ },
84
+ ownKeys() {
85
+ return Object.keys(rawProxy);
86
+ },
87
+ set() {
88
+ // lol, no
89
+ return false;
90
+ },
81
91
  });
82
92
  }
83
93
  return buildCallProxy();
@@ -1 +1 @@
1
- {"version":3,"file":"call-proxy.extension.js","sourceRoot":"","sources":["../../src/extensions/call-proxy.extension.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"call-proxy.extension.js","sourceRoot":"","sources":["../../src/extensions/call-proxy.extension.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { TServiceParams } from "@digital-alchemy/core";
2
2
  import { ALL_SERVICE_DOMAINS, HassServiceDTO, iCallService } from "..";
3
- export declare function Configure({ logger, lifecycle, hass, config, internal, }: TServiceParams): {
3
+ export declare const SERVICE_LIST_UPDATED = "SERVICE_LIST_UPDATED";
4
+ export declare function Configure({ logger, lifecycle, event, hass, config, internal, }: TServiceParams): {
4
5
  getServices: () => HassServiceDTO[];
5
6
  isService: <DOMAIN extends ALL_SERVICE_DOMAINS>(domain: DOMAIN, service: string) => service is Extract<keyof iCallService[DOMAIN], string>;
6
7
  loadServiceList: (recursion?: number) => Promise<void>;
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SERVICE_LIST_UPDATED = void 0;
3
4
  exports.Configure = Configure;
4
5
  /* eslint-disable @typescript-eslint/no-magic-numbers */
5
6
  const core_1 = require("@digital-alchemy/core");
@@ -7,7 +8,8 @@ const process_1 = require("process");
7
8
  const __1 = require("..");
8
9
  const MAX_ATTEMPTS = 50;
9
10
  const FAILED = 1;
10
- function Configure({ logger, lifecycle, hass, config, internal, }) {
11
+ exports.SERVICE_LIST_UPDATED = "SERVICE_LIST_UPDATED";
12
+ function Configure({ logger, lifecycle, event, hass, config, internal, }) {
11
13
  lifecycle.onPreInit(() => {
12
14
  // HASSIO_TOKEN provided by home assistant to addons
13
15
  // SUPERVISOR_TOKEN used as alias elsewhere
@@ -63,7 +65,10 @@ function Configure({ logger, lifecycle, hass, config, internal, }) {
63
65
  await (0, core_1.sleep)(config.hass.RETRY_INTERVAL * core_1.SECOND);
64
66
  await loadServiceList(recursion + core_1.INCREMENT);
65
67
  }
66
- checkedServices = new Map();
68
+ else {
69
+ event.emit(exports.SERVICE_LIST_UPDATED, services);
70
+ checkedServices = new Map();
71
+ }
67
72
  }
68
73
  let checkedServices = new Map();
69
74
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"config.extension.js","sourceRoot":"","sources":["../../src/extensions/config.extension.ts"],"names":[],"mappings":";;AAsBA,8BAkGC;AAxHD,wDAAwD;AACxD,gDAQ+B;AAC/B,qCAAoC;AAEpC,0BAKY;AAEZ,MAAM,YAAY,GAAG,EAAE,CAAC;AACxB,MAAM,MAAM,GAAG,CAAC,CAAC;AAEjB,SAAgB,SAAS,CAAC,EACxB,MAAM,EACN,SAAS,EACT,IAAI,EACJ,MAAM,EACN,QAAQ,GACO;IACf,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE;QACvB,oDAAoD;QACpD,2CAA2C;QAC3C,MAAM,KAAK,GAAG,aAAG,CAAC,YAAY,IAAI,aAAG,CAAC,gBAAgB,CAAC;QACvD,IAAI,SAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QACD,MAAM,CAAC,KAAK,CACV,EAAE,IAAI,EAAE,WAAW,EAAE,EACrB,yCAAyC,CAC1C,CAAC;QACF,QAAQ,CAAC,WAAW,CAAC,aAAa,CAAC,GAAG,CACpC,MAAM,EACN,UAAU;QACV,4BAA4B;QAC5B,aAAG,CAAC,WAAW,IAAI,wBAAwB,CAC5C,CAAC;QACF,QAAQ,CAAC,WAAW,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH;;;;OAIG;IACH,SAAS,CAAC,YAAY,CAAC,KAAK,IAAI,EAAE;QAChC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC;YACxC,OAAO;QACT,CAAC;QACD,QAAQ,CAAC,WAAW,CAAC,aAAa,CAAC,GAAG,CAAC,aAAa,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QAC5E,MAAM,IAAA,gBAAS,GAAE,CAAC;QAClB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,wBAAwB,CAAC,CAAC;QAChE,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;YACnD,IAAI,SAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;gBACtB,aAAa;gBACb,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;gBACtD,IAAA,cAAI,EAAC,CAAC,CAAC,CAAC;YACV,CAAC;YACD,cAAc;YACd,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;YACvD,IAAA,cAAI,EAAC,CAAC,CAAC,CAAC;QACV,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,iBAAiB;YACjB,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,wBAAwB,CAAC,CAAC;YACxE,IAAA,cAAI,EAAC,CAAC,CAAC,CAAC;QACV,CAAC;IACH,CAAC,EAAE,wBAAoB,CAAC,QAAQ,CAAC,CAAC;IAElC,IAAI,QAA0B,CAAC;IAC/B,KAAK,UAAU,eAAe,CAAC,SAAS,GAAG,YAAK;QAC9C,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,uBAAuB,CAAC,CAAC;QACjE,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;QAC3C,IAAI,SAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvB,IAAI,SAAS,GAAG,YAAY,EAAE,CAAC;gBAC7B,MAAM,CAAC,KAAK,CACV,EAAE,IAAI,EAAE,eAAe,EAAE,EACzB,iDAAiD,CAClD,CAAC;gBACF,IAAA,cAAI,EAAC,MAAM,CAAC,CAAC;YACf,CAAC;YACD,MAAM,CAAC,IAAI,CACT,EAAE,IAAI,EAAE,eAAe,EAAE,EACzB,uDAAuD,EACvD,SAAS,EACT,YAAY,CACb,CAAC;YACF,MAAM,IAAA,YAAK,EAAC,MAAM,CAAC,IAAI,CAAC,cAAc,GAAG,aAAM,CAAC,CAAC;YACjD,MAAM,eAAe,CAAC,SAAS,GAAG,gBAAS,CAAC,CAAC;QAC/C,CAAC;QACD,eAAe,GAAG,IAAI,GAAG,EAAE,CAAC;IAC9B,CAAC;IACD,IAAI,eAAe,GAAG,IAAI,GAAG,EAAmB,CAAC;IAEjD,OAAO;QACL,WAAW,EAAE,GAAG,EAAE,CAAC,QAAQ;QAC3B,SAAS,EAAE,CACT,MAAc,EACd,OAAe,EACyC,EAAE;YAC1D,IAAI,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBACjC,OAAO,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACtC,CAAC;YACD,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAC1B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,SAAE,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAC/D,CAAC;YACF,eAAe,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACrC,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,eAAe;KAChB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"config.extension.js","sourceRoot":"","sources":["../../src/extensions/config.extension.ts"],"names":[],"mappings":"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"}
@@ -9,5 +9,5 @@ export declare function ReferenceExtension({ hass, logger, internal, event, }: T
9
9
  id: <ENTITY_ID extends ANY_ENTITY>(entity_id: ENTITY_ID) => ByIdProxy<ENTITY_ID>;
10
10
  label: <LABEL extends TLabelId, DOMAINS extends TRawDomains = TRawDomains>(label: LABEL, ...domains: DOMAINS[]) => ByIdProxy<PICK_FROM_LABEL<LABEL, DOMAINS>>[];
11
11
  platform: <PLATFORM extends TPlatformId, DOMAINS extends TRawDomains = TRawDomains>(platform: PLATFORM, ...domains: DOMAINS[]) => ByIdProxy<PICK_FROM_PLATFORM<PLATFORM, DOMAINS>>[];
12
- unique_id: <UNIQUE_ID extends TUniqueId, ENTITY_ID extends Extract<TUniqueIDMapping[UNIQUE_ID], ANY_ENTITY> = Extract<TUniqueIDMapping[UNIQUE_ID], import("../dynamic").TRawEntityIds>>(unique_id: UNIQUE_ID) => ByIdProxy<ENTITY_ID>;
12
+ unique_id: <UNIQUE_ID extends TUniqueId, ENTITY_ID extends Extract<TUniqueIDMapping[UNIQUE_ID], ANY_ENTITY> = Extract<TUniqueIDMapping[UNIQUE_ID], import("..").TRawEntityIds>>(unique_id: UNIQUE_ID) => ByIdProxy<ENTITY_ID>;
13
13
  };
@@ -5,6 +5,7 @@ const tslib_1 = require("tslib");
5
5
  const core_1 = require("@digital-alchemy/core");
6
6
  const dayjs_1 = tslib_1.__importDefault(require("dayjs"));
7
7
  const validator_1 = require("validator");
8
+ const __1 = require("..");
8
9
  const helpers_1 = require("../helpers");
9
10
  function ReferenceExtension({ hass, logger, internal, event, }) {
10
11
  const ENTITY_PROXIES = new Map();
@@ -35,7 +36,44 @@ function ReferenceExtension({ hass, logger, internal, event, }) {
35
36
  function byId(entity_id) {
36
37
  const entity_domain = (0, helpers_1.domain)(entity_id);
37
38
  if (!ENTITY_PROXIES.has(entity_id)) {
38
- const thing = hass.entity.getCurrentState(entity_id);
39
+ const { ...thing } = hass.entity.getCurrentState(entity_id);
40
+ let loaded = false;
41
+ function keys() {
42
+ const entityDomain = (0, helpers_1.domain)(entity_id);
43
+ return [
44
+ "attributes",
45
+ "entity_id",
46
+ "history",
47
+ "last",
48
+ "nextState",
49
+ "once",
50
+ "onUpdate",
51
+ "previous",
52
+ "removeAllListeners",
53
+ "state",
54
+ "waitForState",
55
+ ...hass.configure
56
+ .getServices()
57
+ .filter(({ domain }) => domain === entityDomain)
58
+ .flatMap(i => Object.keys(i.services))
59
+ .sort((a, b) => (a > b ? core_1.UP : core_1.DOWN)),
60
+ ];
61
+ }
62
+ function appendKeys(force = false) {
63
+ if (loaded && !force) {
64
+ return;
65
+ }
66
+ // Not gonna build types for this, and ts-expect-error fails in jest
67
+ // This is a weird hack for an obscure feature, so sue me
68
+ //
69
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
70
+ // @ts-ignore
71
+ keys().forEach(i => (thing[i] ??= () => { }));
72
+ if (!core_1.is.empty(hass.configure.getServices())) {
73
+ loaded = true;
74
+ }
75
+ }
76
+ event.on(__1.SERVICE_LIST_UPDATED, () => appendKeys(true));
39
77
  ENTITY_PROXIES.set(entity_id,
40
78
  // just because you can't do generics properly....
41
79
  new Proxy(thing, {
@@ -140,6 +178,14 @@ function ReferenceExtension({ hass, logger, internal, event, }) {
140
178
  }
141
179
  return proxyGetLogic(entity_id, property);
142
180
  },
181
+ has(_, property) {
182
+ appendKeys();
183
+ return property in thing;
184
+ },
185
+ ownKeys() {
186
+ appendKeys();
187
+ return Object.keys(thing);
188
+ },
143
189
  set(_, property, value) {
144
190
  // * state
145
191
  if (property === "state") {
@@ -1 +1 @@
1
- {"version":3,"file":"reference.extension.js","sourceRoot":"","sources":["../../src/extensions/reference.extension.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reference.extension.js","sourceRoot":"","sources":["../../src/extensions/reference.extension.ts"],"names":[],"mappings":";;AAsCA,gDAoVC;;AA1XD,gDAQ+B;AAC/B,0DAAqC;AAErC,yCAAsC;AAEtC,0BAA0C;AAW1C,wCAYoB;AAEpB,SAAgB,kBAAkB,CAAC,EACjC,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,KAAK,GACU;IACf,MAAM,cAAc,GAAG,IAAI,GAAG,EAAqC,CAAC;IACpE,sBAAsB;IACtB,SAAS,aAAa,CAGpB,MAAc,EAAE,QAAkB;QAClC,MAAM,KAAK,GAAG,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CACrD,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CACvB,CAAC;QACF,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,CAAC,KAAK,CACV,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,EACzC,yBAAyB,CAC1B,CAAC;YACF,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACpD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CACV,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,EAC1B,kCAAkC,CACnC,CAAC;QACJ,CAAC;QACD,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAW,CAAC;YACrE,OAAO,IAAA,eAAK,EAAC,KAAK,CAAwC,CAAC;QAC7D,CAAC;QACD,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YACzB,IAAI,IAAA,gBAAM,EAAC,MAAM,CAAC,KAAK,QAAQ,IAAI,IAAA,qBAAS,EAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5D,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAwC,CAAC;YACtE,CAAC;YACD,OAAO,OAAO,CAAC,KAA4C,CAAC;QAC9D,CAAC;QAED,OAAO,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAwC,CAAC;IAC3E,CAAC;IAED,cAAc;IACd,SAAS,IAAI,CACX,SAAoB;QAEpB,MAAM,aAAa,GAAG,IAAA,gBAAM,EAAC,SAAS,CAAwB,CAAC;QAC/D,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACnC,MAAM,EAAE,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAC9C,SAAS,CACc,CAAC;YAC1B,IAAI,MAAM,GAAG,KAAK,CAAC;YAEnB,SAAS,IAAI;gBACX,MAAM,YAAY,GAAG,IAAA,gBAAM,EAAC,SAAS,CAAC,CAAC;gBACvC,OAAO;oBACL,YAAY;oBACZ,WAAW;oBACX,SAAS;oBACT,MAAM;oBACN,WAAW;oBACX,MAAM;oBACN,UAAU;oBACV,UAAU;oBACV,oBAAoB;oBACpB,OAAO;oBACP,cAAc;oBACd,GAAG,IAAI,CAAC,SAAS;yBACd,WAAW,EAAE;yBACb,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,KAAK,YAAY,CAAC;yBAC/C,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;yBACrC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAE,CAAC,CAAC,CAAC,WAAI,CAAC,CAAC;iBACvC,CAAC;YACJ,CAAC;YACD,SAAS,UAAU,CAAC,KAAK,GAAG,KAAK;gBAC/B,IAAI,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;oBACrB,OAAO;gBACT,CAAC;gBACD,oEAAoE;gBACpE,yDAAyD;gBACzD,EAAE;gBACF,6DAA6D;gBAC7D,aAAa;gBACb,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC;gBAC7C,IAAI,CAAC,SAAE,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;oBAC5C,MAAM,GAAG,IAAI,CAAC;gBAChB,CAAC;YACH,CAAC;YACD,KAAK,CAAC,EAAE,CAAC,wBAAoB,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;YACvD,cAAc,CAAC,GAAG,CAChB,SAAS;YACT,kDAAkD;YAClD,IAAI,KAAK,CAAC,KAAK,EAAE;gBACf,gDAAgD;gBAChD,GAAG,EAAE,CAAC,CAAC,EAAE,QAAqD,EAAE,EAAE;oBAChE,QAAQ,QAAQ,EAAE,CAAC;wBACjB,aAAa;wBACb,KAAK,UAAU,CAAC,CAAC,CAAC;4BAChB,OAAO,CAAC,QAAsB,EAAE,EAAE;gCAChC,MAAM,iBAAiB,GAAG,KAAK,EAC7B,CAA0B,EAC1B,CAA0B,EAC1B,EAAE,CACF,MAAM,QAAQ,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;gCAC9D,SAAS,MAAM;oCACb,KAAK,CAAC,cAAc,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;gCACrD,CAAC;gCAED,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;gCACvC,OAAO,EAAE,MAAM,EAAE,CAAC;4BACpB,CAAC,CAAC;wBACJ,CAAC;wBAED,uBAAuB;wBACvB,KAAK,oBAAoB,CAAC,CAAC,CAAC;4BAC1B,OAAO;gCACL,KAAK,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;4BACtC,CAAC,CAAC;wBACJ,CAAC;wBAED,YAAY;wBACZ,KAAK,SAAS,CAAC,CAAC,CAAC;4BACf,OAAO,KAAK,WAAW,IAAkB,EAAE,EAAgB;gCACzD,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,kBAAkB,CACxC,SAAS,EACT,IAAI,EACJ,EAAE,CACH,CAAC;4BACJ,CAAC,CAAC;wBACJ,CAAC;wBAED,SAAS;wBACT,KAAK,MAAM,CAAC,CAAC,CAAC;4BACZ,OAAO,CAAC,QAAsB,EAAE,EAAE,CAChC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;wBAC1D,CAAC;wBAED,cAAc;wBACd,KAAK,WAAW,CAAC,CAAC,CAAC;4BACjB,OAAO,SAAS,CAAC;wBACnB,CAAC;wBAED,aAAa;wBACb,KAAK,UAAU,CAAC,CAAC,CAAC;4BAChB,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;wBAC9C,CAAC;wBAED,cAAc;wBACd,KAAK,WAAW,CAAC,CAAC,CAAC;4BACjB,OAAO,KAAK,EAAE,OAAgB,EAAE,EAAE,CAChC,MAAM,IAAI,OAAO,CAA0B,KAAK,EAAC,IAAI,EAAC,EAAE;gCACtD,MAAM,QAAQ,GAAG,CAAC,MAA+B,EAAE,EAAE;oCACnD,IAAI,IAAI,EAAE,CAAC;wCACT,IAAI,CAAC,MAAwC,CAAC,CAAC;wCAC/C,IAAI,GAAG,SAAS,CAAC;oCACnB,CAAC;gCACH,CAAC,CAAC;gCACF,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;gCAChC,IAAI,SAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,WAAI,EAAE,CAAC;oCACzC,MAAM,IAAA,YAAK,EAAC,OAAO,CAAC,CAAC;oCACrB,IAAI,IAAI,EAAE,CAAC;wCACT,MAAM,CAAC,KAAK,CACV,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,EACzC,WAAW,CACZ,CAAC;wCACF,IAAI,CAAC,SAAS,CAAC,CAAC;wCAChB,IAAI,GAAG,SAAS,CAAC;wCACjB,KAAK,CAAC,cAAc,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;oCAC5C,CAAC;gCACH,CAAC;4BACH,CAAC,CAAC,CAAC;wBACP,CAAC;wBAED,iBAAiB;wBACjB,KAAK,cAAc,CAAC,CAAC,CAAC;4BACpB,OAAO,KAAK,EAAE,KAAsB,EAAE,OAAgB,EAAE,EAAE,CACxD,MAAM,IAAI,OAAO,CAA0B,KAAK,EAAC,IAAI,EAAC,EAAE;gCACtD,MAAM,QAAQ,GAAG,CAAC,MAA+B,EAAE,EAAE;oCACnD,IAAI,MAAM,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;wCAC3B,MAAM,CAAC,KAAK,CACV;4CACE,QAAQ,EAAE,KAAK;4CACf,QAAQ,EAAE,MAAM,CAAC,KAAK;4CACtB,IAAI,EAAE,cAAc;yCACrB,EACD,qBAAqB,CACtB,CAAC;wCACF,OAAO;oCACT,CAAC;oCACD,IAAI,IAAI,EAAE,CAAC;wCACT,IAAI,CAAC,MAAwC,CAAC,CAAC;wCAC/C,IAAI,GAAG,SAAS,CAAC;wCACjB,KAAK,CAAC,cAAc,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;oCAC5C,CAAC;gCACH,CAAC,CAAC;gCACF,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;gCAC9B,IAAI,SAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,WAAI,EAAE,CAAC;oCACzC,MAAM,IAAA,YAAK,EAAC,OAAO,CAAC,CAAC;oCACrB,IAAI,IAAI,EAAE,CAAC;wCACT,MAAM,CAAC,KAAK,CACV,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,EAC5C,WAAW,CACZ,CAAC;wCACF,IAAI,CAAC,SAAS,CAAC,CAAC;wCAChB,IAAI,GAAG,SAAS,CAAC;wCACjB,KAAK,CAAC,cAAc,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;oCAC5C,CAAC;gCACH,CAAC;4BACH,CAAC,CAAC,CAAC;wBACP,CAAC;oBACH,CAAC;oBACD,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,aAAa,EAAE,QAAQ,CAAC,EAAE,CAAC;wBACtD,OAAO,KAAK,WAAW,IAAI,GAAG,EAAE;4BAC9B,6BAA6B;4BAC7B,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,CAAC;gCAC9C,SAAS;gCACT,GAAG,IAAI;6BACR,CAAC,CAAC;wBACL,CAAC,CAAC;oBACJ,CAAC;oBACD,OAAO,aAAa,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;gBAC5C,CAAC;gBACD,GAAG,CAAC,CAAC,EAAE,QAAgB;oBACrB,UAAU,EAAE,CAAC;oBACb,OAAO,QAAQ,IAAI,KAAK,CAAC;gBAC3B,CAAC;gBACD,OAAO;oBACL,UAAU,EAAE,CAAC;oBACb,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC5B,CAAC;gBACD,GAAG,CACD,CAAC,EACD,QAAqD,EACrD,KAAc;oBAEd,UAAU;oBACV,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;wBACzB,YAAY,CAAC,KAAK,IAAI,EAAE;4BACtB,MAAM,CAAC,KAAK,CACV,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,EAC3B,6BAA6B,CAC9B,CAAC;4BACF,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE;gCACvC,KAAK,EAAE,KAAwB;6BAChC,CAAC,CAAC;wBACL,CAAC,CAAC,CAAC;wBACH,OAAO,IAAI,CAAC;oBACd,CAAC;oBACD,eAAe;oBACf,IAAI,QAAQ,KAAK,YAAY,EAAE,CAAC;wBAC9B,IAAI,CAAC,SAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;4BACtB,MAAM,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;4BACvD,OAAO,KAAK,CAAC;wBACf,CAAC;wBACD,YAAY,CAAC,KAAK,IAAI,EAAE;4BACtB,MAAM,CAAC,KAAK,CACV,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,EAC7C,8BAA8B,CAC/B,CAAC;4BACF,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE;gCACvC,UAAU,EAAE,KAAK;6BAClB,CAAC,CAAC;wBACL,CAAC,CAAC,CAAC;wBACH,OAAO,IAAI,CAAC;oBACd,CAAC;oBACD,MAAM,CAAC,KAAK,CACV,EAAE,SAAS,EAAE,QAAQ,EAAE,EACvB,+BAA+B,CAChC,CAAC;oBACF,OAAO,KAAK,CAAC;gBACf,CAAC;aACF,CAAC,CACH,CAAC;QACJ,CAAC;QACD,OAAO,cAAc,CAAC,GAAG,CAAC,SAAS,CAAyB,CAAC;IAC/D,CAAC;IAED,OAAO;QACL,IAAI,EAAE,CACJ,IAAU,EACV,GAAG,OAAkB,EACuB,EAAE,CAC9C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAgB,IAAI,EAAE,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAErE,MAAM,EAAE,CAIN,MAAc,EACd,GAAG,OAAkB,EAC2B,EAAE,CAClD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAkB,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAE3E,MAAM,EAAE,CACN,MAAc,EACoB,EAAE,CACpC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAS,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEtD,KAAK,EAAE,CACL,KAAY,EACZ,GAAG,OAAkB,EACyB,EAAE,CAChD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAiB,KAAK,EAAE,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAExE,EAAE,EAAE,IAAI;QAER,KAAK,EAAE,CACL,KAAY,EACZ,GAAG,OAAkB,EACyB,EAAE,CAChD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAiB,KAAK,EAAE,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAExE,QAAQ,EAAE,CAIR,QAAkB,EAClB,GAAG,OAAkB,EAC+B,EAAE,CACtD,IAAI,CAAC,IAAI;aACN,QAAQ,CAAoB,QAAQ,EAAE,GAAG,OAAO,CAAC;aACjD,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAExB,SAAS,EAAE,CAOT,SAAoB,EACE,EAAE;YACxB,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAuB,SAAS,CAAC,CAAC;YAChE,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  const dayjs_1 = tslib_1.__importDefault(require("dayjs"));
5
5
  const mock_assistant_1 = require("../mock_assistant");
6
- describe("ID By", () => {
6
+ describe("References", () => {
7
7
  let application;
8
8
  afterEach(async () => {
9
9
  if (application) {
@@ -12,241 +12,326 @@ describe("ID By", () => {
12
12
  }
13
13
  jest.restoreAllMocks();
14
14
  });
15
- describe("refBy.id", () => {
16
- it("can grab references by id", async () => {
17
- expect.assertions(2);
18
- application = (0, mock_assistant_1.CreateTestingApplication)({
19
- Test({ lifecycle, hass }) {
20
- lifecycle.onReady(() => {
21
- const sensor = hass.refBy.id("sensor.magic");
22
- expect(sensor).toBeDefined();
23
- expect(sensor.state).toBe("unavailable");
24
- });
25
- },
26
- });
27
- await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { MOCK_SOCKET: true } }, true));
28
- });
29
- it("references have attributes", async () => {
30
- expect.assertions(1);
31
- application = (0, mock_assistant_1.CreateTestingApplication)({
32
- Test({ lifecycle, hass }) {
33
- lifecycle.onReady(() => {
34
- const sensor = hass.refBy.id("sensor.magic");
35
- expect(sensor.attributes).toEqual(expect.objectContaining({ friendly_name: "magic" }));
36
- });
37
- },
38
- });
39
- await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { MOCK_SOCKET: true } }, true));
40
- });
41
- it("references do not return random attributes", async () => {
42
- expect.assertions(1);
43
- application = (0, mock_assistant_1.CreateTestingApplication)({
44
- Test({ lifecycle, hass }) {
45
- lifecycle.onReady(() => {
46
- const sensor = hass.refBy.id("sensor.magic");
47
- // @ts-expect-error it's the test
48
- expect(sensor.foo).toBeUndefined();
49
- });
50
- },
51
- });
52
- await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { MOCK_SOCKET: true } }, true));
53
- });
54
- it("references provide last_* as dayjs", async () => {
55
- expect.assertions(3);
56
- application = (0, mock_assistant_1.CreateTestingApplication)({
57
- Test({ lifecycle, hass }) {
58
- lifecycle.onReady(() => {
59
- const sensor = hass.refBy.id("sensor.magic");
60
- expect(sensor.last_changed instanceof dayjs_1.default).toBe(true);
61
- expect(sensor.last_reported instanceof dayjs_1.default).toBe(true);
62
- expect(sensor.last_updated instanceof dayjs_1.default).toBe(true);
63
- });
64
- },
65
- });
66
- await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { MOCK_SOCKET: true } }, true));
67
- });
68
- it("passes through history calls", async () => {
69
- expect.assertions(2);
70
- application = (0, mock_assistant_1.CreateTestingApplication)({
71
- Test({ lifecycle, hass }) {
72
- lifecycle.onReady(async () => {
73
- const result = [];
74
- const spy = jest
75
- .spyOn(hass.fetch, "fetchEntityHistory")
76
- .mockImplementation(async () => result);
77
- const from = new Date();
78
- const to = new Date();
79
- const entity_id = "sensor.magic";
80
- const entity = hass.refBy.id(entity_id);
81
- const out = await entity.history(from, to);
82
- expect(spy).toHaveBeenCalledWith(entity_id, from, to);
83
- expect(out).toBe(result);
84
- });
85
- },
86
- });
87
- await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { MOCK_SOCKET: true } }, true));
88
- });
89
- });
90
- describe("domain", () => {
91
- it("load references by domain", async () => {
92
- expect.assertions(1);
93
- application = (0, mock_assistant_1.CreateTestingApplication)({
94
- Test({ lifecycle, hass }) {
95
- lifecycle.onReady(() => {
96
- const sensor = hass.refBy.domain("sensor");
97
- expect(sensor.length).toBe(8);
98
- });
99
- },
100
- });
101
- await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { MOCK_SOCKET: true } }, true));
102
- });
103
- });
104
- describe("unique_id", () => {
105
- it("load references by unique_id", async () => {
106
- expect.assertions(1);
107
- application = (0, mock_assistant_1.CreateTestingApplication)({
108
- Test({ lifecycle, hass }) {
109
- lifecycle.onReady(() => {
110
- const sensor = hass.refBy.unique_id("e1806fdc93296bbd5ab42967003cd38729ff9ba6cfeefc3e15a03ad01ac894fe");
111
- expect(sensor.entity_id).toBe("sensor.magic");
112
- });
113
- },
114
- });
115
- await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { MOCK_SOCKET: true } }, true));
116
- });
117
- });
118
- describe("label", () => {
119
- it("load references by label", async () => {
120
- expect.assertions(1);
121
- application = (0, mock_assistant_1.CreateTestingApplication)({
122
- Test({ lifecycle, hass }) {
123
- lifecycle.onReady(() => {
124
- const list = hass.refBy.label("synapse");
125
- expect(list.length).toBe(7);
126
- });
127
- },
128
- });
129
- await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { MOCK_SOCKET: true } }, true));
15
+ describe("loading", function () {
16
+ describe("refBy.id", () => {
17
+ it("can grab references by id", async () => {
18
+ expect.assertions(2);
19
+ application = (0, mock_assistant_1.CreateTestingApplication)({
20
+ Test({ lifecycle, hass }) {
21
+ lifecycle.onReady(() => {
22
+ const sensor = hass.refBy.id("sensor.magic");
23
+ expect(sensor).toBeDefined();
24
+ expect(sensor.state).toBe("unavailable");
25
+ });
26
+ },
27
+ });
28
+ await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { MOCK_SOCKET: true } }, true));
29
+ });
130
30
  });
131
- it("load references by label limiting by domain", async () => {
132
- expect.assertions(1);
133
- application = (0, mock_assistant_1.CreateTestingApplication)({
134
- Test({ lifecycle, hass }) {
135
- lifecycle.onReady(() => {
136
- const list = hass.refBy.label("synapse", "light");
137
- expect(list.length).toBe(0);
138
- });
139
- },
140
- });
141
- await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { MOCK_SOCKET: true } }, true));
31
+ describe("domain", () => {
32
+ it("load references by domain", async () => {
33
+ expect.assertions(1);
34
+ application = (0, mock_assistant_1.CreateTestingApplication)({
35
+ Test({ lifecycle, hass }) {
36
+ lifecycle.onReady(() => {
37
+ const sensor = hass.refBy.domain("sensor");
38
+ expect(sensor.length).toBe(8);
39
+ });
40
+ },
41
+ });
42
+ await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { MOCK_SOCKET: true } }, true));
43
+ });
142
44
  });
143
- });
144
- describe("area", () => {
145
- it("load references by area", async () => {
146
- expect.assertions(2);
147
- application = (0, mock_assistant_1.CreateTestingApplication)({
148
- Test({ lifecycle, hass }) {
149
- lifecycle.onReady(() => {
150
- const bedroom = hass.refBy.area("bedroom");
151
- const kitchen = hass.refBy.area("kitchen");
152
- expect(bedroom.length).toBe(2);
153
- expect(kitchen.length).toBe(1);
154
- });
155
- },
156
- });
157
- await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { MOCK_SOCKET: true } }, true));
45
+ describe("unique_id", () => {
46
+ it("load references by unique_id", async () => {
47
+ expect.assertions(1);
48
+ application = (0, mock_assistant_1.CreateTestingApplication)({
49
+ Test({ lifecycle, hass }) {
50
+ lifecycle.onReady(() => {
51
+ const sensor = hass.refBy.unique_id("e1806fdc93296bbd5ab42967003cd38729ff9ba6cfeefc3e15a03ad01ac894fe");
52
+ expect(sensor.entity_id).toBe("sensor.magic");
53
+ });
54
+ },
55
+ });
56
+ await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { MOCK_SOCKET: true } }, true));
57
+ });
158
58
  });
159
- it("load references by area limiting by domain", async () => {
160
- expect.assertions(2);
161
- application = (0, mock_assistant_1.CreateTestingApplication)({
162
- Test({ lifecycle, hass }) {
163
- lifecycle.onReady(() => {
164
- const bedroom = hass.refBy.area("bedroom", "light");
165
- const kitchen = hass.refBy.area("kitchen", "light");
166
- expect(bedroom.length).toBe(1);
167
- expect(kitchen.length).toBe(0);
168
- });
169
- },
170
- });
171
- await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { MOCK_SOCKET: true } }, true));
59
+ describe("label", () => {
60
+ it("load references by label", async () => {
61
+ expect.assertions(1);
62
+ application = (0, mock_assistant_1.CreateTestingApplication)({
63
+ Test({ lifecycle, hass }) {
64
+ lifecycle.onReady(() => {
65
+ const list = hass.refBy.label("synapse");
66
+ expect(list.length).toBe(7);
67
+ });
68
+ },
69
+ });
70
+ await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { MOCK_SOCKET: true } }, true));
71
+ });
72
+ it("load references by label limiting by domain", async () => {
73
+ expect.assertions(1);
74
+ application = (0, mock_assistant_1.CreateTestingApplication)({
75
+ Test({ lifecycle, hass }) {
76
+ lifecycle.onReady(() => {
77
+ const list = hass.refBy.label("synapse", "light");
78
+ expect(list.length).toBe(0);
79
+ });
80
+ },
81
+ });
82
+ await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { MOCK_SOCKET: true } }, true));
83
+ });
172
84
  });
173
- });
174
- describe("device", () => {
175
- it("load references by device", async () => {
176
- expect.assertions(1);
177
- application = (0, mock_assistant_1.CreateTestingApplication)({
178
- Test({ lifecycle, hass }) {
179
- lifecycle.onReady(() => {
180
- const synapse = hass.refBy.device("308e39cf50a9fc6c30b4110724ed1f2e");
181
- expect(synapse.length).toBe(9);
182
- });
183
- },
184
- });
185
- await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { MOCK_SOCKET: true } }, true));
85
+ describe("area", () => {
86
+ it("load references by area", async () => {
87
+ expect.assertions(2);
88
+ application = (0, mock_assistant_1.CreateTestingApplication)({
89
+ Test({ lifecycle, hass }) {
90
+ lifecycle.onReady(() => {
91
+ const bedroom = hass.refBy.area("bedroom");
92
+ const kitchen = hass.refBy.area("kitchen");
93
+ expect(bedroom.length).toBe(2);
94
+ expect(kitchen.length).toBe(1);
95
+ });
96
+ },
97
+ });
98
+ await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { MOCK_SOCKET: true } }, true));
99
+ });
100
+ it("load references by area limiting by domain", async () => {
101
+ expect.assertions(2);
102
+ application = (0, mock_assistant_1.CreateTestingApplication)({
103
+ Test({ lifecycle, hass }) {
104
+ lifecycle.onReady(() => {
105
+ const bedroom = hass.refBy.area("bedroom", "light");
106
+ const kitchen = hass.refBy.area("kitchen", "light");
107
+ expect(bedroom.length).toBe(1);
108
+ expect(kitchen.length).toBe(0);
109
+ });
110
+ },
111
+ });
112
+ await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { MOCK_SOCKET: true } }, true));
113
+ });
186
114
  });
187
- it("load references by device limiting by domain", async () => {
188
- expect.assertions(1);
189
- application = (0, mock_assistant_1.CreateTestingApplication)({
190
- Test({ lifecycle, hass }) {
191
- lifecycle.onReady(() => {
192
- const synapse = hass.refBy.device("308e39cf50a9fc6c30b4110724ed1f2e", "light");
193
- expect(synapse.length).toBe(0);
194
- });
195
- },
196
- });
197
- await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { MOCK_SOCKET: true } }, true));
115
+ describe("device", () => {
116
+ it("load references by device", async () => {
117
+ expect.assertions(1);
118
+ application = (0, mock_assistant_1.CreateTestingApplication)({
119
+ Test({ lifecycle, hass }) {
120
+ lifecycle.onReady(() => {
121
+ const synapse = hass.refBy.device("308e39cf50a9fc6c30b4110724ed1f2e");
122
+ expect(synapse.length).toBe(9);
123
+ });
124
+ },
125
+ });
126
+ await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { MOCK_SOCKET: true } }, true));
127
+ });
128
+ it("load references by device limiting by domain", async () => {
129
+ expect.assertions(1);
130
+ application = (0, mock_assistant_1.CreateTestingApplication)({
131
+ Test({ lifecycle, hass }) {
132
+ lifecycle.onReady(() => {
133
+ const synapse = hass.refBy.device("308e39cf50a9fc6c30b4110724ed1f2e", "light");
134
+ expect(synapse.length).toBe(0);
135
+ });
136
+ },
137
+ });
138
+ await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { MOCK_SOCKET: true } }, true));
139
+ });
198
140
  });
199
- });
200
- describe("platform", () => {
201
- it("load references by platform", async () => {
202
- expect.assertions(1);
203
- application = (0, mock_assistant_1.CreateTestingApplication)({
204
- Test({ lifecycle, hass }) {
205
- lifecycle.onReady(() => {
206
- const synapse = hass.refBy.platform("synapse");
207
- expect(synapse.length).toBe(7);
208
- });
209
- },
210
- });
211
- await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { MOCK_SOCKET: true } }, true));
141
+ describe("platform", () => {
142
+ it("load references by platform", async () => {
143
+ expect.assertions(1);
144
+ application = (0, mock_assistant_1.CreateTestingApplication)({
145
+ Test({ lifecycle, hass }) {
146
+ lifecycle.onReady(() => {
147
+ const synapse = hass.refBy.platform("synapse");
148
+ expect(synapse.length).toBe(7);
149
+ });
150
+ },
151
+ });
152
+ await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { MOCK_SOCKET: true } }, true));
153
+ });
154
+ it("load references by platform limiting by domain", async () => {
155
+ expect.assertions(1);
156
+ application = (0, mock_assistant_1.CreateTestingApplication)({
157
+ Test({ lifecycle, hass }) {
158
+ lifecycle.onReady(() => {
159
+ const synapse = hass.refBy.platform("synapse", "light");
160
+ expect(synapse.length).toBe(0);
161
+ });
162
+ },
163
+ });
164
+ await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { MOCK_SOCKET: true } }, true));
165
+ });
212
166
  });
213
- it("load references by platform limiting by domain", async () => {
214
- expect.assertions(1);
215
- application = (0, mock_assistant_1.CreateTestingApplication)({
216
- Test({ lifecycle, hass }) {
217
- lifecycle.onReady(() => {
218
- const synapse = hass.refBy.platform("synapse", "light");
219
- expect(synapse.length).toBe(0);
220
- });
221
- },
222
- });
223
- await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { MOCK_SOCKET: true } }, true));
167
+ describe("floor", () => {
168
+ it("load references by floor", async () => {
169
+ expect.assertions(1);
170
+ application = (0, mock_assistant_1.CreateTestingApplication)({
171
+ Test({ lifecycle, hass }) {
172
+ lifecycle.onReady(() => {
173
+ const synapse = hass.refBy.floor("downstairs");
174
+ expect(synapse.length).toBe(3);
175
+ });
176
+ },
177
+ });
178
+ await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { MOCK_SOCKET: true } }, true));
179
+ });
180
+ it("load references by floor limiting by domain", async () => {
181
+ expect.assertions(1);
182
+ application = (0, mock_assistant_1.CreateTestingApplication)({
183
+ Test({ lifecycle, hass }) {
184
+ lifecycle.onReady(() => {
185
+ const synapse = hass.refBy.floor("downstairs", "light");
186
+ expect(synapse.length).toBe(0);
187
+ });
188
+ },
189
+ });
190
+ await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { MOCK_SOCKET: true } }, true));
191
+ });
224
192
  });
225
193
  });
226
- describe("floor", () => {
227
- it("load references by floor", async () => {
228
- expect.assertions(1);
229
- application = (0, mock_assistant_1.CreateTestingApplication)({
230
- Test({ lifecycle, hass }) {
231
- lifecycle.onReady(() => {
232
- const synapse = hass.refBy.floor("downstairs");
233
- expect(synapse.length).toBe(3);
234
- });
235
- },
236
- });
237
- await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { MOCK_SOCKET: true } }, true));
194
+ describe("functionality", () => {
195
+ describe("operators", () => {
196
+ it("has", async () => {
197
+ expect.assertions(15);
198
+ application = (0, mock_assistant_1.CreateTestingApplication)({
199
+ Test({ lifecycle, hass }) {
200
+ lifecycle.onReady(() => {
201
+ const entity = hass.refBy.id("switch.bedroom_lamp");
202
+ // always there stuff
203
+ expect("does not exist" in entity).toBe(false);
204
+ [
205
+ "attributes",
206
+ "entity_id",
207
+ "history",
208
+ "last",
209
+ "nextState",
210
+ "once",
211
+ "onUpdate",
212
+ "previous",
213
+ "removeAllListeners",
214
+ "state",
215
+ "waitForState",
216
+ ].forEach(property => expect(property in entity).toBe(true));
217
+ // service calls exist too
218
+ ["toggle", "turn_off", "turn_on"].forEach(method => expect(method in entity).toBe(true));
219
+ });
220
+ },
221
+ });
222
+ await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { MOCK_SOCKET: true } }, true));
223
+ });
224
+ it("ownKeys", async () => {
225
+ expect.assertions(1);
226
+ application = (0, mock_assistant_1.CreateTestingApplication)({
227
+ Test({ lifecycle, hass }) {
228
+ lifecycle.onReady(() => {
229
+ const entity = hass.refBy.id("switch.bedroom_lamp");
230
+ const keys = Object.keys(entity);
231
+ // note: each section sorted alphabetically
232
+ expect(keys).toEqual([
233
+ // hard coded
234
+ "entity_id",
235
+ "state",
236
+ "attributes",
237
+ "last_changed",
238
+ "last_reported",
239
+ "last_updated",
240
+ "context",
241
+ "history",
242
+ "last",
243
+ "nextState",
244
+ "once",
245
+ "onUpdate",
246
+ "previous",
247
+ "removeAllListeners",
248
+ "waitForState",
249
+ // services
250
+ "toggle",
251
+ "turn_off",
252
+ "turn_on",
253
+ ]);
254
+ });
255
+ },
256
+ });
257
+ await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { MOCK_SOCKET: true } }, true));
258
+ });
259
+ describe("set", () => {
260
+ it("state", () => {
261
+ // stub
262
+ });
263
+ it("attributes", () => {
264
+ // stub
265
+ });
266
+ it("everything else", () => {
267
+ // stub
268
+ });
269
+ });
238
270
  });
239
- it("load references by floor limiting by domain", async () => {
240
- expect.assertions(1);
241
- application = (0, mock_assistant_1.CreateTestingApplication)({
242
- Test({ lifecycle, hass }) {
243
- lifecycle.onReady(() => {
244
- const synapse = hass.refBy.floor("downstairs", "light");
245
- expect(synapse.length).toBe(0);
246
- });
247
- },
248
- });
249
- await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { MOCK_SOCKET: true } }, true));
271
+ describe("get", () => {
272
+ it("references have attributes", async () => {
273
+ expect.assertions(2);
274
+ application = (0, mock_assistant_1.CreateTestingApplication)({
275
+ Test({ lifecycle, hass }) {
276
+ lifecycle.onReady(() => {
277
+ const sensor = hass.refBy.id("sensor.magic");
278
+ expect("attributes" in sensor).toBe(true);
279
+ expect(sensor.attributes).toEqual(expect.objectContaining({ friendly_name: "magic" }));
280
+ });
281
+ },
282
+ });
283
+ await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { MOCK_SOCKET: true } }, true));
284
+ });
285
+ // mental note: legacy test
286
+ // better covered by the ownKeys & has operator tests now
287
+ it("references do not return random attributes", async () => {
288
+ expect.assertions(1);
289
+ application = (0, mock_assistant_1.CreateTestingApplication)({
290
+ Test({ lifecycle, hass }) {
291
+ lifecycle.onReady(() => {
292
+ const sensor = hass.refBy.id("sensor.magic");
293
+ // @ts-expect-error it's the test
294
+ expect(sensor.foo).toBeUndefined();
295
+ });
296
+ },
297
+ });
298
+ await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { MOCK_SOCKET: true } }, true));
299
+ });
300
+ it("references provide last_* as dayjs", async () => {
301
+ expect.assertions(3);
302
+ application = (0, mock_assistant_1.CreateTestingApplication)({
303
+ Test({ lifecycle, hass }) {
304
+ lifecycle.onReady(() => {
305
+ const sensor = hass.refBy.id("sensor.magic");
306
+ expect(sensor.last_changed instanceof dayjs_1.default).toBe(true);
307
+ expect(sensor.last_reported instanceof dayjs_1.default).toBe(true);
308
+ expect(sensor.last_updated instanceof dayjs_1.default).toBe(true);
309
+ });
310
+ },
311
+ });
312
+ await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { MOCK_SOCKET: true } }, true));
313
+ });
314
+ it("passes through history calls", async () => {
315
+ expect.assertions(2);
316
+ application = (0, mock_assistant_1.CreateTestingApplication)({
317
+ Test({ lifecycle, hass }) {
318
+ lifecycle.onReady(async () => {
319
+ const result = [];
320
+ const spy = jest
321
+ .spyOn(hass.fetch, "fetchEntityHistory")
322
+ .mockImplementation(async () => result);
323
+ const from = new Date();
324
+ const to = new Date();
325
+ const entity_id = "sensor.magic";
326
+ const entity = hass.refBy.id(entity_id);
327
+ const out = await entity.history(from, to);
328
+ expect(spy).toHaveBeenCalledWith(entity_id, from, to);
329
+ expect(out).toBe(result);
330
+ });
331
+ },
332
+ });
333
+ await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({ hass: { MOCK_SOCKET: true } }, true));
334
+ });
250
335
  });
251
336
  });
252
337
  });
@@ -1 +1 @@
1
- {"version":3,"file":"ref-by.spec.js","sourceRoot":"","sources":["../../src/testing/ref-by.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ref-by.spec.js","sourceRoot":"","sources":["../../src/testing/ref-by.spec.ts"],"names":[],"mappings":"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"}
@@ -115,5 +115,68 @@ describe("Workflows", () => {
115
115
  });
116
116
  });
117
117
  });
118
+ describe("Call", () => {
119
+ const EXPECTED_KEYS = [
120
+ "persistent_notification",
121
+ "homeassistant",
122
+ "system_log",
123
+ "logger",
124
+ "recorder",
125
+ "person",
126
+ "frontend",
127
+ "cloud",
128
+ "ffmpeg",
129
+ "tts",
130
+ "scene",
131
+ "timer",
132
+ "input_number",
133
+ "conversation",
134
+ "input_select",
135
+ "zone",
136
+ "input_button",
137
+ "script",
138
+ "automation",
139
+ "logbook",
140
+ "input_boolean",
141
+ "button",
142
+ "switch",
143
+ "input_datetime",
144
+ "backup",
145
+ "shopping_list",
146
+ "counter",
147
+ "schedule",
148
+ "input_text",
149
+ "synapse",
150
+ "todo",
151
+ "notify",
152
+ "calendar",
153
+ ];
154
+ it("does not allow set", async () => {
155
+ expect.assertions(1);
156
+ await runner(undefined, async ({ hass }) => {
157
+ try {
158
+ // @ts-expect-error testing
159
+ hass.call.button = {};
160
+ }
161
+ catch (error) {
162
+ expect(error).toBeDefined();
163
+ }
164
+ });
165
+ });
166
+ it("provides keys via ownKeys", async () => {
167
+ expect.assertions(1);
168
+ await runner(undefined, async ({ hass }) => {
169
+ const keys = Object.keys(hass.call);
170
+ expect(keys).toEqual(EXPECTED_KEYS);
171
+ });
172
+ });
173
+ it("does has correctly", async () => {
174
+ expect.assertions(34);
175
+ await runner(undefined, async ({ hass }) => {
176
+ EXPECTED_KEYS.forEach(i => expect(i in hass.call).toBe(true));
177
+ expect("unknown_property" in hass.call).toBe(false);
178
+ });
179
+ });
180
+ });
118
181
  });
119
182
  //# sourceMappingURL=workflow.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflow.spec.js","sourceRoot":"","sources":["../../src/testing/workflow.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow.spec.js","sourceRoot":"","sources":["../../src/testing/workflow.spec.ts"],"names":[],"mappings":";;;AAAA,gDAM+B;AAC/B,0DAA0B;AAE1B,0BAA8B;AAC9B,sDAAqD;AAErD,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,MAAM,WAAW,GAAG,IAAA,wBAAiB,EAAC;QACpC,SAAS,EAAE,CAAC,YAAQ,CAAC;QACrB,2BAA2B;QAC3B,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE;YACR,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAkB;gBACtC,SAAS,CAAC,IAAI,CAAC;oBACb,KAAK,CAAC,IAAI;wBACR,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;4BAC7B,SAAS,EAAE,qBAAqB;yBACjC,CAAC,CAAC;oBACL,CAAC;oBACD,QAAQ,EAAE,qBAAc,CAAC,gBAAgB;iBAC1C,CAAC,CAAC;gBAEH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC;gBAC7C,MAAM,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;oBACzB,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;oBAChE,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;wBAC7B,SAAS,EAAE,oBAAoB;qBAChC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;gBAEH,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE;oBAC7C,IAAI,SAAS,CAAC,KAAK,KAAK,MAAM,IAAI,SAAS,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;wBAC7D,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;4BAC7B,SAAS,EAAE,gCAAgC;yBAC5C,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;SACF;KACF,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,IAAA,iCAAgB,EAAC,WAAW,CAAC,CAAC;IAE7C,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,MAAM,WAAW,CAAC,QAAQ,EAAE,CAAC;QAC7B,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;YACpD,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACrB,MAAM,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE,EAAE;gBACzD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;gBACvD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;gBACzD,MAAM,cAAc,CAAC,MAAM,CAAC,gBAAgB,CAAC,cAAc,EAAE;oBAC3D,KAAK,EAAE,MAAM;iBACd,CAAC,CAAC;gBACH,MAAM,cAAc,CAAC,MAAM,CAAC,gBAAgB,CAAC,cAAc,EAAE;oBAC3D,KAAK,EAAE,KAAK;iBACb,CAAC,CAAC;gBACH,MAAM,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;gBACxC,MAAM,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;YACjE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACrB,MAAM,MAAM,CACV,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE;gBACrB,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC;oBAC/B,cAAc,EAAE;wBACd,KAAK,EAAE,MAAM;qBACd;iBACF,CAAC,CAAC;YACL,CAAC,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE;gBACjC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;gBACvD,MAAM,cAAc,CAAC,MAAM,CAAC,gBAAgB,CAAC,cAAc,EAAE;oBAC3D,KAAK,EAAE,MAAM;iBACd,CAAC,CAAC;gBACH,MAAM,IAAA,YAAK,EAAC,CAAC,CAAC,CAAC;gBACf,MAAM,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC;oBAClC,SAAS,EAAE,gCAAgC;iBAC5C,CAAC,CAAC;YACL,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;YAClE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACrB,MAAM,MAAM,CACV,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,CACrB,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAC/B,cAAc,EAAE;oBACd,KAAK,EAAE,MAAM;iBACd;aACF,CAAC,EACJ,KAAK,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE;gBACjC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;gBACvD,MAAM,cAAc,CAAC,MAAM,CAAC,gBAAgB,CAAC,cAAc,EAAE;oBAC3D,KAAK,EAAE,MAAM;iBACd,CAAC,CAAC;gBACH,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC;oBACtC,SAAS,EAAE,gCAAgC;iBAC5C,CAAC,CAAC;YACL,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;QACtB,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC,GAAG,EAAE;YACb,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mBAAmB,EAAE,KAAK,IAAI,EAAE;YACjC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACrB,MAAM,MAAM,CACV,GAAG,EAAE;gBACH,IAAI,CAAC,aAAa,CAAC,IAAA,eAAK,EAAC,qBAAqB,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC1D,IAAI,CAAC,yBAAyB,EAAE,CAAC;YACnC,CAAC,EACD,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;gBACX,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;gBACvD,IAAI,CAAC,mBAAmB,CAAC,CAAC,GAAG,aAAM,CAAC,CAAC;gBACrC,MAAM,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC;oBAClC,SAAS,EAAE,qBAAqB;iBACjC,CAAC,CAAC;YACL,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE;QACpB,MAAM,aAAa,GAAG;YACpB,yBAAyB;YACzB,eAAe;YACf,YAAY;YACZ,QAAQ;YACR,UAAU;YACV,QAAQ;YACR,UAAU;YACV,OAAO;YACP,QAAQ;YACR,KAAK;YACL,OAAO;YACP,OAAO;YACP,cAAc;YACd,cAAc;YACd,cAAc;YACd,MAAM;YACN,cAAc;YACd,QAAQ;YACR,YAAY;YACZ,SAAS;YACT,eAAe;YACf,QAAQ;YACR,QAAQ;YACR,gBAAgB;YAChB,QAAQ;YACR,eAAe;YACf,SAAS;YACT,UAAU;YACV,YAAY;YACZ,SAAS;YACT,MAAM;YACN,QAAQ;YACR,UAAU;SACX,CAAC;QACF,EAAE,CAAC,oBAAoB,EAAE,KAAK,IAAI,EAAE;YAClC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACrB,MAAM,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;gBACzC,IAAI,CAAC;oBACH,2BAA2B;oBAC3B,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;gBACxB,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;gBAC9B,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;YACzC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACrB,MAAM,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;gBACzC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACpC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oBAAoB,EAAE,KAAK,IAAI,EAAE;YAClC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YACtB,MAAM,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;gBACzC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC9D,MAAM,CAAC,kBAAkB,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@digital-alchemy/hass",
3
3
  "repository": "https://github.com/Digital-Alchemy-TS/hass",
4
4
  "homepage": "https://docs.digital-alchemy.app",
5
- "version": "24.8.3",
5
+ "version": "24.9.1",
6
6
  "description": "Typescript APIs for Home Assistant. Includes rest & websocket bindings",
7
7
  "scripts": {
8
8
  "build": "rm -rf dist/; tsc",
@@ -63,7 +63,7 @@
63
63
  "@cspell/eslint-plugin": "^8.8.4",
64
64
  "@digital-alchemy/core": "^24.8.4",
65
65
  "@digital-alchemy/synapse": "^24.8.2",
66
- "@digital-alchemy/type-writer": "^24.8.1",
66
+ "@digital-alchemy/type-writer": "^24.8.2",
67
67
  "@types/figlet": "^1.5.8",
68
68
  "@types/jest": "^29.5.12",
69
69
  "@types/js-yaml": "^4.0.9",