@digital-alchemy/core 0.1.14 → 0.1.15

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.
@@ -0,0 +1,2 @@
1
+ import { TServiceParams } from "../..";
2
+ export declare function Configure({ logger, lifecycle, hass, config, internal, }: TServiceParams): void;
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Configure = void 0;
4
+ /* eslint-disable @typescript-eslint/no-magic-numbers */
5
+ const process_1 = require("process");
6
+ const __1 = require("../..");
7
+ const __2 = require("..");
8
+ function Configure({ logger, lifecycle, hass, config, internal, }) {
9
+ /**
10
+ * Check for environment defined tokens provided by Home Assistant
11
+ *
12
+ * If available, override defaults to match
13
+ */
14
+ lifecycle.onPreInit(() => {
15
+ const token = process_1.env.HASSIO_TOKEN || process_1.env.SUPERVISOR_TOKEN;
16
+ if (__1.is.empty(token)) {
17
+ return;
18
+ }
19
+ logger.debug(`auto configuring from addon environment`);
20
+ internal.config.set("hass", "BASE_URL", process_1.env.HASS_SERVER || "http://supervisor/core");
21
+ internal.config.set("hass", "TOKEN", token);
22
+ });
23
+ /**
24
+ * Request by someone to validate the provided credentials are valid
25
+ *
26
+ * Send a test request, and provide feedback on what happened
27
+ */
28
+ lifecycle.onPostConfig(async () => {
29
+ if (!config.hass.VALIDATE_CONFIGURATION) {
30
+ return;
31
+ }
32
+ __1.ZCC.logger.setLogLevel("trace");
33
+ logger.info(`validating credentials`);
34
+ try {
35
+ const result = await hass.fetch.checkCredentials();
36
+ if (__1.is.object(result)) {
37
+ // * all good
38
+ logger.info(result.message);
39
+ (0, process_1.exit)(1);
40
+ }
41
+ // * bad token
42
+ logger.error(String(result));
43
+ (0, process_1.exit)(0);
44
+ }
45
+ catch (error) {
46
+ // * bad BASE_URL
47
+ logger.error({ error }, "failed to send request");
48
+ (0, process_1.exit)(0);
49
+ }
50
+ }, __2.PostConfigPriorities.VALIDATE);
51
+ }
52
+ exports.Configure = Configure;
53
+ //# sourceMappingURL=config.extension.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.extension.js","sourceRoot":"","sources":["../../../src/hass/extensions/config.extension.ts"],"names":[],"mappings":";;;AAAA,wDAAwD;AACxD,qCAAoC;AAEpC,6BAAgD;AAChD,0BAA0C;AAC1C,SAAgB,SAAS,CAAC,EACxB,MAAM,EACN,SAAS,EACT,IAAI,EACJ,MAAM,EACN,QAAQ,GACO;IACf;;;;OAIG;IACH,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE;QACvB,MAAM,KAAK,GAAG,aAAG,CAAC,YAAY,IAAI,aAAG,CAAC,gBAAgB,CAAC;QACvD,IAAI,MAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QACD,MAAM,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;QACxD,QAAQ,CAAC,MAAM,CAAC,GAAG,CACjB,MAAM,EACN,UAAU,EACV,aAAG,CAAC,WAAW,IAAI,wBAAwB,CAC5C,CAAC;QACF,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IAC9C,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,OAAG,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACtC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;YACnD,IAAI,MAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;gBACtB,aAAa;gBACb,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAC5B,IAAA,cAAI,EAAC,CAAC,CAAC,CAAC;YACV,CAAC;YACD,cAAc;YACd,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;YAC7B,IAAA,cAAI,EAAC,CAAC,CAAC,CAAC;QACV,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,iBAAiB;YACjB,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,wBAAwB,CAAC,CAAC;YAClD,IAAA,cAAI,EAAC,CAAC,CAAC,CAAC;QACV,CAAC;IACH,CAAC,EAAE,wBAAoB,CAAC,QAAQ,CAAC,CAAC;AACpC,CAAC;AArDD,8BAqDC"}
@@ -1,6 +1,6 @@
1
1
  export * from "./call-proxy.extension";
2
+ export * from "./config.extension";
2
3
  export * from "./entity-manager.extension";
