{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nvar formatToList = function formatToList(items) {\n  return items.map(function (key) {\n    return `- ${key}`;\n  }).join('\\n');\n};\nexport default function validatePathConfig(config) {\n  var root = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n  var validKeys = ['initialRouteName', 'screens'];\n  if (!root) {\n    validKeys.push('path', 'exact', 'stringify', 'parse');\n  }\n  var invalidKeys = Object.keys(config).filter(function (key) {\n    return !validKeys.includes(key);\n  });\n  if (invalidKeys.length) {\n    throw new Error(`Found invalid properties in the configuration:\\n${formatToList(invalidKeys)}\\n\\nDid you forget to specify them under a 'screens' property?\\n\\nYou can only specify the following properties:\\n${formatToList(validKeys)}\\n\\nSee https://reactnavigation.org/docs/configuring-links for more details on how to specify a linking configuration.`);\n  }\n  if (config.screens) {\n    Object.entries(config.screens).forEach(function (_ref) {\n      var _ref2 = _slicedToArray(_ref, 2),\n        _ = _ref2[0],\n        value = _ref2[1];\n      if (typeof value !== 'string') {\n        validatePathConfig(value, false);\n      }\n    });\n  }\n}","map":{"version":3,"sources":["validatePathConfig.tsx"],"names":["formatToList","items","map","key","join","validatePathConfig","config","root","validKeys","push","invalidKeys","Object","keys","filter","includes","length","Error","screens","entries","forEach","_","value"],"mappings":";AAAA,IAAMA,YAAY,GAAIC,SAAhBD,YAAY,CAAIC,KAAe;EAAA,OACnCA,KAAK,CAACC,GAAG,CAAEC,UAAAA,GAAG;IAAA,OAAM,KAAIA,GAAI,EAAC;EAAA,EAAC,CAACC,IAAI,CAAC,IAAI,CAAC;AAAA;AAE3C,eAAe,SAASC,kBAAkB,CAACC,MAAW,EAAe;EAAA,IAAbC,IAAI,GAAA,SAAA,CAAA,MAAA,GAAA,CAAA,IAAA,SAAA,CAAA,CAAA,CAAA,KAAA,SAAA,GAAA,SAAA,CAAA,CAAA,CAAA,GAAG,IAAI;EACjE,IAAMC,SAAS,GAAG,CAAC,kBAAkB,EAAE,SAAS,CAAC;EAEjD,IAAI,CAACD,IAAI,EAAE;IACTC,SAAS,CAACC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC;EACvD;EAEA,IAAMC,WAAW,GAAGC,MAAM,CAACC,IAAI,CAACN,MAAM,CAAC,CAACO,MAAM,CAC3CV,UAAAA,GAAG;IAAA,OAAK,CAACK,SAAS,CAACM,QAAQ,CAACX,GAAG,CAAC;EAAA,EAClC;EAED,IAAIO,WAAW,CAACK,MAAM,EAAE;IACtB,MAAM,IAAIC,KAAK,CACZ,mDAAkDhB,YAAY,CAC7DU,WAAW,CACX,qHAAoHV,YAAY,CAChIQ,SAAS,CACT,wHAAuH,CAC1H;EACH;EAEA,IAAIF,MAAM,CAACW,OAAO,EAAE;IAClBN,MAAM,CAACO,OAAO,CAACZ,MAAM,CAACW,OAAO,CAAC,CAACE,OAAO,CAAC,UAAA,IAAA,EAAgB;MAAf,IAAA,KAAA,GAAA,cAAA,CAAU,IAAA;QAATC,CAAC,GAAA,KAAA;QAAEC,KAAK,GAAA,KAAA;MAC/C,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;QAC7BhB,kBAAkB,CAACgB,KAAK,EAAE,KAAK,CAAC;MAClC;IACF,CAAC,CAAC;EACJ;AACF","sourceRoot":"../../src","sourcesContent":["const formatToList = items => items.map(key => `- ${key}`).join('\\n');\nexport default function validatePathConfig(config) {\n  let root = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n  const validKeys = ['initialRouteName', 'screens'];\n  if (!root) {\n    validKeys.push('path', 'exact', 'stringify', 'parse');\n  }\n  const invalidKeys = Object.keys(config).filter(key => !validKeys.includes(key));\n  if (invalidKeys.length) {\n    throw new Error(`Found invalid properties in the configuration:\\n${formatToList(invalidKeys)}\\n\\nDid you forget to specify them under a 'screens' property?\\n\\nYou can only specify the following properties:\\n${formatToList(validKeys)}\\n\\nSee https://reactnavigation.org/docs/configuring-links for more details on how to specify a linking configuration.`);\n  }\n  if (config.screens) {\n    Object.entries(config.screens).forEach(_ref => {\n      let [_, value] = _ref;\n      if (typeof value !== 'string') {\n        validatePathConfig(value, false);\n      }\n    });\n  }\n}\n//# sourceMappingURL=validatePathConfig.js.map"]},"metadata":{},"sourceType":"module"}