UNPKG

5.42 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 o, ref1, ref2;
30 if (opt == null) {
31 opt = {};
32 }
33 while (slash.dir(p).length && ((ref2 = slash.dir(p)) !== '.' && ref2 !== '/') && !/^\w\:\/$/.test(slash.dir(p))) {
34 p = slash.dir(p);
35 if (slash.fileExists(slash.join(p, '.konrad.noon'))) {
36 o = _.defaultsDeep(noon.load(slash.join(p, '.konrad.noon')), opt);
37 if (((ref1 = o.ignore) != null ? ref1.map : void 0) != null) {
38 o.ignore = o.ignore.map(function(i) {
39 if (_.isString(i)) {
40 return new RegExp(i);
41 } else {
42 return i;
43 }
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6Ii4uL2NvZmZlZSIsInNvdXJjZXMiOlsiY29uZmlnLmNvZmZlZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBOzs7Ozs7O0FBQUEsSUFBQTs7QUFRQSxNQUFxQixPQUFBLENBQVEsS0FBUixDQUFyQixFQUFFLFNBQUYsRUFBSyxlQUFMLEVBQVc7O0FBRVgsSUFBQSxHQUFPLFNBQUMsR0FBRCxFQUFNLENBQU4sRUFBUyxHQUFUO0FBRUgsUUFBQTtBQUFBLFdBQU0sS0FBSyxDQUFDLEdBQU4sQ0FBVSxDQUFWLENBQVksQ0FBQyxNQUFiLElBQXdCLFNBQUEsS0FBSyxDQUFDLEdBQU4sQ0FBVSxDQUFWLEVBQUEsS0FBcUIsR0FBckIsSUFBQSxJQUFBLEtBQXlCLEdBQXpCLENBQTlCO1FBQ0ksQ0FBQSxHQUFJLEtBQUssQ0FBQyxHQUFOLENBQVUsQ0FBVjtRQUNKLElBQUcsS0FBSyxDQUFDLFVBQU4sQ0FBaUIsS0FBSyxDQUFDLElBQU4sQ0FBVyxDQUFYLEVBQWMsY0FBZCxDQUFqQixDQUFIO1lBQ0ksQ0FBQSxHQUFJLENBQUMsQ0FBQyxZQUFGLENBQWUsSUFBSSxDQUFDLElBQUwsQ0FBVSxLQUFLLENBQUMsSUFBTixDQUFXLENBQVgsRUFBYyxjQUFkLENBQVYsQ0FBZixFQUF3RCxHQUF4RDtZQUNKLElBQUcsY0FBSDtBQUNJLHVCQUFPLEtBQUssQ0FBQyxPQUFOLENBQWMsQ0FBZCxFQURYO2FBRko7O0lBRko7V0FNQTtBQVJHOztBQVVQLEdBQUEsR0FBTSxTQUFDLENBQUQsRUFBSSxHQUFKO0FBRUYsUUFBQTs7UUFGTSxNQUFJOztBQUVWLFdBQU0sS0FBSyxDQUFDLEdBQU4sQ0FBVSxDQUFWLENBQVksQ0FBQyxNQUFiLElBQXdCLFNBQUEsS0FBSyxDQUFDLEdBQU4sQ0FBVSxDQUFWLEVBQUEsS0FBcUIsR0FBckIsSUFBQSxJQUFBLEtBQXlCLEdBQXpCLENBQXhCLElBQTBELENBQUksVUFBVSxDQUFDLElBQVgsQ0FBZ0IsS0FBSyxDQUFDLEdBQU4sQ0FBVSxDQUFWLENBQWhCLENBQXBFO1FBQ0ksQ0FBQSxHQUFJLEtBQUssQ0FBQyxHQUFOLENBQVUsQ0FBVjtRQUNKLElBQUcsS0FBSyxDQUFDLFVBQU4sQ0FBaUIsS0FBSyxDQUFDLElBQU4sQ0FBVyxDQUFYLEVBQWMsY0FBZCxDQUFqQixDQUFIO1lBQ0ksQ0FBQSxHQUFJLENBQUMsQ0FBQyxZQUFGLENBQWUsSUFBSSxDQUFDLElBQUwsQ0FBVSxLQUFLLENBQUMsSUFBTixDQUFXLENBQVgsRUFBYyxjQUFkLENBQVYsQ0FBZixFQUF3RCxHQUF4RDtZQUNKLElBQUcsdURBQUg7Z0JBQ0ksQ0FBQyxDQUFDLE1BQUYsR0FBVyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQVQsQ0FBYSxTQUFDLENBQUQ7b0JBQ3BCLElBQUcsQ0FBQyxDQUFDLFFBQUYsQ0FBVyxDQUFYLENBQUg7K0JBQ0ksSUFBSSxNQUFKLENBQVcsQ0FBWCxFQURKO3FCQUFBLE1BQUE7K0JBR0ksRUFISjs7Z0JBRG9CLENBQWIsRUFEZjs7QUFNQSxtQkFBTyxFQVJYOztJQUZKO1dBV0E7QUFiRTs7QUFlTixNQUFNLENBQUMsT0FBUCxHQUNJO0lBQUEsSUFBQSxFQUFLLElBQUw7SUFDQSxHQUFBLEVBQUksR0FESiIsInNvdXJjZXNDb250ZW50IjpbIiMjI1xuIDAwMDAwMDAgICAwMDAwMDAwICAgMDAwICAgMDAwICAwMDAwMDAwMCAgMDAwICAgMDAwMDAwMCBcbjAwMCAgICAgICAwMDAgICAwMDAgIDAwMDAgIDAwMCAgMDAwICAgICAgIDAwMCAgMDAwICAgICAgXG4wMDAgICAgICAgMDAwICAgMDAwICAwMDAgMCAwMDAgIDAwMDAwMCAgICAwMDAgIDAwMCAgMDAwMFxuMDAwICAgICAgIDAwMCAgIDAwMCAgMDAwICAwMDAwICAwMDAgICAgICAgMDAwICAwMDAgICAwMDBcbiAwMDAwMDAwICAgMDAwMDAwMCAgIDAwMCAgIDAwMCAgMDAwICAgICAgIDAwMCAgIDAwMDAwMDAgXG4jIyNcblxueyBfLCBub29uLCBzbGFzaCB9ID0gcmVxdWlyZSAna3hrJ1xuXG5wYXRoID0gKGtleSwgcCwgb3B0KSAtPlxuICAgIFxuICAgIHdoaWxlIHNsYXNoLmRpcihwKS5sZW5ndGggYW5kIHNsYXNoLmRpcihwKSBub3QgaW4gWycuJyAnLyddXG4gICAgICAgIHAgPSBzbGFzaC5kaXIgcFxuICAgICAgICBpZiBzbGFzaC5maWxlRXhpc3RzIHNsYXNoLmpvaW4gcCwgJy5rb25yYWQubm9vbidcbiAgICAgICAgICAgIG8gPSBfLmRlZmF1bHRzRGVlcCBub29uLmxvYWQoc2xhc2guam9pbiBwLCAnLmtvbnJhZC5ub29uJyksIG9wdFxuICAgICAgICAgICAgaWYgb1trZXldP1xuICAgICAgICAgICAgICAgIHJldHVybiBzbGFzaC5yZXNvbHZlIHBcbiAgICBudWxsXG5cbm9iaiA9IChwLCBvcHQ9e30pIC0+XG4gICAgXG4gICAgd2hpbGUgc2xhc2guZGlyKHApLmxlbmd0aCBhbmQgc2xhc2guZGlyKHApIG5vdCBpbiBbJy4nICcvJ10gYW5kIG5vdCAvXlxcd1xcOlxcLyQvLnRlc3Qgc2xhc2guZGlyKHApXG4gICAgICAgIHAgPSBzbGFzaC5kaXIgcFxuICAgICAgICBpZiBzbGFzaC5maWxlRXhpc3RzIHNsYXNoLmpvaW4gcCwgJy5rb25yYWQubm9vbidcbiAgICAgICAgICAgIG8gPSBfLmRlZmF1bHRzRGVlcCBub29uLmxvYWQoc2xhc2guam9pbiBwLCAnLmtvbnJhZC5ub29uJyksIG9wdFxuICAgICAgICAgICAgaWYgby5pZ25vcmU/Lm1hcD9cbiAgICAgICAgICAgICAgICBvLmlnbm9yZSA9IG8uaWdub3JlLm1hcCAoaSkgLT5cbiAgICAgICAgICAgICAgICAgICAgaWYgXy5pc1N0cmluZyBpXG4gICAgICAgICAgICAgICAgICAgICAgICBuZXcgUmVnRXhwIGlcbiAgICAgICAgICAgICAgICAgICAgZWxzZSBcbiAgICAgICAgICAgICAgICAgICAgICAgIGlcbiAgICAgICAgICAgIHJldHVybiBvXG4gICAgb3B0XG4gICAgXG5tb2R1bGUuZXhwb3J0cyA9IFxuICAgIHBhdGg6cGF0aFxuICAgIG9iajpvYmpcbiJdfQ==
58//# sourceURL=../coffee/config.coffee
\No newline at end of file