{"ast":null,"code":"'use strict';\n\nconst stringify = require('./lib/stringify');\nconst compile = require('./lib/compile');\nconst expand = require('./lib/expand');\nconst parse = require('./lib/parse');\n\n/**\n * Expand the given pattern or create a regex-compatible string.\n *\n * ```js\n * const braces = require('braces');\n * console.log(braces('{a,b,c}', { compile: true })); //=> ['(a|b|c)']\n * console.log(braces('{a,b,c}')); //=> ['a', 'b', 'c']\n * ```\n * @param {String} `str`\n * @param {Object} `options`\n * @return {String}\n * @api public\n */\n\nconst braces = (input, options = {}) => {\n  let output = [];\n  if (Array.isArray(input)) {\n    for (let pattern of input) {\n      let result = braces.create(pattern, options);\n      if (Array.isArray(result)) {\n        output.push(...result);\n      } else {\n        output.push(result);\n      }\n    }\n  } else {\n    output = [].concat(braces.create(input, options));\n  }\n  if (options && options.expand === true && options.nodupes === true) {\n    output = [...new Set(output)];\n  }\n  return output;\n};\n\n/**\n * Parse the given `str` with the given `options`.\n *\n * ```js\n * // braces.parse(pattern, [, options]);\n * const ast = braces.parse('a/{b,c}/d');\n * console.log(ast);\n * ```\n * @param {String} pattern Brace pattern to parse\n * @param {Object} options\n * @return {Object} Returns an AST\n * @api public\n */\n\nbraces.parse = (input, options = {}) => parse(input, options);\n\n/**\n * Creates a braces string from an AST, or an AST node.\n *\n * ```js\n * const braces = require('braces');\n * let ast = braces.parse('foo/{a,b}/bar');\n * console.log(stringify(ast.nodes[2])); //=> '{a,b}'\n * ```\n * @param {String} `input` Brace pattern or AST.\n * @param {Object} `options`\n * @return {Array} Returns an array of expanded values.\n * @api public\n */\n\nbraces.stringify = (input, options = {}) => {\n  if (typeof input === 'string') {\n    return stringify(braces.parse(input, options), options);\n  }\n  return stringify(input, options);\n};\n\n/**\n * Compiles a brace pattern into a regex-compatible, optimized string.\n * This method is called by the main [braces](#braces) function by default.\n *\n * ```js\n * const braces = require('braces');\n * console.log(braces.compile('a/{b,c}/d'));\n * //=> ['a/(b|c)/d']\n * ```\n * @param {String} `input` Brace pattern or AST.\n * @param {Object} `options`\n * @return {Array} Returns an array of expanded values.\n * @api public\n */\n\nbraces.compile = (input, options = {}) => {\n  if (typeof input === 'string') {\n    input = braces.parse(input, options);\n  }\n  return compile(input, options);\n};\n\n/**\n * Expands a brace pattern into an array. This method is called by the\n * main [braces](#braces) function when `options.expand` is true. Before\n * using this method it's recommended that you read the [performance notes](#performance))\n * and advantages of using [.compile](#compile) instead.\n *\n * ```js\n * const braces = require('braces');\n * console.log(braces.expand('a/{b,c}/d'));\n * //=> ['a/b/d', 'a/c/d'];\n * ```\n * @param {String} `pattern` Brace pattern\n * @param {Object} `options`\n * @return {Array} Returns an array of expanded values.\n * @api public\n */\n\nbraces.expand = (input, options = {}) => {\n  if (typeof input === 'string') {\n    input = braces.parse(input, options);\n  }\n  let result = expand(input, options);\n\n  // filter out empty strings if specified\n  if (options.noempty === true) {\n    result = result.filter(Boolean);\n  }\n\n  // filter out duplicates if specified\n  if (options.nodupes === true) {\n    result = [...new Set(result)];\n  }\n  return result;\n};\n\n/**\n * Processes a brace pattern and returns either an expanded array\n * (if `options.expand` is true), a highly optimized regex-compatible string.\n * This method is called by the main [braces](#braces) function.\n *\n * ```js\n * const braces = require('braces');\n * console.log(braces.create('user-{200..300}/project-{a,b,c}-{1..10}'))\n * //=> 'user-(20[0-9]|2[1-9][0-9]|300)/project-(a|b|c)-([1-9]|10)'\n * ```\n * @param {String} `pattern` Brace pattern\n * @param {Object} `options`\n * @return {Array} Returns an array of expanded values.\n * @api public\n */\n\nbraces.create = (input, options = {}) => {\n  if (input === '' || input.length < 3) {\n    return [input];\n  }\n  return options.expand !== true ? braces.compile(input, options) : braces.expand(input, options);\n};\n\n/**\n * Expose \"braces\"\n */\n\nmodule.exports = braces;","map":{"version":3,"names":["stringify","require","compile","expand","parse","braces","input","options","output","Array","isArray","pattern","result","create","push","concat","nodupes","Set","noempty","filter","Boolean","length","module","exports"],"sources":["C:/Users/user/Desktop/000newport/node_modules/braces/index.js"],"sourcesContent":["'use strict';\n\nconst stringify = require('./lib/stringify');\nconst compile = require('./lib/compile');\nconst expand = require('./lib/expand');\nconst parse = require('./lib/parse');\n\n/**\n * Expand the given pattern or create a regex-compatible string.\n *\n * ```js\n * const braces = require('braces');\n * console.log(braces('{a,b,c}', { compile: true })); //=> ['(a|b|c)']\n * console.log(braces('{a,b,c}')); //=> ['a', 'b', 'c']\n * ```\n * @param {String} `str`\n * @param {Object} `options`\n * @return {String}\n * @api public\n */\n\nconst braces = (input, options = {}) => {\n  let output = [];\n\n  if (Array.isArray(input)) {\n    for (let pattern of input) {\n      let result = braces.create(pattern, options);\n      if (Array.isArray(result)) {\n        output.push(...result);\n      } else {\n        output.push(result);\n      }\n    }\n  } else {\n    output = [].concat(braces.create(input, options));\n  }\n\n  if (options && options.expand === true && options.nodupes === true) {\n    output = [...new Set(output)];\n  }\n  return output;\n};\n\n/**\n * Parse the given `str` with the given `options`.\n *\n * ```js\n * // braces.parse(pattern, [, options]);\n * const ast = braces.parse('a/{b,c}/d');\n * console.log(ast);\n * ```\n * @param {String} pattern Brace pattern to parse\n * @param {Object} options\n * @return {Object} Returns an AST\n * @api public\n */\n\nbraces.parse = (input, options = {}) => parse(input, options);\n\n/**\n * Creates a braces string from an AST, or an AST node.\n *\n * ```js\n * const braces = require('braces');\n * let ast = braces.parse('foo/{a,b}/bar');\n * console.log(stringify(ast.nodes[2])); //=> '{a,b}'\n * ```\n * @param {String} `input` Brace pattern or AST.\n * @param {Object} `options`\n * @return {Array} Returns an array of expanded values.\n * @api public\n */\n\nbraces.stringify = (input, options = {}) => {\n  if (typeof input === 'string') {\n    return stringify(braces.parse(input, options), options);\n  }\n  return stringify(input, options);\n};\n\n/**\n * Compiles a brace pattern into a regex-compatible, optimized string.\n * This method is called by the main [braces](#braces) function by default.\n *\n * ```js\n * const braces = require('braces');\n * console.log(braces.compile('a/{b,c}/d'));\n * //=> ['a/(b|c)/d']\n * ```\n * @param {String} `input` Brace pattern or AST.\n * @param {Object} `options`\n * @return {Array} Returns an array of expanded values.\n * @api public\n */\n\nbraces.compile = (input, options = {}) => {\n  if (typeof input === 'string') {\n    input = braces.parse(input, options);\n  }\n  return compile(input, options);\n};\n\n/**\n * Expands a brace pattern into an array. This method is called by the\n * main [braces](#braces) function when `options.expand` is true. Before\n * using this method it's recommended that you read the [performance notes](#performance))\n * and advantages of using [.compile](#compile) instead.\n *\n * ```js\n * const braces = require('braces');\n * console.log(braces.expand('a/{b,c}/d'));\n * //=> ['a/b/d', 'a/c/d'];\n * ```\n * @param {String} `pattern` Brace pattern\n * @param {Object} `options`\n * @return {Array} Returns an array of expanded values.\n * @api public\n */\n\nbraces.expand = (input, options = {}) => {\n  if (typeof input === 'string') {\n    input = braces.parse(input, options);\n  }\n\n  let result = expand(input, options);\n\n  // filter out empty strings if specified\n  if (options.noempty === true) {\n    result = result.filter(Boolean);\n  }\n\n  // filter out duplicates if specified\n  if (options.nodupes === true) {\n    result = [...new Set(result)];\n  }\n\n  return result;\n};\n\n/**\n * Processes a brace pattern and returns either an expanded array\n * (if `options.expand` is true), a highly optimized regex-compatible string.\n * This method is called by the main [braces](#braces) function.\n *\n * ```js\n * const braces = require('braces');\n * console.log(braces.create('user-{200..300}/project-{a,b,c}-{1..10}'))\n * //=> 'user-(20[0-9]|2[1-9][0-9]|300)/project-(a|b|c)-([1-9]|10)'\n * ```\n * @param {String} `pattern` Brace pattern\n * @param {Object} `options`\n * @return {Array} Returns an array of expanded values.\n * @api public\n */\n\nbraces.create = (input, options = {}) => {\n  if (input === '' || input.length < 3) {\n    return [input];\n  }\n\n return options.expand !== true\n    ? braces.compile(input, options)\n    : braces.expand(input, options);\n};\n\n/**\n * Expose \"braces\"\n */\n\nmodule.exports = braces;\n"],"mappings":"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"},"metadata":{},"sourceType":"script","externalDependencies":[]}