{"ast":null,"code":"\"use strict\";\n\nvar _createForOfIteratorHelper = require(\"D:/DSP_Management/node_modules/@babel/runtime/helpers/createForOfIteratorHelper.js\")[\"default\"];\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.match = void 0;\nvar isGlob = require(\"is-glob\");\nvar micromatch = require(\"micromatch\");\nvar url = require(\"url\");\nvar errors_1 = require(\"./errors\");\nfunction match(context, uri, req) {\n  // single path\n  if (isStringPath(context)) {\n    return matchSingleStringPath(context, uri);\n  }\n  // single glob path\n  if (isGlobPath(context)) {\n    return matchSingleGlobPath(context, uri);\n  }\n  // multi path\n  if (Array.isArray(context)) {\n    if (context.every(isStringPath)) {\n      return matchMultiPath(context, uri);\n    }\n    if (context.every(isGlobPath)) {\n      return matchMultiGlobPath(context, uri);\n    }\n    throw new Error(errors_1.ERRORS.ERR_CONTEXT_MATCHER_INVALID_ARRAY);\n  }\n  // custom matching\n  if (typeof context === 'function') {\n    var pathname = getUrlPathName(uri);\n    return context(pathname, req);\n  }\n  throw new Error(errors_1.ERRORS.ERR_CONTEXT_MATCHER_GENERIC);\n}\nexports.match = match;\n/**\n * @param  {String} context '/api'\n * @param  {String} uri     'http://example.org/api/b/c/d.html'\n * @return {Boolean}\n */\nfunction matchSingleStringPath(context, uri) {\n  var pathname = getUrlPathName(uri);\n  return pathname.indexOf(context) === 0;\n}\nfunction matchSingleGlobPath(pattern, uri) {\n  var pathname = getUrlPathName(uri);\n  var matches = micromatch([pathname], pattern);\n  return matches && matches.length > 0;\n}\nfunction matchMultiGlobPath(patternList, uri) {\n  return matchSingleGlobPath(patternList, uri);\n}\n/**\n * @param  {String} contextList ['/api', '/ajax']\n * @param  {String} uri     'http://example.org/api/b/c/d.html'\n * @return {Boolean}\n */\nfunction matchMultiPath(contextList, uri) {\n  var isMultiPath = false;\n  var _iterator = _createForOfIteratorHelper(contextList),\n    _step;\n  try {\n    for (_iterator.s(); !(_step = _iterator.n()).done;) {\n      var context = _step.value;\n      if (matchSingleStringPath(context, uri)) {\n        isMultiPath = true;\n        break;\n      }\n    }\n  } catch (err) {\n    _iterator.e(err);\n  } finally {\n    _iterator.f();\n  }\n  return isMultiPath;\n}\n/**\n * Parses URI and returns RFC 3986 path\n *\n * @param  {String} uri from req.url\n * @return {String}     RFC 3986 path\n */\nfunction getUrlPathName(uri) {\n  return uri && url.parse(uri).pathname;\n}\nfunction isStringPath(context) {\n  return typeof context === 'string' && !isGlob(context);\n}\nfunction isGlobPath(context) {\n  return isGlob(context);\n}","map":{"version":3,"names":["_createForOfIteratorHelper","require","Object","defineProperty","exports","value","match","isGlob","micromatch","url","errors_1","context","uri","req","isStringPath","matchSingleStringPath","isGlobPath","matchSingleGlobPath","Array","isArray","every","matchMultiPath","matchMultiGlobPath","Error","ERRORS","ERR_CONTEXT_MATCHER_INVALID_ARRAY","pathname","getUrlPathName","ERR_CONTEXT_MATCHER_GENERIC","indexOf","pattern","matches","length","patternList","contextList","isMultiPath","_iterator","_step","s","n","done","err","e","f","parse"],"sources":["D:/DSP_Management/node_modules/http-proxy-middleware/dist/context-matcher.js"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.match = void 0;\nconst isGlob = require(\"is-glob\");\nconst micromatch = require(\"micromatch\");\nconst url = require(\"url\");\nconst errors_1 = require(\"./errors\");\nfunction match(context, uri, req) {\n    // single path\n    if (isStringPath(context)) {\n        return matchSingleStringPath(context, uri);\n    }\n    // single glob path\n    if (isGlobPath(context)) {\n        return matchSingleGlobPath(context, uri);\n    }\n    // multi path\n    if (Array.isArray(context)) {\n        if (context.every(isStringPath)) {\n            return matchMultiPath(context, uri);\n        }\n        if (context.every(isGlobPath)) {\n            return matchMultiGlobPath(context, uri);\n        }\n        throw new Error(errors_1.ERRORS.ERR_CONTEXT_MATCHER_INVALID_ARRAY);\n    }\n    // custom matching\n    if (typeof context === 'function') {\n        const pathname = getUrlPathName(uri);\n        return context(pathname, req);\n    }\n    throw new Error(errors_1.ERRORS.ERR_CONTEXT_MATCHER_GENERIC);\n}\nexports.match = match;\n/**\n * @param  {String} context '/api'\n * @param  {String} uri     'http://example.org/api/b/c/d.html'\n * @return {Boolean}\n */\nfunction matchSingleStringPath(context, uri) {\n    const pathname = getUrlPathName(uri);\n    return pathname.indexOf(context) === 0;\n}\nfunction matchSingleGlobPath(pattern, uri) {\n    const pathname = getUrlPathName(uri);\n    const matches = micromatch([pathname], pattern);\n    return matches && matches.length > 0;\n}\nfunction matchMultiGlobPath(patternList, uri) {\n    return matchSingleGlobPath(patternList, uri);\n}\n/**\n * @param  {String} contextList ['/api', '/ajax']\n * @param  {String} uri     'http://example.org/api/b/c/d.html'\n * @return {Boolean}\n */\nfunction matchMultiPath(contextList, uri) {\n    let isMultiPath = false;\n    for (const context of contextList) {\n        if (matchSingleStringPath(context, uri)) {\n            isMultiPath = true;\n            break;\n        }\n    }\n    return isMultiPath;\n}\n/**\n * Parses URI and returns RFC 3986 path\n *\n * @param  {String} uri from req.url\n * @return {String}     RFC 3986 path\n */\nfunction getUrlPathName(uri) {\n    return uri && url.parse(uri).pathname;\n}\nfunction isStringPath(context) {\n    return typeof context === 'string' && !isGlob(context);\n}\nfunction isGlobPath(context) {\n    return isGlob(context);\n}\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]}