diff --git a/lib/resolve/resolverFactory.js b/lib/resolve/resolverFactory.js new file mode 100644 index 00000000..dde27b7a --- /dev/null +++ b/lib/resolve/resolverFactory.js @@ -0,0 +1,24 @@ +var Q = require('Q'); +var GitFsResolver = require('./resolvers/GitFsResolver'); +var GitRemoteResolver = require('./resolvers/GitRemoteResolver'); +var FsResolver = require('./resolvers/FsResolver'); +var UrlResolver = require('./resolvers/UrlResolver'); + +function createResolver(endpoint, options) { + var split = endpoint.split('#'), + source, + target; + + // Extract the source and target from the endpoint + source = split[0]; + target = split[1]; + + // Ensure options + options = options || {}; + options.target = options.target || target; + + // TODO: analyze source and create appropriate package + return Q.fcall(new GitRemoteResolver(source, options)); +} + +module.exports = createResolver; \ No newline at end of file