@primmel/primmel 1.5.2 → 1.6.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.
@@ -1 +1 @@
1
- {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../../src/ser-des/config/data.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EACT,IAAI,EAGJ,QAAQ,EACR,mBAAmB,EACnB,kBAAkB,EAElB,QAAQ,EACT,MAAM,kBAAkB,CAAC;AAI1B,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpD,eAAO,MAAM,SAAS,EAAE,MAoBvB,CAAC;AAsBF,eAAO,MAAM,aAAa,EAAE,MA6B3B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,MA0C5B,CAAC;AAmEF,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CA2BnE,CAAC;AAEJ,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAehE,CAAC;AAEJ,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,SAAS,CAuB3C,CAAC;AA0DF,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,IAAI,CAOjC,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,QAAQ,CAQzC,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,MA2B3B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,QAAQ,CAazC,CAAC"}
1
+ {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../../src/ser-des/config/data.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EACT,IAAI,EAGJ,QAAQ,EACR,mBAAmB,EACnB,kBAAkB,EAElB,QAAQ,EACT,MAAM,kBAAkB,CAAC;AAK1B,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpD,eAAO,MAAM,SAAS,EAAE,MAoBvB,CAAC;AAsBF,eAAO,MAAM,aAAa,EAAE,MA6B3B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,MA+D5B,CAAC;AAmEF,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CA4BnE,CAAC;AAEJ,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAehE,CAAC;AAEJ,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,SAAS,CA8B3C,CAAC;AA0DF,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,IAAI,CAOjC,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,QAAQ,CAQzC,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,MA2B3B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,QAAQ,CAazC,CAAC"}
@@ -70,6 +70,28 @@ const parseDataClass = function (id, data) {
70
70
  attributes: [],
71
71
  };
72
72
  (0, parse_block_1.forEachAttribute)(data, (basic, details) => {
73
+ // Class-level ref (Extension 2 — primmel-ts#52). The unified ref
74
+ // construct `ref <predicate> "<target>" [{ note "…" }]` is accepted
75
+ // at class scope. The first whitespace-separated token is `ref`.
76
+ if (basic.startsWith('ref ')) {
77
+ // basic is `ref <predicate> "<target>"` — split carefully to
78
+ // preserve the quoted target intact. tokenizePackage would
79
+ // unwrap the outer chars (treating input as a block body), so
80
+ // we hand-split instead.
81
+ const m = basic.match(/^ref\s+(\S+)\s+"([^"]*)"$/);
82
+ if (m) {
83
+ const ref = { predicate: m[1], target: m[2] };
84
+ if (details) {
85
+ const noteMatch = /note\s+"([^"]*)"/.exec(details) ?? /note\s+(\S+)/.exec(details);
86
+ if (noteMatch)
87
+ ref.note = noteMatch[1];
88
+ }
89
+ result.ref ??= [];
90
+ result.ref.push(ref);
91
+ return;
92
+ }
93
+ // Fall through: malformed ref — treat as unknown attribute.
94
+ }
73
95
  // Reserved class-level entries (v2 G2 storage semantics):
74
96
  // store { <name> } · indexes { a b c } · helper { true } · extends { <Class> }
75
97
  const head = basic.trim();
@@ -194,6 +216,7 @@ const resolveDataClass = function (ctx, unresolved) {
194
216
  ...(unresolved.description !== undefined
195
217
  ? { description: unresolved.description }
196
218
  : {}),
219
+ ...(unresolved.ref !== undefined ? { ref: unresolved.ref } : {}),
197
220
  };
198
221
  };
199
222
  exports.resolveDataClass = resolveDataClass;
