@splitsoftware/splitio-commons
Version:
Split JavaScript SDK common components
23 lines (17 loc) • 997 B
text/typescript
import { ERROR_CLIENT_DESTROYED, CLIENT_NOT_READY_FROM_CACHE } from '../../logger/constants';
import { ILogger } from '../../logger/types';
import { IReadinessManager } from '../../readiness/types';
export function validateIfNotDestroyed(log: ILogger, readinessManager: IReadinessManager, method: string): boolean {
if (!readinessManager.isDestroyed()) return true;
log.error(ERROR_CLIENT_DESTROYED, [method]);
return false;
}
export function validateIfReadyFromCache(log: ILogger, readinessManager: IReadinessManager, method: string) {
if (readinessManager.isReadyFromCache()) return true;
log.warn(CLIENT_NOT_READY_FROM_CACHE, [method]);
return false;
}
// Operational means that the SDK is ready to evaluate (not destroyed and ready from cache)
export function validateIfOperational(log: ILogger, readinessManager: IReadinessManager, method: string) {
return validateIfNotDestroyed(log, readinessManager, method) && validateIfReadyFromCache(log, readinessManager, method);
}