smartfile/ts/smartfile.remote.ts

53 lines
1.5 KiB
TypeScript
Raw Normal View History

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()
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)
} 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 {
2017-01-21 11:11:22 +00:00
console.error('could not get remote file from ' + fromArg)
2016-09-20 15:56:49 +00:00
bodyString = undefined
done.reject(bodyString)
}
})
return done.promise
}