@meltemi/diagrams-model 1.9.0 → 1.10.17

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 (65) hide show
  1. package/dist/c4.d.ts +5 -4
  2. package/dist/c4.d.ts.map +1 -1
  3. package/dist/c4.js +115 -36
  4. package/dist/c4.js.map +1 -1
  5. package/dist/diagram-types.d.ts.map +1 -1
  6. package/dist/diagram-types.js +10 -1
  7. package/dist/diagram-types.js.map +1 -1
  8. package/dist/diff.d.ts +1 -1
  9. package/dist/diff.d.ts.map +1 -1
  10. package/dist/diff.js +27 -0
  11. package/dist/diff.js.map +1 -1
  12. package/dist/export.d.ts.map +1 -1
  13. package/dist/export.js +1 -16
  14. package/dist/export.js.map +1 -1
  15. package/dist/flow.d.ts +100 -8
  16. package/dist/flow.d.ts.map +1 -1
  17. package/dist/flow.js +614 -66
  18. package/dist/flow.js.map +1 -1
  19. package/dist/index.d.ts +5 -4
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +5 -4
  22. package/dist/index.js.map +1 -1
  23. package/dist/json.d.ts +48 -0
  24. package/dist/json.d.ts.map +1 -1
  25. package/dist/json.js +28 -1
  26. package/dist/json.js.map +1 -1
  27. package/dist/messages/changes.d.ts +2 -0
  28. package/dist/messages/changes.d.ts.map +1 -1
  29. package/dist/messages/changes.js +4 -0
  30. package/dist/messages/changes.js.map +1 -1
  31. package/dist/messages/en.d.ts +83 -9
  32. package/dist/messages/en.d.ts.map +1 -1
  33. package/dist/messages/en.js +92 -14
  34. package/dist/messages/en.js.map +1 -1
  35. package/dist/messages/es.d.ts.map +1 -1
  36. package/dist/messages/es.js +52 -11
  37. package/dist/messages/es.js.map +1 -1
  38. package/dist/messages/index.d.ts +44 -6
  39. package/dist/messages/index.d.ts.map +1 -1
  40. package/dist/outline.d.ts +14 -0
  41. package/dist/outline.d.ts.map +1 -0
  42. package/dist/outline.js +27 -0
  43. package/dist/outline.js.map +1 -0
  44. package/dist/scenario.d.ts +15 -2
  45. package/dist/scenario.d.ts.map +1 -1
  46. package/dist/scenario.js +37 -1
  47. package/dist/scenario.js.map +1 -1
  48. package/dist/schema.d.ts +102 -11
  49. package/dist/schema.d.ts.map +1 -1
  50. package/dist/schema.js +168 -13
  51. package/dist/schema.js.map +1 -1
  52. package/dist/sequence.d.ts.map +1 -1
  53. package/dist/sequence.js +252 -12
  54. package/dist/sequence.js.map +1 -1
  55. package/dist/story.d.ts +8 -0
  56. package/dist/story.d.ts.map +1 -1
  57. package/dist/story.js +39 -12
  58. package/dist/story.js.map +1 -1
  59. package/dist/style-values.d.ts +9 -0
  60. package/dist/style-values.d.ts.map +1 -1
  61. package/dist/style-values.js +82 -27
  62. package/dist/style-values.js.map +1 -1
  63. package/dist/types.d.ts +123 -12
  64. package/dist/types.d.ts.map +1 -1
  65. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sequence.d.ts","sourceRoot":"","sources":["../src/sequence.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,YAAY,EAEjB,KAAK,SAAS,EAGd,KAAK,KAAK,EACX,MAAM,4BAA4B,CAAC;AAUpC,OAAO,KAAK,EAEV,WAAW,EAOZ,MAAM,YAAY,CAAC;AAOpB,uDAAuD;AACvD,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,YAAY,EAClB,EAAE,EAAE,KAAK,EACT,KAAK,EAAE,SAAS,EAChB,GAAG,EAAE,aAAa,GACjB;IAAE,OAAO,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAG1C"}
