A universal module that gets native application information such as its ID, app name, and build version at runtime
Overall
score
98%
{
"context": "This criteria evaluates how effectively the engineer uses expo-application's installation time tracking capability to implement app usage tracking functionality. The focus is on correct usage of getInstallationTimeAsync() and proper date arithmetic to determine installation duration.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Import expo-application",
"description": "Correctly imports getInstallationTimeAsync from expo-application package (e.g., import { getInstallationTimeAsync } from 'expo-application' or import * as Application from 'expo-application')",
"max_score": 15
},
{
"name": "Call getInstallationTimeAsync",
"description": "Uses getInstallationTimeAsync() function in getDaysSinceInstall() to retrieve the installation timestamp",
"max_score": 25
},
{
"name": "Handle async operation",
"description": "Properly awaits or handles the Promise returned by getInstallationTimeAsync()",
"max_score": 15
},
{
"name": "Calculate date difference",
"description": "Correctly computes the difference between current date and installation date to get days (e.g., using Date arithmetic and converting milliseconds to days)",
"max_score": 20
},
{
"name": "Reuse getDaysSinceInstall",
"description": "Uses getDaysSinceInstall() within getUserTenureCategory() to avoid duplicate calls to getInstallationTimeAsync()",
"max_score": 15
},
{
"name": "Categorize correctly",
"description": "Implements correct categorization logic: <7 days = 'new', 7-29 days = 'regular', >=30 days = 'loyal'",
"max_score": 10
}
]
}Install with Tessl CLI
npx tessl i tessl/npm-expo-application