From 3b2cc39f618e46361a1b4e29fb7eea418d31f363 Mon Sep 17 00:00:00 2001 From: Dmitriy Date: Sat, 16 May 2020 20:10:48 +0300 Subject: [PATCH 1/2] documentation --- docs/Enums.html | 143 +++++++ docs/Enums/ESFileExtensionType.html | 147 +++++++ docs/Enums/ESFileManagerDirectory.html | 282 +++++++++++++ docs/Protocols.html | 124 ++++++ docs/Protocols/ESFileManagerProtocol.html | 349 ++++++++++++++++ docs/Structs.html | 181 ++++++++ docs/Structs/ESFileManager.html | 390 ++++++++++++++++++ docs/Structs/ESFileModel.html | 205 +++++++++ docs/Structs/ESFileNameModel.html | 205 +++++++++ docs/badge.svg | 28 ++ docs/css/highlight.css | 200 +++++++++ docs/css/jazzy.css | 374 +++++++++++++++++ docs/docsets/.docset/Contents/Info.plist | 20 + .../Contents/Resources/Documents/Enums.html | 143 +++++++ .../Documents/Enums/ESFileExtensionType.html | 147 +++++++ .../Enums/ESFileManagerDirectory.html | 282 +++++++++++++ .../Resources/Documents/Protocols.html | 124 ++++++ .../Protocols/ESFileManagerProtocol.html | 349 ++++++++++++++++ .../Contents/Resources/Documents/Structs.html | 181 ++++++++ .../Documents/Structs/ESFileManager.html | 390 ++++++++++++++++++ .../Documents/Structs/ESFileModel.html | 205 +++++++++ .../Documents/Structs/ESFileNameModel.html | 205 +++++++++ .../Resources/Documents/css/highlight.css | 200 +++++++++ .../Resources/Documents/css/jazzy.css | 374 +++++++++++++++++ .../Resources/Documents/img/carat.png | Bin 0 -> 274 bytes .../Contents/Resources/Documents/img/dash.png | Bin 0 -> 1338 bytes .../Contents/Resources/Documents/img/gh.png | Bin 0 -> 1571 bytes .../Contents/Resources/Documents/index.html | 82 ++++ .../Contents/Resources/Documents/js/jazzy.js | 70 ++++ .../Resources/Documents/js/jquery.min.js | 2 + .../Contents/Resources/Documents/search.json | 1 + .../.docset/Contents/Resources/docSet.dsidx | Bin 0 -> 12288 bytes docs/docsets/.tgz | Bin 0 -> 45735 bytes docs/img/carat.png | Bin 0 -> 274 bytes docs/img/dash.png | Bin 0 -> 1338 bytes docs/img/gh.png | Bin 0 -> 1571 bytes docs/index.html | 82 ++++ docs/js/jazzy.js | 70 ++++ docs/js/jquery.min.js | 2 + docs/search.json | 1 + docs/undocumented.json | 26 ++ 41 files changed, 5584 insertions(+) create mode 100644 docs/Enums.html create mode 100644 docs/Enums/ESFileExtensionType.html create mode 100644 docs/Enums/ESFileManagerDirectory.html create mode 100644 docs/Protocols.html create mode 100644 docs/Protocols/ESFileManagerProtocol.html create mode 100644 docs/Structs.html create mode 100644 docs/Structs/ESFileManager.html create mode 100644 docs/Structs/ESFileModel.html create mode 100644 docs/Structs/ESFileNameModel.html create mode 100644 docs/badge.svg create mode 100644 docs/css/highlight.css create mode 100644 docs/css/jazzy.css create mode 100644 docs/docsets/.docset/Contents/Info.plist create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/Enums.html create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/Enums/ESFileExtensionType.html create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/Enums/ESFileManagerDirectory.html create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/Protocols.html create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/Protocols/ESFileManagerProtocol.html create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/Structs.html create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/Structs/ESFileManager.html create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/Structs/ESFileModel.html create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/Structs/ESFileNameModel.html create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/css/highlight.css create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/css/jazzy.css create mode 100755 docs/docsets/.docset/Contents/Resources/Documents/img/carat.png create mode 100755 docs/docsets/.docset/Contents/Resources/Documents/img/dash.png create mode 100755 docs/docsets/.docset/Contents/Resources/Documents/img/gh.png create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/index.html create mode 100755 docs/docsets/.docset/Contents/Resources/Documents/js/jazzy.js create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/js/jquery.min.js create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/search.json create mode 100644 docs/docsets/.docset/Contents/Resources/docSet.dsidx create mode 100644 docs/docsets/.tgz create mode 100755 docs/img/carat.png create mode 100755 docs/img/dash.png create mode 100755 docs/img/gh.png create mode 100644 docs/index.html create mode 100755 docs/js/jazzy.js create mode 100644 docs/js/jquery.min.js create mode 100644 docs/search.json create mode 100644 docs/undocumented.json diff --git a/docs/Enums.html b/docs/Enums.html new file mode 100644 index 0000000..b3448e8 --- /dev/null +++ b/docs/Enums.html @@ -0,0 +1,143 @@ + + + + Enumerations Reference + + + + + + + + + + +
+
+

Docs (89% documented)

+
+
+
+ +
+
+ +
+
+
+

Enumerations

+

The following enumerations are available globally.

+ +
+
+
+
    +
  • +
    + + + + ESFileExtensionType + +
    +
    +
    +
    +
    +
    +

    File format for write on disk

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public enum ESFileExtensionType
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Enum with diffrent type of storage. You can check case for additional inforamtion

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public enum ESFileManagerDirectory
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/Enums/ESFileExtensionType.html b/docs/Enums/ESFileExtensionType.html new file mode 100644 index 0000000..f0d695d --- /dev/null +++ b/docs/Enums/ESFileExtensionType.html @@ -0,0 +1,147 @@ + + + + ESFileExtensionType Enumeration Reference + + + + + + + + + + +
+
+

Docs (89% documented)

+
+
+
+ +
+
+ +
+
+
+

ESFileExtensionType

+
+
+
public enum ESFileExtensionType
+ +
+
+

File format for write on disk

+ +
+
+
+
    +
  • +
    + + + + txt + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case txt
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case custom(extensionName: String)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/Enums/ESFileManagerDirectory.html b/docs/Enums/ESFileManagerDirectory.html new file mode 100644 index 0000000..07055e9 --- /dev/null +++ b/docs/Enums/ESFileManagerDirectory.html @@ -0,0 +1,282 @@ + + + + ESFileManagerDirectory Enumeration Reference + + + + + + + + + + +
+
+

Docs (89% documented)

+
+
+
+ +
+
+ +
+
+
+

ESFileManagerDirectory

+
+
+
public enum ESFileManagerDirectory
+ +
+
+

Enum with diffrent type of storage. You can check case for additional inforamtion

+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Use this directory to store user-generated content. The contents of this directory can be made available to the user through file sharing; therefore, this directory should only contain files that you may wish to expose to the user. The contents of this directory are backed up by iTunes and iCloud.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case documents(customPath: String? = nil, useBackups: Bool = false)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + useBackups + + +
    +

    back up this data to iTunes and iCloud

    +
    +
    + + customPath + + +
    +

    custom directory

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Use this Library subdirectories for any files you don’t want exposed to the user. Your app should not use these directories for user data files. The contents of this directory can be backed up by iTunes and iCloud.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case applicationSupport(customPath: String? = nil, useBackups: Bool = false)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + useBackups + + +
    +

    back up this data to iTunes and iCloud

    +
    +
    + + customPath + + +
    +

    custom directory

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + caches(customPath:) + +
    +
    +
    +
    +
    +
    +

    Use this directory to write any app-specific support files that your app can re-create easily. Your app is generally responsible for managing the contents of this directory and for adding and deleting files as needed. In iOS 5.0 and later, the system may delete the Caches directory on rare occasions when the system is very low on disk space. This will never occur while an app is running. However, be aware that restoring from backup is not necessarily the only condition under which the Caches directory can be erased.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case caches(customPath: String? = nil)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + customPath + + +
    +

    custom directory

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + tmp + +
    +
    +
    +
    +
    +
    +

    Use this directory to write temporary files that do not need to persist between launches of your app. Your app should remove files from this directory when they are no longer needed; however, the system may purge this directory when your app is not running. The contents of this directory are not backed up by iTunes or iCloud.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case tmp
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/Protocols.html b/docs/Protocols.html new file mode 100644 index 0000000..31bab16 --- /dev/null +++ b/docs/Protocols.html @@ -0,0 +1,124 @@ + + + + Protocols Reference + + + + + + + + + + +
+
+

Docs (89% documented)

+
+
+
+ +
+
+ +
+
+
+

Protocols

+

The following protocols are available globally.

+ +
+
+
+
+ + +
+ +

ESFileManagerProtocol

+

+
+
+
    +
  • +
    + + + + ESFileManagerProtocol + +
    +
    +
    +
    +
    +
    +

    Protocol for Manager for write and read file from bundle

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public protocol ESFileManagerProtocol
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/Protocols/ESFileManagerProtocol.html b/docs/Protocols/ESFileManagerProtocol.html new file mode 100644 index 0000000..6c290c6 --- /dev/null +++ b/docs/Protocols/ESFileManagerProtocol.html @@ -0,0 +1,349 @@ + + + + ESFileManagerProtocol Protocol Reference + + + + + + + + + + +
+
+

Docs (89% documented)

+
+
+
+ +
+
+ +
+
+
+

ESFileManagerProtocol

+
+
+
public protocol ESFileManagerProtocol
+ +
+
+

Protocol for Manager for write and read file from bundle

+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    write data file to disk at custom directory

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func write(file: ESFileModel, at directory: ESFileManagerDirectory?, completion: ((Error?) -> Void)?)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + +
    + + completion + + +
    +

    completion block with optional Error

    +
    +
    + + file + + +
    +

    file to write

    +
    +
    + + directory + + +
    +

    directory to write

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Read data file from disk at custom directory

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func read(fileStorage: ESFileNameModel, at directory: ESFileManagerDirectory?, completion: ((ESFileModel?, Error?) -> Void)?)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + +
    + + completion + + +
    +

    completion block with optional data from storage

    +
    +
    + + fileStorage + + +
    +

    file name and extension

    +
    +
    + + directory + + +
    +

    directory to write

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Remove file from disk at custom directory

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func remove(file: ESFileNameModel, at directory: ESFileManagerDirectory?, completion: ((Error?) -> Void)?)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + completion + + +
    +

    completion block with optional Error

    +
    +
    + + file + + +
    +

    file to remove

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Get list files in storage at custom directory

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func listFiles(at directory: ESFileManagerDirectory?, completion: (([ESFileNameModel]?, Error?) -> Void)?)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + completion + + +
    +

    callback block with array of files.

    +
    +
    + + directory + + +
    +

    custom directory

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/Structs.html b/docs/Structs.html new file mode 100644 index 0000000..2dbbedc --- /dev/null +++ b/docs/Structs.html @@ -0,0 +1,181 @@ + + + + Structures Reference + + + + + + + + + + +
+
+

