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

Method collapsePracticeLevels

app/views/play/CampaignView.js:1198–1217  ·  view source on GitHub ↗
(levels)

Source from the content-addressed store, hash-verified

1196 }
1197
1198 collapsePracticeLevels (levels) {
1199 if (!['junior', '65c56663d2ca2055e65676af'].includes(this.terrain) && this.campaign?.get('type') !== 'junior') {
1200 // Only do this for Junior campaigns for now
1201 return levels
1202 }
1203 // Collapse practice levels into their parent levels.
1204 const collapsedLevels = []
1205 let lastSourceLevel
1206 for (const level of levels) {
1207 if (level.practice) {
1208 lastSourceLevel.practiceLevels = lastSourceLevel.practiceLevels || []
1209 lastSourceLevel.practiceLevels.push(level)
1210 } else {
1211 collapsedLevels.push(level)
1212 lastSourceLevel = level
1213 }
1214 }
1215
1216 return collapsedLevels
1217 }
1218
1219 annotateLevels (orderedLevels, campaign = this.campaign) {
1220 if (this.isClassroom()) { return }

Callers 1

getRenderDataMethod · 0.95

Calls 1

getMethod · 0.45

Tested by

no test coverage detected