@aperturesyndicate/synx-format 3.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * SYNX Parser — @aperturesyndicate/synx
3
+ *
4
+ * Converts raw .synx text into a structured object tree
5
+ * with hidden metadata (__synx) for the Engine to resolve.
6
+ *
7
+ * Performance-optimized: charCode-based parsing, fast path
8
+ * for simple key-value lines, no regex on hot paths.
9
+ */
10
+ import type { SynxParseResult } from './types';
11
+ export declare function parseData(text: string): SynxParseResult;
12
+ //# sourceMappingURL=parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAKV,eAAe,EAKhB,MAAM,SAAS,CAAC;AAoJjB,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAuQvD"}
package/dist/parser.js ADDED
@@ -0,0 +1,442 @@
1
+ "use strict";
2
+ /**
3
+ * SYNX Parser — @aperturesyndicate/synx
4
+ *
5
+ * Converts raw .synx text into a structured object tree
6
+ * with hidden metadata (__synx) for the Engine to resolve.
7
+ *
8
+ * Performance-optimized: charCode-based parsing, fast path
9
+ * for simple key-value lines, no regex on hot paths.
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.parseData = parseData;
13
+ // ─── Helpers ──────────────────────────────────────────────
14
+ /** Cast a raw string value to a JS primitive */
15
+ function castType(val) {
16
+ if (val === 'true')
17
+ return true;
18
+ if (val === 'false')
19
+ return false;
20
+ if (val === 'null')
21
+ return null;
22
+ const len = val.length;
23
+ if (len === 0)
24
+ return val;
25
+ const c0 = val.charCodeAt(0);
26
+ // Explicit cast: (int)007, (string)90210, (float)3.0, (bool)true, (random), (random:bool)
27
+ if (c0 === 40 && len > 2) { // '('
28
+ const closeIdx = val.indexOf(')');
29
+ if (closeIdx > 1) {
30
+ const hint = val.substring(1, closeIdx);
31
+ const raw = val.substring(closeIdx + 1);
32
+ switch (hint) {
33
+ case 'int': {
34
+ const n = parseInt(raw, 10);
35
+ return isNaN(n) ? 0 : n;
36
+ }
37
+ case 'float': {
38
+ const n = parseFloat(raw);
39
+ return isNaN(n) ? 0 : n;
40
+ }
41
+ case 'bool': return raw.trim() === 'true';
42
+ case 'string': return raw;
43
+ case 'random': return Math.floor(Math.random() * 2147483647);
44
+ case 'random:int': return Math.floor(Math.random() * 2147483647);
45
+ case 'random:float': return Math.random();
46
+ case 'random:bool': return Math.random() < 0.5;
47
+ }
48
+ }
49
+ }
50
+ // Auto number detection via charCode (no regex)
51
+ let firstDigit = 0;
52
+ let fc = c0;
53
+ if (fc === 45) { // '-'
54
+ if (len === 1)
55
+ return val;
56
+ firstDigit = 1;
57
+ fc = val.charCodeAt(1);
58
+ }
59
+ if (fc >= 48 && fc <= 57) { // '0'-'9'
60
+ let allNumeric = true;
61
+ let dotPos = -1;
62
+ for (let i = firstDigit + 1; i < len; i++) {
63
+ const ch = val.charCodeAt(i);
64
+ if (ch === 46) { // '.'
65
+ if (dotPos !== -1) {
66
+ allNumeric = false;
67
+ break;
68
+ }
69
+ dotPos = i;
70
+ }
71
+ else if (ch < 48 || ch > 57) {
72
+ allNumeric = false;
73
+ break;
74
+ }
75
+ }
76
+ if (allNumeric) {
77
+ if (dotPos === -1)
78
+ return parseInt(val, 10);
79
+ if (dotPos > firstDigit && dotPos < len - 1)
80
+ return parseFloat(val);
81
+ }
82
+ }
83
+ return val;
84
+ }
85
+ /** Strip inline comment from a value string */
86
+ function stripInlineComment(val) {
87
+ // Fast path: no space means no inline comment possible
88
+ if (val.indexOf(' ') === -1)
89
+ return val;
90
+ let result = val;
91
+ const slashIdx = result.indexOf(' //');
92
+ if (slashIdx !== -1)
93
+ result = result.substring(0, slashIdx);
94
+ const hashIdx = result.indexOf(' #');
95
+ if (hashIdx !== -1)
96
+ result = result.substring(0, hashIdx);
97
+ return result.trimEnd();
98
+ }
99
+ /** Parse constraint string like "min:3, max:30, required, type:int" */
100
+ function parseConstraints(raw) {
101
+ const constraints = {};
102
+ let start = 0;
103
+ while (start < raw.length) {
104
+ let end = raw.indexOf(',', start);
105
+ if (end === -1)
106
+ end = raw.length;
107
+ const part = raw.substring(start, end).trim();
108
+ start = end + 1;
109
+ if (!part)
110
+ continue;
111
+ if (part === 'required') {
112
+ constraints.required = true;
113
+ }
114
+ else if (part === 'readonly') {
115
+ constraints.readonly = true;
116
+ }
117
+ else {
118
+ const colonIdx = part.indexOf(':');
119
+ if (colonIdx !== -1) {
120
+ const key = part.substring(0, colonIdx).trim();
121
+ const value = part.substring(colonIdx + 1).trim();
122
+ switch (key) {
123
+ case 'min':
124
+ constraints.min = Number(value);
125
+ break;
126
+ case 'max':
127
+ constraints.max = Number(value);
128
+ break;
129
+ case 'type':
130
+ constraints.type = value;
131
+ break;
132
+ case 'pattern':
133
+ constraints.pattern = value;
134
+ break;
135
+ case 'enum':
136
+ constraints.enum = value.split('|');
137
+ break;
138
+ }
139
+ }
140
+ }
141
+ }
142
+ return constraints;
143
+ }
144
+ /** Attach hidden __synx metadata to an object */
145
+ function saveMeta(obj, key, markers, args, constraints, mode, typeHint) {
146
+ if (mode !== 'active')
147
+ return;
148
+ if (markers.length === 0 && !constraints && !typeHint)
149
+ return;
150
+ let metaMap;
151
+ if (obj.__synx) {
152
+ metaMap = obj.__synx;
153
+ }
154
+ else {
155
+ metaMap = {};
156
+ Object.defineProperty(obj, '__synx', {
157
+ value: metaMap,
158
+ enumerable: false,
159
+ writable: true,
160
+ configurable: true,
161
+ });
162
+ }
163
+ const meta = { markers };
164
+ if (args.length > 0)
165
+ meta.args = args;
166
+ if (constraints)
167
+ meta.constraints = constraints;
168
+ if (typeHint)
169
+ meta.typeHint = typeHint;
170
+ metaMap[key] = meta;
171
+ }
172
+ // ─── Fallback regex for complex lines (type hints, constraints, markers) ──
173
+ const LINE_REGEX = /^([^\s\[:\-#/(][^\s\[:(]*)(?:\(([\w:]+)\))?(?:\[([^\]]*)\])?(?::([^\s]+))?\s*(.*)$/;
174
+ // ─── Parser ───────────────────────────────────────────────
175
+ function parseData(text) {
176
+ const lines = text.split('\n');
177
+ const root = {};
178
+ const stack = [
179
+ { indent: -1, obj: root },
180
+ ];
181
+ let mode = 'static';
182
+ let locked = false;
183
+ const includes = [];
184
+ let currentBlock = null;
185
+ let currentList = null;
186
+ let inBlockComment = false;
187
+ for (let i = 0; i < lines.length; i++) {
188
+ const rawLine = lines[i];
189
+ const rawLen = rawLine.length;
190
+ // ── Manual indent computation (no regex) ──
191
+ let indent = 0;
192
+ while (indent < rawLen) {
193
+ const ch = rawLine.charCodeAt(indent);
194
+ if (ch !== 32 && ch !== 9 && ch !== 13)
195
+ break; // space, tab, \r
196
+ indent++;
197
+ }
198
+ // ── Empty line ──
199
+ if (indent === rawLen)
200
+ continue;
201
+ const fc = rawLine.charCodeAt(indent); // first non-whitespace char
202
+ // ── Block comment toggle: ### ──
203
+ if (fc === 35) {
204
+ const rest = rawLine.substring(indent).trimEnd();
205
+ if (rest === '###') {
206
+ inBlockComment = !inBlockComment;
207
+ continue;
208
+ }
209
+ }
210
+ if (inBlockComment)
211
+ continue;
212
+ // ── Comments: # or // ──
213
+ if (fc === 35) { // #
214
+ // Legacy: #!mode:active / #!mode:static
215
+ if (rawLen - indent > 7 && rawLine.charCodeAt(indent + 1) === 33) { // !
216
+ if (rawLine.substring(indent, indent + 7) === '#!mode:') {
217
+ const declared = rawLine.substring(indent + 7, rawLen).trim();
218
+ mode = declared === 'active' ? 'active' : 'static';
219
+ }
220
+ }
221
+ continue;
222
+ }
223
+ if (fc === 47 && indent + 1 < rawLen && rawLine.charCodeAt(indent + 1) === 47)
224
+ continue; // //
225
+ // ── Compute trimmed string (manual trim, no regex) ──
226
+ let trimEndPos = rawLen;
227
+ while (trimEndPos > indent) {
228
+ const ch = rawLine.charCodeAt(trimEndPos - 1);
229
+ if (ch !== 32 && ch !== 9 && ch !== 13 && ch !== 10)
230
+ break;
231
+ trimEndPos--;
232
+ }
233
+ const trimmed = rawLine.substring(indent, trimEndPos);
234
+ const trimmedLen = trimmed.length;
235
+ // ── Mode declaration: !active / !lock / !include ──
236
+ if (fc === 33) {
237
+ if (trimmed === '!active') {
238
+ mode = 'active';
239
+ continue;
240
+ }
241
+ if (trimmed === '!lock') {
242
+ locked = true;
243
+ continue;
244
+ }
245
+ if (trimmed.startsWith('!include ')) {
246
+ const parts = trimmed.substring(9).trim().split(/\s+/);
247
+ const inclPath = parts[0];
248
+ const alias = parts[1] || inclPath.replace(/^.*[\/\\]/, '').replace(/\.synx$/i, '');
249
+ includes.push({ path: inclPath, alias });
250
+ continue;
251
+ }
252
+ }
253
+ // ── Continue multiline block ──
254
+ if (currentBlock && indent > currentBlock.indent) {
255
+ const line = trimmed;
256
+ currentBlock.obj[currentBlock.key] +=
257
+ (currentBlock.obj[currentBlock.key] ? '\n' : '') + line;
258
+ continue;
259
+ }
260
+ else {
261
+ currentBlock = null;
262
+ }
263
+ // ── List items: '- ' ──
264
+ if (fc === 45 && trimmedLen > 1 && trimmed.charCodeAt(1) === 32) {
265
+ if (currentList && indent > currentList.indent) {
266
+ const val = stripInlineComment(trimmed.substring(2).trim());
267
+ // Check if this list item has sub-keys (peek next line)
268
+ let nextNonEmpty = i + 1;
269
+ while (nextNonEmpty < lines.length) {
270
+ const nl = lines[nextNonEmpty];
271
+ let ni = 0;
272
+ while (ni < nl.length && (nl.charCodeAt(ni) === 32 || nl.charCodeAt(ni) === 9 || nl.charCodeAt(ni) === 13))
273
+ ni++;
274
+ if (ni < nl.length)
275
+ break;
276
+ nextNonEmpty++;
277
+ }
278
+ if (nextNonEmpty < lines.length) {
279
+ const nextLine = lines[nextNonEmpty];
280
+ let nextIndent = 0;
281
+ while (nextIndent < nextLine.length && (nextLine.charCodeAt(nextIndent) === 32 || nextLine.charCodeAt(nextIndent) === 9 || nextLine.charCodeAt(nextIndent) === 13))
282
+ nextIndent++;
283
+ const nfc = nextLine.charCodeAt(nextIndent);
284
+ if (nextIndent > indent && nextIndent < nextLine.length &&
285
+ nfc !== 45 && nfc !== 35 &&
286
+ !(nfc === 47 && nextIndent + 1 < nextLine.length && nextLine.charCodeAt(nextIndent + 1) === 47)) {
287
+ const itemObj = {};
288
+ const itemMatch = val.match(LINE_REGEX);
289
+ if (itemMatch) {
290
+ const [, iKey, iTypeHint, , , iVal] = itemMatch;
291
+ let iValue = iVal || '';
292
+ if (iTypeHint)
293
+ iValue = `(${iTypeHint})${iValue}`;
294
+ itemObj[iKey] = iValue ? castType(stripInlineComment(iValue)) : {};
295
+ }
296
+ else {
297
+ itemObj['_value'] = castType(val);
298
+ }
299
+ currentList.arr.push(itemObj);
300
+ stack.push({ indent, obj: itemObj });
301
+ continue;
302
+ }
303
+ }
304
+ currentList.arr.push(castType(val));
305
+ continue;
306
+ }
307
+ // Not in list context — skip (LINE_REGEX wouldn't match '- ' anyway)
308
+ continue;
309
+ }
310
+ // Close list if needed (non-list-item line at <= list indent)
311
+ if (currentList && indent <= currentList.indent) {
312
+ currentList = null;
313
+ }
314
+ // ── Validate first char can start a key ──
315
+ // LINE_REGEX first char: [^\s\[:\-#/(] — we already filtered #, //, -
316
+ if (fc === 91 || fc === 40 || fc === 58 || fc === 47)
317
+ continue; // [ ( : /
318
+ // ── Parse key line ──
319
+ // FAST PATH: scan key for special chars ( [ :
320
+ // If none found, skip LINE_REGEX entirely
321
+ let key;
322
+ let typeHint;
323
+ let constraintStr;
324
+ let markerChain;
325
+ let rawValue;
326
+ let hasSpecial = false;
327
+ let spaceIdx = -1;
328
+ for (let j = 0; j < trimmedLen; j++) {
329
+ const ch = trimmed.charCodeAt(j);
330
+ if (ch === 32 || ch === 9) { // space or tab
331
+ spaceIdx = j;
332
+ break;
333
+ }
334
+ if (ch === 40 || ch === 91 || ch === 58) { // ( [ :
335
+ hasSpecial = true;
336
+ break;
337
+ }
338
+ }
339
+ if (!hasSpecial) {
340
+ // ── Fast path: simple key-value or section header ──
341
+ if (spaceIdx === -1) {
342
+ key = trimmed;
343
+ rawValue = '';
344
+ }
345
+ else {
346
+ key = trimmed.substring(0, spaceIdx);
347
+ // Skip whitespace between key and value
348
+ let valStart = spaceIdx;
349
+ while (valStart < trimmedLen && (trimmed.charCodeAt(valStart) === 32 || trimmed.charCodeAt(valStart) === 9))
350
+ valStart++;
351
+ rawValue = valStart < trimmedLen ? stripInlineComment(trimmed.substring(valStart)) : '';
352
+ }
353
+ typeHint = undefined;
354
+ constraintStr = undefined;
355
+ markerChain = undefined;
356
+ }
357
+ else {
358
+ // ── Slow path: regex for lines with ( [ : ──
359
+ const match = trimmed.match(LINE_REGEX);
360
+ if (!match)
361
+ continue;
362
+ [, key, typeHint, constraintStr, markerChain, rawValue] = match;
363
+ rawValue = rawValue ? stripInlineComment(rawValue.trim()) : '';
364
+ }
365
+ // Apply explicit type cast
366
+ if (typeHint)
367
+ rawValue = `(${typeHint})${rawValue}`;
368
+ // Parse markers chain
369
+ let markers = [];
370
+ let markerArgs = [];
371
+ if (markerChain) {
372
+ markers = markerChain.split(':');
373
+ }
374
+ // For :random — the rawValue may contain weight percentages
375
+ if (markers.length > 0 && markers.includes('random') && rawValue) {
376
+ const nums = rawValue.split(/\s+/).filter(s => /^\d+(\.\d+)?$/.test(s));
377
+ if (nums.length > 0) {
378
+ markerArgs = nums;
379
+ rawValue = '';
380
+ }
381
+ }
382
+ const constraints = constraintStr ? parseConstraints(constraintStr) : undefined;
383
+ // ── Pop stack to correct parent ──
384
+ while (stack.length > 1 && stack[stack.length - 1].indent >= indent) {
385
+ stack.pop();
386
+ }
387
+ const parent = stack[stack.length - 1].obj;
388
+ // ── Reject prototype-polluting keys ──
389
+ if (key === '__proto__' || key === 'constructor' || key === 'prototype')
390
+ continue;
391
+ // ── Determine what this line creates ──
392
+ if (rawValue === '|') {
393
+ // Multiline block
394
+ parent[key] = '';
395
+ currentBlock = { indent, obj: parent, key };
396
+ saveMeta(parent, key, markers, markerArgs, constraints, mode, typeHint);
397
+ }
398
+ else if (!rawValue && markers.length > 0 &&
399
+ (markers.includes('random') || markers.includes('unique') ||
400
+ markers.includes('geo') || markers.includes('join'))) {
401
+ // List with markers (items follow with -)
402
+ parent[key] = [];
403
+ currentList = { indent, arr: parent[key] };
404
+ saveMeta(parent, key, markers, markerArgs, constraints, mode, typeHint);
405
+ }
406
+ else if (!rawValue) {
407
+ // No value → nested object (group) OR plain list
408
+ parent[key] = {};
409
+ stack.push({ indent, obj: parent[key] });
410
+ // Peek ahead: if next meaningful line starts with -, it's a list
411
+ let peekIdx = i + 1;
412
+ while (peekIdx < lines.length) {
413
+ const pl = lines[peekIdx];
414
+ let pi = 0;
415
+ while (pi < pl.length && (pl.charCodeAt(pi) === 32 || pl.charCodeAt(pi) === 9 || pl.charCodeAt(pi) === 13))
416
+ pi++;
417
+ if (pi < pl.length)
418
+ break;
419
+ peekIdx++;
420
+ }
421
+ if (peekIdx < lines.length) {
422
+ const pl = lines[peekIdx];
423
+ let pi = 0;
424
+ while (pi < pl.length && (pl.charCodeAt(pi) === 32 || pl.charCodeAt(pi) === 9 || pl.charCodeAt(pi) === 13))
425
+ pi++;
426
+ if (pi + 1 < pl.length && pl.charCodeAt(pi) === 45 && pl.charCodeAt(pi + 1) === 32) {
427
+ parent[key] = [];
428
+ stack[stack.length - 1] = { indent, obj: parent[key] };
429
+ currentList = { indent, arr: parent[key] };
430
+ }
431
+ }
432
+ saveMeta(parent, key, markers, markerArgs, constraints, mode, typeHint);
433
+ }
434
+ else {
435
+ // Simple key-value
436
+ parent[key] = castType(rawValue);
437
+ saveMeta(parent, key, markers, markerArgs, constraints, mode, typeHint);
438
+ }
439
+ }
440
+ return { root, mode, locked, includes: includes.length > 0 ? includes : undefined };
441
+ }
442
+ //# sourceMappingURL=parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ "use strict";var SynxModule=(()=>{var K=Object.defineProperty;var yt=Object.getOwnPropertyDescriptor;var gt=Object.getOwnPropertyNames;var ht=Object.prototype.hasOwnProperty;var nt=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,s)=>(typeof require<"u"?require:e)[s]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var xt=(t,e)=>{for(var s in e)K(t,s,{get:e[s],enumerable:!0})},mt=(t,e,s,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of gt(e))!ht.call(t,a)&&a!==s&&K(t,a,{get:()=>e[a],enumerable:!(r=yt(e,a))||r.enumerable});return t};var St=t=>mt(K({},"__esModule",{value:!0}),t);var Lt={};xt(Lt,{Synx:()=>H,SynxError:()=>z,default:()=>Vt});function F(t){if(t==="true")return!0;if(t==="false")return!1;if(t==="null")return null;let e=t.length;if(e===0)return t;let s=t.charCodeAt(0);if(s===40&&e>2){let u=t.indexOf(")");if(u>1){let l=t.substring(1,u),n=t.substring(u+1);switch(l){case"int":{let p=parseInt(n,10);return isNaN(p)?0:p}case"float":{let p=parseFloat(n);return isNaN(p)?0:p}case"bool":return n.trim()==="true";case"string":return n;case"random":return Math.floor(Math.random()*2147483647);case"random:int":return Math.floor(Math.random()*2147483647);case"random:float":return Math.random();case"random:bool":return Math.random()<.5}}}let r=0,a=s;if(a===45){if(e===1)return t;r=1,a=t.charCodeAt(1)}if(a>=48&&a<=57){let u=!0,l=-1;for(let n=r+1;n<e;n++){let p=t.charCodeAt(n);if(p===46){if(l!==-1){u=!1;break}l=n}else if(p<48||p>57){u=!1;break}}if(u){if(l===-1)return parseInt(t,10);if(l>r&&l<e-1)return parseFloat(t)}}return t}function X(t){if(t.indexOf(" ")===-1)return t;let e=t,s=e.indexOf(" //");s!==-1&&(e=e.substring(0,s));let r=e.indexOf(" #");return r!==-1&&(e=e.substring(0,r)),e.trimEnd()}function Ot(t){let e={},s=0;for(;s<t.length;){let r=t.indexOf(",",s);r===-1&&(r=t.length);let a=t.substring(s,r).trim();if(s=r+1,!!a)if(a==="required")e.required=!0;else if(a==="readonly")e.readonly=!0;else{let u=a.indexOf(":");if(u!==-1){let l=a.substring(0,u).trim(),n=a.substring(u+1).trim();switch(l){case"min":e.min=Number(n);break;case"max":e.max=Number(n);break;case"type":e.type=n;break;case"pattern":e.pattern=n;break;case"enum":e.enum=n.split("|");break}}}}return e}function U(t,e,s,r,a,u,l){if(u!=="active"||s.length===0&&!a&&!l)return;let n;t.__synx?n=t.__synx:(n={},Object.defineProperty(t,"__synx",{value:n,enumerable:!1,writable:!0,configurable:!0}));let p={markers:s};r.length>0&&(p.args=r),a&&(p.constraints=a),l&&(p.typeHint=l),n[e]=p}var rt=/^([^\s\[:\-#/(][^\s\[:(]*)(?:\(([\w:]+)\))?(?:\[([^\]]*)\])?(?::([^\s]+))?\s*(.*)$/;function R(t){let e=t.split(`
2
+ `),s={},r=[{indent:-1,obj:s}],a="static",u=!1,l=[],n=null,p=null,o=!1;for(let O=0;O<e.length;O++){let c=e[O],f=c.length,i=0;for(;i<f;){let y=c.charCodeAt(i);if(y!==32&&y!==9&&y!==13)break;i++}if(i===f)continue;let d=c.charCodeAt(i);if(d===35&&c.substring(i).trimEnd()==="###"){o=!o;continue}if(o)continue;if(d===35){f-i>7&&c.charCodeAt(i+1)===33&&c.substring(i,i+7)==="#!mode:"&&(a=c.substring(i+7,f).trim()==="active"?"active":"static");continue}if(d===47&&i+1<f&&c.charCodeAt(i+1)===47)continue;let g=f;for(;g>i;){let y=c.charCodeAt(g-1);if(y!==32&&y!==9&&y!==13&&y!==10)break;g--}let h=c.substring(i,g),A=h.length;if(d===33){if(h==="!active"){a="active";continue}if(h==="!lock"){u=!0;continue}if(h.startsWith("!include ")){let y=h.substring(9).trim().split(/\s+/),m=y[0],x=y[1]||m.replace(/^.*[\/\\]/,"").replace(/\.synx$/i,"");l.push({path:m,alias:x});continue}}if(n&&i>n.indent){let y=h;n.obj[n.key]+=(n.obj[n.key]?`
3
+ `:"")+y;continue}else n=null;if(d===45&&A>1&&h.charCodeAt(1)===32){if(p&&i>p.indent){let y=X(h.substring(2).trim()),m=O+1;for(;m<e.length;){let x=e[m],$=0;for(;$<x.length&&(x.charCodeAt($)===32||x.charCodeAt($)===9||x.charCodeAt($)===13);)$++;if($<x.length)break;m++}if(m<e.length){let x=e[m],$=0;for(;$<x.length&&(x.charCodeAt($)===32||x.charCodeAt($)===9||x.charCodeAt($)===13);)$++;let Y=x.charCodeAt($);if($>i&&$<x.length&&Y!==45&&Y!==35&&!(Y===47&&$+1<x.length&&x.charCodeAt($+1)===47)){let V={},tt=y.match(rt);if(tt){let[,dt,et,,,pt]=tt,L=pt||"";et&&(L=`(${et})${L}`),V[dt]=L?F(X(L)):{}}else V._value=F(y);p.arr.push(V),r.push({indent:i,obj:V});continue}}p.arr.push(F(y));continue}continue}if(p&&i<=p.indent&&(p=null),d===91||d===40||d===58||d===47)continue;let S,N,I,P,w,j=!1,T=-1;for(let y=0;y<A;y++){let m=h.charCodeAt(y);if(m===32||m===9){T=y;break}if(m===40||m===91||m===58){j=!0;break}}if(j){let y=h.match(rt);if(!y)continue;[,S,N,I,P,w]=y,w=w?X(w.trim()):""}else{if(T===-1)S=h,w="";else{S=h.substring(0,T);let y=T;for(;y<A&&(h.charCodeAt(y)===32||h.charCodeAt(y)===9);)y++;w=y<A?X(h.substring(y)):""}N=void 0,I=void 0,P=void 0}N&&(w=`(${N})${w}`);let E=[],v=[];if(P&&(E=P.split(":")),E.length>0&&E.includes("random")&&w){let y=w.split(/\s+/).filter(m=>/^\d+(\.\d+)?$/.test(m));y.length>0&&(v=y,w="")}let D=I?Ot(I):void 0;for(;r.length>1&&r[r.length-1].indent>=i;)r.pop();let C=r[r.length-1].obj;if(!(S==="__proto__"||S==="constructor"||S==="prototype"))if(w==="|")C[S]="",n={indent:i,obj:C,key:S},U(C,S,E,v,D,a,N);else if(!w&&E.length>0&&(E.includes("random")||E.includes("unique")||E.includes("geo")||E.includes("join")))C[S]=[],p={indent:i,arr:C[S]},U(C,S,E,v,D,a,N);else if(w)C[S]=F(w),U(C,S,E,v,D,a,N);else{C[S]={},r.push({indent:i,obj:C[S]});let y=O+1;for(;y<e.length;){let m=e[y],x=0;for(;x<m.length&&(m.charCodeAt(x)===32||m.charCodeAt(x)===9||m.charCodeAt(x)===13);)x++;if(x<m.length)break;y++}if(y<e.length){let m=e[y],x=0;for(;x<m.length&&(m.charCodeAt(x)===32||m.charCodeAt(x)===9||m.charCodeAt(x)===13);)x++;x+1<m.length&&m.charCodeAt(x)===45&&m.charCodeAt(x+1)===32&&(C[S]=[],r[r.length-1]={indent:i,obj:C[S]},p={indent:i,arr:C[S]})}U(C,S,E,v,D,a,N)}}return{root:s,mode:a,locked:u,includes:l.length>0?l:void 0}}function At(t){let e=[],s=0;for(;s<t.length;){let r=t[s];if(r===" "||r===" "){s++;continue}if(r>="0"&&r<="9"||r==="."&&s+1<t.length&&t[s+1]>="0"&&t[s+1]<="9"||r==="-"&&(e.length===0||e[e.length-1].type==="op"||e[e.length-1].type==="paren"&&e[e.length-1].value==="(")){let a="";for(r==="-"&&(a+="-",s++);s<t.length&&(t[s]>="0"&&t[s]<="9"||t[s]===".");)a+=t[s],s++;e.push({type:"number",value:parseFloat(a)});continue}if("+-*/%".includes(r)){e.push({type:"op",value:r}),s++;continue}if(r==="("||r===")"){e.push({type:"paren",value:r}),s++;continue}throw new Error(`SYNX :calc \u2014 unexpected character: '${r}' in expression "${t}"`)}return e}var B=class{constructor(e){this.tokens=e,this.pos=0}parse(){let e=this.expr();if(this.pos<this.tokens.length)throw new Error(`SYNX :calc \u2014 unexpected token at position ${this.pos}`);return e}expr(){let e=this.term();for(;this.pos<this.tokens.length&&this.tokens[this.pos].type==="op"&&(this.tokens[this.pos].value==="+"||this.tokens[this.pos].value==="-");){let s=this.tokens[this.pos].value;this.pos++;let r=this.term();e=s==="+"?e+r:e-r}return e}term(){let e=this.factor();for(;this.pos<this.tokens.length&&this.tokens[this.pos].type==="op"&&"*/%".includes(this.tokens[this.pos].value);){let s=this.tokens[this.pos].value;this.pos++;let r=this.factor();if(s==="*")e=e*r;else if(s==="/"){if(r===0)throw new Error("SYNX :calc \u2014 division by zero");e=e/r}else{if(r===0)throw new Error("SYNX :calc \u2014 division by zero");e=e%r}}return e}factor(){let e=this.tokens[this.pos];if(!e)throw new Error("SYNX :calc \u2014 unexpected end of expression");if(e.type==="number")return this.pos++,e.value;if(e.type==="paren"&&e.value==="("){this.pos++;let s=this.expr();if(!this.tokens[this.pos]||this.tokens[this.pos].type!=="paren"||this.tokens[this.pos].value!==")")throw new Error("SYNX :calc \u2014 missing closing parenthesis");return this.pos++,s}throw new Error(`SYNX :calc \u2014 unexpected token: ${JSON.stringify(e)}`)}};function G(t){let e=At(t.trim());return e.length===0?0:new B(e).parse()}var b,k;try{b=nt("fs"),k=nt("path")}catch{}var st=4096,it=10*1024*1024,J=16,$t=512;function q(t,e){if(!k)throw new Error("path module not available");if(k.isAbsolute(e))throw new Error(`absolute path not allowed: ${e}`);let s=k.resolve(t,e),r=k.resolve(t);if(!s.startsWith(r+k.sep)&&s!==r)throw new Error(`path escapes base directory: ${e}`);return s}function Z(t){if(!b)return;let e=b.statSync(t);if(e.size>it)throw new Error(`file too large (${e.size} bytes, max ${it})`)}var Q=class{constructor(e){this._value=e}toString(){return"[SECRET]"}toJSON(){return"[SECRET]"}reveal(){return this._value}[Symbol.toPrimitive](e){return e==="number"?NaN:"[SECRET]"}},W=new Map;function _(t,e={},s,r,a=0,u=""){if(!s){s=t,bt(t);for(let n of Object.keys(t))n.startsWith("_")&&delete t[n];!r&&e._includes&&(r=kt(e._includes,e))}if(a>=$t){for(let n of Object.keys(t))n!=="__synx"&&(t[n]="NESTING_ERR: maximum object nesting depth exceeded");return t}let l=t.__synx;for(let n of Object.keys(t)){if(n==="__synx")continue;let p=t[n];if(p&&typeof p=="object"&&!Array.isArray(p)&&_(p,e,s,r,a+1,u?`${u}.${n}`:n),Array.isArray(p))for(let c of p)c&&typeof c=="object"&&!Array.isArray(c)&&_(c,e,s,r,a+1,u?`${u}.${n}`:n);if(!l||!l[n])continue;let{markers:o,args:O}=l[n];if(o.includes("spam")){let c=o.indexOf("spam"),f=parseInt(o[c+1]??"0",10),i=Math.max(1,parseInt(o[c+2]??"1",10)||1);if(!Number.isFinite(f)||f<=0){t[n]="SPAM_ERR: invalid limit, use :spam:MAX[:WINDOW_SEC]";continue}let d=String(t[n]??n),g=`${n}::${d}`;if(!Dt(g,f,i)){t[n]=`SPAM_ERR: '${d}' exceeded ${f} calls per ${i}s`;continue}let h=M(s,d)??M(t,d);h!==void 0&&(t[n]=h)}if(o.includes("include")&&typeof t[n]=="string"){if(!b||!k){t[n]="INCLUDE_ERR: :include is not supported in browser";continue}let c=e.maxIncludeDepth??J,f=e._includeDepth??0;if(f>=c){t[n]=`INCLUDE_ERR: max include depth (${c}) exceeded`;continue}let i=String(t[n]),d=e.basePath||(typeof process<"u"?process.cwd():".");try{let g=q(d,i);Z(g);let h=b.readFileSync(g,"utf-8"),{root:A,mode:S}=R(h);S==="active"&&_(A,{...e,basePath:k.dirname(g),_includeDepth:f+1},s),t[n]=A}catch(g){t[n]=`INCLUDE_ERR: ${g.message}`}continue}if(o.includes("env")){let c=String(p),i=(e.env||(typeof process<"u"?process.env:{}))[c],d=o.indexOf("default"),g=l[n]?.typeHint==="string";if(i!==void 0&&i!=="")t[n]=g||isNaN(Number(i))?i:Number(i);else if(d!==-1&&o.length>d+1){let h=o.slice(d+1).join(":");t[n]=g||isNaN(Number(h))?h:Number(h)}else t[n]=null}if(o.includes("random")&&Array.isArray(t[n])){let c=t[n];if(c.length===0){t[n]=null;continue}if(O&&O.length>0){let f=O.map(Number);t[n]=vt(c,f)}else t[n]=c[Math.floor(Math.random()*c.length)]}if(o.includes("ref")&&typeof t[n]=="string"){let c=t[n],f=M(s,c)??M(t,c);if(f!==void 0){if(t[n]=f,o.includes("calc")){let i=o.indexOf("calc"),d=o[i+1]??"";if(d&&typeof f=="number"){let g=d.charAt(0);if("+-*/%".includes(g)){let h=`${f} ${d}`;try{t[n]=G(h)}catch{t[n]=f}}}}}else t[n]=null}if(o.includes("i18n")&&t[n]&&typeof t[n]=="object"&&!Array.isArray(t[n])){let c=t[n],f=e.lang||"en",i=c[f]??c.en??Object.values(c)[0]??null;t[n]=i}if(o.includes("calc")&&typeof t[n]=="string"){let c=t[n];if(c.length>st){t[n]=`CALC_ERR: expression too long (${c.length} chars, max ${st})`;continue}let f=new Map;for(let i of Object.keys(s))typeof s[i]=="number"&&f.set(i,String(s[i]));for(let i of Object.keys(t))i!==n&&typeof t[i]=="number"&&f.set(i,String(t[i]));f.size>0&&(c=Tt(c,f));try{t[n]=G(c)}catch(i){t[n]=`CALC_ERR: ${i.message}`}}if(o.includes("alias")&&typeof t[n]=="string"){let c=t[n],f=u?`${u}.${n}`:n;if(c===n||c===f)t[n]=`ALIAS_ERR: self-referential alias: ${f} \u2192 ${c}`;else{let i=M(s,c),d=c.lastIndexOf("."),g=d>=0?c.slice(0,d):"",h=d>=0?c.slice(d+1):c,A=g?M(s,g):s;((A!=null&&typeof A=="object"?A.__synx:void 0)?.[h]?.markers?.includes("alias")??!1)&&typeof i=="string"&&i===n?t[n]=`ALIAS_ERR: circular alias detected: ${n} \u2192 ${c}`:t[n]=i??null}}if(o.includes("secret")&&(t[n]=new Q(String(t[n]))),o.includes("unique")&&Array.isArray(t[n])){let c=new Set;t[n]=t[n].filter(f=>{let i=String(f);return c.has(i)?!1:(c.add(i),!0)})}if(o.includes("geo")&&Array.isArray(t[n])){let c=e.region||"US",f=t[n],i=f.find(d=>String(d).startsWith(c+" "));if(i)t[n]=i.substring(c.length+1).trim();else{let d=f[0];typeof d=="string"&&d.includes(" ")?t[n]=d.substring(d.indexOf(" ")+1).trim():t[n]=d??null}}if(o.includes("split")&&typeof t[n]=="string"){let c=o.indexOf("split"),f=c+1<o.length?o[c+1]:",",i=ot(f);t[n]=t[n].split(i).map(d=>d.trim()).filter(d=>d!=="").map(d=>ct(d))}if(o.includes("join")&&Array.isArray(t[n])){let c=o.indexOf("join"),f=c+1<o.length?o[c+1]:",",i=ot(f);t[n]=t[n].map(d=>String(d)).join(i)}if(o.includes("default")&&!o.includes("env")&&(t[n]===null||t[n]===void 0||t[n]==="")){let c=o.indexOf("default");if(c!==-1&&o.length>c+1){let f=o.slice(c+1).join(":"),i=l[n]?.typeHint==="string";t[n]=i||isNaN(Number(f))?f:Number(f)}}if(o.includes("clamp")){let c=o.indexOf("clamp"),f=parseFloat(o[c+1]??""),i=parseFloat(o[c+2]??"");!isNaN(f)&&!isNaN(i)&&(f>i?t[n]=`CONSTRAINT_ERR: clamp min (${f}) > max (${i})`:typeof t[n]=="number"&&(t[n]=Math.min(i,Math.max(f,t[n]))))}if(o.includes("round")){let c=o.indexOf("round"),f=parseInt(o[c+1]??"0",10)||0;if(typeof t[n]=="number"){let i=Math.pow(10,f);t[n]=Math.round(t[n]*i)/i}}if(o.includes("map")&&Array.isArray(t[n])){let c=o.indexOf("map"),f=o[c+1]??"",i=String(f?M(s,f)??M(t,f)??"":""),g=t[n].find(h=>{let A=String(h),S=A.indexOf(" ");return S!==-1&&A.substring(0,S).trim()===i});t[n]=g?ct(g.substring(g.indexOf(" ")+1).trim()):null}if(o.includes("format")){let c=o.indexOf("format"),f=o[c+1]??"%s";t[n]=Mt(f,t[n])}if(o.includes("fallback")){let c=o.indexOf("fallback"),f=o[c+1]??"",i=t[n],d=i==null||i==="";if(!d&&typeof i=="string"&&b&&k&&e.basePath)try{let g=q(e.basePath,i);d=!b.existsSync(g)}catch{d=!0}d&&f&&(t[n]=f)}if(o.includes("once")){let c=o.indexOf("once"),f=o[c+1]??"uuid",i=k&&e.basePath?k.resolve(e.basePath,".synx.lock"):".synx.lock",d=Et(i,n);if(d!==null)t[n]=d;else{let g;f==="uuid"?g=at():f==="timestamp"?g=String(Date.now()):f==="random"?g=String(Math.floor(Math.random()*2147483647)):g=at(),Nt(i,n,g),t[n]=g}}if(o.includes("version")&&typeof t[n]=="string"){let c=o.indexOf("version"),f=o[c+1]??">=",i=o[c+2]??"0";t[n]=Rt(t[n],f,i)}if(o.includes("watch")&&typeof t[n]=="string")if(!b||!k)t[n]="WATCH_ERR: not supported in browser";else{let c=e.maxIncludeDepth??J;if((e._includeDepth??0)>=c)t[n]=`WATCH_ERR: max include depth (${c}) exceeded`;else{let i=t[n],d=e.basePath||(typeof process<"u"?process.cwd():"."),g=o.indexOf("watch"),h=o[g+1];try{let A=q(d,i);Z(A);let S=b.readFileSync(A,"utf-8"),N=k.extname(A).slice(1);h?t[n]=_t(S,h,N):t[n]=S.trim()}catch(A){t[n]=`WATCH_ERR: ${A.message}`}}}if(o.includes("prompt")){let c=o.indexOf("prompt"),f=o[c+1]??n,i=t[n],d=ut(i,0);t[n]=`${f} (SYNX):
4
+ \`\`\`synx
5
+ ${d}\`\`\``}l&&l[n]?.constraints&&Ct(t,n,l[n].constraints)}for(let n of Object.keys(t))n!=="__synx"&&typeof t[n]=="string"&&t[n].includes("{")&&(t[n]=wt(t[n],s,t,r));return t}function bt(t){let e=t.__synx;if(e)for(let s of Object.keys(t)){if(s==="__synx")continue;let r=e[s];if(!r||!r.markers.includes("inherit"))continue;let a=r.markers.indexOf("inherit"),u=r.markers[a+1];if(!u)continue;let l=t[u];if(!l||typeof l!="object"||Array.isArray(l))continue;let n=t[s];if(!n||typeof n!="object"||Array.isArray(n))continue;let p={...l,...n},o=l.__synx,O=n.__synx;if(o||O){let c={...o||{},...O||{}};Object.defineProperty(p,"__synx",{value:c,enumerable:!1,writable:!0,configurable:!0})}t[s]=p}}function wt(t,e,s,r){return t.replace(/\{(\w+(?:\.\w+)*)(?::(\w+(?:[./\\][\w./\\]*)?))?\}/g,(a,u,l)=>{if(l){if(l==="include"){if(!r||r.size===0)return a;if(r.size>1)return"INCLUDE_ERR: multiple !include \u2014 specify alias";let p=r.values().next().value,o=M(p,u);return o!=null?String(o):a}if(r){let p=r.get(l);if(p){let o=M(p,u);return o!=null?String(o):a}}return a}let n=M(e,u)??M(s,u);return n!=null?String(n):a})}function kt(t,e){let s=new Map;if(!b||!k)return s;let r=e.basePath||(typeof process<"u"?process.cwd():"."),a=e.maxIncludeDepth??J,u=e._includeDepth??0;if(u>=a)return s;for(let l of t)try{let n=q(r,l.path);Z(n);let p=b.readFileSync(n,"utf-8"),{root:o,mode:O}=R(p);O==="active"&&_(o,{...e,basePath:k.dirname(n),_includeDepth:u+1},void 0,s),s.set(l.alias,o)}catch{}return s}function Ct(t,e,s){let r=t[e];if(s.required&&(r==null||r==="")){t[e]=`CONSTRAINT_ERR: '${e}' is required`;return}if(r==null)return;if(s.type&&!(()=>{switch(s.type){case"int":return typeof r=="number"&&Number.isInteger(r);case"float":return typeof r=="number";case"bool":return typeof r=="boolean";case"string":return typeof r=="string";default:return!0}})()){t[e]=`CONSTRAINT_ERR: '${e}' expected type '${s.type}'`;return}if(s.enum){let u=String(r);if(!s.enum.includes(u)){t[e]=`CONSTRAINT_ERR: '${e}' must be one of [${s.enum.join("|")}]`;return}}let a=typeof r=="number"?r:typeof r=="string"&&(s.min!==void 0||s.max!==void 0)?r.length:null;if(a!==null){if(s.min!==void 0&&a<s.min){t[e]=`CONSTRAINT_ERR: '${e}' value ${a} is below min ${s.min}`;return}if(s.max!==void 0&&a>s.max){t[e]=`CONSTRAINT_ERR: '${e}' value ${a} exceeds max ${s.max}`;return}}if(s.pattern&&typeof r=="string"){if(s.pattern.length>128)return;try{if(!new RegExp(s.pattern).test(r)){t[e]=`CONSTRAINT_ERR: '${e}' does not match pattern /${s.pattern}/`;return}}catch{}}}function Mt(t,e){let s=typeof e=="number"?e:parseFloat(String(e));if(isNaN(s))return String(e);let r=t.match(/^%\.(\d+)f$/);if(r)return s.toFixed(parseInt(r[1],10));let a=t.match(/^%0(\d+)d$/);if(a)return String(Math.round(s)).padStart(parseInt(a[1],10),"0");let u=t.match(/^%(\d+)d$/);return u?String(Math.round(s)).padStart(parseInt(u[1],10)):t==="%e"?s.toExponential():String(e)}function Et(t,e){if(!b)return null;try{let s=b.readFileSync(t,"utf-8");for(let r of s.split(/\r?\n/))if(r.startsWith(e+" "))return r.substring(e.length+1)}catch{}return null}function Nt(t,e,s){if(!b)return;let r=[];try{r=b.readFileSync(t,"utf-8").split(/\r?\n/)}catch{}let a=`${e} ${s}`,u=r.findIndex(l=>l.startsWith(e+" "));u!==-1?r[u]=a:r.push(a);try{b.writeFileSync(t,r.filter(Boolean).join(`
6
+ `)+`
7
+ `,"utf-8")}catch{}}function at(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,t=>{let e=Math.random()*16|0;return(t==="x"?e:e&3|8).toString(16)})}function Rt(t,e,s){let r=p=>p.split(".").map(o=>parseInt(o,10)||0),a=r(t),u=r(s),l=Math.max(a.length,u.length),n=0;for(let p=0;p<l;p++){let o=a[p]??0,O=u[p]??0;if(o!==O){n=o>O?1:-1;break}}switch(e){case">=":return n>=0;case"<=":return n<=0;case">":return n>0;case"<":return n<0;case"==":case"=":return n===0;case"!=":return n!==0;default:return!1}}function _t(t,e,s){if(s==="json")try{let r=JSON.parse(t);return e.split(".").reduce((a,u)=>a?.[u],r)??null}catch{return null}try{let{root:r}=R(t);return M(r,e)??null}catch{return null}}function ut(t,e){let s=" ".repeat(e);if(t==null)return`${s}null
8
+ `;if(typeof t=="boolean"||typeof t=="number")return`${s}${t}
9
+ `;if(typeof t=="string")return`${s}${t}
10
+ `;if(Array.isArray(t)){let r="";for(let a of t)r+=`${s} - ${String(a)}
11
+ `;return r}if(typeof t=="object"){let r="";for(let[a,u]of Object.entries(t))if(a!=="__synx")if(u&&typeof u=="object"&&!Array.isArray(u))r+=`${s}${a}
12
+ `,r+=ut(u,e+2);else if(Array.isArray(u)){r+=`${s}${a}
13
+ `;for(let l of u)r+=`${s} - ${String(l)}
14
+ `}else r+=`${s}${a} ${u??"null"}
15
+ `;return r}return`${s}${String(t)}
16
+ `}function ct(t){return t==="true"?!0:t==="false"?!1:t==="null"?null:/^-?\d+$/.test(t)?parseInt(t,10):/^-?\d+\.\d+$/.test(t)?parseFloat(t):t}var It={space:" ",pipe:"|",dash:"-",dot:".",semi:";",tab:" ",slash:"/"};function ot(t){return It[t]||t}function vt(t,e){let s=[...e];if(s.length<t.length){let l=s.reduce((p,o)=>p+o,0),n=l<100?(100-l)/(t.length-s.length):l/s.length;for(;s.length<t.length;)s.push(n)}let r=s.reduce((l,n)=>l+n,0);if(r<=0)return t[Math.floor(Math.random()*t.length)];let a=Math.random(),u=0;for(let l=0;l<t.length;l++)if(u+=s[l]/r,a<=u)return t[l];return t[t.length-1]}function lt(t){return t>=48&&t<=57||t>=65&&t<=90||t>=97&&t<=122||t===95}function Pt(t,e,s){let r=e.length,a=t.length,u="",l=0;for(;l<=a-r;){if(t.slice(l,l+r)===e){let n=l===0||!lt(t.charCodeAt(l-1)),p=l+r>=a||!lt(t.charCodeAt(l+r));if(n&&p){u+=s,l+=r;continue}}u+=t[l++]}for(;l<a;)u+=t[l++];return u}function Tt(t,e){let s=[...e.entries()].sort((a,u)=>u[0].length-a[0].length),r=t;for(let[a,u]of s)r=Pt(r,a,u);return r}function Dt(t,e,s){let r=Date.now(),a=s*1e3,u=W.get(t)??[],l=u.filter(n=>r-n<=a);return l.length>=e?(W.set(t,l),!1):(l.length===0&&u.length>0&&W.delete(t),l.push(r),W.set(t,l),!0)}function M(t,e){if(Object.prototype.hasOwnProperty.call(t,e))return t[e];let s=e.split("."),r=t;for(let a of s){if(r==null||typeof r!="object"||!Object.prototype.hasOwnProperty.call(r,a))return;r=r[a]}return r}var z=class extends Error{constructor(e){super(e),this.name="SynxError";let s=e.indexOf(":");this.code=s!==-1?e.slice(0,s):"SYNX_ERR"}};var H=class{static parse(e,s={}){let{root:r,mode:a}=R(e);return a==="active"&&_(r,s),r}static stringify(e,s=!1){let r="";return s&&(r+=`!active
17
+ `),r+=ft(e,0),r}};function ft(t,e){let s="",r=" ".repeat(e);for(let[a,u]of Object.entries(t))if(Array.isArray(u)){s+=`${r}${a}
18
+ `;for(let l of u)if(l&&typeof l=="object"&&!Array.isArray(l)){let n=Object.entries(l);if(n.length>0){let[p,o]=n[0];s+=`${r} - ${p} ${o}
19
+ `;for(let O=1;O<n.length;O++)s+=`${r} ${n[O][0]} ${n[O][1]}
20
+ `}}else s+=`${r} - ${l}
21
+ `}else if(u&&typeof u=="object")s+=`${r}${a}
22
+ `,s+=ft(u,e+2);else if(typeof u=="string"&&u.includes(`
23
+ `)){s+=`${r}${a} |
24
+ `;for(let l of u.split(`
25
+ `))s+=`${r} ${l}
26
+ `}else s+=`${r}${a} ${u}
27
+ `;return s}var Vt=H;return St(Lt);})();
28
+ if(typeof window!=="undefined")window.Synx=SynxModule.default;
29
+ //# sourceMappingURL=synx.browser.js.map