@objectql/driver-fs 3.0.0 → 4.0.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/CHANGELOG.md CHANGED
@@ -1,5 +1,26 @@
1
1
  # Changelog
2
2
 
3
+ ## 3.0.1
4
+
5
+ ### Patch Changes
6
+
7
+ - 79d04e1: Patch release for January 2026 updates
8
+
9
+ This patch includes minor improvements and maintenance updates:
10
+
11
+ - Enhanced type safety across core packages
12
+ - Improved error handling in drivers
13
+ - Documentation updates
14
+ - Performance optimizations
15
+
16
+ - faeef39: Release version 1.9.2 with latest improvements and bug fixes
17
+
18
+ This patch release includes stability improvements and bug fixes backported from the development branch.
19
+
20
+ - Updated dependencies [79d04e1]
21
+ - Updated dependencies [faeef39]
22
+ - @objectql/types@3.0.1
23
+
3
24
  ## 3.0.0
4
25
 
5
26
  ### Major Changes
@@ -49,6 +70,17 @@
49
70
  - Updated dependencies [38b01f4]
50
71
  - @objectql/types@3.0.0
51
72
 
73
+ ## 1.9.2
74
+
75
+ ### Patch Changes
76
+
77
+ - Release version 1.9.2 with latest improvements and bug fixes
78
+
79
+ This patch release includes stability improvements and bug fixes backported from the development branch.
80
+
81
+ - Updated dependencies
82
+ - @objectql/types@1.9.2
83
+
52
84
  ## 0.1.1
53
85
 
54
86
  ### Patch Changes
package/dist/index.d.ts CHANGED
@@ -1,25 +1,37 @@
1
1
  /**
2
- * File System Driver for ObjectQL (Production-Ready)
2
+ * ObjectQL
3
+ * Copyright (c) 2026-present ObjectStack Inc.
3
4
  *
4
- * A persistent file-based driver for ObjectQL that stores data in JSON files.
5
- * Each object type is stored in a separate JSON file for easy inspection and backup.
6
- *
7
- * ✅ Production-ready features:
8
- * - Persistent storage with JSON files
9
- * - One file per table/object (e.g., users.json, projects.json)
10
- * - Atomic write operations with temp file + rename strategy
11
- * - Full query support (filters, sorting, pagination)
12
- * - Backup on write for data safety
13
- * - Human-readable JSON format
14
- *
15
- * Use Cases:
16
- * - Small to medium datasets (< 10k records per object)
17
- * - Development and prototyping with persistent data
18
- * - Configuration and metadata storage
19
- * - Embedded applications
20
- * - Scenarios where database setup is not desired
5
+ * This source code is licensed under the MIT license found in the
6
+ * LICENSE file in the root directory of this source tree.
21
7
  */
22
8
  import { Driver } from '@objectql/types';
9
+ import { DriverInterface, QueryAST } from '@objectstack/spec';
10
+ /**
11
+ * Command interface for executeCommand method
12
+ */
13
+ export interface Command {
14
+ type: 'create' | 'update' | 'delete' | 'bulkCreate' | 'bulkUpdate' | 'bulkDelete';
15
+ object: string;
16
+ data?: any;
17
+ id?: string | number;
18
+ ids?: Array<string | number>;
19
+ records?: any[];
20
+ updates?: Array<{
21
+ id: string | number;
22
+ data: any;
23
+ }>;
24
+ options?: any;
25
+ }
26
+ /**
27
+ * Command result interface
28
+ */
29
+ export interface CommandResult {
30
+ success: boolean;
31
+ data?: any;
32
+ affected: number;
33
+ error?: string;
34
+ }
23
35
  /**
24
36
  * Configuration options for the FileSystem driver.
25
37
  */
