zigbee-herdsman 7.0.6 → 8.0.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 (79) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/adapter/adapterDiscovery.d.ts.map +1 -1
  3. package/dist/adapter/adapterDiscovery.js +13 -0
  4. package/dist/adapter/adapterDiscovery.js.map +1 -1
  5. package/dist/adapter/deconz/driver/driver.d.ts +1 -0
  6. package/dist/adapter/deconz/driver/driver.d.ts.map +1 -1
  7. package/dist/adapter/deconz/driver/driver.js +11 -11
  8. package/dist/adapter/deconz/driver/driver.js.map +1 -1
  9. package/dist/adapter/deconz/driver/frameParser.d.ts.map +1 -1
  10. package/dist/adapter/deconz/driver/frameParser.js +15 -3
  11. package/dist/adapter/deconz/driver/frameParser.js.map +1 -1
  12. package/dist/adapter/ember/adapter/endpoints.js +1 -1
  13. package/dist/adapter/ember/ezsp/ezsp.d.ts.map +1 -1
  14. package/dist/adapter/ember/ezsp/ezsp.js +3 -3
  15. package/dist/adapter/ember/ezsp/ezsp.js.map +1 -1
  16. package/dist/adapter/ezsp/driver/driver.js +2 -2
  17. package/dist/adapter/ezsp/driver/driver.js.map +1 -1
  18. package/dist/adapter/ezsp/driver/ezsp.d.ts.map +1 -1
  19. package/dist/adapter/ezsp/driver/ezsp.js +3 -2
  20. package/dist/adapter/ezsp/driver/ezsp.js.map +1 -1
  21. package/dist/adapter/ezsp/driver/uart.d.ts.map +1 -1
  22. package/dist/adapter/ezsp/driver/uart.js +4 -3
  23. package/dist/adapter/ezsp/driver/uart.js.map +1 -1
  24. package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts.map +1 -1
  25. package/dist/adapter/z-stack/adapter/zStackAdapter.js +8 -4
  26. package/dist/adapter/z-stack/adapter/zStackAdapter.js.map +1 -1
  27. package/dist/adapter/z-stack/znp/znp.d.ts.map +1 -1
  28. package/dist/adapter/z-stack/znp/znp.js +4 -3
  29. package/dist/adapter/z-stack/znp/znp.js.map +1 -1
  30. package/dist/adapter/zboss/driver.d.ts.map +1 -1
  31. package/dist/adapter/zboss/driver.js +4 -3
  32. package/dist/adapter/zboss/driver.js.map +1 -1
  33. package/dist/adapter/zboss/uart.d.ts.map +1 -1
  34. package/dist/adapter/zboss/uart.js +3 -2
  35. package/dist/adapter/zboss/uart.js.map +1 -1
  36. package/dist/adapter/zigate/driver/zigate.d.ts.map +1 -1
  37. package/dist/adapter/zigate/driver/zigate.js +7 -7
  38. package/dist/adapter/zigate/driver/zigate.js.map +1 -1
  39. package/dist/controller/helpers/zclFrameConverter.d.ts.map +1 -1
  40. package/dist/controller/helpers/zclFrameConverter.js +10 -2
  41. package/dist/controller/helpers/zclFrameConverter.js.map +1 -1
  42. package/dist/controller/model/endpoint.d.ts.map +1 -1
  43. package/dist/controller/model/endpoint.js +21 -1
  44. package/dist/controller/model/endpoint.js.map +1 -1
  45. package/dist/controller/model/group.d.ts.map +1 -1
  46. package/dist/controller/model/group.js +4 -1
  47. package/dist/controller/model/group.js.map +1 -1
  48. package/dist/utils/async-mutex.d.ts +7 -0
  49. package/dist/utils/async-mutex.d.ts.map +1 -0
  50. package/dist/utils/async-mutex.js +31 -0
  51. package/dist/utils/async-mutex.js.map +1 -0
  52. package/dist/zspec/zcl/buffaloZcl.d.ts +2 -32
  53. package/dist/zspec/zcl/buffaloZcl.d.ts.map +1 -1
  54. package/dist/zspec/zcl/buffaloZcl.js +76 -190
  55. package/dist/zspec/zcl/buffaloZcl.js.map +1 -1
  56. package/dist/zspec/zcl/definition/cluster.d.ts.map +1 -1
  57. package/dist/zspec/zcl/definition/cluster.js +5035 -3044
  58. package/dist/zspec/zcl/definition/cluster.js.map +1 -1
  59. package/dist/zspec/zcl/definition/clusters-types.d.ts +4501 -3149
  60. package/dist/zspec/zcl/definition/clusters-types.d.ts.map +1 -1
  61. package/dist/zspec/zcl/definition/datatypes.d.ts +2173 -0
  62. package/dist/zspec/zcl/definition/datatypes.d.ts.map +1 -0
  63. package/dist/zspec/zcl/definition/datatypes.js +2315 -0
  64. package/dist/zspec/zcl/definition/datatypes.js.map +1 -0
  65. package/dist/zspec/zcl/definition/foundation.js +54 -54
  66. package/dist/zspec/zcl/definition/tstype.d.ts +73 -10
  67. package/dist/zspec/zcl/definition/tstype.d.ts.map +1 -1
  68. package/dist/zspec/zcl/utils.d.ts +6 -1
  69. package/dist/zspec/zcl/utils.d.ts.map +1 -1
  70. package/dist/zspec/zcl/utils.js +118 -0
  71. package/dist/zspec/zcl/utils.js.map +1 -1
  72. package/dist/zspec/zcl/zclFrame.d.ts.map +1 -1
  73. package/dist/zspec/zcl/zclFrame.js +4 -2
  74. package/dist/zspec/zcl/zclFrame.js.map +1 -1
  75. package/package.json +1 -1
  76. package/dist/zspec/zcl/definition/clusters-typegen.d.ts +0 -2
  77. package/dist/zspec/zcl/definition/clusters-typegen.d.ts.map +0 -1
  78. package/dist/zspec/zcl/definition/clusters-typegen.js +0 -348
  79. package/dist/zspec/zcl/definition/clusters-typegen.js.map +0 -1
@@ -6,7 +6,13 @@ exports.getGlobalCommand = getGlobalCommand;
6
6
  exports.isClusterName = isClusterName;