@@ -227,6 +250,14 @@ const dumpDataClass = function (dataclass) {
227
250
  if (dataclass.extends) {
228
251
  out += ' extends { ' + dataclass.extends + ' }\n';
229
252
  }
253
+ if (dataclass.ref && dataclass.ref.length > 0) {
254
+ for (const r of dataclass.ref) {
255
+ out += ' ref ' + r.predicate + ' "' + (0, tokenize_1.escapeString)(r.target) + '"';
256
+ if (r.note)
257
+ out += ' { note "' + (0, tokenize_1.escapeString)(r.note) + '" }';
258
+ out += '\n';
259
+ }
260
+ }
230
261
  for (const a of dataclass.attributes) {
231
262
  out += toDataAttributeModel(a);
232
263
  }
@@ -1 +1 @@
1
- {"version":3,"file":"data.js","sourceRoot":"","sources":["../../../../src/ser-des/config/data.ts"],"names":[],"mappings":";;;AAYA,wCAAgD;AAChD,0CAA2E;AAC3E,gDAA2E;AAGpE,MAAM,SAAS,GAAW,CAAC,EAAU,EAAE,IAAY,EAAE,EAAE;IAC5D,MAAM,MAAM,GAAS;QACnB,EAAE,EAAE,EAAE;QACN,MAAM,EAAE,EAAE;KACX,CAAC;IACF,iEAAiE;IACjE,oEAAoE;IACpE,IAAA,0BAAY,EACV,IAAI,EACJ,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACd,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC;IACd,CAAC,EACD,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,CAC1B,CAAC;IAEF,OAAO,GAAG,CAAC,EAAE;QACX,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC;QACvB,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;AACJ,CAAC,CAAC;AApBW,QAAA,SAAS,aAoBpB;AAEF,MAAM,cAAc,GAAG,CAAC,EAAU,EAAE,IAAY,EAAE,EAAE;IAClD,MAAM,EAAE,GAAc;QACpB,EAAE,EAAE,EAAE;QACN,KAAK,EAAE,EAAE;KACV,CAAC;IACF,IAAA,0BAAY,EACV,IAAI,EACJ,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;QACjB,IAAI,OAAO,KAAK,YAAY,EAAE,CAAC;YAC7B,EAAE,CAAC,KAAK,GAAG,IAAA,uBAAS,EAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,EACD,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE,EAAE,CAChC,CAAC;IACF,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEK,MAAM,aAAa,GAAW,UAAU,EAAE,EAAE,IAAI;IACrD,MAAM,MAAM,GAAuB;QACjC,EAAE,EAAE,EAAE;QACN,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,IAAI;QACV,UAAU,EAAE;YACV,IAAI,EAAE,EAAE;SACT;KACF,CAAC;IAEF,IAAA,0BAAY,EACV,IAAI,EACJ,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;QACjB,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;YACxB,MAAM,CAAC,KAAK,GAAG,IAAA,uBAAS,EAAC,KAAK,CAAC,CAAC;QAClC,CAAC;aAAM,IAAI,OAAO,KAAK,YAAY,EAAE,CAAC;YACpC,MAAM,CAAC,UAAU,CAAC,IAAI,GAAG,KAAK,EAAE,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,EACD,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,EAAE,CAC9B,CAAC;IAEF,OAAO,GAAG,CAAC,EAAE;QACX,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC;QACtB,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;AACJ,CAAC,CAAC;AA7BW,QAAA,aAAa,iBA6BxB;AAEK,MAAM,cAAc,GAAW,UAAU,EAAE,EAAE,IAAI;IACtD,MAAM,MAAM,GAAwB;QAClC,EAAE,EAAE,EAAE;QACN,UAAU,EAAE,EAAE;KACf,CAAC;IAEF,IAAA,8BAAgB,EACd,IAAI,EACJ,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACjB,0DAA0D;QAC1D,iFAAiF;QACjF,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC1B,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;YAC9B,OAAO;QACT,CAAC;QACD,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;YAC3B,gEAAgE;YAChE,MAAM,CAAC,WAAW,GAAG,IAAA,wBAAa,EAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YACnD,OAAO;QACT,CAAC;QACD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAChE,OAAO;QACT,CAAC;QACD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,KAAK,MAAM,CAAC;YAC1C,OAAO;QACT,CAAC;QACD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;YAChC,OAAO;QACT,CAAC;QACD,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAC5D,CAAC,EACD,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,CAC3B,CAAC;IAEF,OAAO,GAAG,CAAC,EAAE;QACX,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC;QAC7B,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;AACJ,CAAC,CAAC;AA1CW,QAAA,cAAc,kBA0CzB;AAEF,MAAM,kBAAkB,GAAG,CACzB,KAAa,EACb,OAAe,EACW,EAAE;IAC5B,MAAM,MAAM,GAA6B;QACvC,EAAE,EAAE,EAAE;QACN,IAAI,EAAE,EAAE;QACR,QAAQ,EAAE,EAAE;QACZ,WAAW,EAAE,EAAE;QACf,UAAU,EAAE,EAAE;QACd,GAAG,EAAE,EAAE;QACP,OAAO,EAAE,EAAE;QACX,UAAU,EAAE;YACV,GAAG,EAAE,EAAE;SACR;KACF,CAAC;IACF,uEAAuE;IACvE,2EAA2E;IAC3E,wDAAwD;IACxD,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;IAChE,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACzC,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;IACD,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;QACtB,MAAM,CAAC,IAAI,GAAG,KAAK;aAChB,MAAM,CAAC,UAAU,GAAG,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,UAAU,GAAG,CAAC,CAAC;aACrD,IAAI,EAAE,CAAC;QACV,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;IACtC,CAAC;IACD,MAAM,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IACzB,IAAA,0BAAY,EACV,OAAO,EACP,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;QACjB,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;YAC3B,MAAM,CAAC,QAAQ,GAAG,KAAK,EAAE,CAAC;QAC5B,CAAC;aAAM,IAAI,OAAO,KAAK,YAAY,EAAE,CAAC;YACpC,MAAM,CAAC,UAAU,GAAG,IAAA,uBAAS,EAAC,KAAK,CAAC,CAAC;QACvC,CAAC;aAAM,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;YACnC,MAAM,CAAC,UAAU,CAAC,GAAG,GAAG,IAAA,0BAAe,EAAC,KAAK,EAAE,CAAC,CAAC;QACnD,CAAC;aAAM,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACjC,MAAM,CAAC,OAAO,GAAG,IAAA,0BAAe,EAAC,KAAK,EAAE,CAAC,CAAC;QAC5C,CAAC;aAAM,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;YACnC,MAAM,CAAC,QAAQ,GAAG,KAAK,EAAE,CAAC;QAC5B,CAAC;aAAM,IAAI,OAAO,KAAK,YAAY,EAAE,CAAC;YACpC,MAAM,CAAC,UAAU,GAAG,KAAK,EAAE,KAAK,MAAM,CAAC;QACzC,CAAC;aAAM,IAAI,OAAO,KAAK,aAAa,EAAE,CAAC;YACrC,MAAM,CAAC,UAAU,GAAG,IAAA,0BAAe,EAAC,KAAK,EAAE,CAAC,CAAC;QAC/C,CAAC;aAAM,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;YAClC,MAAM,CAAC,QAAQ,GAAG,KAAK,EAAE,KAAK,MAAM,CAAC;QACvC,CAAC;aAAM,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,GAAG,IAAA,uBAAS,EAAC,KAAK,CAAC,CAAC;QACjC,CAAC;aAAM,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACjC,MAAM,CAAC,YAAY,GAAG,IAAA,uBAAS,EAAC,KAAK,CAAC,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,EACD,EAAE,SAAS,EAAE,gBAAgB,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAC/C,CAAC;IACF,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEK,MAAM,gBAAgB,GAC3B,UAAU,GAAG,EAAE,UAAU;IACvB,MAAM,UAAU,GAAoB,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QACnE,MAAM,QAAQ,GAAkB,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;QACrD,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;YACrC,MAAM,CAAC,GAAG,IAAA,4BAAkB,EAAY,GAAG,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;YAC/D,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;gBACpB,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC,CAAC;IACH,OAAO;QACL,EAAE,EAAE,UAAU,CAAC,EAAE;QACjB,UAAU;QACV,GAAG,CAAC,UAAU,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,GAAG,CAAC,UAAU,CAAC,OAAO,KAAK,SAAS;YAClC,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE;YACjC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,UAAU,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,GAAG,CAAC,UAAU,CAAC,OAAO,KAAK,SAAS;YAClC,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE;YACjC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,UAAU,CAAC,WAAW,KAAK,SAAS;YACtC,CAAC,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC,WAAW,EAAE;YACzC,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC,CAAC;AA3BS,QAAA,gBAAgB,oBA2BzB;AAEG,MAAM,eAAe,GAC1B,UAAU,GAAG,EAAE,UAAU;IACvB,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,GAAG,UAAU,CAAC;IAC3C,MAAM,CAAC,GAAa,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC5C,IAAI,UAAU,CAAC,IAAI,KAAK,EAAE,EAAE,CAAC;QAC3B,MAAM,EAAE,GAAG,IAAA,4BAAkB,EAC3B,GAAG,EACH,aAAa,EACb,UAAU,CAAC,IAAI,CAChB,CAAC;QACF,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;YACrB,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AAfS,QAAA,eAAe,mBAexB;AAEG,MAAM,aAAa,GAAsB,UAAU,SAAS;IACjE,IAAI,GAAG,GAAW,QAAQ,GAAG,SAAS,CAAC,EAAE,GAAG,MAAM,CAAC;IACnD,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;QACpB,GAAG,IAAI,YAAY,GAAG,SAAS,CAAC,KAAK,GAAG,MAAM,CAAC;IACjD,CAAC;IACD,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC;QAC1B,iEAAiE;QACjE,GAAG,IAAI,mBAAmB,GAAG,IAAA,uBAAY,EAAC,SAAS,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC;IAC7E,CAAC;IACD,IAAI,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtD,GAAG,IAAI,cAAc,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;IAC/D,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACnC,GAAG,IAAI,aAAa,GAAG,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC;IACnD,CAAC;IACD,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;QACtB,GAAG,IAAI,cAAc,GAAG,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC;IACrD,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;QACrC,GAAG,IAAI,oBAAoB,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC;IACD,GAAG,IAAI,KAAK,CAAC;IACb,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAvBW,QAAA,aAAa,iBAuBxB;AAEF,MAAM,oBAAoB,GAAG,CAAC,SAAwB,EAAE,EAAE;IACxD,IAAI,GAAG,GAAW,IAAI,GAAG,SAAS,CAAC,EAAE,CAAC;IACtC,IAAI,SAAS,CAAC,IAAI,KAAK,EAAE,EAAE,CAAC;QAC1B,GAAG,IAAI,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;IAC/B,CAAC;IACD,IAAI,SAAS,CAAC,WAAW,KAAK,EAAE,EAAE,CAAC;QACjC,GAAG,IAAI,GAAG,GAAG,SAAS,CAAC,WAAW,GAAG,GAAG,CAAC;IAC3C,CAAC;IACD,GAAG,IAAI,MAAM,CAAC;IACd,GAAG,IAAI,kBAAkB,GAAG,IAAA,uBAAY,EAAC,SAAS,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC;IACvE,IAAI,SAAS,CAAC,QAAQ,KAAK,EAAE,EAAE,CAAC;QAC9B,GAAG,IAAI,eAAe,GAAG,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC;IACrD,CAAC;IACD,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;QACvB,GAAG,IAAI,gBAAgB,GAAG,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC;IACtD,CAAC;IACD,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;QACzB,GAAG,IAAI,uBAAuB,CAAC;IACjC,CAAC;IACD,IAAI,SAAS,CAAC,UAAU,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5D,GAAG,IAAI,oBAAoB,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;IACxE,CAAC;IACD,IAAI,SAAS,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACrC,GAAG,IAAI,eAAe,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;IAC1E,CAAC;IACD,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;QACnB,GAAG,IAAI,YAAY,GAAG,IAAA,uBAAY,EAAC,SAAS,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IAC7D,CAAC;IACD,IAAI,SAAS,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACzC,GAAG,IAAI,eAAe,GAAG,IAAA,uBAAY,EAAC,SAAS,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC;IACxE,CAAC;IACD,IAAI,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,GAAG,IAAI,iBAAiB,CAAC;QACzB,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;YAClC,GAAG,IAAI,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC;QAC7B,CAAC;QACD,GAAG,IAAI,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,GAAG,IAAI,mBAAmB,CAAC;QAC3B,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,GAAG,EAAE,CAAC;YAC9B,GAAG,IAAI,QAAQ,GAAG,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC;QAChC,CAAC;QACD,GAAG,IAAI,SAAS,CAAC;IACnB,CAAC;IACD,GAAG,IAAI,OAAO,CAAC;IACf,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,EAAa,EAAE,EAAE;IACtC,IAAI,GAAG,GAAW,IAAI,GAAG,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC;IACxC,GAAG,IAAI,kBAAkB,GAAG,IAAA,uBAAY,EAAC,EAAE,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;IAC3D,GAAG,IAAI,OAAO,CAAC;IACf,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEK,MAAM,QAAQ,GAAiB,UAAU,EAAE;IAChD,IAAI,GAAG,GAAW,OAAO,GAAG,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC;IAC3C,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;QAC1B,GAAG,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC;IACD,GAAG,IAAI,KAAK,CAAC;IACb,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAPW,QAAA,QAAQ,YAOnB;AAEK,MAAM,YAAY,GAAqB,UAAU,GAAG;IACzD,IAAI,GAAG,GAAW,gBAAgB,GAAG,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC;IACrD,GAAG,IAAI,WAAW,GAAG,IAAA,uBAAY,EAAC,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;IACrD,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QACtB,GAAG,IAAI,eAAe,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;IAC9C,CAAC;IACD,GAAG,IAAI,KAAK,CAAC;IACb,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AARW,QAAA,YAAY,gBAQvB;AAEK,MAAM,aAAa,GAAW,UAAU,EAAE,EAAE,IAAI;IACrD,MAAM,MAAM,GAAa;QACvB,EAAE,EAAE,EAAE;QACN,IAAI,EAAE,EAAE;QACR,UAAU,EAAE,EAAE;QACd,WAAW,EAAE,EAAE;KAChB,CAAC;IACF,IAAA,0BAAY,EACV,IAAI,EACJ,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;QACjB,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,GAAG,KAAK,EAAE,CAAC;QACxB,CAAC;aAAM,IAAI,OAAO,KAAK,YAAY,EAAE,CAAC;YACpC,MAAM,CAAC,UAAU,GAAG,IAAA,uBAAS,EAAC,KAAK,CAAC,CAAC;QACvC,CAAC;aAAM,IAAI,OAAO,KAAK,aAAa,EAAE,CAAC;YACrC,MAAM,CAAC,WAAW,GAAG,IAAA,uBAAS,EAAC,KAAK,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,EACD,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,EAAE,CAC9B,CAAC;IACF,OAAO,GAAG,CAAC,EAAE;QACX,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC;QAC3B,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;AACJ,CAAC,CAAC;AA3BW,QAAA,aAAa,iBA2BxB;AAEK,MAAM,YAAY,GAAqB,UAAU,CAAC;IACvD,IAAI,GAAG,GAAW,WAAW,GAAG,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC;IAC9C,IAAI,CAAC,CAAC,IAAI,KAAK,EAAE,EAAE,CAAC;QAClB,GAAG,IAAI,SAAS,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC;IACnC,CAAC;IACD,IAAI,CAAC,CAAC,UAAU,KAAK,EAAE,EAAE,CAAC;QACxB,GAAG,IAAI,gBAAgB,GAAG,IAAA,uBAAY,EAAC,CAAC,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC;IAC/D,CAAC;IACD,IAAI,CAAC,CAAC,WAAW,KAAK,EAAE,EAAE,CAAC;QACzB,GAAG,IAAI,iBAAiB,GAAG,IAAA,uBAAY,EAAC,CAAC,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC;IACjE,CAAC;IACD,GAAG,IAAI,KAAK,CAAC;IACb,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAbW,QAAA,YAAY,gBAavB"}
1
+ {"version":3,"file":"data.js","sourceRoot":"","sources":["../../../../src/ser-des/config/data.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"parse-block.d.ts","sourceRoot":"","sources":["../../../src/ser-des/parse-block.ts"],"names":[],"mappings":"AAuBA,MAAM,WAAW,sBAAsB;IACrC,uEAAuE;IACvE,SAAS,EAAE,MAAM,CAAC;IAClB,wEAAwE;IACxE,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,CACP,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,MAAM,EACnB,IAAI,EAAE,MAAM,MAAM,GAAG,SAAS,KAC3B,OAAO,EACZ,MAAM,EAAE,sBAAsB,GAC7B,IAAI,CAiCN;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,CAAC,EAAE,MAAM,EAAE,EACX,CAAC,EAAE,MAAM,EACT,OAAO,EAAE,MAAM,GACd,MAAM,CAeR;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,EAClD,MAAM,EAAE,sBAAsB,GAC7B,IAAI,CA0BN;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,MAAM,GAAG,MAAM,CAQrD"}
1
+ {"version":3,"file":"parse-block.d.ts","sourceRoot":"","sources":["../../../src/ser-des/parse-block.ts"],"names":[],"mappings":"AAuBA,MAAM,WAAW,sBAAsB;IACrC,uEAAuE;IACvE,SAAS,EAAE,MAAM,CAAC;IAClB,wEAAwE;IACxE,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,CACP,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,MAAM,EACnB,IAAI,EAAE,MAAM,MAAM,GAAG,SAAS,KAC3B,OAAO,EACZ,MAAM,EAAE,sBAAsB,GAC7B,IAAI,CAiCN;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,CAAC,EAAE,MAAM,EAAE,EACX,CAAC,EAAE,MAAM,EACT,OAAO,EAAE,MAAM,GACd,MAAM,CAeR;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,EAClD,MAAM,EAAE,sBAAsB,GAC7B,IAAI,CA2CN;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,MAAM,GAAG,MAAM,CAQrD"}
@@ -113,6 +113,25 @@ function forEachAttribute(data, visitor, errCtx) {
113
113
  const t = (0, tokenize_1.tokenizePackage)(data);
114
114
  let i = 0;
115
115
  while (i < t.length) {
116
+ // Special-case: the unified `ref` construct (`ref <predicate>
117
+ // "<target>"` plus an optional `{ note "…" }` block) has no
118
+ // per-attribute `{block}` after the target. When the first token
119
+ // is `ref`, accumulate predicate + target (and optional note block)
120
+ // and dispatch as a single entry. The visitor distinguishes by
121
+ // checking `nameSpec.startsWith('ref ')`.
122
+ if (t[i] === 'ref') {
123
+ const nameParts = [t[i++]];
124
+ if (i < t.length)
125
+ nameParts.push(t[i++]); // predicate
126
+ if (i < t.length)
127
+ nameParts.push(t[i++]); // target
128
+ let blockContent = '';
129
+ if (i < t.length && t[i].charAt(0) === '{') {
130
+ blockContent = (0, tokenize_1.unwrapBlock)(t[i++]);
131
+ }
132
+ visitor(nameParts.join(' '), blockContent);
133
+ continue;
134
+ }
116
135
  // Accumulate name-spec tokens until we hit the brace block.
117
136
  const nameParts = [];
118
137
  while (i < t.length && t[i].charAt(0) !== '{') {
@@ -1 +1 @@
1
- {"version":3,"file":"parse-block.js","sourceRoot":"","sources":["../../../src/ser-des/parse-block.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parse-block.js","sourceRoot":"","sources":["../../../src/ser-des/parse-block.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  import type Reference from './Reference';
2
2
  import Resolvable from './Resolvable';
3
+ import type { Ref } from '../ser-des/config/ref';
3
4
  export type { default as Reference } from './Reference';
5
+ export type { Ref } from '../ser-des/config/ref';
4
6
  export interface Registry {
5
7
  id: string;
6
8
  title: string;
@@ -20,6 +22,9 @@ export interface DataClass {
20
22
  extends?: string;
21
23
  /** Class-level description. */
22
24
  description?: string;
25
+ /** Class-level references (Extension 2 — primmel-ts#52). Provenance:
26
+ * where this class is defined in source documents. */
27
+ ref?: Ref[];
23
28
  }
24
29
  export type ResolvableDataClass = {
25
30
  id: string;
@@ -29,6 +34,7 @@ export type ResolvableDataClass = {
29
34
  helper?: boolean;
30
35
  extends?: string;
31
36
  description?: string;
37
+ ref?: Ref[];
32
38
  };
33
39
  export interface DataAttribute {
34
40
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../src/types/data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,UAAU,MAAM,cAAc,CAAC;AAEtC,YAAY,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AAExD,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,SAAS,GAAG,IAAI,CAAC;CACxB;AAED,MAAM,MAAM,kBAAkB,GAAG,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAE9D,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B,0DAA0D;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,kEAAkE;IAClE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,yDAAyD;IACzD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+BAA+B;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,wBAAwB,EAAE,CAAC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,SAAS,EAAE,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oDAAoD;IACpD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,kDAAkD;IAClD,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,sDAAsD;IACtD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uCAAuC;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4EAA4E;IAC5E,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,wBAAwB,GAAG,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;AAExE,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,SAAS,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB"}
1
+ {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../src/types/data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAEjD,YAAY,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACxD,YAAY,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAEjD,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,SAAS,GAAG,IAAI,CAAC;CACxB;AAED,MAAM,MAAM,kBAAkB,GAAG,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAE9D,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B,0DAA0D;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,kEAAkE;IAClE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,yDAAyD;IACzD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+BAA+B;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;2DACuD;IACvD,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC;CACb;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,wBAAwB,EAAE,CAAC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC;CACb,CAAC;AAEF,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,SAAS,EAAE,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oDAAoD;IACpD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,kDAAkD;IAClD,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,sDAAsD;IACtD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uCAAuC;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4EAA4E;IAC5E,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,wBAAwB,GAAG,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;AAExE,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,SAAS,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB"}
@@ -283,6 +283,13 @@ function v(e, t, n) {
283
283
  if (e === "") return;
284
284
  let a = r(e), o = 0;
285
285
  for (; o < a.length;) {
286
+ if (a[o] === "ref") {
287
+ let e = [a[o++]];
288
+ o < a.length && e.push(a[o++]), o < a.length && e.push(a[o++]);
289
+ let n = "";
290
+ o < a.length && a[o].charAt(0) === "{" && (n = i(a[o++])), t(e.join(" "), n);
291
+ continue;
292
+ }
286
293
  let e = [];
287
294
  for (; o < a.length && a[o].charAt(0) !== "{";) e.push(a[o++]);
288
295
  if (e.length === 0) throw Error(`Parsing error: ${n.construct}. ID ${n.id}: Attribute is missing its name`);
@@ -1428,6 +1435,21 @@ var Ve = function(e, t) {
1428
1435
  attributes: []
1429
1436
  };
1430
1437
  return v(t, (e, t) => {
1438
+ if (e.startsWith("ref ")) {
1439
+ let r = e.match(/^ref\s+(\S+)\s+"([^"]*)"$/);
1440
+ if (r) {
1441
+ let e = {
1442
+ predicate: r[1],
1443
+ target: r[2]
1444
+ };
1445
+ if (t) {
1446
+ let n = /note\s+"([^"]*)"/.exec(t) ?? /note\s+(\S+)/.exec(t);
1447
+ n && (e.note = n[1]);
1448
+ }
1449
+ n.ref ??= [], n.ref.push(e);
1450
+ return;
1451
+ }
1452
+ }
1431
1453
  let r = e.trim();
1432
1454
  if (r === "store") {
1433
1455
  n.store = t.trim();
@@ -1503,7 +1525,8 @@ var Ve = function(e, t) {
1503
1525
  ...t.indexes === void 0 ? {} : { indexes: t.indexes },
1504
1526
  ...t.helper === void 0 ? {} : { helper: t.helper },
1505
1527
  ...t.extends === void 0 ? {} : { extends: t.extends },
1506
- ...t.description === void 0 ? {} : { description: t.description }
1528
+ ...t.description === void 0 ? {} : { description: t.description },
1529
+ ...t.ref === void 0 ? {} : { ref: t.ref }
1507
1530
  };
1508
1531
  }, Xe = function(e, t) {
1509
1532
  let { _relations: n, ...r } = t, i = {
@@ -1517,7 +1540,7 @@ var Ve = function(e, t) {
1517
1540
  return i;
1518
1541
  }, Ze = function(e) {
1519
1542
  let t = "class " + e.id + " {\n";
1520
- e.store && (t += " store { " + e.store + " }\n"), e.description && (t += " description { \"" + s(e.description) + "\" }\n"), e.indexes && e.indexes.length > 0 && (t += " indexes { " + e.indexes.join(" ") + " }\n"), e.helper !== void 0 && (t += " helper { " + e.helper + " }\n"), e.extends && (t += " extends { " + e.extends + " }\n");
1543
+ if (e.store && (t += " store { " + e.store + " }\n"), e.description && (t += " description { \"" + s(e.description) + "\" }\n"), e.indexes && e.indexes.length > 0 && (t += " indexes { " + e.indexes.join(" ") + " }\n"), e.helper !== void 0 && (t += " helper { " + e.helper + " }\n"), e.extends && (t += " extends { " + e.extends + " }\n"), e.ref && e.ref.length > 0) for (let n of e.ref) t += " ref " + n.predicate + " \"" + s(n.target) + "\"", n.note && (t += " { note \"" + s(n.note) + "\" }"), t += "\n";
1521
1544
  for (let n of e.attributes) t += Qe(n);
1522
1545
  return t += "}\n", t;
1523
1546
  }, Qe = (e) => {
@@ -430,6 +430,17 @@ function forEachAttribute(data, visitor, errCtx) {
430
430
  const t = tokenizePackage(data);
431
431
  let i = 0;
432
432
  while (i < t.length) {
433
+ if (t[i] === "ref") {
434
+ const nameParts2 = [t[i++]];
435
+ if (i < t.length) nameParts2.push(t[i++]);
436
+ if (i < t.length) nameParts2.push(t[i++]);
437
+ let blockContent = "";
438
+ if (i < t.length && t[i].charAt(0) === "{") {
439
+ blockContent = unwrapBlock(t[i++]);
440
+ }
441
+ visitor(nameParts2.join(" "), blockContent);
442
+ continue;
443
+ }
433
444
  const nameParts = [];
434
445
  while (i < t.length && t[i].charAt(0) !== "{") {
435
446
  nameParts.push(t[i++]);
@@ -625,6 +636,19 @@ var parseDataClass = function(id, data) {
625
636
  forEachAttribute(
626
637
  data,
627
638
  (basic, details) => {
639
+ if (basic.startsWith("ref ")) {
640
+ const m = basic.match(/^ref\s+(\S+)\s+"([^"]*)"$/);
641
+ if (m) {
642
+ const ref = { predicate: m[1], target: m[2] };
643
+ if (details) {
644
+ const noteMatch = /note\s+"([^"]*)"/.exec(details) ?? /note\s+(\S+)/.exec(details);
645
+ if (noteMatch) ref.note = noteMatch[1];
646
+ }
647
+ result.ref ??= [];
648
+ result.ref.push(ref);
649
+ return;
650
+ }
651
+ }
628
652
  const head = basic.trim();
629
653
  if (head === "store") {
630
654
  result.store = details.trim();
@@ -729,7 +753,8 @@ var resolveDataClass = function(ctx, unresolved) {
729
753
  ...unresolved.indexes !== void 0 ? { indexes: unresolved.indexes } : {},
730
754
  ...unresolved.helper !== void 0 ? { helper: unresolved.helper } : {},
731
755
  ...unresolved.extends !== void 0 ? { extends: unresolved.extends } : {},
732
- ...unresolved.description !== void 0 ? { description: unresolved.description } : {}
756
+ ...unresolved.description !== void 0 ? { description: unresolved.description } : {},
757
+ ...unresolved.ref !== void 0 ? { ref: unresolved.ref } : {}
733
758
  };
734
759
  };
735
760
  var resolveRegistry = function(ctx, unresolved) {
@@ -764,6 +789,13 @@ var dumpDataClass = function(dataclass) {
764
789
  if (dataclass.extends) {
765
790
  out += " extends { " + dataclass.extends + " }\n";
766
791
  }
792
+ if (dataclass.ref && dataclass.ref.length > 0) {
793
+ for (const r of dataclass.ref) {
794
+ out += " ref " + r.predicate + ' "' + escapeString(r.target) + '"';
795
+ if (r.note) out += ' { note "' + escapeString(r.note) + '" }';
796
+ out += "\n";
797
+ }
798
+ }
767
799
  for (const a of dataclass.attributes) {
768
800
  out += toDataAttributeModel(a);
769
801
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@primmel/primmel",
3
- "version": "1.5.2",
3
+ "version": "1.6.0",
4
4
  "description": "Primmel — parser, types, and serializer for the Primmel modelling language (successor to MMEL)",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",