UNPKG

822 BJavaScriptView Raw
1require = require("enhanced-require")(module);
2
3module.exports = function() {
4 var loaderSign = this.request.indexOf("!");
5 var req = this.request.substr(loaderSign+1);
6 var match = /^(.*)[\/\\]([^\.\/\\]+)\.([^\/\\!]+)$/.exec(req);
7 var path = match[1];
8 var locale = match[2].split("-");
9 var filename = match[3];
10 var result = [];
11 var cb = this.async() || this.callback;
12 var context = this;
13 function next(i) {
14 if(i <= locale.length) {
15 var request = path + "/" + (i == 0 ? "" : locale.slice(0, i).join("-") + ".") + filename;
16 context.resolve(context.context, request, function(err, resolveRequest) {
17 if(err) return cb(err);
18 var part = require("raw!"+resolveRequest);
19 result.push(part);
20 next(i+1);
21 });
22 } else {
23 cb(null, result.join("\n\n"));
24 }
25 }
26 next(0);
27}
\No newline at end of file