···11"use strict";
22-var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
33- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
22+var __awaiter = (this && this.__awaiter) ||
33+ function (thisArg, _arguments, P, generator) {
44+ function adopt(value) {
55+ return value instanceof P ? value : new P(function (resolve) {
66+ resolve(value);
77+ });
88+ }
49 return new (P || (P = Promise))(function (resolve, reject) {
55- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
66- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
77- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
88- step((generator = generator.apply(thisArg, _arguments || [])).next());
1010+ function fulfilled(value) {
1111+ try {
1212+ step(generator.next(value));
1313+ } catch (e) {
1414+ reject(e);
1515+ }
1616+ }
1717+ function rejected(value) {
1818+ try {
1919+ step(generator["throw"](value));
2020+ } catch (e) {
2121+ reject(e);
2222+ }
2323+ }
2424+ function step(result) {
2525+ result.done
2626+ ? resolve(result.value)
2727+ : adopt(result.value).then(fulfilled, rejected);
2828+ }
2929+ step((generator = generator.apply(thisArg, _arguments || [])).next());
930 });
1010-};
3131+ };
1132var __generator = (this && this.__generator) || function (thisArg, body) {
1212- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
1313- return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
1414- function verb(n) { return function (v) { return step([n, v]); }; }
1515- function step(op) {
1616- if (f) throw new TypeError("Generator is already executing.");
1717- while (g && (g = 0, op[0] && (_ = 0)), _) try {
1818- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
1919- if (y = 0, t) op = [op[0] & 2, t.value];
2020- switch (op[0]) {
2121- case 0: case 1: t = op; break;
2222- case 4: _.label++; return { value: op[1], done: false };
2323- case 5: _.label++; y = op[1]; op = [0]; continue;
2424- case 7: op = _.ops.pop(); _.trys.pop(); continue;
2525- default:
2626- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
2727- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
2828- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
2929- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
3030- if (t[2]) _.ops.pop();
3131- _.trys.pop(); continue;
3333+ var _ = {
3434+ label: 0,
3535+ sent: function () {
3636+ if (t[0] & 1) throw t[1];
3737+ return t[1];
3838+ },
3939+ trys: [],
4040+ ops: [],
4141+ },
4242+ f,
4343+ y,
4444+ t,
4545+ g = Object.create(
4646+ (typeof Iterator === "function" ? Iterator : Object).prototype,
4747+ );
4848+ return g.next = verb(0),
4949+ g["throw"] = verb(1),
5050+ g["return"] = verb(2),
5151+ typeof Symbol === "function" && (g[Symbol.iterator] = function () {
5252+ return this;
5353+ }),
5454+ g;
5555+ function verb(n) {
5656+ return function (v) {
5757+ return step([n, v]);
5858+ };
5959+ }
6060+ function step(op) {
6161+ if (f) throw new TypeError("Generator is already executing.");
6262+ while (g && (g = 0, op[0] && (_ = 0)), _) {
6363+ try {
6464+ if (
6565+ f = 1,
6666+ y && (t = op[0] & 2
6767+ ? y["return"]
6868+ : op[0]
6969+ ? y["throw"] || ((t = y["return"]) && t.call(y), 0)
7070+ : y.next) &&
7171+ !(t = t.call(y, op[1])).done
7272+ ) return t;
7373+ if (y = 0, t) op = [op[0] & 2, t.value];
7474+ switch (op[0]) {
7575+ case 0:
7676+ case 1:
7777+ t = op;
7878+ break;
7979+ case 4:
8080+ _.label++;
8181+ return { value: op[1], done: false };
8282+ case 5:
8383+ _.label++;
8484+ y = op[1];
8585+ op = [0];
8686+ continue;
8787+ case 7:
8888+ op = _.ops.pop();
8989+ _.trys.pop();
9090+ continue;
9191+ default:
9292+ if (
9393+ !(t = _.trys, t = t.length > 0 && t[t.length - 1]) &&
9494+ (op[0] === 6 || op[0] === 2)
9595+ ) {
9696+ _ = 0;
9797+ continue;
9898+ }
9999+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) {
100100+ _.label = op[1];
101101+ break;
102102+ }
103103+ if (op[0] === 6 && _.label < t[1]) {
104104+ _.label = t[1];
105105+ t = op;
106106+ break;
107107+ }
108108+ if (t && _.label < t[2]) {
109109+ _.label = t[2];
110110+ _.ops.push(op);
111111+ break;
32112 }
3333- op = body.call(thisArg, _);
3434- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
3535- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
113113+ if (t[2]) _.ops.pop();
114114+ _.trys.pop();
115115+ continue;
116116+ }
117117+ op = body.call(thisArg, _);
118118+ } catch (e) {
119119+ op = [6, e];
120120+ y = 0;
121121+ } finally {
122122+ f = t = 0;
123123+ }
36124 }
125125+ if (op[0] & 5) throw op[1];
126126+ return { value: op[0] ? op[1] : void 0, done: true };
127127+ }
37128};
38129Object.defineProperty(exports, "__esModule", { value: true });
39130var zod_1 = require("zod");
···41132var mongodb_1 = require("mongodb");
42133// 1. Define your schema using Zod
43134var userSchema = (0, src_1.defineModel)(zod_1.z.object({
4444- name: zod_1.z.string(),
4545- email: zod_1.z.string().email(),
4646- age: zod_1.z.number().int().positive().optional(),
4747- createdAt: zod_1.z.date().default(function () { return new Date(); }),
135135+ name: zod_1.z.string(),
136136+ email: zod_1.z.string().email(),
137137+ age: zod_1.z.number().int().positive().optional(),
138138+ createdAt: zod_1.z.date().default(function () {
139139+ return new Date();
140140+ }),
48141}));
49142function runExample() {
5050- return __awaiter(this, void 0, void 0, function () {
5151- var UserModel, newUser, insertResult, users, foundUser, updateResult, updatedUser, deleteResult, error_1;
5252- return __generator(this, function (_a) {
5353- switch (_a.label) {
5454- case 0:
5555- _a.trys.push([0, 9, 10, 12]);
5656- // 3. Connect to MongoDB
5757- return [4 /*yield*/, (0, src_1.connect)('mongodb://localhost:27017', 'mizzleorm_example')];
5858- case 1:
5959- // 3. Connect to MongoDB
6060- _a.sent();
6161- console.log('Connected to MongoDB');
6262- UserModel = new src_1.MongoModel('users', userSchema);
6363- // Clean up previous data
6464- return [4 /*yield*/, UserModel.delete({})];
6565- case 2:
6666- // Clean up previous data
6767- _a.sent();
6868- newUser = {
6969- name: 'Alice Smith',
7070- email: 'alice@example.com',
7171- age: 30,
7272- };
7373- return [4 /*yield*/, UserModel.insertOne(newUser)];
7474- case 3:
7575- insertResult = _a.sent();
7676- console.log('Inserted user:', insertResult.insertedId);
7777- return [4 /*yield*/, UserModel.find({ name: 'Alice Smith' })];
7878- case 4:
7979- users = _a.sent();
8080- console.log('Found users:', users);
8181- return [4 /*yield*/, UserModel.findOne({ _id: new mongodb_1.ObjectId(insertResult.insertedId) })];
8282- case 5:
8383- foundUser = _a.sent();
8484- console.log('Found one user:', foundUser);
8585- return [4 /*yield*/, UserModel.update({ _id: new mongodb_1.ObjectId(insertResult.insertedId) }, { age: 31 })];
8686- case 6:
8787- updateResult = _a.sent();
8888- console.log('Updated user count:', updateResult.modifiedCount);
8989- return [4 /*yield*/, UserModel.findOne({ _id: new mongodb_1.ObjectId(insertResult.insertedId) })];
9090- case 7:
9191- updatedUser = _a.sent();
9292- console.log('Updated user data:', updatedUser);
9393- return [4 /*yield*/, UserModel.delete({ name: 'Alice Smith' })];
9494- case 8:
9595- deleteResult = _a.sent();
9696- console.log('Deleted user count:', deleteResult.deletedCount);
9797- return [3 /*break*/, 12];
9898- case 9:
9999- error_1 = _a.sent();
100100- console.error('Error during example run:', error_1);
101101- return [3 /*break*/, 12];
102102- case 10:
103103- // 9. Disconnect from MongoDB
104104- return [4 /*yield*/, (0, src_1.disconnect)()];
105105- case 11:
106106- // 9. Disconnect from MongoDB
107107- _a.sent();
108108- console.log('Disconnected from MongoDB');
109109- return [7 /*endfinally*/];
110110- case 12: return [2 /*return*/];
111111- }
112112- });
143143+ return __awaiter(this, void 0, void 0, function () {
144144+ var UserModel,
145145+ newUser,
146146+ insertResult,
147147+ users,
148148+ foundUser,
149149+ updateResult,
150150+ updatedUser,
151151+ deleteResult,
152152+ error_1;
153153+ return __generator(this, function (_a) {
154154+ switch (_a.label) {
155155+ case 0:
156156+ _a.trys.push([0, 9, 10, 12]);
157157+ // 3. Connect to MongoDB
158158+ return [
159159+ 4, /*yield*/
160160+ (0, src_1.connect)(
161161+ "mongodb://localhost:27017",
162162+ "mizzleorm_example",
163163+ ),
164164+ ];
165165+ case 1:
166166+ // 3. Connect to MongoDB
167167+ _a.sent();
168168+ console.log("Connected to MongoDB");
169169+ UserModel = new src_1.MongoModel("users", userSchema);
170170+ // Clean up previous data
171171+ return [4, /*yield*/ UserModel.delete({})];
172172+ case 2:
173173+ // Clean up previous data
174174+ _a.sent();
175175+ newUser = {
176176+ name: "Alice Smith",
177177+ email: "alice@example.com",
178178+ age: 30,
179179+ };
180180+ return [4, /*yield*/ UserModel.insertOne(newUser)];
181181+ case 3:
182182+ insertResult = _a.sent();
183183+ console.log("Inserted user:", insertResult.insertedId);
184184+ return [4, /*yield*/ UserModel.find({ name: "Alice Smith" })];
185185+ case 4:
186186+ users = _a.sent();
187187+ console.log("Found users:", users);
188188+ return [
189189+ 4, /*yield*/
190190+ UserModel.findOne({
191191+ _id: new mongodb_1.ObjectId(insertResult.insertedId),
192192+ }),
193193+ ];
194194+ case 5:
195195+ foundUser = _a.sent();
196196+ console.log("Found one user:", foundUser);
197197+ return [
198198+ 4, /*yield*/
199199+ UserModel.update({
200200+ _id: new mongodb_1.ObjectId(insertResult.insertedId),
201201+ }, { age: 31 }),
202202+ ];
203203+ case 6:
204204+ updateResult = _a.sent();
205205+ console.log("Updated user count:", updateResult.modifiedCount);
206206+ return [
207207+ 4, /*yield*/
208208+ UserModel.findOne({
209209+ _id: new mongodb_1.ObjectId(insertResult.insertedId),
210210+ }),
211211+ ];
212212+ case 7:
213213+ updatedUser = _a.sent();
214214+ console.log("Updated user data:", updatedUser);
215215+ return [4, /*yield*/ UserModel.delete({ name: "Alice Smith" })];
216216+ case 8:
217217+ deleteResult = _a.sent();
218218+ console.log("Deleted user count:", deleteResult.deletedCount);
219219+ return [3, /*break*/ 12];
220220+ case 9:
221221+ error_1 = _a.sent();
222222+ console.error("Error during example run:", error_1);
223223+ return [3, /*break*/ 12];
224224+ case 10:
225225+ // 9. Disconnect from MongoDB
226226+ return [4, /*yield*/ (0, src_1.disconnect)()];
227227+ case 11:
228228+ // 9. Disconnect from MongoDB
229229+ _a.sent();
230230+ console.log("Disconnected from MongoDB");
231231+ return [7 /*endfinally*/];
232232+ case 12:
233233+ return [2 /*return*/];
234234+ }
113235 });
236236+ });
114237}
115238runExample();
+32-26
examples/user.ts
···11-import { z } from 'zod';
22-import { defineModel, MongoModel, connect, disconnect, InferModel, InsertType } from '../src';
33-import { ObjectId } from 'mongodb';
11+import { z } from "zod";
22+import {
33+ connect,
44+ defineModel,
55+ disconnect,
66+ InferModel,
77+ InsertType,
88+ MongoModel,
99+} from "../src";
1010+import { ObjectId } from "mongodb";
411512// 1. Define your schema using Zod
613const userSchema = defineModel(z.object({
···1724async function runExample() {
1825 try {
1926 // 3. Connect to MongoDB
2020- await connect('mongodb://localhost:27017', 'mizzleorm_example');
2121- console.log('Connected to MongoDB');
2727+ await connect("mongodb://localhost:27017", "mizzleorm_example");
2828+ console.log("Connected to MongoDB");
22292330 // 2. Create a MongoModel for your collection
2424- const UserModel = new MongoModel('users', userSchema);
3131+ const UserModel = new MongoModel("users", userSchema);
25322633 // Clean up previous data
2734 await UserModel.delete({});
28352936 // 4. Insert a new document
3037 const newUser: UserInsert = {
3131- name: 'Alice Smith',
3232- email: 'alice@example.com',
3838+ name: "Alice Smith",
3939+ email: "alice@example.com",
3340 age: 30,
3441 };
3542 const insertResult = await UserModel.insertOne(newUser);
3636- console.log('Inserted user:', insertResult.insertedId);
4343+ console.log("Inserted user:", insertResult.insertedId);
37443845 // 5. Find documents
3939- const users = await UserModel.find({ name: 'Alice Smith' });
4040- console.log('Found users:', users);
4646+ const users = await UserModel.find({ name: "Alice Smith" });
4747+ console.log("Found users:", users);
41484249 // 6. Find one document
4343- const foundUser = await UserModel.findOne({ _id: new ObjectId(insertResult.insertedId) });
4444- console.log('Found one user:', foundUser);
5050+ const foundUser = await UserModel.findOne({
5151+ _id: new ObjectId(insertResult.insertedId),
5252+ });
5353+ console.log("Found one user:", foundUser);
45544655 // 7. Update a document
4756 const updateResult = await UserModel.update(
4857 { _id: new ObjectId(insertResult.insertedId) },
4949- { age: 31 }
5858+ { age: 31 },
5059 );
5151- console.log('Updated user count:', updateResult.modifiedCount);
6060+ console.log("Updated user count:", updateResult.modifiedCount);
52615353- const updatedUser = await UserModel.findOne({ _id: new ObjectId(insertResult.insertedId) });
5454- console.log('Updated user data:', updatedUser);
6262+ const updatedUser = await UserModel.findOne({
6363+ _id: new ObjectId(insertResult.insertedId),
6464+ });
6565+ console.log("Updated user data:", updatedUser);
55665667 // 8. Delete documents
5757- const deleteResult = await UserModel.delete({ name: 'Alice Smith' });
5858- console.log('Deleted user count:', deleteResult.deletedCount);
5959-6868+ const deleteResult = await UserModel.delete({ name: "Alice Smith" });
6969+ console.log("Deleted user count:", deleteResult.deletedCount);
6070 } catch (error) {
6161- console.error('Error during example run:', error);
7171+ console.error("Error during example run:", error);
6272 } finally {
6373 // 9. Disconnect from MongoDB
6474 await disconnect();
6565- console.log('Disconnected from MongoDB');
7575+ console.log("Disconnected from MongoDB");
6676 }
6777}
68786979runExample();
7070-7171-7272-7373-
+3
mod.ts
···11+export { defineModel, type InferModel, type InsertType } from "./schema.ts";
22+export { connect, disconnect } from "./client.ts";
33+export { Model } from "./model.ts";