@andre1502/react-utilities 0.9.1 → 0.9.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +61 -12
 - package/dist/Config/Config.js +4 -3
 - package/dist/Config/Config.js.map +1 -1
 - package/dist/EnvironmentEnum-BjXsfSRZ.js +9 -0
 - package/dist/EnvironmentEnum-BjXsfSRZ.js.map +1 -0
 - package/dist/EnvironmentEnum-UcQ6Il1O.js +9 -0
 - package/dist/EnvironmentEnum-UcQ6Il1O.js.map +1 -0
 - package/dist/I18n/I18n.d.ts +6 -0
 - package/dist/I18n/I18n.js +104 -0
 - package/dist/I18n/I18n.js.map +1 -0
 - package/dist/I18n-CB7SyXYJ.js +3291 -0
 - package/dist/I18n-CB7SyXYJ.js.map +1 -0
 - package/dist/I18n-yXLN_hDO.js +3288 -0
 - package/dist/I18n-yXLN_hDO.js.map +1 -0
 - package/dist/config-cli.cjs +8 -3
 - package/dist/config-cli.cjs.map +1 -1
 - package/dist/config-cli.d.ts +2 -0
 - package/dist/config-cli.js +8 -0
 - package/dist/config-cli.js.map +1 -1
 - package/dist/config-cli.mjs +5 -4
 - package/dist/config-cli.mjs.map +1 -1
 - package/dist/enums/EnvironmentEnum.d.ts +5 -0
 - package/dist/enums/EnvironmentEnum.js +13 -0
 - package/dist/enums/EnvironmentEnum.js.map +1 -0
 - package/dist/i18n.cjs +15 -0
 - package/dist/i18n.cjs.map +1 -0
 - package/dist/i18n.d.ts +3 -0
 - package/dist/i18n.js +28 -0
 - package/dist/i18n.js.map +1 -0
 - package/dist/i18n.mjs +4 -0
 - package/dist/i18n.mjs.map +1 -0
 - package/dist/index-cli.cjs +5 -0
 - package/dist/index-cli.cjs.map +1 -1
 - package/dist/index-cli.mjs +1 -0
 - package/dist/index-cli.mjs.map +1 -1
 - package/dist/index-rn.cjs +9 -0
 - package/dist/index-rn.cjs.map +1 -1
 - package/dist/index-rn.d.ts +1 -0
 - package/dist/index-rn.js +11 -0
 - package/dist/index-rn.js.map +1 -1
 - package/dist/index-rn.mjs +3 -0
 - package/dist/index-rn.mjs.map +1 -1
 - package/dist/index.cjs +9 -0
 - package/dist/index.cjs.map +1 -1
 - package/dist/index.d.ts +1 -0
 - package/dist/index.js +11 -0
 - package/dist/index.js.map +1 -1
 - package/dist/index.mjs +3 -0
 - package/dist/index.mjs.map +1 -1
 - package/package.json +11 -6
 - package/src/Config/Config.ts +4 -3
 - package/src/I18n/I18n.ts +117 -0
 - package/src/config-cli.ts +2 -0
 - package/src/enums/EnvironmentEnum.ts +5 -0
 - package/src/i18n.ts +4 -0
 - package/src/index-rn.ts +1 -0
 - package/src/index.ts +1 -0
 - package/dist/index-fmt.cjs +0 -16
 - package/dist/index-fmt.cjs.map +0 -1
 - package/dist/index-fmt.d.ts +0 -1
 - package/dist/index-fmt.js +0 -17
 - package/dist/index-fmt.js.map +0 -1
 - package/dist/index-fmt.mjs +0 -3
 - package/dist/index-fmt.mjs.map +0 -1
 - package/src/index-fmt.ts +0 -1
 
    
        package/README.md
    CHANGED
    
    | 
         @@ -32,7 +32,7 @@ const { fetchLocales } = require('@andre1502/react-utilities/cli'); 
     | 
|
| 
       32 
32 
     | 
    
         
             
            // OR
         
     | 
| 
       33 
33 
     | 
    
         
             
            const { fetchLocales } = require('@andre1502/react-utilities/config-cli');
         
     | 
| 
       34 
34 
     | 
    
         | 
| 
       35 
     | 
    
         
            -
            https://docs.google.com/spreadsheets/d/<google-sheet-id>/edit
         
     | 
| 
      
 35 
     | 
    
         
            +
            // https://docs.google.com/spreadsheets/d/<google-sheet-id>/edit
         
     | 
| 
       36 
