{"_id":"@alt-javascript/jsdbc-core","_rev":"3-a96dc8c1ce8e28cea7d57e320fca3d7d","name":"@alt-javascript/jsdbc-core","dist-tags":{"latest":"1.2.0"},"versions":{"1.0.0":{"name":"@alt-javascript/jsdbc-core","version":"1.0.0","keywords":["jsdbc","jdbc","database","sql","driver","datasource","resultset","connection","pool","connection-pool"],"author":{"name":"Craig Parravicini"},"license":"MIT","_id":"@alt-javascript/jsdbc-core@1.0.0","maintainers":[{"name":"craigparra","email":"craigparra@gmail.com"}],"contributors":[{"url":"Anthropic","name":"Claude"}],"homepage":"https://github.com/alt-javascript/jsdbc/tree/main/packages/core#readme","bugs":{"url":"https://github.com/alt-javascript/jsdbc/issues"},"dist":{"shasum":"9559040c27e9d2b0a438a4cf79795da4271f34cd","tarball":"https://registry.npmjs.org/@alt-javascript/jsdbc-core/-/jsdbc-core-1.0.0.tgz","fileCount":19,"integrity":"sha512-ulBVe0Ky0lFBPjz9KP2qywF+4NEEZHdcali3zFj0ui9qlohZag785i4/IvhLuTWerHvvvneZWnkMr2BeAIJ1uA==","signatures":[{"sig":"MEUCIGU5Rc7kJZFkT+2bY9u8FgKQ2jyjyg9AohnCV8RLI5wXAiEAlecPQKymYRsDKuHSikSKaqx/HCpYdlvie1kPZFX4tS4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":49736},"main":"index.js","type":"module","gitHead":"cb11bcfac234e6e38e0dafe1b3cd6be438404c03","scripts":{"test":"mocha --recursive test/**/*.spec.js"},"_npmUser":{"name":"craigparra","email":"craigparra@gmail.com"},"repository":{"url":"git+https://github.com/alt-javascript/jsdbc.git","type":"git","directory":"packages/core"},"_npmVersion":"11.12.0","description":"JSDBC core interfaces — Driver, Connection, Statement, ResultSet, DataSource, DriverManager","directories":{},"_nodeVersion":"24.14.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.7","mocha":"^10.2.0"},"_npmOperationalInternal":{"tmp":"tmp/jsdbc-core_1.0.0_1773967809543_0.20914782597000103","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@alt-javascript/jsdbc-core","version":"1.1.1","keywords":["jsdbc","jdbc","database","sql","driver","datasource","resultset","connection","pool","connection-pool"],"author":{"name":"Craig Parravicini"},"license":"MIT","_id":"@alt-javascript/jsdbc-core@1.1.1","maintainers":[{"name":"craigparra","email":"craigparra@gmail.com"}],"contributors":[{"url":"Anthropic","name":"Claude"}],"homepage":"https://github.com/alt-javascript/jsdbc/tree/main/packages/core#readme","bugs":{"url":"https://github.com/alt-javascript/jsdbc/issues"},"dist":{"shasum":"c5b662e8c53e3da98cd97856fab2a5f5fd717d34","tarball":"https://registry.npmjs.org/@alt-javascript/jsdbc-core/-/jsdbc-core-1.1.1.tgz","fileCount":19,"integrity":"sha512-tiADkQTjE3lUinIGV4FRzkpQBX8F8ABz/HGf7hxGKDWgsX46HraYU9JENiHkgMmFq/rLkVybDUjPvo1dPlv1tA==","signatures":[{"sig":"MEUCIH/JvicA2+pZ06Au3la2Bl28DCeKgzWLQeB7I7ldFcROAiEAy97vb9/2XAEVJ4A9+1oAaXrjayHatVjMrpErRsZBtqw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":49736},"main":"index.js","type":"module","gitHead":"0769b436f75d65bb153cdb9cf00186f464416cff","scripts":{"test":"mocha --recursive test/**/*.spec.js"},"_npmUser":{"name":"craigparra","email":"craigparra@gmail.com"},"repository":{"url":"git+https://github.com/alt-javascript/jsdbc.git","type":"git","directory":"packages/core"},"_npmVersion":"11.12.0","description":"JSDBC core interfaces — Driver, Connection, Statement, ResultSet, DataSource, DriverManager","directories":{},"_nodeVersion":"24.14.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.7","mocha":"^10.2.0"},"_npmOperationalInternal":{"tmp":"tmp/jsdbc-core_1.1.1_1774504394270_0.7488971123697037","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@alt-javascript/jsdbc-core","version":"1.2.0","description":"JSDBC core interfaces — Driver, Connection, Statement, ResultSet, DataSource, DriverManager","keywords":["jsdbc","jdbc","database","sql","driver","datasource","resultset","connection","pool","connection-pool"],"publishConfig":{"registry":"https://registry.npmjs.org/","access":"public"},"homepage":"https://github.com/alt-javascript/jsdbc/tree/main/packages/core#readme","repository":{"type":"git","url":"git+https://github.com/alt-javascript/jsdbc.git","directory":"packages/core"},"type":"module","main":"index.js","scripts":{"test":"mocha --recursive test/**/*.spec.js"},"devDependencies":{"chai":"^4.3.7","mocha":"^10.2.0"},"author":{"name":"Craig Parravicini"},"contributors":[{"name":"Claude","url":"Anthropic"}],"license":"MIT","gitHead":"29c62c831f3b9c6007b21904aba69c61281ffd41","_id":"@alt-javascript/jsdbc-core@1.2.0","bugs":{"url":"https://github.com/alt-javascript/jsdbc/issues"},"_nodeVersion":"24.14.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-oIb4CqR30G4WpCCMM1iNEQxT6Ec6E4QGe6eilhcgXaqzdcReEm8Lo6kMQ9ag8K6WCoXmAhm/J7mzILWcoZyZ9g==","shasum":"452ecb716e5fe7a655904dc190c86d340aea9191","tarball":"https://registry.npmjs.org/@alt-javascript/jsdbc-core/-/jsdbc-core-1.2.0.tgz","fileCount":19,"unpackedSize":50237,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIGUoYW2j3gplicx3ygxGz8/GHGZ6NI8hnGWVzviLnLzSAiBz/s1XJpyIiICroM/OvE1z5pdwOuZGFbFM8bvpIZwzKg=="}]},"_npmUser":{"name":"craigparra","email":"craigparra@gmail.com"},"directories":{},"maintainers":[{"name":"craigparra","email":"craigparra@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/jsdbc-core_1.2.0_1774900889401_0.10860341591940115"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-20T00:50:09.435Z","modified":"2026-03-30T20:01:29.683Z","1.0.0":"2026-03-20T00:50:09.738Z","1.1.1":"2026-03-26T05:53:14.438Z","1.2.0":"2026-03-30T20:01:29.525Z"},"bugs":{"url":"https://github.com/alt-javascript/jsdbc/issues"},"author":{"name":"Craig Parravicini"},"license":"MIT","homepage":"https://github.com/alt-javascript/jsdbc/tree/main/packages/core#readme","keywords":["jsdbc","jdbc","database","sql","driver","datasource","resultset","connection","pool","connection-pool"],"repository":{"type":"git","url":"git+https://github.com/alt-javascript/jsdbc.git","directory":"packages/core"},"description":"JSDBC core interfaces — Driver, Connection, Statement, ResultSet, DataSource, DriverManager","contributors":[{"name":"Claude","url":"Anthropic"}],"maintainers":[{"name":"craigparra","email":"craigparra@gmail.com"}],"readme":"# @alt-javascript/jsdbc-core\n\n[![Language](https://img.shields.io/badge/language-JavaScript-yellow.svg)](https://developer.mozilla.org/en-US/docs/Web/JavaScript)\n[![npm version](https://img.shields.io/npm/v/%40alt-javascript%2Fjsdbc-core)](https://www.npmjs.com/package/@alt-javascript/jsdbc-core)\n[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](https://opensource.org/licenses/MIT)\n[![CI](https://github.com/alt-javascript/jsdbc/actions/workflows/node.js.yml/badge.svg)](https://github.com/alt-javascript/jsdbc/actions/workflows/node.js.yml)\n\nCore interfaces for JSDBC — a JDBC-inspired database access facade for JavaScript. This package provides the abstract base classes that all JSDBC drivers implement.\n\n**Part of the [@alt-javascript/jsdbc](https://github.com/alt-javascript/jsdbc) monorepo.**\n\n## Install\n\n```bash\nnpm install @alt-javascript/jsdbc-core\n```\n\n## Interfaces\n\n| Class | Role |\n|---|---|\n| `Driver` | Creates connections to a specific database. Self-registers with `DriverManager`. |\n| `DriverManager` | Static registry. Matches JSDBC URLs to registered drivers. |\n| `Connection` | A session to a database. Creates statements, manages transactions. |\n| `Statement` | Executes ad-hoc SQL (DDL). |\n| `PreparedStatement` | Executes parameterised SQL with `?` placeholders (DML, queries). |\n| `ResultSet` | Query results with cursor-based and bulk access. |\n| `DataSource` | Connection factory. Create once, call `getConnection()` per unit of work. |\n| `SingleConnectionDataSource` | Returns the same connection repeatedly. For in-memory databases. |\n\n## Usage\n\nYou don't use `jsdbc-core` alone — install it alongside a driver:\n\n```bash\nnpm install @alt-javascript/jsdbc-core @alt-javascript/jsdbc-sqlite\n```\n\n```javascript\nimport { DataSource } from '@alt-javascript/jsdbc-core';\nimport '@alt-javascript/jsdbc-sqlite'; // self-registers\n\nconst ds = new DataSource({ url: 'jsdbc:sqlite:./myapp.db' });\nconst conn = await ds.getConnection();\n\nconst ps = await conn.prepareStatement('SELECT * FROM users WHERE id = ?');\nps.setParameter(1, 42);\nconst rs = await ps.executeQuery();\nconsole.log(rs.getRows());\n\nrs.close();\nawait conn.close();\n```\n\n## Writing a Driver\n\nImplement four classes extending the core abstractions. See the [Driver Guide](https://github.com/alt-javascript/jsdbc/blob/main/docs/driver-guide.md).\n\n## License\n\nMIT\n","readmeFilename":"README.md"}