@texturehq/device 1.3.0

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.
Files changed (182) hide show
  1. package/README.md +110 -0
  2. package/dist/common/constants.d.ts +3 -0
  3. package/dist/common/constants.d.ts.map +1 -0
  4. package/dist/common/constants.js +6 -0
  5. package/dist/common/constants.js.map +1 -0
  6. package/dist/common/exceptions.d.ts +5 -0
  7. package/dist/common/exceptions.d.ts.map +1 -0
  8. package/dist/common/exceptions.js +13 -0
  9. package/dist/common/exceptions.js.map +1 -0
  10. package/dist/common/logger.d.ts +2 -0
  11. package/dist/common/logger.d.ts.map +1 -0
  12. package/dist/common/logger.js +6 -0
  13. package/dist/common/logger.js.map +1 -0
  14. package/dist/common/supportLevel.d.ts +6 -0
  15. package/dist/common/supportLevel.d.ts.map +1 -0
  16. package/dist/common/supportLevel.js +14 -0
  17. package/dist/common/supportLevel.js.map +1 -0
  18. package/dist/common/utils/index.d.ts +2 -0
  19. package/dist/common/utils/index.d.ts.map +1 -0
  20. package/dist/common/utils/index.js +8 -0
  21. package/dist/common/utils/index.js.map +1 -0
  22. package/dist/common/utils/retryAxios.d.ts +18 -0
  23. package/dist/common/utils/retryAxios.d.ts.map +1 -0
  24. package/dist/common/utils/retryAxios.js +32 -0
  25. package/dist/common/utils/retryAxios.js.map +1 -0
  26. package/dist/deviceModel/entities.d.ts +211 -0
  27. package/dist/deviceModel/entities.d.ts.map +1 -0
  28. package/dist/deviceModel/entities.js +41 -0
  29. package/dist/deviceModel/entities.js.map +1 -0
  30. package/dist/deviceModel/getDeviceModel/index.d.ts +29 -0
  31. package/dist/deviceModel/getDeviceModel/index.d.ts.map +1 -0
  32. package/dist/deviceModel/getDeviceModel/index.js +50 -0
  33. package/dist/deviceModel/getDeviceModel/index.js.map +1 -0
  34. package/dist/deviceModel/getDeviceModel/response.interfaces.d.ts +95 -0
  35. package/dist/deviceModel/getDeviceModel/response.interfaces.d.ts.map +1 -0
  36. package/dist/deviceModel/getDeviceModel/response.interfaces.js +252 -0
  37. package/dist/deviceModel/getDeviceModel/response.interfaces.js.map +1 -0
  38. package/dist/deviceModel/getDeviceModel/test.fail.d.ts +2 -0
  39. package/dist/deviceModel/getDeviceModel/test.fail.d.ts.map +1 -0
  40. package/dist/deviceModel/getDeviceModel/test.fail.js +8 -0
  41. package/dist/deviceModel/getDeviceModel/test.fail.js.map +1 -0
  42. package/dist/deviceModel/getDeviceModel/test.success.d.ts +2 -0
  43. package/dist/deviceModel/getDeviceModel/test.success.d.ts.map +1 -0
  44. package/dist/deviceModel/getDeviceModel/test.success.js +8 -0
  45. package/dist/deviceModel/getDeviceModel/test.success.js.map +1 -0
  46. package/dist/deviceModel/getDeviceModelByManufacturerSlug/index.d.ts +36 -0
  47. package/dist/deviceModel/getDeviceModelByManufacturerSlug/index.d.ts.map +1 -0
  48. package/dist/deviceModel/getDeviceModelByManufacturerSlug/index.js +59 -0
  49. package/dist/deviceModel/getDeviceModelByManufacturerSlug/index.js.map +1 -0
  50. package/dist/deviceModel/getDeviceModelByManufacturerSlug/response.interfaces.d.ts +53 -0
  51. package/dist/deviceModel/getDeviceModelByManufacturerSlug/response.interfaces.d.ts.map +1 -0
  52. package/dist/deviceModel/getDeviceModelByManufacturerSlug/response.interfaces.js +210 -0
  53. package/dist/deviceModel/getDeviceModelByManufacturerSlug/response.interfaces.js.map +1 -0
  54. package/dist/deviceModel/getDeviceModelByManufacturerSlug/test.fail.d.ts +2 -0
  55. package/dist/deviceModel/getDeviceModelByManufacturerSlug/test.fail.d.ts.map +1 -0
  56. package/dist/deviceModel/getDeviceModelByManufacturerSlug/test.fail.js +8 -0
  57. package/dist/deviceModel/getDeviceModelByManufacturerSlug/test.fail.js.map +1 -0
  58. package/dist/deviceModel/getDeviceModelByManufacturerSlug/test.success.d.ts +2 -0
  59. package/dist/deviceModel/getDeviceModelByManufacturerSlug/test.success.d.ts.map +1 -0
  60. package/dist/deviceModel/getDeviceModelByManufacturerSlug/test.success.js +8 -0
  61. package/dist/deviceModel/getDeviceModelByManufacturerSlug/test.success.js.map +1 -0
  62. package/dist/deviceModel/getDeviceModels/index.d.ts +50 -0
  63. package/dist/deviceModel/getDeviceModels/index.d.ts.map +1 -0
  64. package/dist/deviceModel/getDeviceModels/index.js +60 -0
  65. package/dist/deviceModel/getDeviceModels/index.js.map +1 -0
  66. package/dist/deviceModel/getDeviceModels/response.interfaces.d.ts +95 -0
  67. package/dist/deviceModel/getDeviceModels/response.interfaces.d.ts.map +1 -0
  68. package/dist/deviceModel/getDeviceModels/response.interfaces.js +252 -0
  69. package/dist/deviceModel/getDeviceModels/response.interfaces.js.map +1 -0
  70. package/dist/deviceModel/getDeviceModels/test.success.d.ts +2 -0
  71. package/dist/deviceModel/getDeviceModels/test.success.d.ts.map +1 -0
  72. package/dist/deviceModel/getDeviceModels/test.success.js +11 -0
  73. package/dist/deviceModel/getDeviceModels/test.success.js.map +1 -0
  74. package/dist/deviceModel/index.d.ts +5 -0
  75. package/dist/deviceModel/index.d.ts.map +1 -0
  76. package/dist/deviceModel/index.js +21 -0
  77. package/dist/deviceModel/index.js.map +1 -0
  78. package/dist/deviceState/battery.d.ts +132 -0
  79. package/dist/deviceState/battery.d.ts.map +1 -0
  80. package/dist/deviceState/battery.js +81 -0
  81. package/dist/deviceState/battery.js.map +1 -0
  82. package/dist/deviceState/charger.d.ts +44 -0
  83. package/dist/deviceState/charger.d.ts.map +1 -0
  84. package/dist/deviceState/charger.js +34 -0
  85. package/dist/deviceState/charger.js.map +1 -0
  86. package/dist/deviceState/common.d.ts +50 -0
  87. package/dist/deviceState/common.d.ts.map +1 -0
  88. package/dist/deviceState/common.js +75 -0
  89. package/dist/deviceState/common.js.map +1 -0
  90. package/dist/deviceState/index.d.ts +7 -0
  91. package/dist/deviceState/index.d.ts.map +1 -0
  92. package/dist/deviceState/index.js +23 -0
  93. package/dist/deviceState/index.js.map +1 -0
  94. package/dist/deviceState/inverter.d.ts +79 -0
  95. package/dist/deviceState/inverter.d.ts.map +1 -0
  96. package/dist/deviceState/inverter.js +30 -0
  97. package/dist/deviceState/inverter.js.map +1 -0
  98. package/dist/deviceState/thermostat.d.ts +58 -0
  99. package/dist/deviceState/thermostat.d.ts.map +1 -0
  100. package/dist/deviceState/thermostat.js +51 -0
  101. package/dist/deviceState/thermostat.js.map +1 -0
  102. package/dist/deviceState/vehicle.d.ts +88 -0
  103. package/dist/deviceState/vehicle.d.ts.map +1 -0
  104. package/dist/deviceState/vehicle.js +72 -0
  105. package/dist/deviceState/vehicle.js.map +1 -0
  106. package/dist/deviceType/entities.d.ts +6 -0
  107. package/dist/deviceType/entities.d.ts.map +1 -0
  108. package/dist/deviceType/entities.js +14 -0
  109. package/dist/deviceType/entities.js.map +1 -0
  110. package/dist/deviceType/index.d.ts +2 -0
  111. package/dist/deviceType/index.d.ts.map +1 -0
  112. package/dist/deviceType/index.js +18 -0
  113. package/dist/deviceType/index.js.map +1 -0
  114. package/dist/index.d.ts +9 -0
  115. package/dist/index.d.ts.map +1 -0
  116. package/dist/index.js +25 -0
  117. package/dist/index.js.map +1 -0
  118. package/dist/manufacturer/entities.d.ts +124 -0
  119. package/dist/manufacturer/entities.d.ts.map +1 -0
  120. package/dist/manufacturer/entities.js +28 -0
  121. package/dist/manufacturer/entities.js.map +1 -0
  122. package/dist/manufacturer/getManufacturer/index.d.ts +34 -0
  123. package/dist/manufacturer/getManufacturer/index.d.ts.map +1 -0
  124. package/dist/manufacturer/getManufacturer/index.js +47 -0
  125. package/dist/manufacturer/getManufacturer/index.js.map +1 -0
  126. package/dist/manufacturer/getManufacturer/response.interfaces.d.ts +77 -0
  127. package/dist/manufacturer/getManufacturer/response.interfaces.d.ts.map +1 -0
  128. package/dist/manufacturer/getManufacturer/response.interfaces.js +234 -0
  129. package/dist/manufacturer/getManufacturer/response.interfaces.js.map +1 -0
  130. package/dist/manufacturer/getManufacturer/test.fail.d.ts +2 -0
  131. package/dist/manufacturer/getManufacturer/test.fail.d.ts.map +1 -0
  132. package/dist/manufacturer/getManufacturer/test.fail.js +8 -0
  133. package/dist/manufacturer/getManufacturer/test.fail.js.map +1 -0
  134. package/dist/manufacturer/getManufacturer/test.success.d.ts +2 -0
  135. package/dist/manufacturer/getManufacturer/test.success.d.ts.map +1 -0
  136. package/dist/manufacturer/getManufacturer/test.success.js +8 -0
  137. package/dist/manufacturer/getManufacturer/test.success.js.map +1 -0
  138. package/dist/manufacturer/getManufacturers/index.d.ts +51 -0
  139. package/dist/manufacturer/getManufacturers/index.d.ts.map +1 -0
  140. package/dist/manufacturer/getManufacturers/index.js +46 -0
  141. package/dist/manufacturer/getManufacturers/index.js.map +1 -0
  142. package/dist/manufacturer/getManufacturers/response.interfaces.d.ts +77 -0
  143. package/dist/manufacturer/getManufacturers/response.interfaces.d.ts.map +1 -0
  144. package/dist/manufacturer/getManufacturers/response.interfaces.js +242 -0
  145. package/dist/manufacturer/getManufacturers/response.interfaces.js.map +1 -0
  146. package/dist/manufacturer/getManufacturers/test.success.d.ts +2 -0
  147. package/dist/manufacturer/getManufacturers/test.success.d.ts.map +1 -0
  148. package/dist/manufacturer/getManufacturers/test.success.js +8 -0
  149. package/dist/manufacturer/getManufacturers/test.success.js.map +1 -0
  150. package/dist/manufacturer/index.d.ts +5 -0
  151. package/dist/manufacturer/index.d.ts.map +1 -0
  152. package/dist/manufacturer/index.js +21 -0
  153. package/dist/manufacturer/index.js.map +1 -0
  154. package/dist/manufacturer/parseManufacturer/index.d.ts +4 -0
  155. package/dist/manufacturer/parseManufacturer/index.d.ts.map +1 -0
  156. package/dist/manufacturer/parseManufacturer/index.js +42 -0
  157. package/dist/manufacturer/parseManufacturer/index.js.map +1 -0
  158. package/dist/metrics/aggregations.d.ts +5 -0
  159. package/dist/metrics/aggregations.d.ts.map +1 -0
  160. package/dist/metrics/aggregations.js +7 -0
  161. package/dist/metrics/aggregations.js.map +1 -0
  162. package/dist/metrics/groupBy.d.ts +5 -0
  163. package/dist/metrics/groupBy.d.ts.map +1 -0
  164. package/dist/metrics/groupBy.js +7 -0
  165. package/dist/metrics/groupBy.js.map +1 -0
  166. package/dist/metrics/index.d.ts +6 -0
  167. package/dist/metrics/index.d.ts.map +1 -0
  168. package/dist/metrics/index.js +22 -0
  169. package/dist/metrics/index.js.map +1 -0
  170. package/dist/metrics/range.d.ts +28 -0
  171. package/dist/metrics/range.d.ts.map +1 -0
  172. package/dist/metrics/range.js +138 -0
  173. package/dist/metrics/range.js.map +1 -0
  174. package/dist/metrics/units.d.ts +5 -0
  175. package/dist/metrics/units.d.ts.map +1 -0
  176. package/dist/metrics/units.js +31 -0
  177. package/dist/metrics/units.js.map +1 -0
  178. package/dist/metrics/window.d.ts +17 -0
  179. package/dist/metrics/window.d.ts.map +1 -0
  180. package/dist/metrics/window.js +28 -0
  181. package/dist/metrics/window.js.map +1 -0
  182. package/package.json +37 -0
