import { parse } from './core.js' const linesFull = [ `title Example`, `options`, ` parameter1 30`, ` parameter2 Enim eu id anim minim reprehenderit nostrud eu amet deserunt ea ut do cupidatat ea.`, `options`, ` parameter1 0`, ` parameter2 Esse incididunt et est adipisicing eiusmod aliqua enim ea aliqua id enim.`, ` deep Enim fugiat do in est commodo culpa dolore.`, `subsection`, ` position 1`, ` Ea dolore in aliquip fugiat anim adipisicing amet aute tempor et deserunt est duis sint.`, `subsection 2`, ` position 2`, ` `, ` Aute deserunt incididunt ad in sint adipisicing est officia velit pariatur ipsum deserunt quis nulla.`, ` Ea dolore in aliquip fugiat anim adipisicing amet aute tempor et deserunt est duis sint.`, `list`, ` - item 1`, ` - item 2`, `collection`, ` section`, ` lorem ipsum 1`, ` section`, ` lorem ipsum 2`, `collection2`, ` section`, ` position 3`, ` Laborum aute anim occaecat occaecat pariatur tempor proident magna sit magna non non.`, ` list`, ` 1`, ` 2` ] const linesSchema = [ `name @terrace/core`, `version 0.0.1`, `randomthing test`, `license MIT`, `license GPL`, `exports`, ` .`, ` import ./dist/index.js`, ` require ./dist/index.cjs`, ` ./parser`, ` import ./dist/parser.js`, ` require ./dist/parser.cjs`, ``, ` ./document`, ` import ./dist/document.js`, ` require ./dist/document.cjs`, ``, ` ./readers/node-readline`, ` import ./dist/readers/node-readline.js`, ` require ./dist/readers/node-readline.cjs`, ``, ` ./readers/js-string`, ` import ./dist/readers/js-string.js`, ` require ./dist/readers/js-string.cjs`, `scripts`, ` test vitest ./src`, ` build vite build`, `devDependencies`, ` vite ^3.2.3`, ` vitest ^0.24.5`, ``, `author`, ` name Joshua Bemenderfer`, ` email josh@thederf.com`, ` `, ` Further comments below. As I will now demonstrate, there is no simple`, ` way of dealing with this problem.`, ] const schema = { "name": {count: 1}, "version": {count: 1}, "license": {count: 1}, "exports": {count: 1, children: { "?": {count: -1, children: { "import": {count: 1}, "require": {count: 1} }} }}, "scripts": {count: 1, children: { "?": { count: -1 } }}, "devDependencies": {count: 1, children: { "?": { count: -1 } }}, "author": { count: 1, children: { "name": { count: 1 }, "email": { count: 1 }, "? literal": { count: -1 } }} } async function main() { const resultFull = await parse(linesFull) // console.dir(resultFull, { depth: null }) const resultSchema = await parse(linesSchema, schema) console.dir(resultSchema, { depth: null }) } main()