{"version":3,"sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AAsBnC,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAgB1E","file":"loader.d.ts","sourcesContent":["/**\n * @module \"ethpm/config\"\n */\n\nimport * as config from './config';\nimport * as v3 from 'ethpm/manifests/v3';\nimport * as ipfs from 'ethpm/storage/ipfs';\nimport * as installer from 'ethpm/installer/truffle';\nimport * as registries from 'ethpm/registries/web3';\n\n\nconst originalRequire: any = require(\"original-require\");\n\nconst cleanPackagePath = (plugin: string): string => plugin.replace(\n  /^ethpm\\//,\n  \"../\"\n);\n\n// This is required to enable webpack to include these modules when bundling\nconst mappings: { [key: string]: any; } = {\n  \"ethpm/manifests/v3\": v3,\n  \"ethpm/storage/ipfs\": ipfs,\n  \"ethpm/installer/truffle\": installer,\n  \"ethpm/registries/web3\": registries,\n}\n\nexport function load<S>(plugin: config.ConfigValue<S>): config.Connector<S> {\n  const required = (typeof plugin === 'string')\n    ? plugin.startsWith(\"ethpm/\")\n      ? mappings[plugin]\n      : originalRequire(plugin)\n    : (typeof plugin === 'function')\n      ? plugin\n      : (typeof plugin === 'object' && plugin.default)\n        ? plugin.default : undefined;\n\n  // HACK check for .default\n  const connector = (typeof required === 'object' && required.default)\n    ? required.default\n    : required;\n\n  return new connector();\n}\n"]}