diff --git a/src/decode/decoders.ts b/src/decode/decoders.ts index 2e72739..28423e0 100644 --- a/src/decode/decoders.ts +++ b/src/decode/decoders.ts @@ -267,7 +267,7 @@ function decodeListItem( // Check for array header after hyphen if (isArrayHeaderAfterHyphen(afterHyphen)) { - const arrayHeader = parseArrayHeaderLine(afterHyphen, activeDelimiter) + const arrayHeader = parseArrayHeaderLine(afterHyphen, DEFAULT_DELIMITER) if (arrayHeader) { return decodeArrayFromHeader(arrayHeader.header, arrayHeader.inlineValues, cursor, baseDepth, options) } diff --git a/test/decode.test.ts b/test/decode.test.ts index 67a958c..89a9722 100644 --- a/test/decode.test.ts +++ b/test/decode.test.ts @@ -366,6 +366,14 @@ describe('delimiter options', () => { expect(decode(toon)).toEqual({ pairs: [['a', 'b'], ['c', 'd']] }) }) + it.each([ + { parent: '[1\t]', nested: '[3]', values: 'a,b,c' }, + { parent: '[1|]', nested: '[3]', values: 'a,b,c' }, + ])('nested arrays inside list items default to comma delimiter', ({ parent, nested, values }) => { + const toon = `items${parent}:\n - tags${nested}: ${values}` + expect(decode(toon)).toEqual({ items: [{ tags: ['a', 'b', 'c'] }] }) + }) + it.each([ { header: '[3\t]', joined: 'x\ty\tz' }, { header: '[3|]', joined: 'x|y|z' },