UNPKG

@yihuangdb/storage-object

Version:

A Node.js storage object layer library using Redis OM

148 lines 10.6 kB
"use strict"; /** * @module @yihuangdb/storage-object * @description High-performance Redis-based storage system with ORM-like capabilities * * Core API exports focused on simplicity and developer experience. * * @example Quick Start - Simplest Usage * ```typescript * import { storage } from '@yihuangdb/storage-object'; * * // Create storage with simple schema * const users = await storage('users', { * name: 'text', * email: 'string', * age: 'number' * }); * * // CRUD operations * const user = await users.create({ name: 'John', email: 'john@example.com', age: 30 }); * const found = await users.findById(user.entityId); * await users.update(user.entityId, { age: 31 }); * await users.delete(user.entityId); * ``` * * @example Standard Usage - More Control * ```typescript * import { StorageSystem, StorageSchema } from '@yihuangdb/storage-object'; * * // Define a schema with validation * const userSchema = StorageSchema.define({ * name: { type: 'text', indexed: true }, * email: { type: 'string', indexed: true, required: true }, * age: { type: 'number', indexed: true, validate: v => v >= 0 } * }); * * // Create storage with options * const users = await StorageSystem.create('users', userSchema, { * enableChangeTracking: true * }); * ``` */ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.quickStorage = exports.PatternScanner = exports.RedisKeyManager = exports.getRedisKeyManager = exports.monitorStorage = exports.cleanupStorages = exports.migrateStorage = exports.getGlobalStats = exports.restoreStorages = exports.backupStorages = exports.getStorageMetadata = exports.getStorageStats = exports.validateStorage = exports.deleteStorage = exports.listStorages = exports.getOrCreateStorage = exports.getStorage = exports.createStorage = exports.ExportImportManager = exports.StorageVersionManager = exports.SchemaVersionManager = exports.SchemaRegistry = exports.getSchemaRegistry = exports.PerformanceProfiler = exports.profiler = exports.FieldDecorator = exports.Model = exports.OptimisticLockError = exports.RedisConnection = exports.StorageSchema = exports.StorageObject = exports.StorageSystem = void 0; // ============================================================================ // Core Public API - Primary exports for most users // ============================================================================ // Storage System - Main entry point for creating and managing storage instances var storage_system_1 = require("./storage-system"); Object.defineProperty(exports, "StorageSystem", { enumerable: true, get: function () { return storage_system_1.StorageSystem; } }); // Storage Object - The storage instance class var storage_1 = require("./storage"); Object.defineProperty(exports, "StorageObject", { enumerable: true, get: function () { return storage_1.StorageObject; } }); // Schema Management - Enhanced schema definition with validation var storage_schema_1 = require("./storage-schema"); Object.defineProperty(exports, "StorageSchema", { enumerable: true, get: function () { return storage_schema_1.StorageSchema; } }); // ============================================================================ // Advanced Features - For power users and specific use cases // ============================================================================ // Connection Management var connection_1 = require("./connection"); Object.defineProperty(exports, "RedisConnection", { enumerable: true, get: function () { return connection_1.RedisConnection; } }); // Optimistic Locking var optimistic_lock_1 = require("./optimistic-lock"); Object.defineProperty(exports, "OptimisticLockError", { enumerable: true, get: function () { return optimistic_lock_1.OptimisticLockError; } }); // Decorators for class-based models var decorators_1 = require("./decorators"); Object.defineProperty(exports, "Model", { enumerable: true, get: function () { return decorators_1.Model; } }); Object.defineProperty(exports, "FieldDecorator", { enumerable: true, get: function () { return decorators_1.Field; } }); // Performance Monitoring var performance_profiler_1 = require("./performance-profiler"); Object.defineProperty(exports, "profiler", { enumerable: true, get: function () { return performance_profiler_1.profiler; } }); Object.defineProperty(exports, "PerformanceProfiler", { enumerable: true, get: function () { return performance_profiler_1.PerformanceProfiler; } }); // ============================================================================ // Schema Registry & Management - For multi-schema applications // ============================================================================ var schema_registry_1 = require("./schema-registry"); Object.defineProperty(exports, "getSchemaRegistry", { enumerable: true, get: function () { return schema_registry_1.getSchemaRegistry; } }); Object.defineProperty(exports, "SchemaRegistry", { enumerable: true, get: function () { return schema_registry_1.SchemaRegistry; } }); // ============================================================================ // Version Management - For data synchronization and migrations // ============================================================================ // Schema versioning var schema_versioning_1 = require("./schema-versioning"); Object.defineProperty(exports, "SchemaVersionManager", { enumerable: true, get: function () { return schema_versioning_1.SchemaVersionManager; } }); // Storage versioning for change tracking var storage_version_manager_1 = require("./storage-version-manager"); Object.defineProperty(exports, "StorageVersionManager", { enumerable: true, get: function () { return storage_version_manager_1.StorageVersionManager; } }); // Export/Import functionality var export_import_manager_1 = require("./export-import-manager"); Object.defineProperty(exports, "ExportImportManager", { enumerable: true, get: function () { return export_import_manager_1.ExportImportManager; } }); // ============================================================================ // Utility Functions - Helper functions for common tasks // ============================================================================ // Storage factory functions (maintained for backward compatibility) var storage_factory_1 = require("./storage-factory"); Object.defineProperty(exports, "createStorage", { enumerable: true, get: function () { return storage_factory_1.createStorage; } }); Object.defineProperty(exports, "getStorage", { enumerable: true, get: function () { return storage_factory_1.getStorage; } }); Object.defineProperty(exports, "getOrCreateStorage", { enumerable: true, get: function () { return storage_factory_1.getOrCreateStorage; } }); Object.defineProperty(exports, "listStorages", { enumerable: true, get: function () { return storage_factory_1.listStorages; } }); Object.defineProperty(exports, "deleteStorage", { enumerable: true, get: function () { return storage_factory_1.deleteStorage; } }); Object.defineProperty(exports, "validateStorage", { enumerable: true, get: function () { return storage_factory_1.validateStorage; } }); Object.defineProperty(exports, "getStorageStats", { enumerable: true, get: function () { return storage_factory_1.getStorageStats; } }); Object.defineProperty(exports, "getStorageMetadata", { enumerable: true, get: function () { return storage_factory_1.getStorageMetadata; } }); Object.defineProperty(exports, "backupStorages", { enumerable: true, get: function () { return storage_factory_1.backupStorages; } }); Object.defineProperty(exports, "restoreStorages", { enumerable: true, get: function () { return storage_factory_1.restoreStorages; } }); Object.defineProperty(exports, "getGlobalStats", { enumerable: true, get: function () { return storage_factory_1.getGlobalStats; } }); Object.defineProperty(exports, "migrateStorage", { enumerable: true, get: function () { return storage_factory_1.migrateStorage; } }); Object.defineProperty(exports, "cleanupStorages", { enumerable: true, get: function () { return storage_factory_1.cleanupStorages; } }); Object.defineProperty(exports, "monitorStorage", { enumerable: true, get: function () { return storage_factory_1.monitorStorage; } }); // ============================================================================ // Redis Key Management - Low-level key management utilities // ============================================================================ var redis_key_manager_1 = require("./redis-key-manager"); Object.defineProperty(exports, "getRedisKeyManager", { enumerable: true, get: function () { return redis_key_manager_1.getRedisKeyManager; } }); Object.defineProperty(exports, "RedisKeyManager", { enumerable: true, get: function () { return redis_key_manager_1.RedisKeyManager; } }); // Pattern utilities for Redis operations var pattern_scanner_1 = require("./utils/pattern-scanner"); Object.defineProperty(exports, "PatternScanner", { enumerable: true, get: function () { return pattern_scanner_1.PatternScanner; } }); // ============================================================================ // Quick Start API - Simplified interface for common use cases // ============================================================================ __exportStar(require("./quick-start"), exports); var quick_start_1 = require("./quick-start"); Object.defineProperty(exports, "quickStorage", { enumerable: true, get: function () { return __importDefault(quick_start_1).default; } }); // ============================================================================ // Default Export - StorageObject for backward compatibility // ============================================================================ const storage_2 = require("./storage"); exports.default = storage_2.StorageObject; //# sourceMappingURL=index.js.map