import * as path from "path" ; import * as files from "." ; /** represents an absolute path to a file, i.e. from filesystem root to the file */ export class AbsoluteFilePath { value : string ; constructor ( value ) { this . value = value ; } /** provides the directory that contains this file */ directory ( ) { return new files . AbsoluteDirPath ( path . dirname ( this . value ) + "/" ) ; } /**
     * provides this file path with platform specific path separators,
     * i.e. '\' on Windows and '/' everywhere else
     */ platformified ( ) { return this . value . replace ( /\//g , path . sep ) ; } /** provides the relative path from the given directory to this file */ toFullFile ( sourceDir ) { return new files . FullFilePath ( path . relative ( sourceDir . platformified ( ) , this . platformified ( ) ) ) ; } /** provides this file path with forward slashes as path separators */ unixified ( ) { return this . value ; } }