Docs (89% documented)

+
+
+
+ +
+
+ +
+
+
+

Structures

+

The following structures are available globally.

+ +
+
+
+
+ + +
+ +

ESFileManager

+

+
+
+
    +
  • +
    + + + + ESFileManager + +
    +
    +
    +
    +
    +
    +

    Manager for write and read file from bundle

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public struct ESFileManager
    +
    extension ESFileManager: ESFileManagerProtocol
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + ESFileModel + +
    +
    +
    +
    +
    +
    +

    Model of file on disk. Contain Data and file storage model (like file name and file extension)

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public struct ESFileModel
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + ESFileNameModel + +
    +
    +
    +
    +
    +
    +

    file storage model ( file name and file extension)

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public struct ESFileNameModel
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/Structs/ESFileManager.html b/docs/Structs/ESFileManager.html new file mode 100644 index 0000000..e3d2804 --- /dev/null +++ b/docs/Structs/ESFileManager.html @@ -0,0 +1,390 @@ + + + + ESFileManager Structure Reference + + + + + + + + + + +
+
+

Docs (89% documented)

+
+
+
+ +
+
+ +
+
+
+

ESFileManager

+
+
+
public struct ESFileManager
+
extension ESFileManager: ESFileManagerProtocol
+ +
+
+

Manager for write and read file from bundle

+ +
+
+
+ +
+
+
+ + +
+ +

ALFileManagerProtocol Impletation

+

+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    write data file to disk at custom directory

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func write(file: ESFileModel, at directory: ESFileManagerDirectory?, completion: ((Error?) -> Void)?)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + +
    + + completion + + +
    +

    completion block with optional Error

    +
    +
    + + file + + +
    +

    file to write

    +
    +
    + + directory + + +
    +

    directory to write

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Read data file from disk at custom directory

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func read(fileStorage: ESFileNameModel, at directory: ESFileManagerDirectory?, completion: ((ESFileModel?, Error?) -> Void)?)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + +
    + + completion + + +
    +

    completion block with optional data from storage

    +
    +
    + + fileStorage + + +
    +

    file name and extension

    +
    +
    + + directory + + +
    +

    directory to write

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Remove file from disk at custom directory

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func remove(file: ESFileNameModel, at directory: ESFileManagerDirectory?, completion: ((Error?) -> Void)?)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + completion + + +
    +

    completion block with optional Error

    +
    +
    + + file + + +
    +

    file to remove

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Get list files in storage at custom directory

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func listFiles(at directory: ESFileManagerDirectory?, completion: (([ESFileNameModel]?, Error?) -> Void)?)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + completion + + +
    +

    callback block with array of files.

    +
    +
    + + directory + + +
    +

    custom directory

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/Structs/ESFileModel.html b/docs/Structs/ESFileModel.html new file mode 100644 index 0000000..c478ee4 --- /dev/null +++ b/docs/Structs/ESFileModel.html @@ -0,0 +1,205 @@ + + + + ESFileModel Structure Reference + + + + + + + + + + +
+
+

Docs (89% documented)

+
+
+
+ +
+
+ +
+
+
+

ESFileModel

+
+
+
public struct ESFileModel
+ +
+
+

Model of file on disk. Contain Data and file storage model (like file name and file extension)

+ +
+
+
+
    +
  • +
    + + + + data + +
    +
    +
    +
    +
    +
    +

    data represent of file

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var data: Data?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + name + +
    +
    +
    +
    +
    +
    +

    file storage model (like file name and file extension)

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var name: ESFileNameModel
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + init(data:name:) + +
    +
    +
    +
    +
    +
    +

    Init model

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(data: Data?, name: ESFileNameModel)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + data + + +
    +

    data represent of file

    +
    +
    + + storage + + +
    +

    storage model (file name and extension)

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/Structs/ESFileNameModel.html b/docs/Structs/ESFileNameModel.html new file mode 100644 index 0000000..d0bdc99 --- /dev/null +++ b/docs/Structs/ESFileNameModel.html @@ -0,0 +1,205 @@ + + + + ESFileNameModel Structure Reference + + + + + + + + + + +
+
+

Docs (89% documented)

+
+
+
+ +
+
+ +
+
+
+

ESFileNameModel

+
+
+
public struct ESFileNameModel
+ +
+
+

file storage model ( file name and file extension)