7
7
  exports.getFoundationCommand = getFoundationCommand;
8
8
  exports.isFoundationDiscoverRsp = isFoundationDiscoverRsp;
9
+ exports.processAttributeWrite = processAttributeWrite;
10
+ exports.processAttributePreRead = processAttributePreRead;
11
+ exports.processAttributePostRead = processAttributePostRead;
12
+ exports.processParameterWrite = processParameterWrite;
13
+ exports.processParameterRead = processParameterRead;
9
14
  const cluster_1 = require("./definition/cluster");
15
+ const datatypes_1 = require("./definition/datatypes");
10
16
  const enums_1 = require("./definition/enums");
11
17
  const foundation_1 = require("./definition/foundation");
12
18
  const DATA_TYPE_CLASS_DISCRETE = [
@@ -270,4 +276,116 @@ function getFoundationCommand(id) {
270
276
  function isFoundationDiscoverRsp(id) {
271
277
  return FOUNDATION_DISCOVER_RSP_IDS.includes(id);
272
278
  }
279
+ /** Check if value is equal to either min, max, minRef or maxRef */
280
+ function isMinOrMax(entry, value) {
281
+ if (value === entry.max || value === entry.min) {
282
+ return true;
283
+ }
284
+ return false;
285
+ }
286
+ function processRestrictions(entry, value) {
287
+ if (entry.min !== undefined && value < entry.min) {
288
+ throw new Error(`${entry.name} requires min of ${entry.min}`);
289
+ }
290
+ if (entry.minExcl !== undefined && value <= entry.minExcl) {
291
+ throw new Error(`${entry.name} requires min exclusive of ${entry.minExcl}`);
292
+ }
293
+ if (entry.max !== undefined && value > entry.max) {
294
+ throw new Error(`${entry.name} requires max of ${entry.max}`);
295
+ }
296
+ if (entry.maxExcl !== undefined && value >= entry.maxExcl) {
297
+ throw new Error(`${entry.name} requires max exclusive of ${entry.maxExcl}`);
298
+ }
299
+ if (entry.length !== undefined && value.length !== entry.length) {
300
+ throw new Error(`${entry.name} requires length of ${entry.length}`);
301
+ }
302
+ if (entry.minLen !== undefined && value.length < entry.minLen) {
303
+ throw new Error(`${entry.name} requires min length of ${entry.minLen}`);
304
+ }
305
+ if (entry.maxLen !== undefined && value.length > entry.maxLen) {
306
+ throw new Error(`${entry.name} requires max length of ${entry.maxLen}`);
307
+ }
308
+ }
309
+ function processAttributeWrite(attribute, value) {
310
+ if (attribute.write !== true) {
311
+ throw new Error(`Attribute ${attribute.name} (${attribute.ID}) is not writable`);
312
+ }
313
+ if (value == null) {
314
+ return attribute.default !== undefined ? attribute.default : value /* XXX: dangerous fallback */;
315
+ }
316
+ // if default, always valid
317
+ if (attribute.default === value) {
318
+ return value;
319
+ }
320
+ if (Number.isNaN(value)) {
321
+ if (attribute.default === undefined) {
322
+ const nonValue = datatypes_1.ZCL_TYPE_INVALID_BY_TYPE[attribute.type];
323
+ if (nonValue === undefined) {
324
+ throw new Error(`Attribute ${attribute.name} (${attribute.ID}) does not have a default nor a non-value`);
325
+ }
326
+ return nonValue;
327
+ }
328
+ return attribute.default;
329
+ }
330
+ processRestrictions(attribute, value);
331
+ return value;
332
+ }
333
+ function processAttributePreRead(attribute) {
334
+ if (attribute.read === false) {
335
+ throw new Error(`Attribute ${attribute.name} (${attribute.ID}) is not readable`);
336
+ }
337
+ }
338
+ function processAttributePostRead(attribute, value) {
339
+ // should never happen?
340
+ if (value == null) {
341
+ return value;
342
+ }
343
+ // if default, always valid
344
+ if (attribute.default === value) {
345
+ return value;
346
+ }
347
+ // if type does not have an `invalid` (undefined) it won't match since value is checked above
348
+ if (value === datatypes_1.ZCL_TYPE_INVALID_BY_TYPE[attribute.type]) {
349
+ // if value is same as max or min, ignore invalid sentinel
350
+ if (isMinOrMax(attribute, value)) {
351
+ return value;
352
+ }
353
+ // return NaN for both number & bigint to keep logic consistent
354
+ return Number.NaN;
355
+ }
356
+ processRestrictions(attribute, value);
357
+ return value;
358
+ }
359
+ function processParameterWrite(parameter, value) {
360
+ // should never happen?
361
+ if (value == null) {
362
+ return value;
363
+ }
364
+ if (Number.isNaN(value)) {
365
+ const nonValue = datatypes_1.ZCL_TYPE_INVALID_BY_TYPE[parameter.type];
366
+ if (nonValue === undefined) {
367
+ throw new Error(`Parameter ${parameter.name} does not have a non-value`);
368
+ }
369
+ return nonValue;
370
+ }
371
+ processRestrictions(parameter, value);
372
+ return value;
373
+ }
374
+ function processParameterRead(parameter, value) {
375
+ // should never happen?
376
+ if (value == null) {
377
+ return value;
378
+ }
379
+ // if type does not have an `invalid` (undefined) it won't match since value is checked above
380
+ if (value === datatypes_1.ZCL_TYPE_INVALID_BY_TYPE[parameter.type]) {
381
+ // if value is same as max or min, ignore invalid sentinel
382
+ if (isMinOrMax(parameter, value)) {
383
+ return value;
384
+ }
385
+ // return NaN for both number & bigint to keep logic consistent
386
+ return Number.NaN;
387
+ }
388
+ processRestrictions(parameter, value);
389
+ return value;
390
+ }
273
391
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/zspec/zcl/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/zspec/zcl/utils.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"zclFrame.d.ts","sourceRoot":"","sources":["../../../src/zspec/zcl/zclFrame.ts"],"names":[],"mappings":"AAAA,OAAO,sCAAsC,CAAC;AAG9C,OAAO,EAA+B,SAAS,EAAE,SAAS,EAAqB,MAAM,oBAAoB,CAAC;AAC1G,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EAAoB,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAC,MAAM,qBAAqB,CAAC;AAE/H,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AAGtC,KAAK,UAAU,GAAG,GAAG,CAAC;AAUtB,qBAAa,QAAQ;IACjB,SAAgB,MAAM,EAAE,SAAS,CAAC;IAClC,SAAgB,OAAO,EAAE,UAAU,CAAC;IACpC,SAAgB,OAAO,EAAE,OAAO,CAAC;IACjC,SAAgB,OAAO,EAAE,OAAO,CAAC;IAEjC,OAAO;IAOA,QAAQ,IAAI,MAAM;IAIzB;;OAEG;WACW,MAAM,CAChB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,SAAS,EACpB,sBAAsB,EAAE,OAAO,EAC/B,gBAAgB,EAAE,MAAM,GAAG,SAAS,EACpC,yBAAyB,EAAE,MAAM,EACjC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,EACrC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,EACrC,OAAO,EAAE,UAAU,EACnB,cAAc,EAAE,cAAc,EAC9B,YAAY,SAAI,GACjB,QAAQ;IAqBJ,QAAQ,IAAI,MAAM;IAezB,OAAO,CAAC,kBAAkB;IAuC1B,OAAO,CAAC,mBAAmB;IAe3B;;OAEG;WACW,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,cAAc,GAAG,QAAQ;IAiBpI,OAAO,CAAC,MAAM,CAAC,YAAY;IAY3B,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAiClC,OAAO,CAAC,MAAM,CAAC,kBAAkB;IA6EjC;;OAEG;WAEW,eAAe,CAAC,SAAS,EAAE,mBAAmB,EAAE,KAAK,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO;IA4D5H,SAAS,CAAC,WAAW,EAAE,qBAAqB,GAAG,WAAW,GAAG,OAAO;IAKpE,SAAS,CAAC,WAAW,EAAE,qBAAqB,GAAG,QAAQ,GAAG,KAAK,GAAG,OAAO,GAAG,WAAW,GAAG,SAAS,GAAG,UAAU,GAAG,KAAK,GAAG,OAAO;CAG5I"}
1
+ {"version":3,"file":"zclFrame.d.ts","sourceRoot":"","sources":["../../../src/zspec/zcl/zclFrame.ts"],"names":[],"mappings":"AAAA,OAAO,sCAAsC,CAAC;AAG9C,OAAO,EAA+B,SAAS,EAAE,SAAS,EAAqB,MAAM,oBAAoB,CAAC;AAC1G,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EAAoB,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAC,MAAM,qBAAqB,CAAC;AAE/H,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AAGtC,KAAK,UAAU,GAAG,GAAG,CAAC;AAUtB,qBAAa,QAAQ;IACjB,SAAgB,MAAM,EAAE,SAAS,CAAC;IAClC,SAAgB,OAAO,EAAE,UAAU,CAAC;IACpC,SAAgB,OAAO,EAAE,OAAO,CAAC;IACjC,SAAgB,OAAO,EAAE,OAAO,CAAC;IAEjC,OAAO;IAOA,QAAQ,IAAI,MAAM;IAIzB;;OAEG;WACW,MAAM,CAChB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,SAAS,EACpB,sBAAsB,EAAE,OAAO,EAC/B,gBAAgB,EAAE,MAAM,GAAG,SAAS,EACpC,yBAAyB,EAAE,MAAM,EACjC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,EACrC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,EACrC,OAAO,EAAE,UAAU,EACnB,cAAc,EAAE,cAAc,EAC9B,YAAY,SAAI,GACjB,QAAQ;IAqBJ,QAAQ,IAAI,MAAM;IAezB,OAAO,CAAC,kBAAkB;IAuC1B,OAAO,CAAC,mBAAmB;IAiB3B;;OAEG;WACW,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,cAAc,GAAG,QAAQ;IAiBpI,OAAO,CAAC,MAAM,CAAC,YAAY;IAY3B,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAkClC,OAAO,CAAC,MAAM,CAAC,kBAAkB;IA6EjC;;OAEG;WAEW,eAAe,CAAC,SAAS,EAAE,mBAAmB,EAAE,KAAK,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO;IA4D5H,SAAS,CAAC,WAAW,EAAE,qBAAqB,GAAG,WAAW,GAAG,OAAO;IAKpE,SAAS,CAAC,WAAW,EAAE,qBAAqB,GAAG,QAAQ,GAAG,KAAK,GAAG,OAAO,GAAG,WAAW,GAAG,SAAS,GAAG,UAAU,GAAG,KAAK,GAAG,OAAO;CAG5I"}
@@ -133,7 +133,8 @@ class ZclFrame {
133
133
  if (this.payload[parameter.name] == null) {
134
134
  throw new Error(`Parameter '${parameter.name}' is missing`);
135
135
  }
136
- buffalo.write(parameter.type, this.payload[parameter.name], {});
136
+ const valueToWrite = Utils.processParameterWrite(parameter, this.payload[parameter.name]);
137
+ buffalo.write(parameter.type, valueToWrite, {});
137
138
  }
138
139
  }
