{"_id":"@techntools/sequelize-to-openapi","_rev":"27-0f3b92ed54df0763b01dc280f5ea6c8b","name":"@techntools/sequelize-to-openapi","dist-tags":{"latest":"2.0.0"},"versions":{"0.4.9":{"name":"@techntools/sequelize-to-openapi","version":"0.4.9","keywords":["typescript","javascript","sequelize","json-schema","strategy-pattern","swagger","openapi","oas","oasv3"],"author":{"url":"https://github.com/techntools/sequelize-to-openapi","name":"Santosh Bandichode"},"license":"MIT","_id":"@techntools/sequelize-to-openapi@0.4.9","homepage":"https://github.com/techntools/sequelize-to-openapi#readme","bugs":{"url":"https://github.com/techntools/sequelize-to-openapi/issues"},"dist":{"shasum":"f653eb95815291383e40bc7ec12e47326d25d927","tarball":"https://registry.npmjs.org/@techntools/sequelize-to-openapi/-/sequelize-to-openapi-0.4.9.tgz","fileCount":25,"integrity":"sha512-AJCwOEtMXXEDTVUHZD78CdLWbdil7xbfelygjMNJjPpRn+DPJykfLF8UgSIu+PkbxonQG8/TMl/rhBd7+NsKAA==","signatures":[{"sig":"MEQCIFsWtnxDbVF7HzejI284L+oEEL0SWKWUR7BvEqB2q/ymAiBR8sa38uQYV9IkAW38EvR1VN7Y1F6rOOxqLqbHOCSbVQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":97115},"jest":{"preset":"ts-jest","testEnvironment":"node","coverageReporters":["lcov","text","html"],"collectCoverageFrom":["src/**/*"]},"main":"build/index.js","types":"build/index.d.ts","engines":{"node":">=18"},"gitHead":"a99be9e3daae857a9fb909c2414449094a2a9d66","scripts":{"dev":"nodemon try-me.ts","test":"jest --coverage","build":"tsc","clean":"rimraf coverage build","compile":"tsc --watch","release":"release-it","dev:debug":"nodemon --exec 'node --inspect --require ts-node/register try-me.ts'","release-dr":"release-it --dry-run --release-version --changelog","test:debug":"node --nolazy --inspect-brk node_modules/.bin/jest --runInBand --colors --verbose --watch --coverage false","test:watch":"jest --watch"},"_npmUser":{"name":"theruler","email":"santoshg550@gmail.com"},"release-it":{"git":{"commit":true,"commitMessage":"Chore: Release ${version}","requireUpstream":false},"hooks":{"before:init":["npm run clean","npm run build","npm run test"]},"github":{"release":true}},"repository":{"url":"git+https://github.com/techntools/sequelize-to-openapi.git","type":"git"},"_npmVersion":"10.7.0","description":"OpenAPI 3 schemas from Sequelize models","directories":{},"_nodeVersion":"20.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","mysql2":"^3.10.1","rimraf":"^5.0.7","ts-jest":"^29.1.5","ts-node":"^10.9.2","sequelize":"^6.37.3","release-it":"^17.4.0","typescript":"^5.5.2","@types/jest":"^29.5.12","ajv-formats":"^3.0.1","ajv-keywords":"^5.1.0","@apidevtools/swagger-parser":"^10.1.0","@release-it/conventional-changelog":"^8.0.1"},"_npmOperationalInternal":{"tmp":"tmp/sequelize-to-openapi_0.4.9_1719137961047_0.48279429982612143","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"@techntools/sequelize-to-openapi","version":"1.0.0","keywords":["typescript","javascript","sequelize","json-schema","strategy-pattern","swagger","openapi","oas","oasv3"],"author":{"url":"https://github.com/techntools/sequelize-to-openapi","name":"Santosh Bandichode"},"license":"MIT","_id":"@techntools/sequelize-to-openapi@1.0.0","maintainers":[{"name":"theruler","email":"santoshg550@gmail.com"}],"homepage":"https://github.com/techntools/sequelize-to-openapi#readme","bugs":{"url":"https://github.com/techntools/sequelize-to-openapi/issues"},"dist":{"shasum":"d885b2139c8b42b1290b75413577c631d0c176b5","tarball":"https://registry.npmjs.org/@techntools/sequelize-to-openapi/-/sequelize-to-openapi-1.0.0.tgz","fileCount":25,"integrity":"sha512-Mfb/e7UIcmxlo4lDrGzO4abVBq4bsnP0JBgR2Lg5a7ijPZnNlGpf1LP2gh8BmI3Bb1H8KfoUZ61FPs7xa71ooA==","signatures":[{"sig":"MEUCIEi9YTd85ZF0kOuaX2wl+PGM1B2STS6mLFWUeCa4fzqeAiEAvvnvrTUw90wb9Rm55Lsdr0kgpRx9+fkZSIaBxcFSgiw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":110678},"jest":{"preset":"ts-jest","testEnvironment":"node","coverageReporters":["lcov","text","html"],"collectCoverageFrom":["src/**/*"]},"main":"build/index.js","types":"build/index.d.ts","engines":{"node":">=18"},"gitHead":"65779fb5992190a6e7c6df8a17b9d4126860f45f","scripts":{"dev":"nodemon try-me.ts","test":"jest --coverage","build":"tsc","clean":"rimraf coverage build","compile":"tsc --watch","release":"release-it","dev:debug":"nodemon --exec 'node --inspect --require ts-node/register try-me.ts'","release-dr":"release-it --dry-run --release-version --changelog","test:debug":"node --nolazy --inspect-brk node_modules/.bin/jest --runInBand --colors --verbose --watch --coverage false","test:watch":"jest --watch"},"_npmUser":{"name":"theruler","email":"santoshg550@gmail.com"},"release-it":{"git":{"commit":true,"commitMessage":"Chore: Release ${version}","requireUpstream":false},"hooks":{"before:init":["npm run clean","npm run build","npm run test"]},"github":{"release":true}},"repository":{"url":"git+https://github.com/techntools/sequelize-to-openapi.git","type":"git"},"_npmVersion":"10.8.2","description":"OpenAPI 3 schemas from Sequelize models","directories":{},"_nodeVersion":"20.18.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","mysql2":"^3.12.0","rimraf":"^6.0.1","ts-jest":"^29.2.5","ts-node":"^10.9.2","sequelize":"^6.37.5","release-it":"^18.1.2","typescript":"^5.7.3","@types/jest":"^29.5.14","ajv-formats":"^3.0.1","ajv-keywords":"^5.1.0","@apidevtools/swagger-parser":"^10.1.1","@release-it/conventional-changelog":"^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sequelize-to-openapi_1.0.0_1737802802903_0.388025692876673","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@techntools/sequelize-to-openapi","version":"1.1.0","keywords":["typescript","javascript","sequelize","json-schema","strategy-pattern","swagger","openapi","oas","oasv3"],"author":{"url":"https://github.com/techntools/sequelize-to-openapi","name":"Santosh Bandichode"},"license":"MIT","_id":"@techntools/sequelize-to-openapi@1.1.0","maintainers":[{"name":"theruler","email":"santoshg550@gmail.com"}],"homepage":"https://github.com/techntools/sequelize-to-openapi#readme","bugs":{"url":"https://github.com/techntools/sequelize-to-openapi/issues"},"dist":{"shasum":"f4f8df4a02b8ff9f73f74421caa25e607df87022","tarball":"https://registry.npmjs.org/@techntools/sequelize-to-openapi/-/sequelize-to-openapi-1.1.0.tgz","fileCount":25,"integrity":"sha512-itN1ifh7I5zXKWXKWk7hYbsxgWMw0hA9UbvF80sRBnWf8GTZjmAlx1oQK1Ed483WWk/ME9LfMZhP+jPtUg94Yw==","signatures":[{"sig":"MEUCIQCtGPb9pZkUydH/9j20ChiKVCDwPHUR+qLRwYtiMOucKQIgM/pj4UtYulsBoygax5Zs+spER35kKdE+csRXVuTED8I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":154002},"jest":{"preset":"ts-jest","testEnvironment":"node","coverageReporters":["lcov","text","html"],"collectCoverageFrom":["src/**/*"]},"main":"build/index.js","types":"build/index.d.ts","engines":{"node":">=18"},"gitHead":"733fe505dc207503b380d1d735e32ac5b2f605e8","scripts":{"dev":"nodemon try-me.ts","test":"jest --coverage","build":"tsc","clean":"rimraf coverage build","compile":"tsc --watch","release":"release-it","dev:debug":"nodemon --exec 'node --inspect --require ts-node/register try-me.ts'","release-dr":"release-it --dry-run --release-version --changelog","test:debug":"node --inspect node_modules/.bin/jest --runInBand --no-colors --verbose --watch --coverage false","test:watch":"jest --watch"},"_npmUser":{"name":"theruler","email":"santoshg550@gmail.com"},"release-it":{"git":{"commit":true,"commitMessage":"Chore: Release ${version}","requireUpstream":false},"hooks":{"before:init":["npm run clean","npm run build","npm run test"]},"github":{"release":true}},"repository":{"url":"git+https://github.com/techntools/sequelize-to-openapi.git","type":"git"},"_npmVersion":"11.6.0","description":"OpenAPI 3 schemas from Sequelize models","directories":{},"_nodeVersion":"24.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","mysql2":"^3.16.3","rimraf":"^6.1.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","sequelize":"^6.37.7","release-it":"^19.2.4","typescript":"^5.9.3","@types/jest":"^30.0.0","ajv-formats":"^3.0.1","ajv-keywords":"^5.1.0","@apidevtools/swagger-parser":"^12.1.0","@release-it/conventional-changelog":"^10.0.5"},"_npmOperationalInternal":{"tmp":"tmp/sequelize-to-openapi_1.1.0_1770473188571_0.941266696506833","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@techntools/sequelize-to-openapi","version":"1.2.0","keywords":["typescript","javascript","sequelize","json-schema","strategy-pattern","swagger","openapi","oas","oasv3"],"author":{"url":"https://github.com/techntools/sequelize-to-openapi","name":"Santosh Bandichode"},"license":"MIT","_id":"@techntools/sequelize-to-openapi@1.2.0","maintainers":[{"name":"theruler","email":"santoshg550@gmail.com"}],"homepage":"https://github.com/techntools/sequelize-to-openapi#readme","bugs":{"url":"https://github.com/techntools/sequelize-to-openapi/issues"},"dist":{"shasum":"5b5d86f28248916cb1ecc64e4f31895a1e137211","tarball":"https://registry.npmjs.org/@techntools/sequelize-to-openapi/-/sequelize-to-openapi-1.2.0.tgz","fileCount":25,"integrity":"sha512-eU+nbOxlfyDe0xhSeaPYt9C6vAjixrob7fj8NI2xV1wnBw4Z9Ipau1m0331/VyDY5SMguQzTfW0gy+rcKv6Z/w==","signatures":[{"sig":"MEUCIQDjn7yog3Qc2tQwDr8uLRFI4GdxgnoZZQSgK98miyT5bwIgJ9uHM/+qwkyD63LWJY5oM7lu/Noae89DYfVIHHfpJlo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":154990},"jest":{"preset":"ts-jest","testEnvironment":"node","coverageReporters":["lcov","text","html"],"collectCoverageFrom":["src/**/*"]},"main":"build/index.js","types":"build/index.d.ts","engines":{"node":">=18"},"gitHead":"4887e8790927f0bec3ea13fa7b4ca3c0d91a3562","scripts":{"dev":"nodemon try-me.ts","test":"jest --coverage","build":"tsc","clean":"rimraf coverage build","compile":"tsc --watch","release":"release-it","dev:debug":"nodemon --exec 'node --inspect --require ts-node/register try-me.ts'","release-dr":"release-it --dry-run --release-version --changelog","test:debug":"node --inspect node_modules/.bin/jest --runInBand --no-colors --verbose --watch --coverage false","test:watch":"jest --watch"},"_npmUser":{"name":"theruler","email":"santoshg550@gmail.com"},"release-it":{"git":{"commit":true,"commitMessage":"Chore: Release ${version}","requireUpstream":false},"hooks":{"before:init":["npm run clean","npm run build","npm run test"]},"github":{"release":true}},"repository":{"url":"git+https://github.com/techntools/sequelize-to-openapi.git","type":"git"},"_npmVersion":"11.6.0","description":"OpenAPI 3 schemas from Sequelize models","directories":{},"_nodeVersion":"24.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","mysql2":"^3.16.3","rimraf":"^6.1.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","sequelize":"^6.37.7","release-it":"^19.2.4","typescript":"^5.9.3","@types/jest":"^30.0.0","ajv-formats":"^3.0.1","ajv-keywords":"^5.1.0","@apidevtools/swagger-parser":"^12.1.0","@release-it/conventional-changelog":"^10.0.5"},"_npmOperationalInternal":{"tmp":"tmp/sequelize-to-openapi_1.2.0_1770543131170_0.7548572523573243","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@techntools/sequelize-to-openapi","version":"1.2.1","keywords":["typescript","javascript","sequelize","json-schema","strategy-pattern","swagger","openapi","oas","oasv3"],"author":{"url":"https://github.com/techntools/sequelize-to-openapi","name":"Santosh Bandichode"},"license":"MIT","_id":"@techntools/sequelize-to-openapi@1.2.1","maintainers":[{"name":"theruler","email":"santoshg550@gmail.com"}],"homepage":"https://github.com/techntools/sequelize-to-openapi#readme","bugs":{"url":"https://github.com/techntools/sequelize-to-openapi/issues"},"dist":{"shasum":"8fac4bd59e0d2c96ab87f1a00856faa174b49ae1","tarball":"https://registry.npmjs.org/@techntools/sequelize-to-openapi/-/sequelize-to-openapi-1.2.1.tgz","fileCount":25,"integrity":"sha512-UR7nWirZXHdERGf7hqXr1IxRM8umfOXKaJSeci5EB+NwKQUZr32vATqYUdtRnCo5qUadEFZBaZvBAOg1/5Lvkg==","signatures":[{"sig":"MEYCIQDQBQi9mBWC9jnXgO0GOjyO0B9TTu62zR6NF2KgQuLQeAIhAI0cAPOwFQX55lLMSzivdjbgvZ1EelD+h6EayAxOB5Ag","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":155336},"jest":{"preset":"ts-jest","testEnvironment":"node","coverageReporters":["lcov","text","html"],"collectCoverageFrom":["src/**/*"]},"main":"build/index.js","types":"build/index.d.ts","engines":{"node":">=18"},"gitHead":"336672d0d090c9f5ce98a3c772cd48bfb72eaa53","scripts":{"dev":"nodemon try-me.ts","test":"jest --coverage","build":"tsc","clean":"rimraf coverage build","compile":"tsc --watch","release":"release-it","dev:debug":"nodemon --exec 'node --inspect --require ts-node/register try-me.ts'","release-dr":"release-it --dry-run --release-version --changelog","test:debug":"node --inspect node_modules/.bin/jest --runInBand --no-colors --verbose --watch --coverage false","test:watch":"jest --watch"},"_npmUser":{"name":"theruler","email":"santoshg550@gmail.com"},"release-it":{"git":{"commit":true,"commitMessage":"Chore: Release ${version}","requireUpstream":false},"hooks":{"before:init":["npm run clean","npm run build","npm run test"]},"github":{"release":true}},"repository":{"url":"git+https://github.com/techntools/sequelize-to-openapi.git","type":"git"},"_npmVersion":"11.6.0","description":"OpenAPI 3 schemas from Sequelize models","directories":{},"_nodeVersion":"24.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","mysql2":"^3.16.3","rimraf":"^6.1.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","sequelize":"^6.37.7","release-it":"^19.2.4","typescript":"^5.9.3","@types/jest":"^30.0.0","ajv-formats":"^3.0.1","ajv-keywords":"^5.1.0","@apidevtools/swagger-parser":"^12.1.0","@release-it/conventional-changelog":"^10.0.5"},"_npmOperationalInternal":{"tmp":"tmp/sequelize-to-openapi_1.2.1_1770552129444_0.35431406132405563","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@techntools/sequelize-to-openapi","version":"1.3.0","keywords":["typescript","javascript","sequelize","json-schema","strategy-pattern","swagger","openapi","oas","oasv3"],"author":{"url":"https://github.com/techntools/sequelize-to-openapi","name":"Santosh Bandichode"},"license":"MIT","_id":"@techntools/sequelize-to-openapi@1.3.0","maintainers":[{"name":"theruler","email":"santoshg550@gmail.com"}],"homepage":"https://github.com/techntools/sequelize-to-openapi#readme","bugs":{"url":"https://github.com/techntools/sequelize-to-openapi/issues"},"dist":{"shasum":"98f357434fae724f2fe145cc870f95146642d4e5","tarball":"https://registry.npmjs.org/@techntools/sequelize-to-openapi/-/sequelize-to-openapi-1.3.0.tgz","fileCount":25,"integrity":"sha512-G1ZpqxLBZ+eZ8iOoxR0bvNnxn9nsfxwh3+8XRit3obb3ErA3DoRjIUhtRO4E+0C4DF/St8HiAluwMoiHYAnXvA==","signatures":[{"sig":"MEQCIAbaReubTVKPQg1eopy9AO4/SJp/PmnPaH3AAX5hZRmiAiBxlM/WR4la0/Gg4iKrxtoxiikXLE2/R9BZ6OiQisljjA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":159238},"jest":{"preset":"ts-jest","testEnvironment":"node","coverageReporters":["lcov","text","html"],"collectCoverageFrom":["src/**/*"]},"main":"build/index.js","types":"build/index.d.ts","engines":{"node":">=18"},"gitHead":"9c9a938237de0384ff036de04db7e80adb28eaeb","scripts":{"dev":"nodemon try-me.ts","test":"jest --coverage","build":"tsc","clean":"rimraf coverage build","compile":"tsc --watch","release":"release-it","dev:debug":"nodemon --exec 'node --inspect --require ts-node/register try-me.ts'","release-dr":"release-it --dry-run --release-version --changelog","test:debug":"node --inspect node_modules/.bin/jest --runInBand --no-colors --verbose --watch --coverage false","test:watch":"jest --watch"},"_npmUser":{"name":"theruler","email":"santoshg550@gmail.com"},"release-it":{"git":{"commit":true,"commitMessage":"Chore: Release ${version}","requireUpstream":false},"hooks":{"before:init":["npm run clean","npm run build","npm run test"]},"github":{"release":true}},"repository":{"url":"git+https://github.com/techntools/sequelize-to-openapi.git","type":"git"},"_npmVersion":"11.6.0","description":"OpenAPI 3 schemas from Sequelize models","directories":{},"_nodeVersion":"24.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","mysql2":"^3.16.3","rimraf":"^6.1.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","sequelize":"^6.37.7","release-it":"^19.2.4","typescript":"^5.9.3","@types/jest":"^30.0.0","ajv-formats":"^3.0.1","ajv-keywords":"^5.1.0","@apidevtools/swagger-parser":"^12.1.0","@release-it/conventional-changelog":"^10.0.5"},"_npmOperationalInternal":{"tmp":"tmp/sequelize-to-openapi_1.3.0_1770648477363_0.8398749082501524","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@techntools/sequelize-to-openapi","version":"1.4.0","keywords":["typescript","javascript","sequelize","json-schema","strategy-pattern","swagger","openapi","oas","oasv3"],"author":{"url":"https://github.com/techntools/sequelize-to-openapi","name":"Santosh Bandichode"},"license":"MIT","_id":"@techntools/sequelize-to-openapi@1.4.0","maintainers":[{"name":"theruler","email":"santoshg550@gmail.com"}],"homepage":"https://github.com/techntools/sequelize-to-openapi#readme","bugs":{"url":"https://github.com/techntools/sequelize-to-openapi/issues"},"dist":{"shasum":"0e79b6e2261e4cda454bc4cd912c7ee867a17e68","tarball":"https://registry.npmjs.org/@techntools/sequelize-to-openapi/-/sequelize-to-openapi-1.4.0.tgz","fileCount":25,"integrity":"sha512-eKQXsaB1OM0U1e2HzQuKOsrN3EDvSKMJzTE/mXc1qcTns5X3gHG1hIGgDzKnVZS/Gyx6dokb8b5ldexyVasM6Q==","signatures":[{"sig":"MEYCIQD0RZdvjp0grK+8OZmQZp4/k+plLJxUQGGcpD75l569SwIhAIOXfKJ/REMGTFnQOXMENQ379MrFIoCoBTFuMun3orF5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":168935},"jest":{"preset":"ts-jest","testEnvironment":"node","coverageReporters":["lcov","text","html"],"collectCoverageFrom":["src/**/*"]},"main":"build/index.js","types":"build/index.d.ts","engines":{"node":">=18"},"gitHead":"1a4e4ce3979c6774329f9eb0954298405635d361","scripts":{"dev":"nodemon try-me.ts","test":"jest --coverage","build":"tsc","clean":"rimraf coverage build","compile":"tsc --watch","release":"release-it","dev:debug":"nodemon --exec 'node --inspect --require ts-node/register try-me.ts'","release-dr":"release-it --dry-run --release-version --changelog","test:debug":"node --inspect node_modules/.bin/jest --runInBand --no-colors --verbose --watch --coverage false","test:watch":"jest --watch"},"_npmUser":{"name":"theruler","email":"santoshg550@gmail.com"},"release-it":{"git":{"commit":true,"commitMessage":"Chore: Release ${version}","requireUpstream":false},"hooks":{"before:init":["npm run clean","npm run build","npm run test"]},"github":{"release":true}},"repository":{"url":"git+https://github.com/techntools/sequelize-to-openapi.git","type":"git"},"_npmVersion":"11.6.0","description":"OpenAPI 3 schemas from Sequelize models","directories":{},"_nodeVersion":"24.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","mysql2":"^3.16.3","rimraf":"^6.1.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","sequelize":"^6.37.7","release-it":"^19.2.4","typescript":"^5.9.3","@types/jest":"^30.0.0","ajv-formats":"^3.0.1","ajv-keywords":"^5.1.0","@apidevtools/swagger-parser":"^12.1.0","@release-it/conventional-changelog":"^10.0.5"},"_npmOperationalInternal":{"tmp":"tmp/sequelize-to-openapi_1.4.0_1770899378758_0.11230148039581622","host":"s3://npm-registry-packages-npm-production"}},"1.4.1":{"name":"@techntools/sequelize-to-openapi","version":"1.4.1","keywords":["typescript","javascript","sequelize","json-schema","strategy-pattern","swagger","openapi","oas","oasv3"],"author":{"url":"https://github.com/techntools/sequelize-to-openapi","name":"Santosh Bandichode"},"license":"MIT","_id":"@techntools/sequelize-to-openapi@1.4.1","maintainers":[{"name":"theruler","email":"santoshg550@gmail.com"}],"homepage":"https://github.com/techntools/sequelize-to-openapi#readme","bugs":{"url":"https://github.com/techntools/sequelize-to-openapi/issues"},"dist":{"shasum":"97a567f30deb87f7f465e4a4aeaec766a603a581","tarball":"https://registry.npmjs.org/@techntools/sequelize-to-openapi/-/sequelize-to-openapi-1.4.1.tgz","fileCount":25,"integrity":"sha512-l8GS8Wae2hZOPYjXi/WMNPDd0uFpesdLY6xttxcUjpOUepcdlawUMd9Kg5tfQEljKPyYJxjjrFHv8pCtNfyVBA==","signatures":[{"sig":"MEUCIQDb3NNuFKdddXxpkJ4oXBps5wZqLFTP9Q9d6/O9aSyaOgIgbj3DCzSRBRxMn8bCbEqaR1ZxyeZwFnrcEDJVlU57FMg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":169256},"jest":{"preset":"ts-jest","testEnvironment":"node","coverageReporters":["lcov","text","html"],"collectCoverageFrom":["src/**/*"]},"main":"build/index.js","types":"build/index.d.ts","engines":{"node":">=18"},"gitHead":"d370f591aaa530bc42f21554212499f44a7d60d8","scripts":{"dev":"nodemon try-me.ts","test":"jest --coverage","build":"tsc","clean":"rimraf coverage build","compile":"tsc --watch","release":"release-it","dev:debug":"nodemon --exec 'node --inspect --require ts-node/register try-me.ts'","release-dr":"release-it --dry-run --release-version --changelog","test:debug":"node --inspect node_modules/.bin/jest --runInBand --no-colors --verbose --watch --coverage false","test:watch":"jest --watch"},"_npmUser":{"name":"theruler","email":"santoshg550@gmail.com"},"release-it":{"git":{"commit":true,"commitMessage":"Chore: Release ${version}","requireUpstream":false},"hooks":{"before:init":["npm run clean","npm run build","npm run test"]},"github":{"release":true}},"repository":{"url":"git+https://github.com/techntools/sequelize-to-openapi.git","type":"git"},"_npmVersion":"11.12.1","description":"OpenAPI 3 schemas from Sequelize models","directories":{},"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","mysql2":"^3.16.3","rimraf":"^6.1.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","sequelize":"^6.37.7","release-it":"^19.2.4","typescript":"^5.9.3","@types/jest":"^30.0.0","ajv-formats":"^3.0.1","ajv-keywords":"^5.1.0","@apidevtools/swagger-parser":"^12.1.0","@release-it/conventional-changelog":"^10.0.5"},"_npmOperationalInternal":{"tmp":"tmp/sequelize-to-openapi_1.4.1_1785876751783_0.29424820829672993","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"@techntools/sequelize-to-openapi","version":"1.5.0","keywords":["typescript","javascript","sequelize","json-schema","strategy-pattern","swagger","openapi","oas","oasv3"],"author":{"url":"https://github.com/techntools/sequelize-to-openapi","name":"Santosh Bandichode"},"license":"MIT","_id":"@techntools/sequelize-to-openapi@1.5.0","maintainers":[{"name":"theruler","email":"santoshg550@gmail.com"}],"homepage":"https://github.com/techntools/sequelize-to-openapi#readme","bugs":{"url":"https://github.com/techntools/sequelize-to-openapi/issues"},"dist":{"shasum":"6b10bc59527f8aade782dc55286fc373034b4fc1","tarball":"https://registry.npmjs.org/@techntools/sequelize-to-openapi/-/sequelize-to-openapi-1.5.0.tgz","fileCount":25,"integrity":"sha512-h3JX/EaYzWxpyTREfohBpqrw5p0SeDmeoDNEwKZsycvy99HdXbScaytFhjSDI+MAOrDl/WZZmnKOvBwe1HFMfQ==","signatures":[{"sig":"MEUCIA2Zvq4R17TQVCKR0uWSue2hgFZfWLcU8U4NwVnlBr5KAiEArfeuADRE/UC717QEVD/6vb210G+hBSEc/P9A3KXn+2c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":169273},"jest":{"preset":"ts-jest","testEnvironment":"node","coverageReporters":["lcov","text","html"],"collectCoverageFrom":["src/**/*"]},"main":"build/index.js","types":"build/index.d.ts","engines":{"node":">=18"},"gitHead":"f54a62e4e4a9ac375a19a83e85ddc4f9d53c962e","scripts":{"dev":"nodemon try-me.ts","test":"jest --coverage","build":"tsc","clean":"rimraf coverage build","compile":"tsc --watch","release":"release-it","dev:debug":"nodemon --exec 'node --inspect --require ts-node/register try-me.ts'","release-dr":"release-it --dry-run --release-version --changelog","test:debug":"node --inspect node_modules/.bin/jest --runInBand --no-colors --verbose --watch --coverage false","test:watch":"jest --watch"},"_npmUser":{"name":"theruler","email":"santoshg550@gmail.com"},"release-it":{"git":{"commit":true,"commitMessage":"Chore: Release ${version}","requireUpstream":false},"hooks":{"before:init":["npm run clean","npm run build","npm run test"]},"github":{"release":true}},"repository":{"url":"git+https://github.com/techntools/sequelize-to-openapi.git","type":"git"},"_npmVersion":"11.12.1","description":"OpenAPI 3 schemas from Sequelize models","directories":{},"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","mysql2":"^3.16.3","rimraf":"^6.1.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","sequelize":"^6.37.7","release-it":"^19.2.4","typescript":"^5.9.3","@types/jest":"^30.0.0","ajv-formats":"^3.0.1","ajv-keywords":"^5.1.0","@apidevtools/swagger-parser":"^12.1.0","@release-it/conventional-changelog":"^10.0.5"},"_npmOperationalInternal":{"tmp":"tmp/sequelize-to-openapi_1.5.0_1785876999508_0.9097186527275563","host":"s3://npm-registry-packages-npm-production"}},"1.5.1":{"name":"@techntools/sequelize-to-openapi","version":"1.5.1","keywords":["typescript","javascript","sequelize","json-schema","strategy-pattern","swagger","openapi","oas","oasv3"],"author":{"url":"https://github.com/techntools/sequelize-to-openapi","name":"Santosh Bandichode"},"license":"MIT","_id":"@techntools/sequelize-to-openapi@1.5.1","maintainers":[{"name":"theruler","email":"santoshg550@gmail.com"}],"homepage":"https://github.com/techntools/sequelize-to-openapi#readme","bugs":{"url":"https://github.com/techntools/sequelize-to-openapi/issues"},"dist":{"shasum":"1d4e986240fcee77cf8554c8799c4b45e6df7b65","tarball":"https://registry.npmjs.org/@techntools/sequelize-to-openapi/-/sequelize-to-openapi-1.5.1.tgz","fileCount":25,"integrity":"sha512-01+fXTSJSJ5MpBq7rx28tBJkX3N2GIRlu4IGWL23w3jTxziQdfkDWYcn2POV97HsvFpLG8s99Je2mTJQtapydg==","signatures":[{"sig":"MEUCIQDwnsfnRUjV9YmLOEeQryKufvbqS8FanHARgE9Kl8C4JwIgYeF3usfBQsdHGoWdfw6i55+4AWk2xl6HOlBsFx+SzOw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":168851},"jest":{"preset":"ts-jest","testEnvironment":"node","coverageReporters":["lcov","text","html"],"collectCoverageFrom":["src/**/*"]},"main":"build/index.js","types":"build/index.d.ts","engines":{"node":">=18"},"gitHead":"5bd43604f755aa66cef72ee50cace33b0f395f4d","scripts":{"dev":"nodemon try-me.ts","test":"jest --coverage","build":"tsc","clean":"rimraf coverage build","compile":"tsc --watch","release":"release-it","dev:debug":"nodemon --exec 'node --inspect --require ts-node/register try-me.ts'","release-dr":"release-it --dry-run --release-version --changelog","test:debug":"node --inspect node_modules/.bin/jest --runInBand --no-colors --verbose --watch --coverage false","test:watch":"jest --watch"},"_npmUser":{"name":"theruler","email":"santoshg550@gmail.com"},"release-it":{"git":{"commit":true,"commitMessage":"Chore: Release ${version}","requireUpstream":false},"hooks":{"before:init":["npm run clean","npm run build","npm run test"]},"github":{"release":true}},"repository":{"url":"git+https://github.com/techntools/sequelize-to-openapi.git","type":"git"},"_npmVersion":"11.12.1","description":"OpenAPI 3 schemas from Sequelize models","directories":{},"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","mysql2":"^3.16.3","rimraf":"^6.1.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","sequelize":"^6.37.7","release-it":"^19.2.4","typescript":"^5.9.3","@types/jest":"^30.0.0","ajv-formats":"^3.0.1","ajv-keywords":"^5.1.0","@apidevtools/swagger-parser":"^12.1.0","@release-it/conventional-changelog":"^10.0.5"},"_npmOperationalInternal":{"tmp":"tmp/sequelize-to-openapi_1.5.1_1785877468585_0.8927853979567466","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@techntools/sequelize-to-openapi","version":"2.0.0","description":"OpenAPI 3 schemas from Sequelize models","publishConfig":{"access":"public"},"main":"build/index.js","types":"build/index.d.ts","scripts":{"clean":"rimraf coverage build","build":"tsc","compile":"tsc --watch","dev":"nodemon try-me.ts","dev:debug":"nodemon --exec 'node --inspect --require ts-node/register try-me.ts'","test":"jest --coverage","test:watch":"jest --watch","test:debug":"node --inspect node_modules/.bin/jest --runInBand --no-colors --verbose --watch --coverage false","release":"release-it","release-dr":"release-it --dry-run --release-version --changelog"},"keywords":["typescript","javascript","sequelize","json-schema","strategy-pattern","swagger","openapi","oas","oasv3"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/techntools/sequelize-to-openapi.git"},"author":{"name":"Santosh Bandichode","url":"https://github.com/techntools/sequelize-to-openapi"},"bugs":{"url":"https://github.com/techntools/sequelize-to-openapi/issues"},"engines":{"node":">=18"},"devDependencies":{"@apidevtools/swagger-parser":"^12.1.0","@release-it/conventional-changelog":"^10.0.5","@types/jest":"^30.0.0","ajv-formats":"^3.0.1","ajv-keywords":"^5.1.0","jest":"^30.2.0","mysql2":"^3.16.3","release-it":"^19.2.4","rimraf":"^6.1.2","sequelize":"^6.37.7","ts-jest":"^29.4.6","ts-node":"^10.9.2","typescript":"^5.9.3"},"jest":{"preset":"ts-jest","testEnvironment":"node","coverageReporters":["lcov","text","html"],"collectCoverageFrom":["src/**/*"]},"release-it":{"git":{"commit":true,"commitMessage":"Chore: Release ${version}","requireUpstream":false},"github":{"release":true},"hooks":{"before:init":["npm run clean","npm run build","npm run test"]}},"gitHead":"969069911fb583b7737124a60e9bb299931ceac1","_id":"@techntools/sequelize-to-openapi@2.0.0","homepage":"https://github.com/techntools/sequelize-to-openapi#readme","_nodeVersion":"24.15.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-a1TFsucnsgP5yPVGi2InIUkqigfaPwFSkGZ0gzHLMjgBoPBLpzpk4ufXd2H/MJKqOPOSWCWVrVex/E38OK7cRg==","shasum":"44833ffea5faa9696c43e5852cb10ce77b015980","tarball":"https://registry.npmjs.org/@techntools/sequelize-to-openapi/-/sequelize-to-openapi-2.0.0.tgz","fileCount":25,"unpackedSize":170183,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDw2FVcrwrL3MqEYtRjOwdP5CeP5U8Ku+NBRoo0sTwK9gIhAOv2TUEv1qwrTO/tpGklhDQ1qiOA5XFbIhacao70XV1B"}]},"_npmUser":{"name":"theruler","email":"santoshg550@gmail.com"},"directories":{},"maintainers":[{"name":"theruler","email":"santoshg550@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sequelize-to-openapi_2.0.0_1785878931821_0.9597084545947514"},"_hasShrinkwrap":false}},"time":{"created":"2024-06-23T10:19:20.945Z","modified":"2026-08-04T21:28:52.160Z","0.4.2":"2024-06-21T16:57:26.234Z","0.4.3":"2024-06-21T18:29:19.453Z","0.4.4":"2024-06-22T06:48:58.676Z","0.4.5":"2024-06-22T14:35:57.276Z","0.4.6":"2024-06-23T09:44:16.546Z","0.4.7":"2024-06-23T09:51:52.974Z","0.4.8":"2024-06-23T10:08:14.176Z","0.4.9":"2024-06-23T10:19:21.226Z","1.0.0":"2025-01-25T11:00:03.138Z","1.1.0":"2026-02-07T14:06:28.719Z","1.2.0":"2026-02-08T09:32:11.328Z","1.2.1":"2026-02-08T12:02:09.610Z","1.3.0":"2026-02-09T14:47:57.512Z","1.4.0":"2026-02-12T12:29:38.898Z","1.4.1":"2026-08-04T20:52:31.926Z","1.5.0":"2026-08-04T20:56:39.645Z","1.5.1":"2026-08-04T21:04:28.745Z","2.0.0":"2026-08-04T21:28:51.966Z"},"bugs":{"url":"https://github.com/techntools/sequelize-to-openapi/issues"},"author":{"name":"Santosh Bandichode","url":"https://github.com/techntools/sequelize-to-openapi"},"license":"MIT","homepage":"https://github.com/techntools/sequelize-to-openapi#readme","keywords":["typescript","javascript","sequelize","json-schema","strategy-pattern","swagger","openapi","oas","oasv3"],"repository":{"type":"git","url":"git+https://github.com/techntools/sequelize-to-openapi.git"},"description":"OpenAPI 3 schemas from Sequelize models","maintainers":[{"name":"theruler","email":"santoshg550@gmail.com"}],"readme":"## Sequelize To OpenAPI\n\nBased on [sequelize-to-json-schemas](https://github.com/alt3/sequelize-to-json-schemas)\n\nWith following changes:\n\n1. Rewrite in TypeScript\n2. Added OpenAPI validations based on Sequelize validations\n3. Only OpenAPI is supported.\n4. Focused only on Sequelize 6\n\n## Installation\n\n```bash\nnpm install --save @techntools/sequelize-to-openapi\n```\n\n## Usage\n\n```typescript\nimport { SchemaManager, OpenApiStrategy } from '@techntools/sequelize-to-openapi'\n\nconst schemaManager = new SchemaManager\nconst strategy = new OpenApiStrategy\n\noapi.schema('User', schemaManager.generate(UserModel, strategy))\n```\n\n## Configuration Options\n\nStarting from 1.0.0, additional properties can be rejected\n\n```typescript\nconst strategy = new OpenApiStrategy({ additionalProperties: false })\n```\n\nPass (per) model options to the generate() method:\n\n```typescript\nconst userSchema = schemaManager.generate(userModel, strategy, {\n    exclude: ['someAttribute'],\n    include: ['someAttribute'],\n    associations: true,\n    excludeAssociations: ['someAssociation'],\n    includeAssociations: ['someAssociation'],\n});\n```\n\n`title` and `description` are dropped.\n\n`jsonSchema` and `schema` works the same as sequelize-to-json-schemas.\n\nStarting from 1.0.0, associations are excluded by default.\n\nAssociation types that are not one of `HasOne`, `BelongsTo`, `HasMany`, or `BelongsToMany` are silently dropped from the generated schema without a warning.\n\nNames listed in `include`, `exclude`, `includeAssociations`, or `excludeAssociations` that do not match any model attribute or association are silently ignored.\n\n## Validators\n\nFollowing validators are supported:\n\n| Sequelize | OpenAPI Keyword             |\n| :-------- | :-------------------------- |\n| min       | minimum                     |\n| max       | maximum                     |\n| len       | minLength/maxLength         |\n| notEmpty  | minLength                   |\n| notIn     | `{ not: { enum: [] } }`<br> |\n\n| Sequelize | OpenAPI Format |\n| :-------- | :------------- |\n| isEmail   | email          |\n| isUrl     | url            |\n| isUUID    | uuid           |\n\n| Sequelize      | OpenAPI Pattern                                                                             |\n| :------------- | :------------------------------------------------------------------------------------------ |\n| isAlpha        | `^[a-zA-Z]+$`                                                                               |\n| isNumeric      | `^[0-9]+$`                                                                                  |\n| isAlphanumeric | `^[a-zA-Z0-9]+$`                                                                            |\n| isLowercase    | `^[a-z]+$`                                                                                  |\n| isUppercase    | `^[A-Z]+$`                                                                                  |\n| contains       | `^.*' + val + '.*$`                                                                         |\n| notContains    | `^(?!.*' + val + ').*$`<br><br>With array:<br><br>`^(?!.*(' + val.args.join('\\|') + ')).*$` |\n\n| Sequelize                              | AJV                                                    |\n| -------------------------------------- | ------------------------------------------------------ |\n| `is` as string                         | `{ regexp: '' }`                                       |\n| `is` as RegExp                         | `{ regexp: '' }`                                       |\n| `is` as `{ args: '', msg }`            | `{ regexp: '' }`                                       |\n| `is` as `{ args: RegExp, msg }`        | `{ regexp: '' }`                                       |\n| `is` as `{ args: ['pat', 'f'], msg }`  | `{ regexp: { pattern: pat, flag: f }}`                 |\n| `is` as array                          | `{ regexp: { pattern: val[0], flag: val[1] }}`         |\n| `not` as string                        | `{ not: { regexp: '' }}`                               |\n| `not` as RegExp                        | `{ not: { regexp: '' }}`                               |\n| `not` as `{ args: '', msg }`           | `{ not: { regexp: '' }}`                               |\n| `not` as `{ args: RegExp, msg }`       | `{ not: { regexp: '' }}`                               |\n| `not` as `{ args: ['pat', 'f'], msg }` | `{ not: { regexp: { pattern: pat, flag: f }}}`         |\n| `not` as array                         | `{ not: { regexp: { pattern: val[0], flag: val[1] }}}` |\n\n## Case with regular expression\n\nFlags such as i, g etc. are not supported in OpenAPI. Sequelize can use string or RegExp class for regex. So, to avoid these limitations, I have used `regexp` keyword from [ajv-keywords](https://github.com/ajv-validator/ajv-keywords) package for `is` and `not` validators.\n\nThis makes generated OpenAPI schema not fully compliant with the standard. But you can drop those validators if you face issues.\n\n## Range Data Type\n\nPostgres RANGE data type is supported for INTEGER, DECIMAL, BIGINT, DATE, and DATEONLY. Modify the schema as you see fit:\n\n```json\n{\n    \"items\": {\n        \"anyOf\": [\n            {\n                \"type\": \"object\",\n                \"properties\": {\n                    \"value\": {\n                        \"type\": \"string\",\n                        \"format\": \"date\"\n                    },\n                    \"inclusive\": {\n                        \"type\": \"boolean\"\n                    }\n                },\n                \"required\": [\n                    \"value\",\n                    \"inclusive\"\n                ],\n                \"additionalProperties\": false\n            },\n            {\n                \"type\": \"string\",\n                \"nullable\": true,\n                \"format\": \"date\"\n            }\n        ]\n    },\n    \"uniqueItems\": true,\n    \"minItems\": 2,\n    \"maxItems\": 2,\n    \"daterange\": true\n}\n\n{\n    \"items\": {\n        \"anyOf\": [\n            {\n                \"type\": \"object\",\n                \"properties\": {\n                    \"value\": {\n                        \"type\": \"integer\"\n                    },\n                    \"inclusive\": {\n                        \"type\": \"boolean\"\n                    }\n                },\n                \"required\": [\n                    \"value\",\n                    \"inclusive\"\n                ],\n                \"additionalProperties\": false\n            },\n            {\n                \"type\": \"integer\",\n                \"nullable\": true\n            }\n        ]\n    },\n    \"uniqueItems\": true,\n    \"minItems\": 2,\n    \"maxItems\": 2,\n    \"range\": true\n}\n```\n\nCustom ajv keywords `range` and `daterange` are optional and are used to check `start < end`.\n\n```typescript\najv.addKeyword({\n    keyword: 'daterange',\n    type: 'array',\n    validate(_: JSONType, data: JSONType) {\n        if (data[0] === null || data[1] === null)\n            return true\n\n        let start: string | null = null\n        let end: string | null = null\n\n        if (typeof data[0] === 'object')\n            start = data[0]!['value']\n\n        if (typeof data[0] === 'string')\n            start = data[0]\n\n        if (typeof data[1] === 'object')\n            end = data[1]!['value']\n\n        if (typeof data[1] === 'string')\n            end = data[1]\n\n        if (start === null || end === null)\n            return true\n\n        const startDate = new Date(start)\n        const endDate = new Date(end)\n\n        return startDate < endDate\n    },\n    errors: true\n})\n\najv.addKeyword({\n    keyword: 'range',\n    type: 'array',\n    validate(_: JSONType, data: JSONType | JSONType[]) {\n        if (data[0] === null || data[1] === null)\n            return true\n\n        let start: string | number | null = null\n        let end: string | number | null = null\n\n        if (typeof data[0] === 'object')\n            start = data[0]!['value']\n\n        if (typeof data[0] === 'string' || typeof data[0] === 'number')\n            start = data[0]\n\n        if (typeof data[1] === 'object')\n            end = data[1]!['value']\n\n        if (typeof data[1] === 'string' || typeof data[1] === 'number')\n            end = data[1]\n\n        if (start !== null && end !== null)\n            return start < end\n\n        return data[0] < data[1]\n    },\n    errors: true\n})\n```\n\n## HSTORE Data Type\n\nPostgres HSTORE is supported with following schema:\n\n```json\n{\n    \"type\": \"object\",\n    \"properties\": {\n        \"HSTORE\": {\n            \"type\": \"object\",\n            \"nullable\": true,\n            \"additionalProperties\": {\n                \"type\": \"string\",\n                \"nullable\": true\n            }\n        }\n    },\n    \"additionalProperties\": false\n}\n```\n\n## GEOMETRY and GEOGRAPHY Data Types\n\nPOINT, LINESTRING, POLYGON specific schemas are supported. If they are not mentioned, all inclusive larger schema is supported as well.\n\nSchema for `DataTypes.GEOMETRY('POINT', 4326)`:\n\n```json\n{\n    \"type\": \"object\",\n    \"properties\": {\n        \"type\": {\n            \"type\": \"string\",\n            \"enum\": [\n                \"POINT\"\n            ]\n        },\n        \"coordinates\": {\n            \"type\": \"array\",\n            \"items\": {\n                \"type\": \"number\"\n            },\n            \"minItems\": 2,\n            \"maxItems\": 3\n        },\n        \"crs\": {\n            \"type\": \"object\",\n            \"properties\": {\n                \"type\": {\n                    \"type\": \"string\",\n                    \"minLength\": 1\n                },\n                \"properties\": {\n                    \"type\": \"object\",\n                    \"properties\": {\n                        \"name\": {\n                            \"type\": \"string\",\n                            \"minLength\": 1\n                        }\n                    },\n                    \"required\": [\n                        \"name\"\n                    ]\n                }\n            },\n            \"required\": [\n                \"type\",\n                \"properties\"\n            ]\n        }\n    },\n    \"required\": [\n        \"type\",\n        \"coordinates\"\n    ],\n    \"nullable\": true\n}\n```\n\nSchema for `DataTypes.GEOMETRY`:\n\n```json\n{\n    \"type\": \"object\",\n    \"properties\": {\n        \"type\": {\n            \"type\": \"string\",\n            \"enum\": [\n                \"POINT\",\n                \"LINESTRING\",\n                \"POLYGON\"\n            ]\n        },\n        \"coordinates\": {\n            \"oneOf\": [\n                {\n                    \"type\": \"array\",\n                    \"items\": {\n                        \"type\": \"number\"\n                    },\n                    \"minItems\": 2,\n                    \"maxItems\": 3\n                },\n                {\n                    \"type\": \"array\",\n                    \"items\": {\n                        \"type\": \"array\",\n                        \"items\": {\n                            \"type\": \"number\"\n                        },\n                        \"minItems\": 2,\n                        \"maxItems\": 3\n                    },\n                    \"minItems\": 2\n                },\n                {\n                    \"type\": \"array\",\n                    \"items\": {\n                        \"type\": \"array\",\n                        \"items\": {\n                            \"type\": \"array\",\n                            \"items\": {\n                                \"type\": \"number\"\n                            },\n                            \"minItems\": 2,\n                            \"maxItems\": 3\n                        },\n                        \"minItems\": 4\n                    }\n                }\n            ]\n        },\n        \"crs\": {\n            \"type\": \"object\",\n            \"properties\": {\n                \"type\": {\n                    \"type\": \"string\",\n                    \"minLength\": 1\n                },\n                \"properties\": {\n                    \"type\": \"object\",\n                    \"properties\": {\n                        \"name\": {\n                            \"type\": \"string\",\n                            \"minLength\": 1\n                        }\n                    },\n                    \"required\": [\n                        \"name\"\n                    ]\n                }\n            },\n            \"required\": [\n                \"type\",\n                \"properties\"\n            ]\n        }\n    },\n    \"required\": [\n        \"type\",\n        \"coordinates\"\n    ],\n    \"nullable\": true\n}\n```\n\n## Demo\n\nCheck my [repo](https://github.com/techntools/sequelize-to-openapi-demo) for usage of the package. It uses sequelize-typescript.\n\nVisit the OpenAPI documentation powered by [scalar](https://www.scalar.com/)\n\n[express-openapi](https://github.com/wesleytodd/express-openapi) generates OpenAPI spec\n\n## License\n\nThis project is released under [MIT LICENSE](https://github.com/techntools/sequelize-to-openapi/blob/master/LICENSE.txt)\n\n## Contributing\n\n1. Keep the changes small\n2. Add the tests\n3. Existing tests have to pass\n\n## Credits\n\nFull credits to the authors and contributors of [sequelize-to-json-schemas](https://github.com/alt3/sequelize-to-json-schemas) for the great work\n","readmeFilename":"README.md"}