import 'typings-global' import plugins = require('./smartfile.plugins') import SmartfileInterpreter = require('./smartfile.interpreter') export let toFs = function(from: string,toPath: string) { let done = plugins.q.defer() let stream = plugins.request(from).pipe(plugins.fsExtra.createWriteStream(toPath)) stream.on('finish',function(){ done.resolve(toPath) }) return done.promise } /** * * @param fromArg * @returns {any} */ export let toObject = function(fromArg: string){ let done = plugins.q.defer() plugins.request.get(fromArg, function (error, response, bodyString) { let returnObject if (!error && response.statusCode === 200) { returnObject = SmartfileInterpreter.objectFile(bodyString,SmartfileInterpreter.filetype(fromArg)) done.resolve(returnObject) } else { console.log('could not get remote file from ' + fromArg) returnObject = undefined done.reject(returnObject) } }) return done.promise } /** * * @param fromArg * @returns {any} */ export let toString = (fromArg: string) => { let done = plugins.q.defer() plugins.request.get(fromArg, function (error, response, bodyString) { if (!error && response.statusCode === 200) { done.resolve(bodyString) } else { console.error('could not get remote file from ' + fromArg) bodyString = undefined done.reject(bodyString) } }) return done.promise }