139
140
  /**
@@ -180,7 +181,8 @@ class ZclFrame {
180
181
  }
181
182
  }
182
183
  try {
183
- payload[parameter.name] = buffalo.read(parameter.type, options);
184
+ const valueToProcess = buffalo.read(parameter.type, options);
185
+ payload[parameter.name] = Utils.processParameterRead(parameter, valueToProcess);
184
186
  }
185
187
  catch (error) {
186
188
  throw new Error(`Cannot parse '${command.name}:${parameter.name}' (${error.message})`);
@@ -1 +1 @@
1
- {"version":3,"file":"zclFrame.js","sourceRoot":"","sources":["../../../src/zspec/zcl/zclFrame.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zclFrame.js","sourceRoot":"","sources":["../../../src/zspec/zcl/zclFrame.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -70,7 +70,7 @@
70
70
  "type": "git",
71
71
  "url": "git+https://github.com/Koenkk/zigbee-herdsman.git"
72
72
  },
73
- "version": "7.0.6",
73
+ "version": "8.0.0",
74
74
  "scripts": {
75
75
  "build": "tsc",
76
76
  "build:watch": "tsc -w",
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=clusters-typegen.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"clusters-typegen.d.ts","sourceRoot":"","sources":["../../../../src/zspec/zcl/definition/clusters-typegen.ts"],"names":[],"mappings":""}
@@ -1,348 +0,0 @@
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
- /* v8 ignore start */
7
- /**
8
- * How to run:
9
- * ```bash
10
- * npm i -g ts-node
11
- * ts-node ./src/zspec/zcl/definition/clusters-typegen.ts && pnpm run check:w
12
- * ```
13
- * or with compiled:
14
- * ```bash
15
- * pnpm run prepack
16
- * node ./dist/zspec/zcl/definition/clusters-typegen.js && pnpm run check:w
17
- * ```
18
- */
19
- const node_fs_1 = require("node:fs");
20
- const typescript_1 = __importDefault(require("typescript"));
21
- const utils_1 = require("../utils");
22
- const cluster_1 = require("./cluster");
23
- const enums_1 = require("./enums");
24
- const foundation_1 = require("./foundation");
25
- const manufacturerCode_1 = require("./manufacturerCode");
26
- const FILENAME = "clusters-types.ts";
27
- const file = typescript_1.default.createSourceFile(FILENAME, "", typescript_1.default.ScriptTarget.ESNext, false, typescript_1.default.ScriptKind.TS);
28
- const printer = typescript_1.default.createPrinter({ newLine: typescript_1.default.NewLineKind.LineFeed });
29
- const emptyObject = typescript_1.default.factory.createTypeReferenceNode("Record", [
30
- typescript_1.default.factory.createKeywordTypeNode(typescript_1.default.SyntaxKind.StringKeyword),
31
- typescript_1.default.factory.createKeywordTypeNode(typescript_1.default.SyntaxKind.NeverKeyword),
32
- ]);
33
- const namedImports = typescript_1.default.factory.createImportDeclaration(undefined, typescript_1.default.factory.createImportClause(true, undefined, typescript_1.default.factory.createNamedImports([
34
- // sorted by name
35
- typescript_1.default.factory.createImportSpecifier(false, undefined, typescript_1.default.factory.createIdentifier("ExtensionFieldSet")),
36
- typescript_1.default.factory.createImportSpecifier(false, undefined, typescript_1.default.factory.createIdentifier("Gpd")),
37
- typescript_1.default.factory.createImportSpecifier(false, undefined, typescript_1.default.factory.createIdentifier("GpdAttributeReport")),
38
- typescript_1.default.factory.createImportSpecifier(false, undefined, typescript_1.default.factory.createIdentifier("GpdChannelConfiguration")),
39
- typescript_1.default.factory.createImportSpecifier(false, undefined, typescript_1.default.factory.createIdentifier("GpdChannelRequest")),
40
- typescript_1.default.factory.createImportSpecifier(false, undefined, typescript_1.default.factory.createIdentifier("GpdCommissioningReply")),
41
- typescript_1.default.factory.createImportSpecifier(false, undefined, typescript_1.default.factory.createIdentifier("GpdCustomReply")),
42
- typescript_1.default.factory.createImportSpecifier(false, undefined, typescript_1.default.factory.createIdentifier("MiboxerZone")),
43
- typescript_1.default.factory.createImportSpecifier(false, undefined, typescript_1.default.factory.createIdentifier("Struct")),
44
- typescript_1.default.factory.createImportSpecifier(false, undefined, typescript_1.default.factory.createIdentifier("StructuredSelector")),
45
- typescript_1.default.factory.createImportSpecifier(false, undefined, typescript_1.default.factory.createIdentifier("ThermoTransition")),
46
- typescript_1.default.factory.createImportSpecifier(false, undefined, typescript_1.default.factory.createIdentifier("TuyaDataPointValue")),
47
- typescript_1.default.factory.createImportSpecifier(false, undefined, typescript_1.default.factory.createIdentifier("ZclArray")),
48
- // ts.factory.createImportSpecifier(false, undefined, ts.factory.createIdentifier("ZclDate")), // XXX: currently unused
49
- // ts.factory.createImportSpecifier(false, undefined, ts.factory.createIdentifier("ZclTimeOfDay")), // XXX: currently unused
50
- typescript_1.default.factory.createImportSpecifier(false, undefined, typescript_1.default.factory.createIdentifier("ZoneInfo")),
51
- ])), typescript_1.default.factory.createStringLiteral("./tstype"), undefined);
52
- const getTypeFromDataType = (dataType) => {
53
- switch (dataType) {
54
- case enums_1.DataType.NO_DATA:
55
- case enums_1.DataType.UNKNOWN: {
56
- return typescript_1.default.factory.createKeywordTypeNode(typescript_1.default.SyntaxKind.NeverKeyword);
57
- }
58
- case enums_1.DataType.DATA56:
59
- case enums_1.DataType.BITMAP56:
60
- case enums_1.DataType.UINT56:
61
- case enums_1.DataType.DATA64:
62
- case enums_1.DataType.BITMAP64:
63
- case enums_1.DataType.UINT64:
64
- case enums_1.DataType.INT56:
65
- case enums_1.DataType.INT64: {
66
- return typescript_1.default.factory.createKeywordTypeNode(typescript_1.default.SyntaxKind.BigIntKeyword);
67
- }
68
- case enums_1.DataType.OCTET_STR:
69
- case enums_1.DataType.LONG_OCTET_STR:
70
- case enums_1.DataType.SEC_KEY: {
71
- return typescript_1.default.factory.createTypeReferenceNode("Buffer");
72
- }
73
- case enums_1.DataType.CHAR_STR:
74
- case enums_1.DataType.LONG_CHAR_STR:
75
- case enums_1.DataType.IEEE_ADDR: {
76
- return typescript_1.default.factory.createKeywordTypeNode(typescript_1.default.SyntaxKind.StringKeyword);
77
- }
78
- case enums_1.DataType.ARRAY:
79
- case enums_1.DataType.SET:
80
- case enums_1.DataType.BAG: {
81
- // mismatch on read vs write, have to union
82
- return typescript_1.default.factory.createUnionTypeNode([
83
- typescript_1.default.factory.createTypeReferenceNode("ZclArray"),
84
- typescript_1.default.factory.createArrayTypeNode(typescript_1.default.factory.createKeywordTypeNode(typescript_1.default.SyntaxKind.UnknownKeyword)),
85
- ]);
86
- }
87
- case enums_1.DataType.STRUCT: {
88
- return typescript_1.default.factory.createTypeReferenceNode("Struct");
89
- }
90
- case enums_1.DataType.TOD: {
91
- return typescript_1.default.factory.createTypeReferenceNode("ZclTimeOfDay");
92
- }
93
- case enums_1.DataType.DATE: {
94
- return typescript_1.default.factory.createTypeReferenceNode("ZclDate");
95
- }
96
- case enums_1.BuffaloZclDataType.USE_DATA_TYPE: {
97
- return typescript_1.default.factory.createKeywordTypeNode(typescript_1.default.SyntaxKind.UnknownKeyword);
98
- }
99
- case enums_1.BuffaloZclDataType.LIST_UINT8:
100
- case enums_1.BuffaloZclDataType.LIST_UINT16:
101
- case enums_1.BuffaloZclDataType.LIST_UINT24:
102
- case enums_1.BuffaloZclDataType.LIST_UINT32: {
103
- return typescript_1.default.factory.createArrayTypeNode(typescript_1.default.factory.createKeywordTypeNode(typescript_1.default.SyntaxKind.NumberKeyword));
104
- }
105
- case enums_1.BuffaloZclDataType.LIST_ZONEINFO: {
106
- return typescript_1.default.factory.createArrayTypeNode(typescript_1.default.factory.createTypeReferenceNode("ZoneInfo"));
107
- }
108
- case enums_1.BuffaloZclDataType.EXTENSION_FIELD_SETS: {
109
- return typescript_1.default.factory.createArrayTypeNode(typescript_1.default.factory.createTypeReferenceNode("ExtensionFieldSet"));
110
- }
111
- case enums_1.BuffaloZclDataType.LIST_THERMO_TRANSITIONS: {
112
- return typescript_1.default.factory.createArrayTypeNode(typescript_1.default.factory.createTypeReferenceNode("ThermoTransition"));
113
- }
114
- case enums_1.BuffaloZclDataType.BUFFER: {
115
- return typescript_1.default.factory.createTypeReferenceNode("Buffer");
116
- }
117
- case enums_1.BuffaloZclDataType.GPD_FRAME: {
118
- return typescript_1.default.factory.createUnionTypeNode([
119
- typescript_1.default.factory.createTypeReferenceNode("Gpd"),
120
- typescript_1.default.factory.createTypeReferenceNode("GpdChannelRequest"),
121
- typescript_1.default.factory.createTypeReferenceNode("GpdAttributeReport"),
122
- typescript_1.default.factory.createTypeLiteralNode([
123
- typescript_1.default.factory.createPropertySignature(undefined, "raw", undefined, typescript_1.default.factory.createTypeReferenceNode("Buffer")),
124
- ]),
125
- typescript_1.default.factory.createTypeReferenceNode("Record<string, never>"),
126
- typescript_1.default.factory.createTypeReferenceNode("GpdCommissioningReply"),
127
- typescript_1.default.factory.createTypeReferenceNode("GpdChannelConfiguration"),
128
- typescript_1.default.factory.createTypeReferenceNode("GpdCustomReply"),
129
- ]);
130
- }
131
- case enums_1.BuffaloZclDataType.STRUCTURED_SELECTOR: {
132
- return typescript_1.default.factory.createTypeReferenceNode("StructuredSelector");
133
- }
134
- case enums_1.BuffaloZclDataType.LIST_TUYA_DATAPOINT_VALUES: {
135
- return typescript_1.default.factory.createArrayTypeNode(typescript_1.default.factory.createTypeReferenceNode("TuyaDataPointValue"));
136
- }
137
- case enums_1.BuffaloZclDataType.LIST_MIBOXER_ZONES: {
138
- return typescript_1.default.factory.createArrayTypeNode(typescript_1.default.factory.createTypeReferenceNode("MiboxerZone"));
139
- }
140
- default: {
141
- return typescript_1.default.factory.createKeywordTypeNode(typescript_1.default.SyntaxKind.NumberKeyword);
142
- }
143
- }
144
- };
145
- const getConditionStr = (conditions) => {
146
- if (conditions) {
147
- let str = ", Conditions: [";
148
- for (const condition of conditions) {
149
- str += `{${condition.type}`;
150
- for (const key in condition) {
151
- if (key === "type") {
152
- continue;
153
- }
154
- str += ` ${key}=${condition[key]}`;
155
- }
156
- str += "}";
157
- }
158
- return `${str}]`;
159
- }
160
- };
161
- const addAttributes = (attributes) => {
162
- const elements = [];
163
- for (const attributeName in attributes) {
164
- const attribute = attributes[attributeName];
165
- const element = typescript_1.default.factory.createPropertySignature(undefined, attributeName,
166
- // always optional if manuf-specific
167
- attribute.manufacturerCode ? typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.QuestionToken) : undefined, getTypeFromDataType(attribute.type));
168
- elements.push(element);
169
- let comment = `* ID: ${attribute.ID} | Type: ${enums_1.DataType[attribute.type] ?? enums_1.BuffaloZclDataType[attribute.type]} `;
170
- if (attribute.manufacturerCode !== undefined) {
171
- comment += `| Specific to manufacturer: ${manufacturerCode_1.ManufacturerCode[attribute.manufacturerCode]} (${attribute.manufacturerCode}) `;
172
- }
173
- typescript_1.default.addSyntheticLeadingComment(element, typescript_1.default.SyntaxKind.MultiLineCommentTrivia, comment, true);
174
- }
175
- return elements.length > 0 ? typescript_1.default.factory.createTypeLiteralNode(elements) : typescript_1.default.factory.createKeywordTypeNode(typescript_1.default.SyntaxKind.NeverKeyword);
176
- };
177
- const addCommands = (commands) => {
178
- const elements = [];
179
- for (const commandName in commands) {
180
- const command = commands[commandName];
181
- const cmdElements = [];
182
- for (const parameter of command.parameters) {
183
- // @ts-expect-error bad typing?
184
- const existing = cmdElements.find((element) => element.name.escapedText === parameter.name);
185
- const paramType = getTypeFromDataType(parameter.type);
186
- if (!existing) {
187
- const cmdElement = typescript_1.default.factory.createPropertySignature(undefined, parameter.name, parameter.conditions ? typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.QuestionToken) : undefined, paramType);
188
- const conditionComment = getConditionStr(parameter.conditions);
189
- cmdElements.push(cmdElement);
190
- typescript_1.default.addSyntheticLeadingComment(cmdElement, typescript_1.default.SyntaxKind.MultiLineCommentTrivia, `* Type: ${enums_1.DataType[parameter.type] ?? enums_1.BuffaloZclDataType[parameter.type]}${conditionComment ?? ""} `, true);
191
- }
192
- else if (
193
- // @ts-expect-error bad typing?
194
- existing.type?.typeName?.escapedText &&
195
- // @ts-expect-error bad typing?
196
- paramType.typeName?.escapedText &&
197
- // @ts-expect-error bad typing?
198
- existing.type.typeName.escapedText !== paramType.typeName.escapedText) {
199
- // XXX: not currently used, untested
200
- typescript_1.default.factory.updatePropertySignature(existing, existing.modifiers, existing.name, existing.questionToken, typescript_1.default.factory.createUnionTypeNode([existing.type, paramType]));
201
- }
202
- else if (!parameter.conditions) {
203
- throw new Error(`Two or more cluster command parameters have identical name without conditions. ${JSON.stringify(parameter)}`);
204
- }
205
- }
206
- const element = typescript_1.default.factory.createPropertySignature(undefined, commandName, undefined, cmdElements.length > 0 ? typescript_1.default.factory.createTypeLiteralNode(cmdElements) : emptyObject);
207
- elements.push(element);
208
- let comment = `* ID: ${command.ID} `;
209
- if (command.response !== undefined) {
210
- comment += `| Response ID: ${command.response} `;
211
- }
212
- typescript_1.default.addSyntheticLeadingComment(element, typescript_1.default.SyntaxKind.MultiLineCommentTrivia, comment, true);
213
- }
214
- return elements.length > 0 ? typescript_1.default.factory.createTypeLiteralNode(elements) : typescript_1.default.factory.createKeywordTypeNode(typescript_1.default.SyntaxKind.NeverKeyword);
215
- };
216
- const clusterElements = [];
217
- for (const clusterName in cluster_1.Clusters) {
218
- const cluster = cluster_1.Clusters[clusterName];
219
- const attributesProp = typescript_1.default.factory.createPropertySignature(undefined, "attributes", undefined, addAttributes(cluster.attributes));
220
- const commandsProp = typescript_1.default.factory.createPropertySignature(undefined, "commands", undefined, addCommands(cluster.commands));
221
- const commandResponsesProp = typescript_1.default.factory.createPropertySignature(undefined, "commandResponses", undefined, addCommands(cluster.commandsResponse));
222
- clusterElements.push(typescript_1.default.factory.createPropertySignature(undefined, clusterName, undefined, typescript_1.default.factory.createTypeLiteralNode([attributesProp, commandsProp, commandResponsesProp])));
223
- }
224
- const clustersDecl = typescript_1.default.factory.createInterfaceDeclaration([typescript_1.default.factory.createModifier(typescript_1.default.SyntaxKind.ExportKeyword)], "TClusters", undefined, undefined, clusterElements);
225
- const addParameters = (foundation) => {
226
- const elements = [];
227
- for (const parameter of foundation.parameters) {
228
- const element = typescript_1.default.factory.createPropertySignature(undefined, parameter.name, parameter.conditions ? typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.QuestionToken) : undefined, getTypeFromDataType(parameter.type));
229
- const conditionComment = getConditionStr(parameter.conditions);
230
- elements.push(element);
231
- typescript_1.default.addSyntheticLeadingComment(element, typescript_1.default.SyntaxKind.MultiLineCommentTrivia, `* Type: ${enums_1.DataType[parameter.type] ?? enums_1.BuffaloZclDataType[parameter.type]}${conditionComment ?? ""} `, true);
232
- }
233
- if (elements.length === 0) {
234
- return emptyObject;
235
- }
236
- switch (foundation.parseStrategy) {
237
- case "repetitive": {
238
- return typescript_1.default.factory.createArrayTypeNode(typescript_1.default.factory.createTypeLiteralNode(elements));
239
- }
240
- case "flat": {
241
- return typescript_1.default.factory.createTypeLiteralNode(elements);
242
- }
243
- case "oneof": {
244
- if ((0, utils_1.isFoundationDiscoverRsp)(foundation.ID)) {
245
- const discComplete = typescript_1.default.factory.createPropertySignature(undefined, "discComplete", undefined, typescript_1.default.factory.createKeywordTypeNode(typescript_1.default.SyntaxKind.NumberKeyword));
246
- typescript_1.default.addSyntheticLeadingComment(discComplete, typescript_1.default.SyntaxKind.MultiLineCommentTrivia, `* Type: ${enums_1.DataType[enums_1.DataType.UINT8]} `, true);
247
- return typescript_1.default.factory.createTypeLiteralNode([
248
- discComplete,
249
- typescript_1.default.factory.createPropertySignature(undefined, "attrInfos", undefined, typescript_1.default.factory.createArrayTypeNode(typescript_1.default.factory.createTypeLiteralNode(elements))),
250
- ]);
251
- }
252
- }
253
- }
254
- throw new Error(`Unknown command strategy for ${JSON.stringify(foundation)}`);
255
- };
256
- const foundationElements = [];
257
- const foundationRepetitiveElements = [];
258
- const foundationFlatElements = [];
259
- const foundationOneOfElements = [];
260
- for (const foundationName in foundation_1.Foundation) {
261
- const foundation = foundation_1.Foundation[foundationName];
262
- const element = typescript_1.default.factory.createPropertySignature(undefined, foundationName, undefined, addParameters(foundation));
263
- foundationElements.push(element);
264
- typescript_1.default.addSyntheticLeadingComment(element, typescript_1.default.SyntaxKind.MultiLineCommentTrivia, `* ID: ${foundation.ID} `, true);
265
- const stratNode = typescript_1.default.factory.createTypeReferenceNode(`"${foundationName}"`);
266
- switch (foundation.parseStrategy) {
267
- case "repetitive": {
268
- foundationRepetitiveElements.push(stratNode);
269
- break;
270
- }
271
- case "flat": {
272
- foundationFlatElements.push(stratNode);
273
- break;
274
- }
275
- case "oneof": {
276
- foundationOneOfElements.push(stratNode);
277
- break;
278
- }
279
- }
280
- }
281
- const foundationDecl = typescript_1.default.factory.createInterfaceDeclaration([typescript_1.default.factory.createModifier(typescript_1.default.SyntaxKind.ExportKeyword)], "TFoundation", undefined, undefined, foundationElements);
282
- const foundationRepetitiveDecl = typescript_1.default.factory.createTypeAliasDeclaration([typescript_1.default.factory.createModifier(typescript_1.default.SyntaxKind.ExportKeyword)], "TFoundationRepetitive", undefined, typescript_1.default.factory.createUnionTypeNode(foundationRepetitiveElements));
283
- const foundationFlatDecl = typescript_1.default.factory.createTypeAliasDeclaration([typescript_1.default.factory.createModifier(typescript_1.default.SyntaxKind.ExportKeyword)], "TFoundationFlat", undefined, typescript_1.default.factory.createUnionTypeNode(foundationFlatElements));
284
- const foundationOneOfDecl = typescript_1.default.factory.createTypeAliasDeclaration([typescript_1.default.factory.createModifier(typescript_1.default.SyntaxKind.ExportKeyword)], "TFoundationOneOf", undefined, typescript_1.default.factory.createUnionTypeNode(foundationOneOfElements));
285
- const clDecl = typescript_1.default.factory.createTypeParameterDeclaration(undefined, "Cl", typescript_1.default.factory.createUnionTypeNode([
286
- typescript_1.default.factory.createKeywordTypeNode(typescript_1.default.SyntaxKind.NumberKeyword),
287
- typescript_1.default.factory.createKeywordTypeNode(typescript_1.default.SyntaxKind.StringKeyword),
288
- ]));
289
- const coDecl = typescript_1.default.factory.createTypeParameterDeclaration(undefined, "Co", typescript_1.default.factory.createUnionTypeNode([
290
- typescript_1.default.factory.createKeywordTypeNode(typescript_1.default.SyntaxKind.NumberKeyword),
291
- typescript_1.default.factory.createKeywordTypeNode(typescript_1.default.SyntaxKind.StringKeyword),
292
- ]));
293
- const clusterAttributeKeysDecl = typescript_1.default.factory.createTypeAliasDeclaration([typescript_1.default.factory.createModifier(typescript_1.default.SyntaxKind.ExportKeyword)], "TClusterAttributeKeys", [clDecl], typescript_1.default.factory.createTypeReferenceNode(`Cl extends keyof ${clustersDecl.name.escapedText} ? (keyof ${clustersDecl.name.escapedText}[Cl]["attributes"])[] : (string | number)[];`));
294
- const clusterAttributesDecl = typescript_1.default.factory.createTypeAliasDeclaration([typescript_1.default.factory.createModifier(typescript_1.default.SyntaxKind.ExportKeyword)], "TClusterAttributes", [clDecl], typescript_1.default.factory.createTypeReferenceNode(`Cl extends keyof ${clustersDecl.name.escapedText} ? ${clustersDecl.name.escapedText}[Cl]["attributes"] : never`));
295
- const partialClusterAttributesDecl = typescript_1.default.factory.createTypeAliasDeclaration([typescript_1.default.factory.createModifier(typescript_1.default.SyntaxKind.ExportKeyword)], "TPartialClusterAttributes", [clDecl], typescript_1.default.factory.createTypeReferenceNode(`Cl extends keyof ${clustersDecl.name.escapedText} ? Partial<${clustersDecl.name.escapedText}[Cl]["attributes"]> : never`));
296
- const clusterCommandKeysDecl = typescript_1.default.factory.createTypeAliasDeclaration([typescript_1.default.factory.createModifier(typescript_1.default.SyntaxKind.ExportKeyword)], "TClusterCommandKeys", [clDecl], typescript_1.default.factory.createTypeReferenceNode(`Cl extends keyof ${clustersDecl.name.escapedText} ? (keyof ${clustersDecl.name.escapedText}[Cl]["commands"])[] : (string | number)[];`));
297
- const clusterCommandResponseKeysDecl = typescript_1.default.factory.createTypeAliasDeclaration([typescript_1.default.factory.createModifier(typescript_1.default.SyntaxKind.ExportKeyword)], "TClusterCommandResponseKeys", [clDecl], typescript_1.default.factory.createTypeReferenceNode(`Cl extends keyof ${clustersDecl.name.escapedText} ? (keyof ${clustersDecl.name.escapedText}[Cl]["commandResponses"])[] : (string | number)[];`));
298
- const clusterCommandsDecl = typescript_1.default.factory.createTypeAliasDeclaration([typescript_1.default.factory.createModifier(typescript_1.default.SyntaxKind.ExportKeyword)], "TClusterCommands", [clDecl], typescript_1.default.factory.createTypeReferenceNode(`Cl extends keyof ${clustersDecl.name.escapedText} ? ${clustersDecl.name.escapedText}[Cl]["commands"] : never`));
299
- const clusterCommandResponsesDecl = typescript_1.default.factory.createTypeAliasDeclaration([typescript_1.default.factory.createModifier(typescript_1.default.SyntaxKind.ExportKeyword)], "TClusterCommandResponses", [clDecl], typescript_1.default.factory.createTypeReferenceNode(`Cl extends keyof ${clustersDecl.name.escapedText} ? ${clustersDecl.name.escapedText}[Cl]["commandResponses"] : never`));
300
- const clusterCommandPayloadDecl = typescript_1.default.factory.createTypeAliasDeclaration([typescript_1.default.factory.createModifier(typescript_1.default.SyntaxKind.ExportKeyword)], "TClusterCommandPayload", [clDecl, coDecl], typescript_1.default.factory.createTypeReferenceNode(`Cl extends keyof ${clustersDecl.name.escapedText} ? Co extends keyof ${clustersDecl.name.escapedText}[Cl]["commands"] ? ${clustersDecl.name.escapedText}[Cl]["commands"][Co] : never : never;`));
301
- const clusterCommandResponsePayloadDecl = typescript_1.default.factory.createTypeAliasDeclaration([typescript_1.default.factory.createModifier(typescript_1.default.SyntaxKind.ExportKeyword)], "TClusterCommandResponsePayload", [clDecl, coDecl], typescript_1.default.factory.createTypeReferenceNode(`Cl extends keyof ${clustersDecl.name.escapedText} ? Co extends keyof ${clustersDecl.name.escapedText}[Cl]["commandResponses"] ? ${clustersDecl.name.escapedText}[Cl]["commandResponses"][Co] : never : never;`));
302
- const clusterPayloadDecl = typescript_1.default.factory.createTypeAliasDeclaration([typescript_1.default.factory.createModifier(typescript_1.default.SyntaxKind.ExportKeyword)], "TClusterPayload", [clDecl, coDecl], typescript_1.default.factory.createTypeReferenceNode(`Cl extends keyof ${clustersDecl.name.escapedText} ? ${clustersDecl.name.escapedText}[Cl]["commands"] extends never ? ${clustersDecl.name.escapedText}[Cl]["commandResponses"] extends never ? never : Co extends keyof ${clustersDecl.name.escapedText}[Cl]["commandResponses"] ? ${clustersDecl.name.escapedText}[Cl]["commandResponses"][Co] : never : Co extends keyof ${clustersDecl.name.escapedText}[Cl]["commands"] ? ${clustersDecl.name.escapedText}[Cl]["commands"][Co] : Co extends keyof ${clustersDecl.name.escapedText}[Cl]["commandResponses"] ? ${clustersDecl.name.escapedText}[Cl]["commandResponses"][Co] : never : never;`));
303
- const foundationGenericPayloadDecl = typescript_1.default.factory.createTypeAliasDeclaration([typescript_1.default.factory.createModifier(typescript_1.default.SyntaxKind.ExportKeyword)], "TFoundationGenericPayload", undefined, typescript_1.default.factory.createTypeReferenceNode(`${foundationDecl.name.escapedText}[keyof ${foundationDecl.name.escapedText}]`));
304
- const foundationRepetitivePayloadDecl = typescript_1.default.factory.createTypeAliasDeclaration([typescript_1.default.factory.createModifier(typescript_1.default.SyntaxKind.ExportKeyword)], "TFoundationRepetitivePayload", undefined, typescript_1.default.factory.createTypeReferenceNode(`${foundationDecl.name.escapedText}[${foundationRepetitiveDecl.name.escapedText}]`));
305
- const foundationFlatPayloadDecl = typescript_1.default.factory.createTypeAliasDeclaration([typescript_1.default.factory.createModifier(typescript_1.default.SyntaxKind.ExportKeyword)], "TFoundationFlatPayload", undefined, typescript_1.default.factory.createTypeReferenceNode(`${foundationDecl.name.escapedText}[${foundationFlatDecl.name.escapedText}]`));
306
- const foundationOneOfPayloadDecl = typescript_1.default.factory.createTypeAliasDeclaration([typescript_1.default.factory.createModifier(typescript_1.default.SyntaxKind.ExportKeyword)], "TFoundationOneOfPayload", undefined, typescript_1.default.factory.createTypeReferenceNode(`${foundationDecl.name.escapedText}[${foundationOneOfDecl.name.escapedText}]`));
307
- const foundationPayloadDecl = typescript_1.default.factory.createTypeAliasDeclaration([typescript_1.default.factory.createModifier(typescript_1.default.SyntaxKind.ExportKeyword)], "TFoundationPayload", [coDecl], typescript_1.default.factory.createTypeReferenceNode(`Co extends keyof ${foundationDecl.name.escapedText} ? ${foundationDecl.name.escapedText}[Co] : ${foundationGenericPayloadDecl.name.escapedText}`));
308
- const result = `${printer.printNode(typescript_1.default.EmitHint.Unspecified, namedImports, file)}
309
-
310
- ${printer.printNode(typescript_1.default.EmitHint.Unspecified, clustersDecl, file)}
311
-
312
- ${printer.printNode(typescript_1.default.EmitHint.Unspecified, foundationDecl, file)}
313
-
314
- ${printer.printNode(typescript_1.default.EmitHint.Unspecified, foundationRepetitiveDecl, file)}
315
- ${printer.printNode(typescript_1.default.EmitHint.Unspecified, foundationFlatDecl, file)}
316
- ${printer.printNode(typescript_1.default.EmitHint.Unspecified, foundationOneOfDecl, file)}
317
-
318
- // Clusters
319
- ${printer.printNode(typescript_1.default.EmitHint.Unspecified, clusterAttributeKeysDecl, file)}
320
-
321
- ${printer.printNode(typescript_1.default.EmitHint.Unspecified, clusterAttributesDecl, file)}
322
-
323
- ${printer.printNode(typescript_1.default.EmitHint.Unspecified, partialClusterAttributesDecl, file)}
324
-
325
- ${printer.printNode(typescript_1.default.EmitHint.Unspecified, clusterCommandKeysDecl, file)}
326
-
327
- ${printer.printNode(typescript_1.default.EmitHint.Unspecified, clusterCommandResponseKeysDecl, file)}
328
-
329
- ${printer.printNode(typescript_1.default.EmitHint.Unspecified, clusterCommandsDecl, file)}
330
-
331
- ${printer.printNode(typescript_1.default.EmitHint.Unspecified, clusterCommandResponsesDecl, file)}
332
-
333
- ${printer.printNode(typescript_1.default.EmitHint.Unspecified, clusterCommandPayloadDecl, file)}
334
-
335
- ${printer.printNode(typescript_1.default.EmitHint.Unspecified, clusterCommandResponsePayloadDecl, file)}
336
-
337
- ${printer.printNode(typescript_1.default.EmitHint.Unspecified, clusterPayloadDecl, file)}
338
-
339
- // Foundation
340
- ${printer.printNode(typescript_1.default.EmitHint.Unspecified, foundationGenericPayloadDecl, file)}
341
- ${printer.printNode(typescript_1.default.EmitHint.Unspecified, foundationRepetitivePayloadDecl, file)}
342
- ${printer.printNode(typescript_1.default.EmitHint.Unspecified, foundationFlatPayloadDecl, file)}
343
- ${printer.printNode(typescript_1.default.EmitHint.Unspecified, foundationOneOfPayloadDecl, file)}
344
-
345
- ${printer.printNode(typescript_1.default.EmitHint.Unspecified, foundationPayloadDecl, file)}
346
- `;
347
- (0, node_fs_1.writeFileSync)(`./src/zspec/zcl/definition/${FILENAME}`, result, { encoding: "utf8" });
348
- //# sourceMappingURL=clusters-typegen.js.map