@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 +3 -0
- package/dist/tags.js +25 -7
- package/dist/tags.js.map +1 -1
- package/dist/tags.spec.js +83 -4
- package/dist/tags.spec.js.map +1 -1
- package/package.json +1 -1
- package/src/tags.spec.ts +86 -4
- package/src/tags.ts +24 -6
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,
|
|
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 (
|
|
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
|
-
|
|
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":";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,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;YAC9D,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;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,KAAK,CAAC,EAAE,EAAE,CAAC;gBAC9B,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,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,UAAU,IAAI,KAAK,CAAC;oBACpB,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,IAAI,EAAE,CAAC;gBACzB,OAAO;YACT,CAAC;YACD,UAAU,IAAI,IAAI,CAAC;YACnB,MAAM,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC;QACD,WAAW,CAAC,IAAI,CAAC,CAAC;QAClB,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;;AAhYH,kBAiYC;AApXC,6BAA6B;AACtB,OAAG,GAAG,IAAI,GAAG,EAAe,CAAC;AAC7B,aAAS,GAAG,IAAI,CAAC;AAoX1B,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,EAAE,CAAC;gBACV,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"}
|
|
1
|
+
{"version":3,"file":"tags.js","sourceRoot":"","sources":["../src/tags.ts"],"names":[],"mappings":"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"}
|
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
|
package/dist/tags.spec.js.map
CHANGED
|
@@ -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
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,
|
|
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;
|