mirror of
https://github.com/RetroShare/RSNewWebUI.git
synced 2026-09-13 18:45:49 +05:00
113 lines
3.0 KiB
JavaScript
113 lines
3.0 KiB
JavaScript
(function() {
|
|
'use strict';
|
|
|
|
var globals = typeof window === 'undefined' ? global : window;
|
|
if (typeof globals.require === 'function') return;
|
|
|
|
var modules = {};
|
|
var cache = {};
|
|
var aliases = {};
|
|
var has = ({}).hasOwnProperty;
|
|
|
|
var endsWith = function(str, suffix) {
|
|
return str.indexOf(suffix, str.length - suffix.length) !== -1;
|
|
};
|
|
|
|
var _cmp = 'components/';
|
|
var unalias = function(alias, loaderPath) {
|
|
var start = 0;
|
|
if (loaderPath) {
|
|
if (loaderPath.indexOf(_cmp) === 0) {
|
|
start = _cmp.length;
|
|
}
|
|
if (loaderPath.indexOf('/', start) > 0) {
|
|
loaderPath = loaderPath.substring(start, loaderPath.indexOf('/', start));
|
|
}
|
|
}
|
|
var result = aliases[alias + '/index.js'] || aliases[loaderPath + '/deps/' + alias + '/index.js'];
|
|
if (result) {
|
|
return _cmp + result.substring(0, result.length - '.js'.length);
|
|
}
|
|
return alias;
|
|
};
|
|
|
|
var _reg = /^\.\.?(\/|$)/;
|
|
var expand = function(root, name) {
|
|
var results = [], part;
|
|
var parts = (_reg.test(name) ? root + '/' + name : name).split('/');
|
|
for (var i = 0, length = parts.length; i < length; i++) {
|
|
part = parts[i];
|
|
if (part === '..') {
|
|
results.pop();
|
|
} else if (part !== '.' && part !== '') {
|
|
results.push(part);
|
|
}
|
|
}
|
|
return results.join('/');
|
|
};
|
|
|
|
var dirname = function(path) {
|
|
return path.split('/').slice(0, -1).join('/');
|
|
};
|
|
|
|
var localRequire = function(path) {
|
|
return function expanded(name) {
|
|
var absolute = expand(dirname(path), name);
|
|
return globals.require(absolute, path);
|
|
};
|
|
};
|
|
|
|
var initModule = function(name, definition) {
|
|
var module = {id: name, exports: {}};
|
|
cache[name] = module;
|
|
definition(module.exports, localRequire(name), module);
|
|
return module.exports;
|
|
};
|
|
|
|
var require = function(name, loaderPath) {
|
|
var path = expand(name, '.');
|
|
if (loaderPath == null) loaderPath = '/';
|
|
path = unalias(name, loaderPath);
|
|
|
|
if (has.call(cache, path)) return cache[path].exports;
|
|
if (has.call(modules, path)) return initModule(path, modules[path]);
|
|
|
|
var dirIndex = expand(path, './index');
|
|
if (has.call(cache, dirIndex)) return cache[dirIndex].exports;
|
|
if (has.call(modules, dirIndex)) return initModule(dirIndex, modules[dirIndex]);
|
|
|
|
throw new Error('Cannot find module "' + name + '" from '+ '"' + loaderPath + '"');
|
|
};
|
|
|
|
require.alias = function(from, to) {
|
|
aliases[to] = from;
|
|
};
|
|
|
|
require.register = require.define = function(bundle, fn) {
|
|
if (typeof bundle === 'object') {
|
|
for (var key in bundle) {
|
|
if (has.call(bundle, key)) {
|
|
modules[key] = bundle[key];
|
|
}
|
|
}
|
|
} else {
|
|
modules[bundle] = fn;
|
|
}
|
|
};
|
|
|
|
require.list = function() {
|
|
var result = [];
|
|
for (var item in modules) {
|
|
if (has.call(modules, item)) {
|
|
result.push(item);
|
|
}
|
|
}
|
|
return result;
|
|
};
|
|
|
|
require.brunch = true;
|
|
require._cache = cache;
|
|
globals.require = require;
|
|
})();
|
|
|