import { ChurnKitError, ErrorCode, isKnownErrorCode } from '@vgpprasad91/churnkit-sdk'
try {
await churn.identify(userId, traits)
} catch (err) {
if (err instanceof ChurnKitError && isKnownErrorCode(err.code)) {
switch (err.code) {
case ErrorCode.UNAUTHORIZED:
logger.error('ChurnKit API key invalid — check CHURNKIT_API_KEY')
break
case ErrorCode.RATE_LIMITED:
logger.warn('ChurnKit rate limited — consider batching')
break
case ErrorCode.TIMEOUT:
logger.warn('ChurnKit timeout — request took too long')
break
case ErrorCode.VALIDATION_ERROR:
logger.error('ChurnKit validation error', err.message)
break
default:
logger.error('ChurnKit error', err.code, err.message)
}
}
}