smartpath/ts/smartpath.get.ts

37 lines
992 B
TypeScript
Raw Normal View History

import plugins = require('./smartpath.plugins')
export type TPathType = 'url' | 'local'
2016-03-20 17:59:30 +00:00
2016-04-04 14:25:17 +00:00
/**
* returns the type of the given path. Can be "url" or "local"
*/
export let type = function (pathStringArg: string): TPathType {
2016-03-20 17:59:30 +00:00
let urlRegex = /http[s|\s]:\/\/.*/i
if (urlRegex.exec(pathStringArg)) {
return 'url'
2016-03-20 17:59:30 +00:00
} else {
return 'local'
2016-03-20 17:59:30 +00:00
};
}
2016-04-04 14:25:17 +00:00
export let home = function (pathArgument?: string) {
if (pathArgument) {
return plugins.home.resolve(pathArgument)
2016-04-04 14:25:17 +00:00
} else {
return plugins.home()
2016-04-04 14:25:17 +00:00
}
}
export type TSystemArg = 'dynamic' | 'windows' | 'linux' | 'osx'
export let pathLevels = (pathArg: string, systemArg: TSystemArg = 'dynamic') => {
let pathLevelArray: string[]
if (systemArg === 'dynamic') {
pathLevelArray = pathArg.split(plugins.path.sep)
}
return pathLevelArray
}
export let pathLevelsBackwards = (pathArg: string, systemArg?: TSystemArg) => {
return pathLevels(pathArg, systemArg).reverse()
}