1
+ {"version":3,"file":"sequence.d.ts","sourceRoot":"","sources":["../src/sequence.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,YAAY,EAEjB,KAAK,SAAS,EAId,KAAK,KAAK,EACX,MAAM,4BAA4B,CAAC;AAUpC,OAAO,KAAK,EAEV,WAAW,EAOZ,MAAM,YAAY,CAAC;AAOpB,uDAAuD;AACvD,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,YAAY,EAClB,EAAE,EAAE,KAAK,EACT,KAAK,EAAE,SAAS,EAChB,GAAG,EAAE,aAAa,GACjB;IAAE,OAAO,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAG1C"}
package/dist/sequence.js CHANGED
@@ -27,6 +27,20 @@ function clausesOf(stmt) {
27
27
  }));
28
28
  }
29
29
  const blockOf = (block) => block && block.kind === "Block" ? block : undefined;
30
+ /** A statement of the event order: a message, `return` or another event keyword. */
31
+ const isEventStatement = (stmt) => stmt.kind === "RelationStatement" ||
32
+ (stmt.kind === "KeywordStatement" && EVENT_KEYWORDS.has(stmt.keyword.text));
33
+ /** The events a call's block holds; its other statements are the message's properties. */
34
+ const callEvents = (block) => (blockOf(block)?.statements ?? []).filter((stmt) => stmt.kind !== "Error" && !headerHasError(stmt) && isEventStatement(stmt));
35
+ /** The call an event stands inside: the last `{ message }` place of its path, or undefined. */
36
+ const enclosingCall = (path) => {
37
+ for (let i = path.length - 1; i >= 0; i--) {
38
+ const place = path[i];
39
+ if ("message" in place)
40
+ return place.message;
41
+ }
42
+ return undefined;
43
+ };
30
44
  /** Declarations of flow and free diagrams, which sequence diagrams do not have. */
