@toonstore/torm 0.1.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli.js ADDED
@@ -0,0 +1,210 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ /**
4
+ * TORM CLI
5
+ * Command-line interface for ToonStoreDB ORM
6
+ */
7
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
+ if (k2 === undefined) k2 = k;
9
+ var desc = Object.getOwnPropertyDescriptor(m, k);
10
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
11
+ desc = { enumerable: true, get: function() { return m[k]; } };
12
+ }
13
+ Object.defineProperty(o, k2, desc);
14
+ }) : (function(o, m, k, k2) {
15
+ if (k2 === undefined) k2 = k;
16
+ o[k2] = m[k];
17
+ }));
18
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
19
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
20
+ }) : function(o, v) {
21
+ o["default"] = v;
22
+ });
23
+ var __importStar = (this && this.__importStar) || (function () {
24
+ var ownKeys = function(o) {
25
+ ownKeys = Object.getOwnPropertyNames || function (o) {
26
+ var ar = [];
27
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
28
+ return ar;
29
+ };
30
+ return ownKeys(o);
31
+ };
32
+ return function (mod) {
33
+ if (mod && mod.__esModule) return mod;
34
+ var result = {};
35
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
36
+ __setModuleDefault(result, mod);
37
+ return result;
38
+ };
39
+ })();
40
+ Object.defineProperty(exports, "__esModule", { value: true });
41
+ const child_process_1 = require("child_process");
42
+ const path = __importStar(require("path"));
43
+ const fs = __importStar(require("fs"));
44
+ const command = process.argv[2];
45
+ const args = process.argv.slice(3);
46
+ function printHelp() {
47
+ console.log(`
48
+ TORM CLI - ToonStoreDB ORM Tools
49
+
50
+ Usage:
51
+ torm <command> [options]
52
+
53
+ Commands:
54
+ studio Launch TORM Studio (visual database manager)
55
+ generate Generate TypeScript types from your schema
56
+ migrate Run database migrations
57
+ help Show this help message
58
+
59
+ Examples:
60
+ torm studio # Start TORM Studio at http://localhost:4983
61
+ torm studio --port 8080 # Start on custom port
62
+ torm generate # Generate types from schema
63
+ torm migrate # Run pending migrations
64
+
65
+ Config:
66
+ Create torm.config.ts in your project root with DB credentials
67
+
68
+ For more info, visit: https://github.com/toonstore/torm
69
+ `);
70
+ }
71
+ function findConfig() {
72
+ const configPaths = [
73
+ path.join(process.cwd(), 'torm.config.ts'),
74
+ path.join(process.cwd(), 'torm.config.js'),
75
+ ];
76
+ for (const configPath of configPaths) {
77
+ if (fs.existsSync(configPath)) {
78
+ console.log(`📝 Found config: ${configPath}\n`);
79
+ try {
80
+ // For TS files, we'd need to compile them first
81
+ // For now, suggest JS or use default config
82
+ if (configPath.endsWith('.js')) {
83
+ const config = require(configPath);
84
+ return config.default || config;
85
+ }
86
+ }
87
+ catch (err) {
88
+ console.error(`⚠️ Error loading config: ${err.message}\n`);
89
+ }
90
+ }
91
+ }
92
+ return null;
93
+ }
94
+ async function studio() {
95
+ console.log('🚀 Starting TORM Studio...\n');
96
+ // Load config
97
+ const config = findConfig();
98
+ if (!config) {
99
+ console.log('⚠️ No torm.config.ts found in current directory\n');
100
+ console.log('Creating a default config for you...\n');
101
+ // Create example config
102
+ const exampleConfig = `/**
103
+ * TORM Configuration
104
+ * Define your ToonStoreDB connection here
105
+ */
106
+
107
+ export default {
108
+ // ToonStoreDB connection
109
+ dbCredentials: {
110
+ host: 'localhost',
111
+ port: 6379,
112
+ // For cloud/remote databases:
113
+ // password: process.env.TOONSTORE_PASSWORD,
114
+ // url: 'redis://user:pass@host:port',
115
+ },
116
+
117
+ // Studio configuration
118
+ studio: {
119
+ port: 4983, // Studio port (like Drizzle)
120
+ },
121
+ };
122
+ `;
123
+ fs.writeFileSync(path.join(process.cwd(), 'torm.config.ts'), exampleConfig);
124
+ console.log('✅ Created torm.config.ts');
125
+ console.log(' Edit this file with your database credentials\n');
126
+ console.log(' Then run `torm studio` again\n');
127
+ process.exit(0);
128
+ }
129
+ // Get port from args or config or default
130
+ let port = 4983; // Drizzle uses 4983
131
+ if (args.includes('--port')) {
132
+ port = parseInt(args[args.indexOf('--port') + 1]);
133
+ }
134
+ else if (config.studio?.port) {
135
+ port = config.studio.port;
136
+ }
137
+ // Check if studio-server.js exists
138
+ const serverPath = path.join(__dirname, 'studio-server.js');
139
+ if (!fs.existsSync(serverPath)) {
140
+ console.error('❌ Studio server not found!');
141
+ console.error(' Expected at:', serverPath);
142
+ console.error('\n💡 Run `npm run build` first\n');
143
+ process.exit(1);
144
+ }
145
+ console.log('📍 Starting TORM Studio server...\n');
146
+ // Pass config to server via environment
147
+ const env = {
148
+ ...process.env,
149
+ PORT: port.toString(),
150
+ TOONSTORE_HOST: config.dbCredentials?.host || 'localhost',
151
+ TOONSTORE_PORT: (config.dbCredentials?.port || 6379).toString(),
152
+ TOONSTORE_URL: config.dbCredentials?.url || '',
153
+ TOONSTORE_PASSWORD: config.dbCredentials?.password || '',
154
+ };
155
+ const server = (0, child_process_1.spawn)('node', [serverPath], {
156
+ stdio: 'inherit',
157
+ env,
158
+ });
159
+ server.on('error', (err) => {
160
+ console.error('\n❌ Error starting TORM Studio:');
161
+ console.error(' ', err.message);
162
+ process.exit(1);
163
+ });
164
+ server.on('close', (code) => {
165
+ if (code !== 0) {
166
+ console.log(`\n⚠️ TORM Studio exited with code ${code}`);
167
+ }
168
+ });
169
+ // Handle Ctrl+C gracefully
170
+ process.on('SIGINT', () => {
171
+ console.log('\n\n👋 Shutting down TORM Studio...');
172
+ server.kill('SIGINT');
173
+ process.exit(0);
174
+ });
175
+ }
176
+ async function generate() {
177
+ console.log('🔧 Generating TypeScript types from schema...\n');
178
+ console.log('⚠️ This feature is coming soon!');
179
+ console.log('💡 For now, define types manually in your code.\n');
180
+ process.exit(0);
181
+ }
182
+ async function migrate() {
183
+ console.log('🔄 Running database migrations...\n');
184
+ console.log('⚠️ This feature is coming soon!');
185
+ console.log('💡 For now, manage schema changes manually.\n');
186
+ process.exit(0);
187
+ }
188
+ // Main CLI logic
189
+ switch (command) {
190
+ case 'studio':
191
+ studio();
192
+ break;
193
+ case 'generate':
194
+ generate();
195
+ break;
196
+ case 'migrate':
197
+ migrate();
198
+ break;
199
+ case 'help':
200
+ case '--help':
201
+ case '-h':
202
+ case undefined:
203
+ printHelp();
204
+ break;
205
+ default:
206
+ console.error(`❌ Unknown command: ${command}\n`);
207
+ printHelp();
208
+ process.exit(1);
209
+ }
210
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,12 +1,13 @@
1
1
  /**
2
2
  * @toonstore/torm - ToonStore ORM Client for Node.js
3
3
  *
4
- * A Mongoose-style ORM client for ToonStore
4
+ * A Mongoose-style ORM client for ToonStore connecting directly to Redis
5
5
  */
