Registry / storage / mobiletto-orm

mobiletto-orm

JSON →
library2.2.36jsnpmunverified

A simple object-relational mapper (ORM) for mobiletto storage, supporting Amazon S3, Backblaze B2, local filesystems, and IndexedDB. Version 2.2.36 (stable). Provides repository-based CRUD operations, field validation, indexing, and multi-connection replication. Differentiates from full-fledged ORMs by being storage-agnostic and simple to set up, with minimal dependencies. Released under LGPL-3.0, with active maintenance on GitHub. Suitable for projects needing a lightweight ORM over cloud or local storage without a database backend.

npm install mobiletto-orm
INSTALL
IMPORT
SIG · MOBILETTO-ORM
M
mobiletto-orm
storagejavascriptv2.2.36
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

repositoryFactory
import { repositoryFactory } from 'mobiletto-orm'
const repositoryFactory = require('mobiletto-orm')
Defaults to named export; CommonJS require works via module.exports. Prefer ESM import for tree-shaking.
Repository
import { Repository } from 'mobiletto-orm'
const Repository = require('mobiletto-orm').Repository
TypeScript type available. Use named import for type inference.
default
import orm from 'mobiletto-orm'
const orm = require('mobiletto-orm')
Default export is the orm object containing repositoryFactory and Repository. ESM default import preferred.

Shows registering storage drivers, creating a repository with validation, and performing create and findBy operations.

import { repositoryFactory } from 'mobiletto-orm' import { registerDriver, connect } from 'mobiletto-base' import s3Driver from 'mobiletto-driver-s3' import localDriver from 'mobiletto-driver-local' registerDriver('s3', s3Driver) registerDriver('local', localDriver) const s3Conn = await connect({ driver: 's3', bucket: process.env.S3_BUCKET ?? '', key: process.env.S3_KEY ?? '', secret: process.env.S3_SECRET ?? '', }) const localConn = await connect({ driver: 'local', path: process.env.LOCAL_PATH ?? '/tmp/mobiletto-orm' }) const factory = repositoryFactory([s3Conn, localConn]) const userRepo = factory.repository({ typeName: 'User', fields: { name: { required: true }, email: { required: true, regex: /^.+@.+$/ } } }) const user = await userRepo.create({ name: 'Alice', email: 'alice@example.com' }) console.log('Created user with id:', user.id) const found = await userRepo.findBy('email', 'alice@example.com') console.log('Found user:', found)
Debug
Known issues
gotchaMobiletto connections must be configured and registered before creating the repository factory.
fix
Ensure registerDriver() is called for each storage driver before repositoryFactory().
affects: >=1.0.0
gotchaThe 'id' field is reserved and managed internally; do not define it in 'fields'.
fix
Omit 'id' from the fields definition; it is auto-generated.
affects: >=1.0.0
gotchaIndexedDB driver (mobiletto-driver-indexeddb) is available only in browser environments; not for Node.js.
fix
Do not use indexeddb driver in Node.js. Use only in browser builds.
affects: >=1.0.0
deprecatedThe 'index' field option may be deprecated in future versions; use explicit indexing methods instead.
fix
Consider using repository.addIndex() or avoid relying on field-level indexing for future-proofing.
affects: >=2.0.0
Errors
Common errors & fixes
TypeError: Cannot read properties of undefined (reading 'registerDriver')
mobiletto-base not installed or not imported before use.
fix
Install mobiletto-base and import registerDriver from it before calling.
Error: No driver registered for 's3'
Missing registerDriver('s3', ...) call before connecting.
fix
Call registerDriver('s3', require('mobiletto-driver-s3')) before creating connections.
RepositoryError: Duplicate type name
Calling factory.repository() twice with the same typeName.
fix
Ensure each typeName is unique, or reuse existing repository instance.
Error: Field 'id' is reserved
Defining an 'id' field in the fields object.
fix
Remove 'id' from fields; it is auto-generated internally.
Upgrade
Version history
2.2.36latest on npm
Audit
Dependencies
mobiletto-baserequiredCore storage abstraction layer
Agent activity
63 hits · last 30 days
node
62
Bingbot
1
Resources
mobiletto-orm — npm install mobiletto-orm · libregistry