rpc_data 5.2.0 copy "rpc_data: ^5.2.0" to clipboard
rpc_data: ^5.2.0 copied to clipboard

Driver-agnostic data service layer (CRUD + querying + change streams) built on rpc_dart.

rpc_data #

Driver-agnostic data layer (CRUD, queries, change streams) for rpc_dart. Core package stays free of IO/FFI so it works in WASM and other constrained targets; database drivers live in companion packages.

Packages in this repo #

  • rpc_data – core contracts, in-memory repository, schema validation, RPC helpers.
  • rpc_data_sqlite – SQLite/SQLCipher adapter + repository + cross-platform connection helpers (IO, WebAssembly).
  • rpc_data_postgres – PostgreSQL adapter + repository.

Quick start (in-memory) #

import 'package:rpc_data/rpc_data.dart';

Future<void> main() async {
  final env = await DataServiceFactory.inMemory();
  final client = env.client;

  final created = await client.create(
    collection: 'notes',
    payload: {'title': 'Hello', 'done': false},
  );
  print('created: ${created.id} v=${created.version}');

  final listed = await client.list(
    collection: 'notes',
    options: const QueryOptions(limit: 5),
  );
  for (final record in listed.records) {
    print('note ${record.id}: ${record.payload}');
  }

  await env.dispose();
}

Choosing a driver #

  • Add rpc_data_sqlite for local-first / SQLCipher / web OPFS builds. The package re-exports rpc_data.
  • Add rpc_data_postgres for server-side JSONB-backed storage.
  • Keep rpc_data alone for pure in-memory or to build your own adapter.
0
likes
140
points
178
downloads

Documentation

API reference

Publisher

verified publisherrpc.nogipx.dev

Weekly Downloads

Driver-agnostic data service layer (CRUD + querying + change streams) built on rpc_dart.

Homepage
Repository (GitHub)
View/report issues

Topics

#rpc #database #crud

License

MIT (license)

Dependencies

async, collection, equatable, meta, rpc_dart

More

Packages that depend on rpc_data