github.com/yrj2011/jx-test-infra@v0.0.0-20190529031832-7a2065ee98eb/triage/node_modules/brace-expansion/README.md (about)

     1  # brace-expansion
     2  
     3  [Brace expansion](https://www.gnu.org/software/bash/manual/html_node/Brace-Expansion.html), 
     4  as known from sh/bash, in JavaScript.
     5  
     6  [![build status](https://secure.travis-ci.org/juliangruber/brace-expansion.svg)](http://travis-ci.org/juliangruber/brace-expansion)
     7  [![downloads](https://img.shields.io/npm/dm/brace-expansion.svg)](https://www.npmjs.org/package/brace-expansion)
     8  [![Greenkeeper badge](https://badges.greenkeeper.io/juliangruber/brace-expansion.svg)](https://greenkeeper.io/)
     9  
    10  [![testling badge](https://ci.testling.com/juliangruber/brace-expansion.png)](https://ci.testling.com/juliangruber/brace-expansion)
    11  
    12  ## Example
    13  
    14  ```js
    15  var expand = require('brace-expansion');
    16  
    17  expand('file-{a,b,c}.jpg')
    18  // => ['file-a.jpg', 'file-b.jpg', 'file-c.jpg']
    19  
    20  expand('-v{,,}')
    21  // => ['-v', '-v', '-v']
    22  
    23  expand('file{0..2}.jpg')
    24  // => ['file0.jpg', 'file1.jpg', 'file2.jpg']
    25  
    26  expand('file-{a..c}.jpg')
    27  // => ['file-a.jpg', 'file-b.jpg', 'file-c.jpg']
    28  
    29  expand('file{2..0}.jpg')
    30  // => ['file2.jpg', 'file1.jpg', 'file0.jpg']
    31  
    32  expand('file{0..4..2}.jpg')
    33  // => ['file0.jpg', 'file2.jpg', 'file4.jpg']
    34  
    35  expand('file-{a..e..2}.jpg')
    36  // => ['file-a.jpg', 'file-c.jpg', 'file-e.jpg']
    37  
    38  expand('file{00..10..5}.jpg')
    39  // => ['file00.jpg', 'file05.jpg', 'file10.jpg']
    40  
    41  expand('{{A..C},{a..c}}')
    42  // => ['A', 'B', 'C', 'a', 'b', 'c']
    43  
    44  expand('ppp{,config,oe{,conf}}')
    45  // => ['ppp', 'pppconfig', 'pppoe', 'pppoeconf']
    46  ```
    47  
    48  ## API
    49  
    50  ```js
    51  var expand = require('brace-expansion');
    52  ```
    53  
    54  ### var expanded = expand(str)
    55  
    56  Return an array of all possible and valid expansions of `str`. If none are
    57  found, `[str]` is returned.
    58  
    59  Valid expansions are:
    60  
    61  ```js
    62  /^(.*,)+(.+)?$/
    63  // {a,b,...}
    64  ```
    65  
    66  A comma separated list of options, like `{a,b}` or `{a,{b,c}}` or `{,a,}`.
    67  
    68  ```js
    69  /^-?\d+\.\.-?\d+(\.\.-?\d+)?$/
    70  // {x..y[..incr]}
    71  ```
    72  
    73  A numeric sequence from `x` to `y` inclusive, with optional increment.
    74  If `x` or `y` start with a leading `0`, all the numbers will be padded
    75  to have equal length. Negative numbers and backwards iteration work too.
    76  
    77  ```js
    78  /^-?\d+\.\.-?\d+(\.\.-?\d+)?$/
    79  // {x..y[..incr]}
    80  ```
    81  
    82  An alphabetic sequence from `x` to `y` inclusive, with optional increment.
    83  `x` and `y` must be exactly one character, and if given, `incr` must be a
    84  number.
    85  
    86  For compatibility reasons, the string `${` is not eligible for brace expansion.
    87  
    88  ## Installation
    89  
    90  With [npm](https://npmjs.org) do:
    91  
    92  ```bash
    93  npm install brace-expansion
    94  ```
    95  
    96  ## Contributors
    97  
    98  - [Julian Gruber](https://github.com/juliangruber)
    99  - [Isaac Z. Schlueter](https://github.com/isaacs)
   100  
   101  ## License
   102  
   103  (MIT)
   104  
   105  Copyright (c) 2013 Julian Gruber <julian@juliangruber.com>
   106  
   107  Permission is hereby granted, free of charge, to any person obtaining a copy of
   108  this software and associated documentation files (the "Software"), to deal in
   109  the Software without restriction, including without limitation the rights to
   110  use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
   111  of the Software, and to permit persons to whom the Software is furnished to do
   112  so, subject to the following conditions:
   113  
   114  The above copyright notice and this permission notice shall be included in all
   115  copies or substantial portions of the Software.
   116  
   117  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
   118  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
   119  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
   120  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
   121  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
   122  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
   123  SOFTWARE.