1 | // koffee 1.14.0
|
2 |
|
3 | /*
|
4 | 0000000 0000000 000 000 00000000 000 0000000
|
5 | 000 000 000 0000 000 000 000 000
|
6 | 000 000 000 000 0 000 000000 000 000 0000
|
7 | 000 000 000 000 0000 000 000 000 000
|
8 | 0000000 0000000 000 000 000 000 0000000
|
9 | */
|
10 | var _, noon, obj, path, ref, slash;
|
11 |
|
12 | ref = require('kxk'), _ = ref._, noon = ref.noon, slash = ref.slash;
|
13 |
|
14 | path = 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 |
|
28 | obj = 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 |
|
52 | module.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 |