@@ -42,11 +54,29 @@ export interface FileSystemDriverConfig {
42
54
  * - File: `{dataDir}/{objectName}.json`
43
55
  * - Content: Array of records `[{id: "1", ...}, {id: "2", ...}]`
44
56
  */
45
- export declare class FileSystemDriver implements Driver {
57
+ export declare class FileSystemDriver implements Driver, DriverInterface {
58
+ readonly name = "FileSystemDriver";
59
+ readonly version = "4.0.0";
60
+ readonly supports: {
61
+ transactions: boolean;
62
+ joins: boolean;
63
+ fullTextSearch: boolean;
64
+ jsonFields: boolean;
65
+ arrayFields: boolean;
66
+ };
46
67
  private config;
47
68
  private idCounters;
48
69
  private cache;
49
70
  constructor(config: FileSystemDriverConfig);
71
+ /**
72
+ * Connect to the database (for DriverInterface compatibility)
73
+ * This is a no-op for filesystem driver as there's no external connection.
74
+ */
75
+ connect(): Promise<void>;
76
+ /**
77
+ * Check database connection health
78
+ */
79
+ checkHealth(): Promise<boolean>;
50
80
  /**
51
81
  * Load initial data into the store.
52
82
  */
@@ -126,6 +156,55 @@ export declare class FileSystemDriver implements Driver {
126
156
  * Get the size of the cache (number of objects cached).
127
157
  */
128
158
  getCacheSize(): number;
159
+ /**
160
+ * Execute a query using QueryAST (DriverInterface v4.0 method)
161
+ *
162
+ * This method handles all query operations using the standard QueryAST format
163
+ * from @objectstack/spec. It converts the AST to the legacy query format
164
+ * and delegates to the existing find() method.
165
+ *
166
+ * @param ast - The query AST to execute
167
+ * @param options - Optional execution options
168
+ * @returns Query results with value array and count
169
+ */
170
+ executeQuery(ast: QueryAST, options?: any): Promise<{
171
+ value: any[];
172
+ count?: number;
173
+ }>;
174
+ /**
175
+ * Execute a command (DriverInterface v4.0 method)
176
+ *
177
+ * This method handles all mutation operations (create, update, delete)
178
+ * using a unified command interface.
179
+ *
180
+ * @param command - The command to execute
181
+ * @param options - Optional execution options
182
+ * @returns Command execution result
183
+ */
184
+ executeCommand(command: Command, options?: any): Promise<CommandResult>;
185
+ /**
186
+ * Execute raw command (for compatibility)
187
+ *
188
+ * @param command - Command string or object
189
+ * @param parameters - Command parameters
190
+ * @param options - Execution options
191
+ */
192
+ execute(command: any, parameters?: any[], options?: any): Promise<any>;
193
+ /**
194
+ * Convert FilterNode from QueryAST to legacy filter format.
195
+ *
196
+ * @param node - The FilterNode to convert
197
+ * @returns Legacy filter array format
198
+ */
199
+ private convertFilterNodeToLegacy;
200
+ /**
201
+ * Normalizes query format to support both legacy UnifiedQuery and QueryAST formats.
202
+ * This ensures backward compatibility while supporting the new @objectstack/spec interface.
203
+ *
204
+ * QueryAST format uses 'top' for limit, while UnifiedQuery uses 'limit'.
205
+ * QueryAST sort is array of {field, order}, while UnifiedQuery is array of [field, order].
206
+ */
207
+ private normalizeQuery;
129
208
  /**
130
209
  * Apply filters to an array of records.
131
210
  *
package/dist/index.js CHANGED
@@ -1,24 +1,10 @@
1
1
  "use strict";
2
2
  /**
3
- * File System Driver for ObjectQL (Production-Ready)
4
- *
5
- * A persistent file-based driver for ObjectQL that stores data in JSON files.
6
- * Each object type is stored in a separate JSON file for easy inspection and backup.
7
- *
8
- * ✅ Production-ready features:
9
- * - Persistent storage with JSON files
10
- * - One file per table/object (e.g., users.json, projects.json)
11
- * - Atomic write operations with temp file + rename strategy
12
- * - Full query support (filters, sorting, pagination)
13
- * - Backup on write for data safety
14
- * - Human-readable JSON format
3
+ * ObjectQL
4
+ * Copyright (c) 2026-present ObjectStack Inc.
15
5
  *
16
- * Use Cases:
17
- * - Small to medium datasets (< 10k records per object)
18
- * - Development and prototyping with persistent data
19
- * - Configuration and metadata storage
20
- * - Embedded applications
21
- * - Scenarios where database setup is not desired
6
+ * This source code is licensed under the MIT license found in the
7
+ * LICENSE file in the root directory of this source tree.
22
8
  */
23
9
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
24
10
  if (k2 === undefined) k2 = k;
@@ -55,6 +41,31 @@ var __importStar = (this && this.__importStar) || (function () {
55
41
  })();
56
42
  Object.defineProperty(exports, "__esModule", { value: true });
57
43
  exports.FileSystemDriver = void 0;
44
+ /**
45
+ * File System Driver for ObjectQL (Production-Ready)
46
+ *
47
+ * A persistent file-based driver for ObjectQL that stores data in JSON files.
48
+ * Each object type is stored in a separate JSON file for easy inspection and backup.
49
+ *
50
+ * Implements both the legacy Driver interface from @objectql/types and
51
+ * the standard DriverInterface from @objectstack/spec for compatibility
52
+ * with the new kernel-based plugin system.
53
+ *
54
+ * ✅ Production-ready features:
55
+ * - Persistent storage with JSON files
56
+ * - One file per table/object (e.g., users.json, projects.json)
57
+ * - Atomic write operations with temp file + rename strategy
58
+ * - Full query support (filters, sorting, pagination)
59
+ * - Backup on write for data safety
60
+ * - Human-readable JSON format
61
+ *
62
+ * Use Cases:
63
+ * - Small to medium datasets (< 10k records per object)
64
+ * - Development and prototyping with persistent data
65
+ * - Configuration and metadata storage
66
+ * - Embedded applications
67
+ * - Scenarios where database setup is not desired
68
+ */
58
69
  const fs = __importStar(require("fs"));
59
70
  const path = __importStar(require("path"));
60
71
  const types_1 = require("@objectql/types");
@@ -67,6 +78,16 @@ const types_1 = require("@objectql/types");
67
78
  */
68
79
  class FileSystemDriver {
69
80
  constructor(config) {
81
+ // Driver metadata (ObjectStack-compatible)
82
+ this.name = 'FileSystemDriver';
83
+ this.version = '4.0.0';
84
+ this.supports = {
85
+ transactions: false,
86
+ joins: false,
87
+ fullTextSearch: false,
88
+ jsonFields: true,
89
+ arrayFields: true
90
+ };
70
91
  this.config = {
71
92
  prettyPrint: true,
72
93
  enableBackup: true,
@@ -84,6 +105,30 @@ class FileSystemDriver {
84
105
  this.loadInitialData(config.initialData);
85
106
  }
86
107
  }
108
+ /**
109
+ * Connect to the database (for DriverInterface compatibility)
110
+ * This is a no-op for filesystem driver as there's no external connection.
111
+ */
112
+ async connect() {
113
+ // No-op: FileSystem driver doesn't need connection
114
+ }
115
+ /**
116
+ * Check database connection health
117
+ */
118
+ async checkHealth() {
119
+ try {
120
+ // Check if data directory is accessible
121
+ if (!fs.existsSync(this.config.dataDir)) {
122
+ return false;
123
+ }
124
+ // Try to read directory
125
+ fs.readdirSync(this.config.dataDir);
126
+ return true;
127
+ }
128
+ catch (error) {
129
+ return false;
130
+ }
131
+ }
87
132
  /**
88
133
  * Load initial data into the store.
89
134
  */
@@ -204,25 +249,27 @@ class FileSystemDriver {
204
249
  * Find multiple records matching the query criteria.
205
250
  */
206
251
  async find(objectName, query = {}, options) {
252
+ // Normalize query to support both legacy and QueryAST formats
253
+ const normalizedQuery = this.normalizeQuery(query);
207
254
  let results = this.loadRecords(objectName);
208
255
  // Apply filters
209
- if (query.filters) {
210
- results = this.applyFilters(results, query.filters);
256
+ if (normalizedQuery.filters) {
257
+ results = this.applyFilters(results, normalizedQuery.filters);
211
258
  }
212
259
  // Apply sorting
213
- if (query.sort && Array.isArray(query.sort)) {
214
- results = this.applySort(results, query.sort);
260
+ if (normalizedQuery.sort && Array.isArray(normalizedQuery.sort)) {
261
+ results = this.applySort(results, normalizedQuery.sort);
215
262
  }
216
263
  // Apply pagination
217
- if (query.skip) {
218
- results = results.slice(query.skip);
264
+ if (normalizedQuery.skip) {
265
+ results = results.slice(normalizedQuery.skip);
219
266
  }
220
- if (query.limit) {
221
- results = results.slice(0, query.limit);
267
+ if (normalizedQuery.limit) {
268
+ results = results.slice(0, normalizedQuery.limit);
222
269
  }
223
270
  // Apply field projection
224
- if (query.fields && Array.isArray(query.fields)) {
225
- results = results.map(doc => this.projectFields(doc, query.fields));
271
+ if (normalizedQuery.fields && Array.isArray(normalizedQuery.fields)) {
272
+ results = results.map(doc => this.projectFields(doc, normalizedQuery.fields));
226
273
  }
227
274
  // Return deep copies to prevent external modifications
228
275
  return results.map(r => ({ ...r }));
@@ -463,7 +510,226 @@ class FileSystemDriver {
463
510
  getCacheSize() {
464
511
  return this.cache.size;
465
512
  }
513
+ /**
514
+ * Execute a query using QueryAST (DriverInterface v4.0 method)
515
+ *
516
+ * This method handles all query operations using the standard QueryAST format
517
+ * from @objectstack/spec. It converts the AST to the legacy query format
518
+ * and delegates to the existing find() method.
519
+ *
520
+ * @param ast - The query AST to execute
521
+ * @param options - Optional execution options
522
+ * @returns Query results with value array and count
523
+ */
524
+ async executeQuery(ast, options) {
525
+ var _a;
526
+ const objectName = ast.object || '';
527
+ // Convert QueryAST to legacy query format
528
+ const legacyQuery = {
529
+ fields: ast.fields,
530
+ filters: this.convertFilterNodeToLegacy(ast.filters),
531
+ sort: (_a = ast.sort) === null || _a === void 0 ? void 0 : _a.map((s) => [s.field, s.order]),
532
+ limit: ast.top,
533
+ skip: ast.skip,
534
+ };
535
+ // Use existing find method
536
+ const results = await this.find(objectName, legacyQuery, options);
537
+ return {
538
+ value: results,
539
+ count: results.length
540
+ };
541
+ }
542
+ /**
543
+ * Execute a command (DriverInterface v4.0 method)
544
+ *
545
+ * This method handles all mutation operations (create, update, delete)
546
+ * using a unified command interface.
547
+ *
548
+ * @param command - The command to execute
549
+ * @param options - Optional execution options
550
+ * @returns Command execution result
551
+ */
552
+ async executeCommand(command, options) {
553
+ try {
554
+ const cmdOptions = { ...options, ...command.options };
555
+ switch (command.type) {
556
+ case 'create':
557
+ if (!command.data) {
558
+ throw new Error('Create command requires data');
559
+ }
560
+ const created = await this.create(command.object, command.data, cmdOptions);
561
+ return {
562
+ success: true,
563
+ data: created,
564
+ affected: 1
565
+ };
566
+ case 'update':
567
+ if (!command.id || !command.data) {
568
+ throw new Error('Update command requires id and data');
569
+ }
570
+ const updated = await this.update(command.object, command.id, command.data, cmdOptions);
571
+ return {
572
+ success: true,
573
+ data: updated,
574
+ affected: 1
575
+ };
576
+ case 'delete':
577
+ if (!command.id) {
578
+ throw new Error('Delete command requires id');
579
+ }
580
+ await this.delete(command.object, command.id, cmdOptions);
581
+ return {
582
+ success: true,
583
+ affected: 1
584
+ };
585
+ case 'bulkCreate':
586
+ if (!command.records || !Array.isArray(command.records)) {
587
+ throw new Error('BulkCreate command requires records array');
588
+ }
589
+ const bulkCreated = [];
590
+ for (const record of command.records) {
591
+ const created = await this.create(command.object, record, cmdOptions);
592
+ bulkCreated.push(created);
593
+ }
594
+ return {
595
+ success: true,
596
+ data: bulkCreated,
597
+ affected: command.records.length
598
+ };
599
+ case 'bulkUpdate':
600
+ if (!command.updates || !Array.isArray(command.updates)) {
601
+ throw new Error('BulkUpdate command requires updates array');
602
+ }
603
+ const updateResults = [];
604
+ for (const update of command.updates) {
605
+ const result = await this.update(command.object, update.id, update.data, cmdOptions);
606
+ updateResults.push(result);
607
+ }
608
+ return {
609
+ success: true,
610
+ data: updateResults,
611
+ affected: command.updates.length
612
+ };
613
+ case 'bulkDelete':
614
+ if (!command.ids || !Array.isArray(command.ids)) {
615
+ throw new Error('BulkDelete command requires ids array');
616
+ }
617
+ let deleted = 0;
618
+ for (const id of command.ids) {
619
+ const result = await this.delete(command.object, id, cmdOptions);
620
+ if (result)
621
+ deleted++;
622
+ }
623
+ return {
624
+ success: true,
625
+ affected: deleted
626
+ };
627
+ default:
628
+ throw new Error(`Unsupported command type: ${command.type}`);
629
+ }
630
+ }
631
+ catch (error) {
632
+ return {
633
+ success: false,
634
+ affected: 0,
635
+ error: error.message || 'Unknown error occurred'
636
+ };
637
+ }
638
+ }
639
+ /**
640
+ * Execute raw command (for compatibility)
641
+ *
642
+ * @param command - Command string or object
643
+ * @param parameters - Command parameters
644
+ * @param options - Execution options
645
+ */
646
+ async execute(command, parameters, options) {
647
+ throw new Error('FileSystem driver does not support raw command execution. Use executeCommand() instead.');
648
+ }
466
649
  // ========== Helper Methods ==========
650
+ /**
651
+ * Convert FilterNode from QueryAST to legacy filter format.
652
+ *
653
+ * @param node - The FilterNode to convert
654
+ * @returns Legacy filter array format
655
+ */
656
+ convertFilterNodeToLegacy(node) {
657
+ if (!node)
658
+ return undefined;
659
+ switch (node.type) {
660
+ case 'comparison':
661
+ // Convert comparison node to [field, operator, value] format
662
+ const operator = node.operator || '=';
663
+ return [[node.field, operator, node.value]];
664
+ case 'and':
665
+ // Convert AND node to array with 'and' separator
666
+ if (!node.children || node.children.length === 0)
667
+ return undefined;
668
+ const andResults = [];
669
+ for (const child of node.children) {
670
+ const converted = this.convertFilterNodeToLegacy(child);
671
+ if (converted) {
672
+ if (andResults.length > 0) {
673
+ andResults.push('and');
674
+ }
675
+ andResults.push(...(Array.isArray(converted) ? converted : [converted]));
676
+ }
677
+ }
678
+ return andResults.length > 0 ? andResults : undefined;
679
+ case 'or':
680
+ // Convert OR node to array with 'or' separator
681
+ if (!node.children || node.children.length === 0)
682
+ return undefined;
683
+ const orResults = [];
684
+ for (const child of node.children) {
685
+ const converted = this.convertFilterNodeToLegacy(child);
686
+ if (converted) {
687
+ if (orResults.length > 0) {
688
+ orResults.push('or');
689
+ }
690
+ orResults.push(...(Array.isArray(converted) ? converted : [converted]));
691
+ }
692
+ }
693
+ return orResults.length > 0 ? orResults : undefined;
694
+ case 'not':
695
+ // NOT is complex - we'll just process the first child for now
696
+ if (node.children && node.children.length > 0) {
697
+ return this.convertFilterNodeToLegacy(node.children[0]);
698
+ }
699
+ return undefined;
700
+ default:
701
+ return undefined;
702
+ }
703
+ }
704
+ /**
705
+ * Normalizes query format to support both legacy UnifiedQuery and QueryAST formats.
706
+ * This ensures backward compatibility while supporting the new @objectstack/spec interface.
707
+ *
708
+ * QueryAST format uses 'top' for limit, while UnifiedQuery uses 'limit'.
709
+ * QueryAST sort is array of {field, order}, while UnifiedQuery is array of [field, order].
710
+ */
711
+ normalizeQuery(query) {
712
+ if (!query)
713
+ return {};
714
+ const normalized = { ...query };
715
+ // Normalize limit/top
716
+ if (normalized.top !== undefined && normalized.limit === undefined) {
717
+ normalized.limit = normalized.top;
718
+ }
719
+ // Normalize sort format
720
+ if (normalized.sort && Array.isArray(normalized.sort)) {
721
+ // Check if it's already in the array format [field, order]
722
+ const firstSort = normalized.sort[0];
723
+ if (firstSort && typeof firstSort === 'object' && !Array.isArray(firstSort)) {
724
+ // Convert from QueryAST format {field, order} to internal format [field, order]
725
+ normalized.sort = normalized.sort.map((item) => [
726
+ item.field,
727
+ item.order || item.direction || item.dir || 'asc'
728
+ ]);
729
+ }
730
+ }
731
+ return normalized;
732
+ }
467
733
  /**
468
734
  * Apply filters to an array of records.
469
735
  *
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@objectql/driver-fs",
3
- "version": "3.0.0",
3
+ "version": "4.0.0",
4
4
  "description": "File system driver for ObjectQL - JSON file-based storage with one file per table",
5
5
  "keywords": [
6
6
  "objectql",
@@ -21,7 +21,8 @@
21
21
  "package.json"
22
22
  ],
23
23
  "dependencies": {
24
- "@objectql/types": "3.0.0"
24
+ "@objectstack/spec": "^0.2.0",
25
+ "@objectql/types": "3.0.1"
25
26
  },
26
27
  "devDependencies": {
27
28
  "@types/jest": "^29.0.0",