{"_id":"@alt-javascript/jsnosqlc-memory","_rev":"4-389e63c034a2f68f6b3034723094dcdb","name":"@alt-javascript/jsnosqlc-memory","dist-tags":{"latest":"1.1.1"},"versions":{"1.0.0":{"name":"@alt-javascript/jsnosqlc-memory","version":"1.0.0","keywords":["jsnoslqc","nosql","memory","in-memory","driver","testing"],"author":{"name":"Craig Parravicini"},"license":"MIT","_id":"@alt-javascript/jsnosqlc-memory@1.0.0","maintainers":[{"name":"craigparra","email":"craigparra@gmail.com"}],"contributors":[{"url":"Anthropic","name":"Claude"}],"homepage":"https://github.com/alt-javascript/jsnosqlc/tree/main/packages/memory#readme","bugs":{"url":"https://github.com/alt-javascript/jsnosqlc/issues"},"dist":{"shasum":"b7c625c4e73915fcb70aaf372d0ff8e3f2332e27","tarball":"https://registry.npmjs.org/@alt-javascript/jsnosqlc-memory/-/jsnosqlc-memory-1.0.0.tgz","fileCount":8,"integrity":"sha512-fBq7eLaG38jgrFiJ40SJSMcTXhtMXw57U5pUVxYK7js07ggT4clodOp5z7/y6G9GWe/HOSPxEJSaccN3DepR9g==","signatures":[{"sig":"MEUCID4ZYdFHx2KOVtmqYuS0Feu22SQxxH8tei0oOSxWOnlfAiEAtVzrLRuwQ9ItBjr6uoLwxCukDOry//qwOS134ExP/bg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alt-javascript%2fjsnosqlc-memory@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":10774},"main":"index.js","type":"module","gitHead":"80cfedbe5f530e7635cfab7c720cbc230731406c","scripts":{"test":"mocha --recursive 'test/**/*.spec.js'"},"_npmUser":{"name":"craigparra","email":"craigparra@gmail.com"},"repository":{"url":"git+https://github.com/alt-javascript/jsnosqlc.git","type":"git","directory":"packages/memory"},"_npmVersion":"10.8.2","description":"JSNOSLQC in-memory driver — for testing and offline development","directories":{},"_nodeVersion":"20.20.1","dependencies":{"@alt-javascript/jsnosqlc-core":"*"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.7","mocha":"^10.2.0"},"_npmOperationalInternal":{"tmp":"tmp/jsnosqlc-memory_1.0.0_1774353593374_0.6130854030489274","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@alt-javascript/jsnosqlc-memory","version":"1.0.1","keywords":["jsnosqlc","nosql","memory","in-memory","driver","testing"],"author":{"name":"Craig Parravicini"},"license":"MIT","_id":"@alt-javascript/jsnosqlc-memory@1.0.1","maintainers":[{"name":"craigparra","email":"craigparra@gmail.com"}],"contributors":[{"url":"Anthropic","name":"Claude"}],"homepage":"https://github.com/alt-javascript/jsnosqlc/tree/main/packages/memory#readme","bugs":{"url":"https://github.com/alt-javascript/jsnosqlc/issues"},"dist":{"shasum":"da0bf6ad2e3cbdc992350cbda496405083c232e0","tarball":"https://registry.npmjs.org/@alt-javascript/jsnosqlc-memory/-/jsnosqlc-memory-1.0.1.tgz","fileCount":8,"integrity":"sha512-+EKqWgEEklIhFVzh7Ydny7ucDAQ+S/vDRYexiLC0HI9A/O6UtIlhiSvOUD+DfB5umIAKQjPkdBaby+20OXa7vg==","signatures":[{"sig":"MEYCIQDUGcAADp8nphsCSixmDR2BMMy7Um//lteqj2wgqUBwyAIhAOaBPDwlwN6SNtI9VMJ5O0YZ/hWx+sCzQRIB1AcZzxkb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alt-javascript%2fjsnosqlc-memory@1.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":10774},"main":"index.js","type":"module","gitHead":"8aa2fa0b3c0e0ab1bf7252b331fd5f468690fcf1","scripts":{"test":"mocha --recursive 'test/**/*.spec.js'"},"_npmUser":{"name":"craigparra","email":"craigparra@gmail.com"},"repository":{"url":"git+https://github.com/alt-javascript/jsnosqlc.git","type":"git","directory":"packages/memory"},"_npmVersion":"10.8.2","description":"JSNOSLQC in-memory driver — for testing and offline development","directories":{},"_nodeVersion":"20.20.1","dependencies":{"@alt-javascript/jsnosqlc-core":"*"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.7","mocha":"^10.2.0"},"_npmOperationalInternal":{"tmp":"tmp/jsnosqlc-memory_1.0.1_1774354017412_0.9053718513610542","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@alt-javascript/jsnosqlc-memory","version":"1.1.0","keywords":["jsnosqlc","nosql","memory","in-memory","driver","testing"],"author":{"name":"Craig Parravicini"},"license":"MIT","_id":"@alt-javascript/jsnosqlc-memory@1.1.0","maintainers":[{"name":"craigparra","email":"craigparra@gmail.com"}],"contributors":[{"url":"Anthropic","name":"Claude"}],"homepage":"https://github.com/alt-javascript/jsnosqlc/tree/main/packages/memory#readme","bugs":{"url":"https://github.com/alt-javascript/jsnosqlc/issues"},"dist":{"shasum":"6f92af7db05f1f1785cf54d99d49fd6f5d6f2960","tarball":"https://registry.npmjs.org/@alt-javascript/jsnosqlc-memory/-/jsnosqlc-memory-1.1.0.tgz","fileCount":10,"integrity":"sha512-R6vx7luYNOyOdbduygYfoD6WyDA/kld/YV/VI+yVQGcr8VvcsKQnbdsHmg77uH/Qw4fQ2druR8+0PtHLqm4fGw==","signatures":[{"sig":"MEQCIGSe+rm0eziz1zp1R8P+YBjxUlzFBQ+2FfhWMevM32BwAiBute/sl8M14kZwgGLd++x9Sp+qSkVstMVXfGoLPQiKXA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alt-javascript%2fjsnosqlc-memory@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":32958},"main":"index.js","type":"module","module":"dist/jsnosqlc-memory.esm.js","browser":"dist/jsnosqlc-memory.esm.js","exports":{".":{"import":"./index.js","browser":"./dist/jsnosqlc-memory.esm.js","default":"./index.js"}},"gitHead":"e7d60a970273edc4b55165e52762a1f36142c39b","scripts":{"test":"mocha --recursive 'test/**/*.spec.js'","build:browser":"rollup -c"},"_npmUser":{"name":"craigparra","email":"craigparra@gmail.com"},"repository":{"url":"git+https://github.com/alt-javascript/jsnosqlc.git","type":"git","directory":"packages/memory"},"_npmVersion":"10.8.2","description":"JSNOSLQC in-memory driver — for testing and offline development","directories":{},"sideEffects":["./MemoryDriver.js"],"_nodeVersion":"20.20.1","dependencies":{"@alt-javascript/jsnosqlc-core":"*"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.7","mocha":"^10.2.0","rollup":"*","@rollup/plugin-node-resolve":"*"},"_npmOperationalInternal":{"tmp":"tmp/jsnosqlc-memory_1.1.0_1774502338446_0.06319522504087471","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@alt-javascript/jsnosqlc-memory","version":"1.1.1","description":"JSNOSLQC in-memory driver — for testing and offline development","keywords":["jsnosqlc","nosql","memory","in-memory","driver","testing"],"publishConfig":{"registry":"https://registry.npmjs.org/","access":"public"},"homepage":"https://github.com/alt-javascript/jsnosqlc/tree/main/packages/memory#readme","repository":{"type":"git","url":"git+https://github.com/alt-javascript/jsnosqlc.git","directory":"packages/memory"},"type":"module","sideEffects":["./MemoryDriver.js"],"main":"index.js","module":"dist/jsnosqlc-memory.esm.js","browser":"dist/jsnosqlc-memory.esm.js","exports":{".":{"browser":"./dist/jsnosqlc-memory.esm.js","import":"./index.js","default":"./index.js"}},"scripts":{"build:browser":"rollup -c","test":"mocha --recursive 'test/**/*.spec.js'"},"dependencies":{"@alt-javascript/jsnosqlc-core":"*"},"devDependencies":{"@rollup/plugin-node-resolve":"*","chai":"^4.3.7","mocha":"^10.2.0","rollup":"*"},"author":{"name":"Craig Parravicini"},"contributors":[{"name":"Claude","url":"Anthropic"}],"license":"MIT","_id":"@alt-javascript/jsnosqlc-memory@1.1.1","gitHead":"20256a64a39eb4643b126a3996f360ade0aad2da","bugs":{"url":"https://github.com/alt-javascript/jsnosqlc/issues"},"_nodeVersion":"20.20.1","_npmVersion":"10.8.2","dist":{"integrity":"sha512-i0m4NXl0HP7Z6vR/s63N02gJPp+UUozCGptEIm7H6n4VX4V88fNUgb30qteyQ/O82MDePVlYrL1YWsczIaxOlw==","shasum":"bff1d2f6d466a8b00aea27cc022a1c646089c757","tarball":"https://registry.npmjs.org/@alt-javascript/jsnosqlc-memory/-/jsnosqlc-memory-1.1.1.tgz","fileCount":10,"unpackedSize":32958,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alt-javascript%2fjsnosqlc-memory@1.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIFYEUiMd/B4NFHtdlJ/jc3nZIr/k2e7XROZXStyREuwbAiEAsY5lFzcb31BYf2J69ujdaE9KojUtbd6mhsTb69zCkQI="}]},"_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/jsnosqlc-memory_1.1.1_1774503247243_0.9207968940658926"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-24T11:59:53.271Z","modified":"2026-03-26T05:34:07.647Z","1.0.0":"2026-03-24T11:59:53.510Z","1.0.1":"2026-03-24T12:06:57.570Z","1.1.0":"2026-03-26T05:18:58.615Z","1.1.1":"2026-03-26T05:34:07.376Z"},"bugs":{"url":"https://github.com/alt-javascript/jsnosqlc/issues"},"author":{"name":"Craig Parravicini"},"license":"MIT","homepage":"https://github.com/alt-javascript/jsnosqlc/tree/main/packages/memory#readme","keywords":["jsnosqlc","nosql","memory","in-memory","driver","testing"],"repository":{"type":"git","url":"git+https://github.com/alt-javascript/jsnosqlc.git","directory":"packages/memory"},"description":"JSNOSLQC in-memory driver — for testing and offline development","contributors":[{"name":"Claude","url":"Anthropic"}],"maintainers":[{"name":"craigparra","email":"craigparra@gmail.com"}],"readme":"# @alt-javascript/jsnosqlc-memory\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%2Fjsnosqlc-memory)](https://www.npmjs.com/package/@alt-javascript/jsnosqlc-memory)\n[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](https://opensource.org/licenses/MIT)\n[![CI](https://github.com/alt-javascript/jsnosqlc/actions/workflows/node.js.yml/badge.svg)](https://github.com/alt-javascript/jsnosqlc/actions/workflows/node.js.yml)\n\nIn-memory JSNOSLQC driver. Zero external dependencies. No server required. Ideal for unit tests and local development.\n\n**Part of the [@alt-javascript/jsnosqlc](https://github.com/alt-javascript/jsnosqlc) monorepo.**\n\n## Install\n\n```bash\nnpm install @alt-javascript/jsnosqlc-core @alt-javascript/jsnosqlc-memory\n```\n\n## Usage\n\n```javascript\nimport { DriverManager, Filter } from '@alt-javascript/jsnosqlc-core';\nimport '@alt-javascript/jsnosqlc-memory'; // self-registers with DriverManager\n\nconst client = await DriverManager.getClient('jsnosqlc:memory:');\nconst users = client.getCollection('users');\n\n// Store and retrieve by key\nawait users.store('u1', { name: 'Alice', age: 30, tags: ['admin'] });\nconst alice = await users.get('u1'); // { name: 'Alice', age: 30, tags: ['admin'] }\n\n// Insert with auto-assigned id\nconst id = await users.insert({ name: 'Bob', age: 25 });\nconst bob = await users.get(id);\n\n// Patch specific fields\nawait users.update('u1', { age: 31 }); // name and tags preserved\n\n// Query with filter\nconst filter = Filter.where('age').gt(25).and('tags').contains('admin').build();\nconst cursor = await users.find(filter);\nconst admins = cursor.getDocuments(); // [{ name: 'Alice', age: 31, tags: ['admin'] }]\n\n// Async iteration\nfor await (const user of await users.find(Filter.where('age').gte(18).build())) {\n  console.log(user.name);\n}\n\nawait client.close();\n```\n\n## URL\n\n```\njsnosqlc:memory:\n```\n\nEach call to `DriverManager.getClient('jsnosqlc:memory:')` creates an independent in-memory store. Collections are isolated per client instance.\n\n## ClientDataSource\n\n```javascript\nimport { ClientDataSource } from '@alt-javascript/jsnosqlc-core';\nimport '@alt-javascript/jsnosqlc-memory';\n\nconst ds = new ClientDataSource({ url: 'jsnosqlc:memory:' });\nconst client = await ds.getClient();\n```\n\n## When to Use\n\n- **Unit tests** — isolate business logic from external services with no setup\n- **Local development** — stand up the application without a running database\n- **Demos and prototypes** — no infrastructure required\n- **Driver development** — use as reference for implementing a new JSNOSLQC driver\n\n## Supported Operations\n\nAll six Collection operations are supported: `get`, `store`, `delete`, `insert`, `update`, `find`.\n\nAll ten Filter operators are supported: `eq`, `ne`, `gt`, `gte`, `lt`, `lte`, `contains`, `in`, `nin`, `exists`.\n\nCompound operators: `Filter.or()` and `.not()` are supported.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}