UNPKG

5 kBJavaScriptView Raw
1// koffee 1.14.0
2
3/*
4000000000 0000000 00000000 0000000 00000000 000000000
5 000 000 000 000 000 000 000 000
6 000 000000000 0000000 000 0000 0000000 000
7 000 000 000 000 000 000 000 000 000
8 000 000 000 000 000 0000000 00000000 000
9 */
10var _, argDir, args, config, klog, kolor, pretty, ref, slash, target;
11
12ref = require('kxk'), _ = ref._, args = ref.args, klog = ref.klog, kolor = ref.kolor, slash = ref.slash;
13
14argDir = require('./argdir');
15
16config = require('./config');
17
18pretty = require('./pretty');
19
20target = function(sourceFile, opt) {
21 var ext, i, k, len, matches, o, r, ref1, ref2, ref3, ref4, ref5, targetFile, v;
22 ext = slash.ext(sourceFile);
23 o = config.obj(sourceFile, opt);
24 if (((ref1 = o[ext]) != null ? ref1.filter : void 0) != null) {
25 matches = false;
26 ref2 = o[ext].filter;
27 for (i = 0, len = ref2.length; i < len; i++) {
28 r = ref2[i];
29 if (new RegExp(r).test(sourceFile)) {
30 matches = true;
31 }
32 }
33 if (!matches) {
34 if (args.debug) {
35 klog(pretty.filePath(slash.relative(sourceFile, argDir()), kolor.blue));
36 }
37 return;
38 }
39 }
40 targetFile = _.clone(sourceFile);
41 if (((ref3 = o[ext]) != null ? ref3.replace : void 0) != null) {
42 ref4 = o[ext].replace;
43 for (k in ref4) {
44 v = ref4[k];
45 targetFile = targetFile.replace(k, v);
46 }
47 }
48 if (((ref5 = o[ext]) != null ? ref5.ext : void 0) == null) {
49 return;
50 }
51 return targetFile = slash.join(slash.dir(targetFile), slash.base(targetFile) + '.' + o[ext].ext);
52};
53
54module.exports = target;
55
56//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFyZ2V0LmpzIiwic291cmNlUm9vdCI6Ii4uL2NvZmZlZSIsInNvdXJjZXMiOlsidGFyZ2V0LmNvZmZlZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBOzs7Ozs7O0FBQUEsSUFBQTs7QUFRQSxNQUFrQyxPQUFBLENBQVEsS0FBUixDQUFsQyxFQUFFLFNBQUYsRUFBSyxlQUFMLEVBQVcsZUFBWCxFQUFpQixpQkFBakIsRUFBd0I7O0FBRXhCLE1BQUEsR0FBUyxPQUFBLENBQVEsVUFBUjs7QUFDVCxNQUFBLEdBQVMsT0FBQSxDQUFRLFVBQVI7O0FBQ1QsTUFBQSxHQUFTLE9BQUEsQ0FBUSxVQUFSOztBQUVULE1BQUEsR0FBUyxTQUFDLFVBQUQsRUFBYSxHQUFiO0FBRUwsUUFBQTtJQUFBLEdBQUEsR0FBTSxLQUFLLENBQUMsR0FBTixDQUFVLFVBQVY7SUFDTixDQUFBLEdBQUksTUFBTSxDQUFDLEdBQVAsQ0FBVyxVQUFYLEVBQXVCLEdBQXZCO0lBRUosSUFBRyx3REFBSDtRQUNJLE9BQUEsR0FBVTtBQUNWO0FBQUEsYUFBQSxzQ0FBQTs7WUFDSSxJQUFHLElBQUksTUFBSixDQUFXLENBQVgsQ0FBYSxDQUFDLElBQWQsQ0FBbUIsVUFBbkIsQ0FBSDtnQkFDSSxPQUFBLEdBQVUsS0FEZDs7QUFESjtRQUdBLElBQUcsQ0FBSSxPQUFQO1lBQ0ksSUFBeUUsSUFBSSxDQUFDLEtBQTlFO2dCQUFBLElBQUEsQ0FBSyxNQUFNLENBQUMsUUFBUCxDQUFnQixLQUFLLENBQUMsUUFBTixDQUFlLFVBQWYsRUFBMkIsTUFBQSxDQUFBLENBQTNCLENBQWhCLEVBQXNELEtBQUssQ0FBQyxJQUE1RCxDQUFMLEVBQUE7O0FBQ0EsbUJBRko7U0FMSjs7SUFTQSxVQUFBLEdBQWEsQ0FBQyxDQUFDLEtBQUYsQ0FBUSxVQUFSO0lBRWIsSUFBRyx5REFBSDtBQUNJO0FBQUEsYUFBQSxTQUFBOztZQUNJLFVBQUEsR0FBYSxVQUFVLENBQUMsT0FBWCxDQUFtQixDQUFuQixFQUFzQixDQUF0QjtBQURqQixTQURKOztJQUlBLElBQWMscURBQWQ7QUFBQSxlQUFBOztXQUVBLFVBQUEsR0FBYSxLQUFLLENBQUMsSUFBTixDQUFXLEtBQUssQ0FBQyxHQUFOLENBQVUsVUFBVixDQUFYLEVBQWtDLEtBQUssQ0FBQyxJQUFOLENBQVcsVUFBWCxDQUFBLEdBQXlCLEdBQXpCLEdBQStCLENBQUUsQ0FBQSxHQUFBLENBQUksQ0FBQyxHQUF4RTtBQXRCUjs7QUF3QlQsTUFBTSxDQUFDLE9BQVAsR0FBaUIiLCJzb3VyY2VzQ29udGVudCI6WyIjIyNcbjAwMDAwMDAwMCAgIDAwMDAwMDAgICAwMDAwMDAwMCAgICAwMDAwMDAwICAgMDAwMDAwMDAgIDAwMDAwMDAwMFxuICAgMDAwICAgICAwMDAgICAwMDAgIDAwMCAgIDAwMCAgMDAwICAgICAgICAwMDAgICAgICAgICAgMDAwICAgXG4gICAwMDAgICAgIDAwMDAwMDAwMCAgMDAwMDAwMCAgICAwMDAgIDAwMDAgIDAwMDAwMDAgICAgICAwMDAgICBcbiAgIDAwMCAgICAgMDAwICAgMDAwICAwMDAgICAwMDAgIDAwMCAgIDAwMCAgMDAwICAgICAgICAgIDAwMCAgIFxuICAgMDAwICAgICAwMDAgICAwMDAgIDAwMCAgIDAwMCAgIDAwMDAwMDAgICAwMDAwMDAwMCAgICAgMDAwICAgXG4jIyNcblxueyBfLCBhcmdzLCBrbG9nLCBrb2xvciwgc2xhc2ggfSA9IHJlcXVpcmUgJ2t4aydcblxuYXJnRGlyID0gcmVxdWlyZSAnLi9hcmdkaXInXG5jb25maWcgPSByZXF1aXJlICcuL2NvbmZpZydcbnByZXR0eSA9IHJlcXVpcmUgJy4vcHJldHR5J1xuXG50YXJnZXQgPSAoc291cmNlRmlsZSwgb3B0KSAtPlxuICAgIFxuICAgIGV4dCA9IHNsYXNoLmV4dCBzb3VyY2VGaWxlXG4gICAgbyA9IGNvbmZpZy5vYmogc291cmNlRmlsZSwgb3B0XG5cbiAgICBpZiBvW2V4dF0/LmZpbHRlcj9cbiAgICAgICAgbWF0Y2hlcyA9IGZhbHNlXG4gICAgICAgIGZvciByIGluIG9bZXh0XS5maWx0ZXJcbiAgICAgICAgICAgIGlmIG5ldyBSZWdFeHAocikudGVzdChzb3VyY2VGaWxlKVxuICAgICAgICAgICAgICAgIG1hdGNoZXMgPSB0cnVlXG4gICAgICAgIGlmIG5vdCBtYXRjaGVzXG4gICAgICAgICAgICBrbG9nIHByZXR0eS5maWxlUGF0aCBzbGFzaC5yZWxhdGl2ZShzb3VyY2VGaWxlLCBhcmdEaXIoKSksIGtvbG9yLmJsdWUgaWYgYXJncy5kZWJ1Z1xuICAgICAgICAgICAgcmV0dXJuXG5cbiAgICB0YXJnZXRGaWxlID0gXy5jbG9uZSBzb3VyY2VGaWxlXG5cbiAgICBpZiBvW2V4dF0/LnJlcGxhY2U/XG4gICAgICAgIGZvciBrLHYgb2Ygb1tleHRdLnJlcGxhY2VcbiAgICAgICAgICAgIHRhcmdldEZpbGUgPSB0YXJnZXRGaWxlLnJlcGxhY2UgaywgdlxuXG4gICAgcmV0dXJuIGlmIG5vdCBvW2V4dF0/LmV4dD9cblxuICAgIHRhcmdldEZpbGUgPSBzbGFzaC5qb2luIHNsYXNoLmRpcih0YXJnZXRGaWxlKSwgc2xhc2guYmFzZSh0YXJnZXRGaWxlKSArICcuJyArIG9bZXh0XS5leHRcbiAgICBcbm1vZHVsZS5leHBvcnRzID0gdGFyZ2V0XG4iXX0=
57//# sourceURL=../coffee/target.coffee
\No newline at end of file