{"ast":null,"code":"'use strict';\n\nexports.isInteger = function (num) {\n  if (typeof num === 'number') {\n    return Number.isInteger(num);\n  }\n  if (typeof num === 'string' && num.trim() !== '') {\n    return Number.isInteger(Number(num));\n  }\n  return false;\n};\n\n/**\n * Find a node of the given type\n */\n\nexports.find = function (node, type) {\n  return node.nodes.find(function (node) {\n    return node.type === type;\n  });\n};\n\n/**\n * Find a node of the given type\n */\n\nexports.exceedsLimit = function (min, max) {\n  var step = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n  var limit = arguments.length > 3 ? arguments[3] : undefined;\n  if (limit === false) return false;\n  if (!exports.isInteger(min) || !exports.isInteger(max)) return false;\n  return (Number(max) - Number(min)) / Number(step) >= limit;\n};\n\n/**\n * Escape the given node with '\\\\' before node.value\n */\n\nexports.escapeNode = function (block) {\n  var n = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n  var type = arguments.length > 2 ? arguments[2] : undefined;\n  var node = block.nodes[n];\n  if (!node) return;\n  if (type && node.type === type || node.type === 'open' || node.type === 'close') {\n    if (node.escaped !== true) {\n      node.value = '\\\\' + node.value;\n      node.escaped = true;\n    }\n  }\n};\n\n/**\n * Returns true if the given brace node should be enclosed in literal braces\n */\n\nexports.encloseBrace = function (node) {\n  if (node.type !== 'brace') return false;\n  if (node.commas >> 0 + node.ranges >> 0 === 0) {\n    node.invalid = true;\n    return true;\n  }\n  return false;\n};\n\n/**\n * Returns true if a brace node is invalid.\n */\n\nexports.isInvalidBrace = function (block) {\n  if (block.type !== 'brace') return false;\n  if (block.invalid === true || block.dollar) return true;\n  if (block.commas >> 0 + block.ranges >> 0 === 0) {\n    block.invalid = true;\n    return true;\n  }\n  if (block.open !== true || block.close !== true) {\n    block.invalid = true;\n    return true;\n  }\n  return false;\n};\n\n/**\n * Returns true if a node is an open or close node\n */\n\nexports.isOpenOrClose = function (node) {\n  if (node.type === 'open' || node.type === 'close') {\n    return true;\n  }\n  return node.open === true || node.close === true;\n};\n\n/**\n * Reduce an array of text nodes.\n */\n\nexports.reduce = function (nodes) {\n  return nodes.reduce(function (acc, node) {\n    if (node.type === 'text') acc.push(node.value);\n    if (node.type === 'range') node.type = 'text';\n    return acc;\n  }, []);\n};\n\n/**\n * Flatten an array\n */\n\nexports.flatten = function () {\n  var result = [];\n  var _flat = function flat(arr) {\n    for (var i = 0; i < arr.length; i++) {\n      var ele = arr[i];\n      if (Array.isArray(ele)) {\n        _flat(ele);\n        continue;\n      }\n      if (ele !== undefined) {\n        result.push(ele);\n      }\n    }\n    return result;\n  };\n  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n    args[_key] = arguments[_key];\n  }\n  _flat(args);\n  return result;\n};","map":{"version":3,"names":["exports","isInteger","num","Number","trim","find","node","type","nodes","exceedsLimit","min","max","step","arguments","length","undefined","limit","escapeNode","block","n","escaped","value","encloseBrace","commas","ranges","invalid","isInvalidBrace","dollar","open","close","isOpenOrClose","reduce","acc","push","flatten","result","flat","arr","i","ele","Array","isArray","_len","args","_key"],"sources":["D:/DSP_Management/node_modules/http-proxy-middleware/node_modules/braces/lib/utils.js"],"sourcesContent":["'use strict';\n\nexports.isInteger = num => {\n  if (typeof num === 'number') {\n    return Number.isInteger(num);\n  }\n  if (typeof num === 'string' && num.trim() !== '') {\n    return Number.isInteger(Number(num));\n  }\n  return false;\n};\n\n/**\n * Find a node of the given type\n */\n\nexports.find = (node, type) => node.nodes.find(node => node.type === type);\n\n/**\n * Find a node of the given type\n */\n\nexports.exceedsLimit = (min, max, step = 1, limit) => {\n  if (limit === false) return false;\n  if (!exports.isInteger(min) || !exports.isInteger(max)) return false;\n  return ((Number(max) - Number(min)) / Number(step)) >= limit;\n};\n\n/**\n * Escape the given node with '\\\\' before node.value\n */\n\nexports.escapeNode = (block, n = 0, type) => {\n  const node = block.nodes[n];\n  if (!node) return;\n\n  if ((type && node.type === type) || node.type === 'open' || node.type === 'close') {\n    if (node.escaped !== true) {\n      node.value = '\\\\' + node.value;\n      node.escaped = true;\n    }\n  }\n};\n\n/**\n * Returns true if the given brace node should be enclosed in literal braces\n */\n\nexports.encloseBrace = node => {\n  if (node.type !== 'brace') return false;\n  if ((node.commas >> 0 + node.ranges >> 0) === 0) {\n    node.invalid = true;\n    return true;\n  }\n  return false;\n};\n\n/**\n * Returns true if a brace node is invalid.\n */\n\nexports.isInvalidBrace = block => {\n  if (block.type !== 'brace') return false;\n  if (block.invalid === true || block.dollar) return true;\n  if ((block.commas >> 0 + block.ranges >> 0) === 0) {\n    block.invalid = true;\n    return true;\n  }\n  if (block.open !== true || block.close !== true) {\n    block.invalid = true;\n    return true;\n  }\n  return false;\n};\n\n/**\n * Returns true if a node is an open or close node\n */\n\nexports.isOpenOrClose = node => {\n  if (node.type === 'open' || node.type === 'close') {\n    return true;\n  }\n  return node.open === true || node.close === true;\n};\n\n/**\n * Reduce an array of text nodes.\n */\n\nexports.reduce = nodes => nodes.reduce((acc, node) => {\n  if (node.type === 'text') acc.push(node.value);\n  if (node.type === 'range') node.type = 'text';\n  return acc;\n}, []);\n\n/**\n * Flatten an array\n */\n\nexports.flatten = (...args) => {\n  const result = [];\n\n  const flat = arr => {\n    for (let i = 0; i < arr.length; i++) {\n      const ele = arr[i];\n\n      if (Array.isArray(ele)) {\n        flat(ele);\n        continue;\n      }\n\n      if (ele !== undefined) {\n        result.push(ele);\n      }\n    }\n    return result;\n  };\n\n  flat(args);\n  return result;\n};\n"],"mappings":"AAAA,YAAY;;AAEZA,OAAO,CAACC,SAAS,GAAG,UAAAC,GAAG,EAAI;EACzB,IAAI,OAAOA,GAAG,KAAK,QAAQ,EAAE;IAC3B,OAAOC,MAAM,CAACF,SAAS,CAACC,GAAG,CAAC;EAC9B;EACA,IAAI,OAAOA,GAAG,KAAK,QAAQ,IAAIA,GAAG,CAACE,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;IAChD,OAAOD,MAAM,CAACF,SAAS,CAACE,MAAM,CAACD,GAAG,CAAC,CAAC;EACtC;EACA,OAAO,KAAK;AACd,CAAC;;AAED;AACA;AACA;;AAEAF,OAAO,CAACK,IAAI,GAAG,UAACC,IAAI,EAAEC,IAAI;EAAA,OAAKD,IAAI,CAACE,KAAK,CAACH,IAAI,CAAC,UAAAC,IAAI;IAAA,OAAIA,IAAI,CAACC,IAAI,KAAKA,IAAI;EAAA,EAAC;AAAA;;AAE1E;AACA;AACA;;AAEAP,OAAO,CAACS,YAAY,GAAG,UAACC,GAAG,EAAEC,GAAG,EAAsB;EAAA,IAApBC,IAAI,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC;EAAA,IAAEG,KAAK,GAAAH,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAE,SAAA;EAC/C,IAAIC,KAAK,KAAK,KAAK,EAAE,OAAO,KAAK;EACjC,IAAI,CAAChB,OAAO,CAACC,SAAS,CAACS,GAAG,CAAC,IAAI,CAACV,OAAO,CAACC,SAAS,CAACU,GAAG,CAAC,EAAE,OAAO,KAAK;EACpE,OAAQ,CAACR,MAAM,CAACQ,GAAG,CAAC,GAAGR,MAAM,CAACO,GAAG,CAAC,IAAIP,MAAM,CAACS,IAAI,CAAC,IAAKI,KAAK;AAC9D,CAAC;;AAED;AACA;AACA;;AAEAhB,OAAO,CAACiB,UAAU,GAAG,UAACC,KAAK,EAAkB;EAAA,IAAhBC,CAAC,GAAAN,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC;EAAA,IAAEN,IAAI,GAAAM,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAE,SAAA;EACtC,IAAMT,IAAI,GAAGY,KAAK,CAACV,KAAK,CAACW,CAAC,CAAC;EAC3B,IAAI,CAACb,IAAI,EAAE;EAEX,IAAKC,IAAI,IAAID,IAAI,CAACC,IAAI,KAAKA,IAAI,IAAKD,IAAI,CAACC,IAAI,KAAK,MAAM,IAAID,IAAI,CAACC,IAAI,KAAK,OAAO,EAAE;IACjF,IAAID,IAAI,CAACc,OAAO,KAAK,IAAI,EAAE;MACzBd,IAAI,CAACe,KAAK,GAAG,IAAI,GAAGf,IAAI,CAACe,KAAK;MAC9Bf,IAAI,CAACc,OAAO,GAAG,IAAI;IACrB;EACF;AACF,CAAC;;AAED;AACA;AACA;;AAEApB,OAAO,CAACsB,YAAY,GAAG,UAAAhB,IAAI,EAAI;EAC7B,IAAIA,IAAI,CAACC,IAAI,KAAK,OAAO,EAAE,OAAO,KAAK;EACvC,IAAKD,IAAI,CAACiB,MAAM,IAAI,CAAC,GAAGjB,IAAI,CAACkB,MAAM,IAAI,CAAC,KAAM,CAAC,EAAE;IAC/ClB,IAAI,CAACmB,OAAO,GAAG,IAAI;IACnB,OAAO,IAAI;EACb;EACA,OAAO,KAAK;AACd,CAAC;;AAED;AACA;AACA;;AAEAzB,OAAO,CAAC0B,cAAc,GAAG,UAAAR,KAAK,EAAI;EAChC,IAAIA,KAAK,CAACX,IAAI,KAAK,OAAO,EAAE,OAAO,KAAK;EACxC,IAAIW,KAAK,CAACO,OAAO,KAAK,IAAI,IAAIP,KAAK,CAACS,MAAM,EAAE,OAAO,IAAI;EACvD,IAAKT,KAAK,CAACK,MAAM,IAAI,CAAC,GAAGL,KAAK,CAACM,MAAM,IAAI,CAAC,KAAM,CAAC,EAAE;IACjDN,KAAK,CAACO,OAAO,GAAG,IAAI;IACpB,OAAO,IAAI;EACb;EACA,IAAIP,KAAK,CAACU,IAAI,KAAK,IAAI,IAAIV,KAAK,CAACW,KAAK,KAAK,IAAI,EAAE;IAC/CX,KAAK,CAACO,OAAO,GAAG,IAAI;IACpB,OAAO,IAAI;EACb;EACA,OAAO,KAAK;AACd,CAAC;;AAED;AACA;AACA;;AAEAzB,OAAO,CAAC8B,aAAa,GAAG,UAAAxB,IAAI,EAAI;EAC9B,IAAIA,IAAI,CAACC,IAAI,KAAK,MAAM,IAAID,IAAI,CAACC,IAAI,KAAK,OAAO,EAAE;IACjD,OAAO,IAAI;EACb;EACA,OAAOD,IAAI,CAACsB,IAAI,KAAK,IAAI,IAAItB,IAAI,CAACuB,KAAK,KAAK,IAAI;AAClD,CAAC;;AAED;AACA;AACA;;AAEA7B,OAAO,CAAC+B,MAAM,GAAG,UAAAvB,KAAK;EAAA,OAAIA,KAAK,CAACuB,MAAM,CAAC,UAACC,GAAG,EAAE1B,IAAI,EAAK;IACpD,IAAIA,IAAI,CAACC,IAAI,KAAK,MAAM,EAAEyB,GAAG,CAACC,IAAI,CAAC3B,IAAI,CAACe,KAAK,CAAC;IAC9C,IAAIf,IAAI,CAACC,IAAI,KAAK,OAAO,EAAED,IAAI,CAACC,IAAI,GAAG,MAAM;IAC7C,OAAOyB,GAAG;EACZ,CAAC,EAAE,EAAE,CAAC;AAAA;;AAEN;AACA;AACA;;AAEAhC,OAAO,CAACkC,OAAO,GAAG,YAAa;EAC7B,IAAMC,MAAM,GAAG,EAAE;EAEjB,IAAMC,KAAI,GAAG,SAAPA,IAAIA,CAAGC,GAAG,EAAI;IAClB,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGD,GAAG,CAACvB,MAAM,EAAEwB,CAAC,EAAE,EAAE;MACnC,IAAMC,GAAG,GAAGF,GAAG,CAACC,CAAC,CAAC;MAElB,IAAIE,KAAK,CAACC,OAAO,CAACF,GAAG,CAAC,EAAE;QACtBH,KAAI,CAACG,GAAG,CAAC;QACT;MACF;MAEA,IAAIA,GAAG,KAAKxB,SAAS,EAAE;QACrBoB,MAAM,CAACF,IAAI,CAACM,GAAG,CAAC;MAClB;IACF;IACA,OAAOJ,MAAM;EACf,CAAC;EAAC,SAAAO,IAAA,GAAA7B,SAAA,CAAAC,MAAA,EAjBkB6B,IAAI,OAAAH,KAAA,CAAAE,IAAA,GAAAE,IAAA,MAAAA,IAAA,GAAAF,IAAA,EAAAE,IAAA;IAAJD,IAAI,CAAAC,IAAA,IAAA/B,SAAA,CAAA+B,IAAA;EAAA;EAmBxBR,KAAI,CAACO,IAAI,CAAC;EACV,OAAOR,MAAM;AACf,CAAC","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]}