From d37c679f63dd792e527451debf2f2940bd180e6f Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 2 Mar 2026 18:33:26 +0000 Subject: [PATCH 1/5] Add list.pair option to parse key:value pairs as object elements in lists When list.pair is true (default false), [a:1] parses as [{"a":1}] instead of setting "a" as a property on the array. list.pair takes precedence over list.property when both are true. Uses the same grammar rules as list.property (KEY CL pattern, path dives, etc.). Examples: [a:1] -> [{"a":1}] [a:1,2,b:3] -> [{"a":1},2,{"b":3}] [a:b:1] -> [{"a":{"b":1}}] https://claude.ai/code/session_01243eqnwQ2sKcfwQgdtqV7A --- dist/defaults.js | 3 +++ dist/defaults.js.map | 2 +- dist/grammar.js | 17 ++++++++++++--- dist/grammar.js.map | 2 +- dist/types.d.ts | 2 ++ dist/utility.js | 1 + dist/utility.js.map | 2 +- src/defaults.ts | 4 ++++ src/grammar.ts | 16 +++++++++++--- src/types.ts | 2 ++ src/utility.ts | 1 + test/feature.test.js | 51 ++++++++++++++++++++++++++++++++++++++++++++ 12 files changed, 94 insertions(+), 9 deletions(-) diff --git a/dist/defaults.js b/dist/defaults.js index 2d735e3..042a232 100644 --- a/dist/defaults.js +++ b/dist/defaults.js @@ -145,6 +145,9 @@ const defaults = { list: { // Allow arrays to have properties: `[a:9,0,1]` property: true, + // Parse pairs as object elements: `[a:1]` -> `[{"a":1}]` + // Takes precedence over list.property when true. + pair: false, }, // Keyword values. value: { diff --git a/dist/defaults.js.map b/dist/defaults.js.map index 92167de..b858d8b 100644 --- a/dist/defaults.js.map +++ b/dist/defaults.js.map @@ -1 +1 @@ -{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/grammar.js b/dist/grammar.js index f1f9480..dd3a45c 100644 --- a/dist/grammar.js +++ b/dist/grammar.js @@ -397,7 +397,7 @@ function grammar(jsonic) { }, { s: [KEY, CL], - e: p.cfg.list.property ? undefined : (_r, ctx) => ctx.t0, + e: (p.cfg.list.property || p.cfg.list.pair) ? undefined : (_r, ctx) => ctx.t0, p: 'val', n: { pk: 1, dmap: 1 }, u: { done: true, pair: true, list: true }, @@ -407,8 +407,19 @@ function grammar(jsonic) { ]) .bc((r, ctx) => { if (true === r.u.pair) { - r.u.prev = r.node[r.u.key]; - pairval(r, ctx); + if (ctx.cfg.list.pair) { + // list.pair: push pair as object element into the list + let key = r.u.key; + let val = r.child.node; + val = undefined === val ? null : val; + let pairObj = Object.create(null); + pairObj[key] = val; + r.node.push(pairObj); + } + else { + r.u.prev = r.node[r.u.key]; + pairval(r, ctx); + } } }) .close([ diff --git a/dist/grammar.js.map b/dist/grammar.js.map index 2778e55..390e2bc 100644 --- a/dist/grammar.js.map +++ b/dist/grammar.js.map @@ -1 +1 @@ -{"version":3,"file":"grammar.js","sourceRoot":"","sources":["../src/grammar.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"grammar.js","sourceRoot":"","sources":["../src/grammar.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/types.d.ts b/dist/types.d.ts index ed5eb6a..776f84a 100644 --- a/dist/types.d.ts +++ b/dist/types.d.ts @@ -120,6 +120,7 @@ export type Options = { }; list?: { property: boolean; + pair: boolean; }; value?: { lex?: boolean; @@ -415,6 +416,7 @@ export type Config = { }; list: { property: boolean; + pair: boolean; }; debug: { get_console: () => any; diff --git a/dist/utility.js b/dist/utility.js index edd47cf..61d7158 100644 --- a/dist/utility.js +++ b/dist/utility.js @@ -251,6 +251,7 @@ function configure(jsonic, incfg, opts) { }; cfg.list = { property: !!opts.list?.property, + pair: !!opts.list?.pair, }; let fixedSorted = Object.keys(cfg.fixed.token).sort((a, b) => b.length - a.length); let fixedRE = fixedSorted.map((fixed) => escre(fixed)).join('|'); diff --git a/dist/utility.js.map b/dist/utility.js.map index 53b9de6..3b4a8b1 100644 --- a/dist/utility.js.map +++ b/dist/utility.js.map @@ -1 +1 @@ -{"version":3,"file":"utility.js","sourceRoot":"","sources":["../src/utility.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"utility.js","sourceRoot":"","sources":["../src/utility.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/defaults.ts b/src/defaults.ts index 18e4b9d..74083ad 100644 --- a/src/defaults.ts +++ b/src/defaults.ts @@ -193,6 +193,10 @@ const defaults: Options = { list: { // Allow arrays to have properties: `[a:9,0,1]` property: true, + + // Parse pairs as object elements: `[a:1]` -> `[{"a":1}]` + // Takes precedence over list.property when true. + pair: false, }, // Keyword values. diff --git a/src/grammar.ts b/src/grammar.ts index fe3ffb1..56ddcbe 100644 --- a/src/grammar.ts +++ b/src/grammar.ts @@ -493,7 +493,7 @@ function grammar(jsonic: Jsonic) { { s: [KEY, CL], - e: p.cfg.list.property ? undefined : (_r: Rule, ctx: Context) => ctx.t0, + e: (p.cfg.list.property || p.cfg.list.pair) ? undefined : (_r: Rule, ctx: Context) => ctx.t0, p: 'val', n: { pk: 1, dmap: 1 }, u: { done: true, pair: true, list: true }, @@ -503,8 +503,18 @@ function grammar(jsonic: Jsonic) { ]) .bc((r: Rule, ctx: Context) => { if (true === r.u.pair) { - r.u.prev = r.node[r.u.key] - pairval(r, ctx) + if (ctx.cfg.list.pair) { + // list.pair: push pair as object element into the list + let key = r.u.key + let val = r.child.node + val = undefined === val ? null : val + let pairObj = Object.create(null) + pairObj[key] = val + r.node.push(pairObj) + } else { + r.u.prev = r.node[r.u.key] + pairval(r, ctx) + } } }) .close( diff --git a/src/types.ts b/src/types.ts index 0c23954..4b8c638 100644 --- a/src/types.ts +++ b/src/types.ts @@ -179,6 +179,7 @@ export type Options = { } list?: { property: boolean + pair: boolean } value?: { lex?: boolean @@ -560,6 +561,7 @@ export type Config = { list: { property: boolean + pair: boolean } debug: { diff --git a/src/utility.ts b/src/utility.ts index fa58a84..a6d3622 100644 --- a/src/utility.ts +++ b/src/utility.ts @@ -308,6 +308,7 @@ function configure( cfg.list = { property: !!opts.list?.property, + pair: !!opts.list?.pair, } let fixedSorted = Object.keys(cfg.fixed.token).sort( diff --git a/test/feature.test.js b/test/feature.test.js index 586e408..046b06a 100644 --- a/test/feature.test.js +++ b/test/feature.test.js @@ -834,6 +834,57 @@ describe('feature', function () { expect(() => k('[a:1]')).throw(/unexpected/) }) + it('list-pair', () => { + let lp = j.make({ list: { pair: true } }) + + // Basic pair: [a:1] -> [{"a":1}] + expect(lp('[a:1]')).equal([{ a: 1 }]) + + // Multiple pairs: [a:1,b:2] -> [{"a":1},{"b":2}] + expect(lp('[a:1,b:2]')).equal([{ a: 1 }, { b: 2 }]) + + // Mixed pairs and values: [a:1,2,b:3] -> [{"a":1},2,{"b":3}] + expect(lp('[a:1,2,b:3]')).equal([{ a: 1 }, 2, { b: 3 }]) + + // Pair with no value: [a:] -> [{"a":null}] + expect(lp('[a:]')).equal([{ a: null }]) + + // Pair with string value: [a:"hello"] -> [{"a":"hello"}] + expect(lp('[a:"hello"]')).equal([{ a: 'hello' }]) + + // Pair with nested object value: [a:{b:1}] -> [{"a":{"b":1}}] + expect(lp('[a:{b:1}]')).equal([{ a: { b: 1 } }]) + + // Pair with nested list value: [a:[1,2]] -> [{"a":[1,2]}] + expect(lp('[a:[1,2]]')).equal([{ a: [1, 2] }]) + + // Path dive: [a:b:c] -> [{"a":{"b":"c"}}] + expect(lp('[a:b:c]')).equal([{ a: { b: 'c' } }]) + + // Multiple path dives: [a:b:1,c:d:2] -> [{"a":{"b":1}},{"c":{"d":2}}] + expect(lp('[a:b:1,c:d:2]')).equal([{ a: { b: 1 } }, { c: { d: 2 } }]) + + // Mixed with plain values: [1,a:2,3] -> [1,{"a":2},3] + expect(lp('[1,a:2,3]')).equal([1, { a: 2 }, 3]) + + // Space-separated: [a:1 2 b:3] -> [{"a":1},2,{"b":3}] + expect(lp('[a:1 2 b:3]')).equal([{ a: 1 }, 2, { b: 3 }]) + + // Space-separated pairs: [a:1 b:2] -> [{"a":1},{"b":2}] + expect(lp('[a:1 b:2]')).equal([{ a: 1 }, { b: 2 }]) + + // list.pair takes precedence over list.property + let lp2 = j.make({ list: { pair: true, property: false } }) + expect(lp2('[a:1]')).equal([{ a: 1 }]) + expect(lp2('[a:1,b:2]')).equal([{ a: 1 }, { b: 2 }]) + + // Duplicate keys create separate objects: [a:1,a:2] -> [{"a":1},{"a":2}] + expect(lp('[a:1,a:2]')).equal([{ a: 1 }, { a: 2 }]) + + // No pairs: plain list still works + expect(lp('[1,2,3]')).equal([1, 2, 3]) + }) + // Test derived from debug sessions using quick.js it('debug-cases', () => { tsvTest('feature-debug-cases') From 6e77545fdc2f993fb2866000fec49ed72178711f Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 2 Mar 2026 19:12:10 +0000 Subject: [PATCH 2/5] Add comprehensive tests for list.pair option and option interactions - Create feature-list-pair.tsv with 51 test cases covering basic pairs, mixed pairs/values, braces, brackets, path dives, nulls, strings, trailing commas, space separation, and nested list.pair behavior - Add tsvTestWith helper for running TSV tests with custom options - Add list-pair-interaction test covering all four option combinations: pair=F/prop=T (default), pair=F/prop=F (error), pair=T/prop=T (pair precedence), pair=T/prop=F (pair precedence) - Test explicit maps and nested lists inside list.pair contexts - Verify maps outside lists are unaffected by list.pair https://claude.ai/code/session_01243eqnwQ2sKcfwQgdtqV7A --- test/feature.test.js | 143 ++++++++++++++++++++++---------- test/spec/feature-list-pair.tsv | 52 ++++++++++++ 2 files changed, 149 insertions(+), 46 deletions(-) create mode 100644 test/spec/feature-list-pair.tsv diff --git a/test/feature.test.js b/test/feature.test.js index 046b06a..4e50da3 100644 --- a/test/feature.test.js +++ b/test/feature.test.js @@ -27,6 +27,19 @@ function tsvTest(name) { } } +function tsvTestWith(name, opts) { + const instance = Jsonic.make(opts) + const entries = loadTSV(name) + for (const { cols: [input, expected], row } of entries) { + try { + expect(instance(input)).equal(JSON.parse(expected)) + } catch (err) { + err.message = `${name} row ${row}: input=${input} expected=${expected}\n${err.message}` + throw err + } + } +} + describe('feature', function () { it('test-util-match', () => { expect(match(1, 1)).not.exist() @@ -835,54 +848,92 @@ describe('feature', function () { }) it('list-pair', () => { - let lp = j.make({ list: { pair: true } }) - - // Basic pair: [a:1] -> [{"a":1}] - expect(lp('[a:1]')).equal([{ a: 1 }]) - - // Multiple pairs: [a:1,b:2] -> [{"a":1},{"b":2}] - expect(lp('[a:1,b:2]')).equal([{ a: 1 }, { b: 2 }]) - - // Mixed pairs and values: [a:1,2,b:3] -> [{"a":1},2,{"b":3}] - expect(lp('[a:1,2,b:3]')).equal([{ a: 1 }, 2, { b: 3 }]) - - // Pair with no value: [a:] -> [{"a":null}] - expect(lp('[a:]')).equal([{ a: null }]) - - // Pair with string value: [a:"hello"] -> [{"a":"hello"}] - expect(lp('[a:"hello"]')).equal([{ a: 'hello' }]) - - // Pair with nested object value: [a:{b:1}] -> [{"a":{"b":1}}] - expect(lp('[a:{b:1}]')).equal([{ a: { b: 1 } }]) - - // Pair with nested list value: [a:[1,2]] -> [{"a":[1,2]}] - expect(lp('[a:[1,2]]')).equal([{ a: [1, 2] }]) - - // Path dive: [a:b:c] -> [{"a":{"b":"c"}}] - expect(lp('[a:b:c]')).equal([{ a: { b: 'c' } }]) - - // Multiple path dives: [a:b:1,c:d:2] -> [{"a":{"b":1}},{"c":{"d":2}}] - expect(lp('[a:b:1,c:d:2]')).equal([{ a: { b: 1 } }, { c: { d: 2 } }]) - - // Mixed with plain values: [1,a:2,3] -> [1,{"a":2},3] - expect(lp('[1,a:2,3]')).equal([1, { a: 2 }, 3]) - - // Space-separated: [a:1 2 b:3] -> [{"a":1},2,{"b":3}] - expect(lp('[a:1 2 b:3]')).equal([{ a: 1 }, 2, { b: 3 }]) - - // Space-separated pairs: [a:1 b:2] -> [{"a":1},{"b":2}] - expect(lp('[a:1 b:2]')).equal([{ a: 1 }, { b: 2 }]) - - // list.pair takes precedence over list.property - let lp2 = j.make({ list: { pair: true, property: false } }) - expect(lp2('[a:1]')).equal([{ a: 1 }]) - expect(lp2('[a:1,b:2]')).equal([{ a: 1 }, { b: 2 }]) - - // Duplicate keys create separate objects: [a:1,a:2] -> [{"a":1},{"a":2}] - expect(lp('[a:1,a:2]')).equal([{ a: 1 }, { a: 2 }]) + tsvTestWith('feature-list-pair', { list: { pair: true } }) + }) - // No pairs: plain list still works + it('list-pair-interaction', () => { + // === pair=false, property=true (default behavior) === + // Pairs become properties on the array object, not elements + expect(JS(j('[a:1]'))).equal('[]') + expect(j('[a:1]').a).equal(1) + expect(JS(j('[a:1,b:2]'))).equal('[]') + expect({ ...j('[a:1,b:2]') }).equal({ a: 1, b: 2 }) + // Mixed: properties on array, values as elements + expect(JS(j('[a:1,2,b:3]'))).equal('[2]') + expect({ ...j('[a:1,2,b:3]') }).equal({ 0: 2, a: 1, b: 3 }) + + // === pair=false, property=false === + // Pairs in lists are errors + let pp_ff = j.make({ list: { pair: false, property: false } }) + expect(() => pp_ff('[a:1]')).throw(/unexpected/) + expect(() => pp_ff('[a:1,b:2]')).throw(/unexpected/) + // Plain list values still work + expect(pp_ff('[1,2,3]')).equal([1, 2, 3]) + expect(pp_ff('[]')).equal([]) + // Explicit maps inside lists still work + expect(pp_ff('[{a:1}]')).equal([{ a: 1 }]) + expect(pp_ff('[{a:1},{b:2}]')).equal([{ a: 1 }, { b: 2 }]) + + // === pair=true, property=true === + // pair takes precedence: pairs become elements, not properties + let pp_tt = j.make({ list: { pair: true, property: true } }) + expect(pp_tt('[a:1]')).equal([{ a: 1 }]) + expect(pp_tt('[a:1,b:2]')).equal([{ a: 1 }, { b: 2 }]) + expect(pp_tt('[a:1,2,b:3]')).equal([{ a: 1 }, 2, { b: 3 }]) + expect(pp_tt('[a:1,a:2]')).equal([{ a: 1 }, { a: 2 }]) + // Verify elements exist at numeric indices + expect(pp_tt('[a:1]')[0]).equal({ a: 1 }) + expect(JS(pp_tt('[a:1]'))).equal('[{"a":1}]') + + // === pair=true, property=false === + // pair takes precedence: pairs become elements (property disabled doesn't matter) + let pp_tf = j.make({ list: { pair: true, property: false } }) + expect(pp_tf('[a:1]')).equal([{ a: 1 }]) + expect(pp_tf('[a:1,b:2]')).equal([{ a: 1 }, { b: 2 }]) + expect(pp_tf('[a:1,2,b:3]')).equal([{ a: 1 }, 2, { b: 3 }]) + expect(pp_tf('[a:b:c]')).equal([{ a: { b: 'c' } }]) + + // === Braces: explicit maps interact correctly with list.pair === + let lp = j.make({ list: { pair: true } }) + // Explicit map as list element (no pairs involved) + expect(lp('[{a:1}]')).equal([{ a: 1 }]) + expect(lp('[{a:1,b:2}]')).equal([{ a: 1, b: 2 }]) + // Mix of explicit maps and implicit pair objects + expect(lp('[{a:1},b:2]')).equal([{ a: 1 }, { b: 2 }]) + expect(lp('[a:1,{b:2}]')).equal([{ a: 1 }, { b: 2 }]) + expect(lp('[{a:1},b:2,{c:3}]')).equal([{ a: 1 }, { b: 2 }, { c: 3 }]) + // Pair value is an explicit map + expect(lp('[a:{x:1,y:2}]')).equal([{ a: { x: 1, y: 2 } }]) + expect(lp('[a:{x:{y:1}}]')).equal([{ a: { x: { y: 1 } } }]) + // Nested map with pair inside + expect(lp('[{a:{b:1,c:2}},d:3]')).equal([{ a: { b: 1, c: 2 } }, { d: 3 }]) + + // === Square brackets: nested lists interact correctly with list.pair === + // Pair value is a list + expect(lp('[a:[1,2,3]]')).equal([{ a: [1, 2, 3] }]) + expect(lp('[a:[[1],[2]]]')).equal([{ a: [[1], [2]] }]) + // List element is a list (no pairs) + expect(lp('[[1,2],a:3]')).equal([[1, 2], { a: 3 }]) + expect(lp('[a:1,[2,3],b:4]')).equal([{ a: 1 }, [2, 3], { b: 4 }]) + // Nested list.pair applies recursively to inner lists + expect(lp('[a:[b:1]]')).equal([{ a: [{ b: 1 }] }]) + expect(lp('[a:[b:1,c:2]]')).equal([{ a: [{ b: 1 }, { c: 2 }] }]) + expect(lp('[a:{b:[c:1,d:2]}]')).equal([{ a: { b: [{ c: 1 }, { d: 2 }] } }]) + // Deeply nested + expect(lp('[a:[b:[c:1]]]')).equal([{ a: [{ b: [{ c: 1 }] }] }]) + + // === Maps outside lists are unaffected by list.pair === + expect(lp('{a:1}')).equal({ a: 1 }) + expect(lp('{a:1,b:2}')).equal({ a: 1, b: 2 }) + expect(lp('a:1')).equal({ a: 1 }) + expect(lp('a:1,b:2')).equal({ a: 1, b: 2 }) + expect(lp('a:b:c')).equal({ a: { b: 'c' } }) + + // === Plain values in lists still work with list.pair === expect(lp('[1,2,3]')).equal([1, 2, 3]) + expect(lp('[]')).equal([]) + expect(lp('[true,false,null]')).equal([true, false, null]) + expect(lp('["a","b"]')).equal(['a', 'b']) }) // Test derived from debug sessions using quick.js diff --git a/test/spec/feature-list-pair.tsv b/test/spec/feature-list-pair.tsv new file mode 100644 index 0000000..cc5ffe5 --- /dev/null +++ b/test/spec/feature-list-pair.tsv @@ -0,0 +1,52 @@ +input expected +[a:1] [{"a":1}] +[a:1,b:2] [{"a":1},{"b":2}] +[a:1,b:2,c:3] [{"a":1},{"b":2},{"c":3}] +[a:1,2,b:3] [{"a":1},2,{"b":3}] +[1,a:2,3] [1,{"a":2},3] +[1,2,a:3] [1,2,{"a":3}] +[a:1,2,3] [{"a":1},2,3] +[a:{b:1}] [{"a":{"b":1}}] +[a:{b:1,c:2}] [{"a":{"b":1,"c":2}}] +[a:{},b:1] [{"a":{}},{"b":1}] +[a:{b:{c:1}}] [{"a":{"b":{"c":1}}}] +[a:{b:1,c:{d:2}}] [{"a":{"b":1,"c":{"d":2}}}] +[a:{b:1},c:{d:2}] [{"a":{"b":1}},{"c":{"d":2}}] +[{a:1},b:2] [{"a":1},{"b":2}] +[a:1,{b:2}] [{"a":1},{"b":2}] +[{a:1},{b:2}] [{"a":1},{"b":2}] +[{a:1,b:2},c:3,{d:4}] [{"a":1,"b":2},{"c":3},{"d":4}] +[a:[1,2]] [{"a":[1,2]}] +[a:[1,2],b:[3,4]] [{"a":[1,2]},{"b":[3,4]}] +[a:[],b:1] [{"a":[]},{"b":1}] +[[1],a:2] [[1],{"a":2}] +[a:1,[2,3]] [{"a":1},[2,3]] +[a:[{b:1},{c:2}]] [{"a":[{"b":1},{"c":2}]}] +[a:[b:1]] [{"a":[{"b":1}]}] +[a:[b:1,c:2]] [{"a":[{"b":1},{"c":2}]}] +[a:{b:[c:1]}] [{"a":{"b":[{"c":1}]}}] +[a:b:1] [{"a":{"b":1}}] +[a:b:c] [{"a":{"b":"c"}}] +[a:b:c:1] [{"a":{"b":{"c":1}}}] +[a:b:1,c:d:2] [{"a":{"b":1}},{"c":{"d":2}}] +[a:] [{"a":null}] +[a:,b:] [{"a":null},{"b":null}] +[a:null] [{"a":null}] +[a:"hello"] [{"a":"hello"}] +["a":1] [{"a":1}] +[1:a] [{"1":"a"}] +[a:true] [{"a":true}] +[a:false] [{"a":false}] +[a:1,a:2] [{"a":1},{"a":2}] +[] [] +[1,2,3] [1,2,3] +[a:1,] [{"a":1}] +[a:1,b:2,] [{"a":1},{"b":2}] +[a:1 b:2] [{"a":1},{"b":2}] +[a:1 2 b:3] [{"a":1},2,{"b":3}] +[a:b:1 c:d:2] [{"a":{"b":1}},{"c":{"d":2}}] +[a:{x:1} b:{y:2}] [{"a":{"x":1}},{"b":{"y":2}}] +[,a:1] [null,{"a":1}] +[a:1,,b:2] [{"a":1},null,{"b":2}] +[a:[[1]]] [{"a":[[1]]}] +[a:'hello world'] [{"a":"hello world"}] From 37dbada752a39650208f548fac25abd75bfb38b2 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 2 Mar 2026 19:59:38 +0000 Subject: [PATCH 3/5] Add list.child option to parse bare colon as child$ property on arrays When list.child is true (default false), [:value] syntax stores the value on the array as the child$ property. Multiple child values merge using the same logic as map.extend (deep merge by default, last-wins when extend is false). Examples: [:1] -> [] with child$=1 [1,:2,3] -> [1,3] with child$=2 [:{a:1},:{b:2}]-> [] with child$={a:1,b:2} Works independently with list.property and list.pair. Maps outside lists are unaffected. TSV tests: feature-list-child.tsv (44 cases), feature-list-child-pair.tsv (17 cases), plus JS interaction tests. https://claude.ai/code/session_01243eqnwQ2sKcfwQgdtqV7A --- dist/defaults.js | 3 ++ dist/defaults.js.map | 2 +- dist/grammar.js | 23 ++++++++ dist/grammar.js.map | 2 +- dist/types.d.ts | 2 + dist/utility.js | 1 + dist/utility.js.map | 2 +- src/defaults.ts | 4 ++ src/grammar.ts | 25 +++++++++ src/types.ts | 2 + src/utility.ts | 1 + test/feature.test.js | 76 +++++++++++++++++++++++++++ test/spec/feature-list-child-pair.tsv | 18 +++++++ test/spec/feature-list-child.tsv | 45 ++++++++++++++++ 14 files changed, 203 insertions(+), 3 deletions(-) create mode 100644 test/spec/feature-list-child-pair.tsv create mode 100644 test/spec/feature-list-child.tsv diff --git a/dist/defaults.js b/dist/defaults.js index 042a232..2344abd 100644 --- a/dist/defaults.js +++ b/dist/defaults.js @@ -148,6 +148,9 @@ const defaults = { // Parse pairs as object elements: `[a:1]` -> `[{"a":1}]` // Takes precedence over list.property when true. pair: false, + // Parse bare colon as child$ property: `[:1]` -> [] with child$=1 + // Multiple child values merge. + child: false, }, // Keyword values. value: { diff --git a/dist/defaults.js.map b/dist/defaults.js.map index b858d8b..7371f8b 100644 --- a/dist/defaults.js.map +++ b/dist/defaults.js.map @@ -1 +1 @@ -{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/grammar.js b/dist/grammar.js index dd3a45c..bc2c676 100644 --- a/dist/grammar.js +++ b/dist/grammar.js @@ -404,6 +404,13 @@ function grammar(jsonic) { a: pairkey, g: 'elem,pair,jsonic', }, + // list.child: bare colon `:value` stores value on child$ property. + p.cfg.list.child && { + s: [CL], + p: 'val', + u: { done: true, child: true, list: true }, + g: 'elem,child,jsonic', + }, ]) .bc((r, ctx) => { if (true === r.u.pair) { @@ -421,6 +428,22 @@ function grammar(jsonic) { pairval(r, ctx); } } + if (true === r.u.child) { + let val = r.child.node; + val = undefined === val ? null : val; + let prev = r.node['child$']; + if (undefined === prev) { + r.node['child$'] = val; + } + else { + r.node['child$'] = + ctx.cfg.map.merge + ? ctx.cfg.map.merge(prev, val, r, ctx) + : ctx.cfg.map.extend + ? deep(prev, val) + : val; + } + } }) .close([ // Ignore trailing comma. diff --git a/dist/grammar.js.map b/dist/grammar.js.map index 390e2bc..b1650d4 100644 --- a/dist/grammar.js.map +++ b/dist/grammar.js.map @@ -1 +1 @@ -{"version":3,"file":"grammar.js","sourceRoot":"","sources":["../src/grammar.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"grammar.js","sourceRoot":"","sources":["../src/grammar.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/types.d.ts b/dist/types.d.ts index 776f84a..206c547 100644 --- a/dist/types.d.ts +++ b/dist/types.d.ts @@ -121,6 +121,7 @@ export type Options = { list?: { property: boolean; pair: boolean; + child: boolean; }; value?: { lex?: boolean; @@ -417,6 +418,7 @@ export type Config = { list: { property: boolean; pair: boolean; + child: boolean; }; debug: { get_console: () => any; diff --git a/dist/utility.js b/dist/utility.js index 61d7158..109aaae 100644 --- a/dist/utility.js +++ b/dist/utility.js @@ -252,6 +252,7 @@ function configure(jsonic, incfg, opts) { cfg.list = { property: !!opts.list?.property, pair: !!opts.list?.pair, + child: !!opts.list?.child, }; let fixedSorted = Object.keys(cfg.fixed.token).sort((a, b) => b.length - a.length); let fixedRE = fixedSorted.map((fixed) => escre(fixed)).join('|'); diff --git a/dist/utility.js.map b/dist/utility.js.map index 3b4a8b1..6c40a81 100644 --- a/dist/utility.js.map +++ b/dist/utility.js.map @@ -1 +1 @@ -{"version":3,"file":"utility.js","sourceRoot":"","sources":["../src/utility.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"utility.js","sourceRoot":"","sources":["../src/utility.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/defaults.ts b/src/defaults.ts index 74083ad..3acbea9 100644 --- a/src/defaults.ts +++ b/src/defaults.ts @@ -197,6 +197,10 @@ const defaults: Options = { // Parse pairs as object elements: `[a:1]` -> `[{"a":1}]` // Takes precedence over list.property when true. pair: false, + + // Parse bare colon as child$ property: `[:1]` -> [] with child$=1 + // Multiple child values merge. + child: false, }, // Keyword values. diff --git a/src/grammar.ts b/src/grammar.ts index 56ddcbe..19c733a 100644 --- a/src/grammar.ts +++ b/src/grammar.ts @@ -500,6 +500,14 @@ function grammar(jsonic: Jsonic) { a: pairkey, g: 'elem,pair,jsonic', }, + + // list.child: bare colon `:value` stores value on child$ property. + p.cfg.list.child && { + s: [CL], + p: 'val', + u: { done: true, child: true, list: true }, + g: 'elem,child,jsonic', + }, ]) .bc((r: Rule, ctx: Context) => { if (true === r.u.pair) { @@ -516,6 +524,23 @@ function grammar(jsonic: Jsonic) { pairval(r, ctx) } } + + if (true === r.u.child) { + let val = r.child.node + val = undefined === val ? null : val + let prev = r.node['child$'] + + if (undefined === prev) { + r.node['child$'] = val + } else { + r.node['child$'] = + ctx.cfg.map.merge + ? ctx.cfg.map.merge(prev, val, r, ctx) + : ctx.cfg.map.extend + ? deep(prev, val) + : val + } + } }) .close( [ diff --git a/src/types.ts b/src/types.ts index 4b8c638..a1e84d6 100644 --- a/src/types.ts +++ b/src/types.ts @@ -180,6 +180,7 @@ export type Options = { list?: { property: boolean pair: boolean + child: boolean } value?: { lex?: boolean @@ -562,6 +563,7 @@ export type Config = { list: { property: boolean pair: boolean + child: boolean } debug: { diff --git a/src/utility.ts b/src/utility.ts index a6d3622..6d2a96f 100644 --- a/src/utility.ts +++ b/src/utility.ts @@ -309,6 +309,7 @@ function configure( cfg.list = { property: !!opts.list?.property, pair: !!opts.list?.pair, + child: !!opts.list?.child, } let fixedSorted = Object.keys(cfg.fixed.token).sort( diff --git a/test/feature.test.js b/test/feature.test.js index 4e50da3..ddd0669 100644 --- a/test/feature.test.js +++ b/test/feature.test.js @@ -40,6 +40,26 @@ function tsvTestWith(name, opts) { } } +function tsvTestListChild(name, opts) { + const instance = Jsonic.make(opts) + const entries = loadTSV(name) + for (const { cols, row } of entries) { + const [input, expectedArray, expectedChild] = cols + try { + let result = instance(input) + expect(JS(result)).equal(expectedArray) + if (expectedChild !== undefined && expectedChild !== '') { + expect(result['child$']).equal(JSON.parse(expectedChild)) + } else { + expect(result['child$']).equal(undefined) + } + } catch (err) { + err.message = `${name} row ${row}: input=${input} expected_array=${expectedArray} expected_child=${expectedChild}\n${err.message}` + throw err + } + } +} + describe('feature', function () { it('test-util-match', () => { expect(match(1, 1)).not.exist() @@ -936,6 +956,62 @@ describe('feature', function () { expect(lp('["a","b"]')).equal(['a', 'b']) }) + it('list-child', () => { + tsvTestListChild('feature-list-child', { list: { child: true } }) + }) + + it('list-child-pair', () => { + tsvTestListChild('feature-list-child-pair', { list: { child: true, pair: true } }) + }) + + it('list-child-interaction', () => { + // === child=false (default): bare colon in list is an error === + expect(() => j('[:1]')).throw(/unexpected/) + expect(() => j('[1,:2]')).throw(/unexpected/) + + // === child=true, property=true (default): both work independently === + let lc = j.make({ list: { child: true } }) + // child$ is set as property, key:val is set as property + expect(JS(lc('[a:1,:2]'))).equal('[]') + expect(lc('[a:1,:2]').a).equal(1) + expect(lc('[a:1,:2]')['child$']).equal(2) + + // === child=true, property=false: child works, key:val errors === + let lc_noprop = j.make({ list: { child: true, property: false } }) + expect(lc_noprop('[:1]')['child$']).equal(1) + expect(() => lc_noprop('[a:1]')).throw(/unexpected/) + + // === child=true, pair=true: pairs become elements, child$ still property === + let lc_pair = j.make({ list: { child: true, pair: true } }) + expect(lc_pair('[a:1,:2]')).equal([{ a: 1 }]) + expect(lc_pair('[a:1,:2]')['child$']).equal(2) + expect(lc_pair('[:1,a:2]')).equal([{ a: 2 }]) + expect(lc_pair('[:1,a:2]')['child$']).equal(1) + + // === child=true, pair=true, property=false: all three options === + let lc_all = j.make({ list: { child: true, pair: true, property: false } }) + expect(lc_all('[a:1,:2]')).equal([{ a: 1 }]) + expect(lc_all('[a:1,:2]')['child$']).equal(2) + + // === Nested lists: inner list child$ is independent === + expect(JS(lc('[[:1]]'))).equal('[[]]') + expect(lc('[[:1]]')[0]['child$']).equal(1) + expect(lc('[[:1]]')['child$']).equal(undefined) + + // === child$ merges with map.extend (default) === + expect(lc('[:{a:1},:{b:2}]')['child$']).equal({ a: 1, b: 2 }) + expect(lc('[:{a:{x:1}},:{a:{y:2}}]')['child$']).equal({ a: { x: 1, y: 2 } }) + + // === child$ without map.extend: last value wins === + let lc_noext = j.make({ list: { child: true }, map: { extend: false } }) + expect(lc_noext('[:{a:1},:{b:2}]')['child$']).equal({ b: 2 }) + expect(lc_noext('[:1,:2]')['child$']).equal(2) + + // === Maps outside lists are unaffected by list.child === + expect(lc('{a:1}')).equal({ a: 1 }) + expect(lc('a:1,b:2')).equal({ a: 1, b: 2 }) + }) + // Test derived from debug sessions using quick.js it('debug-cases', () => { tsvTest('feature-debug-cases') diff --git a/test/spec/feature-list-child-pair.tsv b/test/spec/feature-list-child-pair.tsv new file mode 100644 index 0000000..5ea1045 --- /dev/null +++ b/test/spec/feature-list-child-pair.tsv @@ -0,0 +1,18 @@ +input expected_array expected_child +[:1] [] 1 +[a:1] [{"a":1}] +[a:1,:2] [{"a":1}] 2 +[:1,a:2] [{"a":2}] 1 +[a:1,:2,b:3] [{"a":1},{"b":3}] 2 +[:1,a:2,b:3] [{"a":2},{"b":3}] 1 +[a:1,b:2,:3] [{"a":1},{"b":2}] 3 +[a:1,:2,:3] [{"a":1}] 3 +[:1,:2,a:3] [{"a":3}] 2 +[] [] +[1,2,3] [1,2,3] +[a:1,2,:3] [{"a":1},2] 3 +[:1,2,a:3] [2,{"a":3}] 1 +[{a:1},:2] [{"a":1}] 2 +[:1,{a:2}] [{"a":2}] 1 +[:{a:1}] [] {"a":1} +[a:{b:1},:2] [{"a":{"b":1}}] 2 diff --git a/test/spec/feature-list-child.tsv b/test/spec/feature-list-child.tsv new file mode 100644 index 0000000..86770be --- /dev/null +++ b/test/spec/feature-list-child.tsv @@ -0,0 +1,45 @@ +input expected_array expected_child +[:1] [] 1 +[:a] [] "a" +[:"hello"] [] "hello" +[:true] [] true +[:false] [] false +[:null] [] null +[:] [] null +[:{a:1}] [] {"a":1} +[:{a:1,b:2}] [] {"a":1,"b":2} +[:{}] [] {} +[:{a:{b:1}}] [] {"a":{"b":1}} +[:[1,2]] [] [1,2] +[:[]] [] [] +[:[[1],[2]]] [] [[1],[2]] +[1,:2] [1] 2 +[:1,2] [2] 1 +[1,:2,3] [1,3] 2 +[1,2,:3] [1,2] 3 +[:1,2,3] [2,3] 1 +[:1,:2] [] 2 +[:1,:2,:3] [] 3 +[:{a:1},:{b:2}] [] {"a":1,"b":2} +[:{a:1},:{b:2},:{c:3}] [] {"a":1,"b":2,"c":3} +[:{a:{x:1}},:{a:{y:2}}] [] {"a":{"x":1,"y":2}} +[:{a:1},:{a:2}] [] {"a":2} +[a:1,:2] [] 2 +[:a:b] [] {"a":"b"} +[:a:b:1] [] {"a":{"b":1}} +[:1,] [] 1 +[1,:2,] [1] 2 +[:1,:2,] [] 2 +[,:1] [null] 1 +[,,:1] [null,null] 1 +[] [] +[1,2,3] [1,2,3] +[{a:1},:2] [{"a":1}] 2 +[:1,{a:2}] [{"a":2}] 1 +[[1,2],:3] [[1,2]] 3 +[:1,[2,3]] [[2,3]] 1 +[{a:1},:2,{b:3}] [{"a":1},{"b":3}] 2 +[:,1] [1] null +[1,:] [1] null +[:1,:2,3,:4] [3] 4 +[1,:2,3,:4,5] [1,3,5] 4 From 432c182ad8b7705d7129d60669268ead2d87649d Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 2 Mar 2026 21:21:12 +0000 Subject: [PATCH 4/5] Add deep nesting tests for list.child at multiple levels - TSV tests for outermost child$ with nested lists (feature-list-child-deep.tsv) - TSV tests for pair+child deep nesting (feature-list-child-pair-deep.tsv) - JS tests verifying child$ at every nesting depth: 2-level, 3-level, child-as-value chaining, sibling lists, maps containing lists with child$, and pair+child combinations at multiple levels https://claude.ai/code/session_01243eqnwQ2sKcfwQgdtqV7A --- test/feature.test.js | 139 +++++++++++++++++++++ test/spec/feature-list-child-deep.tsv | 20 +++ test/spec/feature-list-child-pair-deep.tsv | 8 ++ 3 files changed, 167 insertions(+) create mode 100644 test/spec/feature-list-child-deep.tsv create mode 100644 test/spec/feature-list-child-pair-deep.tsv diff --git a/test/feature.test.js b/test/feature.test.js index ddd0669..d1a1a10 100644 --- a/test/feature.test.js +++ b/test/feature.test.js @@ -1012,6 +1012,145 @@ describe('feature', function () { expect(lc('a:1,b:2')).equal({ a: 1, b: 2 }) }) + it('list-child-deep', () => { + tsvTestListChild('feature-list-child-deep', { list: { child: true } }) + }) + + it('list-child-pair-deep', () => { + tsvTestListChild('feature-list-child-pair-deep', { list: { child: true, pair: true } }) + }) + + it('list-child-deep-multilevel', () => { + let lc = j.make({ list: { child: true } }) + let lcp = j.make({ list: { child: true, pair: true } }) + + // === 2-level nesting: child at inner level only === + let r1 = lc('[[:1]]') + expect(JS(r1)).equal('[[]]') + expect(r1['child$']).equal(undefined) + expect(r1[0]['child$']).equal(1) + + // === 2-level: sibling lists with different child values === + let r2 = lc('[[:1],[:2]]') + expect(JS(r2)).equal('[[],[]]') + expect(r2['child$']).equal(undefined) + expect(r2[0]['child$']).equal(1) + expect(r2[1]['child$']).equal(2) + + // === 3-level nesting: child only at deepest level === + let r3 = lc('[[[:1]]]') + expect(JS(r3)).equal('[[[]]]') + expect(r3['child$']).equal(undefined) + expect(r3[0]['child$']).equal(undefined) + expect(r3[0][0]['child$']).equal(1) + + // === 2-level: child at both levels === + let r4 = lc('[[:1],:2]') + expect(JS(r4)).equal('[[]]') + expect(r4['child$']).equal(2) + expect(r4[0]['child$']).equal(1) + + // === 3-level: child at every level === + let r5 = lc('[[[:1],:2],:3]') + expect(JS(r5)).equal('[[[]]]') + expect(r5['child$']).equal(3) + expect(r5[0]['child$']).equal(2) + expect(r5[0][0]['child$']).equal(1) + + // === child value is a list which itself has child === + let r6 = lc('[:[:1]]') + expect(JS(r6)).equal('[]') + expect(JS(r6['child$'])).equal('[]') + expect(r6['child$']['child$']).equal(1) + + // === 3 levels deep via child-as-value chaining === + let r7 = lc('[:[:[:1]]]') + expect(JS(r7)).equal('[]') + expect(JS(r7['child$'])).equal('[]') + expect(JS(r7['child$']['child$'])).equal('[]') + expect(r7['child$']['child$']['child$']).equal(1) + + // === child value is list with elements and child === + let r8 = lc('[1,:[:2,3]]') + expect(JS(r8)).equal('[1]') + expect(JS(r8['child$'])).equal('[3]') + expect(r8['child$']['child$']).equal(2) + + // === Mixed elements with deep child === + let r9 = lc('[1,[2,[3,:4]]]') + expect(JS(r9)).equal('[1,[2,[3]]]') + expect(r9['child$']).equal(undefined) + expect(r9[1]['child$']).equal(undefined) + expect(r9[1][1]['child$']).equal(4) + + // === Deep with multiple children at inner level (last wins) === + let r10 = lc('[1,[:2,:3],4,:5]') + expect(JS(r10)).equal('[1,[],4]') + expect(r10['child$']).equal(5) + expect(r10[1]['child$']).equal(3) + + // === Sibling lists: one with child, one without === + let r11 = lc('[[1,2],[:3]]') + expect(JS(r11)).equal('[[1,2],[]]') + expect(r11['child$']).equal(undefined) + expect(r11[0]['child$']).equal(undefined) + expect(r11[1]['child$']).equal(3) + + // === Inner child$ merges objects === + let r12 = lc('[[:{a:1},:{b:2}]]') + expect(JS(r12)).equal('[[]]') + expect(r12['child$']).equal(undefined) + expect(r12[0]['child$']).equal({ a: 1, b: 2 }) + + // === Map containing list with child$ === + let r13 = lc('{x:[:1,2]}') + expect(JS(r13)).equal('{"x":[2]}') + expect(r13.x['child$']).equal(1) + + // === Nested maps containing lists with child$ === + let r14 = lc('{x:{y:[:1,2]}}') + expect(JS(r14)).equal('{"x":{"y":[2]}}') + expect(r14.x.y['child$']).equal(1) + + // === Array of maps each containing lists with child$ === + let r15 = lc('[{a:[:1]},{b:[:2]}]') + expect(JS(r15)).equal('[{"a":[]},{"b":[]}]') + expect(r15[0].a['child$']).equal(1) + expect(r15[1].b['child$']).equal(2) + + // === pair+child at multiple levels === + let r16 = lcp('[[a:1,:2]]') + expect(JS(r16)).equal('[[{"a":1}]]') + expect(r16['child$']).equal(undefined) + expect(r16[0]['child$']).equal(2) + + // === pair+child: child at both levels === + let r17 = lcp('[a:1,[b:2,:3],:4]') + expect(JS(r17)).equal('[{"a":1},[{"b":2}]]') + expect(r17['child$']).equal(4) + expect(r17[1]['child$']).equal(3) + + // === pair+child: 3-level child at every level === + let r18 = lcp('[[[:5],:6],:7]') + expect(JS(r18)).equal('[[[]]]') + expect(r18['child$']).equal(7) + expect(r18[0]['child$']).equal(6) + expect(r18[0][0]['child$']).equal(5) + + // === pair+child: sibling inner lists with independent child values === + let r19 = lcp('[[a:1,:2],[b:3,:4]]') + expect(JS(r19)).equal('[[{"a":1}],[{"b":3}]]') + expect(r19['child$']).equal(undefined) + expect(r19[0]['child$']).equal(2) + expect(r19[1]['child$']).equal(4) + + // === pair+child: inner list with multiple pairs and child === + let r20 = lcp('[a:1,[b:2,c:3,:4]]') + expect(JS(r20)).equal('[{"a":1},[{"b":2},{"c":3}]]') + expect(r20['child$']).equal(undefined) + expect(r20[1]['child$']).equal(4) + }) + // Test derived from debug sessions using quick.js it('debug-cases', () => { tsvTest('feature-debug-cases') diff --git a/test/spec/feature-list-child-deep.tsv b/test/spec/feature-list-child-deep.tsv new file mode 100644 index 0000000..9a7a91c --- /dev/null +++ b/test/spec/feature-list-child-deep.tsv @@ -0,0 +1,20 @@ +input expected_array expected_child +[[:1]] [[]] +[[:1],[:2]] [[],[]] +[[[:1]]] [[[]]] +[[:1],:2] [[]] 2 +[:[:1]] [] [] +[1,[:2,:3],4,:5] [1,[],4] 5 +[1,:[:2,3]] [1] [3] +[[[:1],:2],:3] [[[]]] 3 +[:[:[:1]]] [] [] +[[1,2],[:3]] [[1,2],[]] +[[:{a:1}],[:{b:2}],:3] [[],[]] 3 +[1,[2,[3,:4]]] [1,[2,[3]]] +[[:1],[2,3],[:4]] [[],[2,3],[]] +[[:1],:2,[:3],:4] [[],[]] 4 +[:1,[:2]] [[]] 1 +[[:1],2,:3] [[],2] 3 +[,[:{a:1}],:2] [null,[]] 2 +[:[:1,:2]] [] [] +[:{a:1},:[:2]] [] [] diff --git a/test/spec/feature-list-child-pair-deep.tsv b/test/spec/feature-list-child-pair-deep.tsv new file mode 100644 index 0000000..e56c76c --- /dev/null +++ b/test/spec/feature-list-child-pair-deep.tsv @@ -0,0 +1,8 @@ +input expected_array expected_child +[[a:1,:2]] [[{"a":1}]] +[a:1,[b:2,:3],:4] [{"a":1},[{"b":2}]] 4 +[[[:5],:6],:7] [[[]]] 7 +[a:1,[b:2,c:3,:4]] [{"a":1},[{"b":2},{"c":3}]] +[[a:1,:2],[b:3,:4]] [[{"a":1}],[{"b":3}]] +[:1,[a:2]] [[{"a":2}]] 1 +[a:1,[:2]] [{"a":1},[]] From b21b80a0730358b87bffcd86652ca77d1271aac8 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 2 Mar 2026 22:41:40 +0000 Subject: [PATCH 5/5] Add map.child option to parse bare colon as child$ property on maps When map.child is true (default false), {:1,a:2} parses as {"child$":1,"a":2}. Multiple child values merge using the same deep-merge logic as duplicate keys (map.extend/map.merge). - Grammar: add CL alternate in pair rule open, with bc handler for child$ assignment and merge - Works in explicit maps ({:1}), implicit maps (a:1,:2), and nested maps at any depth - TSV tests: feature-map-child.tsv (31 cases), feature-map-child-deep.tsv (10 cases for deep structures with both map.child and list.child) - JS tests: map-child-interaction covering disabled default, merge semantics, extend=false, independence from list.child, nested maps with child$ at multiple levels, and cross-feature interactions https://claude.ai/code/session_01243eqnwQ2sKcfwQgdtqV7A --- dist/defaults.js | 2 + dist/defaults.js.map | 2 +- dist/grammar.js | 25 +++++++- dist/grammar.js.map | 2 +- dist/types.d.ts | 2 + dist/utility.js | 1 + dist/utility.js.map | 2 +- src/defaults.ts | 3 + src/grammar.ts | 27 ++++++++- src/types.ts | 2 + src/utility.ts | 1 + test/feature.test.js | 85 ++++++++++++++++++++++++++++ test/spec/feature-map-child-deep.tsv | 11 ++++ test/spec/feature-map-child.tsv | 32 +++++++++++ 14 files changed, 192 insertions(+), 5 deletions(-) create mode 100644 test/spec/feature-map-child-deep.tsv create mode 100644 test/spec/feature-map-child.tsv diff --git a/dist/defaults.js b/dist/defaults.js index 2344abd..ade30b4 100644 --- a/dist/defaults.js +++ b/dist/defaults.js @@ -140,6 +140,8 @@ const defaults = { // Custom merge function for duplicates (optional). // TODO: needs function signature merge: undefined, + // Allow bare colon `:value` in maps, stored as `child$` property. + child: false, }, // Array formats. list: { diff --git a/dist/defaults.js.map b/dist/defaults.js.map index 7371f8b..704c129 100644 --- a/dist/defaults.js.map +++ b/dist/defaults.js.map @@ -1 +1 @@ -{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAQzD,+CAA+C;AAC/C,yDAAyD;AACzD,2DAA2D;AAC3D,mCASgB;AAGhB,MAAM,QAAQ,GAAY;IACxB,8BAA8B;IAC9B,IAAI,EAAE;QACJ,GAAG,EAAE,IAAI;KACV;IAED,8BAA8B;IAC9B,GAAG,EAAE,GAAG;IAER,sBAAsB;IACtB,KAAK,EAAE;QACL,uCAAuC;QACvC,GAAG,EAAE,IAAI;QAET,eAAe;QACf,KAAK,EAAE;YACL,KAAK,EAAE,GAAG;YACV,KAAK,EAAE,GAAG;YACV,KAAK,EAAE,GAAG;YACV,KAAK,EAAE,GAAG;YACV,KAAK,EAAE,GAAG;YACV,KAAK,EAAE,GAAG;SACX;KACF;IAED,KAAK,EAAE;QACL,GAAG,EAAE,IAAI;QACT,KAAK,EAAE,EAAE;KACV;IAED,cAAc;IACd,QAAQ,EAAE;QACR,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;QAC7B,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;QACjC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;KAClC;IAED,2CAA2C;IAC3C,KAAK,EAAE;QACL,gCAAgC;QAChC,GAAG,EAAE,IAAI;QAET,8CAA8C;QAC9C,8EAA8E;QAC9E,KAAK,EAAE,KAAK;KACb;IAED,eAAe;IACf,IAAI,EAAE;QACJ,gCAAgC;QAChC,GAAG,EAAE,IAAI;QAET,mBAAmB;QACnB,KAAK,EAAE,MAAM;QAEb,qCAAqC;QACrC,QAAQ,EAAE,IAAI;QAEd,mDAAmD;QACnD,sCAAsC;QACtC,MAAM,EAAE,KAAK;KACd;IAED,gBAAgB;IAChB,IAAI,EAAE;QACJ,oDAAoD;QACpD,GAAG,EAAE,IAAI;KACV;IAED,0BAA0B;IAC1B,MAAM,EAAE;QACN,kCAAkC;QAClC,GAAG,EAAE,IAAI;QAET,2CAA2C;QAC3C,GAAG,EAAE,IAAI;QAET,6CAA6C;QAC7C,GAAG,EAAE,IAAI;QAET,gDAAgD;QAChD,GAAG,EAAE,IAAI;QAET,kEAAkE;QAClE,2CAA2C;QAE3C,+CAA+C;QAC/C,GAAG,EAAE,GAAG;QAER,8CAA8C;QAC9C,OAAO,EAAE,SAAS;KACnB;IAED,mBAAmB;IACnB,4CAA4C;IAC5C,iDAAiD;IACjD,OAAO,EAAE;QACP,mCAAmC;QACnC,GAAG,EAAE,IAAI;QAET,eAAe;QACf,8BAA8B;QAC9B,iBAAiB;QAEjB,mBAAmB;QACnB,GAAG,EAAE;YACH,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE;YAC3D,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE;YAC7D,KAAK,EAAE;gBACL,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE,GAAG,GAAG,GAAG;gBAChB,GAAG,EAAE,GAAG,GAAG,GAAG;gBACd,GAAG,EAAE,IAAI;gBACT,OAAO,EAAE,KAAK;aACf;SACF;KACF;IAED,kBAAkB;IAClB,MAAM,EAAE;QACN,kCAAkC;QAClC,GAAG,EAAE,IAAI;QAET,mBAAmB;QACnB,KAAK,EAAE,MAAM;QAEb,yBAAyB;QACzB,UAAU,EAAE,GAAG;QAEf,oBAAoB;QACpB,UAAU,EAAE,IAAI;QAEhB,uBAAuB;QACvB,sDAAsD;QACtD,MAAM,EAAE;YACN,CAAC,EAAE,IAAI;YACP,CAAC,EAAE,IAAI;YACP,CAAC,EAAE,IAAI;YACP,CAAC,EAAE,IAAI;YACP,CAAC,EAAE,IAAI;YACP,CAAC,EAAE,IAAI;YAEP,2DAA2D;YAC3D,GAAG,EAAE,GAAG;YACR,GAAG,EAAE,GAAG;YACR,GAAG,EAAE,GAAG;YACR,IAAI,EAAE,IAAI;YACV,GAAG,EAAE,GAAG;SACT;QAED,4EAA4E;QAC5E,YAAY,EAAE,IAAI;QAElB,yEAAyE;QACzE,OAAO,EAAE,KAAK;KACf;IAED,kBAAkB;IAClB,GAAG,EAAE;QACH,0BAA0B;QAC1B,oEAAoE;QACpE,MAAM,EAAE,IAAI;QAEZ,mDAAmD;QACnD,iCAAiC;QACjC,KAAK,EAAE,SAAS;KACjB;IAED,iBAAiB;IACjB,IAAI,EAAE;QACJ,+CAA+C;QAC/C,QAAQ,EAAE,IAAI;QAEd,yDAAyD;QACzD,iDAAiD;QACjD,IAAI,EAAE,KAAK;QAEX,kEAAkE;QAClE,+BAA+B;QAC/B,KAAK,EAAE,KAAK;KACb;IAED,kBAAkB;IAClB,KAAK,EAAE;QACL,GAAG,EAAE,IAAI;QACT,GAAG,EAAE;YACH,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE;YACnB,KAAK,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE;YACrB,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE;SACpB;KACF;IAED,oCAAoC;IACpC,KAAK,EAAE,EAAE;IAET,qDAAqD;IACrD,MAAM,EAAE,EAAE;IAEV,iBAAiB;IACjB,KAAK,EAAE;QACL,+BAA+B;QAC/B,WAAW,EAAE,GAAG,EAAE,CAAC,OAAO;QAE1B,sCAAsC;QACtC,MAAM,EAAE,EAAE;QAEV,4BAA4B;QAC5B,KAAK,EAAE;YACL,mCAAmC;YACnC,MAAM,EAAE,KAAK;YAEb,mDAAmD;YACnD,GAAG,EAAE,SAAS;SACf;KACF;IAED,kBAAkB;IAClB,KAAK,EAAE;QACL,OAAO,EAAE,uBAAuB;QAChC,UAAU,EAAE,gCAAgC;QAC5C,eAAe,EAAE,+BAA+B;QAChD,aAAa,EAAE,6BAA6B;QAC5C,WAAW,EAAE,8BAA8B;QAC3C,mBAAmB,EAAE,4BAA4B;QACjD,oBAAoB,EAAE,6BAA6B;QACnD,YAAY,EAAE,0BAA0B;QACxC,aAAa,EAAE,0BAA0B;KAC1C;IAED,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,IAAI;KACb;IAED,wCAAwC;IACxC,IAAI,EAAE;QACJ,OAAO,EAAE;;;;;UAKH;QAEN,UAAU,EAAE;;;;;;;sCAOsB;QAElC,eAAe,EAAE;;;;;qBAKA;QAEjB,aAAa,EAAE;;;;;WAKR;QAEP,WAAW,EAAE;;;;kBAIC;QAEd,mBAAmB,EAAE;8BACK;QAE1B,oBAAoB,EAAE;8BACI;QAE1B,YAAY,EAAE;;qBAEG;QAEjB,aAAa,EAAE;0BACO;KACvB;IAED,QAAQ;IACR,GAAG,EAAE;QACH,KAAK,EAAE;YACL,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,wBAAgB,EAAE;YAC7C,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,wBAAgB,EAAE;YAC7C,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,wBAAgB,EAAE;YAC7C,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,uBAAe,EAAE;YAC3C,MAAM,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,yBAAiB,EAAE;YAC/C,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,0BAAkB,EAAE;YACjD,MAAM,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,yBAAiB,EAAE;YAC/C,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,uBAAe,EAAE;SAC5C;QAED,gDAAgD;QAChD,KAAK,EAAE,IAAI;QACX,WAAW,EAAE,SAAS;KACvB;IAED,SAAS;IACT,KAAK,EAAE;QACL,qDAAqD;QACrD,OAAO,EAAE,EAAE;KACZ;IAED,uBAAuB;IACvB,IAAI,EAAE;QACJ,6BAA6B;QAC7B,KAAK,EAAE,KAAK;QAEZ,mDAAmD;QACnD,MAAM,EAAE,IAAI;QAEZ,gEAAgE;QAChE,MAAM,EAAE,CAAC;QAET,gEAAgE;QAChE,6DAA6D;QAC7D,OAAO,EAAE,EAAE;QAEX,qDAAqD;QACrD,6DAA6D;QAC7D,OAAO,EAAE,EAAE;KACZ;IAED,wBAAwB;IACxB,MAAM,EAAE;QACN,uCAAuC;QACvC,IAAI,EAAE,EAAE;KACT;IAED,yBAAyB;IACzB,MAAM,EAAE;QACN,2BAA2B;QAC3B,MAAM,EAAE,EAAE;KACX;IAED,2BAA2B;IAC3B,MAAM,EAAE;QACN,KAAK,EAAE,SAAS;KACjB;CACF,CAAA;AAEQ,4BAAQ"} \ No newline at end of file +{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/grammar.js b/dist/grammar.js index bc2c676..fc0b9e6 100644 --- a/dist/grammar.js +++ b/dist/grammar.js @@ -306,16 +306,39 @@ function grammar(jsonic) { ], { append: true }); }); // sets key:val on node - jsonic.rule('pair', (rs, _p) => { + jsonic.rule('pair', (rs, p) => { rs.open([ // Ignore initial comma: {,a:1. { s: [CA], g: 'map,pair,comma,jsonic' }, + // map.child: bare colon `:value` stores value on child$ property. + p.cfg.map.child && { + s: [CL], + p: 'val', + u: { done: true, child: true }, + g: 'map,pair,child,jsonic', + }, ], { append: true }) // NOTE: JSON pair.bc runs first, then this bc may override value. .bc((r, ctx) => { if (r.u.pair) { pairval(r, ctx); } + if (true === r.u.child) { + let val = r.child.node; + val = undefined === val ? null : val; + let prev = r.node['child$']; + if (undefined === prev) { + r.node['child$'] = val; + } + else { + r.node['child$'] = + ctx.cfg.map.merge + ? ctx.cfg.map.merge(prev, val, r, ctx) + : ctx.cfg.map.extend + ? deep(prev, val) + : val; + } + } }) .close([ // End of map, reset implicit depth counter so that diff --git a/dist/grammar.js.map b/dist/grammar.js.map index b1650d4..5b91c86 100644 --- a/dist/grammar.js.map +++ b/dist/grammar.js.map @@ -1 +1 @@ -{"version":3,"file":"grammar.js","sourceRoot":"","sources":["../src/grammar.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"grammar.js","sourceRoot":"","sources":["../src/grammar.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/types.d.ts b/dist/types.d.ts index 206c547..866a282 100644 --- a/dist/types.d.ts +++ b/dist/types.d.ts @@ -117,6 +117,7 @@ export type Options = { map?: { extend?: boolean; merge?: (prev: any, curr: any) => any; + child?: boolean; }; list?: { property: boolean; @@ -414,6 +415,7 @@ export type Config = { map: { extend: boolean; merge?: (prev: any, curr: any, rule: Rule, ctx: Context) => any; + child: boolean; }; list: { property: boolean; diff --git a/dist/utility.js b/dist/utility.js index 109aaae..4f8e0d8 100644 --- a/dist/utility.js +++ b/dist/utility.js @@ -248,6 +248,7 @@ function configure(jsonic, incfg, opts) { cfg.map = { extend: !!opts.map?.extend, merge: opts.map?.merge, + child: !!opts.map?.child, }; cfg.list = { property: !!opts.list?.property, diff --git a/dist/utility.js.map b/dist/utility.js.map index 6c40a81..c2fa80c 100644 --- a/dist/utility.js.map +++ b/dist/utility.js.map @@ -1 +1 @@ -{"version":3,"file":"utility.js","sourceRoot":"","sources":["../src/utility.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"utility.js","sourceRoot":"","sources":["../src/utility.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AA64BvD,wBAAM;AACN,0BAAO;AACP,sBAAK;AACL,sBAAK;AACL,8BAAS;AACT,oBAAI;AAGJ,sBAAK;AACL,kCAAW;AAEX,0BAAO;AACP,oBAAI;AACJ,wBAAM;AACN,oBAAI;AACJ,wBAAM;AACN,4BAAQ;AACR,gCAAU;AACV,kBAAG;AAIH,oCAAY;AACZ,0BAAO;AA74BT,mCAAuC;AAEvC,mCAA8C;AAC9C,mCAAqC;AAErC,uCAAuC;AACvC,iCAAiC;AACjC,4DAA4D;AAC5D,MAAM,IAAI,GAAG,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;AAk4BxD,oBAAI;AAj4BN,MAAM,MAAM,GAAG,CAAI,CAA0C,EAAO,EAAE,CACpE,IAAI,IAAI,CAAC,CAAC,CAAC,CAAE,EAAU,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;AAi4B1C,wBAAM;AAh4BR,MAAM,OAAO,GAAG,CACd,CAA0C,EAC3B,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAE,EAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;AAg3BzE,0BAAO;AA/2BT,MAAM,MAAM,GAAG,CAAC,CAAM,EAAE,GAAG,CAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;AAu2B7E,wBAAM;AAt2BR,MAAM,KAAK,GAAG,CAAC,CAAM,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;AAi3BxC,sBAAK;AAh3BP,MAAM,OAAO,GAAG,MAAM,CAAC,cAAc,CAAA;AA42BnC,0BAAO;AAz2BT,uCAAuC;AACvC,MAAM,IAAI,GAAG,CAAC,CAAM,EAAE,CAAmB,EAAE,EAAE;IAC3C,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE;QACvD,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACrB,IAAI,SAAS,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxB,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAChB,CAAC;aAAM,CAAC;YACN,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA;QAClB,CAAC;QAED,wCAAwC;QACxC,IAAI,CAAC,GAAG,CAAC,CAAA;QACT,OAAO,SAAS,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;YACpB,CAAC,IAAI,CAAC,CAAA;QACR,CAAC;QAED,OAAO,CAAC,CAAA;IACV,CAAC,EAAE,EAAE,CAAC,CAAA;AACR,CAAC,CAAA;AAm2BC,oBAAI;AAj2BN,gBAAgB;AAChB,qDAAqD;AACrD,uCAAuC;AACvC,MAAM,CAAC,GAAG;IACR,MAAM,EAAE,IAAI;IACZ,SAAS,EAAE,IAAI;IACf,KAAK,EAAE,GAAG;IACV,GAAG,EAAE,IAAI;IACT,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,UAAU,EAAE,YAAY;IACxB,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,aAAK;IAClB,WAAW,EAAE,aAAa;IAC1B,aAAa,EAAE,eAAe;IAC9B,eAAe,EAAE,iBAAiB;IAClC,iBAAiB,EAAE,mBAAmB;IACtC,mBAAmB,EAAE,qBAAqB;IAC1C,oBAAoB,EAAE,sBAAsB;IAC5C,GAAG,EAAE,KAAK;IACV,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,GAAG;IACV,IAAI,EAAE,MAAM;CACb,CAAA;AAgyBC,cAAC;AA7xBH,uCAAuC;AACvC,kCAAkC;AAClC,SAAS,SAAS,CAChB,MAAW,EACX,KAAyB,EACzB,IAAa;IAEb,MAAM,GAAG,GAAG,KAAK,IAAK,EAAa,CAAA;IAEnC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;IACnB,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,IAAI,CAAC,CAAA;IAEpB,MAAM,CAAC,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;IAE3C,sDAAsD;IACtD,IAAI,KAAK,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;QAC7B,CAAC,CAAC,KAAK,CAAC,CAAA,CAAC,MAAM;QACf,CAAC,CAAC,KAAK,CAAC,CAAA,CAAC,MAAM;QACf,CAAC,CAAC,KAAK,CAAC,CAAA,CAAC,UAAU;QACnB,CAAC,CAAC,KAAK,CAAC,CAAA,CAAC,MAAM;QACf,CAAC,CAAC,KAAK,CAAC,CAAA,CAAC,QAAQ;QACjB,CAAC,CAAC,KAAK,CAAC,CAAA,CAAC,OAAO;QAChB,CAAC,CAAC,KAAK,CAAC,CAAA,CAAC,UAAU;QACnB,CAAC,CAAC,KAAK,CAAC,CAAA,CAAC,SAAS;QAClB,CAAC,CAAC,KAAK,CAAC,CAAA,CAAC,SAAS;QAClB,CAAC,CAAC,KAAK,CAAC,CAAA,CAAC,OAAO;QAChB,CAAC,CAAC,KAAK,CAAC,CAAA,CAAC,QAAQ;IACnB,CAAC;IAED,GAAG,CAAC,IAAI,GAAG;QACT,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;KAC7C,CAAA;IAED,GAAG,CAAC,KAAK,GAAG;QACV,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG;QACtB,KAAK,EAAE,IAAI,CAAC,KAAK;YACf,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,CAAmB,EAAE,EAAE,CAAC;gBACjE,GAAG;gBACH,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC;aACpB,CAAC;YACF,CAAC,CAAC,EAAE;QACN,GAAG,EAAE,SAAgB;QACrB,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK;KACzB,CAAA;IAED,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,CAAmB,EAAE,EAAE,CAAC;QACtE,GAAG;QACH,GAAG;KACJ,CAAC,CAAA;IACF,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,CAC3B,GAAG,CAAC,KAAK,CAAC,GAAG,EACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,CAAmB,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAClE,CAAA;IAED,GAAG,CAAC,KAAK,GAAG;QACV,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG;QACtB,KAAK,EAAE,IAAI,CAAC,KAAK;YACf,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,CAAgB,EAAE,EAAE,CAAC;gBAC/D,IAAI;gBACJ,IAAI;aACL,CAAC;YACF,CAAC,CAAC,EAAE;QACN,KAAK,EAAE,IAAI,CAAC,KAAK;YACf,CAAC,CAAC,IAAI,CACJ,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EACvB,CAAC,CAAC,IAAI,EAAE,OAAO,CAAgC,EAAE,EAAE,CAAC;gBAClD,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC;gBACnB,OAAO;aACR,CACF;YACD,CAAC,CAAC,EAAE;QACN,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK;KACzB,CAAA;IAED,mCAAmC;IACnC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,EAAE,OAAO,CAAgB,EAAE,EAAE,CAAC;QACvD,GAAG;QACH,CAAC,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC;KACjC,CAAC,CAAA;IAEF,wCAAwC;IACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ;QAC5B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CACjC,CAAC,CAAM,EAAE,CAAS,EAAE,EAAE,CAAC,CACrB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAI,IAAI,CAAC,QAAgB,CAAC,CAAC,CAAC;aAC9B,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC;aAC7B,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5B,CAAC,CACF,EACD,EAAE,CACH;QACD,CAAC,CAAC,EAAE,CAAA;IAEN,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAA;IACjC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,KAAY,EAAE,EAAE;QACrC,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QACnB,IAAI,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QAErB,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACvB,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA;YAC7B,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAA;QACpC,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,CAAA;QAC7B,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,+CAA+C;IAC/C,GAAG,CAAC,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,MAAM,CAC7C,CAAC,CAAM,EAAE,EAAS,EAAE,EAAE,CAAC,CACrB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3B,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;QAClD,CAAC,CACF,EACD,EAAE,CACH,CAAA;IAED,yEAAyE;IACzE,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,GAAG,CAAC,YAAY,CAAC,MAAM,IAAI,EAAE,CAAA;IAEvD,GAAG,CAAC,KAAK,GAAG;QACV,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG;QACtB,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC;QACjC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK;KACzB,CAAA;IAED,GAAG,CAAC,IAAI,GAAG;QACT,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG;QACrB,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;QAChC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;QACtC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM;QAC3B,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK;KACxB,CAAA;IAED,GAAG,CAAC,IAAI,GAAG;QACT,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG;QACrB,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,IAAI,EAAE,CAAC;aAC7B,MAAM,CACL,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,EAAmB,CACtE;aACA,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC;QAC3B,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK;KACxB,CAAA;IAED,GAAG,CAAC,MAAM,GAAG;QACX,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG;QACvB,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG;QACvB,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG;QACvB,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG;QACvB,GAAG,EAAE,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,EAAE,KAAK,IAAI,CAAC,MAAM,CAAC,GAAG;QACvD,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO;QAC7B,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG;QACzB,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK;KAC1B,CAAA;IAED,0CAA0C;IAC1C,GAAG,CAAC,KAAK,GAAG;QACV,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG;QACtB,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,MAAM,CACxC,CAAC,CAAM,EAAE,CAAQ,EAAE,EAAE,CAAC,CACpB,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CACpE,EACD,EAAS,CACV;QACD,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,MAAM,CAC1C,CAAC,CAAM,EAAE,CAAQ,EAAE,EAAE,CAAC,CACpB,CAAC,CAAC,CAAC,CAAC;YACJ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK;YACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YACzD,CAAC,CACF,EACD,EAAS,CACV;QAED,2DAA2D;QAC3D,iCAAiC;QACjC,qBAAqB;QACrB,+BAA+B;QAC/B,iCAAiC;QACjC,iCAAiC;KAClC,CAAA;IAED,GAAG,CAAC,IAAI,GAAG;QACT,KAAK,EAAE,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;QACzD,MAAM,EAAE,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM;QACxD,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM;QAC3B,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO;YACzB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;YAC7D,CAAC,CAAC,EAAE;QACN,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO;YACzB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;YAC7D,CAAC,CAAC,EAAE;KACP,CAAA;IAED,GAAG,CAAC,GAAG,GAAG;QACR,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM;QAC1B,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK;QACtB,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK;KACzB,CAAA;IAED,GAAG,CAAC,IAAI,GAAG;QACT,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ;QAC/B,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI;QACvB,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK;KAC1B,CAAA;IAED,IAAI,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CACjD,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAC9C,CAAA;IAED,IAAI,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAEhE,IAAI,cAAc,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG;QACpC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aACjD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC;aACzB,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;aAC/B,IAAI,CAAC,GAAG,CAAC;QACZ,CAAC,CAAC,EAAE,CAAA;IAEN,qBAAqB;IACrB,IAAI,OAAO,GAAG;QACZ,IAAI;QACJ,KAAK,CACH,IAAI,CACF,OAAO,CACL,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,EAChC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAC/B,CACF,CAAC,IAAI,CAAC,EAAE,CAAC,CACX;QACD,GAAG;QAEH,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAC,KAAK;YAC7B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACtB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;gBACzB,CAAC,CAAC,IAAI,CAAC,KAAK;gBACZ,CAAC,CAAC,EAAE,CACP;aACE,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;aAClC,IAAI,CAAC,EAAE,CAAC;QAEX,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG;QACzB,OAAO;QAEP,EAAE,KAAK,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG;QAChC,cAAc;QAEd,KAAK,EAAE,WAAW;KACnB,CAAA;IAED,GAAG,CAAC,MAAM,GAAG;QACX,KAAK,EAAE,OAAO;QACd,KAAK,EAAE,OAAO;QACd,YAAY,EAAE,cAAc;KAC7B,CAAA;IAED,yBAAyB;IACzB,GAAG,CAAC,EAAE,GAAG;QACP,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,OAAO,CAAC;QAE/B,oDAAoD;QACpD,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAElD,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,GAAG,EAAE,OAAO,CAAC;KACpE,CAAA;IAED,GAAG,CAAC,GAAG,GAAG;QACR,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK;QACxB,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,WAAW;QAClC,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK;YACpB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;iBACtB,MAAM,CAAC,CAAC,IAAW,EAAE,KAAU,EAAE,EAAE;gBAClC,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;gBACnB,IAAI,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;gBACxB,IAAI,SAAS,EAAE,CAAC;oBACd,IAAI,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;oBACvC,IAAI,OAAO,EAAE,CAAC;wBACZ,OAAO,CAAC,OAAO,GAAG,IAAI,CAAA;wBACtB,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAA;wBAC7B,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAA;oBACjC,CAAC;oBACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBACpB,CAAC;gBACD,OAAO,IAAI,CAAA;YACb,CAAC,EAAE,EAAE,CAAC;iBACL,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;iBACxD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;YACpC,CAAC,CAAC,EAAE;KACP,CAAA;IAED,GAAG,CAAC,KAAK,GAAG;QACV,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC;KACrC,CAAA;IAED,GAAG,CAAC,KAAK,GAAG;QACV,WAAW,EAAE,IAAI,CAAC,KAAK,EAAE,WAAW,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC;QACvD,MAAM,EAAE,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;QAC3D,KAAK,EAAE;YACL,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM;YACnC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG;SAC5B;KACF,CAAA;IAED,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAA;IAC5B,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAQ,CAAA;IACrD,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAA;IAE1B,sDAAsD;IACtD,IAAI,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,OAAe,EAAE,EAAE,CAClD,IAAI,CAAC,MAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAChD,CAAA;IACH,CAAC;IAED,gDAAgD;IAChD,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAC3B,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IACnD,CAAC;IAED,GAAG,CAAC,MAAM,GAAG;QACX,IAAI,EAAE,EAAE;KACT,CAAA;IAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACzC,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAA;IAClC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,EAAE,CAAA;IAC3B,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAA;IAC/D,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,SAAS,CAAA;IACjE,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,UAAU,CAAA;IACzD,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,SAAS,CAAA;IACxD,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,UAAU,CAAA;IAE/D,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IAC5B,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAA;IAC3B,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAA;IACrC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAEnC,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,oFAAoF;AACpF,qEAAqE;AACrE,SAAS,QAAQ,CAGf,GAAM,EAAE,GAAW,EAAE,MAAY;IACjC,IAAI,QAAQ,GAAQ,GAAG,CAAC,CAAC,CAAA;IACzB,IAAI,KAAK,GAAiB,QAAQ,CAAC,GAAG,CAAC,CAAA;IAEvC,IAAI,IAAI,IAAI,KAAK,IAAI,cAAM,KAAK,OAAO,GAAG,EAAE,CAAC;QAC3C,KAAK,GAAG,GAAG,CAAC,EAAE,EAAE,CAAA;QAChB,QAAQ,CAAC,KAAK,CAAC,GAAG,GAAG,CAAA;QACrB,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;QACrB,QAAQ,CAAE,GAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAA;QAE9C,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;YACnB,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAA;QAC7B,CAAC;IACH,CAAC;IAED,OAAO,KAAU,CAAA;AACnB,CAAC;AAED,oFAAoF;AACpF,SAAS,YAAY,CAGnB,GAAM,EAAE,GAAW;IACnB,IAAI,WAAW,GAAQ,GAAG,CAAC,QAAQ,CAAA;IACnC,IAAI,KAAK,GAAmB,WAAW,CAAC,GAAG,CAAC,CAAA;IAC5C,OAAO,KAAU,CAAA;AACnB,CAAC;AAED,+CAA+C;AAC/C,SAAS,IAAI,CAAC,CAAS,EAAE,CAAO;IAC9B,OAAO,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,CAAA;AAC/C,CAAC;AAED,4DAA4D;AAC5D,0DAA0D;AAC1D,SAAS,MAAM,CACb,KAAoB,EACpB,GAAG,KAAgD;IAEnD,OAAO,IAAI,MAAM,CACf,KAAK;SACF,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACR,CAAS,CAAC,GAAG;QACZ,CAAC,CAAC,6CAA6C;YAC/C,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC,CACN;SACA,IAAI,CAAC,aAAK,CAAC,EACd,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAC3B,CAAA;AACH,CAAC;AAED,SAAS,KAAK,CAAC,CAAqB;IAClC,OAAO,IAAI,IAAI,CAAC;QACd,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,CAAC;aACA,OAAO,CAAC,wBAAwB,EAAE,MAAM,CAAC;aACzC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;aACrB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;aACrB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AAC5B,CAAC;AAED,+DAA+D;AAC/D,uEAAuE;AACvE,wEAAwE;AACxE,uDAAuD;AACvD,SAAS,IAAI,CAAC,IAAU,EAAE,GAAG,IAAS;IACpC,IAAI,QAAQ,GAAG,CAAC,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAA;IACzC,IAAI,QAAQ,GAAG,IAAI,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,IAAI,IAAI,QAAQ,CAAC,CAAA;IACrE,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QACtB,IAAI,QAAQ,GAAG,CAAC,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAA;QACzC,IAAI,QAAQ,GAAG,IAAI,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,IAAI,IAAI,QAAQ,CAAC,CAAA;QACrE,IAAI,SAAS,CAAA;QACb,IACE,QAAQ;YACR,QAAQ;YACR,CAAC,QAAQ;YACT,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAC3C,CAAC;YACD,KAAK,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;gBACnB,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;YAClC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI;gBACF,SAAS,KAAK,IAAI;oBAChB,CAAC,CAAC,IAAI;oBACN,CAAC,CAAC,QAAQ;wBACR,CAAC,CAAC,IAAI;wBACN,CAAC,CAAC,QAAQ;4BACR,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC;gCACpD,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,IAAI;gCAC3B,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,IAAI;gCAC1B,CAAC,CAAC,IAAI;gCACN,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC;4BAC7C,CAAC,CAAC,IAAI,CAAA;YAEd,QAAQ,GAAG,CAAC,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAA;YACrC,QAAQ,GAAG,IAAI,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,IAAI,IAAI,QAAQ,CAAC,CAAA;QACnE,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAGD,SAAS,MAAM,CAAC,GAAQ,EAAE,EAAO,EAAE,GAAY;IAC7C,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAE7B,GAAG,CAAC,IAAI,GAAG,CAAC,IAAU,EAAE,GAAgB,EAAE,IAAY,EAAE,EAAU,EAAE,EAAE;QACpE,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;QAErC,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,CAAC;YACrB,IAAI,OAAO,GAAQ,EAAE,CAAA;YACrB,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;gBACtB,OAAO,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAA;YACzB,CAAC;YACD,MAAM,IAAI,mBAAW,CACnB,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,UAAU,EACzB,OAAO,EACP,KAAK,EACL,IAAI,EACJ,GAAG,CACJ,CAAA;QACH,CAAC;QAED,OAAO,KAAK,CAAA;IACd,CAAC,CAAA;IAED,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,iEAAiE;AACjE,kCAAkC;AAClC,qEAAqE;AACrE,SAAS,OAAO,CAAC,GAAY,EAAE,IAAS;IACtC,IAAI,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAA;IAE1C,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;QAClB,IAAI,QAAQ,KAAK,OAAO,IAAI,EAAE,GAAG,IAAI,KAAK,EAAE,CAAC;YAC3C,IAAI,eAAe,GAAG,KAAK,CAAA;YAC3B,IAAI,QAAQ,GAAG,IAAI,EAAE,GAAG,CAAA;YACxB,IAAI,CAAC,CAAC,KAAK,QAAQ,IAAI,KAAK,EAAE,CAAC;gBAC7B,QAAQ,GAAG,CAAC,CAAA;gBACZ,eAAe,GAAG,IAAI,CAAA;YACxB,CAAC;YACD,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,IAAS,EAAE,EAAE;gBACzB,IAAI,eAAe,EAAE,CAAC;oBACpB,IAAI,MAAM,GAAG,IAAI;yBACd,MAAM,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,OAAO,IAAI,CAAC;yBAC9C,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;yBAClE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;oBACd,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;gBACzC,CAAC;qBAAM,CAAC;oBACN,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;gBAC5D,CAAC;gBACD,OAAO,SAAS,CAAA;YAClB,CAAC,CAAA;QACH,CAAC;aAAM,IAAI,UAAU,KAAK,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC;YAC1C,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAA;QACpB,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC,GAAG,CAAA;AAChB,CAAC;AAED,SAAS,MAAM,CAAC,MAAc;IAC5B,OAAO,UAAU,KAAK,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG;QACjD,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG;QACxB,CAAC,CAAC,CAAC,CAAM,EAAE,EAAE;YACX,IAAI,GAAG,GACL,IAAI,IAAI,CAAC;gBACP,CAAC,CAAC,aAAK;gBACP,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;oBAChB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CACzB,IAAI,EACJ,OAAO,CAAC,CAAQ,CAAC;yBACd,MAAM,CAAC,CAAC,EAAO,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;yBACjC,GAAG,CACF,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CACR,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;wBACrB,EAAE,CAAC,CAAC,CAAC;wBACL,IAAI;wBACJ,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CACxB,GAAG,iCAAiC;wBACvC,GAAG,CACJ;oBACD,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;YACzB,GAAG;gBACD,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;oBACrC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,aAAK,CAAC,CAAA;YACpD,OAAO,GAAG,CAAA;QACZ,CAAC,CAAA;AACL,CAAC;AAED,SAAS,GAAG,CAAC,CAAM,EAAE,MAAc,EAAE;IACnC,IAAI,CAAC,CAAA;IACL,IAAI,CAAC;QACH,CAAC,GAAG,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IACxD,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IACZ,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;AACxE,CAAC;AAED,SAAS,IAAI,CAAC,CAAM,EAAE,MAAc,CAAC;IACnC,OAAO,SAAS,KAAK,CAAC;QACpB,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAA;AAC1D,CAAC;AAED,SAAS,KAAK,CAAC,cAAmB;IAChC,OAAO,IAAI,CACT,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,EACpD,cAAc,CACf,CAAA;AACH,CAAC;AAED,iCAAiC;AACjC,SAAS,OAAO,CAAC,GAAG,KAAgD;IAClE,OAAO,IAAI,IAAI,KAAK;QAClB,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,KAAK;aACJ,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,CAAC,CAAC;aAC1B,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAClE,IAAI,CAAC,aAAK,CAAC;aACX,KAAK,CAAC,aAAK,CAAC;aACZ,MAAM,CAAC,CAAC,CAAM,EAAE,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AACvE,CAAC;AAED,+EAA+E;AAC/E,SAAS,KAAK,CAAI,CAAI;IACpB,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAChB,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACjB,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;QACb,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAA;AACV,CAAC;AAED,6BAA6B;AAC7B,SAAS,WAAW,CAAC,EAAY,EAAE,GAAW;IAC5C,IAAI,OAAO,GAA8B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC1D,KAAK,IAAI,GAAG,IAAI,OAAO,EAAE,CAAC;QACxB,CAAC;QAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAe,GAAI,EAAE,CAAC,GAAG,CAAC,GAAG,CAAe;YAEvD,4DAA4D;aAC3D,GAAG,CACF,CAAC,EAAW,EAAE,EAAE,CAAC,CACf,CAAC,EAAE,CAAC,CAAC;YACH,QAAQ,KAAK,OAAO,EAAE,CAAC,CAAC;gBACtB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;gBAChC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACjB,EAAE,CACH,CACF;YAED,oEAAoE;aACnE,MAAM,CAAC,CAAC,EAAW,EAAE,EAAE,CACtB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CACrB,CAAC,CAAU,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAChE,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAC9B,CACF;YAED,qEAAqE;aACpE,MAAM,CAAC,CAAC,EAAW,EAAE,EAAE,CACtB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CACrB,CAAC,CAAU,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAChE,IAAI,CACL,CACF,CAAA;IACL,CAAC;IAED,OAAO,EAAE,CAAA;AACX,CAAC;AAED,SAAS,IAAI,CAAC,GAAQ,EAAE,IAAY,EAAE,GAAS;IAC7C,IAAI,IAAI,GAAG,GAAG,CAAA;IACd,IAAI,CAAC;QACH,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAC3B,IAAI,EAAO,CAAA;QACX,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC;YACzC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,CAAA;YACd,IAAI,WAAW,KAAK,EAAE,EAAE,CAAC;gBACvB,MAAM,IAAI,KAAK,CAAC,EAAE,CAAC,CAAA;YACrB,CAAC;YACD,IAAI,EAAE,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAA;YAC/B,CAAC;QACH,CAAC;QACD,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;YACtB,IAAI,WAAW,KAAK,EAAE,EAAE,CAAC;gBACvB,MAAM,IAAI,KAAK,CAAC,EAAE,CAAC,CAAA;YACrB,CAAC;YACD,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAA;QACf,CAAC;QACD,OAAO,GAAG,CAAC,EAAE,CAAC,CAAA;IAChB,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CACb,SAAS;YACT,CAAC,SAAS,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;YACnC,QAAQ;YACR,IAAI;YACJ,cAAc;YACd,GAAG,CAAC,IAAI,CAAC;YACT,CAAC,SAAS,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,GAAG,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CACxD,CAAA;IACH,CAAC;AACH,CAAC;AAED,kCAAkC;AAClC,SAAS,OAAO,CAAC,IAAW,EAAE,IAAe;IAC3C,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QACjB,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YACpB,gFAAgF;YAChF,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC5C,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;oBACxB,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;wBAC1D,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAA;wBAC1C,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAA;oBACjB,CAAC;gBACH,CAAC;YACH,CAAC;YAED,kCAAkC;YAClC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC7C,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAA;oBACtD,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAA;oBACxD,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAA;oBACvB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;oBACrB,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,CAAA;gBAC5B,CAAC;YACH,CAAC;YAED,0BAA0B;YAC1B,gDAAgD;YAChD,IAAI,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,IAAI,KAAK,CAAC,CAAA;YACpD,IAAI,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;gBACpC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAA;gBACf,IAAI,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAA;YACxB,CAAC;QACH,CAAC;QAED,+BAA+B;QAC/B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YAC/B,IAAI,IAAI,IAAI,OAAO,EAAE,CAAC;gBACpB,IAAI,GAAG,OAAO,CAAA;YAChB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,UAAU,CAAC,MAAW;IAC7B,OAAO;QACL,KAAK,EAAE,UACL,GAAW;QACX,kBAAkB;QAClB,MAAW,EACX,IAAU,EACV,UAAgB;YAEhB,IAAI,CAAC;gBACH,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,CAAC,CAAA;YACpD,CAAC;YAAC,OAAO,EAAO,EAAE,CAAC;gBACjB,IAAI,aAAa,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC;oBAC9B,IAAI,GAAG,GAAG,CAAC,CAAA;oBACX,IAAI,GAAG,GAAG,CAAC,CAAA;oBACX,IAAI,GAAG,GAAG,CAAC,CAAA;oBACX,IAAI,IAAI,GAAG,aAAK,CAAA;oBAChB,IAAI,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAC3B,2CAA2C,CAC5C,CAAA;oBACD,IAAI,MAAM,EAAE,CAAC;wBACX,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;wBAChB,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;wBACzB,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,aAAK,CAAC,CAAC,MAAM,CAAA;wBAC3D,IAAI,EAAE,GAAG,GAAG,GAAG,CAAC,CAAA;wBAChB,OAAO,CAAC,CAAC,GAAG,EAAE,IAAI,IAAI,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;4BAAE,EAAE,EAAE,CAAA;wBAC/C,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;oBAClD,CAAC;oBAED,IAAI,KAAK,GACP,EAAE,CAAC,KAAK;wBACR,IAAA,iBAAS,EACP,KAAK;wBACL,kCAAkC;wBAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,EACzC,SAAS,EACT,IAAI,EACJ,IAAA,iBAAS,EACP,IAAI,CAAC,MAAM,EACX,GAAG,EACH,EAAE,CAAC,UAAU,IAAI,GAAG,EACpB,EAAE,CAAC,YAAY,IAAI,GAAG,CACvB,CACF,CAAA;oBAEH,MAAM,IAAI,mBAAW,CACnB,EAAE,CAAC,IAAI,IAAI,MAAM,EACjB,EAAE,CAAC,OAAO,IAAI;wBACZ,GAAG,EAAE,EAAE,CAAC,OAAO;qBAChB,EACD,KAAK,EACL,EAAU;oBAEV,oBAAoB;oBACpB,EAAE,CAAC,GAAG;wBACL;4BACC,EAAE,EAAE,CAAC,CAAC;4BACN,IAAI,EAAE,MAAM,CAAC,OAAO;4BACpB,GAAG,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,MAAM;4BAC7B,KAAK,EAAE,KAAK;4BACZ,IAAI;4BACJ,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG;4BACd,IAAI,EAAE,GAAG,EAAE,CAAC,SAAS;4BACrB,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,OAAO;4BACrC,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM;4BAClB,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAU;4BACjC,GAAG,EAAE,EAAE;4BACP,EAAE,EAAE,CAAC,CAAC;4BACN,EAAE,EAAE,KAAK;4BACT,EAAE,EAAE,KAAK;4BACT,EAAE,EAAE,KAAK;4BACT,EAAE,EAAE,KAAK,EAAE,4BAA4B;4BACvC,EAAE,EAAE,CAAC,CAAC;4BACN,EAAE,EAAE,CAAC,CAAC;4BACN,EAAE,EAAE,EAAE;4BACN,GAAG,EAAE,CAAC;4BACN,GAAG,EAAE,EAAE;4BACP,CAAC,EAAE,EAAE;4BACL,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;4BAChC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC;4BACnC,CAAC,EAAE,EAAE;4BACL,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAU;4BACnC,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAW;yBAC3B,CACd,CAAA;gBACH,CAAC;qBAAM,CAAC;oBACN,MAAM,EAAE,CAAA;gBACV,CAAC;YACH,CAAC;QACH,CAAC;KACF,CAAA;AACH,CAAC"} \ No newline at end of file diff --git a/src/defaults.ts b/src/defaults.ts index 3acbea9..a23bd84 100644 --- a/src/defaults.ts +++ b/src/defaults.ts @@ -187,6 +187,9 @@ const defaults: Options = { // Custom merge function for duplicates (optional). // TODO: needs function signature merge: undefined, + + // Allow bare colon `:value` in maps, stored as `child$` property. + child: false, }, // Array formats. diff --git a/src/grammar.ts b/src/grammar.ts index 19c733a..0e8492e 100644 --- a/src/grammar.ts +++ b/src/grammar.ts @@ -383,11 +383,19 @@ function grammar(jsonic: Jsonic) { }) // sets key:val on node - jsonic.rule('pair', (rs: RuleSpec, _p: Parser) => { + jsonic.rule('pair', (rs: RuleSpec, p: Parser) => { rs.open( [ // Ignore initial comma: {,a:1. { s: [CA], g: 'map,pair,comma,jsonic' }, + + // map.child: bare colon `:value` stores value on child$ property. + p.cfg.map.child && { + s: [CL], + p: 'val', + u: { done: true, child: true }, + g: 'map,pair,child,jsonic', + }, ], { append: true }, ) @@ -397,6 +405,23 @@ function grammar(jsonic: Jsonic) { if (r.u.pair) { pairval(r, ctx) } + + if (true === r.u.child) { + let val = r.child.node + val = undefined === val ? null : val + let prev = r.node['child$'] + + if (undefined === prev) { + r.node['child$'] = val + } else { + r.node['child$'] = + ctx.cfg.map.merge + ? ctx.cfg.map.merge(prev, val, r, ctx) + : ctx.cfg.map.extend + ? deep(prev, val) + : val + } + } }) .close( [ diff --git a/src/types.ts b/src/types.ts index a1e84d6..0fb9063 100644 --- a/src/types.ts +++ b/src/types.ts @@ -176,6 +176,7 @@ export type Options = { map?: { extend?: boolean merge?: (prev: any, curr: any) => any + child?: boolean } list?: { property: boolean @@ -558,6 +559,7 @@ export type Config = { map: { extend: boolean merge?: (prev: any, curr: any, rule: Rule, ctx: Context) => any + child: boolean } list: { diff --git a/src/utility.ts b/src/utility.ts index 6d2a96f..97f0ce8 100644 --- a/src/utility.ts +++ b/src/utility.ts @@ -304,6 +304,7 @@ function configure( cfg.map = { extend: !!opts.map?.extend, merge: opts.map?.merge, + child: !!opts.map?.child, } cfg.list = { diff --git a/test/feature.test.js b/test/feature.test.js index d1a1a10..7999ad6 100644 --- a/test/feature.test.js +++ b/test/feature.test.js @@ -1151,6 +1151,91 @@ describe('feature', function () { expect(r20[1]['child$']).equal(4) }) + it('map-child', () => { + tsvTestWith('feature-map-child', { map: { child: true } }) + }) + + it('map-child-deep', () => { + tsvTestWith('feature-map-child-deep', { map: { child: true }, list: { child: true } }) + }) + + it('map-child-interaction', () => { + // === child=false (default): bare colon in map is an error === + expect(() => j('{:1}')).throw(/unexpected/) + expect(() => j('{:1,a:2}')).throw(/unexpected/) + + // === child=true: bare colon stores child$ === + let mc = j.make({ map: { child: true } }) + expect(mc('{:1,a:2}')).equal({ child$: 1, a: 2 }) + expect(mc('{:1,a:2}')['child$']).equal(1) + + // === child$ merge: objects deep-merge, primitives last-wins === + expect(mc('{:1,:2}')['child$']).equal(2) + expect(mc('{:{a:1},:{b:2}}')['child$']).equal({ a: 1, b: 2 }) + expect(mc('{:{a:{x:1}},:{a:{y:2}}}')['child$']).equal({ a: { x: 1, y: 2 } }) + + // === child$ without map.extend: last value wins === + let mc_noext = j.make({ map: { child: true, extend: false } }) + expect(mc_noext('{:{a:1},:{b:2}}')['child$']).equal({ b: 2 }) + expect(mc_noext('{:1,:2}')['child$']).equal(2) + + // === Lists outside maps are unaffected by map.child === + expect(mc('[1,2,3]')).equal([1, 2, 3]) + + // === Nested maps: child$ at each level === + let r1 = mc('{:1,a:{:2,b:{:3}}}') + expect(r1['child$']).equal(1) + expect(r1.a['child$']).equal(2) + expect(r1.a.b['child$']).equal(3) + + // === map.child + list.child both enabled === + let both = j.make({ map: { child: true }, list: { child: true } }) + + // Map with child, containing list with child + let r2 = both('{a:[:1,2],:3}') + expect(r2['child$']).equal(3) + expect(r2.a['child$']).equal(1) + expect(JS(r2.a)).equal('[2]') + + // List with child, containing map with child + let r3 = both('[{:1,a:2},:3]') + expect(r3['child$']).equal(3) + expect(r3[0]['child$']).equal(1) + expect(JS(r3[0])).equal('{"child$":1,"a":2}') + + // Deep: map -> list -> map, each with child$ + let r4 = both('{a:[{:1}],:2}') + expect(r4['child$']).equal(2) + expect(r4.a[0]['child$']).equal(1) + + // List child value is a map with child$ + let r5 = both('[:{ a: 1 }]') + expect(JS(r5)).equal('[]') + expect(r5['child$']).equal({ a: 1 }) + + // 3-level: map -> map -> list -> map with child at each + let r6 = both('{:1,x:{:2,y:[{:3}]}}') + expect(r6['child$']).equal(1) + expect(r6.x['child$']).equal(2) + expect(r6.x.y[0]['child$']).equal(3) + + // Array of maps, each with their own child$ + let r7 = both('[{:1,a:10},{:2,b:20}]') + expect(r7[0]['child$']).equal(1) + expect(r7[1]['child$']).equal(2) + + // map.child only (no list.child): list bare colon still errors + expect(() => mc('[:1]')).throw(/unexpected/) + + // list.child only (no map.child): map bare colon still errors + let lc = j.make({ list: { child: true } }) + expect(() => lc('{:1}')).throw(/unexpected/) + + // Implicit map with child$ + expect(mc('a:1,:2')).equal({ a: 1, child$: 2 }) + expect(mc('a:1,:2,b:3')).equal({ a: 1, child$: 2, b: 3 }) + }) + // Test derived from debug sessions using quick.js it('debug-cases', () => { tsvTest('feature-debug-cases') diff --git a/test/spec/feature-map-child-deep.tsv b/test/spec/feature-map-child-deep.tsv new file mode 100644 index 0000000..cc6d982 --- /dev/null +++ b/test/spec/feature-map-child-deep.tsv @@ -0,0 +1,11 @@ +input expected +{a:[:1,2],:3} {"a":[2],"child$":3} +[{:1,a:2}] [{"child$":1,"a":2}] +{a:[{:1}]} {"a":[{"child$":1}]} +{a:{b:[{:1},2]}} {"a":{"b":[{"child$":1},2]}} +{:[1,2]} {"child$":[1,2]} +[{:1},{:2}] [{"child$":1},{"child$":2}] +{a:{:1},b:{:2}} {"a":{"child$":1},"b":{"child$":2}} +{a:[{:1}],:2} {"a":[{"child$":1}],"child$":2} +{:{a:1},b:2} {"child$":{"a":1},"b":2} +{:1,a:[1,2],b:{:3,c:[3]}} {"child$":1,"a":[1,2],"b":{"child$":3,"c":[3]}} diff --git a/test/spec/feature-map-child.tsv b/test/spec/feature-map-child.tsv new file mode 100644 index 0000000..f0bc0ed --- /dev/null +++ b/test/spec/feature-map-child.tsv @@ -0,0 +1,32 @@ +input expected +{:1} {"child$":1} +{:1,a:2} {"child$":1,"a":2} +{a:2,:1} {"a":2,"child$":1} +{:1,:2} {"child$":2} +{:1,a:2,b:3} {"child$":1,"a":2,"b":3} +{a:1,:2,b:3} {"a":1,"child$":2,"b":3} +{a:1,b:2,:3} {"a":1,"b":2,"child$":3} +{:null} {"child$":null} +{:true} {"child$":true} +{:false} {"child$":false} +{:"hello"} {"child$":"hello"} +{:[1,2,3]} {"child$":[1,2,3]} +{:{x:1}} {"child$":{"x":1}} +{:{a:1},:{b:2}} {"child$":{"a":1,"b":2}} +{:{a:{x:1}},:{a:{y:2}}} {"child$":{"a":{"x":1,"y":2}}} +{:1,:2,:3} {"child$":3} +{:0} {"child$":0} +{:-1} {"child$":-1} +{:3.14} {"child$":3.14} +{:1,} {"child$":1} +{,:1} {"child$":1} +{ : 1 , a : 2 } {"child$":1,"a":2} +{} {} +{a:1} {"a":1} +a:1,:2 {"a":1,"child$":2} +a:1,:2,b:3 {"a":1,"child$":2,"b":3} +{a:{:1}} {"a":{"child$":1}} +{a:{:1,b:2}} {"a":{"child$":1,"b":2}} +{:1,a:{:2}} {"child$":1,"a":{"child$":2}} +{:1,a:{:2,b:{:3}}} {"child$":1,"a":{"child$":2,"b":{"child$":3}}} +{a:{b:{:1}}} {"a":{"b":{"child$":1}}}