6
- import { AxiosInstance } from 'axios';
7
- export interface TormClientOptions {
8
- baseURL?: string;
9
- timeout?: number;
6
+ import Redis, { RedisOptions } from 'ioredis';
7
+ export interface TormClientOptions extends RedisOptions {
8
+ host?: string;
9
+ port?: number;
10
+ url?: string;
10
11
  }
11
12
  export interface QueryFilter {
12
13
  field: string;
@@ -42,28 +43,32 @@ export interface ModelOptions {
42
43
  validate?: boolean;
43
44
  }
44
45
  export declare class TormClient {
45
- private client;
46
- private baseURL;
46
+ private redis;
47
+ private connected;
47
48
  constructor(options?: TormClientOptions);
48
49
  /**
49
50
  * Create a new model class
50
51
  */
51
52
  model<T extends Record<string, any>>(name: string, schema?: ModelSchema, options?: ModelOptions): Model<T>;
52
53
  /**
53
- * Get HTTP client instance
54
+ * Get Redis client instance
54
55
  */
55
- getClient(): AxiosInstance;
56
+ getRedis(): Redis;
56
57
  /**
57
- * Check server health
58
+ * Check connection health
58
59
  */
59
60
  health(): Promise<{
60
61
  status: string;
61
- database?: string;
62
+ connected: boolean;
62
63
  }>;
63
64
  /**
64
- * Get server info
65
+ * Close Redis connection
66
+ */
67
+ disconnect(): Promise<void>;
68
+ /**
69
+ * Check if connected
65
70
  */
66
- info(): Promise<any>;
71
+ isConnected(): boolean;
67
72
  }
68
73
  export declare class Model<T extends Record<string, any>> {
69
74
  private client;
@@ -71,22 +76,44 @@ export declare class Model<T extends Record<string, any>> {
71
76
  private schema?;
72
77
  private options;
73
78
  constructor(client: TormClient, name: string, schema?: ModelSchema, options?: ModelOptions);
79
+ /**
80
+ * Get the Redis key pattern for this collection
81
+ */
82
+ private getKeyPattern;
83
+ /**
84
+ * Generate a unique ID
85
+ */
86
+ private generateId;
74
87
  /**
75
88
  * Create a new document
76
89
  */
77
- create(data: Partial<T>): Promise<T>;
90
+ create(data: Partial<T>): Promise<T & {
91
+ _id: string;
92
+ }>;
78
93
  /**
79
94
  * Find all documents
80
95
  */
81
- find(): Promise<T[]>;
96
+ find(): Promise<Array<T & {
97
+ _id: string;
98
+ }>>;
82
99
  /**
83
100
  * Find document by ID
84
101
  */
85
- findById(id: string): Promise<T | null>;
102
+ findById(id: string): Promise<(T & {
103
+ _id: string;
104
+ }) | null>;
105
+ /**
106
+ * Find one document matching criteria
107
+ */
108
+ findOne(filter: Partial<T>): Promise<(T & {
109
+ _id: string;
110
+ }) | null>;
86
111
  /**
87
112
  * Update document by ID
88
113
  */
89
- update(id: string, data: Partial<T>): Promise<T>;
114
+ update(id: string, data: Partial<T>): Promise<(T & {
115
+ _id: string;
116
+ }) | null>;
90
117
  /**
91
118
  * Delete document by ID
92
119
  */
@@ -99,51 +126,54 @@ export declare class Model<T extends Record<string, any>> {
99
126
  * Query documents with filters
100
127
  */
101
128
  query(): QueryBuilder<T>;
129
+ /**
130
+ * Delete all documents in collection
131
+ */
132
+ deleteMany(filter?: Partial<T>): Promise<number>;
102
133
  /**
103
134
  * Validate data against schema
104
135
  */
105
136
  private validate;
106
- private isEmail;
107
- private isURL;
137
+ private isValidEmail;
138
+ private isValidUrl;
108
139
  }
109
- export declare class QueryBuilder<T> {
110
- private client;
111
- private collectionName;
112
- private filters;
113
- private sortField?;
114
- private sortOrder?;
140
+ export declare class QueryBuilder<T extends Record<string, any>> {
141
+ private model;
142
+ private filterConditions;
143
+ private sortOptions?;
115
144
  private limitValue?;
116
145
  private skipValue?;
117
- constructor(client: TormClient, collectionName: string);
146
+ constructor(model: Model<T>);
118
147
  /**
119
- * Add a filter
148
+ * Add filter condition
120
149
  */
121
- filter(field: string, operator: QueryFilter['operator'], value: any): QueryBuilder<T>;
150
+ where(field: string, operator: QueryFilter['operator'], value: any): this;
122
151
  /**
123
- * Filter where field equals value
152
+ * Shorthand for equals filter
124
153
  */
125
- where(field: string, value: any): QueryBuilder<T>;
154
+ equals(field: string, value: any): this;
126
155
  /**
127
156
  * Sort results
128
157
  */
129
- sort(field: string, order?: 'asc' | 'desc'): QueryBuilder<T>;
158
+ sort(field: string, order?: 'asc' | 'desc'): this;
130
159
  /**
131
- * Limit results
160
+ * Limit number of results
132
161
  */
133
- limit(n: number): QueryBuilder<T>;
162
+ limit(value: number): this;
134
163
  /**
135
- * Skip results
164
+ * Skip number of results
136
165
  */
137
- skip(n: number): QueryBuilder<T>;
166
+ skip(value: number): this;
138
167
  /**
139
- * Execute query
168
+ * Execute the query
140
169
  */
141
- exec(): Promise<T[]>;
170
+ exec(): Promise<Array<T & {
171
+ _id: string;
172
+ }>>;
142
173
  /**
143
- * Count matching documents
174
+ * Get count of matching documents
144
175
  */
145
176
  count(): Promise<number>;
146
- private matchesFilter;
147
177
  }
148
178
  export default TormClient;
149
179
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}