{"_id":"@rdfjs/traverser","_rev":"8-a0e0ab088eba183154087442044c5f67","name":"@rdfjs/traverser","dist-tags":{"latest":"0.1.4"},"versions":{"0.1.0":{"name":"@rdfjs/traverser","version":"0.1.0","keywords":["rdf","rdfjs","traverser"],"author":{"url":"https://www.bergnet.org/people/bergi/card#me","name":"Thomas Bergwinkl","email":"bergi@axolotlfarm.org"},"license":"MIT","_id":"@rdfjs/traverser@0.1.0","maintainers":[{"name":"bergos","email":"bergi@bergnet.org"},{"name":"l00mi","email":"npm.michael@oiu.ch"}],"homepage":"https://github.com/rdfjs-base/traverser","bugs":{"url":"https://github.com/rdfjs-base/traverser/issues"},"dist":{"shasum":"8641661b8c9ad64d0dfb41980082de9f1edf2193","tarball":"https://registry.npmjs.org/@rdfjs/traverser/-/traverser-0.1.0.tgz","fileCount":9,"integrity":"sha512-9vYPgEg0tgYuOuLTXoyr33NRMvWULs2KcqfEG2afBny6XPf6Rfj3o9ONokj0OZQhj5ZVY+t6yIY08Dz1dtphMg==","signatures":[{"sig":"MEYCIQDAyaDce5ysN9kvXEqq9y0uDtx+3papbFpyUmqOhGth0QIhAMy6xizStCNxzP2S950raRrN7tYOKq4zJhJZbLegCoEk","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19144,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhvSy5CRA9TVsSAnZWagAAdSMP/2hTPMa5H7UYm7VdJer7\ntVy0dKdw7yGIBt4pL7Ocxh+pUMCbYuDKzP0HEn7ZPIo1IA+YGxjIH2A0i/zS\nx9Fe80Fl5lSOAKiT4jAwEN9J0nDfn3hOBrMmhAef2jUW2apIpCC5p2U+QTea\nImFoljESG4LipgVm0sL/zoHcf89USOMoKCIeqSxi+cU3DbDPEauBFmOm2SL/\nl6l3Vw4uGCu+VXm07pLN3m2W+wTNpiE3hiLT77tNrpGRwbl46o+4KuPfp3u5\nYwteRcMDI1dFaQ8y71PSm6uOuRbapoaIFZtvtXkBDAu12dQi3cAabo3k6XIb\nAEfdaDdFg1QQaqBHV+jzBAbZxZeef82nfSQdg+jQ4Gq79iy57ZMWvjSqbIUR\n4FDO368XKjH8jp4r8PtFrVkyG/EXm/51RjzHHIz8SGsv/jEw37MvFvcfQlMf\ntIe48yd9dSK945SL554T9nR+qhow3oXFV27L7PTO62fXQ2PDB6XPpD99/a1T\nHTqVeAWB5NG5C7NZH1dmYFo8ZHHpbrceDzHUtF6BJtMGeWJ9mU7bXt22rGwV\nT2zUkCIRZo2qnk74xBuLOxB72oH6Xjn3lulwctV3AId+IJ7+l2bSBhl5NSSV\nlLq1MEMIoIhjrpLvDBux8Eu9IxbcPmLrkTeDRT0+m2L+fEhBAD7zH1yd2Jeb\nsn89\r\n=zhij\r\n-----END PGP SIGNATURE-----\r\n"},"main":"Traverser.js","type":"module","gitHead":"5a94e1e15b913799774a14fea927574c4175ac53","scripts":{"test":"stricter-standard && c8 --reporter=lcov --reporter=text mocha","coverage":"codecov"},"_npmUser":{"name":"bergos","email":"bergi@bergnet.org"},"repository":{"url":"git+https://github.com/rdfjs-base/traverser.git","type":"git"},"_npmVersion":"8.1.2","description":"Generic traverser for RDF/JS datasets","directories":{},"_nodeVersion":"16.13.1","_hasShrinkwrap":false,"devDependencies":{"c8":"^7.10.0","mocha":"^9.1.3","codecov":"^3.8.3","rdf-dataset-ext":"^1.0.0","stricter-standard":"^0.2.0","@rdfjs/environment":"^0.1.1","@rdfjs/to-ntriples":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/traverser_0.1.0_1639787704986_0.64771429010099","host":"s3://npm-registry-packages"}},"0.1.1":{"name":"@rdfjs/traverser","version":"0.1.1","keywords":["rdf","rdfjs","traverser"],"author":{"url":"https://www.bergnet.org/people/bergi/card#me","name":"Thomas Bergwinkl","email":"bergi@axolotlfarm.org"},"license":"MIT","_id":"@rdfjs/traverser@0.1.1","maintainers":[{"name":"bergos","email":"bergi@bergnet.org"}],"homepage":"https://github.com/rdfjs-base/traverser","bugs":{"url":"https://github.com/rdfjs-base/traverser/issues"},"dist":{"shasum":"df5be77dee69e402c2dec4bba4f0e7c92b2b633f","tarball":"https://registry.npmjs.org/@rdfjs/traverser/-/traverser-0.1.1.tgz","fileCount":10,"integrity":"sha512-zyVuur2dS5cceUPjIh0TNS7GsmvEHaSqb5Sw5yxS4mDOun1X35FObNEezksbGpc2KzcDTJJV8V2SLr397lAGug==","signatures":[{"sig":"MEUCIQDz4MCkW3hyf900AkeopxTKRmSi8mOeHhUEquMVaTG/QQIgN+qxP+I7f6KZi3ZTpVu6t9fePhBAAD6DHtOxXxJjsfQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21748,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjuf67ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqJNBAAhbYH3CrVU1CtGWhINZMhQcYmVe/0SUJb332mmNqZtRl6YA31\r\nGiiOe7Mu9wvJROFWYdgUYFCDYpilMNNlBOrln919JSIO8nM9HCGijiZrJAqp\r\nzHQ1ibr+liaokb+r0TVgHldNfL9MAAuYqb8/grhEoiiNT1UgdC6qnUj1DugD\r\nDAEJ/b9nRbSw74qstBk+vA1LD1M4NYd4stN1aV09Ju6DDu2PPTP9VSeLtkFL\r\nnTmksdZT7LvMUe2mIU3egn69UWtlhf7LgJICfA/JkcINQoOf5YlW+/M3POov\r\nDuljJ2y8/yIepHDUijv9Rh4r0AGwO5sO/BrZNax++3d3WtWDYVGtwAfMdvjT\r\n9KS/dIWvblxW7BhXyhIHbCW1CO3PkK/d8BsMpoli9q4B+Fa+AWk6vf57g8kc\r\nBROfEJCiTHCSvdu/31NXKdZowQ0FZ/zSms0uzlnl/BtdmiN6QOZAHtKMu5Gd\r\nCuLp5BZ6vn6Vz87To53EO2OP1SAP5Eri8CeDC3mPJJWpz0hPQK77zepdOeei\r\nE6pL5hYpsr1X7aQ0bUxR2MLsH2rewlbDyOPo0fEOINSyaOep8jHfD5IKNJv9\r\nhbsqU+BvXIuR0lvW2OU6hds5kMgcnM8p0fYOBx+RunOa6IlvRGC5mfurvIpB\r\nbGlFslOCcQjahpUcKChAFd9MsRIoI9cp4MU=\r\n=bifE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"Traverser.js","type":"module","gitHead":"4fc3bfe2778991cc1f74e3ef2bdd1aaf39c4c38d","scripts":{"test":"stricter-standard && c8 --reporter=lcov --reporter=text mocha","coverage":"codecov"},"_npmUser":{"name":"bergos","email":"bergi@bergnet.org"},"repository":{"url":"git+https://github.com/rdfjs-base/traverser.git","type":"git"},"_npmVersion":"8.19.2","description":"Generic traverser for RDF/JS datasets","directories":{},"_nodeVersion":"18.12.1","_hasShrinkwrap":false,"devDependencies":{"c8":"^7.10.0","mocha":"^9.1.3","codecov":"^3.8.3","rdf-dataset-ext":"^1.0.0","stricter-standard":"^0.2.0","@rdfjs/environment":"^0.1.1","@rdfjs/to-ntriples":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/traverser_0.1.1_1673133755609_0.23969777394228786","host":"s3://npm-registry-packages"}},"0.1.2":{"name":"@rdfjs/traverser","version":"0.1.2","keywords":["rdf","rdfjs","traverser"],"author":{"url":"https://www.bergnet.org/people/bergi/card#me","name":"Thomas Bergwinkl","email":"bergi@axolotlfarm.org"},"license":"MIT","_id":"@rdfjs/traverser@0.1.2","maintainers":[{"name":"bergos","email":"bergi@bergnet.org"}],"homepage":"https://github.com/rdfjs-base/traverser","bugs":{"url":"https://github.com/rdfjs-base/traverser/issues"},"dist":{"shasum":"19dfafbbdc37c04f1bd220319d2500af9f423551","tarball":"https://registry.npmjs.org/@rdfjs/traverser/-/traverser-0.1.2.tgz","fileCount":10,"integrity":"sha512-EBB/p9LrTMzupZ6VlxtBXyL0bdXFY7e5lAp2tHNwxOoe3kcR6hOJFVWdPT7pdWaSotyXbTIEQxG4PkXMw/OY7w==","signatures":[{"sig":"MEUCIQC4o82d2Prv2FGGO7Ph/0vwu+culH9ULvmSVTN7uTOjHgIgNGUKJdQMFsTRN+D6Pmq+NXyMlHqh03XEgzfXgCYaFUQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21772,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkR4P2ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqUUA/+IdCf6zsIXE6WW6WJaTQ1jYR1GNkSkmBghDkeik8OlXsqVfj/\r\nRBlFMpPY7wf/K/SCK5psk+4I2HzcupoNDkREldvvznHqTKBUl45ocoE3/m0w\r\npl4iq85aiVWCuQFPREc/ByLwt16CWFHiZbyiscd6f8K4+r59r/hKkrKqWwVA\r\nkgUQwa68kSCGpwybTdDHWdYccjCRRbCMlA8uJ1WdMtSFrScryedheaLzE2Sl\r\nFkcq8c891eooQFpwcJLAD4WNusydO9/GPMqgRcJqGzMMSe2YxR0A8nWiZQhT\r\ns3yUka3u9/X7lOXzjYHkPuNHi8yXfOJwIolU211EiSp4pYyryQnwjXeFfxB9\r\nqsX9ujArzXfOE38oeOeUPDGvEIhbrDUatdUX9DtrCe42TMvcE6ECbMCJ2WKi\r\nuOy1pjZR+s9En14anJunYc9rutYOTNA3fa9I7DXFJ3yK1BbHEvyriUGvFN4C\r\n8WQGF4e7WNgEWcA1fzNGIiomorFXYoAPQDg6arpSBjJOBTss8m9prKnwIN5l\r\nTFsU6ntRmtSv3XPLAQfBFXRu02WPKNmFm/6xcpgeXc01WdaweUZ86bfpixZY\r\nceiHCk483Cv3b9duUaOYkcdoM8YV7yd1D+PiGfcLtx9BNt5zFKZmkx7gXvgr\r\n0J31NVR9etlXJxPj1X4tCPU5ysoanXRTo/g=\r\n=j3mC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"Traverser.js","type":"module","gitHead":"2cf2fc2afc27d8d031f8b5ca8b46045b91039caf","scripts":{"test":"stricter-standard && c8 --reporter=lcov --reporter=text mocha","coverage":"codecov"},"_npmUser":{"name":"bergos","email":"bergi@bergnet.org"},"repository":{"url":"git+https://github.com/rdfjs-base/traverser.git","type":"git"},"_npmVersion":"8.19.3","description":"Generic traverser for RDF/JS datasets","directories":{},"_nodeVersion":"18.13.0","dependencies":{"@rdfjs/to-ntriples":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^7.10.0","mocha":"^9.1.3","codecov":"^3.8.3","rdf-dataset-ext":"^1.0.0","stricter-standard":"^0.2.0","@rdfjs/environment":"^0.1.1"},"_npmOperationalInternal":{"tmp":"tmp/traverser_0.1.2_1682408438415_0.09433242378936013","host":"s3://npm-registry-packages"}},"0.1.3":{"name":"@rdfjs/traverser","version":"0.1.3","keywords":["rdf","rdfjs","traverser"],"author":{"url":"https://www.bergnet.org/people/bergi/card#me","name":"Thomas Bergwinkl","email":"bergi@axolotlfarm.org"},"license":"MIT","_id":"@rdfjs/traverser@0.1.3","maintainers":[{"name":"bergos","email":"bergi@bergnet.org"}],"homepage":"https://github.com/rdfjs-base/traverser","bugs":{"url":"https://github.com/rdfjs-base/traverser/issues"},"dist":{"shasum":"421e247f852284cd062a958c8cf8b590d81cfce2","tarball":"https://registry.npmjs.org/@rdfjs/traverser/-/traverser-0.1.3.tgz","fileCount":11,"integrity":"sha512-Pc1hhHA41TAxTFnsdtoOgStnGrHqXav/87tKU906EkMixbbsBSbzN+YMdXw9ayaif/qRu+hSD6j3d6gxPhXJQw==","signatures":[{"sig":"MEUCIQCZwn+mRejlIvV8tEh+hWAZ6RB40uQ3p9nh5bELN4irKQIgG+bndL4Dd7J2zX5NWuT4eUYZz8h7cPaVuWBI7g9ALzE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22067},"main":"Traverser.js","type":"module","gitHead":"09f3c4f4c7801b04af11f5eca1854bfb198a57d5","scripts":{"test":"stricter-standard && c8 --reporter=lcov --reporter=text mocha","coverage":"codecov"},"_npmUser":{"name":"bergos","email":"bergi@bergnet.org"},"repository":{"url":"git+https://github.com/rdfjs-base/traverser.git","type":"git"},"_npmVersion":"10.2.4","description":"Generic traverser for RDF/JS datasets","directories":{},"_nodeVersion":"20.11.0","dependencies":{"@rdfjs/to-ntriples":"^3.0.1"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^9.1.0","mocha":"^10.4.0","codecov":"^3.8.3","@rdfjs/dataset":"^2.0.2","rdf-dataset-ext":"^1.0.0","@rdfjs/namespace":"^2.0.1","@rdfjs/data-model":"^2.0.2","stricter-standard":"^0.3.1","@rdfjs/environment":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/traverser_0.1.3_1717341415980_0.07106500444124464","host":"s3://npm-registry-packages"}},"0.1.4":{"name":"@rdfjs/traverser","version":"0.1.4","keywords":["rdf","rdfjs","traverser"],"author":{"url":"https://www.bergnet.org/people/bergi/card#me","name":"Thomas Bergwinkl","email":"bergi@axolotlfarm.org"},"license":"MIT","_id":"@rdfjs/traverser@0.1.4","maintainers":[{"name":"bergos","email":"bergi@bergnet.org"}],"homepage":"https://github.com/rdfjs-base/traverser","bugs":{"url":"https://github.com/rdfjs-base/traverser/issues"},"dist":{"shasum":"0d4f8c10a2a136d278f00fa2f01e1926eb0e1364","tarball":"https://registry.npmjs.org/@rdfjs/traverser/-/traverser-0.1.4.tgz","fileCount":11,"integrity":"sha512-53QYlxiQIxH8k4jutjet1EjdZfyKCDSsfqnj2YejAJ1X8mLDMSOsneMM5savBwBR0ROfAhKVtZVb+pego+JLiw==","signatures":[{"sig":"MEUCICB8/Z7do+R/pg0nhWSLzWjuevM+BJWNC1bRx5YLuCZyAiEAoUA7zd6F4lXeGSB3AdVXrZkpwswTSRLrkfRD4u/C5Wk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21964},"main":"Traverser.js","type":"module","gitHead":"55fe4913aa9fb112c35ad1ec9bb126eb9edb6bd6","scripts":{"test":"stricter-standard && c8 --reporter=lcov --reporter=text mocha","coverage":"codecov"},"_npmUser":{"name":"bergos","email":"bergi@bergnet.org"},"repository":{"url":"git+https://github.com/rdfjs-base/traverser.git","type":"git"},"_npmVersion":"10.2.4","description":"Generic traverser for RDF/JS datasets","directories":{},"_nodeVersion":"20.11.0","dependencies":{"@rdfjs/to-ntriples":"^3.0.1"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^9.1.0","mocha":"^10.4.0","codecov":"^3.8.3","rdf-test":"^0.1.0","@rdfjs/dataset":"^2.0.2","@rdfjs/namespace":"^2.0.1","@rdfjs/data-model":"^2.0.2","stricter-standard":"^0.3.1","@rdfjs/environment":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/traverser_0.1.4_1717745762563_0.7595494604930002","host":"s3://npm-registry-packages"}}},"time":{"created":"2021-12-18T00:35:04.936Z","modified":"2026-02-11T20:56:46.650Z","0.1.0":"2021-12-18T00:35:05.124Z","0.1.1":"2023-01-07T23:22:35.789Z","0.1.2":"2023-04-25T07:40:38.578Z","0.1.3":"2024-06-02T15:16:56.150Z","0.1.4":"2024-06-07T07:36:02.730Z"},"bugs":{"url":"https://github.com/rdfjs-base/traverser/issues"},"author":{"url":"https://www.bergnet.org/people/bergi/card#me","name":"Thomas Bergwinkl","email":"bergi@axolotlfarm.org"},"license":"MIT","homepage":"https://github.com/rdfjs-base/traverser","keywords":["rdf","rdfjs","traverser"],"repository":{"url":"git+https://github.com/rdfjs-base/traverser.git","type":"git"},"description":"Generic traverser for RDF/JS datasets","maintainers":[{"email":"bergi@bergnet.org","name":"bergos"},{"email":"matthieubosquet@gmail.com","name":"matthieubosquet"}],"readme":"# @rdfjs/traverser\n\n[![build status](https://img.shields.io/github/actions/workflow/status/rdfjs-base/traverser/test.yaml?branch=master)](https://github.com/rdfjs-base/traverser/actions/workflows/test.yaml)\n\n[![npm version](https://img.shields.io/npm/v/@rdfjs/traverser.svg)](https://www.npmjs.com/package/@rdfjs/traverser)\n\nThis package provides a generic traverser for [RDF/JS Datasets](https://rdf.js.org/dataset-spec/).\n\n## Usage\n\nThe main export of the package is the `Traverser` class.\nIt can be imported like this:\n\n```javascript\nimport Traverser from '@rdfjs/traverser'\n```\n\nThe package also provides a factory that can be used with [@rdfjs/environment](https://github.com/rdfjs-base/environment):\n\n```javascript\nimport Environment from '@rdfjs/environment'\nimport TraverserFactory from '@rdfjs/traverser/Factory.js'\n\nconst env = new Environment([DataFactory, DatasetFactory, TraverserFactory])\n```\n\n### Traverser(filter, { backward, factory, forward })\n\nCreates a new `Traverser` instance.\nA `Traverser` contains only the rules for traversing.\nThe dataset and the starting point must be given to the methods.  \n\n- `filter`: A filter function that returns a truthy value if the `Traverser` should traverse the given quad.\n- `backward`: If true, traverse from object to subject. (default: `false`)\n- `factory`: A RDF/JS factory that supports RDF/JS Datasets.\n  The function will be called like this: `filter({ dataset, level, quad })`.\n  - `dataset`: The RDF/JS Dataset that is traversed.\n  - `level`: The number of quads followed until the filter was called.\n  - `quad`: The current quad to process.\n- `forward`: (default: `true`)\n\n#### forEach ({ term, dataset }, callback)\n\nCalls the given callback function for each quad matching the rules of the `Traverser`, starting from the given `term` and `dataset`.\nThe callback function is called like this: `callback({ dataset, level, quad })`.\n \n- `dataset`: The RDF/JS Dataset that is traversed.\n- `level`: The number of quads followed until the callback was called.\n- `quad`: The current quad to process.\n\n#### match ({ term, dataset })\n\nReturns a RDF/JS Dataset that contains all quads matching the rules of the `Traverser`, starting from the given `term` and `dataset`.\n\n#### reduce ({ term, dataset }, callback, initialValue)\n\nCalls the given callback function for each quad matching the rules of the `Traverser`, starting from the given `term` and `dataset`.\nThe callback function is called like this: `callback({ dataset, level, quad }, result)`.\n\n- `dataset`: The RDF/JS Dataset that is traversed.\n- `level`: The number of quads followed until the callback was called.\n- `quad`: The current quad to process.\n- `result`: The return value of the previous call of the callback function.\n  If it's called the first time, the `initialValue` is used.\n\n### Factory\n\nThe constructor is called by the [@rdfjs/environment](https://github.com/rdfjs-base/environment).\nThe environment must support the [RDF/JS DatasetFactory](https://rdf.js.org/dataset-spec/) interface. \n\n#### traverser(filter, { backward = false, forward = true } = {})\n\nCreates a new `Traverser` instance and returns it.\n\nFor more details, see the [Traverser](#traverserfilter--backward-factory-forward-) constructor section.\n","readmeFilename":"README.md"}