@malloydata/malloy-tag 0.0.240-dev250311155207 → 0.0.240-dev250311202829

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/dist/tags.d.ts CHANGED
@@ -79,6 +79,9 @@ export declare class Tag implements TagInterface {
79
79
  numericArray(...at: Path): number[] | undefined;
80
80
  getProperties(): TagDict;
81
81
  clone(): Tag;
82
+ private static escapeString;
83
+ private static escapeProp;
84
+ private static quoteAndEscape;
82
85
  toString(): string;
83
86
  find(path: Path): Tag | undefined;
84
87
  has(...path: Path): boolean;
package/dist/tags.js CHANGED
@@ -113,7 +113,7 @@ class Tag {
113
113
  let current = extending;
114
114
  for (let i = 0; i < lines.length; i++) {
115
115
  const text = lines[i];
116
- const noteParse = parseTagLine(text, extending, importing, i);
116
+ const noteParse = parseTagLine(text, current, importing, i);
117
117
  current = noteParse.tag;
118
118
  allErrs.push(...noteParse.log);
119
119
  }
@@ -214,6 +214,20 @@ class Tag {
214
214
  clone() {
215
215
  return new Tag(structuredClone(this));
216
216
  }
217
+ static escapeString(str) {
218
+ return str.replace(/\\/g, '\\\\').replace(/"/g, '\\"');
219
+ }
220
+ static escapeProp(str) {
221
+ return str.replace(/\\/g, '\\\\').replace(/`/g, '\\`');
222
+ }
223
+ static quoteAndEscape(str, isProp = false) {
224
+ if (str.match(/^[0-9A-Za-z_]+$/))
225
+ return str;
226
+ if (isProp)
227
+ return `\`${Tag.escapeProp(str)}\``;
228
+ // TODO consider choosing the quote character based on which quotes appear in the string
229
+ return `"${Tag.escapeString(str)}"`;
230
+ }
217
231
  toString() {
218
232
  var _a;
219
233
  let annotation = (_a = this.prefix) !== null && _a !== void 0 ? _a : '# ';
@@ -241,19 +255,22 @@ class Tag {
241
255
  annotation += ']';
242
256
  }
243
257
  else {
244
- annotation += `${child.eq}`;
258
+ annotation += Tag.quoteAndEscape(`${child.eq}`);
245
259
  }
246
260
  }
247
261
  if (child.properties) {
248
262
  const props = Object.keys(child.properties);
249
- if (props.length === 1 &&
263
+ if (!isArrayEl &&
264
+ props.length === 1 &&
250
265
  !props.some(c => { var _a; return ((_a = child.properties) !== null && _a !== void 0 ? _a : {})[c].deleted; }) &&
251
266
  child.eq === undefined) {
252
267
  annotation += '.';
253
268
  addChildren(child);
254
269
  }
255
270
  else {
256
- annotation += ' { ';
271
+ if (!isArrayEl || child.eq !== undefined)
272
+ annotation += ' ';
273
+ annotation += '{ ';
257
274
  addChildren(child);
258
275
  annotation += ' }';
259
276
  }
@@ -261,13 +278,14 @@ class Tag {
261
278
  }
262
279
  function addChild(prop, child) {
263
280
  if (child.deleted) {
264
- annotation += `-${prop}`;
281
+ annotation += `-${Tag.quoteAndEscape(prop, true)}`;
265
282
  return;
266
283
  }
267
- annotation += prop;
284
+ annotation += Tag.quoteAndEscape(prop, true);
268
285
  addTag(child);
269
286
  }
270
287
  addChildren(this);
288
+ annotation += '\n';
271
289
  return annotation;
272
290
  }
273
291
  find(path) {
@@ -556,7 +574,7 @@ class TagLineParser extends tree_1.AbstractParseTreeVisitor {
556
574
  value = this.getArray(arrayCx);
557
575
  }
558
576
  if (properties) {
559
- if (value) {
577
+ if (value !== undefined) {
560
578
  properties.eq = value;
561
579
  }
562
580
  return properties;
package/dist/tags.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tags.js","sourceRoot":"","sources":["../src/tags.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tags.js","sourceRoot":"","sources":["../src/tags.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;;;AAEH,wCAAuD;AACvD,gEAA2D;AAC3D,kEAesC;AAEtC,uCAMkB;AAClB,iCAAmC;AAiCnC;;;;;;;;;;;;;;;GAeG;AACH,MAAa,GAAG;IAMd,MAAM,CAAC,OAAO,CAAC,OAAqB,EAAE;QACpC,IAAI,IAAI,YAAY,GAAG,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IAKD,MAAM,CAAC,EAAE,CAAC,CAAM;QACd,IAAI,SAAS,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;YAC1B,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;YAC1B,GAAG,CAAC,SAAS,IAAI,CAAC,CAAC;QACrB,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,CAAC,MAAM,GAAG,CAAC;QACb,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAClC,IAAI,GAAG,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,IACE,IAAI,CAAC,UAAU,KAAK,SAAS;YAC7B,IAAI,CAAC,EAAE;YACP,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,EAC3B,CAAC;YACD,OAAO,GAAG,GAAG,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;QAC7B,CAAC;QACD,GAAG,IAAI,IAAI,CAAC;QACZ,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACZ,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;gBAChC,GAAG,IAAI,KAAK,MAAM,QAAQ,IAAI,CAAC,EAAE,EAAE,CAAC;YACtC,CAAC;iBAAM,CAAC;gBACN,GAAG,IAAI,KAAK,MAAM,WAAW,MAAM,OAAO,IAAI,CAAC,EAAE;qBAC9C,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;qBAC3C,IAAI,CAAC,KAAK,MAAM,MAAM,CAAC,KAAK,MAAM,KAAK,CAAC;YAC7C,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChC,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5C,GAAG,IAAI,KAAK,MAAM,KAAK,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;YACtD,CAAC;QACH,CAAC;QACD,GAAG,IAAI,KAAK,MAAM,GAAG,CAAC;QACtB,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,WAAW,CAChB,MAAc,EACd,UAAU,GAAG,CAAC,EACd,SAAe,EACf,GAAG,SAAgB;QAEnB,OAAO,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IAChE,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,YAAY,CAAC,KAAe,EAAE,SAAe,EAAE,GAAG,SAAgB;QACvE,MAAM,OAAO,GAAe,EAAE,CAAC;QAC/B,IAAI,OAAO,GAAoB,SAAS,CAAC;QACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;YAC5D,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC;YACxB,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;QACjC,CAAC;QACD,OAAO,EAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAC,CAAC;IACtC,CAAC;IAED,YAAY,OAAqB,EAAE;QACjC,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACZ,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QACpB,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACpC,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC9B,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,MAAc;QAC9B,OAAO,IAAI,GAAG,CAAC,EAAC,MAAM,EAAC,CAAC,CAAC;IAC3B,CAAC;IAED,GAAG,CAAC,GAAG,EAAQ;QACb,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvB,CAAC;IAED,IAAI,CAAC,GAAG,EAAQ;;QACd,MAAM,GAAG,GAAG,MAAA,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,0CAAE,EAAE,CAAC;QAC9B,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,GAAG,CAAC;QACb,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,EAAQ;;QACjB,MAAM,GAAG,GAAG,MAAA,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,0CAAE,EAAE,CAAC;QAC9B,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YACnC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvB,OAAO,GAAG,CAAC;YACb,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,CAAC,GAAG,EAAQ;QACd,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxB,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QACD,OAAO,CACL,CAAC,CAAC,UAAU,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,CACxE,CAAC;IACJ,CAAC;IAED,IAAI,IAAI;QACN,MAAM,OAAO,GAAwB,EAAE,CAAC;QACxC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClC,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,GAAG,EAAQ;;QACf,MAAM,KAAK,GAAG,MAAA,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,0CAAE,EAAE,CAAC;QAChC,IAAI,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACrD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CACpB,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,EAAC,EAAE,EAAE,EAAE,EAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAC7D,CAAC;IACJ,CAAC;IAED,SAAS,CAAC,GAAG,EAAQ;;QACnB,MAAM,KAAK,GAAG,MAAA,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,0CAAE,EAAE,CAAC;QAChC,IAAI,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACrD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,KAAK,CAAC,MAAM,CACjB,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CACd,OAAO,EAAE,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAC7D,EAAE,CACH,CAAC;IACJ,CAAC;IAED,YAAY,CAAC,GAAG,EAAQ;;QACtB,MAAM,KAAK,GAAG,MAAA,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,0CAAE,EAAE,CAAC;QAChC,IAAI,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACrD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,KAAK,CAAC,MAAM,CAAW,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE;YAC5C,IAAI,OAAO,EAAE,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;gBAC9B,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBACrC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;oBACvB,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC,EAAE,EAAE,CAAC,CAAC;IACT,CAAC;IAED,qEAAqE;IACrE,aAAa;QACX,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAClC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACvB,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,KAAK;QACH,OAAO,IAAI,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;IACxC,CAAC;IAEO,MAAM,CAAC,YAAY,CAAC,GAAW;QACrC,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACzD,CAAC;IAEO,MAAM,CAAC,UAAU,CAAC,GAAW;QACnC,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACzD,CAAC;IAEO,MAAM,CAAC,cAAc,CAAC,GAAW,EAAE,MAAM,GAAG,KAAK;QACvD,IAAI,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC;YAAE,OAAO,GAAG,CAAC;QAC7C,IAAI,MAAM;YAAE,OAAO,KAAK,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;QAChD,wFAAwF;QACxF,OAAO,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC;IACtC,CAAC;IAED,QAAQ;;QACN,IAAI,UAAU,GAAG,MAAA,IAAI,CAAC,MAAM,mCAAI,IAAI,CAAC;QACrC,SAAS,WAAW,CAAC,GAAiB;;YACpC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,MAAA,GAAG,CAAC,UAAU,mCAAI,EAAE,CAAC,CAAC;YAChD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,UAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC9C,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzB,UAAU,IAAI,GAAG,CAAC;gBACpB,CAAC;YACH,CAAC;QACH,CAAC;QACD,SAAS,MAAM,CAAC,KAAmB,EAAE,SAAS,GAAG,KAAK;YACpD,IAAI,KAAK,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;gBAC3B,IAAI,CAAC,SAAS;oBAAE,UAAU,IAAI,KAAK,CAAC;gBACpC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;oBAC5B,UAAU,IAAI,GAAG,CAAC;oBAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBACzC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;wBAC1B,IAAI,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC;4BAAE,UAAU,IAAI,IAAI,CAAC;oBACpD,CAAC;oBACD,UAAU,IAAI,GAAG,CAAC;gBACpB,CAAC;qBAAM,CAAC;oBACN,UAAU,IAAI,GAAG,CAAC,cAAc,CAAC,GAAG,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;gBAClD,CAAC;YACH,CAAC;YACD,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;gBACrB,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBAC5C,IACE,CAAC,SAAS;oBACV,KAAK,CAAC,MAAM,KAAK,CAAC;oBAClB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,WAAC,OAAA,CAAC,MAAA,KAAK,CAAC,UAAU,mCAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA,EAAA,CAAC;oBACrD,KAAK,CAAC,EAAE,KAAK,SAAS,EACtB,CAAC;oBACD,UAAU,IAAI,GAAG,CAAC;oBAClB,WAAW,CAAC,KAAK,CAAC,CAAC;gBACrB,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,EAAE,KAAK,SAAS;wBAAE,UAAU,IAAI,GAAG,CAAC;oBAC5D,UAAU,IAAI,IAAI,CAAC;oBACnB,WAAW,CAAC,KAAK,CAAC,CAAC;oBACnB,UAAU,IAAI,IAAI,CAAC;gBACrB,CAAC;YACH,CAAC;QACH,CAAC;QACD,SAAS,QAAQ,CAAC,IAAY,EAAE,KAAmB;YACjD,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAClB,UAAU,IAAI,IAAI,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;gBACnD,OAAO;YACT,CAAC;YACD,UAAU,IAAI,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC7C,MAAM,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC;QACD,WAAW,CAAC,IAAI,CAAC,CAAC;QAClB,UAAU,IAAI,IAAI,CAAC;QACnB,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,IAAI,CAAC,IAAU;;QACb,IAAI,UAAU,GAAQ,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACxC,KAAK,MAAM,OAAO,IAAI,IAAI,EAAE,CAAC;YAC3B,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAChC,IACE,UAAU,CAAC,EAAE,KAAK,SAAS;oBAC3B,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC7B,UAAU,CAAC,EAAE,CAAC,MAAM,IAAI,OAAO,EAC/B,CAAC;oBACD,OAAO;gBACT,CAAC;gBACD,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;YACnD,CAAC;iBAAM,CAAC;gBACN,MAAM,UAAU,GAAG,MAAA,UAAU,CAAC,UAAU,mCAAI,EAAE,CAAC;gBAC/C,IAAI,OAAO,IAAI,UAAU,EAAE,CAAC;oBAC1B,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;gBAChD,CAAC;qBAAM,CAAC;oBACN,OAAO;gBACT,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,GAAG,CAAC,GAAG,IAAU;QACf,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC;IACvC,CAAC;IAED,GAAG,CAAC,IAAU,EAAE,QAAqB,IAAI;QACvC,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,UAAU,GAAiB,IAAI,CAAC;QACpC,KAAK,MAAM,OAAO,IAAI,IAAI,EAAE,CAAC;YAC3B,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAChC,IAAI,UAAU,CAAC,EAAE,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;oBACjE,UAAU,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,OAAO,GAAG,CAAC,EAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACnE,CAAC;qBAAM,IAAI,UAAU,CAAC,EAAE,CAAC,MAAM,IAAI,OAAO,EAAE,CAAC;oBAC3C,MAAM,MAAM,GAAG,UAAU,CAAC,EAAE,CAAC;oBAC7B,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,OAAO,GAAG,CAAC,EAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAC5D,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CACnC,CAAC;oBACF,UAAU,CAAC,EAAE,GAAG,MAAM,CAAC;gBACzB,CAAC;gBACD,UAAU,GAAG,UAAU,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;YACtC,CAAC;iBAAM,CAAC;gBACN,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;gBACzC,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;oBAC7B,UAAU,CAAC,UAAU,GAAG,EAAC,CAAC,OAAO,CAAC,EAAE,EAAE,EAAC,CAAC;oBACxC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;gBAC9C,CAAC;qBAAM,IAAI,OAAO,IAAI,UAAU,EAAE,CAAC;oBACjC,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;oBACjC,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;wBACvB,UAAU,CAAC,OAAO,GAAG,KAAK,CAAC;oBAC7B,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;oBACzB,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;gBACnC,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,UAAU,CAAC,EAAE,GAAG,SAAS,CAAC;QAC5B,CAAC;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACrC,UAAU,CAAC,EAAE,GAAG,KAAK,CAAC;QACxB,CAAC;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACrC,UAAU,CAAC,EAAE,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,oBAAoB;QACxD,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,UAAU,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAkB,EAAE,EAAE;gBAC/C,OAAO,EAAC,EAAE,EAAE,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAC,CAAC;YACxD,CAAC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,GAAG,IAAU;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,GAAG,IAAU;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACjC,CAAC;IAEO,MAAM,CAAC,IAAU,EAAE,IAAI,GAAG,KAAK;;QACrC,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,UAAU,GAAiB,QAAQ,CAAC;QACxC,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;YACrD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAChC,IAAI,UAAU,CAAC,EAAE,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;oBACjE,IAAI,CAAC,IAAI;wBAAE,OAAO,QAAQ,CAAC;oBAC3B,UAAU,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,OAAO,EAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC/D,CAAC;qBAAM,IAAI,UAAU,CAAC,EAAE,CAAC,MAAM,IAAI,OAAO,EAAE,CAAC;oBAC3C,IAAI,CAAC,IAAI;wBAAE,OAAO,QAAQ,CAAC;oBAC3B,MAAM,MAAM,GAAG,UAAU,CAAC,EAAE,CAAC;oBAC7B,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,OAAO,EAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACxD,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CACnC,CAAC;oBACF,UAAU,CAAC,EAAE,GAAG,MAAM,CAAC;gBACzB,CAAC;gBACD,UAAU,GAAG,UAAU,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;YACtC,CAAC;iBAAM,CAAC;gBACN,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;gBACzC,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;oBAC7B,IAAI,CAAC,IAAI;wBAAE,OAAO,QAAQ,CAAC;oBAC3B,UAAU,CAAC,UAAU,GAAG,EAAC,CAAC,OAAO,CAAC,EAAE,EAAE,EAAC,CAAC;oBACxC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;gBAC9C,CAAC;qBAAM,IAAI,OAAO,IAAI,UAAU,EAAE,CAAC;oBACjC,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;gBACnC,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,IAAI;wBAAE,OAAO,QAAQ,CAAC;oBAC3B,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;oBACzB,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;gBACnC,CAAC;YACH,CAAC;QACH,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACtC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,IAAI,UAAU,CAAC,UAAU,IAAI,OAAO,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;gBAC9D,OAAO,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YACxC,CAAC;iBAAM,IAAI,IAAI,EAAE,CAAC;gBAChB,MAAA,UAAU,CAAC,UAAU,oCAArB,UAAU,CAAC,UAAU,GAAK,EAAE,EAAC;gBAC7B,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC;YACnD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;gBACjC,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;;AAlZH,kBAmZC;AAtYC,6BAA6B;AACtB,OAAG,GAAG,IAAI,GAAG,EAAe,CAAC;AAC7B,aAAS,GAAG,IAAI,CAAC;AAsY1B,MAAM,gBAAgB;IAEpB,YAAqB,IAAY;QAAZ,SAAI,GAAJ,IAAI,CAAQ;QADjC,QAAG,GAAe,EAAE,CAAC;IACe,CAAC;IAErC,WAAW,CACT,UAAmB,EACnB,eAAkC,EAClC,IAAY,EACZ,kBAA0B,EAC1B,GAAW,EACX,EAAW;QAEX,MAAM,MAAM,GAAa;YACvB,IAAI,EAAE,wBAAwB;YAC9B,OAAO,EAAE,GAAG;YACZ,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,kBAAkB;SAC3B,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;IAED,aAAa,CAAC,EAAqB,EAAE,IAAY,EAAE,GAAW;QAC5D,MAAM,MAAM,GAAa;YACvB,IAAI;YACJ,OAAO,EAAE,GAAG;YACZ,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,kBAAkB;SACpC,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;CACF;AAED,SAAS,UAAU,CAAC,GAAsB;IACxC,MAAM,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC;IAC/B,IAAI,OAAO,YAAY,GAAG,EAAE,CAAC;QAC3B,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,OAAO,IAAI,GAAG,EAAE,CAAC;AACnB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,eAAe,CAAC,OAAY,EAAE,IAAc;;;IACnD,IAAI,oBAAoB,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IACnD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;QAC/C,IAAI,IAAS,CAAC;QACd,IAAI,oBAAoB,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;YAC1C,IAAI,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC;YACnB,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QACjC,CAAC;aAAM,CAAC;YACN,uEAAuE;YACvE,2EAA2E;YAC3E,iDAAiD;YACjD,YAAA,oBAAoB,CAAC,CAAC,CAAC,EAAC,UAAU,uCAAV,UAAU,GAAK,EAAE,EAAC;YAC1C,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9C,CAAC;QACD,oBAAoB,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;IAC9C,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,SAAS,CAAC,GAAkB;IACnC,IAAI,GAAG,CAAC,SAAS,EAAE,IAAI,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC;QACvC,OAAO,IAAA,kBAAW,EAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,GAAG,CAAC,IAAI,CAAC;AAClB,CAAC;AAED,SAAS,YAAY,CACnB,MAAc,EACd,SAA0B,EAC1B,UAAiB,EACjB,MAAc;IAEd,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;QACtB,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YACf,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,EAAE,CAAC;QACd,CAAC;IACH,CAAC;IACD,MAAM,WAAW,GAAG,sBAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,IAAI,+BAAc,CAAC,WAAW,CAAC,CAAC;IAC9C,MAAM,WAAW,GAAG,IAAI,4BAAiB,CAAC,KAAK,CAAC,CAAC;IACjD,MAAM,IAAI,GAAG,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC1C,MAAM,aAAa,GAAG,IAAI,iCAAe,CAAC,WAAW,CAAC,CAAC;IACvD,aAAa,CAAC,oBAAoB,EAAE,CAAC;IACrC,aAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,EAAE,CAAC;IACxC,MAAM,UAAU,GAAG,IAAI,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACvD,MAAM,GAAG,GAAG,UAAU,CAAC,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACxD,OAAO,EAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAC,CAAC;AAC9B,CAAC;AAED,MAAM,aACJ,SAAQ,+BAA6B;IAKrC,YAAY,cAAqB,EAAE,EAAE,MAAwB;QAC3D,KAAK,EAAE,CAAC;QAHV,WAAM,GAAU,EAAE,CAAC;QAIjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,WAAW,CAAC,CAAC;IACtC,CAAC;IAED,aAAa;QACX,OAAO,IAAI,GAAG,EAAE,CAAC;IACnB,CAAC;IAED,WAAW,CAAC,GAAkB;QAC5B,OAAO,IAAI,GAAG,CAAC,EAAC,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAC,CAAC,CAAC;IACvC,CAAC;IAES,WAAW,CAAC,GAAoB;QACxC,OAAO,GAAG;aACP,UAAU,EAAE;aACZ,GAAG,CAAC,EAAE,CAAC,EAAE,CACR,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,kBAAW,EAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAC9D,CAAC;IACN,CAAC;IAED,OAAO,CAAC,IAAsB,EAAE,OAAY;QAC1C,KAAK,MAAM,OAAO,IAAI,IAAI,EAAE,CAAC;YAC3B,uEAAuE;YACvE,2CAA2C;YAC3C,OAAO,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC;YAC7B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACtB,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,YAAY,CAAC,GAAmB,EAAE,SAA0B;QAC1D,SAAS,GAAG,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,KAAK,EAAE,KAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC;QAC9C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC/B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;QACvC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,YAAY,CAAC,IAAoB;QAC/B,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACvE,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC;IAC9B,CAAC;IAED,eAAe,CAAC,GAAsB;QACpC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,eAAe,CAAC,GAAsB;QACpC,OAAO,IAAI,GAAG,CAAC,EAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAC,CAAC,CAAC;IAC3C,CAAC;IAED,QAAQ,CAAC,GAAsB;QAC7B,OAAO,GAAG,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,iBAAiB,CAAC,GAAwB;QACxC,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC;QAChC,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACrE,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,GAAyB,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAEvE,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC;QACjC,IAAI,OAAO,EAAE,CAAC;YACZ,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;QAED,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,UAAU,CAAC,EAAE,GAAG,KAAK,CAAC;YACxB,CAAC;YACD,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,MAAM,KAAK,GAAG,GAAG,CAAC,SAAS,EAAE,CAAC;QAC9B,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,IAAI,GAAG,CAAC,EAAC,EAAE,EAAE,KAAK,EAAC,CAAC,CAAC;IAC9B,CAAC;IAED,cAAc,CAAC,GAAqB;QAClC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9C,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChC,2EAA2E;YAC3E,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvB,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;gBACjC,IAAI,KAAK,EAAE,CAAC;oBACV,OAAO,KAAK,CAAC,KAAK,EAAE,CAAC;gBACvB,CAAC;gBACD,MAAM;YACR,CAAC;QACH,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,aAAa,CACvB,GAAG,EACH,wBAAwB,EACxB,mCAAmC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CACpD,CAAC;QACF,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC;IAC9B,CAAC;IAED,UAAU,CAAC,GAAiB;QAC1B,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9C,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC7D,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACrC,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC;QAChC,IAAI,MAAM,EAAE,CAAC;YACX,wCAAwC;YACxC,IAAI,MAAM,CAAC,KAAK,EAAE,KAAK,SAAS,EAAE,CAAC;gBACjC,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;gBACrD,+BAA+B;gBAC/B,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAC,GAAG,EAAE,EAAE,UAAU,EAAC,CAAC;YAC5C,CAAC;iBAAM,CAAC;gBACN,yCAAyC;gBACzC,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,EAAC,CAAC;YACxD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;QAC3B,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,yBAAyB,CAAC,GAAgC;QACxD,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9C,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC7D,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,GAAG,CAAC,KAAK,EAAE,KAAK,SAAS,EAAE,CAAC;YAC9B,iCAAiC;YACjC,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAC,UAAU,EAAE,KAAK,CAAC,IAAI,EAAC,CAAC;QACjD,CAAC;aAAM,CAAC;YACN,oCAAoC;YACpC,SAAS,CAAC,QAAQ,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC;QAC9C,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,wBAAwB,CAAC,GAA+B;QACtD,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9C,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC7D,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC;QAChC,MAAM,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QACrD,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC;QACnD,MAAM,UAAU,GAAG,EAAC,GAAG,OAAO,CAAC,UAAU,EAAE,GAAG,KAAK,CAAC,IAAI,EAAC,CAAC;QAC1D,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAC,GAAG,OAAO,EAAE,UAAU,EAAC,CAAC;QAC/C,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,WAAW,CAAC,GAAkB;QAC5B,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9C,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC7D,IAAI,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC;YAChB,OAAO,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,QAAQ,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,aAAa,CAAC,GAAoB;QAChC,MAAM,OAAO,GAAG,GAAG,CAAC,SAAS,CAAQ,CAAC;QACtC,OAAO,CAAC,UAAU,GAAG,EAAE,CAAC;QACxB,OAAO,OAAO,CAAC;IACjB,CAAC;CACF"}
package/dist/tags.spec.js CHANGED
@@ -289,7 +289,19 @@ describe('Tag access', () => {
289
289
  expect(ext).tagsAre({
290
290
  a: { properties: { b: { eq: [{ eq: '3' }, { eq: '4' }] } } },
291
291
  });
292
- expect(ext.toString()).toBe('# a.b = [3, 4]');
292
+ expect(ext.toString()).toBe('# a.b = [3, 4]\n');
293
+ });
294
+ test('set tag array element with properties', () => {
295
+ const base = tags_1.Tag.withPrefix('# ');
296
+ const ext = base
297
+ .set(['a', 'b', 0, 'a'], 3)
298
+ .set(['c', 0], 'foo')
299
+ .set(['c', 0, 'a'], 4);
300
+ expect(ext).tagsAre({
301
+ a: { properties: { b: { eq: [{ properties: { a: { eq: '3' } } }] } } },
302
+ c: { eq: [{ eq: 'foo', properties: { a: { eq: '4' } } }] },
303
+ });
304
+ expect(ext.toString()).toBe('# a.b = [{ a = 3 }] c = [foo { a = 4 }]\n');
293
305
  });
294
306
  test('soft remove', () => {
295
307
  const base = tags_1.Tag.fromTagLine('# a.b.c = [{ d = 1 }]').tag;
@@ -297,7 +309,7 @@ describe('Tag access', () => {
297
309
  expect(ext).tagsAre({
298
310
  a: { properties: { b: { properties: { c: { eq: [] } } } } },
299
311
  });
300
- expect(ext.toString()).toBe('# a.b.c = []');
312
+ expect(ext.toString()).toBe('# a.b.c = []\n');
301
313
  });
302
314
  test('hard remove', () => {
303
315
  const base = tags_1.Tag.fromTagLine('# hello').tag;
@@ -307,12 +319,79 @@ describe('Tag access', () => {
307
319
  goodbye: { deleted: true },
308
320
  a: { properties: { dieu: { deleted: true } } },
309
321
  });
310
- expect(ext.toString()).toBe('# hello -goodbye a { -dieu }');
322
+ expect(ext.toString()).toBe('# hello -goodbye a { -dieu }\n');
311
323
  });
312
324
  test('set with different prefix', () => {
313
325
  const base = tags_1.Tag.withPrefix('#(docs) ');
314
326
  const ext = base.set(['a'], 3).set(['a', 'b'], null);
315
- expect(ext.toString()).toBe('#(docs) a = 3 { b }');
327
+ expect(ext.toString()).toBe('#(docs) a = 3 { b }\n');
328
+ });
329
+ test('empty array', () => {
330
+ const base = tags_1.Tag.withPrefix('#(docs) ');
331
+ const ext = base.set(['a'], []);
332
+ expect(ext.toString()).toBe('#(docs) a = []\n');
333
+ idempotent(ext);
334
+ });
335
+ test.skip('empty array followed by field', () => {
336
+ const base = tags_1.Tag.withPrefix('#(docs) ');
337
+ const ext = base.set(['a'], []).set(['b'], 'foo');
338
+ expect(ext.toString()).toBe('#(docs) a = [] b = foo\n');
339
+ idempotent(ext);
340
+ });
341
+ describe('toString escapes and quotes strings if necessary', () => {
342
+ test('in eq value', () => {
343
+ const base = tags_1.Tag.withPrefix('#(malloy) ');
344
+ const ext = base.set(['drill_expression'], 'joined.two');
345
+ expect(ext.toString()).toBe('#(malloy) drill_expression = "joined.two"\n');
346
+ idempotent(ext);
347
+ });
348
+ test('in property name', () => {
349
+ const base = tags_1.Tag.withPrefix('#(malloy) ');
350
+ const ext = base.set(['foo bar'], '4');
351
+ expect(ext.toString()).toBe('#(malloy) `foo bar` = 4\n');
352
+ idempotent(ext);
353
+ });
354
+ test('deleted property name', () => {
355
+ const base = tags_1.Tag.withPrefix('#(malloy) ');
356
+ const ext = base.unset('two words');
357
+ expect(ext.toString()).toBe('#(malloy) -`two words`\n');
358
+ });
359
+ test('value has a backslash', () => {
360
+ const base = tags_1.Tag.withPrefix('#(malloy) ');
361
+ const ext = base.set(['value'], '\\');
362
+ expect(ext.toString()).toBe('#(malloy) value = "\\\\"\n');
363
+ idempotent(ext);
364
+ });
365
+ test('value has a double quote', () => {
366
+ const base = tags_1.Tag.withPrefix('#(malloy) ');
367
+ const ext = base.set(['value'], '"');
368
+ expect(ext.toString()).toBe('#(malloy) value = "\\""\n');
369
+ idempotent(ext);
370
+ });
371
+ test.skip('value is empty string', () => {
372
+ const base = tags_1.Tag.withPrefix('#(malloy) ');
373
+ const ext = base.set(['value'], '');
374
+ expect(ext.toString()).toBe('#(malloy) value = ""\n');
375
+ idempotent(ext);
376
+ });
377
+ test('prop has a back tick', () => {
378
+ const base = tags_1.Tag.withPrefix('#(malloy) ');
379
+ const ext = base.set(['a`b'], 1);
380
+ expect(ext.toString()).toBe('#(malloy) `a\\`b` = 1\n');
381
+ idempotent(ext);
382
+ });
383
+ test('prop has multiple back ticks', () => {
384
+ const base = tags_1.Tag.withPrefix('#(malloy) ');
385
+ const ext = base.set(['a`b`c'], 1);
386
+ expect(ext.toString()).toBe('#(malloy) `a\\`b\\`c` = 1\n');
387
+ idempotent(ext);
388
+ });
316
389
  });
317
390
  });
391
+ function idempotent(tag) {
392
+ const str = tag.toString();
393
+ const clone = tags_1.Tag.fromTagLine(str).tag;
394
+ clone.prefix = tag.prefix;
395
+ expect(clone.toString()).toBe(str);
396
+ }
318
397
  //# sourceMappingURL=tags.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tags.spec.js","sourceRoot":"","sources":["../src/tags.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tags.spec.js","sourceRoot":"","sources":["../src/tags.spec.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@malloydata/malloy-tag",
3
- "version": "0.0.240-dev250311155207",
3
+ "version": "0.0.240-dev250311202829",
4
4
  "license": "MIT",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
package/src/tags.spec.ts CHANGED
@@ -303,7 +303,19 @@ describe('Tag access', () => {
303
303
  expect(ext).tagsAre({
304
304
  a: {properties: {b: {eq: [{eq: '3'}, {eq: '4'}]}}},
305
305
  });
306
- expect(ext.toString()).toBe('# a.b = [3, 4]');
306
+ expect(ext.toString()).toBe('# a.b = [3, 4]\n');
307
+ });
308
+ test('set tag array element with properties', () => {
309
+ const base = Tag.withPrefix('# ');
310
+ const ext = base
311
+ .set(['a', 'b', 0, 'a'], 3)
312
+ .set(['c', 0], 'foo')
313
+ .set(['c', 0, 'a'], 4);
314
+ expect(ext).tagsAre({
315
+ a: {properties: {b: {eq: [{properties: {a: {eq: '3'}}}]}}},
316
+ c: {eq: [{eq: 'foo', properties: {a: {eq: '4'}}}]},
317
+ });
318
+ expect(ext.toString()).toBe('# a.b = [{ a = 3 }] c = [foo { a = 4 }]\n');
307
319
  });
308
320
  test('soft remove', () => {
309
321
  const base = Tag.fromTagLine('# a.b.c = [{ d = 1 }]').tag;
@@ -311,7 +323,7 @@ describe('Tag access', () => {
311
323
  expect(ext).tagsAre({
312
324
  a: {properties: {b: {properties: {c: {eq: []}}}}},
313
325
  });
314
- expect(ext.toString()).toBe('# a.b.c = []');
326
+ expect(ext.toString()).toBe('# a.b.c = []\n');
315
327
  });
316
328
  test('hard remove', () => {
317
329
  const base = Tag.fromTagLine('# hello').tag;
@@ -321,11 +333,81 @@ describe('Tag access', () => {
321
333
  goodbye: {deleted: true},
322
334
  a: {properties: {dieu: {deleted: true}}},
323
335
  });
324
- expect(ext.toString()).toBe('# hello -goodbye a { -dieu }');
336
+ expect(ext.toString()).toBe('# hello -goodbye a { -dieu }\n');
325
337
  });
326
338
  test('set with different prefix', () => {
327
339
  const base = Tag.withPrefix('#(docs) ');
328
340
  const ext = base.set(['a'], 3).set(['a', 'b'], null);
329
- expect(ext.toString()).toBe('#(docs) a = 3 { b }');
341
+ expect(ext.toString()).toBe('#(docs) a = 3 { b }\n');
342
+ });
343
+ test('empty array', () => {
344
+ const base = Tag.withPrefix('#(docs) ');
345
+ const ext = base.set(['a'], []);
346
+ expect(ext.toString()).toBe('#(docs) a = []\n');
347
+ idempotent(ext);
348
+ });
349
+ test.skip('empty array followed by field', () => {
350
+ const base = Tag.withPrefix('#(docs) ');
351
+ const ext = base.set(['a'], []).set(['b'], 'foo');
352
+ expect(ext.toString()).toBe('#(docs) a = [] b = foo\n');
353
+ idempotent(ext);
354
+ });
355
+ describe('toString escapes and quotes strings if necessary', () => {
356
+ test('in eq value', () => {
357
+ const base = Tag.withPrefix('#(malloy) ');
358
+ const ext = base.set(['drill_expression'], 'joined.two');
359
+ expect(ext.toString()).toBe(
360
+ '#(malloy) drill_expression = "joined.two"\n'
361
+ );
362
+ idempotent(ext);
363
+ });
364
+ test('in property name', () => {
365
+ const base = Tag.withPrefix('#(malloy) ');
366
+ const ext = base.set(['foo bar'], '4');
367
+ expect(ext.toString()).toBe('#(malloy) `foo bar` = 4\n');
368
+ idempotent(ext);
369
+ });
370
+ test('deleted property name', () => {
371
+ const base = Tag.withPrefix('#(malloy) ');
372
+ const ext = base.unset('two words');
373
+ expect(ext.toString()).toBe('#(malloy) -`two words`\n');
374
+ });
375
+ test('value has a backslash', () => {
376
+ const base = Tag.withPrefix('#(malloy) ');
377
+ const ext = base.set(['value'], '\\');
378
+ expect(ext.toString()).toBe('#(malloy) value = "\\\\"\n');
379
+ idempotent(ext);
380
+ });
381
+ test('value has a double quote', () => {
382
+ const base = Tag.withPrefix('#(malloy) ');
383
+ const ext = base.set(['value'], '"');
384
+ expect(ext.toString()).toBe('#(malloy) value = "\\""\n');
385
+ idempotent(ext);
386
+ });
387
+ test.skip('value is empty string', () => {
388
+ const base = Tag.withPrefix('#(malloy) ');
389
+ const ext = base.set(['value'], '');
390
+ expect(ext.toString()).toBe('#(malloy) value = ""\n');
391
+ idempotent(ext);
392
+ });
393
+ test('prop has a back tick', () => {
394
+ const base = Tag.withPrefix('#(malloy) ');
395
+ const ext = base.set(['a`b'], 1);
396
+ expect(ext.toString()).toBe('#(malloy) `a\\`b` = 1\n');
397
+ idempotent(ext);
398
+ });
399
+ test('prop has multiple back ticks', () => {
400
+ const base = Tag.withPrefix('#(malloy) ');
401
+ const ext = base.set(['a`b`c'], 1);
402
+ expect(ext.toString()).toBe('#(malloy) `a\\`b\\`c` = 1\n');
403
+ idempotent(ext);
404
+ });
330
405
  });
331
406
  });
407
+
408
+ function idempotent(tag: Tag) {
409
+ const str = tag.toString();
410
+ const clone = Tag.fromTagLine(str).tag;
411
+ clone.prefix = tag.prefix;
412
+ expect(clone.toString()).toBe(str);
413
+ }
package/src/tags.ts CHANGED
@@ -183,7 +183,7 @@ export class Tag implements TagInterface {
183
183
  let current: Tag | undefined = extending;
184
184
  for (let i = 0; i < lines.length; i++) {
185
185
  const text = lines[i];
186
- const noteParse = parseTagLine(text, extending, importing, i);
186
+ const noteParse = parseTagLine(text, current, importing, i);
187
187
  current = noteParse.tag;
188
188
  allErrs.push(...noteParse.log);
189
189
  }
@@ -300,6 +300,21 @@ export class Tag implements TagInterface {
300
300
  return new Tag(structuredClone(this));
301
301
  }
302
302
 
303
+ private static escapeString(str: string) {
304
+ return str.replace(/\\/g, '\\\\').replace(/"/g, '\\"');
305
+ }
306
+
307
+ private static escapeProp(str: string) {
308
+ return str.replace(/\\/g, '\\\\').replace(/`/g, '\\`');
309
+ }
310
+
311
+ private static quoteAndEscape(str: string, isProp = false) {
312
+ if (str.match(/^[0-9A-Za-z_]+$/)) return str;
313
+ if (isProp) return `\`${Tag.escapeProp(str)}\``;
314
+ // TODO consider choosing the quote character based on which quotes appear in the string
315
+ return `"${Tag.escapeString(str)}"`;
316
+ }
317
+
303
318
  toString(): string {
304
319
  let annotation = this.prefix ?? '# ';
305
320
  function addChildren(tag: TagInterface) {
@@ -322,12 +337,13 @@ export class Tag implements TagInterface {
322
337
  }
323
338
  annotation += ']';
324
339
  } else {
325
- annotation += `${child.eq}`;
340
+ annotation += Tag.quoteAndEscape(`${child.eq}`);
326
341
  }
327
342
  }
328
343
  if (child.properties) {
329
344
  const props = Object.keys(child.properties);
330
345
  if (
346
+ !isArrayEl &&
331
347
  props.length === 1 &&
332
348
  !props.some(c => (child.properties ?? {})[c].deleted) &&
333
349
  child.eq === undefined
@@ -335,7 +351,8 @@ export class Tag implements TagInterface {
335
351
  annotation += '.';
336
352
  addChildren(child);
337
353
  } else {
338
- annotation += ' { ';
354
+ if (!isArrayEl || child.eq !== undefined) annotation += ' ';
355
+ annotation += '{ ';
339
356
  addChildren(child);
340
357
  annotation += ' }';
341
358
  }
@@ -343,13 +360,14 @@ export class Tag implements TagInterface {
343
360
  }
344
361
  function addChild(prop: string, child: TagInterface) {
345
362
  if (child.deleted) {
346
- annotation += `-${prop}`;
363
+ annotation += `-${Tag.quoteAndEscape(prop, true)}`;
347
364
  return;
348
365
  }
349
- annotation += prop;
366
+ annotation += Tag.quoteAndEscape(prop, true);
350
367
  addTag(child);
351
368
  }
352
369
  addChildren(this);
370
+ annotation += '\n';
353
371
  return annotation;
354
372
  }
355
373
 
@@ -657,7 +675,7 @@ class TagLineParser
657
675
  }
658
676
 
659
677
  if (properties) {
660
- if (value) {
678
+ if (value !== undefined) {
661
679
  properties.eq = value;
662
680
  }
663
681
  return properties;