@@ -0,0 +1,210 @@
1
+ "use strict";
2
+ // To parse this data:
3
+ //
4
+ // import { Convert, ResponseInterfaces } from "./file";
5
+ //
6
+ // const responseInterfaces = Convert.toResponseInterfaces(json);
7
+ //
8
+ // These functions will throw an error if the JSON doesn't
9
+ // match the expected interface, even if the JSON is valid.
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.Convert = void 0;
12
+ // Converts JSON strings to/from your types
13
+ // and asserts the results of JSON.parse at runtime
14
+ class Convert {
15
+ static toResponseInterfaces(json) {
16
+ return cast(JSON.parse(json), r("ResponseInterfaces"));
17
+ }
18
+ static responseInterfacesToJson(value) {
19
+ return JSON.stringify(uncast(value, r("ResponseInterfaces")), null, 2);
20
+ }
21
+ }
22
+ exports.Convert = Convert;
23
+ function invalidValue(typ, val, key, parent = '') {
24
+ const prettyTyp = prettyTypeName(typ);
25
+ const parentText = parent ? ` on ${parent}` : '';
26
+ const keyText = key ? ` for key "${key}"` : '';
27
+ throw Error(`Invalid value${keyText}${parentText}. Expected ${prettyTyp} but got ${JSON.stringify(val)}`);
28
+ }
29
+ function prettyTypeName(typ) {
30
+ if (Array.isArray(typ)) {
31
+ if (typ.length === 2 && typ[0] === undefined) {
32
+ return `an optional ${prettyTypeName(typ[1])}`;
33
+ }
34
+ else {
35
+ return `one of [${typ.map(a => { return prettyTypeName(a); }).join(", ")}]`;
36
+ }
37
+ }
38
+ else if (typeof typ === "object" && typ.literal !== undefined) {
39
+ return typ.literal;
40
+ }
41
+ else {
42
+ return typeof typ;
43
+ }
44
+ }
45
+ function jsonToJSProps(typ) {
46
+ if (typ.jsonToJS === undefined) {
47
+ const map = {};
48
+ typ.props.forEach((p) => map[p.json] = { key: p.js, typ: p.typ });
49
+ typ.jsonToJS = map;
50
+ }
51
+ return typ.jsonToJS;
52
+ }
53
+ function jsToJSONProps(typ) {
54
+ if (typ.jsToJSON === undefined) {
55
+ const map = {};
56
+ typ.props.forEach((p) => map[p.js] = { key: p.json, typ: p.typ });
57
+ typ.jsToJSON = map;
58
+ }
59
+ return typ.jsToJSON;
60
+ }
61
+ function transform(val, typ, getProps, key = '', parent = '') {
62
+ function transformPrimitive(typ, val) {
63
+ if (typeof typ === typeof val)
64
+ return val;
65
+ return invalidValue(typ, val, key, parent);
66
+ }
67
+ function transformUnion(typs, val) {
68
+ // val must validate against one typ in typs
69
+ const l = typs.length;
70
+ for (let i = 0; i < l; i++) {
71
+ const typ = typs[i];
72
+ try {
73
+ return transform(val, typ, getProps);
74
+ }
75
+ catch (_) { }
76
+ }
77
+ return invalidValue(typs, val, key, parent);
78
+ }
79
+ function transformEnum(cases, val) {
80
+ if (cases.indexOf(val) !== -1)
81
+ return val;
82
+ return invalidValue(cases.map(a => { return l(a); }), val, key, parent);
83
+ }
84
+ function transformArray(typ, val) {
85
+ // val must be an array with no invalid elements
86
+ if (!Array.isArray(val))
87
+ return invalidValue(l("array"), val, key, parent);
88
+ return val.map(el => transform(el, typ, getProps));
89
+ }
90
+ function transformDate(val) {
91
+ if (val === null) {
92
+ return null;
93
+ }
94
+ const d = new Date(val);
95
+ if (isNaN(d.valueOf())) {
96
+ return invalidValue(l("Date"), val, key, parent);
97
+ }
98
+ return d;
99
+ }
100
+ function transformObject(props, additional, val) {
101
+ if (val === null || typeof val !== "object" || Array.isArray(val)) {
102
+ return invalidValue(l(ref || "object"), val, key, parent);
103
+ }
104
+ const result = {};
105
+ Object.getOwnPropertyNames(props).forEach(key => {
106
+ const prop = props[key];
107
+ const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
108
+ result[prop.key] = transform(v, prop.typ, getProps, key, ref);
109
+ });
110
+ Object.getOwnPropertyNames(val).forEach(key => {
111
+ if (!Object.prototype.hasOwnProperty.call(props, key)) {
112
+ result[key] = transform(val[key], additional, getProps, key, ref);
113
+ }
114
+ });
115
+ return result;
116
+ }
117
+ if (typ === "any")
118
+ return val;
119
+ if (typ === null) {
120
+ if (val === null)
121
+ return val;
122
+ return invalidValue(typ, val, key, parent);
123
+ }
124
+ if (typ === false)
125
+ return invalidValue(typ, val, key, parent);
126
+ let ref = undefined;
127
+ while (typeof typ === "object" && typ.ref !== undefined) {
128
+ ref = typ.ref;
129
+ typ = typeMap[typ.ref];
130
+ }
131
+ if (Array.isArray(typ))
132
+ return transformEnum(typ, val);
133
+ if (typeof typ === "object") {
134
+ return typ.hasOwnProperty("unionMembers") ? transformUnion(typ.unionMembers, val)
135
+ : typ.hasOwnProperty("arrayItems") ? transformArray(typ.arrayItems, val)
136
+ : typ.hasOwnProperty("props") ? transformObject(getProps(typ), typ.additional, val)
137
+ : invalidValue(typ, val, key, parent);
138
+ }
139
+ // Numbers can be parsed by Date but shouldn't be.
140
+ if (typ === Date && typeof val !== "number")
141
+ return transformDate(val);
142
+ return transformPrimitive(typ, val);
143
+ }
144
+ function cast(val, typ) {
145
+ return transform(val, typ, jsonToJSProps);
146
+ }
147
+ function uncast(val, typ) {
148
+ return transform(val, typ, jsToJSONProps);
149
+ }
150
+ function l(typ) {
151
+ return { literal: typ };
152
+ }
153
+ function a(typ) {
154
+ return { arrayItems: typ };
155
+ }
156
+ function u(...typs) {
157
+ return { unionMembers: typs };
158
+ }
159
+ function o(props, additional) {
160
+ return { props, additional };
161
+ }
162
+ function m(additional) {
163
+ return { props: [], additional };
164
+ }
165
+ function r(name) {
166
+ return { ref: name };
167
+ }
168
+ const typeMap = {
169
+ "ResponseInterfaces": o([
170
+ { json: "docs", js: "docs", typ: a(r("Doc")) },
171
+ { json: "totalDocs", js: "totalDocs", typ: 0 },
172
+ { json: "limit", js: "limit", typ: 0 },
173
+ { json: "totalPages", js: "totalPages", typ: 0 },
174
+ { json: "page", js: "page", typ: 0 },
175
+ { json: "pagingCounter", js: "pagingCounter", typ: 0 },
176
+ { json: "hasPrevPage", js: "hasPrevPage", typ: true },
177
+ { json: "hasNextPage", js: "hasNextPage", typ: true },
178
+ { json: "prevPage", js: "prevPage", typ: null },
179
+ { json: "nextPage", js: "nextPage", typ: null },
180
+ ], false),
181
+ "Doc": o([
182
+ { json: "id", js: "id", typ: "" },
183
+ { json: "slug", js: "slug", typ: "" },
184
+ { json: "device_model", js: "device_model", typ: r("DeviceModel") },
185
+ { json: "createdAt", js: "createdAt", typ: Date },
186
+ { json: "updatedAt", js: "updatedAt", typ: Date },
187
+ ], false),
188
+ "DeviceModel": o([
189
+ { json: "id", js: "id", typ: "" },
190
+ { json: "slug", js: "slug", typ: "" },
191
+ { json: "name", js: "name", typ: "" },
192
+ { json: "manufacturer", js: "manufacturer", typ: r("Manufacturer") },
193
+ { json: "type", js: "type", typ: "" },
194
+ { json: "support_level", js: "support_level", typ: "" },
195
+ { json: "createdAt", js: "createdAt", typ: Date },
196
+ { json: "updatedAt", js: "updatedAt", typ: Date },
197
+ ], false),
198
+ "Manufacturer": o([
199
+ { json: "id", js: "id", typ: "" },
200
+ { json: "slug", js: "slug", typ: "" },
201
+ { json: "name", js: "name", typ: "" },
202
+ { json: "logo", js: "logo", typ: "" },
203
+ { json: "support_level", js: "support_level", typ: "" },
204
+ { json: "createdAt", js: "createdAt", typ: Date },
205
+ { json: "updatedAt", js: "updatedAt", typ: Date },
206
+ { json: "icon", js: "icon", typ: "" },
207
+ { json: "vector_icon", js: "vector_icon", typ: "" },
208
+ ], false),
209
+ };
210
+ //# sourceMappingURL=response.interfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"response.interfaces.js","sourceRoot":"","sources":["../../../src/deviceModel/getDeviceModelByManufacturerSlug/response.interfaces.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=test.fail.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.fail.d.ts","sourceRoot":"","sources":["../../../src/deviceModel/getDeviceModelByManufacturerSlug/test.fail.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const index_1 = require("./index");
4
+ const main = async () => {
5
+ await (0, index_1.getDeviceModelByManufacturerSlug)({ slug: "bad:slug" });
6
+ };
7
+ main();
8
+ //# sourceMappingURL=test.fail.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.fail.js","sourceRoot":"","sources":["../../../src/deviceModel/getDeviceModelByManufacturerSlug/test.fail.ts"],"names":[],"mappings":";;AAAA,mCAA2D;AAE3D,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;IACtB,MAAM,IAAA,wCAAgC,EAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;AAC/D,CAAC,CAAC;AAEF,IAAI,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=test.success.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.success.d.ts","sourceRoot":"","sources":["../../../src/deviceModel/getDeviceModelByManufacturerSlug/test.success.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const index_1 = require("./index");
4
+ const main = async () => {
5
+ await (0, index_1.getDeviceModelByManufacturerSlug)({ slug: "tesla:lychee" });
6
+ };
7
+ main();
8
+ //# sourceMappingURL=test.success.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.success.js","sourceRoot":"","sources":["../../../src/deviceModel/getDeviceModelByManufacturerSlug/test.success.ts"],"names":[],"mappings":";;AAAA,mCAA2D;AAE3D,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;IACtB,MAAM,IAAA,wCAAgC,EAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;AACnE,CAAC,CAAC;AAEF,IAAI,EAAE,CAAC"}
@@ -0,0 +1,50 @@
1
+ import { Logger } from "@texturehq/logger";
2
+ import { DeviceModel } from "../entities";
3
+ export interface GetDeviceModelsOptions {
4
+ /**
5
+ * The base URL of the Payload CMS instance.
6
+ * @default "https://device.cms.texturehq.com"
7
+ */
8
+ baseApiUrl?: string;
9
+ /**
10
+ * The base URL for images coming from Payload CMS.
11
+ * @default "https://texturehq.payloadcms.app"
12
+ */
13
+ baseImageUrl?: string;
14
+ /**
15
+ * Limits the number of device models returned.
16
+ * @default 10
17
+ */
18
+ limit?: number;
19
+ /**
20
+ * The number of the page to return.
21
+ * @default 1
22
+ */
23
+ page?: number;
24
+ /**
25
+ * The logger instance to use during the getDeviceModels operation.
26
+ */
27
+ logger?: Logger;
28
+ /**
29
+ * The slug of the manufacturer to filter device models by.
30
+ */
31
+ manufacturer?: string;
32
+ /**
33
+ * The slugs to filter the devices by.
34
+ */
35
+ slugs?: string[];
36
+ }
37
+ export interface GetDeviceModelsResponse {
38
+ deviceModels: DeviceModel[];
39
+ count: number;
40
+ limit: number;
41
+ page: number;
42
+ pageCount: number;
43
+ }
44
+ /**
45
+ * Retrieves a collection of device models from the Device CMS.
46
+ * @param options The options to use during the geDeviceModels operation.
47
+ * @returns {Promise<GetDeviceModelsResponse>} The collection of device models retrieved from the CMS.
48
+ */
49
+ export declare const getDeviceModels: (options?: GetDeviceModelsOptions) => Promise<GetDeviceModelsResponse>;
50
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/deviceModel/getDeviceModels/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAI3C,OAAO,EAAE,WAAW,EAAqB,MAAM,aAAa,CAAC;AAI7D,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,uBAAuB;IACtC,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,eAAO,MAAM,eAAe,aAAmB,sBAAsB,KAAQ,QAAQ,uBAAuB,CAiD3G,CAAC"}
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getDeviceModels = void 0;
7
+ const axios_1 = __importDefault(require("axios"));
8
+ const logger_1 = require("../../common/logger");
9
+ const exceptions_1 = require("../../common/exceptions");
10
+ const entities_1 = require("../entities");
11
+ const constants_1 = require("../../common/constants");
12
+ const manufacturer_1 = require("../../manufacturer");
13
+ /**
14
+ * Retrieves a collection of device models from the Device CMS.
15
+ * @param options The options to use during the geDeviceModels operation.
16
+ * @returns {Promise<GetDeviceModelsResponse>} The collection of device models retrieved from the CMS.
17
+ */
18
+ const getDeviceModels = async (options = {}) => {
19
+ const defaultLogger = logger_1.baseLogger.function("getDeviceModels");
20
+ const { limit = 10, page = 1, baseApiUrl = constants_1.PRODUCTION_CACHE_BASE_URL, baseImageUrl = constants_1.PRODUCTION_BASE_URL, logger = defaultLogger, slugs = [], } = options;
21
+ const operation = logger.operation("get device models from Payload CMS API");
22
+ try {
23
+ operation.start({ options });
24
+ let response;
25
+ if (options.manufacturer) {
26
+ response = await axios_1.default.get(`${baseApiUrl}/api/device_models/filter_by_manufacturer?limit=${limit}&page=${page}&manufacturer=${options.manufacturer}`);
27
+ }
28
+ else {
29
+ const slugQuery = slugs.length ? `&where[slug][in]=${slugs.join(",")}` : "";
30
+ response = await axios_1.default.get(`${baseApiUrl}/api/device_models?limit=${limit}&page=${page}${slugQuery}`);
31
+ }
32
+ if (response.status !== 200) {
33
+ const errorMessage = `Request to ${baseApiUrl}/api/device_models failed with status ${response.status}`;
34
+ operation.fail(errorMessage);
35
+ throw new exceptions_1.NetworkError(errorMessage, response.status);
36
+ }
37
+ const result = {
38
+ deviceModels: response.data.docs.map((doc) => {
39
+ if (!doc.manufacturer)
40
+ throw new Error("Missing device model manufacturer. Check CMS.");
41
+ return entities_1.DeviceModelSchema.parse({
42
+ ...doc,
43
+ manufacturer: (0, manufacturer_1.parseManufacturer)(doc.manufacturer, baseImageUrl),
44
+ });
45
+ }),
46
+ count: response.data.totalDocs,
47
+ limit: response.data.limit,
48
+ page: response.data.page,
49
+ pageCount: response.data.totalPages,
50
+ };
51
+ operation.end({ result });
52
+ return result;
53
+ }
54
+ catch (error) {
55
+ operation.fail("Unknown error occurred while fetching manufacturers from Payload CMS API.");
56
+ throw error;
57
+ }
58
+ };
59
+ exports.getDeviceModels = getDeviceModels;
60
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/deviceModel/getDeviceModels/index.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,gDAAiD;AAEjD,wDAAuD;AACvD,0CAA6D;AAC7D,sDAAwF;AACxF,qDAAuD;AA6CvD;;;;GAIG;AACI,MAAM,eAAe,GAAG,KAAK,EAAE,UAAkC,EAAE,EAAoC,EAAE;IAC9G,MAAM,aAAa,GAAG,mBAAU,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IAC7D,MAAM,EACJ,KAAK,GAAG,EAAE,EACV,IAAI,GAAG,CAAC,EACR,UAAU,GAAG,qCAAyB,EACtC,YAAY,GAAG,+BAAmB,EAClC,MAAM,GAAG,aAAa,EACtB,KAAK,GAAG,EAAE,GACX,GAAG,OAAO,CAAC;IACZ,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,wCAAwC,CAAC,CAAC;IAE7E,IAAI,CAAC;QACH,SAAS,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;QAC7B,IAAI,QAAQ,CAAC;QACb,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YACzB,QAAQ,GAAG,MAAM,eAAK,CAAC,GAAG,CACxB,GAAG,UAAU,mDAAmD,KAAK,SAAS,IAAI,iBAAiB,OAAO,CAAC,YAAY,EAAE,CAC1H,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,oBAAoB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5E,QAAQ,GAAG,MAAM,eAAK,CAAC,GAAG,CACxB,GAAG,UAAU,4BAA4B,KAAK,SAAS,IAAI,GAAG,SAAS,EAAE,CAC1E,CAAC;QACJ,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC5B,MAAM,YAAY,GAAG,cAAc,UAAU,yCAAyC,QAAQ,CAAC,MAAM,EAAE,CAAC;YACxG,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC7B,MAAM,IAAI,yBAAY,CAAC,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QACxD,CAAC;QACD,MAAM,MAAM,GAA4B;YACtC,YAAY,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC3C,IAAI,CAAC,GAAG,CAAC,YAAY;oBAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;gBACxF,OAAO,4BAAiB,CAAC,KAAK,CAAC;oBAC7B,GAAG,GAAG;oBACN,YAAY,EAAE,IAAA,gCAAiB,EAAC,GAAG,CAAC,YAAY,EAAE,YAAY,CAAC;iBAChE,CAAC,CAAC;YACL,CAAC,CAAC;YACF,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,SAAS;YAC9B,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK;YAC1B,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI;YACxB,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,UAAU;SACpC,CAAC;QACF,SAAS,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QAC1B,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,SAAS,CAAC,IAAI,CAAC,2EAA2E,CAAC,CAAC;QAC5F,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAjDW,QAAA,eAAe,mBAiD1B"}
@@ -0,0 +1,95 @@
1
+ export interface ResponseInterfaces {
2
+ docs: Doc[];
3
+ totalDocs: number;
4
+ limit: number;
5
+ totalPages: number;
6
+ page: number;
7
+ pagingCounter: number;
8
+ hasPrevPage: boolean;
9
+ hasNextPage: boolean;
10
+ prevPage: null;
11
+ nextPage: number;
12
+ }
13
+ export interface Doc {
14
+ id: string;
15
+ slug: string;
16
+ name: string;
17
+ manufacturer: Manufacturer;
18
+ type: string;
19
+ support_level: string;
20
+ available_commands: AvailableCommand[];
21
+ createdAt: Date;
22
+ updatedAt: Date;
23
+ }
24
+ export interface AvailableCommand {
25
+ id: string;
26
+ slug: string;
27
+ support_level: string;
28
+ createdAt: Date;
29
+ updatedAt: Date;
30
+ }
31
+ export interface Manufacturer {
32
+ id: string;
33
+ slug: string;
34
+ name: string;
35
+ logo: Logo;
36
+ support_level: string;
37
+ createdAt: Date;
38
+ updatedAt: Date;
39
+ icon: Icon;
40
+ vector_icon: Logo;
41
+ }
42
+ export interface Icon {
43
+ id: string;
44
+ alt: string;
45
+ filename: string;
46
+ mimeType: string;
47
+ filesize: number;
48
+ width: number;
49
+ height: number;
50
+ focalX: number;
51
+ focalY: number;
52
+ sizes: IconSizes;
53
+ createdAt: Date;
54
+ updatedAt: Date;
55
+ url: string;
56
+ }
57
+ export interface IconSizes {
58
+ thumbnail: PurpleCard;
59
+ card: PurpleCard;
60
+ tablet: PurpleCard;
61
+ }
62
+ export interface PurpleCard {
63
+ width: number;
64
+ height: number;
65
+ mimeType: string;
66
+ filesize: number;
67
+ filename: string;
68
+ url: string;
69
+ }
70
+ export interface Logo {
71
+ id: string;
72
+ alt: string;
73
+ filename: string;
74
+ mimeType: string;
75
+ filesize: number;
76
+ width: number;
77
+ height: number;
78
+ sizes: LogoSizes;
79
+ createdAt: Date;
80
+ updatedAt: Date;
81
+ url: string;
82
+ }
83
+ export interface LogoSizes {
84
+ thumbnail: FluffyCard;
85
+ card: FluffyCard;
86
+ tablet: FluffyCard;
87
+ }
88
+ export interface FluffyCard {
89
+ url: null;
90
+ }
91
+ export declare class Convert {
92
+ static toResponseInterfaces(json: string): ResponseInterfaces;
93
+ static responseInterfacesToJson(value: ResponseInterfaces): string;
94
+ }
95
+ //# sourceMappingURL=response.interfaces.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"response.interfaces.d.ts","sourceRoot":"","sources":["../../../src/deviceModel/getDeviceModels/response.interfaces.ts"],"names":[],"mappings":"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"}