{"_id":"@parse5/tools","_rev":"14-776d7d6fa24d6793aad0e0f43e619638","name":"@parse5/tools","dist-tags":{"next":"0.7.0-peers.0","latest":"0.7.0"},"versions":{"0.0.2-0":{"name":"@parse5/tools","version":"0.0.2-0","author":{"url":"https://github.com/43081j","name":"James Garbutt"},"license":"MIT","_id":"@parse5/tools@0.0.2-0","maintainers":[{"name":"43081j","email":"43081james@gmail.com"},{"name":"feedic","email":"me@feedic.com"}],"homepage":"https://github.com/43081j/parse5-tools#readme","bugs":{"url":"https://github.com/43081j/parse5-tools/issues"},"dist":{"shasum":"9ffd5a68dee4b5d256d82baf559a3a8895e67620","tarball":"https://registry.npmjs.org/@parse5/tools/-/tools-0.0.2-0.tgz","fileCount":4,"integrity":"sha512-nBDXO9jUDuuxFz1spzrpSK9KZMf5K4/+fkyl1O2r9W38pABRWkp4KVy15G56hZwgnxCllcxPJcuulajWvUA5rw==","signatures":[{"sig":"MEQCIFJjMDyWlFCNSNvn5gk3VY23MuAc1BHNCnlMQl2x1nf6AiB/7Y5nLweFxT5E1mx9kz/gVlAcjBHr6CYuRdHcxWSq3Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20459,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjEyF7ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmob5hAAoAEOGvozgzqnFdAy9m9i97kAkbQt2QTGlNoenGpixfBDggo8\r\n3xs+eNr+u0e3dWyYkYSdVJbLDlZyXE6Lg/MVDUGukR8vsVkfWxOUaNW2TsPb\r\nAe/BSJ7fEBKsb087Ts0d/gnhbdkS1QJS1p/D5tjdjeC676cqH6X9EwmYbHW+\r\nAm8Teum8P756jzDWbgZYiOtDzW6HswYHBhAHMh042n1TGBrM8frqCY7kooEw\r\nNvxdosY5gBDfHR7pjKPwXDivU5ahlccDaTokxBserighiNYcNdlcguZKi0Hi\r\nALCnltaaYtwrc2ktO+ZoQvDLOf2zwajpsaaBGDYDtS0jA1BXieiHbGMEuGoJ\r\nIH54cCcCwBOX7Qz5rH4bwkloaTy6D9Vv+7/Jq8IZU/KAYdzea0LvloSfGUNT\r\ngKAM8GMyYG84IqE4BfM4fb1u2zugXtFSUocEUPYNPepjM58lFY0RMY25UU54\r\nQXve+sxAAtDR4xrhjdBpTWrRiYYIRkn2xFRgEbNDtUdMDH7je2M7i7ffJUcT\r\n6uUy3N1wMzsn72/zhaDuK8UQ1xgrbWaqwAdozS31nj70zyARbwwxmUr9FSLb\r\nxaZ9q4911vMKs45LlpNF3iY0ZuH124YLAle02YZj5ehkaHJzQE5ZtKK4yNsr\r\ny8Nt6zYOdWEJ9IB1tcpOHUcDtZVfyBecKzc=\r\n=UyM3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/main.js","type":"module","types":"./lib/main.d.ts","gitHead":"791182218166320c4f7d6ac6784740df92aa436d","scripts":{"lint":"eslint \"src/**/*.ts\"","test":"c8 -r html -r text-summary node --test lib/test","build":"tsc","clean":"rimraf ./lib","format":"prettier --write \"src/**/*.ts\"","prepare":"npm run build","prebuild":"npm run clean","prepublishOnly":"npm run lint && npm run test"},"_npmUser":{"name":"43081j","email":"43081james@gmail.com"},"repository":{"url":"git+https://github.com/43081j/parse5-tools.git","type":"git"},"_npmVersion":"8.13.2","description":"A small set of utilities for dealing with parse5 syntax trees","directories":{},"_nodeVersion":"18.6.0","dependencies":{"parse5":"^7.0.0"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^7.12.0","eslint":"^8.18.0","rimraf":"^3.0.2","prettier":"^2.7.1","typescript":"^4.7.4","@types/node":"^18.0.4","eslint-config-google":"^0.14.0","@typescript-eslint/eslint-plugin":"^5.29.0"},"_npmOperationalInternal":{"tmp":"tmp/tools_0.0.2-0_1662198139312_0.07542734828246922","host":"s3://npm-registry-packages"}},"0.0.2-1":{"name":"@parse5/tools","version":"0.0.2-1","author":{"url":"https://github.com/43081j","name":"James Garbutt"},"license":"MIT","_id":"@parse5/tools@0.0.2-1","maintainers":[{"name":"43081j","email":"43081james@gmail.com"},{"name":"feedic","email":"me@feedic.com"}],"homepage":"https://github.com/43081j/parse5-tools#readme","bugs":{"url":"https://github.com/43081j/parse5-tools/issues"},"dist":{"shasum":"5d66ca8bb483eb6c03ff7fe57abe737d5f61bf42","tarball":"https://registry.npmjs.org/@parse5/tools/-/tools-0.0.2-1.tgz","fileCount":4,"integrity":"sha512-equgfB+nZYUWeEzEkKLDSRsPGp/BBgG3f7PWDVxpo9dTOn1USYNzktPJ/JZHfpXaQw8KzBwvjIuXGNb8Wvp0Aw==","signatures":[{"sig":"MEQCIAL5a3/DDn5u7KjPuH8W9IyYo8/eLhVWmNipPfKfUH5iAiBdtBwGuLF110ApgTF+h9FDPsN2JdD1nvTWI5uQDOpVng==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22079,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjFPMSACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrC9g//RmT0pqnjFjBYhRuZhnmvIDIuFEyGPqiSttoRQceTSO2fqhSD\r\nhWO+jyQkgNVcAmyjyq0K0Gw7rQObVHrtq/f7KGU8r7FihrMlc8EVwaeTwJXW\r\ngkBY/UAhGCGsRIJaaDF9P5OnW2V8Bf6NUXDmcb5TqZeQO03N412zo71ybau+\r\n4a1nOIvKcxvu1NLKsjaOn6UO9dyrHhI1MNvQTV1b85Q9UCycWofNKlXN1GD0\r\nzvmwh6iuLCHIW1ZjXhfUDrWM4SidKNftSSxlw2JgIc9eH0uLgk5sKcsgprll\r\n6GzIklJKHgab9MAsU0C3x7yXnDqwAZJBAq9ENhCS5Le1sHpHfoWyDwF8EYDN\r\nnk8VErLyheru5T7X2PxIwJrb8XVB/lK1D9g5k9DH2w9WRwmn87edACe6grPG\r\nsK4DokF/SvccIQZOW6r3WZeYJtA2nP2m+1xE+iVLSpMJfiRCslilOI3WwqfQ\r\n4hUGpPAcipAtyHzQE/2QW3rGqwa3+M6gpduGReCPVuWpM8BvhDBBu7wRRTwF\r\nVod+9WrrluaDIW5H1n7Oq5S0zQEre2VupaC7p1PMHaeYn3YXnsg6shLaiFBs\r\nTxEqCxZxpCvta18E9k5NTa6++JFr+bdpEGaHtdAlAU/ZuzFDLmvPiqPkNUmr\r\n30zQIFgunLKOIOPgBeumWgkWus/AWjSD10Y=\r\n=DSLg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/main.js","type":"module","types":"./lib/main.d.ts","gitHead":"e53b23e6c3413618f9f2ae86c966a351ec280578","scripts":{"lint":"eslint \"src/**/*.ts\"","test":"c8 -r html -r text-summary node --test lib/test","build":"tsc","clean":"rimraf ./lib","format":"prettier --write \"src/**/*.ts\"","prepare":"npm run build","prebuild":"npm run clean","prepublishOnly":"npm run lint && npm run test"},"_npmUser":{"name":"43081j","email":"43081james@gmail.com"},"repository":{"url":"git+https://github.com/43081j/parse5-tools.git","type":"git"},"_npmVersion":"8.13.2","description":"A small set of utilities for dealing with parse5 syntax trees","directories":{},"_nodeVersion":"18.6.0","dependencies":{"parse5":"^7.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"^7.12.0","eslint":"^8.18.0","rimraf":"^3.0.2","prettier":"^2.7.1","typescript":"^4.7.4","@types/node":"^18.0.4","eslint-config-google":"^0.14.0","@typescript-eslint/eslint-plugin":"^5.29.0"},"_npmOperationalInternal":{"tmp":"tmp/tools_0.0.2-1_1662317330692_0.8312560563375315","host":"s3://npm-registry-packages"}},"0.0.2-4":{"name":"@parse5/tools","version":"0.0.2-4","author":{"url":"https://github.com/43081j","name":"James Garbutt"},"license":"MIT","_id":"@parse5/tools@0.0.2-4","maintainers":[{"name":"43081j","email":"43081james@gmail.com"},{"name":"feedic","email":"me@feedic.com"}],"homepage":"https://github.com/43081j/parse5-tools#readme","bugs":{"url":"https://github.com/43081j/parse5-tools/issues"},"dist":{"shasum":"ea55414c741923cf0eeaca7c11e9d8eeb9216f8a","tarball":"https://registry.npmjs.org/@parse5/tools/-/tools-0.0.2-4.tgz","fileCount":4,"integrity":"sha512-CdCLx0+seZ6GYmhfps1iZDABhiGD1tsop6BE2N9m7t8nKAlYGVGTNwGX2HFGTmH421M0K32z0CAUfiH1dy5KJQ==","signatures":[{"sig":"MEUCIHUabKhf9sfa6WuuD2BqORMoeupJ2LP9wdRHT4nmXZkIAiEA7wPpfnYVYcgix6onU4nwU73qMCJR2WzxtTtrgIbrOLc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22358,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjFQ+5ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq1zA//d/nAoZYEj8hmPeCicRaKZXhlXR/MFRBS7ur75vVsWq4wWbas\r\nW6YeBg9jmXxq468xv1H6yZ+KkLJVuSaF6huT59WFom3eb1KOWIGnIBOhuPAP\r\nviQ3tBd5Vs0doQACKmXxpjsooaKEypmx4PyOqz+A6HtFpK9Flow8TqLY975y\r\nKWQN3tyYAxRZ1gAj6mfErB3mJX0MxaVTTDVN7ZAdxIb+/oN1pyFWhnemC09z\r\nLA2jKKalmx4MO7PRZ17dd228ZJqXfVwPoGewLLydZj5YUArmcniBv3ipBrMc\r\nzHLFXC1bQcVfiRAu2PjUpbBISTDL4rf5EDxDbB5RxO46lyCqd+hXMn3AWy+r\r\n2sOl0XGmIXA5RMajVj4WnhlX7RRCrsUBOEAMjtLSUz4tJGyUrIfSDo/PRnWK\r\no94U3y8yne1I8LEImS2GBU/Rhrv4ybpHL1D35AAzDBL+1HZcitxGEFwc4TBq\r\nBTVaJTDy3FRzc/8W95S8qNWL9REBY/PO3hB2PzfCkDeZbK7VjCeGH4rc8y1q\r\nE3BG2Rcssb2ow8eY+S/Gt10YkB0tCNpU6+K4C52Og8eWNfFV9jiJhwXYuWxm\r\nlNi+wlwz/zC7obiSFGgBQ7CMCq5iK67EorJ3PBjavD2L6yLa4snbh1rROirt\r\nNCznCOWQjpCJY5J9ZMrhkUpq362vASAEH7s=\r\n=QMls\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/main.js","type":"module","types":"./lib/main.d.ts","gitHead":"30ec2e5313504461928b3051f5124c306dcda6f3","scripts":{"lint":"eslint \"src/**/*.ts\"","test":"c8 -r html -r text-summary node --test lib/test","build":"tsc","clean":"rimraf ./lib","format":"prettier --write \"src/**/*.ts\"","prepare":"npm run build","prebuild":"npm run clean","prepublishOnly":"npm run lint && npm run test"},"_npmUser":{"name":"43081j","email":"43081james@gmail.com"},"repository":{"url":"git+https://github.com/43081j/parse5-tools.git","type":"git"},"_npmVersion":"8.13.2","description":"A small set of utilities for dealing with parse5 syntax trees","directories":{},"_nodeVersion":"18.6.0","dependencies":{"parse5":"^7.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"^7.12.0","eslint":"^8.18.0","rimraf":"^3.0.2","prettier":"^2.7.1","typescript":"^4.7.4","@types/node":"^18.0.4","eslint-config-google":"^0.14.0","@typescript-eslint/eslint-plugin":"^5.29.0"},"_npmOperationalInternal":{"tmp":"tmp/tools_0.0.2-4_1662324664860_0.8341934798327244","host":"s3://npm-registry-packages"}},"0.0.2-6":{"name":"@parse5/tools","version":"0.0.2-6","author":{"url":"https://github.com/43081j","name":"James Garbutt"},"license":"MIT","_id":"@parse5/tools@0.0.2-6","maintainers":[{"name":"43081j","email":"43081james@gmail.com"},{"name":"feedic","email":"me@feedic.com"}],"homepage":"https://github.com/43081j/parse5-tools#readme","bugs":{"url":"https://github.com/43081j/parse5-tools/issues"},"dist":{"shasum":"69778c077a3625c455de55eacebc368588e676fe","tarball":"https://registry.npmjs.org/@parse5/tools/-/tools-0.0.2-6.tgz","fileCount":18,"integrity":"sha512-rrqOYFmqrCOrstXrLMvvrZW/jibM7aXm1aeX9jfkrin176AjXiFi1tPEvcCyK2wAiWSjLAEyLN4Ye0/ITS1paQ==","signatures":[{"sig":"MEUCIAWs6LKfq1uRMrKzmCpWCFQW/uojddupgMLh8depcPUSAiEAltlOu9hJU7LUy0TJ8iIWJkCe8B1szCW8TZrwihcEqn4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26762,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjKffCACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoHQxAAkZ7SDYIr03R0R6xKNYpYUPUOdgW6hr7zuIlY7DqOIWxr2oCH\r\nnh37Hc0jywouZonmrk5OBiMI8JX5ZuJa4AVh879z+QLjbqT7MulKmxC9jG0V\r\nW8be1k/XepgIaex7qimFW1CLskwLH/ZgPf3R+L34aNpMoVrcusa6fa2CidbI\r\ndqbUJctXZiAm6XrwZ2r034lKQ98DXKaK2R3Aqc4MFd+RNHDKJXI61tuDC05g\r\nS4388CvdJNG9h2J69RqnALbb9H4Bh8WNnQ8NRQUIQuKkvAr/vf54aMak94tD\r\noCJzPdNPf/ACN56Ar3NnsCJFOjerqdLYxjhsECfGxx/ygO32I//xQLPpzd/s\r\n0wVLa8IAUivvlCp/8QfL1zT/IaQrLU2C/k0zff2oAH3VmWJBFx3ICWEzfQcq\r\nkScQyTYLA3xy3lSEo1ortvsR++q084/g+rIpEPN3WswvtBlq4HFyJPUlFI4W\r\nhE0IJ75TvcEV5FdUB4YHwUy2iK61OPkh00hB6tKnWFFp1r/70zPcA8hp8149\r\nScL4aIju9+TsbyuQ0O1EMI7lp+ooiUviXag3JpntHwRguCdieqnS061VbNUC\r\nJSBUsMWBHlSj+1W8FRZbWe5LptErDDxR10qsloZOzSPvwBU7S3P/cr8atuvo\r\n4VO8cwe/zBRtQvUmip/tVtGxMpv839Xp0mw=\r\n=Z0Am\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/main.js","type":"module","types":"./lib/main.d.ts","gitHead":"1b6151b7e3f10e83b8351a295a1d69909f2c881e","scripts":{"lint":"eslint \"src/**/*.ts\"","test":"c8 -r html -r text-summary node --test lib/test","build":"tsc","clean":"rimraf ./lib","format":"prettier --write \"src/**/*.ts\"","prepare":"npm run build","prebuild":"npm run clean","prepublishOnly":"npm run lint && npm run test"},"_npmUser":{"name":"43081j","email":"43081james@gmail.com"},"repository":{"url":"git+https://github.com/43081j/parse5-tools.git","type":"git"},"_npmVersion":"8.13.2","description":"A small set of utilities for dealing with parse5 syntax trees","directories":{},"_nodeVersion":"18.6.0","dependencies":{"parse5":"^7.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"^7.12.0","eslint":"^8.18.0","rimraf":"^3.0.2","prettier":"^2.7.1","typescript":"^4.7.4","@types/node":"^18.0.4","eslint-config-google":"^0.14.0","@typescript-eslint/eslint-plugin":"^5.29.0"},"_npmOperationalInternal":{"tmp":"tmp/tools_0.0.2-6_1663694785830_0.6022589742347355","host":"s3://npm-registry-packages"}},"0.1.0":{"name":"@parse5/tools","version":"0.1.0","author":{"url":"https://github.com/43081j","name":"James Garbutt"},"license":"MIT","_id":"@parse5/tools@0.1.0","maintainers":[{"name":"43081j","email":"43081james@gmail.com"},{"name":"feedic","email":"me@feedic.com"}],"homepage":"https://github.com/43081j/parse5-tools#readme","bugs":{"url":"https://github.com/43081j/parse5-tools/issues"},"dist":{"shasum":"06a8ad2cf54a038617e087d322c9b4585ce0d1c4","tarball":"https://registry.npmjs.org/@parse5/tools/-/tools-0.1.0.tgz","fileCount":18,"integrity":"sha512-VB9+4BsFoS+4HdB/Ph9jD4FHQt7GyiWESVNfBSh8Eu54LujWyy+NySGLjg8GZFWSZcESG72F67LjgmKZDZCvPg==","signatures":[{"sig":"MEUCIQDDj2AGNW3lzKplvsmLFmOyzQGwoU0W+I/Kq6w331VpMQIgR7GeeD/pnJmHhWknB7FOa+4XYCfLzOaHKFt38AqIpl0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26760,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjjjgTACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp2Dw//eV1DUHtw9t3QbKUnpsxQKLi/0e9ZVY4lknQBb3VNXLYw8/o3\r\nRTRwGv7Qnkr2zndOux+xmSg9jd8QIseNCz6ejVzgrXxXPBcmnmnpd8ZL9cSM\r\n0nijX5bztG+rl8bsSYW3WOs54vPgaWwjG3lAYTwxnJAIlJutI8lR40mD14lv\r\nF32uzQF0cnD85MtJ8MsKeCmx1QrCjEUY1umenwIi5osWWbm58DdrwFEz/m2R\r\nOe+uccoNCznvaU6u8fLINktaQ/YhMo00PDbtzjpgb9TiQ1WhLTV2N7zpHszu\r\n30OR14tM4HYuTJuoDoyOIsylu+ejfaFDBLnVHqLKpidV43P8wQPEFo5tD4mm\r\n4DJ8FyPaku/wWqTNZNhO9aWWRhoB8FSa+cicJLGYvc8TskDYi44fvhxlXpyh\r\n/DpBgIID2K0/W5EaujcR6+pXdu0Wd9lvRbKaU31y3gous1H6CuQx/z6tK09I\r\nvGKi+5aIMFoBLmxFvy60rLBX+iBVH80Nwq0H6x6Zytd5XhqLP0uPl8I1ZQks\r\nIevi9vcLSTTdE89fd4Ix5rzylTAKX+bME0mVnNO/mUcyqyYNmFq4F5NFwBmY\r\ntdlqvwLcX/UAdAu30b4ZbOTSZIg4a50R820UM91/PcTwqOiSRZiG4tHabAXn\r\nTr8rDgSVjaMPfU0ZTlL4qUAX9SESHuw8K2Q=\r\n=B0YF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/main.js","type":"module","types":"./lib/main.d.ts","gitHead":"9c17dc75f160a2c26d7060aba93061df9a959c79","scripts":{"lint":"eslint \"src/**/*.ts\"","test":"c8 -r html -r text-summary node --test lib/test","build":"tsc","clean":"rimraf ./lib","format":"prettier --write \"src/**/*.ts\"","prepare":"npm run build","prebuild":"npm run clean","prepublishOnly":"npm run lint && npm run test"},"_npmUser":{"name":"43081j","email":"43081james@gmail.com"},"repository":{"url":"git+https://github.com/43081j/parse5-tools.git","type":"git"},"_npmVersion":"8.19.3","description":"A small set of utilities for dealing with parse5 syntax trees","directories":{},"_nodeVersion":"19.2.0","dependencies":{"parse5":"^7.0.0"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^7.12.0","eslint":"^8.18.0","rimraf":"^3.0.2","prettier":"^2.7.1","typescript":"^4.7.4","@types/node":"^18.0.4","eslint-config-google":"^0.14.0","@typescript-eslint/eslint-plugin":"^5.29.0"},"_npmOperationalInternal":{"tmp":"tmp/tools_0.1.0_1670264851069_0.9750081346778501","host":"s3://npm-registry-packages"}},"0.1.1-nodenext.0":{"name":"@parse5/tools","version":"0.1.1-nodenext.0","author":{"url":"https://github.com/43081j","name":"James Garbutt"},"license":"MIT","_id":"@parse5/tools@0.1.1-nodenext.0","maintainers":[{"name":"43081j","email":"43081james@gmail.com"},{"name":"feedic","email":"me@feedic.com"}],"homepage":"https://github.com/43081j/parse5-tools#readme","bugs":{"url":"https://github.com/43081j/parse5-tools/issues"},"dist":{"shasum":"ea5a2dcf10e0b7350f530d696bae52a2b7a751f6","tarball":"https://registry.npmjs.org/@parse5/tools/-/tools-0.1.1-nodenext.0.tgz","fileCount":20,"integrity":"sha512-Ba2wPQnx03glmlH/RsmeBCZkiWFB2GyZ6325lHsfE4L/ApHeqeONmKPxzPJ7FYbDvlzEvN5E3B9CmJTD0MV+Qw==","signatures":[{"sig":"MEQCIGqRareTw2Equoec1IkSZy3VE02oAnUODQL5UuVy77iXAiB8NY+RH47VfiIMSicJKuieifchI6pATZT9cQBG0pRlUg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27443},"main":"lib/main.js","type":"module","types":"./lib/main.d.ts","gitHead":"b910076fd12ac9ef12030d69268ba2b6cb117f89","scripts":{"lint":"eslint \"src/**/*.ts\"","test":"c8 -r html -r text-summary node --test lib/test","build":"tsc","clean":"rimraf ./lib","format":"prettier --write \"src/**/*.ts\"","prepare":"npm run build","prebuild":"npm run clean","prepublishOnly":"npm run lint && npm run test"},"_npmUser":{"name":"43081j","email":"43081james@gmail.com"},"repository":{"url":"git+https://github.com/43081j/parse5-tools.git","type":"git"},"_npmVersion":"9.6.7","description":"A small set of utilities for dealing with parse5 syntax trees","directories":{},"_nodeVersion":"20.3.0","dependencies":{"parse5":"^7.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"^7.12.0","eslint":"^8.18.0","rimraf":"^3.0.2","prettier":"^2.7.1","typescript":"^4.7.4","@types/node":"^18.0.4","eslint-config-google":"^0.14.0","@typescript-eslint/eslint-plugin":"^5.29.0"},"_npmOperationalInternal":{"tmp":"tmp/tools_0.1.1-nodenext.0_1690913150659_0.6989383133059057","host":"s3://npm-registry-packages"}},"0.2.0":{"name":"@parse5/tools","version":"0.2.0","author":{"url":"https://github.com/43081j","name":"James Garbutt"},"license":"MIT","_id":"@parse5/tools@0.2.0","maintainers":[{"name":"43081j","email":"43081james@gmail.com"},{"name":"feedic","email":"me@feedic.com"}],"homepage":"https://github.com/43081j/parse5-tools#readme","bugs":{"url":"https://github.com/43081j/parse5-tools/issues"},"dist":{"shasum":"d401faff3f40f166f136bafa78c612371fcbdc66","tarball":"https://registry.npmjs.org/@parse5/tools/-/tools-0.2.0.tgz","fileCount":20,"integrity":"sha512-nM6yoh+fBw+RCnk8XscJmV+V9fUuS89dYqwR3vYazNMmMvMsJbA0jsWhHeaqnPsMUp/Yt10NZArkHK6tv0lAew==","signatures":[{"sig":"MEQCIESV9cOJv3DH5UNjART3tebBLBeIW/SHO1FXDj+U2R69AiBqBqHU2Dt6EQb9YjwKPfOPk3jif+/7LYn7A1Z+XBZ5UA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27432},"main":"lib/main.js","type":"module","types":"./lib/main.d.ts","gitHead":"c7b8f3ef38311da30e02313bdb6c456ee8eaf774","scripts":{"lint":"eslint \"src/**/*.ts\"","test":"c8 -r html -r text-summary node --test lib/test","build":"tsc","clean":"rimraf ./lib","format":"prettier --write \"src/**/*.ts\"","prepare":"npm run build","prebuild":"npm run clean","prepublishOnly":"npm run lint && npm run test"},"_npmUser":{"name":"43081j","email":"43081james@gmail.com"},"repository":{"url":"git+https://github.com/43081j/parse5-tools.git","type":"git"},"_npmVersion":"9.6.7","description":"A small set of utilities for dealing with parse5 syntax trees","directories":{},"_nodeVersion":"20.3.0","dependencies":{"parse5":"^7.0.0"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^7.12.0","eslint":"^8.18.0","rimraf":"^3.0.2","prettier":"^2.7.1","typescript":"^4.7.4","@types/node":"^18.0.4","eslint-config-google":"^0.14.0","@typescript-eslint/eslint-plugin":"^5.29.0"},"_npmOperationalInternal":{"tmp":"tmp/tools_0.2.0_1690914784560_0.42598377569346324","host":"s3://npm-registry-packages"}},"0.3.0":{"name":"@parse5/tools","version":"0.3.0","author":{"url":"https://github.com/43081j","name":"James Garbutt"},"license":"MIT","_id":"@parse5/tools@0.3.0","maintainers":[{"name":"43081j","email":"43081james@gmail.com"},{"name":"feedic","email":"me@feedic.com"}],"homepage":"https://github.com/43081j/parse5-tools#readme","bugs":{"url":"https://github.com/43081j/parse5-tools/issues"},"dist":{"shasum":"4cac601408065a84c31a88431b02f9f69f92434a","tarball":"https://registry.npmjs.org/@parse5/tools/-/tools-0.3.0.tgz","fileCount":20,"integrity":"sha512-zxRyTHkqb7WQMV8kTNBKWb1BeOFUKXBXTBWuxg9H9hfvQB3IwP6Iw2U75Ia5eyRxPNltmY7E8YAlz6zWwUnjKg==","signatures":[{"sig":"MEYCIQDezEv2yBSrAs2lkxqYM925rxJHoTIAk1XArxg48qEm3AIhAImzh73WpWPkmxjEqRjgRcC22ZMmVMrfXwANiVZPuWBE","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27408},"main":"lib/main.js","type":"module","types":"./lib/main.d.ts","gitHead":"2a7c364a36a134d9d8c643d96f12b2b652129d34","scripts":{"lint":"eslint \"src/**/*.ts\"","test":"c8 -r html -r text-summary node --test lib/test","build":"tsc","clean":"rimraf ./lib","format":"prettier --write \"src/**/*.ts\"","prepare":"npm run build","prebuild":"npm run clean","prepublishOnly":"npm run lint && npm run test"},"_npmUser":{"name":"43081j","email":"43081james@gmail.com"},"repository":{"url":"git+https://github.com/43081j/parse5-tools.git","type":"git"},"_npmVersion":"9.6.7","description":"A small set of utilities for dealing with parse5 syntax trees","directories":{},"_nodeVersion":"20.3.0","dependencies":{"parse5":"^7.0.0"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^8.0.1","eslint":"^8.48.0","rimraf":"^5.0.1","prettier":"^3.0.3","typescript":"^5.2.2","@types/node":"^20.5.8","eslint-config-google":"^0.14.0","@typescript-eslint/eslint-plugin":"^6.5.0"},"_npmOperationalInternal":{"tmp":"tmp/tools_0.3.0_1693650806447_0.728267638575373","host":"s3://npm-registry-packages"}},"0.4.0":{"name":"@parse5/tools","version":"0.4.0","author":{"url":"https://github.com/43081j","name":"James Garbutt"},"license":"MIT","_id":"@parse5/tools@0.4.0","maintainers":[{"name":"43081j","email":"43081james@gmail.com"},{"name":"feedic","email":"me@feedic.com"}],"homepage":"https://github.com/43081j/parse5-tools#readme","bugs":{"url":"https://github.com/43081j/parse5-tools/issues"},"dist":{"shasum":"2ae6070739b2a2e7b07a023bd8fadaf5408217b6","tarball":"https://registry.npmjs.org/@parse5/tools/-/tools-0.4.0.tgz","fileCount":20,"integrity":"sha512-mLIbnvph9mBtEoFxz+LSy8Mh89sXVECdymzdmqw9PgM/IP3Q3CKETvruKYliV3QcvJLEc7PRb7YuG5XtTpKarw==","signatures":[{"sig":"MEQCID8Ylnf9TXRmtBgPLLy/Fz61y4GCjzyc0L5PYTmERN1ZAiAo1ToPlCdqRDkXFL31Kk7B7RIkdHThSI/bugcQ4uavvQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27413},"main":"lib/main.js","type":"module","types":"./lib/main.d.ts","gitHead":"7b54dd482a038a069bdf2eda659b2c2443f8e16e","scripts":{"lint":"eslint \"src/**/*.ts\"","test":"c8 -r html -r text-summary node --test lib/test","build":"tsc","clean":"rimraf ./lib","format":"prettier --write \"src/**/*.ts\"","prepare":"npm run build","prebuild":"npm run clean","prepublishOnly":"npm run lint && npm run test"},"_npmUser":{"name":"43081j","email":"43081james@gmail.com"},"repository":{"url":"git+https://github.com/43081j/parse5-tools.git","type":"git"},"_npmVersion":"10.1.0","description":"A small set of utilities for dealing with parse5 syntax trees","directories":{},"_nodeVersion":"20.8.0","dependencies":{"parse5":"^7.0.0"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^8.0.1","eslint":"^8.48.0","rimraf":"^5.0.1","prettier":"^3.0.3","typescript":"^5.2.2","@types/node":"^20.5.8","eslint-config-google":"^0.14.0","@typescript-eslint/eslint-plugin":"^6.5.0"},"_npmOperationalInternal":{"tmp":"tmp/tools_0.4.0_1705444411149_0.24697441432469702","host":"s3://npm-registry-packages"}},"0.5.0":{"name":"@parse5/tools","version":"0.5.0","author":{"url":"https://github.com/43081j","name":"James Garbutt"},"license":"MIT","_id":"@parse5/tools@0.5.0","maintainers":[{"name":"43081j","email":"43081james@gmail.com"},{"name":"feedic","email":"me@feedic.com"}],"homepage":"https://github.com/parse5/parse5-tools#readme","bugs":{"url":"https://github.com/parse5/parse5-tools/issues"},"dist":{"shasum":"9b5cafd8b5fedc3180823ea5938579216bbeb876","tarball":"https://registry.npmjs.org/@parse5/tools/-/tools-0.5.0.tgz","fileCount":21,"integrity":"sha512-vyYK20atGm9Kwwk/vi5jTFxb7m67EG1PLTUN31+WAUsvgOThu/PjsZD57P6A1hAm2TunkzxSD9esnYv6gcWrdA==","signatures":[{"sig":"MEQCIA1hIWuNVH7Obnrg3unpOhxi1aqMVUNf6DJrSdt+tVLjAiB8oztkzrlaEpDWEUjSMfORrgvV33tqP4sgZcb9NyUnww==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28505},"main":"lib/main.js","type":"module","types":"./lib/main.d.ts","gitHead":"644c902e941dc90d8512a35a4415fb69a2ec73d0","scripts":{"lint":"eslint \"src/**/*.ts\"","test":"c8 -r html -r text-summary node --test","build":"tsc","clean":"rimraf ./lib","format":"prettier --write \"src/**/*.ts\"","prepare":"npm run build","prebuild":"npm run clean","prepublishOnly":"npm run lint && npm run test"},"_npmUser":{"name":"43081j","email":"43081james@gmail.com"},"repository":{"url":"git+https://github.com/parse5/parse5-tools.git","type":"git"},"_npmVersion":"10.5.0","description":"A small set of utilities for dealing with parse5 syntax trees","directories":{},"_nodeVersion":"21.7.3","dependencies":{"parse5":"^7.0.0"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^9.1.0","eslint":"^8.48.0","rimraf":"^5.0.1","prettier":"^3.0.3","@eslint/js":"^9.1.1","typescript":"^5.2.2","@types/node":"^20.5.8","typescript-eslint":"^7.8.0","eslint-config-google":"^0.14.0"},"_npmOperationalInternal":{"tmp":"tmp/tools_0.5.0_1714763373829_0.5747242969933475","host":"s3://npm-registry-packages"}},"0.6.0":{"name":"@parse5/tools","version":"0.6.0","author":{"url":"https://github.com/43081j","name":"James Garbutt"},"license":"MIT","_id":"@parse5/tools@0.6.0","maintainers":[{"name":"feedic","email":"me@feedic.com"},{"name":"43081j","email":"43081james@gmail.com"}],"homepage":"https://github.com/parse5/parse5-tools#readme","bugs":{"url":"https://github.com/parse5/parse5-tools/issues"},"dist":{"shasum":"9fb398bc8a3597892aadcc109a8ccad0a820ad06","tarball":"https://registry.npmjs.org/@parse5/tools/-/tools-0.6.0.tgz","fileCount":21,"integrity":"sha512-T2mU5ZhgPHvwUdiXHweliSVt6mKPNIs3yOitW46LrhUzw/nfde6SaEjOWSXMtdiYKqyxszH2e3Uu/cAMzPi+vg==","signatures":[{"sig":"MEUCIQC0tRf/RGntoyQwNbRWLDIdV8wni+xhB+PNfFufgZGG6AIgUnK2sAkbLeopMQndLvvkZSaIvbDop+Pxj0YO9x7Jc+c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@parse5%2ftools@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28505},"main":"lib/main.js","type":"module","types":"./lib/main.d.ts","gitHead":"b3099f7cc61183c39a5419d83d8c9e8e9d3f8afc","scripts":{"lint":"eslint \"src/**/*.ts\"","test":"c8 -r html -r text-summary node --test","build":"tsc","clean":"rimraf ./lib","format":"prettier --write \"src/**/*.ts\"","prepare":"npm run build","prebuild":"npm run clean","prepublishOnly":"npm run lint && npm run test"},"_npmUser":{"name":"43081j","email":"43081james@gmail.com"},"repository":{"url":"git+https://github.com/parse5/parse5-tools.git","type":"git"},"_npmVersion":"10.9.2","description":"A small set of utilities for dealing with parse5 syntax trees","directories":{},"_nodeVersion":"22.14.0","dependencies":{"parse5":"^7.3.0"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^9.1.0","eslint":"^8.48.0","rimraf":"^5.0.1","prettier":"^3.0.3","@eslint/js":"^9.1.1","typescript":"^5.2.2","@types/node":"^20.5.8","typescript-eslint":"^7.8.0","eslint-config-google":"^0.14.0"},"_npmOperationalInternal":{"tmp":"tmp/tools_0.6.0_1745342886666_0.1792663753937065","host":"s3://npm-registry-packages-npm-production"}},"0.7.0-peers.0":{"name":"@parse5/tools","version":"0.7.0-peers.0","author":{"url":"https://github.com/43081j","name":"James Garbutt"},"license":"MIT","_id":"@parse5/tools@0.7.0-peers.0","maintainers":[{"name":"feedic","email":"me@feedic.com"},{"name":"43081j","email":"43081james@gmail.com"}],"homepage":"https://github.com/parse5/parse5-tools#readme","bugs":{"url":"https://github.com/parse5/parse5-tools/issues"},"dist":{"shasum":"c1c63a8aef4f91d99c933bf69c8481a3b4420f59","tarball":"https://registry.npmjs.org/@parse5/tools/-/tools-0.7.0-peers.0.tgz","fileCount":21,"integrity":"sha512-xdU1/wx7iq8n2l908LzDEKf6opGSJN3SwTaqDoBL+iUE1wfkXSMTopWhyr2i1OD4I5hjuNzb4L17RltDmchUVA==","signatures":[{"sig":"MEUCIQDsmzDiggQ+K3yn2a2qvvbdTPUEd0M1JnpRA8Iqde2gfgIgDw0rm8yA36GPQSAkF1aCvaEwCoLhL2dzeydqS1Ak4M0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@parse5%2ftools@0.7.0-peers.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28521},"main":"lib/main.js","type":"module","types":"./lib/main.d.ts","gitHead":"674ec04f09c22c43a3c04fffe9e697643db6340b","scripts":{"lint":"eslint \"src/**/*.ts\"","test":"c8 -r html -r text-summary node --test","build":"tsc","clean":"rimraf ./lib","format":"prettier --write \"src/**/*.ts\"","prepare":"npm run build","prebuild":"npm run clean","prepublishOnly":"npm run lint && npm run test"},"_npmUser":{"name":"43081j","actor":{"name":"43081j","type":"user","email":"43081james@gmail.com"},"email":"43081james@gmail.com"},"repository":{"url":"git+https://github.com/parse5/parse5-tools.git","type":"git"},"_npmVersion":"10.9.2","description":"A small set of utilities for dealing with parse5 syntax trees","directories":{},"_nodeVersion":"22.17.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"^9.1.0","eslint":"^8.48.0","rimraf":"^5.0.1","prettier":"^3.0.3","@eslint/js":"^9.1.1","typescript":"^5.2.2","@types/node":"^20.5.8","typescript-eslint":"^7.8.0","eslint-config-google":"^0.14.0"},"peerDependencies":{"parse5":"7.x || 8.x"},"_npmOperationalInternal":{"tmp":"tmp/tools_0.7.0-peers.0_1752095436416_0.9934127478570922","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@parse5/tools","version":"0.7.0","author":{"url":"https://github.com/43081j","name":"James Garbutt"},"license":"MIT","_id":"@parse5/tools@0.7.0","maintainers":[{"name":"feedic","email":"me@feedic.com"},{"name":"43081j","email":"43081james@gmail.com"}],"homepage":"https://github.com/parse5/parse5-tools#readme","bugs":{"url":"https://github.com/parse5/parse5-tools/issues"},"dist":{"shasum":"5b434822d225bca3a4ec0bcabb1e140ec43a184e","tarball":"https://registry.npmjs.org/@parse5/tools/-/tools-0.7.0.tgz","fileCount":21,"integrity":"sha512-JDvrGhc8kYBq7/SM4obJkpgwWo6pRjF/fo9CCaiJyVOkDf203Ciq2UF6TjzCFXKs7Q/zS2sS4deyBx0XzRvh9Q==","signatures":[{"sig":"MEYCIQC4lrFh+CaZa/VPi5zgALxgL5YlKEtrFvd46N3lFv56vgIhAJ5BTsAMcEI0B9yFq179rQ6Yj67MEoL807dqD6IGVQIl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@parse5%2ftools@0.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28513},"main":"lib/main.js","type":"module","types":"./lib/main.d.ts","gitHead":"674ec04f09c22c43a3c04fffe9e697643db6340b","scripts":{"lint":"eslint \"src/**/*.ts\"","test":"c8 -r html -r text-summary node --test","build":"tsc","clean":"rimraf ./lib","format":"prettier --write \"src/**/*.ts\"","prepare":"npm run build","prebuild":"npm run clean","prepublishOnly":"npm run lint && npm run test"},"_npmUser":{"name":"43081j","actor":{"name":"43081j","type":"user","email":"43081james@gmail.com"},"email":"43081james@gmail.com"},"repository":{"url":"git+https://github.com/parse5/parse5-tools.git","type":"git"},"_npmVersion":"10.9.2","description":"A small set of utilities for dealing with parse5 syntax trees","directories":{},"_nodeVersion":"22.17.0","_hasShrinkwrap":false,"devDependencies":{"c8":"^9.1.0","eslint":"^8.48.0","rimraf":"^5.0.1","prettier":"^3.0.3","@eslint/js":"^9.1.1","typescript":"^5.2.2","@types/node":"^20.5.8","typescript-eslint":"^7.8.0","eslint-config-google":"^0.14.0"},"peerDependencies":{"parse5":"7.x || 8.x"},"_npmOperationalInternal":{"tmp":"tmp/tools_0.7.0_1752095716880_0.4067364420791557","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2022-09-03T09:42:19.259Z","modified":"2026-05-21T09:38:50.136Z","0.0.2-0":"2022-09-03T09:42:19.473Z","0.0.2-1":"2022-09-04T18:48:50.901Z","0.0.2-4":"2022-09-04T20:51:05.027Z","0.0.2-6":"2022-09-20T17:26:25.968Z","0.1.0":"2022-12-05T18:27:31.325Z","0.1.1-nodenext.0":"2023-08-01T18:05:50.776Z","0.2.0":"2023-08-01T18:33:04.758Z","0.3.0":"2023-09-02T10:33:26.679Z","0.4.0":"2024-01-16T22:33:31.305Z","0.5.0":"2024-05-03T19:09:34.064Z","0.6.0":"2025-04-22T17:28:06.864Z","0.7.0-peers.0":"2025-07-09T21:10:36.573Z","0.7.0":"2025-07-09T21:15:17.043Z"},"bugs":{"url":"https://github.com/parse5/parse5-tools/issues"},"author":{"url":"https://github.com/43081j","name":"James Garbutt"},"license":"MIT","homepage":"https://github.com/parse5/parse5-tools#readme","repository":{"url":"git+https://github.com/parse5/parse5-tools.git","type":"git"},"description":"A small set of utilities for dealing with parse5 syntax trees","maintainers":[{"email":"43081james@gmail.com","name":"43081j"},{"email":"me@feedic.com","name":"fb55"}],"readme":"# @parse5/tools\n\nA set of tools for interacting with and manipulating a parse5 AST.\n\n## Why?\n\nThe parse5 tree adapter architecture can make AST types, traversal and\nmanipulation difficult due to its customisability.\n\nThis package introduces some assumptions (i.e. removes some customisability)\nin order to provide a more trivial interface to the parse5 AST for the common\nuse case.\n\nDue to this, the types in various places are also simplified and improved.\n\n## Tools\n\n### Node creation\n\nThe default parse5 adapter is usually enough to create the nodes you need.\n\nTo make some use cases a little easier, the following do exist, though:\n\n* `createElement(tagName[, attrs[, namespaceURI]])`\n  * The attributes can be an array (e.g. `[{name: 'foo', value: 'bar'}]`) or\nan object (e.g. `{foo: 'bar'}`)\n* `createTextNode(value)`\n* `createCommentNode(value)`\n* `createDocument()`\n* `createDocumentFragment()`\n* `createTemplateNode([content])`\n  * The `content` must be a `DocumentFragment` if it is set\n\n### Node removal\n\nThe default parse5 adapter can already remove nodes. For ease of use, we also\nexpose a function here:\n\n* `removeNode(node)`\n\n### Node type guards\n\nA full set of node type guard functions are availabile:\n\n* `isDocument`\n* `isDocumentFragment`\n* `isTemplateNode`\n* `isElementNode`\n* `isCommentNode`\n* `isDocumentTypeNode`\n* `isTextNode`\n\nEach of these consumes a `Node` and acts as a TypeScript type guard:\n\n```ts\nif (isDocument(node)) {\n  // access document-specific properties\n}\n```\n\n### Parent/child type guards\n\nThese help with determining if a given node can have children, or can be\na child.\n\n* `isChildNode`\n* `isParentNode`\n\nThese too are TypeScript type guards:\n\n```ts\nif (isChildNode(node)) {\n  // interact with node.parentNode\n}\n\nif (isParentNode(node)) {\n  // interact with node.childNodes\n}\n```\n\n### Child manipulation\n\nIf you need to mutate a child:\n\n* `replaceWith(node, ...replacements)` - replaces a given node with one or more\nnodes\n* `spliceChildren(node, start, deleteCount[, ...children])` - splices the\nchildren of a node just the same as `Array#splice`\n\n### Attributes\n\nFor interacting with and mutating attributes of an element:\n\n* `setAttribute(node, name, value)`\n* `getAttribute(node, name)`\n* `hasAttribute(node, name)`\n* `removeAttribute(node, name)`\n* `getAttributeIndex(node, name)`\n\n### Text manipulation\n\nFor dealing with text content of nodes:\n\n* `getTextContent(node)`\n* `setTextContent(node, str)`\n\n### Traversal\n\nUnless otherwise specified, all traversal functions are _depth first_.\n\nAdditionally, all capable of returning multiple nodes are iterators.\n\n#### `query(node, condition)`\n\nFrom a given node, this queries for a child at any depth which matches the\ncondition.\n\nFor example, to find the first document fragment:\n\n```ts\nquery(\n  node,\n  (node) => isDocumentFragment(node)\n);\n```\n\n#### `queryAll(node[, condition])`\n\nFrom a given node, this queries for all children at any depth which match\nthe condition.\n\nFor example, to find all elements:\n\n```ts\nconst elements = query(\n  node,\n  (node) => isElementNode(node)\n);\n\nfor (const element of elements) {\n  // do something\n}\n```\n\n#### `ancestors(node)`\n\nDiscovers all parents of the specified node until the root document.\n\n#### `walkChildren(node)`\n\nDiscovers all children of the specified node, depth-first.\n\n#### `previousSiblings(node)`\n\nDiscovers all previous siblings of the specified node.\n\n#### `nextSiblings(node)`\n\nDiscovers all next siblings of the specified node.\n\n#### `traverse`\n\nThe traverse function allows you to specify a visitor which will be called\nfor each matching type encountered while traversing the tree depth-first.\n\nFor example:\n\n```ts\ntraverse(node, {\n  text: (textNode) => {\n    // do something with a text node\n  }\n});\n```\n\nEach node type can have a visitor (e.g. you could have an `element` function).\n\n##### `pre:node`\n\nThere is one special visit function: `pre:node`.\n\nThis is called before visiting any node and will prevent traversing into\nthe current node's children if it returns false.\n\nFor example:\n\n```ts\ntraverse(node, {\n  'pre:node': (node) => {\n    return isElement(node);\n  }\n});\n```\n\nThis example would traverse into the children of only element nodes as all\nothers would have returned false.\n","readmeFilename":"README.md"}