2016-09-20 15:56:49 +00:00
|
|
|
import 'typings-global'
|
|
|
|
import plugins = require('./smartfile.plugins')
|
|
|
|
import SmartfileInterpreter = require('./smartfile.interpreter')
|
2016-03-18 09:19:46 +00:00
|
|
|
|
2016-09-20 15:56:49 +00:00
|
|
|
export let toFs = function(from: string,toPath: string) {
|
|
|
|
let done = plugins.q.defer()
|
|
|
|
let stream = plugins.request(from).pipe(plugins.fsExtra.createWriteStream(toPath))
|
2016-03-19 21:07:59 +00:00
|
|
|
stream.on('finish',function(){
|
2016-09-20 15:56:49 +00:00
|
|
|
done.resolve(toPath)
|
|
|
|
})
|
|
|
|
return done.promise
|
|
|
|
}
|
2016-03-18 09:19:46 +00:00
|
|
|
|
2016-03-19 21:07:59 +00:00
|
|
|
/**
|
|
|
|
*
|
|
|
|
* @param fromArg
|
|
|
|
* @returns {any}
|
|
|
|
*/
|
2016-09-20 15:56:49 +00:00
|
|
|
export let toObject = function(fromArg: string){
|
|
|
|
let done = plugins.q.defer()
|
2016-03-18 16:34:31 +00:00
|
|
|
plugins.request.get(fromArg, function (error, response, bodyString) {
|
2016-09-20 15:56:49 +00:00
|
|
|
let returnObject
|
|
|
|
if (!error && response.statusCode === 200) {
|
|
|
|
returnObject = SmartfileInterpreter.objectFile(bodyString,SmartfileInterpreter.filetype(fromArg))
|
|
|
|
done.resolve(returnObject)
|
2016-03-18 16:34:31 +00:00
|
|
|
} else {
|
2016-09-20 15:56:49 +00:00
|
|
|
console.log('could not get remote file from ' + fromArg)
|
|
|
|
returnObject = undefined
|
|
|
|
done.reject(returnObject)
|
|
|
|
}
|
|
|
|
})
|
|
|
|
return done.promise
|
|
|
|
}
|
2016-03-18 09:19:46 +00:00
|
|
|
|
2016-03-19 21:07:59 +00:00
|
|
|
/**
|
|
|
|
*
|
|
|
|
* @param fromArg
|
|
|
|
* @returns {any}
|
|
|
|
*/
|
2016-09-20 15:56:49 +00:00
|
|
|
export let toString = (fromArg: string) => {
|
|
|
|
let done = plugins.q.defer()
|
2016-03-19 21:07:59 +00:00
|
|
|
plugins.request.get(fromArg, function (error, response, bodyString) {
|
2016-09-20 15:56:49 +00:00
|
|
|
if (!error && response.statusCode === 200) {
|
|
|
|
done.resolve(bodyString)
|
2016-03-19 21:07:59 +00:00
|
|
|
} else {
|
2016-09-20 15:56:49 +00:00
|
|
|
plugins.beautylog.error('could not get remote file from ' + fromArg)
|
|
|
|
bodyString = undefined
|
|
|
|
done.reject(bodyString)
|
|
|
|
}
|
|
|
|
})
|
|
|
|
return done.promise
|
|
|
|
}
|