{"_id":"@revisium/prisma-pg-json","_rev":"20-ca585993dd84564c408fa291691fd163","name":"@revisium/prisma-pg-json","dist-tags":{"latest":"1.7.0"},"versions":{"0.2.0":{"name":"@revisium/prisma-pg-json","version":"0.2.0","keywords":["prisma","postgresql","json","jsonb","query-builder","json-path","wildcard","filters"],"author":{"name":"Anton Kashirov"},"license":"MIT","_id":"@revisium/prisma-pg-json@0.2.0","maintainers":[{"name":"revisium-io","email":"revisium.io@gmail.com"}],"homepage":"https://github.com/revisium/prisma-pg-json#readme","bugs":{"url":"https://github.com/revisium/prisma-pg-json/issues"},"dist":{"shasum":"80e89c6fb84159af02d0f81ca2527161b9141633","tarball":"https://registry.npmjs.org/@revisium/prisma-pg-json/-/prisma-pg-json-0.2.0.tgz","fileCount":7,"integrity":"sha512-KFUG4OQ2PnU4FQwvUD20Ur/a/WqFPcBMC19rI0aUWTwF2lLory5NgPoZj0yc1UOWplHUoiVGhMn6n1OTbkKFYw==","signatures":[{"sig":"MEUCIQC36QD9LuYN4Y3tl2yAZzKPnkwdO5HHTSS+Fo+ve59/ygIgIK5Qwgt4H3XumLxpvFO7ahozyQsWrfscjwtmkNTThpE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@revisium%2fprisma-pg-json@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":105272},"jest":{"roots":["<rootDir>/src"],"preset":"ts-jest","testMatch":["**/__tests__/**/*.spec.ts"],"maxWorkers":1,"testEnvironment":"node","coverageReporters":["text-summary","lcov"],"collectCoverageFrom":["src/**/*.ts","!src/**/__tests__/**","!src/**/index.ts"]},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"0371e13ef176f662784f83e539ac8b88ed9f56e2","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","tsc":"tsc --noEmit","lint":"eslint \"src/**/*.ts\" --max-warnings 0 --fix","test":"NODE_ENV=test jest --runInBand","build":"tsup src/index.ts --format cjs,esm --dts --clean","format":"prettier --write \"src/**/*.ts\"","lint:ci":"eslint \"src/**/*.ts\" --max-warnings 0","test:cov":"NODE_ENV=test jest --coverage --runInBand","docker:up":"docker-compose up -d && sleep 2 && npm run prisma:migrate:deploy","test:watch":"NODE_ENV=test jest --watch","docker:down":"docker-compose down -v","prepublishOnly":"npm run build","prisma:migrate":"prisma migrate dev","prisma:generate":"prisma generate","test:integration":"NODE_ENV=test jest --testPathPattern=integration","prisma:migrate:deploy":"prisma migrate deploy"},"_npmUser":{"name":"revisium-io","email":"revisium.io@gmail.com"},"repository":{"url":"git+https://github.com/revisium/prisma-pg-json.git","type":"git"},"_npmVersion":"10.9.0","description":"Advanced PostgreSQL JSON query builder for Prisma with support for JSON paths, wildcards, and complex filters","directories":{},"_nodeVersion":"22.11.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.3.5","eslint":"^9.18.0","nanoid":"^3.3.11","prisma":"^6.5.0","globals":"^16.0.0","ts-jest":"^29.2.5","ts-node":"^10.9.2","prettier":"^3.4.2","@eslint/js":"^9.18.0","typescript":"^5.7.3","@types/jest":"^29.5.14","@types/node":"^22.10.7","@prisma/client":"^6.5.0","@eslint/eslintrc":"^3.2.0","typescript-eslint":"^8.20.0","eslint-config-prettier":"^10.0.1","eslint-plugin-prettier":"^5.2.2"},"peerDependencies":{"@prisma/client":"^5.0.0 || ^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/prisma-pg-json_0.2.0_1759041398184_0.43407359287402625","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@revisium/prisma-pg-json","version":"0.3.0","keywords":["prisma","postgresql","json","jsonb","query-builder","json-path","wildcard","filters"],"author":{"name":"Anton Kashirov"},"license":"MIT","_id":"@revisium/prisma-pg-json@0.3.0","maintainers":[{"name":"revisium-io","email":"revisium.io@gmail.com"}],"homepage":"https://github.com/revisium/prisma-pg-json#readme","bugs":{"url":"https://github.com/revisium/prisma-pg-json/issues"},"dist":{"shasum":"3fa27b3880bb6bd28d65ca96ac7e22326806adb4","tarball":"https://registry.npmjs.org/@revisium/prisma-pg-json/-/prisma-pg-json-0.3.0.tgz","fileCount":7,"integrity":"sha512-7C+mD5b/dpWpXKvPPGtbJlQSXzviFhtSDxNZyNJf0SyrCAsX7dzuZPBxjt/4XbJLs7aAqd60OW+Wu9fmY4CLGA==","signatures":[{"sig":"MEUCIQC2MYjMlLSo3mKhr5DRuwnS+Dpv4eXAPPplxyC8IuyJEQIgBCSEai6HyBfaISQ1HbF2I3gQbfNzsH0hgezwgFH+ba4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@revisium%2fprisma-pg-json@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":105778},"jest":{"roots":["<rootDir>/src"],"preset":"ts-jest","testMatch":["**/__tests__/**/*.spec.ts"],"maxWorkers":1,"testEnvironment":"node","coverageReporters":["text-summary","lcov"],"collectCoverageFrom":["src/**/*.ts","!src/**/__tests__/**","!src/**/index.ts"]},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"85da55e80f82b2d62bdb7990bb3e67a3d2138f21","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","tsc":"tsc --noEmit","lint":"eslint \"src/**/*.ts\" --max-warnings 0 --fix","test":"NODE_ENV=test jest --runInBand","build":"tsup src/index.ts --format cjs,esm --dts --clean","format":"prettier --write \"src/**/*.ts\"","lint:ci":"eslint \"src/**/*.ts\" --max-warnings 0","test:cov":"NODE_ENV=test jest --coverage --runInBand","docker:up":"docker-compose up -d && sleep 2 && npm run prisma:migrate:deploy","test:watch":"NODE_ENV=test jest --watch","docker:down":"docker-compose down -v","prepublishOnly":"npm run build","prisma:migrate":"prisma migrate dev","prisma:generate":"prisma generate","test:integration":"NODE_ENV=test jest --testPathPattern=integration","prisma:migrate:deploy":"prisma migrate deploy"},"_npmUser":{"name":"revisium-io","email":"revisium.io@gmail.com"},"repository":{"url":"git+https://github.com/revisium/prisma-pg-json.git","type":"git"},"_npmVersion":"10.9.0","description":"Advanced PostgreSQL JSON query builder for Prisma with support for JSON paths, wildcards, and complex filters","directories":{},"_nodeVersion":"22.11.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.3.5","eslint":"^9.18.0","nanoid":"^3.3.11","prisma":"^6.5.0","globals":"^16.0.0","ts-jest":"^29.2.5","ts-node":"^10.9.2","prettier":"^3.4.2","@eslint/js":"^9.18.0","typescript":"^5.7.3","@types/jest":"^29.5.14","@types/node":"^22.10.7","@prisma/client":"^6.5.0","@eslint/eslintrc":"^3.2.0","typescript-eslint":"^8.20.0","eslint-config-prettier":"^10.0.1","eslint-plugin-prettier":"^5.2.2"},"peerDependencies":{"@prisma/client":"^5.0.0 || ^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/prisma-pg-json_0.3.0_1759043567066_0.6414949497723068","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@revisium/prisma-pg-json","version":"0.4.0","keywords":["prisma","postgresql","json","jsonb","query-builder","json-path","wildcard","filters"],"author":{"name":"Anton Kashirov"},"license":"MIT","_id":"@revisium/prisma-pg-json@0.4.0","maintainers":[{"name":"revisium-io","email":"revisium.io@gmail.com"}],"homepage":"https://github.com/revisium/prisma-pg-json#readme","bugs":{"url":"https://github.com/revisium/prisma-pg-json/issues"},"dist":{"shasum":"49d427d7a06d687483ef8d9a2242d642fc3325a8","tarball":"https://registry.npmjs.org/@revisium/prisma-pg-json/-/prisma-pg-json-0.4.0.tgz","fileCount":7,"integrity":"sha512-pSHp/e8fidFLyTBcg9TyxS+Zb2VClPuMLu8ai/zBQDwxvRs5gqAp+uj10Vdem8LD3Oow7gNbBbLtcF53QTSvww==","signatures":[{"sig":"MEUCIQDYt7AZXs94CVEXEwo8mRn2CP/UBKRDsqlFlyZ1JAKAxgIgVl3WQd1DKRdh6F4b/wBLr9nkniP6Xb73wwnnR8oP9h0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@revisium%2fprisma-pg-json@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":109262},"jest":{"roots":["<rootDir>/src"],"preset":"ts-jest","testMatch":["**/__tests__/**/*.spec.ts"],"maxWorkers":1,"testEnvironment":"node","coverageReporters":["text-summary","lcov"],"collectCoverageFrom":["src/**/*.ts","!src/**/__tests__/**","!src/**/index.ts"]},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"d7003efe3c16dcfa9c0ff2fe229ca843cb9e9df6","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","tsc":"tsc --noEmit","lint":"eslint \"src/**/*.ts\" --max-warnings 0 --fix","test":"NODE_ENV=test jest --runInBand","build":"tsup src/index.ts --format cjs,esm --dts --clean","format":"prettier --write \"src/**/*.ts\"","lint:ci":"eslint \"src/**/*.ts\" --max-warnings 0","test:cov":"NODE_ENV=test jest --coverage --runInBand","docker:up":"docker-compose up -d && sleep 2 && npm run prisma:migrate:deploy","test:watch":"NODE_ENV=test jest --watch","docker:down":"docker-compose down -v","prepublishOnly":"npm run build","prisma:migrate":"prisma migrate dev","prisma:generate":"prisma generate","test:integration":"NODE_ENV=test jest --testPathPattern=integration","prisma:migrate:deploy":"prisma migrate deploy"},"_npmUser":{"name":"revisium-io","email":"revisium.io@gmail.com"},"repository":{"url":"git+https://github.com/revisium/prisma-pg-json.git","type":"git"},"_npmVersion":"10.9.0","description":"Advanced PostgreSQL JSON query builder for Prisma with support for JSON paths, wildcards, and complex filters","directories":{},"_nodeVersion":"22.11.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.3.5","eslint":"^9.18.0","nanoid":"^3.3.11","prisma":"^6.5.0","globals":"^16.0.0","ts-jest":"^29.2.5","ts-node":"^10.9.2","prettier":"^3.4.2","@eslint/js":"^9.18.0","typescript":"^5.7.3","@types/jest":"^29.5.14","@types/node":"^22.10.7","@prisma/client":"^6.5.0","@eslint/eslintrc":"^3.2.0","typescript-eslint":"^8.20.0","eslint-config-prettier":"^10.0.1","eslint-plugin-prettier":"^5.2.2"},"peerDependencies":{"@prisma/client":"^5.0.0 || ^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/prisma-pg-json_0.4.0_1759063730500_0.20980339064012798","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@revisium/prisma-pg-json","version":"0.4.1","keywords":["prisma","postgresql","json","jsonb","query-builder","json-path","wildcard","filters"],"author":{"name":"Anton Kashirov"},"license":"MIT","_id":"@revisium/prisma-pg-json@0.4.1","maintainers":[{"name":"revisium-io","email":"revisium.io@gmail.com"}],"homepage":"https://github.com/revisium/prisma-pg-json#readme","bugs":{"url":"https://github.com/revisium/prisma-pg-json/issues"},"dist":{"shasum":"004be3cc8a13acd32d31723b1aa8bc48fb600ab6","tarball":"https://registry.npmjs.org/@revisium/prisma-pg-json/-/prisma-pg-json-0.4.1.tgz","fileCount":7,"integrity":"sha512-pPAEy4UEbtOsateEGYDkNEQDruDE5tBrVej2ktEIKCjIO9Wjg1obyWC9cZU6elnqFuaRW05CX3ExEzswDN65IQ==","signatures":[{"sig":"MEUCIQCCabQmCBPG8aciVG698T1ViV1wmSaqQxo1nZ02tEjrewIgL7HA6vpP7a+w7FZMod8uHtCzK8MZ3j/5fpVSDdIH+2Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@revisium%2fprisma-pg-json@0.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":110978},"jest":{"roots":["<rootDir>/src"],"preset":"ts-jest","testMatch":["**/__tests__/**/*.spec.ts"],"maxWorkers":1,"testEnvironment":"node","coverageReporters":["text-summary","lcov"],"collectCoverageFrom":["src/**/*.ts","!src/**/__tests__/**","!src/**/index.ts"]},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"92579904faaf4c974048bb25b4c94deb4303a760","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","tsc":"tsc --noEmit","lint":"eslint \"src/**/*.ts\" --max-warnings 0 --fix","test":"NODE_ENV=test jest --runInBand","build":"tsup src/index.ts --format cjs,esm --dts --clean","format":"prettier --write \"src/**/*.ts\"","lint:ci":"eslint \"src/**/*.ts\" --max-warnings 0","test:cov":"NODE_ENV=test jest --coverage --runInBand","docker:up":"docker-compose up -d && sleep 2 && npm run prisma:migrate:deploy","test:watch":"NODE_ENV=test jest --watch","docker:down":"docker-compose down -v","prepublishOnly":"npm run build","prisma:migrate":"prisma migrate dev","prisma:generate":"prisma generate","test:integration":"NODE_ENV=test jest --testPathPattern=integration","prisma:migrate:deploy":"prisma migrate deploy"},"_npmUser":{"name":"revisium-io","email":"revisium.io@gmail.com"},"repository":{"url":"git+https://github.com/revisium/prisma-pg-json.git","type":"git"},"_npmVersion":"10.9.0","description":"Advanced PostgreSQL JSON query builder for Prisma with support for JSON paths, wildcards, and complex filters","directories":{},"_nodeVersion":"22.11.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.3.5","eslint":"^9.18.0","nanoid":"^3.3.11","prisma":"^6.5.0","globals":"^16.0.0","ts-jest":"^29.2.5","ts-node":"^10.9.2","prettier":"^3.4.2","@eslint/js":"^9.18.0","typescript":"^5.7.3","@types/jest":"^29.5.14","@types/node":"^22.10.7","@prisma/client":"^6.5.0","@eslint/eslintrc":"^3.2.0","typescript-eslint":"^8.20.0","eslint-config-prettier":"^10.0.1","eslint-plugin-prettier":"^5.2.2"},"peerDependencies":{"@prisma/client":"^5.0.0 || ^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/prisma-pg-json_0.4.1_1759074728762_0.4625672874039788","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@revisium/prisma-pg-json","version":"0.5.0","keywords":["prisma","postgresql","json","jsonb","query-builder","json-path","wildcard","filters"],"author":{"name":"Anton Kashirov"},"license":"MIT","_id":"@revisium/prisma-pg-json@0.5.0","maintainers":[{"name":"revisium-io","email":"revisium.io@gmail.com"}],"homepage":"https://github.com/revisium/prisma-pg-json#readme","bugs":{"url":"https://github.com/revisium/prisma-pg-json/issues"},"dist":{"shasum":"042271ad06b40e9253da2f78754489ef99ca53e0","tarball":"https://registry.npmjs.org/@revisium/prisma-pg-json/-/prisma-pg-json-0.5.0.tgz","fileCount":7,"integrity":"sha512-VFCRVz4jA2jHhjsP04yxUI4IA6kCOo0l7ThqaaXViLruHQQfysVvQ1Pp/t0CxToTaMOYhgkOLATGggXtR7gAxw==","signatures":[{"sig":"MEQCIA+MH3S2q2j/8xjZtypwnLpe+at8cw3ExrbXBUTjzn+6AiAHOhnR9I46iPQ+OP9HcP+0cKM0/fvByKltdSUv89WG0Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@revisium%2fprisma-pg-json@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":115246},"jest":{"roots":["<rootDir>/src"],"preset":"ts-jest","testMatch":["**/__tests__/**/*.spec.ts"],"maxWorkers":1,"testEnvironment":"node","coverageReporters":["text-summary","lcov"],"collectCoverageFrom":["src/**/*.ts","!src/**/__tests__/**","!src/**/index.ts"]},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"987240abd62c886a3b75bb6d8e9d982791039176","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","tsc":"tsc --noEmit","lint":"eslint \"src/**/*.ts\" --max-warnings 0 --fix","test":"NODE_ENV=test jest --runInBand","build":"tsup src/index.ts --format cjs,esm --dts --clean","format":"prettier --write \"src/**/*.ts\"","lint:ci":"eslint \"src/**/*.ts\" --max-warnings 0","test:cov":"NODE_ENV=test jest --coverage --runInBand","docker:up":"docker-compose up -d && sleep 2 && npm run prisma:migrate:deploy","test:watch":"NODE_ENV=test jest --watch","docker:down":"docker-compose down -v","prepublishOnly":"npm run build","prisma:migrate":"prisma migrate dev","prisma:generate":"prisma generate","test:integration":"NODE_ENV=test jest --testPathPattern=integration","prisma:migrate:deploy":"prisma migrate deploy"},"_npmUser":{"name":"revisium-io","email":"revisium.io@gmail.com"},"repository":{"url":"git+https://github.com/revisium/prisma-pg-json.git","type":"git"},"_npmVersion":"10.9.0","description":"Advanced PostgreSQL JSON query builder for Prisma with support for JSON paths, wildcards, and complex filters","directories":{},"_nodeVersion":"22.11.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.3.5","eslint":"^9.18.0","nanoid":"^3.3.11","prisma":"^6.5.0","globals":"^16.0.0","ts-jest":"^29.2.5","ts-node":"^10.9.2","prettier":"^3.4.2","@eslint/js":"^9.18.0","typescript":"^5.7.3","@types/jest":"^29.5.14","@types/node":"^22.10.7","@prisma/client":"^6.5.0","@eslint/eslintrc":"^3.2.0","typescript-eslint":"^8.20.0","eslint-config-prettier":"^10.0.1","eslint-plugin-prettier":"^5.2.2"},"peerDependencies":{"@prisma/client":"^5.0.0 || ^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/prisma-pg-json_0.5.0_1759170113730_0.04926966438533098","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@revisium/prisma-pg-json","version":"0.6.0","keywords":["prisma","postgresql","json","jsonb","query-builder","json-path","wildcard","filters"],"author":{"name":"Anton Kashirov"},"license":"MIT","_id":"@revisium/prisma-pg-json@0.6.0","maintainers":[{"name":"revisium-io","email":"revisium.io@gmail.com"}],"homepage":"https://github.com/revisium/prisma-pg-json#readme","bugs":{"url":"https://github.com/revisium/prisma-pg-json/issues"},"dist":{"shasum":"f95a9c47ebb32385c65ab45d0a63ab1e62b7430d","tarball":"https://registry.npmjs.org/@revisium/prisma-pg-json/-/prisma-pg-json-0.6.0.tgz","fileCount":7,"integrity":"sha512-kdFiIF+WL3D4CprsnGfNHU6jlE67ylbEF1uihf6NPNb56a1hmBm0K84VY4GY3EJX9eB+hyprDfsOLBbKOmBf3w==","signatures":[{"sig":"MEQCIAVSRAMqk/3PQhE2JSPb1dVSVcKJNJaBFqZT8845gTU8AiAvUEcQKRNrqrt/Ss74Vk7iO159qrCIYW6mUBvaT5nrhA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@revisium%2fprisma-pg-json@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":124930},"jest":{"roots":["<rootDir>/src"],"preset":"ts-jest","testMatch":["**/__tests__/**/*.spec.ts"],"maxWorkers":1,"testEnvironment":"node","coverageReporters":["text-summary","lcov"],"collectCoverageFrom":["src/**/*.ts","!src/**/__tests__/**","!src/**/index.ts"]},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"4194a1100c4d083efa62c1b21d6eb7056fa67528","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","tsc":"tsc --noEmit","lint":"eslint \"src/**/*.ts\" --max-warnings 0 --fix","test":"NODE_ENV=test jest --runInBand","build":"tsup src/index.ts --format cjs,esm --dts --clean","format":"prettier --write \"src/**/*.ts\"","lint:ci":"eslint \"src/**/*.ts\" --max-warnings 0","test:cov":"NODE_ENV=test jest --coverage --runInBand","docker:up":"docker-compose up -d && sleep 2 && npm run prisma:migrate:deploy","test:watch":"NODE_ENV=test jest --watch","docker:down":"docker-compose down -v","prepublishOnly":"npm run build","prisma:migrate":"prisma migrate dev","prisma:generate":"prisma generate","test:integration":"NODE_ENV=test jest --testPathPattern=integration","prisma:migrate:deploy":"prisma migrate deploy"},"_npmUser":{"name":"revisium-io","email":"revisium.io@gmail.com"},"repository":{"url":"git+https://github.com/revisium/prisma-pg-json.git","type":"git"},"_npmVersion":"10.9.0","description":"Advanced PostgreSQL JSON query builder for Prisma with support for JSON paths, wildcards, and complex filters","directories":{},"_nodeVersion":"22.11.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.3.5","eslint":"^9.18.0","nanoid":"^3.3.11","prisma":"^6.5.0","globals":"^16.0.0","ts-jest":"^29.2.5","ts-node":"^10.9.2","prettier":"^3.4.2","@eslint/js":"^9.18.0","typescript":"^5.7.3","@types/jest":"^29.5.14","@types/node":"^22.10.7","@prisma/client":"^6.5.0","@eslint/eslintrc":"^3.2.0","typescript-eslint":"^8.20.0","eslint-config-prettier":"^10.0.1","eslint-plugin-prettier":"^5.2.2"},"peerDependencies":{"@prisma/client":"^5.0.0 || ^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/prisma-pg-json_0.6.0_1760217145799_0.13335995647943255","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@revisium/prisma-pg-json","version":"0.7.0","keywords":["prisma","postgresql","json","jsonb","query-builder","json-path","wildcard","filters"],"author":{"name":"Anton Kashirov"},"license":"MIT","_id":"@revisium/prisma-pg-json@0.7.0","maintainers":[{"name":"revisium-io","email":"revisium.io@gmail.com"}],"homepage":"https://github.com/revisium/prisma-pg-json#readme","bugs":{"url":"https://github.com/revisium/prisma-pg-json/issues"},"dist":{"shasum":"baeb9784eed4671b65add03dde321da8831e2cbf","tarball":"https://registry.npmjs.org/@revisium/prisma-pg-json/-/prisma-pg-json-0.7.0.tgz","fileCount":7,"integrity":"sha512-tT+WtkPqp8fF0ypoFtax6f1IIlVU4WPn6+gLJc/cEc6j0/2Be4SVHGDaIrkOvIh9VMuERgmEoluyAbtFzINY/g==","signatures":[{"sig":"MEUCIQCh2o9OAbR0ZI98c+/y+KkD2IqD5Xeg9IaPjbS0hF3z+gIgGiwbO/e7XmnD0JWoEBJAKmZJnmuLXqjdofehaz+UD48=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@revisium%2fprisma-pg-json@0.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":127947},"jest":{"roots":["<rootDir>/src"],"preset":"ts-jest","testMatch":["**/__tests__/**/*.spec.ts"],"maxWorkers":1,"testEnvironment":"node","coverageReporters":["text-summary","lcov"],"collectCoverageFrom":["src/**/*.ts","!src/**/__tests__/**","!src/**/index.ts"]},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"46f08621cbe97ef7c1d41b7930e0138a79c49efe","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","tsc":"tsc --noEmit","lint":"eslint \"src/**/*.ts\" --max-warnings 0 --fix","test":"NODE_ENV=test jest --runInBand","build":"tsup src/index.ts --format cjs,esm --dts --clean","format":"prettier --write \"src/**/*.ts\"","lint:ci":"eslint \"src/**/*.ts\" --max-warnings 0","test:cov":"NODE_ENV=test jest --coverage --runInBand","docker:up":"docker-compose up -d && sleep 2 && npm run prisma:migrate:deploy","test:watch":"NODE_ENV=test jest --watch","docker:down":"docker-compose down -v","prepublishOnly":"npm run build","prisma:migrate":"prisma migrate dev","prisma:generate":"prisma generate","test:integration":"NODE_ENV=test jest --testPathPattern=integration","prisma:migrate:deploy":"prisma migrate deploy"},"_npmUser":{"name":"revisium-io","email":"revisium.io@gmail.com"},"repository":{"url":"git+https://github.com/revisium/prisma-pg-json.git","type":"git"},"_npmVersion":"10.9.0","description":"Advanced PostgreSQL JSON query builder for Prisma with support for JSON paths, wildcards, and complex filters","directories":{},"_nodeVersion":"22.11.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.3.5","eslint":"^9.18.0","nanoid":"^3.3.11","prisma":"^6.5.0","globals":"^16.0.0","ts-jest":"^29.2.5","ts-node":"^10.9.2","prettier":"^3.4.2","@eslint/js":"^9.18.0","typescript":"^5.7.3","@types/jest":"^29.5.14","@types/node":"^22.10.7","@prisma/client":"^6.5.0","@eslint/eslintrc":"^3.2.0","typescript-eslint":"^8.20.0","eslint-config-prettier":"^10.0.1","eslint-plugin-prettier":"^5.2.2"},"peerDependencies":{"@prisma/client":"^5.0.0 || ^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/prisma-pg-json_0.7.0_1760252241221_0.5280372966726095","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@revisium/prisma-pg-json","version":"1.0.1","keywords":["prisma","postgresql","json","jsonb","query-builder","json-path","wildcard","filters"],"author":{"name":"Anton Kashirov"},"license":"MIT","_id":"@revisium/prisma-pg-json@1.0.1","maintainers":[{"name":"revisium-io","email":"revisium.io@gmail.com"}],"homepage":"https://github.com/revisium/prisma-pg-json#readme","bugs":{"url":"https://github.com/revisium/prisma-pg-json/issues"},"dist":{"shasum":"7c04dd7651da492e5a3d8753ebf97f1767d6f2fb","tarball":"https://registry.npmjs.org/@revisium/prisma-pg-json/-/prisma-pg-json-1.0.1.tgz","fileCount":7,"integrity":"sha512-GtmA2QPFp03rdMUrPCmO+k+NhltyW4ypV/MOoguCLaiNAB+JtmOYaet0LDY2MEUiHNVplLUvM6v3emm6mbZGbg==","signatures":[{"sig":"MEQCIDlueLi9nTpbBY/z/sCY/kgoZ7wKjplzPaJV4mgZ1Y2qAiAfrw4XK5Y6XbOpb8ZHsZnePa7YdldNKK85jziNoGTVkg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@revisium%2fprisma-pg-json@1.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":127400},"jest":{"roots":["<rootDir>/src"],"preset":"ts-jest","testMatch":["**/__tests__/**/*.spec.ts"],"maxWorkers":1,"testEnvironment":"node","moduleNameMapper":{"^@prisma/client$":"<rootDir>/src/generated/client"},"coverageReporters":["text-summary","lcov"],"collectCoverageFrom":["src/**/*.ts","!src/**/__tests__/**","!src/**/index.ts","!src/generated/**"],"transformIgnorePatterns":["node_modules/(?!(@prisma/adapter-pg)/)"]},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"ed6814a11128dda41e82067adcd9c96cb9285c32","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","tsc":"tsc --noEmit","lint":"eslint \"src/**/*.ts\" --max-warnings 0 --fix","test":"NODE_ENV=test jest --runInBand","build":"tsup src/index.ts --format cjs,esm --dts --clean","format":"prettier --write \"src/**/*.ts\"","lint:ci":"eslint \"src/**/*.ts\" --max-warnings 0","test:cov":"NODE_ENV=test jest --coverage --runInBand","docker:up":"docker-compose up -d && sleep 2 && npm run prisma:migrate:deploy","test:watch":"NODE_ENV=test jest --watch","docker:down":"docker-compose down -v","prepublishOnly":"npm run build","prisma:migrate":"prisma migrate dev","prisma:generate":"prisma generate && npm run prisma:postgenerate","test:integration":"NODE_ENV=test jest --testPathPattern=integration","prisma:postgenerate":"echo \"export * from './client';\" > src/generated/client/index.ts","prisma:migrate:deploy":"prisma migrate deploy"},"_npmUser":{"name":"revisium-io","email":"revisium.io@gmail.com"},"repository":{"url":"git+https://github.com/revisium/prisma-pg-json.git","type":"git"},"_npmVersion":"11.6.2","description":"Advanced PostgreSQL JSON query builder for Prisma with support for JSON paths, wildcards, and complex filters","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"pg":"^8.13.1","jest":"^29.7.0","tsup":"^8.3.5","dotenv":"^17.2.3","eslint":"^9.18.0","nanoid":"^3.3.11","prisma":"^7.0.0","globals":"^16.0.0","ts-jest":"^29.2.5","ts-node":"^10.9.2","prettier":"^3.4.2","@types/pg":"^8.15.6","@eslint/js":"^9.18.0","typescript":"^5.7.3","@types/jest":"^29.5.14","@types/node":"^22.10.7","@prisma/client":"^7.0.0","@eslint/eslintrc":"^3.2.0","typescript-eslint":"^8.20.0","@prisma/adapter-pg":"^7.0.0","eslint-config-prettier":"^10.0.1","eslint-plugin-prettier":"^5.2.2"},"peerDependencies":{"@prisma/client":"^5.0.0 || ^6.0.0 || ^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/prisma-pg-json_1.0.1_1763619037162_0.30986893191346776","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@revisium/prisma-pg-json","version":"1.0.3","keywords":["prisma","postgresql","json","jsonb","query-builder","json-path","wildcard","filters"],"author":{"name":"Anton Kashirov"},"license":"MIT","_id":"@revisium/prisma-pg-json@1.0.3","maintainers":[{"name":"revisium-io","email":"revisium.io@gmail.com"}],"homepage":"https://github.com/revisium/prisma-pg-json#readme","bugs":{"url":"https://github.com/revisium/prisma-pg-json/issues"},"dist":{"shasum":"89602f9b0ad30e1a7d8d26c519d758f4c85dc801","tarball":"https://registry.npmjs.org/@revisium/prisma-pg-json/-/prisma-pg-json-1.0.3.tgz","fileCount":7,"integrity":"sha512-Wj2NgMbpKnNxS7eYvD1yjRPcABX/BRzJNJqkvo/cd8udftxuqvOwSjKgXRxe56HgNFDDBYBd75YKJl7/Syd0Fw==","signatures":[{"sig":"MEUCIFBtqtGyXP8nBGTl9hTEryfWxYF4VhtEUf1gS0RQW5MBAiEAqjMUhLmQfhdakw0siwvO3zSYoqxM11seneNqvaCU5HE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@revisium%2fprisma-pg-json@1.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":128392},"jest":{"roots":["<rootDir>/src"],"preset":"ts-jest","testMatch":["**/__tests__/**/*.spec.ts"],"maxWorkers":1,"testEnvironment":"node","moduleNameMapper":{"^@prisma/client$":"<rootDir>/src/generated/client"},"coverageReporters":["text-summary","lcov"],"collectCoverageFrom":["src/**/*.ts","!src/**/__tests__/**","!src/**/index.ts","!src/generated/**"],"transformIgnorePatterns":["node_modules/(?!(@prisma/adapter-pg)/)"]},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"34a9edcadfac69c03c4c8fe00ff44f4662d7233b","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","tsc":"tsc --noEmit","lint":"eslint \"src/**/*.ts\" --max-warnings 0 --fix","test":"NODE_ENV=test jest --runInBand","build":"tsup src/index.ts --format cjs,esm --dts --clean","format":"prettier --write \"src/**/*.ts\"","lint:ci":"eslint \"src/**/*.ts\" --max-warnings 0","test:cov":"NODE_ENV=test jest --coverage --runInBand","docker:up":"docker-compose up -d && sleep 2 && npm run prisma:migrate:deploy","test:watch":"NODE_ENV=test jest --watch","docker:down":"docker-compose down -v","prepublishOnly":"npm run build","prisma:migrate":"prisma migrate dev","prisma:generate":"prisma generate && npm run prisma:postgenerate","test:integration":"NODE_ENV=test jest --testPathPattern=integration","prisma:postgenerate":"echo \"export * from './client';\" > src/generated/client/index.ts","prisma:migrate:deploy":"prisma migrate deploy"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8036016f-9a31-4361-b407-373e96e64015"}},"repository":{"url":"git+https://github.com/revisium/prisma-pg-json.git","type":"git"},"_npmVersion":"11.6.2","description":"Advanced PostgreSQL JSON query builder for Prisma with support for JSON paths, wildcards, and complex filters","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"pg":"^8.13.1","jest":"^29.7.0","tsup":"^8.3.5","dotenv":"^17.2.3","eslint":"^9.18.0","nanoid":"^3.3.11","prisma":"^7.0.0","globals":"^16.0.0","ts-jest":"^29.2.5","ts-node":"^10.9.2","prettier":"^3.4.2","@types/pg":"^8.15.6","@eslint/js":"^9.18.0","typescript":"^5.7.3","@types/jest":"^29.5.14","@types/node":"^22.10.7","@prisma/client":"^7.0.0","@eslint/eslintrc":"^3.2.0","typescript-eslint":"^8.20.0","@prisma/adapter-pg":"^7.0.0","eslint-config-prettier":"^10.0.1","eslint-plugin-prettier":"^5.2.2"},"peerDependencies":{"@prisma/client":"^5.0.0 || ^6.0.0 || ^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/prisma-pg-json_1.0.3_1766112150794_0.6870595693384354","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@revisium/prisma-pg-json","version":"1.1.0","keywords":["prisma","postgresql","json","jsonb","query-builder","json-path","wildcard","filters"],"author":{"name":"Anton Kashirov"},"license":"MIT","_id":"@revisium/prisma-pg-json@1.1.0","maintainers":[{"name":"revisium-io","email":"revisium.io@gmail.com"}],"homepage":"https://github.com/revisium/prisma-pg-json#readme","bugs":{"url":"https://github.com/revisium/prisma-pg-json/issues"},"dist":{"shasum":"a140611eb8e855556055c6bd1e7e1ee847daf947","tarball":"https://registry.npmjs.org/@revisium/prisma-pg-json/-/prisma-pg-json-1.1.0.tgz","fileCount":7,"integrity":"sha512-JjRZgvrcrqoERGipzRfhzSHrbSyQI6j/+uL+T53TrlC/8F2vZc1IpKYkee+R/v2pFqXHBFFJmHZ++k0+TgHZ5Q==","signatures":[{"sig":"MEUCIGjRtPdJ1Wak0YLOSn/Et8egk8s3LoAYnYPnAaOSvHbJAiEAmriUj78aqKLuFWCz+fKGWCVmnk6ynY6PJtTxBnKP+EA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@revisium%2fprisma-pg-json@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":129732},"jest":{"roots":["<rootDir>/src"],"preset":"ts-jest","testMatch":["**/__tests__/**/*.spec.ts"],"maxWorkers":1,"testEnvironment":"node","moduleNameMapper":{"^@prisma/client$":"<rootDir>/src/generated/client"},"coverageReporters":["text-summary","lcov"],"collectCoverageFrom":["src/**/*.ts","!src/**/__tests__/**","!src/**/index.ts","!src/generated/**"],"transformIgnorePatterns":["node_modules/(?!(@prisma/adapter-pg)/)"]},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"df071f55ef6a403caa663b60b4d30156641e3d73","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","tsc":"tsc --noEmit","lint":"eslint \"src/**/*.ts\" --max-warnings 0 --fix","test":"NODE_ENV=test jest --runInBand","build":"tsup src/index.ts --format cjs,esm --dts --clean","format":"prettier --write \"src/**/*.ts\"","lint:ci":"eslint \"src/**/*.ts\" --max-warnings 0","test:cov":"NODE_ENV=test jest --coverage --runInBand","docker:up":"docker-compose up -d && sleep 2 && npm run prisma:migrate:deploy","test:watch":"NODE_ENV=test jest --watch","docker:down":"docker-compose down -v","prepublishOnly":"npm run build","prisma:migrate":"prisma migrate dev","prisma:generate":"prisma generate && npm run prisma:postgenerate","test:integration":"NODE_ENV=test jest --testPathPattern=integration","prisma:postgenerate":"echo \"export * from './client';\" > src/generated/client/index.ts","prisma:migrate:deploy":"prisma migrate deploy"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8036016f-9a31-4361-b407-373e96e64015"}},"repository":{"url":"git+https://github.com/revisium/prisma-pg-json.git","type":"git"},"_npmVersion":"11.6.2","description":"Advanced PostgreSQL JSON query builder for Prisma with support for JSON paths, wildcards, and complex filters","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"pg":"^8.13.1","jest":"^29.7.0","tsup":"^8.3.5","dotenv":"^17.2.3","eslint":"^9.18.0","nanoid":"^3.3.11","prisma":"^7.0.0","globals":"^16.0.0","ts-jest":"^29.2.5","ts-node":"^10.9.2","prettier":"^3.4.2","@types/pg":"^8.15.6","@eslint/js":"^9.18.0","typescript":"^5.7.3","@types/jest":"^29.5.14","@types/node":"^22.10.7","@prisma/client":"^7.0.0","@eslint/eslintrc":"^3.2.0","typescript-eslint":"^8.20.0","@prisma/adapter-pg":"^7.0.0","eslint-config-prettier":"^10.0.1","eslint-plugin-prettier":"^5.2.2"},"peerDependencies":{"@prisma/client":"^5.0.0 || ^6.0.0 || ^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/prisma-pg-json_1.1.0_1766450165691_0.20912677793450962","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@revisium/prisma-pg-json","version":"1.2.0","keywords":["prisma","postgresql","json","jsonb","query-builder","json-path","wildcard","filters"],"author":{"name":"Anton Kashirov"},"license":"MIT","_id":"@revisium/prisma-pg-json@1.2.0","maintainers":[{"name":"revisium-io","email":"revisium.io@gmail.com"}],"homepage":"https://github.com/revisium/prisma-pg-json#readme","bugs":{"url":"https://github.com/revisium/prisma-pg-json/issues"},"dist":{"shasum":"3195826ded5a030f4114f5ef628d2dc13b7081f9","tarball":"https://registry.npmjs.org/@revisium/prisma-pg-json/-/prisma-pg-json-1.2.0.tgz","fileCount":7,"integrity":"sha512-OIy/CtPGYB+dNC6LSorPdTl0RRKwzNw1Ms/lgr6IwJF5RMWaXMJj7lcF/DFezc7fRvjb4OI+It0qGXLTkYqFCg==","signatures":[{"sig":"MEUCIQDBcrK+7v2Pfg4mpqjtGC/CE4siAjoVIqcTAWFGp75QfgIgfiisX27uOcrDw1KyuXgI2ihKcx6KxzYzMW29fc2dWZs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@revisium%2fprisma-pg-json@1.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":165773},"jest":{"roots":["<rootDir>/src"],"preset":"ts-jest","testMatch":["**/__tests__/**/*.spec.ts"],"maxWorkers":1,"testEnvironment":"node","moduleNameMapper":{"^@prisma/client$":"<rootDir>/src/generated/client"},"coverageReporters":["text-summary","lcov"],"collectCoverageFrom":["src/**/*.ts","!src/**/__tests__/**","!src/**/index.ts","!src/generated/**"],"transformIgnorePatterns":["node_modules/(?!(@prisma/adapter-pg)/)"]},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"c750bda3e9f884343f6ddb689c1d90f90af6f2f9","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","tsc":"tsc --noEmit","lint":"eslint \"src/**/*.ts\" --max-warnings 0 --fix","test":"NODE_ENV=test jest --runInBand","build":"tsup src/index.ts --format cjs,esm --dts --clean","format":"prettier --write \"src/**/*.ts\"","lint:ci":"eslint \"src/**/*.ts\" --max-warnings 0","test:cov":"NODE_ENV=test jest --coverage --runInBand","docker:up":"docker-compose up -d && sleep 2 && npm run prisma:migrate:deploy","test:watch":"NODE_ENV=test jest --watch","docker:down":"docker-compose down -v","prepublishOnly":"npm run build","prisma:migrate":"prisma migrate dev","prisma:generate":"prisma generate && npm run prisma:postgenerate","test:integration":"NODE_ENV=test jest --testPathPattern=integration","prisma:postgenerate":"echo \"export * from './client';\" > src/generated/client/index.ts","prisma:migrate:deploy":"prisma migrate deploy"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8036016f-9a31-4361-b407-373e96e64015"}},"repository":{"url":"git+https://github.com/revisium/prisma-pg-json.git","type":"git"},"_npmVersion":"11.6.2","description":"Advanced PostgreSQL JSON query builder for Prisma with support for JSON paths, wildcards, and complex filters","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"pg":"^8.13.1","jest":"^29.7.0","tsup":"^8.3.5","dotenv":"^17.2.3","eslint":"^9.18.0","nanoid":"^3.3.11","prisma":"^7.0.0","globals":"^16.0.0","ts-jest":"^29.2.5","ts-node":"^10.9.2","prettier":"^3.4.2","@types/pg":"^8.15.6","@eslint/js":"^9.18.0","typescript":"^5.7.3","@types/jest":"^29.5.14","@types/node":"^22.10.7","sql-formatter":"^15.6.12","@prisma/client":"^7.0.0","@eslint/eslintrc":"^3.2.0","typescript-eslint":"^8.20.0","@prisma/adapter-pg":"^7.0.0","eslint-config-prettier":"^10.0.1","eslint-plugin-prettier":"^5.2.2"},"peerDependencies":{"@prisma/client":"^5.0.0 || ^6.0.0 || ^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/prisma-pg-json_1.2.0_1768321996422_0.8572763409415032","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@revisium/prisma-pg-json","version":"1.3.0","keywords":["prisma","postgresql","json","jsonb","query-builder","json-path","wildcard","filters"],"author":{"name":"Anton Kashirov"},"license":"MIT","_id":"@revisium/prisma-pg-json@1.3.0","maintainers":[{"name":"revisium-io","email":"revisium.io@gmail.com"}],"homepage":"https://github.com/revisium/prisma-pg-json#readme","bugs":{"url":"https://github.com/revisium/prisma-pg-json/issues"},"dist":{"shasum":"1a81ff3c383c3c19e16233d386a711df57c4fee0","tarball":"https://registry.npmjs.org/@revisium/prisma-pg-json/-/prisma-pg-json-1.3.0.tgz","fileCount":7,"integrity":"sha512-pRvmAdsaUc7s9grMFolp6b6EYW1nmTo57Aq5X3wjTBhXROIdn1tjqW90NTcaFo1h0txaEGvCcjvmCsoRZNqatQ==","signatures":[{"sig":"MEUCIHLV6GtRPr053oNUC+ADkTt7YQlemCe5kZi/TTJh/vJrAiEAxOh28+1o95LayBhDu4+/WDxV2N93wqB2FzDNHcbV2xY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@revisium%2fprisma-pg-json@1.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":170587},"jest":{"roots":["<rootDir>/src"],"preset":"ts-jest","testMatch":["**/__tests__/**/*.spec.ts"],"maxWorkers":1,"testEnvironment":"node","moduleNameMapper":{"^@prisma/client$":"<rootDir>/src/generated/client"},"coverageReporters":["text-summary","lcov"],"collectCoverageFrom":["src/**/*.ts","!src/**/__tests__/**","!src/**/index.ts","!src/generated/**"],"transformIgnorePatterns":["node_modules/(?!(@prisma/adapter-pg)/)"]},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"3e8c077ad72ce4b3467ebe3dde9f1070cc9541b4","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","tsc":"tsc --noEmit","lint":"eslint \"src/**/*.ts\" --max-warnings 0 --fix","test":"NODE_ENV=test jest --runInBand","build":"tsup src/index.ts --format cjs,esm --dts --clean","format":"prettier --write \"src/**/*.ts\"","lint:ci":"eslint \"src/**/*.ts\" --max-warnings 0","test:cov":"NODE_ENV=test jest --coverage --runInBand","docker:up":"docker-compose up -d && sleep 2 && npm run prisma:migrate:deploy","test:watch":"NODE_ENV=test jest --watch","docker:down":"docker-compose down -v","prepublishOnly":"npm run build","prisma:migrate":"prisma migrate dev","prisma:generate":"prisma generate && npm run prisma:postgenerate","test:integration":"NODE_ENV=test jest --testPathPattern=integration","prisma:postgenerate":"echo \"export * from './client';\" > src/generated/client/index.ts","prisma:migrate:deploy":"prisma migrate deploy"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8036016f-9a31-4361-b407-373e96e64015"}},"repository":{"url":"git+https://github.com/revisium/prisma-pg-json.git","type":"git"},"_npmVersion":"11.6.2","description":"Advanced PostgreSQL JSON query builder for Prisma with support for JSON paths, wildcards, and complex filters","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"pg":"^8.13.1","jest":"^29.7.0","tsup":"^8.3.5","dotenv":"^17.2.3","eslint":"^9.18.0","nanoid":"^3.3.11","prisma":"^7.0.0","globals":"^16.0.0","ts-jest":"^29.2.5","ts-node":"^10.9.2","prettier":"^3.4.2","@types/pg":"^8.15.6","@eslint/js":"^9.18.0","typescript":"^5.7.3","@types/jest":"^29.5.14","@types/node":"^22.10.7","sql-formatter":"^15.6.12","@prisma/client":"^7.0.0","@eslint/eslintrc":"^3.2.0","typescript-eslint":"^8.20.0","@prisma/adapter-pg":"^7.0.0","eslint-config-prettier":"^10.0.1","eslint-plugin-prettier":"^5.2.2"},"peerDependencies":{"@prisma/client":"^5.0.0 || ^6.0.0 || ^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/prisma-pg-json_1.3.0_1768325408529_0.16786084080729102","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"@revisium/prisma-pg-json","version":"1.3.1","keywords":["prisma","postgresql","json","jsonb","query-builder","json-path","wildcard","filters"],"author":{"name":"Anton Kashirov"},"license":"MIT","_id":"@revisium/prisma-pg-json@1.3.1","maintainers":[{"name":"revisium-io","email":"revisium.io@gmail.com"}],"homepage":"https://github.com/revisium/prisma-pg-json#readme","bugs":{"url":"https://github.com/revisium/prisma-pg-json/issues"},"dist":{"shasum":"9685aa48e86637a80ea2289a3a1a9c0e8cf52787","tarball":"https://registry.npmjs.org/@revisium/prisma-pg-json/-/prisma-pg-json-1.3.1.tgz","fileCount":7,"integrity":"sha512-4+zK+3h+miYWW0Lud+xjlHQ6P+GeOE4gEKpSVET0mYsD/TY6hjfqoGIuxAbR+b5bN81UmdmLwo6nFK65spZW7w==","signatures":[{"sig":"MEUCIHuENxxVEsxlixIffm2EDEDVKNDRDekZU1aW5gWkHDakAiEA0+Dl3ZDEuNVV9S99omkmZ1V7hBJxIpvLFLbgmVdLwEk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@revisium%2fprisma-pg-json@1.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":171119},"jest":{"roots":["<rootDir>/src"],"preset":"ts-jest","testMatch":["**/__tests__/**/*.spec.ts"],"maxWorkers":1,"testEnvironment":"node","moduleNameMapper":{"^@prisma/client$":"<rootDir>/src/generated/client"},"coverageReporters":["text-summary","lcov"],"collectCoverageFrom":["src/**/*.ts","!src/**/__tests__/**","!src/**/index.ts","!src/generated/**"],"transformIgnorePatterns":["node_modules/(?!(@prisma/adapter-pg)/)"]},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"adcab55fdb7f956c4eb1c942233dc7f1d5e66fef","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","tsc":"tsc --noEmit","lint":"eslint \"src/**/*.ts\" --max-warnings 0 --fix","test":"NODE_ENV=test jest --runInBand","build":"tsup src/index.ts --format cjs,esm --dts --clean","format":"prettier --write \"src/**/*.ts\"","lint:ci":"eslint \"src/**/*.ts\" --max-warnings 0","test:cov":"NODE_ENV=test jest --coverage --runInBand","docker:up":"docker-compose up -d && sleep 2 && npm run prisma:migrate:deploy","test:watch":"NODE_ENV=test jest --watch","docker:down":"docker-compose down -v","prepublishOnly":"npm run build","prisma:migrate":"prisma migrate dev","prisma:generate":"prisma generate && npm run prisma:postgenerate","test:integration":"NODE_ENV=test jest --testPathPattern=integration","prisma:postgenerate":"echo \"export * from './client';\" > src/generated/client/index.ts","prisma:migrate:deploy":"prisma migrate deploy"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8036016f-9a31-4361-b407-373e96e64015"}},"repository":{"url":"git+https://github.com/revisium/prisma-pg-json.git","type":"git"},"_npmVersion":"11.6.2","description":"Advanced PostgreSQL JSON query builder for Prisma with support for JSON paths, wildcards, and complex filters","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"pg":"^8.13.1","jest":"^29.7.0","tsup":"^8.3.5","dotenv":"^17.2.3","eslint":"^9.18.0","nanoid":"^3.3.11","prisma":"^7.0.0","globals":"^16.0.0","ts-jest":"^29.2.5","ts-node":"^10.9.2","prettier":"^3.4.2","@types/pg":"^8.15.6","@eslint/js":"^9.18.0","typescript":"^5.7.3","@types/jest":"^29.5.14","@types/node":"^22.10.7","sql-formatter":"^15.6.12","@prisma/client":"^7.0.0","@eslint/eslintrc":"^3.2.0","typescript-eslint":"^8.20.0","@prisma/adapter-pg":"^7.0.0","eslint-config-prettier":"^10.0.1","eslint-plugin-prettier":"^5.2.2"},"peerDependencies":{"@prisma/client":"^5.0.0 || ^6.0.0 || ^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/prisma-pg-json_1.3.1_1768372077623_0.1930751540930422","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@revisium/prisma-pg-json","version":"1.4.0","keywords":["prisma","postgresql","json","jsonb","query-builder","json-path","wildcard","filters"],"author":{"name":"Anton Kashirov"},"license":"MIT","_id":"@revisium/prisma-pg-json@1.4.0","maintainers":[{"name":"revisium-io","email":"revisium.io@gmail.com"}],"homepage":"https://github.com/revisium/prisma-pg-json#readme","bugs":{"url":"https://github.com/revisium/prisma-pg-json/issues"},"dist":{"shasum":"8ec92b5395e74e1f554fad2fa6fe10f9a477e89c","tarball":"https://registry.npmjs.org/@revisium/prisma-pg-json/-/prisma-pg-json-1.4.0.tgz","fileCount":7,"integrity":"sha512-RaF+WLWNs05GRxoG1iTDyELeb8lRCup1TcDa1jVZ/ltnBHT0Mr/ubJqzMuKmc80SKk8mG87yA+4SQ/Kgkes6hQ==","signatures":[{"sig":"MEQCIEKFt9Wy0ZbkQKgU6MjjbA5gTNtA1mv7NI3A6Dg6SVK9AiBQypq0FyItmgxtENh4kWKKNubdCXEr5zDSB4SPVrFOzw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@revisium%2fprisma-pg-json@1.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":172059},"jest":{"roots":["<rootDir>/src"],"preset":"ts-jest","testMatch":["**/__tests__/**/*.spec.ts"],"maxWorkers":1,"testEnvironment":"node","moduleNameMapper":{"^@prisma/client$":"<rootDir>/src/generated/client"},"coverageReporters":["text-summary","lcov"],"collectCoverageFrom":["src/**/*.ts","!src/**/__tests__/**","!src/**/index.ts","!src/generated/**"],"transformIgnorePatterns":["node_modules/(?!(@prisma/adapter-pg)/)"]},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"1cb6252f97b1cf03fa438a6762983d11fe3caace","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","tsc":"tsc --noEmit","lint":"eslint \"src/**/*.ts\" --max-warnings 0 --fix","test":"NODE_ENV=test jest --runInBand","build":"tsup src/index.ts --format cjs,esm --dts --clean","format":"prettier --write \"src/**/*.ts\"","lint:ci":"eslint \"src/**/*.ts\" --max-warnings 0","test:cov":"NODE_ENV=test jest --coverage --runInBand","docker:up":"docker-compose up -d && sleep 2 && npm run prisma:migrate:deploy","test:watch":"NODE_ENV=test jest --watch","docker:down":"docker-compose down -v","prepublishOnly":"npm run build","prisma:migrate":"prisma migrate dev","prisma:generate":"prisma generate && npm run prisma:postgenerate","test:integration":"NODE_ENV=test jest --testPathPattern=integration","prisma:postgenerate":"echo \"export * from './client';\" > src/generated/client/index.ts","prisma:migrate:deploy":"prisma migrate deploy"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8036016f-9a31-4361-b407-373e96e64015"}},"repository":{"url":"git+https://github.com/revisium/prisma-pg-json.git","type":"git"},"_npmVersion":"11.6.2","description":"Advanced PostgreSQL JSON query builder for Prisma with support for JSON paths, wildcards, and complex filters","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"pg":"^8.13.1","jest":"^29.7.0","tsup":"^8.3.5","dotenv":"^17.2.3","eslint":"^9.18.0","nanoid":"^3.3.11","prisma":"^7.0.0","globals":"^16.0.0","ts-jest":"^29.2.5","ts-node":"^10.9.2","prettier":"^3.4.2","@types/pg":"^8.15.6","@eslint/js":"^9.18.0","typescript":"^5.7.3","@types/jest":"^29.5.14","@types/node":"^22.10.7","sql-formatter":"^15.6.12","@prisma/client":"^7.0.0","@eslint/eslintrc":"^3.2.0","typescript-eslint":"^8.20.0","@prisma/adapter-pg":"^7.0.0","eslint-config-prettier":"^10.0.1","eslint-plugin-prettier":"^5.2.2"},"peerDependencies":{"@prisma/client":"^5.0.0 || ^6.0.0 || ^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/prisma-pg-json_1.4.0_1768458005446_0.6683659212088899","host":"s3://npm-registry-packages-npm-production"}},"1.4.1":{"name":"@revisium/prisma-pg-json","version":"1.4.1","keywords":["prisma","postgresql","json","jsonb","query-builder","json-path","wildcard","filters"],"author":{"name":"Anton Kashirov"},"license":"MIT","_id":"@revisium/prisma-pg-json@1.4.1","maintainers":[{"name":"revisium-io","email":"revisium.io@gmail.com"}],"homepage":"https://github.com/revisium/prisma-pg-json#readme","bugs":{"url":"https://github.com/revisium/prisma-pg-json/issues"},"dist":{"shasum":"9f79f46f20531ec4b75034439bf193ebe4595f65","tarball":"https://registry.npmjs.org/@revisium/prisma-pg-json/-/prisma-pg-json-1.4.1.tgz","fileCount":7,"integrity":"sha512-tPSQSDkR/jfEk2NbP1ZoIE8WmJW4fAgmotWksbvBtiu++HyRN5N7AQVJqUu9wvqBDe+2g8yVCDHDNlWVg1E5tQ==","signatures":[{"sig":"MEYCIQDaVDRUVlWOq15pRQTKacJyEo5pMiKA9osUzMDFG8VMNwIhAOXI8AXxfhiyA80AcJ5TLNMChBgM07Hkx1XcGGtMCRSY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@revisium%2fprisma-pg-json@1.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":172499},"jest":{"roots":["<rootDir>/src"],"preset":"ts-jest","testMatch":["**/__tests__/**/*.spec.ts"],"maxWorkers":1,"testEnvironment":"node","moduleNameMapper":{"^@prisma/client$":"<rootDir>/src/generated/client"},"coverageReporters":["text-summary","lcov"],"collectCoverageFrom":["src/**/*.ts","!src/**/__tests__/**","!src/**/index.ts","!src/generated/**"],"transformIgnorePatterns":["node_modules/(?!(@prisma/adapter-pg)/)"]},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"a34ff7461159c55f24b2468e7c7c01546a169c5f","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","tsc":"tsc --noEmit","lint":"eslint \"src/**/*.ts\" --max-warnings 0 --fix","test":"NODE_ENV=test jest --runInBand","build":"tsup src/index.ts --format cjs,esm --dts --clean","format":"prettier --write \"src/**/*.ts\"","lint:ci":"eslint \"src/**/*.ts\" --max-warnings 0","test:cov":"NODE_ENV=test jest --coverage --runInBand","docker:up":"docker-compose up -d && sleep 2 && npm run prisma:migrate:deploy","test:watch":"NODE_ENV=test jest --watch","docker:down":"docker-compose down -v","prepublishOnly":"npm run build","prisma:migrate":"prisma migrate dev","prisma:generate":"prisma generate && npm run prisma:postgenerate","test:integration":"NODE_ENV=test jest --testPathPattern=integration","prisma:postgenerate":"echo \"export * from './client';\" > src/generated/client/index.ts","prisma:migrate:deploy":"prisma migrate deploy"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8036016f-9a31-4361-b407-373e96e64015"}},"repository":{"url":"git+https://github.com/revisium/prisma-pg-json.git","type":"git"},"_npmVersion":"11.6.2","description":"Advanced PostgreSQL JSON query builder for Prisma with support for JSON paths, wildcards, and complex filters","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"pg":"^8.13.1","jest":"^29.7.0","tsup":"^8.3.5","dotenv":"^17.2.3","eslint":"^9.18.0","nanoid":"^3.3.11","prisma":"^7.0.0","globals":"^16.0.0","ts-jest":"^29.2.5","ts-node":"^10.9.2","prettier":"^3.4.2","@types/pg":"^8.15.6","@eslint/js":"^9.18.0","typescript":"^5.7.3","@types/jest":"^29.5.14","@types/node":"^22.10.7","sql-formatter":"^15.6.12","@prisma/client":"^7.0.0","@eslint/eslintrc":"^3.2.0","typescript-eslint":"^8.20.0","@prisma/adapter-pg":"^7.0.0","eslint-config-prettier":"^10.0.1","eslint-plugin-prettier":"^5.2.2"},"peerDependencies":{"@prisma/client":"^5.0.0 || ^6.0.0 || ^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/prisma-pg-json_1.4.1_1772038673220_0.4901534513960488","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"@revisium/prisma-pg-json","version":"1.5.0","keywords":["prisma","postgresql","json","jsonb","query-builder","json-path","wildcard","filters"],"author":{"name":"Anton Kashirov"},"license":"MIT","_id":"@revisium/prisma-pg-json@1.5.0","maintainers":[{"name":"revisium-io","email":"revisium.io@gmail.com"}],"homepage":"https://github.com/revisium/prisma-pg-json#readme","bugs":{"url":"https://github.com/revisium/prisma-pg-json/issues"},"dist":{"shasum":"c3213ba0c4b291dcdf7f0f72ecfcd27590dcd87c","tarball":"https://registry.npmjs.org/@revisium/prisma-pg-json/-/prisma-pg-json-1.5.0.tgz","fileCount":7,"integrity":"sha512-NhtGiNzh1Gv4s0omfD3/d0XdGgrbzZZA9I2RKhezQ9VV7z3wQB0LAErzd0UvK5L5wD4G6+1qqxaigGpU3JIiNA==","signatures":[{"sig":"MEQCIHT5isGMJhMgkI3b95OgjH91XbOuToHVpxrWlcFrP1y+AiAanHGOZjU/Fe9Fk3kAHRTuMaps0gBYPvejW/JETzeMwA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@revisium%2fprisma-pg-json@1.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":188237},"jest":{"roots":["<rootDir>/src"],"preset":"ts-jest","testMatch":["**/__tests__/**/*.spec.ts"],"maxWorkers":1,"testEnvironment":"node","moduleNameMapper":{"^@prisma/client$":"<rootDir>/src/generated/client"},"coverageReporters":["text-summary","lcov"],"collectCoverageFrom":["src/**/*.ts","!src/**/__tests__/**","!src/**/index.ts","!src/generated/**"],"transformIgnorePatterns":["node_modules/(?!(@prisma/adapter-pg)/)"]},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"19782de0cdb083c718b1179a69162ca318a85bea","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","tsc":"tsc --noEmit","lint":"eslint \"src/**/*.ts\" --max-warnings 0 --fix","test":"NODE_ENV=test jest --runInBand","build":"tsup src/index.ts --format cjs,esm --dts --clean","format":"prettier --write \"src/**/*.ts\"","lint:ci":"eslint \"src/**/*.ts\" --max-warnings 0","test:cov":"NODE_ENV=test jest --coverage --runInBand","docker:up":"docker-compose up -d && sleep 2 && npm run prisma:migrate:deploy","test:watch":"NODE_ENV=test jest --watch","docker:down":"docker-compose down -v","prepublishOnly":"npm run build","prisma:migrate":"prisma migrate dev","prisma:generate":"prisma generate && npm run prisma:postgenerate","test:integration":"NODE_ENV=test jest --testPathPattern=integration","prisma:postgenerate":"echo \"export * from './client';\" > src/generated/client/index.ts","prisma:migrate:deploy":"prisma migrate deploy"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8036016f-9a31-4361-b407-373e96e64015"}},"repository":{"url":"git+https://github.com/revisium/prisma-pg-json.git","type":"git"},"_npmVersion":"11.6.2","description":"Advanced PostgreSQL JSON query builder for Prisma with support for JSON paths, wildcards, and complex filters","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"pg":"^8.13.1","jest":"^29.7.0","tsup":"^8.3.5","dotenv":"^17.2.3","eslint":"^9.18.0","nanoid":"^3.3.11","prisma":"^7.0.0","globals":"^16.0.0","ts-jest":"^29.2.5","ts-node":"^10.9.2","prettier":"^3.4.2","@types/pg":"^8.15.6","@eslint/js":"^9.18.0","typescript":"^5.7.3","@types/jest":"^29.5.14","@types/node":"^22.10.7","sql-formatter":"^15.6.12","@prisma/client":"^7.0.0","@eslint/eslintrc":"^3.2.0","typescript-eslint":"^8.20.0","@prisma/adapter-pg":"^7.0.0","eslint-config-prettier":"^10.0.1","eslint-plugin-prettier":"^5.2.2"},"peerDependencies":{"@prisma/client":"^5.0.0 || ^6.0.0 || ^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/prisma-pg-json_1.5.0_1772126619975_0.06944379873914985","host":"s3://npm-registry-packages-npm-production"}},"1.5.1":{"name":"@revisium/prisma-pg-json","version":"1.5.1","keywords":["prisma","postgresql","json","jsonb","query-builder","json-path","wildcard","filters"],"author":{"name":"Anton Kashirov"},"license":"MIT","_id":"@revisium/prisma-pg-json@1.5.1","maintainers":[{"name":"revisium-io","email":"revisium.io@gmail.com"}],"homepage":"https://github.com/revisium/prisma-pg-json#readme","bugs":{"url":"https://github.com/revisium/prisma-pg-json/issues"},"dist":{"shasum":"7aec8f71b4f87af99aa781c928b8d96a74db50a9","tarball":"https://registry.npmjs.org/@revisium/prisma-pg-json/-/prisma-pg-json-1.5.1.tgz","fileCount":7,"integrity":"sha512-NHNhW61IT3OANPiVIuJ2R9EqG86MQdP4s0AAVuDEYztMheYCtxk2xPCUlsrE1CmUKuHx8ybnq9OiZGAlnxanUg==","signatures":[{"sig":"MEUCIHHGyghEA+AwIeJirwVx2AlcvpA21DWXnRxd/2j/0QzQAiEAr6n9pF20DFsQt2pivra5DKjdGgv1vo+qxpyqMThmyzY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@revisium%2fprisma-pg-json@1.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":189109},"jest":{"roots":["<rootDir>/src"],"preset":"ts-jest","testMatch":["**/__tests__/**/*.spec.ts"],"maxWorkers":1,"testEnvironment":"node","moduleNameMapper":{"^@prisma/client$":"<rootDir>/src/generated/client"},"coverageReporters":["text-summary","lcov"],"collectCoverageFrom":["src/**/*.ts","!src/**/__tests__/**","!src/**/index.ts","!src/generated/**"],"transformIgnorePatterns":["node_modules/(?!(@prisma/adapter-pg)/)"]},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"83ab5399daf87f441d98661f509955085ba20e0b","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","tsc":"tsc --noEmit","lint":"eslint \"src/**/*.ts\" --max-warnings 0 --fix","test":"NODE_ENV=test jest --runInBand","build":"tsup src/index.ts --format cjs,esm --dts --clean","format":"prettier --write \"src/**/*.ts\"","lint:ci":"eslint \"src/**/*.ts\" --max-warnings 0","test:cov":"NODE_ENV=test jest --coverage --runInBand","docker:up":"docker-compose up -d && sleep 2 && npm run prisma:migrate:deploy","test:watch":"NODE_ENV=test jest --watch","docker:down":"docker-compose down -v","prepublishOnly":"npm run build","prisma:migrate":"prisma migrate dev","prisma:generate":"prisma generate && npm run prisma:postgenerate","test:integration":"NODE_ENV=test jest --testPathPattern=integration","prisma:postgenerate":"echo \"export * from './client';\" > src/generated/client/index.ts","prisma:migrate:deploy":"prisma migrate deploy"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8036016f-9a31-4361-b407-373e96e64015"}},"repository":{"url":"git+https://github.com/revisium/prisma-pg-json.git","type":"git"},"_npmVersion":"11.6.2","description":"Advanced PostgreSQL JSON query builder for Prisma with support for JSON paths, wildcards, and complex filters","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"pg":"^8.13.1","jest":"^29.7.0","tsup":"^8.3.5","dotenv":"^17.2.3","eslint":"^9.18.0","nanoid":"^3.3.11","prisma":"^7.0.0","globals":"^16.0.0","ts-jest":"^29.2.5","ts-node":"^10.9.2","prettier":"^3.4.2","@types/pg":"^8.15.6","@eslint/js":"^9.18.0","typescript":"^5.7.3","@types/jest":"^29.5.14","@types/node":"^22.10.7","sql-formatter":"^15.6.12","@prisma/client":"^7.0.0","@eslint/eslintrc":"^3.2.0","typescript-eslint":"^8.20.0","@prisma/adapter-pg":"^7.0.0","eslint-config-prettier":"^10.0.1","eslint-plugin-prettier":"^5.2.2"},"peerDependencies":{"@prisma/client":"^5.0.0 || ^6.0.0 || ^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/prisma-pg-json_1.5.1_1775531697554_0.5680530201695675","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"@revisium/prisma-pg-json","version":"1.6.0","keywords":["prisma","postgresql","json","jsonb","query-builder","json-path","wildcard","filters"],"author":{"name":"Anton Kashirov"},"license":"MIT","_id":"@revisium/prisma-pg-json@1.6.0","maintainers":[{"name":"revisium-io","email":"revisium.io@gmail.com"}],"homepage":"https://github.com/revisium/prisma-pg-json#readme","bugs":{"url":"https://github.com/revisium/prisma-pg-json/issues"},"dist":{"shasum":"d275f0c1ae835d26e6203fd8367ddbe824e1440e","tarball":"https://registry.npmjs.org/@revisium/prisma-pg-json/-/prisma-pg-json-1.6.0.tgz","fileCount":7,"integrity":"sha512-heeh8+Geh0LcyBrQwwKnKIpbUq3CTOFwazDNQXsDki1nD1MHoJ/cxZ8rIkAGTEKqb5EY0uY5K6ykhvbfMFYLkg==","signatures":[{"sig":"MEUCIQC5gsY6bd0vShoc2Wz4VQpoUzXxMlD9xsEmDXZxacgIWAIgWuPcFWHkUNt4acUQYgcMEcYkKb1mD95XNQyAdbuK9MQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@revisium%2fprisma-pg-json@1.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":202517},"jest":{"roots":["<rootDir>/src"],"preset":"ts-jest","testMatch":["**/__tests__/**/*.spec.ts"],"maxWorkers":1,"testEnvironment":"node","moduleNameMapper":{"^@prisma/client$":"<rootDir>/src/generated/client"},"coverageReporters":["text-summary","lcov"],"collectCoverageFrom":["src/**/*.ts","!src/**/__tests__/**","!src/**/index.ts","!src/generated/**"],"transformIgnorePatterns":["node_modules/(?!(@prisma/adapter-pg)/)"]},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"d78e39749425a1fbaeaeaa55a24792276601504f","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","tsc":"tsc --noEmit","lint":"eslint \"src/**/*.ts\" --max-warnings 0 --fix","test":"NODE_ENV=test jest --runInBand","build":"tsup src/index.ts --format cjs,esm --dts --clean","format":"prettier --write \"src/**/*.ts\"","lint:ci":"eslint \"src/**/*.ts\" --max-warnings 0","test:cov":"NODE_ENV=test jest --coverage --runInBand","docker:up":"docker-compose up -d && sleep 2 && npm run prisma:migrate:deploy","test:watch":"NODE_ENV=test jest --watch","docker:down":"docker-compose down -v","prepublishOnly":"npm run build","prisma:migrate":"prisma migrate dev","prisma:generate":"prisma generate && npm run prisma:postgenerate","test:integration":"NODE_ENV=test jest --testPathPattern=integration","prisma:postgenerate":"echo \"export * from './client';\" > src/generated/client/index.ts","prisma:migrate:deploy":"prisma migrate deploy"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8036016f-9a31-4361-b407-373e96e64015"}},"repository":{"url":"git+https://github.com/revisium/prisma-pg-json.git","type":"git"},"_npmVersion":"11.6.2","description":"Advanced PostgreSQL JSON query builder for Prisma with support for JSON paths, wildcards, and complex filters","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"pg":"^8.13.1","jest":"^29.7.0","tsup":"^8.3.5","dotenv":"^17.2.3","eslint":"^9.18.0","nanoid":"^3.3.11","prisma":"^7.0.0","globals":"^16.0.0","ts-jest":"^29.2.5","ts-node":"^10.9.2","prettier":"^3.4.2","@types/pg":"^8.15.6","@eslint/js":"^9.18.0","typescript":"^5.7.3","@types/jest":"^29.5.14","@types/node":"^22.10.7","sql-formatter":"^15.6.12","@prisma/client":"^7.0.0","@eslint/eslintrc":"^3.2.0","typescript-eslint":"^8.20.0","@prisma/adapter-pg":"^7.0.0","eslint-config-prettier":"^10.0.1","eslint-plugin-prettier":"^5.2.2"},"peerDependencies":{"@prisma/client":"^5.0.0 || ^6.0.0 || ^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/prisma-pg-json_1.6.0_1775717682447_0.8115252738403862","host":"s3://npm-registry-packages-npm-production"}},"1.6.1":{"name":"@revisium/prisma-pg-json","version":"1.6.1","keywords":["prisma","postgresql","json","jsonb","query-builder","json-path","wildcard","filters"],"author":{"name":"Anton Kashirov"},"license":"MIT","_id":"@revisium/prisma-pg-json@1.6.1","maintainers":[{"name":"revisium-io","email":"revisium.io@gmail.com"}],"homepage":"https://github.com/revisium/prisma-pg-json#readme","bugs":{"url":"https://github.com/revisium/prisma-pg-json/issues"},"dist":{"shasum":"b7a52f2ce7847b27af950e6cb582b3a7ee8b19bc","tarball":"https://registry.npmjs.org/@revisium/prisma-pg-json/-/prisma-pg-json-1.6.1.tgz","fileCount":7,"integrity":"sha512-wA0OEIHJf89W89JIRtPsgor3n9MsZk+h2n61+FR/lysKnDMm5IGcYfbH0u5mO65KnoHhVsifCJiQrYhnabnyug==","signatures":[{"sig":"MEUCIG/f6cT1BVNNr7ltAf3qJDK7wAMGEYu6TxeMXKtEf+seAiEAyieq75/lO2ScNPzgd5Os/4jlvvYcyCtmRfTaog5sJv8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@revisium%2fprisma-pg-json@1.6.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":202169},"jest":{"roots":["<rootDir>/src"],"preset":"ts-jest","testMatch":["**/__tests__/**/*.spec.ts"],"maxWorkers":1,"testEnvironment":"node","moduleNameMapper":{"^@prisma/client$":"<rootDir>/src/generated/client"},"coverageReporters":["text-summary","lcov"],"collectCoverageFrom":["src/**/*.ts","!src/**/__tests__/**","!src/**/index.ts","!src/generated/**"],"transformIgnorePatterns":["node_modules/(?!(@prisma/adapter-pg)/)"]},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"05ce2d7fdfca1270d188648b31c12628fe6496f9","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","tsc":"tsc --noEmit","lint":"eslint \"src/**/*.ts\" --max-warnings 0 --fix","test":"NODE_ENV=test jest --runInBand","build":"tsup src/index.ts --format cjs,esm --dts --clean","format":"prettier --write \"src/**/*.ts\"","lint:ci":"eslint \"src/**/*.ts\" --max-warnings 0","test:cov":"NODE_ENV=test jest --coverage --runInBand","docker:up":"docker-compose up -d && sleep 2 && npm run prisma:migrate:deploy","test:watch":"NODE_ENV=test jest --watch","docker:down":"docker-compose down -v","prepublishOnly":"npm run build","prisma:migrate":"prisma migrate dev","prisma:generate":"prisma generate && npm run prisma:postgenerate","test:integration":"NODE_ENV=test jest --testPathPattern=integration","prisma:postgenerate":"echo \"export * from './client';\" > src/generated/client/index.ts","prisma:migrate:deploy":"prisma migrate deploy"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8036016f-9a31-4361-b407-373e96e64015"}},"repository":{"url":"git+https://github.com/revisium/prisma-pg-json.git","type":"git"},"_npmVersion":"11.6.2","description":"Advanced PostgreSQL JSON query builder for Prisma with support for JSON paths, wildcards, and complex filters","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"pg":"^8.13.1","jest":"^29.7.0","tsup":"^8.3.5","dotenv":"^17.2.3","eslint":"^9.18.0","nanoid":"^3.3.11","prisma":"^7.0.0","globals":"^16.0.0","ts-jest":"^29.2.5","ts-node":"^10.9.2","prettier":"^3.4.2","@types/pg":"^8.15.6","@eslint/js":"^9.18.0","typescript":"^5.7.3","@types/jest":"^29.5.14","@types/node":"^22.10.7","sql-formatter":"^15.6.12","@prisma/client":"^7.0.0","@eslint/eslintrc":"^3.2.0","typescript-eslint":"^8.20.0","@prisma/adapter-pg":"^7.0.0","eslint-config-prettier":"^10.0.1","eslint-plugin-prettier":"^5.2.2"},"peerDependencies":{"@prisma/client":"^5.0.0 || ^6.0.0 || ^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/prisma-pg-json_1.6.1_1788374596274_0.8060072631684128","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"@revisium/prisma-pg-json","version":"1.7.0","description":"Advanced PostgreSQL JSON query builder for Prisma with support for JSON paths, wildcards, and complex filters","author":{"name":"Anton Kashirov"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/revisium/prisma-pg-json.git"},"keywords":["prisma","postgresql","json","jsonb","query-builder","json-path","wildcard","filters"],"main":"./dist/index.js","module":"./dist/index.mjs","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"build":"tsup src/index.ts --format cjs,esm --dts --clean","dev":"tsup src/index.ts --format cjs,esm --dts --watch","test":"NODE_ENV=test jest --runInBand","test:watch":"NODE_ENV=test jest --watch","test:cov":"NODE_ENV=test jest --coverage --runInBand","test:integration":"NODE_ENV=test jest --testPathPattern=integration","lint":"eslint \"src/**/*.ts\" --max-warnings 0 --fix","lint:ci":"eslint \"src/**/*.ts\" --max-warnings 0","format":"prettier --write \"src/**/*.ts\"","tsc":"tsc --noEmit","prepublishOnly":"npm run build","docker:up":"docker-compose up -d && sleep 2 && npm run prisma:migrate:deploy","docker:down":"docker-compose down -v","prisma:generate":"prisma generate && npm run prisma:postgenerate","prisma:postgenerate":"echo \"export * from './client';\" > src/generated/client/index.ts","prisma:migrate":"prisma migrate dev","prisma:migrate:deploy":"prisma migrate deploy"},"peerDependencies":{"@prisma/client":"^5.0.0 || ^6.0.0 || ^7.0.0"},"devDependencies":{"@eslint/eslintrc":"^3.2.0","@eslint/js":"^9.18.0","@prisma/adapter-pg":"^7.0.0","@prisma/client":"^7.0.0","@types/jest":"^29.5.14","@types/node":"^22.10.7","@types/pg":"^8.15.6","dotenv":"^17.2.3","eslint":"^9.18.0","eslint-config-prettier":"^10.0.1","eslint-plugin-prettier":"^5.2.2","globals":"^16.0.0","jest":"^29.7.0","nanoid":"^3.3.11","pg":"^8.13.1","prettier":"^3.4.2","prisma":"^7.0.0","sql-formatter":"^15.6.12","ts-jest":"^29.2.5","ts-node":"^10.9.2","tsup":"^8.3.5","typescript":"^5.7.3","typescript-eslint":"^8.20.0"},"jest":{"preset":"ts-jest","testEnvironment":"node","maxWorkers":1,"roots":["<rootDir>/src"],"testMatch":["**/__tests__/**/*.spec.ts"],"collectCoverageFrom":["src/**/*.ts","!src/**/__tests__/**","!src/**/index.ts","!src/generated/**"],"coverageReporters":["text-summary","lcov"],"moduleNameMapper":{"^@prisma/client$":"<rootDir>/src/generated/client"},"transformIgnorePatterns":["node_modules/(?!(@prisma/adapter-pg)/)"]},"gitHead":"4709889ec4e57141f7bef3a71e24d2a42c59ca14","_id":"@revisium/prisma-pg-json@1.7.0","bugs":{"url":"https://github.com/revisium/prisma-pg-json/issues"},"homepage":"https://github.com/revisium/prisma-pg-json#readme","_nodeVersion":"24.11.1","_npmVersion":"11.6.2","dist":{"integrity":"sha512-KUSeRQzoJLLYOHaBsH3IHkEqs6Lb0NCt3ZP03Sa/43mJMsm4O7BbS8F00WkwxhtvszH5fH58vmvMWKr8PTJsaQ==","shasum":"67cd49a756759e6525e6771a8509bb179eda9c21","tarball":"https://registry.npmjs.org/@revisium/prisma-pg-json/-/prisma-pg-json-1.7.0.tgz","fileCount":7,"unpackedSize":202707,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@revisium%2fprisma-pg-json@1.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQC4MpwoLUSe8lEbrrlyM+q5LPGvkH47pRHN2x6GWsv3DwIhALngfSGUpjU9ejyIKDah6RqmLfJGMjkIab8Yb3kWCMUy"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8036016f-9a31-4361-b407-373e96e64015"}},"directories":{},"maintainers":[{"name":"revisium-io","email":"revisium.io@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/prisma-pg-json_1.7.0_1788449498105_0.2894631032684236"},"_hasShrinkwrap":false}},"time":{"created":"2025-09-28T06:36:38.066Z","modified":"2026-09-03T15:31:38.661Z","0.2.0":"2025-09-28T06:36:38.409Z","0.3.0":"2025-09-28T07:12:47.239Z","0.4.0":"2025-09-28T12:48:50.708Z","0.4.1":"2025-09-28T15:52:08.936Z","0.5.0":"2025-09-29T18:21:53.917Z","0.6.0":"2025-10-11T21:12:25.987Z","0.7.0":"2025-10-12T06:57:21.409Z","1.0.1":"2025-11-20T06:10:37.375Z","1.0.3":"2025-12-19T02:42:30.950Z","1.1.0":"2025-12-23T00:36:05.830Z","1.2.0":"2026-01-13T16:33:16.576Z","1.3.0":"2026-01-13T17:30:08.668Z","1.3.1":"2026-01-14T06:27:57.778Z","1.4.0":"2026-01-15T06:20:05.680Z","1.4.1":"2026-02-25T16:57:53.356Z","1.5.0":"2026-02-26T17:23:40.129Z","1.5.1":"2026-04-07T03:14:57.699Z","1.6.0":"2026-04-09T06:54:42.580Z","1.6.1":"2026-09-02T18:43:16.421Z","1.7.0":"2026-09-03T15:31:38.243Z"},"bugs":{"url":"https://github.com/revisium/prisma-pg-json/issues"},"author":{"name":"Anton Kashirov"},"license":"MIT","homepage":"https://github.com/revisium/prisma-pg-json#readme","keywords":["prisma","postgresql","json","jsonb","query-builder","json-path","wildcard","filters"],"repository":{"type":"git","url":"git+https://github.com/revisium/prisma-pg-json.git"},"description":"Advanced PostgreSQL JSON query builder for Prisma with support for JSON paths, wildcards, and complex filters","maintainers":[{"name":"revisium-io","email":"revisium.io@gmail.com"}],"readme":"<div align=\"center\">\n\n# prisma-pg-json\n\n[![codecov](https://codecov.io/gh/revisium/prisma-pg-json/graph/badge.svg?token=Q798833A3W)](https://codecov.io/gh/revisium/prisma-pg-json)\n[![GitHub License](https://img.shields.io/badge/License-MIT-green.svg)](https://github.com/revisium/prisma-pg-json/blob/master/LICENSE)\n[![GitHub Release](https://img.shields.io/github/v/release/revisium/prisma-pg-json)](https://github.com/revisium/prisma-pg-json/releases)\n\n**Type-safe PostgreSQL JSON query builder for Prisma**\n\n</div>\n\n## Overview\n\nA universal query builder that extends Prisma's capabilities while preserving familiar WHERE and ORDER BY API. Generate parameterized SQL queries for PostgreSQL through `$queryRaw` with advanced JSON/JSONB operations that standard Prisma doesn't support.\n\n**Goal**: Replicate Prisma's query interface using `$queryRaw` while adding powerful JSON functionality.\n\n## Features\n\n- 🎯 **Prisma-compatible API** - Familiar `where` and `orderBy` syntax from Prisma\n- 🔍 **JSON Path queries** - Access nested data with `['key', 'nested']` or wildcard patterns\n- 🌟 **Wildcard support** - Query arrays with `*`, array indices `[0]`, `[-1]`\n- 🚀 **JSON sorting** - Order by nested JSON fields with type casting and aggregations\n- 🔧 **Extended filters** - All Prisma filters plus advanced JSON operations\n- 🔎 **Full-text search** - PostgreSQL FTS in JSON with language support and phrase matching\n- 🎨 **Logical operators** - AND, OR, NOT combinations just like Prisma\n- 📦 **Prisma native** - Uses `Prisma.Sql` for safe parameterized queries\n- ⚡ **Universal** - Works with any table structure, not schema-dependent\n\n## Prisma vs prisma-pg-json\n\n| Feature | Standard Prisma | This Library |\n|---------|----------------|--------------|\n| **Basic filters** | `contains`, `gt`, `gte`, `in`, etc. | ✅ Same API |\n| **Logical operators** | `AND`, `OR`, `NOT` | ✅ Same API |\n| **JSON field access** | `metadata: { path: ['key'], equals: 'value' }` | ✅ Same + wildcards |\n| **JSON array queries** | Limited | ✅ `path: ['tags', '*', 'name']` |\n| **Array indices** | ❌ Not supported | ✅ `path: ['items', 0]` or `'items[0]'` |\n| **Negative indices** | ❌ Not supported | ✅ `path: ['items', -1]` or `'items[-1]'` |\n| **JSON sorting** | ❌ Not supported | ✅ With type casting and aggregations |\n| **Full-text search** | ❌ Not in JSON | ✅ PostgreSQL FTS with language support |\n| **Wildcard paths** | ❌ Not supported | ✅ `'tags[*].name'` syntax |\n| **Path formats** | Array only | ✅ Array `['a', 'b']` or string `'a.b'` |\n| **Query method** | ORM methods | `$queryRaw` with generated SQL |\n\n## Installation\n\n```bash\nnpm install @revisium/prisma-pg-json\n```\n\n## Usage\n\n### Setup\n\nBefore using the library, you must configure it with your Prisma client:\n\n```typescript\nimport { configurePrisma } from '@revisium/prisma-pg-json';\nimport { Prisma } from '@prisma/client';\n\n// Configure once at application startup\nconfigurePrisma(Prisma);\n```\n\n> **Important**: Call `configurePrisma()` before using any query building functions. This allows the library to work with any Prisma client version and custom import paths.\n\n### buildQuery — Complete Query Builder\n\nFor simple cases, `buildQuery()` assembles a complete `SELECT ... WHERE ... ORDER BY ... LIMIT ... OFFSET` query in one call:\n\n```typescript\nimport { buildQuery, configurePrisma } from '@revisium/prisma-pg-json';\nimport { Prisma, PrismaClient } from '@prisma/client';\n\nconfigurePrisma(Prisma);\nconst prisma = new PrismaClient();\n\nconst sql = buildQuery({\n  tableName: 'users',\n  tableAlias: 'u',                // optional, defaults to first char of tableName\n  fields: ['id', 'name', 'age'],  // optional, defaults to ['*']\n  fieldConfig: {\n    name: 'string',\n    age: 'number',\n    isActive: 'boolean',\n    metadata: 'json',\n  },\n  where: {\n    name: { contains: 'john', mode: 'insensitive' },\n    age: { gte: 18 },\n    metadata: { path: 'role', equals: 'admin' },\n  },\n  orderBy: [\n    { age: 'desc' },\n    { metadata: { path: 'score', type: 'int', direction: 'asc' } },\n  ],\n  take: 20,   // default: 50\n  skip: 0,    // default: 0\n});\n\nconst results = await prisma.$queryRaw(sql);\n```\n\n### Core Functions — generateWhere & generateOrderBy\n\nFor more control (JOINs, CTEs, keyset pagination), use the individual functions to build SQL fragments:\n\n```typescript\nimport { generateWhere, generateOrderBy, FieldConfig } from '@revisium/prisma-pg-json';\nimport { PrismaClient, Prisma } from '@prisma/client';\nimport { configurePrisma } from '@revisium/prisma-pg-json';\n\n// Configure the library\nconfigurePrisma(Prisma);\n\nconst prisma = new PrismaClient();\n\n// Define your field types (FieldConfig maps field names to types)\nconst fieldConfig: FieldConfig = {\n  id: 'string',        // FieldType = 'string' | 'number' | 'boolean' | 'date' | 'json'\n  name: 'string',\n  age: 'number',\n  isActive: 'boolean',\n  createdAt: 'date',\n  metadata: 'json',\n};\n\n// Generate WHERE clause\nconst whereClause = generateWhere({\n  where: {\n    name: { contains: 'john', mode: 'insensitive' },\n    age: { gte: 18 },\n  },\n  fieldConfig,\n  tableAlias: 'u',\n});\n\n// Generate ORDER BY clause\nconst orderByClause = generateOrderBy({\n  orderBy: [\n    { name: 'asc' },\n    { createdAt: 'desc' }\n  ],\n  fieldConfig,\n  tableAlias: 'u',\n});\n\n// Use in raw SQL query\nconst query = Prisma.sql`\n  SELECT * FROM users u\n  WHERE ${whereClause}\n  ${orderByClause}\n`;\n\nconst results = await prisma.$queryRaw(query);\n```\n\n### JSON Path Queries\n\nAccess nested JSON data with flexible path syntax - use string or array notation:\n\n```typescript\nconst whereClause = generateWhere({\n  where: {\n    // Path as array (recommended for complex paths)\n    metadata: {\n      path: ['settings', 'theme'],\n      equals: 'dark'\n    },\n\n    // Path as string with dot notation\n    metadata: {\n      path: 'user.preferences.language',\n      equals: 'en'\n    },\n\n    // Array wildcard - matches any array element\n    metadata: {\n      path: ['tags', '*', 'name'],\n      string_contains: 'important'\n    },\n\n    // String path with wildcards\n    metadata: {\n      path: 'items[*].status',\n      equals: 'active'\n    },\n\n    // Array indices with array notation\n    metadata: {\n      path: ['items', 0, 'status'],\n      equals: 'active'\n    },\n\n    // Array indices with string notation\n    metadata: {\n      path: 'items[0].price',\n      gte: 100\n    },\n\n    // Negative indices (from end)\n    metadata: {\n      path: ['history', -1, 'action'],\n      equals: 'created'\n    },\n\n    // Negative indices with string notation\n    metadata: {\n      path: 'reviews[-1].rating',\n      gte: 4\n    },\n\n    // Array contains object\n    metadata: {\n      path: ['reviews'],\n      array_contains: { rating: 5, verified: true }\n    }\n  },\n  fieldConfig: { metadata: 'json' },\n  tableAlias: 't'\n});\n```\n\n### JSON Sorting\n\nSort by nested JSON fields with type casting and aggregations. When sorting by JSON arrays, use aggregations to determine sort value:\n\n**Supported types**: `text`, `int`, `float`, `boolean`, `timestamp`\n**Supported aggregations** (for JSON arrays): `min`, `max`, `avg`, `first`, `last`\n\n```typescript\nconst orderByClause = generateOrderBy({\n  orderBy: [\n    // Sort by nested JSON number (array path)\n    {\n      metadata: {\n        path: ['stats', 'score'],\n        direction: 'desc',\n        type: 'float'\n      }\n    },\n\n    // Sort by nested JSON date (string path)\n    {\n      metadata: {\n        path: 'timestamps.lastActivity',\n        direction: 'desc',\n        type: 'timestamp'\n      }\n    },\n\n    // Sort by array element (array notation)\n    {\n      metadata: {\n        path: ['priorities', 0],\n        direction: 'asc',\n        type: 'int'\n      }\n    },\n\n    // Sort by array element (string notation)\n    {\n      metadata: {\n        path: 'ratings[0].value',\n        direction: 'desc',\n        type: 'float'\n      }\n    },\n\n    // Sort by array aggregation - average\n    {\n      metadata: {\n        path: 'scores',\n        direction: 'desc',\n        type: 'float',\n        aggregation: 'avg'\n      }\n    },\n\n    // Sort by array aggregation - max value\n    {\n      metadata: {\n        path: ['reviews', '*', 'rating'],\n        direction: 'desc',\n        type: 'int',\n        aggregation: 'max'\n      }\n    },\n\n    // Sort by first element\n    {\n      metadata: {\n        path: 'tags',\n        direction: 'desc',\n        aggregation: 'first'\n      }\n    },\n\n    // Sort by last element\n    {\n      metadata: {\n        path: ['history', '*', 'timestamp'],\n        direction: 'desc',\n        type: 'timestamp',\n        aggregation: 'last'\n      }\n    }\n  ],\n  fieldConfig: { metadata: 'json' },\n  tableAlias: 't'\n});\n```\n\n### Filter Types\n\nComplete list of available filters for each field type:\n\n#### String Filters\n```typescript\nname: {\n  equals: 'john',              // Exact match\n  not: 'admin',                // Not equal\n  contains: 'john',            // Contains substring\n  startsWith: 'mr',            // Starts with\n  endsWith: 'gmail.com',       // Ends with\n  in: ['active', 'pending'],   // In array\n  notIn: ['deleted', 'banned'], // Not in array\n  mode: 'insensitive'          // Case-insensitive (works with contains, startsWith, endsWith)\n}\n```\n\n#### Number Filters\n```typescript\nage: {\n  equals: 25,                  // Exact match\n  not: 0,                      // Not equal\n  gt: 18,                      // Greater than\n  gte: 18,                     // Greater than or equal\n  lt: 65,                      // Less than\n  lte: 65,                     // Less than or equal\n  in: [18, 25, 30],           // In array\n  notIn: [0, 999]             // Not in array\n}\n```\n\n#### Boolean Filters\n```typescript\nisActive: true,                // Direct boolean value\nisDeleted: {\n  equals: false,               // Explicit equals\n  not: true                    // Not equal\n}\n```\n\n#### Date Filters\n```typescript\ncreatedAt: {\n  equals: new Date('2024-01-01'),  // Exact date\n  not: new Date('2024-01-01'),     // Not equal\n  gt: new Date('2024-01-01'),      // After date\n  gte: new Date('2024-01-01'),     // After or equal\n  lt: new Date('2025-01-01'),      // Before date\n  lte: new Date('2025-01-01'),     // Before or equal\n  in: [date1, date2],              // In array\n  notIn: [date3, date4]            // Not in array\n}\n```\n\n#### JSON Filters\n```typescript\nmetadata: {\n  path: ['config', 'enabled'],     // Required: JSON path (string | string[])\n\n  // Value comparisons\n  equals: true,                    // Exact match\n  not: false,                      // Not equal\n\n  // String operations (on JSON strings)\n  string_contains: 'text',         // Contains substring\n  string_starts_with: 'prefix',   // Starts with\n  string_ends_with: 'suffix',     // Ends with\n\n  // Full-text search (PostgreSQL FTS)\n  search: 'database performance',  // Full-text search with stemming\n  searchLanguage: 'english',       // Language config ('simple', 'english', 'russian', etc.)\n  searchType: 'plain',             // 'plain' (AND) or 'phrase' (exact phrase)\n  searchIn: 'values',              // 'all' (default), 'values', 'keys', 'strings', 'numbers', 'booleans'\n\n  // Number/Date operations (on JSON numbers/dates)\n  gt: 10,                          // Greater than\n  gte: 10,                         // Greater than or equal\n  lt: 100,                         // Less than\n  lte: 100,                        // Less than or equal\n\n  // Array operations (for JSON arrays)\n  array_contains: ['value1', 'value2'],    // Array contains ALL specified elements (always array)\n  array_starts_with: 'first_value',       // First array element equals value\n  array_ends_with: 'last_value',          // Last array element equals value\n\n  // Array/object membership\n  in: ['value1', 'value2'],        // Value in array\n  notIn: ['value3', 'value4'],     // Value not in array\n\n  // Case sensitivity (works with string operations)\n  mode: 'insensitive'              // Case-insensitive matching\n}\n```\n\n### Full-Text Search in JSON\n\nPostgreSQL full-text search (FTS) with support for different languages, search types, and recursive path searching:\n\n```typescript\nconst whereClause = generateWhere({\n  where: {\n    // Search across entire JSON document (root level)\n    metadata: {\n      path: '',  // or path: []\n      search: 'postgresql database',\n    },\n\n    // Search in specific field\n    metadata: {\n      path: 'content',\n      search: 'machine learning',\n    },\n\n    // Search in nested field\n    metadata: {\n      path: 'article.body',\n      search: 'artificial intelligence',\n    },\n\n    // Search in array (searches all elements recursively)\n    metadata: {\n      path: 'tags',\n      search: 'javascript',\n    },\n\n    // Search with specific language (better stemming)\n    metadata: {\n      path: 'description',\n      search: 'running quickly',\n      searchLanguage: 'english',  // 'simple', 'english', 'russian', 'french', etc.\n    },\n\n    // Phrase search (exact phrase match)\n    metadata: {\n      path: 'text',\n      search: 'full-text search',\n      searchType: 'phrase',  // words must appear in this exact order\n    },\n\n    // Plain search (default - all words must be present, AND logic)\n    metadata: {\n      path: 'content',\n      search: 'database performance',\n      searchType: 'plain',  // both 'database' AND 'performance' must be present\n    },\n\n    // Search only in values (exclude JSON keys from search)\n    metadata: {\n      path: '',\n      search: 'Anton',\n      searchIn: 'values',  // searches only values, not field names\n    },\n\n    // Search only in JSON keys (field names)\n    metadata: {\n      path: '',\n      search: 'username',\n      searchIn: 'keys',  // searches only field names\n    },\n\n    // Search only in string values\n    metadata: {\n      path: 'data',\n      search: 'text',\n      searchIn: 'strings',  // only string values\n    },\n\n    // Search only in numeric values\n    metadata: {\n      path: 'stats',\n      search: '42',\n      searchIn: 'numbers',  // only numeric values\n    },\n\n    // Search only in boolean values\n    metadata: {\n      path: 'flags',\n      search: 'true',\n      searchIn: 'booleans',  // only boolean values\n    },\n  },\n  fieldConfig: { metadata: 'json' },\n  tableAlias: 't'\n});\n```\n\n#### Search Behavior\n\n**Search Types:**\n- `plain` (default): Uses `plainto_tsquery` - all words must be present (AND logic)\n  - `'database performance'` → finds docs with both \"database\" AND \"performance\"\n- `phrase`: Uses `phraseto_tsquery` - exact phrase in order\n  - `'full text search'` → finds only exact phrase \"full text search\"\n\n**Search Languages:**\n- `'simple'` (default): No stemming, works with any language (UTF-8)\n- `'english'`: English stemming (running → run)\n- `'russian'`: Russian stemming\n- `'french'`, `'german'`, `'spanish'`, etc.: Language-specific stemming\n\n**Search Scope (`searchIn`):**\n- `'all'` (default): Searches in JSON keys + all values (strings, numbers, booleans)\n- `'values'`: Searches only in values (strings + numbers + booleans), excludes field names\n- `'keys'`: Searches only in JSON field names, excludes values\n- `'strings'`: Searches only in string values\n- `'numbers'`: Searches only in numeric values\n- `'booleans'`: Searches only in boolean values (`true`/`false`)\n\n**Note:** `null` values are not indexed by PostgreSQL FTS and cannot be searched.\n\n**Path Behavior:**\n- Searches are always **recursive** - searches the specified path and all nested levels\n- Empty path `''` or `[]`: searches entire JSON document\n- Specific path `'content'`: searches in that field and all nested structures\n- Array path `'tags'`: searches across all array elements recursively\n\n#### Examples\n\n```typescript\n// Find documents about \"PostgreSQL\" OR \"MySQL\" - use OR operator\n{\n  OR: [\n    { metadata: { path: '', search: 'PostgreSQL' } },\n    { metadata: { path: '', search: 'MySQL' } }\n  ]\n}\n\n// Find documents with \"database\" in title AND \"performance\" in content\n{\n  AND: [\n    { metadata: { path: 'title', search: 'database' } },\n    { metadata: { path: 'content', search: 'performance' } }\n  ]\n}\n\n// Combine FTS with other filters\n{\n  AND: [\n    { metadata: { path: '', search: 'javascript' } },\n    { metadata: { path: 'published', equals: true } },\n    { metadata: { path: 'rating', gte: 4 } }\n  ]\n}\n```\n\n### Logical Operators\n\nCombine filters with AND, OR, NOT:\n\n```typescript\nconst whereClause = generateWhere({\n  where: {\n    AND: [\n      { age: { gte: 18 } },\n      {\n        OR: [\n          { status: 'active' },\n          { priority: { gte: 5 } }\n        ]\n      }\n    ],\n    NOT: {\n      email: { contains: 'spam' }\n    }\n  },\n  fieldConfig,\n  tableAlias: 'u'\n});\n```\n\n## Advantages over Standard Prisma\n\n### JSON Path Operations\nStandard Prisma only supports simple JSON access. This library provides:\n\n- **Wildcard queries**: `tags[*].name` to search all array elements\n- **Array indices**: `items[0]`, `items[-1]` for specific positions\n- **Deep nesting**: Complex paths like `['user', 'settings', 'preferences', 'theme']`\n- **Array operations**: Check if arrays contain specific objects\n\n### JSON Sorting\nPrisma doesn't support sorting by JSON fields. This library enables:\n\n- Sort by nested JSON values with proper type casting\n- Multiple JSON sorts with different types (numeric, text, date)\n- Array element sorting\n\n### Keyset Pagination\n\nStandard OFFSET-based pagination loses rows when data has duplicate sort values or when rows are inserted/deleted between pages. Keyset (cursor-based) pagination solves this by using the last seen row's values to determine the starting point for the next page.\n\nThe library provides utilities for building keyset pagination with multi-column sort support:\n\n#### Cursor Encoding / Decoding\n\n```typescript\nimport {\n  Prisma,\n  encodeCursor,\n  decodeCursor,\n  computeSortHash,\n  extractCursorValues,\n  OrderByPart,\n} from '@revisium/prisma-pg-json';\n\n// OrderByPart describes each sort column\nconst parts: OrderByPart[] = [\n  {\n    expression: Prisma.sql`r.\"createdAt\"`,\n    direction: 'DESC',\n    fieldName: 'createdAt',\n    isJson: false,\n  },\n];\n\n// Compute a hash of the sort configuration (detects sort changes between pages)\nconst sortHash = computeSortHash(parts);\n\n// Extract cursor values from a row\nconst row = { createdAt: new Date('2025-01-01'), versionId: 'v-123' };\nconst values = extractCursorValues(row, parts);\n// → ['2025-01-01T00:00:00.000Z']\n\n// Encode into an opaque cursor string\nconst cursor = encodeCursor(values, 'v-123', sortHash);\n\n// Decode back\nconst decoded = decodeCursor(cursor);\n// → { values: ['2025-01-01T00:00:00.000Z'], tiebreaker: 'v-123', sortHash: '...' }\n```\n\n#### Building the WHERE Condition\n\n`buildKeysetCondition` generates a multi-column WHERE clause that skips past the cursor position. It handles mixed ASC/DESC directions and NULL values:\n\n```typescript\nimport { buildKeysetCondition } from '@revisium/prisma-pg-json';\n\nconst condition = buildKeysetCondition(\n  parts,                              // OrderByPart[] — sort columns\n  decoded.values,                     // cursor values from decodeCursor\n  decoded.tiebreaker,                 // tiebreaker value (e.g., row ID)\n  Prisma.sql`r.\"versionId\"`,          // tiebreaker SQL expression\n);\n\n// Use in your query\nconst query = Prisma.sql`\n  SELECT * FROM rows r\n  WHERE r.\"tableVersionId\" = ${tableVersionId}\n    AND ${condition}\n  ORDER BY r.\"createdAt\" DESC, r.\"versionId\" DESC\n  LIMIT ${take + 1}\n`;\n```\n\n#### Using with generateOrderByParts\n\n`generateOrderByParts` (from the ORDER BY module) produces the `OrderByPart[]` array needed by the keyset utilities:\n\n```typescript\nimport { generateOrderByParts } from '@revisium/prisma-pg-json';\n\nconst parts = generateOrderByParts({\n  tableAlias: 'r',\n  orderBy: [{ createdAt: 'desc' }, { data: { path: 'priority', type: 'int', direction: 'asc' } }],\n  fieldConfig: { createdAt: 'date', data: 'json' },\n});\n\nconst sortHash = computeSortHash(parts);\nconst cursorValues = extractCursorValues(lastRow, parts);\nconst cursor = encodeCursor(cursorValues, lastRow.id, sortHash);\n```\n\n### Universal Design\nWorks with any table structure - just define your field types and start querying.\n\n### Sub-Schema Queries\n\nQuery nested JSON structures across multiple tables using CTE-based SQL with wildcard array support. Designed for schemas where JSONB fields contain `$ref`-style references to other data.\n\n```typescript\nimport {\n  buildSubSchemaCte,\n  buildSubSchemaWhere,\n  buildSubSchemaOrderBy,\n  buildSubSchemaQuery,\n  buildSubSchemaCountQuery,\n  parsePath,\n  MAX_TAKE,\n  MAX_SKIP,\n} from '@revisium/prisma-pg-json';\n```\n\n#### Composable Functions\n\nBuild CTE, WHERE, and ORDER BY separately for full control:\n\n```typescript\n// 1. Build the CTE that extracts sub-schema items\nconst cte = buildSubSchemaCte({\n  tables: [\n    {\n      tableId: 'characters',\n      tableVersionId: 'ver_123',\n      paths: [\n        { path: 'avatar' },          // simple field\n        { path: 'gallery[*]' },      // array with wildcard\n        { path: 'items[*].image' },  // nested in array\n      ],\n    },\n  ],\n});\n\n// 2. Build WHERE clause\nconst whereClause = buildSubSchemaWhere({\n  where: {\n    tableId: 'characters',\n    data: { path: 'status', equals: 'uploaded' },\n  },\n  tableAlias: 's',  // optional, for JOINed queries\n});\n\n// 3. Build ORDER BY clause\nconst orderByClause = buildSubSchemaOrderBy({\n  orderBy: [{ rowId: 'asc' }, { fieldPath: 'asc' }],\n  tableAlias: 's',\n});\n\n// 4. Compose the final query\nconst query = Prisma.sql`\n  ${cte}\n  SELECT s.* FROM sub_schema_items s\n  ${whereClause}\n  ${orderByClause}\n  LIMIT 50 OFFSET 0\n`;\n```\n\n#### All-in-One Functions\n\nFor simple cases, `buildSubSchemaQuery` and `buildSubSchemaCountQuery` combine everything:\n\n```typescript\nconst query = buildSubSchemaQuery({\n  tables: [{ tableId: 'characters', tableVersionId: 'ver_123', paths: [{ path: 'avatar' }] }],\n  where: { data: { path: 'type', equals: 'image' } },\n  orderBy: [{ rowId: 'asc' }],\n  take: 50,\n  skip: 0,\n});\n\nconst countQuery = buildSubSchemaCountQuery({\n  tables: [{ tableId: 'characters', tableVersionId: 'ver_123', paths: [{ path: 'avatar' }] }],\n  where: { data: { path: 'type', equals: 'image' } },\n});\n```\n\n#### Path Format\n\nThe `path` field uses dot-notation for nested objects and `[*]` for arrays:\n\n| Path | Description | Generated SQL |\n|------|-------------|---------------|\n| `'avatar'` | Top-level field | `data->'avatar'` |\n| `'profile.photo'` | Nested object | `data->'profile'->'photo'` |\n| `'gallery[*]'` | Array elements | `jsonb_array_elements(data->'gallery')` |\n| `'items[*].image'` | Field inside array | CROSS JOIN LATERAL with element access |\n\n#### Pagination Limits\n\n- `MAX_TAKE = 10000` — maximum rows per page\n- `MAX_SKIP = 1000000` — maximum offset\n\n### Path Utilities\n\nParse, convert, and validate JSON path strings:\n\n```typescript\nimport { parseJsonPath, arrayToJsonPath, validateJsonPath } from '@revisium/prisma-pg-json';\n\n// Parse string path to array of segments\nparseJsonPath('user.profile.name')     // ['user', 'profile', 'name']\nparseJsonPath('items[0].price')        // ['items', '0', 'price']\nparseJsonPath('tags[*].name')          // ['tags', '*', 'name']\nparseJsonPath('items[-1]')             // ['items', 'last']\n\n// Convert array back to string path\narrayToJsonPath(['user', 'name'])        // 'user.name'\narrayToJsonPath(['items', '0', 'price']) // 'items[0].price'\narrayToJsonPath(['tags', '*', 'name'])   // 'tags[*].name'\n\n// Validate path syntax\nvalidateJsonPath('user.email')    // { isValid: true }\nvalidateJsonPath('items[')        // { isValid: false, error: 'Unclosed bracket in JSON path' }\nvalidateJsonPath('')              // { isValid: false, error: 'JSON path cannot be empty' }\n```\n\n`parseJsonPath` accepts both string and array input — if passed an array, it returns it unchanged.\n\n## Architecture\n\n```text\nsrc/\n├── index.ts                  # Public exports\n├── prisma-adapter.ts         # Proxy pattern — no direct @prisma/client dependency\n├── query-builder.ts          # buildQuery() — complete SELECT builder\n├── types.ts                  # Filter, OrderBy, FieldConfig types\n│\n├── where/                    # WHERE clause generation\n│   ├── string.ts             # String filters (equals, contains, startsWith, ...)\n│   ├── number.ts             # Number filters (gt, gte, lt, lte, in, ...)\n│   ├── boolean.ts            # Boolean filters (equals, not)\n│   ├── date.ts               # Date filters (gt, gte, lt, lte, in, ...)\n│   └── json/                 # JSON/JSONB filters — strategy pattern\n│       ├── json-filter.ts    # Entry point, path validation\n│       ├── operator-manager.ts  # Operator registry and routing\n│       ├── operators/        # 14 operator classes (equals, gt, search, ...)\n│       │   └── base-operator.ts # Abstract base class\n│       └── jsonpath/         # PostgreSQL jsonpath SQL helpers\n│\n├── orderBy/                  # ORDER BY clause generation\n│   └── generateOrderBy.ts    # generateOrderBy, generateOrderByClauses, generateOrderByParts\n│\n├── keyset/                   # Cursor-based pagination\n│   ├── cursor.ts             # encodeCursor, decodeCursor, computeSortHash, extractCursorValues\n│   └── condition.ts          # buildKeysetCondition — multi-column WHERE\n│\n├── sub-schema/               # CTE queries for nested JSON schemas\n│   ├── sub-schema-builder.ts # buildSubSchemaCte, buildSubSchemaWhere, buildSubSchemaOrderBy, ...\n│   └── types.ts              # SubSchemaTableConfig, SubSchemaWhereInput, ...\n│\n└── utils/\n    ├── parseJsonPath.ts      # parseJsonPath, arrayToJsonPath, validateJsonPath\n    └── sql-jsonpath.ts       # jsonb_path_exists SQL helpers\n```\n\n### Data Flow\n\n```text\nbuildQuery(options)\n  ├── generateWhere(where, fieldConfig, tableAlias)\n  │     ├── generateStringFilter(fieldRef, filter)\n  │     ├── generateNumberFilter(fieldRef, filter)\n  │     ├── generateBooleanFilter(fieldRef, filter)\n  │     ├── generateDateFilter(fieldRef, filter)\n  │     └── generateJsonFilter(fieldRef, filter)\n  │           └── OperatorManager → BaseOperator subclasses\n  │\n  ├── generateOrderBy(orderBy, fieldConfig, tableAlias)\n  │     └── processJsonOrder → type casting + aggregation subqueries\n  │\n  └── Prisma.sql`SELECT ... WHERE ... ORDER BY ... LIMIT ... OFFSET ...`\n```\n\n### Security Model\n\n- All user values parameterized via `Prisma.sql` tagged templates\n- `Prisma.raw()` used for SQL identifiers (table aliases, field names, sort directions) — validated at runtime against whitelists where applicable (`VALID_DIRECTIONS`, `VALID_TYPES`, `VALID_AGGREGATIONS`, `SEARCH_LANGUAGES`). Table/field names come from consumer-provided `fieldConfig`, not user input.\n- Path traversal (`..`) rejected in JSON path validation\n- 40+ SQL injection attack test scenarios\n\n## License\n\nMIT\n","readmeFilename":"README.md"}