{"_id":"thunder-schema","_rev":"28-cc82d58f8ef784c809e8b7b6b278d80e","name":"thunder-schema","dist-tags":{"latest":"1.0.29"},"versions":{"1.0.3":{"name":"thunder-schema","version":"1.0.3","keywords":["clickhouse","orm","typescript","database","migrations","clickhouse-orm","clicksy"],"author":{"name":"Aman Dugar"},"license":"ISC","_id":"thunder-schema@1.0.3","maintainers":[{"name":"amandugar","email":"amanamandugar@gmail.com"}],"homepage":"https://github.com/amandugar/clickhouse-orm#readme","bugs":{"url":"https://github.com/amandugar/clickhouse-orm/issues"},"dist":{"shasum":"308587081f1b64157ba1aee0116348ec4b6db94b","tarball":"https://registry.npmjs.org/thunder-schema/-/thunder-schema-1.0.3.tgz","fileCount":95,"integrity":"sha512-t1OT4b8iHE2yCsJCIvhwrXYtNFmzgdNioraaQMbZFj4fxuiMBp/lZK8+j2FEnyc4+aBovo6DL2DgJB3jyugcsQ==","signatures":[{"sig":"MEUCIQDm2XjEUBF+x5xs17iTAq9l+t72RKp1zzKLqyR6LOiI2wIgEeZVLdlUyyfW3Gdt/MIeLc3l5JSVOzmqUzNoT9zgJug=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":109969},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.17.1"},"gitHead":"f26c1a11889fac791e1ee994f56e494839d52cc1","scripts":{"lint":"eslint . --ext .ts","test":"jest --forceExit --config jest.config.js","build":"tsc","clean":"rimraf dist","format":"prettier --write \"src/**/*.ts\"","migrate":"ts-node src/cli/index.ts","prepare":"npm run clean && npm run build","test:watch":"jest --watch --config jest.config.js","test:coverage":"jest --coverage --config jest.config.js","makemigrations":"ts-node src/cli/index.ts","prepublishOnly":"npm test && npm run lint","readmigrations":"ts-node src/cli/index.ts"},"_npmUser":{"name":"amandugar","email":"amanamandugar@gmail.com"},"repository":{"url":"git+https://github.com/amandugar/clickhouse-orm.git","type":"git"},"_npmVersion":"10.8.2","description":"A TypeScript ORM for ClickHouse with migrations support","directories":{},"_nodeVersion":"20.19.0","dependencies":{"lodash":"^4.17.21","@clickhouse/client":"^1.11.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.0.0","rimraf":"^5.0.0","ts-jest":"^29.3.2","ts-node":"^10.9.2","prettier":"^3.0.0","typescript":"^5.0.0","@types/jest":"^29.5.14","@types/lodash":"^4.17.16","@tsconfig/node20":"^20.1.5","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/thunder-schema_1.0.3_1745221999600_0.2329554355834087","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"thunder-schema","version":"1.0.4","keywords":["clickhouse","orm","typescript","database","migrations","clickhouse-orm","clicksy"],"author":{"name":"Aman Dugar"},"license":"ISC","_id":"thunder-schema@1.0.4","maintainers":[{"name":"amandugar","email":"amanamandugar@gmail.com"}],"homepage":"https://github.com/amandugar/clickhouse-orm#readme","bugs":{"url":"https://github.com/amandugar/clickhouse-orm/issues"},"dist":{"shasum":"ad166cf5d9a4995577b17c68eb2ce3d8e3f8d7de","tarball":"https://registry.npmjs.org/thunder-schema/-/thunder-schema-1.0.4.tgz","fileCount":95,"integrity":"sha512-d/DbuGVo/ube9bMrkPIVk8uiugVsRCrXyYQIHdDNFC9jG+l2c7A+DaLN21VOKjPw86Tx8Tgrmc4pcg/5tDZZHA==","signatures":[{"sig":"MEUCIHGmuyeedi9v23jQfm2oyZOVe6/y1uINQu88zCxhyi3KAiEAoPr3K5uk8AJA3pzh3if15gicET+3jGRRCDJJFmH3JcQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":122966},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.17.1"},"gitHead":"28c2be15bdff509dcf127d17616321bece31a1e3","scripts":{"lint":"eslint . --ext .ts","test":"jest --forceExit --config jest.config.js","build":"tsc","clean":"rimraf dist","format":"prettier --write \"src/**/*.ts\"","migrate":"ts-node src/cli/index.ts","prepare":"npm run clean && npm run build","test:watch":"jest --watch --config jest.config.js","test:coverage":"jest --coverage --config jest.config.js","makemigrations":"ts-node src/cli/index.ts","prepublishOnly":"npm test && npm run lint","readmigrations":"ts-node src/cli/index.ts"},"_npmUser":{"name":"amandugar","email":"amanamandugar@gmail.com"},"repository":{"url":"git+https://github.com/amandugar/clickhouse-orm.git","type":"git"},"_npmVersion":"10.8.2","description":"A TypeScript ORM for ClickHouse with migrations support","directories":{},"_nodeVersion":"20.19.0","dependencies":{"lodash":"^4.17.21","@clickhouse/client":"^1.11.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.0.0","rimraf":"^5.0.0","ts-jest":"^29.3.2","ts-node":"^10.9.2","prettier":"^3.0.0","typescript":"^5.0.0","@types/jest":"^29.5.14","@types/lodash":"^4.17.16","@tsconfig/node20":"^20.1.5","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/thunder-schema_1.0.4_1745245285510_0.13159322118471395","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"thunder-schema","version":"1.0.5","keywords":["clickhouse","orm","typescript","database","migrations","clickhouse-orm","clicksy"],"author":{"name":"Aman Dugar"},"license":"ISC","_id":"thunder-schema@1.0.5","maintainers":[{"name":"amandugar","email":"amanamandugar@gmail.com"}],"homepage":"https://github.com/amandugar/clickhouse-orm#readme","bugs":{"url":"https://github.com/amandugar/clickhouse-orm/issues"},"dist":{"shasum":"a4bc908c90fbbffab5fcbef7abbc414c1fadcdea","tarball":"https://registry.npmjs.org/thunder-schema/-/thunder-schema-1.0.5.tgz","fileCount":99,"integrity":"sha512-e8JVE+z6gMs1zlbuf+EKmZj8EJsoEXsTpKJYf79fulCnWVKnpg7XECPWgE5e3oFfcjxIJpjz/b1QpuK5Yew5Hg==","signatures":[{"sig":"MEQCIAD+k4+oJWPWaRnfe8SzXr+/YKFCwl6++AerNS9y9xWoAiBNde3xKFHVRmjsjIfAKctWvFRi9aY8Sp9uZrQji2CBWA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":151582},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.17.1"},"gitHead":"0d0dbc68df7d0dce3ec594b45cea179ae7ceb25b","scripts":{"lint":"eslint . --ext .ts","test":"jest --forceExit --config jest.config.js","build":"tsc","clean":"rimraf dist","format":"prettier --write \"src/**/*.ts\"","migrate":"ts-node src/cli/index.ts","prepare":"npm run clean && npm run build","test:watch":"jest --watch --config jest.config.js","test:coverage":"jest --coverage --config jest.config.js","makemigrations":"ts-node src/cli/index.ts","prepublishOnly":"npm test && npm run lint","readmigrations":"ts-node src/cli/index.ts"},"_npmUser":{"name":"amandugar","email":"amanamandugar@gmail.com"},"repository":{"url":"git+https://github.com/amandugar/clickhouse-orm.git","type":"git"},"_npmVersion":"10.8.2","description":"A TypeScript ORM for ClickHouse with migrations support","directories":{},"_nodeVersion":"20.19.0","dependencies":{"crypto":"^1.0.1","lodash":"^4.17.21","@clickhouse/client":"^1.11.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.0.0","rimraf":"^5.0.0","ts-jest":"^29.3.2","ts-node":"^10.9.2","prettier":"^3.0.0","typescript":"^5.0.0","@types/jest":"^29.5.14","@types/lodash":"^4.17.16","@tsconfig/node20":"^20.1.5","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/thunder-schema_1.0.5_1745257783876_0.14063876550333498","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"thunder-schema","version":"1.0.6","keywords":["clickhouse","orm","typescript","database","migrations","clickhouse-orm","clicksy"],"author":{"name":"Aman Dugar"},"license":"ISC","_id":"thunder-schema@1.0.6","maintainers":[{"name":"amandugar","email":"amanamandugar@gmail.com"}],"homepage":"https://github.com/amandugar/clickhouse-orm#readme","bugs":{"url":"https://github.com/amandugar/clickhouse-orm/issues"},"dist":{"shasum":"389b4b1f41db2d59ba918649ea780fe1fb7c93cb","tarball":"https://registry.npmjs.org/thunder-schema/-/thunder-schema-1.0.6.tgz","fileCount":107,"integrity":"sha512-LIqWPd+RZrJHamwk3EPj1oG9gIi/sDuFDp/N5E70cMYzRjqphaNHqGg7lt/qKCB0N3NadjuiUe4ds19ztOahow==","signatures":[{"sig":"MEUCIHZuESXvDy0A1rzOqzR0yySMw2XRJ0Fy2UWAc+sxgQebAiEA6Tv6xJeX6qG191ciDiP4wC++kYkNk+henARm45ykP80=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":175772},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.17.1"},"gitHead":"5bc81296733ce14fb3156cc409bb1c90bb3e5a71","scripts":{"lint":"eslint . --ext .ts","test":"jest --forceExit --config jest.config.js","build":"tsc","clean":"rimraf dist","format":"prettier --write \"src/**/*.ts\"","migrate":"ts-node src/cli/index.ts","prepare":"npm run clean && npm run build","test:watch":"jest --watch --config jest.config.js","test:coverage":"jest --coverage --config jest.config.js","makemigrations":"ts-node src/cli/index.ts","prepublishOnly":"npm test && npm run lint","readmigrations":"ts-node src/cli/index.ts"},"_npmUser":{"name":"amandugar","email":"amanamandugar@gmail.com"},"repository":{"url":"git+https://github.com/amandugar/clickhouse-orm.git","type":"git"},"_npmVersion":"10.8.2","description":"A TypeScript ORM for ClickHouse with migrations support","directories":{},"_nodeVersion":"20.19.0","dependencies":{"crypto":"^1.0.1","lodash":"^4.17.21","@clickhouse/client":"^1.11.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.0.0","rimraf":"^5.0.0","ts-jest":"^29.3.2","ts-node":"^10.9.2","prettier":"^3.0.0","typescript":"^5.0.0","@types/jest":"^29.5.14","@types/lodash":"^4.17.16","@tsconfig/node20":"^20.1.5","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/thunder-schema_1.0.6_1745310717681_0.4377548379993004","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"thunder-schema","version":"1.0.7","keywords":["clickhouse","orm","typescript","database","migrations","clickhouse-orm","clicksy"],"author":{"name":"Aman Dugar"},"license":"ISC","_id":"thunder-schema@1.0.7","maintainers":[{"name":"amandugar","email":"amanamandugar@gmail.com"}],"homepage":"https://github.com/amandugar/clickhouse-orm#readme","bugs":{"url":"https://github.com/amandugar/clickhouse-orm/issues"},"dist":{"shasum":"3fa8f7cdfa1d111f881bd442a5736766a19fe6eb","tarball":"https://registry.npmjs.org/thunder-schema/-/thunder-schema-1.0.7.tgz","fileCount":3,"integrity":"sha512-LlJBezgjiUMbNz+PnUP0ujFslMYEr9B8eaGu+Zg7A/KHY6FaXSQCQ0rgAG8Tj82ej552sN1D4B9FaD5k/mP0FQ==","signatures":[{"sig":"MEUCIGYamxWyasefZz7Cm+PHwCk2d8+dAYyiJsNmgzxTXsIwAiEA0yF7euy/6u3dmVyOssrW9IcB02roFFk2JYsHPsk+3NE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28141},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.17.1"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"217a9f05f83b488953bd842a81d2de5d14d7708f","scripts":{"lint":"eslint . --ext .ts","test":"jest --forceExit --config jest.config.js","build":"tsc","clean":"rimraf dist","format":"prettier --write \"src/**/*.ts\"","migrate":"ts-node src/cli/index.ts","prepare":"npm run clean && npm run build","test:watch":"jest --watch --config jest.config.js","test:coverage":"jest --coverage --config jest.config.js","makemigrations":"ts-node src/cli/index.ts","prepublishOnly":"npm test && npm run lint","readmigrations":"ts-node src/cli/index.ts"},"_npmUser":{"name":"amandugar","email":"amanamandugar@gmail.com"},"repository":{"url":"git+https://github.com/amandugar/clickhouse-orm.git","type":"git"},"_npmVersion":"10.8.2","description":"A TypeScript ORM for ClickHouse with migrations support","directories":{},"_nodeVersion":"20.19.0","dependencies":{"crypto":"^1.0.1","lodash":"^4.17.21","@clickhouse/client":"^1.11.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.0.0","rimraf":"^5.0.0","ts-jest":"^29.3.2","ts-node":"^10.9.2","prettier":"^3.0.0","typescript":"^5.8.3","@types/jest":"^29.5.14","@types/lodash":"^4.17.16","@tsconfig/node20":"^20.1.5","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/thunder-schema_1.0.7_1745331387412_0.5798303724804699","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"thunder-schema","version":"1.0.8","keywords":["clickhouse","orm","typescript","database","migrations","clickhouse-orm","clicksy"],"author":{"name":"Aman Dugar"},"license":"ISC","_id":"thunder-schema@1.0.8","maintainers":[{"name":"amandugar","email":"amanamandugar@gmail.com"}],"homepage":"https://github.com/amandugar/clickhouse-orm#readme","bugs":{"url":"https://github.com/amandugar/clickhouse-orm/issues"},"dist":{"shasum":"b2d32d149f2c5aaf7d7d35ab6786d749dc2c365e","tarball":"https://registry.npmjs.org/thunder-schema/-/thunder-schema-1.0.8.tgz","fileCount":3,"integrity":"sha512-mGBqM/Hkpvgvr8itlQ0k+kCQhkOQkDrHvO3A15ir2lp7U/Xu6fj7VkIi3uwDRmTZkhw5hfQr3Qt2eXMB2AbYPQ==","signatures":[{"sig":"MEUCIQD6kMxP/XyAiobz/cecE9rS5exa8OtgSw+9YUJYPrF03QIgPFqtNTztlRv8jILCo7uRo1YTY2FrXfOOnn8Pbeuyez0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28006},"types":"dist/index.d.ts","engines":{"node":">=18.17.1"},"gitHead":"217a9f05f83b488953bd842a81d2de5d14d7708f","private":false,"scripts":{"lint":"eslint . --ext .ts","test":"jest --forceExit --config jest.config.js","build":"tsc","clean":"rimraf dist","format":"prettier --write \"src/**/*.ts\"","migrate":"ts-node src/cli/index.ts","prepare":"npm run clean && npm run build","test:watch":"jest --watch --config jest.config.js","test:coverage":"jest --coverage --config jest.config.js","makemigrations":"ts-node src/cli/index.ts","prepublishOnly":"npm test && npm run lint","readmigrations":"ts-node src/cli/index.ts"},"_npmUser":{"name":"amandugar","email":"amanamandugar@gmail.com"},"repository":{"url":"git+https://github.com/amandugar/clickhouse-orm.git","type":"git"},"workspaces":["src/*"],"_npmVersion":"10.8.2","description":"A TypeScript ORM for ClickHouse with migrations support","directories":{},"_nodeVersion":"20.19.0","dependencies":{"crypto":"^1.0.1","lodash":"^4.17.21","@clickhouse/client":"^1.11.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.0.0","rimraf":"^5.0.0","ts-jest":"^29.3.2","ts-node":"^10.9.2","prettier":"^3.0.0","typescript":"^5.8.3","@types/jest":"^29.5.14","@types/lodash":"^4.17.16","@tsconfig/node20":"^20.1.5","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/thunder-schema_1.0.8_1745334668286_0.8708361800751234","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"thunder-schema","version":"1.0.9","keywords":["clickhouse","orm","typescript","database","migrations","clickhouse-orm","clicksy"],"author":{"name":"Aman Dugar"},"license":"ISC","_id":"thunder-schema@1.0.9","maintainers":[{"name":"amandugar","email":"amanamandugar@gmail.com"}],"homepage":"https://github.com/amandugar/clickhouse-orm#readme","bugs":{"url":"https://github.com/amandugar/clickhouse-orm/issues"},"dist":{"shasum":"adf02989ebe666f33540783054d526e97d70f6ce","tarball":"https://registry.npmjs.org/thunder-schema/-/thunder-schema-1.0.9.tgz","fileCount":9,"integrity":"sha512-phRUkCDqjAg8Dy5l0GxCE9i/Hd6dB1gJ0s1mENFvP7gF3OPu0uQ2vLcRc0U+3JUb+M/Ht/86sMY2oB/plYk0wQ==","signatures":[{"sig":"MEYCIQDmOrhPkrZkRUDW965eSanMCCVh5f1djuOd6RMsjdjWgwIhAPh0g+jOUIhx8keI2zYYLQrsSmlVtXB07aSW8/9/kFo9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":348561},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.17.1"},"gitHead":"217a9f05f83b488953bd842a81d2de5d14d7708f","private":false,"scripts":{"lint":"eslint . --ext .ts","test":"jest --forceExit --config jest.config.js","build":"tsup","clean":"rimraf dist","format":"prettier --write \"src/**/*.ts\"","migrate":"ts-node src/cli/index.ts","prepare":"npm run clean && npm run build","test:watch":"jest --watch --config jest.config.js","test:coverage":"jest --coverage --config jest.config.js","makemigrations":"ts-node src/cli/index.ts","prepublishOnly":"npm test && npm run lint","readmigrations":"ts-node src/cli/index.ts"},"_npmUser":{"name":"amandugar","email":"amanamandugar@gmail.com"},"repository":{"url":"git+https://github.com/amandugar/clickhouse-orm.git","type":"git"},"workspaces":["src/*"],"_npmVersion":"10.8.2","description":"A TypeScript ORM for ClickHouse with migrations support","directories":{},"_nodeVersion":"20.19.0","dependencies":{"crypto":"^1.0.1","lodash":"^4.17.21","@clickhouse/client":"^1.11.1"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"jest":"^29.7.0","tsup":"^8.4.0","eslint":"^8.0.0","rimraf":"^5.0.0","ts-jest":"^29.3.2","ts-node":"^10.9.2","prettier":"^3.0.0","typescript":"^5.8.3","@types/jest":"^29.5.14","@types/lodash":"^4.17.16","@tsconfig/node20":"^20.1.5","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/thunder-schema_1.0.9_1745335420663_0.7283626781005987","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"thunder-schema","version":"1.0.10","keywords":["clickhouse","orm","typescript","database","migrations","clickhouse-orm","clicksy"],"author":{"name":"Aman Dugar"},"license":"ISC","_id":"thunder-schema@1.0.10","maintainers":[{"name":"amandugar","email":"amanamandugar@gmail.com"}],"homepage":"https://github.com/amandugar/clickhouse-orm#readme","bugs":{"url":"https://github.com/amandugar/clickhouse-orm/issues"},"bin":{"thunder-schema":"dist/cli/index.js"},"dist":{"shasum":"58a08a745cbee7642fa0540f6796ee1ddce849ba","tarball":"https://registry.npmjs.org/thunder-schema/-/thunder-schema-1.0.10.tgz","fileCount":15,"integrity":"sha512-G6wd0rweaDaHNpzkvtkzsDbyxjbgy0y8NwlUVQlycPTjXTNat8zXbTUD7l7O79tlYO7R8hVQRERdrE3M9HLvgQ==","signatures":[{"sig":"MEUCIAxvx3sZ+c+VBvNdAGit9DNLSBFVfN1LirwqiXce+RQYAiEAzfzdLIt7c9NMdKSRDJ7kpmwqsF27aQnMZ68Oj/qcycE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":714673},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.17.1"},"gitHead":"c434261a10b63a2fe9811a156b9ddaf8680b91d2","private":false,"scripts":{"lint":"eslint . --ext .ts","test":"jest --forceExit --config jest.config.js","build":"tsup && chmod +x dist/cli/index.js","clean":"rimraf dist","format":"prettier --write \"src/**/*.ts\"","migrate":"ts-node src/cli/index.ts","prepare":"npm run clean && npm run build","test:watch":"jest --watch --config jest.config.js","test:coverage":"jest --coverage --config jest.config.js","makemigrations":"ts-node src/cli/index.ts","prepublishOnly":"npm test && npm run lint","readmigrations":"ts-node src/cli/index.ts"},"_npmUser":{"name":"amandugar","email":"amanamandugar@gmail.com"},"repository":{"url":"git+https://github.com/amandugar/clickhouse-orm.git","type":"git"},"workspaces":["src/*"],"_npmVersion":"10.8.2","description":"A TypeScript ORM for ClickHouse with migrations support","directories":{},"_nodeVersion":"20.19.0","dependencies":{"path":"^0.12.7","crypto":"^1.0.1","lodash":"^4.17.21","@clickhouse/client":"^1.11.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.4.0","eslint":"^8.0.0","rimraf":"^5.0.0","ts-jest":"^29.3.2","ts-node":"^10.9.2","prettier":"^3.0.0","typescript":"^5.8.3","@types/jest":"^29.5.14","@types/lodash":"^4.17.16","@tsconfig/node20":"^20.1.5","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/thunder-schema_1.0.10_1745341361282_0.29990676423474305","host":"s3://npm-registry-packages-npm-production"}},"1.0.11":{"name":"thunder-schema","version":"1.0.11","keywords":["clickhouse","orm","typescript","database","migrations","clickhouse-orm","clicksy"],"author":{"name":"Aman Dugar"},"license":"ISC","_id":"thunder-schema@1.0.11","maintainers":[{"name":"amandugar","email":"amanamandugar@gmail.com"}],"homepage":"https://github.com/amandugar/clickhouse-orm#readme","bugs":{"url":"https://github.com/amandugar/clickhouse-orm/issues"},"bin":{"thunder-schema":"dist/cli/index.js"},"dist":{"shasum":"17d299c4de1ad2644179e54724613d98d22ccb48","tarball":"https://registry.npmjs.org/thunder-schema/-/thunder-schema-1.0.11.tgz","fileCount":15,"integrity":"sha512-giojv3Iznr3DK7PyGwcIei/2gJSyPY1UCT8dsftRVrVfLl6xPjp9zNuVbd/i3JuNbbUH0RNnTP4kMGLXh5ABFA==","signatures":[{"sig":"MEUCIBm/UErhU9mOjP6/rU8++sizv1P/DxlhaU0LYGDehJuYAiEAyaloyyxjObEMypHjKYHbwKQoatQGvXMJh93SOF91ZYQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":747136},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.17.1"},"gitHead":"e4122956b952eefd88358a7a47572c37e26fe48a","private":false,"scripts":{"lint":"eslint . --ext .ts","test":"jest --forceExit --config jest.config.js","build":"tsup && chmod +x dist/cli/index.js","clean":"rimraf dist","format":"prettier --write \"src/**/*.ts\"","migrate":"ts-node src/cli/index.ts","prepare":"npm run clean && npm run build","test:watch":"jest --watch --config jest.config.js","test:coverage":"jest --coverage --config jest.config.js","makemigrations":"ts-node src/cli/index.ts","prepublishOnly":"npm test && npm run lint","readmigrations":"ts-node src/cli/index.ts"},"_npmUser":{"name":"amandugar","email":"amanamandugar@gmail.com"},"repository":{"url":"git+https://github.com/amandugar/clickhouse-orm.git","type":"git"},"workspaces":["src/*"],"_npmVersion":"10.8.2","description":"A TypeScript ORM for ClickHouse with migrations support","directories":{},"_nodeVersion":"20.19.0","dependencies":{"path":"^0.12.7","crypto":"^1.0.1","lodash":"^4.17.21","import-fresh":"^3.3.1","@clickhouse/client":"^1.11.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.4.0","eslint":"^8.0.0","rimraf":"^5.0.0","ts-jest":"^29.3.2","ts-node":"^10.9.2","prettier":"^3.0.0","typescript":"^5.8.3","@types/jest":"^29.5.14","@types/lodash":"^4.17.16","@tsconfig/node20":"^20.1.5","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/thunder-schema_1.0.11_1745358368113_0.38445005454717074","host":"s3://npm-registry-packages-npm-production"}},"1.0.12":{"name":"thunder-schema","version":"1.0.12","keywords":["clickhouse","orm","typescript","database","migrations","clickhouse-orm","clicksy"],"author":{"name":"Aman Dugar"},"license":"ISC","_id":"thunder-schema@1.0.12","maintainers":[{"name":"amandugar","email":"amanamandugar@gmail.com"}],"homepage":"https://github.com/amandugar/clickhouse-orm#readme","bugs":{"url":"https://github.com/amandugar/clickhouse-orm/issues"},"bin":{"thunder-schema":"dist/cli/index.js"},"dist":{"shasum":"a62f37f2e57069f90f0d2a5d78c937c70357c5ed","tarball":"https://registry.npmjs.org/thunder-schema/-/thunder-schema-1.0.12.tgz","fileCount":6,"integrity":"sha512-9tgYFcwLxRbC77fkFETA5Q3rlp2GfFxHmO2snZRwKHy5tZuqQHtORpAOU0vzfpHUOQ8zbmFRBC+FBf1IUaLJnA==","signatures":[{"sig":"MEQCIEAH4dXjjhCdCzv5H6ikHYHX6fyB4S+OFD65QkAo96SvAiATC+pZN51TTgdVxVKhDa4KGKAuV7xsuwaiy27XWQP7cg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":101921},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.17.1"},"gitHead":"038f85840acf1ea0db1986467599c8310badf20e","private":false,"scripts":{"lint":"eslint . --ext .ts","test":"jest --forceExit --config jest.config.js","build":"tsup && chmod +x dist/cli/index.js","clean":"rimraf dist","format":"prettier --write \"src/**/*.ts\"","migrate":"ts-node src/cli/index.ts","prepare":"npm run clean && npm run build","test:watch":"jest --watch --config jest.config.js","test:coverage":"jest --coverage --config jest.config.js","makemigrations":"ts-node src/cli/index.ts","prepublishOnly":"npm test && npm run lint","readmigrations":"ts-node src/cli/index.ts"},"_npmUser":{"name":"amandugar","email":"amanamandugar@gmail.com"},"repository":{"url":"git+https://github.com/amandugar/clickhouse-orm.git","type":"git"},"workspaces":["src/*"],"_npmVersion":"10.8.2","description":"A TypeScript ORM for ClickHouse with migrations support","directories":{},"_nodeVersion":"20.19.0","dependencies":{"path":"^0.12.7","@clickhouse/client":"^1.11.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.4.0","eslint":"^8.0.0","rimraf":"^5.0.0","ts-jest":"^29.3.2","ts-node":"^10.9.2","prettier":"^3.0.0","@types/jest":"^29.5.14","@tsconfig/node20":"^20.1.5","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/thunder-schema_1.0.12_1745390280602_0.5262893472682564","host":"s3://npm-registry-packages-npm-production"}},"1.0.14":{"name":"thunder-schema","version":"1.0.14","keywords":["clickhouse","orm","typescript","database","migrations","clickhouse-orm","clicksy"],"author":{"name":"Aman Dugar"},"license":"ISC","_id":"thunder-schema@1.0.14","maintainers":[{"name":"amandugar","email":"amanamandugar@gmail.com"}],"homepage":"https://github.com/amandugar/clickhouse-orm#readme","bugs":{"url":"https://github.com/amandugar/clickhouse-orm/issues"},"bin":{"thunder-schema":"dist/cli/index.js"},"dist":{"shasum":"0697df016c13a02222cf16f03d9646db78bae92c","tarball":"https://registry.npmjs.org/thunder-schema/-/thunder-schema-1.0.14.tgz","fileCount":6,"integrity":"sha512-ohSVn2GGieG/wTXOJMbg5ngmm8YdNSi7dOgAkQhAkgkTyi2YEjYFANyGe1rF7TX4V3XvuT6vfV/u34Ynzth5TA==","signatures":[{"sig":"MEQCICLgwxuuIoO5ksdnD+fIYEo42QodJ9kOBVp8fQlmwoCJAiAT+xkGuqIkv7JpLSt3fD9v64aRCI3qvvxvcnjoTfrdoQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":112528},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.17.1"},"gitHead":"faa39544702f4d81b918cc7bf385f2ca92b3169a","private":false,"scripts":{"lint":"eslint . --ext .ts","test":"jest --forceExit --config jest.config.js","build":"tsup && chmod +x dist/cli/index.js","clean":"rimraf dist","format":"prettier --write \"src/**/*.ts\"","migrate":"ts-node src/cli/index.ts","prepare":"npm run clean && npm run build","test:watch":"jest --watch --config jest.config.js","test:coverage":"jest --coverage --config jest.config.js","makemigrations":"ts-node src/cli/index.ts","prepublishOnly":"npm test && npm run lint","readmigrations":"ts-node src/cli/index.ts"},"_npmUser":{"name":"amandugar","email":"amanamandugar@gmail.com"},"repository":{"url":"git+https://github.com/amandugar/clickhouse-orm.git","type":"git"},"workspaces":["src/*"],"_npmVersion":"10.8.2","description":"A TypeScript ORM for ClickHouse with migrations support","directories":{},"_nodeVersion":"20.19.0","dependencies":{"path":"^0.12.7","@clickhouse/client":"^1.11.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.4.0","eslint":"^8.0.0","rimraf":"^5.0.0","ts-jest":"^29.3.2","ts-node":"^10.9.2","prettier":"^3.0.0","@types/jest":"^29.5.14","@tsconfig/node20":"^20.1.5","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^8.31.0","@typescript-eslint/eslint-plugin":"^8.31.0"},"_npmOperationalInternal":{"tmp":"tmp/thunder-schema_1.0.14_1745861901765_0.5255496925046947","host":"s3://npm-registry-packages-npm-production"}},"1.0.15":{"name":"thunder-schema","version":"1.0.15","keywords":["clickhouse","orm","typescript","database","migrations","clickhouse-orm","clicksy"],"author":{"name":"Aman Dugar"},"license":"ISC","_id":"thunder-schema@1.0.15","maintainers":[{"name":"amandugar","email":"amanamandugar@gmail.com"}],"homepage":"https://github.com/amandugar/clickhouse-orm#readme","bugs":{"url":"https://github.com/amandugar/clickhouse-orm/issues"},"bin":{"thunder-schema":"dist/cli/index.js"},"dist":{"shasum":"6f0a3470c5744a096269fb9864da5368c239b845","tarball":"https://registry.npmjs.org/thunder-schema/-/thunder-schema-1.0.15.tgz","fileCount":6,"integrity":"sha512-gPxBQfMDMKNesWCv0zIZ2aBQqwOWUmXjheKLK3Bq0cQ8I6tslg7p4zcYY3GwGYJtHdutoC2AYmStUl9w4k5Daw==","signatures":[{"sig":"MEQCIAqoC5tcya3RRoyOTXNV3aLyCHnjjwukEQ6ikUbnj2kJAiANCgAnaYbAT7Z6PJesZC/OW1nCTltMJ7PjomUjEspt6Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":112533},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.17.1"},"gitHead":"faa39544702f4d81b918cc7bf385f2ca92b3169a","private":false,"scripts":{"lint":"eslint . --ext .ts","test":"jest --forceExit --config jest.config.js","build":"tsup && chmod +x dist/cli/index.js","clean":"rimraf dist","format":"prettier --write \"src/**/*.ts\"","migrate":"ts-node src/cli/index.ts","prepare":"npm run clean && npm run build","test:watch":"jest --watch --config jest.config.js","test:coverage":"jest --coverage --config jest.config.js","makemigrations":"ts-node src/cli/index.ts","prepublishOnly":"npm test && npm run lint","readmigrations":"ts-node src/cli/index.ts"},"_npmUser":{"name":"amandugar","email":"amanamandugar@gmail.com"},"repository":{"url":"git+https://github.com/amandugar/clickhouse-orm.git","type":"git"},"workspaces":["src/*"],"_npmVersion":"10.8.2","description":"A TypeScript ORM for ClickHouse with migrations support","directories":{},"_nodeVersion":"20.19.0","dependencies":{"path":"^0.12.7","@clickhouse/client":"^1.11.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.4.0","eslint":"^8.0.0","rimraf":"^5.0.0","ts-jest":"^29.3.2","ts-node":"^10.9.2","prettier":"^3.0.0","@types/jest":"^29.5.14","@tsconfig/node20":"^20.1.5","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^8.31.0","@typescript-eslint/eslint-plugin":"^8.31.0"},"_npmOperationalInternal":{"tmp":"tmp/thunder-schema_1.0.15_1746527719096_0.07713572531350388","host":"s3://npm-registry-packages-npm-production"}},"1.0.16":{"name":"thunder-schema","version":"1.0.16","keywords":["clickhouse","orm","typescript","database","migrations","clickhouse-orm","clicksy"],"author":{"name":"Aman Dugar"},"license":"ISC","_id":"thunder-schema@1.0.16","maintainers":[{"name":"amandugar","email":"amanamandugar@gmail.com"}],"homepage":"https://github.com/amandugar/clickhouse-orm#readme","bugs":{"url":"https://github.com/amandugar/clickhouse-orm/issues"},"bin":{"thunder-schema":"dist/cli/index.js"},"dist":{"shasum":"281d375e1f0b4e002cbbec8aeb446454d6fda08c","tarball":"https://registry.npmjs.org/thunder-schema/-/thunder-schema-1.0.16.tgz","fileCount":6,"integrity":"sha512-UfFgTslOgiU1y5NLtDKNj1WLQxl1YwstJn6qtABrCJb241XkH/nl3/QCd/M1W+Ctn21GqrHsamp+WmbYVXNA3g==","signatures":[{"sig":"MEUCIQDX81lOnUCVoTpkQrm0hNWjFjB8uyFKHnDQbH31Q47QNQIgcMAeWPuJ49pSiyAnwXtYwuR4gEXzW5mpSa9QB5imwFg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":112675},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.17.1"},"gitHead":"faa39544702f4d81b918cc7bf385f2ca92b3169a","private":false,"scripts":{"lint":"eslint . --ext .ts","test":"jest --forceExit --config jest.config.js","build":"tsup && chmod +x dist/cli/index.js","clean":"rimraf dist","format":"prettier --write \"src/**/*.ts\"","migrate":"ts-node src/cli/index.ts","prepare":"npm run clean && npm run build","test:watch":"jest --watch --config jest.config.js","test:coverage":"jest --coverage --config jest.config.js","makemigrations":"ts-node src/cli/index.ts","prepublishOnly":"npm test && npm run lint","readmigrations":"ts-node src/cli/index.ts"},"_npmUser":{"name":"amandugar","email":"amanamandugar@gmail.com"},"repository":{"url":"git+https://github.com/amandugar/clickhouse-orm.git","type":"git"},"workspaces":["src/*"],"_npmVersion":"10.8.2","description":"A TypeScript ORM for ClickHouse with migrations support","directories":{},"_nodeVersion":"20.19.0","dependencies":{"path":"^0.12.7","@clickhouse/client":"^1.11.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.4.0","eslint":"^8.0.0","rimraf":"^5.0.0","ts-jest":"^29.3.2","ts-node":"^10.9.2","prettier":"^3.0.0","@types/jest":"^29.5.14","@tsconfig/node20":"^20.1.5","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^8.31.0","@typescript-eslint/eslint-plugin":"^8.31.0"},"_npmOperationalInternal":{"tmp":"tmp/thunder-schema_1.0.16_1746528806401_0.7156776675731125","host":"s3://npm-registry-packages-npm-production"}},"1.0.17":{"name":"thunder-schema","version":"1.0.17","keywords":["clickhouse","orm","typescript","database","migrations","clickhouse-orm","clicksy"],"author":{"name":"Aman Dugar"},"license":"ISC","_id":"thunder-schema@1.0.17","maintainers":[{"name":"amandugar","email":"amanamandugar@gmail.com"}],"homepage":"https://github.com/amandugar/clickhouse-orm#readme","bugs":{"url":"https://github.com/amandugar/clickhouse-orm/issues"},"bin":{"thunder-schema":"dist/cli/index.js"},"dist":{"shasum":"f457aea58ea773cd40330b8f49a1ae7aadf45d25","tarball":"https://registry.npmjs.org/thunder-schema/-/thunder-schema-1.0.17.tgz","fileCount":6,"integrity":"sha512-CXnKIybg93pvPY0yjdT7506fDlOP96w+bNGfS7BJpM0GVjYVL6BqhsnMgAefW+aFCHRIJU6f/i/4qXPkwtAFZA==","signatures":[{"sig":"MEQCIEj7cMRsiv+O24PVzkYUC5GUU4z0qfe4SKoyuwL0HrWmAiBNr0Y4FNq8TYJM7VcJ5EirLFTJ7STvwtiJttgBhgr4Ug==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":113162},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.17.1"},"gitHead":"66d1366227a83ead0da55400e464e8d876282cbb","private":false,"scripts":{"lint":"eslint . --ext .ts","test":"jest --forceExit --config jest.config.js","build":"tsup && chmod +x dist/cli/index.js","clean":"rimraf dist","format":"prettier --write \"src/**/*.ts\"","migrate":"ts-node src/cli/index.ts","prepare":"npm run clean && npm run build","test:watch":"jest --watch --config jest.config.js","test:coverage":"jest --coverage --config jest.config.js","makemigrations":"ts-node src/cli/index.ts","prepublishOnly":"npm test && npm run lint","readmigrations":"ts-node src/cli/index.ts"},"_npmUser":{"name":"amandugar","email":"amanamandugar@gmail.com"},"repository":{"url":"git+https://github.com/amandugar/clickhouse-orm.git","type":"git"},"workspaces":["src/*"],"_npmVersion":"10.8.2","description":"A TypeScript ORM for ClickHouse with migrations support","directories":{},"_nodeVersion":"20.19.0","dependencies":{"path":"^0.12.7","@clickhouse/client":"^1.11.1"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"jest":"^29.7.0","tsup":"^8.4.0","eslint":"^8.0.0","rimraf":"^5.0.0","ts-jest":"^29.3.2","ts-node":"^10.9.2","prettier":"^3.0.0","@types/jest":"^29.5.14","@tsconfig/node20":"^20.1.5","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^8.31.0","@typescript-eslint/eslint-plugin":"^8.31.0"},"_npmOperationalInternal":{"tmp":"tmp/thunder-schema_1.0.17_1746533587477_0.6740372721200962","host":"s3://npm-registry-packages-npm-production"}},"1.0.18":{"name":"thunder-schema","version":"1.0.18","keywords":["clickhouse","orm","typescript","database","migrations","clickhouse-orm","clicksy"],"author":{"name":"Aman Dugar"},"license":"ISC","_id":"thunder-schema@1.0.18","maintainers":[{"name":"amandugar","email":"amanamandugar@gmail.com"}],"homepage":"https://github.com/amandugar/clickhouse-orm#readme","bugs":{"url":"https://github.com/amandugar/clickhouse-orm/issues"},"bin":{"thunder-schema":"dist/cli/index.js"},"dist":{"shasum":"16e4948ddd95da4a0da9d2028964166f1204bc31","tarball":"https://registry.npmjs.org/thunder-schema/-/thunder-schema-1.0.18.tgz","fileCount":6,"integrity":"sha512-EqUd0utWS557z6+ixukst5Snw9GhlPmDZ+BWt+bE0Pl9CScQEjpweBOUWV9x7eBcykssNQ7eRQe+hCQpGwiW7w==","signatures":[{"sig":"MEYCIQDPLl96I+Om1LAP4b2WC8qaLvtnDuINHaG1URaxLnphtgIhAPbopvNiMqUFzfBd01wbXR2rmuEq3HIUk/FjPPxfrld4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":112847},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.17.1"},"gitHead":"476af13fbb7d8afb29b2ecb8c3aca3d8e4ee33be","private":false,"scripts":{"lint":"eslint . --ext .ts","test":"jest --forceExit --config jest.config.js","build":"tsup && chmod +x dist/cli/index.js","clean":"rimraf dist","format":"prettier --write \"src/**/*.ts\"","migrate":"ts-node src/cli/index.ts","prepare":"npm run clean && npm run build","test:watch":"jest --watch --config jest.config.js","test:coverage":"jest --coverage --config jest.config.js","makemigrations":"ts-node src/cli/index.ts","prepublishOnly":"npm test && npm run lint","readmigrations":"ts-node src/cli/index.ts"},"_npmUser":{"name":"amandugar","email":"amanamandugar@gmail.com"},"repository":{"url":"git+https://github.com/amandugar/clickhouse-orm.git","type":"git"},"workspaces":["src/*"],"_npmVersion":"10.8.2","description":"A TypeScript ORM for ClickHouse with migrations support","directories":{},"_nodeVersion":"20.19.0","dependencies":{"path":"^0.12.7","@clickhouse/client":"^1.11.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.4.0","eslint":"^8.0.0","rimraf":"^5.0.0","ts-jest":"^29.3.2","ts-node":"^10.9.2","prettier":"^3.0.0","@types/jest":"^29.5.14","@tsconfig/node20":"^20.1.5","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^8.31.0","@typescript-eslint/eslint-plugin":"^8.31.0"},"_npmOperationalInternal":{"tmp":"tmp/thunder-schema_1.0.18_1746537262041_0.2570346297371078","host":"s3://npm-registry-packages-npm-production"}},"1.0.19":{"name":"thunder-schema","version":"1.0.19","keywords":["clickhouse","orm","typescript","database","migrations","clickhouse-orm","clicksy"],"author":{"name":"Aman Dugar"},"license":"ISC","_id":"thunder-schema@1.0.19","maintainers":[{"name":"amandugar","email":"amanamandugar@gmail.com"}],"homepage":"https://github.com/amandugar/clickhouse-orm#readme","bugs":{"url":"https://github.com/amandugar/clickhouse-orm/issues"},"bin":{"thunder-schema":"dist/cli/index.js"},"dist":{"shasum":"b9518e066b2084c72ea91c3374bc7c18d4fa89e8","tarball":"https://registry.npmjs.org/thunder-schema/-/thunder-schema-1.0.19.tgz","fileCount":6,"integrity":"sha512-eePvF+pAOp5r0WvtRz9qfQIxVGnyp7o8VUAQ+vT25jGcxDyfN0/dZ3CBuUrFCwrRs7nQ7+Cc1US8RRK51TFTjQ==","signatures":[{"sig":"MEUCIQC1asR/rlnzQt5Zq918Gk6nzROLo8waeqB+fmvzt2ZqXAIgATz7RnrQe1cUNXr2UxgSOhgQq7gXXf2n6gCC0k6eASM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":113041},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.17.1"},"gitHead":"d3285d69b468ae266d65b7b8c57d335fe59ccf45","private":false,"scripts":{"lint":"eslint . --ext .ts","test":"jest --forceExit --config jest.config.js","build":"tsup && chmod +x dist/cli/index.js","clean":"rimraf dist","format":"prettier --write \"src/**/*.ts\"","migrate":"ts-node src/cli/index.ts","prepare":"npm run clean && npm run build","test:watch":"jest --watch --config jest.config.js","test:coverage":"jest --coverage --config jest.config.js","makemigrations":"ts-node src/cli/index.ts","prepublishOnly":"npm test && npm run lint","readmigrations":"ts-node src/cli/index.ts"},"_npmUser":{"name":"amandugar","email":"amanamandugar@gmail.com"},"repository":{"url":"git+https://github.com/amandugar/clickhouse-orm.git","type":"git"},"workspaces":["src/*"],"_npmVersion":"10.8.2","description":"A TypeScript ORM for ClickHouse with migrations support","directories":{},"_nodeVersion":"20.19.0","dependencies":{"path":"^0.12.7","@clickhouse/client":"^1.11.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.4.0","eslint":"^8.0.0","rimraf":"^5.0.0","ts-jest":"^29.3.2","ts-node":"^10.9.2","prettier":"^3.0.0","@types/jest":"^29.5.14","@tsconfig/node20":"^20.1.5","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^8.31.0","@typescript-eslint/eslint-plugin":"^8.31.0"},"_npmOperationalInternal":{"tmp":"tmp/thunder-schema_1.0.19_1747929718308_0.741436822655354","host":"s3://npm-registry-packages-npm-production"}},"1.0.20":{"name":"thunder-schema","version":"1.0.20","keywords":["clickhouse","orm","typescript","database","migrations","clickhouse-orm","clicksy"],"author":{"name":"Aman Dugar"},"license":"ISC","_id":"thunder-schema@1.0.20","maintainers":[{"name":"amandugar","email":"amanamandugar@gmail.com"}],"homepage":"https://github.com/amandugar/clickhouse-orm#readme","bugs":{"url":"https://github.com/amandugar/clickhouse-orm/issues"},"bin":{"thunder-schema":"dist/cli/index.js"},"dist":{"shasum":"5c0e46003c10104fd5b9e073c6ba43ca6ea8e0dc","tarball":"https://registry.npmjs.org/thunder-schema/-/thunder-schema-1.0.20.tgz","fileCount":6,"integrity":"sha512-TDB1oTuS/sdv+DeYoXEj+ShbcjyVbchYkvI/+pQilYA1zWkrVEk1dbq0I/SjEg4y7L9y/23CdiL1j5xtmuneNQ==","signatures":[{"sig":"MEUCIGskXiJ4pV7v5BINZgP3t46YSCCuKlYApxjQk1G2JN7qAiEAjNhzwQ7TwISgoNPpkN1BsPUcv1SP5NLKav19OjnMEs0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":113376},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.17.1"},"gitHead":"66e7489ef096d677689f761c36002b78849062b7","private":false,"scripts":{"lint":"eslint . --ext .ts","test":"jest --forceExit --config jest.config.js","build":"tsup && chmod +x dist/cli/index.js","clean":"rimraf dist","format":"prettier --write \"src/**/*.ts\"","migrate":"ts-node src/cli/index.ts","prepare":"npm run clean && npm run build","test:watch":"jest --watch --config jest.config.js","test:coverage":"jest --coverage --config jest.config.js","makemigrations":"ts-node src/cli/index.ts","prepublishOnly":"npm test && npm run lint","readmigrations":"ts-node src/cli/index.ts"},"_npmUser":{"name":"amandugar","email":"amanamandugar@gmail.com"},"repository":{"url":"git+https://github.com/amandugar/clickhouse-orm.git","type":"git"},"workspaces":["src/*"],"_npmVersion":"10.8.2","description":"A TypeScript ORM for ClickHouse with migrations support","directories":{},"_nodeVersion":"20.19.0","dependencies":{"path":"^0.12.7","@clickhouse/client":"^1.11.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.4.0","eslint":"^8.0.0","rimraf":"^5.0.0","ts-jest":"^29.3.2","ts-node":"^10.9.2","prettier":"^3.0.0","@types/jest":"^29.5.14","@tsconfig/node20":"^20.1.5","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^8.31.0","@typescript-eslint/eslint-plugin":"^8.31.0"},"_npmOperationalInternal":{"tmp":"tmp/thunder-schema_1.0.20_1747935176053_0.9480130713275794","host":"s3://npm-registry-packages-npm-production"}},"1.0.21":{"name":"thunder-schema","version":"1.0.21","keywords":["clickhouse","orm","typescript","database","migrations","clickhouse-orm","clicksy"],"author":{"name":"Aman Dugar"},"license":"ISC","_id":"thunder-schema@1.0.21","maintainers":[{"name":"amandugar","email":"amanamandugar@gmail.com"}],"homepage":"https://github.com/amandugar/clickhouse-orm#readme","bugs":{"url":"https://github.com/amandugar/clickhouse-orm/issues"},"bin":{"thunder-schema":"dist/cli/index.js"},"dist":{"shasum":"f95a7f5a2c3bd9faa40beec5d9b3febee7ccbc2f","tarball":"https://registry.npmjs.org/thunder-schema/-/thunder-schema-1.0.21.tgz","fileCount":6,"integrity":"sha512-/A9BbjxLqivWIv1BgmcVHizKBQWJqiu0kQzFXFFSJWcqszn2iwGwlg1BKEoQDbZBfjupuYoX1KFQ+a7oQgcTuA==","signatures":[{"sig":"MEUCIQCPYq4OB5tiktPl9unuijJpPmQypvEJfe9qipn5ypbJtAIgMArVKfqaJ2SxgRv0fWa/hiullpUWx6Na6m51OPnvBcQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":114257},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.17.1"},"gitHead":"c3b022dbf607d5a6f2ba2e65b3f7484c2adfc26b","private":false,"scripts":{"lint":"eslint . --ext .ts","test":"jest --forceExit --config jest.config.js","build":"tsup && chmod +x dist/cli/index.js","clean":"rimraf dist","format":"prettier --write \"src/**/*.ts\"","migrate":"ts-node src/cli/index.ts","prepare":"npm run clean && npm run build","test:watch":"jest --watch --config jest.config.js","test:coverage":"jest --coverage --config jest.config.js","makemigrations":"ts-node src/cli/index.ts","prepublishOnly":"npm test && npm run lint","readmigrations":"ts-node src/cli/index.ts"},"_npmUser":{"name":"amandugar","email":"amanamandugar@gmail.com"},"repository":{"url":"git+https://github.com/amandugar/clickhouse-orm.git","type":"git"},"workspaces":["src/*"],"_npmVersion":"10.8.2","description":"A TypeScript ORM for ClickHouse with migrations support","directories":{},"_nodeVersion":"20.19.0","dependencies":{"path":"^0.12.7","@clickhouse/client":"^1.11.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.4.0","eslint":"^8.0.0","rimraf":"^5.0.0","ts-jest":"^29.3.2","ts-node":"^10.9.2","prettier":"^3.0.0","@types/jest":"^29.5.14","@tsconfig/node20":"^20.1.5","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^8.31.0","@typescript-eslint/eslint-plugin":"^8.31.0"},"_npmOperationalInternal":{"tmp":"tmp/thunder-schema_1.0.21_1747988193359_0.22232448406962657","host":"s3://npm-registry-packages-npm-production"}},"1.0.22":{"name":"thunder-schema","version":"1.0.22","keywords":["clickhouse","orm","typescript","database","migrations","clickhouse-orm","clicksy"],"author":{"name":"Aman Dugar"},"license":"ISC","_id":"thunder-schema@1.0.22","maintainers":[{"name":"amandugar","email":"amanamandugar@gmail.com"}],"homepage":"https://github.com/amandugar/clickhouse-orm#readme","bugs":{"url":"https://github.com/amandugar/clickhouse-orm/issues"},"bin":{"thunder-schema":"dist/cli/index.js"},"dist":{"shasum":"62e8f23d1fc875a7d64b438db173ffcb346a9fcb","tarball":"https://registry.npmjs.org/thunder-schema/-/thunder-schema-1.0.22.tgz","fileCount":6,"integrity":"sha512-CN/G4Q+xEUZZNTQoLzLs+Bvyi3gmJitnJ4c8RWA++KGpAtfJJD9RwY+NQIvfoye7B6hL3gnxiruk/Rn+EsX+Aw==","signatures":[{"sig":"MEYCIQDkA8D0JWWlzg11PEGIcLcKK3T9XmmY5M+SQAICghh1FwIhANDN7rsB9emY55W/eLSTMV6NCRycLqi4oFm+bYMhchuz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":119912},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.17.1"},"gitHead":"eea44ad5ac8d432f4216a238d21e8ba136ff0d77","private":false,"scripts":{"lint":"eslint . --ext .ts","test":"jest --forceExit --config jest.config.js","build":"tsup && chmod +x dist/cli/index.js","clean":"rimraf dist","format":"prettier --write \"src/**/*.ts\"","migrate":"ts-node src/cli/index.ts","prepare":"npm run clean && npm run build","test:watch":"jest --watch --config jest.config.js","test:coverage":"jest --coverage --config jest.config.js","makemigrations":"ts-node src/cli/index.ts","prepublishOnly":"npm test && npm run lint","readmigrations":"ts-node src/cli/index.ts"},"_npmUser":{"name":"amandugar","email":"amanamandugar@gmail.com"},"repository":{"url":"git+https://github.com/amandugar/clickhouse-orm.git","type":"git"},"workspaces":["src/*"],"_npmVersion":"10.8.2","description":"A TypeScript ORM for ClickHouse with migrations support","directories":{},"_nodeVersion":"20.19.0","dependencies":{"path":"^0.12.7","@clickhouse/client":"^1.11.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.4.0","eslint":"^8.0.0","rimraf":"^5.0.0","ts-jest":"^29.3.2","ts-node":"^10.9.2","prettier":"^3.0.0","@types/jest":"^29.5.14","@tsconfig/node20":"^20.1.5","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^8.31.0","@typescript-eslint/eslint-plugin":"^8.31.0"},"_npmOperationalInternal":{"tmp":"tmp/thunder-schema_1.0.22_1748552688847_0.6516482954910023","host":"s3://npm-registry-packages-npm-production"}},"1.0.23":{"name":"thunder-schema","version":"1.0.23","keywords":["clickhouse","orm","typescript","database","migrations","clickhouse-orm","clicksy"],"author":{"name":"Aman Dugar"},"license":"ISC","_id":"thunder-schema@1.0.23","maintainers":[{"name":"amandugar","email":"amanamandugar@gmail.com"}],"homepage":"https://github.com/amandugar/clickhouse-orm#readme","bugs":{"url":"https://github.com/amandugar/clickhouse-orm/issues"},"bin":{"thunder-schema":"dist/cli/index.js"},"dist":{"shasum":"781dd55f09d52c6f0046b4f23fe9412ff06cae61","tarball":"https://registry.npmjs.org/thunder-schema/-/thunder-schema-1.0.23.tgz","fileCount":6,"integrity":"sha512-TzBcpkGx5l5A8pn8rmKbvu8AiPFiRJj3tg9K0vNH26ZuVxaboEsHshk/svLRn7wabh91OfnUR0Uxj7d8WX+nIw==","signatures":[{"sig":"MEUCICIQljq61PzH4tVjLlov7/wvqXUobdLYSwUZnIVlUWVBAiEAjMRNv3gzD7UWmhlIXX9Acx3QwJre7qXx8rCy/GUKTXY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":124291},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.17.1"},"gitHead":"8867429d4cbd25109f3d02923aa913ac67244b4c","private":false,"scripts":{"lint":"eslint . --ext .ts","test":"jest --forceExit --config jest.config.js","build":"tsup && chmod +x dist/cli/index.js","clean":"rimraf dist","format":"prettier --write \"src/**/*.ts\"","migrate":"ts-node src/cli/index.ts","prepare":"npm run clean && npm run build","test:watch":"jest --watch --config jest.config.js","test:coverage":"jest --coverage --config jest.config.js","makemigrations":"ts-node src/cli/index.ts","prepublishOnly":"npm test && npm run lint","readmigrations":"ts-node src/cli/index.ts"},"_npmUser":{"name":"amandugar","actor":{"name":"amandugar","type":"user","email":"amanamandugar@gmail.com"},"email":"amanamandugar@gmail.com"},"repository":{"url":"git+https://github.com/amandugar/clickhouse-orm.git","type":"git"},"workspaces":["src/*"],"_npmVersion":"10.8.2","description":"A TypeScript ORM for ClickHouse with migrations support","directories":{},"_nodeVersion":"20.19.0","dependencies":{"path":"^0.12.7","@clickhouse/client":"^1.11.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.4.0","eslint":"^8.0.0","rimraf":"^5.0.0","ts-jest":"^29.3.2","ts-node":"^10.9.2","prettier":"^3.0.0","@types/jest":"^29.5.14","@tsconfig/node20":"^20.1.5","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^8.31.0","@typescript-eslint/eslint-plugin":"^8.31.0"},"_npmOperationalInternal":{"tmp":"tmp/thunder-schema_1.0.23_1751318012647_0.013570820135697437","host":"s3://npm-registry-packages-npm-production"}},"1.0.24":{"name":"thunder-schema","version":"1.0.24","keywords":["clickhouse","orm","typescript","database","migrations","clickhouse-orm","clicksy"],"author":{"name":"Aman Dugar"},"license":"ISC","_id":"thunder-schema@1.0.24","maintainers":[{"name":"amandugar","email":"amanamandugar@gmail.com"}],"homepage":"https://github.com/amandugar/clickhouse-orm#readme","bugs":{"url":"https://github.com/amandugar/clickhouse-orm/issues"},"bin":{"thunder-schema":"dist/cli/index.js"},"dist":{"shasum":"d16c27b2bfb714a4d69dadcabd99c7be0d43bfa1","tarball":"https://registry.npmjs.org/thunder-schema/-/thunder-schema-1.0.24.tgz","fileCount":6,"integrity":"sha512-imQhio56XEpDqn+y3CgNwWv9hWu5OUgeTHRhPbW6qi/aR150Z3JMDEi1vVAhRtKMUe8BJShyDO+ITLOujwejqQ==","signatures":[{"sig":"MEUCIQDSHPQeVqcY3sUDnnchp2CVH3gS0UomCUzy7GLKwDVpfQIgI2b4/I77KgobwAeSDC+yT+RPVe2Spf5RQXTfWIs5tbY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":123977},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.17.1"},"gitHead":"8867429d4cbd25109f3d02923aa913ac67244b4c","private":false,"scripts":{"lint":"eslint . --ext .ts","test":"jest --forceExit --config jest.config.js","build":"tsup && chmod +x dist/cli/index.js","clean":"rimraf dist","format":"prettier --write \"src/**/*.ts\"","migrate":"ts-node src/cli/index.ts","prepare":"npm run clean && npm run build","test:watch":"jest --watch --config jest.config.js","test:coverage":"jest --coverage --config jest.config.js","makemigrations":"ts-node src/cli/index.ts","prepublishOnly":"npm test && npm run lint","readmigrations":"ts-node src/cli/index.ts"},"_npmUser":{"name":"amandugar","actor":{"name":"amandugar","type":"user","email":"amanamandugar@gmail.com"},"email":"amanamandugar@gmail.com"},"repository":{"url":"git+https://github.com/amandugar/clickhouse-orm.git","type":"git"},"workspaces":["src/*"],"_npmVersion":"10.8.2","description":"A TypeScript ORM for ClickHouse with migrations support","directories":{},"_nodeVersion":"20.19.0","dependencies":{"path":"^0.12.7","@clickhouse/client":"^1.11.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.4.0","eslint":"^8.0.0","rimraf":"^5.0.0","ts-jest":"^29.3.2","ts-node":"^10.9.2","prettier":"^3.0.0","@types/jest":"^29.5.14","@tsconfig/node20":"^20.1.5","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^8.31.0","@typescript-eslint/eslint-plugin":"^8.31.0"},"_npmOperationalInternal":{"tmp":"tmp/thunder-schema_1.0.24_1751320213370_0.36883240309310383","host":"s3://npm-registry-packages-npm-production"}},"1.0.25":{"name":"thunder-schema","version":"1.0.25","keywords":["clickhouse","orm","typescript","database","migrations","clickhouse-orm","clicksy"],"author":{"name":"Aman Dugar"},"license":"ISC","_id":"thunder-schema@1.0.25","maintainers":[{"name":"amandugar","email":"amanamandugar@gmail.com"}],"homepage":"https://github.com/amandugar/clickhouse-orm#readme","bugs":{"url":"https://github.com/amandugar/clickhouse-orm/issues"},"bin":{"thunder-schema":"dist/cli/index.js"},"dist":{"shasum":"81400611d42bf06a5adbcee14c45b9b8f65927c1","tarball":"https://registry.npmjs.org/thunder-schema/-/thunder-schema-1.0.25.tgz","fileCount":6,"integrity":"sha512-ENuKm9C0VWtZksFZO+/1v5Ilw3lyYEYJy9rHRazY/uIPePf4FCxlo2huSyxK6k3UEFAlHaC2mpjzouUMZDzOfA==","signatures":[{"sig":"MEYCIQDbomdkTxOPbywrNVw/HJB1rWSU6u1s8pJ5Fdq3lTdXSgIhAJiBntMEaX/pk0bPteavScjrYLsCy0vBeKKfWxLVA3JH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":124291},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.17.1"},"gitHead":"74b9d4bfaabaefd05c55d722d8ac6406e56b9042","private":false,"scripts":{"lint":"eslint . --ext .ts","test":"jest --forceExit --config jest.config.js","build":"tsup && chmod +x dist/cli/index.js","clean":"rimraf dist","format":"prettier --write \"src/**/*.ts\"","migrate":"ts-node src/cli/index.ts","prepare":"npm run clean && npm run build","test:watch":"jest --watch --config jest.config.js","test:coverage":"jest --coverage --config jest.config.js","makemigrations":"ts-node src/cli/index.ts","prepublishOnly":"npm test && npm run lint","readmigrations":"ts-node src/cli/index.ts"},"_npmUser":{"name":"amandugar","actor":{"name":"amandugar","type":"user","email":"amanamandugar@gmail.com"},"email":"amanamandugar@gmail.com"},"repository":{"url":"git+https://github.com/amandugar/clickhouse-orm.git","type":"git"},"workspaces":["src/*"],"_npmVersion":"10.8.2","description":"A TypeScript ORM for ClickHouse with migrations support","directories":{},"_nodeVersion":"20.19.0","dependencies":{"path":"^0.12.7","@clickhouse/client":"^1.11.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.4.0","eslint":"^8.0.0","rimraf":"^5.0.0","ts-jest":"^29.3.2","ts-node":"^10.9.2","prettier":"^3.0.0","@types/jest":"^29.5.14","@tsconfig/node20":"^20.1.5","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^8.31.0","@typescript-eslint/eslint-plugin":"^8.31.0"},"_npmOperationalInternal":{"tmp":"tmp/thunder-schema_1.0.25_1751399037900_0.6282155719652847","host":"s3://npm-registry-packages-npm-production"}},"1.0.26":{"name":"thunder-schema","version":"1.0.26","keywords":["clickhouse","orm","typescript","database","migrations","clickhouse-orm","clicksy"],"author":{"name":"Aman Dugar"},"license":"ISC","_id":"thunder-schema@1.0.26","maintainers":[{"name":"amandugar","email":"amanamandugar@gmail.com"}],"homepage":"https://github.com/amandugar/clickhouse-orm#readme","bugs":{"url":"https://github.com/amandugar/clickhouse-orm/issues"},"bin":{"thunder-schema":"dist/cli/index.js"},"dist":{"shasum":"745a7fad892ad3c9bd63e002ffe718cffc899691","tarball":"https://registry.npmjs.org/thunder-schema/-/thunder-schema-1.0.26.tgz","fileCount":6,"integrity":"sha512-ZiW8Km+E1tWWvroWYlRumpoABobbMV4rHy6rWqxb1VJzAm4NhiDFF7Tp5eDpn/9XJGsta1u/DQyah6tWK/G17Q==","signatures":[{"sig":"MEYCIQC3RpyB077T4fxzDQqMFwBUyO4lp8V2V0XySyUFs4i0OQIhAPR4lRqTqZOnxXJ9sLqlRL25aiDFLJze90OUP1FnL5xf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":124836},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.17.1"},"gitHead":"8fe4ee4ed54cd56277fe4b55303149254ca8c592","private":false,"scripts":{"lint":"eslint . --ext .ts","test":"jest --forceExit --config jest.config.js","build":"tsup && chmod +x dist/cli/index.js","clean":"rimraf dist","format":"prettier --write \"src/**/*.ts\"","migrate":"ts-node src/cli/index.ts","prepare":"npm run clean && npm run build","test:watch":"jest --watch --config jest.config.js","test:coverage":"jest --coverage --config jest.config.js","makemigrations":"ts-node src/cli/index.ts","prepublishOnly":"npm test && npm run lint","readmigrations":"ts-node src/cli/index.ts"},"_npmUser":{"name":"amandugar","actor":{"name":"amandugar","type":"user","email":"amanamandugar@gmail.com"},"email":"amanamandugar@gmail.com"},"repository":{"url":"git+https://github.com/amandugar/clickhouse-orm.git","type":"git"},"workspaces":["src/*"],"_npmVersion":"10.8.2","description":"A TypeScript ORM for ClickHouse with migrations support","directories":{},"_nodeVersion":"20.19.0","dependencies":{"path":"^0.12.7","@clickhouse/client":"^1.11.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.4.0","eslint":"^8.0.0","rimraf":"^5.0.0","ts-jest":"^29.3.2","ts-node":"^10.9.2","prettier":"^3.0.0","@types/jest":"^29.5.14","@tsconfig/node20":"^20.1.5","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^8.31.0","@typescript-eslint/eslint-plugin":"^8.31.0"},"_npmOperationalInternal":{"tmp":"tmp/thunder-schema_1.0.26_1751880294003_0.3393236161133215","host":"s3://npm-registry-packages-npm-production"}},"1.0.27":{"name":"thunder-schema","version":"1.0.27","keywords":["clickhouse","orm","typescript","database","migrations","clickhouse-orm","clicksy"],"author":{"name":"Aman Dugar"},"license":"ISC","_id":"thunder-schema@1.0.27","maintainers":[{"name":"amandugar","email":"amanamandugar@gmail.com"}],"homepage":"https://github.com/amandugar/clickhouse-orm#readme","bugs":{"url":"https://github.com/amandugar/clickhouse-orm/issues"},"bin":{"thunder-schema":"dist/cli/index.js"},"dist":{"shasum":"7df9eb8faa3b81d308e9205e9e401cc6f4e9cf6b","tarball":"https://registry.npmjs.org/thunder-schema/-/thunder-schema-1.0.27.tgz","fileCount":6,"integrity":"sha512-fJHbyYV/UaTO56RcK06wF6J/JRuXdKNQ1l9K1sr1EU3pIcEfnfGFyOGdl7kTn04PtO8L6qpfxHIMbcYs5z5aTw==","signatures":[{"sig":"MEQCIGBn0TaoqgG2XXtBQK+MnD9yCG1e3eu8oU8SyDpWpASHAiBHNF8XgNM71UYFKjNQM9cHKCM56c6MpLZiC4a78XBmQA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":126396},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.17.1"},"gitHead":"61f3fb36d9af3b9ef79af7a7f3c7cbe838f3b564","private":false,"scripts":{"lint":"eslint . --ext .ts","test":"jest --forceExit --config jest.config.js","build":"tsup && chmod +x dist/cli/index.js","clean":"rimraf dist","format":"prettier --write \"src/**/*.ts\"","migrate":"ts-node src/cli/index.ts","prepare":"npm run clean && npm run build","test:watch":"jest --watch --config jest.config.js","test:coverage":"jest --coverage --config jest.config.js","makemigrations":"ts-node src/cli/index.ts","prepublishOnly":"npm test && npm run lint","readmigrations":"ts-node src/cli/index.ts"},"_npmUser":{"name":"amandugar","actor":{"name":"amandugar","type":"user","email":"amanamandugar@gmail.com"},"email":"amanamandugar@gmail.com"},"repository":{"url":"git+https://github.com/amandugar/clickhouse-orm.git","type":"git"},"workspaces":["src/*"],"_npmVersion":"10.8.2","description":"A TypeScript ORM for ClickHouse with migrations support","directories":{},"_nodeVersion":"20.19.0","dependencies":{"path":"^0.12.7","@clickhouse/client":"^1.11.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.4.0","eslint":"^8.0.0","rimraf":"^5.0.0","ts-jest":"^29.3.2","ts-node":"^10.9.2","prettier":"^3.0.0","@types/jest":"^29.5.14","@tsconfig/node20":"^20.1.5","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^8.31.0","@typescript-eslint/eslint-plugin":"^8.31.0"},"_npmOperationalInternal":{"tmp":"tmp/thunder-schema_1.0.27_1751885842324_0.34310526952704623","host":"s3://npm-registry-packages-npm-production"}},"1.0.28":{"name":"thunder-schema","version":"1.0.28","keywords":["clickhouse","orm","typescript","database","migrations","clickhouse-orm","clicksy"],"author":{"name":"Aman Dugar"},"license":"ISC","_id":"thunder-schema@1.0.28","maintainers":[{"name":"amandugar","email":"amanamandugar@gmail.com"}],"homepage":"https://github.com/amandugar/clickhouse-orm#readme","bugs":{"url":"https://github.com/amandugar/clickhouse-orm/issues"},"bin":{"thunder-schema":"dist/cli/index.js"},"dist":{"shasum":"12b2671aee86343c8d4471536515a45430c30049","tarball":"https://registry.npmjs.org/thunder-schema/-/thunder-schema-1.0.28.tgz","fileCount":6,"integrity":"sha512-UGagif+gY0KWCcbhq2i/qRCBSjuVlxoRzVM30pkfDSrS9xqoOiy3i4lik7HCziac8AshtKN82Lox05Zjz8n4HQ==","signatures":[{"sig":"MEQCIBbH/nb0XPR6qkvEXoW98PqyATrkjlVHtNxtmGpY4qPPAiAqHIFWDd66W62VWdho7vEaI5gkfi3dxf9p18epQpG1lg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":126274},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.17.1"},"gitHead":"f2d028dd2dd102c9b93b838520953f8a08c20ed0","private":false,"scripts":{"lint":"eslint . --ext .ts","test":"jest --forceExit --config jest.config.js","build":"tsup && chmod +x dist/cli/index.js","clean":"rimraf dist","format":"prettier --write \"src/**/*.ts\"","migrate":"ts-node src/cli/index.ts","prepare":"npm run clean && npm run build","test:watch":"jest --watch --config jest.config.js","test:coverage":"jest --coverage --config jest.config.js","makemigrations":"ts-node src/cli/index.ts","prepublishOnly":"npm test && npm run lint","readmigrations":"ts-node src/cli/index.ts"},"_npmUser":{"name":"amandugar","actor":{"name":"amandugar","type":"user","email":"amanamandugar@gmail.com"},"email":"amanamandugar@gmail.com"},"repository":{"url":"git+https://github.com/amandugar/clickhouse-orm.git","type":"git"},"workspaces":["src/*"],"_npmVersion":"10.8.2","description":"A TypeScript ORM for ClickHouse with migrations support","directories":{},"_nodeVersion":"20.19.0","dependencies":{"path":"^0.12.7","@clickhouse/client":"^1.11.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.4.0","eslint":"^8.0.0","rimraf":"^5.0.0","ts-jest":"^29.3.2","ts-node":"^10.9.2","prettier":"^3.0.0","@types/jest":"^29.5.14","@tsconfig/node20":"^20.1.5","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^8.31.0","@typescript-eslint/eslint-plugin":"^8.31.0"},"_npmOperationalInternal":{"tmp":"tmp/thunder-schema_1.0.28_1752077055653_0.4290273148864947","host":"s3://npm-registry-packages-npm-production"}},"1.0.29":{"name":"thunder-schema","version":"1.0.29","description":"A TypeScript ORM for ClickHouse with migrations support","private":false,"main":"dist/index.js","module":"dist/index.js","types":"dist/index.d.ts","bin":{"thunder-schema":"dist/cli/index.js"},"scripts":{"build":"tsup && chmod +x dist/cli/index.js","clean":"rimraf dist","test":"jest --forceExit --config jest.config.js","test:watch":"jest --watch --config jest.config.js","test:coverage":"jest --coverage --config jest.config.js","lint":"eslint . --ext .ts","format":"prettier --write \"src/**/*.ts\"","prepare":"npm run clean && npm run build","prepublishOnly":"npm test && npm run lint","makemigrations":"ts-node src/cli/index.ts","readmigrations":"ts-node src/cli/index.ts","migrate":"ts-node src/cli/index.ts"},"keywords":["clickhouse","orm","typescript","database","migrations","clickhouse-orm","clicksy"],"author":{"name":"Aman Dugar"},"license":"ISC","repository":{"type":"git","url":"git+https://github.com/amandugar/clickhouse-orm.git"},"bugs":{"url":"https://github.com/amandugar/clickhouse-orm/issues"},"homepage":"https://github.com/amandugar/clickhouse-orm#readme","dependencies":{"@clickhouse/client":"^1.11.1","path":"^0.12.7"},"devDependencies":{"@tsconfig/node20":"^20.1.5","@types/jest":"^29.5.14","@typescript-eslint/eslint-plugin":"^8.31.0","@typescript-eslint/parser":"^8.31.0","eslint":"^8.0.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","jest":"^29.7.0","prettier":"^3.0.0","rimraf":"^5.0.0","ts-jest":"^29.3.2","ts-node":"^10.9.2","tsup":"^8.4.0"},"engines":{"node":">=18.17.1"},"workspaces":["src/*"],"_id":"thunder-schema@1.0.29","gitHead":"a3336bd7258da5c8ab4cb9650f17c8c595f86a86","_nodeVersion":"20.19.0","_npmVersion":"10.8.2","dist":{"integrity":"sha512-cNhwckhfqRvpjpRaUXNOvCLtHY/338R/Po9giUawGzXoAr9tWGB4YW26ADkGuFTf9nnQDXOZHRbFj3xISJu3CA==","shasum":"657501e69d9dda788b65eda8373a592690b8b486","tarball":"https://registry.npmjs.org/thunder-schema/-/thunder-schema-1.0.29.tgz","fileCount":6,"unpackedSize":127337,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDs/caH6Ly3t6SVgR1n8nPEg3nlWxdTsXMbANoWed0dtwIgAawiJwJxPeIzRVl+qIcVeZeS+COQUuzTDsQDv2exQB4="}]},"_npmUser":{"name":"amandugar","email":"amanamandugar@gmail.com"},"directories":{},"maintainers":[{"name":"amandugar","email":"amanamandugar@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/thunder-schema_1.0.29_1754469268040_0.7410167420827436"},"_hasShrinkwrap":false}},"time":{"created":"2025-04-21T07:53:19.599Z","modified":"2025-08-06T08:34:28.402Z","1.0.3":"2025-04-21T07:53:19.786Z","1.0.4":"2025-04-21T14:21:25.713Z","1.0.5":"2025-04-21T17:49:44.059Z","1.0.6":"2025-04-22T08:31:57.864Z","1.0.7":"2025-04-22T14:16:27.621Z","1.0.8":"2025-04-22T15:11:08.496Z","1.0.9":"2025-04-22T15:23:40.836Z","1.0.10":"2025-04-22T17:02:41.700Z","1.0.11":"2025-04-22T21:46:08.426Z","1.0.12":"2025-04-23T06:38:00.776Z","1.0.13":"2025-04-28T17:28:38.078Z","1.0.14":"2025-04-28T17:38:21.966Z","1.0.15":"2025-05-06T10:35:19.314Z","1.0.16":"2025-05-06T10:53:26.661Z","1.0.17":"2025-05-06T12:13:07.645Z","1.0.18":"2025-05-06T13:14:22.234Z","1.0.19":"2025-05-22T16:01:58.530Z","1.0.20":"2025-05-22T17:32:56.313Z","1.0.21":"2025-05-23T08:16:33.576Z","1.0.22":"2025-05-29T21:04:49.018Z","1.0.23":"2025-06-30T21:13:32.853Z","1.0.24":"2025-06-30T21:50:13.539Z","1.0.25":"2025-07-01T19:43:58.091Z","1.0.26":"2025-07-07T09:24:54.199Z","1.0.27":"2025-07-07T10:57:22.497Z","1.0.28":"2025-07-09T16:04:15.838Z","1.0.29":"2025-08-06T08:34:28.219Z"},"bugs":{"url":"https://github.com/amandugar/clickhouse-orm/issues"},"author":{"name":"Aman Dugar"},"license":"ISC","homepage":"https://github.com/amandugar/clickhouse-orm#readme","keywords":["clickhouse","orm","typescript","database","migrations","clickhouse-orm","clicksy"],"repository":{"type":"git","url":"git+https://github.com/amandugar/clickhouse-orm.git"},"description":"A TypeScript ORM for ClickHouse with migrations support","maintainers":[{"name":"amandugar","email":"amanamandugar@gmail.com"}],"readme":"# Thunder Schema\n\nA TypeScript ORM for ClickHouse databases with type-safety at its core.\n\n## Table of Contents\n1. [Introduction](#introduction)\n2. [Installation](#installation)\n3. [Core Concepts](#core-concepts)\n   - [Models](#models)\n   - [Fields](#fields)\n   - [Connection Management](#connection-management)\n4. [Getting Started](#getting-started)\n   - [Defining Models](#defining-models)\n   - [Database Configuration](#database-configuration)\n   - [Basic Operations](#basic-operations)\n5. [Querying Data](#querying-data)\n   - [Basic Queries](#basic-queries)\n   - [Query Methods](#query-methods)\n   - [Advanced Queries](#advanced-queries)\n   - [Query Operators](#query-operators)\n   - [Aggregations](#aggregations)\n6. [Field Types & Options](#field-types--options)\n   - [Basic Field Types](#basic-field-types)\n   - [Common Options](#common-options)\n   - [Array Fields](#array-fields)\n   - [Tuple Fields](#tuple-fields)\n   - [Materialized Fields](#materialized-fields)\n7. [Migrations](#migrations)\n   - [Migration Overview](#migration-overview)\n   - [CLI Commands](#cli-commands)\n   - [Migration Types](#migration-types)\n   - [Migration Examples](#migration-examples)\n   - [Migration Workflow](#migration-workflow)\n   - [Environment Variables](#environment-variables)\n8. [Advanced Features](#advanced-features)\n   - [Connection Pooling](#connection-pooling)\n   - [Complex Data Structures](#complex-data-structures)\n   - [Query Building & Inspection](#query-building--inspection)\n9. [API Reference](#api-reference)\n10. [Contributing](#contributing)\n11. [License](#license)\n\n## Introduction\n\nThunder Schema is a TypeScript ORM for ClickHouse that provides a simple and type-safe way to interact with ClickHouse databases. It features type-safe model definitions, a powerful query builder, migration support, connection management, and a TypeScript-first approach.\n\n## Installation\n```bash\nnpm install thunder-schema\n# or\nyarn add thunder-schema\n```\n\n## Core Concepts\n\n### Models\n\nModels are the core building blocks in Thunder Schema. They represent tables in your ClickHouse database and provide a type-safe way to interact with your data. Each model has:\n\n- **Schema**: A TypeScript type defining the table structure\n- **Fields**: Field definitions with types and options\n- **Table Definition**: Configuration for the table including engine and indexes\n\n### Fields\n\nFields define the properties of your models. Each field has a type (like StringField, NumberField) and options (like default values, nullable settings).\n\n### Connection Management\n\nThe ConnectionManager handles database connections and provides a centralized way to manage connection configuration. It supports multiple connections and connection pooling.\n\n\n## Connection Management\n\nThe `ConnectionManager` is a singleton class that manages ClickHouse database connections. It provides several key features:\n\n1. **Multi-tenancy Support**: You can have multiple connection instances for different databases/hosts\n2. **Default Connection**: You can set a default connection configuration\n3. **Connection Pooling**: It maintains connections and reuses them efficiently\n4. **Type Safety**: It's fully typed with TypeScript\n\n### Using Connection Manager with Models\n\nYou can pass connection configuration to models through the constructor:\n\n```typescript\n// Usage with specific connection\nconst user = new User(config)\nconst users = await user.objects.all()\n\n// Usage with default connection\nconst defaultUser = new User()\nconst defaultUsers = await defaultUser.objects.all()\n```\n\n### Advanced Connection Management\n\nThe `ConnectionManager` provides several useful methods:\n\n```typescript\n// Create a new database\nConnectionManager.createDatabase('my_database')\n\n// Execute operations within a connection context\nawait connectionManager.with(async (client) => {\n  await client.query({ query: 'SELECT 1' })\n})\n\n// Close a specific connection\nawait connectionManager.close()\n\n// Close all connections\nawait ConnectionManager.closeAll()\n```\n\n### Best Practices\n\n1. **Default Connection**: Set up a default connection for your application:\n```typescript\n// In your application initialization\nConnectionManager.setDefault({\n  credentials: {\n    url: process.env.CLICKHOUSE_URL,\n    username: process.env.CLICKHOUSE_USERNAME,\n    password: process.env.CLICKHOUSE_PASSWORD,\n    database: process.env.CLICKHOUSE_DATABASE\n  }\n})\n```\n\n2. **Multi-tenant Applications**: For multi-tenant applications, use different connection instances:\n```typescript\n// For tenant-specific operations\nconst tenantConfig: ConnectionConfig = {\n  credentials: {\n    url: tenant.url,\n    username: tenant.username,\n    password: tenant.password,\n    database: tenant.database\n  }\n}\n\nconst tenantUser = new User(tenantConfig)\nconst tenantUsers = await tenantUser.objects.all()\n```\n\n3. **Connection Cleanup**: Always close connections when they're no longer needed:\n```typescript\ntry {\n  // Use the connection\n} finally {\n  await connectionManager.close()\n}\n```\n\n### Error Handling\n\nThe `ConnectionManager` includes built-in error handling:\n\n```typescript\ntry {\n  await connectionManager.with(async (client) => {\n    // Your database operations\n  })\n} catch (error) {\n  // Handle connection or query errors\n  console.error('Database error:', error)\n}\n```\n\n\n## Getting Started\n\n### Defining Models\n\n```typescript\nimport { Model } from 'thunder-schema'\nimport { FieldsOf, TableDefinition } from 'thunder-schema'\nimport { NumberField, StringField } from 'thunder-schema'\n\ntype UserSchema = {\n  id: number\n  name: string\n  email: string\n  createdAt: number\n  updatedAt: number\n  deletedAt: number\n}\n\nclass User extends Model<UserSchema> {\n  static fields: FieldsOf<UserSchema> = {\n    id: new NumberField({}),\n    name: new StringField({}),\n    email: new StringField({}),\n    createdAt: new NumberField({}),\n    updatedAt: new NumberField({}),\n    deletedAt: new NumberField({}),\n  }\n\n  static tableDefinition: TableDefinition<UserSchema> = {\n    tableName: 'users',\n    engine: 'MergeTree',\n    orderBy: ['createdAt'],\n  }\n}\n```\n\n### Database Configuration\n\n```typescript\nimport { ConnectionManager, ConnectionConfig } from 'thunder-schema'\n\nconst config: ConnectionConfig = {\n  credentials: {\n    url: 'http://localhost:8123',\n    username: 'default',\n    password: '',\n    database: 'default'\n  },\n  options: {\n    keepAlive: true\n  }\n}\n\n// Set as default connection\nConnectionManager.setDefault(config)\n\n// Or get a specific instance\nconst connectionManager = ConnectionManager.getInstance(config)\n```\n\n### Basic Operations\n\nCreating and saving a new record:\n\n```typescript\n// Create a new user\nconst user = new User().create({\n  id: 1,\n  name: 'John Doe',\n  email: 'john@example.com',\n  createdAt: Date.now(),\n  updatedAt: Date.now(),\n  deletedAt: 0\n})\n\nawait user.save()\n```\n\n## Querying Data\n\n### Basic Queries\n\n```typescript\n// Get all users\nconst allUsers = await User.objects.all()\n\n// Filter by field\nconst activeUsers = await User.objects\n  .filter({ isActive: true })\n  .all()\n```\n\n### Query Methods\n\n#### Sorting Results\n\n```typescript\n// Sort by a single field\nconst users = await new User().objects\n  .sort({ createdAt: -1 }) // -1 for descending, 1 for ascending\n  .all()\n\n// Sort by multiple fields\nconst users = await new User().objects\n  .sort({\n    isActive: -1,  // Active users first\n    createdAt: 1   // Then by creation date ascending\n  })\n  .all()\n```\n\n#### Counting Results\n\n```typescript\n// Count all users\nconst totalUsers = await new User().objects.count()\n\n// Count with filters\nconst activeUsers = await new User().objects\n  .filter({ isActive: true })\n  .count()\n```\n\n#### Getting First Result\n\n```typescript\n// Get first user\nconst firstUser = await new User().objects.first()\n\n// Get first active user\nconst firstActiveUser = await new User().objects\n  .filter({ isActive: true })\n  .first()\n```\n\n#### Field Selection (Projection)\n\n```typescript\n// Select specific fields\nconst users = await User.objects\n  .project(['id', 'name', 'email'])\n  .all()\n\n// Rename fields in the result\nconst users = await User.objects\n  .project([\n    'id',\n    { name: 'fullName' },\n    { email: 'contactEmail' }\n  ])\n  .all()\n```\n\n#### Using FINAL Modifier\n\n```typescript\n// Get final versions of rows\nconst finalUsers = await User.objects\n  .final()\n  .all()\n```\n\n### Advanced Queries\n\n#### Nested Queries and Complex Conditions\n\n```typescript\nimport { Q } from 'thunder-schema'\n\n// Simple OR conditions\nconst query = new User().objects.filter(\n  new Q<User>().or([\n    { id: 1 },\n    { id: 2 }\n  ])\n)\n\n// Complex nested conditions\nconst complexQuery = new User().objects.filter(\n  new Q<User>().or([\n    new Q<User>().and([{ id: 1 }, { name: 'John' }]),\n    new Q<User>().not(\n      new Q<User>().or([{ id: 2 }, { email: 'test@test.com' }])\n    )\n  ])\n)\n\n// Nested queries with Model instances (subqueries)\nconst user1 = new UserModel()\nconst user2 = new UserModel()\n\n// Create a filtered query\nconst filteredQuery = user2.objects.filter({ id__gt: 5 })\n\n// Use the filtered query in an IN condition\nconst inQueryWithModel = user1.objects.filter({ id__in: filteredQuery })\n// Generated SQL: SELECT * FROM users WHERE (id IN (SELECT * FROM users WHERE (id > 5)))\n```\n\n#### Excluding Records\n\n```typescript\n// Exclude specific records\nconst activeUsers = await User.objects\n  .exclude({ isActive: false })\n  .all()\n\n// Complex exclusion conditions\nconst validUsers = await User.objects\n  .exclude(\n    new Q<User>().or([\n      { email: null },\n      { name: '' }\n    ])\n  )\n  .all()\n```\n\n#### Async Iteration and Streaming\n\nThe ORM supports async iteration and streaming of results.\n\n```typescript\n// Using async iteration\nconst userInstance = new User()\nconst query = userInstance.objects.filter({ isActive: true })\nfor await (const user of query) {\n  console.log(user)\n}\n\nconst allUsers = await userModel.objects.all()\n\n// Combining with nested queries\nconst complexQuery = userModel.objects.filter(\n  new Q<User>().or([\n    { id: 1 },\n    { id: 2 },\n    new Q<User>().and([{ id: 3 }, { email: 'test@test.com' }])\n  ])\n)\n\nfor await (const user of complexQuery) {\n  console.log(user)\n}\n```\n\n\n### In-Place Updates\n\nYou can update model instances in-place before saving them to the database:\n\n```typescript\n// Create a new user\nconst user = new User().create({\n  id: 1,\n  name: 'John Doe',\n  email: 'john@example.com',\n  createdAt: Date.now(),\n  updatedAt: Date.now(),\n  deletedAt: 0\n})\n\n// Update values in-place\nuser.values.name = 'Jane Doe'\nuser.values.email = 'jane@example.com'\nuser.values.updatedAt = Date.now()\n\n// Save the updated values\nawait user.save()\n\n// You can also update multiple fields at once\nObject.assign(user.values, {\n  name: 'Jane Smith',\n  email: 'jane.smith@example.com',\n  updatedAt: Date.now()\n})\n\nawait user.save()\n\n\n### Query Operators\n\n#### Comparison Operators\n\n```typescript\n// Greater than\n{ age__gt: 18 } // age > 18\n\n// Less than\n{ age__lt: 65 } // age < 65\n\n// Greater than or equal\n{ age__gte: 18 } // age >= 18\n\n// Less than or equal\n{ age__lte: 65 } // age <= 65\n\n// Not equal\n{ status__ne: 'inactive' } // status != 'inactive'\n```\n\n#### String Operators\n\n```typescript\n// Case-insensitive contains\n{ name__icontains: 'john' } // name LIKE '%john%'\n```\n\n#### Set Operators\n\n```typescript\n// In set\n{ status__in: [\"active\", \"pending\"] } // status IN ('active', 'pending')\n\n// In subquery (using another model's query)\nconst filteredQuery = user2.objects.filter({ id__gt: 5 })\nconst inQueryWithModel = user1.objects.filter({ id__in: filteredQuery })\n// Generated SQL: SELECT * FROM users WHERE (id IN (SELECT * FROM users WHERE (id > 5)))\n```\n\n### Aggregations\n\nThunder Schema provides a powerful aggregation system that supports both basic aggregations and arithmetic operations. Here's how to use it:\n\n#### Basic Aggregations\n\n```typescript\n// Basic aggregations with aliases\nconst result = await Sale.objects\n  .filter({ price__gt: 100 })\n  .aggregate({\n    total_revenue: new Sum(\"price\", \"total_revenue\"),\n    avg_price: new Avg(\"price\", \"avg_price\"),\n    total_sales: new Count(\"*\", \"total_sales\"),\n    min_price: new Min(\"price\", \"min_price\"),\n    max_price: new Max(\"price\", \"max_price\"),\n  })\n  .all()\n\n// Result will be an array with one object containing:\n// {\n//   total_revenue: number,\n//   avg_price: number,\n//   total_sales: number,\n//   min_price: number,\n//   max_price: number\n// }\n```\n\n#### Arithmetic Operations\n\nYou can perform arithmetic operations on aggregation results:\n\n```typescript\n// Addition\nconst result = await Sale.objects\n  .filter({ price__gt: 100 })\n  .aggregate({\n    total_revenue: new Sum(\"price\", \"total_revenue\"),\n    total_quantity: new Sum(\"quantity\", \"total_quantity\"),\n    total_with_addition: add(\n      new Sum(\"price\", \"total_revenue\"),\n      new Sum(\"quantity\", \"total_quantity\")\n    ),\n  })\n  .all()\n\n// Subtraction\nconst result = await Sale.objects\n  .aggregate({\n    revenue_minus_quantity: subtract(\n      new Sum(\"price\", \"total_revenue\"),\n      new Sum(\"quantity\", \"total_quantity\")\n    ),\n  })\n  .all()\n\n// Multiplication\nconst result = await Sale.objects\n  .aggregate({\n    revenue_times_quantity: multiply(\n      new Sum(\"price\", \"total_revenue\"),\n      new Sum(\"quantity\", \"total_quantity\")\n    ),\n  })\n  .all()\n\n// Division\nconst result = await Sale.objects\n  .aggregate({\n    average_price_per_quantity: divide(\n      new Sum(\"price\", \"total_revenue\"),\n      new Sum(\"quantity\", \"total_quantity\")\n    ),\n  })\n  .all()\n```\n\n#### Complex Arithmetic Expressions\n\nYou can combine multiple arithmetic operations:\n\n```typescript\nconst result = await Sale.objects\n  .filter({ price__gt: 100 })\n  .aggregate({\n    complex_calculation: add(\n      multiply(\n        new Sum(\"price\", \"total_revenue\"),\n        new Sum(\"quantity\", \"total_quantity\")\n      ),\n      divide(\n        new Sum(\"price\", \"total_revenue\"),\n        new Sum(\"quantity\", \"total_quantity\")\n      )\n    ),\n  })\n  .all()\n```\n\nThe above will generate SQL like:\n```sql\nSELECT ((SUM(price) * SUM(quantity)) + (SUM(price) / SUM(quantity))) as complex_calculation \nFROM sales \nWHERE (price > 100)\n```\n\n## Field Types & Options\n\n### Basic Field Types\n\n1. **NumberField**: For numeric values\n   ```typescript\n   new NumberField({\n     defaultValue: 0,\n     nullable: false\n   })\n   ```\n\n2. **StringField**: For text values\n   ```typescript\n   new StringField({\n     defaultValue: '',\n     nullable: true,\n     maxLength: 255\n   })\n   ```\n\n3. **BooleanField**: For true/false values\n   ```typescript\n   new BooleanField({\n     defaultValue: false\n   })\n   ```\n\n4. **DateTimeField**: For date and time values\n   ```typescript\n   new DateTimeField({\n     defaultValue: 'now()',\n     timezone: 'UTC'\n   })\n   ```\n\n### Common Options\n\nAll field types support these options:\n\n- `defaultValue`: Default value for the field\n- `nullable`: Whether the field can be null\n- `expression`: SQL expression for computed fields\n- `materialized`: Whether the field is materialized\n\n### Array Fields\n\n```typescript\nclass Product extends Model<ProductSchema> {\n  static fields = {\n    id: new NumberField({}),\n    tags: new ArrayField({\n      elementType: new StringField({ defaultValue: '' }),\n      defaultValue: ['new', 'featured'],\n    }),\n    prices: new ArrayField({\n      elementType: new NumberField({ defaultValue: 0 }),\n      defaultValue: [10, 20, 30],\n    }),\n  }\n}\n```\n\n### Tuple Fields\n\n```typescript\nclass UserProfile extends Model<UserProfileSchema> {\n  static fields = {\n    id: new NumberField({}),\n    preferences: new TupleField({\n      fields: {\n        name: new StringField({ defaultValue: '' }),\n        favoriteNumbers: new ArrayField({\n          elementType: new NumberField({ defaultValue: 0 }),\n          defaultValue: [1, 2, 3],\n        }),\n      },\n    }),\n  }\n}\n```\n\n### Materialized Fields\n\n```typescript\ntype UserMaterialized = {\n  userName: string\n}\n\nclass User extends Model<User, UserMaterialized> {\n  static fields: FieldsOf<User & UserMaterialized> = {\n    id: new NumberField({}),\n    name: new StringField({}),\n    email: new StringField({}),\n    // Materialized field that concatenates name and email\n    userName: new StringField({\n      expression: \"concat(name, ' ', email)\"\n    })\n  }\n}\n```\n\n## Migrations\n\n### Migration Overview\n\nThunder Schema provides a robust migration system to manage database schema changes. The migration system helps you version control your database schema and apply changes in a controlled manner.\n\n### CLI Commands\n\n#### Generate Migrations\n\n```bash\nnpx thunder-schema makemigrations <model-path> [output-path]\n```\n\n#### List Migrations\n\n```bash\nnpx thunder-schema readmigrations [migrations-path]\n```\n\n#### Apply Migrations\n\n```bash\nnpx thunder-schema migrate [migrations-path]\n```\n\n### Migration Types\n\nThe migration system supports several types of schema changes:\n\n1. **CREATE**: Creating new tables\n2. **UPDATE**: Modifying existing tables by:\n   - Adding new columns\n   - Removing columns\n   - Updating column definitions\n3. **DROP**: Dropping tables\n\n\n#### Migration File Examples\n\nHere are some examples of how to use migrations in your project:\n\n### Basic Model Definition\n\n```typescript\nimport { NumberField, StringField } from 'thunder-schema'\nimport { FieldsOf, TableDefinition } from 'thunder-schema'\nimport { Model } from 'thunder-schema'\n\ntype UserSchema = {\n  id: number\n  name: string\n  email: string\n  createdAt: number\n  updatedAt: number\n  deletedAt: number\n}\n\nclass User extends Model<UserSchema> {\n  static fields: FieldsOf<UserSchema> = {\n    id: new NumberField({}),\n    name: new StringField({}),\n    email: new StringField({}),\n    createdAt: new NumberField({}),\n    updatedAt: new NumberField({}),\n    deletedAt: new NumberField({}),\n  }\n\n  static tableDefinition: TableDefinition<UserSchema> = {\n    tableName: 'users',\n    engine: 'MergeTree',\n    orderBy: ['createdAt'],\n  }\n}\n\ntype PostSchema = {\n  id: string\n  userId: string\n  title: string\n  content: string\n  createdAt: number\n  updatedAt: number\n}\n\nclass Post extends Model<PostSchema> {\n  static fields: FieldsOf<PostSchema> = {\n    id: new StringField({}),\n    userId: new StringField({}),\n    title: new StringField({}),\n    content: new StringField({}),\n    createdAt: new NumberField({}),\n    updatedAt: new NumberField({}),\n  }\n\n  static tableDefinition: TableDefinition<PostSchema> = {\n    tableName: 'posts',\n    engine: 'MergeTree',\n    orderBy: ['createdAt'],\n  }\n}\n\nconst models: (typeof Model<any, any>)[] = [User, Post]\n\nexport default models\n```\n\n### Migration Examples\n\nHere are examples of different migration scenarios and their corresponding TypeScript migration files:\n\n#### 1. Creating a New Table\n\nWhen you first define a model, the migration system will generate a migration to create the corresponding table:\n\n```typescript\n// Migration file: 1678901234567-create_users_table.ts\nexport const diff = [\n  {\n    changes: {\n      type: 'CREATE',\n      schema: {\n        tableName: 'users',\n        columns: [\n          { name: 'id', type: 'Int32' },\n          { name: 'name', type: 'String' },\n          { name: 'email', type: 'String' },\n          { name: 'createdAt', type: 'Int64', defaultValue: 'now()' },\n          { name: 'updatedAt', type: 'Int64' },\n          { name: 'deletedAt', type: 'Int64' }\n        ],\n        engine: 'MergeTree',\n        orderBy: ['createdAt']\n      }\n    }\n  }\n]\n```\n\n#### 2. Adding New Columns\n\nWhen you add new fields to your model, the migration system will generate a migration to add them to your table:\n\n```typescript\n// Migration file: 1678901245678-add_user_fields.ts\nexport const diff = [\n  {\n    changes: {\n      type: 'UPDATE',\n      tableName: 'users',\n      add: [\n        { name: 'lastName', type: 'String' },\n        { name: 'age', type: 'Int32' }\n      ]\n    }\n  }\n]\n```\n\n#### 3. Removing Columns\n\nWhen you remove fields from your model, the migration system generates a migration to remove them from your table:\n\n```typescript\n// Migration file: 1678901256789-remove_user_fields.ts\nexport const diff = [\n  {\n    changes: {\n      type: 'UPDATE',\n      tableName: 'users',\n      remove: ['deletedAt', 'isActive']\n    }\n  }\n]\n```\n\n#### 4. Updating Column Definitions\n\nWhen you change a field's properties (like type or default value), the migration system generates a migration to update the column definition:\n\n```typescript\n// Migration file: 1678901267890-update_email_field.ts\nexport const diff = [\n  {\n    changes: {\n      type: 'UPDATE',\n      tableName: 'users',\n      update: [\n        { \n          name: 'email', \n          type: 'String', \n          expression: \"lower(email)\" \n        }\n      ]\n    }\n  }\n]\n```\n\n#### 5. Creating a Table with Advanced Features\n\nHere's an example of a more complex table creation with materialized columns, default values, and partitioning:\n\n```typescript\n// Migration file: 1678901278901-create_orders_table.ts\nexport const diff = [\n  {\n    changes: {\n      type: 'CREATE',\n      schema: {\n        tableName: 'orders',\n        columns: [\n          { name: 'id', type: 'String' },\n          { name: 'userId', type: 'String' },\n          { name: 'productId', type: 'String' },\n          { name: 'quantity', type: 'Int32', defaultValue: '1' },\n          { name: 'price', type: 'Decimal(10, 2)' },\n          { \n            name: 'totalPrice', \n            type: 'Decimal(10, 2)', \n            expression: 'quantity * price' \n          },\n          { name: 'orderDate', type: 'DateTime', defaultValue: 'now()' },\n          { name: 'status', type: 'String', defaultValue: \"'pending'\" }\n        ],\n        engine: 'MergeTree',\n        orderBy: ['orderDate'],\n        partitionBy: 'toYYYYMM(orderDate)',\n        primaryKey: ['id']\n      }\n    }\n  }\n]\n```\n\n#### 6. Dropping a Table\n\nWhen you remove a model altogether, the migration system can generate a migration to drop the table:\n\n```typescript\n// Migration file: 1678901289012-drop_old_table.ts\nexport const diff = [\n  {\n    changes: {\n      type: 'DROP',\n      schema: {\n        tableName: 'old_users'\n      }\n    }\n  }\n]\n```\n\n#### 7. Complex Multi-Table Migration\n\nYou can also have migrations that affect multiple tables in one go:\n\n```typescript\n// Migration file: 1678901299123-complex_migration.ts\nexport const diff = [\n  {\n    // Create a new table\n    changes: {\n      type: 'CREATE',\n      schema: {\n        tableName: 'products',\n        columns: [\n          { name: 'id', type: 'String' },\n          { name: 'name', type: 'String' },\n          { name: 'price', type: 'Decimal(10, 2)' },\n          { name: 'createdAt', type: 'DateTime', defaultValue: 'now()' }\n        ],\n        engine: 'MergeTree',\n        orderBy: ['id']\n      }\n    }\n  },\n  {\n    // Update an existing table\n    changes: {\n      type: 'UPDATE',\n      tableName: 'orders',\n      add: [\n        { name: 'discountCode', type: 'String', nullable: true }\n      ],\n      update: [\n        { \n          name: 'totalPrice', \n          type: 'Decimal(10, 2)', \n          expression: 'price * quantity * (1 - if(discountCode != \\'\\', 0.1, 0))' \n        }\n      ]\n    }\n  }\n]\n```\n\n### Migration Workflow\n\n1. Define your initial models\n2. Generate the first migration:\n```bash\nnpx thunder-schema makemigrations -m src/models.ts -o migrations\n```\n3. Apply the migration:\n```bash\nnpx thunder-schema migrate --migrations-path migrations\n```\n4. When you need to make changes to your schema:\n   - Update your model definitions\n   - Generate a new migration\n   - Apply the new migration\n\nThe migration system automatically tracks which migrations have been applied using a `migrations` table in your database and ensures migrations are applied in the correct order.\n\n### Environment Variables\n\nThe CLI tool uses the following environment variables for database connection:\n\n- `CLICKHOUSE_URL`: ClickHouse server URL (default: 'http://localhost:8123')\n- `CLICKHOUSE_USERNAME`: ClickHouse username (default: 'default')\n- `CLICKHOUSE_PASSWORD`: ClickHouse password (default: '')\n- `CLICKHOUSE_DATABASE`: ClickHouse database name (default: 'default')\n\nExample:\n```bash\nexport CLICKHOUSE_URL=http://localhost:8123\nexport CLICKHOUSE_USERNAME=default\nexport CLICKHOUSE_PASSWORD=password\nexport CLICKHOUSE_DATABASE=my_database\nnpx thunder-schema migrate\n```\n\nSee more about it by running:\n```bash\nnpx thunder-schema --help\n```\n\n## Advanced Features\n\n### Connection Pooling\n\n```typescript\nconst config: ConnectionConfig = {\n  credentials: {\n    url: 'http://localhost:8123',\n    username: 'default',\n    password: '',\n    database: 'default'\n  },\n  options: {\n    keepAlive: true,\n  }\n}\n```\n\n\n### Complex Data Structures\n\n#### Nested Arrays\n\n```typescript\nclass Matrix extends Model<MatrixSchema> {\n  static fields = {\n    id: new NumberField({}),\n    data: new ArrayField({\n      elementType: new ArrayField({\n        elementType: new NumberField({ defaultValue: 0 }),\n        defaultValue: [],\n      }),\n      defaultValue: [[1, 2], [3, 4]],\n    }),\n  }\n}\n```\n\n#### Tuple Filtering\n\n```typescript\n// Filter on nested tuple fields\nconst query = locationModel.objects.filter({\n  location: {\n    coordinates: {\n      lat__gt: 40.0,\n      lon__lt: -73.0\n    },\n  }\n})\n```\n\n### Query Building & Inspection\n\n```typescript\n// Inspect the generated SQL query\nconst query = User.objects\n  .filter({ isActive: true })\n  .project(['id', 'name'])\n  .getQuery()\n\nconsole.log(query) // SELECT id, name FROM users WHERE (isActive = true)\n\n// Reset query conditions\nquery.reset()\n```\n\n## Array Fields and Nested Structures\n\nThe ORM supports array fields and nested structures like arrays within tuples. Here's how to use them:\n\n#### Basic Array Fields\n\n```typescript\nclass Product extends Model<ProductSchema> {\n  static fields = {\n    id: new NumberField({}),\n    tags: new ArrayField({\n      elementType: new StringField({ defaultValue: '' }),\n      defaultValue: ['new', 'featured'],\n    }),\n    prices: new ArrayField({\n      elementType: new NumberField({ defaultValue: 0 }),\n      defaultValue: [10, 20, 30],\n    }),\n  }\n}\n```\n\n#### Nested Arrays\n\nYou can create arrays of arrays for more complex data structures:\n\n```typescript\nclass Matrix extends Model<MatrixSchema> {\n  static fields = {\n    id: new NumberField({}),\n    data: new ArrayField({\n      elementType: new ArrayField({\n        elementType: new NumberField({ defaultValue: 0 }),\n        defaultValue: [],\n      }),\n      defaultValue: [[1, 2], [3, 4]],\n    }),\n  }\n}\n```\n\n#### Tuples with Arrays\n\nYou can combine tuples and arrays for complex nested structures:\n\n```typescript\nclass UserProfile extends Model<UserProfileSchema> {\n  static fields = {\n    id: new NumberField({}),\n    preferences: new TupleField({\n      fields: {\n        name: new StringField({ defaultValue: '' }),\n        favoriteNumbers: new ArrayField({\n          elementType: new NumberField({ defaultValue: 0 }),\n          defaultValue: [1, 2, 3],\n        }),\n      },\n    }),\n  }\n}\n```\n\nThe above will generate a schema with a tuple field containing a string and an array of numbers:\n```sql\nTuple(name String, favoriteNumbers Array(Int32))\n```\n\n#### Tuple Filtering\n\nYou can filter on tuple fields using dot notation to access nested fields. Here are some examples:\n\n```typescript\n// Filter on a simple tuple field\nclass AddressModel extends Model<AddressSchema> {\n  static fields = {\n    id: new NumberField({}),\n    address: new TupleField({\n      fields: {\n        street: new StringField({ defaultValue: '' }),\n        city: new StringField({ defaultValue: '' }),\n        zip: new NumberField({ defaultValue: 0 }),\n      },\n    }),\n  }\n}\n\n// Filter by city\nconst query = addressModel.objects.filter({\n  'address.city': 'New York'\n})\n\n// Filter with comparison operators\nconst query = addressModel.objects.filter({\n  address: {\n    zip__gt: 10000,\n  }\n})\n\n// Filter on nested tuples\nclass LocationModel extends Model<LocationSchema> {\n  static fields = {\n    id: new NumberField({}),\n    location: new TupleField({\n      fields: {\n        coordinates: new TupleField({\n          fields: {\n            lat: new NumberField({ defaultValue: 0 }),\n            lon: new NumberField({ defaultValue: 0 }),\n          },\n        }),\n        name: new StringField({ defaultValue: '' }),\n      },\n    }),\n  }\n}\n\n// Filter on nested tuple fields\nconst locationModel = new LocationModel()\nconst query = locationModel.objects.filter({\n  location: {\n    coordinates: {\n      lat__gt: 40.0,\n      lon__lt: -73.0\n    },\n  }\n})\n\n// Filter with multiple conditions\nconst query = locationModel.objects.filter(\n  new Q<LocationSchema>().and([\n    { location: { coordinates: { lat__gt: 40.0 } } },\n    { location: { name__icontains: 'Central' } }\n  ])\n)\n```\n\nThe above queries will generate SQL like:\n```sql\n-- Simple tuple filter\nSELECT * FROM address_model WHERE address.city = 'New York'\n\n-- Nested tuple filter\nSELECT * FROM location_model WHERE location.coordinates.lat > 40.0 AND location.coordinates.lon < -73.0\n```\n\n#### Default Values\n\nArray fields support default values at both the array and element level:\n\n```typescript\nnew ArrayField({\n  elementType: new StringField({ defaultValue: 'default' }), // Element default\n  defaultValue: ['value1', 'value2'], // Array default\n})\n```\n\n## API Reference\n\n### Models\n\n- `Model`: Base class for all models\n- `NumberField`: Field type for numeric values\n- `StringField`: Field type for string values\n- `TableDefinition`: Interface for table configuration\n\n### Database\n\n- `ConnectionManager`: Manages database connections\n- `ConnectionConfig`: Type for connection configuration\n- `ConnectionCredentials`: Type for connection credentials\n\n### Query Building\n\n- `QueryBuilder`: Build complex SQL queries\n- `Q`: Class for building query conditions\n\n### Migrations\n\n- `MigrationService`: Create and manage migrations\n- `MigrationRunner`: Execute migrations\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n## License\n\n[MIT License](LICENSE)\n","readmeFilename":"README.md"}