{"ast":null,"code":"import I18nextBrowserLanguageDetector from 'i18next-browser-languagedetector';\nimport i18n from 'i18next';\nimport i18nextXHRBackend from 'i18next-xhr-backend';\nimport isNode from 'detect-node';\nexport default (config => {\n  let initPromise = null;\n\n  if (!i18n.isInitialized) {\n    var _config$use;\n\n    if (isNode) {\n      const i18nextNodeBackend = eval(\"require('i18next-node-fs-backend')\");\n      const i18nextMiddleware = eval(\"require('i18next-express-middleware')\");\n      i18n.use(i18nextNodeBackend);\n\n      if (config.serverLanguageDetection) {\n        var _config$customDetecto;\n\n        const serverDetectors = new i18nextMiddleware.LanguageDetector();\n        (_config$customDetecto = config.customDetectors) === null || _config$customDetecto === void 0 ? void 0 : _config$customDetecto.forEach(detector => serverDetectors.addDetector(detector));\n        i18n.use(serverDetectors);\n      }\n    } else {\n      i18n.use(i18nextXHRBackend);\n\n      if (config.browserLanguageDetection) {\n        var _config$customDetecto2;\n\n        const browserDetectors = new I18nextBrowserLanguageDetector();\n        (_config$customDetecto2 = config.customDetectors) === null || _config$customDetecto2 === void 0 ? void 0 : _config$customDetecto2.forEach(detector => browserDetectors.addDetector(detector));\n        i18n.use(browserDetectors);\n      }\n    }\n\n    (_config$use = config.use) === null || _config$use === void 0 ? void 0 : _config$use.forEach(x => i18n.use(x));\n    initPromise = i18n.init(config);\n  }\n\n  return {\n    i18n,\n    initPromise\n  };\n});","map":null,"metadata":{},"sourceType":"module"}