31
45
  const OTHER_DECLARATIONS = [
32
46
  "node",
@@ -38,6 +52,8 @@ const OTHER_DECLARATIONS = [
38
52
  "text",
39
53
  "icon",
40
54
  "image",
55
+ "pen",
56
+ "sticky",
41
57
  ];
42
58
  /** The statements of sequence diagrams besides participants, as their hint lists them. */
43
59
  const SEQUENCE_STATEMENTS = [
@@ -71,6 +87,10 @@ const SEQUENCE_STATEMENTS = [
71
87
  ];
72
88
  class SequenceAnalyzer extends FlowAnalyzer {
73
89
  relationOf = new Map();
90
+ /** Each `return` and the call statement whose block holds it. */
91
+ returnCalls = new Map();
92
+ /** The relation of each call statement, as it is built. */
93
+ callRelations = new Map();
74
94
  counters = new Map();
75
95
  /** Ids written on notes and fragments, with their tokens. */
76
96
  eventIds = new Map();
@@ -90,37 +110,183 @@ class SequenceAnalyzer extends FlowAnalyzer {
90
110
  this.collectRelations(stmt, out);
91
111
  return true;
92
112
  }
93
- /** Relations at any depth of fragments, so that they are built with the others. */
94
- collectRelations(stmt, out) {
113
+ /**
114
+ * Relations at any depth of fragments and of calls' blocks, in source order, so that they are
115
+ * built and numbered with the others; a `return` in a call's block is a relation too, answering
116
+ * the innermost call around it.
117
+ */
118
+ collectRelations(stmt, out, call) {
95
119
  if (stmt.kind === "RelationStatement") {
96
120
  out.relations.push({ stmt, groupPath: [] });
121
+ for (const inner of callEvents(stmt.block))
122
+ this.collectRelations(inner, out, stmt);
123
+ return;
124
+ }
125
+ if (stmt.kind !== "KeywordStatement")
126
+ return;
127
+ if (stmt.keyword.text === "return") {
128
+ if (!call)
129
+ return; // `sequence.return`, reported with the events
130
+ this.returnCalls.set(stmt, call);
131
+ // Built by `relation`, which tells a `return` from a relation statement.
132
+ out.relations.push({ stmt: stmt, groupPath: [] });
97
133
  return;
98
134
  }
99
- if (stmt.kind !== "KeywordStatement" || !OPERATORS.has(stmt.keyword.text))
135
+ if (!OPERATORS.has(stmt.keyword.text))
100
136
  return;
101
137
  for (const clause of clausesOf(stmt)) {
102
138
  for (const inner of blockOf(clause.block)?.statements ?? []) {
103
139
  if (inner.kind === "Error" || headerHasError(inner))
104
140
  continue;
105
- this.collectRelations(inner, out);
141
+ this.collectRelations(inner, out, call);
106
142
  }
107
143
  }
108
144
  }
145
+ /**
146
+ * A message's relation: its block's properties alone, the events of a call's block being built
147
+ * as events; a `return` is a reply from the call's receiver to its caller.
148
+ */
149
+ relation(stmt, groupPath) {
150
+ if (stmt.kind === "KeywordStatement") {
151
+ this.returnRelation(stmt);
152
+ return;
153
+ }
154
+ const before = this.relations.length;
155
+ const block = blockOf(stmt.block);
156
+ if (block && block.statements.some(isEventStatement)) {
157
+ const properties = {
158
+ ...block,
159
+ statements: block.statements.filter((s) => !isEventStatement(s)),
160
+ };
161
+ super.relation({ ...stmt, block: properties }, groupPath);
162
+ }
163
+ else {
164
+ super.relation(stmt, groupPath);
165
+ }
166
+ const made = this.relations.length > before ? this.relations[this.relations.length - 1] : undefined;
167
+ if (!made)
168
+ return;
169
+ made.node = stmt;
170
+ this.callRelations.set(stmt, made);
171
+ }
172
+ /** `return ["Label"] [as <id>] [{ properties }]`: the reply of the call around it. */
173
+ returnRelation(stmt) {
174
+ const callStmt = this.returnCalls.get(stmt);
175
+ const call = callStmt ? this.callRelations.get(callStmt) : undefined;
176
+ // A call that did not resolve has no reply to draw; its own error says why.
177
+ if (!call)
178
+ return;
179
+ const form = '`return ["Label"] [as <id>] [{ ... }]`';
180
+ let [first, ...rest] = stmt.args;
181
+ let label = null;
182
+ if (first?.kind === "StringLiteral") {
183
+ label = String(first.value ?? "");
184
+ [first, ...rest] = rest;
185
+ }
186
+ let idToken;
187
+ if (first !== undefined) {
188
+ const as = singleIdent(first);
189
+ idToken = rest.length === 1 ? singleIdent(rest[0]) : undefined;
190
+ if (as?.text !== "as" || !idToken || rest.length !== 1) {
191
+ this.invalid(messages().diagnostics.common.expected(form), first);
192
+ return;
193
+ }
194
+ }
195
+ let id = null;
196
+ if (idToken) {
197
+ const element = this.elementsById.get(idToken.text);
198
+ const firstRelation = this.relationIdTokens.get(idToken.text);
199
+ if (element) {
200
+ const m = messages();
201
+ this.error("ref.duplicate-id", m.diagnostics.flow.relationIdUsedByElement(idToken.text), idToken, {
202
+ related: [{ message: m.related.elementDeclared, at: element.idToken }],
203
+ hints: [m.hints.flow.sharedNamespace],
204
+ });
205
+ }
206
+ else if (firstRelation && firstRelation !== idToken) {
207
+ const m = messages();
208
+ this.error("ref.duplicate-id", m.diagnostics.flow.relationIdUsed(idToken.text), idToken, {
209
+ related: [{ message: m.related.firstUsed, at: firstRelation }],
210
+ });
211
+ }
212
+ else {
213
+ id = idToken.text;
214
+ this.relationIdTokens.set(id, idToken);
215
+ }
216
+ }
217
+ const { description, classes, tags, layer, layerRange, values } = this.elementBlock(blockOf(stmt.block), this.profile.relationProperties, "Relation", undefined);
218
+ const relation = {
219
+ key: "",
220
+ id,
221
+ from: call.to,
222
+ to: call.from,
223
+ line: "dashed",
224
+ heads: "end",
225
+ twoWay: false,
226
+ async: false,
227
+ // Set once the call has its key.
228
+ returns: null,
229
+ technology: null,
230
+ sources: [],
231
+ derived: false,
232
+ label,
233
+ description,
234
+ assumption: typeof values.assumption === "string" ? values.assumption : null,
235
+ data: {},
236
+ classes,
237
+ tags,
238
+ layer,
239
+ layerRange,
240
+ groupPath: [],
241
+ range: this.range(stmt),
242
+ idRange: id !== null && idToken ? this.range(idToken) : null,
243
+ node: stmt,
244
+ };
245
+ this.relations.push(relation);
246
+ if (id !== null && idToken)
247
+ this.reference(idToken, id, "relation", "relation-id", stmt);
248
+ }
109
249
  statementCandidates(keyword) {
250
+ // A tag belongs in a block: no statement here replaces it.
251
+ if (keyword === "tag")
252
+ return [];
110
253
  return OTHER_DECLARATIONS.includes(keyword)
111
254
  ? [...PARTICIPANT_KINDS, "group"]
112
255
  : [...PARTICIPANT_KINDS, ...SEQUENCE_STATEMENTS];
113
256
  }
257
+ misplacedHint(keyword) {
258
+ return keyword === "tag" ? messages().hints.sequence.tagPlace : undefined;
259
+ }
260
+ /** A message's block names its properties, `tag`, and the events a call's block holds. */
261
+ blockHint(owner, words) {
262
+ if (owner === "Element")
263
+ return super.blockHint(owner, words);
264
+ return messages().hints.sequence.messageBlock(words, SEQUENCE_PROFILE.events);
265
+ }
114
266
  statementHints(keyword) {
115
267
  const hints = messages().hints.sequence;
268
+ const misplaced = this.misplacedHint(keyword);
269
+ if (misplaced)
270
+ return [misplaced];
116
271
  if (OTHER_DECLARATIONS.includes(keyword)) {
117
- const profile = ["box", "text", "icon", "image"].includes(keyword) ? "free" : "flow";
272
+ const profile = ["box", "text", "icon", "image", "pen", "sticky"].includes(keyword)
273
+ ? "free"
274
+ : "flow";
118
275
  return [hints.otherDeclaration(keyword, profile, PARTICIPANT_KINDS)];
119
276
  }
120
277
  return [hints.statements];
121
278
  }
122
279
  // ---------------------------------------------------------------- events
123
280
  afterRelations(classified) {
281
+ // A `return` names the call it answers, now that the call has its key.
282
+ for (const relation of this.relations) {
283
+ if (relation.node.kind !== "KeywordStatement")
284
+ continue;
285
+ const callStmt = this.returnCalls.get(relation.node);
286
+ const call = callStmt ? this.callRelations.get(callStmt) : undefined;
287
+ if (call)
288
+ relation.returns = call.key;
289
+ }
124
290
  for (const relation of this.relations) {
125
291
  this.relationOf.set(relation.node, relation);
126
292
  for (const end of new Set([relation.from, relation.to])) {
@@ -186,6 +352,14 @@ class SequenceAnalyzer extends FlowAnalyzer {
186
352
  }
187
353
  buildEvents(statements, path) {
188
354
  const events = [];
355
+ // A `return` ends its statement list: what follows it in the same list is reported.
356
+ let returned = false;
357
+ const afterReturn = (stmt) => {
358
+ if (!returned)
359
+ return;
360
+ const m = messages();
361
+ this.error("sequence.return", m.diagnostics.sequence.afterReturn(enclosingCall(path) ?? ""), stmt.kind === "KeywordStatement" ? stmt.keyword : stmt);
362
+ };
189
363
  for (const stmt of statements) {
190
364
  if (stmt.kind === "Error" || headerHasError(stmt))
191
365
  continue;
@@ -193,18 +367,50 @@ class SequenceAnalyzer extends FlowAnalyzer {
193
367
  const relation = this.relationOf.get(stmt);
194
368
  if (!relation)
195
369
  continue;
370
+ afterReturn(stmt);
371
+ // The call's block: its events, inside the call.
372
+ const inner = callEvents(stmt.block);
373
+ const nested = inner.length > 0 ? this.buildEvents(inner, [...path, { message: relation.key }]) : [];
196
374
  events.push(this.register({
197
375
  kind: "message",
198
376
  key: relation.key,
199
377
  id: relation.id,
200
378
  idRange: relation.idRange,
201
379
  relation: relation.key,
380
+ events: nested,
202
381
  path,
203
382
  range: this.range(stmt),
204
383
  node: stmt,
205
384
  }));
206
385
  continue;
207
386
  }
387
+ if (stmt.kind === "KeywordStatement" && stmt.keyword.text === "return") {
388
+ if (!this.returnCalls.has(stmt)) {
389
+ const m = messages();
390
+ this.error("sequence.return", m.diagnostics.sequence.returnOutsideCall, stmt.keyword, {
391
+ hints: [m.hints.sequence.returnInCall],
392
+ });
393
+ continue;
394
+ }
395
+ const relation = this.relationOf.get(stmt);
396
+ if (!relation)
397
+ continue;
398
+ afterReturn(stmt);
399
+ events.push(this.register({
400
+ kind: "message",
401
+ key: relation.key,
402
+ id: relation.id,
403
+ idRange: relation.idRange,
404
+ relation: relation.key,
405
+ events: [],
406
+ path,
407
+ range: this.range(stmt),
408
+ node: stmt,
409
+ }));
410
+ returned = true;
411
+ continue;
412
+ }
413
+ afterReturn(stmt);
208
414
  if (stmt.kind === "ShorthandDeclaration" || !EVENT_KEYWORDS.has(stmt.keyword.text)) {
209
415
  // Only nested statements get here: the diagram level was classified already.
210
416
  const keyword = stmt.kind === "KeywordStatement" ? stmt.keyword : stmt;
@@ -212,9 +418,10 @@ class SequenceAnalyzer extends FlowAnalyzer {
212
418
  (stmt.kind === "KeywordStatement" &&
213
419
  (PARTICIPANTS.has(stmt.keyword.text) || stmt.keyword.text === "group"));
214
420
  const m = messages();
421
+ const word = stmt.kind === "KeywordStatement" ? stmt.keyword.text : "";
215
422
  this.error("prop.unknown", declaration
216
423
  ? m.diagnostics.sequence.participantsAtTop
217
- : m.diagnostics.sequence.unknownInFragment(stmt.kind === "KeywordStatement" ? stmt.keyword.text : ""), keyword, { hints: [m.hints.sequence.fragmentContents] });
424
+ : m.diagnostics.sequence.unknownInFragment(word), keyword, { hints: [this.misplacedHint(word) ?? m.hints.sequence.fragmentContents] });
218
425
  continue;
219
426
  }
220
427
  const event = this.keywordEvent(stmt, path);
@@ -418,7 +625,7 @@ class SequenceAnalyzer extends FlowAnalyzer {
418
625
  line(state, participant) {
419
626
  let line = state.get(participant);
420
627
  if (!line) {
421
- line = { depth: 0, appeared: false, created: false, destroyed: false };
628
+ line = { depth: 0, implicit: 0, appeared: false, created: false, destroyed: false };
422
629
  state.set(participant, line);
423
630
  }
424
631
  return line;
@@ -441,6 +648,16 @@ class SequenceAnalyzer extends FlowAnalyzer {
441
648
  }
442
649
  line.appeared = true;
443
650
  }
651
+ if (event.events.length > 0) {
652
+ // The receiver is active for the call's block, a level no `deactivate` ends.
653
+ const callee = this.line(state, relation.to);
654
+ callee.depth++;
655
+ callee.implicit++;
656
+ this.checkOrder(event.events, state);
657
+ const after = this.line(state, relation.to);
658
+ after.depth = Math.max(0, after.depth - 1);
659
+ after.implicit = Math.max(0, after.implicit - 1);
660
+ }
444
661
  break;
445
662
  }
446
663
  case "activate":
@@ -451,6 +668,10 @@ class SequenceAnalyzer extends FlowAnalyzer {
451
668
  }
452
669
  if (event.kind === "activate")
453
670
  line.depth++;
671
+ else if (line.depth > 0 && line.depth === line.implicit) {
672
+ const m = messages();
673
+ this.error("sequence.activation", m.diagnostics.sequence.activeForCall(event.participant, enclosingCall(event.path) ?? ""), event.node);
674
+ }
454
675
  else if (line.depth === 0) {
455
676
  const m = messages();
456
677
  this.error("sequence.activation", m.diagnostics.sequence.notActive(event.participant), event.node, { hints: [m.hints.sequence.activate(event.participant)] });
@@ -526,27 +747,45 @@ class SequenceAnalyzer extends FlowAnalyzer {
526
747
  });
527
748
  return true;
528
749
  }
529
- const form = `\`${keyword} <${keyword === "space" ? "event" : "participant"}> <n>\``;
750
+ const form = `\`${keyword} <${keyword === "space" ? "event" : "participant"}> <n> [before|after]\``;
530
751
  if (!this.noBlock(stmt, form))
531
752
  return true;
532
- const [target, amount, extra] = stmt.args;
753
+ const [target, amount, sideArg, extra] = stmt.args;
533
754
  const token = singleIdent(target);
534
755
  if (!token) {
535
756
  this.shapeError(stmt, form, target);
536
757
  return true;
537
758
  }
759
+ const words = messages().diagnostics.sequence;
760
+ // `space` is room, 0 or more; a `gap` may be negative, to bring two participants closer.
538
761
  if (amount?.kind !== "NumberLiteral" ||
539
762
  (amount.unit !== null && amount.unit !== "px") ||
540
- amount.value < 0 ||
763
+ (keyword === "space" && amount.value < 0)) {
764
+ this.invalid(keyword === "space" ? words.pixels(form) : words.signedPixels(form), amount ?? stmt.keyword);
765
+ return true;
766
+ }
767
+ const sideToken = sideArg === undefined ? undefined : singleIdent(sideArg);
768
+ if ((sideArg !== undefined &&
769
+ (!sideToken || (sideToken.text !== "before" && sideToken.text !== "after"))) ||
541
770
  extra) {
542
- this.invalid(messages().diagnostics.sequence.pixels(form), extra ?? amount ?? stmt.keyword);
771
+ this.invalid(words.side(form), extra ?? sideArg ?? stmt.keyword);
543
772
  return true;
544
773
  }
774
+ const side = sideToken?.text === "after" ? "after" : "before";
545
775
  let name;
546
776
  if (keyword === "gap") {
547
777
  name = this.participant(token, stmt, "gap");
548
778
  if (!name)
549
779
  return true;
780
+ // Before the first participant and after the last there is nothing to bring closer.
781
+ const order = this.elements.filter((element) => element.kind !== "group");
782
+ const edge = side === "before" ? order[0]?.id === name : order[order.length - 1]?.id === name;
783
+ if (amount.value < 0 && edge) {
784
+ this.error("prop.invalid-value", words.outerGap(name, side), amount, {
785
+ hints: [messages().hints.sequence.outerGap(name)],
786
+ });
787
+ return true;
788
+ }
550
789
  }
551
790
  else {
552
791
  const relation = this.relationsByKey.get(token.text);
@@ -568,12 +807,13 @@ class SequenceAnalyzer extends FlowAnalyzer {
568
807
  return true;
569
808
  }
570
809
  }
571
- if (this.duplicatePlacement(stmt, name))
810
+ if (this.duplicatePlacement(stmt, name, side))
572
811
  return true;
573
812
  this.placement.push({
574
813
  statement: keyword,
575
814
  target: name,
576
815
  amount: amount.value,
816
+ side,
577
817
  range: this.range(stmt),
578
818
  targetRange: this.range(token),
579
819
  node: stmt,