UNPKG

@push.rocks/smartdata

Version:

An advanced library for NoSQL data organization and manipulation using TypeScript with support for MongoDB, data validation, collections, and custom data types.

28 lines (27 loc) 849 B
import { SmartDataDbDoc } from './classes.doc.js'; /** * Common TTL values in milliseconds for cache-like documents. */ export declare const smartdataTtlValues: { readonly HOURS_1: number; readonly HOURS_24: number; readonly DAYS_7: number; readonly DAYS_30: number; readonly DAYS_90: number; }; /** * Base class for SmartData documents that should expire after an absolute date. */ export declare abstract class SmartdataCachedDocument<T extends SmartdataCachedDocument<T>> extends SmartDataDbDoc<T, T> { createdAt: Date; expiresAt?: Date; lastAccessedAt: Date; setTTL(ttlMs: number): void; setTTLDays(days: number): void; setTTLHours(hours: number): void; isExpired(): boolean; touch(): void; getRemainingTTL(): number; extendTTL(ttlMs: number): void; setNeverExpires(): void; }