36 
     | 
    
         
             
            const optionLocales = {
         
     | 
| 
       37 
37 
     | 
    
         
             
              spreadsheetId: '', // Google Sheet Id
         
     | 
| 
       38 
38 
     | 
    
         
             
              spreadsheetTab: '', // Google Sheet Tab for locales
         
     | 
| 
         @@ -56,7 +56,7 @@ const { fetchConfig } = require('@andre1502/react-utilities/cli'); 
     | 
|
| 
       56 
56 
     | 
    
         
             
            // OR
         
     | 
| 
       57 
57 
     | 
    
         
             
            const { fetchConfig } = require('@andre1502/react-utilities/config-cli');
         
     | 
| 
       58 
58 
     | 
    
         | 
| 
       59 
     | 
    
         
            -
            https://docs.google.com/spreadsheets/d/<google-sheet-id>/edit
         
     | 
| 
      
 59 
     | 
    
         
            +
            // https://docs.google.com/spreadsheets/d/<google-sheet-id>/edit
         
     | 
| 
       60 
60 
     | 
    
         
             
            const optionConfig = {
         
     | 
| 
       61 
61 
     | 
    
         
             
              spreadsheetId: '', // Google Sheet Id
         
     | 
| 
       62 
62 
     | 
    
         
             
              spreadsheetTab: '', // Google Sheet Tab for config;
         
     | 
| 
         @@ -88,6 +88,20 @@ module.exports = { 
     | 
|
| 
       88 
88 
     | 
    
         
             
            };
         
     | 
| 
       89 
89 
     | 
    
         
             
            ```
         
     | 
| 
       90 
90 
     | 
    
         | 
| 
      
 91 
     | 
    
         
            +
            ```json
         
     | 
| 
      
 92 
     | 
    
         
            +
            {
         
     | 
| 
      
 93 
     | 
    
         
            +
              "params": {
         
     | 
| 
      
 94 
     | 
    
         
            +
                "<app-brand>": {
         
     | 
| 
      
 95 
     | 
    
         
            +
                  "API_MAIN_URL": {
         
     | 
| 
      
 96 
     | 
    
         
            +
                    "dev": "<api-dev>",
         
     | 
| 
      
 97 
     | 
    
         
            +
                    "stag": "<api-staging>",
         
     | 
| 
      
 98 
     | 
    
         
            +
                    "prod": "<api-production>"
         
     | 
| 
      
 99 
     | 
    
         
            +
                  }
         
     | 
| 
      
 100 
     | 
    
         
            +
                }
         
     | 
| 
      
 101 
     | 
    
         
            +
              }
         
     | 
| 
      
 102 
     | 
    
         
            +
            }
         
     | 
| 
      
 103 
     | 
    
         
            +
            ```
         
     | 
| 
      
 104 
     | 
    
         
            +
             
     | 
| 
       91 
105 
     | 
    
         
             
            ### Fetch All
         
     | 
| 
       92 
106 
     | 
    
         | 
| 
       93 
107 
     | 
    
         
             
            To fetch both locales and config.
         
     | 
| 
         @@ -97,10 +111,10 @@ const { fetchAll } = require('@andre1502/react-utilities/cli'); 
     | 
|
| 
       97 
111 
     | 
    
         
             
            // OR
         
     | 
| 
       98 
112 
     | 
    
         
             
            const { fetchAll } = require('@andre1502/react-utilities/config-cli');
         
     | 
| 
       99 
113 
     | 
    
         | 
| 
       100 
     | 
    
         
            -
            https://docs.google.com/spreadsheets/d/<google-sheet-id>/edit
         
     | 
| 
      
 114 
     | 
    
         
            +
            // https://docs.google.com/spreadsheets/d/<google-sheet-id>/edit
         
     | 
| 
       101 
115 
     | 
    
         
             
            const spreadsheetId = ''; // Google Sheet Id
         
     | 
| 
       102 
116 
     | 
    
         
             
            const spreadsheetLocalesTab = ''; // Google Sheet Tab for locales
         
     | 
| 
       103 
     | 
    
         
            -
            const spreadsheetConfigTab = '' // Google Sheet Tab for config;
         
     | 
| 
      
 117 
     | 
    
         
            +
            const spreadsheetConfigTab = ''; // Google Sheet Tab for config;
         
     | 
| 
       104 
118 
     | 
    
         | 
| 
       105 
119 
     | 
    
         
             
            const optionLocales = {
         
     | 
| 
       106 
120 
     | 
    
         
             
              spreadsheetId: spreadsheetId,
         
     | 
| 
         @@ -274,8 +288,6 @@ initSentry({ 
     | 
|
| 
       274 
288 
     | 
    
         
             
            ```js
         
     | 
| 
       275 
289 
     | 
    
         
             
            import { formatAccountNumber } from '@andre1502/react-utilities';
         
     | 
| 
       276 
290 
     | 
    
         
             
            // OR
         
     | 
| 
       277 
     | 
    
         
            -
            import { formatAccountNumber } from '@andre1502/react-utilities/fmt';
         
     | 
| 
       278 
     | 
    
         
            -
            // OR
         
     | 
| 
       279 
291 
     | 
    
         
             
            import { formatAccountNumber } from '@andre1502/react-utilities/format';
         
     | 
| 
       280 
292 
     | 
    
         | 
| 
       281 
293 
     | 
    
         
             
            const accountNumber = '1234567890123456';
         
     | 
| 
         @@ -291,8 +303,6 @@ console.log(`result: ${result}`); 
     | 
|
| 
       291 
303 
     | 
    
         
             
            ```js
         
     | 
| 
       292 
304 
     | 
    
         
             
            import { formatNumber } from '@andre1502/react-utilities';
         
     | 
| 
       293 
305 
     | 
    
         
             
            // OR
         
     | 
| 
       294 
     | 
    
         
            -
            import { formatNumber } from '@andre1502/react-utilities/fmt';
         
     | 
| 
       295 
     | 
    
         
            -
            // OR
         
     | 
| 
       296 
306 
     | 
    
         
             
            import { formatNumber } from '@andre1502/react-utilities/format';
         
     | 
| 
       297 
307 
     | 
    
         | 
| 
       298 
308 
     | 
    
         
             
            const result = formatNumber({
         
     | 
| 
         @@ -315,8 +325,6 @@ console.log(`result: ${result}`); 
     | 
|
| 
       315 
325 
     | 
    
         
             
            ```js
         
     | 
| 
       316 
326 
     | 
    
         
             
            import { getCurrencySymbol } from '@andre1502/react-utilities';
         
     | 
| 
       317 
327 
     | 
    
         
             
            // OR
         
     | 
| 
       318 
     | 
    
         
            -
            import { getCurrencySymbol } from '@andre1502/react-utilities/fmt';
         
     | 
| 
       319 
     | 
    
         
            -
            // OR
         
     | 
| 
       320 
328 
     | 
    
         
             
            import { getCurrencySymbol } from '@andre1502/react-utilities/format';
         
     | 
| 
       321 
329 
     | 
    
         | 
| 
       322 
330 
     | 
    
         
             
            const currency = 'TWD';
         
     | 
| 
         @@ -333,8 +341,6 @@ console.log(`result: ${result}`); 
     | 
|
| 
       333 
341 
     | 
    
         
             
            ```js
         
     | 
| 
       334 
342 
     | 
    
         
             
            import { parseFormatNumber } from '@andre1502/react-utilities';
         
     | 
| 
       335 
343 
     | 
    
         
             
            // OR
         
     | 
| 
       336 
     | 
    
         
            -
            import { parseFormatNumber } from '@andre1502/react-utilities/fmt';
         
     | 
| 
       337 
     | 
    
         
            -
            // OR
         
     | 
| 
       338 
344 
     | 
    
         
             
            import { parseFormatNumber } from '@andre1502/react-utilities/format';
         
     | 
| 
       339 
345 
     | 
    
         | 
| 
       340 
346 
     | 
    
         
             
            const lang = 'zh-TW';
         
     | 
| 
         @@ -344,3 +350,46 @@ const result = parseFormatNumber(lang, value); 
     | 
|
| 
       344 
350 
     | 
    
         
             
            console.log(`result: ${result}`);
         
     | 
| 
       345 
351 
     | 
    
         
             
            // output: 1000
         
     | 
| 
       346 
352 
     | 
    
         
             
            ```
         
     | 
| 
      
 353 
     | 
    
         
            +
             
     | 
| 
      
 354 
     | 
    
         
            +
            ## I18n
         
     | 
| 
      
 355 
     | 
    
         
            +
             
     | 
| 
      
 356 
     | 
    
         
            +
            ```js
         
     | 
| 
      
 357 
     | 
    
         
            +
            import { initReactI18next } from 'react-i18next';
         
     | 
| 
      
 358 
     | 
    
         
            +
            import { version } from './package.json';
         
     | 
| 
      
 359 
     | 
    
         
            +
            import enUS from './en-US.json';
         
     | 
| 
      
 360 
     | 
    
         
            +
            // ---
         
     | 
| 
      
 361 
     | 
    
         
            +
            import { EnvironmentEnum, initI18n } from '@andre1502/react-utilities';
         
     | 
| 
      
 362 
     | 
    
         
            +
            // OR
         
     | 
| 
      
 363 
     | 
    
         
            +
            import { EnvironmentEnum, initI18n } from '@andre1502/react-utilities/i18n';
         
     | 
| 
      
 364 
     | 
    
         
            +
             
     | 
| 
      
 365 
     | 
    
         
            +
            const localLang = 'en-US';
         
     | 
| 
      
 366 
     | 
    
         
            +
            const fallbackLang = 'en-US';
         
     | 
| 
      
 367 
     | 
    
         
            +
            const langCacheExpiredTimeMs = 60 * 60 * 1000;
         
     | 
| 
      
 368 
     | 
    
         
            +
             
     | 
| 
      
 369 
     | 
    
         
            +
            // translation language from json file.
         
     | 
| 
      
 370 
     | 
    
         
            +
            const resources = {
         
     | 
| 
      
 371 
     | 
    
         
            +
              'en-US': { translation: enUS },
         
     | 
| 
      
 372 
     | 
    
         
            +
            };
         
     | 
| 
      
 373 
     | 
    
         
            +
             
     | 
| 
      
 374 
     | 
    
         
            +
            // optional, if false or undefined will use resources value
         
     | 
| 
      
 375 
     | 
    
         
            +
            const withLocalstorageBackend = false;
         
     | 
| 
      
 376 
     | 
    
         
            +
             
     | 
| 
      
 377 
     | 
    
         
            +
            // change this to real CDN url or cloud storage with direct access like AWS S3 or GCP cloud storage.
         
     | 
| 
      
 378 
     | 
    
         
            +
            // optional, if empty, false or undefined will use resources value
         
     | 
| 
      
 379 
     | 
    
         
            +
            const cdnUrl = 'http://cdnurl.com';
         
     | 
| 
      
 380 
     | 
    
         
            +
             
     | 
| 
      
 381 
     | 
    
         
            +
            // optional, if false or undefined disable debug mode
         
     | 
| 
      
 382 
     | 
    
         
            +
            const debug = false;
         
     | 
| 
      
 383 
     | 
    
         
            +
             
     | 
| 
      
 384 
     | 
    
         
            +
            initI18n(
         
     | 
| 
      
 385 
     | 
    
         
            +
              initReactI18next,
         
     | 
| 
      
 386 
     | 
    
         
            +
              localLang,
         
     | 
| 
      
 387 
     | 
    
         
            +
              fallbackLang,
         
     | 
| 
      
 388 
     | 
    
         
            +
              langCacheExpiredTimeMs,
         
     | 
| 
      
 389 
     | 
    
         
            +
              resources,
         
     | 
| 
      
 390 
     | 
    
         
            +
              version,
         
     | 
| 
      
 391 
     | 
    
         
            +
              withLocalstorageBackend,
         
     | 
| 
      
 392 
     | 
    
         
            +
              cdnUrl,
         
     | 
| 
      
 393 
     | 
    
         
            +
              debug,
         
     | 
| 
      
 394 
     | 
    
         
            +
            );
         
     | 
| 
      
 395 
     | 
    
         
            +
            ```
         
     | 
    
        package/dist/Config/Config.js
    CHANGED
    
    | 
         @@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", { 
     | 
|
| 
       5 
5 
     | 
    
         
             
            });
         
     | 
