FileKit v2.0.0 Release Notes

Release Date: 2015-11-25 // over 6 years ago
  • ๐Ÿš€ Release Notes


    • The 'FK' prefix for FileKit types has been removed in an effort to make the library less cumbersome and more "Swifty" to use. ๐Ÿ”ถ
    • FileType is no longer a protocol for files. It is now an enumeration of types that a given file can be. The File class is now the standard form of interacting with files.

    ๐Ÿ†• New Features

    FileKit enumeration to get info regarding the current version of FileKit

    ๐Ÿฑ tvOS support ๐Ÿ“บ

    DirectoryEnumerator struct to enumerate through the files in a directory.

    Settable path extension

    A path's children can now be obtained recursively

    let allFilesInHome = Path.UserHome.children(recursive: true)

    String and Path concatenation with the + operator

    A changeDirectory(_:) to Path that changes the process' current working
    directory to self

    Path.UserDesktop.changeDirectory { print(Path.Current) // "/Users/nvzqz/Desktop"}

    Getting a common ancestor between two paths with the <^> operator and commonAncestor(_:) method

    Getting a resolved path with the * postfix operator

    Getting an NSFileHandle for a File or Path

    Path now conforms to SequenceType

    // Prints all of the paths in the user's home directoryfor path in Path.UserHome { print(path) }

    Static readFromPath(_:) method for Readable types that returns Self

    Path now conforms to StringInterpolationConvertible, which acts in the same way regular String interpolation works.

    let filePath: Path = "~/Desktop/File \(2)"print(filePath.rawValue) // "~/Desktop/File 2"

    A find method with a search depth that maps a function on each path found and returns the non-nil results.

    let documents = Path.UserDocuments.find(searchDepth: 1) { String($0) }

    ๐ŸŽ‰ Initializers for NSString and NSBundle that take a Path

    Getting an NSStream for a File or Path

    File now conforms to Comparable according to size

    ๐Ÿ‘€ FilePermissions struct for seeing the permissions of the current process for a given file.

    let swift: Path = "/usr/bin/swift"print(swift.filePermissions) // FilePermissions[Read, Execute]

    ๐Ÿ”„ Changes

    • โœ‚ Removed 'FK' prefix from FileKit types in an effort to make the library more Swifty
    • โœ‚ Removed FileType as a protocol for files
      • FileType is now an enumeration of types that a file can be.
      • File is now the standard way of interacting with files
    • ๐Ÿ“‡ Renamed FKError to FileKitError
    • ๐Ÿ”„ Changed error parameters 'fromPath' and 'toPath' to 'from' and 'to' respectively
    • ๐Ÿ”„ Changed the โ€ข postfix operator to % for standardizing path
    • ๐Ÿ“‡ Renamed findPaths method to find for Path
    • ๐Ÿ”„ Changed path url property to URL and made it non-optional
    • 0๏ธโƒฃ The find method now has -1 as its default searchDepth
    • writable property for WritableConvertible is now non-optional
    • ๐Ÿ›  Fix + operator implementation