{"_id":"@brakebein/nest-neo4j","_rev":"7-dc4dba3303c1f983879ceaf7a1b74da7","name":"@brakebein/nest-neo4j","dist-tags":{"latest":"1.4.0"},"versions":{"1.0.0":{"name":"@brakebein/nest-neo4j","version":"1.0.0","keywords":["neo4j","cypher","nest","nestjs"],"author":{"url":"https://github.com/adam-cowley","name":"Adam Cowley"},"license":"MIT","_id":"@brakebein/nest-neo4j@1.0.0","maintainers":[{"name":"brakebein","email":"bruschie@hotmail.com"}],"contributors":[{"url":"https://github.com/Brakebein","name":"Brakebein"}],"homepage":"https://github.com/Brakebein/nest-neo4j#readme","bugs":{"url":"https://github.com/Brakebein/nest-neo4j/issues"},"dist":{"shasum":"b5e74401c374c6d5acaaf46bb297d18c030e3c4a","tarball":"https://registry.npmjs.org/@brakebein/nest-neo4j/-/nest-neo4j-1.0.0.tgz","fileCount":20,"integrity":"sha512-dl8Gp4fdnpD4yMG1db5EcIFaetCVJ3NynumFB0FAtt/RXxxKg0I+OMo6t+6T6nX30Tnt+rsu5xm+83f08lYylg==","signatures":[{"sig":"MEYCIQDCtR2fxbOCjhGlg3X3m0UsUjIIq4pONCQ4+P4G6GHnxQIhAO6yiOLVrJrI0dkCVvF6wZD9SnbSbVrikVpwLVCn4CwN","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":137176,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjK1/yACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqBNQ/+PIqm4/W4tS5IUeoBAz2xjYN+I+1x3LnVSIr3JcoMEW75qqur\r\nUfeE6wfSHNSFsp6mUCrr7YjTPE7iJbZCo0dKP3iO16yuecj5YmP2KPKWBiUT\r\nScIHKT4WUReR35HgJdn75RzopRuLLzJHG3pBpiUhQcrWSP3CSHy5MIf2Y+8W\r\n/JYXXzlysoIngJxcJ9AcU2Cooc00KeRUG71Ms2TZAVM3hk4XI5NLYLg73108\r\nm7vDj/Ko690RWJekujqTeHeAy+MlKa64pSIqdb7QTfVlKza1Vg+1AYC6V+u7\r\nY8YpzD/zSy8jRvmRjCMhZ6y7Nv/afrEXadFDO/3pj8BzMn+vnLvudXEy6Cqw\r\n57IXNQpyMmsADhX5PxB/EpGNYEC3NfB4cuvNE9PYiUAejdwBBhQApPxzzWYD\r\nhxjKe3/bY+u9FPENOXuTO36BAmJm20Qi13LcUDlodGm5U+TIEIUF5r807n6z\r\nehZFouxURohjr1r2KlSLkEHvyrkeJAA3P0iD7443rFoXtw+SZesMYB5wHNbk\r\n2dgtUE7jFmH+TyH01Qpcu8fwPGUBz1EFh/kSSCdLENCi7HHB69UwOX4XxF57\r\nZvhOTdaWAOSEYvKih1yZizpXXpSrnswA1su1/H9NdWBW7vFxirPnLPkAi4k9\r\nGQQJrDJ+FNbzuNH3f44SQwi+mmTASPEYeWM=\r\n=XvWe\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.js","gitHead":"d4cc208f3e4ba4e671167f21f6077276ee214506","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc","prebuild":"rimraf ./dist"},"_npmUser":{"name":"brakebein","email":"bruschie@hotmail.com"},"repository":{"url":"git+https://github.com/Brakebein/nest-neo4j.git","type":"git"},"_npmVersion":"8.4.0","description":"Neo4j integration for NestJS","directories":{},"_nodeVersion":"18.7.0","dependencies":{"rxjs":"^7.2.0","express":"^4.18.1","@nestjs/core":"^9.0.0","neo4j-driver":"^4.4.7","@nestjs/common":"^9.0.0","@nestjs/config":"^2.2.0","reflect-metadata":"^0.1.13"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.21.0","rimraf":"^3.0.2","ts-node":"^10.0.0","prettier":"^2.7.1","typescript":"^4.3.5","@types/express":"^4.17.13","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.32.0","@typescript-eslint/eslint-plugin":"^5.32.0"},"_npmOperationalInternal":{"tmp":"tmp/nest-neo4j_1.0.0_1663786993935_0.8176508514604159","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"@brakebein/nest-neo4j","version":"1.0.1","keywords":["neo4j","cypher","nest","nestjs"],"author":{"url":"https://github.com/adam-cowley","name":"Adam Cowley"},"license":"MIT","_id":"@brakebein/nest-neo4j@1.0.1","maintainers":[{"name":"brakebein","email":"bruschie@hotmail.com"}],"contributors":[{"url":"https://github.com/Brakebein","name":"Brakebein"}],"homepage":"https://github.com/Brakebein/nest-neo4j#readme","bugs":{"url":"https://github.com/Brakebein/nest-neo4j/issues"},"dist":{"shasum":"72a92436ba73876ee95de49ae4311ad5c5f511d6","tarball":"https://registry.npmjs.org/@brakebein/nest-neo4j/-/nest-neo4j-1.0.1.tgz","fileCount":20,"integrity":"sha512-s/d6X6Nu8TDuZTR90Guy3VTjEPFzBzhD/Hh123H3vPsOIsAw+4q6VXmzTatLqWLAH0ioXSNi8EzGgwiQ6oweQw==","signatures":[{"sig":"MEYCIQDFKV07HPIN3s6cxJlLeBLT1W9fTmXD/9YpM9tQbuqRSgIhAJQIni/QzB0S95I4zEFwaobjR+z4jULYYdwPIh0eRFtx","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":137171,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjK2c9ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqobQ//aHp5+ji3WVF1e0fTvSkAzRIV/CFXGjBOxu5MZOofFVUxMN69\r\nD6KWLxjikqYFyrKJBizkNYF36mnTpE77HhlrLsfX8EwFzbvdCR86KQ/EcKzW\r\nTDN2ZnKnlUkTR5KFfKIX5S+sgqK0Q2FunAciz6axljGXbZTH9mrstEdR5+1H\r\n75yX7ywpOl6+WkGNHinTnsqd/YRxBC5o6XW5W/N2HlXcbUX7lRiNH8iHeWi0\r\nv3NxjHprUqcVsAX0o9JBd6bK+aruZ63Cu+CW1HtFVh0foSf5ltkl678NZAI8\r\nMhhOGi6Ob4SnEBCa1aLRUfof//gV3srp3PW6ecXLN3hNWKoWvDQm1Z5Cx3XL\r\n0uYBhQWSjGX+yf7m5QRr+K+CfK3NxQ3f9HjXT4n0DjpoBJ9VFh+fvNZo9HbA\r\nL+iuKk6RdvfGD0zWBgBv34907vodBWnR0fhXRChPGUAhxw29/pV6pDAA9N63\r\nUPfc8XQXiWcLL6MaHDPRVd/xbcngWBROr+Y6bjoQpoQIlUiHiUrQpRVHV3yI\r\nPAGykEokXvArGi0pSX0eU5bQUnlujmsdeY7tyCa0fD7N6JqwaHrFvKEDbAKD\r\noab6ZvQoTHtdjB7Xjj8ZL7e9cD/gyTBTWTNH+6AKnyNz+IqtFRIWt/7XAgcg\r\nmQgrKVXzubIvYeMsvsAB59Pk5H32Bcrm/n8=\r\n=M2af\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist\\index.d.ts","gitHead":"277e3974491e9a028eaf95586247ca58fe4a1c61","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc -p ./tsconfig.build.json","prebuild":"rimraf ./dist"},"_npmUser":{"name":"brakebein","email":"bruschie@hotmail.com"},"repository":{"url":"git+https://github.com/Brakebein/nest-neo4j.git","type":"git"},"_npmVersion":"8.4.0","description":"Neo4j integration for NestJS","directories":{},"_nodeVersion":"18.7.0","dependencies":{"rxjs":"^7.2.0","express":"^4.18.1","@nestjs/core":"^9.0.0","neo4j-driver":"^4.4.7","@nestjs/common":"^9.0.0","@nestjs/config":"^2.2.0","reflect-metadata":"^0.1.13"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.21.0","rimraf":"^3.0.2","ts-node":"^10.0.0","prettier":"^2.7.1","typescript":"^4.3.5","@types/express":"^4.17.13","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.32.0","@typescript-eslint/eslint-plugin":"^5.32.0"},"_npmOperationalInternal":{"tmp":"tmp/nest-neo4j_1.0.1_1663788861590_0.19208506440678108","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"@brakebein/nest-neo4j","version":"1.0.2","keywords":["neo4j","cypher","nest","nestjs"],"author":{"url":"https://github.com/adam-cowley","name":"Adam Cowley"},"license":"MIT","_id":"@brakebein/nest-neo4j@1.0.2","maintainers":[{"name":"brakebein","email":"bruschie@hotmail.com"}],"contributors":[{"url":"https://github.com/Brakebein","name":"Brakebein"}],"homepage":"https://github.com/Brakebein/nest-neo4j#readme","bugs":{"url":"https://github.com/Brakebein/nest-neo4j/issues"},"dist":{"shasum":"791a277bb6344dca216c759669794beb95a178c5","tarball":"https://registry.npmjs.org/@brakebein/nest-neo4j/-/nest-neo4j-1.0.2.tgz","fileCount":20,"integrity":"sha512-RfAyAX+iBoL1IuwdyE1OFF1pYAJJ/ckI/p3QS2MMQeIUsaJEV/mddVV7yT5Bw0JlpcRFIORK/hlU2h5oRbzm9g==","signatures":[{"sig":"MEUCIEX5uUHwRhI3xrvkApO9FocwXBTNfkhteOKMKaegDCimAiEA8XBky6AFE/mwXPdpiek1OyaFbQEk6YuEKlYUAFMPuQE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":137183,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjLHBPACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrEehAAgI5jHW1Qm291gBDvRpeGY/icV6APvZq3RR0QgAAXq2WpfDHW\r\nKQ5vrAngwqgT/iHzyNgHlgaxF8R0HIiNhdf2rIRIgP+cKW2Prii3+lj6hSMS\r\nGYLsYIGXfQBdYzpyXAuFh+Pq1RMFMCAFRdxLm00tttebgcSXCiqKkllzqjYS\r\nEed2gPpkQSp4chz+jy9ga5OsKOeB+hb+LhjbvzUnEg6OeZUz5woPeluSpPj4\r\nyLoXIXhUgJBuLdiOG4FUmgn1u8xvxQYzU/EpiBDJJ4IIaMonUNwZg0PBD/Ao\r\nkCfV8Z8Zrxnk2C/7I7SCOyejNXHVZ2YWd+yADTFmES0UvZVVoYaqnpDRETIf\r\ngZEzJZaZH6rHjIZhh8WEYRRrUWFEEri8tIIPe1Rf6c9nx1b4tnmpoV1k68IO\r\nKMmrc1m4AfBV2735N76398MXrj6Q4m1cxWl9TGVMEcAgVuhsGNyjvSGFUpzS\r\nTFemlSmnDj76B01/UxU9TPjCYour35rnN9GeWXsHGoE3JEMNpETX4Wl2GSdA\r\n3Wc79MlyV1wNHbdGHBGbOvzznwuW7p/vJLvYjJtyStLRMa2h9CBEqvxsMhc+\r\n9D8+DGy0TH+osOVJr9/+YfNp5J8lVmgDVkHPPmmkjb1M12Sej1M38084AeB4\r\niyoaF7PmamrqfEaebf1aIYYkyaavPEVDVlQ=\r\n=4rQB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist\\index.d.ts","gitHead":"e7a8a22bb114ad9d51cfee65587c647cf6f09f2e","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc -p ./tsconfig.build.json","prebuild":"rimraf ./dist"},"_npmUser":{"name":"brakebein","email":"bruschie@hotmail.com"},"repository":{"url":"git+https://github.com/Brakebein/nest-neo4j.git","type":"git"},"_npmVersion":"8.4.0","description":"Neo4j integration for NestJS","directories":{},"_nodeVersion":"18.7.0","dependencies":{"rxjs":"^7.2.0","express":"^4.18.1","@nestjs/core":"^9.0.0","neo4j-driver":"^4.4.7","@nestjs/common":"^9.0.0","@nestjs/config":"^2.2.0","reflect-metadata":"^0.1.13"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.21.0","rimraf":"^3.0.2","ts-node":"^10.0.0","prettier":"^2.7.1","typescript":"^4.3.5","@types/express":"^4.17.13","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.32.0","@typescript-eslint/eslint-plugin":"^5.32.0"},"_npmOperationalInternal":{"tmp":"tmp/nest-neo4j_1.0.2_1663856718803_0.09173478896050336","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"@brakebein/nest-neo4j","version":"1.1.0","keywords":["neo4j","cypher","nest","nestjs"],"author":{"url":"https://github.com/adam-cowley","name":"Adam Cowley"},"license":"MIT","_id":"@brakebein/nest-neo4j@1.1.0","maintainers":[{"name":"brakebein","email":"bruschie@hotmail.com"}],"contributors":[{"url":"https://github.com/Brakebein","name":"Brakebein"}],"homepage":"https://github.com/Brakebein/nest-neo4j#readme","bugs":{"url":"https://github.com/Brakebein/nest-neo4j/issues"},"dist":{"shasum":"7e28844853e04dab4fb41026e9ec4e8e9c248124","tarball":"https://registry.npmjs.org/@brakebein/nest-neo4j/-/nest-neo4j-1.1.0.tgz","fileCount":20,"integrity":"sha512-bH+GZnEAbcACFUM+Wm9OBqkBeV5NA+WCuB4RGaDfA+HF/G78aNAk1FTKbKXIutydubJURF65JpUoGsfgdYXfug==","signatures":[{"sig":"MEQCIHl0OkyDQgQhA3+S1LGoKa2Ul7eBe431t53IKrwPzYrNAiBG25nyDSepLyRFOSS8a8dFrZjz2BlvAKRAURlzKP27Fw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":137409},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"bea78e2a92110f7000507a9730223c4ecaea345b","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc -p ./tsconfig.build.json","prebuild":"rimraf ./dist"},"_npmUser":{"name":"brakebein","email":"bruschie@hotmail.com"},"repository":{"url":"git+https://github.com/Brakebein/nest-neo4j.git","type":"git"},"_npmVersion":"9.5.0","description":"Neo4j integration for NestJS","directories":{},"_nodeVersion":"18.14.2","dependencies":{"rxjs":"^7.2.0","express":"^4.18.1","@nestjs/core":"^10.0.0","neo4j-driver":"^4.4.7","@nestjs/common":"^10.0.0","@nestjs/config":"^3.0.0","reflect-metadata":"^0.1.13"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.21.0","rimraf":"^3.0.2","ts-node":"^10.0.0","prettier":"^2.7.1","typescript":"^4.3.5","@types/express":"^4.17.13","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.32.0","@typescript-eslint/eslint-plugin":"^5.32.0"},"_npmOperationalInternal":{"tmp":"tmp/nest-neo4j_1.1.0_1699529354232_0.6310468470488304","host":"s3://npm-registry-packages"}},"1.2.0":{"name":"@brakebein/nest-neo4j","version":"1.2.0","keywords":["neo4j","cypher","nest","nestjs"],"author":{"url":"https://github.com/adam-cowley","name":"Adam Cowley"},"license":"MIT","_id":"@brakebein/nest-neo4j@1.2.0","maintainers":[{"name":"brakebein","email":"bruschie@hotmail.com"}],"contributors":[{"url":"https://github.com/Brakebein","name":"Brakebein"}],"homepage":"https://github.com/Brakebein/nest-neo4j#readme","bugs":{"url":"https://github.com/Brakebein/nest-neo4j/issues"},"dist":{"shasum":"8e882c27aa3f0136029e3e34483eaa75965d19d4","tarball":"https://registry.npmjs.org/@brakebein/nest-neo4j/-/nest-neo4j-1.2.0.tgz","fileCount":20,"integrity":"sha512-DMaE5rxwBPYmRct/j2Nr7auHtn3QLhL78hOwZzGYKqVWO3Asi0WkNDHtRbitk4Zpu8ryzEv0lIc0eP76Yy95LQ==","signatures":[{"sig":"MEQCIHb5d43/LKLZ07PYIYO4dSjX/oPZ2ApED4VVa2Mlj8JJAiAkP2FoMvZYNfxi3f1+Sks/9dNNaZa+43lcBPYjDWV+dQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":128411},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"55816563867c58b647386c922c56e68bd5dc8e64","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc -p ./tsconfig.build.json","prebuild":"rimraf ./dist"},"_npmUser":{"name":"brakebein","email":"bruschie@hotmail.com"},"repository":{"url":"git+https://github.com/Brakebein/nest-neo4j.git","type":"git"},"_npmVersion":"9.5.0","description":"Neo4j integration for NestJS","directories":{},"_nodeVersion":"18.14.2","dependencies":{"rxjs":"^7.2.0","express":"^4.18.1","@nestjs/core":"^10.0.0","neo4j-driver":"^5.15.0","@nestjs/common":"^10.0.0","@nestjs/config":"^3.0.0","reflect-metadata":"^0.1.13"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.21.0","rimraf":"^3.0.2","ts-node":"^10.0.0","prettier":"^2.7.1","typescript":"^4.3.5","@types/express":"^4.17.13","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.32.0","@typescript-eslint/eslint-plugin":"^5.32.0"},"_npmOperationalInternal":{"tmp":"tmp/nest-neo4j_1.2.0_1702033047125_0.1308460479883904","host":"s3://npm-registry-packages"}},"1.3.0":{"name":"@brakebein/nest-neo4j","version":"1.3.0","keywords":["neo4j","cypher","nest","nestjs"],"author":{"url":"https://github.com/adam-cowley","name":"Adam Cowley"},"license":"MIT","_id":"@brakebein/nest-neo4j@1.3.0","maintainers":[{"name":"brakebein","email":"bruschie@hotmail.com"}],"contributors":[{"url":"https://github.com/Brakebein","name":"Brakebein"}],"homepage":"https://github.com/Brakebein/nest-neo4j#readme","bugs":{"url":"https://github.com/Brakebein/nest-neo4j/issues"},"dist":{"shasum":"200a3110cd00dba614b024274d08aece633cb44a","tarball":"https://registry.npmjs.org/@brakebein/nest-neo4j/-/nest-neo4j-1.3.0.tgz","fileCount":20,"integrity":"sha512-00aC22CgPo3Ir0cFdTcG17aU5ygj4pN9WqQpzDLLGCYJayM0cm8zJ3DTTukJNrhk07AZDK8VbU9jv1cDrcwMCA==","signatures":[{"sig":"MEUCIFnGM7Q7Jd8yrZmizauPKLgT/04eU0NIG/Khetj38RHzAiEA99VGHsWz0WyTdRL8/AVq95qDa23//mcoE6miSzvhI3s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":128398},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"12e60a182c577f6589f79038d93c232b860c540c","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc -p ./tsconfig.build.json","prebuild":"rimraf ./dist"},"_npmUser":{"name":"brakebein","email":"bruschie@hotmail.com"},"repository":{"url":"git+https://github.com/Brakebein/nest-neo4j.git","type":"git"},"_npmVersion":"9.5.0","description":"Neo4j integration for NestJS","directories":{},"_nodeVersion":"18.14.2","dependencies":{"rxjs":"^7.2.0","express":"^4.18.1","@nestjs/core":"^10.0.0","neo4j-driver":"^5.15.0","@nestjs/common":"^10.0.0","@nestjs/config":"^3.0.0","reflect-metadata":"^0.1.13"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.21.0","rimraf":"^3.0.2","ts-node":"^10.0.0","prettier":"^2.7.1","typescript":"^4.3.5","@types/express":"^4.17.13","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.32.0","@typescript-eslint/eslint-plugin":"^5.32.0"},"_npmOperationalInternal":{"tmp":"tmp/nest-neo4j_1.3.0_1702036488812_0.09774966472303048","host":"s3://npm-registry-packages"}},"1.4.0":{"name":"@brakebein/nest-neo4j","version":"1.4.0","description":"Neo4j integration for NestJS","main":"dist/index.js","scripts":{"prebuild":"rimraf ./dist","build":"tsc -p ./tsconfig.build.json","test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/Brakebein/nest-neo4j.git"},"keywords":["neo4j","cypher","nest","nestjs"],"author":{"name":"Adam Cowley","url":"https://github.com/adam-cowley"},"contributors":[{"name":"Brakebein","url":"https://github.com/Brakebein"}],"license":"MIT","bugs":{"url":"https://github.com/Brakebein/nest-neo4j/issues"},"homepage":"https://github.com/Brakebein/nest-neo4j#readme","peerDependencies":{"@nestjs/common":"^11.0.0","@nestjs/config":"^4.0.0","@nestjs/core":"^11.0.0","reflect-metadata":"^0.1.12"},"dependencies":{"express":"^4.21.2","neo4j-driver":"^5.28.1","rxjs":"^7.2.0"},"devDependencies":{"@nestjs/common":"^11.0.0","@nestjs/config":"^4.0.0","@nestjs/core":"^11.0.0","@types/express":"^4.17.13","@typescript-eslint/eslint-plugin":"^5.32.0","@typescript-eslint/parser":"^5.32.0","eslint":"^8.21.0","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1","prettier":"^3.5.3","reflect-metadata":"^0.1.12","rimraf":"^6.0.1","ts-node":"^10.9.2","typescript":"^4.3.5"},"_id":"@brakebein/nest-neo4j@1.4.0","gitHead":"b49d7b6cf180f3f626b71b26810d273c45f960e2","types":"./dist/index.d.ts","_nodeVersion":"20.12.2","_npmVersion":"10.9.2","dist":{"integrity":"sha512-FDuK0uwA5pBVFwZtHH7SXyx9ckWUAlkyaXT2HSS6o7R/q2SW2U1M8D4BumBpL/NVF6qof8a8OY93M51h6SAHjg==","shasum":"0c874bd1f16acb79dd04498c5822a15d67a1925a","tarball":"https://registry.npmjs.org/@brakebein/nest-neo4j/-/nest-neo4j-1.4.0.tgz","fileCount":20,"unpackedSize":130748,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDUWLv1eWERqGgcLTNe55qervW/ip2hg04zxeuPUZbVtwIhAOpzv19qNkUJXz8vAYIpy1TklDLMe6jORhNoYaN44tA4"}]},"_npmUser":{"name":"brakebein","email":"bruschie@hotmail.com"},"directories":{},"maintainers":[{"name":"brakebein","email":"bruschie@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nest-neo4j_1.4.0_1741888230921_0.9071768215288112"},"_hasShrinkwrap":false}},"time":{"created":"2022-09-21T19:03:13.867Z","modified":"2025-03-13T17:50:31.350Z","1.0.0":"2022-09-21T19:03:14.173Z","1.0.1":"2022-09-21T19:34:21.817Z","1.0.2":"2022-09-22T14:25:18.996Z","1.1.0":"2023-11-09T11:29:14.453Z","1.2.0":"2023-12-08T10:57:27.445Z","1.3.0":"2023-12-08T11:54:49.074Z","1.4.0":"2025-03-13T17:50:31.155Z"},"bugs":{"url":"https://github.com/Brakebein/nest-neo4j/issues"},"author":{"name":"Adam Cowley","url":"https://github.com/adam-cowley"},"license":"MIT","homepage":"https://github.com/Brakebein/nest-neo4j#readme","keywords":["neo4j","cypher","nest","nestjs"],"repository":{"type":"git","url":"git+https://github.com/Brakebein/nest-neo4j.git"},"description":"Neo4j integration for NestJS","contributors":[{"name":"Brakebein","url":"https://github.com/Brakebein"}],"maintainers":[{"name":"brakebein","email":"bruschie@hotmail.com"}],"readme":"<p align=\"center\">\n  <a href=\"http://nestjs.com/\" target=\"blank\"><img src=\"https://kamilmysliwiec.com/public/nest-logo.png#1\" alt=\"Nest Logo\" />   </a>\n  <a href=\"https://neo4j.com\" target=\"_blank\"><img src=\"https://dist.neo4j.com/wp-content/uploads/20140926224303/neo4j_logo-facebook.png\" alt=\"Neo4j Logo\" width=\"380\"></a>\n</p>\n\n# Nest Neo4j\n\nThis repository provides [Neo4j](https://www.neo4j.com) integration for [NestJS](http://nestjs.com/) wrapping the official [neo4j-driver](https://github.com/neo4j/neo4j-javascript-driver).\n\nIt is a fork of [adam-cowley/nest-neo4j](https://github.com/adam-cowley/nest-neo4j) with some changes:\n\n- the queried records are extracted to a simplified format\n- non-standard properties (e.g. dates) are converted\n- updated dependencies\n\n## Installation\n\n```bash\n$ npm install @brakebein/nest-neo4j\n```\n\n## Setup\n\nRegister the Neo4j Module in your application using the `forRoot` method, passing the Neo4j connection information as an object.\nSpecific Neo4j settings (refer to [neo4j-driver](https://github.com/neo4j/neo4j-javascript-driver)) can be passed via `options`.\n\n```ts\nimport { Module } from '@nestjs/common';\nimport { Neo4jModule } from '@brakebein/nest-neo4j';\nimport { AppController } from './app.controller';\nimport { AppService } from './app.service';\n\n@Module({\n  imports: [\n    Neo4jModule.forRoot({\n      scheme: 'neo4j',\n      host: 'localhost',\n      port: 7687,\n      username: 'neo4j',\n      password: 'neo',\n      options: {\n        disableLosslessIntegers: true,\n      },\n      verifyConnectionTimout: 60000,\n    }),\n  ],\n  controllers: [AppController],\n  providers: [AppService],\n})\nexport class AppModule {}\n```\n\nAlternatively, you can use `forRootAsync` to access information dynamically via `ConfigService`:\n\n```ts\nimport { Module } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { Neo4jModule } from '@brakebein/nest-neo4j';\nimport { AppController } from './app.controller';\nimport { AppService } from './app.service';\n\n@Module({\n  imports: [\n    Neo4jModule.forRootAsync({\n      useFactory: async (configService: ConfigService) => ({\n        scheme: configService.get('NEO4J_SCHEME'),\n        host: configService.get('NEO4J_HOST'),\n        port: configService.get('NEO4J_PORT'),\n        username: configService.get('NEO4J_USERNAME'),\n        password: configService.get('NEO4J_PASSWPRD'),\n        database: configService.get('NEO4J_DATABASE'),\n      }),\n      inject: [ConfigService],\n    }),\n  ],\n  controllers: [AppController],\n  providers: [AppService],\n})\nexport class AppModule {}\n```\n\nIf the Neo4j instance is unavailable, connection is not possible.\nDriver instantiation will be re-invoked a few times before throwing an error (useful in cases like server startup when node application is live earlier than the Neo4j database instance).\nSet `verifyConnectionTimeout` to increase the timeout before throwing an error.\n\n## Querying Neo4j\n\nThe `Neo4jService` is `@Injectable`, so can be passed into any constructor:\n\n```ts\nimport { Neo4jService } from '@brakebein/nest-neo4j';\n\n@Controller()\nexport class AppController {\n  constructor(\n    private readonly appService: AppService,\n    private readonly neo4j: Neo4jService,\n  ) {}\n\n  @Get()\n  async getHello(): Promise<any> {\n    const results = await this.neo4j.read(`MATCH (n) RETURN count(n) AS count`);\n\n    return `There are ${results[0].count} nodes in the database`;\n  }\n}\n```\n\n## Methods\n\nThe query results returned by _neo4j-driver_ are mapped to objects that correlate with identifiers within the `RETURN` clause and the node's properties.\nTo access the raw query results, use the respective methods, e.g. `.readRaw()`.\n\n#### `.read(cypher: string, params?: Record<string, any>, database?: string)`\n\nA very simple read transaction that expects a cypher statement and (optionally) query parameters.\n\nReturns an array of objects, where the object's property names correlate with identifiers within the `RETURN` clause.\n\n```ts\nconst query = `\n  MATCH (p:Person {name: $name})-[:HAS_ADDRESS]->(add:Address)\n  RETURN p.name AS name, add AS address\n`;\n\nconst params = {\n  name: 'Alex'\n};\n\nconst results = await this.neo4j.read(query, params);\nconsole.log(results);\n\n// console.log(results)\n// [\n//   {\n//     name: 'Alex',\n//     address: {\n//       ZIP: '10178',\n//       number: '1',\n//       town: 'Berlin',\n//       street: 'Alexanderplatz'\n//     }\n//   }\n// ]\n```\n\nUse `.readRaw()` to get the raw query results.\n\n#### `.write(cypher: string, params?: Record<string, any>, database?: string)`\n\nVery similar to `.read()` (see for details) except that it expects a cypher statement that modifies the database.\n\nUse `.writeRaw()` to get the raw query results.\n\n#### `.multipleStatements(statements: { statement: string; parameters: Record<string, any> }[])`\n\nExecute multiple cypher queries within one transaction. A fail of one statement will lead to the rollback of the whole transaction.\n\nReturns an array of arrays of objects (similar to `.read()` or `.write()`).\n\n```ts\nconst statements = [{\n  statement: `CREATE ...`,\n  parameters: {}\n}, {\n  statement: `MATCH ... CREATE (n:Node $map) ...`,\n  parameters: { map: { value: 'foo' } }\n}];\n\nconst results = await this.neo4j.multipleStatements(statements);\n// handle results\n```\n\nUse `.multipleStatementsRaw()` to get an array of the raw query results.\n\n#### `.getDriver()`\n\nGet the driver instance to access the full API of [neo4j-driver](https://github.com/neo4j/neo4j-javascript-driver).\n\n#### `.getConfig()`\n\nGet configuration as provided with `Neoj4Module`.\n\n#### `.getReadSession(database?: string)`\n\nAcquire a READ session to execute, e.g., [explicit transactions](https://github.com/neo4j/neo4j-javascript-driver#explicit-transactions).\n\n#### `.getWriteSession(database?: string)`\n\nAcquire a WRITE session to execute, e.g., [explicit transactions](https://github.com/neo4j/neo4j-javascript-driver#explicit-transactions).\n\n#### `.extractRecords<T = any>(data: Record[]): T[]()`\n\nUsed internally to extract and convert the returned records by neo4j-driver to a more simplified format.\nIt converts non-standard values, like date, time, etc., to strings as well as Neo4j integers, if they are outside the safe range.\n\nTakes an array of Neo4j records `Record[]` and returns an array of objects.\n\n```ts\nimport { Neo4jService } from './neo4j.service';\n\nconst query = `\n  MATCH (p:Person {name: \"Alex\"})-[:HAS_ADDRESS]->(add:Address)\n  RETURN p.name AS name, add AS address\n`;\n\n// query results returned by neo4j-driver\n// {\n//   records: [\n//     Record {\n//       keys: [ 'name', 'address' ],\n//       length: 2,\n//       _fields: [\n//         'Alex',\n//         Node {\n//           identity: 1,\n//           labels: [ 'Address' ],\n//           properties: {\n//             ZIP: '10178',\n//             number: '1',\n//             town: 'Berlin',\n//             street: 'Alexanderplatz'\n//           }\n//         }\n//       ]\n//       _fieldLookup: { name: 0, address: 1 }\n//     }\n//   ],\n//   summary: ResultSummary {...}\n// }\n\nextractRecords(queryResults.records);\n\n// simplified records returned by neo4j-request\n// {\n//   name: 'Alex',\n//   address: {\n//     ZIP: '10178',\n//     number: '1',\n//     town: 'Berlin',\n//     street: 'Alexanderplatz'\n//   }\n// }\n```\n\n#### `.removeEmptyArrays<T>(data: T[], arrayKey: string, checkKey: string): T[]`\n\nLook for empty arrays returned by Neo4j and clean them, if there is `null` inside.\n\nSometimes, if the cypher query contains `OPTIONAL MATCH node` in combination with `collect({key: node.value}) AS values`, the resulting array may be filled with one object with `null` values: `[{key: null}]`. This method reduces the array to `[]` by calling `removeEmptyArrays(data, 'values', 'key')`.\n\n```ts\nconst query = `\n  MATCH (p:Person {name: \"Alex\"})-[:HAS_ADDRESS]->(add:Address)\n  OPTIONAL MATCH (p)-[:HAS_FRIEND]->(f:Person)-[:HAS_ADDRESS]->(fAddr:Address)\n  RETURN p.name AS name,\n         add AS address,\n         collect({name: f.name, address: fAddr}) AS friends\n`;\n\nconst results = await this.neo4j.read(query);\nconsole.log(results);\n\n// [\n//   {\n//     name: 'Alex',\n//     address: {\n//       ZIP: '10178',\n//       number: '1',\n//       town: 'Berlin',\n//       street: 'Alexanderplatz'\n//     },\n//     friends: [ { address: null, name: null } ]\n//   }\n// ]\n\nconst resultsCleaned = this.neo4j.removeEmptyArrays(results, 'friends', 'name');\nconsole.log(resultsCleaned);\n\n// [\n//   {\n//     name: 'Alex',\n//     address: {\n//       ZIP: '10178',\n//       number: '1',\n//       town: 'Berlin',\n//       street: 'Alexanderplatz'\n//     },\n//     friends: []\n//   }\n// ]\n```\n","readmeFilename":"README.md"}