| 
       6 
6 
     | 
    
         
             
            exports.transformConfig = exports.processConfig = exports.exportConfig = void 0;
         
     | 
| 
       7 
7 
     | 
    
         
             
            var lodash = _interopRequireWildcard(require("lodash"));
         
     | 
| 
      
 8 
     | 
    
         
            +
            var _EnvironmentEnum = require("../enums/EnvironmentEnum");
         
     | 
| 
       8 
9 
     | 
    
         
             
            var _Output = require("./Output");
         
     | 
| 
       9 
10 
     | 
    
         
             
            function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
         
     | 
| 
       10 
11 
     | 
    
         
             
            function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
         
     | 
| 
         @@ -124,17 +125,17 @@ var envMap = function envMap(env) { 
     | 
|
| 
       124 
125 
     | 
    
         
             
                case 'dev':
         
     | 
| 
       125 
126 
     | 
    
         
             
                case 'develop':
         
     | 
| 
       126 
127 
     | 
    
         
             
                case 'development':
         
     | 
| 
       127 
     | 
    
         
            -
                  result =  
     | 
| 
      
 128 
     | 
    
         
            +
                  result = _EnvironmentEnum.EnvironmentEnum.DEV;
         
     | 
| 
       128 
129 
     | 
    
         
             
                  break;
         
     | 
| 
       129 
130 
     | 
    
         
             
                case 'stg':
         
     | 
| 
       130 
131 
     | 
    
         
             
                case 'stag':
         
     | 
| 
       131 
132 
     | 
    
         
             
                case 'staging':
         
     | 
| 
       132 
     | 
    
         
            -
                  result =  
     | 
| 
      
 133 
     | 
    
         
            +
                  result = _EnvironmentEnum.EnvironmentEnum.STAGING;
         
     | 
| 
       133 
134 
     | 
    
         
             
                  break;
         
     | 
| 
       134 
135 
     | 
    
         
             
                case 'prd':
         
     | 
| 
       135 
136 
     | 
    
         
             
                case 'prod':
         
     | 
| 
       136 
137 
     | 
    
         
             
                case 'production':
         
     | 
| 
       137 
     | 
    
         
            -
                  result =  
     | 
| 
      
 138 
     | 
    
         
            +
                  result = _EnvironmentEnum.EnvironmentEnum.PRODUCTION;
         
     | 
| 
       138 
139 
     | 
    
         
             
                  break;
         
     | 
| 
       139 
140 
     | 
    
         
             
                default:
         
     | 
| 
       140 
141 
     | 
    
         
             
                  throw new Error("env ".concat(env, " not supported."));
         
     | 
| 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            {"version":3,"file":"Config.js","names":["lodash","_interopRequireWildcard","require","_Output","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","o","Symbol","iterator","constructor","prototype","processConfig","exports","rows","versionConfig","params","map","key","forEach","row","index","processRow","data","versionName","paramsName","undefined","paramsTypeHandler","isJsonString","str","JSON","parse","booleanText","includes","toUpperCase","exportConfig","options","config","content","exportAs","stringify","filename","concat","Error","outputToFile","envMap","env","result","contentMap","value","isNull","transformConfig","configKeyPrefix","envKey","keys","newConfigKey","extensionFile","join","Array","isArray"],"sources":["../../src/Config/Config.ts"],"sourcesContent":["import * as lodash from 'lodash';\nimport { OutputMap } from '../interfaces/Config/OutputMap';\nimport { OutputOptions } from '../interfaces/Config/OutputOptions';\nimport { outputToFile } from './Output';\n\n/**\n * Process config data\n *\n * @param {any[][]} rows\n * @return {OutputMap}\n */\nconst processConfig = (rows: any[][]): OutputMap => {\n  let versionConfig: OutputMap = {};\n\n  let params = rows[0].map((key) => {\n    return key;\n  });\n\n  rows.forEach((row: string[], index: number) => {\n    if (index === 0) {\n      return;\n    }\n\n    versionConfig = processRow(row, params, versionConfig);\n  });\n\n  return versionConfig;\n};\n\n/**\n * Process config item\n *\n * @param {string[]} data\n * @param {string[]} params\n * @param {OutputMap} versionConfig\n * @return {OutputMap}\n */\nconst processRow = (\n  data: string[],\n  params: string[],\n  versionConfig: OutputMap,\n): OutputMap => {\n  const versionName = data[0];\n  versionConfig[versionName] = {};\n\n  params.forEach((paramsName, index) => {\n    if (index === 0 || data[index] === undefined || data[index] === '') {\n      return;\n    }\n\n    versionConfig[versionName][paramsName] = paramsTypeHandler(data[index]);\n  });\n\n  return versionConfig;\n};\n\n/**\n * Check is JSON value\n *\n * @param {string} str\n * @return {boolean}\n */\nconst isJsonString = (str: string): boolean => {\n  try {\n    JSON.parse(str);\n  } catch (e) {\n    return false;\n  }\n\n  return true;\n};\n\n/**\n * Handling config value type\n *\n * @param {string} params\n * @return {any}\n */\nconst paramsTypeHandler = (params: string): any => {\n  const booleanText = ['TRUE', 'FALSE'];\n\n  if (booleanText.includes(params.toUpperCase())) {\n    return params === 'TRUE';\n  }\n\n  if (isJsonString(params)) {\n    return JSON.parse(params);\n  }\n\n  return params;\n};\n\n/**\n * Export config data into js file\n *\n * @param {OutputMap} data\n * @param {OutputOptions} options\n * @return {void}\n */\nconst exportConfig = (data: OutputMap, options: OutputOptions): void => {\n  const config = {\n    params: data,\n  };\n\n  let content = '';\n\n  switch (options.exportAs) {\n    case 'ts':\n      content = 'export default ' + JSON.stringify(config, null, 2);\n      options.filename = `${options.filename}.ts`;\n      break;\n    case 'json':\n      content = JSON.stringify(config, null, 2);\n      options.filename = `${options.filename}.json`;\n      break;\n    case 'js':\n      content = `module.exports = ${JSON.stringify(config, null, 2)}`;\n      options.filename = `${options.filename}.js`;\n      break;\n    default:\n      throw new Error(`exportAs ${options.exportAs} not supported.`);\n  }\n\n  outputToFile(content, options);\n};\n\n/**\n * Handling env map value\n *\n * @param {string} env\n * @return {string}\n */\nconst envMap = (env: string): string => {\n  let result;\n\n  switch (env) {\n    case 'dev':\n    case 'develop':\n    case 'development':\n      result = 'dev';\n      break;\n    case 'stg':\n    case 'stag':\n    case 'staging':\n      result = 'staging';\n      break;\n    case 'prd':\n    case 'prod':\n    case 'production':\n      result = 'production';\n      break;\n    default:\n      throw new Error(`env ${env} not supported.`);\n  }\n\n  return result;\n};\n\n/**\n * Mapping content to exportAs value\n *\n * @param {string} key\n * @param {any} value\n * @param {string} exportAs\n * @return {string}\n */\nconst contentMap = (key: string, value: any, exportAs: string): string => {\n  let content = '';\n\n  switch (exportAs) {\n    case 'ts':\n      if (lodash.isNull(value)) {\n        content += `export const ${key}: string | null = ${value};\\n`;\n      } else if (typeof value === 'boolean') {\n        content += `export const ${key}: boolean = ${value};\\n`;\n      } else {\n        content += `export const ${key} = '${value}';\\n`;\n      }\n      break;\n    case 'js':\n      content += `export const ${key} = \"${value}\";\\n`;\n      break;\n    case 'env':\n      content += `${key} = \"${value}\"\\n`;\n      break;\n    default:\n      throw new Error(`exportAs ${exportAs} not supported.`);\n  }\n\n  return content;\n};\n\n/**\n * Transform config\n *\n * @param {OutputMap} data\n * @param {string} env\n * @param {string} configKeyPrefix\n * @param {OutputOptions} options\n * @return {void}\n */\nconst transformConfig = (\n  data: OutputMap,\n  env: string,\n  configKeyPrefix: string,\n  options: OutputOptions,\n): void => {\n  const envKey = configKeyPrefix ? `${configKeyPrefix}ENV` : 'ENV';\n\n  let content = contentMap(envKey, envMap(env), options.exportAs!);\n\n  Object.keys(data).forEach((key) => {\n    const newConfigKey = configKeyPrefix ? `${configKeyPrefix}${key}` : key;\n\n    if (key === 'BASE_PROJECT') {\n      const extensionFile = [\n        `.${data[key]}.js`,\n        `.${data[key]}.jsx`,\n        `.${data[key]}.ts`,\n        `.${data[key]}.tsx`,\n        `.${data[key]}.css`,\n        `.${data[key]}.json`,\n        `.${data[key]}.scss`,\n      ];\n\n      content += contentMap(\n        newConfigKey,\n        extensionFile.join(','),\n        options.exportAs!,\n      );\n\n      return;\n    }\n\n    if (key === 'SITEMAP') {\n      content += contentMap(\n        newConfigKey,\n        JSON.stringify(data[key]),\n        options.exportAs!,\n      );\n\n      return;\n    }\n\n    if (Array.isArray(data[key])) {\n      content += contentMap(\n        newConfigKey,\n        data[key].join(','),\n        options.exportAs!,\n      );\n\n      return;\n    }\n\n    if (typeof data[key] === 'object') {\n      if (data[key].hasOwnProperty(env)) {\n        content += contentMap(newConfigKey, data[key][env], options.exportAs!);\n      } else {\n        content += contentMap(\n          newConfigKey,\n          JSON.stringify(data[key]),\n          options.exportAs!,\n        );\n      }\n\n      return;\n    }\n\n    content += contentMap(newConfigKey, data[key], options.exportAs!);\n  });\n\n  outputToFile(content, options);\n};\n\nexport { exportConfig, processConfig, transformConfig };\n"],"mappings":"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","ignoreList":[]}
         
     | 
| 
      
 1 
     | 
    
         
            +
            {"version":3,"file":"Config.js","names":["lodash","_interopRequireWildcard","require","_EnvironmentEnum","_Output","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","o","Symbol","iterator","constructor","prototype","processConfig","exports","rows","versionConfig","params","map","key","forEach","row","index","processRow","data","versionName","paramsName","undefined","paramsTypeHandler","isJsonString","str","JSON","parse","booleanText","includes","toUpperCase","exportConfig","options","config","content","exportAs","stringify","filename","concat","Error","outputToFile","envMap","env","result","EnvironmentEnum","DEV","STAGING","PRODUCTION","contentMap","value","isNull","transformConfig","configKeyPrefix","envKey","keys","newConfigKey","extensionFile","join","Array","isArray"],"sources":["../../src/Config/Config.ts"],"sourcesContent":["import * as lodash from 'lodash';\nimport { EnvironmentEnum } from '../enums/EnvironmentEnum';\nimport { OutputMap } from '../interfaces/Config/OutputMap';\nimport { OutputOptions } from '../interfaces/Config/OutputOptions';\nimport { outputToFile } from './Output';\n\n/**\n * Process config data\n *\n * @param {any[][]} rows\n * @return {OutputMap}\n */\nconst processConfig = (rows: any[][]): OutputMap => {\n  let versionConfig: OutputMap = {};\n\n  let params = rows[0].map((key) => {\n    return key;\n  });\n\n  rows.forEach((row: string[], index: number) => {\n    if (index === 0) {\n      return;\n    }\n\n    versionConfig = processRow(row, params, versionConfig);\n  });\n\n  return versionConfig;\n};\n\n/**\n * Process config item\n *\n * @param {string[]} data\n * @param {string[]} params\n * @param {OutputMap} versionConfig\n * @return {OutputMap}\n */\nconst processRow = (\n  data: string[],\n  params: string[],\n  versionConfig: OutputMap,\n): OutputMap => {\n  const versionName = data[0];\n  versionConfig[versionName] = {};\n\n  params.forEach((paramsName, index) => {\n    if (index === 0 || data[index] === undefined || data[index] === '') {\n      return;\n    }\n\n    versionConfig[versionName][paramsName] = paramsTypeHandler(data[index]);\n  });\n\n  return versionConfig;\n};\n\n/**\n * Check is JSON value\n *\n * @param {string} str\n * @return {boolean}\n */\nconst isJsonString = (str: string): boolean => {\n  try {\n    JSON.parse(str);\n  } catch (e) {\n    return false;\n  }\n\n  return true;\n};\n\n/**\n * Handling config value type\n *\n * @param {string} params\n * @return {any}\n */\nconst paramsTypeHandler = (params: string): any => {\n  const booleanText = ['TRUE', 'FALSE'];\n\n  if (booleanText.includes(params.toUpperCase())) {\n    return params === 'TRUE';\n  }\n\n  if (isJsonString(params)) {\n    return JSON.parse(params);\n  }\n\n  return params;\n};\n\n/**\n * Export config data into js file\n *\n * @param {OutputMap} data\n * @param {OutputOptions} options\n * @return {void}\n */\nconst exportConfig = (data: OutputMap, options: OutputOptions): void => {\n  const config = {\n    params: data,\n  };\n\n  let content = '';\n\n  switch (options.exportAs) {\n    case 'ts':\n      content = 'export default ' + JSON.stringify(config, null, 2);\n      options.filename = `${options.filename}.ts`;\n      break;\n    case 'json':\n      content = JSON.stringify(config, null, 2);\n      options.filename = `${options.filename}.json`;\n      break;\n    case 'js':\n      content = `module.exports = ${JSON.stringify(config, null, 2)}`;\n      options.filename = `${options.filename}.js`;\n      break;\n    default:\n      throw new Error(`exportAs ${options.exportAs} not supported.`);\n  }\n\n  outputToFile(content, options);\n};\n\n/**\n * Handling env map value\n *\n * @param {string} env\n * @return {string}\n */\nconst envMap = (env: string): string => {\n  let result;\n\n  switch (env) {\n    case 'dev':\n    case 'develop':\n    case 'development':\n      result = EnvironmentEnum.DEV;\n      break;\n    case 'stg':\n    case 'stag':\n    case 'staging':\n      result = EnvironmentEnum.STAGING;\n      break;\n    case 'prd':\n    case 'prod':\n    case 'production':\n      result = EnvironmentEnum.PRODUCTION;\n      break;\n    default:\n      throw new Error(`env ${env} not supported.`);\n  }\n\n  return result;\n};\n\n/**\n * Mapping content to exportAs value\n *\n * @param {string} key\n * @param {any} value\n * @param {string} exportAs\n * @return {string}\n */\nconst contentMap = (key: string, value: any, exportAs: string): string => {\n  let content = '';\n\n  switch (exportAs) {\n    case 'ts':\n      if (lodash.isNull(value)) {\n        content += `export const ${key}: string | null = ${value};\\n`;\n      } else if (typeof value === 'boolean') {\n        content += `export const ${key}: boolean = ${value};\\n`;\n      } else {\n        content += `export const ${key} = '${value}';\\n`;\n      }\n      break;\n    case 'js':\n      content += `export const ${key} = \"${value}\";\\n`;\n      break;\n    case 'env':\n      content += `${key} = \"${value}\"\\n`;\n      break;\n    default:\n      throw new Error(`exportAs ${exportAs} not supported.`);\n  }\n\n  return content;\n};\n\n/**\n * Transform config\n *\n * @param {OutputMap} data\n * @param {string} env\n * @param {string} configKeyPrefix\n * @param {OutputOptions} options\n * @return {void}\n */\nconst transformConfig = (\n  data: OutputMap,\n  env: string,\n  configKeyPrefix: string,\n  options: OutputOptions,\n): void => {\n  const envKey = configKeyPrefix ? `${configKeyPrefix}ENV` : 'ENV';\n\n  let content = contentMap(envKey, envMap(env), options.exportAs!);\n\n  Object.keys(data).forEach((key) => {\n    const newConfigKey = configKeyPrefix ? `${configKeyPrefix}${key}` : key;\n\n    if (key === 'BASE_PROJECT') {\n      const extensionFile = [\n        `.${data[key]}.js`,\n        `.${data[key]}.jsx`,\n        `.${data[key]}.ts`,\n        `.${data[key]}.tsx`,\n        `.${data[key]}.css`,\n        `.${data[key]}.json`,\n        `.${data[key]}.scss`,\n      ];\n\n      content += contentMap(\n        newConfigKey,\n        extensionFile.join(','),\n        options.exportAs!,\n      );\n\n      return;\n    }\n\n    if (key === 'SITEMAP') {\n      content += contentMap(\n        newConfigKey,\n        JSON.stringify(data[key]),\n        options.exportAs!,\n      );\n\n      return;\n    }\n\n    if (Array.isArray(data[key])) {\n      content += contentMap(\n        newConfigKey,\n        data[key].join(','),\n        options.exportAs!,\n      );\n\n      return;\n    }\n\n    if (typeof data[key] === 'object') {\n      if (data[key].hasOwnProperty(env)) {\n        content += contentMap(newConfigKey, data[key][env], options.exportAs!);\n      } else {\n        content += contentMap(\n          newConfigKey,\n          JSON.stringify(data[key]),\n          options.exportAs!,\n        );\n      }\n\n      return;\n    }\n\n    content += contentMap(newConfigKey, data[key], options.exportAs!);\n  });\n\n  outputToFile(content, options);\n};\n\nexport { exportConfig, processConfig, transformConfig };\n"],"mappings":"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","ignoreList":[]}
         
     | 
| 
         @@ -0,0 +1,9 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            'use strict';
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            exports.EnvironmentEnum = void 0;
         
     | 
| 
      
 4 
     | 
    
         
            +
            (function (EnvironmentEnum) {
         
     | 
| 
      
 5 
     | 
    
         
            +
              EnvironmentEnum["DEV"] = "dev";
         
     | 
| 
      
 6 
     | 
    
         
            +
              EnvironmentEnum["STAGING"] = "staging";
         
     | 
| 
      
 7 
     | 
    
         
            +
              EnvironmentEnum["PRODUCTION"] = "production";
         
     | 
| 
      
 8 
     | 
    
         
            +
            })(exports.EnvironmentEnum || (exports.EnvironmentEnum = {}));
         
     | 
| 
      
 9 
     | 
    
         
            +
            //# sourceMappingURL=EnvironmentEnum-BjXsfSRZ.js.map
         
     | 
| 
         @@ -0,0 +1 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            {"version":3,"file":"EnvironmentEnum-BjXsfSRZ.js","sources":["../src/enums/EnvironmentEnum.ts"],"sourcesContent":[null],"names":["EnvironmentEnum"],"mappings":";;AAAYA,iCAIX;AAJD,CAAA,UAAYA,eAAe,EAAA;AACzBA,EAAAA,eAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACXA,EAAAA,eAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnBA,EAAAA,eAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AAC3B,CAAC,EAJWA,uBAAe,KAAfA,uBAAe,GAI1B,EAAA,CAAA,CAAA;;"}
         
     | 
| 
         @@ -0,0 +1,9 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            var EnvironmentEnum;
         
     | 
| 
      
 2 
     | 
    
         
            +
            (function (EnvironmentEnum) {
         
     | 
| 
      
 3 
     | 
    
         
            +
              EnvironmentEnum["DEV"] = "dev";
         
     | 
| 
      
 4 
     | 
    
         
            +
              EnvironmentEnum["STAGING"] = "staging";
         
     | 
| 
      
 5 
     | 
    
         
            +
              EnvironmentEnum["PRODUCTION"] = "production";
         
     | 
| 
      
 6 
     | 
    
         
            +
            })(EnvironmentEnum || (EnvironmentEnum = {}));
         
     | 
| 
      
 7 
     | 
    
         
            +
             
     | 
| 
      
 8 
     | 
    
         
            +
            export { EnvironmentEnum as E };
         
     | 
| 
      
 9 
     | 
    
         
            +
            //# sourceMappingURL=EnvironmentEnum-UcQ6Il1O.js.map
         
     | 
| 
         @@ -0,0 +1 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            {"version":3,"file":"EnvironmentEnum-UcQ6Il1O.js","sources":["../src/enums/EnvironmentEnum.ts"],"sourcesContent":[null],"names":["EnvironmentEnum"],"mappings":"IAAYA,gBAIX;AAJD,CAAA,UAAYA,eAAe,EAAA;AACzBA,EAAAA,eAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACXA,EAAAA,eAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnBA,EAAAA,eAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AAC3B,CAAC,EAJWA,eAAe,KAAfA,eAAe,GAI1B,EAAA,CAAA,CAAA;;;;"}
         
     | 
| 
         @@ -0,0 +1,6 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            import { ThirdPartyModule } from 'i18next';
         
     | 
| 
      
 2 
     | 
    
         
            +
            declare const getV: (divider: number) => number;
         
     | 
| 
      
 3 
     | 
    
         
            +
            declare const initI18n: (initReactI18next: ThirdPartyModule, lang: string, fallbackLang: string, langCacheExpiredTimeMs: number, resources: {
         
     | 
| 
      
 4 
     | 
    
         
            +
                [key: string]: any;
         
     | 
| 
      
 5 
     | 
    
         
            +
            }, version: string, withLocalstorageBackend?: boolean, cdnUrl?: string, debug?: boolean) => void;
         
     | 
| 
      
 6 
     | 
    
         
            +
            export { getV, initI18n };
         
     | 
| 
         @@ -0,0 +1,104 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            "use strict";
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            Object.defineProperty(exports, "__esModule", {
         
     | 
| 
      
 4 
     | 
    
         
            +
              value: true
         
     | 
| 
      
 5 
     | 
    
         
            +
            });
         
     | 
| 
      
 6 
     | 
    
         
            +
            exports.initI18n = exports.getV = void 0;
         
     | 
| 
      
 7 
     | 
    
         
            +
            var _i18next = _interopRequireDefault(require("i18next"));
         
     | 
| 
      
 8 
     | 
    
         
            +
            var _i18nextChainedBackend = _interopRequireDefault(require("i18next-chained-backend"));
         
     | 
| 
      
 9 
     | 
    
         
            +
            var _i18nextHttpBackend = _interopRequireDefault(require("i18next-http-backend"));
         
     | 
| 
      
 10 
     | 
    
         
            +
            var _i18nextLocalstorageBackend = _interopRequireDefault(require("i18next-localstorage-backend"));
         
     | 
| 
      
 11 
     | 
    
         
            +
            var _i18nextResourcesToBackend = _interopRequireDefault(require("i18next-resources-to-backend"));
         
     | 
| 
      
 12 
     | 
    
         
            +
            function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
         
     | 
| 
      
 13 
     | 
    
         
            +
            function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
         
     | 
| 
      
 14 
     | 
    
         
            +
            function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
         
     | 
| 
      
 15 
     | 
    
         
            +
            function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
         
     | 
| 
      
 16 
     | 
    
         
            +
            function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
         
     | 
| 
      
 17 
     | 
    
         
            +
            var getV = exports.getV = function getV(divider) {
         
     | 
| 
      
 18 
     | 
    
         
            +
              return Math.floor(Date.now() / divider);
         
     | 
| 
      
 19 
     | 
    
         
            +
            };
         
     | 
| 
      
 20 
     | 
    
         
            +
            var initI18n = exports.initI18n = function initI18n(initReactI18next, lang, fallbackLang, langCacheExpiredTimeMs, resources, version, withLocalstorageBackend, cdnUrl, debug) {
         
     | 
| 
      
 21 
     | 
    
         
            +
              var backends = [];
         
     | 
| 
      
 22 
     | 
    
         
            +
              var backendOptions = [];
         
     | 
| 
      
 23 
     | 
    
         
            +
              var langs = Object.keys(resources);
         
     | 
| 
      
 24 
     | 
    
         
            +
             
     | 
| 
      
 25 
     | 
    
         
            +
              // https://www.i18next.com/how-to/backend-fallback
         
     | 
| 
      
 26 
     | 
    
         
            +
              if (withLocalstorageBackend) {
         
     | 
| 
      
 27 
     | 
    
         
            +
                var versions = {};
         
     | 
| 
      
 28 
     | 
    
         
            +
                langs.forEach(function (value) {
         
     | 
| 
      
 29 
     | 
    
         
            +
                  return Object.assign(versions, _defineProperty({}, value, version));
         
     | 
| 
      
 30 
     | 
    
         
            +
                });
         
     | 
| 
      
 31 
     | 
    
         
            +
                backends.push(_i18nextLocalstorageBackend["default"]);
         
     | 
| 
      
 32 
     | 
    
         
            +
                backendOptions.push({
         
     | 
| 
      
 33 
     | 
    
         
            +
                  // prefix for stored languages
         
     | 
| 
      
 34 
     | 
    
         
            +
                  prefix: "i18next_res_",
         
     | 
| 
      
 35 
     | 
    
         
            +
                  // expiration
         
     | 
| 
      
 36 
     | 
    
         
            +
                  expirationTime: langCacheExpiredTimeMs,
         
     | 
| 
      
 37 
     | 
    
         
            +
                  // language versions
         
     | 
| 
      
 38 
     | 
    
         
            +
                  versions: versions
         
     | 
| 
      
 39 
     | 
    
         
            +
                });
         
     | 
| 
      
 40 
     | 
    
         
            +
              }
         
     | 
| 
      
 41 
     | 
    
         
            +
              if (cdnUrl) {
         
     | 
| 
      
 42 
     | 
    
         
            +
                backends.push(_i18nextHttpBackend["default"]);
         
     | 
| 
      
 43 
     | 
    
         
            +
                backendOptions.push({
         
     | 
| 
      
 44 
     | 
    
         
            +
                  // load resources from url path
         
     | 
| 
      
 45 
     | 
    
         
            +
                  loadPath: "".concat(cdnUrl, "/locales/{{lng}}.json"),
         
     | 
| 
      
 46 
     | 
    
         
            +
                  // adds parameters to resource URL. 'example.com' -> 'example.com?v=1.3.5'
         
     | 
| 
      
 47 
     | 
    
         
            +
                  queryStringParams: {
         
     | 
| 
      
 48 
     | 
    
         
            +
                    v: "".concat(version, ".").concat(getV(langCacheExpiredTimeMs))
         
     | 
| 
      
 49 
     | 
    
         
            +
                  },
         
     | 
| 
      
 50 
     | 
    
         
            +
                  reloadInterval: langCacheExpiredTimeMs // can be used to reload resources in a specific interval (milliseconds) (useful in server environments)
         
     | 
| 
      
 51 
     | 
    
         
            +
                });
         
     | 
| 
      
 52 
     | 
    
         
            +
              }
         
     | 
| 
      
 53 
     | 
    
         
            +
              backends.push((0, _i18nextResourcesToBackend["default"])(resources));
         
     | 
| 
      
 54 
     | 
    
         
            +
             
     | 
| 
      
 55 
     | 
    
         
            +
              // https://www.i18next.com/misc/creating-own-plugins#languagedetector
         
     | 
| 
      
 56 
     | 
    
         
            +
              var languageDetector = {
         
     | 
| 
      
 57 
     | 
    
         
            +
                type: 'languageDetector',
         
     | 
| 
      
 58 
     | 
    
         
            +
                name: 'customDetector',
         
     | 
| 
      
 59 
     | 
    
         
            +
                async: false,
         
     | 
| 
      
 60 
     | 
    
         
            +
                init: function init() {
         
     | 
| 
      
 61 
     | 
    
         
            +
                  /* use services and options */
         
     | 
| 
      
 62 
     | 
    
         
            +
                },
         
     | 
| 
      
 63 
     | 
    
         
            +
                detect: function detect(callback) {
         
     | 
| 
      
 64 
     | 
    
         
            +
                  return lang;
         
     | 
| 
      
 65 
     | 
    
         
            +
                }
         
     | 
| 
      
 66 
     | 
    
         
            +
              };
         
     | 
| 
      
 67 
     | 
    
         
            +
              var config = {
         
     | 
| 
      
 68 
     | 
    
         
            +
                debug: debug !== null && debug !== void 0 ? debug : false,
         
     | 
| 
      
 69 
     | 
    
         
            +
                compatibilityJSON: 'v4',
         
     | 
| 
      
 70 
     | 
    
         
            +
                ns: ['translation'],
         
     | 
| 
      
 71 
     | 
    
         
            +
                defaultNS: 'translation',
         
     | 
| 
      
 72 
     | 
    
         
            +
                lng: lang,
         
     | 
| 
      
 73 
     | 
    
         
            +
                fallbackLng: fallbackLang,
         
     | 
| 
      
 74 
     | 
    
         
            +
                load: 'currentOnly',
         
     | 
| 
      
 75 
     | 
    
         
            +
                keySeparator: false,
         
     | 
| 
      
 76 
     | 
    
         
            +
                nonExplicitSupportedLngs: true,
         
     | 
| 
      
 77 
     | 
    
         
            +
                backend: {
         
     | 
| 
      
 78 
     | 
    
         
            +
                  backends: backends,
         
     | 
| 
      
 79 
     | 
    
         
            +
                  backendOptions: backendOptions,
         
     | 
| 
      
 80 
     | 
    
         
            +
                  cacheHitMode: 'refreshAndUpdateStore',
         
     | 
| 
      
 81 
     | 
    
         
            +
                  reloadInterval: langCacheExpiredTimeMs,
         
     | 
| 
      
 82 
     | 
    
         
            +
                  refreshExpirationTime: langCacheExpiredTimeMs // only after determined time it should trigger a refresh if necessary
         
     | 
| 
      
 83 
     | 
    
         
            +
                },
         
     | 
| 
      
 84 
     | 
    
         
            +
                react: {
         
     | 
| 
      
 85 
     | 
    
         
            +
                  bindI18nStore: 'added' // this way, when the HttpBackend delivers new translations (thanks to refreshAndUpdateStore), the UI gets updated
         
     | 
| 
      
 86 
     | 
    
         
            +
                },
         
     | 
| 
      
 87 
     | 
    
         
            +
                interpolation: {
         
     | 
| 
      
 88 
     | 
    
         
            +
                  escapeValue: false // react already safes from xss
         
     | 
| 
      
 89 
     | 
    
         
            +
                }
         
     | 
| 
      
 90 
     | 
    
         
            +
              };
         
     | 
| 
      
 91 
     | 
    
         
            +
              if (!_i18next["default"].isInitialized) {
         
     | 
| 
      
 92 
     | 
    
         
            +
                _i18next["default"].use(_i18nextChainedBackend["default"]).use(languageDetector).use(initReactI18next) // passes i18n down to react-i18next
         
     | 
| 
      
 93 
     | 
    
         
            +
                .init(config, function (ex, t) {
         
     | 
| 
      
 94 
     | 
    
         
            +
                  if (ex) {
         
     | 
| 
      
 95 
     | 
    
         
            +
                    console.error("Error when i18n init", ex);
         
     | 
| 
      
 96 
     | 
    
         
            +
                    return;
         
     | 
| 
      
 97 
     | 
    
         
            +
                  }
         
     | 
| 
      
 98 
     | 
    
         
            +
                  setInterval(function () {
         
     | 
| 
      
 99 
     | 
    
         
            +
                    _i18next["default"].reloadResources();
         
     | 
| 
      
 100 
     | 
    
         
            +
                  }, langCacheExpiredTimeMs);
         
     | 
| 
      
 101 
     | 
    
         
            +
                });
         
     | 
| 
      
 102 
     | 
    
         
            +
              }
         
     | 
| 
      
 103 
     | 
    
         
            +
            };
         
     | 
| 
      
 104 
     | 
    
         
            +
            //# sourceMappingURL=I18n.js.map
         
     | 
| 
         @@ -0,0 +1 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            {"version":3,"file":"I18n.js","names":["_i18next","_interopRequireDefault","require","_i18nextChainedBackend","_i18nextHttpBackend","_i18nextLocalstorageBackend","_i18nextResourcesToBackend","e","__esModule","_typeof","o","Symbol","iterator","constructor","prototype","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","toPrimitive","call","TypeError","String","Number","getV","exports","divider","Math","floor","Date","now","initI18n","initReactI18next","lang","fallbackLang","langCacheExpiredTimeMs","resources","version","withLocalstorageBackend","cdnUrl","debug","backends","backendOptions","langs","keys","versions","forEach","assign","push","LocalStorageBackend","prefix","expirationTime","HttpBackend","loadPath","concat","queryStringParams","v","reloadInterval","ResourcesToBackend","languageDetector","type","name","async","init","detect","callback","config","compatibilityJSON","ns","defaultNS","lng","fallbackLng","load","keySeparator","nonExplicitSupportedLngs","backend","cacheHitMode","refreshExpirationTime","react","bindI18nStore","interpolation","escapeValue","i18next","isInitialized","use","ChainedBackend","ex","console","error","setInterval","reloadResources"],"sources":["../../src/I18n/I18n.ts"],"sourcesContent":["import i18next, { InitOptions, ThirdPartyModule } from 'i18next';\nimport ChainedBackend from 'i18next-chained-backend';\nimport HttpBackend from 'i18next-http-backend';\nimport LocalStorageBackend from 'i18next-localstorage-backend';\nimport ResourcesToBackend from 'i18next-resources-to-backend';\n\nconst getV = (divider: number): number => {\n  return Math.floor(Date.now() / divider);\n};\n\nconst initI18n = (\n  initReactI18next: ThirdPartyModule,\n  lang: string,\n  fallbackLang: string,\n  langCacheExpiredTimeMs: number,\n  resources: { [key: string]: any },\n  version: string,\n  withLocalstorageBackend?: boolean,\n  cdnUrl?: string,\n  debug?: boolean,\n) => {\n  let backends: Array<any> = [];\n  let backendOptions: Array<any> = [];\n  const langs = Object.keys(resources);\n\n  // https://www.i18next.com/how-to/backend-fallback\n  if (withLocalstorageBackend) {\n    const versions: { [key: string]: string } = {};\n\n    langs.forEach((value) => Object.assign(versions, { [value]: version }));\n\n    backends.push(LocalStorageBackend);\n    backendOptions.push({\n      // prefix for stored languages\n      prefix: `i18next_res_`,\n\n      // expiration\n      expirationTime: langCacheExpiredTimeMs,\n\n      // language versions\n      versions: versions,\n    });\n  }\n\n  if (cdnUrl) {\n    backends.push(HttpBackend);\n    backendOptions.push({\n      // load resources from url path\n      loadPath: `${cdnUrl}/locales/{{lng}}.json`,\n      // adds parameters to resource URL. 'example.com' -> 'example.com?v=1.3.5'\n      queryStringParams: {\n        v: `${version}.${getV(langCacheExpiredTimeMs)}`,\n      },\n\n      reloadInterval: langCacheExpiredTimeMs, // can be used to reload resources in a specific interval (milliseconds) (useful in server environments)\n    });\n  }\n\n  backends.push(ResourcesToBackend(resources));\n\n  // https://www.i18next.com/misc/creating-own-plugins#languagedetector\n  const languageDetector: any = {\n    type: 'languageDetector',\n    name: 'customDetector',\n    async: false,\n    init: () => {\n      /* use services and options */\n    },\n    detect: (callback: any) => {\n      return lang;\n    },\n  };\n\n  const config: InitOptions = {\n    debug: debug ?? false,\n    compatibilityJSON: 'v4',\n    ns: ['translation'],\n    defaultNS: 'translation',\n    lng: lang,\n    fallbackLng: fallbackLang,\n    load: 'currentOnly',\n    keySeparator: false,\n    nonExplicitSupportedLngs: true,\n    backend: {\n      backends: backends,\n      backendOptions: backendOptions,\n      cacheHitMode: 'refreshAndUpdateStore',\n      reloadInterval: langCacheExpiredTimeMs,\n      refreshExpirationTime: langCacheExpiredTimeMs, // only after determined time it should trigger a refresh if necessary\n    },\n    react: {\n      bindI18nStore: 'added', // this way, when the HttpBackend delivers new translations (thanks to refreshAndUpdateStore), the UI gets updated\n    },\n    interpolation: {\n      escapeValue: false, // react already safes from xss\n    },\n  };\n\n  if (!i18next.isInitialized) {\n    i18next\n      .use(ChainedBackend)\n      .use(languageDetector)\n      .use(initReactI18next) // passes i18n down to react-i18next\n      .init(config, (ex, t) => {\n        if (ex) {\n          console.error(`Error when i18n init`, ex);\n          return;\n        }\n\n        setInterval(() => {\n          i18next.reloadResources();\n        }, langCacheExpiredTimeMs);\n      });\n  }\n};\n\nexport { getV, initI18n };\n"],"mappings":"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","ignoreList":[]}
         
     |