+ +
+
+
+
    +
  • +
    + + + + name + +
    +
    +
    +
    +
    +
    +

    file name

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var name: String
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + fileExtension + +
    +
    +
    +
    +
    +
    +

    file extension

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var fileExtension: ESFileExtensionType
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Init for model

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(name: String, fileExtension: ESFileExtensionType)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + name + + +
    +

    file name

    +
    +
    + + fileExtension + + +
    +

    file extension

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/badge.svg b/docs/badge.svg new file mode 100644 index 0000000..b28dab6 --- /dev/null +++ b/docs/badge.svg @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + documentation + + + documentation + + + 89% + + + 89% + + + diff --git a/docs/css/highlight.css b/docs/css/highlight.css new file mode 100644 index 0000000..d0db0e1 --- /dev/null +++ b/docs/css/highlight.css @@ -0,0 +1,200 @@ +/* Credit to https://gist.github.com/wataru420/2048287 */ +.highlight { + /* Comment */ + /* Error */ + /* Keyword */ + /* Operator */ + /* Comment.Multiline */ + /* Comment.Preproc */ + /* Comment.Single */ + /* Comment.Special */ + /* Generic.Deleted */ + /* Generic.Deleted.Specific */ + /* Generic.Emph */ + /* Generic.Error */ + /* Generic.Heading */ + /* Generic.Inserted */ + /* Generic.Inserted.Specific */ + /* Generic.Output */ + /* Generic.Prompt */ + /* Generic.Strong */ + /* Generic.Subheading */ + /* Generic.Traceback */ + /* Keyword.Constant */ + /* Keyword.Declaration */ + /* Keyword.Pseudo */ + /* Keyword.Reserved */ + /* Keyword.Type */ + /* Literal.Number */ + /* Literal.String */ + /* Name.Attribute */ + /* Name.Builtin */ + /* Name.Class */ + /* Name.Constant */ + /* Name.Entity */ + /* Name.Exception */ + /* Name.Function */ + /* Name.Namespace */ + /* Name.Tag */ + /* Name.Variable */ + /* Operator.Word */ + /* Text.Whitespace */ + /* Literal.Number.Float */ + /* Literal.Number.Hex */ + /* Literal.Number.Integer */ + /* Literal.Number.Oct */ + /* Literal.String.Backtick */ + /* Literal.String.Char */ + /* Literal.String.Doc */ + /* Literal.String.Double */ + /* Literal.String.Escape */ + /* Literal.String.Heredoc */ + /* Literal.String.Interpol */ + /* Literal.String.Other */ + /* Literal.String.Regex */ + /* Literal.String.Single */ + /* Literal.String.Symbol */ + /* Name.Builtin.Pseudo */ + /* Name.Variable.Class */ + /* Name.Variable.Global */ + /* Name.Variable.Instance */ + /* Literal.Number.Integer.Long */ } + .highlight .c { + color: #999988; + font-style: italic; } + .highlight .err { + color: #a61717; + background-color: #e3d2d2; } + .highlight .k { + color: #000000; + font-weight: bold; } + .highlight .o { + color: #000000; + font-weight: bold; } + .highlight .cm { + color: #999988; + font-style: italic; } + .highlight .cp { + color: #999999; + font-weight: bold; } + .highlight .c1 { + color: #999988; + font-style: italic; } + .highlight .cs { + color: #999999; + font-weight: bold; + font-style: italic; } + .highlight .gd { + color: #000000; + background-color: #ffdddd; } + .highlight .gd .x { + color: #000000; + background-color: #ffaaaa; } + .highlight .ge { + color: #000000; + font-style: italic; } + .highlight .gr { + color: #aa0000; } + .highlight .gh { + color: #999999; } + .highlight .gi { + color: #000000; + background-color: #ddffdd; } + .highlight .gi .x { + color: #000000; + background-color: #aaffaa; } + .highlight .go { + color: #888888; } + .highlight .gp { + color: #555555; } + .highlight .gs { + font-weight: bold; } + .highlight .gu { + color: #aaaaaa; } + .highlight .gt { + color: #aa0000; } + .highlight .kc { + color: #000000; + font-weight: bold; } + .highlight .kd { + color: #000000; + font-weight: bold; } + .highlight .kp { + color: #000000; + font-weight: bold; } + .highlight .kr { + color: #000000; + font-weight: bold; } + .highlight .kt { + color: #445588; } + .highlight .m { + color: #009999; } + .highlight .s { + color: #d14; } + .highlight .na { + color: #008080; } + .highlight .nb { + color: #0086B3; } + .highlight .nc { + color: #445588; + font-weight: bold; } + .highlight .no { + color: #008080; } + .highlight .ni { + color: #800080; } + .highlight .ne { + color: #990000; + font-weight: bold; } + .highlight .nf { + color: #990000; } + .highlight .nn { + color: #555555; } + .highlight .nt { + color: #000080; } + .highlight .nv { + color: #008080; } + .highlight .ow { + color: #000000; + font-weight: bold; } + .highlight .w { + color: #bbbbbb; } + .highlight .mf { + color: #009999; } + .highlight .mh { + color: #009999; } + .highlight .mi { + color: #009999; } + .highlight .mo { + color: #009999; } + .highlight .sb { + color: #d14; } + .highlight .sc { + color: #d14; } + .highlight .sd { + color: #d14; } + .highlight .s2 { + color: #d14; } + .highlight .se { + color: #d14; } + .highlight .sh { + color: #d14; } + .highlight .si { + color: #d14; } + .highlight .sx { + color: #d14; } + .highlight .sr { + color: #009926; } + .highlight .s1 { + color: #d14; } + .highlight .ss { + color: #990073; } + .highlight .bp { + color: #999999; } + .highlight .vc { + color: #008080; } + .highlight .vg { + color: #008080; } + .highlight .vi { + color: #008080; } + .highlight .il { + color: #009999; } diff --git a/docs/css/jazzy.css b/docs/css/jazzy.css new file mode 100644 index 0000000..c3090c0 --- /dev/null +++ b/docs/css/jazzy.css @@ -0,0 +1,374 @@ +html, body, div, span, h1, h3, h4, p, a, code, em, img, ul, li, table, tbody, tr, td { + background: transparent; + border: 0; + margin: 0; + outline: 0; + padding: 0; + vertical-align: baseline; } + +body { + background-color: #f2f2f2; + font-family: Helvetica, freesans, Arial, sans-serif; + font-size: 14px; + -webkit-font-smoothing: subpixel-antialiased; + word-wrap: break-word; } + +h1, h2, h3 { + margin-top: 0.8em; + margin-bottom: 0.3em; + font-weight: 100; + color: black; } + +h1 { + font-size: 2.5em; } + +h2 { + font-size: 2em; + border-bottom: 1px solid #e2e2e2; } + +h4 { + font-size: 13px; + line-height: 1.5; + margin-top: 21px; } + +h5 { + font-size: 1.1em; } + +h6 { + font-size: 1.1em; + color: #777; } + +.section-name { + color: gray; + display: block; + font-family: Helvetica; + font-size: 22px; + font-weight: 100; + margin-bottom: 15px; } + +pre, code { + font: 0.95em Menlo, monospace; + color: #777; + word-wrap: normal; } + +p code, li code { + background-color: #eee; + padding: 2px 4px; + border-radius: 4px; } + +a { + color: #0088cc; + text-decoration: none; } + +ul { + padding-left: 15px; } + +li { + line-height: 1.8em; } + +img { + max-width: 100%; } + +blockquote { + margin-left: 0; + padding: 0 10px; + border-left: 4px solid #ccc; } + +.content-wrapper { + margin: 0 auto; + width: 980px; } + +header { + font-size: 0.85em; + line-height: 26px; + background-color: #414141; + position: fixed; + width: 100%; + z-index: 2; } + header img { + padding-right: 6px; + vertical-align: -4px; + height: 16px; } + header a { + color: #fff; } + header p { + float: left; + color: #999; } + header .header-right { + float: right; + margin-left: 16px; } + +#breadcrumbs { + background-color: #f2f2f2; + height: 27px; + padding-top: 17px; + position: fixed; + width: 100%; + z-index: 2; + margin-top: 26px; } + #breadcrumbs #carat { + height: 10px; + margin: 0 5px; } + +.sidebar { + background-color: #f9f9f9; + border: 1px solid #e2e2e2; + overflow-y: auto; + overflow-x: hidden; + position: fixed; + top: 70px; + bottom: 0; + width: 230px; + word-wrap: normal; } + +.nav-groups { + list-style-type: none; + background: #fff; + padding-left: 0; } + +.nav-group-name { + border-bottom: 1px solid #e2e2e2; + font-size: 1.1em; + font-weight: 100; + padding: 15px 0 15px 20px; } + .nav-group-name > a { + color: #333; } + +.nav-group-tasks { + margin-top: 5px; } + +.nav-group-task { + font-size: 0.9em; + list-style-type: none; + white-space: nowrap; } + .nav-group-task a { + color: #888; } + +.main-content { + background-color: #fff; + border: 1px solid #e2e2e2; + margin-left: 246px; + position: absolute; + overflow: hidden; + padding-bottom: 20px; + top: 70px; + width: 734px; } + .main-content p, .main-content a, .main-content code, .main-content em, .main-content ul, .main-content table, .main-content blockquote { + margin-bottom: 1em; } + .main-content p { + line-height: 1.8em; } + .main-content section .section:first-child { + margin-top: 0; + padding-top: 0; } + .main-content section .task-group-section .task-group:first-of-type { + padding-top: 10px; } + .main-content section .task-group-section .task-group:first-of-type .section-name { + padding-top: 15px; } + .main-content section .heading:before { + content: ""; + display: block; + padding-top: 70px; + margin: -70px 0 0; } + .main-content .section-name p { + margin-bottom: inherit; + line-height: inherit; } + .main-content .section-name code { + background-color: inherit; + padding: inherit; + color: inherit; } + +.section { + padding: 0 25px; } + +.highlight { + background-color: #eee; + padding: 10px 12px; + border: 1px solid #e2e2e2; + border-radius: 4px; + overflow-x: auto; } + +.declaration .highlight { + overflow-x: initial; + padding: 0 40px 40px 0; + margin-bottom: -25px; + background-color: transparent; + border: none; } + +.section-name { + margin: 0; + margin-left: 18px; } + +.task-group-section { + padding-left: 6px; + border-top: 1px solid #e2e2e2; } + +.task-group { + padding-top: 0px; } + +.task-name-container a[name]:before { + content: ""; + display: block; + padding-top: 70px; + margin: -70px 0 0; } + +.section-name-container { + position: relative; + display: inline-block; } + .section-name-container .section-name-link { + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 0; + margin-bottom: 0; } + .section-name-container .section-name { + position: relative; + pointer-events: none; + z-index: 1; } + .section-name-container .section-name a { + pointer-events: auto; } + +.item { + padding-top: 8px; + width: 100%; + list-style-type: none; } + .item a[name]:before { + content: ""; + display: block; + padding-top: 70px; + margin: -70px 0 0; } + .item code { + background-color: transparent; + padding: 0; } + .item .token, .item .direct-link { + display: inline-block; + text-indent: -20px; + padding-left: 3px; + margin-left: 35px; + font-size: 11.9px; + transition: all 300ms; } + .item .token-open { + margin-left: 20px; } + .item .discouraged { + text-decoration: line-through; } + .item .declaration-note { + font-size: .85em; + color: gray; + font-style: italic; } + +.pointer-container { + border-bottom: 1px solid #e2e2e2; + left: -23px; + padding-bottom: 13px; + position: relative; + width: 110%; } + +.pointer { + background: #f9f9f9; + border-left: 1px solid #e2e2e2; + border-top: 1px solid #e2e2e2; + height: 12px; + left: 21px; + top: -7px; + -webkit-transform: rotate(45deg); + -moz-transform: rotate(45deg); + -o-transform: rotate(45deg); + transform: rotate(45deg); + position: absolute; + width: 12px; } + +.height-container { + display: none; + left: -25px; + padding: 0 25px; + position: relative; + width: 100%; + overflow: hidden; } + .height-container .section { + background: #f9f9f9; + border-bottom: 1px solid #e2e2e2; + left: -25px; + position: relative; + width: 100%; + padding-top: 10px; + padding-bottom: 5px; } + +.aside, .language { + padding: 6px 12px; + margin: 12px 0; + border-left: 5px solid #dddddd; + overflow-y: hidden; } + .aside .aside-title, .language .aside-title { + font-size: 9px; + letter-spacing: 2px; + text-transform: uppercase; + padding-bottom: 0; + margin: 0; + color: #aaa; + -webkit-user-select: none; } + .aside p:last-child, .language p:last-child { + margin-bottom: 0; } + +.language { + border-left: 5px solid #cde9f4; } + .language .aside-title { + color: #4b8afb; } + +.aside-warning, .aside-deprecated, .aside-unavailable { + border-left: 5px solid #ff6666; } + .aside-warning .aside-title, .aside-deprecated .aside-title, .aside-unavailable .aside-title { + color: #ff0000; } + +.graybox { + border-collapse: collapse; + width: 100%; } + .graybox p { + margin: 0; + word-break: break-word; + min-width: 50px; } + .graybox td { + border: 1px solid #e2e2e2; + padding: 5px 25px 5px 10px; + vertical-align: middle; } + .graybox tr td:first-of-type { + text-align: right; + padding: 7px; + vertical-align: top; + word-break: normal; + width: 40px; } + +.slightly-smaller { + font-size: 0.9em; } + +#footer { + position: relative; + top: 10px; + bottom: 0px; + margin-left: 25px; } + #footer p { + margin: 0; + color: #aaa; + font-size: 0.8em; } + +html.dash header, html.dash #breadcrumbs, html.dash .sidebar { + display: none; } + +html.dash .main-content { + width: 980px; + margin-left: 0; + border: none; + width: 100%; + top: 0; + padding-bottom: 0; } + +html.dash .height-container { + display: block; } + +html.dash .item .token { + margin-left: 0; } + +html.dash .content-wrapper { + width: auto; } + +html.dash #footer { + position: static; } diff --git a/docs/docsets/.docset/Contents/Info.plist b/docs/docsets/.docset/Contents/Info.plist new file mode 100644 index 0000000..61863ec --- /dev/null +++ b/docs/docsets/.docset/Contents/Info.plist @@ -0,0 +1,20 @@ + + + + + CFBundleIdentifier + com.jazzy. + CFBundleName + + DocSetPlatformFamily + + isDashDocset + + dashIndexFilePath + index.html + isJavaScriptEnabled + + DashDocSetFamily + dashtoc + + diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Enums.html b/docs/docsets/.docset/Contents/Resources/Documents/Enums.html new file mode 100644 index 0000000..b3448e8 --- /dev/null +++ b/docs/docsets/.docset/Contents/Resources/Documents/Enums.html @@ -0,0 +1,143 @@ + + + + Enumerations Reference + + + + + + + + + + +
+
+

Docs (89% documented)

+
+
+
+ +
+
+ +
+
+
+

Enumerations

+

The following enumerations are available globally.

+ +
+
+
+
    +
  • +
    + + + + ESFileExtensionType + +
    +
    +
    +
    +
    +
    +

    File format for write on disk

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public enum ESFileExtensionType
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Enum with diffrent type of storage. You can check case for additional inforamtion

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public enum ESFileManagerDirectory
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Enums/ESFileExtensionType.html b/docs/docsets/.docset/Contents/Resources/Documents/Enums/ESFileExtensionType.html new file mode 100644 index 0000000..f0d695d --- /dev/null +++ b/docs/docsets/.docset/Contents/Resources/Documents/Enums/ESFileExtensionType.html @@ -0,0 +1,147 @@ + + + + ESFileExtensionType Enumeration Reference + + + + + + + + + + +
+
+

Docs (89% documented)

+
+
+
+ +
+
+ +
+
+
+

ESFileExtensionType

+
+
+
public enum ESFileExtensionType
+ +
+
+

File format for write on disk

+ +
+
+
+
    +
  • +
    + + + + txt + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case txt
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case custom(extensionName: String)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Enums/ESFileManagerDirectory.html b/docs/docsets/.docset/Contents/Resources/Documents/Enums/ESFileManagerDirectory.html new file mode 100644 index 0000000..07055e9 --- /dev/null +++ b/docs/docsets/.docset/Contents/Resources/Documents/Enums/ESFileManagerDirectory.html @@ -0,0 +1,282 @@ + + + + ESFileManagerDirectory Enumeration Reference + + + + + + + + + + +
+
+

Docs (89% documented)

+
+
+
+ +
+
+ +
+
+
+

ESFileManagerDirectory

+
+
+
public enum ESFileManagerDirectory
+ +
+
+

Enum with diffrent type of storage. You can check case for additional inforamtion

+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Use this directory to store user-generated content. The contents of this directory can be made available to the user through file sharing; therefore, this directory should only contain files that you may wish to expose to the user. The contents of this directory are backed up by iTunes and iCloud.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case documents(customPath: String? = nil, useBackups: Bool = false)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + useBackups + + +
    +

    back up this data to iTunes and iCloud

    +
    +
    + + customPath + + +
    +

    custom directory

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Use this Library subdirectories for any files you don’t want exposed to the user. Your app should not use these directories for user data files. The contents of this directory can be backed up by iTunes and iCloud.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case applicationSupport(customPath: String? = nil, useBackups: Bool = false)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + useBackups + + +
    +

    back up this data to iTunes and iCloud

    +
    +
    + + customPath + + +
    +

    custom directory

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + caches(customPath:) + +
    +
    +
    +
    +
    +
    +

    Use this directory to write any app-specific support files that your app can re-create easily. Your app is generally responsible for managing the contents of this directory and for adding and deleting files as needed. In iOS 5.0 and later, the system may delete the Caches directory on rare occasions when the system is very low on disk space. This will never occur while an app is running. However, be aware that restoring from backup is not necessarily the only condition under which the Caches directory can be erased.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case caches(customPath: String? = nil)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + customPath + + +
    +

    custom directory

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + tmp + +
    +
    +
    +
    +
    +
    +

    Use this directory to write temporary files that do not need to persist between launches of your app. Your app should remove files from this directory when they are no longer needed; however, the system may purge this directory when your app is not running. The contents of this directory are not backed up by iTunes or iCloud.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case tmp
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Protocols.html b/docs/docsets/.docset/Contents/Resources/Documents/Protocols.html new file mode 100644 index 0000000..31bab16 --- /dev/null +++ b/docs/docsets/.docset/Contents/Resources/Documents/Protocols.html @@ -0,0 +1,124 @@ + + + + Protocols Reference + + + + + + + + + + +
+
+

Docs (89% documented)

+
+
+
+ +
+
+ +
+
+
+

Protocols

+

The following protocols are available globally.

+ +
+
+
+
+ + +
+ +

ESFileManagerProtocol

+

+
+
+
    +
  • +
    + + + + ESFileManagerProtocol + +
    +
    +
    +
    +
    +
    +

    Protocol for Manager for write and read file from bundle

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public protocol ESFileManagerProtocol
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Protocols/ESFileManagerProtocol.html b/docs/docsets/.docset/Contents/Resources/Documents/Protocols/ESFileManagerProtocol.html new file mode 100644 index 0000000..6c290c6 --- /dev/null +++ b/docs/docsets/.docset/Contents/Resources/Documents/Protocols/ESFileManagerProtocol.html @@ -0,0 +1,349 @@ + + + + ESFileManagerProtocol Protocol Reference + + + + + + + + + + +
+
+

Docs (89% documented)

+
+
+
+ +
+
+ +
+
+
+

ESFileManagerProtocol

+
+
+
public protocol ESFileManagerProtocol
+ +
+
+

Protocol for Manager for write and read file from bundle

+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    write data file to disk at custom directory

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func write(file: ESFileModel, at directory: ESFileManagerDirectory?, completion: ((Error?) -> Void)?)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + +
    + + completion + + +
    +

    completion block with optional Error

    +
    +
    + + file + + +
    +

    file to write

    +
    +
    + + directory + + +
    +

    directory to write

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Read data file from disk at custom directory

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func read(fileStorage: ESFileNameModel, at directory: ESFileManagerDirectory?, completion: ((ESFileModel?, Error?) -> Void)?)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + +
    + + completion + + +
    +

    completion block with optional data from storage

    +
    +
    + + fileStorage + + +
    +

    file name and extension

    +
    +
    + + directory + + +
    +

    directory to write

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Remove file from disk at custom directory

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func remove(file: ESFileNameModel, at directory: ESFileManagerDirectory?, completion: ((Error?) -> Void)?)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + completion + + +
    +

    completion block with optional Error

    +
    +
    + + file + + +
    +

    file to remove

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Get list files in storage at custom directory

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func listFiles(at directory: ESFileManagerDirectory?, completion: (([ESFileNameModel]?, Error?) -> Void)?)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + completion + + +
    +

    callback block with array of files.

    +
    +
    + + directory + + +
    +

    custom directory

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Structs.html b/docs/docsets/.docset/Contents/Resources/Documents/Structs.html new file mode 100644 index 0000000..2dbbedc --- /dev/null +++ b/docs/docsets/.docset/Contents/Resources/Documents/Structs.html @@ -0,0 +1,181 @@ + + + + Structures Reference + + + + + + + + + + +
+
+

Docs (89% documented)

+
+
+
+ +
+
+ +
+
+
+

Structures

+

The following structures are available globally.

+ +
+
+
+
+ + +
+ +

ESFileManager

+

+
+
+
    +
  • +
    + + + + ESFileManager + +
    +
    +
    +
    +
    +
    +

    Manager for write and read file from bundle

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public struct ESFileManager
    +
    extension ESFileManager: ESFileManagerProtocol
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + ESFileModel + +
    +
    +
    +
    +
    +
    +

    Model of file on disk. Contain Data and file storage model (like file name and file extension)

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public struct ESFileModel
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + ESFileNameModel + +
    +
    +
    +
    +
    +
    +

    file storage model ( file name and file extension)

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public struct ESFileNameModel
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Structs/ESFileManager.html b/docs/docsets/.docset/Contents/Resources/Documents/Structs/ESFileManager.html new file mode 100644 index 0000000..e3d2804 --- /dev/null +++ b/docs/docsets/.docset/Contents/Resources/Documents/Structs/ESFileManager.html @@ -0,0 +1,390 @@ + + + + ESFileManager Structure Reference + + + + + + + + + + +
+
+

Docs (89% documented)

+
+
+
+ +
+
+ +
+
+
+

ESFileManager

+
+
+
public struct ESFileManager
+
extension ESFileManager: ESFileManagerProtocol
+ +
+
+

Manager for write and read file from bundle

+ +
+
+
+ +
+
+
+ + +
+ +

ALFileManagerProtocol Impletation

+

+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    write data file to disk at custom directory

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func write(file: ESFileModel, at directory: ESFileManagerDirectory?, completion: ((Error?) -> Void)?)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + +
    + + completion + + +
    +

    completion block with optional Error

    +
    +
    + + file + + +
    +

    file to write

    +
    +
    + + directory + + +
    +

    directory to write

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Read data file from disk at custom directory

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func read(fileStorage: ESFileNameModel, at directory: ESFileManagerDirectory?, completion: ((ESFileModel?, Error?) -> Void)?)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + +
    + + completion + + +
    +

    completion block with optional data from storage

    +
    +
    + + fileStorage + + +
    +

    file name and extension

    +
    +
    + + directory + + +
    +

    directory to write

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Remove file from disk at custom directory

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func remove(file: ESFileNameModel, at directory: ESFileManagerDirectory?, completion: ((Error?) -> Void)?)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + completion + + +
    +

    completion block with optional Error

    +
    +
    + + file + + +
    +

    file to remove

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Get list files in storage at custom directory

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func listFiles(at directory: ESFileManagerDirectory?, completion: (([ESFileNameModel]?, Error?) -> Void)?)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + completion + + +
    +

    callback block with array of files.

    +
    +
    + + directory + + +
    +

    custom directory

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Structs/ESFileModel.html b/docs/docsets/.docset/Contents/Resources/Documents/Structs/ESFileModel.html new file mode 100644 index 0000000..c478ee4 --- /dev/null +++ b/docs/docsets/.docset/Contents/Resources/Documents/Structs/ESFileModel.html @@ -0,0 +1,205 @@ + + + + ESFileModel Structure Reference + + + + + + + + + + +
+
+

Docs (89% documented)

+
+
+
+ +
+
+ +
+
+
+

ESFileModel

+
+
+
public struct ESFileModel
+ +
+
+

Model of file on disk. Contain Data and file storage model (like file name and file extension)

+ +
+
+
+
    +
  • +
    + + + + data + +
    +
    +
    +
    +
    +
    +

    data represent of file

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var data: Data?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + name + +
    +
    +
    +
    +
    +
    +

    file storage model (like file name and file extension)

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var name: ESFileNameModel
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + init(data:name:) + +
    +
    +
    +
    +
    +
    +

    Init model

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(data: Data?, name: ESFileNameModel)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + data + + +
    +

    data represent of file

    +
    +
    + + storage + + +
    +

    storage model (file name and extension)

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Structs/ESFileNameModel.html b/docs/docsets/.docset/Contents/Resources/Documents/Structs/ESFileNameModel.html new file mode 100644 index 0000000..d0bdc99 --- /dev/null +++ b/docs/docsets/.docset/Contents/Resources/Documents/Structs/ESFileNameModel.html @@ -0,0 +1,205 @@ + + + + ESFileNameModel Structure Reference + + + + + + + + + + +
+
+

Docs (89% documented)

+
+
+
+ +
+
+ +
+
+
+

ESFileNameModel

+
+
+
public struct ESFileNameModel
+ +
+
+

file storage model ( file name and file extension)

+ +
+
+
+
    +
  • +
    + + + + name + +
    +
    +
    +
    +
    +
    +

    file name

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var name: String
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + fileExtension + +
    +
    +
    +
    +
    +
    +

    file extension

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var fileExtension: ESFileExtensionType
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Init for model

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(name: String, fileExtension: ESFileExtensionType)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + name + + +
    +

    file name

    +
    +
    + + fileExtension + + +
    +

    file extension

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/docsets/.docset/Contents/Resources/Documents/css/highlight.css b/docs/docsets/.docset/Contents/Resources/Documents/css/highlight.css new file mode 100644 index 0000000..d0db0e1 --- /dev/null +++ b/docs/docsets/.docset/Contents/Resources/Documents/css/highlight.css @@ -0,0 +1,200 @@ +/* Credit to https://gist.github.com/wataru420/2048287 */ +.highlight { + /* Comment */ + /* Error */ + /* Keyword */ + /* Operator */ + /* Comment.Multiline */ + /* Comment.Preproc */ + /* Comment.Single */ + /* Comment.Special */ + /* Generic.Deleted */ + /* Generic.Deleted.Specific */ + /* Generic.Emph */ + /* Generic.Error */ + /* Generic.Heading */ + /* Generic.Inserted */ + /* Generic.Inserted.Specific */ + /* Generic.Output */ + /* Generic.Prompt */ + /* Generic.Strong */ + /* Generic.Subheading */ + /* Generic.Traceback */ + /* Keyword.Constant */ + /* Keyword.Declaration */ + /* Keyword.Pseudo */ + /* Keyword.Reserved */ + /* Keyword.Type */ + /* Literal.Number */ + /* Literal.String */ + /* Name.Attribute */ + /* Name.Builtin */ + /* Name.Class */ + /* Name.Constant */ + /* Name.Entity */ + /* Name.Exception */ + /* Name.Function */ + /* Name.Namespace */ + /* Name.Tag */ + /* Name.Variable */ + /* Operator.Word */ + /* Text.Whitespace */ + /* Literal.Number.Float */ + /* Literal.Number.Hex */ + /* Literal.Number.Integer */ + /* Literal.Number.Oct */ + /* Literal.String.Backtick */ + /* Literal.String.Char */ + /* Literal.String.Doc */ + /* Literal.String.Double */ + /* Literal.String.Escape */ + /* Literal.String.Heredoc */ + /* Literal.String.Interpol */ + /* Literal.String.Other */ + /* Literal.String.Regex */ + /* Literal.String.Single */ + /* Literal.String.Symbol */ + /* Name.Builtin.Pseudo */ + /* Name.Variable.Class */ + /* Name.Variable.Global */ + /* Name.Variable.Instance */ + /* Literal.Number.Integer.Long */ } + .highlight .c { + color: #999988; + font-style: italic; } + .highlight .err { + color: #a61717; + background-color: #e3d2d2; } + .highlight .k { + color: #000000; + font-weight: bold; } + .highlight .o { + color: #000000; + font-weight: bold; } + .highlight .cm { + color: #999988; + font-style: italic; } + .highlight .cp { + color: #999999; + font-weight: bold; } + .highlight .c1 { + color: #999988; + font-style: italic; } + .highlight .cs { + color: #999999; + font-weight: bold; + font-style: italic; } + .highlight .gd { + color: #000000; + background-color: #ffdddd; } + .highlight .gd .x { + color: #000000; + background-color: #ffaaaa; } + .highlight .ge { + color: #000000; + font-style: italic; } + .highlight .gr { + color: #aa0000; } + .highlight .gh { + color: #999999; } + .highlight .gi { + color: #000000; + background-color: #ddffdd; } + .highlight .gi .x { + color: #000000; + background-color: #aaffaa; } + .highlight .go { + color: #888888; } + .highlight .gp { + color: #555555; } + .highlight .gs { + font-weight: bold; } + .highlight .gu { + color: #aaaaaa; } + .highlight .gt { + color: #aa0000; } + .highlight .kc { + color: #000000; + font-weight: bold; } + .highlight .kd { + color: #000000; + font-weight: bold; } + .highlight .kp { + color: #000000; + font-weight: bold; } + .highlight .kr { + color: #000000; + font-weight: bold; } + .highlight .kt { + color: #445588; } + .highlight .m { + color: #009999; } + .highlight .s { + color: #d14; } + .highlight .na { + color: #008080; } + .highlight .nb { + color: #0086B3; } + .highlight .nc { + color: #445588; + font-weight: bold; } + .highlight .no { + color: #008080; } + .highlight .ni { + color: #800080; } + .highlight .ne { + color: #990000; + font-weight: bold; } + .highlight .nf { + color: #990000; } + .highlight .nn { + color: #555555; } + .highlight .nt { + color: #000080; } + .highlight .nv { + color: #008080; } + .highlight .ow { + color: #000000; + font-weight: bold; } + .highlight .w { + color: #bbbbbb; } + .highlight .mf { + color: #009999; } + .highlight .mh { + color: #009999; } + .highlight .mi { + color: #009999; } + .highlight .mo { + color: #009999; } + .highlight .sb { + color: #d14; } + .highlight .sc { + color: #d14; } + .highlight .sd { + color: #d14; } + .highlight .s2 { + color: #d14; } + .highlight .se { + color: #d14; } + .highlight .sh { + color: #d14; } + .highlight .si { + color: #d14; } + .highlight .sx { + color: #d14; } + .highlight .sr { + color: #009926; } + .highlight .s1 { + color: #d14; } + .highlight .ss { + color: #990073; } + .highlight .bp { + color: #999999; } + .highlight .vc { + color: #008080; } + .highlight .vg { + color: #008080; } + .highlight .vi { + color: #008080; } + .highlight .il { + color: #009999; } diff --git a/docs/docsets/.docset/Contents/Resources/Documents/css/jazzy.css b/docs/docsets/.docset/Contents/Resources/Documents/css/jazzy.css new file mode 100644 index 0000000..c3090c0 --- /dev/null +++ b/docs/docsets/.docset/Contents/Resources/Documents/css/jazzy.css @@ -0,0 +1,374 @@ +html, body, div, span, h1, h3, h4, p, a, code, em, img, ul, li, table, tbody, tr, td { + background: transparent; + border: 0; + margin: 0; + outline: 0; + padding: 0; + vertical-align: baseline; } + +body { + background-color: #f2f2f2; + font-family: Helvetica, freesans, Arial, sans-serif; + font-size: 14px; + -webkit-font-smoothing: subpixel-antialiased; + word-wrap: break-word; } + +h1, h2, h3 { + margin-top: 0.8em; + margin-bottom: 0.3em; + font-weight: 100; + color: black; } + +h1 { + font-size: 2.5em; } + +h2 { + font-size: 2em; + border-bottom: 1px solid #e2e2e2; } + +h4 { + font-size: 13px; + line-height: 1.5; + margin-top: 21px; } + +h5 { + font-size: 1.1em; } + +h6 { + font-size: 1.1em; + color: #777; } + +.section-name { + color: gray; + display: block; + font-family: Helvetica; + font-size: 22px; + font-weight: 100; + margin-bottom: 15px; } + +pre, code { + font: 0.95em Menlo, monospace; + color: #777; + word-wrap: normal; } + +p code, li code { + background-color: #eee; + padding: 2px 4px; + border-radius: 4px; } + +a { + color: #0088cc; + text-decoration: none; } + +ul { + padding-left: 15px; } + +li { + line-height: 1.8em; } + +img { + max-width: 100%; } + +blockquote { + margin-left: 0; + padding: 0 10px; + border-left: 4px solid #ccc; } + +.content-wrapper { + margin: 0 auto; + width: 980px; } + +header { + font-size: 0.85em; + line-height: 26px; + background-color: #414141; + position: fixed; + width: 100%; + z-index: 2; } + header img { + padding-right: 6px; + vertical-align: -4px; + height: 16px; } + header a { + color: #fff; } + header p { + float: left; + color: #999; } + header .header-right { + float: right; + margin-left: 16px; } + +#breadcrumbs { + background-color: #f2f2f2; + height: 27px; + padding-top: 17px; + position: fixed; + width: 100%; + z-index: 2; + margin-top: 26px; } + #breadcrumbs #carat { + height: 10px; + margin: 0 5px; } + +.sidebar { + background-color: #f9f9f9; + border: 1px solid #e2e2e2; + overflow-y: auto; + overflow-x: hidden; + position: fixed; + top: 70px; + bottom: 0; + width: 230px; + word-wrap: normal; } + +.nav-groups { + list-style-type: none; + background: #fff; + padding-left: 0; } + +.nav-group-name { + border-bottom: 1px solid #e2e2e2; + font-size: 1.1em; + font-weight: 100; + padding: 15px 0 15px 20px; } + .nav-group-name > a { + color: #333; } + +.nav-group-tasks { + margin-top: 5px; } + +.nav-group-task { + font-size: 0.9em; + list-style-type: none; + white-space: nowrap; } + .nav-group-task a { + color: #888; } + +.main-content { + background-color: #fff; + border: 1px solid #e2e2e2; + margin-left: 246px; + position: absolute; + overflow: hidden; + padding-bottom: 20px; + top: 70px; + width: 734px; } + .main-content p, .main-content a, .main-content code, .main-content em, .main-content ul, .main-content table, .main-content blockquote { + margin-bottom: 1em; } + .main-content p { + line-height: 1.8em; } + .main-content section .section:first-child { + margin-top: 0; + padding-top: 0; } + .main-content section .task-group-section .task-group:first-of-type { + padding-top: 10px; } + .main-content section .task-group-section .task-group:first-of-type .section-name { + padding-top: 15px; } + .main-content section .heading:before { + content: ""; + display: block; + padding-top: 70px; + margin: -70px 0 0; } + .main-content .section-name p { + margin-bottom: inherit; + line-height: inherit; } + .main-content .section-name code { + background-color: inherit; + padding: inherit; + color: inherit; } + +.section { + padding: 0 25px; } + +.highlight { + background-color: #eee; + padding: 10px 12px; + border: 1px solid #e2e2e2; + border-radius: 4px; + overflow-x: auto; } + +.declaration .highlight { + overflow-x: initial; + padding: 0 40px 40px 0; + margin-bottom: -25px; + background-color: transparent; + border: none; } + +.section-name { + margin: 0; + margin-left: 18px; } + +.task-group-section { + padding-left: 6px; + border-top: 1px solid #e2e2e2; } + +.task-group { + padding-top: 0px; } + +.task-name-container a[name]:before { + content: ""; + display: block; + padding-top: 70px; + margin: -70px 0 0; } + +.section-name-container { + position: relative; + display: inline-block; } + .section-name-container .section-name-link { + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 0; + margin-bottom: 0; } + .section-name-container .section-name { + position: relative; + pointer-events: none; + z-index: 1; } + .section-name-container .section-name a { + pointer-events: auto; } + +.item { + padding-top: 8px; + width: 100%; + list-style-type: none; } + .item a[name]:before { + content: ""; + display: block; + padding-top: 70px; + margin: -70px 0 0; } + .item code { + background-color: transparent; + padding: 0; } + .item .token, .item .direct-link { + display: inline-block; + text-indent: -20px; + padding-left: 3px; + margin-left: 35px; + font-size: 11.9px; + transition: all 300ms; } + .item .token-open { + margin-left: 20px; } + .item .discouraged { + text-decoration: line-through; } + .item .declaration-note { + font-size: .85em; + color: gray; + font-style: italic; } + +.pointer-container { + border-bottom: 1px solid #e2e2e2; + left: -23px; + padding-bottom: 13px; + position: relative; + width: 110%; } + +.pointer { + background: #f9f9f9; + border-left: 1px solid #e2e2e2; + border-top: 1px solid #e2e2e2; + height: 12px; + left: 21px; + top: -7px; + -webkit-transform: rotate(45deg); + -moz-transform: rotate(45deg); + -o-transform: rotate(45deg); + transform: rotate(45deg); + position: absolute; + width: 12px; } + +.height-container { + display: none; + left: -25px; + padding: 0 25px; + position: relative; + width: 100%; + overflow: hidden; } + .height-container .section { + background: #f9f9f9; + border-bottom: 1px solid #e2e2e2; + left: -25px; + position: relative; + width: 100%; + padding-top: 10px; + padding-bottom: 5px; } + +.aside, .language { + padding: 6px 12px; + margin: 12px 0; + border-left: 5px solid #dddddd; + overflow-y: hidden; } + .aside .aside-title, .language .aside-title { + font-size: 9px; + letter-spacing: 2px; + text-transform: uppercase; + padding-bottom: 0; + margin: 0; + color: #aaa; + -webkit-user-select: none; } + .aside p:last-child, .language p:last-child { + margin-bottom: 0; } + +.language { + border-left: 5px solid #cde9f4; } + .language .aside-title { + color: #4b8afb; } + +.aside-warning, .aside-deprecated, .aside-unavailable { + border-left: 5px solid #ff6666; } + .aside-warning .aside-title, .aside-deprecated .aside-title, .aside-unavailable .aside-title { + color: #ff0000; } + +.graybox { + border-collapse: collapse; + width: 100%; } + .graybox p { + margin: 0; + word-break: break-word; + min-width: 50px; } + .graybox td { + border: 1px solid #e2e2e2; + padding: 5px 25px 5px 10px; + vertical-align: middle; } + .graybox tr td:first-of-type { + text-align: right; + padding: 7px; + vertical-align: top; + word-break: normal; + width: 40px; } + +.slightly-smaller { + font-size: 0.9em; } + +#footer { + position: relative; + top: 10px; + bottom: 0px; + margin-left: 25px; } + #footer p { + margin: 0; + color: #aaa; + font-size: 0.8em; } + +html.dash header, html.dash #breadcrumbs, html.dash .sidebar { + display: none; } + +html.dash .main-content { + width: 980px; + margin-left: 0; + border: none; + width: 100%; + top: 0; + padding-bottom: 0; } + +html.dash .height-container { + display: block; } + +html.dash .item .token { + margin-left: 0; } + +html.dash .content-wrapper { + width: auto; } + +html.dash #footer { + position: static; } diff --git a/docs/docsets/.docset/Contents/Resources/Documents/img/carat.png b/docs/docsets/.docset/Contents/Resources/Documents/img/carat.png new file mode 100755 index 0000000000000000000000000000000000000000..29d2f7fd4955fca6bc6fb740e0373a2c358c398e GIT binary patch literal 274 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRo!3HEV4DF?Wlw^r(L`iUdT1k0gQ7VIDN`6wR zf@f}GdTLN=VoGJ<$y6JlqAi{-jv*Ddl5#RKJQ5NTUZgiPI4RUKGIKU?u8L&ndhX1t za+0CMVUnT(Gnb}ei=c~x==tMH^F1_tBocXwcoSWoO-SZY-o>!8%^=Bms)(~h;m_U( zXNixk28L}0LS5-jKyq@#2gyS|J&f#pGCLkTc<@2s1dqeyqJ*Rc0tSIETAgmODY;(s z2y|Mcp&2}7rpBprBBB~1qM1`N+}4SoxYVPqsXi&l`rxZp{(w0iSy$Nv5*Vy!RapG^ S^0y4=eg;ohKbLh*2~7a!Pg}VF literal 0 HcmV?d00001 diff --git a/docs/docsets/.docset/Contents/Resources/Documents/img/dash.png b/docs/docsets/.docset/Contents/Resources/Documents/img/dash.png new file mode 100755 index 0000000000000000000000000000000000000000..6f694c7a012b417908da3687a0a39aa182e91c74 GIT binary patch literal 1338 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 ShohtYzipXxh2)4xTk + + + Reference + + + + + + + + + +
+
+

Docs (89% documented)

+
+
+
+ +
+
+ +
+
+
+ +

ESFileManager

+ +

A description of this package.

+ +
+
+ +
+
+ + + diff --git a/docs/docsets/.docset/Contents/Resources/Documents/js/jazzy.js b/docs/docsets/.docset/Contents/Resources/Documents/js/jazzy.js new file mode 100755 index 0000000..1e55d6e --- /dev/null +++ b/docs/docsets/.docset/Contents/Resources/Documents/js/jazzy.js @@ -0,0 +1,70 @@ +window.jazzy = {'docset': false} +if (typeof window.dash != 'undefined') { + document.documentElement.className += ' dash' + window.jazzy.docset = true +} +if (navigator.userAgent.match(/xcode/i)) { + document.documentElement.className += ' xcode' + window.jazzy.docset = true +} + +function toggleItem($link, $content) { + var animationDuration = 300; + $link.toggleClass('token-open'); + $content.slideToggle(animationDuration); +} + +function itemLinkToContent($link) { + return $link.parent().parent().next(); +} + +// On doc load + hash-change, open any targetted item +function openCurrentItemIfClosed() { + if (window.jazzy.docset) { + return; + } + var $link = $(`a[name="${location.hash.substring(1)}"]`).nextAll('.token'); + $content = itemLinkToContent($link); + if ($content.is(':hidden')) { + toggleItem($link, $content); + } +} + +$(openCurrentItemIfClosed); +$(window).on('hashchange', openCurrentItemIfClosed); + +// On item link ('token') click, toggle its discussion +$('.token').on('click', function(event) { + if (window.jazzy.docset) { + return; + } + var $link = $(this); + toggleItem($link, itemLinkToContent($link)); + + // Keeps the document from jumping to the hash. + var href = $link.attr('href'); + if (history.pushState) { + history.pushState({}, '', href); + } else { + location.hash = href; + } + event.preventDefault(); +}); + +// Clicks on links to the current, closed, item need to open the item +$("a:not('.token')").on('click', function() { + if (location == this.href) { + openCurrentItemIfClosed(); + } +}); + +// KaTeX rendering +if ("katex" in window) { + $($('.math').each( (_, element) => { + katex.render(element.textContent, element, { + displayMode: $(element).hasClass('m-block'), + throwOnError: false, + trust: true + }); + })) +} diff --git a/docs/docsets/.docset/Contents/Resources/Documents/js/jquery.min.js b/docs/docsets/.docset/Contents/Resources/Documents/js/jquery.min.js new file mode 100644 index 0000000..a1c07fd --- /dev/null +++ b/docs/docsets/.docset/Contents/Resources/Documents/js/jquery.min.js @@ -0,0 +1,2 @@ +/*! jQuery v3.4.1 | (c) JS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){(s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;while(o--)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this)}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;nx",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;while(l--)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(R)||[""]).length;while(l--)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="
",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===k.css(e,"position"))e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 0file name

","parent_name":"ESFileNameModel"},"Structs/ESFileNameModel.html#/s:13ESFileManager0A9NameModelV13fileExtensionAA0aF4TypeOvp":{"name":"fileExtension","abstract":"

file extension

","parent_name":"ESFileNameModel"},"Structs/ESFileNameModel.html#/s:13ESFileManager0A9NameModelV4name13fileExtensionACSS_AA0aG4TypeOtcfc":{"name":"init(name:fileExtension:)","abstract":"

Init for model

","parent_name":"ESFileNameModel"},"Structs/ESFileModel.html#/s:13ESFileManager0A5ModelV4data10Foundation4DataVSgvp":{"name":"data","abstract":"

data represent of file

","parent_name":"ESFileModel"},"Structs/ESFileModel.html#/s:13ESFileManager0A5ModelV4nameAA0a4NameC0Vvp":{"name":"name","abstract":"

file storage model (like file name and file extension)

","parent_name":"ESFileModel"},"Structs/ESFileModel.html#/s:13ESFileManager0A5ModelV4data4nameAC10Foundation4DataVSg_AA0a4NameC0Vtcfc":{"name":"init(data:name:)","abstract":"

Init model

","parent_name":"ESFileModel"},"Structs/ESFileManager.html#/s:13ESFileManagerAAV16defaultDirectoryAbA0abD0O_tcfc":{"name":"init(defaultDirectory:)","abstract":"

Undocumented

","parent_name":"ESFileManager"},"Structs/ESFileManager.html#/s:13ESFileManagerAAV5write4file2at10completionyAA0A5ModelV_AA0aB9DirectoryOSgys5Error_pSgcSgtF":{"name":"write(file:at:completion:)","abstract":"

write data file to disk at custom directory

","parent_name":"ESFileManager"},"Structs/ESFileManager.html#/s:13ESFileManagerAAV4read11fileStorage2at10completionyAA0A9NameModelV_AA0aB9DirectoryOSgyAA0aI0VSg_s5Error_pSgtcSgtF":{"name":"read(fileStorage:at:completion:)","abstract":"

Read data file from disk at custom directory

","parent_name":"ESFileManager"},"Structs/ESFileManager.html#/s:13ESFileManagerAAV6remove4file2at10completionyAA0A9NameModelV_AA0aB9DirectoryOSgys5Error_pSgcSgtF":{"name":"remove(file:at:completion:)","abstract":"

Remove file from disk at custom directory

","parent_name":"ESFileManager"},"Structs/ESFileManager.html#/s:13ESFileManagerAAV9listFiles2at10completionyAA0aB9DirectoryOSg_ySayAA0A9NameModelVGSg_s5Error_pSgtcSgtF":{"name":"listFiles(at:completion:)","abstract":"

Get list files in storage at custom directory

","parent_name":"ESFileManager"},"Structs/ESFileManager.html":{"name":"ESFileManager","abstract":"

Manager for write and read file from bundle

"},"Structs/ESFileModel.html":{"name":"ESFileModel","abstract":"

Model of file on disk. Contain Data and file storage model (like file name and file extension)

"},"Structs/ESFileNameModel.html":{"name":"ESFileNameModel","abstract":"

file storage model ( file name and file extension)

"},"Protocols/ESFileManagerProtocol.html#/s:13ESFileManager0aB8ProtocolP5write4file2at10completionyAA0A5ModelV_AA0aB9DirectoryOSgys5Error_pSgcSgtF":{"name":"write(file:at:completion:)","abstract":"

write data file to disk at custom directory

","parent_name":"ESFileManagerProtocol"},"Protocols/ESFileManagerProtocol.html#/s:13ESFileManager0aB8ProtocolP4read11fileStorage2at10completionyAA0A9NameModelV_AA0aB9DirectoryOSgyAA0aJ0VSg_s5Error_pSgtcSgtF":{"name":"read(fileStorage:at:completion:)","abstract":"

Read data file from disk at custom directory

","parent_name":"ESFileManagerProtocol"},"Protocols/ESFileManagerProtocol.html#/s:13ESFileManager0aB8ProtocolP6remove4file2at10completionyAA0A9NameModelV_AA0aB9DirectoryOSgys5Error_pSgcSgtF":{"name":"remove(file:at:completion:)","abstract":"

Remove file from disk at custom directory

","parent_name":"ESFileManagerProtocol"},"Protocols/ESFileManagerProtocol.html#/s:13ESFileManager0aB8ProtocolP9listFiles2at10completionyAA0aB9DirectoryOSg_ySayAA0A9NameModelVGSg_s5Error_pSgtcSgtF":{"name":"listFiles(at:completion:)","abstract":"

Get list files in storage at custom directory

","parent_name":"ESFileManagerProtocol"},"Protocols/ESFileManagerProtocol.html":{"name":"ESFileManagerProtocol","abstract":"

Protocol for Manager for write and read file from bundle

"},"Enums/ESFileManagerDirectory.html#/s:13ESFileManager0aB9DirectoryO9documentsyACSSSg_SbtcACmF":{"name":"documents(customPath:useBackups:)","abstract":"

Use this directory to store user-generated content. The contents of this directory can be made available to the user through file sharing; therefore, this directory should only contain files that you may wish to expose to the user. The contents of this directory are backed up by iTunes and iCloud.

","parent_name":"ESFileManagerDirectory"},"Enums/ESFileManagerDirectory.html#/s:13ESFileManager0aB9DirectoryO18applicationSupportyACSSSg_SbtcACmF":{"name":"applicationSupport(customPath:useBackups:)","abstract":"

Use this Library subdirectories for any files you don’t want exposed to the user. Your app should not use these directories for user data files. The contents of this directory can be backed up by iTunes and iCloud.

","parent_name":"ESFileManagerDirectory"},"Enums/ESFileManagerDirectory.html#/s:13ESFileManager0aB9DirectoryO6cachesyACSSSg_tcACmF":{"name":"caches(customPath:)","abstract":"

Use this directory to write any app-specific support files that your app can re-create easily. Your app is generally responsible for managing the contents of this directory and for adding and deleting files as needed. In iOS 5.0 and later, the system may delete the Caches directory on rare occasions when the system is very low on disk space. This will never occur while an app is running. However, be aware that restoring from backup is not necessarily the only condition under which the Caches directory can be erased.

","parent_name":"ESFileManagerDirectory"},"Enums/ESFileManagerDirectory.html#/s:13ESFileManager0aB9DirectoryO3tmpyA2CmF":{"name":"tmp","abstract":"

Use this directory to write temporary files that do not need to persist between launches of your app. Your app should remove files from this directory when they are no longer needed; however, the system may purge this directory when your app is not running. The contents of this directory are not backed up by iTunes or iCloud.

","parent_name":"ESFileManagerDirectory"},"Enums/ESFileExtensionType.html#/s:13ESFileManager0A13ExtensionTypeO3txtyA2CmF":{"name":"txt","abstract":"

Undocumented

","parent_name":"ESFileExtensionType"},"Enums/ESFileExtensionType.html#/s:13ESFileManager0A13ExtensionTypeO6customyACSS_tcACmF":{"name":"custom(extensionName:)","abstract":"

Undocumented

","parent_name":"ESFileExtensionType"},"Enums/ESFileExtensionType.html":{"name":"ESFileExtensionType","abstract":"

File format for write on disk

"},"Enums/ESFileManagerDirectory.html":{"name":"ESFileManagerDirectory","abstract":"

Enum with diffrent type of storage. You can check case for additional inforamtion

"},"Enums.html":{"name":"Enumerations","abstract":"

The following enumerations are available globally.

"},"Protocols.html":{"name":"Protocols","abstract":"

The following protocols are available globally.

"},"Structs.html":{"name":"Structures","abstract":"

The following structures are available globally.

"}} \ No newline at end of file diff --git a/docs/docsets/.docset/Contents/Resources/docSet.dsidx b/docs/docsets/.docset/Contents/Resources/docSet.dsidx new file mode 100644 index 0000000000000000000000000000000000000000..feae16c843a6fa525f21feb74f00a1a10a2b0cbb GIT binary patch literal 12288 zcmeI1-BQ~|6vtPxwP5q%d=bZSAWA3&N&p)h5}c-q06}T^3I-A~O*29k!BgAPNNa+7 zCwkYJ_NKjSZ=3Wf+6QRw+DAxclB?tqx+__ZWn_%0O)?#M##oki&pCT`|7Z7SlJ^$U zNMg5TH7g)C22KHr0(V#z06^Xz{I*^+zVKRK@F!JvUG0(uBXPC^KcxdBAn+ajx&A*oiGC?yO#OnY&s(?3OV74q|T&O z>`_(=q?yrl)cLvLC2^4fv95Wu1;2-+oQ6HEVI5a?w>>oa7D5nAhV@A?uOT@*AX&Ya zut*bwd`8MjIaD6OK@+{BS|S>=#TVi54a*b>WO>4LP~fJM$;U|Krn9q;Erc-^5DV)!MM2z=v;lK; zE4YR^Chd6MCQRc-&XP}xS<}0_AP~a(rl2U9v}i1e>;=b5YeeNAfSXOXO)aZRGk=Hl+ccxvN|1R%SkT6)D5fa%4EsMn1G^@ zcTNf%7qP8Iye0}sf!yXMiC!1wl$6<+!?(3@UR7oFv66g(MEsuB6Q?1V4(-QODJ$r6p%> zi^a{csG`zCLq8)O4CoErD(a9dQ>Q*g97g-Gb_Vo^IGb)Adzjm$snJi`42=d$`f=8% zJapH%8?C)heTMdikEXqPqivYZ=Bwz8Z8da8)zVqL zfj3T5S_=d>L;7$!mqr6AXt$kjoIuP2WXPYxwvt#CYjV|2>QGATegPI|3wR>0(3O~zxWL# z_)onD{ttZx3I0<};{OYei1|LMIs6~og9QJn6X*Z)dJiP{PaQ<@4}$-@^fpNFpDICl z)5EIH|L5iyjQ@6RS&FUvJdD}T>bD`mf2sysST+x{<+SNHo&V41HzC1)swQtVVh9ap zkkk4-NbnyA|9|2CQ~Ee0_+OJt8ZjM>W0k;l2IGHGPo<-zxlh`U?xlwYH*}6N82>FD z*5?0?7=!WOYHvcmlb3ROZ`X&2MuW99YLBzrf`c-f#s6)3Kha}bZ9Uc-ZiBVw*KZN+ z4Ifc^^+wxl{`cuuh|Z{*I;%JE#%Zb*L4yC(iSmDoPD6tKMX#80PoDqbLrCzSst%Af zNZI<~ffy+NabZ_swutE=s)_vX)&02K=<8+%NeJ(c|2+s2{HIQo|LOZA$3b89>07G* J#}2~({{p4J0O|k$ literal 0 HcmV?d00001 diff --git a/docs/docsets/.tgz b/docs/docsets/.tgz new file mode 100644 index 0000000000000000000000000000000000000000..228264cbde5bd6eaa4c5742b00b6cfb08ffc0e56 GIT binary patch literal 45735 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 I834Qk03P1R_W%F@ literal 0 HcmV?d00001 diff --git a/docs/img/carat.png b/docs/img/carat.png new file mode 100755 index 0000000000000000000000000000000000000000..29d2f7fd4955fca6bc6fb740e0373a2c358c398e GIT binary patch literal 274 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRo!3HEV4DF?Wlw^r(L`iUdT1k0gQ7VIDN`6wR zf@f}GdTLN=VoGJ<$y6JlqAi{-jv*Ddl5#RKJQ5NTUZgiPI4RUKGIKU?u8L&ndhX1t za+0CMVUnT(Gnb}ei=c~x==tMH^F1_tBocXwcoSWoO-SZY-o>!8%^=Bms)(~h;m_U( zXNixk28L}0LS5-jKyq@#2gyS|J&f#pGCLkTc<@2s1dqeyqJ*Rc0tSIETAgmODY;(s z2y|Mcp&2}7rpBprBBB~1qM1`N+}4SoxYVPqsXi&l`rxZp{(w0iSy$Nv5*Vy!RapG^ S^0y4=eg;ohKbLh*2~7a!Pg}VF literal 0 HcmV?d00001 diff --git a/docs/img/dash.png b/docs/img/dash.png new file mode 100755 index 0000000000000000000000000000000000000000..6f694c7a012b417908da3687a0a39aa182e91c74 GIT binary patch literal 1338 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 ShohtYzipXxh2)4xTk + + + Reference + + + + + + + + + +
+
+

Docs (89% documented)

+
+
+
+ +
+
+ +
+
+
+ +

ESFileManager

+ +

A description of this package.

+ +
+
+ +
+
+ + + diff --git a/docs/js/jazzy.js b/docs/js/jazzy.js new file mode 100755 index 0000000..1e55d6e --- /dev/null +++ b/docs/js/jazzy.js @@ -0,0 +1,70 @@ +window.jazzy = {'docset': false} +if (typeof window.dash != 'undefined') { + document.documentElement.className += ' dash' + window.jazzy.docset = true +} +if (navigator.userAgent.match(/xcode/i)) { + document.documentElement.className += ' xcode' + window.jazzy.docset = true +} + +function toggleItem($link, $content) { + var animationDuration = 300; + $link.toggleClass('token-open'); + $content.slideToggle(animationDuration); +} + +function itemLinkToContent($link) { + return $link.parent().parent().next(); +} + +// On doc load + hash-change, open any targetted item +function openCurrentItemIfClosed() { + if (window.jazzy.docset) { + return; + } + var $link = $(`a[name="${location.hash.substring(1)}"]`).nextAll('.token'); + $content = itemLinkToContent($link); + if ($content.is(':hidden')) { + toggleItem($link, $content); + } +} + +$(openCurrentItemIfClosed); +$(window).on('hashchange', openCurrentItemIfClosed); + +// On item link ('token') click, toggle its discussion +$('.token').on('click', function(event) { + if (window.jazzy.docset) { + return; + } + var $link = $(this); + toggleItem($link, itemLinkToContent($link)); + + // Keeps the document from jumping to the hash. + var href = $link.attr('href'); + if (history.pushState) { + history.pushState({}, '', href); + } else { + location.hash = href; + } + event.preventDefault(); +}); + +// Clicks on links to the current, closed, item need to open the item +$("a:not('.token')").on('click', function() { + if (location == this.href) { + openCurrentItemIfClosed(); + } +}); + +// KaTeX rendering +if ("katex" in window) { + $($('.math').each( (_, element) => { + katex.render(element.textContent, element, { + displayMode: $(element).hasClass('m-block'), + throwOnError: false, + trust: true + }); + })) +} diff --git a/docs/js/jquery.min.js b/docs/js/jquery.min.js new file mode 100644 index 0000000..a1c07fd --- /dev/null +++ b/docs/js/jquery.min.js @@ -0,0 +1,2 @@ +/*! jQuery v3.4.1 | (c) JS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){(s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;while(o--)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this)}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;nx",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;while(l--)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(R)||[""]).length;while(l--)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="
",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===k.css(e,"position"))e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 0file name

","parent_name":"ESFileNameModel"},"Structs/ESFileNameModel.html#/s:13ESFileManager0A9NameModelV13fileExtensionAA0aF4TypeOvp":{"name":"fileExtension","abstract":"

file extension

","parent_name":"ESFileNameModel"},"Structs/ESFileNameModel.html#/s:13ESFileManager0A9NameModelV4name13fileExtensionACSS_AA0aG4TypeOtcfc":{"name":"init(name:fileExtension:)","abstract":"

Init for model

","parent_name":"ESFileNameModel"},"Structs/ESFileModel.html#/s:13ESFileManager0A5ModelV4data10Foundation4DataVSgvp":{"name":"data","abstract":"

data represent of file

","parent_name":"ESFileModel"},"Structs/ESFileModel.html#/s:13ESFileManager0A5ModelV4nameAA0a4NameC0Vvp":{"name":"name","abstract":"

file storage model (like file name and file extension)

","parent_name":"ESFileModel"},"Structs/ESFileModel.html#/s:13ESFileManager0A5ModelV4data4nameAC10Foundation4DataVSg_AA0a4NameC0Vtcfc":{"name":"init(data:name:)","abstract":"

Init model

","parent_name":"ESFileModel"},"Structs/ESFileManager.html#/s:13ESFileManagerAAV16defaultDirectoryAbA0abD0O_tcfc":{"name":"init(defaultDirectory:)","abstract":"

Undocumented

","parent_name":"ESFileManager"},"Structs/ESFileManager.html#/s:13ESFileManagerAAV5write4file2at10completionyAA0A5ModelV_AA0aB9DirectoryOSgys5Error_pSgcSgtF":{"name":"write(file:at:completion:)","abstract":"

write data file to disk at custom directory

","parent_name":"ESFileManager"},"Structs/ESFileManager.html#/s:13ESFileManagerAAV4read11fileStorage2at10completionyAA0A9NameModelV_AA0aB9DirectoryOSgyAA0aI0VSg_s5Error_pSgtcSgtF":{"name":"read(fileStorage:at:completion:)","abstract":"

Read data file from disk at custom directory

","parent_name":"ESFileManager"},"Structs/ESFileManager.html#/s:13ESFileManagerAAV6remove4file2at10completionyAA0A9NameModelV_AA0aB9DirectoryOSgys5Error_pSgcSgtF":{"name":"remove(file:at:completion:)","abstract":"

Remove file from disk at custom directory

","parent_name":"ESFileManager"},"Structs/ESFileManager.html#/s:13ESFileManagerAAV9listFiles2at10completionyAA0aB9DirectoryOSg_ySayAA0A9NameModelVGSg_s5Error_pSgtcSgtF":{"name":"listFiles(at:completion:)","abstract":"

Get list files in storage at custom directory

","parent_name":"ESFileManager"},"Structs/ESFileManager.html":{"name":"ESFileManager","abstract":"

Manager for write and read file from bundle

"},"Structs/ESFileModel.html":{"name":"ESFileModel","abstract":"

Model of file on disk. Contain Data and file storage model (like file name and file extension)

"},"Structs/ESFileNameModel.html":{"name":"ESFileNameModel","abstract":"

file storage model ( file name and file extension)

"},"Protocols/ESFileManagerProtocol.html#/s:13ESFileManager0aB8ProtocolP5write4file2at10completionyAA0A5ModelV_AA0aB9DirectoryOSgys5Error_pSgcSgtF":{"name":"write(file:at:completion:)","abstract":"

write data file to disk at custom directory

","parent_name":"ESFileManagerProtocol"},"Protocols/ESFileManagerProtocol.html#/s:13ESFileManager0aB8ProtocolP4read11fileStorage2at10completionyAA0A9NameModelV_AA0aB9DirectoryOSgyAA0aJ0VSg_s5Error_pSgtcSgtF":{"name":"read(fileStorage:at:completion:)","abstract":"

Read data file from disk at custom directory

","parent_name":"ESFileManagerProtocol"},"Protocols/ESFileManagerProtocol.html#/s:13ESFileManager0aB8ProtocolP6remove4file2at10completionyAA0A9NameModelV_AA0aB9DirectoryOSgys5Error_pSgcSgtF":{"name":"remove(file:at:completion:)","abstract":"

Remove file from disk at custom directory

","parent_name":"ESFileManagerProtocol"},"Protocols/ESFileManagerProtocol.html#/s:13ESFileManager0aB8ProtocolP9listFiles2at10completionyAA0aB9DirectoryOSg_ySayAA0A9NameModelVGSg_s5Error_pSgtcSgtF":{"name":"listFiles(at:completion:)","abstract":"

Get list files in storage at custom directory

","parent_name":"ESFileManagerProtocol"},"Protocols/ESFileManagerProtocol.html":{"name":"ESFileManagerProtocol","abstract":"

Protocol for Manager for write and read file from bundle

"},"Enums/ESFileManagerDirectory.html#/s:13ESFileManager0aB9DirectoryO9documentsyACSSSg_SbtcACmF":{"name":"documents(customPath:useBackups:)","abstract":"

Use this directory to store user-generated content. The contents of this directory can be made available to the user through file sharing; therefore, this directory should only contain files that you may wish to expose to the user. The contents of this directory are backed up by iTunes and iCloud.

","parent_name":"ESFileManagerDirectory"},"Enums/ESFileManagerDirectory.html#/s:13ESFileManager0aB9DirectoryO18applicationSupportyACSSSg_SbtcACmF":{"name":"applicationSupport(customPath:useBackups:)","abstract":"

Use this Library subdirectories for any files you don’t want exposed to the user. Your app should not use these directories for user data files. The contents of this directory can be backed up by iTunes and iCloud.

","parent_name":"ESFileManagerDirectory"},"Enums/ESFileManagerDirectory.html#/s:13ESFileManager0aB9DirectoryO6cachesyACSSSg_tcACmF":{"name":"caches(customPath:)","abstract":"

Use this directory to write any app-specific support files that your app can re-create easily. Your app is generally responsible for managing the contents of this directory and for adding and deleting files as needed. In iOS 5.0 and later, the system may delete the Caches directory on rare occasions when the system is very low on disk space. This will never occur while an app is running. However, be aware that restoring from backup is not necessarily the only condition under which the Caches directory can be erased.

","parent_name":"ESFileManagerDirectory"},"Enums/ESFileManagerDirectory.html#/s:13ESFileManager0aB9DirectoryO3tmpyA2CmF":{"name":"tmp","abstract":"

Use this directory to write temporary files that do not need to persist between launches of your app. Your app should remove files from this directory when they are no longer needed; however, the system may purge this directory when your app is not running. The contents of this directory are not backed up by iTunes or iCloud.

","parent_name":"ESFileManagerDirectory"},"Enums/ESFileExtensionType.html#/s:13ESFileManager0A13ExtensionTypeO3txtyA2CmF":{"name":"txt","abstract":"

Undocumented

","parent_name":"ESFileExtensionType"},"Enums/ESFileExtensionType.html#/s:13ESFileManager0A13ExtensionTypeO6customyACSS_tcACmF":{"name":"custom(extensionName:)","abstract":"

Undocumented

","parent_name":"ESFileExtensionType"},"Enums/ESFileExtensionType.html":{"name":"ESFileExtensionType","abstract":"

File format for write on disk

"},"Enums/ESFileManagerDirectory.html":{"name":"ESFileManagerDirectory","abstract":"

Enum with diffrent type of storage. You can check case for additional inforamtion

"},"Enums.html":{"name":"Enumerations","abstract":"

The following enumerations are available globally.

"},"Protocols.html":{"name":"Protocols","abstract":"

The following protocols are available globally.

"},"Structs.html":{"name":"Structures","abstract":"

The following structures are available globally.

"}} \ No newline at end of file diff --git a/docs/undocumented.json b/docs/undocumented.json new file mode 100644 index 0000000..4e5854c --- /dev/null +++ b/docs/undocumented.json @@ -0,0 +1,26 @@ +{ + "warnings": [ + { + "file": "/Users/dmitriytoropkin/WithoutSync/Eskaria/ESFileManager/ESFileManager/FileManager/Data Layer/Manager/ESFileManager.swift", + "line": 20, + "symbol": "ESFileManager.init(defaultDirectory:)", + "symbol_kind": "source.lang.swift.decl.function.method.instance", + "warning": "undocumented" + }, + { + "file": "/Users/dmitriytoropkin/WithoutSync/Eskaria/ESFileManager/ESFileManager/FileManager/Data Layer/Model/ESFileNameModel.swift", + "line": 13, + "symbol": "ESFileExtensionType.txt", + "symbol_kind": "source.lang.swift.decl.enumelement", + "warning": "undocumented" + }, + { + "file": "/Users/dmitriytoropkin/WithoutSync/Eskaria/ESFileManager/ESFileManager/FileManager/Data Layer/Model/ESFileNameModel.swift", + "line": 14, + "symbol": "ESFileExtensionType.custom(extensionName:)", + "symbol_kind": "source.lang.swift.decl.enumelement", + "warning": "undocumented" + } + ], + "source_directory": "/Users/dmitriytoropkin/WithoutSync/Eskaria/ESFileManager" +} \ No newline at end of file From 250c197b509b17ceb32460679313a88d24285687 Mon Sep 17 00:00:00 2001 From: Dmitriy Date: Sat, 16 May 2020 20:27:01 +0300 Subject: [PATCH 2/2] readme --- README.md | 89 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 88 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 380d78a..68399fa 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,90 @@ # ESFileManager -A description of this package. +A simple library for use iOS File manager + +# Usage + +## Standart use + +1) Import in project + +```swift +import ESFileManager +``` + +[model of log](https://eskaria.github.io/AdvancedLogger/Structs.html#/s:14AdvancedLogger0aB5ModelV) + +2) Create property of ESFileManager. In argument used default way for write/read data, but you can use init with default value "Document folder without iCloud sync". You can read about [this folders and when use kind of this](https://eskaria.github.io/ESFileManager/Enums/ESFileExtensionType.html) + +```swift +private var fileManager: ESFileManagerProtocol = ESFileManager() +``` + +3) You can read data with [read func](https://eskaria.github.io/ESFileManager/Protocols/ESFileManagerProtocol.html#/s:13ESFileManager0aB8ProtocolP4read11fileStorage2at10completionyAA0A9NameModelV_AA0aB9DirectoryOSgyAA0aJ0VSg_s5Error_pSgtcSgtF). For read and write used [model of file](https://eskaria.github.io/ESFileManager/Structs/ESFileModel.html) which contain [model with name and extension of file](https://eskaria.github.io/ESFileManager/Structs/ESFileNameModel.html) + + +```swift +private func readFile() { + // create name and extension of file to read + let file = ESFileNameModel(name: "SwiftDoc", fileExtension: .txt) + + //read this file. At = nil cause we use default directory + fileManager.read(fileStorage: file, at: nil) { (file, error) in + //fetch error + if let error = error { + //fetch error + return + } + //fetch empty state of file + guard let data = file?.data else { + // file is empty! + return + } + //show our file + let stringFile = String(data: data, encoding: .utf8) + //You successful read the file! + } +} +``` + +3) You can write your file on disk with [write func](https://eskaria.github.io/ESFileManager/Protocols/ESFileManagerProtocol.html#/s:13ESFileManager0aB8ProtocolP5write4file2at10completionyAA0A5ModelV_AA0aB9DirectoryOSgys5Error_pSgcSgtF) + +```swift +private func writeFile() { + // create data to write + let data = "Swift is amazing!".data(using: .utf8) + + let fileName = ESFileNameModel(name: "SwiftDoc", fileExtension: .txt) + let file = ESFileModel(data: data, name: fileName) + + // write data. At = nil cause we use default directory from prepareVC method + fileManager.write(file: file, at: nil) { (error) in + if let error = error { + //error + return + } + //You successful recorded the file! + } +} +``` + +4) For remove file you [remove func](https://eskaria.github.io/ESFileManager/Protocols/ESFileManagerProtocol.html#/s:13ESFileManager0aB8ProtocolP6remove4file2at10completionyAA0A9NameModelV_AA0aB9DirectoryOSgys5Error_pSgcSgtF) + +```swift +private func removeFile() { + // create name and extension of file to remove + let file = ESFileNameModel(name: "SwiftDoc", fileExtension: .txt) + + //remove this file. At = nil cause we use default directory + fileManager.remove(file: file, at: nil) { (error) in + //fetch error + if let error = error { + // fetch error + return + } + //You successful remove this file! + } +} +``` + +5) You can geet list of files in your directory with [list func](https://eskaria.github.io/ESFileManager/Protocols/ESFileManagerProtocol.html#/s:13ESFileManager0aB8ProtocolP9listFiles2at10completionyAA0aB9DirectoryOSg_ySayAA0A9NameModelVGSg_s5Error_pSgtcSgtF)