From 562a28be08e097e55298cdb0ef67ff0a7c0ac5e4 Mon Sep 17 00:00:00 2001 From: Daniel Rodriguez Date: Thu, 12 Mar 2026 15:52:49 +0000 Subject: [PATCH] refactor: simplify loadClient function by extracting handleData --- public/src/modules/translator.js | 36 ++++++++++++++++++++------------ 1 file changed, 23 insertions(+), 13 deletions(-) diff --git a/public/src/modules/translator.js b/public/src/modules/translator.js index b2e51ab4cf..df04f692e5 100644 --- a/public/src/modules/translator.js +++ b/public/src/modules/translator.js @@ -3,23 +3,33 @@ const factory = require('./translator.common'); define('translator', ['jquery', 'utils'], function (jQuery, utils) { + function handleData(data, language, namespace, resolve) { + require(['hooks'], function (hooks) { + const payload = { + language: language, + namespace: namespace, + data: data, + }; + hooks.fire('action:translator.loadClient', payload); + resolve(payload.promise ? Promise.resolve(payload.promise) : data); + }); + } + function loadClient(language, namespace) { + const url = [config.asset_base_url, 'language', language, namespace].join('/') + '.json?' + config['cache-buster']; + return new Promise(function (resolve, reject) { - jQuery.getJSON([config.asset_base_url, 'language', language, namespace].join('/') + '.json?' + config['cache-buster'], function (data) { - const payload = { - language: language, - namespace: namespace, - data: data, - }; - require(['hooks'], function (hooks) { - hooks.fire('action:translator.loadClient', payload); - resolve(payload.promise ? Promise.resolve(payload.promise) : data); + jQuery.getJSON(url) + .done(function (data) { + handleData(data, language, namespace, resolve); + }) + .fail(function (jqxhr, textStatus, error) { + reject(new Error(textStatus + ', ' + error)); }); - }).fail(function (jqxhr, textStatus, error) { - reject(new Error(textStatus + ', ' + error)); - }); }); } + const warn = function () { console.warn.apply(console, arguments); }; + return factory(utils, loadClient, warn); -}); +}); \ No newline at end of file