@ebusd/ebus-typespec 0.14.0 → 0.16.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.
@@ -3,7 +3,7 @@ import { CodeTypeEmitter, StringBuilder, code } from "@typespec/compiler/emitter
3
3
  import { DuplicateTracker } from "@typespec/compiler/utils";
4
4
  import jsYaml from "js-yaml";
5
5
  import { basename, extname } from "path";
6
- import { getAuth, getChain, getConditions, getDivisor, getId, getInherit, getMaxBits, getOut, getPassive, getPoll, getQq, getUnit, getValues, getWrite, getZz, isSourceAddr } from "./decorators.js";
6
+ import { getAuth, getChain, getConditions, getConstValue, getDivisor, getId, getInherit, getMaxBits, getOut, getPassive, getPoll, getQq, getSourceAddr, getUnit, getValues, getWrite, getZz, isSourceAddr } from "./decorators.js";
7
7
  import { StateKeys, reportDiagnostic } from "./lib.js";
8
8
  const hex = (v) => v === undefined ? '' : (0x100 | v).toString(16).substring(1);
9
9
  const hexs = (vs) => vs ? vs.map(hex).join('') : '';
@@ -125,6 +125,22 @@ export class EbusdEmitter extends CodeTypeEmitter {
125
125
  let write = getWrite(program, model) ?? getWrite(program, inheritFrom);
126
126
  const passive = getPassive(program, model) ?? getPassive(program, inheritFrom);
127
127
  let zz = getZz(program, model) ?? getZz(program, inheritFrom) ?? nearestZz;
128
+ if (write === false) {
129
+ write = true;
130
+ if (zz !== undefined && !isSourceAddr(zz)) {
131
+ const newZz = getSourceAddr(zz);
132
+ if (newZz === undefined) {
133
+ reportDiagnostic(program, {
134
+ code: "banned-write-target",
135
+ format: { value: hex(zz) },
136
+ target: model,
137
+ });
138
+ }
139
+ else {
140
+ zz = newZz;
141
+ }
142
+ }
143
+ }
128
144
  let broadcastOrMasterTarget = false;
129
145
  if (zz === 0xfe || isSourceAddr(zz)) {
130
146
  // special: broadcast or source as target
@@ -184,7 +200,7 @@ export class EbusdEmitter extends CodeTypeEmitter {
184
200
  if (badLength) {
185
201
  reportDiagnostic(program, {
186
202
  code: "invalid-length",
187
- format: { which: 'chain', value: badLength },
203
+ format: { which: '@chain', value: badLength },
188
204
  target: model,
189
205
  });
190
206
  }
@@ -214,24 +230,39 @@ export class EbusdEmitter extends CodeTypeEmitter {
214
230
  const program = this.emitter.getProgram();
215
231
  const properties = Array.from(model.properties.values());
216
232
  let recursion = 0;
233
+ let recursionReported = false;
234
+ let lengthReported = false;
217
235
  let commentProp;
218
236
  for (let idx = 0; idx < properties.length; idx++) {
219
237
  const p = properties[idx];
220
238
  if (p.type.kind !== 'Scalar' && p.type.kind !== 'ModelProperty') {
221
- if (p.type.kind === 'Model' && p.type.properties && recursion < 5) {
239
+ if (p.type.kind === 'Model' && p.type.properties && recursion < 64) {
240
+ // recursion limited by number of references
222
241
  // insert the referenced models properties inplace and go on with those (this is recursive)
223
242
  const append = Array.from(p.type.properties.values());
224
243
  properties.splice(idx + 1, 0, ...append);
225
244
  recursion++;
226
245
  // extract the comment only from reference:
227
246
  commentProp = p;
247
+ if (!lengthReported && properties.length > 16 * 2 * 8) {
248
+ // worst length limited by NN=16 bytes * 2 * 8 bits
249
+ lengthReported = true;
250
+ reportDiagnostic(program, {
251
+ code: "invalid-length",
252
+ target: model,
253
+ format: { which: 'model', value: `${properties.length}` },
254
+ });
255
+ }
228
256
  }
229
257
  else {
230
- reportDiagnostic(program, {
231
- code: "banned-inheritance",
232
- target: model,
233
- format: { ref: p.name },
234
- });
258
+ if (!recursionReported) {
259
+ recursionReported = true;
260
+ reportDiagnostic(program, {
261
+ code: "banned-inheritance",
262
+ target: model,
263
+ format: { ref: p.name },
264
+ });
265
+ }
235
266
  commentProp = undefined;
236
267
  }
237
268
  continue;
@@ -296,15 +327,18 @@ export class EbusdEmitter extends CodeTypeEmitter {
296
327
  if (d !== undefined && d !== 0) {
297
328
  res.divisor = (res.divisor || 1) * d;
298
329
  }
299
- if (!res.divisor && !res.values && !res.defaultValue) {
330
+ if (!res.divisor && !res.values && !res.constValue) {
300
331
  const members = getValues(program, s)?.members;
301
332
  if (members) {
302
333
  const values = [];
303
334
  members.forEach(m => m.value !== undefined && values.push(m.value + '=' + m.name));
304
335
  res.values = values;
305
336
  }
306
- else if (p.defaultValue && (p.defaultValue.valueKind === 'NumericValue' || p.defaultValue.valueKind === 'StringValue')) {
307
- res.defaultValue = p.defaultValue;
337
+ else {
338
+ const cv = getConstValue(program, s);
339
+ if (cv !== undefined) {
340
+ res.constValue = cv.toString();
341
+ }
308
342
  }
309
343
  }
310
344
  res.unit ??= getUnit(program, s);
@@ -339,7 +373,7 @@ export class EbusdEmitter extends CodeTypeEmitter {
339
373
  }
340
374
  // field,part (m/s),type / templates,divider / values,unit,comment
341
375
  const divisor = res.divisor ? Math.round(res.divisor < 1 ? -1.0 / res.divisor : res.divisor)
342
- : res.defaultValue ? `=${res.defaultValue.value}`
376
+ : res.constValue ? `=${res.constValue}`
343
377
  : res.values?.join(';');
344
378
  let typ = res.name;
345
379
  if (typ.length > 4 && typ[3] === '_') {
@@ -1 +1 @@
1
- {"version":3,"file":"csv_emitter.js","sourceRoot":"","sources":["../../src/csv_emitter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"csv_emitter.js","sourceRoot":"","sources":["../../src/csv_emitter.ts"],"names":[],"mappings":"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"}
@@ -20,8 +20,9 @@ export declare function getConditions(program: Program, target: Model | Namespac
20
20
  *
21
21
  * @param context Decorator context.
22
22
  * @param target Decorator target.
23
+ * @param toSource true to use the source address pendant of the target address instead of the target address.
23
24
  */
24
- export declare function $write(context: DecoratorContext, target: Model): void;
25
+ export declare function $write(context: DecoratorContext, target: Model, toSource?: boolean): void;
25
26
  /**
26
27
  * Accessor for the `@write` decorator.
27
28
  *
@@ -29,7 +30,7 @@ export declare function $write(context: DecoratorContext, target: Model): void;
29
30
  * @param target Decorator target.
30
31
  * @returns value if provided on the given target or undefined.
31
32
  */
32
- export declare function getWrite(program: Program, target: Model): boolean;
33
+ export declare function getWrite(program: Program, target: Model): boolean | undefined;
33
34
  /**
34
35
  * Implementation of the `@passive` decorator.
35
36
  *
@@ -44,7 +45,7 @@ export declare function $passive(context: DecoratorContext, target: Model): void
44
45
  * @param target Decorator target.
45
46
  * @returns value if provided on the given target or undefined.
46
47
  */
47
- export declare function getPassive(program: Program, target: Model): boolean;
48
+ export declare function getPassive(program: Program, target: Model): boolean | undefined;
48
49
  /**
49
50
  * Implementation of the `@poll` decorator.
50
51
  *
@@ -78,6 +79,7 @@ export declare function $auth(context: DecoratorContext, target: Model, value: s
78
79
  */
79
80
  export declare function getAuth(program: Program, target: Model): string | undefined;
80
81
  export declare const isSourceAddr: (qq?: number) => boolean;
82
+ export declare const getSourceAddr: (zz: number) => number | undefined;
81
83
  /**
82
84
  * Implementation of the `@qq` decorator.
83
85
  *
@@ -362,3 +364,19 @@ export declare function $values(context: DecoratorContext, target: Scalar | Mode
362
364
  * @returns value if provided on the given target or undefined.
363
365
  */
364
366
  export declare function getValues(program: Program, target: Scalar | ModelProperty): Enum | undefined;
367
+ /**
368
+ * Implementation of the `@constValue` decorator.
369
+ *
370
+ * @param context Decorator context.
371
+ * @param target Decorator target.
372
+ * @param value the value to assign.
373
+ */
374
+ export declare function $constValue(context: DecoratorContext, target: Scalar | ModelProperty, value: Numeric | string): void;
375
+ /**
376
+ * Accessor for the `@constValue` decorator.
377
+ *
378
+ * @param program TypeSpec program.
379
+ * @param target Decorator target.
380
+ * @returns value if provided on the given target or undefined.
381
+ */
382
+ export declare function getConstValue(program: Program, target: Scalar | ModelProperty): Numeric | String | undefined;
@@ -33,9 +33,10 @@ export function getConditions(program, target) {
33
33
  *
34
34
  * @param context Decorator context.
35
35
  * @param target Decorator target.
36
+ * @param toSource true to use the source address pendant of the target address instead of the target address.
36
37
  */
37
- export function $write(context, target) {
38
- context.program.stateMap(StateKeys.write).set(target, true);
38
+ export function $write(context, target, toSource) {
39
+ context.program.stateMap(StateKeys.write).set(target, !toSource);
39
40
  }
40
41
  /**
41
42
  * Accessor for the `@write` decorator.
@@ -141,6 +142,13 @@ const validSource = new Uint8Array([
141
142
  ]);
142
143
  const invalidTarget = new Uint8Array([0xa9, 0xaa]);
143
144
  export const isSourceAddr = (qq) => qq !== undefined && validSource.includes(qq);
145
+ export const getSourceAddr = (zz) => {
146
+ if (isSourceAddr(zz)) {
147
+ return zz;
148
+ }
149
+ zz = (zz + 0x100 - 5) & 0xff;
150
+ return validSource.includes(zz) ? zz : undefined;
151
+ };
144
152
  const getNum = (value) => {
145
153
  if (typeof value === 'number') {
146
154
  return value;
@@ -442,7 +450,7 @@ export function $example(context, target, desc, q, a) {
442
450
  reportDiagnostic(context.program, {
443
451
  code: "invalid-length",
444
452
  target,
445
- format: { which: 'example q', value: `or value ${q}` },
453
+ format: { which: '@example q', value: `or value ${q}` },
446
454
  });
447
455
  }
448
456
  const an = a ? parseHex(a) : undefined;
@@ -450,7 +458,7 @@ export function $example(context, target, desc, q, a) {
450
458
  reportDiagnostic(context.program, {
451
459
  code: "invalid-length",
452
460
  target,
453
- format: { which: 'example a', value: `or value ${a}` },
461
+ format: { which: '@example a', value: `or value ${a}` },
454
462
  });
455
463
  }
456
464
  if (qn && qn !== null) {
@@ -709,4 +717,31 @@ export function $values(context, target, value) {
709
717
  export function getValues(program, target) {
710
718
  return program.stateMap(StateKeys.values).get(target);
711
719
  }
720
+ /**
721
+ * Implementation of the `@constValue` decorator.
722
+ *
723
+ * @param context Decorator context.
724
+ * @param target Decorator target.
725
+ * @param value the value to assign.
726
+ */
727
+ export function $constValue(context, target, value) {
728
+ if (context.program.stateMap(StateKeys.constValue).has(target)) {
729
+ reportDiagnostic(context.program, {
730
+ code: "multiple-decorator",
731
+ target: context.getArgumentTarget(0),
732
+ format: { which: 'const' },
733
+ });
734
+ }
735
+ context.program.stateMap(StateKeys.constValue).set(target, value);
736
+ }
737
+ /**
738
+ * Accessor for the `@constValue` decorator.
739
+ *
740
+ * @param program TypeSpec program.
741
+ * @param target Decorator target.
742
+ * @returns value if provided on the given target or undefined.
743
+ */
744
+ export function getConstValue(program, target) {
745
+ return program.stateMap(StateKeys.constValue).get(target);
746
+ }
712
747
  //# sourceMappingURL=decorators.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,eAAe,EAAE,eAAe,EAAE,SAAS,EAAE,aAAa,EAAE,oBAAoB,EACjF,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAC,SAAS,EAAE,gBAAgB,EAAC,MAAM,UAAU,CAAC;AAGrD;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAC,OAAyB,EAAE,MAAoC,EAAE,QAA6B,EAAE,GAAG,MAAgB;IAC5I,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAE,EAAE,CAAyC,CAAC;IACrH,IAAI,MAAM,CAAC,IAAI,KAAG,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5E,OAAO;IACT,CAAC;IACD,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AAC9F,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,OAAgB,EAAE,MAAoC;IAClF,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,MAAM,CAAyC,CAAC;IACtG,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,IAAE,CAAC,EAAE,CAAC;QAC1B,OAAO,GAAG,CAAC;IACb,CAAC;IACD,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;AAC5B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,MAAM,CAAC,OAAyB,EAAE,MAAa;IAC7D,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAC9D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ,CAAC,OAAgB,EAAE,MAAa;IACtD,OAAO,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACvD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,OAAyB,EAAE,MAAa;IAC/D,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAChE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAC,OAAgB,EAAE,MAAa;IACxD,OAAO,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACzD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,KAAK,CAAC,OAAyB,EAAE,MAAa,EAAE,KAAe;IAC7E,IAAI,KAAK,KAAG,SAAS,EAAE,CAAC;QACtB,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,GAAG,KAAG,SAAS,IAAI,CAAC,GAAG,GAAC,CAAC,IAAI,GAAG,GAAC,CAAC,CAAC,EAAE,CAAC;YACxC,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE;gBAChC,IAAI,EAAE,eAAe;gBACrB,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAE;gBACrC,MAAM,EAAE,EAAE,MAAM,EAAE,GAAG,KAAG,SAAS,IAAI,GAAG,GAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE;aAC1D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC9D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,OAAO,CAAC,OAAgB,EAAE,MAAa;IACrD,OAAO,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,KAAK,CAAC,OAAyB,EAAE,MAAa,EAAE,KAAa;IAC3E,IAAI,KAAK,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3C,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE;YAChC,IAAI,EAAE,aAAa;YACnB,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAE;YACrC,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE;SACpC,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IACD,+CAA+C;IAC/C,8DAA8D;IAC9D,wCAAwC;IACxC,kCAAkC;IAClC,6CAA6C;IAC7C,gCAAgC;IAChC,QAAQ;IACR,IAAI;IACJ,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC9D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,OAAO,CAAC,OAAgB,EAAE,MAAa;IACrD,OAAO,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,WAAW,GAAe,IAAI,UAAU,CAAC;IAC7C,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI;IACxB,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI;IACxB,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI;IACxB,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI;IACxB,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI;CACzB,CAAC,CAAC;AACH,MAAM,aAAa,GAAe,IAAI,UAAU,CAAC,CAAC,IAAI,EAAC,IAAI,CAAC,CAAC,CAAC;AAC9D,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAAW,EAAE,EAAE,CAAC,EAAE,KAAG,SAAS,IAAI,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AAExF,MAAM,MAAM,GAAG,CAAC,KAAqB,EAAoB,EAAE;IACzD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC3B,IAAI,CAAC,KAAG,IAAI,EAAE,CAAC;QACb,MAAM,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,+CAA+C;QAC3E,IAAI,CAAC,KAAG,IAAI,EAAE,CAAC;YACb,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7B,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC,CAAA;AAED;;;;;;GAMG;AACH,MAAM,UAAU,GAAG,CAAC,OAAyB,EAAE,MAAa,EAAE,KAAe;IAC3E,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAE,CAAC,EAAE,CAAC;QACjE,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE;YAChC,IAAI,EAAE,uBAAuB;YAC7B,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAE;YACrC,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE;SACpC,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IACD,6CAA6C;IAC7C,4DAA4D;IAC5D,wCAAwC;IACxC,kCAAkC;IAClC,6CAA6C;IAC7C,8BAA8B;IAC9B,QAAQ;IACR,IAAI;IACJ,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC5D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,KAAK,CAAC,OAAgB,EAAE,MAAa;IACnD,OAAO,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,GAAG,CAAC,OAAyB,EAAE,MAAuB,EAAE,KAAe;IACrF,IAAI,KAAK,KAAK,SAAS,IAAI,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAE,CAAC,EAAE,CAAC;QAClE,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE;YAChC,IAAI,EAAE,uBAAuB;YAC7B,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAE;YACrC,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE;SACpC,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IACD,6CAA6C;IAC7C,4DAA4D;IAC5D,wCAAwC;IACxC,kCAAkC;IAClC,6CAA6C;IAC7C,8BAA8B;IAC9B,QAAQ;IACR,IAAI;IACJ,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,KAAG,SAAS,CAAA,CAAC,CAAA,IAAI,CAAA,CAAC,CAAA,KAAK,CAAC,CAAC;AACnF,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,KAAK,CAAC,OAAgB,EAAE,MAAuB;IAC7D,OAAO,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AAC5D,CAAC;AAID;;;;;;;;GAQG;AACH,MAAM,UAAU,GAAG,CAAC,OAAyB,EAAE,MAAa,EAAE,EAAW,EAAE,EAAW,EAAE,GAAG,EAAa;IACtG,8EAA8E;IAC9E,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QACvD,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE;YAChC,IAAI,EAAE,oBAAoB;YAC1B,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAE;YACrC,MAAM,EAAE,EAAE,KAAK,EAAE,eAAe,EAAC;SAClC,CAAC,CAAC;IACL,CAAC;IACD,MAAM,EAAE,GAAW,EAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAC,CAAC;IACvD,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACvD,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACrD,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,KAAK,CAAC,OAAyB,EAAE,MAAa,EAAE,EAAW,EAAE,EAAW,EAAE,GAAG,EAAa;IACxG,8EAA8E;IAC9E,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QACvD,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE;YAChC,IAAI,EAAE,oBAAoB;YAC1B,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAE;YACrC,MAAM,EAAE,EAAE,KAAK,EAAE,eAAe,EAAC;SAClC,CAAC,CAAC;IACL,CAAC;IACD,MAAM,EAAE,GAAW,EAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAC,CAAC;IACzC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACzD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,IAAI,CAAC,OAAyB,EAAE,MAAa,EAAE,GAAG,EAAa;IAC7E,8EAA8E;IAC9E,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QACvD,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE;YAChC,IAAI,EAAE,oBAAoB;YAC1B,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAE;YACrC,MAAM,EAAE,EAAE,KAAK,EAAE,eAAe,EAAC;SAClC,CAAC,CAAC;IACL,CAAC;IACD,MAAM,EAAE,GAAW,EAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAC,CAAC;IACzC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACvD,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACrD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,KAAK,CAAC,OAAgB,EAAE,MAAa;IACnD,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAW,CAAC;IACjE,OAAO,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAG,SAAS,CAAC,CAAC;AAC1E,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAC,OAAgB,EAAE,MAAa;IACvD,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAW,CAAC;IACjE,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO;IACT,CAAC;IACD,OAAO,EAAC,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAG,SAAS,CAAC,EAAC,CAAC;AACvF,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,MAAM,CAAC,OAAyB,EAAE,MAAa,EAAE,MAAe,EAAE,EAAa,EAAE,GAAG,GAAgB;IAClH,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAC3B,IAAI,GAAG,KAAG,SAAS,IAAI,GAAG,GAAC,CAAC,IAAI,GAAG,GAAC,EAAE,EAAE,CAAC,CAAC,kEAAkE;QAC1G,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE;YAChC,IAAI,EAAE,eAAe;YACrB,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAE;YACrC,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,KAAG,SAAS,IAAI,GAAG,GAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE;SAC3E,CAAC,CAAC;IACL,CAAC;IACD,uDAAuD;IACvD,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1D,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE;YAChC,IAAI,EAAE,oBAAoB;YAC1B,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAE;YACrC,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,EAAC;SAC1B,CAAC,CAAC;IACL,CAAC;IACD,GAAG,GAAG,CAAC,EAAE,EAAE,GAAG,GAAG,CAAC,CAAC;IACnB,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1F,IAAI,MAAM,CAAC,MAAM,GAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,GAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;QAC7E,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE;YAChC,IAAI,EAAE,eAAe;YACrB,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAE;YACrC,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,IAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,GAAC,CAAC,CAAC,EAAE,MAAM,IAAE,CAAC,EAAE,EAAE;SACpG,CAAC,CAAC;IACL,CAAC;IACD,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,EAAC,MAAM,EAAE,GAAG,EAAC,CAAC,CAAC;AACvE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ,CAAC,OAAgB,EAAE,MAAa;IACtD,MAAM,EAAC,MAAM,EAAE,GAAG,EAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAE,EAAE,CAAwC,CAAC;IACjH,IAAI,CAAC,GAAG,IAAI,MAAM,KAAG,SAAS,EAAE,CAAC;QAC/B,OAAO;IACT,CAAC;IACD,gCAAgC;IAChC,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,MAAM,CAAE;QACvB,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAG,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAG,SAAS,IAAI,EAAE,CAAC,MAAM,CAAC;KAC3H,CAAA;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,QAAQ,CAAC,OAAyB,EAAE,MAAa,EAAE,KAAY,EAAE,GAAG,KAAc;IAChG,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5D,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE;YAChC,IAAI,EAAE,oBAAoB;YAC1B,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAE;YACrC,MAAM,EAAE,EAAE,KAAK,EAAE,SAAS,EAAC;SAC5B,CAAC,CAAC;IACL,CAAC;IACD,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAC,OAAgB,EAAE,MAAa;IACxD,OAAO,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,QAAQ,GAAG,CAAC,CAAkB,EAA2B,EAAE;IAC/D,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACrB,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;QACvD,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,IAAE,CAAC,EAAE,CAAC;YAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,GAAC,CAAC,CAAC,CAAC;YACvC,IAAI,GAAG,CAAC,MAAM,KAAG,CAAC,EAAE,CAAC;gBACnB,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC9B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,GAAC,CAAC,IAAI,GAAG,GAAC,IAAI,EAAE,CAAC;gBACxC,OAAO,IAAI,CAAC;YACd,CAAC;YACD,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChB,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC,CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,QAAQ,CAAC,OAAyB,EAAE,MAAa,EAAE,IAAY,EAAE,CAAkB,EAAE,CAAmB;IACtH,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACvB,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;QAChB,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE;YAChC,IAAI,EAAE,gBAAgB;YACtB,MAAM;YACN,MAAM,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,CAAC,EAAE,EAAC;SACtD,CAAC,CAAC;IACL,CAAC;IACD,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACvC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;QAChB,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE;YAChC,IAAI,EAAE,gBAAgB;YACtB,MAAM;YACN,MAAM,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,CAAC,EAAE,EAAC;SACtD,CAAC,CAAC;IACL,CAAC;IACD,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAC9E,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,OAAO,EAAE,EAAC,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAC,CAAC,CAAC,CAAC;IAC1F,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAC,OAAgB,EAAE,MAAa;IACxD,OAAO,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACzD,CAAC;AAGD;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,OAAyB,EAAE,MAAc;IAChE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAChE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAC,OAAgB,EAAE,MAAc;IACzD,OAAO,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACzD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,IAAI,CAAC,OAAyB,EAAE,MAAc;IAC5D,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAC5D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,MAAM,CAAC,OAAgB,EAAE,MAAc;IACrD,OAAO,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACrD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,IAAI,CAAC,OAAyB,EAAE,MAAc;IAC5D,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAC5D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,MAAM,CAAC,OAAgB,EAAE,MAAc;IACrD,OAAO,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACrD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ,CAAC,OAAyB,EAAE,MAAc,EAAE,KAAc;IAChF,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1B,IAAI,GAAG,KAAG,SAAS,IAAI,GAAG,IAAE,CAAC,IAAI,GAAG,GAAC,CAAC,EAAE,CAAC;QACvC,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE;YAChC,IAAI,EAAE,eAAe;YACrB,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAE;YACrC,MAAM,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,KAAG,SAAS,IAAI,GAAG,GAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE;SAC3E,CAAC,CAAC;IACL,CAAC;IACD,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5D,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE;YAChC,IAAI,EAAE,oBAAoB;YAC1B,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAE;YACrC,MAAM,EAAE,EAAE,KAAK,EAAE,SAAS,EAAC;SAC5B,CAAC,CAAC;IACL,CAAC;IACD,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAC/D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAC,OAAgB,EAAE,MAAc;IACzD,OAAO,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AACjE,CAAC;AAED,oBAAoB,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;AAGjE;;;;;;GAMG;AACH,MAAM,UAAU,GAAG,CAAC,OAAyB,EAAE,MAAqB,EAAE,SAAmB;IACvF,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,EAAC,GAAG,EAAE,KAAK,EAAE,SAAS,EAAC,CAAC,CAAC;AAC/E,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,IAAI,CAAC,OAAyB,EAAE,MAAqB,EAAE,SAAmB;IACxF,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,EAAC,GAAG,EAAE,IAAI,EAAE,SAAS,EAAC,CAAC,CAAC;AAC9E,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,MAAM,CAAC,OAAgB,EAAE,MAAqB;IAC5D,OAAO,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACrD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,KAAK,CAAC,OAAyB,EAAE,MAA4B,EAAE,KAAc;IAC3F,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC9D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,OAAO,CAAC,OAAgB,EAAE,MAA4B;IACpE,OAAO,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACtD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ,CAAC,OAAyB,EAAE,MAA4B,EAAE,KAAc;IAC9F,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1B,uCAAuC;IACvC,+EAA+E;IAC/E,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,KAAG,QAAQ,IAAI,eAAe,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,0BAA0B;IAC/H,IAAI,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,IAAI,WAAW,CAAC;WAC1E,GAAG,KAAG,SAAS,IAAI,GAAG,IAAE,CAAC;WACzB,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1D,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE;YAChC,IAAI,EAAE,gBAAgB;YACtB,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAE;YACrC,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE;SACpC,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IACD,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5D,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE;YAChC,IAAI,EAAE,oBAAoB;YAC1B,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAE;YACrC,MAAM,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAC;SACpC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAC/D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,OAAO,CAAC,OAAyB,EAAE,MAA4B,EAAE,KAAc;IAC7F,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1B,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,KAAG,QAAQ,IAAI,eAAe,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,0BAA0B;IAC/H,IAAI,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,IAAI,WAAW,CAAC;WAC1E,GAAG,KAAG,SAAS,IAAI,GAAG,IAAE,CAAC;WACzB,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1D,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE;YAChC,IAAI,EAAE,eAAe;YACrB,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAE;YACrC,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE;SACpC,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IACD,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5D,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE;YAChC,IAAI,EAAE,oBAAoB;YAC1B,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAE;YACrC,MAAM,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAC;SACpC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,GAAC,GAAG,CAAC,CAAC;AACnE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAC,OAAgB,EAAE,MAA4B;IACvE,OAAO,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AACjE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,OAAO,CAAC,OAAyB,EAAE,MAA4B,EAAE,KAAW;IAC1F,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3D,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE;YAChC,IAAI,EAAE,oBAAoB;YAC1B,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAE;YACrC,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAC;SAC3B,CAAC,CAAC;IACL,CAAC;IACD,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAChE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAC,OAAgB,EAAE,MAA4B;IACtE,OAAO,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxD,CAAC"}
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"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"}
package/dist/src/lib.d.ts CHANGED
@@ -15,6 +15,9 @@ export declare const $lib: import("@typespec/compiler").TypeSpecLibrary<{
15
15
  "banned-target-address": {
16
16
  readonly default: import("@typespec/compiler").CallableMessage<["value"]>;
17
17
  };
18
+ "banned-write-target": {
19
+ readonly default: import("@typespec/compiler").CallableMessage<["value"]>;
20
+ };
18
21
  "banned-auth": {
19
22
  readonly default: import("@typespec/compiler").CallableMessage<["value"]>;
20
23
  };
@@ -57,17 +60,20 @@ export declare const $lib: import("@typespec/compiler").TypeSpecLibrary<{
57
60
  "missing-decorator": {
58
61
  readonly default: import("@typespec/compiler").CallableMessage<["which"]>;
59
62
  };
60
- }, EbusdEmitterOptions, "values" | "reverse" | "unit" | "id" | "condition" | "write" | "passive" | "poll" | "auth" | "qq" | "zz" | "chain" | "inherit" | "example" | "bcd" | "hex" | "maxBits" | "out" | "divisor">;
63
+ }, EbusdEmitterOptions, "values" | "reverse" | "unit" | "id" | "condition" | "write" | "passive" | "poll" | "auth" | "qq" | "zz" | "chain" | "inherit" | "example" | "bcd" | "hex" | "maxBits" | "out" | "divisor" | "constValue">;
61
64
  export declare const $flags: {
62
65
  decoratorArgMarshalling: string;
63
66
  };
64
- export declare const reportDiagnostic: <C extends "banned-source-address" | "banned-target-address" | "banned-auth" | "banned-divisor" | "banned-factor" | "banned-values" | "banned-type" | "banned-length" | "banned-in" | "duplicate-id" | "short-id" | "banned-inheritance" | "duplicate-name" | "multiple-decorator" | "invalid-length" | "missing-decorator", M extends keyof {
67
+ export declare const reportDiagnostic: <C extends "banned-source-address" | "banned-target-address" | "banned-write-target" | "banned-auth" | "banned-divisor" | "banned-factor" | "banned-values" | "banned-type" | "banned-length" | "banned-in" | "duplicate-id" | "short-id" | "banned-inheritance" | "duplicate-name" | "multiple-decorator" | "invalid-length" | "missing-decorator", M extends keyof {
65
68
  "banned-source-address": {
66
69
  readonly default: import("@typespec/compiler").CallableMessage<["value"]>;
67
70
  };
68
71
  "banned-target-address": {
69
72
  readonly default: import("@typespec/compiler").CallableMessage<["value"]>;
70
73
  };
74
+ "banned-write-target": {
75
+ readonly default: import("@typespec/compiler").CallableMessage<["value"]>;
76
+ };
71
77
  "banned-auth": {
72
78
  readonly default: import("@typespec/compiler").CallableMessage<["value"]>;
73
79
  };
@@ -117,6 +123,9 @@ export declare const reportDiagnostic: <C extends "banned-source-address" | "ban
117
123
  "banned-target-address": {
118
124
  readonly default: import("@typespec/compiler").CallableMessage<["value"]>;
119
125
  };
126
+ "banned-write-target": {
127
+ readonly default: import("@typespec/compiler").CallableMessage<["value"]>;
128
+ };
120
129
  "banned-auth": {
121
130
  readonly default: import("@typespec/compiler").CallableMessage<["value"]>;
122
131
  };
@@ -159,13 +168,16 @@ export declare const reportDiagnostic: <C extends "banned-source-address" | "ban
159
168
  "missing-decorator": {
160
169
  readonly default: import("@typespec/compiler").CallableMessage<["which"]>;
161
170
  };
162
- }, C, M>) => void, createDiagnostic: <C extends "banned-source-address" | "banned-target-address" | "banned-auth" | "banned-divisor" | "banned-factor" | "banned-values" | "banned-type" | "banned-length" | "banned-in" | "duplicate-id" | "short-id" | "banned-inheritance" | "duplicate-name" | "multiple-decorator" | "invalid-length" | "missing-decorator", M extends keyof {
171
+ }, C, M>) => void, createDiagnostic: <C extends "banned-source-address" | "banned-target-address" | "banned-write-target" | "banned-auth" | "banned-divisor" | "banned-factor" | "banned-values" | "banned-type" | "banned-length" | "banned-in" | "duplicate-id" | "short-id" | "banned-inheritance" | "duplicate-name" | "multiple-decorator" | "invalid-length" | "missing-decorator", M extends keyof {
163
172
  "banned-source-address": {
164
173
  readonly default: import("@typespec/compiler").CallableMessage<["value"]>;
165
174
  };
166
175
  "banned-target-address": {
167
176
  readonly default: import("@typespec/compiler").CallableMessage<["value"]>;
168
177
  };
178
+ "banned-write-target": {
179
+ readonly default: import("@typespec/compiler").CallableMessage<["value"]>;
180
+ };
169
181
  "banned-auth": {
170
182
  readonly default: import("@typespec/compiler").CallableMessage<["value"]>;
171
183
  };
@@ -215,6 +227,9 @@ export declare const reportDiagnostic: <C extends "banned-source-address" | "ban
215
227
  "banned-target-address": {
216
228
  readonly default: import("@typespec/compiler").CallableMessage<["value"]>;
217
229
  };
230
+ "banned-write-target": {
231
+ readonly default: import("@typespec/compiler").CallableMessage<["value"]>;
232
+ };
218
233
  "banned-auth": {
219
234
  readonly default: import("@typespec/compiler").CallableMessage<["value"]>;
220
235
  };
@@ -257,4 +272,4 @@ export declare const reportDiagnostic: <C extends "banned-source-address" | "ban
257
272
  "missing-decorator": {
258
273
  readonly default: import("@typespec/compiler").CallableMessage<["which"]>;
259
274
  };
260
- }, C, M>) => import("@typespec/compiler").Diagnostic, StateKeys: Record<"values" | "reverse" | "unit" | "id" | "condition" | "write" | "passive" | "poll" | "auth" | "qq" | "zz" | "chain" | "inherit" | "example" | "bcd" | "hex" | "maxBits" | "out" | "divisor", symbol>;
275
+ }, C, M>) => import("@typespec/compiler").Diagnostic, StateKeys: Record<"values" | "reverse" | "unit" | "id" | "condition" | "write" | "passive" | "poll" | "auth" | "qq" | "zz" | "chain" | "inherit" | "example" | "bcd" | "hex" | "maxBits" | "out" | "divisor" | "constValue", symbol>;
package/dist/src/lib.js CHANGED
@@ -30,6 +30,12 @@ export const $lib = createTypeSpecLibrary({
30
30
  default: paramMessage `Invalid target address "${"value"}".`,
31
31
  },
32
32
  },
33
+ "banned-write-target": {
34
+ severity: "error",
35
+ messages: {
36
+ default: paramMessage `Invalid write target address "${"value"}".`,
37
+ },
38
+ },
33
39
  "banned-auth": {
34
40
  severity: "error",
35
41
  messages: {
@@ -69,7 +75,7 @@ export const $lib = createTypeSpecLibrary({
69
75
  "banned-in": {
70
76
  severity: "error",
71
77
  messages: {
72
- default: paramMessage `Invalid @in with broadcast target.`,
78
+ default: paramMessage `Invalid @in with broadcast or source target.`,
73
79
  },
74
80
  },
75
81
  "duplicate-id": {
@@ -105,7 +111,7 @@ export const $lib = createTypeSpecLibrary({
105
111
  "invalid-length": {
106
112
  severity: "error",
107
113
  messages: {
108
- default: paramMessage `Invalid @${"which"} length ${"value"}.`,
114
+ default: paramMessage `Invalid ${"which"} length ${"value"}.`,
109
115
  },
110
116
  },
111
117
  "missing-decorator": {
@@ -138,6 +144,7 @@ export const $lib = createTypeSpecLibrary({
138
144
  unit: { description: "unit" },
139
145
  divisor: { description: "divisor" },
140
146
  values: { description: "known values" },
147
+ constValue: { description: "const value" },
141
148
  },
142
149
  });
143
150
  export const $flags = { decoratorArgMarshalling: "new" };
@@ -1 +1 @@
1
- {"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,qBAAqB,EAAE,YAAY,EAAsB,MAAM,oBAAoB,CAAC;AAW5F,MAAM,CAAC,MAAM,oBAAoB,GAAwC;IACvE,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,KAAK;IAC3B,UAAU,EAAE;QACV,QAAQ,EAAE;YACR,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,iEAAiE;SAC/E;QACD,YAAY,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,qCAAqC;SACnD;KACF;CACF,CAAA;AAED,MAAM,CAAC,MAAM,IAAI,GAAG,qBAAqB,CAAC;IACxC,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE;QACX,uBAAuB,EAAE;YACvB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,2BAA2B,OAAO,IAAI;aAC5D;SACF;QACD,uBAAuB,EAAE;YACvB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,2BAA2B,OAAO,IAAI;aAC5D;SACF;QACD,aAAa,EAAE;YACb,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,iBAAiB,OAAO,IAAI;aAClD;SACF;QACD,gBAAgB,EAAE;YAChB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,0BAA0B,OAAO,IAAI;aAC3D;SACF;QACD,eAAe,EAAE;YACf,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,yBAAyB,OAAO,IAAI;aAC1D;SACF;QACD,eAAe,EAAE;YACf,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,kBAAkB,QAAQ,GAAG;aACnD;SACF;QACD,aAAa,EAAE;YACb,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,gBAAgB,MAAM,eAAe,MAAM,IAAI;aACrE;SACF;QACD,eAAe,EAAE;YACf,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,YAAY,OAAO,cAAc,OAAO,GAAG;aACjE;SACF;QACD,WAAW,EAAE;YACX,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,oCAAoC;aAC1D;SACF;QACD,cAAc,EAAE;YACd,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,+CAA+C,IAAI,IAAI;aAC7E;SACF;QACD,UAAU,EAAE;YACV,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,WAAW,IAAI,iBAAiB;aACtD;SACF;QACD,oBAAoB,EAAE;YACpB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,kCAAkC,KAAK,GAAG;aAChE;SACF;QACD,gBAAgB,EAAE;YAChB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,qDAAqD,IAAI,IAAI;aACnF;SACF;QACD,oBAAoB,EAAE;YACpB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,2BAA2B,OAAO,YAAY;aACpE;SACF;QACD,gBAAgB,EAAE;YAChB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,YAAY,OAAO,WAAW,OAAO,GAAG;aAC9D;SACF;QACD,mBAAmB,EAAE;YACnB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,uBAAuB,OAAO,IAAI;aACxD;SACF;KACF;IACD,OAAO,EAAE;QACP,OAAO,EAAE,oBAA2D;KACrE;IACD,KAAK,EAAE;QACL,SAAS,EAAE,EAAE,WAAW,EAAE,sBAAsB,EAAE;QAClD,KAAK,EAAE,EAAE,WAAW,EAAE,iBAAiB,EAAE;QACzC,OAAO,EAAE,EAAE,WAAW,EAAE,cAAc,EAAE;QACxC,IAAI,EAAE,EAAE,WAAW,EAAE,eAAe,EAAE;QACtC,IAAI,EAAE,EAAE,WAAW,EAAE,sBAAsB,EAAE;QAC7C,EAAE,EAAE,EAAE,WAAW,EAAE,mBAAmB,EAAE;QACxC,EAAE,EAAE,EAAE,WAAW,EAAE,mBAAmB,EAAE;QACxC,EAAE,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE;QACjC,KAAK,EAAE,EAAE,WAAW,EAAE,eAAe,EAAE;QACvC,OAAO,EAAE,EAAE,WAAW,EAAE,oBAAoB,EAAE;QAC9C,OAAO,EAAE,EAAE,WAAW,EAAE,cAAc,EAAE;QACxC,GAAG,EAAE,EAAE,WAAW,EAAE,cAAc,EAAE;QACpC,GAAG,EAAE,EAAE,WAAW,EAAE,cAAc,EAAE;QACpC,OAAO,EAAE,EAAE,WAAW,EAAE,oBAAoB,EAAE;QAC9C,GAAG,EAAE,EAAE,WAAW,EAAE,+BAA+B,EAAE;QACrD,OAAO,EAAE,EAAE,WAAW,EAAE,wBAAwB,EAAE;QAClD,IAAI,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE;QAC7B,OAAO,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE;QACnC,MAAM,EAAE,EAAE,WAAW,EAAE,cAAc,EAAE;KACxC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,MAAM,GAAG,EAAC,uBAAuB,EAAE,KAAK,EAAC,CAAC;AAEvD,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC"}
1
+ {"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { createDiagnosticCollector } from "@typespec/compiler";
1
+ import { createDiagnosticCollector, getNamespaceFullName } from "@typespec/compiler";
2
2
  import { getChain, getIdType, getValues } from "./decorators.js";
3
3
  import { reportDiagnostic, StateKeys } from "./lib.js";
4
4
  // perform higher level validation that can't be done by decorators directly
@@ -15,7 +15,7 @@ export const $onValidate = (program) => {
15
15
  reportDiagnostic(program, {
16
16
  code: "invalid-length",
17
17
  target,
18
- format: { which: isExt ? 'ext' : 'id', value: '0' },
18
+ format: { which: isExt ? '@ext' : '@id', value: '0' },
19
19
  });
20
20
  }
21
21
  else {
@@ -24,28 +24,29 @@ export const $onValidate = (program) => {
24
24
  reportDiagnostic(program, {
25
25
  code: "invalid-length",
26
26
  target,
27
- format: { which: 'chain', value: badLength.length.toString() },
27
+ format: { which: '@chain', value: badLength.length.toString() },
28
28
  });
29
29
  }
30
30
  }
31
31
  }
32
32
  // check for model recursion
33
- const seen = new Set();
34
- const checkRecursion = (model) => {
35
- if (seen.has(model)) {
33
+ const nameOf = (model) => (model.namespace ? getNamespaceFullName(model.namespace) + '.' : '') + model.name;
34
+ const checkRecursion = (model, parents) => {
35
+ const name = nameOf(model);
36
+ if (parents.includes(name)) {
36
37
  return model;
37
38
  }
38
- seen.add(model);
39
+ const subParents = [...parents, name];
39
40
  for (const prop of model.properties.values()) {
40
41
  if (prop.type.kind === 'Model') {
41
- const ret = checkRecursion(prop.type);
42
+ const ret = checkRecursion(prop.type, subParents);
42
43
  if (ret) {
43
44
  return ret;
44
45
  }
45
46
  }
46
47
  }
47
48
  };
48
- const model = checkRecursion(target);
49
+ const model = checkRecursion(target, []);
49
50
  if (model) {
50
51
  reportDiagnostic(program, {
51
52
  code: "banned-inheritance",
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/validate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/validate.ts"],"names":[],"mappings":"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"}
package/docs.md CHANGED
@@ -81,6 +81,7 @@ Available ruleSets:
81
81
  - [`@base`](#@base)
82
82
  - [`@chain`](#@chain)
83
83
  - [`@condition`](#@condition)
84
+ - [`@constValue`](#@constvalue)
84
85
  - [`@divisor`](#@divisor)
85
86
  - [`@example`](#@example)
86
87
  - [`@ext`](#@ext)
@@ -174,6 +175,24 @@ Define the condition(s) for the whole message (if given multiple times, all cond
174
175
  | property | `union ModelProperty \| Model` | the referenced model property, or a model in case of existance check or single property only. |
175
176
  | values | `valueof model string[]` | the optional alternative values the property needs to match (one of the values must match for the condition to be met). |
176
177
 
178
+ #### `@constValue`
179
+
180
+ Define the const value.
181
+
182
+ ```typespec
183
+ @Ebus.constValue(value: valueof numeric | string)
184
+ ```
185
+
186
+ ##### Target
187
+
188
+ `union numeric | boolean | ModelProperty`
189
+
190
+ ##### Parameters
191
+
192
+ | Name | Type | Description |
193
+ | ----- | --------------------------------- | ---------------- |
194
+ | value | `valueof union numeric \| string` | the const value. |
195
+
177
196
  #### `@divisor`
178
197
 
179
198
  Define the divisor.
@@ -273,7 +292,7 @@ Define the whole message ID.
273
292
  Define message part inbound from target.
274
293
 
275
294
  ```typespec
276
- @Ebus.in
295
+ @Ebus.in(writeOnly?: valueof boolean)
277
296
  ```
278
297
 
279
298
  ##### Target
@@ -282,7 +301,9 @@ Define message part inbound from target.
282
301
 
283
302
  ##### Parameters
284
303
 
285
- None
304
+ | Name | Type | Description |
305
+ | --------- | ------------------------ | ------------------------------------------------------------------------------------------------------------ |
306
+ | writeOnly | `valueof scalar boolean` | optional true to put in only if write direction, false to put in only if read direction (alyways if absent). |
286
307
 
287
308
  #### `@inherit`
288
309
 
@@ -307,7 +328,7 @@ Define the inherited model(s).
307
328
  Define message part outbound to target.
308
329
 
309
330
  ```typespec
310
- @Ebus.out
331
+ @Ebus.out(writeOnly?: valueof boolean)
311
332
  ```
312
333
 
313
334
  ##### Target
@@ -316,7 +337,9 @@ Define message part outbound to target.
316
337
 
317
338
  ##### Parameters
318
339
 
319
- None
340
+ | Name | Type | Description |
341
+ | --------- | ------------------------ | ------------------------------------------------------------------------------------------------------------ |
342
+ | writeOnly | `valueof scalar boolean` | optional true to put in only if write direction, false to put in only if read direction (alyways if absent). |
320
343
 
321
344
  #### `@passive`
322
345
 
@@ -402,16 +425,16 @@ Define the known values.
402
425
 
403
426
  ##### Parameters
404
427
 
405
- | Name | Type | Description |
406
- | ------ | ------ | ----------- |
407
- | values | `Enum` | |
428
+ | Name | Type | Description |
429
+ | ------ | ------ | ----------------- |
430
+ | values | `Enum` | the known values. |
408
431
 
409
432
  #### `@write`
410
433
 
411
434
  Define write direction.
412
435
 
413
436
  ```typespec
414
- @Ebus.write
437
+ @Ebus.write(toSource?: valueof boolean)
415
438
  ```
416
439
 
417
440
  ##### Target
@@ -420,7 +443,9 @@ Define write direction.
420
443
 
421
444
  ##### Parameters
422
445
 
423
- None
446
+ | Name | Type | Description |
447
+ | -------- | ------------------------ | ------------------------------------------------------------------------------------------- |
448
+ | toSource | `valueof scalar boolean` | true to use the source address pendant of the target address instead of the target address. |
424
449
 
425
450
  #### `@zz`
426
451
 
@@ -15,8 +15,9 @@ extern dec condition(target: Namespace|Model|UnionVariant, property: ModelProper
15
15
 
16
16
  /**
17
17
  * Define write direction.
18
+ * @param toSource true to use the source address pendant of the target address instead of the target address.
18
19
  */
19
- extern dec write(target: Model);
20
+ extern dec write(target: Model, toSource?: valueof boolean);
20
21
 
21
22
  /**
22
23
  * Define passive only.
@@ -123,10 +124,16 @@ extern dec factor(target: numeric|plainTime|ModelProperty, value: valueof numeri
123
124
 
124
125
  /**
125
126
  * Define the known values.
126
- * @param value the divisor.
127
+ * @param values the known values.
127
128
  */
128
129
  extern dec values(target: numeric|boolean|ModelProperty, values: Enum);
129
130
 
131
+ /**
132
+ * Define the const value.
133
+ * @param value the const value.
134
+ */
135
+ extern dec constValue(target: numeric|boolean|ModelProperty, value: valueof numeric|string);
136
+
130
137
 
131
138
  namespace Internal {
132
139
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ebusd/ebus-typespec",
3
- "version": "0.14.0",
3
+ "version": "0.16.0",
4
4
  "author": "John Baier",
5
5
  "description": "TypeSpec library for defining eBUS messages and emitting to ebusd CSV.",
6
6
  "homepage": "https://github.com/john30/ebus-typespec",
@@ -43,16 +43,16 @@
43
43
  "*.md"
44
44
  ],
45
45
  "peerDependencies": {
46
- "@typespec/compiler": "~0.62.0"
46
+ "@typespec/compiler": "~0.63.0"
47
47
  },
48
48
  "devDependencies": {
49
49
  "@types/js-yaml": "^4.0.9",
50
- "@typespec/compiler": "~0.62.0",
51
- "@typespec/library-linter": "~0.62.0",
50
+ "@typespec/compiler": "~0.63.0",
51
+ "@typespec/library-linter": "~0.63.0",
52
52
  "@typespec/tspd": "latest",
53
53
  "@types/node": "latest",
54
- "typedoc": "^0.26.11",
55
- "typedoc-plugin-markdown": "^4.2.10",
54
+ "typedoc": "^0.27.5",
55
+ "typedoc-plugin-markdown": "^4.3.3",
56
56
  "typescript": "^5.6.3"
57
57
  },
58
58
  "dependencies": {