mizzle
mizzle is the entry point for the library. It initializes a Mizzle database instance which you use to perform all operations.
import { mizzle } from "@aurios/mizzle";import { DynamoDBClient } from "@aws-sdk/client-dynamodb";
// Basic initializationconst db = mizzle(new DynamoDBClient({ region: "us-east-1" }));With Relational Schema
Section titled “With Relational Schema”To use the relational query builder (db.query), you must provide a schema definition.
import { mizzle } from "@aurios/mizzle";import { users, posts, relations } from "./schema";
const db = mizzle({ client: new DynamoDBClient({}), relations: { users, posts, ...relations }});API Reference
Section titled “API Reference”mizzle(config)
Section titled “mizzle(config)”Initializes a new Mizzle instance.
- Arguments:
config: Either aDynamoDBClientinstance or aMizzleConfigobject.
MizzleConfig
Section titled “MizzleConfig”client: ADynamoDBClientinstance (required).relations: An object mapping entity names to their definitions and relationship metadata (optional).retry: Configuration for automatic retries of transient errors (optional).maxAttempts: Maximum number of retry attempts (default: 3).baseDelay: Initial delay between retries in milliseconds (default: 100).
Instance Methods
Section titled “Instance Methods”The mizzle instance (often named db) provides the following main methods:
select(): Starts a select query.insert(): Starts an insert operation.update(): Starts an update operation.delete(): Starts a delete operation.batchGet(): Fetches multiple items by key.batchWrite(): Performs multiple write operations.transaction(): Executes operations atomically.query: Accesses the relational query builder.