Skip to main content

Crate cynos_database

Crate cynos_database 

Source
Expand description

Cynos API - WASM bindings and JavaScript API for Cynos database.

This crate provides the public API for the Cynos in-memory database, including WASM bindings for use in JavaScript/TypeScript applications.

§Core Components

  • Database: Main entry point for database operations
  • TableBuilder: Builder for creating table schemas
  • SelectBuilder: Query builder for SELECT statements
  • InsertBuilder, UpdateBuilder, DeleteBuilder: DML builders
  • JsObservableQuery: Observable query with subscription support

§Example (JavaScript)

import { Database, DataType, col } from 'cynos';

const db = await Database.create('mydb');

db.createTable('users')
  .column('id', DataType.Int64, { primaryKey: true })
  .column('name', DataType.String)
  .column('age', DataType.Int32)
  .build();

await db.insert('users').values([
  { id: 1, name: 'Alice', age: 25 },
  { id: 2, name: 'Bob', age: 30 },
]).exec();

const results = await db.select()
  .from('users')
  .where(col('age').gt(25))
  .exec();

Re-exports§

pub use convert::js_to_row;
pub use convert::js_to_value;
pub use convert::row_to_js;
pub use convert::value_to_js;
pub use database::Database;
pub use expr::Column;
pub use expr::Expr;
pub use query_builder::DeleteBuilder;
pub use query_builder::InsertBuilder;
pub use query_builder::SelectBuilder;
pub use query_builder::UpdateBuilder;
pub use reactive_bridge::JsChangesStream;
pub use reactive_bridge::JsObservableQuery;
pub use table::JsTable;
pub use table::JsTableBuilder;
pub use transaction::JsTransaction;

Modules§

binary_protocol
Binary protocol re-exports from cynos-binary crate.
convert
Type conversion utilities between JavaScript and Rust types.
database
Database - Main entry point for Cynos database operations.
expr
Expression builders for query predicates.
query_builder
Query builders for SELECT, INSERT, UPDATE, DELETE operations.
query_engine
Query engine integration for API layer.
reactive_bridge
Reactive bridge - Integration between Query and Reactive modules.
table
Table and TableBuilder for schema definition.
transaction
Transaction API for atomic database operations.

Structs§

BinaryResult
Binary result buffer returned from execBinary()
SchemaLayout
Pre-computed layout for binary encoding/decoding

Enums§

JsDataType
Data types supported by Cynos.
JsSortOrder
Sort order for ORDER BY clauses.

Functions§

col
Helper function to create a column reference.
init
Initialize the WASM module.