UNPKG

5.54 kBJavaScriptView Raw
1// koffee 1.14.0
2
3/*
4 0000000 0000000 000 000 00000000 000 0000000
5000 000 000 0000 000 000 000 000
6000 000 000 000 0 000 000000 000 000 0000
7000 000 000 000 0000 000 000 000 000
8 0000000 0000000 000 000 000 000 0000000
9 */
10var _, noon, obj, path, ref, slash;
11
12ref = require('kxk'), _ = ref._, noon = ref.noon, slash = ref.slash;
13
14path = function(key, p, opt) {
15 var o, ref1;
16 while (slash.dir(p).length && ((ref1 = slash.dir(p)) !== '.' && ref1 !== '/')) {
17 p = slash.dir(p);
18 if (slash.fileExists(slash.join(p, '.konrad.noon'))) {
19 o = _.defaultsDeep(noon.load(slash.join(p, '.konrad.noon')), opt);
20 if (o[key] != null) {
21 return slash.resolve(p);
22 }
23 }
24 }
25 return null;
26};
27
28obj = function(p, opt) {
29 var dotkonrad, ignore, o, ref1;
30 if (opt == null) {
31 opt = {};
32 }
33 while (slash.dir(p).length && ((ref1 = slash.dir(p)) !== '.' && ref1 !== '/') && !/^\w\:\/$/.test(slash.dir(p))) {
34 p = slash.dir(p);
35 if (slash.fileExists(slash.join(p, '.konrad.noon'))) {
36 dotkonrad = noon.load(slash.join(p, '.konrad.noon'));
37 ignore = [].concat(dotkonrad.ignore, opt.ignore);
38 o = _.defaultsDeep(dotkonrad, opt);
39 o.ignore = ignore.map(function(i) {
40 if (_.isString(i)) {
41 return new RegExp(i);
42 } else {
43 return i;
44 }
45 });
46 return o;
47 }
48 }
49 return opt;
50};
51
52module.exports = {
53 path: path,
54 obj: obj
55};
56
57//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6Ii4uL2NvZmZlZSIsInNvdXJjZXMiOlsiY29uZmlnLmNvZmZlZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBOzs7Ozs7O0FBQUEsSUFBQTs7QUFRQSxNQUFxQixPQUFBLENBQVEsS0FBUixDQUFyQixFQUFFLFNBQUYsRUFBSyxlQUFMLEVBQVc7O0FBRVgsSUFBQSxHQUFPLFNBQUMsR0FBRCxFQUFNLENBQU4sRUFBUyxHQUFUO0FBRUgsUUFBQTtBQUFBLFdBQU0sS0FBSyxDQUFDLEdBQU4sQ0FBVSxDQUFWLENBQVksQ0FBQyxNQUFiLElBQXdCLFNBQUEsS0FBSyxDQUFDLEdBQU4sQ0FBVSxDQUFWLEVBQUEsS0FBcUIsR0FBckIsSUFBQSxJQUFBLEtBQXlCLEdBQXpCLENBQTlCO1FBQ0ksQ0FBQSxHQUFJLEtBQUssQ0FBQyxHQUFOLENBQVUsQ0FBVjtRQUNKLElBQUcsS0FBSyxDQUFDLFVBQU4sQ0FBaUIsS0FBSyxDQUFDLElBQU4sQ0FBVyxDQUFYLEVBQWMsY0FBZCxDQUFqQixDQUFIO1lBQ0ksQ0FBQSxHQUFJLENBQUMsQ0FBQyxZQUFGLENBQWUsSUFBSSxDQUFDLElBQUwsQ0FBVSxLQUFLLENBQUMsSUFBTixDQUFXLENBQVgsRUFBYyxjQUFkLENBQVYsQ0FBZixFQUF3RCxHQUF4RDtZQUNKLElBQUcsY0FBSDtBQUNJLHVCQUFPLEtBQUssQ0FBQyxPQUFOLENBQWMsQ0FBZCxFQURYO2FBRko7O0lBRko7V0FNQTtBQVJHOztBQVVQLEdBQUEsR0FBTSxTQUFDLENBQUQsRUFBSSxHQUFKO0FBRUYsUUFBQTs7UUFGTSxNQUFJOztBQUVWLFdBQU0sS0FBSyxDQUFDLEdBQU4sQ0FBVSxDQUFWLENBQVksQ0FBQyxNQUFiLElBQXdCLFNBQUEsS0FBSyxDQUFDLEdBQU4sQ0FBVSxDQUFWLEVBQUEsS0FBcUIsR0FBckIsSUFBQSxJQUFBLEtBQXlCLEdBQXpCLENBQXhCLElBQTBELENBQUksVUFBVSxDQUFDLElBQVgsQ0FBZ0IsS0FBSyxDQUFDLEdBQU4sQ0FBVSxDQUFWLENBQWhCLENBQXBFO1FBQ0ksQ0FBQSxHQUFJLEtBQUssQ0FBQyxHQUFOLENBQVUsQ0FBVjtRQUNKLElBQUcsS0FBSyxDQUFDLFVBQU4sQ0FBaUIsS0FBSyxDQUFDLElBQU4sQ0FBVyxDQUFYLEVBQWMsY0FBZCxDQUFqQixDQUFIO1lBRUksU0FBQSxHQUFZLElBQUksQ0FBQyxJQUFMLENBQVUsS0FBSyxDQUFDLElBQU4sQ0FBVyxDQUFYLEVBQWMsY0FBZCxDQUFWO1lBQ1osTUFBQSxHQUFTLEVBQUUsQ0FBQyxNQUFILENBQVUsU0FBUyxDQUFDLE1BQXBCLEVBQTRCLEdBQUcsQ0FBQyxNQUFoQztZQUNULENBQUEsR0FBSSxDQUFDLENBQUMsWUFBRixDQUFlLFNBQWYsRUFBMEIsR0FBMUI7WUFDSixDQUFDLENBQUMsTUFBRixHQUFXLE1BQU0sQ0FBQyxHQUFQLENBQVcsU0FBQyxDQUFEO2dCQUNsQixJQUFHLENBQUMsQ0FBQyxRQUFGLENBQVcsQ0FBWCxDQUFIOzJCQUNJLElBQUksTUFBSixDQUFXLENBQVgsRUFESjtpQkFBQSxNQUFBOzJCQUdJLEVBSEo7O1lBRGtCLENBQVg7QUFLWCxtQkFBTyxFQVZYOztJQUZKO1dBYUE7QUFmRTs7QUFpQk4sTUFBTSxDQUFDLE9BQVAsR0FDSTtJQUFBLElBQUEsRUFBSyxJQUFMO0lBQ0EsR0FBQSxFQUFJLEdBREoiLCJzb3VyY2VzQ29udGVudCI6WyIjIyNcbiAwMDAwMDAwICAgMDAwMDAwMCAgIDAwMCAgIDAwMCAgMDAwMDAwMDAgIDAwMCAgIDAwMDAwMDAgXG4wMDAgICAgICAgMDAwICAgMDAwICAwMDAwICAwMDAgIDAwMCAgICAgICAwMDAgIDAwMCAgICAgIFxuMDAwICAgICAgIDAwMCAgIDAwMCAgMDAwIDAgMDAwICAwMDAwMDAgICAgMDAwICAwMDAgIDAwMDBcbjAwMCAgICAgICAwMDAgICAwMDAgIDAwMCAgMDAwMCAgMDAwICAgICAgIDAwMCAgMDAwICAgMDAwXG4gMDAwMDAwMCAgIDAwMDAwMDAgICAwMDAgICAwMDAgIDAwMCAgICAgICAwMDAgICAwMDAwMDAwIFxuIyMjXG5cbnsgXywgbm9vbiwgc2xhc2ggfSA9IHJlcXVpcmUgJ2t4aydcblxucGF0aCA9IChrZXksIHAsIG9wdCkgLT5cbiAgICBcbiAgICB3aGlsZSBzbGFzaC5kaXIocCkubGVuZ3RoIGFuZCBzbGFzaC5kaXIocCkgbm90IGluIFsnLicgJy8nXVxuICAgICAgICBwID0gc2xhc2guZGlyIHBcbiAgICAgICAgaWYgc2xhc2guZmlsZUV4aXN0cyBzbGFzaC5qb2luIHAsICcua29ucmFkLm5vb24nXG4gICAgICAgICAgICBvID0gXy5kZWZhdWx0c0RlZXAgbm9vbi5sb2FkKHNsYXNoLmpvaW4gcCwgJy5rb25yYWQubm9vbicpLCBvcHRcbiAgICAgICAgICAgIGlmIG9ba2V5XT9cbiAgICAgICAgICAgICAgICByZXR1cm4gc2xhc2gucmVzb2x2ZSBwXG4gICAgbnVsbFxuXG5vYmogPSAocCwgb3B0PXt9KSAtPlxuICAgIFxuICAgIHdoaWxlIHNsYXNoLmRpcihwKS5sZW5ndGggYW5kIHNsYXNoLmRpcihwKSBub3QgaW4gWycuJyAnLyddIGFuZCBub3QgL15cXHdcXDpcXC8kLy50ZXN0IHNsYXNoLmRpcihwKVxuICAgICAgICBwID0gc2xhc2guZGlyIHBcbiAgICAgICAgaWYgc2xhc2guZmlsZUV4aXN0cyBzbGFzaC5qb2luIHAsICcua29ucmFkLm5vb24nXG5cbiAgICAgICAgICAgIGRvdGtvbnJhZCA9IG5vb24ubG9hZCBzbGFzaC5qb2luIHAsICcua29ucmFkLm5vb24nXG4gICAgICAgICAgICBpZ25vcmUgPSBbXS5jb25jYXQgZG90a29ucmFkLmlnbm9yZSwgb3B0Lmlnbm9yZVxuICAgICAgICAgICAgbyA9IF8uZGVmYXVsdHNEZWVwIGRvdGtvbnJhZCwgb3B0XG4gICAgICAgICAgICBvLmlnbm9yZSA9IGlnbm9yZS5tYXAgKGkpIC0+XG4gICAgICAgICAgICAgICAgaWYgXy5pc1N0cmluZyBpXG4gICAgICAgICAgICAgICAgICAgIG5ldyBSZWdFeHAgaVxuICAgICAgICAgICAgICAgIGVsc2UgXG4gICAgICAgICAgICAgICAgICAgIGlcbiAgICAgICAgICAgIHJldHVybiBvXG4gICAgb3B0XG4gICAgXG5tb2R1bGUuZXhwb3J0cyA9IFxuICAgIHBhdGg6cGF0aFxuICAgIG9iajpvYmpcbiJdfQ==
58//# sourceURL=../coffee/config.coffee
\No newline at end of file