schematex 0.9.13 → 0.9.14

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.
@@ -29967,7 +29967,23 @@ var FURNITURE_ALIASES = {
29967
29967
  panel: "electrical-panel",
29968
29968
  "breaker-panel": "electrical-panel",
29969
29969
  db: "distribution-board",
29970
- "consumer-unit": "distribution-board"
29970
+ "consumer-unit": "distribution-board",
29971
+ // Common everyday synonyms an LLM reaches for that map cleanly onto an
29972
+ // existing type. Keeps a valid layout from failing on a vocabulary gap.
29973
+ "console-table": "side-table",
29974
+ console: "side-table",
29975
+ "end-table": "side-table",
29976
+ couch: "sofa",
29977
+ settee: "loveseat",
29978
+ "tv-console": "tv-stand",
29979
+ "media-console": "tv-stand",
29980
+ "entertainment-center": "tv-stand",
29981
+ refrigerator: "fridge",
29982
+ cooktop: "stove",
29983
+ stovetop: "stove",
29984
+ armoire: "wardrobe",
29985
+ wc: "toilet",
29986
+ "water-closet": "toilet"
29971
29987
  };
29972
29988
  function parseFurnitureType(t, ln) {
29973
29989
  const word = isWord(t) ? t.word : "";
@@ -36689,6 +36705,9 @@ function parseMermaidErd(lines) {
36689
36705
  const entityMap = /* @__PURE__ */ new Map();
36690
36706
  const order = [];
36691
36707
  const refs = [];
36708
+ let title2;
36709
+ let direction = "LR";
36710
+ let notation = "crowsfoot";
36692
36711
  const ensure = (id) => {
36693
36712
  let e = entityMap.get(id);
36694
36713
  if (!e) {
@@ -36702,6 +36721,33 @@ function parseMermaidErd(lines) {
36702
36721
  while (i < lines.length) {
36703
36722
  const t = lines[i].text;
36704
36723
  const ln = lines[i].lineNumber;
36724
+ const lower = t.toLowerCase();
36725
+ if (lower.startsWith("title:")) {
36726
+ title2 = unquote7(t.slice("title:".length).trim());
36727
+ i++;
36728
+ continue;
36729
+ }
36730
+ if (lower.startsWith("direction:")) {
36731
+ const v = t.slice("direction:".length).trim().toUpperCase();
36732
+ if (v !== "LR" && v !== "TB") {
36733
+ throw new ErdParseError(`Unknown direction '${v}'. Use LR or TB.`, ln);
36734
+ }
36735
+ direction = v;
36736
+ i++;
36737
+ continue;
36738
+ }
36739
+ if (lower.startsWith("notation:")) {
36740
+ const v = t.slice("notation:".length).trim().toLowerCase();
36741
+ if (v !== "crowsfoot") {
36742
+ throw new ErdParseError(
36743
+ `notation '${v}' is documented but not yet implemented in v0.1; use 'crowsfoot'.`,
36744
+ ln
36745
+ );
36746
+ }
36747
+ notation = v;
36748
+ i++;
36749
+ continue;
36750
+ }
36705
36751
  const inlineBlock = new RegExp(`^(${MERMAID_NAME.source})\\s*\\{\\s*(.*?)\\s*\\}$`).exec(t);
36706
36752
  const openBlock = new RegExp(`^(${MERMAID_NAME.source})\\s*\\{$`).exec(t);
36707
36753
  if (inlineBlock) {
@@ -36748,8 +36794,9 @@ function parseMermaidErd(lines) {
36748
36794
  }
36749
36795
  return {
36750
36796
  type: "erd",
36751
- notation: "crowsfoot",
36752
- direction: "LR",
36797
+ notation,
36798
+ direction,
36799
+ title: title2,
36753
36800
  entities: order.map((id) => entityMap.get(id)),
36754
36801
  refs
36755
36802
  };
@@ -42897,5 +42944,5 @@ exports.timeline = timeline;
42897
42944
  exports.umlclass = umlclass;
42898
42945
  exports.usecase = usecase;
42899
42946
  exports.welding = welding;
42900
- //# sourceMappingURL=chunk-KTAEPUAE.cjs.map
42901
- //# sourceMappingURL=chunk-KTAEPUAE.cjs.map
42947
+ //# sourceMappingURL=chunk-V5TY3N2W.cjs.map
42948
+ //# sourceMappingURL=chunk-V5TY3N2W.cjs.map