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

Function setUpMoment

app/core/initialize.js:215–245  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

213}
214
215var setUpMoment = function () {
216 const { me } = require('core/auth')
217 const setMomentLanguage = async function (lang = 'en') {
218 lang = String(lang || 'en').toLowerCase()
219 lang = {
220 'zh-hans': 'zh-cn',
221 'zh-hant': 'zh-tw',
222 }[lang] || lang
223 if (lang.startsWith('en')) {
224 return window.moment.locale('en')
225 }
226 try {
227 // below is an important comment for build dayjs, do not delete it
228 await import(/* webpackExclude: /\.d\.ts$/ */`dayjs/locale/${lang}.js`)
229 return window.moment.locale(lang)
230 } catch (err) {
231 const baseLang = lang.split('-')[0]
232 if (baseLang && baseLang !== lang) {
233 try {
234 await import(/* webpackExclude: /\.d\.ts$/ */`dayjs/locale/${baseLang}.js`)
235 return window.moment.locale(baseLang)
236 } catch (_) {}
237 }
238 console.warn('laoding lang error: ', lang)
239 return window.moment.locale('en')
240 }
241 }
242 // TODO: this relies on moment having all languages baked in, which is a performance hit; should switch to loading the language module we need on demand.
243 setMomentLanguage(me.get('preferredLanguage', true))
244 me.on('change:preferredLanguage', me => setMomentLanguage(me.get('preferredLanguage', true)))
245}
246
247var setUpTv4 = function () {
248 const forms = require('core/forms')

Callers 1

initFunction · 0.85

Calls 2

setMomentLanguageFunction · 0.85
getMethod · 0.45

Tested by

no test coverage detected