{"version":3,"sources":["jsdelivr-header.js","/npm/@rescripts/rescript-use-babel-config@0.0.12/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,MAAM,QACJ,QAAO,KACP,KAAI,cACJ,cAAa,SACb,SAAQ,OACR,OAAM,UACN,UAAS,WACT,WAAU,GACV,GAAE,KACF,KAAI,KACJ,MACE,QAAQ,UACN,qBACJ,qBAAoB,0BACpB,0BAAyB,KACzB,KAAI,SACJ,SAAQ,MACR,OACE,QAAQ,wBAEN,iBAAmB,QAAQ,CAC/B,KAAK,UACL,cAAc,SAAS,gBAAiB,UACxC,KAAK,aAGD,cAAgB,QACpB,CAAC,EAAQ,IAAQ,WAAW,CAAC,UAAW,GAAM,IAC9C,GACA,CAAC,UAAW,YAGR,SAAW,GACf,UAAU,CAAC,UAAW,YAAY,EAAM,cAAc,IAElD,cAAgB,CAAC,EAAS,IAC9B,QACE,CAAC,EAAO,IAAQ,UAAU,CAAC,UAAW,GAAM,EAAQ,GAAM,IAC1D,cAAc,GACd,KAAK,IAGT,OAAO,QAAU,GAAU,GACzB,MACE,IACE,MAAM,EAAa,KAAK,GACxB,OAAQ,GACN,IAAK,SACH,OAAQ,GACN,IAAK,WACH,OAAO,SAAS,GAElB,IAAK,UACL,IAAK,eAAgB,CACnB,MAAM,EAAc,qBAAqB,SACzC,OAAO,cAAc,EAAa,EACpC,CACA,QAAS,CACP,MAAM,EAAc,0BAA0B,GAC9C,OAAO,cAAc,EAAa,EACpC,EAGJ,IAAK,SACH,OAAO,cAAc,EAAQ,GAE/B,QACE,MACE,mGAAmG,KAGzG,GAEF,SAAS,iBAAkB,GAC3B","file":"/npm/@rescripts/rescript-use-babel-config@0.0.12/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/@rescripts/rescript-use-babel-config@0.0.12/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","const {\n  allPass,\n  prop,\n  propSatisfies,\n  includes,\n  reduce,\n  assocPath,\n  dissocPath,\n  __,\n  keys,\n  type,\n} = require('ramda')\nconst {\n  loadFromPackageField,\n  loadFromNodeModulesOrRoot,\n  edit,\n  getPaths,\n  error,\n} = require('@rescripts/utilities')\n\nconst isSrcBabelLoader = allPass([\n  prop('loader'),\n  propSatisfies(includes('babel-loader'), 'loader'),\n  prop('include'),\n])\n\nconst clearDefaults = reduce(\n  (config, key) => dissocPath(['options', key], config),\n  __,\n  ['presets', 'plugins'],\n)\n\nconst useDotRc = config =>\n  assocPath(['options', 'babelrc'], true, clearDefaults(config))\n\nconst useConfigFile = (options, config) =>\n  reduce(\n    (stage, key) => assocPath(['options', key], options[key], stage),\n    clearDefaults(config),\n    keys(options),\n  )\n\nmodule.exports = source => config =>\n  edit(\n    subConfig => {\n      const sourceType = type(source)\n      switch (sourceType) {\n        case 'String': {\n          switch (source) {\n            case '.babelrc': {\n              return useDotRc(subConfig)\n            }\n            case 'package':\n            case 'package.json': {\n              const babelConfig = loadFromPackageField('babel')\n              return useConfigFile(babelConfig, subConfig)\n            }\n            default: {\n              const babelConfig = loadFromNodeModulesOrRoot(source)\n              return useConfigFile(babelConfig, subConfig)\n            }\n          }\n        }\n        case 'Object': {\n          return useConfigFile(source, subConfig)\n        }\n        default: {\n          error(\n            `@rescripts/rescript-use-babel-config expects argument of type 'String' or 'Object' but recieved ${sourceType}`,\n          )\n        }\n      }\n    },\n    getPaths(isSrcBabelLoader, config),\n    config,\n  )\n\n//\n"]}