1
0
قرینه از https://github.com/matomo-org/matomo.git synced 2025-08-21 22:47:43 +00:00
Files
matomo/plugins/CoreHome/javascripts/require.js
Michal Kleiner 9a3ef94df6 [Coding Style] Enable rule PSR12.Files.FileHeader + unify file headers (#22132)
* [Coding Style] Enable rule PSR12.Files.FileHeader

* Apply CS

* Replace Piwik with Matomo in file headers

* Unify file headers (position, no. of lines, https links)

* Rebuild dist files

* Apply CS

* Fix system test that relies on line numbers in a file that had the file header updated

---------

Co-authored-by: Stefan Giehl <stefan@matomo.org>
2024-04-20 20:50:47 +02:00

40 خطوط
1.3 KiB
JavaScript

/**
* Matomo - free/libre analytics platform
*
* Module creation & inclusion for Piwik.
*
* @link https://matomo.org
* @license https://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
*/
(function (window) {
var MODULE_SPLIT_REGEX = /[\/.\\]/;
/**
* Returns a module for its ID. Empty modules are created if they does not exist.
*
* Modules are currently stored in the window object.
*
* @param {String} moduleId e.g. 'piwik/UserCountryMap' or 'myPlugin/Widgets/FancySchmancyThing'.
* The following characters can be used to separate individual modules:
* '/', '.' or '\'.
* @return {Object} The module object.
*/
window.require = function (moduleId) {
var parts = moduleId.split(MODULE_SPLIT_REGEX);
// TODO: we use window objects for backwards compatibility. when rest of Piwik is rewritten to use
// require, we can switch simply holding the modules in a private variable.
var currentModule = window;
for (var i = 0; i != parts.length; ++i) {
var part = parts[i];
currentModule[part] = currentModule[part] || {};
currentModule = currentModule[part];
}
return currentModule;
};
})(window);