Skip to content

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 initialization
const db = mizzle(new DynamoDBClient({ region: "us-east-1" }));

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 }
});

Initializes a new Mizzle instance.

  • Arguments:
    • config: Either a DynamoDBClient instance or a MizzleConfig object.
  • client: A DynamoDBClient instance (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).

The mizzle instance (often named db) provides the following main methods: