MCPcopy Create free account
hub / github.com/codecombat/codecombat / broadName

Function broadName

app/models/User.js:39–56  ·  view source on GitHub ↗
(user)

Source from the content-addressed store, hash-verified

37// Accessible via eg. `User.broadName(userObj)`
38const UserLib = {
39 broadName (user) {
40 if (user.deleted) { return '(deleted)' }
41 let name = _.filter([user.firstName, user.lastName]).join(' ')
42 if (features?.china) {
43 name = user.firstName
44 }
45 if (!/[a-z]/.test(name)) {
46 name = _.string.titleize(name) // Rewrite all-uppercase names to title-case for display
47 }
48 if (name) { return name }
49 ({
50 name,
51 } = user)
52 if (name) { return name }
53 const [emailName, emailDomain] = Array.from(user.email?.split('@') || []) // eslint-disable-line no-unused-vars
54 if (emailName) { return emailName }
55 return 'Anonymous'
56 },
57 isSmokeTestUser (user) { return utils.isSmokeTestEmail(user.email) },
58 isTeacher (user, includePossibleTeachers = false) {
59 if (includePossibleTeachers && (user.role === 'possible teacher')) { return true } // They maybe haven't created an account but we think they might be a teacher based on behavior

Callers

nothing calls this directly

Calls 1

filterMethod · 0.80

Tested by

no test coverage detected