{"_id":"tinycoll","_rev":"7-59126e8fffeaf4dfed1335b7d615927a","name":"tinycoll","dist-tags":{"latest":"1.3.0"},"versions":{"0.0.1":{"name":"tinycoll","version":"0.0.1","author":{"name":"Stephan Meijer"},"license":"ISC","_id":"tinycoll@0.0.1","maintainers":[{"name":"smeijer","email":"stephan.meijer@gmail.com"}],"dist":{"shasum":"87c68c5f28b4f40683ea90b556005092b5a3437c","tarball":"https://registry.npmjs.org/tinycoll/-/tinycoll-0.0.1.tgz","fileCount":18,"integrity":"sha512-jCP7mQcJSQxvbF0qBbjXDW3u+mZ3IZw5B/JO+V60R19aHwnvBZEXC3VFYPKGtvCAuOK/KYwVH1VSiRkOMrfafg==","signatures":[{"sig":"MEQCICqMQyWDx+PwNxswJehUh8qLhuoM9fzYw960sSHYqmDIAiAY7zkAB73EfDT/ZZJ2BdN4IoV8XT4cUuV3+BlobzCJpA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26122},"main":"./dist/commonjs/index.js","tshy":{"exports":{".":"./src/index.ts","./file-storage":"./src/file-storage.ts","./package.json":"./package.json","./indexeddb-storage":"./src/indexeddb-storage.ts"}},"type":"module","types":"./dist/commonjs/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/commonjs/index.d.ts","default":"./dist/commonjs/index.js"}},"./file-storage":{"import":{"types":"./dist/esm/file-storage.d.ts","default":"./dist/esm/file-storage.js"},"require":{"types":"./dist/commonjs/file-storage.d.ts","default":"./dist/commonjs/file-storage.js"}},"./package.json":"./package.json","./indexeddb-storage":{"import":{"types":"./dist/esm/indexeddb-storage.d.ts","default":"./dist/esm/indexeddb-storage.js"},"require":{"types":"./dist/commonjs/indexeddb-storage.d.ts","default":"./dist/commonjs/indexeddb-storage.js"}}},"gitHead":"32066b4d034504af0291df72940a9cd49e08921b","scripts":{"dev":"tshy --watch","test":"globstar -- node --watch --import tsx --test \"test/**.test.ts\"","_test":"borp 'test/**.test.ts'","build":"tshy","test:only":"globstar -- node --watch --import tsx --test-only \"test/**.test.ts\""},"_npmUser":{"name":"smeijer","email":"stephan.meijer@gmail.com"},"_npmVersion":"10.9.0","description":"A minimal reactive document store with Mongo-like querying, reactivity, TTL support, and optional persistence (IndexedDB or filesystem).","directories":{},"_nodeVersion":"22.11.0","dependencies":{"idb-keyval":"^6.2.1","@preact/signals-core":"^1.8.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","borp":"^0.19.0","tshy":"^3.0.2","globstar":"^1.0.0","typescript":"^5.8.3","@types/node":"^22.14.0"},"_npmOperationalInternal":{"tmp":"tmp/tinycoll_0.0.1_1744030365149_0.801759596261477","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"tinycoll","version":"0.1.0","author":{"name":"Stephan Meijer"},"license":"ISC","_id":"tinycoll@0.1.0","maintainers":[{"name":"smeijer","email":"stephan.meijer@gmail.com"}],"dist":{"shasum":"717e1a84e5f078cfd6c8fe5e8ebcc06546d613c2","tarball":"https://registry.npmjs.org/tinycoll/-/tinycoll-0.1.0.tgz","fileCount":18,"integrity":"sha512-ie56EpMpv7v/ljI3FdGkF/v0f/RLoyEgg4XlsYIPM0/aEq/+/rG5v0Xgii/rZ6xIELAXDZsT/qQRfJQw1GEMMA==","signatures":[{"sig":"MEUCIQDpotDrtVzACWoa6Ue9N1dPgntIM7Clpfz/9sVOhdgXWAIgQeVrfJibOnl7roCIyn28QriswV1mDB7pQZ1HNqr2otE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":33670},"main":"./dist/commonjs/index.js","tshy":{"exports":{".":"./src/index.ts","./file-storage":"./src/file-storage.ts","./package.json":"./package.json","./indexeddb-storage":"./src/indexeddb-storage.ts"}},"type":"module","types":"./dist/commonjs/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/commonjs/index.d.ts","default":"./dist/commonjs/index.js"}},"./file-storage":{"import":{"types":"./dist/esm/file-storage.d.ts","default":"./dist/esm/file-storage.js"},"require":{"types":"./dist/commonjs/file-storage.d.ts","default":"./dist/commonjs/file-storage.js"}},"./package.json":"./package.json","./indexeddb-storage":{"import":{"types":"./dist/esm/indexeddb-storage.d.ts","default":"./dist/esm/indexeddb-storage.js"},"require":{"types":"./dist/commonjs/indexeddb-storage.d.ts","default":"./dist/commonjs/indexeddb-storage.js"}}},"gitHead":"62f304b0b4674edd1e33691ea6b546f04901b27e","scripts":{"dev":"tshy --watch","test":"globstar -- node --watch --import tsx --test \"test/**.test.ts\"","_test":"borp 'test/**.test.ts'","build":"tshy","test:only":"globstar -- node --watch --import tsx --test-only \"test/**.test.ts\""},"_npmUser":{"name":"smeijer","email":"stephan.meijer@gmail.com"},"_npmVersion":"10.9.0","description":"A minimal reactive document store with Mongo-like querying, reactivity, TTL support, and optional persistence (IndexedDB or filesystem).","directories":{},"_nodeVersion":"22.11.0","dependencies":{"idb-keyval":"^6.2.1","@preact/signals-core":"^1.8.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","borp":"^0.19.0","tshy":"^3.0.2","globstar":"^1.0.0","typescript":"^5.8.3","@types/node":"^22.14.0"},"_npmOperationalInternal":{"tmp":"tmp/tinycoll_0.1.0_1747659458306_0.9265427649123836","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"tinycoll","version":"0.2.0","author":{"name":"Stephan Meijer"},"license":"MIT","_id":"tinycoll@0.2.0","maintainers":[{"name":"smeijer","email":"stephan.meijer@gmail.com"}],"dist":{"shasum":"ed8ee45120c92ab33c76f0c6f63ec270600c0345","tarball":"https://registry.npmjs.org/tinycoll/-/tinycoll-0.2.0.tgz","fileCount":42,"integrity":"sha512-sj2Zlh0YPZ0dxxekVOuibn4HRucw6uvp3FYT1zZOLJCWKM7pKchZOvAMukByG7s9A4IBdeXEcpfMvWTjecslRQ==","signatures":[{"sig":"MEUCIQDVkb2+TkoTwMKtH3frBxe2JCc648UPwjTaT70G8ra+AAIgBKWilLc5A6HKwFwr1kdLUDYMU5jPlK+nUwYc0svUWNU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":61341},"main":"./dist/commonjs/index.js","tshy":{"exports":{".":"./src/index.ts","./file-storage":"./src/file-storage.ts","./package.json":"./package.json","./indexeddb-storage":"./src/indexeddb-storage.ts"}},"type":"module","types":"./dist/commonjs/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/commonjs/index.d.ts","default":"./dist/commonjs/index.js"}},"./file-storage":{"import":{"types":"./dist/esm/file-storage.d.ts","default":"./dist/esm/file-storage.js"},"require":{"types":"./dist/commonjs/file-storage.d.ts","default":"./dist/commonjs/file-storage.js"}},"./package.json":"./package.json","./indexeddb-storage":{"import":{"types":"./dist/esm/indexeddb-storage.d.ts","default":"./dist/esm/indexeddb-storage.js"},"require":{"types":"./dist/commonjs/indexeddb-storage.d.ts","default":"./dist/commonjs/indexeddb-storage.js"}}},"gitHead":"f2e3fc15c4eed7fbcadf9a1b92c8be56a8ee02b7","scripts":{"dev":"tshy --watch","test":"globstar -- node --watch --import tsx --test \"test/**.test.ts\"","_test":"borp 'test/**.test.ts'","build":"tshy","test:only":"globstar -- node --watch --import tsx --test-only \"test/**.test.ts\""},"_npmUser":{"name":"smeijer","email":"stephan.meijer@gmail.com"},"_npmVersion":"10.9.0","description":"A minimal reactive document store with Mongo-like querying, reactivity, TTL support, and optional persistence (IndexedDB or filesystem).","directories":{},"_nodeVersion":"22.11.0","dependencies":{"idb-keyval":"^6.2.1","@preact/signals-core":"^1.8.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","borp":"^0.19.0","tshy":"^3.0.2","globstar":"^1.0.0","typescript":"^5.8.3","@types/node":"^22.14.0"},"_npmOperationalInternal":{"tmp":"tmp/tinycoll_0.2.0_1747659877953_0.5435444750772556","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"tinycoll","version":"1.0.0","author":{"name":"Stephan Meijer"},"license":"MIT","_id":"tinycoll@1.0.0","maintainers":[{"name":"smeijer","email":"stephan.meijer@gmail.com"}],"dist":{"shasum":"5267641d81ac2394805dce0c0f7d668948dfe565","tarball":"https://registry.npmjs.org/tinycoll/-/tinycoll-1.0.0.tgz","fileCount":42,"integrity":"sha512-RGpKS/W1YDS7KnKZi2bxSAJk9U3bCE2KaAPZKtkJwtM9Bq9u7OakuphWcOGj3u0xt1SekuMiqoRddoxagz98aA==","signatures":[{"sig":"MEUCIQDRhySwgu/pnMq87dulBEsRH06/WYJSJgJ4Ozp48UjCzwIgf2GYokidifU4i1puHcBhGvskHKk/Fi63YXekHfFAEZs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":60535},"main":"./dist/commonjs/index.js","tshy":{"exports":{".":"./src/index.ts","./file-storage":"./src/file-storage.ts","./package.json":"./package.json","./indexeddb-storage":"./src/indexeddb-storage.ts"}},"type":"module","types":"./dist/commonjs/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/commonjs/index.d.ts","default":"./dist/commonjs/index.js"}},"./file-storage":{"import":{"types":"./dist/esm/file-storage.d.ts","default":"./dist/esm/file-storage.js"},"require":{"types":"./dist/commonjs/file-storage.d.ts","default":"./dist/commonjs/file-storage.js"}},"./package.json":"./package.json","./indexeddb-storage":{"import":{"types":"./dist/esm/indexeddb-storage.d.ts","default":"./dist/esm/indexeddb-storage.js"},"require":{"types":"./dist/commonjs/indexeddb-storage.d.ts","default":"./dist/commonjs/indexeddb-storage.js"}}},"gitHead":"118b5d06089c767504459def9980e027cc096fbb","scripts":{"dev":"tshy --watch","test":"globstar -- node --watch --import tsx --test \"test/**.test.ts\"","_test":"borp 'test/**.test.ts'","build":"tshy","test:only":"globstar -- node --watch --import tsx --test-only \"test/**.test.ts\""},"_npmUser":{"name":"smeijer","email":"stephan.meijer@gmail.com"},"_npmVersion":"10.9.0","description":"A minimal reactive document store with Mongo-like querying, reactivity, TTL support, and optional persistence (IndexedDB or filesystem).","directories":{},"_nodeVersion":"22.11.0","dependencies":{"idb-keyval":"^6.2.1","@preact/signals-core":"^1.8.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","borp":"^0.19.0","tshy":"^3.0.2","globstar":"^1.0.0","typescript":"^5.8.3","@types/node":"^22.14.0"},"_npmOperationalInternal":{"tmp":"tmp/tinycoll_1.0.0_1747912645632_0.7498971970005128","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"tinycoll","version":"1.1.0","author":{"name":"Stephan Meijer"},"license":"MIT","_id":"tinycoll@1.1.0","maintainers":[{"name":"smeijer","email":"stephan.meijer@gmail.com"}],"dist":{"shasum":"c3c1bf9fcec76f7522cb78ac439f57fd9eee870e","tarball":"https://registry.npmjs.org/tinycoll/-/tinycoll-1.1.0.tgz","fileCount":2,"integrity":"sha512-W8+dZibIa/7NYC8Gs4CBbSX2EJ3JMHnGAsU30OvRczqDF4P5ga361UAHJD49XojM74FMFpOauPUkIUcnf90Ytg==","signatures":[{"sig":"MEYCIQDqxjHWsov1V/4wxUfYe/4Lr94m3A4AWzIXm5F12DMezAIhAPLskeuLRABB7hTSy7wvgLFQ5h0WmwryfGI4BYlibhh2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4389},"main":"./dist/commonjs/index.js","tshy":{"exports":"src/*.ts"},"type":"module","types":"./dist/commonjs/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/commonjs/index.d.ts","default":"./dist/commonjs/index.js"}},"./utils":{"import":{"types":"./dist/esm/utils.d.ts","default":"./dist/esm/utils.js"},"require":{"types":"./dist/commonjs/utils.d.ts","default":"./dist/commonjs/utils.js"}},"./storage":{"import":{"types":"./dist/esm/storage.d.ts","default":"./dist/esm/storage.js"},"require":{"types":"./dist/commonjs/storage.d.ts","default":"./dist/commonjs/storage.js"}},"./collection":{"import":{"types":"./dist/esm/collection.d.ts","default":"./dist/esm/collection.js"},"require":{"types":"./dist/commonjs/collection.d.ts","default":"./dist/commonjs/collection.js"}},"./file-storage":{"import":{"types":"./dist/esm/file-storage.d.ts","default":"./dist/esm/file-storage.js"},"require":{"types":"./dist/commonjs/file-storage.d.ts","default":"./dist/commonjs/file-storage.js"}},"./package.json":"./package.json","./indexeddb-storage":{"import":{"types":"./dist/esm/indexeddb-storage.d.ts","default":"./dist/esm/indexeddb-storage.js"},"require":{"types":"./dist/commonjs/indexeddb-storage.d.ts","default":"./dist/commonjs/indexeddb-storage.js"}}},"gitHead":"becd1e6caef95720780c58e09c9b002ebd6a9495","scripts":{"dev":"tshy --watch","attw":"npx -y @arethetypeswrong/cli -P --profile node16","test":"globstar -- node --import tsx --test \"test/**.test.ts\"","_test":"borp 'test/**.test.ts'","build":"tshy","test:only":"globstar -- node --watch --import tsx --test-only \"test/**.test.ts\"","test:watch":"globstar -- node --watch --import tsx --test \"test/**.test.ts\""},"_npmUser":{"name":"smeijer","email":"stephan.meijer@gmail.com"},"_npmVersion":"10.9.0","description":"A minimal reactive document store with Mongo-like querying, reactivity, TTL support, and optional persistence.","directories":{},"_nodeVersion":"22.11.0","dependencies":{"idb-keyval":"^6.2.1","@preact/signals-core":"^1.8.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","borp":"^0.19.0","tshy":"^3.0.2","globstar":"^1.0.0","typescript":"^5.8.3","@types/node":"^22.14.0","@changesets/cli":"^2.29.4","@changesets/changelog-github":"^0.5.1"},"_npmOperationalInternal":{"tmp":"tmp/tinycoll_1.1.0_1747927517355_0.09239871067170968","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"tinycoll","version":"1.2.0","author":{"name":"Stephan Meijer"},"license":"MIT","_id":"tinycoll@1.2.0","maintainers":[{"name":"smeijer","email":"stephan.meijer@gmail.com"}],"dist":{"shasum":"d4c5d9f81a4c2eb0dc7c29178a0244edc407b984","tarball":"https://registry.npmjs.org/tinycoll/-/tinycoll-1.2.0.tgz","fileCount":40,"integrity":"sha512-crGc+FF2vZ7UUxUv5NY08WjtcOpN2Jc7tXOn5WIxuVbxjqosDKKHbHomvVwFTkwFmaU6xe871PdNvLgF5XXGFQ==","signatures":[{"sig":"MEQCIFG+gekLER8VLw93uWZJkXx9FP9gb4RBH2BUumyrC9bjAiA2l2PZzJB1hki1z4ILFrFE+yq+Mom+V76ov11vEylNHg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":60726},"main":"./dist/commonjs/index.js","tshy":{"exports":"src/*.ts"},"type":"module","types":"./dist/commonjs/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/commonjs/index.d.ts","default":"./dist/commonjs/index.js"}},"./utils":{"import":{"types":"./dist/esm/utils.d.ts","default":"./dist/esm/utils.js"},"require":{"types":"./dist/commonjs/utils.d.ts","default":"./dist/commonjs/utils.js"}},"./storage":{"import":{"types":"./dist/esm/storage.d.ts","default":"./dist/esm/storage.js"},"require":{"types":"./dist/commonjs/storage.d.ts","default":"./dist/commonjs/storage.js"}},"./collection":{"import":{"types":"./dist/esm/collection.d.ts","default":"./dist/esm/collection.js"},"require":{"types":"./dist/commonjs/collection.d.ts","default":"./dist/commonjs/collection.js"}},"./file-storage":{"import":{"types":"./dist/esm/file-storage.d.ts","default":"./dist/esm/file-storage.js"},"require":{"types":"./dist/commonjs/file-storage.d.ts","default":"./dist/commonjs/file-storage.js"}},"./package.json":"./package.json","./indexeddb-storage":{"import":{"types":"./dist/esm/indexeddb-storage.d.ts","default":"./dist/esm/indexeddb-storage.js"},"require":{"types":"./dist/commonjs/indexeddb-storage.d.ts","default":"./dist/commonjs/indexeddb-storage.js"}}},"gitHead":"72185ecdfb0520bd0912e526ebed5f16d895534e","scripts":{"dev":"tshy --watch","attw":"npx -y @arethetypeswrong/cli -P --profile node16","test":"globstar -- node --import tsx --test \"test/**.test.ts\"","_test":"borp 'test/**.test.ts'","build":"tshy","test:only":"globstar -- node --watch --import tsx --test-only \"test/**.test.ts\"","test:watch":"globstar -- node --watch --import tsx --test \"test/**.test.ts\""},"_npmUser":{"name":"smeijer","email":"stephan.meijer@gmail.com"},"_npmVersion":"10.9.0","description":"A minimal reactive document store with Mongo-like querying, reactivity, TTL support, and optional persistence.","directories":{},"_nodeVersion":"22.11.0","dependencies":{"idb-keyval":"^6.2.1","@preact/signals-core":"^1.8.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","borp":"^0.19.0","tshy":"^3.0.2","globstar":"^1.0.0","typescript":"^5.8.3","@types/node":"^22.14.0","@changesets/cli":"^2.29.4","@changesets/changelog-github":"^0.5.1"},"_npmOperationalInternal":{"tmp":"tmp/tinycoll_1.2.0_1747928223653_0.585179567506527","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"tinycoll","version":"1.3.0","main":"./dist/commonjs/index.js","type":"module","scripts":{"_test":"borp 'test/**.test.ts'","test":"globstar -- node --import tsx --test \"test/**.test.ts\"","test:watch":"globstar -- node --watch --import tsx --test \"test/**.test.ts\"","test:only":"globstar -- node --watch --import tsx --test-only \"test/**.test.ts\"","build":"tshy","dev":"tshy --watch","attw":"npx -y @arethetypeswrong/cli -P --profile node16"},"author":{"name":"Stephan Meijer"},"license":"MIT","description":"A minimal reactive document store with Mongo-like querying, reactivity, TTL support, and optional persistence.","keywords":["sync engine","local-first","signals","reactive","state","data"],"dependencies":{"@preact/signals-core":"^1.8.0","idb-keyval":"^6.2.1"},"devDependencies":{"@changesets/changelog-github":"^0.5.1","@changesets/cli":"^2.29.4","@types/node":"^22.14.0","borp":"^0.19.0","globstar":"^1.0.0","tshy":"^3.0.2","tsx":"^4.19.3","typescript":"^5.8.3"},"tshy":{"exports":"src/*.ts"},"exports":{"./collection":{"import":{"types":"./dist/esm/collection.d.ts","default":"./dist/esm/collection.js"},"require":{"types":"./dist/commonjs/collection.d.ts","default":"./dist/commonjs/collection.js"}},"./file-storage":{"import":{"types":"./dist/esm/file-storage.d.ts","default":"./dist/esm/file-storage.js"},"require":{"types":"./dist/commonjs/file-storage.d.ts","default":"./dist/commonjs/file-storage.js"}},".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/commonjs/index.d.ts","default":"./dist/commonjs/index.js"}},"./indexeddb-storage":{"import":{"types":"./dist/esm/indexeddb-storage.d.ts","default":"./dist/esm/indexeddb-storage.js"},"require":{"types":"./dist/commonjs/indexeddb-storage.d.ts","default":"./dist/commonjs/indexeddb-storage.js"}},"./storage":{"import":{"types":"./dist/esm/storage.d.ts","default":"./dist/esm/storage.js"},"require":{"types":"./dist/commonjs/storage.d.ts","default":"./dist/commonjs/storage.js"}},"./utils":{"import":{"types":"./dist/esm/utils.d.ts","default":"./dist/esm/utils.js"},"require":{"types":"./dist/commonjs/utils.d.ts","default":"./dist/commonjs/utils.js"}},"./package.json":"./package.json"},"types":"./dist/commonjs/index.d.ts","module":"./dist/esm/index.js","_id":"tinycoll@1.3.0","gitHead":"6fe40d7d46b8762c059783e6b87aaeeb5ff0ab4a","_nodeVersion":"22.11.0","_npmVersion":"10.9.0","dist":{"integrity":"sha512-CMY1TfKHcPq/JHW0C3JmqH+efN7SShVKNinK9VxLO7nysyqZkxPI7eZLOB6eSb5CS9YLpPvZfzfK4tQvDomYUw==","shasum":"63e1ef9550deef233ce0218e57328357438988a0","tarball":"https://registry.npmjs.org/tinycoll/-/tinycoll-1.3.0.tgz","fileCount":40,"unpackedSize":60906,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDwGHv+dMPottmF7MH/Sxnl1idIGNgXwXfJIwyFGGZC1gIhAJjv8W/xH0a0bQYanLEtA3R2JLzU4MASNOK+vQWU1mNM"}]},"_npmUser":{"name":"smeijer","email":"stephan.meijer@gmail.com","actor":{"name":"smeijer","email":"stephan.meijer@gmail.com","type":"user"}},"directories":{},"maintainers":[{"name":"smeijer","email":"stephan.meijer@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/tinycoll_1.3.0_1751404329743_0.3894312565787925"},"_hasShrinkwrap":false}},"time":{"created":"2025-04-07T12:52:45.148Z","modified":"2025-07-01T21:12:10.160Z","0.0.1":"2025-04-07T12:52:45.312Z","0.1.0":"2025-05-19T12:57:38.558Z","0.2.0":"2025-05-19T13:04:38.131Z","1.0.0":"2025-05-22T11:17:25.830Z","1.1.0":"2025-05-22T15:25:17.552Z","1.2.0":"2025-05-22T15:37:03.878Z","1.3.0":"2025-07-01T21:12:09.965Z"},"author":{"name":"Stephan Meijer"},"license":"MIT","description":"A minimal reactive document store with Mongo-like querying, reactivity, TTL support, and optional persistence.","maintainers":[{"name":"smeijer","email":"stephan.meijer@gmail.com"}],"readme":"# TinyColl\n\nA minimal reactive document store with Mongo-like querying, reactivity, TTL support, and optional persistence (IndexedDB or filesystem).\n\n## Features\n\n- Reactive `find`, `findOne`, `count`\n- Mongo-style query matcher (`$eq`, `$gt`, `$in`, `$or`, etc.)\n- Custom TTL indexes (per Mongo's `expireAfterSeconds` style)\n- Optional IndexedDB or file persistence\n- Fast `Map`-based internal storage\n- Signal-based reactivity with `@preact/signals-core`\n\n## Installation \n\n```shell\nnpm i tinycoll\n```\n\n## Usage\n\n### Create a collection\n\n```ts\nconst users = new Collection('users');\n```\n\n### With persistence\n\n```ts\nconst users = new Collection('users', { storage: indexedDbStorage });\n\nconst users = new Collection('users', {\n  storage: createFileStorage('./users.json'),\n});\n```\n\n### Insert\n\n```ts\nusers.insert({ name: 'Stephan', city: 'Leeuwarden' });\n```\n\n### Query\n\n```ts\n// `find()` returns a ReactiveCursor. Supports projection, sorting, and reactivity.\nconst results = users.find({ city: 'Leeuwarden' }, {\n  sort: { name: 1 },\n  projection: { name: 1 },\n});\n\neffect(() => {\n  console.log(results.toArray());\n});\n```\n\nReactive results support `.toArray()`, `.map()`, `.watch()`, and pagination helpers like `.paginate(page, perPage)`.\n\n### TTL Index\n\n```ts\nnew Collection('sessions', {\n  ttlIndexes: [\n    {\n      field: 'lastAccessedAt',\n      expireAfterSeconds: 3600,\n    },\n  ],\n});\n```\n\n## License\nMIT\n","readmeFilename":"README.md","keywords":["sync engine","local-first","signals","reactive","state","data"]}