{"_id":"@lillallol/outline-pdf-data-structure","_rev":"4-d9bbe35e62ef5822e925d33866db77d9","name":"@lillallol/outline-pdf-data-structure","dist-tags":{"latest":"1.0.3"},"versions":{"1.0.0":{"name":"@lillallol/outline-pdf-data-structure","version":"1.0.0","description":"Create a pdf outline data structure from a high level string representation of pdf outline. This data structure can be used to create a real pdf outline.","main":"./dist/index.js","typings":"./dist/index.d.ts","scripts":{"dead-files":"unimported","spell-check":"cspell \"./**/*\"","lint":"tsc --noEmit && eslint ./src/**/*.ts --max-warnings=0","test":"rm -rf ./coverage && npx jest --clearCache && npx jest ./src --coverage --silent","build-cjs":"tsc -p ./tsconfig.build.json","build":"rm -rf ./dist && npm run build-cjs","pre-bump":"npm run dead-files && npm run spell-check && npm run lint && npm run test && npm run build && git add --all && git commit","release":"npm run pre-bump && npm publish --access public && npm run after-bump","bump-patch":"npm run pre-bump && npm version patch && npm publish && npm run after-bump","bump-minor":"npm run pre-bump && npm version minor && npm publish && npm run after-bump","bump-major":"npm run pre-bump && npm version major && npm publish && npm run after-bump","after-bump":"git push origin master && rm -rf ./dist"},"repository":{"type":"git","url":"git+https://github.com/lillallol/outline-pdf-data-structure.git"},"keywords":["outline","pdf","index","data-structure","bookmarks","pdf specification"],"author":{"name":"lillallol"},"license":"MIT","bugs":{"url":"https://github.com/lillallol/outline-pdf-data-structure/issues"},"homepage":"https://github.com/lillallol/outline-pdf-data-structure#readme","devDependencies":{"@typescript-eslint/eslint-plugin":"^4.12.0","@typescript-eslint/parser":"^4.12.0","cspell":"^5.0.6","eslint":"^7.15.0","jest":"^26.6.3","ts-jest":"^26.4.4","typescript":"^4.1.3","unimported":"^1.5.0"},"gitHead":"94bb50658ea9c2e03a1f176da88f52aa01b514a7","_id":"@lillallol/outline-pdf-data-structure@1.0.0","_nodeVersion":"14.5.0","_npmVersion":"6.14.10","dist":{"integrity":"sha512-iA8RIetv2fwMqg+vlPgJMQ15kt4++eB0LXJnWl8RIlROCcRzYCbamKO6cSjPVDZoUwrsTdiD9t5Xrbx9YaarWw==","shasum":"d7112f984c92269a4f836437b5c2c7ff56d83dc7","tarball":"https://registry.npmjs.org/@lillallol/outline-pdf-data-structure/-/outline-pdf-data-structure-1.0.0.tgz","fileCount":27,"unpackedSize":24979,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf+z4OCRA9TVsSAnZWagAAmLUQAKNSy7EyHCWhPaN42l+w\n66OFwr1yulCs1w20o/ZPKjfTjhZkvErZ2Ye0lwrWmbQXWSdUw9cVvsLX9++c\nWqly5nvErBdcvHgFxhYvR7WEYfPvLzS6CsucfJ1yU3nPQ64psyDJASaAAXMP\nD9DxlePTfMmfL60AH5Ma4avapcNoZ+HkXAdUNJAJszC7Ndhb7QCjc3uOeyt8\n7FrBXNsTUv+8HUkmAnpuNvpDrKj1ALireoE+mktOmIhPy95No5i4VfslcSMe\nJTgnkjbg9yE2xdHqFClzY4wsba4RU1eQ4uxtw48RDx+MtTiEQHyuZw0juVNF\nO9TWCPsKfCjMf4L6ArxfDi/3s7tZL/BjR18r84l2siRVuNcWTRtK846dLFaq\nRWy1bULeLZDrSESvHizgnLLWzz6mPPbVMLIHqD/AD32euz4RTu5a1SCpyMGb\nGzVqH5nYyFJA+3RscvCwHfJStki3MioRaVRoH8CtUgMSb2+shBql7Fyi7v20\na9P7rVJ1gQPIl9+e5ZZZfpV/rFNAK6r6IQz12F0Ll7DDz2A7CpZoUT39YrT/\nmNqV+U0JueCaxVps158XE3O3NyOvSFmV7wQhpbPS8HtTDh3mXQfbeb+6pnmf\nhXceRq9DMljDXPY9VBhYT3i24ceZvyxZ5Bw0yHgq1SxXqx+KDlzlF9XIOPy3\nCwNs\r\n=5dNA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGIiLADR2X/HWJ0Im2hpHSw8FS+4E3RZCld4SW610dFxAiAMT6vfD7J5mUBkIAiTv6v0mpyulcGotvKovmoRw/+rDw=="}]},"_npmUser":{"name":"lillallol","email":"spanoudos@hotmail.com"},"directories":{},"maintainers":[{"name":"lillallol","email":"spanoudos@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/outline-pdf-data-structure_1.0.0_1610300942178_0.4371331955680473"},"_hasShrinkwrap":false},"1.0.1":{"name":"@lillallol/outline-pdf-data-structure","version":"1.0.1","description":"Create a pdf outline data structure from a high level string representation of pdf outline. This data structure can be used to create a real pdf outline.","main":"./dist/index.js","typings":"./dist/index.d.ts","scripts":{"dead-files":"unimported","spell-check":"cspell \"./**/*\"","lint":"tsc --noEmit && eslint ./src/**/*.ts --max-warnings=0","test":"rm -rf ./coverage && npx jest --clearCache && npx jest ./src --coverage --silent","build-cjs":"tsc -p ./tsconfig.build.json","build":"rm -rf ./dist && npm run build-cjs","pre-bump":"npm run dead-files && npm run spell-check && npm run lint && npm run test && npm run build && git add --all && git commit","release":"npm run pre-bump && npm publish --access public && npm run after-bump","bump-patch":"npm run pre-bump && npm version patch && npm publish && npm run after-bump","bump-minor":"npm run pre-bump && npm version minor && npm publish && npm run after-bump","bump-major":"npm run pre-bump && npm version major && npm publish && npm run after-bump","after-bump":"git push origin master && rm -rf ./dist"},"repository":{"type":"git","url":"git+https://github.com/lillallol/outline-pdf-data-structure.git"},"keywords":["outline","pdf","index","data-structure","bookmarks","pdf specification"],"author":{"name":"lillallol"},"license":"MIT","bugs":{"url":"https://github.com/lillallol/outline-pdf-data-structure/issues"},"homepage":"https://github.com/lillallol/outline-pdf-data-structure#readme","devDependencies":{"@typescript-eslint/eslint-plugin":"^4.12.0","@typescript-eslint/parser":"^4.12.0","cspell":"^5.0.6","eslint":"^7.15.0","jest":"^26.6.3","ts-jest":"^26.4.4","typescript":"^4.1.3","unimported":"^1.5.0"},"gitHead":"a4210f1b78b6944cbe7aa6e24a3adfd29990a93b","_id":"@lillallol/outline-pdf-data-structure@1.0.1","_nodeVersion":"14.5.0","_npmVersion":"6.14.10","dist":{"integrity":"sha512-c0LMjFURaCXBSo4cQRhQ2f1e0Hau6u6IQ5uN7U4aRFbE6E8CNV5yQNCMl/Qir/mym4xe5TFGFJJqMGvtD52VLQ==","shasum":"8e62e5c586c5507c1c3675a444b2a7cc49f1f415","tarball":"https://registry.npmjs.org/@lillallol/outline-pdf-data-structure/-/outline-pdf-data-structure-1.0.1.tgz","fileCount":27,"unpackedSize":25004,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf+3tHCRA9TVsSAnZWagAAkEsP+wQKxd6C+V+tk+5dbjRi\nMEftnmTlSQCVERNL1HlfWrFo0S2tGtd6t/6YrSIeVplm4uqTW3XBic6NSD0t\nyEp7vwgYXpRd56BTSe0pEXNtkNdnGQa84SoF79Uv/36zz21v4d6xQY0aaRsE\n4Cjl68CAK8znDt/LyeFjsuxbQgmtPcxzISQh/boesZ33wSn0wnJrSTzNBpqI\n3++6AB76qqVa8zG6/y0fNohfij3sAJYxxUUdi5Yiu9EWh1eIAIDS7A5JF/mM\nr2/2Tg535ifKfnVgI0d1Hukesvk/GoSg1/lrmunaumFurOH+i/9bTWElFDX9\nAum3BmBhngKXrXE1oS/jfQDiEDtLo8MNilyDI6CyFiwY5WxgU18xEQzS88fw\nctpxeAHxpkavcf8wXHR7edI8N06tGBRplSs6uQ5HDPbwKVlpz5Pv+zlfl8sm\n8v5mq2KATOXanrqF4rnYgrutsQuGMgG7iMDdCTzUwTMwImY/XDWogaU8z30q\nWH542/FOicslMShgVhhI7C5BxYq8WBNrhIH3/LIA6d0VC6LN+Reemeby3+0I\nAxVdCJQW0xAloo+gcPvtdKOuV1IFbpzF12cyxHTb7xDiQbQWGlHMzU0704la\n0iKlFZJYAj36Dq5PofxrpN26z5t17DAuNb7+gWtobRDBl1ytIKqcjG8QdYZ6\nFj9a\r\n=my3N\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAaK6NPl1GynnD/DpdPMADEVEIDMhOhXb2dLtw9ZZfqOAiBAt2s+QIUWI+ek8M6SnyTe+jdG/9dLvfQ/R5dGP6KGVw=="}]},"_npmUser":{"name":"lillallol","email":"spanoudos@hotmail.com"},"directories":{},"maintainers":[{"name":"lillallol","email":"spanoudos@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/outline-pdf-data-structure_1.0.1_1610316615284_0.3262833885506986"},"_hasShrinkwrap":false},"1.0.2":{"name":"@lillallol/outline-pdf-data-structure","version":"1.0.2","description":"Create a pdf outline data structure from a high level string representation of pdf outline. This data structure can be used to create a real pdf outline.","main":"./dist/index.js","typings":"./dist/index.d.ts","scripts":{"dead-files":"unimported","spell-check":"cspell \"./**/*\"","lint":"tsc --noEmit && eslint ./src/**/*.ts --max-warnings=0","test":"rm -rf ./coverage && npx jest --clearCache && npx jest ./src --coverage --silent","build-cjs":"tsc -p ./tsconfig.build.json","build":"rm -rf ./dist && npm run build-cjs","pre-bump":"npm run dead-files && npm run spell-check && npm run lint && npm run test && npm run build && git add --all && git commit","release":"npm run pre-bump && npm publish --access public && npm run after-bump","bump-patch":"npm run pre-bump && npm version patch && npm publish && npm run after-bump","bump-minor":"npm run pre-bump && npm version minor && npm publish && npm run after-bump","bump-major":"npm run pre-bump && npm version major && npm publish && npm run after-bump","after-bump":"git push origin master && rm -rf ./dist"},"repository":{"type":"git","url":"git+https://github.com/lillallol/outline-pdf-data-structure.git"},"keywords":["outline","pdf","index","data-structure","bookmarks","pdf specification"],"author":{"name":"lillallol"},"license":"MIT","bugs":{"url":"https://github.com/lillallol/outline-pdf-data-structure/issues"},"homepage":"https://github.com/lillallol/outline-pdf-data-structure#readme","devDependencies":{"@typescript-eslint/eslint-plugin":"^4.12.0","@typescript-eslint/parser":"^4.12.0","cspell":"^5.0.6","eslint":"^7.15.0","jest":"^26.6.3","ts-jest":"^26.4.4","typescript":"^4.1.3","unimported":"^1.5.0"},"gitHead":"e182e28023b2a99ba8da961ea5d73b19b5e224cb","_id":"@lillallol/outline-pdf-data-structure@1.0.2","_nodeVersion":"14.5.0","_npmVersion":"7.5.2","dist":{"integrity":"sha512-6F4oJOoC82pcM8L5VGakV0V1F3iZRUw79brR6feEHg2IMjRK8jm9p6+OrfmSGBGzklTMxutFa3RahGGjRC2aeQ==","shasum":"9c462fb1eba69313e356dd30e72bb1f667b0d343","tarball":"https://registry.npmjs.org/@lillallol/outline-pdf-data-structure/-/outline-pdf-data-structure-1.0.2.tgz","fileCount":25,"unpackedSize":22550,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgHIObCRA9TVsSAnZWagAAuXAP/RlGHNGDpjRsKv3WdCRg\nfyPS6eNRX/cd19OR+frBYahkK/HopK8gehidhsFcVd83HNtTlB+szIpN/lBw\nqr7piXi+6RdZMJtxlhijzMCZY8M3TA3zjygNr/nol45v8wmIyN4J7xPiXssB\nt5HBZQNU6OtwhLFqZH6sZL28nxP8u7pUErhAl70Tc3+SBEwiTx1zkpK81Jtr\nT90hWtr0piuntPP1XzLkMRJJRk4yTGFS7Iqiu4Zwkdqlr6nweXqIBUVXEWBJ\n8ChDUkXAH4gSbI63yicX26wv+/Up4n+Tqbz+/rT65IIkvRx3G4PE6zWx7K6K\neVLmfcapuUWJsHUhX2Mc+cqh9wCAPo2dfUWXAhacDV0UUWqkwcnSXYg9Bgfy\nJ7TANWnUP5wHGWFvaB9ctXi3rmRZ7bu37vVyR1H7bLWahIZW0e8KPwRamYSK\nmsmNVlaCuYQ4Hst8RCt9sZ8EscrjVFwpL5IzJo3C8d2Ewhvbt4mAeEwaP/rj\nkCuVcxnZP2DVy2vvSBmmgKsDH5LDkR1xiJ1BtmiNUFKO/c3fmstVi5ru7GSU\nfnrReVsRaBceUgLsl3mQweaA1cD6LjX1aPlPor89vAE/YAfv+vLSblIEM/Bd\n/6i2FOq9JK/LNjHITOujKp9l1UYg24XTheHip5qP9A0mTAuz8Bc3FEThmk6B\n7rLP\r\n=Osoa\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC7idNEoDxafVedr5GPcdJhY6bdIFont7ixscC3ij3NagIhANpeKwsG18IWZlHXx4kVp8wi5DT6ACJuJmpTCavgkNcE"}]},"_npmUser":{"name":"lillallol","email":"spanoudos@hotmail.com"},"directories":{},"maintainers":[{"name":"lillallol","email":"spanoudos@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/outline-pdf-data-structure_1.0.2_1612481433518_0.8907832316130713"},"_hasShrinkwrap":false},"1.0.3":{"name":"@lillallol/outline-pdf-data-structure","version":"1.0.3","description":"Create a pdf outline data structure from a high level string representation of pdf outline. This data structure can be used to create a real pdf outline.","main":"./dist/index.js","typings":"./dist/index.d.ts","scripts":{"check-updates":"ncu","update":"npx ncu -u;npm install","dead-files":"unimported","spell-check":"cspell \"./**/*\"","lint":"tsc --noEmit && eslint ./src/**/*.ts --max-warnings=0","test":"rm -rf ./coverage && npx jest --clearCache && npx jest ./src --coverage --silent","build-ts":"rm -rf ./dist;npx tsc -p ./tsconfig.build.json","build-md":"rm -rf ./documentation.md; node ./doc-gen.js; npx md-in-place","build":"npm run build-ts;npm run build-md;","pre-bump":"npm run dead-files && npm run spell-check && npm run lint && npm run test && npm run build && git add --all && git commit","release":"npm run pre-bump && npm publish --access public && npm run after-bump","bump-patch":"npm run pre-bump && npm version patch && npm publish && npm run after-bump","bump-minor":"npm run pre-bump && npm version minor && npm publish && npm run after-bump","bump-major":"npm run pre-bump && npm version major && npm publish && npm run after-bump","after-bump":"git push origin master && rm -rf ./dist"},"repository":{"type":"git","url":"git+https://github.com/lillallol/outline-pdf-data-structure.git"},"keywords":["outline","pdf","index","data-structure","bookmarks","pdf specification"],"author":{"name":"lillallol"},"license":"MIT","bugs":{"url":"https://github.com/lillallol/outline-pdf-data-structure/issues"},"homepage":"https://github.com/lillallol/outline-pdf-data-structure#readme","devDependencies":{"@types/jest":"^26.0.23","@typescript-eslint/eslint-plugin":"^4.23.0","@typescript-eslint/parser":"^4.23.0","cspell":"^5.4.1","eslint":"^7.26.0","jest":"^26.6.3","md-in-place":"^1.0.1","npm-check-updates":"^11.5.13","prettier":"^2.3.0","ts-doc-gen-md":"*","ts-jest":"^26.5.6","typescript":"^4.2.4","unimported":"^1.11.0"},"gitHead":"05c4e85fd6396368c1c81b153ebc6f08554f45fa","_id":"@lillallol/outline-pdf-data-structure@1.0.3","_nodeVersion":"16.1.0","_npmVersion":"7.11.2","dist":{"integrity":"sha512-XlK9dERP2n9afkJ23JyJzpmesLgiOHmhqKuGgeytnT+IVGFdAsYl1wLr2o+byXNAN5fveNbc7CCI6RfBsd5FCw==","shasum":"9136df13deda6fe91471a86bc5d8882d0319b2a0","tarball":"https://registry.npmjs.org/@lillallol/outline-pdf-data-structure/-/outline-pdf-data-structure-1.0.3.tgz","fileCount":41,"unpackedSize":42180,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgoVLwCRA9TVsSAnZWagAAWKgP/iuVty1zh4PH9dN8FZJT\ndJsXMSNeO4OsaplhoA+POEbLf4gQpzpCG91VwjmW7EzPtLvqqmFnJYEITPFP\nOSVDwS1sC2h39pIt0F4eKXBqNZF6uVs2haYAGh3iw3SooKHePUmNdS5TBzNy\nG/Zu/yDknvILcYTk910IMKr2xgtlBzOOxV4fseiYervypiPCKbv2wZvG59Oa\nKLqzG1YjUICaJUToHMNpJ+pI8gVYmukZKr9279U6qS35IKUlfzObz2apOl7h\nWPRpc2vJ10kbmAaoVlb0vynLeMI7JdK1BOSM5QgPWeRlZnluLCnAQTxSb+4H\nF4WPhv9fftF6g1Avvq4Mkw92eQqsskk/msSoDlO71K0sUhpMGCv49Kai8lHi\nQN9omSEH1JmrIb44zuBQSKEaEb5oF030bKCuXZdxLY3tktPHw6okLrZ2vHYM\nJRPnSuPswEKQJkV9ZWaAd+Dv23VwnaifobVmmt6DLBHNLFyHV+83XoorH1My\ntzCkK7Or7DnM4g3KuDQkO6w/sTwSw34/1hqSxXoWqnoKo3bN0Qbo7bz1tAFd\nhnWI2z9QKZH8XztlfwL4L3TICwMAhCT7wrl+u2d1+W5spyrtXpkTY5or+7v3\n0F5wQKd+daILsB0DKkcAJLIZxQjjX5FGwcX81i+cPiITFmgWKFBQCvAqCCOm\nSgiA\r\n=5GaJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEbL1XgxZ3sfs0dsmkhKBlKsNff+rXsAFvKxxE6TntE6AiEAhKJhdAynITXDy6xUYHkBnj9pPy71bdjSlwOFwDXXm4M="}]},"_npmUser":{"name":"lillallol","email":"spanoudos@hotmail.com"},"directories":{},"maintainers":[{"name":"lillallol","email":"spanoudos@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/outline-pdf-data-structure_1.0.3_1621185264104_0.04484377955622354"},"_hasShrinkwrap":false}},"time":{"created":"2021-01-10T17:49:02.136Z","1.0.0":"2021-01-10T17:49:02.291Z","modified":"2022-04-06T01:47:24.797Z","1.0.1":"2021-01-10T22:10:15.396Z","1.0.2":"2021-02-04T23:30:33.655Z","1.0.3":"2021-05-16T17:14:24.379Z"},"maintainers":[{"name":"lillallol","email":"spanoudos@hotmail.com"}],"description":"Create a pdf outline data structure from a high level string representation of pdf outline. This data structure can be used to create a real pdf outline.","homepage":"https://github.com/lillallol/outline-pdf-data-structure#readme","keywords":["outline","pdf","index","data-structure","bookmarks","pdf specification"],"repository":{"type":"git","url":"git+https://github.com/lillallol/outline-pdf-data-structure.git"},"author":{"name":"lillallol"},"bugs":{"url":"https://github.com/lillallol/outline-pdf-data-structure/issues"},"license":"MIT","readme":"# outline-pdf-data-structure\n\n## Table of contents\n\n<!--#region toc-->\n\n- [Table of contents](#table-of-contents)\n- [Installation](#installation)\n- [Description](#description)\n- [Code coverage](#code-coverage)\n- [Example](#example)\n- [Documentation](#documentation)\n    - [Concretions](#concretions)\n        - [outlinePdfDataStructure](#----outlinepdfdatastructure)\n- [Motivation](#motivation)\n- [Contributing](#contributing)\n- [Changelog](#changelog)\n    - [1.0.3](#103)\n    - [1.0.2](#102)\n    - [1.0.1](#101)\n    - [1.0.0](#100)\n- [License](#license)\n\n<!--#endregion toc-->\n\n## Installation\n\n```bash\nnpm install @lillallol/outline-pdf-data-structure\n```\n\n## Description\n\nCreates a pdf outline data structure as defined in the pdf specification, from a human readable string representation of the pdf outline. You can then use that data structure to \"hydrate\" a real pdf outline data structure like it is done in [@lillallol/outline-pdf](https://github.com/lillallol/outline-pdf).\n\n## Code coverage\n\nThe testing code coverage is around 90%.\n\n## Example\n\n<!--#region example !./src/example/example.test.ts-->\n\n```ts\nimport { outlinePdfDataStructure } from \"../\";\n\ndescribe(outlinePdfDataStructure.name, () => {\n    it(\"returns low level information about the provided outline string representation\", () => {\n        expect(\n            outlinePdfDataStructure(\n                `\n                    1||Document\n                    2|-|Section 1\n                   \t3|-|Section 2\n                    4|--|Subsection 1\n                    5|-|Section 3\n                    6||Summary\n                `,\n                6\n            )\n        ).toEqual({\n            outlineRootCount: 6,\n            outlineItems: [\n                {\n                    Title: \"Document\",\n                    Parent: -1,\n                    Next: 5,\n                    First: 1,\n                    Last: 4,\n                    Count: 4,\n                    Dest: 1 - 1,\n                },\n                {\n                    Title: \"Section 1\",\n                    Parent: 0,\n                    Next: 2,\n                    Dest: 2 - 1,\n                },\n                {\n                    Title: \"Section 2\",\n                    Parent: 0,\n                    Prev: 1,\n                    Next: 4,\n                    First: 3,\n                    Last: 3,\n                    Count: 1,\n                    Dest: 3 - 1,\n                },\n                {\n                    Title: \"Subsection 1\",\n                    Parent: 2,\n                    Dest: 4 - 1,\n                },\n                {\n                    Title: \"Section 3\",\n                    Parent: 0,\n                    Prev: 2,\n                    Dest: 5 - 1,\n                },\n                {\n                    Title: \"Summary\",\n                    Parent: -1,\n                    Prev: 0,\n                    Dest: 6 - 1,\n                },\n            ],\n        });\n    });\n});\n\n```\n\n<!--#endregion example-->\n\n## Documentation\n\n<!--#region documentation ./documentation.md-->\n\n<h3 id=\"-concretions\">Concretions</h3>\n<h4 id=\"-concretion-outlinePdfDataStructure\">\n    outlinePdfDataStructure\n</h4>\n\n```ts\n/**\n * @description\n * It returns all the information needed to create a real pdf data structure.\n */\nexport declare function outlinePdfDataStructure(\n    inputOutline: string,\n    totalNumberOfPages: number\n): outlinePdfDataStructureReturnType;\n\n```\n\n<details open=\"\">\n<summary id=\"-concretion-outlinePdfDataStructure-references\">\n    <a href=\"#-concretion-outlinePdfDataStructure-references\">#</a>\n    references\n</summary>\n\n<br>\n\n<blockquote>\n<details>\n<summary id=\"-concretion-outlinePdfDataStructure-references-outlinePdfDataStructureReturnType\">\n    <a href=\"#-concretion-outlinePdfDataStructure-references-outlinePdfDataStructureReturnType\">#</a>\n    <b>outlinePdfDataStructureReturnType</b>\n</summary>\n        \n```ts\nexport declare type outlinePdfDataStructureReturnType = {\n    /**\n     * @description\n     * It returns a low level programmatic representation of the outline.\n     */\n    outlineItems: outlineItem[];\n    /**\n     * @description\n     * The total number of outline nodes.\n     */\n    outlineRootCount: number;\n};\n```\n\n\n\n</details>\n<blockquote>\n<details>\n<summary id=\"-concretion-outlinePdfDataStructure-references-outlinePdfDataStructureReturnType-outlineItem\">\n    <a href=\"#-concretion-outlinePdfDataStructure-references-outlinePdfDataStructureReturnType-outlineItem\">#</a>\n    <b>outlineItem</b>\n</summary>\n        \n```ts\nexport declare type outlineItem = {\n    /**\n     * @description\n     * The title that will be visible in the outline of the pdf for the context\n     * outline node.\n     */\n    Title: string;\n    /**\n     * @description\n     * The index (of the array that contains all the outline nodes) of the\n     * parent outline node of the context outline node.\n     *\n     * Outline nodes of depth `0` have `-1` for this value.\n     */\n    Parent: number;\n    /**\n     * @description\n     * The index (of the array that contains all the outline nodes) of the\n     * previous sibling of the context outline node. It is `undefined` for the\n     * case there is no previous sibling.\n     */\n    Prev?: number;\n    /**\n     * @description\n     * The index (of the array that contains all the outline nodes) of the next\n     * sibling of the context outline node. It is `undefined` for the case there\n     * is no next sibling.\n     */\n    Next?: number;\n    /**\n     * @description\n     * The index (of the array that contains all the outline nodes) of the first\n     * immediate child of the context outline node. It is `undefined` for the\n     * case there is no immediate child.\n     */\n    First?: number;\n    /**\n     * @description\n     * The index (of the array that contains all the outline nodes) of the last\n     * immediate child of the context outline node. It is `undefined` for the\n     * case there is no immediate child.\n     */\n    Last?: number;\n    /**\n     * @description\n     * Total number of outline nodes that are descendants to the context outline\n     * node.\n     */\n    Count?: number;\n    /**\n     * @description\n     * The page of the pdf that the outline node hyper links to.\n     */\n    Dest: number;\n};\n```\n\n\n\n</details>\n\n</blockquote>\n</blockquote>\n</details>\n<hr>\n\n\n<!--#endregion documentation -->\n\n## Motivation\n\nThis whole package was part of [@lillallol/outline-pdf](https://github.com/lillallol/outline-pdf), but then I decide to do separation of concerns, because it would make both projects more readable.\n\n## Contributing\n\nI am open to suggestions/pull request to improve this program.\n\nYou will find the following commands useful:\n\n-   Clones the github repository of this project:\n\n    ```bash\n    git clone https://github.com/lillallol/outline-pdf-data-structure\n    ```\n\n-   Installs the node modules (nothing will work without them):\n\n    ```bash\n    npm install\n    ```\n\n-   Tests the code and generates code coverage:\n\n    ```bash\n    npm run test\n    ```\n\n    The generated code coverage is saved in `./coverage`.\n\n-   Lints the source folder using typescript and eslint:\n\n    ```bash\n    npm run lint\n    ```\n\n-   Builds the typescript code from the `./src` folder to javascript code in `./dist`:\n\n    ```bash\n    npm run build-ts\n    ```\n\n-   Injects in place the generated toc and imported files to `README.md`:\n\n    ```bash\n    npm run build-md\n    ```\n\n-   Checks the project for spelling mistakes:\n\n    ```bash\n    npm run spell-check\n    ```\n\n    Take a look at the related configuration `./cspell.json`.\n\n-   Checks `./src` for dead typescript files:\n\n    ```bash\n    npm run dead-files\n    ```\n\n    Take a look at the related configuration `./unimportedrc.json`.\n\n## Changelog\n\n### 1.0.3\n\n-   Added documentation section in `README.md`. The documentation was generated via [ts-doc-gen-md](https://www.npmjs.com/package/ts-doc-gen-md) and added in the `README.md` via [md-in-place](https://www.npmjs.com/package/md-in-place).\n-   Added changelog section in `README.md`.\n-   Added contributing section in `README.md`.\n-   Added example section in `README.md`.\n-   Did some internal changes in the code (added `tagUnindent`, created files: `errorMessages.ts`,`constants.ts`,`publicApi.ts`).\n\n### 1.0.2\n\n**bug fixes**\n\n-   Changed count to be number of descendants instead of immediate descendants.\n\n### 1.0.1\n\nSome minor link fixes in the `README.md`.\n\n### 1.0.0\n\nFirst release.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}