@sailboat-computer/data-storage
Version:
Shared data storage library for sailboat computer v3
101 lines (87 loc) • 3.15 kB
text/typescript
/**
* Data Storage Package
*
* This package provides a unified storage solution for the sailboat computer system.
* It includes:
* - A unified storage manager with local storage fallback
* - Support for multiple storage tiers (hot, warm, cold)
* - Resilience features like circuit breakers, retries, and timeouts
* - Synchronization between local and remote storage
* - Configuration management with configuration service integration
* - Lifecycle management for data migration, downsampling, and cleanup
*
* @module @sailboat-computer/data-storage
*/
// Import types from sailboat-types package
import {
common,
data_manager
} from '@sailboat-computer/sailboat-types';
// Re-export constants
export const StorageTier = data_manager.StorageTier;
export const StorageErrorCode = data_manager.StorageErrorCode;
export const BatchPriority = data_manager.BatchPriority;
// Re-export types from data_manager namespace
export type StorageProviderHealth = data_manager.StorageProviderHealth;
export type StorageProviderConfig = data_manager.StorageProviderConfig;
export type RedisConfig = data_manager.RedisConfig;
export type InfluxDBConfig = data_manager.InfluxDBConfig;
export type PostgreSQLConfig = data_manager.PostgreSQLConfig;
export type StorageConfig = data_manager.StorageConfig;
export type DataMetadata = data_manager.DataMetadata;
export type StoredData = data_manager.StoredData;
export type DataQuery = data_manager.DataQuery;
export type StorageOptions = data_manager.StorageOptions;
export type CleanupResult = data_manager.CleanupResult;
export type StorageStatus = data_manager.StorageStatus;
export type LocalStorageStatus = data_manager.LocalStorageStatus;
export type SyncResult = data_manager.SyncResult;
export type ClearResult = data_manager.ClearResult;
export type ResilienceMetrics = data_manager.ResilienceMetrics;
export type StorageProvider = data_manager.StorageProvider;
export type StorageManager = data_manager.StorageManager;
export type DataCondition = data_manager.DataCondition;
// Export implementation-specific types
export {
// Batch-related types
BatchConfig,
BatchingConfig,
BatchManager,
BatchStatus,
// Storage-related types
UnifiedStorageManagerOptions,
UnifiedStorageManager,
DataQueryResponse,
// Lifecycle-related types
LifecycleManager,
LifecycleManagerConfig,
LifecyclePolicy,
DownsamplingRule,
DownsamplingSchedule,
MigrationHandler,
DownsamplingHandler,
// Downsampling-related types
DownsamplingEngine,
Downsampler,
DownsamplingStrategy,
TimeBasedStrategy,
GeospatialStrategy,
CycleBasedStrategy,
GeotemporalStrategy,
GeotemporalGridStrategy,
MaintenanceBasedStrategy,
AggregationConfig
} from './types';
// Export storage implementations
export * from './storage';
// Export configuration management
export * from './config';
// Export event bus
export * from './event-bus';
// Export lifecycle manager
export { createLifecycleManager } from './lifecycle/manager';
// Export utility functions
export * from './utils/errors';
export * from './utils/logger';
// Export version
export const VERSION = '1.0.0';