.gitignore added
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / fast-glob / package / out / managers / tasks.js
1 "use strict";\r
2 Object.defineProperty(exports, "__esModule", { value: true });\r
3 var patternUtils = require("../utils/pattern");\r
4 /**\r
5  * Generate tasks based on parent directory of each pattern.\r
6  */\r
7 function generate(patterns, options) {\r
8     var unixPatterns = patterns.map(patternUtils.unixifyPattern);\r
9     var unixIgnore = options.ignore.map(patternUtils.unixifyPattern);\r
10     var positivePatterns = getPositivePatterns(unixPatterns);\r
11     var negativePatterns = getNegativePatternsAsPositive(unixPatterns, unixIgnore);\r
12     /**\r
13      * When the `case` option is disabled, all patterns must be marked as dynamic, because we cannot check filepath\r
14      * directly (without read directory).\r
15      */\r
16     var staticPatterns = !options.case ? [] : positivePatterns.filter(patternUtils.isStaticPattern);\r
17     var dynamicPatterns = !options.case ? positivePatterns : positivePatterns.filter(patternUtils.isDynamicPattern);\r
18     var staticTasks = convertPatternsToTasks(staticPatterns, negativePatterns, /* dynamic */ false);\r
19     var dynamicTasks = convertPatternsToTasks(dynamicPatterns, negativePatterns, /* dynamic */ true);\r
20     return staticTasks.concat(dynamicTasks);\r
21 }\r
22 exports.generate = generate;\r
23 /**\r
24  * Convert patterns to tasks based on parent directory of each pattern.\r
25  */\r
26 function convertPatternsToTasks(positive, negative, dynamic) {\r
27     var positivePatternsGroup = groupPatternsByBaseDirectory(positive);\r
28     // When we have a global group – there is no reason to divide the patterns into independent tasks.\r
29     // In this case, the global task covers the rest.\r
30     if ('.' in positivePatternsGroup) {\r
31         var task = convertPatternGroupToTask('.', positive, negative, dynamic);\r
32         return [task];\r
33     }\r
34     return convertPatternGroupsToTasks(positivePatternsGroup, negative, dynamic);\r
35 }\r
36 exports.convertPatternsToTasks = convertPatternsToTasks;\r
37 /**\r
38  * Return only positive patterns.\r
39  */\r
40 function getPositivePatterns(patterns) {\r
41     return patternUtils.getPositivePatterns(patterns);\r
42 }\r
43 exports.getPositivePatterns = getPositivePatterns;\r
44 /**\r
45  * Return only negative patterns.\r
46  */\r
47 function getNegativePatternsAsPositive(patterns, ignore) {\r
48     var negative = patternUtils.getNegativePatterns(patterns).concat(ignore);\r
49     var positive = negative.map(patternUtils.convertToPositivePattern);\r
50     return positive;\r
51 }\r
52 exports.getNegativePatternsAsPositive = getNegativePatternsAsPositive;\r
53 /**\r
54  * Group patterns by base directory of each pattern.\r
55  */\r
56 function groupPatternsByBaseDirectory(patterns) {\r
57     return patterns.reduce(function (collection, pattern) {\r
58         var base = patternUtils.getBaseDirectory(pattern);\r
59         if (base in collection) {\r
60             collection[base].push(pattern);\r
61         }\r
62         else {\r
63             collection[base] = [pattern];\r
64         }\r
65         return collection;\r
66     }, {});\r
67 }\r
68 exports.groupPatternsByBaseDirectory = groupPatternsByBaseDirectory;\r
69 /**\r
70  * Convert group of patterns to tasks.\r
71  */\r
72 function convertPatternGroupsToTasks(positive, negative, dynamic) {\r
73     return Object.keys(positive).map(function (base) {\r
74         return convertPatternGroupToTask(base, positive[base], negative, dynamic);\r
75     });\r
76 }\r
77 exports.convertPatternGroupsToTasks = convertPatternGroupsToTasks;\r
78 /**\r
79  * Create a task for positive and negative patterns.\r
80  */\r
81 function convertPatternGroupToTask(base, positive, negative, dynamic) {\r
82     return {\r
83         base: base,\r
84         dynamic: dynamic,\r
85         positive: positive,\r
86         negative: negative,\r
87         patterns: [].concat(positive, negative.map(patternUtils.convertToNegativePattern))\r
88     };\r
89 }\r
90 exports.convertPatternGroupToTask = convertPatternGroupToTask;\r