@ebusd/ebus-typespec 0.3.1 → 0.4.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.
package/README.md CHANGED
@@ -17,6 +17,7 @@ This is a short overview of the [decorators](lib/decorators.tsp) offered by the
17
17
  * base ID: `@base(PB, SB, ID*)`
18
18
  * ID extension: `@ext(ID*)`
19
19
  * inheritance: ``@inherit(...)`
20
+ * message chaining: `@chain(...)`
20
21
  * message direction: `@write`, `@passive`
21
22
  * message condition(s): `@condition(model, values)`
22
23
  * message authorization: `@auth(level)`
@@ -45,6 +46,7 @@ Here is a small example of a message carrying just a single byte:
45
46
 
46
47
  ```typespec
47
48
  import "@ebusd/ebus-typespec";
49
+ using Ebus;
48
50
  using Ebus.num;
49
51
 
50
52
  @zz(0x08)
@@ -2,7 +2,7 @@ import { emitFile, getDoc, getMaxLength, getMinLength, getNamespaceFullName, isD
2
2
  import { CodeTypeEmitter, StringBuilder, code } from "@typespec/compiler/emitter-framework";
3
3
  import { DuplicateTracker } from "@typespec/compiler/utils";
4
4
  import { basename, extname } from "path";
5
- import { getAuth, getConditions, getDivisor, getId, getInherit, getMaxBits, getOut, getPassive, getQq, getUnit, getValues, getWrite, getZz, isSourceAddr } from "./decorators.js";
5
+ import { getAuth, getChain, getConditions, getDivisor, getId, getInherit, getMaxBits, getOut, getPassive, getQq, getUnit, getValues, getWrite, getZz, isSourceAddr } from "./decorators.js";
6
6
  import { StateKeys, reportDiagnostic } from "./lib.js";
7
7
  const hex = (v) => v === undefined ? '' : (0x100 | v).toString(16).substring(1);
8
8
  const hexs = (vs) => vs ? vs.map(hex).join('') : '';
@@ -125,7 +125,7 @@ export class EbusdEmitter extends CodeTypeEmitter {
125
125
  const qq = getQq(program, model) ?? getQq(program, inheritFrom); // todo could do same handling as for zz
126
126
  // when inheriting id, only one of them may have pbsb, rest of id is concatenated
127
127
  const baseId = getId(program, inheritFrom);
128
- const modelId = getId(program, model); //todo chaining
128
+ const modelId = getId(program, model);
129
129
  const id = [...(baseId || []), ...(modelId || [])];
130
130
  if (id.length < 2) {
131
131
  reportDiagnostic(program, {
@@ -138,10 +138,41 @@ export class EbusdEmitter extends CodeTypeEmitter {
138
138
  this.#idDuplicateTracker.track([sf?.path || '', conds, direction, qq, zz, ...id].join(), model);
139
139
  }
140
140
  const idh = hexs(id);
141
+ const pbsb = idh.substring(0, 4);
142
+ let ids = idh.substring(4);
143
+ const chain = getChain(program, model) || getChain(program, inheritFrom);
144
+ if (chain) {
145
+ let badLength = ids.length ? '' : 'missing DD';
146
+ let idsuffix = '';
147
+ if (!badLength) {
148
+ const lengthSuffix = chain.length ? `:${chain.length}` : '';
149
+ idsuffix += lengthSuffix;
150
+ const commonPrefix = idh.substring(4, idh.length - chain.dds[0].length * 2);
151
+ for (const dd of chain.dds) {
152
+ const h = hexs(dd);
153
+ if (h.length < idh.length - 4 - commonPrefix.length) {
154
+ badLength = h || 'missing suffix';
155
+ }
156
+ else {
157
+ idsuffix += `;${commonPrefix}${h}${lengthSuffix}`;
158
+ }
159
+ }
160
+ }
161
+ if (badLength) {
162
+ reportDiagnostic(program, {
163
+ code: "invalid-length",
164
+ format: { which: 'chain', value: badLength },
165
+ target: model,
166
+ });
167
+ }
168
+ else {
169
+ ids += idsuffix;
170
+ }
171
+ }
141
172
  const level = getAuth(program, model) ?? getAuth(program, inheritFrom);
142
173
  // message: type,circuit,level,name,comment,qq,zz,pbsb,id,...fields
143
174
  // field: name,part,type,divisor/values,unit,comment
144
- const message = [conds + direction, normName.circuit(nearestCircuit), level, normName.message(name), escape(comment), hex(qq), hex(zz), idh.substring(0, 4), idh.substring(4)];
175
+ const message = [conds + direction, normName.circuit(nearestCircuit), level, normName.message(name), escape(comment), hex(qq), hex(zz), pbsb, ids];
145
176
  decls.push([...message, ...(baseFields ? [baseFields] : []), fields].join());
146
177
  }
147
178
  return this.emitter.result.declaration(name, decls.join('\n'));
@@ -167,8 +198,8 @@ export class EbusdEmitter extends CodeTypeEmitter {
167
198
  else {
168
199
  reportDiagnostic(program, {
169
200
  code: "banned-inheritance",
170
- format: {},
171
- target: p,
201
+ target: model,
202
+ format: { ref: p.name },
172
203
  });
173
204
  commentProp = undefined;
174
205
  }
@@ -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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"}
@@ -130,6 +130,38 @@ export declare function $ext(context: DecoratorContext, target: Model, ...dd: Nu
130
130
  * @returns value if provided on the given target or undefined.
131
131
  */
132
132
  export declare function getId(program: Program, target: Model): number[] | undefined;
133
+ /**
134
+ * Accessor for the `@id`/`@base`/`@ext` decorators with metadata
135
+ *
136
+ * @param program TypeSpec program.
137
+ * @param target Decorator target.
138
+ * @returns value if provided on the given target or undefined.
139
+ */
140
+ export declare function getIdType(program: Program, target: Model): {
141
+ isExt?: boolean;
142
+ id: number[];
143
+ } | undefined;
144
+ /**
145
+ * Implementation of the `@chain` decorator.
146
+ *
147
+ * @param context Decorator context.
148
+ * @param target Decorator target.
149
+ * @param length the (maximum) length of a single message part of this chain, or 0 for default (=24).
150
+ * @param dd second message ID part the chain is built from (first one taken from id or ext decorator).
151
+ * @param dds list of further message ID parts the chain is built from.
152
+ */
153
+ export declare function $chain(context: DecoratorContext, target: Model, length: Numeric, dd: Numeric[], ...dds: Numeric[][]): void;
154
+ /**
155
+ * Accessor for the `@chain` decorator.
156
+ *
157
+ * @param program TypeSpec program.
158
+ * @param target Decorator target.
159
+ * @returns value if provided on the given target or undefined.
160
+ */
161
+ export declare function getChain(program: Program, target: Model): {
162
+ length: number;
163
+ dds: number[][];
164
+ } | undefined;
133
165
  /**
134
166
  * Implementation of the `@inherit` decorator.
135
167
  *
@@ -70,7 +70,7 @@ export function getPassive(program, target) {
70
70
  * @param value the value to set.
71
71
  */
72
72
  export function $auth(context, target, value) {
73
- if (value && !/^[a-z]*$/.test(value)) {
73
+ if (value && !/^[a-z0-9_-]*$/i.test(value)) {
74
74
  reportDiagnostic(context.program, {
75
75
  code: "banned-auth",
76
76
  target: context.getArgumentTarget(0),
@@ -78,6 +78,13 @@ export function $auth(context, target, value) {
78
78
  });
79
79
  return;
80
80
  }
81
+ if (context.program.stateMap(StateKeys.auth).has(target)) {
82
+ reportDiagnostic(context.program, {
83
+ code: "multiple-decorator",
84
+ target: context.getArgumentTarget(0),
85
+ format: { which: 'auth' },
86
+ });
87
+ }
81
88
  context.program.stateMap(StateKeys.auth).set(target, value);
82
89
  }
83
90
  /**
@@ -132,6 +139,13 @@ export function $qq(context, target, value) {
132
139
  });
133
140
  return;
134
141
  }
142
+ if (context.program.stateMap(StateKeys.qq).has(target)) {
143
+ reportDiagnostic(context.program, {
144
+ code: "multiple-decorator",
145
+ target: context.getArgumentTarget(0),
146
+ format: { which: 'qq' },
147
+ });
148
+ }
135
149
  context.program.stateMap(StateKeys.qq).set(target, value);
136
150
  }
137
151
  /**
@@ -160,6 +174,13 @@ export function $zz(context, target, value) {
160
174
  });
161
175
  return;
162
176
  }
177
+ if (context.program.stateMap(StateKeys.zz).has(target)) {
178
+ reportDiagnostic(context.program, {
179
+ code: "multiple-decorator",
180
+ target: context.getArgumentTarget(0),
181
+ format: { which: 'zz' },
182
+ });
183
+ }
163
184
  context.program.stateMap(StateKeys.zz).set(target, value === undefined ? 0xaa : value);
164
185
  }
165
186
  /**
@@ -182,7 +203,16 @@ export function getZz(program, target) {
182
203
  * @param dd further message ID parts.
183
204
  */
184
205
  export function $id(context, target, pb, sb, ...dd) {
185
- context.program.stateMap(StateKeys.id).set(target, [pb, sb, ...dd]);
206
+ // single @id and @ext can only combine with single @base from inherited model
207
+ if (context.program.stateMap(StateKeys.id).has(target)) {
208
+ reportDiagnostic(context.program, {
209
+ code: "multiple-decorator",
210
+ target: context.getArgumentTarget(0),
211
+ format: { which: 'id/@base/@ext' },
212
+ });
213
+ }
214
+ const id = { id: [pb, sb, ...dd], isExt: false };
215
+ context.program.stateMap(StateKeys.id).set(target, id);
186
216
  context.program.stateSet(StateKeys.id).add(target);
187
217
  }
188
218
  /**
@@ -195,7 +225,16 @@ export function $id(context, target, pb, sb, ...dd) {
195
225
  * @param dd further message ID parts.
196
226
  */
197
227
  export function $base(context, target, pb, sb, ...dd) {
198
- context.program.stateMap(StateKeys.id).set(target, [pb, sb, ...dd]);
228
+ // single @id and @ext can only combine with single @base from inherited model
229
+ if (context.program.stateMap(StateKeys.id).has(target)) {
230
+ reportDiagnostic(context.program, {
231
+ code: "multiple-decorator",
232
+ target: context.getArgumentTarget(0),
233
+ format: { which: 'base/@id/@ext' },
234
+ });
235
+ }
236
+ const id = { id: [pb, sb, ...dd] };
237
+ context.program.stateMap(StateKeys.id).set(target, id);
199
238
  }
200
239
  /**
201
240
  * Implementation of the `@ext` decorator.
@@ -205,7 +244,16 @@ export function $base(context, target, pb, sb, ...dd) {
205
244
  * @param dd further message ID parts.
206
245
  */
207
246
  export function $ext(context, target, ...dd) {
208
- context.program.stateMap(StateKeys.id).set(target, dd); //todo chaining
247
+ // single @id and @ext can only combine with single @base from inherited model
248
+ if (context.program.stateMap(StateKeys.id).has(target)) {
249
+ reportDiagnostic(context.program, {
250
+ code: "multiple-decorator",
251
+ target: context.getArgumentTarget(0),
252
+ format: { which: 'ext/@id/@base' },
253
+ });
254
+ }
255
+ const id = { id: dd, isExt: true };
256
+ context.program.stateMap(StateKeys.id).set(target, id);
209
257
  context.program.stateSet(StateKeys.id).add(target);
210
258
  }
211
259
  /**
@@ -217,7 +265,76 @@ export function $ext(context, target, ...dd) {
217
265
  */
218
266
  export function getId(program, target) {
219
267
  const ids = program.stateMap(StateKeys.id).get(target);
220
- return ids?.map(v => getNum(v)).filter(v => v !== undefined);
268
+ return ids?.id.map(v => getNum(v)).filter(v => v !== undefined);
269
+ }
270
+ /**
271
+ * Accessor for the `@id`/`@base`/`@ext` decorators with metadata
272
+ *
273
+ * @param program TypeSpec program.
274
+ * @param target Decorator target.
275
+ * @returns value if provided on the given target or undefined.
276
+ */
277
+ export function getIdType(program, target) {
278
+ const ids = program.stateMap(StateKeys.id).get(target);
279
+ if (!ids) {
280
+ return;
281
+ }
282
+ return { ...ids, id: ids.id.map(v => getNum(v)).filter(v => v !== undefined) };
283
+ }
284
+ /**
285
+ * Implementation of the `@chain` decorator.
286
+ *
287
+ * @param context Decorator context.
288
+ * @param target Decorator target.
289
+ * @param length the (maximum) length of a single message part of this chain, or 0 for default (=24).
290
+ * @param dd second message ID part the chain is built from (first one taken from id or ext decorator).
291
+ * @param dds list of further message ID parts the chain is built from.
292
+ */
293
+ export function $chain(context, target, length, dd, ...dds) {
294
+ const val = getNum(length);
295
+ if (val === undefined || val < 0 || val > 30) { // 0 is allowed as replacement for default=24, 31 is ebusd MAX_LEN
296
+ reportDiagnostic(context.program, {
297
+ code: "banned-length",
298
+ target: context.getArgumentTarget(0),
299
+ format: { which: 'chain', value: val !== undefined && val > 30 ? '30' : '<0' },
300
+ });
301
+ }
302
+ // required combination with @id checked by $onValidate
303
+ if (context.program.stateMap(StateKeys.chain).has(target)) {
304
+ reportDiagnostic(context.program, {
305
+ code: "multiple-decorator",
306
+ target: context.getArgumentTarget(0),
307
+ format: { which: 'chain' },
308
+ });
309
+ }
310
+ dds = [dd, ...dds];
311
+ const sorted = dds.sort((a, b) => a === b ? 0 : (!a) ? -1 : (!b) ? 1 : (a.length - b.length));
312
+ if (sorted.length > 1 && sorted[0]?.length !== sorted[sorted.length - 1]?.length) {
313
+ reportDiagnostic(context.program, {
314
+ code: "banned-length",
315
+ target: context.getArgumentTarget(0),
316
+ format: { which: 'chain', value: `${sorted[0]?.length || 0}!=${sorted[sorted.length - 1]?.length || 0}` },
317
+ });
318
+ }
319
+ context.program.stateMap(StateKeys.chain).set(target, { length, dds });
320
+ }
321
+ /**
322
+ * Accessor for the `@chain` decorator.
323
+ *
324
+ * @param program TypeSpec program.
325
+ * @param target Decorator target.
326
+ * @returns value if provided on the given target or undefined.
327
+ */
328
+ export function getChain(program, target) {
329
+ const { length, dds } = (program.stateMap(StateKeys.chain).get(target) ?? {});
330
+ if (!dds || length === undefined) {
331
+ return;
332
+ }
333
+ // silently discards empty parts
334
+ return {
335
+ length: getNum(length),
336
+ dds: dds.map(dd => dd?.map(v => getNum(v)).filter(v => v !== undefined)).filter(dd => dd !== undefined && dd.length),
337
+ };
221
338
  }
222
339
  /**
223
340
  * Implementation of the `@inherit` decorator.
@@ -228,6 +345,13 @@ export function getId(program, target) {
228
345
  * @param other further inherited models.
229
346
  */
230
347
  export function $inherit(context, target, first, ...other) {
348
+ if (context.program.stateMap(StateKeys.inherit).has(target)) {
349
+ reportDiagnostic(context.program, {
350
+ code: "multiple-decorator",
351
+ target: context.getArgumentTarget(0),
352
+ format: { which: 'inherit' },
353
+ });
354
+ }
231
355
  context.program.stateMap(StateKeys.inherit).set(target, [first, ...other]);
232
356
  }
233
357
  /**
@@ -313,6 +437,13 @@ export function $maxBits(context, target, value) {
313
437
  format: { which: 'maxBits', value: val !== undefined && val > 7 ? '7' : '<0' },
314
438
  });
315
439
  }
440
+ if (context.program.stateMap(StateKeys.maxBits).has(target)) {
441
+ reportDiagnostic(context.program, {
442
+ code: "multiple-decorator",
443
+ target: context.getArgumentTarget(0),
444
+ format: { which: 'maxBits' },
445
+ });
446
+ }
316
447
  context.program.stateMap(StateKeys.maxBits).set(target, val);
317
448
  }
318
449
  /**
@@ -383,6 +514,7 @@ export function getUnit(program, target) {
383
514
  */
384
515
  export function $divisor(context, target, value) {
385
516
  const val = getNum(value);
517
+ // todo report on boolean and bit types
386
518
  // this works only for direct Scalars, not for indirect ones via ModelProperty:
387
519
  const isPlainTime = target.kind === 'Scalar' && isIntrinsicType(context.program, target, 'plainTime'); // for internal time types
388
520
  if (!(isNumericType(context.program, getPropertyType(target)) || isPlainTime)
@@ -395,6 +527,13 @@ export function $divisor(context, target, value) {
395
527
  });
396
528
  return;
397
529
  }
530
+ if (context.program.stateMap(StateKeys.divisor).has(target)) {
531
+ reportDiagnostic(context.program, {
532
+ code: "multiple-decorator",
533
+ target: context.getArgumentTarget(0),
534
+ format: { which: 'divisor/@factor' },
535
+ });
536
+ }
398
537
  context.program.stateMap(StateKeys.divisor).set(target, val);
399
538
  }
400
539
  /**
@@ -417,6 +556,13 @@ export function $factor(context, target, value) {
417
556
  });
418
557
  return;
419
558
  }
559
+ if (context.program.stateMap(StateKeys.divisor).has(target)) {
560
+ reportDiagnostic(context.program, {
561
+ code: "multiple-decorator",
562
+ target: context.getArgumentTarget(0),
563
+ format: { which: 'factor/@divisor' },
564
+ });
565
+ }
420
566
  context.program.stateMap(StateKeys.divisor).set(target, 1.0 / val);
421
567
  }
422
568
  /**
@@ -437,16 +583,13 @@ export function getDivisor(program, target) {
437
583
  * @param value the value to set.
438
584
  */
439
585
  export function $values(context, target, value) {
440
- //todo tolerated for now as check for boolean is missing
441
- // if (!isNumericType(context.program, getPropertyType(target))
442
- // || context.program.stateMap(StateKeys.divisor).has(target)) {
443
- // reportDiagnostic(context.program, {
444
- // code: "banned-values",
445
- // target: context.getArgumentTarget(0)!,
446
- // format: { detail },
447
- // });
448
- // return;
449
- // }
586
+ if (context.program.stateMap(StateKeys.values).has(target)) {
587
+ reportDiagnostic(context.program, {
588
+ code: "multiple-decorator",
589
+ target: context.getArgumentTarget(0),
590
+ format: { which: 'values' },
591
+ });
592
+ }
450
593
  context.program.stateMap(StateKeys.values).set(target, value);
451
594
  }
452
595
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"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"}
@@ -3,3 +3,4 @@ export { $onEmit } from "./csv_emitter.js";
3
3
  export * from "./decorators.js";
4
4
  export { $flags, $lib } from "./lib.js";
5
5
  export { $linter } from "./linter.js";
6
+ export { $onValidate } from "./validate.js";
package/dist/src/index.js CHANGED
@@ -3,4 +3,5 @@ export { $onEmit } from "./csv_emitter.js";
3
3
  export * from "./decorators.js";
4
4
  export { $flags, $lib } from "./lib.js";
5
5
  export { $linter } from "./linter.js";
6
+ export { $onValidate } from "./validate.js";
6
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC;AAEhC,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAC,MAAM,EAAE,IAAI,EAAC,MAAM,UAAU,CAAC;AACtC,OAAO,EAAC,OAAO,EAAC,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC;AAEhC,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAC,MAAM,EAAE,IAAI,EAAC,MAAM,UAAU,CAAC;AACtC,OAAO,EAAC,OAAO,EAAC,MAAM,aAAa,CAAC;AACpC,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC"}