Exports Reference
Complete list of all exports from @codician-team/monch.
Functions
| Export | Description |
|---|---|
collection(config) | Create a Monch collection |
field | Field helper namespace with type builders |
resolveConnection(config) | Resolve MongoDB connection |
disconnectAll() | Close all cached connections |
setDebug(config) | Enable/configure debug logging |
serialize(doc) | Serialize a single document |
serializeArray(docs) | Serialize an array of documents |
getCurrencyConfig(code) | Get configuration for a currency |
formatMoney(value, opts?) | Format a money value for display |
toSmallestUnit(amount, code) | Convert to smallest currency unit |
fromSmallestUnit(value, code) | Convert from smallest currency unit |
Classes
| Export | Description |
|---|---|
MonchError | Base class for all Monch errors |
MonchConnectionError | Connection configuration or network errors |
MonchValidationError | Zod validation errors |
Cursor | Chainable query cursor |
MonchArray | Array subclass with .serialize() method |
BSON Types
Re-exported from MongoDB driver:
| Export | Description |
|---|---|
ObjectId | MongoDB ObjectId |
Long | 64-bit integer |
Decimal128 | 128-bit decimal |
Binary | Binary data |
Timestamp | MongoDB timestamp |
MongoClient | MongoDB client class |
Db | MongoDB database class |
Constants
| Export | Description |
|---|---|
VERSION | Current package version ('0.1.0') |
z | Re-export of Zod |
CURRENCY_CONFIGS | Map of 30+ currency configurations |
Types
Schema & Document Types
typescript
import type {
Schema, // Schema definition type
Doc, // Document type from schema
Input, // Input type (respects defaults/optionals)
TimestampFields, // { createdAt: Date; updatedAt: Date }
WithTimestamps, // Add timestamp fields to type
WithTS, // Alias for WithTimestamps
MonchDocument, // Document with methods and .serialize()
MonchFilter, // Relaxed filter type for Zod
} from '@codician-team/monch';Collection Types
typescript
import type {
Collection, // Full collection type
CollectionInstance, // Collection instance type
CollectionConfig, // Collection configuration
ConnectionConfig, // Connection options
OperationOptions, // Options for CRUD operations
Hooks, // Lifecycle hooks definition
Index, // Index definition
IndexOptions, // Index options
IndexDirection, // 1 | -1 | 'text' | etc.
Methods, // Instance methods definition
Statics, // Static methods definition
WithMethods, // Document with methods attached
} from '@codician-team/monch';Serialization Types
typescript
import type {
Serialized, // Serialized version of document
WithSerialize, // Object with .serialize() method
} from '@codician-team/monch';Pagination Types
typescript
import type {
PaginationResult, // Paginated query result
PaginationOptions, // Pagination options
} from '@codician-team/monch';Money Types
typescript
import type {
MoneyValue, // Money field value structure
MoneyOptions, // Money field configuration
} from '@codician-team/monch';Connection Types
typescript
import type {
ConnectionResult, // Result from resolveConnection()
DebugConfig, // Debug mode configuration
} from '@codician-team/monch';Type Extraction Helpers
typescript
import type {
ModelOf, // Extract document type from collection
SerializedOf, // Extract serialized type from collection
SchemaOf, // Extract schema type from collection
} from '@codician-team/monch';Re-exported MongoDB Types
typescript
import type {
Filter,
UpdateFilter,
AggregateOptions,
BulkWriteOptions,
BulkWriteResult,
AnyBulkWriteOperation,
FindOneAndDeleteOptions,
FindOneAndReplaceOptions,
FindOneAndUpdateOptions,
ReplaceOptions,
UpdateResult,
ClientSession,
} from '@codician-team/monch';Usage Example
typescript
// Import everything you need
import {
// Functions
collection,
field,
setDebug,
disconnectAll,
// Classes
MonchValidationError,
ObjectId,
// Constants
z,
// Types
type ModelOf,
type SerializedOf,
type PaginationResult,
} from '@codician-team/monch';
// Define collection
const Users = collection({
name: 'users',
schema: {
_id: field.id(),
name: field.string(),
email: field.email(),
},
timestamps: true,
});
// Extract types
type User = ModelOf<typeof Users>;
type SerializedUser = SerializedOf<typeof Users>;
// Use in components
interface Props {
user: SerializedUser;
}