3
4
  export * from "./fetch-api.extension";
4
5
  export * from "./utilities.extension";
5
- export * from "./validate.extension";
6
6
  export * from "./websocket-api.extension";
@@ -2,9 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./call-proxy.extension"), exports);
5
+ tslib_1.__exportStar(require("./config.extension"), exports);
5
6
  tslib_1.__exportStar(require("./entity-manager.extension"), exports);
6
7
  tslib_1.__exportStar(require("./fetch-api.extension"), exports);
7
8
  tslib_1.__exportStar(require("./utilities.extension"), exports);
8
- tslib_1.__exportStar(require("./validate.extension"), exports);
9
9
  tslib_1.__exportStar(require("./websocket-api.extension"), exports);
10
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hass/extensions/index.ts"],"names":[],"mappings":";;;AAAA,iEAAuC;AACvC,qEAA2C;AAC3C,gEAAsC;AACtC,gEAAsC;AACtC,+DAAqC;AACrC,oEAA0C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hass/extensions/index.ts"],"names":[],"mappings":";;;AAAA,iEAAuC;AACvC,6DAAmC;AACnC,qEAA2C;AAC3C,gEAAsC;AACtC,gEAAsC;AACtC,oEAA0C"}
@@ -1,9 +1,13 @@
1
- import { CallProxy, EntityManager, FetchAPI, Utilities, Validate, WebsocketAPI } from "./extensions";
1
+ import { CallProxy, Configure, EntityManager, FetchAPI, Utilities, WebsocketAPI } from "./extensions";
2
2
  export declare const LIB_HASS: import("..").LibraryDefinition<{
3
3
  /**
4
4
  * general service calling interface
5
5
  */
6
6
  call: typeof CallProxy;
7
+ /**
8
+ * internal tools
9
+ */
10
+ configure: typeof Configure;
7
11
  /**
8
12
  * retrieve and interact with home assistant entities
9
13
  */
@@ -20,10 +24,6 @@ export declare const LIB_HASS: import("..").LibraryDefinition<{
20
24
  * extra helper functions for interacting with home assistant
21
25
  */
22
26
  utils: typeof Utilities;
23
- /**
24
- * internal tool
25
- */
26
- validate: typeof Validate;
27
27
  }, {
28
28
  AUTO_CONNECT_SOCKET: {
29
29
  default: true;
@@ -58,6 +58,10 @@ exports.LIB_HASS = (0, __1.CreateLibrary)({
58
58
  * general service calling interface
59
59
  */
60
60
  call: extensions_1.CallProxy,
61
+ /**
62
+ * internal tools
63
+ */
64
+ configure: extensions_1.Configure,
61
65
  /**
62
66
  * retrieve and interact with home assistant entities
63
67
  */
@@ -74,10 +78,6 @@ exports.LIB_HASS = (0, __1.CreateLibrary)({
74
78
  * extra helper functions for interacting with home assistant
75
79
  */
76
80
  utils: extensions_1.Utilities,
77
- /**
78
- * internal tool
79
- */
80
- validate: extensions_1.Validate,
81
81
  },
82
82
  });
83
83
  //# sourceMappingURL=hass.module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hass.module.js","sourceRoot":"","sources":["../../src/hass/hass.module.ts"],"names":[],"mappings":";;;AAAA,0BAAmC;AACnC,6CAOsB;AAET,QAAA,QAAQ,GAAG,IAAA,iBAAa,EAAC;IACpC,aAAa,EAAE;QACb,mBAAmB,EAAE;YACnB,OAAO,EAAE,IAAI;YACb,WAAW,EAAE,wDAAwD;YACrE,IAAI,EAAE,SAAS;SAChB;QACD,oBAAoB,EAAE;YACpB,OAAO,EAAE,IAAI;YACb,WAAW,EACT,+DAA+D;YACjE,IAAI,EAAE,SAAS;SAChB;QACD,QAAQ,EAAE;YACR,OAAO,EAAE,iCAAiC;YAC1C,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,QAAQ;SACf;QACD,cAAc,EAAE;YACd,OAAO,EAAE,IAAI;YACb,WAAW,EAAE,2DAA2D;YACxE,IAAI,EAAE,QAAQ;SACf;QACD,6BAA6B,EAAE;YAC7B,OAAO,EAAE,GAAG;YACZ,WAAW,EACT,oJAAoJ;YACtJ,IAAI,EAAE,QAAQ;SACf;QACD,4BAA4B,EAAE;YAC5B,OAAO,EAAE,GAAG;YACZ,WAAW,EACT,kHAAkH;YACpH,IAAI,EAAE,QAAQ;SACf;QACD,KAAK,EAAE;YACL,WAAW,EAAE,4CAA4C;YACzD,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,QAAQ;SACf;QACD,sBAAsB,EAAE;YACtB,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,SAAS;SAChB;QACD,aAAa,EAAE;YACb,WAAW,EAAE,8GAA8G;YAC3H,IAAI,EAAE,QAAQ;SACf;KACF;IACD,IAAI,EAAE,MAAM;IACZ,oCAAoC;IACpC,YAAY,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;IAChC,QAAQ,EAAE;QACR;;WAEG;QACH,IAAI,EAAE,sBAAS;QACf;;WAEG;QACH,MAAM,EAAE,0BAAa;QACrB;;WAEG;QACH,KAAK,EAAE,qBAAQ;QACf;;WAEG;QACH,MAAM,EAAE,yBAAY;QACpB;;WAEG;QACH,KAAK,EAAE,sBAAS;QAChB;;WAEG;QACH,QAAQ,EAAE,qBAAQ;KACnB;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"hass.module.js","sourceRoot":"","sources":["../../src/hass/hass.module.ts"],"names":[],"mappings":";;;AAAA,0BAAmC;AACnC,6CAOsB;AAET,QAAA,QAAQ,GAAG,IAAA,iBAAa,EAAC;IACpC,aAAa,EAAE;QACb,mBAAmB,EAAE;YACnB,OAAO,EAAE,IAAI;YACb,WAAW,EAAE,wDAAwD;YACrE,IAAI,EAAE,SAAS;SAChB;QACD,oBAAoB,EAAE;YACpB,OAAO,EAAE,IAAI;YACb,WAAW,EACT,+DAA+D;YACjE,IAAI,EAAE,SAAS;SAChB;QACD,QAAQ,EAAE;YACR,OAAO,EAAE,iCAAiC;YAC1C,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,QAAQ;SACf;QACD,cAAc,EAAE;YACd,OAAO,EAAE,IAAI;YACb,WAAW,EAAE,2DAA2D;YACxE,IAAI,EAAE,QAAQ;SACf;QACD,6BAA6B,EAAE;YAC7B,OAAO,EAAE,GAAG;YACZ,WAAW,EACT,oJAAoJ;YACtJ,IAAI,EAAE,QAAQ;SACf;QACD,4BAA4B,EAAE;YAC5B,OAAO,EAAE,GAAG;YACZ,WAAW,EACT,kHAAkH;YACpH,IAAI,EAAE,QAAQ;SACf;QACD,KAAK,EAAE;YACL,WAAW,EAAE,4CAA4C;YACzD,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,QAAQ;SACf;QACD,sBAAsB,EAAE;YACtB,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,SAAS;SAChB;QACD,aAAa,EAAE;YACb,WAAW,EAAE,8GAA8G;YAC3H,IAAI,EAAE,QAAQ;SACf;KACF;IACD,IAAI,EAAE,MAAM;IACZ,oCAAoC;IACpC,YAAY,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;IAChC,QAAQ,EAAE;QACR;;WAEG;QACH,IAAI,EAAE,sBAAS;QAEf;;WAEG;QACH,SAAS,EAAE,sBAAS;QAEpB;;WAEG;QACH,MAAM,EAAE,0BAAa;QAErB;;WAEG;QACH,KAAK,EAAE,qBAAQ;QAEf;;WAEG;QACH,MAAM,EAAE,yBAAY;QAEpB;;WAEG;QACH,KAAK,EAAE,sBAAS;KACjB;CACF,CAAC,CAAC"}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "repository": {
4
4
  "url": "git+https://github.com/zoe-codez/digital-alchemy.git"
5
5
  },
6
- "version": "0.1.14",
6
+ "version": "0.1.15",
7
7
  "author": {
8
8
  "url": "https://github.com/zoe-codez",
9
9
  "name": "Zoe"