{"_id":"@rdfjs/sink-map","_rev":"10-26fd74dd55d57c48b38c99f990506300","name":"@rdfjs/sink-map","dist-tags":{"latest":"2.0.1"},"versions":{"1.0.0":{"name":"@rdfjs/sink-map","version":"1.0.0","keywords":["map","rdf","rdfjs","sink"],"author":{"url":"https://www.bergnet.org/people/bergi/card#me","name":"Thomas Bergwinkl","email":"bergi@axolotlfarm.org"},"license":"MIT","_id":"@rdfjs/sink-map@1.0.0","maintainers":[{"name":"bergos","email":"bergi@bergnet.org"},{"name":"l00mi","email":"npm.michael@oiu.ch"},{"name":"rubenverborgh","email":"ruben@verborgh.org"},{"name":"timbl","email":"timbl+npmjs@w3.org"}],"homepage":"https://github.com/rdfjs/sink-map","bugs":{"url":"https://github.com/rdfjs/sink-map/issues"},"dist":{"shasum":"307134f49d50d2bf91d60184788110aea5afd65e","tarball":"https://registry.npmjs.org/@rdfjs/sink-map/-/sink-map-1.0.0.tgz","fileCount":5,"integrity":"sha512-z44MrBigh7+/VcKJbN0CanzS77r4N/fAj6jQimFjNeWl+7iYAr6xlHh3SY4HA/lNPVOD/qNWETkY3Ud/ok+gIg==","signatures":[{"sig":"MEQCICiZIs3wlSpml8KKhqq1rDoCGycSCxS3EaHOtQt0VSOXAiB1yDu3CbmFT/jMvKcdukDANp1z8I4ahoCKCbDWW+K8rA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6615,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbvlH0CRA9TVsSAnZWagAAZ6sQAIC2kX12vyyI/fDwOiKB\nmni4adIwWecT13igArA54pqyT0HEBQpc2NF6xWraZSvIDFjTs5LscRAQjY5T\nrfccDICuUAKaA6Skxu4y0GQvCEHDMYllB7MEx6YxT5Vk8WJnHcCIjpaQF3IK\nt22HnT6YNBj6rNjoDK6r8+dxPEPXzCi/dUv6nzmGNNIhtY+bpM9PbVk+QDP8\nPsE1F7eEKDj1pCgY7vxFe7P85USyHi12terWmjRMqNqi8ghLX7Fs0R6Gpwhe\n9TUTkWcbLGmfIehvTGp3zPl7sDhNhEFo8x7gnLVRrMCrfnh9bNfQy+lc+tfl\nu6GKL1wCf4xNL7Udb7rbp/hlCytF+eqYJHlNDwFP4Yt+VAGtWcaUedkGTeyv\nu629L4YEfU6EjJP4R8rrqA+9a0HpGKvCDPL2mtD79Rv0pPP8gU/B4fZ+OB1c\n/XWyoXi+XqlpenIDzg+ePh3l4NreiocMwDFeM39xV0sT6ZvJsPWbUsRhr3GY\nrPIaA/tx/EIqPPe2yegJ5IfYdL+rbmqHp5Emu5ggexaTExq5IndJ78qFMZHC\nRdqUqpwSEHYLVPkrgphDfsACNG6vmdGZ21FZ33KxyhZHxybyyhg5SNVMKnT7\ns2YCQzTJCHyI8YaICzPSY4SzfFi8y+zzmEJpr9P9YCx+A8Q+WNfyjvJVLBTD\npf+s\r\n=Mq+t\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","engines":{"node":">=6"},"gitHead":"48ad51ea67700955597c74bc45df24c3ce438e01","scripts":{"test":"standard && mocha"},"_npmUser":{"name":"bergos","email":"bergi@bergnet.org"},"repository":{"url":"git://github.com/rdfjs/sink-map.git","type":"git"},"_npmVersion":"6.0.0","description":"Map for RDFJS Sinks including shortcut methods","directories":{},"_nodeVersion":"8.11.1","dependencies":{"mocha":"^5.2.0","standard":"^12.0.1"},"_hasShrinkwrap":false,"devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/sink-map_1.0.0_1539199475725_0.8205362681672552","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"@rdfjs/sink-map","version":"1.0.1","keywords":["map","rdf","rdfjs","sink"],"author":{"url":"https://www.bergnet.org/people/bergi/card#me","name":"Thomas Bergwinkl","email":"bergi@axolotlfarm.org"},"license":"MIT","_id":"@rdfjs/sink-map@1.0.1","maintainers":[{"name":"bergos","email":"bergi@bergnet.org"},{"name":"l00mi","email":"npm.michael@oiu.ch"}],"homepage":"https://github.com/rdfjs-base/sink-map","bugs":{"url":"https://github.com/rdfjs-base/sink-map/issues"},"dist":{"shasum":"e26ea2a9bafd05e2c6420bb438bdcb3854052227","tarball":"https://registry.npmjs.org/@rdfjs/sink-map/-/sink-map-1.0.1.tgz","fileCount":5,"integrity":"sha512-PRp5TjULHe2oRcupR80SClZ/l50wnSuX2Pl+TlkcRazt1w7AT86kLmQYFbDfjqGM7uDwSyD6evLJxXBDf5UuvQ==","signatures":[{"sig":"MEUCIQDk6OSXZZ2yt82ScVdYtov5tzWJxGH0d/EmMPkQIPhcewIgIhS7Be8unctEZIvTe9RBGeHpyjkXYcd+QB2qQ/Wbbtg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6630,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdPwdWCRA9TVsSAnZWagAAWqoP/RyKBCEVFCfZghJpdgl0\nGMCk7q1C7al82HYxa3WgEsWZdjqN8sHgNGs8oFgcBdOwkcK5Bwv3IZz1kF++\nK/5m102xgkP/nc1evb66uK51JpqOEZN/KjnATzWNQ93tG6+u1ZFGX5gmqJ9q\njD7L4Bdec0qDazQd5Wfc6Rsl9b/7U2sVOQDDBYBU7R9J/iDWcZort6rysMor\nPxhvQZk8qeEi65KYqGDGRoVpowSFNYfdbo4qZHHHHGPDsmigIfcTcrKRe86C\nF2UbmL2xE4phrSOTTrVGI3aqj2MbpBrT5xvytbAQB9K32MBY9PfvWHjLWeqc\nL1v5ykMF9jWsqrPIUUkuUUXTnhkeo1HDw1ELk6GfFjdpsZyIgjVQqtZ03gId\nIZX5dYxgQQYl/JOtrjpA5uYqOMvtBtHRrsxLiiNQZVQXrnJI/tqdw0O8EEfo\nuyATOLmkeuFksoP+uAekxZSOWe5uNMRh+YSn6AK9X09rfcnNXc3Zh90b+kbN\nYlY4PJUK+msrj4v/2hVNotElivBUrs/V8Slu1o/Rf1FMviJGIdLW00gnMfRG\nvWAjSF+q03ZBmycy1qxfn2pQBsoxNC2hnGru81GhOtLHwKKRcZla1fQoD07n\nScKJ79tZsE6rT/BYxDokSRsTjSw5GR+Os/1qBbSGonwpbjlfs7o5HaE/f0UW\nlB9f\r\n=hPg1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","engines":{"node":">=6"},"gitHead":"91967c823d9ac9fd6755c6de21dee3aadb6e90a6","scripts":{"test":"standard && mocha"},"_npmUser":{"name":"bergos","email":"bergi@bergnet.org"},"repository":{"url":"git://github.com/rdfjs-base/sink-map.git","type":"git"},"_npmVersion":"6.4.1","description":"Map for RDFJS Sinks including shortcut methods","directories":{},"_nodeVersion":"10.12.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^5.2.0","standard":"^12.0.1"},"_npmOperationalInternal":{"tmp":"tmp/sink-map_1.0.1_1564411733252_0.5645164358930697","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"@rdfjs/sink-map","version":"2.0.0","keywords":["map","rdf","rdfjs","sink"],"author":{"url":"https://www.bergnet.org/people/bergi/card#me","name":"Thomas Bergwinkl","email":"bergi@axolotlfarm.org"},"license":"MIT","_id":"@rdfjs/sink-map@2.0.0","maintainers":[{"name":"bergos","email":"bergi@bergnet.org"},{"name":"l00mi","email":"npm.michael@oiu.ch"}],"homepage":"https://github.com/rdfjs-base/sink-map","bugs":{"url":"https://github.com/rdfjs-base/sink-map/issues"},"dist":{"shasum":"8026d59cd2ab7a84fdd65a2afa4421500dfdd112","tarball":"https://registry.npmjs.org/@rdfjs/sink-map/-/sink-map-2.0.0.tgz","fileCount":5,"integrity":"sha512-5Ahs1Ky6fglsqewpo89K7CFxD4EvFvAHdI/E5HJTu0L4tCUlvnZsmyKem4iYPDWdwsKplmUdORonUz75qPgd1g==","signatures":[{"sig":"MEUCIEn5AQqC6qPKNHuNyqxcd9ByowesdDFRG1u27zdilpIaAiEA1PYuBxRPZkGmTDMVsy3kl0DklN4CbT3RxVHlcjtWV74=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7046,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjQoNfACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpr7Q/+NYmW9oLg9AAloMAd7qznjHl2zZ2CJLX+lbQq9M97781rC4Yc\r\ncLiUJPGl87kiyS7lCYPIflAZqMOjfSpjPAS+WZ0yy4Ui5ZXx7bEbj/o7vCkC\r\nwArw6aL2oKSkQ6zwy6+Q3qmAvRpvHcx+BB4iO1AvTcz4xz8Gs0Q7alfoLcVK\r\nt8kwJXFGRsIEIWIXP7ln3UOiVacHXS3NL0yjicyakFbWj2EuCleBlBQ8mCl5\r\nsy+E+mDR66NsmLjKw7okUPVK+0NXpQKNGISP0BSrdRIrNNQZ8/GGK4DqbTIS\r\nUHa4z6oajAhUBNjoNLL79KjZYcHE+a5xkpDR4WRCDLuaUhDLE9lhp9TAQlQP\r\nj/kx2vXLz4rltgVWrsi+VhQp7+wwX1v2WghIUVpJsb4UsDUXAqRzL/3jsbFz\r\n0MAEyUrh5lgqxo/QsnjwGVPPp9u4r9E7KZjJIsg+vOOTP1e/ADZK7qffJOUw\r\n28RIeCoDT1PNcFFgaZsFBuvbYK5NPMnnor4p1dfQ8GOAXjBUZDeS8Vs5XQNu\r\nwQJgHCltwPP8vDQcGPJq5XAdh9CHgPPGpj4STV8LQ4D8obohwcLHRrTFuyFS\r\nUZiwMwnuGrsnw/h86tZtdTb2TaPqACD2syVX5Mwr+woH/YGdhxdg+On+ZJNR\r\nY9b1XsUBONen2L73lbBPCWfWnCMNO74gi0g=\r\n=vSgR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","gitHead":"3bbba2a74cfc793cfdea612883db3bd2eae73f90","scripts":{"test":"stricter-standard && c8 --reporter=lcov --reporter=text mocha"},"_npmUser":{"name":"bergos","email":"bergi@bergnet.org"},"repository":{"url":"git://github.com/rdfjs-base/sink-map.git","type":"git"},"_npmVersion":"8.13.2","description":"Map for RDF/JS Sinks including shortcut methods","directories":{},"_nodeVersion":"18.6.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"c8":"^7.12.0","mocha":"^10.0.0","assert":"^2.0.0","stricter-standard":"^0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/sink-map_2.0.0_1665303391615_0.4039558198072233","host":"s3://npm-registry-packages"}},"2.0.1":{"name":"@rdfjs/sink-map","version":"2.0.1","keywords":["map","rdf","rdfjs","sink"],"author":{"url":"https://www.bergnet.org/people/bergi/card#me","name":"Thomas Bergwinkl","email":"bergi@axolotlfarm.org"},"license":"MIT","_id":"@rdfjs/sink-map@2.0.1","maintainers":[{"name":"bergos","email":"bergi@bergnet.org"}],"homepage":"https://github.com/rdfjs-base/sink-map","bugs":{"url":"https://github.com/rdfjs-base/sink-map/issues"},"dist":{"shasum":"72ae9ccf4b041c14b52c5ea917c35bf6db561679","tarball":"https://registry.npmjs.org/@rdfjs/sink-map/-/sink-map-2.0.1.tgz","fileCount":6,"integrity":"sha512-BwCTTsMN/tfQl6QzD2oHn9A08e4af+hlzAz/d5XXrlOkYMEDUAqFuh2Odj9EbayhAEeN4wA743Mj2yC0/s69rg==","signatures":[{"sig":"MEYCIQDv3SDkLZ+tLJ7McMBKYW17l786+xgzOZMtdcbFQxACgwIhAP3lW/JpCZXSmDdkAvir7R3kSqwcelJa2pqu2d/td6Ch","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8166},"main":"index.js","type":"module","gitHead":"ac9143ee5db92cd3c863b3385cafca402f8da651","scripts":{"test":"stricter-standard && c8 --reporter=lcov --reporter=text mocha"},"_npmUser":{"name":"bergos","email":"bergi@bergnet.org"},"repository":{"url":"git+https://github.com/rdfjs-base/sink-map.git","type":"git"},"_npmVersion":"10.1.0","description":"Map for RDF/JS Sinks including shortcut methods","directories":{},"_nodeVersion":"20.9.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"c8":"^7.12.0","mocha":"^10.0.0","assert":"^2.0.0","stricter-standard":"^0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/sink-map_2.0.1_1704621436781_0.6070214960778444","host":"s3://npm-registry-packages"}}},"time":{"created":"2018-10-10T19:24:35.650Z","modified":"2026-02-11T20:56:44.568Z","1.0.0":"2018-10-10T19:24:35.916Z","1.0.1":"2019-07-29T14:48:53.402Z","2.0.0":"2022-10-09T08:16:31.807Z","2.0.1":"2024-01-07T09:57:16.939Z"},"bugs":{"url":"https://github.com/rdfjs-base/sink-map/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/sink-map","keywords":["map","rdf","rdfjs","sink"],"repository":{"url":"git+https://github.com/rdfjs-base/sink-map.git","type":"git"},"description":"Map for RDF/JS Sinks including shortcut methods","maintainers":[{"email":"bergi@bergnet.org","name":"bergos"},{"email":"matthieubosquet@gmail.com","name":"matthieubosquet"}],"readme":"# @rdfjs/sink-map\n\n[![build status](https://img.shields.io/github/actions/workflow/status/rdfjs-base/sink-map/test.yaml?branch=master)](https://github.com/rdfjs-base/sink-map/actions/workflows/test.yaml)\n[![npm version](https://img.shields.io/npm/v/@rdfjs/sink-map.svg)](https://www.npmjs.com/package/@rdfjs/sink-map)\n\nMap for [RDF/JS Sink](http://rdf.js.org/stream-spec/#sink-interface) including shortcut methods.\n\n## Usage\n\nThe package provides Map from a string key to a Sink with a shortcut for `.import`.\nTypical it's used to store parsers or serializers for specific media types.\nAs SinkMap extends from the [ECMAScript 2015 Map](https://www.ecma-international.org/ecma-262/6.0/#sec-map-objects) and doesn't overload any standard methods, methods like `set`, `get`, `has` or `delete` can be used as defined in the specification.\n\n### Create a SinkMap\nThe constructor accepts arrays with key/sink pairs to fill the map:\n\n```javascript\nconst map = new SinkMap([\n  ['text/turtle', new ParserN3()]\n])\n```\n\nIt's also possible to create an empty map and add or extend it later using the `.set()` method:\n\n```javascript\nconst map = new SinkMap()\n\nmap.set('text/turtle') = new ParserN3()\n```\n\n### Find a Sink\n\nThe `.get` method searches for the matching Sink and returns it:\n\n```javascript\nconst map = new SinkMap([...])\n\nconst sink = map.get('text/turtle')\n\nif (sink) {\n  // found\n} else {\n  // not found\n}\n```\n\n### Import shortcut\n\nUsually you want to call the `.import` method of the matching Sink.\nThe map provides a shortcut for this.\nIt also has a `.import` method, but requires additionally the key as the first argument.\nIt returns `null` if no matching sink was found:\n\n```javascript\nconst map = new SinkMap([...])\n\nconst input = fs.createReadStream('..')\nconst output = map.import('text/turtle', input)\n\nif (output) {\n  // found\n} else {\n  // not found\n}\n```\n\n### Example\n\nHere is a complete example where the map is used to store parsers and the `.import` shortcut is used to parse a string input:\n\n```javascript\nimport SinkMap from '@rdfjs/sink-map'\nimport ParserN3 from '@rdfjs/parser-n3'\nimport { Readable } from 'readable-stream'\n\nconst map = new SinkMap([\n  ['text/turtle', new ParserN3()]\n])\n\nconst input = new Readable({\n  read: () => {\n    input.push(`\n      PREFIX s: <http://schema.org/>\n\n      [] a s:Person ;\n        s:jobTitle \"Professor\" ;\n        s:name \"Jane Doe\" ;\n        s:telephone \"(425) 123-4567\" ;\n        s:url <http://www.janedoe.com> .\n    `)\n    input.push(null)\n  }\n})\n\nconst output = map.import('text/turtle', input)\n\noutput.on('data', quad => {\n  console.log(`${quad.subject.value} - ${quad.predicate.value} - ${quad.object.value}`)\n})\n```\n","readmeFilename":"README.md"}