[
  {
    "path": ".github/FUNDING.yml",
    "content": "open_collective: freshos\ngithub: s4cha\n"
  },
  {
    "path": ".gitignore",
    "content": "# Xcode\n#\nbuild/\n*.pbxuser\n!default.pbxuser\n*.mode1v3\n!default.mode1v3\n*.mode2v3\n!default.mode2v3\n*.perspectivev3\n!default.perspectivev3\nxcuserdata\n*.xccheckout\n*.moved-aside\nDerivedData\n*.hmap\n*.ipa\n*.xcuserstate\n.DS_Store\n.swiftpm\n\n# CocoaPods\n#\n# We recommend against adding the Pods directory to your .gitignore. However\n# you should judge for yourself, the pros and cons are mentioned at:\n# http://guides.cocoapods.org/using/using-cocoapods.html#should-i-ignore-the-pods-directory-in-source-control\n#\n# Pods/\n\n# Carthage\n#\n# Add this line if you want to avoid checking in source code from Carthage dependencies.\n# Carthage/Checkouts\n\nCarthage/Build\n\n# SPM\n/.build\n/Packages\n/*.xcodeproj\n"
  },
  {
    "path": ".swiftlint.yml",
    "content": "\ndisabled_rules:\n- cyclomatic_complexity\n- trailing_whitespace\n- valid_docs\n- type_name\n- missing_docs\n- conditional_binding_cascade\n- force_unwrapping\n- identifier_name\nopt_in_rules:\n- empty_count\n- missing_docs\n- force_unwrapping\n"
  },
  {
    "path": "CODE_OF_CONDUCT.md",
    "content": "# Contributor Covenant Code of Conduct\n\n## Our Pledge\n\nIn the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.\n\n## Our Standards\n\nExamples of behavior that contributes to creating a positive environment include:\n\n* Using welcoming and inclusive language\n* Being respectful of differing viewpoints and experiences\n* Gracefully accepting constructive criticism\n* Focusing on what is best for the community\n* Showing empathy towards other community members\n\nExamples of unacceptable behavior by participants include:\n\n* The use of sexualized language or imagery and unwelcome sexual attention or advances\n* Trolling, insulting/derogatory comments, and personal or political attacks\n* Public or private harassment\n* Publishing others' private information, such as a physical or electronic address, without explicit permission\n* Other conduct which could reasonably be considered inappropriate in a professional setting\n\n## Our Responsibilities\n\nProject maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.\n\nProject maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.\n\n## Scope\n\nThis Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.\n\n## Enforcement\n\nInstances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at sachadso@gmail.com. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.\n\nProject maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.\n\n## Attribution\n\nThis Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]\n\n[homepage]: http://contributor-covenant.org\n[version]: http://contributor-covenant.org/version/1/4/\n"
  },
  {
    "path": "LICENSE",
    "content": "The MIT License (MIT)\n\nCopyright (c) 2015 \n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n"
  },
  {
    "path": "Package.swift",
    "content": "// swift-tools-version:6.0\n\nimport PackageDescription\n\nlet package = Package(\n    name: \"Arrow\",\n    platforms: [\n        .iOS(.v12),\n        .macOS(.v10_13),\n        .tvOS(.v12),\n        .watchOS(.v4)],\n    products: [.library(name: \"Arrow\", targets: [\"Arrow\"])],\n    targets: [\n        .target(name: \"Arrow\", path: \"Sources\", resources: [.copy(\"PrivacyInfo.xcprivacy\")]),\n        .testTarget(name: \"ArrowTests\", dependencies: [\"Arrow\"])\n    ]\n)\n"
  },
  {
    "path": "README.md",
    "content": "![Arrow](https://raw.githubusercontent.com/freshOS/Arrow/master/banner.png)\n\n# Arrow\n\n[![Language: Swift 6](https://img.shields.io/badge/language-swift6-f48041.svg?style=flat)](https://developer.apple.com/swift)\n![Platform: iOS 8+](https://img.shields.io/badge/platform-iOS%208%2B-blue.svg?style=flat)\n[![SPM compatible](https://img.shields.io/badge/SPM-compatible-4BC51D.svg?style=flat)](https://swift.org/package-manager)\n[![Build Status](https://app.bitrise.io/app/57b6b1b8959ef398/status.svg?token=WBTcuBRgfLeDB6-A3j7gFA)](https://app.bitrise.io/app/57b6b1b8959ef398)\n[![codebeat badge](https://codebeat.co/badges/f037ac0c-b3d9-4132-9fca-64150a908113)](https://codebeat.co/projects/github-com-freshos-arrow)\n[![License: MIT](http://img.shields.io/badge/license-MIT-lightgrey.svg?style=flat)](https://github.com/freshOS/Arrow/blob/master/LICENSE)\n![Release version](https://img.shields.io/github/release/freshos/Arrow.svg)\n\n[Reason](#reason) - [Example](#example) - [Installation](#installation)\n\n\n```swift\nidentifier <-- json[\"id\"]\nname <-- json[\"name\"]\nstats <-- json[\"stats\"]\n```\n\nBecause parsing JSON in Swift is full of **unecessary if lets, obvious casts and nil-checks**  \n*There must be a better way*\n\n## Try it\n\nArrow is part of [freshOS](https://freshos.github.io/) iOS toolset. Try it in an example App! <a class=\"github-button\" href=\"https://github.com/freshOS/StarterProject/archive/master.zip\" data-icon=\"octicon-cloud-download\" data-style=\"mega\" aria-label=\"Download freshOS/StarterProject on GitHub\">Download Starter Project</a>\n\n## How\nBy using a simple arrow operator that takes care of the boilerplate code for us.  \nJson mapping code becomes **concise** and **maintainable** ❤️\n\n\n## Why use Arrow\n- [x] Infers types\n- [x] Leaves your models clean\n- [x] Handles custom & nested models\n- [x] Dot and array syntax\n- [x] Pure Swift, Simple & Lightweight\n\n## Example\n\n### Swift Model\n```swift\nstruct Profile {\n    var identifier = 0\n    var name = \"\"\n    var link:NSURL?\n    var weekday:WeekDay = .Monday\n    var stats = Stats()\n    var phoneNumbers = [PhoneNumber]()\n}\n```\n### JSON File\n```json\n{\n    \"id\": 15678,\n    \"name\": \"John Doe\",\n    \"link\": \"https://apple.com/steve\",\n    \"weekdayInt\" : 3,\n    \"stats\": {\n        \"numberOfFriends\": 163,\n        \"numberOfFans\": 10987\n    },\n    \"phoneNumbers\": [{\n                     \"label\": \"house\",\n                     \"number\": \"9809876545\"\n                     }, {\n                     \"label\": \"cell\",\n                     \"number\": \"0908070656\"\n                     }, {\n                     \"label\": \"work\",\n                     \"number\": \"0916570656\"\n    }]\n}\n```\n\n### Before (Chaos)\n```swift\nvar profile = Profile()\n\n// Int\nif let id = json[\"id\"] as? Int {\n    profile.identifier = id\n}  \n// String\nif let name = json[\"name\"] as? String {\n    profile.name = name\n}\n// NSURL\nif let link = json[\"link\"] as? String, url = NSURL(string:link)  {\n    profile.link = link\n}\n// Enum\nif let weekdayInt = json[\"weekdayInt\"] as? Int, weekday = WeekDay(rawValue:weekdayInt) {\n    profile.weekday = weekday\n}\n// Custom nested object\nif let statsJson = json[\"stats\"] as? AnyObject {\n    if let numberOfFans = statsJson[\"numberOfFans\"] as? Int {\n        profile.stats.numberOfFans = numberOfFans\n    }\n    if let numberOfFriends = statsJson[\"numberOfFriends\"] as? Int {\n        profile.stats.numberOfFriends = numberOfFriends\n    }\n}\n// Array of custom nested object\nif let pns = json[\"phoneNumbers\"] as? [AnyObject] {\n    for pn in pns {\n        phoneNumbers.append(PhoneNumber(json: pn))\n    }\n}\n```\n\n### After  🎉🎉🎉\n```swift\nextension Profile:ArrowParsable {\n    mutating func deserialize(_ json: JSON) {\n        identifier <-- json[\"id\"]\n        link <-- json[\"link\"]\n        name <-- json[\"name\"]\n        weekday <-- json[\"weekdayInt\"]\n        stats <- json[\"stats\"]\n        phoneNumbers <-- json[\"phoneNumbers\"]\n    }\n}\n```\n\n### Usage\n```swift\nlet profile = Profile()\nprofile.deserialize(json)\n```\n\n## Installation\nThe Swift Package Manager (SPM) is now the official way to install `Arrow`. The other package managers are now deprecated as of `5.1.2` and won't be supported in future versions.\n\n#### Swift Package Manager\n\n`Xcode` > `File` > `Swift Packages` > `Add Package Dependency...` > `Paste` `https://github.com/freshOS/Arrow`\n\n#### Carthage - Deprecated\n```\ngithub \"freshOS/Arrow\"\n```\n#### CocoaPods - Deprecated\n```\ntarget 'MyApp'\npod 'Arrow'\nuse_frameworks!\n```\n\n## How Does That Work\n\nNotice earlier we typed :\n\n```swift\nstats <-- json[\"stats\"]\n```\nThat's because we created and extension \"Stats+Arrow.swift\" enabling us to use the Arrow Operator\n\n```swift\n//  Stats+Arrow.swift\n\nimport Foundation\n\nextension Stats:ArrowParsable {\n    mutating func deserialize(json: JSON) {\n        numberOfFriends <-- json[\"numberOfFriends\"]\n        numberOfFans <-- json[\"numberOfFans\"]\n    }\n}\n```\n\n## Flexible you said\n\n- DO I have to use the <-- for my sub models\n- Nope, you could write it like so if you wanted :\n\n```swift\nstats.numberOfFriends <-- json[\"stats.numberOfFriends\"]\nstats.numberOfFans <-- json[\"stats.numberOfFans\"]\n```\n\n## Date Parsing\n\n### Globally\n\n```swift\n// Configure Global Date Parsing with one of those\nArrow.setDateFormat(\"yyyy-MM-dd'T'HH:mm:ssZZZZZ\")\nArrow.setUseTimeIntervalSinceReferenceDate(true)\nArrow.setDateFormatter(aDateFormatter)\n\n// Then later dates can be parsed form custom date format or timestamps automatically 🎉\nlet json:JSON = JSON([\"date\": \"2013-06-07T16:38:40+02:00\", \"timestamp\": 392308720])\ndate1 <-- json[\"date\"]\ndate2 <-- json[\"timestamp\"]\n```\n\n### On a per-key basis\n```swift\ncreatedAt <-- json[\"created_at\"]?.dateFormat(\"yyyy-MM-dd'T'HH:mm:ssZZZZZ\")\ncreatedAt <-- json[\"created_at\"]?.dateFormatter(aCustomDateFormatter)\n```\nJust provide it on a case per case basis ! 🎉\n\n## Accessing JSON values\n\n### Nested values\n\n```swift\nvalue <-- json[\"nested.nested.nested.nestedValue\"]\n```\n\n### Object at index\n```swift\nvalue <-- json[12]\n```\n\n### Combine both\n```swift\nvalue <-- json[1]?[\"someKey\"]?[2]?[\"something.other\"]\n```\n\n### Looping on Array\n```swift\nif let collection = json.collection {\n    for jsonEntry in collection {\n        //Do something\n    }\n}\n```\n\n## Swift Version\n\n- Swift 2 -> version [**2.0.3**](https://github.com/freshOS/Arrow/releases/tag/2.0.3)\n- Swift 3 -> version [**3.0.5**](https://github.com/freshOS/Arrow/releases/tag/3.0.5)\n- Swift 4 -> version [**4.0.0**](https://github.com/freshOS/Arrow/releases/tag/4.0.0)\n- Swift 4.1 -> version [**4.1.0**](https://github.com/freshOS/Arrow/releases/tag/4.1.0)\n- Swift 4.2 -> version [**4.2.0**](https://github.com/freshOS/Arrow/releases/tag/4.2.0)\n- Swift 5.0 -> version [**5.0.0**](https://github.com/freshOS/Arrow/releases/tag/5.0.0)\n- Swift 5.1 -> version [**5.1.0**](https://github.com/freshOS/Arrow/releases/tag/5.1.0)\n- Swift 5.1.3 -> version [**5.1.1**](https://github.com/freshOS/Arrow/releases/tag/5.1.1)\n- Swift 5.3 -> version [**6.0.0**](https://github.com/freshOS/Arrow/releases/tag/6.0.0)\n\n## Acknowledgements\nThis wouldn't exist without [YannickDot](https://github.com/YannickDot), [Damien-nd](https://github.com/damien-nd) and [maxkonovalov](https://github.com/maxkonovalov)\n\n### Backers\nLike the project? Offer coffee or support us with a monthly donation and help us continue our activities :)\n\n<a href=\"https://opencollective.com/freshos/backer/0/website\" target=\"_blank\"><img src=\"https://opencollective.com/freshos/backer/0/avatar.svg\"></a>\n<a href=\"https://opencollective.com/freshos/backer/1/website\" target=\"_blank\"><img src=\"https://opencollective.com/freshos/backer/1/avatar.svg\"></a>\n<a href=\"https://opencollective.com/freshos/backer/2/website\" target=\"_blank\"><img src=\"https://opencollective.com/freshos/backer/2/avatar.svg\"></a>\n<a href=\"https://opencollective.com/freshos/backer/3/website\" target=\"_blank\"><img src=\"https://opencollective.com/freshos/backer/3/avatar.svg\"></a>\n<a href=\"https://opencollective.com/freshos/backer/4/website\" target=\"_blank\"><img src=\"https://opencollective.com/freshos/backer/4/avatar.svg\"></a>\n<a href=\"https://opencollective.com/freshos/backer/5/website\" target=\"_blank\"><img src=\"https://opencollective.com/freshos/backer/5/avatar.svg\"></a>\n<a href=\"https://opencollective.com/freshos/backer/6/website\" target=\"_blank\"><img src=\"https://opencollective.com/freshos/backer/6/avatar.svg\"></a>\n<a href=\"https://opencollective.com/freshos/backer/7/website\" target=\"_blank\"><img src=\"https://opencollective.com/freshos/backer/7/avatar.svg\"></a>\n<a href=\"https://opencollective.com/freshos/backer/8/website\" target=\"_blank\"><img src=\"https://opencollective.com/freshos/backer/8/avatar.svg\"></a>\n<a href=\"https://opencollective.com/freshos/backer/9/website\" target=\"_blank\"><img src=\"https://opencollective.com/freshos/backer/9/avatar.svg\"></a>\n<a href=\"https://opencollective.com/freshos/backer/10/website\" target=\"_blank\"><img src=\"https://opencollective.com/freshos/backer/10/avatar.svg\"></a>\n<a href=\"https://opencollective.com/freshos/backer/11/website\" target=\"_blank\"><img src=\"https://opencollective.com/freshos/backer/11/avatar.svg\"></a>\n<a href=\"https://opencollective.com/freshos/backer/12/website\" target=\"_blank\"><img src=\"https://opencollective.com/freshos/backer/12/avatar.svg\"></a>\n<a href=\"https://opencollective.com/freshos/backer/13/website\" target=\"_blank\"><img src=\"https://opencollective.com/freshos/backer/13/avatar.svg\"></a>\n<a href=\"https://opencollective.com/freshos/backer/14/website\" target=\"_blank\"><img src=\"https://opencollective.com/freshos/backer/14/avatar.svg\"></a>\n<a href=\"https://opencollective.com/freshos/backer/15/website\" target=\"_blank\"><img src=\"https://opencollective.com/freshos/backer/15/avatar.svg\"></a>\n<a href=\"https://opencollective.com/freshos/backer/16/website\" target=\"_blank\"><img src=\"https://opencollective.com/freshos/backer/16/avatar.svg\"></a>\n<a href=\"https://opencollective.com/freshos/backer/17/website\" target=\"_blank\"><img src=\"https://opencollective.com/freshos/backer/17/avatar.svg\"></a>\n<a href=\"https://opencollective.com/freshos/backer/18/website\" target=\"_blank\"><img src=\"https://opencollective.com/freshos/backer/18/avatar.svg\"></a>\n<a href=\"https://opencollective.com/freshos/backer/19/website\" target=\"_blank\"><img src=\"https://opencollective.com/freshos/backer/19/avatar.svg\"></a>\n<a href=\"https://opencollective.com/freshos/backer/20/website\" target=\"_blank\"><img src=\"https://opencollective.com/freshos/backer/20/avatar.svg\"></a>\n<a href=\"https://opencollective.com/freshos/backer/21/website\" target=\"_blank\"><img src=\"https://opencollective.com/freshos/backer/21/avatar.svg\"></a>\n<a href=\"https://opencollective.com/freshos/backer/22/website\" target=\"_blank\"><img src=\"https://opencollective.com/freshos/backer/22/avatar.svg\"></a>\n<a href=\"https://opencollective.com/freshos/backer/23/website\" target=\"_blank\"><img src=\"https://opencollective.com/freshos/backer/23/avatar.svg\"></a>\n<a href=\"https://opencollective.com/freshos/backer/24/website\" target=\"_blank\"><img src=\"https://opencollective.com/freshos/backer/24/avatar.svg\"></a>\n<a href=\"https://opencollective.com/freshos/backer/25/website\" target=\"_blank\"><img src=\"https://opencollective.com/freshos/backer/25/avatar.svg\"></a>\n<a href=\"https://opencollective.com/freshos/backer/26/website\" target=\"_blank\"><img src=\"https://opencollective.com/freshos/backer/26/avatar.svg\"></a>\n<a href=\"https://opencollective.com/freshos/backer/27/website\" target=\"_blank\"><img src=\"https://opencollective.com/freshos/backer/27/avatar.svg\"></a>\n<a href=\"https://opencollective.com/freshos/backer/28/website\" target=\"_blank\"><img src=\"https://opencollective.com/freshos/backer/28/avatar.svg\"></a>\n<a href=\"https://opencollective.com/freshos/backer/29/website\" target=\"_blank\"><img src=\"https://opencollective.com/freshos/backer/29/avatar.svg\"></a>\n\n### Sponsors\nBecome a sponsor and get your logo on our README on Github with a link to your site :)\n\n<a href=\"https://opencollective.com/freshos/sponsor/0/website\" target=\"_blank\"><img src=\"https://opencollective.com/freshos/sponsor/0/avatar.svg\"></a>\n<a href=\"https://opencollective.com/freshos/sponsor/1/website\" target=\"_blank\"><img src=\"https://opencollective.com/freshos/sponsor/1/avatar.svg\"></a>\n<a href=\"https://opencollective.com/freshos/sponsor/2/website\" target=\"_blank\"><img src=\"https://opencollective.com/freshos/sponsor/2/avatar.svg\"></a>\n<a href=\"https://opencollective.com/freshos/sponsor/3/website\" target=\"_blank\"><img src=\"https://opencollective.com/freshos/sponsor/3/avatar.svg\"></a>\n<a href=\"https://opencollective.com/freshos/sponsor/4/website\" target=\"_blank\"><img src=\"https://opencollective.com/freshos/sponsor/4/avatar.svg\"></a>\n<a href=\"https://opencollective.com/freshos/sponsor/5/website\" target=\"_blank\"><img src=\"https://opencollective.com/freshos/sponsor/5/avatar.svg\"></a>\n<a href=\"https://opencollective.com/freshos/sponsor/6/website\" target=\"_blank\"><img src=\"https://opencollective.com/freshos/sponsor/6/avatar.svg\"></a>\n<a href=\"https://opencollective.com/freshos/sponsor/7/website\" target=\"_blank\"><img src=\"https://opencollective.com/freshos/sponsor/7/avatar.svg\"></a>\n<a href=\"https://opencollective.com/freshos/sponsor/8/website\" target=\"_blank\"><img src=\"https://opencollective.com/freshos/sponsor/8/avatar.svg\"></a>\n<a href=\"https://opencollective.com/freshos/sponsor/9/website\" target=\"_blank\"><img src=\"https://opencollective.com/freshos/sponsor/9/avatar.svg\"></a>\n<a href=\"https://opencollective.com/freshos/sponsor/10/website\" target=\"_blank\"><img src=\"https://opencollective.com/freshos/sponsor/10/avatar.svg\"></a>\n<a href=\"https://opencollective.com/freshos/sponsor/11/website\" target=\"_blank\"><img src=\"https://opencollective.com/freshos/sponsor/11/avatar.svg\"></a>\n<a href=\"https://opencollective.com/freshos/sponsor/12/website\" target=\"_blank\"><img src=\"https://opencollective.com/freshos/sponsor/12/avatar.svg\"></a>\n<a href=\"https://opencollective.com/freshos/sponsor/13/website\" target=\"_blank\"><img src=\"https://opencollective.com/freshos/sponsor/13/avatar.svg\"></a>\n<a href=\"https://opencollective.com/freshos/sponsor/14/website\" target=\"_blank\"><img src=\"https://opencollective.com/freshos/sponsor/14/avatar.svg\"></a>\n<a href=\"https://opencollective.com/freshos/sponsor/15/website\" target=\"_blank\"><img src=\"https://opencollective.com/freshos/sponsor/15/avatar.svg\"></a>\n<a href=\"https://opencollective.com/freshos/sponsor/16/website\" target=\"_blank\"><img src=\"https://opencollective.com/freshos/sponsor/16/avatar.svg\"></a>\n<a href=\"https://opencollective.com/freshos/sponsor/17/website\" target=\"_blank\"><img src=\"https://opencollective.com/freshos/sponsor/17/avatar.svg\"></a>\n<a href=\"https://opencollective.com/freshos/sponsor/18/website\" target=\"_blank\"><img src=\"https://opencollective.com/freshos/sponsor/18/avatar.svg\"></a>\n<a href=\"https://opencollective.com/freshos/sponsor/19/website\" target=\"_blank\"><img src=\"https://opencollective.com/freshos/sponsor/19/avatar.svg\"></a>\n<a href=\"https://opencollective.com/freshos/sponsor/20/website\" target=\"_blank\"><img src=\"https://opencollective.com/freshos/sponsor/20/avatar.svg\"></a>\n<a href=\"https://opencollective.com/freshos/sponsor/21/website\" target=\"_blank\"><img src=\"https://opencollective.com/freshos/sponsor/21/avatar.svg\"></a>\n<a href=\"https://opencollective.com/freshos/sponsor/22/website\" target=\"_blank\"><img src=\"https://opencollective.com/freshos/sponsor/22/avatar.svg\"></a>\n<a href=\"https://opencollective.com/freshos/sponsor/23/website\" target=\"_blank\"><img src=\"https://opencollective.com/freshos/sponsor/23/avatar.svg\"></a>\n<a href=\"https://opencollective.com/freshos/sponsor/24/website\" target=\"_blank\"><img src=\"https://opencollective.com/freshos/sponsor/24/avatar.svg\"></a>\n<a href=\"https://opencollective.com/freshos/sponsor/25/website\" target=\"_blank\"><img src=\"https://opencollective.com/freshos/sponsor/25/avatar.svg\"></a>\n<a href=\"https://opencollective.com/freshos/sponsor/26/website\" target=\"_blank\"><img src=\"https://opencollective.com/freshos/sponsor/26/avatar.svg\"></a>\n<a href=\"https://opencollective.com/freshos/sponsor/27/website\" target=\"_blank\"><img src=\"https://opencollective.com/freshos/sponsor/27/avatar.svg\"></a>\n<a href=\"https://opencollective.com/freshos/sponsor/28/website\" target=\"_blank\"><img src=\"https://opencollective.com/freshos/sponsor/28/avatar.svg\"></a>\n<a href=\"https://opencollective.com/freshos/sponsor/29/website\" target=\"_blank\"><img src=\"https://opencollective.com/freshos/sponsor/29/avatar.svg\"></a>\n"
  },
  {
    "path": "Sources/Arrow/Arrow.swift",
    "content": "//\n//  Arrow.swift\n//  Swift Structs Test\n//\n//  Created by Sacha Durand Saint Omer on 6/7/15.\n//  Copyright (c) 2015 Sacha Durand Saint Omer. All rights reserved.\n//\n\nimport Foundation\n\n\n/**\n This is the protocol that makes your swift Models JSON parsable.\n \n A typical implementation would be the following, preferably in an extension\n called `MyModel+JSON` to keep things nice and clean :\n \n        //  MyModel+JSON.swift\n\n        import Arrow\n\n        extension MyModel: ArrowParsable {\n\n            mutating func deserialize(json: JSON) {\n                myVariable <-- json[\"jsonProperty\"]\n                //...\n            }\n        }\n */\npublic protocol ArrowParsable {\n    /// Makes sure your models can be constructed with an empty constructor.\n    init()\n    /// The method you declare your JSON mapping in.\n    mutating func deserialize(_ json: JSON)\n}\n\npublic extension ArrowParsable {\n    /// A shortcut to init custom models with JSON.\n    init?(_ json: JSON?) {\n        guard let json = json else {\n            return nil\n        }\n        self.init()\n        self.deserialize(json)\n    }\n}\n\n\n/**\n This is used to configure NSDate parsing on a global scale.\n \n        Arrow.setDateFormat(\"yyyy-MM-dd'T'HH:mm:ssZZZZZ\")\n        // or\n        Arrow.setUseTimeIntervalSinceReferenceDate(true)\n \n \nFor more fine grained control, use `dateFormat` on a per field basis :\n \n        createdAt <-- json[\"created_at\"]?.dateFormat(\"yyyy-MM-dd'T'HH:mm:ssZZZZZ\")\n */\npublic actor Arrow {\n    \n    internal static var dateFormatter: DateFormatter? = DateFormatter()\n    internal static var useReferenceDate = false\n    \n    /// Sets the defaut dateFormat for parsing NSDates.\n    public static func setDateFormat(_ format: String) {\n        dateFormatter?.dateFormat = format\n    }\n    \n    /// Sets the defaut dateFormatter for parsing NSDates.\n    public static func setDateFormatter(_ formatter: DateFormatter?) {\n        dateFormatter = formatter\n    }\n    \n    /**\n     Sets `timeIntervalSinceReferenceDate` parsing as the default for NSDates parsing.\n     \n     Default is `false`\n     \n     For more information see `NSDate(timeIntervalSinceReferenceDate`\n     documentation\n     */\n    public static func setUseTimeIntervalSinceReferenceDate(_ ref: Bool) {\n        useReferenceDate = ref\n    }\n}\n\n// MARK: - Parse Default swift Types\n\ninfix operator <-- : AssignmentPrecedence\n\npublic func <-- <T>(left: inout T, right: JSON?) {\n    setLeftIfIsResultNonNil(left: &left, right: right, function: parseType)\n}\n\n/// Parses optional default swift types.\npublic func <-- <T>(left: inout T?, right: JSON?) {\n    parseType(&left, right: right)\n}\n\n/// Parses enums.\npublic func <-- <T: RawRepresentable>(left: inout T, right: JSON?) {\n    setLeftIfIsResultNonNil(left: &left, right: right, function: <--)\n}\n\n/// Parses optional enums.\npublic func <-- <T: RawRepresentable>(left: inout T?, right: JSON?) {\n    var temp: T.RawValue? = nil\n    parseType(&temp, right: right)\n    if let t = temp, let e = T.init(rawValue: t) {\n        left = e\n    }\n}\n\n/// Parses Array of enums.\npublic func <-- <T: RawRepresentable>(left: inout [T], right: JSON?) {\n    setLeftIfIsResultNonNil(left: &left, right: right, function: <--)\n}\n\n/// Parses Optional Array of enums.\npublic func <-- <T: RawRepresentable>(left: inout [T]?, right: JSON?) {\n    if let array = right?.data as? [T.RawValue] {\n        left = array.map { T.init(rawValue: $0) }.compactMap {$0}\n    }\n}\n\n/// Parses user defined custom types.\npublic func <-- <T: ArrowParsable>(left: inout T, right: JSON?) {\n    setLeftIfIsResultNonNil(left: &left, right: right, function: <--)\n}\n\n/// Parses user defined optional custom types.\npublic func <-- <T: ArrowParsable>(left: inout T?, right: JSON?) {\n    if let json = JSON(right?.data) {\n        var t = T.init()\n        t.deserialize(json)\n        left = t\n    }\n}\n\n/// Parses arrays of user defined custom types.\npublic func <-- <T: ArrowParsable>(left: inout [T], right: JSON?) {\n    setLeftIfIsResultNonNil(left: &left, right: right, function: <--)\n}\n\n/// Parses optional arrays of user defined custom types.\npublic func <-- <T: ArrowParsable>(left: inout [T]?, right: JSON?) {\n    if let a = right?.data as? [Any] {\n        left = a.map {\n            var t = T.init()\n            if let json = JSON($0) {\n                t.deserialize(json)\n            }\n            return t\n        }\n    }\n}\n\n/// Parses user defined custom types conforming to `RawRepresentable` protocol.\npublic func <-- <T: ArrowParsable & RawRepresentable>(left: inout T, right: JSON?) {\n    setLeftIfIsResultNonNil(left: &left, right: right, function: <--)\n}\n\n/// Parses user defined optional custom types conforming to `RawRepresentable` protocol.\npublic func <-- <T: ArrowParsable & RawRepresentable>(left: inout T?, right: JSON?) {\n    if let json = JSON(right?.data) {\n        var t = T.init()\n        t.deserialize(json)\n        left = t\n    }\n}\n\n/// Parses array of user defined custom types conforming to `RawRepresentable` protocol.\npublic func <-- <T: ArrowParsable & RawRepresentable>(left: inout [T], right: JSON?) {\n    setLeftIfIsResultNonNil(left: &left, right: right, function: <--)\n}\n\n/// Parses array of user defined optional custom types conforming to `RawRepresentable` protocol.\npublic func <-- <T: ArrowParsable & RawRepresentable>(left: inout [T]?, right: JSON?) {\n    if let a = right?.data as? [Any] {\n        left = a.map {\n            var t = T.init()\n            if let json = JSON($0) {\n                t.deserialize(json)\n            }\n            return t\n        }\n    }\n}\n\n/// Parses NSDates.\npublic func <-- (left: inout Date, right: JSON?) {\n    setLeftIfIsResultNonNil(left: &left, right: right, function: <--)\n}\n\n/// Parses optional NSDates.\npublic func <-- (left: inout Date?, right: JSON?) {\n    // Use custom date format over high level setting when provided\n    if let customFormatter = right?.jsonDateFormatter, let s = right?.data as? String {\n        left = customFormatter.date(from: s)\n    } else if let customFormat = right?.jsonDateFormat, let s = right?.data as? String {\n        let df = DateFormatter()\n        df.dateFormat = customFormat\n        left = df.date(from: s)\n    } else if let s = right?.data as? String {\n        if let date = Arrow.dateFormatter?.date(from: s) {\n            left = date\n        } else if let t = TimeInterval(s) {\n            left = timeIntervalToDate(t)\n        }\n    } else if let t = right?.data as? TimeInterval {\n        left = timeIntervalToDate(t)\n    }\n}\n\n/// Parses NSURLs.\npublic func <-- (left: inout URL, right: JSON?) {\n    setLeftIfIsResultNonNil(left: &left, right: right, function: <--)\n}\n\n/// Parses optional NSURLs.\npublic func <-- (left: inout URL?, right: JSON?) {\n    var str = \"\"\n    str <-- right\n    let set = CharacterSet.urlQueryAllowed\n    if let escapedStr = str.addingPercentEncoding(withAllowedCharacters: set),\n        let url = URL(string: escapedStr) {\n        left = url\n    }\n}\n\n/// Parses arrays of plain swift types.\npublic func <-- <T>(left: inout [T], right: JSON?) {\n    setLeftIfIsResultNonNil(left: &left, right: right, function: <--)\n}\n\n/// Parses optional arrays of plain swift types.\npublic func <-- <T>(left: inout [T]?, right: JSON?) {\n    if let a = right?.data as? [Any] {\n        let tmp: [T] = a.compactMap { var t: T?; parseType(&t, right: JSON($0)); return t }\n        if tmp.count == a.count {\n            left = tmp\n        }\n    }\n}\n\n/// Parses dictionaries of plain swift types.\npublic func <-- <K, V>(left: inout [K: V], right: JSON?) {\n    setLeftIfIsResultNonNil(left: &left, right: right, function: <--)\n}\n\n/// Parses optional dictionaries of plain swift types.\npublic func <-- <K, V>(left: inout [K: V]?, right: JSON?) {\n    if let d = right?.data as? [AnyHashable: Any] {\n        var tmp: [K: V] = [:]\n        d.forEach {\n            var k: K?; parseType(&k, right: JSON($0))\n            var v: V?; parseType(&v, right: JSON($1))\n            if let k = k, let v = v { tmp[k] = v }\n        }\n        if tmp.count == d.count {\n            left = tmp\n        }\n    }\n}\n\n// MARK: - Private methods.\n\nfunc parseType<T>(_ left: inout T?, right: JSON?) {\n    if let v: T = right?.data as? T {\n        left = v\n    } else if let s = right?.data as? String {\n        parseString(&left, string: s)\n    } else if T.self == Float.self {\n        // Sepcial case for Float that\n        // no longer works out of the box in Swift 4.1\n        if let v = right?.data as? Double, let l = Float(v) as? T {\n            left = l\n        }\n    }\n}\n\nfunc parseString<T>(_ left: inout T?, string: String) {\n    switch T.self {\n    case is Int.Type: if let v = Int(string) { left = v as? T }\n    case is UInt.Type: if let v = UInt(string) { left = v as? T }\n    case is Double.Type: if let v = Double(string) { left = v as? T }\n    case is Float.Type: if let v = Float(string) { left = v as? T }\n    case is CGFloat.Type: if let v = CGFloat.NativeType(string) { left = CGFloat(v) as? T }\n    case is Bool.Type: if let v = Int(string) { left = Bool(v != 0)  as? T}\n    default:()\n    }\n}\n\nfunc timeIntervalToDate(_ timeInterval: TimeInterval) -> Date {\n    return Arrow.useReferenceDate\n    ? Date(timeIntervalSinceReferenceDate: timeInterval)\n    : Date(timeIntervalSince1970: timeInterval)\n}\n\nfunc setLeftIfIsResultNonNil<T>(left: inout T, right: JSON?, function: (inout T?, JSON?) -> Void) {\n    var temp: T? = nil\n    function(&temp, right)\n    if let t = temp {\n        left = t\n    }\n}\n"
  },
  {
    "path": "Sources/Arrow/Extensions.swift",
    "content": "//\n//  Extensions.swift\n//  Arrow\n//\n//  Created by Max Konovalov on 07/11/2016.\n//  Copyright © 2016 Sacha Durand Saint Omer. All rights reserved.\n//\n\nimport Foundation\n\n\npublic protocol ArrowInitializable {\n    init?(_ json: JSON?)\n}\n\n// MARK: - Plain types\n\nextension String: ArrowInitializable {\n    /// Construct a `String` from JSON\n    public init?(_ json: JSON?) {\n        var x: String?\n        x <-- json\n        guard let s = x else {\n            return nil\n        }\n        self.init(s)\n    }\n}\n\nextension Int: ArrowInitializable {\n    /// Construct an `Int` from JSON\n    public init?(_ json: JSON?) {\n        var x: Int?\n        x <-- json\n        guard let i = x else {\n            return nil\n        }\n        self.init(i)\n    }\n}\n\nextension UInt: ArrowInitializable {\n    /// Construct a `UInt` from JSON\n    public init?(_ json: JSON?) {\n        var x: UInt?\n        x <-- json\n        guard let u = x else {\n            return nil\n        }\n        self.init(u)\n    }\n}\n\nextension Double: ArrowInitializable {\n    /// Construct a `Double` from JSON\n    public init?(_ json: JSON?) {\n        var x: Double?\n        x <-- json\n        guard let d = x else {\n            return nil\n        }\n        self.init(d)\n    }\n}\n\nextension Float: ArrowInitializable {\n    /// Construct a `Float` from JSON\n    public init?(_ json: JSON?) {\n        var x: Float?\n        x <-- json\n        guard let f = x else {\n            return nil\n        }\n        self.init(f)\n    }\n}\n\nextension CGFloat: ArrowInitializable {\n    /// Construct a `CGFloat` from JSON\n    public init?(_ json: JSON?) {\n        var x: CGFloat?\n        x <-- json\n        guard let f = x else {\n            return nil\n        }\n        self.init(f)\n    }\n}\n\nextension Bool: ArrowInitializable {\n    /// Construct a `Bool` from JSON\n    public init?(_ json: JSON?) {\n        var x: Bool?\n        x <-- json\n        guard let b = x else {\n            return nil\n        }\n        self.init(b)\n    }\n}\n\nextension URL: ArrowInitializable {\n    /// Construct a `URL` from JSON\n    public init?(_ json: JSON?) {\n        var x: String?\n        x <-- json\n        guard let s = x else {\n            return nil\n        }\n        self.init(string: s)\n    }\n}\n\n// MARK: - Raw representable\n\nextension RawRepresentable where RawValue: ArrowInitializable {\n    /// Construct a `RawRepresentable` from JSON\n    public init?(_ json: JSON?) {\n        var x: Self.RawValue?\n        x <-- json\n        guard let r = x else {\n            return nil\n        }\n        self.init(rawValue: r)\n    }\n}\n\n// MARK: - Arrays\n\nextension Array where Element: ArrowInitializable {\n    /// Construct an `Array` from JSON\n    public init?(_ json: JSON?) {\n        var x: [Element]?\n        x <-- json\n        guard let a = x else {\n            return nil\n        }\n        self.init(a)\n    }\n}\n\nextension Array where Element: RawRepresentable, Element.RawValue: ArrowInitializable {\n    /// Construct an `Array` from JSON\n    public init?(_ json: JSON?) {\n        var x: [Element]?\n        x <-- json\n        guard let a = x else {\n            return nil\n        }\n        self.init(a)\n    }\n}\n\n// MARK: - Dictionaries\n\nextension Dictionary where Value: ArrowInitializable {\n    /// Construct a `Dictionary` from JSON\n    public init?(_ json: JSON?) {\n        var x: [Key: Value]?\n        x <-- json\n        guard let d = x else {\n            return nil\n        }\n        self.init()\n        for (k, v) in d {\n            self.updateValue(v, forKey: k)\n        }\n    }\n}\n"
  },
  {
    "path": "Sources/Arrow/JSON.swift",
    "content": "//\n//  JSON.swift\n//  ArrowExample\n//\n//  Created by Sacha Durand Saint Omer on 14/04/16.\n//  Copyright © 2016 Sacha Durand Saint Omer. All rights reserved.\n//\n\nimport Foundation\n/**\n This abstraction helps working with the JSON Format.\n \n It provives a way to access JSON values via subscripting, whether\n it's an array or a dictionary.\n */\nopen class JSON {\n    \n    /// This is the raw data of the JSON\n    open var data: Any?\n    \n    /// This date formating strategy that will be used for that JSON section.\n    /// This should not be set, use `dateFormat` instead.\n    internal var jsonDateFormat: String?\n    \n    internal var jsonDateFormatter: DateFormatter?\n    \n    /// This build a JSON object with raw data.\n    public init?(_ data: Any?) {\n        guard let data = data else {\n            return nil\n        }\n        \n        if let jsonString = data as? String,\n            let jsonData = jsonString.data(using: .utf8),\n            let jsonObject = try? JSONSerialization.jsonObject(with: jsonData, options: .mutableContainers) {\n            self.data = jsonObject\n        } else {\n            self.data = data\n        }\n    }\n    \n    /**\n     - Returns: The array of JSON values. In case of the JSON being a dictionary,\n     this will return nil.\n     */\n    open var collection: [JSON]? {\n        guard let a = data as? [Any] else {\n            return nil\n        }\n        return a.map { JSON($0) }.compactMap {$0}\n    }\n    \n    /**\n     This defines the date format to be used for NSDate parsing.\n \n         createdAt <-- json[\"created_at\"]?.dateFormat(\"yyyy-MM-dd'T'HH:mm:ssZZZZZ\")\n     \n     - Returns: Itself for chaining purposes.\n     */\n    open func dateFormat(_ format: String) -> Self {\n        jsonDateFormat = format\n        return self\n    }\n    \n    open func dateFormatter(_ formatter: DateFormatter) -> Self {\n        jsonDateFormatter = formatter\n        return self\n    }\n    \n    func isKeyPath(_ key: String) -> Bool {\n        return key.split {$0 == \".\"}.count > 1\n    }\n    \n    func parseKeyPath(_ keyPath: String) -> JSON? {\n        if var intermediateValue = JSON(data) {\n            for k in keysForKeyPath(keyPath) {\n                if !tryParseJSONKeyPathKey(k, intermediateValue: &intermediateValue) {\n                    return nil\n                }\n            }\n            return intermediateValue\n        }\n        return nil\n    }\n    \n    func keysForKeyPath(_ keyPath: String) -> [String] {\n        return keyPath.split {$0 == \".\"}.map(String.init)\n    }\n    \n    func tryParseJSONKeyPathKey(_ key: String, intermediateValue: inout JSON) -> Bool {\n        if let ik = Int(key), let value = intermediateValue[ik] { // Array index\n            intermediateValue = value\n        } else if let value = intermediateValue[key] { //key\n            intermediateValue = value\n        } else {\n            return false\n        }\n        return true\n    }\n    \n    func regularParsing(_ key: String) -> JSON? {\n        guard let d = data as? [String: Any], let x = d[key], let subJSON = JSON(x) else {\n            return nil\n        }\n        return subJSON\n    }\n    \n    open subscript(key: String) -> JSON? {\n        get { return isKeyPath(key) ? parseKeyPath(key) : regularParsing(key) }\n        set(obj) {\n            if var d = data as? [String: Any] {\n                d[key] = obj\n            }\n        }\n    }\n    \n    open subscript(index: Int) -> JSON? {\n        guard let array = data as? [Any], array.count > index else {\n            return nil\n        }\n        return JSON(array[index])\n    }\n}\n\nextension JSON: CustomDebugStringConvertible {\n    \n    /// This is just for supporting default console logs.\n    public var debugDescription: String {\n        return data.debugDescription\n    }\n}\n"
  },
  {
    "path": "Sources/PrivacyInfo.xcprivacy",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>NSPrivacyTracking</key>\n\t<false/>\n\t<key>NSPrivacyTrackingDomains</key>\n\t<array/>\n\t<key>NSPrivacyCollectedDataTypes</key>\n\t<array/>\n\t<key>NSPrivacyAccessedAPITypes</key>\n\t<array/>\n</dict>\n</plist>\n"
  },
  {
    "path": "Tests/ArrowTests/ArrayTests.swift",
    "content": "//\n//  ArrayTests.swift\n//  Arrow\n//\n//  Created by Sacha Durand Saint Omer on 10/07/16.\n//  Copyright © 2016 Sacha Durand Saint Omer. All rights reserved.\n//\n\nimport Testing\nimport Arrow\n\nstruct ArrayContainer {\n    var phoneNumbers = [PhoneNumber]()\n    var optionalPhoneNumbers: [PhoneNumber]?\n    var strings = [String]()\n    var ints = [Int]()\n    var bools = [Bool]()\n    var meaningOfLife: Int = 0\n    var nestedArrayParsing = \"\"\n    var weekdays = [WeekDay]()\n    var optionalWeekdays: [WeekDay]?\n}\n\nextension ArrayContainer: ArrowParsable {\n    \n    mutating func deserialize(_ json: JSON) {\n        phoneNumbers <-- json[\"phoneNumbers\"]\n        optionalPhoneNumbers <-- json[\"phoneNumbers\"]\n        strings <-- json[\"strings\"]\n        ints <-- json[\"ints\"]\n        bools <-- json[\"bools\"]\n        meaningOfLife <-- json[\"nested.nested.nested.nestedValue\"]\n        nestedArrayParsing <-- json[\"nestedArray.2\"]\n        weekdays <-- json[\"weekdays\"]\n        optionalWeekdays <-- json[\"weekdays\"]\n    }\n}\n\n@Suite\nstruct ArrayTests {\n    \n    var arrayContainer = ArrayContainer()\n    \n    init() {\n        if let json: JSON = mockJSON() {\n            arrayContainer <-- json\n        }\n    }\n    \n    @Test\n    func parsingArrayOfCustomModels() {\n        #expect(arrayContainer.phoneNumbers.count == 3)\n        if arrayContainer.phoneNumbers.count >= 3 {\n            #expect(arrayContainer.phoneNumbers[0].label == \"house\")\n            #expect(arrayContainer.phoneNumbers[1].label == \"cell\")\n            #expect(arrayContainer.phoneNumbers[2].label == \"work\")\n            \n            #expect(arrayContainer.phoneNumbers[0].number == \"9809876545\")\n            #expect(arrayContainer.phoneNumbers[1].number == \"0908070656\")\n            #expect(arrayContainer.phoneNumbers[2].number == \"0916570656\")\n        } else {\n            Issue.record(\"Parsing ArrayOf Custom Models Fails\")\n        }\n    }\n    \n    @Test\n    func parsingOptionalArrayOfCustomModels() {\n        #expect(arrayContainer.optionalPhoneNumbers?.count == 3)\n        \n        #expect(arrayContainer.optionalPhoneNumbers?[0].label == \"house\")\n        #expect(arrayContainer.optionalPhoneNumbers?[1].label == \"cell\")\n        #expect(arrayContainer.optionalPhoneNumbers?[2].label == \"work\")\n        \n        #expect(arrayContainer.optionalPhoneNumbers?[0].number == \"9809876545\")\n        #expect(arrayContainer.optionalPhoneNumbers?[1].number == \"0908070656\")\n        #expect(arrayContainer.optionalPhoneNumbers?[2].number == \"0916570656\")\n    }\n    \n    @Test\n    func parsingArrayOfStrings() {\n        #expect(arrayContainer.strings.count ==  3)\n        if arrayContainer.strings.count >= 3 {\n            #expect(arrayContainer.strings[0] ==  \"one\")\n            #expect(arrayContainer.strings[1] ==  \"two\")\n            #expect(arrayContainer.strings[2] ==  \"three\")\n        } else {\n            Issue.record(\"Parsing an array of strings fails\")\n        }\n    }\n    \n    @Test\n    func parsingArrayOfInts() {\n        #expect(arrayContainer.ints.count ==  3)\n        if arrayContainer.ints.count >= 3 {\n            #expect(arrayContainer.ints[0] ==  1)\n            #expect(arrayContainer.ints[1] ==  2)\n            #expect(arrayContainer.ints[2] ==  3)\n        } else {\n            Issue.record(\"Parsing an array of ints fails\")\n        }\n    }\n    \n    @Test\n    func parsingArrayOfBools() {\n        #expect(arrayContainer.bools.count == 3)\n        if arrayContainer.bools.count >= 3 {\n            #expect(arrayContainer.bools[0] ==  true)\n            #expect(arrayContainer.bools[1] ==  false)\n            #expect(arrayContainer.bools[2] ==  true)\n        } else {\n            Issue.record(\"Parsing an array of bools fails\")\n        }\n    }\n    \n    @Test\n    func nestedParsing() {\n        #expect(arrayContainer.meaningOfLife ==  42)\n    }\n    \n    @Test\n    func nestedArrayParsing() {\n        #expect(arrayContainer.nestedArrayParsing ==  \"Cool\")\n    }\n    \n    @Test\n    func parsingArrayOfEnums() {\n        #expect(arrayContainer.weekdays.count ==  3)\n        if arrayContainer.weekdays.count >= 3 {\n            #expect(arrayContainer.weekdays[0] ==  WeekDay.monday)\n            #expect(arrayContainer.weekdays[1] ==  WeekDay.wednesday)\n            #expect(arrayContainer.weekdays[2] ==  WeekDay.friday)\n        } else {\n            Issue.record(\"Parsing an array of enums fails\")\n        }\n    }\n    \n    @Test\n    func parsingOptionalArrayOfEnums() {\n        #expect(arrayContainer.optionalWeekdays?.count ==  3)\n        if let w = arrayContainer.optionalWeekdays, w.count >= 3 {\n            #expect(arrayContainer.optionalWeekdays?[0] ==  WeekDay.monday)\n            #expect(arrayContainer.optionalWeekdays?[1] ==  WeekDay.wednesday)\n            #expect(arrayContainer.optionalWeekdays?[2] ==  WeekDay.friday)\n        } else {\n            Issue.record(\"Parsing an array of optional enums fails\")\n        }\n    }\n}\n"
  },
  {
    "path": "Tests/ArrowTests/CustomModelTests.swift",
    "content": "//\n//  CustomModelTests.swift\n//  Arrow\n//\n//  Created by Sacha Durand Saint Omer on 10/07/16.\n//  Copyright © 2016 Sacha Durand Saint Omer. All rights reserved.\n//\n\nimport Testing\nimport Foundation\nimport Arrow\n\n@Suite\nstruct CustomModelTests {\n    \n    var customModelContainer = CustomModelContainer()\n\n    init() {\n        if let json: JSON = mockJSON() {\n            customModelContainer <-- json\n        }\n    }\n    \n    @Test\n    func testParsingCustomModel() {\n        #expect(customModelContainer.stats.numberOfFriends == 163)\n        #expect(customModelContainer.stats.numberOfFans == 10987)\n    }\n    \n    @Test\n    func testParsingOptionalCustomModel() {\n        #expect(customModelContainer.optionalStats?.numberOfFriends == 163)\n        #expect(customModelContainer.optionalStats?.numberOfFans == 10987)\n    }\n    \n    @Test\n    func testParsingIssue() {\n        let myJson = \"{ \\\"homer\\\": \\\"simpson\\\"}\"\n        guard let jsonData = myJson.data(using: .utf8),\n            let jsonObject = try? JSONSerialization.jsonObject(with: jsonData, options: .mutableContainers),\n            let json = JSON(jsonObject) else {\n            return\n        }\n        var aSimpson = Doh()\n        aSimpson.deserialize(json)\n        #expect(aSimpson.homer == \"simpson\")\n    }\n    \n    @Test\n    func testParsingIssueWorksWithString() {\n        let myJson = \"{ \\\"homer\\\": \\\"simpson\\\"}\"\n        guard let json = JSON(myJson) else {\n            return\n        }\n        var aSimpson = Doh()\n        aSimpson.deserialize(json)\n        #expect(aSimpson.homer == \"simpson\")\n    }\n\n}\n\nstruct Doh: Codable {\n    var homer = \"\"\n}\n\nextension Doh: ArrowParsable {\n    public mutating func deserialize(_ json: JSON) {\n        homer <-- json[\"homer\"]\n    }\n}\n"
  },
  {
    "path": "Tests/ArrowTests/CustomRawRepresentableTests.swift",
    "content": "//\n//  CustomRawRepresentableTests.swift\n//  Arrow\n//\n//  Created by Max Konovalov on 03/11/2016.\n//  Copyright © 2016 Sacha Durand Saint Omer. All rights reserved.\n//\n\nimport Testing\nimport Arrow\n\n@Suite\nstruct CustomRawRepresentableTests {\n    \n    var customRawRepresentableContainer = CustomRawRepresentableContainer()\n    \n    init() {\n        if let json: JSON = mockJSON() {\n            customRawRepresentableContainer <-- json\n        }\n    }\n    \n    @Test\n    func testParsingCustomModel() {\n        #expect(customRawRepresentableContainer.identifier == 15678)\n        #expect(customRawRepresentableContainer.rawValue == \"15678\")\n    }\n}\n"
  },
  {
    "path": "Tests/ArrowTests/DateTests.swift",
    "content": "//\n//  DateTests.swift\n//  Arrow\n//\n//  Created by Sacha Durand Saint Omer on 10/07/16.\n//  Copyright © 2016 Sacha Durand Saint Omer. All rights reserved.\n//\n\nimport Testing\nimport Foundation\nimport Arrow\n\n@Suite\nstruct DateTests {\n    \n    var dateContainer = DateContainer()\n    \n    init() {\n        Arrow.setUseTimeIntervalSinceReferenceDate(true)\n        if let json: JSON = mockJSON() {\n            dateContainer <-- json\n        }\n    }\n    \n    @Test\n    func testParsingDate() {\n        let df = DateFormatter()\n        df.dateFormat = \"yyyy-MM-dd'T'HH:mm:ssZZZZZ\"\n        if let date = df.date(from: \"2013-06-07T16:38:40+02:00\") {\n            #expect(date.timeIntervalSinceReferenceDate == dateContainer.createdAt.timeIntervalSinceReferenceDate)\n        } else {\n            Issue.record(\"Parsing a date fails\")\n        }\n    }\n    \n    @Test\n    func testParsingOptionalDate() {\n        let timestamp: TimeInterval = 392308720\n        if let d = dateContainer.optionalDate?.timeIntervalSinceReferenceDate {\n            #expect(timestamp == d)\n        } else {\n            Issue.record(\"Parsing an Optional Date fails\")\n        }\n    }\n    \n    @Test\n    func testCustomDateFormatterDate() {\n        if let json: JSON = mockJSON() {\n            var aDate = Date()\n            let df = DateFormatter()\n            df.dateFormat = \"yyyy-MM-dd'T'HH:mm:ssZZZZZ\"\n            df.timeZone = TimeZone(secondsFromGMT: 60*60*5)\n            aDate <-- json[\"created_at\"]?.dateFormatter(df)\n            #expect(aDate == df.date(from: \"2013-06-07T16:38:40+02:00\"))\n        } else {\n            Issue.record(\"Using a custom date Parser fails\")\n        }\n    }\n    \n    @Test\n    func testGlobalDateFormatterDate() {\n        let df = DateFormatter()\n        df.dateFormat = \"yyyy-MM-dd'T'HH:mm:ssZZZZZ\"\n        Arrow.setDateFormatter(df)\n        if let json: JSON = mockJSON() {\n            var aDate = Date()\n            aDate <-- json[\"created_at\"]\n            #expect(aDate == df.date(from: \"2013-06-07T16:38:40+02:00\"))\n        } else {\n            Issue.record(\"Using a global date parser fails\")\n        }\n        \n        Arrow.setDateFormatter(nil)\n    }\n}\n"
  },
  {
    "path": "Tests/ArrowTests/EnumTests.swift",
    "content": "//\n//  EnumTests.swift\n//  Arrow\n//\n//  Created by Sacha Durand Saint Omer on 10/07/16.\n//  Copyright © 2016 Sacha Durand Saint Omer. All rights reserved.\n//\n\nimport Testing\nimport Arrow\n\n@Suite\nstruct EnumTests {\n\n    var enumContainer = EnumContainer()\n    \n    init() {\n        if let json: JSON = mockJSON() {\n            enumContainer <-- json\n        }\n    }\n\n    @Test\n    func parsingEnumInt() {\n        #expect(enumContainer.weekday == WeekDay.wednesday)\n    }\n    \n    @Test\n    func parsingEnumString() {\n        #expect(enumContainer.difficulty == Difficulty.high)\n    }\n    \n    @Test\n    func parsingOptionalEnumInt() {\n        #expect(enumContainer.optionalWeekday == WeekDay.wednesday)\n    }\n    \n    @Test\n    func parsingOptionalEnumString() {\n        #expect(enumContainer.optionalDifficulty == Difficulty.high)\n    }\n}\n"
  },
  {
    "path": "Tests/ArrowTests/JSON/MockJSON.swift",
    "content": "//\n//  File.swift\n//  \n//\n//  Created by Sacha DSO on 24/12/2019.\n//\n\nimport Arrow\nimport Foundation\n\nfunc mockJSON() -> JSON? {\n\n    let jsonString = \"\"\"\n    {\n        \"id\": \"15678\",\n        \"weekdayInt\" : 3,\n        \"difficulty\": \"high\",\n        \"link\": \"https://apple.com/steve\",\n        \"emoji_link\": \"http://🆒🔗.ws\",\n        \"accent_link\": \"http://gégé.com\",\n        \"created_at\" : \"2013-06-07T16:38:40+02:00\",\n        \"created_at_timestamp\" : \"392308720\",\n        \"name\": \"Francky\",\n        \"stats\": {\n            \"numberOfFriends\": 163,\n            \"numberOfFans\": 10987\n        },\n        \"phoneNumbers\": [{\n                         \"label\": \"house\",\n                         \"number\": \"9809876545\"\n                         }, {\n                         \"label\": \"cell\",\n                         \"number\": \"0908070656\"\n                         }, {\n                         \"label\": \"work\",\n                         \"number\": \"0916570656\"\n        }],\n        \"strings\": [\"one\", \"two\", \"three\"],\n        \"ints\": [1, 2, 3],\n        \"bools\": [true, false, true],\n        \"bool\": true,\n        \"float\" : 0.12,\n        \"double\" : 0.123456789,\n        \"floatString\" : \"0.12\",\n        \"doubleString\" : \"0.123456789\",\n        \n        \"nested\":{\n            \"nested\" : {\n                \"nested\" : {\n                    \"nestedValue\" : \"42\"\n                }\n            }\n        },\n        \"nestedArray\" : [\"one\", \"two\", \"Cool\", \"four\"],\n        \"weekdays\": [1, 3, 5],\n        \"dict\": { \"one\": \"1\", \"two\": \"2\" }\n    }\n\n    \"\"\"\n    if let jsonData = jsonString.data(using: String.Encoding.utf8),\n        let json = ((try? JSONSerialization.jsonObject(with: jsonData,\n                                                       options: .mutableContainers) as? NSDictionary) as NSDictionary??),\n     let dic = json as? [String: Any] {\n        return JSON(dic)\n    }\n    return nil\n}\n    \n   \n"
  },
  {
    "path": "Tests/ArrowTests/Mapping/CustomModelContainer+JSON.swift",
    "content": "//\n//  CustomModelContainer+JSON.swift\n//  Arrow\n//\n//  Created by Sacha Durand Saint Omer on 10/07/16.\n//  Copyright © 2016 Sacha Durand Saint Omer. All rights reserved.\n//\n\nimport Arrow\n\nextension CustomModelContainer: ArrowParsable {\n    \n    mutating func deserialize(_ json: JSON) {\n        stats <-- json[\"stats\"]\n        optionalStats = nil\n        optionalStats <-- json[\"stats\"]\n    }\n}\n"
  },
  {
    "path": "Tests/ArrowTests/Mapping/CustomRawRepresentableContainer+JSON.swift",
    "content": "//\n//  CustomRawRepresentableContainer+JSON.swift\n//  Arrow\n//\n//  Created by Max Konovalov on 03/11/2016.\n//  Copyright © 2016 Sacha Durand Saint Omer. All rights reserved.\n//\n\nimport Arrow\n\nextension CustomRawRepresentableContainer: ArrowParsable {\n    \n    mutating func deserialize(_ json: JSON) {\n        identifier <-- json[\"id\"]\n    }\n    \n}\n"
  },
  {
    "path": "Tests/ArrowTests/Mapping/DateContainer+JSON.swift",
    "content": "//\n//  DateContainer+JSON.swift\n//  Arrow\n//\n//  Created by Sacha Durand Saint Omer on 10/07/16.\n//  Copyright © 2016 Sacha Durand Saint Omer. All rights reserved.\n//\n\nimport Arrow\n\nextension DateContainer: ArrowParsable {\n    \n    mutating func deserialize(_ json: JSON) {\n        createdAt <-- json[\"created_at\"]?.dateFormat(\"yyyy-MM-dd'T'HH:mm:ssZZZZZ\")\n        optionalDate = nil\n        optionalDate <-- json[\"created_at_timestamp\"]\n    }\n}\n"
  },
  {
    "path": "Tests/ArrowTests/Mapping/EnumContainer+JSON.swift",
    "content": "//\n//  EnumContainer+JSON.swift\n//  Arrow\n//\n//  Created by Sacha Durand Saint Omer on 10/07/16.\n//  Copyright © 2016 Sacha Durand Saint Omer. All rights reserved.\n//\n\nimport Arrow\n\nextension EnumContainer: ArrowParsable {\n    \n    mutating func deserialize(_ json: JSON) {\n        weekday <-- json[\"weekdayInt\"]\n        difficulty <-- json[\"difficulty\"]\n        optionalWeekday <-- json[\"weekdayInt\"]\n        optionalDifficulty <-- json[\"difficulty\"]\n    }\n}\n"
  },
  {
    "path": "Tests/ArrowTests/Mapping/PhoneNumber+JSON.swift",
    "content": "//\n//  PhoneNumber+JSON.swift\n//  ArrowExample\n//\n//  Created by Sacha Durand Saint Omer on 13/04/16.\n//  Copyright © 2016 Sacha Durand Saint Omer. All rights reserved.\n//\n\nimport Arrow\n\nextension PhoneNumber: ArrowParsable {\n    \n    mutating func deserialize(_ json: JSON) {\n        label <-- json[\"label\"]\n        number <-- json[\"number\"]\n    }\n}\n"
  },
  {
    "path": "Tests/ArrowTests/Mapping/Profile+JSON.swift",
    "content": "//\n//  Profile+JSON.swift\n//  ArrowExample\n//\n//  Created by Sacha Durand Saint Omer on 13/04/16.\n//  Copyright © 2016 Sacha Durand Saint Omer. All rights reserved.\n//\n\nimport Arrow\n\nextension Profile: ArrowParsable {\n    \n    mutating func deserialize(_ json: JSON) {\n        identifier <-- json[\"id\"]\n        cgfloat <-- json[\"float\"]\n        float <-- json[\"float\"]\n        double <-- json[\"double\"]\n    }\n}\n"
  },
  {
    "path": "Tests/ArrowTests/Mapping/Stats+JSON.swift",
    "content": "//\n//  Stats+JSON.swift\n//  ArrowExample\n//\n//  Created by Sacha Durand Saint Omer on 13/04/16.\n//  Copyright © 2016 Sacha Durand Saint Omer. All rights reserved.\n//\n\nimport Arrow\n\nextension Stats: ArrowParsable {\n    \n    mutating func deserialize(_ json: JSON) {\n        numberOfFriends <-- json[\"numberOfFriends\"]\n        numberOfFans <-- json[\"numberOfFans\"]\n    }\n}\n"
  },
  {
    "path": "Tests/ArrowTests/Mapping/StringContainer+JSON.swift",
    "content": "//\n//  StringContainer+JSON.swift\n//  Arrow\n//\n//  Created by Sacha Durand Saint Omer on 10/07/16.\n//  Copyright © 2016 Sacha Durand Saint Omer. All rights reserved.\n//\n\nimport Arrow\n\nextension StringContainer: ArrowParsable {\n    mutating func deserialize(_ json: JSON) {\n        name <-- json[\"name\"]\n        optionalName = nil\n        optionalName <-- json[\"name\"]\n    }\n}\n"
  },
  {
    "path": "Tests/ArrowTests/Mapping/URLContainer+JSON.swift",
    "content": "//\n//  URLContainer+JSON.swift\n//  Arrow\n//\n//  Created by Sacha Durand Saint Omer on 10/07/16.\n//  Copyright © 2016 Sacha Durand Saint Omer. All rights reserved.\n//\n\nimport Arrow\n\nextension URLContainer: ArrowParsable {\n    \n    mutating func deserialize(_ json: JSON) {\n        link <-- json[\"link\"]\n        emojiLink <-- json[\"emoji_link\"]\n        accentLink <-- json[\"accent_link\"]\n        optionalLink <-- json[\"link\"]\n    }\n}\n"
  },
  {
    "path": "Tests/ArrowTests/Models/CustomModelContainer.swift",
    "content": "//\n//  CustomModelContainer.swift\n//  Arrow\n//\n//  Created by Sacha Durand Saint Omer on 10/07/16.\n//  Copyright © 2016 Sacha Durand Saint Omer. All rights reserved.\n//\n\nimport Foundation\n\nstruct CustomModelContainer {\n    var stats = Stats()\n    var optionalStats: Stats?\n}\n"
  },
  {
    "path": "Tests/ArrowTests/Models/CustomRawRepresentableContainer.swift",
    "content": "//\n//  CustomRawRepresentableContainer.swift\n//  Arrow\n//\n//  Created by Max Konovalov on 03/11/2016.\n//  Copyright © 2016 Sacha Durand Saint Omer. All rights reserved.\n//\n\nimport Foundation\n\nstruct CustomRawRepresentableContainer {\n    var identifier: Int = 0\n}\n\nextension CustomRawRepresentableContainer: RawRepresentable {\n    \n    init?(rawValue: String) {\n        guard let id = Int(rawValue) else {\n            return nil\n        }\n        self.identifier = id\n    }\n    \n    var rawValue: String {\n        return \"\\(identifier)\"\n    }\n    \n}\n"
  },
  {
    "path": "Tests/ArrowTests/Models/DateContainer.swift",
    "content": "//\n//  DateContainer.swift\n//  Arrow\n//\n//  Created by Sacha Durand Saint Omer on 10/07/16.\n//  Copyright © 2016 Sacha Durand Saint Omer. All rights reserved.\n//\n\nimport Foundation\n\nstruct DateContainer {\n    var createdAt = Date()\n    var optionalDate: Date?\n}\n"
  },
  {
    "path": "Tests/ArrowTests/Models/Difficulty.swift",
    "content": "//\n//  Difficulty.swift\n//  Arrow\n//\n//  Created by Sacha Durand Saint Omer on 10/07/16.\n//  Copyright © 2016 Sacha Durand Saint Omer. All rights reserved.\n//\n\nimport Foundation\n\nenum Difficulty: String {\n    case low\n    case medium\n    case high\n}\n"
  },
  {
    "path": "Tests/ArrowTests/Models/EnumContainer.swift",
    "content": "//\n//  EnumContainer.swift\n//  Arrow\n//\n//  Created by Sacha Durand Saint Omer on 10/07/16.\n//  Copyright © 2016 Sacha Durand Saint Omer. All rights reserved.\n//\n\nimport Foundation\n\nstruct EnumContainer {\n    var weekday: WeekDay = .monday\n    var difficulty = Difficulty.low\n    var optionalWeekday: WeekDay?\n    var optionalDifficulty: Difficulty?\n}\n"
  },
  {
    "path": "Tests/ArrowTests/Models/PhoneNumber.swift",
    "content": "//\n//  PhoneNumber.swift\n//  ArrowExample\n//\n//  Created by Sacha Durand Saint Omer on 30/03/16.\n//  Copyright © 2016 Sacha Durand Saint Omer. All rights reserved.\n//\n\nimport Foundation\n\nstruct PhoneNumber {\n    var label: String = \"\"\n    var number: String = \"\"\n}\n"
  },
  {
    "path": "Tests/ArrowTests/Models/Profile.swift",
    "content": "//\n//  Profile.swift\n//  ArrowExample\n//\n//  Created by Sacha Durand Saint Omer on 29/03/16.\n//  Copyright © 2016 Sacha Durand Saint Omer. All rights reserved.\n//\n\nimport Foundation\n\nstruct Profile {\n    var identifier = 0\n    var double: Double = 0.0\n    var float: Float = 0.0\n    var cgfloat: CGFloat = 0.0\n}\n\nextension Profile: RawRepresentable {\n    \n    init?(rawValue: String?) {\n        \n    }\n    \n    var rawValue: String? {\n        return \"\"\n    }\n    \n}\n"
  },
  {
    "path": "Tests/ArrowTests/Models/Stats.swift",
    "content": "//\n//  Stats.swift\n//  ArrowExample\n//\n//  Created by Sacha Durand Saint Omer on 29/03/16.\n//  Copyright © 2016 Sacha Durand Saint Omer. All rights reserved.\n//\n\nimport Foundation\n\nstruct Stats {\n    var numberOfFriends = 0\n    var numberOfFans = 0\n}\n"
  },
  {
    "path": "Tests/ArrowTests/Models/StringContainer.swift",
    "content": "//\n//  StringContainer.swift\n//  Arrow\n//\n//  Created by Sacha Durand Saint Omer on 10/07/16.\n//  Copyright © 2016 Sacha Durand Saint Omer. All rights reserved.\n//\n\nimport Foundation\n\nstruct StringContainer {\n    var name = \"\"\n    var optionalName: String?\n}\n"
  },
  {
    "path": "Tests/ArrowTests/Models/URLContainer.swift",
    "content": "//\n//  URLContainer.swift\n//  Arrow\n//\n//  Created by Sacha Durand Saint Omer on 10/07/16.\n//  Copyright © 2016 Sacha Durand Saint Omer. All rights reserved.\n//\n\nimport Foundation\n\nstruct URLContainer {\n    var link = URL(string: \"http://\")!\n    var emojiLink = URL(string: \"http://\")!\n    var accentLink = URL(string: \"http://\")!\n    var optionalLink: URL?\n}\n"
  },
  {
    "path": "Tests/ArrowTests/NativeTypesTests.swift",
    "content": "//\n//  ArrowTests.swift\n//  ArrowTests\n//\n//  Created by Sacha Durand Saint Omer on 6/7/15.\n//  Copyright (c) 2015 Sacha Durand Saint Omer. All rights reserved.\n//\n\nimport Testing\nimport Arrow\n\nstruct NativeTypesTests {\n    \n    var profile = Profile()\n    \n    init() {\n        Arrow.setUseTimeIntervalSinceReferenceDate(true)\n        if let json: JSON = mockJSON() {\n            profile <-- json\n        }\n    }\n    \n    @Test\n    func pParsingInt() {\n        #expect(profile.identifier == 15678)\n    }\n\n    @Test\n    func parsingFloat() {\n        #expect(profile.float == 0.12)\n    }\n    \n    @Test\n    func parsingCGFloat() {\n        #expect(profile.cgfloat == 0.12)\n    }\n    \n    @Test\n    func parsingDouble() {\n        #expect(profile.double == 0.123456789)\n    }\n} \n\n"
  },
  {
    "path": "Tests/ArrowTests/StringCoercionTests.swift",
    "content": "//\n//  StringCoercionTests.swift\n//  Arrow\n//\n//  Created by Sacha Durand Saint Omer on 10/07/16.\n//  Copyright © 2016 Sacha Durand Saint Omer. All rights reserved.\n//\n\nimport Testing\nimport Foundation\nimport Arrow\n\nstruct CoercionContainer {\n    var doubleString: Double = 0.0\n    var floatString: Float = 0.0\n    var cgfloatString: CGFloat = 0.0\n}\n\nextension CoercionContainer: ArrowParsable {\n    \n    mutating func deserialize(_ json: JSON) {\n        cgfloatString <-- json[\"floatString\"]\n        floatString <-- json[\"floatString\"]\n        doubleString <-- json[\"doubleString\"]\n    }\n}\n\n@Suite\nstruct StringCoercionTests {\n    \n    var coercionContainer = CoercionContainer()\n    \n    init() {\n        if let json: JSON = mockJSON() {\n            coercionContainer <-- json\n        }\n    }\n    \n    @Test\n    func testParsingFloatString() {\n        #expect(coercionContainer.floatString == 0.12)\n    }\n    \n    @Test\n    func testParsingCGFloatString() {\n        #expect(coercionContainer.cgfloatString == 0.12)\n    }\n    \n    @Test\n    func testParsingDoubleString() {\n        #expect(coercionContainer.doubleString == 0.123456789)\n    }\n}\n"
  },
  {
    "path": "Tests/ArrowTests/StringTests.swift",
    "content": "//\n//  StringTests.swift\n//  Arrow\n//\n//  Created by Sacha Durand Saint Omer on 10/07/16.\n//  Copyright © 2016 Sacha Durand Saint Omer. All rights reserved.\n//\n\nimport Testing\nimport Arrow\n\n@Suite\nstruct StringTests {\n    \n    var stringContainer = StringContainer()\n    \n    init() {\n        if let json: JSON = mockJSON() {\n            stringContainer <-- json\n        }\n    }\n    \n    @Test\n    func parsingString() {\n        #expect(stringContainer.name == \"Francky\")\n    }\n    \n    @Test\n    func parsingOptionalString() {\n        #expect(stringContainer.optionalName == \"Francky\")\n    }\n}\n"
  },
  {
    "path": "Tests/ArrowTests/TypeConversionTests.swift",
    "content": "//\n//  TypeConversionTests.swift\n//  Arrow\n//\n//  Created by Max Konovalov on 07/11/2016.\n//  Copyright © 2016 Sacha Durand Saint Omer. All rights reserved.\n//\n\nimport Testing\nimport Foundation\nimport Arrow\n\n@Suite\nstruct TypeConversionTests {\n    \n    let json: JSON? = mockJSON()\n    \n    @Test\n    func testStringConversion() {\n        #expect(String(json?[\"name\"]) == \"Francky\")\n    }\n    \n    @Test\n    func testIntConversion() {\n        #expect(Int(json?[\"id\"]) == 15678)\n    }\n    \n    @Test\n    func testUIntConversion() {\n        #expect(UInt(json?[\"id\"]) == 15678)\n    }\n    \n    @Test\n    func testDoubleConversion() {\n        #expect(Double(json?[\"double\"]) == 0.123456789)\n    }\n    \n    @Test\n    func testFloatConversion() {\n        #expect(Float(json?[\"float\"]) == 0.12)\n    }\n    \n    @Test\n    func testCGFloatConversion() {\n        #expect(CGFloat(json?[\"float\"]) == 0.12)\n    }\n    \n    @Test\n    func testBoolConversion() {\n        #expect(Bool(json?[\"bool\"]) == true)\n    }\n    \n    @Test\n    func testEnumConversion() {\n        #expect(WeekDay(json?[\"weekdayInt\"]) ==  WeekDay.wednesday)\n    }\n    \n    @Test\n    func testArrayConversions() {\n        #expect([String](json?[\"strings\"]) ?? [] == [\"one\", \"two\", \"three\"])\n    }\n    \n    @Test\n    func testArrayEnumConversions() {\n        #expect([WeekDay](json?[\"weekdays\"]) ?? [] == [.monday, .wednesday, .friday])\n    }\n    \n    @Test\n    func testDictionaryConversions() {\n        #expect([String: String](json?[\"dict\"]) ?? [:] == [\"one\": \"1\", \"two\": \"2\"])\n    }\n}\n"
  },
  {
    "path": "Tests/ArrowTests/URLTests.swift",
    "content": "//\n//  URLTests.swift\n//  Arrow\n//\n//  Created by Sacha Durand Saint Omer on 10/07/16.\n//  Copyright © 2016 Sacha Durand Saint Omer. All rights reserved.\n//\n\nimport Testing\nimport Arrow\n\n@Suite\nstruct URLTests {\n    \n    var urlContainer = URLContainer()\n    \n    init() {\n        if let json: JSON = mockJSON() {\n            urlContainer <-- json\n        }\n    }\n    \n    @Test\n    func parsingURL() {\n        #expect(urlContainer.link.absoluteString.removingPercentEncoding == \"https://apple.com/steve\")\n    }\n    \n    @Test\n    func parsingEmojiURL() {\n        #expect(urlContainer.emojiLink.absoluteString.removingPercentEncoding == \"http://🆒🔗.ws\")\n    }\n    \n    @Test\n    func parsingAccentURL() {\n        #expect(urlContainer.accentLink.absoluteString.removingPercentEncoding == \"http://gégé.com\")\n    }\n    \n    @Test\n    func parsingOptionalURL() {\n        #expect(urlContainer.optionalLink?.absoluteString.removingPercentEncoding == \"https://apple.com/steve\")\n    }\n}\n"
  },
  {
    "path": "Tests/ArrowTests/WeekDay.swift",
    "content": "//\n//  WeekDay.swift\n//  Arrow\n//\n//  Created by Sacha Durand Saint Omer on 10/07/16.\n//  Copyright © 2016 Sacha Durand Saint Omer. All rights reserved.\n//\n\nimport Foundation\n\nenum WeekDay: Int {\n    case monday = 1\n    case tuesday\n    case wednesday\n    case thursday\n    case friday\n    case saturday\n    case sunday\n}\n"
  },
  {
    "path": "docs/Classes/Arrow.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <title>Arrow Class Reference</title>\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"../css/jazzy.css\" />\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"../css/highlight.css\" />\n    <meta charset=\"utf-8\">\n    <script src=\"../js/jquery.min.js\" defer></script>\n    <script src=\"../js/jazzy.js\" defer></script>\n    \n  </head>\n  <body>\n\n    <a name=\"//apple_ref/swift/Class/Arrow\" class=\"dashAnchor\"></a>\n\n    <a title=\"Arrow Class Reference\"></a>\n\n    <header class=\"header\">\n      <p class=\"header-col header-col--primary\">\n        <a class=\"header-link\" href=\"../index.html\">\n          Arrow Docs\n        </a>\n         (72% documented)\n      </p>\n    \n        <p class=\"header-col header-col--secondary\">\n          <a class=\"header-link\" href=\"https://github.com/s4cha/Arrow\">\n            <img class=\"header-icon\" src=\"../img/gh.png\"/>\n            View on GitHub\n          </a>\n        </p>\n    \n    </header>\n\n    <p class=\"breadcrumbs\">\n      <a class=\"breadcrumb\" href=\"../index.html\">Arrow Reference</a>\n      <img class=\"carat\" src=\"../img/carat.png\" />\n      Arrow Class Reference\n    </p>\n\n    <div class=\"content-wrapper\">\n      <nav class=\"navigation\">\n        <ul class=\"nav-groups\">\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"../Guides.html\">Guides</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../readme.html\">README</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"../Classes.html\">Classes</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Classes/Arrow.html\">Arrow</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Classes/JSON.html\">JSON</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"../Functions.html\">Functions</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions.html#/s:ZF5Arrowoi3lssFTRCSo6NSDateGSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions.html#/s:ZF5Arrowoi3lssFTRGSqCSo6NSDate_GSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions.html#/s:ZF5Arrowoi3lssFTRCSo5NSURLGSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions.html#/s:ZF5Arrowoi3lssFTRGSqCSo5NSURL_GSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"../Protocols.html\">Protocols</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Protocols/ArrowParsable.html\">ArrowParsable</a>\n              </li>\n            </ul>\n          </li>\n        </ul>\n      </nav>\n      <article class=\"main-content\">\n\n        <section class=\"section\">\n          <div class=\"section-content\">\n            <h1>Arrow</h1>\n              <div class=\"declaration\">\n                <div class=\"language\">\n                  <pre class=\"highlight\"><code><span class=\"kd\">public</span> <span class=\"kd\">class</span> <span class=\"kt\">Arrow</span></code></pre>\n\n                </div>\n              </div>\n            <p>This is used to configure NSDate parsing on a global scale.</p>\n\n<pre class=\"highlight plaintext\"><code>    Arrow.setDateFormat(\"yyyy-MM-dd'T'HH:mm:ssZZZZZ\")\n    // or\n    Arrow.setUseTimeIntervalSinceReferenceDate(true)\n</code></pre>\n\n<p>For more fine grained control, use <code>dateFormat</code> on a per field basis :</p>\n\n<pre class=\"highlight plaintext\"><code>    createdAt &lt;-- json[\"created_at\"]?.dateFormat(\"yyyy-MM-dd'T'HH:mm:ssZZZZZ\")\n</code></pre>\n\n          </div>\n        </section>\n\n        <section class=\"section\">\n          <div class=\"section-content\">\n            <div class=\"task-group\">\n              <ul class=\"item-container\">\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:ZFC5Arrow5Arrow13setDateFormatFSST_\"></a>\n                    <a name=\"//apple_ref/swift/Method/setDateFormat(_:)\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:ZFC5Arrow5Arrow13setDateFormatFSST_\">setDateFormat(_:)</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>Sets the defaut dateFormat for parsing NSDates.</p>\n\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight\"><code><span class=\"kd\">public</span> <span class=\"kd\">class</span> <span class=\"kd\">func</span> <span class=\"nf\">setDateFormat</span><span class=\"p\">(</span><span class=\"nv\">format</span><span class=\"p\">:</span> <span class=\"kt\">String</span><span class=\"p\">)</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:ZFC5Arrow5Arrow36setUseTimeIntervalSinceReferenceDateFSbT_\"></a>\n                    <a name=\"//apple_ref/swift/Method/setUseTimeIntervalSinceReferenceDate(_:)\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:ZFC5Arrow5Arrow36setUseTimeIntervalSinceReferenceDateFSbT_\">setUseTimeIntervalSinceReferenceDate(_:)</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>Sets <code>timeIntervalSinceReferenceDate</code> parsing as the default for NSDates parsing.</p>\n\n<p>Default is <code>false</code></p>\n\n<p>For more information see <code>NSDate(timeIntervalSinceReferenceDate</code>\ndocumentation</p>\n\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight\"><code><span class=\"kd\">public</span> <span class=\"kd\">class</span> <span class=\"kd\">func</span> <span class=\"nf\">setUseTimeIntervalSinceReferenceDate</span><span class=\"p\">(</span><span class=\"nv\">ref</span><span class=\"p\">:</span> <span class=\"kt\">Bool</span><span class=\"p\">)</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n              </ul>\n            </div>\n          </div>\n        </section>\n\n      </article>\n    </div>\n    <section class=\"footer\">\n      <p>&copy; 2016 <a class=\"link\" href=\"https://github.com/s4cha\" target=\"_blank\" rel=\"external\">S4cha</a>. All rights reserved. (Last updated: 2016-07-09)</p>\n      <p>Generated by <a class=\"link\" href=\"https://github.com/realm/jazzy\" target=\"_blank\" rel=\"external\">jazzy ♪♫ v0.7.0</a>, a <a class=\"link\" href=\"http://realm.io\" target=\"_blank\" rel=\"external\">Realm</a> project.</p>\n    </section>\n  </body>\n</div>\n</html>\n"
  },
  {
    "path": "docs/Classes/JSON.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <title>JSON Class Reference</title>\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"../css/jazzy.css\" />\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"../css/highlight.css\" />\n    <meta charset=\"utf-8\">\n    <script src=\"../js/jquery.min.js\" defer></script>\n    <script src=\"../js/jazzy.js\" defer></script>\n    \n  </head>\n  <body>\n\n    <a name=\"//apple_ref/swift/Class/JSON\" class=\"dashAnchor\"></a>\n\n    <a title=\"JSON Class Reference\"></a>\n\n    <header class=\"header\">\n      <p class=\"header-col header-col--primary\">\n        <a class=\"header-link\" href=\"../index.html\">\n          Arrow Docs\n        </a>\n         (72% documented)\n      </p>\n    \n        <p class=\"header-col header-col--secondary\">\n          <a class=\"header-link\" href=\"https://github.com/s4cha/Arrow\">\n            <img class=\"header-icon\" src=\"../img/gh.png\"/>\n            View on GitHub\n          </a>\n        </p>\n    \n    </header>\n\n    <p class=\"breadcrumbs\">\n      <a class=\"breadcrumb\" href=\"../index.html\">Arrow Reference</a>\n      <img class=\"carat\" src=\"../img/carat.png\" />\n      JSON Class Reference\n    </p>\n\n    <div class=\"content-wrapper\">\n      <nav class=\"navigation\">\n        <ul class=\"nav-groups\">\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"../Guides.html\">Guides</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../readme.html\">README</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"../Classes.html\">Classes</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Classes/Arrow.html\">Arrow</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Classes/JSON.html\">JSON</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"../Functions.html\">Functions</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions.html#/s:ZF5Arrowoi3lssFTRCSo6NSDateGSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions.html#/s:ZF5Arrowoi3lssFTRGSqCSo6NSDate_GSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions.html#/s:ZF5Arrowoi3lssFTRCSo5NSURLGSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions.html#/s:ZF5Arrowoi3lssFTRGSqCSo5NSURL_GSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"../Protocols.html\">Protocols</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Protocols/ArrowParsable.html\">ArrowParsable</a>\n              </li>\n            </ul>\n          </li>\n        </ul>\n      </nav>\n      <article class=\"main-content\">\n\n        <section class=\"section\">\n          <div class=\"section-content\">\n            <h1>JSON</h1>\n              <div class=\"declaration\">\n                <div class=\"language\">\n                  <pre class=\"highlight\"><code><span class=\"kd\">public</span> <span class=\"kd\">class</span> <span class=\"kt\">JSON</span><span class=\"p\">:</span> <span class=\"kt\">AnyObject</span><span class=\"p\">,</span> <span class=\"kt\">CustomDebugStringConvertible</span></code></pre>\n\n                </div>\n              </div>\n            <p>This abstraction helps working with the JSON Format.</p>\n\n<p>It provives a way to access JSON values via subscripting, whether\nit&rsquo;s an array or a dictionary.</p>\n\n          </div>\n        </section>\n\n        <section class=\"section\">\n          <div class=\"section-content\">\n            <div class=\"task-group\">\n              <ul class=\"item-container\">\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:vC5Arrow4JSON4dataGSqPs9AnyObject__\"></a>\n                    <a name=\"//apple_ref/swift/Property/data\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:vC5Arrow4JSON4dataGSqPs9AnyObject__\">data</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>This is the raw data of the JSON</p>\n\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight\"><code><span class=\"kd\">public</span> <span class=\"k\">var</span> <span class=\"nv\">data</span><span class=\"p\">:</span> <span class=\"kt\">AnyObject</span><span class=\"p\">?</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:vC5Arrow4JSON14jsonDateFormatGSqSS_\"></a>\n                    <a name=\"//apple_ref/swift/Property/jsonDateFormat\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:vC5Arrow4JSON14jsonDateFormatGSqSS_\">jsonDateFormat</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>This date formating strategy that will be used for that JSON section.\nThis should not be set, use <code>dateFormat</code> instead.</p>\n\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight\"><code><span class=\"kd\">public</span> <span class=\"k\">var</span> <span class=\"nv\">jsonDateFormat</span><span class=\"p\">:</span> <span class=\"kt\">String</span><span class=\"p\">?</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:FC5Arrow4JSONcFGSqPs9AnyObject__GSqS0__\"></a>\n                    <a name=\"//apple_ref/swift/Method/init(_:)\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:FC5Arrow4JSONcFGSqPs9AnyObject__GSqS0__\">init(_:)</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>This build a JSON object with raw data.</p>\n\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight\"><code><span class=\"kd\">public</span> <span class=\"nf\">init</span><span class=\"p\">?(</span><span class=\"n\">_</span> <span class=\"nv\">dic</span><span class=\"p\">:</span> <span class=\"kt\">AnyObject</span><span class=\"p\">?)</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:vC5Arrow4JSON10collectionGSqGSaS0___\"></a>\n                    <a name=\"//apple_ref/swift/Property/collection\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:vC5Arrow4JSON10collectionGSqGSaS0___\">collection</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <div class=\"aside aside-returns\">\n    <p class=\"aside-title\">Returns</p>\n    The array of JSON values. In case of the JSON being a dictionary,\nthis will return nil.\n\n</div>\n\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight\"><code><span class=\"kd\">public</span> <span class=\"k\">var</span> <span class=\"nv\">collection</span><span class=\"p\">:</span> <span class=\"p\">[</span><span class=\"kt\">JSON</span><span class=\"p\">]?</span></code></pre>\n\n                        </div>\n                      </div>\n                      <div>\n                        <h4>Return Value</h4>\n                        <p>The array of JSON values. In case of the JSON being a dictionary, this will return nil.</p>\n\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:FC5Arrow4JSON10dateFormatFSSDS0_\"></a>\n                    <a name=\"//apple_ref/swift/Method/dateFormat(_:)\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:FC5Arrow4JSON10dateFormatFSSDS0_\">dateFormat(_:)</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>This defines the date format to be used for NSDate parsing.</p>\n\n<pre class=\"highlight plaintext\"><code>createdAt &lt;-- json[\"created_at\"]?.dateFormat(\"yyyy-MM-dd'T'HH:mm:ssZZZZZ\")\n</code></pre>\n\n<div class=\"aside aside-returns\">\n    <p class=\"aside-title\">Returns</p>\n    Itself for chaining purposes.\n\n</div>\n\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight\"><code><span class=\"kd\">public</span> <span class=\"kd\">func</span> <span class=\"nf\">dateFormat</span><span class=\"p\">(</span><span class=\"nv\">format</span><span class=\"p\">:</span> <span class=\"kt\">String</span><span class=\"p\">)</span> <span class=\"o\">-&gt;</span> <span class=\"k\">Self</span></code></pre>\n\n                        </div>\n                      </div>\n                      <div>\n                        <h4>Return Value</h4>\n                        <p>Itself for chaining purposes.</p>\n\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:vC5Arrow4JSON16debugDescriptionSS\"></a>\n                    <a name=\"//apple_ref/swift/Property/debugDescription\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:vC5Arrow4JSON16debugDescriptionSS\">debugDescription</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>This is just for supporting default console logs.</p>\n\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight\"><code><span class=\"kd\">public</span> <span class=\"k\">var</span> <span class=\"nv\">debugDescription</span><span class=\"p\">:</span> <span class=\"kt\">String</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n              </ul>\n            </div>\n          </div>\n        </section>\n\n      </article>\n    </div>\n    <section class=\"footer\">\n      <p>&copy; 2016 <a class=\"link\" href=\"https://github.com/s4cha\" target=\"_blank\" rel=\"external\">S4cha</a>. All rights reserved. (Last updated: 2016-07-09)</p>\n      <p>Generated by <a class=\"link\" href=\"https://github.com/realm/jazzy\" target=\"_blank\" rel=\"external\">jazzy ♪♫ v0.7.0</a>, a <a class=\"link\" href=\"http://realm.io\" target=\"_blank\" rel=\"external\">Realm</a> project.</p>\n    </section>\n  </body>\n</div>\n</html>\n"
  },
  {
    "path": "docs/Classes.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <title>Classes  Reference</title>\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"css/jazzy.css\" />\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"css/highlight.css\" />\n    <meta charset=\"utf-8\">\n    <script src=\"js/jquery.min.js\" defer></script>\n    <script src=\"js/jazzy.js\" defer></script>\n    \n  </head>\n  <body>\n\n\n    <a title=\"Classes  Reference\"></a>\n\n    <header class=\"header\">\n      <p class=\"header-col header-col--primary\">\n        <a class=\"header-link\" href=\"index.html\">\n          Arrow Docs\n        </a>\n         (72% documented)\n      </p>\n    \n        <p class=\"header-col header-col--secondary\">\n          <a class=\"header-link\" href=\"https://github.com/s4cha/Arrow\">\n            <img class=\"header-icon\" src=\"img/gh.png\"/>\n            View on GitHub\n          </a>\n        </p>\n    \n    </header>\n\n    <p class=\"breadcrumbs\">\n      <a class=\"breadcrumb\" href=\"index.html\">Arrow Reference</a>\n      <img class=\"carat\" src=\"img/carat.png\" />\n      Classes  Reference\n    </p>\n\n    <div class=\"content-wrapper\">\n      <nav class=\"navigation\">\n        <ul class=\"nav-groups\">\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"Guides.html\">Guides</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"readme.html\">README</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"Classes.html\">Classes</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Classes/Arrow.html\">Arrow</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Classes/JSON.html\">JSON</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"Functions.html\">Functions</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions.html#/s:ZF5Arrowoi3lssFTRCSo6NSDateGSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions.html#/s:ZF5Arrowoi3lssFTRGSqCSo6NSDate_GSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions.html#/s:ZF5Arrowoi3lssFTRCSo5NSURLGSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions.html#/s:ZF5Arrowoi3lssFTRGSqCSo5NSURL_GSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"Protocols.html\">Protocols</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Protocols/ArrowParsable.html\">ArrowParsable</a>\n              </li>\n            </ul>\n          </li>\n        </ul>\n      </nav>\n      <article class=\"main-content\">\n\n        <section class=\"section\">\n          <div class=\"section-content\">\n            <h1>Classes</h1>\n            <p>The following classes are available globally.</p>\n\n          </div>\n        </section>\n\n        <section class=\"section\">\n          <div class=\"section-content\">\n            <div class=\"task-group\">\n              <ul class=\"item-container\">\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:C5Arrow4JSON\"></a>\n                    <a name=\"//apple_ref/swift/Class/JSON\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:C5Arrow4JSON\">JSON</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>This abstraction helps working with the JSON Format.</p>\n\n<p>It provives a way to access JSON values via subscripting, whether\nit&rsquo;s an array or a dictionary.</p>\n\n                        <a href=\"Classes/JSON.html\" class=\"slightly-smaller\">See more</a>\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight\"><code><span class=\"kd\">public</span> <span class=\"kd\">class</span> <span class=\"kt\">JSON</span><span class=\"p\">:</span> <span class=\"kt\">AnyObject</span><span class=\"p\">,</span> <span class=\"kt\">CustomDebugStringConvertible</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n              </ul>\n            </div>\n            <div class=\"task-group\">\n              <ul class=\"item-container\">\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:C5Arrow5Arrow\"></a>\n                    <a name=\"//apple_ref/swift/Class/Arrow\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:C5Arrow5Arrow\">Arrow</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>This is used to configure NSDate parsing on a global scale.</p>\n\n<pre class=\"highlight plaintext\"><code>    Arrow.setDateFormat(\"yyyy-MM-dd'T'HH:mm:ssZZZZZ\")\n    // or\n    Arrow.setUseTimeIntervalSinceReferenceDate(true)\n</code></pre>\n\n<p>For more fine grained control, use <code>dateFormat</code> on a per field basis :</p>\n\n<pre class=\"highlight plaintext\"><code>    createdAt &lt;-- json[\"created_at\"]?.dateFormat(\"yyyy-MM-dd'T'HH:mm:ssZZZZZ\")\n</code></pre>\n\n                        <a href=\"Classes/Arrow.html\" class=\"slightly-smaller\">See more</a>\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight\"><code><span class=\"kd\">public</span> <span class=\"kd\">class</span> <span class=\"kt\">Arrow</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n              </ul>\n            </div>\n          </div>\n        </section>\n\n      </article>\n    </div>\n    <section class=\"footer\">\n      <p>&copy; 2016 <a class=\"link\" href=\"https://github.com/s4cha\" target=\"_blank\" rel=\"external\">S4cha</a>. All rights reserved. (Last updated: 2016-07-09)</p>\n      <p>Generated by <a class=\"link\" href=\"https://github.com/realm/jazzy\" target=\"_blank\" rel=\"external\">jazzy ♪♫ v0.7.0</a>, a <a class=\"link\" href=\"http://realm.io\" target=\"_blank\" rel=\"external\">Realm</a> project.</p>\n    </section>\n  </body>\n</div>\n</html>\n"
  },
  {
    "path": "docs/Functions/<--(_:_:).html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <title>&lt;--(_:_:) Function Reference</title>\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"../css/jazzy.css\" />\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"../css/highlight.css\" />\n    <meta charset=\"utf-8\">\n    <script src=\"../js/jquery.min.js\" defer></script>\n    <script src=\"../js/jazzy.js\" defer></script>\n    \n  </head>\n  <body>\n\n    <a name=\"//apple_ref/swift/Function/&lt;--(_:_:)\" class=\"dashAnchor\"></a>\n\n    <a title=\"&lt;--(_:_:) Function Reference\"></a>\n\n    <header class=\"header\">\n      <p class=\"header-col header-col--primary\">\n        <a class=\"header-link\" href=\"../index.html\">\n          Arrow Docs\n        </a>\n         (72% documented)\n      </p>\n    \n        <p class=\"header-col header-col--secondary\">\n          <a class=\"header-link\" href=\"https://github.com/s4cha/Arrow\">\n            <img class=\"header-icon\" src=\"../img/gh.png\"/>\n            View on GitHub\n          </a>\n        </p>\n    \n    </header>\n\n    <p class=\"breadcrumbs\">\n      <a class=\"breadcrumb\" href=\"../index.html\">Arrow Reference</a>\n      <img class=\"carat\" src=\"../img/carat.png\" />\n      &lt;--(_:_:) Function Reference\n    </p>\n\n    <div class=\"content-wrapper\">\n      <nav class=\"navigation\">\n        <ul class=\"nav-groups\">\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"../Guides.html\">Guides</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../readme.html\">README</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"../Classes.html\">Classes</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Classes/Arrow.html\">Arrow</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Classes/JSON.html\">JSON</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"../Functions.html\">Functions</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions.html#/s:ZF5Arrowoi3lssFTRCSo6NSDateGSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions.html#/s:ZF5Arrowoi3lssFTRGSqCSo6NSDate_GSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions.html#/s:ZF5Arrowoi3lssFTRCSo5NSURLGSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions.html#/s:ZF5Arrowoi3lssFTRGSqCSo5NSURL_GSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"../Protocols.html\">Protocols</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Protocols/ArrowParsable.html\">ArrowParsable</a>\n              </li>\n            </ul>\n          </li>\n        </ul>\n      </nav>\n      <article class=\"main-content\">\n\n        <section class=\"section\">\n          <div class=\"section-content\">\n            <h1>&lt;--(_:_:)</h1>\n              <div class=\"declaration\">\n                <div class=\"language\">\n                  <pre class=\"highlight\"><code><span class=\"kd\">public</span> <span class=\"kd\">func</span> <span class=\"o\">&lt;--</span> <span class=\"o\">&lt;</span><span class=\"kt\">T</span><span class=\"o\">&gt;</span><span class=\"p\">(</span><span class=\"k\">inout</span> <span class=\"nv\">left</span><span class=\"p\">:</span> <span class=\"p\">[</span><span class=\"kt\">T</span><span class=\"p\">]?,</span> <span class=\"nv\">right</span><span class=\"p\">:</span> <span class=\"kt\"><a href=\"../Classes/JSON.html\">JSON</a></span><span class=\"p\">?)</span></code></pre>\n\n                </div>\n              </div>\n            <p>Parses optional arrays of plain swift types.</p>\n\n          </div>\n        </section>\n\n        <section class=\"section\">\n          <div class=\"section-content\">\n            <div class=\"task-group\">\n              <ul class=\"item-container\">\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:tZF5Arrowoi3lssurFTRGSqGSax__GSqCS_4JSON__T_L_1TMx\"></a>\n                    <a name=\"//apple_ref/swift/Parameter/T\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:tZF5Arrowoi3lssurFTRGSqGSax__GSqCS_4JSON__T_L_1TMx\">T</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>Undocumented</p>\n\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight\"><code><span class=\"kd\">public</span> <span class=\"kd\">func</span> <span class=\"o\">&lt;--</span> <span class=\"o\">&lt;</span><span class=\"kt\">T</span><span class=\"o\">&gt;</span><span class=\"p\">(</span><span class=\"k\">inout</span> <span class=\"nv\">left</span><span class=\"p\">:</span> <span class=\"p\">[</span><span class=\"kt\">T</span><span class=\"p\">]?,</span> <span class=\"nv\">right</span><span class=\"p\">:</span> <span class=\"kt\"><a href=\"../Classes/JSON.html\">JSON</a></span><span class=\"p\">?)</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n              </ul>\n            </div>\n          </div>\n        </section>\n\n      </article>\n    </div>\n    <section class=\"footer\">\n      <p>&copy; 2016 <a class=\"link\" href=\"https://github.com/s4cha\" target=\"_blank\" rel=\"external\">S4cha</a>. All rights reserved. (Last updated: 2016-07-09)</p>\n      <p>Generated by <a class=\"link\" href=\"https://github.com/realm/jazzy\" target=\"_blank\" rel=\"external\">jazzy ♪♫ v0.7.0</a>, a <a class=\"link\" href=\"http://realm.io\" target=\"_blank\" rel=\"external\">Realm</a> project.</p>\n    </section>\n  </body>\n</div>\n</html>\n"
  },
  {
    "path": "docs/Functions.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <title>Functions  Reference</title>\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"css/jazzy.css\" />\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"css/highlight.css\" />\n    <meta charset=\"utf-8\">\n    <script src=\"js/jquery.min.js\" defer></script>\n    <script src=\"js/jazzy.js\" defer></script>\n    \n  </head>\n  <body>\n\n\n    <a title=\"Functions  Reference\"></a>\n\n    <header class=\"header\">\n      <p class=\"header-col header-col--primary\">\n        <a class=\"header-link\" href=\"index.html\">\n          Arrow Docs\n        </a>\n         (72% documented)\n      </p>\n    \n        <p class=\"header-col header-col--secondary\">\n          <a class=\"header-link\" href=\"https://github.com/s4cha/Arrow\">\n            <img class=\"header-icon\" src=\"img/gh.png\"/>\n            View on GitHub\n          </a>\n        </p>\n    \n    </header>\n\n    <p class=\"breadcrumbs\">\n      <a class=\"breadcrumb\" href=\"index.html\">Arrow Reference</a>\n      <img class=\"carat\" src=\"img/carat.png\" />\n      Functions  Reference\n    </p>\n\n    <div class=\"content-wrapper\">\n      <nav class=\"navigation\">\n        <ul class=\"nav-groups\">\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"Guides.html\">Guides</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"readme.html\">README</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"Classes.html\">Classes</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Classes/Arrow.html\">Arrow</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Classes/JSON.html\">JSON</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"Functions.html\">Functions</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions.html#/s:ZF5Arrowoi3lssFTRCSo6NSDateGSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions.html#/s:ZF5Arrowoi3lssFTRGSqCSo6NSDate_GSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions.html#/s:ZF5Arrowoi3lssFTRCSo5NSURLGSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions.html#/s:ZF5Arrowoi3lssFTRGSqCSo5NSURL_GSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"Protocols.html\">Protocols</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Protocols/ArrowParsable.html\">ArrowParsable</a>\n              </li>\n            </ul>\n          </li>\n        </ul>\n      </nav>\n      <article class=\"main-content\">\n\n        <section class=\"section\">\n          <div class=\"section-content\">\n            <h1>Functions</h1>\n            <p>The following functions are available globally.</p>\n\n          </div>\n        </section>\n\n        <section class=\"section\">\n          <div class=\"section-content\">\n            <div class=\"task-group\">\n              <div class=\"task-name-container\">\n                <a name=\"/Parse%20Default%20swift%20Types\"></a>\n                <a name=\"//apple_ref/swift/Section/Parse Default swift Types\" class=\"dashAnchor\"></a>\n                <a href=\"#/Parse%20Default%20swift%20Types\">\n                  <h3 class=\"section-name\">Parse Default swift Types</h3>\n                </a>\n              </div>\n              <ul class=\"item-container\">\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:ZF5Arrowoi3lssurFTRxGSqCS_4JSON__T_\"></a>\n                    <a name=\"//apple_ref/swift/Function/&lt;--(_:_:)\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:ZF5Arrowoi3lssurFTRxGSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>Parses default swift types.</p>\n\n                        <a href=\"Functions/<--(_:_:).html\" class=\"slightly-smaller\">See more</a>\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight\"><code><span class=\"kd\">public</span> <span class=\"kd\">func</span> <span class=\"o\">&lt;--</span> <span class=\"o\">&lt;</span><span class=\"kt\">T</span><span class=\"o\">&gt;</span><span class=\"p\">(</span><span class=\"k\">inout</span> <span class=\"nv\">left</span><span class=\"p\">:</span> <span class=\"kt\">T</span><span class=\"p\">,</span> <span class=\"nv\">right</span><span class=\"p\">:</span> <span class=\"kt\"><a href=\"Classes/JSON.html\">JSON</a></span><span class=\"p\">?)</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:ZF5Arrowoi3lssurFTRGSqx_GSqCS_4JSON__T_\"></a>\n                    <a name=\"//apple_ref/swift/Function/&lt;--(_:_:)\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:ZF5Arrowoi3lssurFTRGSqx_GSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>Parses optional default swift types.</p>\n\n                        <a href=\"Functions/<--(_:_:).html\" class=\"slightly-smaller\">See more</a>\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight\"><code><span class=\"kd\">public</span> <span class=\"kd\">func</span> <span class=\"o\">&lt;--</span> <span class=\"o\">&lt;</span><span class=\"kt\">T</span><span class=\"o\">&gt;</span><span class=\"p\">(</span><span class=\"k\">inout</span> <span class=\"nv\">left</span><span class=\"p\">:</span> <span class=\"kt\">T</span><span class=\"p\">?,</span> <span class=\"nv\">right</span><span class=\"p\">:</span> <span class=\"kt\"><a href=\"Classes/JSON.html\">JSON</a></span><span class=\"p\">?)</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:ZF5Arrowoi3lssuRxs16RawRepresentablerFTRxGSqCS_4JSON__T_\"></a>\n                    <a name=\"//apple_ref/swift/Function/&lt;--(_:_:)\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:ZF5Arrowoi3lssuRxs16RawRepresentablerFTRxGSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>Parses enums.</p>\n\n                        <a href=\"Functions/<--(_:_:).html\" class=\"slightly-smaller\">See more</a>\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight\"><code><span class=\"kd\">public</span> <span class=\"kd\">func</span> <span class=\"o\">&lt;--</span> <span class=\"o\">&lt;</span><span class=\"kt\">T</span><span class=\"p\">:</span> <span class=\"kt\">RawRepresentable</span><span class=\"o\">&gt;</span><span class=\"p\">(</span><span class=\"k\">inout</span> <span class=\"nv\">left</span><span class=\"p\">:</span> <span class=\"kt\">T</span><span class=\"p\">,</span> <span class=\"nv\">right</span><span class=\"p\">:</span> <span class=\"kt\"><a href=\"Classes/JSON.html\">JSON</a></span><span class=\"p\">?)</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:ZF5Arrowoi3lssuRxs16RawRepresentablerFTRGSqx_GSqCS_4JSON__T_\"></a>\n                    <a name=\"//apple_ref/swift/Function/&lt;--(_:_:)\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:ZF5Arrowoi3lssuRxs16RawRepresentablerFTRGSqx_GSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>Parses optional enums.</p>\n\n                        <a href=\"Functions/<--(_:_:).html\" class=\"slightly-smaller\">See more</a>\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight\"><code><span class=\"kd\">public</span> <span class=\"kd\">func</span> <span class=\"o\">&lt;--</span> <span class=\"o\">&lt;</span><span class=\"kt\">T</span><span class=\"p\">:</span> <span class=\"kt\">RawRepresentable</span><span class=\"o\">&gt;</span><span class=\"p\">(</span><span class=\"k\">inout</span> <span class=\"nv\">left</span><span class=\"p\">:</span> <span class=\"kt\">T</span><span class=\"p\">?,</span> <span class=\"nv\">right</span><span class=\"p\">:</span> <span class=\"kt\"><a href=\"Classes/JSON.html\">JSON</a></span><span class=\"p\">?)</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:ZF5Arrowoi3lssuRxS_13ArrowParsablerFTRxGSqCS_4JSON__T_\"></a>\n                    <a name=\"//apple_ref/swift/Function/&lt;--(_:_:)\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:ZF5Arrowoi3lssuRxS_13ArrowParsablerFTRxGSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>Parses user defined custom types.</p>\n\n                        <a href=\"Functions/<--(_:_:).html\" class=\"slightly-smaller\">See more</a>\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight\"><code><span class=\"kd\">public</span> <span class=\"kd\">func</span> <span class=\"o\">&lt;--</span> <span class=\"o\">&lt;</span><span class=\"kt\">T</span><span class=\"p\">:</span> <span class=\"kt\"><a href=\"Protocols/ArrowParsable.html\">ArrowParsable</a></span><span class=\"o\">&gt;</span><span class=\"p\">(</span><span class=\"k\">inout</span> <span class=\"nv\">left</span><span class=\"p\">:</span> <span class=\"kt\">T</span><span class=\"p\">,</span> <span class=\"nv\">right</span><span class=\"p\">:</span> <span class=\"kt\"><a href=\"Classes/JSON.html\">JSON</a></span><span class=\"p\">?)</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:ZF5Arrowoi3lssuRxS_13ArrowParsablerFTRGSqx_GSqCS_4JSON__T_\"></a>\n                    <a name=\"//apple_ref/swift/Function/&lt;--(_:_:)\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:ZF5Arrowoi3lssuRxS_13ArrowParsablerFTRGSqx_GSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>Parses user defined optional custom types.</p>\n\n                        <a href=\"Functions/<--(_:_:).html\" class=\"slightly-smaller\">See more</a>\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight\"><code><span class=\"kd\">public</span> <span class=\"kd\">func</span> <span class=\"o\">&lt;--</span> <span class=\"o\">&lt;</span><span class=\"kt\">T</span><span class=\"p\">:</span> <span class=\"kt\"><a href=\"Protocols/ArrowParsable.html\">ArrowParsable</a></span><span class=\"o\">&gt;</span><span class=\"p\">(</span><span class=\"k\">inout</span> <span class=\"nv\">left</span><span class=\"p\">:</span> <span class=\"kt\">T</span><span class=\"p\">?,</span> <span class=\"nv\">right</span><span class=\"p\">:</span> <span class=\"kt\"><a href=\"Classes/JSON.html\">JSON</a></span><span class=\"p\">?)</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:ZF5Arrowoi3lssuRxS_13ArrowParsablerFTRGSax_GSqCS_4JSON__T_\"></a>\n                    <a name=\"//apple_ref/swift/Function/&lt;--(_:_:)\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:ZF5Arrowoi3lssuRxS_13ArrowParsablerFTRGSax_GSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>Parses arrays of user defined custom types.</p>\n\n                        <a href=\"Functions/<--(_:_:).html\" class=\"slightly-smaller\">See more</a>\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight\"><code><span class=\"kd\">public</span> <span class=\"kd\">func</span> <span class=\"o\">&lt;--</span> <span class=\"o\">&lt;</span><span class=\"kt\">T</span><span class=\"p\">:</span> <span class=\"kt\"><a href=\"Protocols/ArrowParsable.html\">ArrowParsable</a></span><span class=\"o\">&gt;</span><span class=\"p\">(</span><span class=\"k\">inout</span> <span class=\"nv\">left</span><span class=\"p\">:</span> <span class=\"p\">[</span><span class=\"kt\">T</span><span class=\"p\">],</span> <span class=\"nv\">right</span><span class=\"p\">:</span> <span class=\"kt\"><a href=\"Classes/JSON.html\">JSON</a></span><span class=\"p\">?)</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:ZF5Arrowoi3lssuRxS_13ArrowParsablerFTRGSqGSax__GSqCS_4JSON__T_\"></a>\n                    <a name=\"//apple_ref/swift/Function/&lt;--(_:_:)\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:ZF5Arrowoi3lssuRxS_13ArrowParsablerFTRGSqGSax__GSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>Parses optional arrays of user defined custom types.</p>\n\n                        <a href=\"Functions/<--(_:_:).html\" class=\"slightly-smaller\">See more</a>\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight\"><code><span class=\"kd\">public</span> <span class=\"kd\">func</span> <span class=\"o\">&lt;--</span> <span class=\"o\">&lt;</span><span class=\"kt\">T</span><span class=\"p\">:</span> <span class=\"kt\"><a href=\"Protocols/ArrowParsable.html\">ArrowParsable</a></span><span class=\"o\">&gt;</span><span class=\"p\">(</span><span class=\"k\">inout</span> <span class=\"nv\">left</span><span class=\"p\">:</span> <span class=\"p\">[</span><span class=\"kt\">T</span><span class=\"p\">]?,</span> <span class=\"nv\">right</span><span class=\"p\">:</span> <span class=\"kt\"><a href=\"Classes/JSON.html\">JSON</a></span><span class=\"p\">?)</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:ZF5Arrowoi3lssFTRCSo6NSDateGSqCS_4JSON__T_\"></a>\n                    <a name=\"//apple_ref/swift/Function/&lt;--(_:_:)\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:ZF5Arrowoi3lssFTRCSo6NSDateGSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>Parses NSDates.</p>\n\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight\"><code><span class=\"kd\">public</span> <span class=\"kd\">func</span> <span class=\"o\">&lt;--</span> <span class=\"p\">(</span><span class=\"k\">inout</span> <span class=\"nv\">left</span><span class=\"p\">:</span> <span class=\"kt\">NSDate</span><span class=\"p\">,</span> <span class=\"nv\">right</span><span class=\"p\">:</span> <span class=\"kt\"><a href=\"Classes/JSON.html\">JSON</a></span><span class=\"p\">?)</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:ZF5Arrowoi3lssFTRGSqCSo6NSDate_GSqCS_4JSON__T_\"></a>\n                    <a name=\"//apple_ref/swift/Function/&lt;--(_:_:)\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:ZF5Arrowoi3lssFTRGSqCSo6NSDate_GSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>Parses optional NSDates.</p>\n\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight\"><code><span class=\"kd\">public</span> <span class=\"kd\">func</span> <span class=\"o\">&lt;--</span> <span class=\"p\">(</span><span class=\"k\">inout</span> <span class=\"nv\">left</span><span class=\"p\">:</span> <span class=\"kt\">NSDate</span><span class=\"p\">?,</span> <span class=\"nv\">right</span><span class=\"p\">:</span> <span class=\"kt\"><a href=\"Classes/JSON.html\">JSON</a></span><span class=\"p\">?)</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:ZF5Arrowoi3lssFTRCSo5NSURLGSqCS_4JSON__T_\"></a>\n                    <a name=\"//apple_ref/swift/Function/&lt;--(_:_:)\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:ZF5Arrowoi3lssFTRCSo5NSURLGSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>Parses NSURLs.</p>\n\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight\"><code><span class=\"kd\">public</span> <span class=\"kd\">func</span> <span class=\"o\">&lt;--</span> <span class=\"p\">(</span><span class=\"k\">inout</span> <span class=\"nv\">left</span><span class=\"p\">:</span> <span class=\"kt\">NSURL</span><span class=\"p\">,</span> <span class=\"nv\">right</span><span class=\"p\">:</span> <span class=\"kt\"><a href=\"Classes/JSON.html\">JSON</a></span><span class=\"p\">?)</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:ZF5Arrowoi3lssFTRGSqCSo5NSURL_GSqCS_4JSON__T_\"></a>\n                    <a name=\"//apple_ref/swift/Function/&lt;--(_:_:)\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:ZF5Arrowoi3lssFTRGSqCSo5NSURL_GSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>Parses optional NSURLs.</p>\n\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight\"><code><span class=\"kd\">public</span> <span class=\"kd\">func</span> <span class=\"o\">&lt;--</span> <span class=\"p\">(</span><span class=\"k\">inout</span> <span class=\"nv\">left</span><span class=\"p\">:</span> <span class=\"kt\">NSURL</span><span class=\"p\">?,</span> <span class=\"nv\">right</span><span class=\"p\">:</span> <span class=\"kt\"><a href=\"Classes/JSON.html\">JSON</a></span><span class=\"p\">?)</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:ZF5Arrowoi3lssurFTRGSax_GSqCS_4JSON__T_\"></a>\n                    <a name=\"//apple_ref/swift/Function/&lt;--(_:_:)\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:ZF5Arrowoi3lssurFTRGSax_GSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>Parses arrays of plain swift types.</p>\n\n                        <a href=\"Functions/<--(_:_:).html\" class=\"slightly-smaller\">See more</a>\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight\"><code><span class=\"kd\">public</span> <span class=\"kd\">func</span> <span class=\"o\">&lt;--</span> <span class=\"o\">&lt;</span><span class=\"kt\">T</span><span class=\"o\">&gt;</span><span class=\"p\">(</span><span class=\"k\">inout</span> <span class=\"nv\">left</span><span class=\"p\">:</span> <span class=\"p\">[</span><span class=\"kt\">T</span><span class=\"p\">],</span> <span class=\"nv\">right</span><span class=\"p\">:</span> <span class=\"kt\"><a href=\"Classes/JSON.html\">JSON</a></span><span class=\"p\">?)</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:ZF5Arrowoi3lssurFTRGSqGSax__GSqCS_4JSON__T_\"></a>\n                    <a name=\"//apple_ref/swift/Function/&lt;--(_:_:)\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:ZF5Arrowoi3lssurFTRGSqGSax__GSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>Parses optional arrays of plain swift types.</p>\n\n                        <a href=\"Functions/<--(_:_:).html\" class=\"slightly-smaller\">See more</a>\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight\"><code><span class=\"kd\">public</span> <span class=\"kd\">func</span> <span class=\"o\">&lt;--</span> <span class=\"o\">&lt;</span><span class=\"kt\">T</span><span class=\"o\">&gt;</span><span class=\"p\">(</span><span class=\"k\">inout</span> <span class=\"nv\">left</span><span class=\"p\">:</span> <span class=\"p\">[</span><span class=\"kt\">T</span><span class=\"p\">]?,</span> <span class=\"nv\">right</span><span class=\"p\">:</span> <span class=\"kt\"><a href=\"Classes/JSON.html\">JSON</a></span><span class=\"p\">?)</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n              </ul>\n            </div>\n          </div>\n        </section>\n\n      </article>\n    </div>\n    <section class=\"footer\">\n      <p>&copy; 2016 <a class=\"link\" href=\"https://github.com/s4cha\" target=\"_blank\" rel=\"external\">S4cha</a>. All rights reserved. (Last updated: 2016-07-09)</p>\n      <p>Generated by <a class=\"link\" href=\"https://github.com/realm/jazzy\" target=\"_blank\" rel=\"external\">jazzy ♪♫ v0.7.0</a>, a <a class=\"link\" href=\"http://realm.io\" target=\"_blank\" rel=\"external\">Realm</a> project.</p>\n    </section>\n  </body>\n</div>\n</html>\n"
  },
  {
    "path": "docs/Guides.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <title>Guides  Reference</title>\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"css/jazzy.css\" />\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"css/highlight.css\" />\n    <meta charset=\"utf-8\">\n    <script src=\"js/jquery.min.js\" defer></script>\n    <script src=\"js/jazzy.js\" defer></script>\n    \n  </head>\n  <body>\n\n\n    <a title=\"Guides  Reference\"></a>\n\n    <header class=\"header\">\n      <p class=\"header-col header-col--primary\">\n        <a class=\"header-link\" href=\"index.html\">\n          Arrow Docs\n        </a>\n         (72% documented)\n      </p>\n    \n        <p class=\"header-col header-col--secondary\">\n          <a class=\"header-link\" href=\"https://github.com/s4cha/Arrow\">\n            <img class=\"header-icon\" src=\"img/gh.png\"/>\n            View on GitHub\n          </a>\n        </p>\n    \n    </header>\n\n    <p class=\"breadcrumbs\">\n      <a class=\"breadcrumb\" href=\"index.html\">Arrow Reference</a>\n      <img class=\"carat\" src=\"img/carat.png\" />\n      Guides  Reference\n    </p>\n\n    <div class=\"content-wrapper\">\n      <nav class=\"navigation\">\n        <ul class=\"nav-groups\">\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"Guides.html\">Guides</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"readme.html\">README</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"Classes.html\">Classes</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Classes/Arrow.html\">Arrow</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Classes/JSON.html\">JSON</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"Functions.html\">Functions</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions.html#/s:ZF5Arrowoi3lssFTRCSo6NSDateGSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions.html#/s:ZF5Arrowoi3lssFTRGSqCSo6NSDate_GSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions.html#/s:ZF5Arrowoi3lssFTRCSo5NSURLGSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions.html#/s:ZF5Arrowoi3lssFTRGSqCSo5NSURL_GSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"Protocols.html\">Protocols</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Protocols/ArrowParsable.html\">ArrowParsable</a>\n              </li>\n            </ul>\n          </li>\n        </ul>\n      </nav>\n      <article class=\"main-content\">\n\n        <section class=\"section\">\n          <div class=\"section-content\">\n            <h1>Guides</h1>\n            <p>The following guides are available globally.</p>\n\n          </div>\n        </section>\n\n        <section class=\"section\">\n          <div class=\"section-content\">\n          </div>\n        </section>\n\n      </article>\n    </div>\n    <section class=\"footer\">\n      <p>&copy; 2016 <a class=\"link\" href=\"https://github.com/s4cha\" target=\"_blank\" rel=\"external\">S4cha</a>. All rights reserved. (Last updated: 2016-07-09)</p>\n      <p>Generated by <a class=\"link\" href=\"https://github.com/realm/jazzy\" target=\"_blank\" rel=\"external\">jazzy ♪♫ v0.7.0</a>, a <a class=\"link\" href=\"http://realm.io\" target=\"_blank\" rel=\"external\">Realm</a> project.</p>\n    </section>\n  </body>\n</div>\n</html>\n"
  },
  {
    "path": "docs/Protocols/ArrowParsable.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <title>ArrowParsable Protocol Reference</title>\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"../css/jazzy.css\" />\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"../css/highlight.css\" />\n    <meta charset=\"utf-8\">\n    <script src=\"../js/jquery.min.js\" defer></script>\n    <script src=\"../js/jazzy.js\" defer></script>\n    \n  </head>\n  <body>\n\n    <a name=\"//apple_ref/swift/Protocol/ArrowParsable\" class=\"dashAnchor\"></a>\n\n    <a title=\"ArrowParsable Protocol Reference\"></a>\n\n    <header class=\"header\">\n      <p class=\"header-col header-col--primary\">\n        <a class=\"header-link\" href=\"../index.html\">\n          Arrow Docs\n        </a>\n         (72% documented)\n      </p>\n    \n        <p class=\"header-col header-col--secondary\">\n          <a class=\"header-link\" href=\"https://github.com/s4cha/Arrow\">\n            <img class=\"header-icon\" src=\"../img/gh.png\"/>\n            View on GitHub\n          </a>\n        </p>\n    \n    </header>\n\n    <p class=\"breadcrumbs\">\n      <a class=\"breadcrumb\" href=\"../index.html\">Arrow Reference</a>\n      <img class=\"carat\" src=\"../img/carat.png\" />\n      ArrowParsable Protocol Reference\n    </p>\n\n    <div class=\"content-wrapper\">\n      <nav class=\"navigation\">\n        <ul class=\"nav-groups\">\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"../Guides.html\">Guides</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../readme.html\">README</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"../Classes.html\">Classes</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Classes/Arrow.html\">Arrow</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Classes/JSON.html\">JSON</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"../Functions.html\">Functions</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions.html#/s:ZF5Arrowoi3lssFTRCSo6NSDateGSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions.html#/s:ZF5Arrowoi3lssFTRGSqCSo6NSDate_GSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions.html#/s:ZF5Arrowoi3lssFTRCSo5NSURLGSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions.html#/s:ZF5Arrowoi3lssFTRGSqCSo5NSURL_GSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"../Protocols.html\">Protocols</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Protocols/ArrowParsable.html\">ArrowParsable</a>\n              </li>\n            </ul>\n          </li>\n        </ul>\n      </nav>\n      <article class=\"main-content\">\n\n        <section class=\"section\">\n          <div class=\"section-content\">\n            <h1>ArrowParsable</h1>\n              <div class=\"declaration\">\n                <div class=\"language\">\n                  <pre class=\"highlight\"><code><span class=\"kd\">public</span> <span class=\"kd\">protocol</span> <span class=\"kt\">ArrowParsable</span></code></pre>\n\n                </div>\n              </div>\n            <p>This is the protocol that makes your swift Models JSON parsable.</p>\n\n<p>A typical implementation would be the following, preferably in an extension\ncalled <code>MyModel+JSON</code> to keep things nice and clean :</p>\n\n<pre class=\"highlight plaintext\"><code>   //  MyModel+JSON.swift\n\n   import Arrow\n\n   extension MyModel: ArrowParsable {\n\n       mutating func deserialize(json: JSON) {\n           myVariable &lt;-- json[\"jsonProperty\"]\n           //...\n       }\n   }\n</code></pre>\n\n          </div>\n        </section>\n\n        <section class=\"section\">\n          <div class=\"section-content\">\n            <div class=\"task-group\">\n              <ul class=\"item-container\">\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:FP5Arrow13ArrowParsablecFT_x\"></a>\n                    <a name=\"//apple_ref/swift/Method/init()\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:FP5Arrow13ArrowParsablecFT_x\">init()</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>Makes sur your models can be constructed with an empty constructor.</p>\n\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight\"><code><span class=\"nf\">init</span><span class=\"p\">()</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:FP5Arrow13ArrowParsable11deserializeFCS_4JSONT_\"></a>\n                    <a name=\"//apple_ref/swift/Method/deserialize(_:)\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:FP5Arrow13ArrowParsable11deserializeFCS_4JSONT_\">deserialize(_:)</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>The method you declare your json mapping in.</p>\n\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight\"><code><span class=\"k\">mutating</span> <span class=\"kd\">func</span> <span class=\"nf\">deserialize</span><span class=\"p\">(</span><span class=\"nv\">json</span><span class=\"p\">:</span> <span class=\"kt\"><a href=\"../Classes/JSON.html\">JSON</a></span><span class=\"p\">)</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n              </ul>\n            </div>\n          </div>\n        </section>\n\n      </article>\n    </div>\n    <section class=\"footer\">\n      <p>&copy; 2016 <a class=\"link\" href=\"https://github.com/s4cha\" target=\"_blank\" rel=\"external\">S4cha</a>. All rights reserved. (Last updated: 2016-07-09)</p>\n      <p>Generated by <a class=\"link\" href=\"https://github.com/realm/jazzy\" target=\"_blank\" rel=\"external\">jazzy ♪♫ v0.7.0</a>, a <a class=\"link\" href=\"http://realm.io\" target=\"_blank\" rel=\"external\">Realm</a> project.</p>\n    </section>\n  </body>\n</div>\n</html>\n"
  },
  {
    "path": "docs/Protocols.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <title>Protocols  Reference</title>\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"css/jazzy.css\" />\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"css/highlight.css\" />\n    <meta charset=\"utf-8\">\n    <script src=\"js/jquery.min.js\" defer></script>\n    <script src=\"js/jazzy.js\" defer></script>\n    \n  </head>\n  <body>\n\n\n    <a title=\"Protocols  Reference\"></a>\n\n    <header class=\"header\">\n      <p class=\"header-col header-col--primary\">\n        <a class=\"header-link\" href=\"index.html\">\n          Arrow Docs\n        </a>\n         (72% documented)\n      </p>\n    \n        <p class=\"header-col header-col--secondary\">\n          <a class=\"header-link\" href=\"https://github.com/s4cha/Arrow\">\n            <img class=\"header-icon\" src=\"img/gh.png\"/>\n            View on GitHub\n          </a>\n        </p>\n    \n    </header>\n\n    <p class=\"breadcrumbs\">\n      <a class=\"breadcrumb\" href=\"index.html\">Arrow Reference</a>\n      <img class=\"carat\" src=\"img/carat.png\" />\n      Protocols  Reference\n    </p>\n\n    <div class=\"content-wrapper\">\n      <nav class=\"navigation\">\n        <ul class=\"nav-groups\">\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"Guides.html\">Guides</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"readme.html\">README</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"Classes.html\">Classes</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Classes/Arrow.html\">Arrow</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Classes/JSON.html\">JSON</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"Functions.html\">Functions</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions.html#/s:ZF5Arrowoi3lssFTRCSo6NSDateGSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions.html#/s:ZF5Arrowoi3lssFTRGSqCSo6NSDate_GSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions.html#/s:ZF5Arrowoi3lssFTRCSo5NSURLGSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions.html#/s:ZF5Arrowoi3lssFTRGSqCSo5NSURL_GSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"Protocols.html\">Protocols</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Protocols/ArrowParsable.html\">ArrowParsable</a>\n              </li>\n            </ul>\n          </li>\n        </ul>\n      </nav>\n      <article class=\"main-content\">\n\n        <section class=\"section\">\n          <div class=\"section-content\">\n            <h1>Protocols</h1>\n            <p>The following protocols are available globally.</p>\n\n          </div>\n        </section>\n\n        <section class=\"section\">\n          <div class=\"section-content\">\n            <div class=\"task-group\">\n              <ul class=\"item-container\">\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:P5Arrow13ArrowParsable\"></a>\n                    <a name=\"//apple_ref/swift/Protocol/ArrowParsable\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:P5Arrow13ArrowParsable\">ArrowParsable</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>This is the protocol that makes your swift Models JSON parsable.</p>\n\n<p>A typical implementation would be the following, preferably in an extension\ncalled <code>MyModel+JSON</code> to keep things nice and clean :</p>\n\n<pre class=\"highlight plaintext\"><code>   //  MyModel+JSON.swift\n\n   import Arrow\n\n   extension MyModel: ArrowParsable {\n\n       mutating func deserialize(json: JSON) {\n           myVariable &lt;-- json[\"jsonProperty\"]\n           //...\n       }\n   }\n</code></pre>\n\n                        <a href=\"Protocols/ArrowParsable.html\" class=\"slightly-smaller\">See more</a>\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight\"><code><span class=\"kd\">public</span> <span class=\"kd\">protocol</span> <span class=\"kt\">ArrowParsable</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n              </ul>\n            </div>\n          </div>\n        </section>\n\n      </article>\n    </div>\n    <section class=\"footer\">\n      <p>&copy; 2016 <a class=\"link\" href=\"https://github.com/s4cha\" target=\"_blank\" rel=\"external\">S4cha</a>. All rights reserved. (Last updated: 2016-07-09)</p>\n      <p>Generated by <a class=\"link\" href=\"https://github.com/realm/jazzy\" target=\"_blank\" rel=\"external\">jazzy ♪♫ v0.7.0</a>, a <a class=\"link\" href=\"http://realm.io\" target=\"_blank\" rel=\"external\">Realm</a> project.</p>\n    </section>\n  </body>\n</div>\n</html>\n"
  },
  {
    "path": "docs/css/highlight.css",
    "content": "/* Credit to https://gist.github.com/wataru420/2048287 */\n.highlight {\n  /* Comment */\n  /* Error */\n  /* Keyword */\n  /* Operator */\n  /* Comment.Multiline */\n  /* Comment.Preproc */\n  /* Comment.Single */\n  /* Comment.Special */\n  /* Generic.Deleted */\n  /* Generic.Deleted.Specific */\n  /* Generic.Emph */\n  /* Generic.Error */\n  /* Generic.Heading */\n  /* Generic.Inserted */\n  /* Generic.Inserted.Specific */\n  /* Generic.Output */\n  /* Generic.Prompt */\n  /* Generic.Strong */\n  /* Generic.Subheading */\n  /* Generic.Traceback */\n  /* Keyword.Constant */\n  /* Keyword.Declaration */\n  /* Keyword.Pseudo */\n  /* Keyword.Reserved */\n  /* Keyword.Type */\n  /* Literal.Number */\n  /* Literal.String */\n  /* Name.Attribute */\n  /* Name.Builtin */\n  /* Name.Class */\n  /* Name.Constant */\n  /* Name.Entity */\n  /* Name.Exception */\n  /* Name.Function */\n  /* Name.Namespace */\n  /* Name.Tag */\n  /* Name.Variable */\n  /* Operator.Word */\n  /* Text.Whitespace */\n  /* Literal.Number.Float */\n  /* Literal.Number.Hex */\n  /* Literal.Number.Integer */\n  /* Literal.Number.Oct */\n  /* Literal.String.Backtick */\n  /* Literal.String.Char */\n  /* Literal.String.Doc */\n  /* Literal.String.Double */\n  /* Literal.String.Escape */\n  /* Literal.String.Heredoc */\n  /* Literal.String.Interpol */\n  /* Literal.String.Other */\n  /* Literal.String.Regex */\n  /* Literal.String.Single */\n  /* Literal.String.Symbol */\n  /* Name.Builtin.Pseudo */\n  /* Name.Variable.Class */\n  /* Name.Variable.Global */\n  /* Name.Variable.Instance */\n  /* Literal.Number.Integer.Long */ }\n  .highlight .c {\n    color: #999988;\n    font-style: italic; }\n  .highlight .err {\n    color: #a61717;\n    background-color: #e3d2d2; }\n  .highlight .k {\n    color: #000000;\n    font-weight: bold; }\n  .highlight .o {\n    color: #000000;\n    font-weight: bold; }\n  .highlight .cm {\n    color: #999988;\n    font-style: italic; }\n  .highlight .cp {\n    color: #999999;\n    font-weight: bold; }\n  .highlight .c1 {\n    color: #999988;\n    font-style: italic; }\n  .highlight .cs {\n    color: #999999;\n    font-weight: bold;\n    font-style: italic; }\n  .highlight .gd {\n    color: #000000;\n    background-color: #ffdddd; }\n  .highlight .gd .x {\n    color: #000000;\n    background-color: #ffaaaa; }\n  .highlight .ge {\n    color: #000000;\n    font-style: italic; }\n  .highlight .gr {\n    color: #aa0000; }\n  .highlight .gh {\n    color: #999999; }\n  .highlight .gi {\n    color: #000000;\n    background-color: #ddffdd; }\n  .highlight .gi .x {\n    color: #000000;\n    background-color: #aaffaa; }\n  .highlight .go {\n    color: #888888; }\n  .highlight .gp {\n    color: #555555; }\n  .highlight .gs {\n    font-weight: bold; }\n  .highlight .gu {\n    color: #aaaaaa; }\n  .highlight .gt {\n    color: #aa0000; }\n  .highlight .kc {\n    color: #000000;\n    font-weight: bold; }\n  .highlight .kd {\n    color: #000000;\n    font-weight: bold; }\n  .highlight .kp {\n    color: #000000;\n    font-weight: bold; }\n  .highlight .kr {\n    color: #000000;\n    font-weight: bold; }\n  .highlight .kt {\n    color: #445588; }\n  .highlight .m {\n    color: #009999; }\n  .highlight .s {\n    color: #d14; }\n  .highlight .na {\n    color: #008080; }\n  .highlight .nb {\n    color: #0086B3; }\n  .highlight .nc {\n    color: #445588;\n    font-weight: bold; }\n  .highlight .no {\n    color: #008080; }\n  .highlight .ni {\n    color: #800080; }\n  .highlight .ne {\n    color: #990000;\n    font-weight: bold; }\n  .highlight .nf {\n    color: #990000; }\n  .highlight .nn {\n    color: #555555; }\n  .highlight .nt {\n    color: #000080; }\n  .highlight .nv {\n    color: #008080; }\n  .highlight .ow {\n    color: #000000;\n    font-weight: bold; }\n  .highlight .w {\n    color: #bbbbbb; }\n  .highlight .mf {\n    color: #009999; }\n  .highlight .mh {\n    color: #009999; }\n  .highlight .mi {\n    color: #009999; }\n  .highlight .mo {\n    color: #009999; }\n  .highlight .sb {\n    color: #d14; }\n  .highlight .sc {\n    color: #d14; }\n  .highlight .sd {\n    color: #d14; }\n  .highlight .s2 {\n    color: #d14; }\n  .highlight .se {\n    color: #d14; }\n  .highlight .sh {\n    color: #d14; }\n  .highlight .si {\n    color: #d14; }\n  .highlight .sx {\n    color: #d14; }\n  .highlight .sr {\n    color: #009926; }\n  .highlight .s1 {\n    color: #d14; }\n  .highlight .ss {\n    color: #990073; }\n  .highlight .bp {\n    color: #999999; }\n  .highlight .vc {\n    color: #008080; }\n  .highlight .vg {\n    color: #008080; }\n  .highlight .vi {\n    color: #008080; }\n  .highlight .il {\n    color: #009999; }\n"
  },
  {
    "path": "docs/css/jazzy.css",
    "content": "*, *:before, *:after {\n  box-sizing: inherit; }\n\nbody {\n  margin: 0;\n  background: #fff;\n  color: #333;\n  font: 16px/1.7 \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  letter-spacing: .2px;\n  -webkit-font-smoothing: antialiased;\n  box-sizing: border-box; }\n\nh1 {\n  font-size: 2rem;\n  font-weight: 700;\n  margin: 1.275em 0 0.6em; }\n\nh2 {\n  font-size: 1.75rem;\n  font-weight: 700;\n  margin: 1.275em 0 0.3em; }\n\nh3 {\n  font-size: 1.5rem;\n  font-weight: 700;\n  margin: 1em 0 0.3em; }\n\nh4 {\n  font-size: 1.25rem;\n  font-weight: 700;\n  margin: 1.275em 0 0.85em; }\n\nh5 {\n  font-size: 1rem;\n  font-weight: 700;\n  margin: 1.275em 0 0.85em; }\n\nh6 {\n  font-size: 1rem;\n  font-weight: 700;\n  margin: 1.275em 0 0.85em;\n  color: #777; }\n\np {\n  margin: 0 0 1em; }\n\nul, ol {\n  padding: 0 0 0 2em;\n  margin: 0 0 0.85em; }\n\nblockquote {\n  margin: 0 0 0.85em;\n  padding: 0 15px;\n  color: #858585;\n  border-left: 4px solid #e5e5e5; }\n\nimg {\n  max-width: 100%; }\n\na {\n  color: #4183c4;\n  text-decoration: none; }\n  a:hover, a:focus {\n    outline: 0;\n    text-decoration: underline; }\n\ntable {\n  background: #fff;\n  width: 100%;\n  border-collapse: collapse;\n  border-spacing: 0;\n  overflow: auto;\n  margin: 0 0 0.85em; }\n\ntr:nth-child(2n) {\n  background-color: #fbfbfb; }\n\nth, td {\n  padding: 6px 13px;\n  border: 1px solid #ddd; }\n\npre {\n  margin: 0 0 1.275em;\n  padding: .85em 1em;\n  overflow: auto;\n  background: #f7f7f7;\n  font-size: .85em;\n  font-family: Consolas, \"Liberation Mono\", Menlo, Courier, monospace; }\n\ncode {\n  font-family: Consolas, \"Liberation Mono\", Menlo, Courier, monospace; }\n\np > code, li > code {\n  background: #f7f7f7;\n  padding: .2em; }\n  p > code:before, p > code:after, li > code:before, li > code:after {\n    letter-spacing: -.2em;\n    content: \"\\00a0\"; }\n\npre code {\n  padding: 0;\n  white-space: pre; }\n\n.content-wrapper {\n  display: flex;\n  flex-direction: column; }\n  @media (min-width: 768px) {\n    .content-wrapper {\n      flex-direction: row; } }\n\n.header {\n  display: flex;\n  padding: 8px;\n  font-size: 0.875em;\n  background: #444;\n  color: #999; }\n\n.header-col {\n  margin: 0;\n  padding: 0 8px; }\n\n.header-col--primary {\n  flex: 1; }\n\n.header-link {\n  color: #fff; }\n\n.header-icon {\n  padding-right: 6px;\n  vertical-align: -4px;\n  height: 16px; }\n\n.breadcrumbs {\n  font-size: 0.875em;\n  padding: 8px 16px;\n  margin: 0;\n  background: #fbfbfb;\n  border-bottom: 1px solid #ddd; }\n\n.carat {\n  height: 10px;\n  margin: 0 5px; }\n\n.navigation {\n  order: 2; }\n  @media (min-width: 768px) {\n    .navigation {\n      order: 1;\n      width: 25%;\n      max-width: 300px;\n      padding-bottom: 64px;\n      overflow: hidden;\n      word-wrap: normal;\n      background: #fbfbfb;\n      border-right: 1px solid #ddd; } }\n\n.nav-groups {\n  list-style-type: none;\n  padding-left: 0; }\n\n.nav-group-name {\n  border-bottom: 1px solid #ddd;\n  padding: 8px 0 8px 16px; }\n\n.nav-group-name-link {\n  color: #333; }\n\n.nav-group-tasks {\n  margin: 8px 0;\n  padding: 0 0 0 8px; }\n\n.nav-group-task {\n  font-size: 1em;\n  list-style-type: none;\n  white-space: nowrap; }\n\n.nav-group-task-link {\n  color: #808080; }\n\n.main-content {\n  order: 1; }\n  @media (min-width: 768px) {\n    .main-content {\n      order: 2;\n      flex: 1;\n      padding-bottom: 60px; } }\n\n.section {\n  padding: 0 32px;\n  border-bottom: 1px solid #ddd; }\n\n.section-content {\n  max-width: 834px;\n  margin: 0 auto;\n  padding: 16px 0; }\n\n.section-name {\n  color: #666;\n  display: block; }\n\n.declaration .highlight {\n  overflow-x: initial;\n  padding: 8px 0;\n  margin: 0;\n  background-color: transparent;\n  border: none; }\n\n.task-group-section {\n  border-top: 1px solid #ddd; }\n\n.task-group {\n  padding-top: 0px; }\n\n.task-name-container a[name]:before {\n  content: \"\";\n  display: block; }\n\n.item-container {\n  padding: 0; }\n\n.item {\n  padding-top: 8px;\n  width: 100%;\n  list-style-type: none; }\n  .item a[name]:before {\n    content: \"\";\n    display: block; }\n  .item .token {\n    padding-left: 3px;\n    margin-left: 0px;\n    font-size: 1rem; }\n  .item .declaration-note {\n    font-size: .85em;\n    color: #808080;\n    font-style: italic; }\n\n.pointer-container {\n  border-bottom: 1px solid #ddd;\n  left: -23px;\n  padding-bottom: 13px;\n  position: relative;\n  width: 110%; }\n\n.pointer {\n  left: 21px;\n  top: 7px;\n  display: block;\n  position: absolute;\n  width: 12px;\n  height: 12px;\n  border-left: 1px solid #ddd;\n  border-top: 1px solid #ddd;\n  background: #fff;\n  transform: rotate(45deg); }\n\n.height-container {\n  display: none;\n  position: relative;\n  width: 100%;\n  overflow: hidden; }\n  .height-container .section {\n    background: #fff;\n    border: 1px solid #ddd;\n    border-top-width: 0;\n    padding-top: 10px;\n    padding-bottom: 5px;\n    padding: 8px 16px; }\n\n.aside, .language {\n  padding: 6px 12px;\n  margin: 12px 0;\n  border-left: 5px solid #dddddd;\n  overflow-y: hidden; }\n  .aside .aside-title, .language .aside-title {\n    font-size: 9px;\n    letter-spacing: 2px;\n    text-transform: uppercase;\n    padding-bottom: 0;\n    margin: 0;\n    color: #aaa;\n    -webkit-user-select: none; }\n  .aside p:last-child, .language p:last-child {\n    margin-bottom: 0; }\n\n.language {\n  border-left: 5px solid #cde9f4; }\n  .language .aside-title {\n    color: #4183c4; }\n\n.aside-warning {\n  border-left: 5px solid #ff6666; }\n  .aside-warning .aside-title {\n    color: #ff0000; }\n\n.graybox {\n  border-collapse: collapse;\n  width: 100%; }\n  .graybox p {\n    margin: 0;\n    word-break: break-word;\n    min-width: 50px; }\n  .graybox td {\n    border: 1px solid #ddd;\n    padding: 5px 25px 5px 10px;\n    vertical-align: middle; }\n  .graybox tr td:first-of-type {\n    text-align: right;\n    padding: 7px;\n    vertical-align: top;\n    word-break: normal;\n    width: 40px; }\n\n.slightly-smaller {\n  font-size: 0.9em; }\n\n.footer {\n  padding: 8px 16px;\n  background: #444;\n  color: #ddd;\n  font-size: 0.8em; }\n  .footer p {\n    margin: 8px 0; }\n  .footer a {\n    color: #fff; }\n\nhtml.dash .header, html.dash .breadcrumbs, html.dash .navigation {\n  display: none; }\nhtml.dash .height-container {\n  display: block; }\n"
  },
  {
    "path": "docs/docsets/Arrow.docset/Contents/Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n  <dict>\n    <key>CFBundleIdentifier</key>\n      <string>com.jazzy.arrow</string>\n    <key>CFBundleName</key>\n      <string>Arrow</string>\n    <key>DocSetPlatformFamily</key>\n      <string>arrow</string>\n    <key>isDashDocset</key>\n      <true/>\n    <key>dashIndexFilePath</key>\n      <string>index.html</string>\n    <key>isJavaScriptEnabled</key>\n      <true/>\n    <key>DashDocSetFamily</key>\n      <string>dashtoc</string>\n  </dict>\n</plist>\n"
  },
  {
    "path": "docs/docsets/Arrow.docset/Contents/Resources/Documents/Classes/Arrow.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <title>Arrow Class Reference</title>\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"../css/jazzy.css\" />\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"../css/highlight.css\" />\n    <meta charset=\"utf-8\">\n    <script src=\"../js/jquery.min.js\" defer></script>\n    <script src=\"../js/jazzy.js\" defer></script>\n    \n  </head>\n  <body>\n\n    <a name=\"//apple_ref/swift/Class/Arrow\" class=\"dashAnchor\"></a>\n\n    <a title=\"Arrow Class Reference\"></a>\n\n    <header class=\"header\">\n      <p class=\"header-col header-col--primary\">\n        <a class=\"header-link\" href=\"../index.html\">\n          Arrow Docs\n        </a>\n         (72% documented)\n      </p>\n    \n        <p class=\"header-col header-col--secondary\">\n          <a class=\"header-link\" href=\"https://github.com/s4cha/Arrow\">\n            <img class=\"header-icon\" src=\"../img/gh.png\"/>\n            View on GitHub\n          </a>\n        </p>\n    \n    </header>\n\n    <p class=\"breadcrumbs\">\n      <a class=\"breadcrumb\" href=\"../index.html\">Arrow Reference</a>\n      <img class=\"carat\" src=\"../img/carat.png\" />\n      Arrow Class Reference\n    </p>\n\n    <div class=\"content-wrapper\">\n      <nav class=\"navigation\">\n        <ul class=\"nav-groups\">\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"../Guides.html\">Guides</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../readme.html\">README</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"../Classes.html\">Classes</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Classes/Arrow.html\">Arrow</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Classes/JSON.html\">JSON</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"../Functions.html\">Functions</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions.html#/s:ZF5Arrowoi3lssFTRCSo6NSDateGSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions.html#/s:ZF5Arrowoi3lssFTRGSqCSo6NSDate_GSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions.html#/s:ZF5Arrowoi3lssFTRCSo5NSURLGSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions.html#/s:ZF5Arrowoi3lssFTRGSqCSo5NSURL_GSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"../Protocols.html\">Protocols</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Protocols/ArrowParsable.html\">ArrowParsable</a>\n              </li>\n            </ul>\n          </li>\n        </ul>\n      </nav>\n      <article class=\"main-content\">\n\n        <section class=\"section\">\n          <div class=\"section-content\">\n            <h1>Arrow</h1>\n              <div class=\"declaration\">\n                <div class=\"language\">\n                  <pre class=\"highlight\"><code><span class=\"kd\">public</span> <span class=\"kd\">class</span> <span class=\"kt\">Arrow</span></code></pre>\n\n                </div>\n              </div>\n            <p>This is used to configure NSDate parsing on a global scale.</p>\n\n<pre class=\"highlight plaintext\"><code>    Arrow.setDateFormat(\"yyyy-MM-dd'T'HH:mm:ssZZZZZ\")\n    // or\n    Arrow.setUseTimeIntervalSinceReferenceDate(true)\n</code></pre>\n\n<p>For more fine grained control, use <code>dateFormat</code> on a per field basis :</p>\n\n<pre class=\"highlight plaintext\"><code>    createdAt &lt;-- json[\"created_at\"]?.dateFormat(\"yyyy-MM-dd'T'HH:mm:ssZZZZZ\")\n</code></pre>\n\n          </div>\n        </section>\n\n        <section class=\"section\">\n          <div class=\"section-content\">\n            <div class=\"task-group\">\n              <ul class=\"item-container\">\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:ZFC5Arrow5Arrow13setDateFormatFSST_\"></a>\n                    <a name=\"//apple_ref/swift/Method/setDateFormat(_:)\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:ZFC5Arrow5Arrow13setDateFormatFSST_\">setDateFormat(_:)</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>Sets the defaut dateFormat for parsing NSDates.</p>\n\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight\"><code><span class=\"kd\">public</span> <span class=\"kd\">class</span> <span class=\"kd\">func</span> <span class=\"nf\">setDateFormat</span><span class=\"p\">(</span><span class=\"nv\">format</span><span class=\"p\">:</span> <span class=\"kt\">String</span><span class=\"p\">)</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:ZFC5Arrow5Arrow36setUseTimeIntervalSinceReferenceDateFSbT_\"></a>\n                    <a name=\"//apple_ref/swift/Method/setUseTimeIntervalSinceReferenceDate(_:)\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:ZFC5Arrow5Arrow36setUseTimeIntervalSinceReferenceDateFSbT_\">setUseTimeIntervalSinceReferenceDate(_:)</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>Sets <code>timeIntervalSinceReferenceDate</code> parsing as the default for NSDates parsing.</p>\n\n<p>Default is <code>false</code></p>\n\n<p>For more information see <code>NSDate(timeIntervalSinceReferenceDate</code>\ndocumentation</p>\n\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight\"><code><span class=\"kd\">public</span> <span class=\"kd\">class</span> <span class=\"kd\">func</span> <span class=\"nf\">setUseTimeIntervalSinceReferenceDate</span><span class=\"p\">(</span><span class=\"nv\">ref</span><span class=\"p\">:</span> <span class=\"kt\">Bool</span><span class=\"p\">)</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n              </ul>\n            </div>\n          </div>\n        </section>\n\n      </article>\n    </div>\n    <section class=\"footer\">\n      <p>&copy; 2016 <a class=\"link\" href=\"https://github.com/s4cha\" target=\"_blank\" rel=\"external\">S4cha</a>. All rights reserved. (Last updated: 2016-07-09)</p>\n      <p>Generated by <a class=\"link\" href=\"https://github.com/realm/jazzy\" target=\"_blank\" rel=\"external\">jazzy ♪♫ v0.7.0</a>, a <a class=\"link\" href=\"http://realm.io\" target=\"_blank\" rel=\"external\">Realm</a> project.</p>\n    </section>\n  </body>\n</div>\n</html>\n"
  },
  {
    "path": "docs/docsets/Arrow.docset/Contents/Resources/Documents/Classes/JSON.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <title>JSON Class Reference</title>\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"../css/jazzy.css\" />\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"../css/highlight.css\" />\n    <meta charset=\"utf-8\">\n    <script src=\"../js/jquery.min.js\" defer></script>\n    <script src=\"../js/jazzy.js\" defer></script>\n    \n  </head>\n  <body>\n\n    <a name=\"//apple_ref/swift/Class/JSON\" class=\"dashAnchor\"></a>\n\n    <a title=\"JSON Class Reference\"></a>\n\n    <header class=\"header\">\n      <p class=\"header-col header-col--primary\">\n        <a class=\"header-link\" href=\"../index.html\">\n          Arrow Docs\n        </a>\n         (72% documented)\n      </p>\n    \n        <p class=\"header-col header-col--secondary\">\n          <a class=\"header-link\" href=\"https://github.com/s4cha/Arrow\">\n            <img class=\"header-icon\" src=\"../img/gh.png\"/>\n            View on GitHub\n          </a>\n        </p>\n    \n    </header>\n\n    <p class=\"breadcrumbs\">\n      <a class=\"breadcrumb\" href=\"../index.html\">Arrow Reference</a>\n      <img class=\"carat\" src=\"../img/carat.png\" />\n      JSON Class Reference\n    </p>\n\n    <div class=\"content-wrapper\">\n      <nav class=\"navigation\">\n        <ul class=\"nav-groups\">\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"../Guides.html\">Guides</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../readme.html\">README</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"../Classes.html\">Classes</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Classes/Arrow.html\">Arrow</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Classes/JSON.html\">JSON</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"../Functions.html\">Functions</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions.html#/s:ZF5Arrowoi3lssFTRCSo6NSDateGSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions.html#/s:ZF5Arrowoi3lssFTRGSqCSo6NSDate_GSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions.html#/s:ZF5Arrowoi3lssFTRCSo5NSURLGSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions.html#/s:ZF5Arrowoi3lssFTRGSqCSo5NSURL_GSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"../Protocols.html\">Protocols</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Protocols/ArrowParsable.html\">ArrowParsable</a>\n              </li>\n            </ul>\n          </li>\n        </ul>\n      </nav>\n      <article class=\"main-content\">\n\n        <section class=\"section\">\n          <div class=\"section-content\">\n            <h1>JSON</h1>\n              <div class=\"declaration\">\n                <div class=\"language\">\n                  <pre class=\"highlight\"><code><span class=\"kd\">public</span> <span class=\"kd\">class</span> <span class=\"kt\">JSON</span><span class=\"p\">:</span> <span class=\"kt\">AnyObject</span><span class=\"p\">,</span> <span class=\"kt\">CustomDebugStringConvertible</span></code></pre>\n\n                </div>\n              </div>\n            <p>This abstraction helps working with the JSON Format.</p>\n\n<p>It provives a way to access JSON values via subscripting, whether\nit&rsquo;s an array or a dictionary.</p>\n\n          </div>\n        </section>\n\n        <section class=\"section\">\n          <div class=\"section-content\">\n            <div class=\"task-group\">\n              <ul class=\"item-container\">\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:vC5Arrow4JSON4dataGSqPs9AnyObject__\"></a>\n                    <a name=\"//apple_ref/swift/Property/data\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:vC5Arrow4JSON4dataGSqPs9AnyObject__\">data</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>This is the raw data of the JSON</p>\n\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight\"><code><span class=\"kd\">public</span> <span class=\"k\">var</span> <span class=\"nv\">data</span><span class=\"p\">:</span> <span class=\"kt\">AnyObject</span><span class=\"p\">?</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:vC5Arrow4JSON14jsonDateFormatGSqSS_\"></a>\n                    <a name=\"//apple_ref/swift/Property/jsonDateFormat\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:vC5Arrow4JSON14jsonDateFormatGSqSS_\">jsonDateFormat</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>This date formating strategy that will be used for that JSON section.\nThis should not be set, use <code>dateFormat</code> instead.</p>\n\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight\"><code><span class=\"kd\">public</span> <span class=\"k\">var</span> <span class=\"nv\">jsonDateFormat</span><span class=\"p\">:</span> <span class=\"kt\">String</span><span class=\"p\">?</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:FC5Arrow4JSONcFGSqPs9AnyObject__GSqS0__\"></a>\n                    <a name=\"//apple_ref/swift/Method/init(_:)\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:FC5Arrow4JSONcFGSqPs9AnyObject__GSqS0__\">init(_:)</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>This build a JSON object with raw data.</p>\n\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight\"><code><span class=\"kd\">public</span> <span class=\"nf\">init</span><span class=\"p\">?(</span><span class=\"n\">_</span> <span class=\"nv\">dic</span><span class=\"p\">:</span> <span class=\"kt\">AnyObject</span><span class=\"p\">?)</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:vC5Arrow4JSON10collectionGSqGSaS0___\"></a>\n                    <a name=\"//apple_ref/swift/Property/collection\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:vC5Arrow4JSON10collectionGSqGSaS0___\">collection</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <div class=\"aside aside-returns\">\n    <p class=\"aside-title\">Returns</p>\n    The array of JSON values. In case of the JSON being a dictionary,\nthis will return nil.\n\n</div>\n\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight\"><code><span class=\"kd\">public</span> <span class=\"k\">var</span> <span class=\"nv\">collection</span><span class=\"p\">:</span> <span class=\"p\">[</span><span class=\"kt\">JSON</span><span class=\"p\">]?</span></code></pre>\n\n                        </div>\n                      </div>\n                      <div>\n                        <h4>Return Value</h4>\n                        <p>The array of JSON values. In case of the JSON being a dictionary, this will return nil.</p>\n\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:FC5Arrow4JSON10dateFormatFSSDS0_\"></a>\n                    <a name=\"//apple_ref/swift/Method/dateFormat(_:)\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:FC5Arrow4JSON10dateFormatFSSDS0_\">dateFormat(_:)</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>This defines the date format to be used for NSDate parsing.</p>\n\n<pre class=\"highlight plaintext\"><code>createdAt &lt;-- json[\"created_at\"]?.dateFormat(\"yyyy-MM-dd'T'HH:mm:ssZZZZZ\")\n</code></pre>\n\n<div class=\"aside aside-returns\">\n    <p class=\"aside-title\">Returns</p>\n    Itself for chaining purposes.\n\n</div>\n\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight\"><code><span class=\"kd\">public</span> <span class=\"kd\">func</span> <span class=\"nf\">dateFormat</span><span class=\"p\">(</span><span class=\"nv\">format</span><span class=\"p\">:</span> <span class=\"kt\">String</span><span class=\"p\">)</span> <span class=\"o\">-&gt;</span> <span class=\"k\">Self</span></code></pre>\n\n                        </div>\n                      </div>\n                      <div>\n                        <h4>Return Value</h4>\n                        <p>Itself for chaining purposes.</p>\n\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:vC5Arrow4JSON16debugDescriptionSS\"></a>\n                    <a name=\"//apple_ref/swift/Property/debugDescription\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:vC5Arrow4JSON16debugDescriptionSS\">debugDescription</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>This is just for supporting default console logs.</p>\n\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight\"><code><span class=\"kd\">public</span> <span class=\"k\">var</span> <span class=\"nv\">debugDescription</span><span class=\"p\">:</span> <span class=\"kt\">String</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n              </ul>\n            </div>\n          </div>\n        </section>\n\n      </article>\n    </div>\n    <section class=\"footer\">\n      <p>&copy; 2016 <a class=\"link\" href=\"https://github.com/s4cha\" target=\"_blank\" rel=\"external\">S4cha</a>. All rights reserved. (Last updated: 2016-07-09)</p>\n      <p>Generated by <a class=\"link\" href=\"https://github.com/realm/jazzy\" target=\"_blank\" rel=\"external\">jazzy ♪♫ v0.7.0</a>, a <a class=\"link\" href=\"http://realm.io\" target=\"_blank\" rel=\"external\">Realm</a> project.</p>\n    </section>\n  </body>\n</div>\n</html>\n"
  },
  {
    "path": "docs/docsets/Arrow.docset/Contents/Resources/Documents/Classes.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <title>Classes  Reference</title>\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"css/jazzy.css\" />\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"css/highlight.css\" />\n    <meta charset=\"utf-8\">\n    <script src=\"js/jquery.min.js\" defer></script>\n    <script src=\"js/jazzy.js\" defer></script>\n    \n  </head>\n  <body>\n\n\n    <a title=\"Classes  Reference\"></a>\n\n    <header class=\"header\">\n      <p class=\"header-col header-col--primary\">\n        <a class=\"header-link\" href=\"index.html\">\n          Arrow Docs\n        </a>\n         (72% documented)\n      </p>\n    \n        <p class=\"header-col header-col--secondary\">\n          <a class=\"header-link\" href=\"https://github.com/s4cha/Arrow\">\n            <img class=\"header-icon\" src=\"img/gh.png\"/>\n            View on GitHub\n          </a>\n        </p>\n    \n    </header>\n\n    <p class=\"breadcrumbs\">\n      <a class=\"breadcrumb\" href=\"index.html\">Arrow Reference</a>\n      <img class=\"carat\" src=\"img/carat.png\" />\n      Classes  Reference\n    </p>\n\n    <div class=\"content-wrapper\">\n      <nav class=\"navigation\">\n        <ul class=\"nav-groups\">\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"Guides.html\">Guides</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"readme.html\">README</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"Classes.html\">Classes</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Classes/Arrow.html\">Arrow</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Classes/JSON.html\">JSON</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"Functions.html\">Functions</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions.html#/s:ZF5Arrowoi3lssFTRCSo6NSDateGSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions.html#/s:ZF5Arrowoi3lssFTRGSqCSo6NSDate_GSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions.html#/s:ZF5Arrowoi3lssFTRCSo5NSURLGSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions.html#/s:ZF5Arrowoi3lssFTRGSqCSo5NSURL_GSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"Protocols.html\">Protocols</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Protocols/ArrowParsable.html\">ArrowParsable</a>\n              </li>\n            </ul>\n          </li>\n        </ul>\n      </nav>\n      <article class=\"main-content\">\n\n        <section class=\"section\">\n          <div class=\"section-content\">\n            <h1>Classes</h1>\n            <p>The following classes are available globally.</p>\n\n          </div>\n        </section>\n\n        <section class=\"section\">\n          <div class=\"section-content\">\n            <div class=\"task-group\">\n              <ul class=\"item-container\">\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:C5Arrow4JSON\"></a>\n                    <a name=\"//apple_ref/swift/Class/JSON\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:C5Arrow4JSON\">JSON</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>This abstraction helps working with the JSON Format.</p>\n\n<p>It provives a way to access JSON values via subscripting, whether\nit&rsquo;s an array or a dictionary.</p>\n\n                        <a href=\"Classes/JSON.html\" class=\"slightly-smaller\">See more</a>\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight\"><code><span class=\"kd\">public</span> <span class=\"kd\">class</span> <span class=\"kt\">JSON</span><span class=\"p\">:</span> <span class=\"kt\">AnyObject</span><span class=\"p\">,</span> <span class=\"kt\">CustomDebugStringConvertible</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n              </ul>\n            </div>\n            <div class=\"task-group\">\n              <ul class=\"item-container\">\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:C5Arrow5Arrow\"></a>\n                    <a name=\"//apple_ref/swift/Class/Arrow\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:C5Arrow5Arrow\">Arrow</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>This is used to configure NSDate parsing on a global scale.</p>\n\n<pre class=\"highlight plaintext\"><code>    Arrow.setDateFormat(\"yyyy-MM-dd'T'HH:mm:ssZZZZZ\")\n    // or\n    Arrow.setUseTimeIntervalSinceReferenceDate(true)\n</code></pre>\n\n<p>For more fine grained control, use <code>dateFormat</code> on a per field basis :</p>\n\n<pre class=\"highlight plaintext\"><code>    createdAt &lt;-- json[\"created_at\"]?.dateFormat(\"yyyy-MM-dd'T'HH:mm:ssZZZZZ\")\n</code></pre>\n\n                        <a href=\"Classes/Arrow.html\" class=\"slightly-smaller\">See more</a>\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight\"><code><span class=\"kd\">public</span> <span class=\"kd\">class</span> <span class=\"kt\">Arrow</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n              </ul>\n            </div>\n          </div>\n        </section>\n\n      </article>\n    </div>\n    <section class=\"footer\">\n      <p>&copy; 2016 <a class=\"link\" href=\"https://github.com/s4cha\" target=\"_blank\" rel=\"external\">S4cha</a>. All rights reserved. (Last updated: 2016-07-09)</p>\n      <p>Generated by <a class=\"link\" href=\"https://github.com/realm/jazzy\" target=\"_blank\" rel=\"external\">jazzy ♪♫ v0.7.0</a>, a <a class=\"link\" href=\"http://realm.io\" target=\"_blank\" rel=\"external\">Realm</a> project.</p>\n    </section>\n  </body>\n</div>\n</html>\n"
  },
  {
    "path": "docs/docsets/Arrow.docset/Contents/Resources/Documents/Functions/<--(_:_:).html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <title>&lt;--(_:_:) Function Reference</title>\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"../css/jazzy.css\" />\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"../css/highlight.css\" />\n    <meta charset=\"utf-8\">\n    <script src=\"../js/jquery.min.js\" defer></script>\n    <script src=\"../js/jazzy.js\" defer></script>\n    \n  </head>\n  <body>\n\n    <a name=\"//apple_ref/swift/Function/&lt;--(_:_:)\" class=\"dashAnchor\"></a>\n\n    <a title=\"&lt;--(_:_:) Function Reference\"></a>\n\n    <header class=\"header\">\n      <p class=\"header-col header-col--primary\">\n        <a class=\"header-link\" href=\"../index.html\">\n          Arrow Docs\n        </a>\n         (72% documented)\n      </p>\n    \n        <p class=\"header-col header-col--secondary\">\n          <a class=\"header-link\" href=\"https://github.com/s4cha/Arrow\">\n            <img class=\"header-icon\" src=\"../img/gh.png\"/>\n            View on GitHub\n          </a>\n        </p>\n    \n    </header>\n\n    <p class=\"breadcrumbs\">\n      <a class=\"breadcrumb\" href=\"../index.html\">Arrow Reference</a>\n      <img class=\"carat\" src=\"../img/carat.png\" />\n      &lt;--(_:_:) Function Reference\n    </p>\n\n    <div class=\"content-wrapper\">\n      <nav class=\"navigation\">\n        <ul class=\"nav-groups\">\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"../Guides.html\">Guides</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../readme.html\">README</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"../Classes.html\">Classes</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Classes/Arrow.html\">Arrow</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Classes/JSON.html\">JSON</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"../Functions.html\">Functions</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions.html#/s:ZF5Arrowoi3lssFTRCSo6NSDateGSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions.html#/s:ZF5Arrowoi3lssFTRGSqCSo6NSDate_GSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions.html#/s:ZF5Arrowoi3lssFTRCSo5NSURLGSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions.html#/s:ZF5Arrowoi3lssFTRGSqCSo5NSURL_GSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"../Protocols.html\">Protocols</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Protocols/ArrowParsable.html\">ArrowParsable</a>\n              </li>\n            </ul>\n          </li>\n        </ul>\n      </nav>\n      <article class=\"main-content\">\n\n        <section class=\"section\">\n          <div class=\"section-content\">\n            <h1>&lt;--(_:_:)</h1>\n              <div class=\"declaration\">\n                <div class=\"language\">\n                  <pre class=\"highlight\"><code><span class=\"kd\">public</span> <span class=\"kd\">func</span> <span class=\"o\">&lt;--</span> <span class=\"o\">&lt;</span><span class=\"kt\">T</span><span class=\"o\">&gt;</span><span class=\"p\">(</span><span class=\"k\">inout</span> <span class=\"nv\">left</span><span class=\"p\">:</span> <span class=\"p\">[</span><span class=\"kt\">T</span><span class=\"p\">]?,</span> <span class=\"nv\">right</span><span class=\"p\">:</span> <span class=\"kt\"><a href=\"../Classes/JSON.html\">JSON</a></span><span class=\"p\">?)</span></code></pre>\n\n                </div>\n              </div>\n            <p>Parses optional arrays of plain swift types.</p>\n\n          </div>\n        </section>\n\n        <section class=\"section\">\n          <div class=\"section-content\">\n            <div class=\"task-group\">\n              <ul class=\"item-container\">\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:tZF5Arrowoi3lssurFTRGSqGSax__GSqCS_4JSON__T_L_1TMx\"></a>\n                    <a name=\"//apple_ref/swift/Parameter/T\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:tZF5Arrowoi3lssurFTRGSqGSax__GSqCS_4JSON__T_L_1TMx\">T</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>Undocumented</p>\n\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight\"><code><span class=\"kd\">public</span> <span class=\"kd\">func</span> <span class=\"o\">&lt;--</span> <span class=\"o\">&lt;</span><span class=\"kt\">T</span><span class=\"o\">&gt;</span><span class=\"p\">(</span><span class=\"k\">inout</span> <span class=\"nv\">left</span><span class=\"p\">:</span> <span class=\"p\">[</span><span class=\"kt\">T</span><span class=\"p\">]?,</span> <span class=\"nv\">right</span><span class=\"p\">:</span> <span class=\"kt\"><a href=\"../Classes/JSON.html\">JSON</a></span><span class=\"p\">?)</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n              </ul>\n            </div>\n          </div>\n        </section>\n\n      </article>\n    </div>\n    <section class=\"footer\">\n      <p>&copy; 2016 <a class=\"link\" href=\"https://github.com/s4cha\" target=\"_blank\" rel=\"external\">S4cha</a>. All rights reserved. (Last updated: 2016-07-09)</p>\n      <p>Generated by <a class=\"link\" href=\"https://github.com/realm/jazzy\" target=\"_blank\" rel=\"external\">jazzy ♪♫ v0.7.0</a>, a <a class=\"link\" href=\"http://realm.io\" target=\"_blank\" rel=\"external\">Realm</a> project.</p>\n    </section>\n  </body>\n</div>\n</html>\n"
  },
  {
    "path": "docs/docsets/Arrow.docset/Contents/Resources/Documents/Functions.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <title>Functions  Reference</title>\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"css/jazzy.css\" />\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"css/highlight.css\" />\n    <meta charset=\"utf-8\">\n    <script src=\"js/jquery.min.js\" defer></script>\n    <script src=\"js/jazzy.js\" defer></script>\n    \n  </head>\n  <body>\n\n\n    <a title=\"Functions  Reference\"></a>\n\n    <header class=\"header\">\n      <p class=\"header-col header-col--primary\">\n        <a class=\"header-link\" href=\"index.html\">\n          Arrow Docs\n        </a>\n         (72% documented)\n      </p>\n    \n        <p class=\"header-col header-col--secondary\">\n          <a class=\"header-link\" href=\"https://github.com/s4cha/Arrow\">\n            <img class=\"header-icon\" src=\"img/gh.png\"/>\n            View on GitHub\n          </a>\n        </p>\n    \n    </header>\n\n    <p class=\"breadcrumbs\">\n      <a class=\"breadcrumb\" href=\"index.html\">Arrow Reference</a>\n      <img class=\"carat\" src=\"img/carat.png\" />\n      Functions  Reference\n    </p>\n\n    <div class=\"content-wrapper\">\n      <nav class=\"navigation\">\n        <ul class=\"nav-groups\">\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"Guides.html\">Guides</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"readme.html\">README</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"Classes.html\">Classes</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Classes/Arrow.html\">Arrow</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Classes/JSON.html\">JSON</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"Functions.html\">Functions</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions.html#/s:ZF5Arrowoi3lssFTRCSo6NSDateGSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions.html#/s:ZF5Arrowoi3lssFTRGSqCSo6NSDate_GSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions.html#/s:ZF5Arrowoi3lssFTRCSo5NSURLGSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions.html#/s:ZF5Arrowoi3lssFTRGSqCSo5NSURL_GSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"Protocols.html\">Protocols</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Protocols/ArrowParsable.html\">ArrowParsable</a>\n              </li>\n            </ul>\n          </li>\n        </ul>\n      </nav>\n      <article class=\"main-content\">\n\n        <section class=\"section\">\n          <div class=\"section-content\">\n            <h1>Functions</h1>\n            <p>The following functions are available globally.</p>\n\n          </div>\n        </section>\n\n        <section class=\"section\">\n          <div class=\"section-content\">\n            <div class=\"task-group\">\n              <div class=\"task-name-container\">\n                <a name=\"/Parse%20Default%20swift%20Types\"></a>\n                <a name=\"//apple_ref/swift/Section/Parse Default swift Types\" class=\"dashAnchor\"></a>\n                <a href=\"#/Parse%20Default%20swift%20Types\">\n                  <h3 class=\"section-name\">Parse Default swift Types</h3>\n                </a>\n              </div>\n              <ul class=\"item-container\">\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:ZF5Arrowoi3lssurFTRxGSqCS_4JSON__T_\"></a>\n                    <a name=\"//apple_ref/swift/Function/&lt;--(_:_:)\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:ZF5Arrowoi3lssurFTRxGSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>Parses default swift types.</p>\n\n                        <a href=\"Functions/<--(_:_:).html\" class=\"slightly-smaller\">See more</a>\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight\"><code><span class=\"kd\">public</span> <span class=\"kd\">func</span> <span class=\"o\">&lt;--</span> <span class=\"o\">&lt;</span><span class=\"kt\">T</span><span class=\"o\">&gt;</span><span class=\"p\">(</span><span class=\"k\">inout</span> <span class=\"nv\">left</span><span class=\"p\">:</span> <span class=\"kt\">T</span><span class=\"p\">,</span> <span class=\"nv\">right</span><span class=\"p\">:</span> <span class=\"kt\"><a href=\"Classes/JSON.html\">JSON</a></span><span class=\"p\">?)</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:ZF5Arrowoi3lssurFTRGSqx_GSqCS_4JSON__T_\"></a>\n                    <a name=\"//apple_ref/swift/Function/&lt;--(_:_:)\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:ZF5Arrowoi3lssurFTRGSqx_GSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>Parses optional default swift types.</p>\n\n                        <a href=\"Functions/<--(_:_:).html\" class=\"slightly-smaller\">See more</a>\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight\"><code><span class=\"kd\">public</span> <span class=\"kd\">func</span> <span class=\"o\">&lt;--</span> <span class=\"o\">&lt;</span><span class=\"kt\">T</span><span class=\"o\">&gt;</span><span class=\"p\">(</span><span class=\"k\">inout</span> <span class=\"nv\">left</span><span class=\"p\">:</span> <span class=\"kt\">T</span><span class=\"p\">?,</span> <span class=\"nv\">right</span><span class=\"p\">:</span> <span class=\"kt\"><a href=\"Classes/JSON.html\">JSON</a></span><span class=\"p\">?)</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:ZF5Arrowoi3lssuRxs16RawRepresentablerFTRxGSqCS_4JSON__T_\"></a>\n                    <a name=\"//apple_ref/swift/Function/&lt;--(_:_:)\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:ZF5Arrowoi3lssuRxs16RawRepresentablerFTRxGSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>Parses enums.</p>\n\n                        <a href=\"Functions/<--(_:_:).html\" class=\"slightly-smaller\">See more</a>\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight\"><code><span class=\"kd\">public</span> <span class=\"kd\">func</span> <span class=\"o\">&lt;--</span> <span class=\"o\">&lt;</span><span class=\"kt\">T</span><span class=\"p\">:</span> <span class=\"kt\">RawRepresentable</span><span class=\"o\">&gt;</span><span class=\"p\">(</span><span class=\"k\">inout</span> <span class=\"nv\">left</span><span class=\"p\">:</span> <span class=\"kt\">T</span><span class=\"p\">,</span> <span class=\"nv\">right</span><span class=\"p\">:</span> <span class=\"kt\"><a href=\"Classes/JSON.html\">JSON</a></span><span class=\"p\">?)</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:ZF5Arrowoi3lssuRxs16RawRepresentablerFTRGSqx_GSqCS_4JSON__T_\"></a>\n                    <a name=\"//apple_ref/swift/Function/&lt;--(_:_:)\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:ZF5Arrowoi3lssuRxs16RawRepresentablerFTRGSqx_GSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>Parses optional enums.</p>\n\n                        <a href=\"Functions/<--(_:_:).html\" class=\"slightly-smaller\">See more</a>\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight\"><code><span class=\"kd\">public</span> <span class=\"kd\">func</span> <span class=\"o\">&lt;--</span> <span class=\"o\">&lt;</span><span class=\"kt\">T</span><span class=\"p\">:</span> <span class=\"kt\">RawRepresentable</span><span class=\"o\">&gt;</span><span class=\"p\">(</span><span class=\"k\">inout</span> <span class=\"nv\">left</span><span class=\"p\">:</span> <span class=\"kt\">T</span><span class=\"p\">?,</span> <span class=\"nv\">right</span><span class=\"p\">:</span> <span class=\"kt\"><a href=\"Classes/JSON.html\">JSON</a></span><span class=\"p\">?)</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:ZF5Arrowoi3lssuRxS_13ArrowParsablerFTRxGSqCS_4JSON__T_\"></a>\n                    <a name=\"//apple_ref/swift/Function/&lt;--(_:_:)\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:ZF5Arrowoi3lssuRxS_13ArrowParsablerFTRxGSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>Parses user defined custom types.</p>\n\n                        <a href=\"Functions/<--(_:_:).html\" class=\"slightly-smaller\">See more</a>\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight\"><code><span class=\"kd\">public</span> <span class=\"kd\">func</span> <span class=\"o\">&lt;--</span> <span class=\"o\">&lt;</span><span class=\"kt\">T</span><span class=\"p\">:</span> <span class=\"kt\"><a href=\"Protocols/ArrowParsable.html\">ArrowParsable</a></span><span class=\"o\">&gt;</span><span class=\"p\">(</span><span class=\"k\">inout</span> <span class=\"nv\">left</span><span class=\"p\">:</span> <span class=\"kt\">T</span><span class=\"p\">,</span> <span class=\"nv\">right</span><span class=\"p\">:</span> <span class=\"kt\"><a href=\"Classes/JSON.html\">JSON</a></span><span class=\"p\">?)</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:ZF5Arrowoi3lssuRxS_13ArrowParsablerFTRGSqx_GSqCS_4JSON__T_\"></a>\n                    <a name=\"//apple_ref/swift/Function/&lt;--(_:_:)\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:ZF5Arrowoi3lssuRxS_13ArrowParsablerFTRGSqx_GSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>Parses user defined optional custom types.</p>\n\n                        <a href=\"Functions/<--(_:_:).html\" class=\"slightly-smaller\">See more</a>\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight\"><code><span class=\"kd\">public</span> <span class=\"kd\">func</span> <span class=\"o\">&lt;--</span> <span class=\"o\">&lt;</span><span class=\"kt\">T</span><span class=\"p\">:</span> <span class=\"kt\"><a href=\"Protocols/ArrowParsable.html\">ArrowParsable</a></span><span class=\"o\">&gt;</span><span class=\"p\">(</span><span class=\"k\">inout</span> <span class=\"nv\">left</span><span class=\"p\">:</span> <span class=\"kt\">T</span><span class=\"p\">?,</span> <span class=\"nv\">right</span><span class=\"p\">:</span> <span class=\"kt\"><a href=\"Classes/JSON.html\">JSON</a></span><span class=\"p\">?)</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:ZF5Arrowoi3lssuRxS_13ArrowParsablerFTRGSax_GSqCS_4JSON__T_\"></a>\n                    <a name=\"//apple_ref/swift/Function/&lt;--(_:_:)\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:ZF5Arrowoi3lssuRxS_13ArrowParsablerFTRGSax_GSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>Parses arrays of user defined custom types.</p>\n\n                        <a href=\"Functions/<--(_:_:).html\" class=\"slightly-smaller\">See more</a>\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight\"><code><span class=\"kd\">public</span> <span class=\"kd\">func</span> <span class=\"o\">&lt;--</span> <span class=\"o\">&lt;</span><span class=\"kt\">T</span><span class=\"p\">:</span> <span class=\"kt\"><a href=\"Protocols/ArrowParsable.html\">ArrowParsable</a></span><span class=\"o\">&gt;</span><span class=\"p\">(</span><span class=\"k\">inout</span> <span class=\"nv\">left</span><span class=\"p\">:</span> <span class=\"p\">[</span><span class=\"kt\">T</span><span class=\"p\">],</span> <span class=\"nv\">right</span><span class=\"p\">:</span> <span class=\"kt\"><a href=\"Classes/JSON.html\">JSON</a></span><span class=\"p\">?)</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:ZF5Arrowoi3lssuRxS_13ArrowParsablerFTRGSqGSax__GSqCS_4JSON__T_\"></a>\n                    <a name=\"//apple_ref/swift/Function/&lt;--(_:_:)\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:ZF5Arrowoi3lssuRxS_13ArrowParsablerFTRGSqGSax__GSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>Parses optional arrays of user defined custom types.</p>\n\n                        <a href=\"Functions/<--(_:_:).html\" class=\"slightly-smaller\">See more</a>\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight\"><code><span class=\"kd\">public</span> <span class=\"kd\">func</span> <span class=\"o\">&lt;--</span> <span class=\"o\">&lt;</span><span class=\"kt\">T</span><span class=\"p\">:</span> <span class=\"kt\"><a href=\"Protocols/ArrowParsable.html\">ArrowParsable</a></span><span class=\"o\">&gt;</span><span class=\"p\">(</span><span class=\"k\">inout</span> <span class=\"nv\">left</span><span class=\"p\">:</span> <span class=\"p\">[</span><span class=\"kt\">T</span><span class=\"p\">]?,</span> <span class=\"nv\">right</span><span class=\"p\">:</span> <span class=\"kt\"><a href=\"Classes/JSON.html\">JSON</a></span><span class=\"p\">?)</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:ZF5Arrowoi3lssFTRCSo6NSDateGSqCS_4JSON__T_\"></a>\n                    <a name=\"//apple_ref/swift/Function/&lt;--(_:_:)\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:ZF5Arrowoi3lssFTRCSo6NSDateGSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>Parses NSDates.</p>\n\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight\"><code><span class=\"kd\">public</span> <span class=\"kd\">func</span> <span class=\"o\">&lt;--</span> <span class=\"p\">(</span><span class=\"k\">inout</span> <span class=\"nv\">left</span><span class=\"p\">:</span> <span class=\"kt\">NSDate</span><span class=\"p\">,</span> <span class=\"nv\">right</span><span class=\"p\">:</span> <span class=\"kt\"><a href=\"Classes/JSON.html\">JSON</a></span><span class=\"p\">?)</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:ZF5Arrowoi3lssFTRGSqCSo6NSDate_GSqCS_4JSON__T_\"></a>\n                    <a name=\"//apple_ref/swift/Function/&lt;--(_:_:)\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:ZF5Arrowoi3lssFTRGSqCSo6NSDate_GSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>Parses optional NSDates.</p>\n\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight\"><code><span class=\"kd\">public</span> <span class=\"kd\">func</span> <span class=\"o\">&lt;--</span> <span class=\"p\">(</span><span class=\"k\">inout</span> <span class=\"nv\">left</span><span class=\"p\">:</span> <span class=\"kt\">NSDate</span><span class=\"p\">?,</span> <span class=\"nv\">right</span><span class=\"p\">:</span> <span class=\"kt\"><a href=\"Classes/JSON.html\">JSON</a></span><span class=\"p\">?)</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:ZF5Arrowoi3lssFTRCSo5NSURLGSqCS_4JSON__T_\"></a>\n                    <a name=\"//apple_ref/swift/Function/&lt;--(_:_:)\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:ZF5Arrowoi3lssFTRCSo5NSURLGSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>Parses NSURLs.</p>\n\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight\"><code><span class=\"kd\">public</span> <span class=\"kd\">func</span> <span class=\"o\">&lt;--</span> <span class=\"p\">(</span><span class=\"k\">inout</span> <span class=\"nv\">left</span><span class=\"p\">:</span> <span class=\"kt\">NSURL</span><span class=\"p\">,</span> <span class=\"nv\">right</span><span class=\"p\">:</span> <span class=\"kt\"><a href=\"Classes/JSON.html\">JSON</a></span><span class=\"p\">?)</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:ZF5Arrowoi3lssFTRGSqCSo5NSURL_GSqCS_4JSON__T_\"></a>\n                    <a name=\"//apple_ref/swift/Function/&lt;--(_:_:)\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:ZF5Arrowoi3lssFTRGSqCSo5NSURL_GSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>Parses optional NSURLs.</p>\n\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight\"><code><span class=\"kd\">public</span> <span class=\"kd\">func</span> <span class=\"o\">&lt;--</span> <span class=\"p\">(</span><span class=\"k\">inout</span> <span class=\"nv\">left</span><span class=\"p\">:</span> <span class=\"kt\">NSURL</span><span class=\"p\">?,</span> <span class=\"nv\">right</span><span class=\"p\">:</span> <span class=\"kt\"><a href=\"Classes/JSON.html\">JSON</a></span><span class=\"p\">?)</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:ZF5Arrowoi3lssurFTRGSax_GSqCS_4JSON__T_\"></a>\n                    <a name=\"//apple_ref/swift/Function/&lt;--(_:_:)\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:ZF5Arrowoi3lssurFTRGSax_GSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>Parses arrays of plain swift types.</p>\n\n                        <a href=\"Functions/<--(_:_:).html\" class=\"slightly-smaller\">See more</a>\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight\"><code><span class=\"kd\">public</span> <span class=\"kd\">func</span> <span class=\"o\">&lt;--</span> <span class=\"o\">&lt;</span><span class=\"kt\">T</span><span class=\"o\">&gt;</span><span class=\"p\">(</span><span class=\"k\">inout</span> <span class=\"nv\">left</span><span class=\"p\">:</span> <span class=\"p\">[</span><span class=\"kt\">T</span><span class=\"p\">],</span> <span class=\"nv\">right</span><span class=\"p\">:</span> <span class=\"kt\"><a href=\"Classes/JSON.html\">JSON</a></span><span class=\"p\">?)</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:ZF5Arrowoi3lssurFTRGSqGSax__GSqCS_4JSON__T_\"></a>\n                    <a name=\"//apple_ref/swift/Function/&lt;--(_:_:)\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:ZF5Arrowoi3lssurFTRGSqGSax__GSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>Parses optional arrays of plain swift types.</p>\n\n                        <a href=\"Functions/<--(_:_:).html\" class=\"slightly-smaller\">See more</a>\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight\"><code><span class=\"kd\">public</span> <span class=\"kd\">func</span> <span class=\"o\">&lt;--</span> <span class=\"o\">&lt;</span><span class=\"kt\">T</span><span class=\"o\">&gt;</span><span class=\"p\">(</span><span class=\"k\">inout</span> <span class=\"nv\">left</span><span class=\"p\">:</span> <span class=\"p\">[</span><span class=\"kt\">T</span><span class=\"p\">]?,</span> <span class=\"nv\">right</span><span class=\"p\">:</span> <span class=\"kt\"><a href=\"Classes/JSON.html\">JSON</a></span><span class=\"p\">?)</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n              </ul>\n            </div>\n          </div>\n        </section>\n\n      </article>\n    </div>\n    <section class=\"footer\">\n      <p>&copy; 2016 <a class=\"link\" href=\"https://github.com/s4cha\" target=\"_blank\" rel=\"external\">S4cha</a>. All rights reserved. (Last updated: 2016-07-09)</p>\n      <p>Generated by <a class=\"link\" href=\"https://github.com/realm/jazzy\" target=\"_blank\" rel=\"external\">jazzy ♪♫ v0.7.0</a>, a <a class=\"link\" href=\"http://realm.io\" target=\"_blank\" rel=\"external\">Realm</a> project.</p>\n    </section>\n  </body>\n</div>\n</html>\n"
  },
  {
    "path": "docs/docsets/Arrow.docset/Contents/Resources/Documents/Guides.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <title>Guides  Reference</title>\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"css/jazzy.css\" />\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"css/highlight.css\" />\n    <meta charset=\"utf-8\">\n    <script src=\"js/jquery.min.js\" defer></script>\n    <script src=\"js/jazzy.js\" defer></script>\n    \n  </head>\n  <body>\n\n\n    <a title=\"Guides  Reference\"></a>\n\n    <header class=\"header\">\n      <p class=\"header-col header-col--primary\">\n        <a class=\"header-link\" href=\"index.html\">\n          Arrow Docs\n        </a>\n         (72% documented)\n      </p>\n    \n        <p class=\"header-col header-col--secondary\">\n          <a class=\"header-link\" href=\"https://github.com/s4cha/Arrow\">\n            <img class=\"header-icon\" src=\"img/gh.png\"/>\n            View on GitHub\n          </a>\n        </p>\n    \n    </header>\n\n    <p class=\"breadcrumbs\">\n      <a class=\"breadcrumb\" href=\"index.html\">Arrow Reference</a>\n      <img class=\"carat\" src=\"img/carat.png\" />\n      Guides  Reference\n    </p>\n\n    <div class=\"content-wrapper\">\n      <nav class=\"navigation\">\n        <ul class=\"nav-groups\">\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"Guides.html\">Guides</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"readme.html\">README</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"Classes.html\">Classes</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Classes/Arrow.html\">Arrow</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Classes/JSON.html\">JSON</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"Functions.html\">Functions</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions.html#/s:ZF5Arrowoi3lssFTRCSo6NSDateGSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions.html#/s:ZF5Arrowoi3lssFTRGSqCSo6NSDate_GSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions.html#/s:ZF5Arrowoi3lssFTRCSo5NSURLGSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions.html#/s:ZF5Arrowoi3lssFTRGSqCSo5NSURL_GSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"Protocols.html\">Protocols</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Protocols/ArrowParsable.html\">ArrowParsable</a>\n              </li>\n            </ul>\n          </li>\n        </ul>\n      </nav>\n      <article class=\"main-content\">\n\n        <section class=\"section\">\n          <div class=\"section-content\">\n            <h1>Guides</h1>\n            <p>The following guides are available globally.</p>\n\n          </div>\n        </section>\n\n        <section class=\"section\">\n          <div class=\"section-content\">\n          </div>\n        </section>\n\n      </article>\n    </div>\n    <section class=\"footer\">\n      <p>&copy; 2016 <a class=\"link\" href=\"https://github.com/s4cha\" target=\"_blank\" rel=\"external\">S4cha</a>. All rights reserved. (Last updated: 2016-07-09)</p>\n      <p>Generated by <a class=\"link\" href=\"https://github.com/realm/jazzy\" target=\"_blank\" rel=\"external\">jazzy ♪♫ v0.7.0</a>, a <a class=\"link\" href=\"http://realm.io\" target=\"_blank\" rel=\"external\">Realm</a> project.</p>\n    </section>\n  </body>\n</div>\n</html>\n"
  },
  {
    "path": "docs/docsets/Arrow.docset/Contents/Resources/Documents/Protocols/ArrowParsable.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <title>ArrowParsable Protocol Reference</title>\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"../css/jazzy.css\" />\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"../css/highlight.css\" />\n    <meta charset=\"utf-8\">\n    <script src=\"../js/jquery.min.js\" defer></script>\n    <script src=\"../js/jazzy.js\" defer></script>\n    \n  </head>\n  <body>\n\n    <a name=\"//apple_ref/swift/Protocol/ArrowParsable\" class=\"dashAnchor\"></a>\n\n    <a title=\"ArrowParsable Protocol Reference\"></a>\n\n    <header class=\"header\">\n      <p class=\"header-col header-col--primary\">\n        <a class=\"header-link\" href=\"../index.html\">\n          Arrow Docs\n        </a>\n         (72% documented)\n      </p>\n    \n        <p class=\"header-col header-col--secondary\">\n          <a class=\"header-link\" href=\"https://github.com/s4cha/Arrow\">\n            <img class=\"header-icon\" src=\"../img/gh.png\"/>\n            View on GitHub\n          </a>\n        </p>\n    \n    </header>\n\n    <p class=\"breadcrumbs\">\n      <a class=\"breadcrumb\" href=\"../index.html\">Arrow Reference</a>\n      <img class=\"carat\" src=\"../img/carat.png\" />\n      ArrowParsable Protocol Reference\n    </p>\n\n    <div class=\"content-wrapper\">\n      <nav class=\"navigation\">\n        <ul class=\"nav-groups\">\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"../Guides.html\">Guides</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../readme.html\">README</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"../Classes.html\">Classes</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Classes/Arrow.html\">Arrow</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Classes/JSON.html\">JSON</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"../Functions.html\">Functions</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions.html#/s:ZF5Arrowoi3lssFTRCSo6NSDateGSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions.html#/s:ZF5Arrowoi3lssFTRGSqCSo6NSDate_GSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions.html#/s:ZF5Arrowoi3lssFTRCSo5NSURLGSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions.html#/s:ZF5Arrowoi3lssFTRGSqCSo5NSURL_GSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"../Protocols.html\">Protocols</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"../Protocols/ArrowParsable.html\">ArrowParsable</a>\n              </li>\n            </ul>\n          </li>\n        </ul>\n      </nav>\n      <article class=\"main-content\">\n\n        <section class=\"section\">\n          <div class=\"section-content\">\n            <h1>ArrowParsable</h1>\n              <div class=\"declaration\">\n                <div class=\"language\">\n                  <pre class=\"highlight\"><code><span class=\"kd\">public</span> <span class=\"kd\">protocol</span> <span class=\"kt\">ArrowParsable</span></code></pre>\n\n                </div>\n              </div>\n            <p>This is the protocol that makes your swift Models JSON parsable.</p>\n\n<p>A typical implementation would be the following, preferably in an extension\ncalled <code>MyModel+JSON</code> to keep things nice and clean :</p>\n\n<pre class=\"highlight plaintext\"><code>   //  MyModel+JSON.swift\n\n   import Arrow\n\n   extension MyModel: ArrowParsable {\n\n       mutating func deserialize(json: JSON) {\n           myVariable &lt;-- json[\"jsonProperty\"]\n           //...\n       }\n   }\n</code></pre>\n\n          </div>\n        </section>\n\n        <section class=\"section\">\n          <div class=\"section-content\">\n            <div class=\"task-group\">\n              <ul class=\"item-container\">\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:FP5Arrow13ArrowParsablecFT_x\"></a>\n                    <a name=\"//apple_ref/swift/Method/init()\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:FP5Arrow13ArrowParsablecFT_x\">init()</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>Makes sur your models can be constructed with an empty constructor.</p>\n\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight\"><code><span class=\"nf\">init</span><span class=\"p\">()</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:FP5Arrow13ArrowParsable11deserializeFCS_4JSONT_\"></a>\n                    <a name=\"//apple_ref/swift/Method/deserialize(_:)\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:FP5Arrow13ArrowParsable11deserializeFCS_4JSONT_\">deserialize(_:)</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>The method you declare your json mapping in.</p>\n\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight\"><code><span class=\"k\">mutating</span> <span class=\"kd\">func</span> <span class=\"nf\">deserialize</span><span class=\"p\">(</span><span class=\"nv\">json</span><span class=\"p\">:</span> <span class=\"kt\"><a href=\"../Classes/JSON.html\">JSON</a></span><span class=\"p\">)</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n              </ul>\n            </div>\n          </div>\n        </section>\n\n      </article>\n    </div>\n    <section class=\"footer\">\n      <p>&copy; 2016 <a class=\"link\" href=\"https://github.com/s4cha\" target=\"_blank\" rel=\"external\">S4cha</a>. All rights reserved. (Last updated: 2016-07-09)</p>\n      <p>Generated by <a class=\"link\" href=\"https://github.com/realm/jazzy\" target=\"_blank\" rel=\"external\">jazzy ♪♫ v0.7.0</a>, a <a class=\"link\" href=\"http://realm.io\" target=\"_blank\" rel=\"external\">Realm</a> project.</p>\n    </section>\n  </body>\n</div>\n</html>\n"
  },
  {
    "path": "docs/docsets/Arrow.docset/Contents/Resources/Documents/Protocols.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <title>Protocols  Reference</title>\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"css/jazzy.css\" />\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"css/highlight.css\" />\n    <meta charset=\"utf-8\">\n    <script src=\"js/jquery.min.js\" defer></script>\n    <script src=\"js/jazzy.js\" defer></script>\n    \n  </head>\n  <body>\n\n\n    <a title=\"Protocols  Reference\"></a>\n\n    <header class=\"header\">\n      <p class=\"header-col header-col--primary\">\n        <a class=\"header-link\" href=\"index.html\">\n          Arrow Docs\n        </a>\n         (72% documented)\n      </p>\n    \n        <p class=\"header-col header-col--secondary\">\n          <a class=\"header-link\" href=\"https://github.com/s4cha/Arrow\">\n            <img class=\"header-icon\" src=\"img/gh.png\"/>\n            View on GitHub\n          </a>\n        </p>\n    \n    </header>\n\n    <p class=\"breadcrumbs\">\n      <a class=\"breadcrumb\" href=\"index.html\">Arrow Reference</a>\n      <img class=\"carat\" src=\"img/carat.png\" />\n      Protocols  Reference\n    </p>\n\n    <div class=\"content-wrapper\">\n      <nav class=\"navigation\">\n        <ul class=\"nav-groups\">\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"Guides.html\">Guides</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"readme.html\">README</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"Classes.html\">Classes</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Classes/Arrow.html\">Arrow</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Classes/JSON.html\">JSON</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"Functions.html\">Functions</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions.html#/s:ZF5Arrowoi3lssFTRCSo6NSDateGSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions.html#/s:ZF5Arrowoi3lssFTRGSqCSo6NSDate_GSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions.html#/s:ZF5Arrowoi3lssFTRCSo5NSURLGSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions.html#/s:ZF5Arrowoi3lssFTRGSqCSo5NSURL_GSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"Protocols.html\">Protocols</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Protocols/ArrowParsable.html\">ArrowParsable</a>\n              </li>\n            </ul>\n          </li>\n        </ul>\n      </nav>\n      <article class=\"main-content\">\n\n        <section class=\"section\">\n          <div class=\"section-content\">\n            <h1>Protocols</h1>\n            <p>The following protocols are available globally.</p>\n\n          </div>\n        </section>\n\n        <section class=\"section\">\n          <div class=\"section-content\">\n            <div class=\"task-group\">\n              <ul class=\"item-container\">\n                <li class=\"item\">\n                  <div>\n                    <code>\n                    <a name=\"/s:P5Arrow13ArrowParsable\"></a>\n                    <a name=\"//apple_ref/swift/Protocol/ArrowParsable\" class=\"dashAnchor\"></a>\n                    <a class=\"token\" href=\"#/s:P5Arrow13ArrowParsable\">ArrowParsable</a>\n                    </code>\n                  </div>\n                  <div class=\"height-container\">\n                    <div class=\"pointer-container\"></div>\n                    <section class=\"section\">\n                      <div class=\"pointer\"></div>\n                      <div class=\"abstract\">\n                        <p>This is the protocol that makes your swift Models JSON parsable.</p>\n\n<p>A typical implementation would be the following, preferably in an extension\ncalled <code>MyModel+JSON</code> to keep things nice and clean :</p>\n\n<pre class=\"highlight plaintext\"><code>   //  MyModel+JSON.swift\n\n   import Arrow\n\n   extension MyModel: ArrowParsable {\n\n       mutating func deserialize(json: JSON) {\n           myVariable &lt;-- json[\"jsonProperty\"]\n           //...\n       }\n   }\n</code></pre>\n\n                        <a href=\"Protocols/ArrowParsable.html\" class=\"slightly-smaller\">See more</a>\n                      </div>\n                      <div class=\"declaration\">\n                        <h4>Declaration</h4>\n                        <div class=\"language\">\n                          <p class=\"aside-title\">Swift</p>\n                          <pre class=\"highlight\"><code><span class=\"kd\">public</span> <span class=\"kd\">protocol</span> <span class=\"kt\">ArrowParsable</span></code></pre>\n\n                        </div>\n                      </div>\n                    </section>\n                  </div>\n                </li>\n              </ul>\n            </div>\n          </div>\n        </section>\n\n      </article>\n    </div>\n    <section class=\"footer\">\n      <p>&copy; 2016 <a class=\"link\" href=\"https://github.com/s4cha\" target=\"_blank\" rel=\"external\">S4cha</a>. All rights reserved. (Last updated: 2016-07-09)</p>\n      <p>Generated by <a class=\"link\" href=\"https://github.com/realm/jazzy\" target=\"_blank\" rel=\"external\">jazzy ♪♫ v0.7.0</a>, a <a class=\"link\" href=\"http://realm.io\" target=\"_blank\" rel=\"external\">Realm</a> project.</p>\n    </section>\n  </body>\n</div>\n</html>\n"
  },
  {
    "path": "docs/docsets/Arrow.docset/Contents/Resources/Documents/css/highlight.css",
    "content": "/* Credit to https://gist.github.com/wataru420/2048287 */\n.highlight {\n  /* Comment */\n  /* Error */\n  /* Keyword */\n  /* Operator */\n  /* Comment.Multiline */\n  /* Comment.Preproc */\n  /* Comment.Single */\n  /* Comment.Special */\n  /* Generic.Deleted */\n  /* Generic.Deleted.Specific */\n  /* Generic.Emph */\n  /* Generic.Error */\n  /* Generic.Heading */\n  /* Generic.Inserted */\n  /* Generic.Inserted.Specific */\n  /* Generic.Output */\n  /* Generic.Prompt */\n  /* Generic.Strong */\n  /* Generic.Subheading */\n  /* Generic.Traceback */\n  /* Keyword.Constant */\n  /* Keyword.Declaration */\n  /* Keyword.Pseudo */\n  /* Keyword.Reserved */\n  /* Keyword.Type */\n  /* Literal.Number */\n  /* Literal.String */\n  /* Name.Attribute */\n  /* Name.Builtin */\n  /* Name.Class */\n  /* Name.Constant */\n  /* Name.Entity */\n  /* Name.Exception */\n  /* Name.Function */\n  /* Name.Namespace */\n  /* Name.Tag */\n  /* Name.Variable */\n  /* Operator.Word */\n  /* Text.Whitespace */\n  /* Literal.Number.Float */\n  /* Literal.Number.Hex */\n  /* Literal.Number.Integer */\n  /* Literal.Number.Oct */\n  /* Literal.String.Backtick */\n  /* Literal.String.Char */\n  /* Literal.String.Doc */\n  /* Literal.String.Double */\n  /* Literal.String.Escape */\n  /* Literal.String.Heredoc */\n  /* Literal.String.Interpol */\n  /* Literal.String.Other */\n  /* Literal.String.Regex */\n  /* Literal.String.Single */\n  /* Literal.String.Symbol */\n  /* Name.Builtin.Pseudo */\n  /* Name.Variable.Class */\n  /* Name.Variable.Global */\n  /* Name.Variable.Instance */\n  /* Literal.Number.Integer.Long */ }\n  .highlight .c {\n    color: #999988;\n    font-style: italic; }\n  .highlight .err {\n    color: #a61717;\n    background-color: #e3d2d2; }\n  .highlight .k {\n    color: #000000;\n    font-weight: bold; }\n  .highlight .o {\n    color: #000000;\n    font-weight: bold; }\n  .highlight .cm {\n    color: #999988;\n    font-style: italic; }\n  .highlight .cp {\n    color: #999999;\n    font-weight: bold; }\n  .highlight .c1 {\n    color: #999988;\n    font-style: italic; }\n  .highlight .cs {\n    color: #999999;\n    font-weight: bold;\n    font-style: italic; }\n  .highlight .gd {\n    color: #000000;\n    background-color: #ffdddd; }\n  .highlight .gd .x {\n    color: #000000;\n    background-color: #ffaaaa; }\n  .highlight .ge {\n    color: #000000;\n    font-style: italic; }\n  .highlight .gr {\n    color: #aa0000; }\n  .highlight .gh {\n    color: #999999; }\n  .highlight .gi {\n    color: #000000;\n    background-color: #ddffdd; }\n  .highlight .gi .x {\n    color: #000000;\n    background-color: #aaffaa; }\n  .highlight .go {\n    color: #888888; }\n  .highlight .gp {\n    color: #555555; }\n  .highlight .gs {\n    font-weight: bold; }\n  .highlight .gu {\n    color: #aaaaaa; }\n  .highlight .gt {\n    color: #aa0000; }\n  .highlight .kc {\n    color: #000000;\n    font-weight: bold; }\n  .highlight .kd {\n    color: #000000;\n    font-weight: bold; }\n  .highlight .kp {\n    color: #000000;\n    font-weight: bold; }\n  .highlight .kr {\n    color: #000000;\n    font-weight: bold; }\n  .highlight .kt {\n    color: #445588; }\n  .highlight .m {\n    color: #009999; }\n  .highlight .s {\n    color: #d14; }\n  .highlight .na {\n    color: #008080; }\n  .highlight .nb {\n    color: #0086B3; }\n  .highlight .nc {\n    color: #445588;\n    font-weight: bold; }\n  .highlight .no {\n    color: #008080; }\n  .highlight .ni {\n    color: #800080; }\n  .highlight .ne {\n    color: #990000;\n    font-weight: bold; }\n  .highlight .nf {\n    color: #990000; }\n  .highlight .nn {\n    color: #555555; }\n  .highlight .nt {\n    color: #000080; }\n  .highlight .nv {\n    color: #008080; }\n  .highlight .ow {\n    color: #000000;\n    font-weight: bold; }\n  .highlight .w {\n    color: #bbbbbb; }\n  .highlight .mf {\n    color: #009999; }\n  .highlight .mh {\n    color: #009999; }\n  .highlight .mi {\n    color: #009999; }\n  .highlight .mo {\n    color: #009999; }\n  .highlight .sb {\n    color: #d14; }\n  .highlight .sc {\n    color: #d14; }\n  .highlight .sd {\n    color: #d14; }\n  .highlight .s2 {\n    color: #d14; }\n  .highlight .se {\n    color: #d14; }\n  .highlight .sh {\n    color: #d14; }\n  .highlight .si {\n    color: #d14; }\n  .highlight .sx {\n    color: #d14; }\n  .highlight .sr {\n    color: #009926; }\n  .highlight .s1 {\n    color: #d14; }\n  .highlight .ss {\n    color: #990073; }\n  .highlight .bp {\n    color: #999999; }\n  .highlight .vc {\n    color: #008080; }\n  .highlight .vg {\n    color: #008080; }\n  .highlight .vi {\n    color: #008080; }\n  .highlight .il {\n    color: #009999; }\n"
  },
  {
    "path": "docs/docsets/Arrow.docset/Contents/Resources/Documents/css/jazzy.css",
    "content": "*, *:before, *:after {\n  box-sizing: inherit; }\n\nbody {\n  margin: 0;\n  background: #fff;\n  color: #333;\n  font: 16px/1.7 \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  letter-spacing: .2px;\n  -webkit-font-smoothing: antialiased;\n  box-sizing: border-box; }\n\nh1 {\n  font-size: 2rem;\n  font-weight: 700;\n  margin: 1.275em 0 0.6em; }\n\nh2 {\n  font-size: 1.75rem;\n  font-weight: 700;\n  margin: 1.275em 0 0.3em; }\n\nh3 {\n  font-size: 1.5rem;\n  font-weight: 700;\n  margin: 1em 0 0.3em; }\n\nh4 {\n  font-size: 1.25rem;\n  font-weight: 700;\n  margin: 1.275em 0 0.85em; }\n\nh5 {\n  font-size: 1rem;\n  font-weight: 700;\n  margin: 1.275em 0 0.85em; }\n\nh6 {\n  font-size: 1rem;\n  font-weight: 700;\n  margin: 1.275em 0 0.85em;\n  color: #777; }\n\np {\n  margin: 0 0 1em; }\n\nul, ol {\n  padding: 0 0 0 2em;\n  margin: 0 0 0.85em; }\n\nblockquote {\n  margin: 0 0 0.85em;\n  padding: 0 15px;\n  color: #858585;\n  border-left: 4px solid #e5e5e5; }\n\nimg {\n  max-width: 100%; }\n\na {\n  color: #4183c4;\n  text-decoration: none; }\n  a:hover, a:focus {\n    outline: 0;\n    text-decoration: underline; }\n\ntable {\n  background: #fff;\n  width: 100%;\n  border-collapse: collapse;\n  border-spacing: 0;\n  overflow: auto;\n  margin: 0 0 0.85em; }\n\ntr:nth-child(2n) {\n  background-color: #fbfbfb; }\n\nth, td {\n  padding: 6px 13px;\n  border: 1px solid #ddd; }\n\npre {\n  margin: 0 0 1.275em;\n  padding: .85em 1em;\n  overflow: auto;\n  background: #f7f7f7;\n  font-size: .85em;\n  font-family: Consolas, \"Liberation Mono\", Menlo, Courier, monospace; }\n\ncode {\n  font-family: Consolas, \"Liberation Mono\", Menlo, Courier, monospace; }\n\np > code, li > code {\n  background: #f7f7f7;\n  padding: .2em; }\n  p > code:before, p > code:after, li > code:before, li > code:after {\n    letter-spacing: -.2em;\n    content: \"\\00a0\"; }\n\npre code {\n  padding: 0;\n  white-space: pre; }\n\n.content-wrapper {\n  display: flex;\n  flex-direction: column; }\n  @media (min-width: 768px) {\n    .content-wrapper {\n      flex-direction: row; } }\n\n.header {\n  display: flex;\n  padding: 8px;\n  font-size: 0.875em;\n  background: #444;\n  color: #999; }\n\n.header-col {\n  margin: 0;\n  padding: 0 8px; }\n\n.header-col--primary {\n  flex: 1; }\n\n.header-link {\n  color: #fff; }\n\n.header-icon {\n  padding-right: 6px;\n  vertical-align: -4px;\n  height: 16px; }\n\n.breadcrumbs {\n  font-size: 0.875em;\n  padding: 8px 16px;\n  margin: 0;\n  background: #fbfbfb;\n  border-bottom: 1px solid #ddd; }\n\n.carat {\n  height: 10px;\n  margin: 0 5px; }\n\n.navigation {\n  order: 2; }\n  @media (min-width: 768px) {\n    .navigation {\n      order: 1;\n      width: 25%;\n      max-width: 300px;\n      padding-bottom: 64px;\n      overflow: hidden;\n      word-wrap: normal;\n      background: #fbfbfb;\n      border-right: 1px solid #ddd; } }\n\n.nav-groups {\n  list-style-type: none;\n  padding-left: 0; }\n\n.nav-group-name {\n  border-bottom: 1px solid #ddd;\n  padding: 8px 0 8px 16px; }\n\n.nav-group-name-link {\n  color: #333; }\n\n.nav-group-tasks {\n  margin: 8px 0;\n  padding: 0 0 0 8px; }\n\n.nav-group-task {\n  font-size: 1em;\n  list-style-type: none;\n  white-space: nowrap; }\n\n.nav-group-task-link {\n  color: #808080; }\n\n.main-content {\n  order: 1; }\n  @media (min-width: 768px) {\n    .main-content {\n      order: 2;\n      flex: 1;\n      padding-bottom: 60px; } }\n\n.section {\n  padding: 0 32px;\n  border-bottom: 1px solid #ddd; }\n\n.section-content {\n  max-width: 834px;\n  margin: 0 auto;\n  padding: 16px 0; }\n\n.section-name {\n  color: #666;\n  display: block; }\n\n.declaration .highlight {\n  overflow-x: initial;\n  padding: 8px 0;\n  margin: 0;\n  background-color: transparent;\n  border: none; }\n\n.task-group-section {\n  border-top: 1px solid #ddd; }\n\n.task-group {\n  padding-top: 0px; }\n\n.task-name-container a[name]:before {\n  content: \"\";\n  display: block; }\n\n.item-container {\n  padding: 0; }\n\n.item {\n  padding-top: 8px;\n  width: 100%;\n  list-style-type: none; }\n  .item a[name]:before {\n    content: \"\";\n    display: block; }\n  .item .token {\n    padding-left: 3px;\n    margin-left: 0px;\n    font-size: 1rem; }\n  .item .declaration-note {\n    font-size: .85em;\n    color: #808080;\n    font-style: italic; }\n\n.pointer-container {\n  border-bottom: 1px solid #ddd;\n  left: -23px;\n  padding-bottom: 13px;\n  position: relative;\n  width: 110%; }\n\n.pointer {\n  left: 21px;\n  top: 7px;\n  display: block;\n  position: absolute;\n  width: 12px;\n  height: 12px;\n  border-left: 1px solid #ddd;\n  border-top: 1px solid #ddd;\n  background: #fff;\n  transform: rotate(45deg); }\n\n.height-container {\n  display: none;\n  position: relative;\n  width: 100%;\n  overflow: hidden; }\n  .height-container .section {\n    background: #fff;\n    border: 1px solid #ddd;\n    border-top-width: 0;\n    padding-top: 10px;\n    padding-bottom: 5px;\n    padding: 8px 16px; }\n\n.aside, .language {\n  padding: 6px 12px;\n  margin: 12px 0;\n  border-left: 5px solid #dddddd;\n  overflow-y: hidden; }\n  .aside .aside-title, .language .aside-title {\n    font-size: 9px;\n    letter-spacing: 2px;\n    text-transform: uppercase;\n    padding-bottom: 0;\n    margin: 0;\n    color: #aaa;\n    -webkit-user-select: none; }\n  .aside p:last-child, .language p:last-child {\n    margin-bottom: 0; }\n\n.language {\n  border-left: 5px solid #cde9f4; }\n  .language .aside-title {\n    color: #4183c4; }\n\n.aside-warning {\n  border-left: 5px solid #ff6666; }\n  .aside-warning .aside-title {\n    color: #ff0000; }\n\n.graybox {\n  border-collapse: collapse;\n  width: 100%; }\n  .graybox p {\n    margin: 0;\n    word-break: break-word;\n    min-width: 50px; }\n  .graybox td {\n    border: 1px solid #ddd;\n    padding: 5px 25px 5px 10px;\n    vertical-align: middle; }\n  .graybox tr td:first-of-type {\n    text-align: right;\n    padding: 7px;\n    vertical-align: top;\n    word-break: normal;\n    width: 40px; }\n\n.slightly-smaller {\n  font-size: 0.9em; }\n\n.footer {\n  padding: 8px 16px;\n  background: #444;\n  color: #ddd;\n  font-size: 0.8em; }\n  .footer p {\n    margin: 8px 0; }\n  .footer a {\n    color: #fff; }\n\nhtml.dash .header, html.dash .breadcrumbs, html.dash .navigation {\n  display: none; }\nhtml.dash .height-container {\n  display: block; }\n"
  },
  {
    "path": "docs/docsets/Arrow.docset/Contents/Resources/Documents/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <title>Arrow  Reference</title>\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"css/jazzy.css\" />\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"css/highlight.css\" />\n    <meta charset=\"utf-8\">\n    <script src=\"js/jquery.min.js\" defer></script>\n    <script src=\"js/jazzy.js\" defer></script>\n    \n  </head>\n  <body>\n\n\n    <a title=\"Arrow  Reference\"></a>\n\n    <header class=\"header\">\n      <p class=\"header-col header-col--primary\">\n        <a class=\"header-link\" href=\"index.html\">\n          Arrow Docs\n        </a>\n         (72% documented)\n      </p>\n    \n        <p class=\"header-col header-col--secondary\">\n          <a class=\"header-link\" href=\"https://github.com/s4cha/Arrow\">\n            <img class=\"header-icon\" src=\"img/gh.png\"/>\n            View on GitHub\n          </a>\n        </p>\n    \n    </header>\n\n    <p class=\"breadcrumbs\">\n      <a class=\"breadcrumb\" href=\"index.html\">Arrow Reference</a>\n      <img class=\"carat\" src=\"img/carat.png\" />\n      Arrow  Reference\n    </p>\n\n    <div class=\"content-wrapper\">\n      <nav class=\"navigation\">\n        <ul class=\"nav-groups\">\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"Guides.html\">Guides</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"readme.html\">README</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"Classes.html\">Classes</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Classes/Arrow.html\">Arrow</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Classes/JSON.html\">JSON</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"Functions.html\">Functions</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions.html#/s:ZF5Arrowoi3lssFTRCSo6NSDateGSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions.html#/s:ZF5Arrowoi3lssFTRGSqCSo6NSDate_GSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions.html#/s:ZF5Arrowoi3lssFTRCSo5NSURLGSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions.html#/s:ZF5Arrowoi3lssFTRGSqCSo5NSURL_GSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"Protocols.html\">Protocols</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Protocols/ArrowParsable.html\">ArrowParsable</a>\n              </li>\n            </ul>\n          </li>\n        </ul>\n      </nav>\n      <article class=\"main-content\">\n\n        <section class=\"section\">\n          <div class=\"section-content\">\n            \n            <a href='#arrow-em-elegant-json-parsing-in-swift-em' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h1 id='arrow-em-elegant-json-parsing-in-swift-em'>Arrow 🏹 - <em>Elegant JSON Parsing in Swift</em></h1>\n\n<p><a href=\"https://developer.apple.com/swift\"><img src=\"https://img.shields.io/badge/language-swift2-f48041.svg?style=flat\" alt=\"Language: Swift 2\"></a>\n<img src=\"https://img.shields.io/badge/platform-iOS%208%2B-blue.svg?style=flat\" alt=\"Platform: iOS 8+\">\n<a href=\"https://github.com/Carthage/Carthage\"><img src=\"https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat\" alt=\"Carthage compatible\"></a>\n<a href=\"https://cocoapods.org\"><img src=\"https://img.shields.io/badge/Cocoapods-compatible-4BC51D.svg?style=flat\" alt=\"Cocoapods compatible\"></a>\n<a href=\"https://www.bitrise.io/app/ffd8fe5df34624ff\"><img src=\"https://www.bitrise.io/app/ffd8fe5df34624ff.svg?token=IahWn-RB5hTWzvBbcIktsQ\" alt=\"Build Status\"></a>\n<a href=\"https://codebeat.co/projects/github-com-s4cha-arrow\"><img src=\"https://codebeat.co/badges/2acb8664-02f7-463d-9de2-2be9e87ba17c\" alt=\"codebeat badge\"></a>\n<a href=\"https://github.com/s4cha/Arrow/blob/master/LICENSE\"><img src=\"http://img.shields.io/badge/license-MIT-lightgrey.svg?style=flat\" alt=\"License: MIT\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/release-2.0-blue.svg\" alt=\"Release version\"></a></p>\n\n<p><a href=\"#reason\">Reason</a> - <a href=\"#example\">Example</a> - <a href=\"#installation\">Installation</a></p>\n<pre class=\"highlight swift\"><code><span class=\"n\">identifier</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"id\"</span><span class=\"p\">]</span>\n<span class=\"n\">name</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"name\"</span><span class=\"p\">]</span>\n<span class=\"n\">stats</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"stats\"</span><span class=\"p\">]</span>\n</code></pre>\n<a href='#reason' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h2 id='reason'>Reason</h2>\n<a href='#why' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h3 id='why'>Why</h3>\n\n<p>Because parsing JSON in Swift is full of <strong>unecessary if lets, obvious casts and nil-checks</strong><br>\n<em>There must be a better way</em></p>\n<a href='#how' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h2 id='how'>How</h2>\n\n<p>By using a simple arrow operator that takes care of the boilerplate code for us.<br>\nJson mapping code becomes <strong>concise</strong> and <strong>maintainable</strong> ❤️</p>\n<a href='#what' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h2 id='what'>What</h2>\n\n<ul>\n<li>[x] Simple &amp; Lightweight (~200lines)</li>\n<li>[x] Pure Swift</li>\n<li>[x] Leaves your models clean</li>\n<li>[x] Implicitly casts JSON values to the right types in your model</li>\n<li>[x] Automatic NSDate, NSURL, Enum, Custom model Parsing</li>\n<li>[x] Converts string values to numeric types in your model</li>\n<li>[x] Does not crash if JSON key is not there, nor returns nil, it simply doesn&rsquo;t do anything</li>\n<li>[x] No overly complex obscure functional chaining operator overloading voodoo magic ?==:&gt;&gt;&gt;&lt;&gt; 😅</li>\n</ul>\n<a href='#example' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h2 id='example'>Example</h2>\n<a href='#swift-model' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h3 id='swift-model'>Swift Model</h3>\n<pre class=\"highlight swift\"><code><span class=\"kd\">struct</span> <span class=\"kt\">Profile</span> <span class=\"p\">{</span>\n    <span class=\"k\">var</span> <span class=\"nv\">identifier</span> <span class=\"o\">=</span> <span class=\"mi\">0</span>\n    <span class=\"k\">var</span> <span class=\"nv\">name</span> <span class=\"o\">=</span> <span class=\"s\">\"\"</span>\n    <span class=\"k\">var</span> <span class=\"nv\">link</span><span class=\"p\">:</span><span class=\"kt\">NSURL</span><span class=\"p\">?</span>\n    <span class=\"k\">var</span> <span class=\"nv\">weekday</span><span class=\"p\">:</span><span class=\"kt\">WeekDay</span> <span class=\"o\">=</span> <span class=\"o\">.</span><span class=\"kt\">Monday</span>\n    <span class=\"k\">var</span> <span class=\"nv\">stats</span> <span class=\"o\">=</span> <span class=\"kt\">Stats</span><span class=\"p\">()</span>\n    <span class=\"k\">var</span> <span class=\"nv\">phoneNumbers</span> <span class=\"o\">=</span> <span class=\"p\">[</span><span class=\"kt\">PhoneNumber</span><span class=\"p\">]()</span>\n<span class=\"p\">}</span>\n</code></pre>\n<a href='#json-file' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h3 id='json-file'>JSON File</h3>\n<pre class=\"highlight json\"><code><span class=\"p\">{</span><span class=\"w\">\n    </span><span class=\"nt\">\"id\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"mi\">15678</span><span class=\"p\">,</span><span class=\"w\">\n    </span><span class=\"nt\">\"name\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"John Doe\"</span><span class=\"p\">,</span><span class=\"w\">\n    </span><span class=\"nt\">\"link\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"https://apple.com/steve\"</span><span class=\"p\">,</span><span class=\"w\">\n    </span><span class=\"nt\">\"weekdayInt\"</span><span class=\"w\"> </span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"mi\">3</span><span class=\"p\">,</span><span class=\"w\">\n    </span><span class=\"nt\">\"stats\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"p\">{</span><span class=\"w\">\n        </span><span class=\"nt\">\"numberOfFriends\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"mi\">163</span><span class=\"p\">,</span><span class=\"w\">\n        </span><span class=\"nt\">\"numberOfFans\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"mi\">10987</span><span class=\"w\">\n    </span><span class=\"p\">},</span><span class=\"w\">\n    </span><span class=\"nt\">\"phoneNumbers\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"p\">[{</span><span class=\"w\">\n                     </span><span class=\"nt\">\"label\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"house\"</span><span class=\"p\">,</span><span class=\"w\">\n                     </span><span class=\"nt\">\"number\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"9809876545\"</span><span class=\"w\">\n                     </span><span class=\"p\">},</span><span class=\"w\"> </span><span class=\"p\">{</span><span class=\"w\">\n                     </span><span class=\"nt\">\"label\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"cell\"</span><span class=\"p\">,</span><span class=\"w\">\n                     </span><span class=\"nt\">\"number\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"0908070656\"</span><span class=\"w\">\n                     </span><span class=\"p\">},</span><span class=\"w\"> </span><span class=\"p\">{</span><span class=\"w\">\n                     </span><span class=\"nt\">\"label\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"work\"</span><span class=\"p\">,</span><span class=\"w\">\n                     </span><span class=\"nt\">\"number\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"0916570656\"</span><span class=\"w\">\n    </span><span class=\"p\">}]</span><span class=\"w\">\n</span><span class=\"p\">}</span><span class=\"w\">\n</span></code></pre>\n<a href='#before-chaos' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h3 id='before-chaos'>Before (Chaos)</h3>\n<pre class=\"highlight swift\"><code><span class=\"k\">var</span> <span class=\"nv\">profile</span> <span class=\"o\">=</span> <span class=\"kt\">Profile</span><span class=\"p\">()</span>\n\n<span class=\"c1\">// Int</span>\n<span class=\"k\">if</span> <span class=\"k\">let</span> <span class=\"nv\">id</span> <span class=\"o\">=</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"id\"</span><span class=\"p\">]</span> <span class=\"k\">as?</span> <span class=\"kt\">Int</span> <span class=\"p\">{</span>\n    <span class=\"n\">profile</span><span class=\"o\">.</span><span class=\"n\">identifier</span> <span class=\"o\">=</span> <span class=\"n\">id</span>\n<span class=\"p\">}</span>  \n<span class=\"c1\">// String</span>\n<span class=\"k\">if</span> <span class=\"k\">let</span> <span class=\"nv\">name</span> <span class=\"o\">=</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"name\"</span><span class=\"p\">]</span> <span class=\"k\">as?</span> <span class=\"kt\">String</span> <span class=\"p\">{</span>\n    <span class=\"n\">profile</span><span class=\"o\">.</span><span class=\"n\">name</span> <span class=\"o\">=</span> <span class=\"n\">name</span>\n<span class=\"p\">}</span>\n<span class=\"c1\">// NSURL</span>\n<span class=\"k\">if</span> <span class=\"k\">let</span> <span class=\"nv\">link</span> <span class=\"o\">=</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"link\"</span><span class=\"p\">]</span> <span class=\"k\">as?</span> <span class=\"kt\">String</span><span class=\"p\">,</span> <span class=\"n\">url</span> <span class=\"o\">=</span> <span class=\"kt\">NSURL</span><span class=\"p\">(</span><span class=\"nv\">string</span><span class=\"p\">:</span><span class=\"n\">link</span><span class=\"p\">)</span>  <span class=\"p\">{</span>\n    <span class=\"n\">profile</span><span class=\"o\">.</span><span class=\"n\">link</span> <span class=\"o\">=</span> <span class=\"n\">link</span>\n<span class=\"p\">}</span>\n<span class=\"c1\">// Enum</span>\n<span class=\"k\">if</span> <span class=\"k\">let</span> <span class=\"nv\">weekdayInt</span> <span class=\"o\">=</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"weekdayInt\"</span><span class=\"p\">]</span> <span class=\"k\">as?</span> <span class=\"kt\">Int</span><span class=\"p\">,</span> <span class=\"n\">weekday</span> <span class=\"o\">=</span> <span class=\"kt\">WeekDay</span><span class=\"p\">(</span><span class=\"nv\">rawValue</span><span class=\"p\">:</span><span class=\"n\">weekdayInt</span><span class=\"p\">)</span> <span class=\"p\">{</span>\n    <span class=\"n\">profile</span><span class=\"o\">.</span><span class=\"n\">weekday</span> <span class=\"o\">=</span> <span class=\"n\">weekday</span>\n<span class=\"p\">}</span>\n<span class=\"c1\">// Custom nested object</span>\n<span class=\"k\">if</span> <span class=\"k\">let</span> <span class=\"nv\">statsJson</span> <span class=\"o\">=</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"stats\"</span><span class=\"p\">]</span> <span class=\"k\">as?</span> <span class=\"kt\">AnyObject</span> <span class=\"p\">{</span>\n    <span class=\"k\">if</span> <span class=\"k\">let</span> <span class=\"nv\">numberOfFans</span> <span class=\"o\">=</span> <span class=\"n\">statsJson</span><span class=\"p\">[</span><span class=\"s\">\"numberOfFans\"</span><span class=\"p\">]</span> <span class=\"k\">as?</span> <span class=\"kt\">Int</span> <span class=\"p\">{</span>\n        <span class=\"n\">profile</span><span class=\"o\">.</span><span class=\"n\">stats</span><span class=\"o\">.</span><span class=\"n\">numberOfFans</span> <span class=\"o\">=</span> <span class=\"n\">numberOfFans</span>\n    <span class=\"p\">}</span>\n    <span class=\"k\">if</span> <span class=\"k\">let</span> <span class=\"nv\">numberOfFriends</span> <span class=\"o\">=</span> <span class=\"n\">statsJson</span><span class=\"p\">[</span><span class=\"s\">\"numberOfFriends\"</span><span class=\"p\">]</span> <span class=\"k\">as?</span> <span class=\"kt\">Int</span> <span class=\"p\">{</span>\n        <span class=\"n\">profile</span><span class=\"o\">.</span><span class=\"n\">stats</span><span class=\"o\">.</span><span class=\"n\">numberOfFriends</span> <span class=\"o\">=</span> <span class=\"n\">numberOfFriends</span>\n    <span class=\"p\">}</span>\n<span class=\"p\">}</span>\n<span class=\"c1\">// Array of custom nested object</span>\n<span class=\"k\">if</span> <span class=\"k\">let</span> <span class=\"nv\">pns</span> <span class=\"o\">=</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"phoneNumbers\"</span><span class=\"p\">]</span> <span class=\"k\">as?</span> <span class=\"p\">[</span><span class=\"kt\">AnyObject</span><span class=\"p\">]</span> <span class=\"p\">{</span>\n    <span class=\"k\">for</span> <span class=\"n\">pn</span> <span class=\"k\">in</span> <span class=\"n\">pns</span> <span class=\"p\">{</span>\n        <span class=\"n\">phoneNumbers</span><span class=\"o\">.</span><span class=\"nf\">append</span><span class=\"p\">(</span><span class=\"kt\">PhoneNumber</span><span class=\"p\">(</span><span class=\"nv\">json</span><span class=\"p\">:</span> <span class=\"n\">pn</span><span class=\"p\">))</span>\n    <span class=\"p\">}</span>\n<span class=\"p\">}</span>\n</code></pre>\n<a href='#after' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h3 id='after'>After  🎉🎉🎉</h3>\n<pre class=\"highlight swift\"><code><span class=\"kd\">extension</span> <span class=\"kt\">Profile</span><span class=\"p\">:</span><span class=\"kt\">ArrowParsable</span> <span class=\"p\">{</span>\n    <span class=\"k\">mutating</span> <span class=\"kd\">func</span> <span class=\"nf\">deserialize</span><span class=\"p\">(</span><span class=\"nv\">json</span><span class=\"p\">:</span> <span class=\"kt\">JSON</span><span class=\"p\">)</span> <span class=\"p\">{</span>\n        <span class=\"n\">identifier</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"id\"</span><span class=\"p\">]</span>\n        <span class=\"n\">link</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"link\"</span><span class=\"p\">]</span>\n        <span class=\"n\">name</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"name\"</span><span class=\"p\">]</span>\n        <span class=\"n\">weekday</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"weekdayInt\"</span><span class=\"p\">]</span>\n        <span class=\"n\">stats</span> <span class=\"o\">&lt;-</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"stats\"</span><span class=\"p\">]</span>\n        <span class=\"n\">phoneNumbers</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"phoneNumbers\"</span><span class=\"p\">]</span>\n    <span class=\"p\">}</span>\n<span class=\"p\">}</span>\n</code></pre>\n<a href='#usage' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h3 id='usage'>Usage</h3>\n<pre class=\"highlight swift\"><code><span class=\"k\">let</span> <span class=\"nv\">profile</span> <span class=\"o\">=</span> <span class=\"kt\">Profile</span><span class=\"p\">()</span>\n<span class=\"n\">profile</span><span class=\"o\">.</span><span class=\"nf\">deserialize</span><span class=\"p\">(</span><span class=\"n\">json</span><span class=\"p\">)</span>\n</code></pre>\n<a href='#installation' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h2 id='installation'>Installation</h2>\n<a href='#carthage' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h4 id='carthage'>Carthage</h4>\n<pre class=\"highlight plaintext\"><code>github \"s4cha/Arrow\"\n</code></pre>\n<a href='#cocoapods' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h4 id='cocoapods'>CocoaPods</h4>\n<pre class=\"highlight plaintext\"><code>pod 'Arrow'\nuse_frameworks!\n</code></pre>\n<a href='#manually' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h4 id='manually'>Manually</h4>\n\n<p>Simply Copy and Paste Arrow.swift in your Xcode Project :)\n<a href=\"https://github.com/s4cha/Arrow/blob/master/Arrow.swift\">https://github.com/s4cha/Arrow/blob/master/Arrow.swift</a></p>\n<a href='#as-a-framework' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h4 id='as-a-framework'>As A Framework</h4>\n\n<p>Grab this repository and build the Framework target on the example project. Then Link against this framework.</p>\n<a href='#how-does-that-work' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h2 id='how-does-that-work'>How Does That Work</h2>\n\n<p>Notice earlier we typed :</p>\n<pre class=\"highlight swift\"><code><span class=\"n\">stats</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"stats\"</span><span class=\"p\">]</span>\n</code></pre>\n\n<p>That&rsquo;s because we created and extension <q>Stats+Arrow.swift</q> enabling us to use the Arrow Operator</p>\n<pre class=\"highlight swift\"><code><span class=\"c1\">//  Stats+Arrow.swift</span>\n\n<span class=\"kd\">import</span> <span class=\"kt\">Foundation</span>\n\n<span class=\"kd\">extension</span> <span class=\"kt\">Stats</span><span class=\"p\">:</span><span class=\"kt\">ArrowParsable</span> <span class=\"p\">{</span>\n    <span class=\"k\">mutating</span> <span class=\"kd\">func</span> <span class=\"nf\">deserialize</span><span class=\"p\">(</span><span class=\"nv\">json</span><span class=\"p\">:</span> <span class=\"kt\">JSON</span><span class=\"p\">)</span> <span class=\"p\">{</span>\n        <span class=\"n\">numberOfFriends</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"numberOfFriends\"</span><span class=\"p\">]</span>\n        <span class=\"n\">numberOfFans</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"numberOfFans\"</span><span class=\"p\">]</span>\n    <span class=\"p\">}</span>\n<span class=\"p\">}</span>\n</code></pre>\n<a href='#flexible-you-said' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h2 id='flexible-you-said'>Flexible you said</h2>\n\n<ul>\n<li>DO I have to use the &lt;&ndash; for my sub models</li>\n<li>Nope, you could write it like so if you wanted :</li>\n</ul>\n<pre class=\"highlight swift\"><code><span class=\"n\">stats</span><span class=\"o\">.</span><span class=\"n\">numberOfFriends</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"stats.numberOfFriends\"</span><span class=\"p\">]</span>\n<span class=\"n\">stats</span><span class=\"o\">.</span><span class=\"n\">numberOfFans</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"stats.numberOfFans\"</span><span class=\"p\">]</span>\n</code></pre>\n\n<ul>\n<li>Hey I don&rsquo;t want to parse NSDates in every files, do you have something for me?</li>\n</ul>\n\n<p>Sure, just set your date format once and you&rsquo;re done.</p>\n<pre class=\"highlight swift\"><code><span class=\"c1\">// Configure NSDate Parsing</span>\n<span class=\"kt\">Arrow</span><span class=\"o\">.</span><span class=\"nf\">setDateFormat</span><span class=\"p\">(</span><span class=\"s\">\"yyyy-MM-dd'T'HH:mm:ssZZZZZ\"</span><span class=\"p\">)</span>\n<span class=\"kt\">Arrow</span><span class=\"o\">.</span><span class=\"nf\">setUseTimeIntervalSinceReferenceDate</span><span class=\"p\">(</span><span class=\"kc\">true</span><span class=\"p\">)</span>\n\n<span class=\"c1\">// Dates can be parsed form custom date format or timestamp</span>\n<span class=\"k\">let</span> <span class=\"nv\">json</span><span class=\"p\">:</span><span class=\"kt\">JSON</span> <span class=\"o\">=</span> <span class=\"kt\">JSON</span><span class=\"p\">([</span><span class=\"s\">\"date\"</span><span class=\"p\">:</span> <span class=\"s\">\"2013-06-07T16:38:40+02:00\"</span><span class=\"p\">,</span> <span class=\"s\">\"timestamp\"</span><span class=\"p\">:</span> <span class=\"mi\">392308720</span><span class=\"p\">])</span>\n<span class=\"n\">date1</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"date\"</span><span class=\"p\">]</span>\n<span class=\"n\">date2</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"timestamp\"</span><span class=\"p\">]</span>\n</code></pre>\n\n<p>What if I want a Custom NSDate format for a specific key ?\n<code>swift\ncreatedAt &lt;-- json[&quot;created_at&quot;]?.dateFormat(&quot;yyyy-MM-dd&#39;T&#39;HH:mm:ssZZZZZ&quot;)\n</code>\nJust provide it on a case per case basis ! 🎉</p>\n<a href='#accessing-json-values' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h2 id='accessing-json-values'>Accessing JSON values</h2>\n<a href='#nested-values' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h3 id='nested-values'>Nested values</h3>\n<pre class=\"highlight swift\"><code><span class=\"n\">value</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"nested.nested.nested.nestedValue\"</span><span class=\"p\">]</span>\n</code></pre>\n<a href='#object-at-index' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h3 id='object-at-index'>Object at index</h3>\n<pre class=\"highlight swift\"><code><span class=\"n\">value</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"mi\">12</span><span class=\"p\">]</span>\n</code></pre>\n<a href='#combine-both' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h3 id='combine-both'>Combine both</h3>\n<pre class=\"highlight swift\"><code><span class=\"n\">value</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"mi\">1</span><span class=\"p\">]?[</span><span class=\"s\">\"someKey\"</span><span class=\"p\">]?[</span><span class=\"mi\">2</span><span class=\"p\">]?[</span><span class=\"s\">\"something.other\"</span><span class=\"p\">]</span>\n</code></pre>\n<a href='#looping-on-array' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h3 id='looping-on-array'>Looping on Array</h3>\n<pre class=\"highlight swift\"><code><span class=\"k\">if</span> <span class=\"k\">let</span> <span class=\"nv\">collection</span> <span class=\"o\">=</span> <span class=\"n\">json</span><span class=\"o\">.</span><span class=\"n\">collection</span> <span class=\"p\">{</span>\n    <span class=\"k\">for</span> <span class=\"n\">jsonEntry</span> <span class=\"k\">in</span> <span class=\"n\">collection</span> <span class=\"p\">{</span>\n        <span class=\"c1\">//Do something</span>\n    <span class=\"p\">}</span>\n<span class=\"p\">}</span>\n</code></pre>\n<a href='#acknoledgments' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h2 id='acknoledgments'>Acknoledgments</h2>\n\n<p>This wouldn&rsquo;t exist without <a href=\"https://github.com/YannickDot\">YannickDot</a>, <a href=\"https://github.com/damien-nd\">Damien-nd</a> and <a href=\"https://github.com/maxkonovalov\">maxkonovalov</a></p>\n<a href='#other-repos' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h2 id='other-repos'>Other repos ❤️</h2>\n\n<p>Arrow is part of a series of lightweight libraries aiming to make developing iOS Apps a <em>breeze</em> :\n- Layout : <a href=\"https://github.com/s4cha/Stevia\">Stevia</a>\n- Async code : <a href=\"https://github.com/s4cha/then\">then</a>\n- JSON WebServices : <a href=\"https://github.com/s4cha/ws\">ws</a></p>\n\n          </div>\n        </section>\n\n\n      </article>\n    </div>\n    <section class=\"footer\">\n      <p>&copy; 2016 <a class=\"link\" href=\"https://github.com/s4cha\" target=\"_blank\" rel=\"external\">S4cha</a>. All rights reserved. (Last updated: 2016-07-09)</p>\n      <p>Generated by <a class=\"link\" href=\"https://github.com/realm/jazzy\" target=\"_blank\" rel=\"external\">jazzy ♪♫ v0.7.0</a>, a <a class=\"link\" href=\"http://realm.io\" target=\"_blank\" rel=\"external\">Realm</a> project.</p>\n    </section>\n  </body>\n</div>\n</html>\n"
  },
  {
    "path": "docs/docsets/Arrow.docset/Contents/Resources/Documents/js/jazzy.js",
    "content": "window.jazzy = {'docset': false}\nif (typeof window.dash != 'undefined') {\n  document.documentElement.className += ' dash'\n  window.jazzy.docset = true\n}\nif (navigator.userAgent.match(/xcode/i)) {\n  document.documentElement.className += ' xcode'\n  window.jazzy.docset = true\n}\n\n// On doc load, toggle the URL hash discussion if present\n$(document).ready(function() {\n  if (!window.jazzy.docset) {\n    var linkToHash = $('a[href=\"' + window.location.hash +'\"]');\n    linkToHash.trigger(\"click\");\n  }\n});\n\n// On token click, toggle its discussion and animate token.marginLeft\n$(\".token\").click(function(event) {\n  if (window.jazzy.docset) {\n    return;\n  }\n  var link = $(this);\n  var animationDuration = 300;\n  $content = link.parent().parent().next();\n  $content.slideToggle(animationDuration);\n\n  // Keeps the document from jumping to the hash.\n  var href = $(this).attr('href');\n  if (history.pushState) {\n    history.pushState({}, '', href);\n  } else {\n    location.hash = href;\n  }\n  event.preventDefault();\n});\n"
  },
  {
    "path": "docs/docsets/Arrow.docset/Contents/Resources/Documents/readme.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <title>README  Reference</title>\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"css/jazzy.css\" />\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"css/highlight.css\" />\n    <meta charset=\"utf-8\">\n    <script src=\"js/jquery.min.js\" defer></script>\n    <script src=\"js/jazzy.js\" defer></script>\n    \n  </head>\n  <body>\n\n\n    <a title=\"README  Reference\"></a>\n\n    <header class=\"header\">\n      <p class=\"header-col header-col--primary\">\n        <a class=\"header-link\" href=\"index.html\">\n          Arrow Docs\n        </a>\n         (72% documented)\n      </p>\n    \n        <p class=\"header-col header-col--secondary\">\n          <a class=\"header-link\" href=\"https://github.com/s4cha/Arrow\">\n            <img class=\"header-icon\" src=\"img/gh.png\"/>\n            View on GitHub\n          </a>\n        </p>\n    \n    </header>\n\n    <p class=\"breadcrumbs\">\n      <a class=\"breadcrumb\" href=\"index.html\">Arrow Reference</a>\n      <img class=\"carat\" src=\"img/carat.png\" />\n      README  Reference\n    </p>\n\n    <div class=\"content-wrapper\">\n      <nav class=\"navigation\">\n        <ul class=\"nav-groups\">\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"Guides.html\">Guides</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"readme.html\">README</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"Classes.html\">Classes</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Classes/Arrow.html\">Arrow</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Classes/JSON.html\">JSON</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"Functions.html\">Functions</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions.html#/s:ZF5Arrowoi3lssFTRCSo6NSDateGSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions.html#/s:ZF5Arrowoi3lssFTRGSqCSo6NSDate_GSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions.html#/s:ZF5Arrowoi3lssFTRCSo5NSURLGSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions.html#/s:ZF5Arrowoi3lssFTRGSqCSo5NSURL_GSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"Protocols.html\">Protocols</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Protocols/ArrowParsable.html\">ArrowParsable</a>\n              </li>\n            </ul>\n          </li>\n        </ul>\n      </nav>\n      <article class=\"main-content\">\n\n        <section class=\"section\">\n          <div class=\"section-content\">\n            \n            <a href='#arrow-em-elegant-json-parsing-in-swift-em' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h1 id='arrow-em-elegant-json-parsing-in-swift-em'>Arrow 🏹 - <em>Elegant JSON Parsing in Swift</em></h1>\n\n<p><a href=\"https://developer.apple.com/swift\"><img src=\"https://img.shields.io/badge/language-swift2-f48041.svg?style=flat\" alt=\"Language: Swift 2\"></a>\n<img src=\"https://img.shields.io/badge/platform-iOS%208%2B-blue.svg?style=flat\" alt=\"Platform: iOS 8+\">\n<a href=\"https://github.com/Carthage/Carthage\"><img src=\"https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat\" alt=\"Carthage compatible\"></a>\n<a href=\"https://cocoapods.org\"><img src=\"https://img.shields.io/badge/Cocoapods-compatible-4BC51D.svg?style=flat\" alt=\"Cocoapods compatible\"></a>\n<a href=\"https://www.bitrise.io/app/ffd8fe5df34624ff\"><img src=\"https://www.bitrise.io/app/ffd8fe5df34624ff.svg?token=IahWn-RB5hTWzvBbcIktsQ\" alt=\"Build Status\"></a>\n<a href=\"https://codebeat.co/projects/github-com-s4cha-arrow\"><img src=\"https://codebeat.co/badges/2acb8664-02f7-463d-9de2-2be9e87ba17c\" alt=\"codebeat badge\"></a>\n<a href=\"https://github.com/s4cha/Arrow/blob/master/LICENSE\"><img src=\"http://img.shields.io/badge/license-MIT-lightgrey.svg?style=flat\" alt=\"License: MIT\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/release-2.0-blue.svg\" alt=\"Release version\"></a></p>\n\n<p><a href=\"#reason\">Reason</a> - <a href=\"#example\">Example</a> - <a href=\"#installation\">Installation</a></p>\n<pre class=\"highlight swift\"><code><span class=\"n\">identifier</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"id\"</span><span class=\"p\">]</span>\n<span class=\"n\">name</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"name\"</span><span class=\"p\">]</span>\n<span class=\"n\">stats</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"stats\"</span><span class=\"p\">]</span>\n</code></pre>\n<a href='#reason' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h2 id='reason'>Reason</h2>\n<a href='#why' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h3 id='why'>Why</h3>\n\n<p>Because parsing JSON in Swift is full of <strong>unecessary if lets, obvious casts and nil-checks</strong><br>\n<em>There must be a better way</em></p>\n<a href='#how' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h2 id='how'>How</h2>\n\n<p>By using a simple arrow operator that takes care of the boilerplate code for us.<br>\nJson mapping code becomes <strong>concise</strong> and <strong>maintainable</strong> ❤️</p>\n<a href='#what' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h2 id='what'>What</h2>\n\n<ul>\n<li>[x] Simple &amp; Lightweight (~200lines)</li>\n<li>[x] Pure Swift</li>\n<li>[x] Leaves your models clean</li>\n<li>[x] Implicitly casts JSON values to the right types in your model</li>\n<li>[x] Automatic NSDate, NSURL, Enum, Custom model Parsing</li>\n<li>[x] Converts string values to numeric types in your model</li>\n<li>[x] Does not crash if JSON key is not there, nor returns nil, it simply doesn&rsquo;t do anything</li>\n<li>[x] No overly complex obscure functional chaining operator overloading voodoo magic ?==:&gt;&gt;&gt;&lt;&gt; 😅</li>\n</ul>\n<a href='#example' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h2 id='example'>Example</h2>\n<a href='#swift-model' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h3 id='swift-model'>Swift Model</h3>\n<pre class=\"highlight swift\"><code><span class=\"kd\">struct</span> <span class=\"kt\">Profile</span> <span class=\"p\">{</span>\n    <span class=\"k\">var</span> <span class=\"nv\">identifier</span> <span class=\"o\">=</span> <span class=\"mi\">0</span>\n    <span class=\"k\">var</span> <span class=\"nv\">name</span> <span class=\"o\">=</span> <span class=\"s\">\"\"</span>\n    <span class=\"k\">var</span> <span class=\"nv\">link</span><span class=\"p\">:</span><span class=\"kt\">NSURL</span><span class=\"p\">?</span>\n    <span class=\"k\">var</span> <span class=\"nv\">weekday</span><span class=\"p\">:</span><span class=\"kt\">WeekDay</span> <span class=\"o\">=</span> <span class=\"o\">.</span><span class=\"kt\">Monday</span>\n    <span class=\"k\">var</span> <span class=\"nv\">stats</span> <span class=\"o\">=</span> <span class=\"kt\">Stats</span><span class=\"p\">()</span>\n    <span class=\"k\">var</span> <span class=\"nv\">phoneNumbers</span> <span class=\"o\">=</span> <span class=\"p\">[</span><span class=\"kt\">PhoneNumber</span><span class=\"p\">]()</span>\n<span class=\"p\">}</span>\n</code></pre>\n<a href='#json-file' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h3 id='json-file'>JSON File</h3>\n<pre class=\"highlight json\"><code><span class=\"p\">{</span><span class=\"w\">\n    </span><span class=\"nt\">\"id\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"mi\">15678</span><span class=\"p\">,</span><span class=\"w\">\n    </span><span class=\"nt\">\"name\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"John Doe\"</span><span class=\"p\">,</span><span class=\"w\">\n    </span><span class=\"nt\">\"link\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"https://apple.com/steve\"</span><span class=\"p\">,</span><span class=\"w\">\n    </span><span class=\"nt\">\"weekdayInt\"</span><span class=\"w\"> </span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"mi\">3</span><span class=\"p\">,</span><span class=\"w\">\n    </span><span class=\"nt\">\"stats\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"p\">{</span><span class=\"w\">\n        </span><span class=\"nt\">\"numberOfFriends\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"mi\">163</span><span class=\"p\">,</span><span class=\"w\">\n        </span><span class=\"nt\">\"numberOfFans\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"mi\">10987</span><span class=\"w\">\n    </span><span class=\"p\">},</span><span class=\"w\">\n    </span><span class=\"nt\">\"phoneNumbers\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"p\">[{</span><span class=\"w\">\n                     </span><span class=\"nt\">\"label\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"house\"</span><span class=\"p\">,</span><span class=\"w\">\n                     </span><span class=\"nt\">\"number\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"9809876545\"</span><span class=\"w\">\n                     </span><span class=\"p\">},</span><span class=\"w\"> </span><span class=\"p\">{</span><span class=\"w\">\n                     </span><span class=\"nt\">\"label\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"cell\"</span><span class=\"p\">,</span><span class=\"w\">\n                     </span><span class=\"nt\">\"number\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"0908070656\"</span><span class=\"w\">\n                     </span><span class=\"p\">},</span><span class=\"w\"> </span><span class=\"p\">{</span><span class=\"w\">\n                     </span><span class=\"nt\">\"label\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"work\"</span><span class=\"p\">,</span><span class=\"w\">\n                     </span><span class=\"nt\">\"number\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"0916570656\"</span><span class=\"w\">\n    </span><span class=\"p\">}]</span><span class=\"w\">\n</span><span class=\"p\">}</span><span class=\"w\">\n</span></code></pre>\n<a href='#before-chaos' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h3 id='before-chaos'>Before (Chaos)</h3>\n<pre class=\"highlight swift\"><code><span class=\"k\">var</span> <span class=\"nv\">profile</span> <span class=\"o\">=</span> <span class=\"kt\">Profile</span><span class=\"p\">()</span>\n\n<span class=\"c1\">// Int</span>\n<span class=\"k\">if</span> <span class=\"k\">let</span> <span class=\"nv\">id</span> <span class=\"o\">=</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"id\"</span><span class=\"p\">]</span> <span class=\"k\">as?</span> <span class=\"kt\">Int</span> <span class=\"p\">{</span>\n    <span class=\"n\">profile</span><span class=\"o\">.</span><span class=\"n\">identifier</span> <span class=\"o\">=</span> <span class=\"n\">id</span>\n<span class=\"p\">}</span>  \n<span class=\"c1\">// String</span>\n<span class=\"k\">if</span> <span class=\"k\">let</span> <span class=\"nv\">name</span> <span class=\"o\">=</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"name\"</span><span class=\"p\">]</span> <span class=\"k\">as?</span> <span class=\"kt\">String</span> <span class=\"p\">{</span>\n    <span class=\"n\">profile</span><span class=\"o\">.</span><span class=\"n\">name</span> <span class=\"o\">=</span> <span class=\"n\">name</span>\n<span class=\"p\">}</span>\n<span class=\"c1\">// NSURL</span>\n<span class=\"k\">if</span> <span class=\"k\">let</span> <span class=\"nv\">link</span> <span class=\"o\">=</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"link\"</span><span class=\"p\">]</span> <span class=\"k\">as?</span> <span class=\"kt\">String</span><span class=\"p\">,</span> <span class=\"n\">url</span> <span class=\"o\">=</span> <span class=\"kt\">NSURL</span><span class=\"p\">(</span><span class=\"nv\">string</span><span class=\"p\">:</span><span class=\"n\">link</span><span class=\"p\">)</span>  <span class=\"p\">{</span>\n    <span class=\"n\">profile</span><span class=\"o\">.</span><span class=\"n\">link</span> <span class=\"o\">=</span> <span class=\"n\">link</span>\n<span class=\"p\">}</span>\n<span class=\"c1\">// Enum</span>\n<span class=\"k\">if</span> <span class=\"k\">let</span> <span class=\"nv\">weekdayInt</span> <span class=\"o\">=</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"weekdayInt\"</span><span class=\"p\">]</span> <span class=\"k\">as?</span> <span class=\"kt\">Int</span><span class=\"p\">,</span> <span class=\"n\">weekday</span> <span class=\"o\">=</span> <span class=\"kt\">WeekDay</span><span class=\"p\">(</span><span class=\"nv\">rawValue</span><span class=\"p\">:</span><span class=\"n\">weekdayInt</span><span class=\"p\">)</span> <span class=\"p\">{</span>\n    <span class=\"n\">profile</span><span class=\"o\">.</span><span class=\"n\">weekday</span> <span class=\"o\">=</span> <span class=\"n\">weekday</span>\n<span class=\"p\">}</span>\n<span class=\"c1\">// Custom nested object</span>\n<span class=\"k\">if</span> <span class=\"k\">let</span> <span class=\"nv\">statsJson</span> <span class=\"o\">=</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"stats\"</span><span class=\"p\">]</span> <span class=\"k\">as?</span> <span class=\"kt\">AnyObject</span> <span class=\"p\">{</span>\n    <span class=\"k\">if</span> <span class=\"k\">let</span> <span class=\"nv\">numberOfFans</span> <span class=\"o\">=</span> <span class=\"n\">statsJson</span><span class=\"p\">[</span><span class=\"s\">\"numberOfFans\"</span><span class=\"p\">]</span> <span class=\"k\">as?</span> <span class=\"kt\">Int</span> <span class=\"p\">{</span>\n        <span class=\"n\">profile</span><span class=\"o\">.</span><span class=\"n\">stats</span><span class=\"o\">.</span><span class=\"n\">numberOfFans</span> <span class=\"o\">=</span> <span class=\"n\">numberOfFans</span>\n    <span class=\"p\">}</span>\n    <span class=\"k\">if</span> <span class=\"k\">let</span> <span class=\"nv\">numberOfFriends</span> <span class=\"o\">=</span> <span class=\"n\">statsJson</span><span class=\"p\">[</span><span class=\"s\">\"numberOfFriends\"</span><span class=\"p\">]</span> <span class=\"k\">as?</span> <span class=\"kt\">Int</span> <span class=\"p\">{</span>\n        <span class=\"n\">profile</span><span class=\"o\">.</span><span class=\"n\">stats</span><span class=\"o\">.</span><span class=\"n\">numberOfFriends</span> <span class=\"o\">=</span> <span class=\"n\">numberOfFriends</span>\n    <span class=\"p\">}</span>\n<span class=\"p\">}</span>\n<span class=\"c1\">// Array of custom nested object</span>\n<span class=\"k\">if</span> <span class=\"k\">let</span> <span class=\"nv\">pns</span> <span class=\"o\">=</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"phoneNumbers\"</span><span class=\"p\">]</span> <span class=\"k\">as?</span> <span class=\"p\">[</span><span class=\"kt\">AnyObject</span><span class=\"p\">]</span> <span class=\"p\">{</span>\n    <span class=\"k\">for</span> <span class=\"n\">pn</span> <span class=\"k\">in</span> <span class=\"n\">pns</span> <span class=\"p\">{</span>\n        <span class=\"n\">phoneNumbers</span><span class=\"o\">.</span><span class=\"nf\">append</span><span class=\"p\">(</span><span class=\"kt\">PhoneNumber</span><span class=\"p\">(</span><span class=\"nv\">json</span><span class=\"p\">:</span> <span class=\"n\">pn</span><span class=\"p\">))</span>\n    <span class=\"p\">}</span>\n<span class=\"p\">}</span>\n</code></pre>\n<a href='#after' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h3 id='after'>After  🎉🎉🎉</h3>\n<pre class=\"highlight swift\"><code><span class=\"kd\">extension</span> <span class=\"kt\">Profile</span><span class=\"p\">:</span><span class=\"kt\">ArrowParsable</span> <span class=\"p\">{</span>\n    <span class=\"k\">mutating</span> <span class=\"kd\">func</span> <span class=\"nf\">deserialize</span><span class=\"p\">(</span><span class=\"nv\">json</span><span class=\"p\">:</span> <span class=\"kt\">JSON</span><span class=\"p\">)</span> <span class=\"p\">{</span>\n        <span class=\"n\">identifier</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"id\"</span><span class=\"p\">]</span>\n        <span class=\"n\">link</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"link\"</span><span class=\"p\">]</span>\n        <span class=\"n\">name</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"name\"</span><span class=\"p\">]</span>\n        <span class=\"n\">weekday</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"weekdayInt\"</span><span class=\"p\">]</span>\n        <span class=\"n\">stats</span> <span class=\"o\">&lt;-</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"stats\"</span><span class=\"p\">]</span>\n        <span class=\"n\">phoneNumbers</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"phoneNumbers\"</span><span class=\"p\">]</span>\n    <span class=\"p\">}</span>\n<span class=\"p\">}</span>\n</code></pre>\n<a href='#usage' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h3 id='usage'>Usage</h3>\n<pre class=\"highlight swift\"><code><span class=\"k\">let</span> <span class=\"nv\">profile</span> <span class=\"o\">=</span> <span class=\"kt\">Profile</span><span class=\"p\">()</span>\n<span class=\"n\">profile</span><span class=\"o\">.</span><span class=\"nf\">deserialize</span><span class=\"p\">(</span><span class=\"n\">json</span><span class=\"p\">)</span>\n</code></pre>\n<a href='#installation' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h2 id='installation'>Installation</h2>\n<a href='#carthage' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h4 id='carthage'>Carthage</h4>\n<pre class=\"highlight plaintext\"><code>github \"s4cha/Arrow\"\n</code></pre>\n<a href='#cocoapods' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h4 id='cocoapods'>CocoaPods</h4>\n<pre class=\"highlight plaintext\"><code>pod 'Arrow'\nuse_frameworks!\n</code></pre>\n<a href='#manually' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h4 id='manually'>Manually</h4>\n\n<p>Simply Copy and Paste Arrow.swift in your Xcode Project :)\n<a href=\"https://github.com/s4cha/Arrow/blob/master/Arrow.swift\">https://github.com/s4cha/Arrow/blob/master/Arrow.swift</a></p>\n<a href='#as-a-framework' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h4 id='as-a-framework'>As A Framework</h4>\n\n<p>Grab this repository and build the Framework target on the example project. Then Link against this framework.</p>\n<a href='#how-does-that-work' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h2 id='how-does-that-work'>How Does That Work</h2>\n\n<p>Notice earlier we typed :</p>\n<pre class=\"highlight swift\"><code><span class=\"n\">stats</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"stats\"</span><span class=\"p\">]</span>\n</code></pre>\n\n<p>That&rsquo;s because we created and extension <q>Stats+Arrow.swift</q> enabling us to use the Arrow Operator</p>\n<pre class=\"highlight swift\"><code><span class=\"c1\">//  Stats+Arrow.swift</span>\n\n<span class=\"kd\">import</span> <span class=\"kt\">Foundation</span>\n\n<span class=\"kd\">extension</span> <span class=\"kt\">Stats</span><span class=\"p\">:</span><span class=\"kt\">ArrowParsable</span> <span class=\"p\">{</span>\n    <span class=\"k\">mutating</span> <span class=\"kd\">func</span> <span class=\"nf\">deserialize</span><span class=\"p\">(</span><span class=\"nv\">json</span><span class=\"p\">:</span> <span class=\"kt\">JSON</span><span class=\"p\">)</span> <span class=\"p\">{</span>\n        <span class=\"n\">numberOfFriends</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"numberOfFriends\"</span><span class=\"p\">]</span>\n        <span class=\"n\">numberOfFans</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"numberOfFans\"</span><span class=\"p\">]</span>\n    <span class=\"p\">}</span>\n<span class=\"p\">}</span>\n</code></pre>\n<a href='#flexible-you-said' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h2 id='flexible-you-said'>Flexible you said</h2>\n\n<ul>\n<li>DO I have to use the &lt;&ndash; for my sub models</li>\n<li>Nope, you could write it like so if you wanted :</li>\n</ul>\n<pre class=\"highlight swift\"><code><span class=\"n\">stats</span><span class=\"o\">.</span><span class=\"n\">numberOfFriends</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"stats.numberOfFriends\"</span><span class=\"p\">]</span>\n<span class=\"n\">stats</span><span class=\"o\">.</span><span class=\"n\">numberOfFans</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"stats.numberOfFans\"</span><span class=\"p\">]</span>\n</code></pre>\n\n<ul>\n<li>Hey I don&rsquo;t want to parse NSDates in every files, do you have something for me?</li>\n</ul>\n\n<p>Sure, just set your date format once and you&rsquo;re done.</p>\n<pre class=\"highlight swift\"><code><span class=\"c1\">// Configure NSDate Parsing</span>\n<span class=\"kt\">Arrow</span><span class=\"o\">.</span><span class=\"nf\">setDateFormat</span><span class=\"p\">(</span><span class=\"s\">\"yyyy-MM-dd'T'HH:mm:ssZZZZZ\"</span><span class=\"p\">)</span>\n<span class=\"kt\">Arrow</span><span class=\"o\">.</span><span class=\"nf\">setUseTimeIntervalSinceReferenceDate</span><span class=\"p\">(</span><span class=\"kc\">true</span><span class=\"p\">)</span>\n\n<span class=\"c1\">// Dates can be parsed form custom date format or timestamp</span>\n<span class=\"k\">let</span> <span class=\"nv\">json</span><span class=\"p\">:</span><span class=\"kt\">JSON</span> <span class=\"o\">=</span> <span class=\"kt\">JSON</span><span class=\"p\">([</span><span class=\"s\">\"date\"</span><span class=\"p\">:</span> <span class=\"s\">\"2013-06-07T16:38:40+02:00\"</span><span class=\"p\">,</span> <span class=\"s\">\"timestamp\"</span><span class=\"p\">:</span> <span class=\"mi\">392308720</span><span class=\"p\">])</span>\n<span class=\"n\">date1</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"date\"</span><span class=\"p\">]</span>\n<span class=\"n\">date2</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"timestamp\"</span><span class=\"p\">]</span>\n</code></pre>\n\n<p>What if I want a Custom NSDate format for a specific key ?\n<code>swift\ncreatedAt &lt;-- json[&quot;created_at&quot;]?.dateFormat(&quot;yyyy-MM-dd&#39;T&#39;HH:mm:ssZZZZZ&quot;)\n</code>\nJust provide it on a case per case basis ! 🎉</p>\n<a href='#accessing-json-values' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h2 id='accessing-json-values'>Accessing JSON values</h2>\n<a href='#nested-values' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h3 id='nested-values'>Nested values</h3>\n<pre class=\"highlight swift\"><code><span class=\"n\">value</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"nested.nested.nested.nestedValue\"</span><span class=\"p\">]</span>\n</code></pre>\n<a href='#object-at-index' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h3 id='object-at-index'>Object at index</h3>\n<pre class=\"highlight swift\"><code><span class=\"n\">value</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"mi\">12</span><span class=\"p\">]</span>\n</code></pre>\n<a href='#combine-both' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h3 id='combine-both'>Combine both</h3>\n<pre class=\"highlight swift\"><code><span class=\"n\">value</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"mi\">1</span><span class=\"p\">]?[</span><span class=\"s\">\"someKey\"</span><span class=\"p\">]?[</span><span class=\"mi\">2</span><span class=\"p\">]?[</span><span class=\"s\">\"something.other\"</span><span class=\"p\">]</span>\n</code></pre>\n<a href='#looping-on-array' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h3 id='looping-on-array'>Looping on Array</h3>\n<pre class=\"highlight swift\"><code><span class=\"k\">if</span> <span class=\"k\">let</span> <span class=\"nv\">collection</span> <span class=\"o\">=</span> <span class=\"n\">json</span><span class=\"o\">.</span><span class=\"n\">collection</span> <span class=\"p\">{</span>\n    <span class=\"k\">for</span> <span class=\"n\">jsonEntry</span> <span class=\"k\">in</span> <span class=\"n\">collection</span> <span class=\"p\">{</span>\n        <span class=\"c1\">//Do something</span>\n    <span class=\"p\">}</span>\n<span class=\"p\">}</span>\n</code></pre>\n<a href='#acknoledgments' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h2 id='acknoledgments'>Acknoledgments</h2>\n\n<p>This wouldn&rsquo;t exist without <a href=\"https://github.com/YannickDot\">YannickDot</a>, <a href=\"https://github.com/damien-nd\">Damien-nd</a> and <a href=\"https://github.com/maxkonovalov\">maxkonovalov</a></p>\n<a href='#other-repos' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h2 id='other-repos'>Other repos ❤️</h2>\n\n<p>Arrow is part of a series of lightweight libraries aiming to make developing iOS Apps a <em>breeze</em> :\n- Layout : <a href=\"https://github.com/s4cha/Stevia\">Stevia</a>\n- Async code : <a href=\"https://github.com/s4cha/then\">then</a>\n- JSON WebServices : <a href=\"https://github.com/s4cha/ws\">ws</a></p>\n\n          </div>\n        </section>\n\n\n      </article>\n    </div>\n    <section class=\"footer\">\n      <p>&copy; 2016 <a class=\"link\" href=\"https://github.com/s4cha\" target=\"_blank\" rel=\"external\">S4cha</a>. All rights reserved. (Last updated: 2016-07-09)</p>\n      <p>Generated by <a class=\"link\" href=\"https://github.com/realm/jazzy\" target=\"_blank\" rel=\"external\">jazzy ♪♫ v0.7.0</a>, a <a class=\"link\" href=\"http://realm.io\" target=\"_blank\" rel=\"external\">Realm</a> project.</p>\n    </section>\n  </body>\n</div>\n</html>\n"
  },
  {
    "path": "docs/docsets/Arrow.docset/Contents/Resources/Documents/undocumented.json",
    "content": "{\"warnings\":[{\"file\":\"/Users/sacha/Projects/Arrow/Source/Arrow.swift\",\"line\":77,\"symbol\":\"T\",\"symbol_kind\":\"source.lang.swift.decl.generic_type_param\",\"warning\":\"undocumented\"},{\"file\":\"/Users/sacha/Projects/Arrow/Source/Arrow.swift\",\"line\":86,\"symbol\":\"T\",\"symbol_kind\":\"source.lang.swift.decl.generic_type_param\",\"warning\":\"undocumented\"},{\"file\":\"/Users/sacha/Projects/Arrow/Source/Arrow.swift\",\"line\":91,\"symbol\":\"T\",\"symbol_kind\":\"source.lang.swift.decl.generic_type_param\",\"warning\":\"undocumented\"},{\"file\":\"/Users/sacha/Projects/Arrow/Source/Arrow.swift\",\"line\":100,\"symbol\":\"T\",\"symbol_kind\":\"source.lang.swift.decl.generic_type_param\",\"warning\":\"undocumented\"},{\"file\":\"/Users/sacha/Projects/Arrow/Source/Arrow.swift\",\"line\":109,\"symbol\":\"T\",\"symbol_kind\":\"source.lang.swift.decl.generic_type_param\",\"warning\":\"undocumented\"},{\"file\":\"/Users/sacha/Projects/Arrow/Source/Arrow.swift\",\"line\":118,\"symbol\":\"T\",\"symbol_kind\":\"source.lang.swift.decl.generic_type_param\",\"warning\":\"undocumented\"},{\"file\":\"/Users/sacha/Projects/Arrow/Source/Arrow.swift\",\"line\":127,\"symbol\":\"T\",\"symbol_kind\":\"source.lang.swift.decl.generic_type_param\",\"warning\":\"undocumented\"},{\"file\":\"/Users/sacha/Projects/Arrow/Source/Arrow.swift\",\"line\":140,\"symbol\":\"T\",\"symbol_kind\":\"source.lang.swift.decl.generic_type_param\",\"warning\":\"undocumented\"},{\"file\":\"/Users/sacha/Projects/Arrow/Source/Arrow.swift\",\"line\":181,\"symbol\":\"T\",\"symbol_kind\":\"source.lang.swift.decl.generic_type_param\",\"warning\":\"undocumented\"},{\"file\":\"/Users/sacha/Projects/Arrow/Source/Arrow.swift\",\"line\":190,\"symbol\":\"T\",\"symbol_kind\":\"source.lang.swift.decl.generic_type_param\",\"warning\":\"undocumented\"}],\"source_directory\":\"/Users/sacha/Projects/Arrow\"}"
  },
  {
    "path": "docs/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <title>Arrow  Reference</title>\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"css/jazzy.css\" />\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"css/highlight.css\" />\n    <meta charset=\"utf-8\">\n    <script src=\"js/jquery.min.js\" defer></script>\n    <script src=\"js/jazzy.js\" defer></script>\n    \n  </head>\n  <body>\n\n\n    <a title=\"Arrow  Reference\"></a>\n\n    <header class=\"header\">\n      <p class=\"header-col header-col--primary\">\n        <a class=\"header-link\" href=\"index.html\">\n          Arrow Docs\n        </a>\n         (72% documented)\n      </p>\n    \n        <p class=\"header-col header-col--secondary\">\n          <a class=\"header-link\" href=\"https://github.com/s4cha/Arrow\">\n            <img class=\"header-icon\" src=\"img/gh.png\"/>\n            View on GitHub\n          </a>\n        </p>\n    \n    </header>\n\n    <p class=\"breadcrumbs\">\n      <a class=\"breadcrumb\" href=\"index.html\">Arrow Reference</a>\n      <img class=\"carat\" src=\"img/carat.png\" />\n      Arrow  Reference\n    </p>\n\n    <div class=\"content-wrapper\">\n      <nav class=\"navigation\">\n        <ul class=\"nav-groups\">\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"Guides.html\">Guides</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"readme.html\">README</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"Classes.html\">Classes</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Classes/Arrow.html\">Arrow</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Classes/JSON.html\">JSON</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"Functions.html\">Functions</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions.html#/s:ZF5Arrowoi3lssFTRCSo6NSDateGSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions.html#/s:ZF5Arrowoi3lssFTRGSqCSo6NSDate_GSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions.html#/s:ZF5Arrowoi3lssFTRCSo5NSURLGSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions.html#/s:ZF5Arrowoi3lssFTRGSqCSo5NSURL_GSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"Protocols.html\">Protocols</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Protocols/ArrowParsable.html\">ArrowParsable</a>\n              </li>\n            </ul>\n          </li>\n        </ul>\n      </nav>\n      <article class=\"main-content\">\n\n        <section class=\"section\">\n          <div class=\"section-content\">\n            \n            <a href='#arrow-em-elegant-json-parsing-in-swift-em' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h1 id='arrow-em-elegant-json-parsing-in-swift-em'>Arrow 🏹 - <em>Elegant JSON Parsing in Swift</em></h1>\n\n<p><a href=\"https://developer.apple.com/swift\"><img src=\"https://img.shields.io/badge/language-swift2-f48041.svg?style=flat\" alt=\"Language: Swift 2\"></a>\n<img src=\"https://img.shields.io/badge/platform-iOS%208%2B-blue.svg?style=flat\" alt=\"Platform: iOS 8+\">\n<a href=\"https://github.com/Carthage/Carthage\"><img src=\"https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat\" alt=\"Carthage compatible\"></a>\n<a href=\"https://cocoapods.org\"><img src=\"https://img.shields.io/badge/Cocoapods-compatible-4BC51D.svg?style=flat\" alt=\"Cocoapods compatible\"></a>\n<a href=\"https://www.bitrise.io/app/ffd8fe5df34624ff\"><img src=\"https://www.bitrise.io/app/ffd8fe5df34624ff.svg?token=IahWn-RB5hTWzvBbcIktsQ\" alt=\"Build Status\"></a>\n<a href=\"https://codebeat.co/projects/github-com-s4cha-arrow\"><img src=\"https://codebeat.co/badges/2acb8664-02f7-463d-9de2-2be9e87ba17c\" alt=\"codebeat badge\"></a>\n<a href=\"https://github.com/s4cha/Arrow/blob/master/LICENSE\"><img src=\"http://img.shields.io/badge/license-MIT-lightgrey.svg?style=flat\" alt=\"License: MIT\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/release-2.0-blue.svg\" alt=\"Release version\"></a></p>\n\n<p><a href=\"#reason\">Reason</a> - <a href=\"#example\">Example</a> - <a href=\"#installation\">Installation</a></p>\n<pre class=\"highlight swift\"><code><span class=\"n\">identifier</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"id\"</span><span class=\"p\">]</span>\n<span class=\"n\">name</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"name\"</span><span class=\"p\">]</span>\n<span class=\"n\">stats</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"stats\"</span><span class=\"p\">]</span>\n</code></pre>\n<a href='#reason' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h2 id='reason'>Reason</h2>\n<a href='#why' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h3 id='why'>Why</h3>\n\n<p>Because parsing JSON in Swift is full of <strong>unecessary if lets, obvious casts and nil-checks</strong><br>\n<em>There must be a better way</em></p>\n<a href='#how' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h2 id='how'>How</h2>\n\n<p>By using a simple arrow operator that takes care of the boilerplate code for us.<br>\nJson mapping code becomes <strong>concise</strong> and <strong>maintainable</strong> ❤️</p>\n<a href='#what' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h2 id='what'>What</h2>\n\n<ul>\n<li>[x] Simple &amp; Lightweight (~200lines)</li>\n<li>[x] Pure Swift</li>\n<li>[x] Leaves your models clean</li>\n<li>[x] Implicitly casts JSON values to the right types in your model</li>\n<li>[x] Automatic NSDate, NSURL, Enum, Custom model Parsing</li>\n<li>[x] Converts string values to numeric types in your model</li>\n<li>[x] Does not crash if JSON key is not there, nor returns nil, it simply doesn&rsquo;t do anything</li>\n<li>[x] No overly complex obscure functional chaining operator overloading voodoo magic ?==:&gt;&gt;&gt;&lt;&gt; 😅</li>\n</ul>\n<a href='#example' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h2 id='example'>Example</h2>\n<a href='#swift-model' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h3 id='swift-model'>Swift Model</h3>\n<pre class=\"highlight swift\"><code><span class=\"kd\">struct</span> <span class=\"kt\">Profile</span> <span class=\"p\">{</span>\n    <span class=\"k\">var</span> <span class=\"nv\">identifier</span> <span class=\"o\">=</span> <span class=\"mi\">0</span>\n    <span class=\"k\">var</span> <span class=\"nv\">name</span> <span class=\"o\">=</span> <span class=\"s\">\"\"</span>\n    <span class=\"k\">var</span> <span class=\"nv\">link</span><span class=\"p\">:</span><span class=\"kt\">NSURL</span><span class=\"p\">?</span>\n    <span class=\"k\">var</span> <span class=\"nv\">weekday</span><span class=\"p\">:</span><span class=\"kt\">WeekDay</span> <span class=\"o\">=</span> <span class=\"o\">.</span><span class=\"kt\">Monday</span>\n    <span class=\"k\">var</span> <span class=\"nv\">stats</span> <span class=\"o\">=</span> <span class=\"kt\">Stats</span><span class=\"p\">()</span>\n    <span class=\"k\">var</span> <span class=\"nv\">phoneNumbers</span> <span class=\"o\">=</span> <span class=\"p\">[</span><span class=\"kt\">PhoneNumber</span><span class=\"p\">]()</span>\n<span class=\"p\">}</span>\n</code></pre>\n<a href='#json-file' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h3 id='json-file'>JSON File</h3>\n<pre class=\"highlight json\"><code><span class=\"p\">{</span><span class=\"w\">\n    </span><span class=\"nt\">\"id\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"mi\">15678</span><span class=\"p\">,</span><span class=\"w\">\n    </span><span class=\"nt\">\"name\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"John Doe\"</span><span class=\"p\">,</span><span class=\"w\">\n    </span><span class=\"nt\">\"link\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"https://apple.com/steve\"</span><span class=\"p\">,</span><span class=\"w\">\n    </span><span class=\"nt\">\"weekdayInt\"</span><span class=\"w\"> </span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"mi\">3</span><span class=\"p\">,</span><span class=\"w\">\n    </span><span class=\"nt\">\"stats\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"p\">{</span><span class=\"w\">\n        </span><span class=\"nt\">\"numberOfFriends\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"mi\">163</span><span class=\"p\">,</span><span class=\"w\">\n        </span><span class=\"nt\">\"numberOfFans\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"mi\">10987</span><span class=\"w\">\n    </span><span class=\"p\">},</span><span class=\"w\">\n    </span><span class=\"nt\">\"phoneNumbers\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"p\">[{</span><span class=\"w\">\n                     </span><span class=\"nt\">\"label\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"house\"</span><span class=\"p\">,</span><span class=\"w\">\n                     </span><span class=\"nt\">\"number\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"9809876545\"</span><span class=\"w\">\n                     </span><span class=\"p\">},</span><span class=\"w\"> </span><span class=\"p\">{</span><span class=\"w\">\n                     </span><span class=\"nt\">\"label\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"cell\"</span><span class=\"p\">,</span><span class=\"w\">\n                     </span><span class=\"nt\">\"number\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"0908070656\"</span><span class=\"w\">\n                     </span><span class=\"p\">},</span><span class=\"w\"> </span><span class=\"p\">{</span><span class=\"w\">\n                     </span><span class=\"nt\">\"label\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"work\"</span><span class=\"p\">,</span><span class=\"w\">\n                     </span><span class=\"nt\">\"number\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"0916570656\"</span><span class=\"w\">\n    </span><span class=\"p\">}]</span><span class=\"w\">\n</span><span class=\"p\">}</span><span class=\"w\">\n</span></code></pre>\n<a href='#before-chaos' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h3 id='before-chaos'>Before (Chaos)</h3>\n<pre class=\"highlight swift\"><code><span class=\"k\">var</span> <span class=\"nv\">profile</span> <span class=\"o\">=</span> <span class=\"kt\">Profile</span><span class=\"p\">()</span>\n\n<span class=\"c1\">// Int</span>\n<span class=\"k\">if</span> <span class=\"k\">let</span> <span class=\"nv\">id</span> <span class=\"o\">=</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"id\"</span><span class=\"p\">]</span> <span class=\"k\">as?</span> <span class=\"kt\">Int</span> <span class=\"p\">{</span>\n    <span class=\"n\">profile</span><span class=\"o\">.</span><span class=\"n\">identifier</span> <span class=\"o\">=</span> <span class=\"n\">id</span>\n<span class=\"p\">}</span>  \n<span class=\"c1\">// String</span>\n<span class=\"k\">if</span> <span class=\"k\">let</span> <span class=\"nv\">name</span> <span class=\"o\">=</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"name\"</span><span class=\"p\">]</span> <span class=\"k\">as?</span> <span class=\"kt\">String</span> <span class=\"p\">{</span>\n    <span class=\"n\">profile</span><span class=\"o\">.</span><span class=\"n\">name</span> <span class=\"o\">=</span> <span class=\"n\">name</span>\n<span class=\"p\">}</span>\n<span class=\"c1\">// NSURL</span>\n<span class=\"k\">if</span> <span class=\"k\">let</span> <span class=\"nv\">link</span> <span class=\"o\">=</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"link\"</span><span class=\"p\">]</span> <span class=\"k\">as?</span> <span class=\"kt\">String</span><span class=\"p\">,</span> <span class=\"n\">url</span> <span class=\"o\">=</span> <span class=\"kt\">NSURL</span><span class=\"p\">(</span><span class=\"nv\">string</span><span class=\"p\">:</span><span class=\"n\">link</span><span class=\"p\">)</span>  <span class=\"p\">{</span>\n    <span class=\"n\">profile</span><span class=\"o\">.</span><span class=\"n\">link</span> <span class=\"o\">=</span> <span class=\"n\">link</span>\n<span class=\"p\">}</span>\n<span class=\"c1\">// Enum</span>\n<span class=\"k\">if</span> <span class=\"k\">let</span> <span class=\"nv\">weekdayInt</span> <span class=\"o\">=</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"weekdayInt\"</span><span class=\"p\">]</span> <span class=\"k\">as?</span> <span class=\"kt\">Int</span><span class=\"p\">,</span> <span class=\"n\">weekday</span> <span class=\"o\">=</span> <span class=\"kt\">WeekDay</span><span class=\"p\">(</span><span class=\"nv\">rawValue</span><span class=\"p\">:</span><span class=\"n\">weekdayInt</span><span class=\"p\">)</span> <span class=\"p\">{</span>\n    <span class=\"n\">profile</span><span class=\"o\">.</span><span class=\"n\">weekday</span> <span class=\"o\">=</span> <span class=\"n\">weekday</span>\n<span class=\"p\">}</span>\n<span class=\"c1\">// Custom nested object</span>\n<span class=\"k\">if</span> <span class=\"k\">let</span> <span class=\"nv\">statsJson</span> <span class=\"o\">=</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"stats\"</span><span class=\"p\">]</span> <span class=\"k\">as?</span> <span class=\"kt\">AnyObject</span> <span class=\"p\">{</span>\n    <span class=\"k\">if</span> <span class=\"k\">let</span> <span class=\"nv\">numberOfFans</span> <span class=\"o\">=</span> <span class=\"n\">statsJson</span><span class=\"p\">[</span><span class=\"s\">\"numberOfFans\"</span><span class=\"p\">]</span> <span class=\"k\">as?</span> <span class=\"kt\">Int</span> <span class=\"p\">{</span>\n        <span class=\"n\">profile</span><span class=\"o\">.</span><span class=\"n\">stats</span><span class=\"o\">.</span><span class=\"n\">numberOfFans</span> <span class=\"o\">=</span> <span class=\"n\">numberOfFans</span>\n    <span class=\"p\">}</span>\n    <span class=\"k\">if</span> <span class=\"k\">let</span> <span class=\"nv\">numberOfFriends</span> <span class=\"o\">=</span> <span class=\"n\">statsJson</span><span class=\"p\">[</span><span class=\"s\">\"numberOfFriends\"</span><span class=\"p\">]</span> <span class=\"k\">as?</span> <span class=\"kt\">Int</span> <span class=\"p\">{</span>\n        <span class=\"n\">profile</span><span class=\"o\">.</span><span class=\"n\">stats</span><span class=\"o\">.</span><span class=\"n\">numberOfFriends</span> <span class=\"o\">=</span> <span class=\"n\">numberOfFriends</span>\n    <span class=\"p\">}</span>\n<span class=\"p\">}</span>\n<span class=\"c1\">// Array of custom nested object</span>\n<span class=\"k\">if</span> <span class=\"k\">let</span> <span class=\"nv\">pns</span> <span class=\"o\">=</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"phoneNumbers\"</span><span class=\"p\">]</span> <span class=\"k\">as?</span> <span class=\"p\">[</span><span class=\"kt\">AnyObject</span><span class=\"p\">]</span> <span class=\"p\">{</span>\n    <span class=\"k\">for</span> <span class=\"n\">pn</span> <span class=\"k\">in</span> <span class=\"n\">pns</span> <span class=\"p\">{</span>\n        <span class=\"n\">phoneNumbers</span><span class=\"o\">.</span><span class=\"nf\">append</span><span class=\"p\">(</span><span class=\"kt\">PhoneNumber</span><span class=\"p\">(</span><span class=\"nv\">json</span><span class=\"p\">:</span> <span class=\"n\">pn</span><span class=\"p\">))</span>\n    <span class=\"p\">}</span>\n<span class=\"p\">}</span>\n</code></pre>\n<a href='#after' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h3 id='after'>After  🎉🎉🎉</h3>\n<pre class=\"highlight swift\"><code><span class=\"kd\">extension</span> <span class=\"kt\">Profile</span><span class=\"p\">:</span><span class=\"kt\">ArrowParsable</span> <span class=\"p\">{</span>\n    <span class=\"k\">mutating</span> <span class=\"kd\">func</span> <span class=\"nf\">deserialize</span><span class=\"p\">(</span><span class=\"nv\">json</span><span class=\"p\">:</span> <span class=\"kt\">JSON</span><span class=\"p\">)</span> <span class=\"p\">{</span>\n        <span class=\"n\">identifier</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"id\"</span><span class=\"p\">]</span>\n        <span class=\"n\">link</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"link\"</span><span class=\"p\">]</span>\n        <span class=\"n\">name</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"name\"</span><span class=\"p\">]</span>\n        <span class=\"n\">weekday</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"weekdayInt\"</span><span class=\"p\">]</span>\n        <span class=\"n\">stats</span> <span class=\"o\">&lt;-</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"stats\"</span><span class=\"p\">]</span>\n        <span class=\"n\">phoneNumbers</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"phoneNumbers\"</span><span class=\"p\">]</span>\n    <span class=\"p\">}</span>\n<span class=\"p\">}</span>\n</code></pre>\n<a href='#usage' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h3 id='usage'>Usage</h3>\n<pre class=\"highlight swift\"><code><span class=\"k\">let</span> <span class=\"nv\">profile</span> <span class=\"o\">=</span> <span class=\"kt\">Profile</span><span class=\"p\">()</span>\n<span class=\"n\">profile</span><span class=\"o\">.</span><span class=\"nf\">deserialize</span><span class=\"p\">(</span><span class=\"n\">json</span><span class=\"p\">)</span>\n</code></pre>\n<a href='#installation' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h2 id='installation'>Installation</h2>\n<a href='#carthage' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h4 id='carthage'>Carthage</h4>\n<pre class=\"highlight plaintext\"><code>github \"s4cha/Arrow\"\n</code></pre>\n<a href='#cocoapods' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h4 id='cocoapods'>CocoaPods</h4>\n<pre class=\"highlight plaintext\"><code>pod 'Arrow'\nuse_frameworks!\n</code></pre>\n<a href='#manually' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h4 id='manually'>Manually</h4>\n\n<p>Simply Copy and Paste Arrow.swift in your Xcode Project :)\n<a href=\"https://github.com/s4cha/Arrow/blob/master/Arrow.swift\">https://github.com/s4cha/Arrow/blob/master/Arrow.swift</a></p>\n<a href='#as-a-framework' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h4 id='as-a-framework'>As A Framework</h4>\n\n<p>Grab this repository and build the Framework target on the example project. Then Link against this framework.</p>\n<a href='#how-does-that-work' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h2 id='how-does-that-work'>How Does That Work</h2>\n\n<p>Notice earlier we typed :</p>\n<pre class=\"highlight swift\"><code><span class=\"n\">stats</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"stats\"</span><span class=\"p\">]</span>\n</code></pre>\n\n<p>That&rsquo;s because we created and extension <q>Stats+Arrow.swift</q> enabling us to use the Arrow Operator</p>\n<pre class=\"highlight swift\"><code><span class=\"c1\">//  Stats+Arrow.swift</span>\n\n<span class=\"kd\">import</span> <span class=\"kt\">Foundation</span>\n\n<span class=\"kd\">extension</span> <span class=\"kt\">Stats</span><span class=\"p\">:</span><span class=\"kt\">ArrowParsable</span> <span class=\"p\">{</span>\n    <span class=\"k\">mutating</span> <span class=\"kd\">func</span> <span class=\"nf\">deserialize</span><span class=\"p\">(</span><span class=\"nv\">json</span><span class=\"p\">:</span> <span class=\"kt\">JSON</span><span class=\"p\">)</span> <span class=\"p\">{</span>\n        <span class=\"n\">numberOfFriends</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"numberOfFriends\"</span><span class=\"p\">]</span>\n        <span class=\"n\">numberOfFans</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"numberOfFans\"</span><span class=\"p\">]</span>\n    <span class=\"p\">}</span>\n<span class=\"p\">}</span>\n</code></pre>\n<a href='#flexible-you-said' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h2 id='flexible-you-said'>Flexible you said</h2>\n\n<ul>\n<li>DO I have to use the &lt;&ndash; for my sub models</li>\n<li>Nope, you could write it like so if you wanted :</li>\n</ul>\n<pre class=\"highlight swift\"><code><span class=\"n\">stats</span><span class=\"o\">.</span><span class=\"n\">numberOfFriends</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"stats.numberOfFriends\"</span><span class=\"p\">]</span>\n<span class=\"n\">stats</span><span class=\"o\">.</span><span class=\"n\">numberOfFans</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"stats.numberOfFans\"</span><span class=\"p\">]</span>\n</code></pre>\n\n<ul>\n<li>Hey I don&rsquo;t want to parse NSDates in every files, do you have something for me?</li>\n</ul>\n\n<p>Sure, just set your date format once and you&rsquo;re done.</p>\n<pre class=\"highlight swift\"><code><span class=\"c1\">// Configure NSDate Parsing</span>\n<span class=\"kt\">Arrow</span><span class=\"o\">.</span><span class=\"nf\">setDateFormat</span><span class=\"p\">(</span><span class=\"s\">\"yyyy-MM-dd'T'HH:mm:ssZZZZZ\"</span><span class=\"p\">)</span>\n<span class=\"kt\">Arrow</span><span class=\"o\">.</span><span class=\"nf\">setUseTimeIntervalSinceReferenceDate</span><span class=\"p\">(</span><span class=\"kc\">true</span><span class=\"p\">)</span>\n\n<span class=\"c1\">// Dates can be parsed form custom date format or timestamp</span>\n<span class=\"k\">let</span> <span class=\"nv\">json</span><span class=\"p\">:</span><span class=\"kt\">JSON</span> <span class=\"o\">=</span> <span class=\"kt\">JSON</span><span class=\"p\">([</span><span class=\"s\">\"date\"</span><span class=\"p\">:</span> <span class=\"s\">\"2013-06-07T16:38:40+02:00\"</span><span class=\"p\">,</span> <span class=\"s\">\"timestamp\"</span><span class=\"p\">:</span> <span class=\"mi\">392308720</span><span class=\"p\">])</span>\n<span class=\"n\">date1</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"date\"</span><span class=\"p\">]</span>\n<span class=\"n\">date2</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"timestamp\"</span><span class=\"p\">]</span>\n</code></pre>\n\n<p>What if I want a Custom NSDate format for a specific key ?\n<code>swift\ncreatedAt &lt;-- json[&quot;created_at&quot;]?.dateFormat(&quot;yyyy-MM-dd&#39;T&#39;HH:mm:ssZZZZZ&quot;)\n</code>\nJust provide it on a case per case basis ! 🎉</p>\n<a href='#accessing-json-values' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h2 id='accessing-json-values'>Accessing JSON values</h2>\n<a href='#nested-values' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h3 id='nested-values'>Nested values</h3>\n<pre class=\"highlight swift\"><code><span class=\"n\">value</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"nested.nested.nested.nestedValue\"</span><span class=\"p\">]</span>\n</code></pre>\n<a href='#object-at-index' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h3 id='object-at-index'>Object at index</h3>\n<pre class=\"highlight swift\"><code><span class=\"n\">value</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"mi\">12</span><span class=\"p\">]</span>\n</code></pre>\n<a href='#combine-both' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h3 id='combine-both'>Combine both</h3>\n<pre class=\"highlight swift\"><code><span class=\"n\">value</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"mi\">1</span><span class=\"p\">]?[</span><span class=\"s\">\"someKey\"</span><span class=\"p\">]?[</span><span class=\"mi\">2</span><span class=\"p\">]?[</span><span class=\"s\">\"something.other\"</span><span class=\"p\">]</span>\n</code></pre>\n<a href='#looping-on-array' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h3 id='looping-on-array'>Looping on Array</h3>\n<pre class=\"highlight swift\"><code><span class=\"k\">if</span> <span class=\"k\">let</span> <span class=\"nv\">collection</span> <span class=\"o\">=</span> <span class=\"n\">json</span><span class=\"o\">.</span><span class=\"n\">collection</span> <span class=\"p\">{</span>\n    <span class=\"k\">for</span> <span class=\"n\">jsonEntry</span> <span class=\"k\">in</span> <span class=\"n\">collection</span> <span class=\"p\">{</span>\n        <span class=\"c1\">//Do something</span>\n    <span class=\"p\">}</span>\n<span class=\"p\">}</span>\n</code></pre>\n<a href='#acknoledgments' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h2 id='acknoledgments'>Acknoledgments</h2>\n\n<p>This wouldn&rsquo;t exist without <a href=\"https://github.com/YannickDot\">YannickDot</a>, <a href=\"https://github.com/damien-nd\">Damien-nd</a> and <a href=\"https://github.com/maxkonovalov\">maxkonovalov</a></p>\n<a href='#other-repos' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h2 id='other-repos'>Other repos ❤️</h2>\n\n<p>Arrow is part of a series of lightweight libraries aiming to make developing iOS Apps a <em>breeze</em> :\n- Layout : <a href=\"https://github.com/s4cha/Stevia\">Stevia</a>\n- Async code : <a href=\"https://github.com/s4cha/then\">then</a>\n- JSON WebServices : <a href=\"https://github.com/s4cha/ws\">ws</a></p>\n\n          </div>\n        </section>\n\n\n      </article>\n    </div>\n    <section class=\"footer\">\n      <p>&copy; 2016 <a class=\"link\" href=\"https://github.com/s4cha\" target=\"_blank\" rel=\"external\">S4cha</a>. All rights reserved. (Last updated: 2016-07-09)</p>\n      <p>Generated by <a class=\"link\" href=\"https://github.com/realm/jazzy\" target=\"_blank\" rel=\"external\">jazzy ♪♫ v0.7.0</a>, a <a class=\"link\" href=\"http://realm.io\" target=\"_blank\" rel=\"external\">Realm</a> project.</p>\n    </section>\n  </body>\n</div>\n</html>\n"
  },
  {
    "path": "docs/js/jazzy.js",
    "content": "window.jazzy = {'docset': false}\nif (typeof window.dash != 'undefined') {\n  document.documentElement.className += ' dash'\n  window.jazzy.docset = true\n}\nif (navigator.userAgent.match(/xcode/i)) {\n  document.documentElement.className += ' xcode'\n  window.jazzy.docset = true\n}\n\n// On doc load, toggle the URL hash discussion if present\n$(document).ready(function() {\n  if (!window.jazzy.docset) {\n    var linkToHash = $('a[href=\"' + window.location.hash +'\"]');\n    linkToHash.trigger(\"click\");\n  }\n});\n\n// On token click, toggle its discussion and animate token.marginLeft\n$(\".token\").click(function(event) {\n  if (window.jazzy.docset) {\n    return;\n  }\n  var link = $(this);\n  var animationDuration = 300;\n  $content = link.parent().parent().next();\n  $content.slideToggle(animationDuration);\n\n  // Keeps the document from jumping to the hash.\n  var href = $(this).attr('href');\n  if (history.pushState) {\n    history.pushState({}, '', href);\n  } else {\n    location.hash = href;\n  }\n  event.preventDefault();\n});\n"
  },
  {
    "path": "docs/readme.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <title>README  Reference</title>\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"css/jazzy.css\" />\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"css/highlight.css\" />\n    <meta charset=\"utf-8\">\n    <script src=\"js/jquery.min.js\" defer></script>\n    <script src=\"js/jazzy.js\" defer></script>\n    \n  </head>\n  <body>\n\n\n    <a title=\"README  Reference\"></a>\n\n    <header class=\"header\">\n      <p class=\"header-col header-col--primary\">\n        <a class=\"header-link\" href=\"index.html\">\n          Arrow Docs\n        </a>\n         (72% documented)\n      </p>\n    \n        <p class=\"header-col header-col--secondary\">\n          <a class=\"header-link\" href=\"https://github.com/s4cha/Arrow\">\n            <img class=\"header-icon\" src=\"img/gh.png\"/>\n            View on GitHub\n          </a>\n        </p>\n    \n    </header>\n\n    <p class=\"breadcrumbs\">\n      <a class=\"breadcrumb\" href=\"index.html\">Arrow Reference</a>\n      <img class=\"carat\" src=\"img/carat.png\" />\n      README  Reference\n    </p>\n\n    <div class=\"content-wrapper\">\n      <nav class=\"navigation\">\n        <ul class=\"nav-groups\">\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"Guides.html\">Guides</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"readme.html\">README</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"Classes.html\">Classes</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Classes/Arrow.html\">Arrow</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Classes/JSON.html\">JSON</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"Functions.html\">Functions</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions.html#/s:ZF5Arrowoi3lssFTRCSo6NSDateGSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions.html#/s:ZF5Arrowoi3lssFTRGSqCSo6NSDate_GSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions.html#/s:ZF5Arrowoi3lssFTRCSo5NSURLGSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions.html#/s:ZF5Arrowoi3lssFTRGSqCSo5NSURL_GSqCS_4JSON__T_\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Functions/&lt;--(_:_:).html\">&lt;--(_:_:)</a>\n              </li>\n            </ul>\n          </li>\n          <li class=\"nav-group-name\">\n            <a class=\"nav-group-name-link\" href=\"Protocols.html\">Protocols</a>\n            <ul class=\"nav-group-tasks\">\n              <li class=\"nav-group-task\">\n                <a class=\"nav-group-task-link\" href=\"Protocols/ArrowParsable.html\">ArrowParsable</a>\n              </li>\n            </ul>\n          </li>\n        </ul>\n      </nav>\n      <article class=\"main-content\">\n\n        <section class=\"section\">\n          <div class=\"section-content\">\n            \n            <a href='#arrow-em-elegant-json-parsing-in-swift-em' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h1 id='arrow-em-elegant-json-parsing-in-swift-em'>Arrow 🏹 - <em>Elegant JSON Parsing in Swift</em></h1>\n\n<p><a href=\"https://developer.apple.com/swift\"><img src=\"https://img.shields.io/badge/language-swift2-f48041.svg?style=flat\" alt=\"Language: Swift 2\"></a>\n<img src=\"https://img.shields.io/badge/platform-iOS%208%2B-blue.svg?style=flat\" alt=\"Platform: iOS 8+\">\n<a href=\"https://github.com/Carthage/Carthage\"><img src=\"https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat\" alt=\"Carthage compatible\"></a>\n<a href=\"https://cocoapods.org\"><img src=\"https://img.shields.io/badge/Cocoapods-compatible-4BC51D.svg?style=flat\" alt=\"Cocoapods compatible\"></a>\n<a href=\"https://www.bitrise.io/app/ffd8fe5df34624ff\"><img src=\"https://www.bitrise.io/app/ffd8fe5df34624ff.svg?token=IahWn-RB5hTWzvBbcIktsQ\" alt=\"Build Status\"></a>\n<a href=\"https://codebeat.co/projects/github-com-s4cha-arrow\"><img src=\"https://codebeat.co/badges/2acb8664-02f7-463d-9de2-2be9e87ba17c\" alt=\"codebeat badge\"></a>\n<a href=\"https://github.com/s4cha/Arrow/blob/master/LICENSE\"><img src=\"http://img.shields.io/badge/license-MIT-lightgrey.svg?style=flat\" alt=\"License: MIT\"></a>\n<a href=\"\"><img src=\"https://img.shields.io/badge/release-2.0-blue.svg\" alt=\"Release version\"></a></p>\n\n<p><a href=\"#reason\">Reason</a> - <a href=\"#example\">Example</a> - <a href=\"#installation\">Installation</a></p>\n<pre class=\"highlight swift\"><code><span class=\"n\">identifier</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"id\"</span><span class=\"p\">]</span>\n<span class=\"n\">name</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"name\"</span><span class=\"p\">]</span>\n<span class=\"n\">stats</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"stats\"</span><span class=\"p\">]</span>\n</code></pre>\n<a href='#reason' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h2 id='reason'>Reason</h2>\n<a href='#why' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h3 id='why'>Why</h3>\n\n<p>Because parsing JSON in Swift is full of <strong>unecessary if lets, obvious casts and nil-checks</strong><br>\n<em>There must be a better way</em></p>\n<a href='#how' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h2 id='how'>How</h2>\n\n<p>By using a simple arrow operator that takes care of the boilerplate code for us.<br>\nJson mapping code becomes <strong>concise</strong> and <strong>maintainable</strong> ❤️</p>\n<a href='#what' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h2 id='what'>What</h2>\n\n<ul>\n<li>[x] Simple &amp; Lightweight (~200lines)</li>\n<li>[x] Pure Swift</li>\n<li>[x] Leaves your models clean</li>\n<li>[x] Implicitly casts JSON values to the right types in your model</li>\n<li>[x] Automatic NSDate, NSURL, Enum, Custom model Parsing</li>\n<li>[x] Converts string values to numeric types in your model</li>\n<li>[x] Does not crash if JSON key is not there, nor returns nil, it simply doesn&rsquo;t do anything</li>\n<li>[x] No overly complex obscure functional chaining operator overloading voodoo magic ?==:&gt;&gt;&gt;&lt;&gt; 😅</li>\n</ul>\n<a href='#example' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h2 id='example'>Example</h2>\n<a href='#swift-model' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h3 id='swift-model'>Swift Model</h3>\n<pre class=\"highlight swift\"><code><span class=\"kd\">struct</span> <span class=\"kt\">Profile</span> <span class=\"p\">{</span>\n    <span class=\"k\">var</span> <span class=\"nv\">identifier</span> <span class=\"o\">=</span> <span class=\"mi\">0</span>\n    <span class=\"k\">var</span> <span class=\"nv\">name</span> <span class=\"o\">=</span> <span class=\"s\">\"\"</span>\n    <span class=\"k\">var</span> <span class=\"nv\">link</span><span class=\"p\">:</span><span class=\"kt\">NSURL</span><span class=\"p\">?</span>\n    <span class=\"k\">var</span> <span class=\"nv\">weekday</span><span class=\"p\">:</span><span class=\"kt\">WeekDay</span> <span class=\"o\">=</span> <span class=\"o\">.</span><span class=\"kt\">Monday</span>\n    <span class=\"k\">var</span> <span class=\"nv\">stats</span> <span class=\"o\">=</span> <span class=\"kt\">Stats</span><span class=\"p\">()</span>\n    <span class=\"k\">var</span> <span class=\"nv\">phoneNumbers</span> <span class=\"o\">=</span> <span class=\"p\">[</span><span class=\"kt\">PhoneNumber</span><span class=\"p\">]()</span>\n<span class=\"p\">}</span>\n</code></pre>\n<a href='#json-file' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h3 id='json-file'>JSON File</h3>\n<pre class=\"highlight json\"><code><span class=\"p\">{</span><span class=\"w\">\n    </span><span class=\"nt\">\"id\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"mi\">15678</span><span class=\"p\">,</span><span class=\"w\">\n    </span><span class=\"nt\">\"name\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"John Doe\"</span><span class=\"p\">,</span><span class=\"w\">\n    </span><span class=\"nt\">\"link\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"https://apple.com/steve\"</span><span class=\"p\">,</span><span class=\"w\">\n    </span><span class=\"nt\">\"weekdayInt\"</span><span class=\"w\"> </span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"mi\">3</span><span class=\"p\">,</span><span class=\"w\">\n    </span><span class=\"nt\">\"stats\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"p\">{</span><span class=\"w\">\n        </span><span class=\"nt\">\"numberOfFriends\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"mi\">163</span><span class=\"p\">,</span><span class=\"w\">\n        </span><span class=\"nt\">\"numberOfFans\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"mi\">10987</span><span class=\"w\">\n    </span><span class=\"p\">},</span><span class=\"w\">\n    </span><span class=\"nt\">\"phoneNumbers\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"p\">[{</span><span class=\"w\">\n                     </span><span class=\"nt\">\"label\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"house\"</span><span class=\"p\">,</span><span class=\"w\">\n                     </span><span class=\"nt\">\"number\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"9809876545\"</span><span class=\"w\">\n                     </span><span class=\"p\">},</span><span class=\"w\"> </span><span class=\"p\">{</span><span class=\"w\">\n                     </span><span class=\"nt\">\"label\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"cell\"</span><span class=\"p\">,</span><span class=\"w\">\n                     </span><span class=\"nt\">\"number\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"0908070656\"</span><span class=\"w\">\n                     </span><span class=\"p\">},</span><span class=\"w\"> </span><span class=\"p\">{</span><span class=\"w\">\n                     </span><span class=\"nt\">\"label\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"work\"</span><span class=\"p\">,</span><span class=\"w\">\n                     </span><span class=\"nt\">\"number\"</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"s2\">\"0916570656\"</span><span class=\"w\">\n    </span><span class=\"p\">}]</span><span class=\"w\">\n</span><span class=\"p\">}</span><span class=\"w\">\n</span></code></pre>\n<a href='#before-chaos' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h3 id='before-chaos'>Before (Chaos)</h3>\n<pre class=\"highlight swift\"><code><span class=\"k\">var</span> <span class=\"nv\">profile</span> <span class=\"o\">=</span> <span class=\"kt\">Profile</span><span class=\"p\">()</span>\n\n<span class=\"c1\">// Int</span>\n<span class=\"k\">if</span> <span class=\"k\">let</span> <span class=\"nv\">id</span> <span class=\"o\">=</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"id\"</span><span class=\"p\">]</span> <span class=\"k\">as?</span> <span class=\"kt\">Int</span> <span class=\"p\">{</span>\n    <span class=\"n\">profile</span><span class=\"o\">.</span><span class=\"n\">identifier</span> <span class=\"o\">=</span> <span class=\"n\">id</span>\n<span class=\"p\">}</span>  \n<span class=\"c1\">// String</span>\n<span class=\"k\">if</span> <span class=\"k\">let</span> <span class=\"nv\">name</span> <span class=\"o\">=</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"name\"</span><span class=\"p\">]</span> <span class=\"k\">as?</span> <span class=\"kt\">String</span> <span class=\"p\">{</span>\n    <span class=\"n\">profile</span><span class=\"o\">.</span><span class=\"n\">name</span> <span class=\"o\">=</span> <span class=\"n\">name</span>\n<span class=\"p\">}</span>\n<span class=\"c1\">// NSURL</span>\n<span class=\"k\">if</span> <span class=\"k\">let</span> <span class=\"nv\">link</span> <span class=\"o\">=</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"link\"</span><span class=\"p\">]</span> <span class=\"k\">as?</span> <span class=\"kt\">String</span><span class=\"p\">,</span> <span class=\"n\">url</span> <span class=\"o\">=</span> <span class=\"kt\">NSURL</span><span class=\"p\">(</span><span class=\"nv\">string</span><span class=\"p\">:</span><span class=\"n\">link</span><span class=\"p\">)</span>  <span class=\"p\">{</span>\n    <span class=\"n\">profile</span><span class=\"o\">.</span><span class=\"n\">link</span> <span class=\"o\">=</span> <span class=\"n\">link</span>\n<span class=\"p\">}</span>\n<span class=\"c1\">// Enum</span>\n<span class=\"k\">if</span> <span class=\"k\">let</span> <span class=\"nv\">weekdayInt</span> <span class=\"o\">=</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"weekdayInt\"</span><span class=\"p\">]</span> <span class=\"k\">as?</span> <span class=\"kt\">Int</span><span class=\"p\">,</span> <span class=\"n\">weekday</span> <span class=\"o\">=</span> <span class=\"kt\">WeekDay</span><span class=\"p\">(</span><span class=\"nv\">rawValue</span><span class=\"p\">:</span><span class=\"n\">weekdayInt</span><span class=\"p\">)</span> <span class=\"p\">{</span>\n    <span class=\"n\">profile</span><span class=\"o\">.</span><span class=\"n\">weekday</span> <span class=\"o\">=</span> <span class=\"n\">weekday</span>\n<span class=\"p\">}</span>\n<span class=\"c1\">// Custom nested object</span>\n<span class=\"k\">if</span> <span class=\"k\">let</span> <span class=\"nv\">statsJson</span> <span class=\"o\">=</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"stats\"</span><span class=\"p\">]</span> <span class=\"k\">as?</span> <span class=\"kt\">AnyObject</span> <span class=\"p\">{</span>\n    <span class=\"k\">if</span> <span class=\"k\">let</span> <span class=\"nv\">numberOfFans</span> <span class=\"o\">=</span> <span class=\"n\">statsJson</span><span class=\"p\">[</span><span class=\"s\">\"numberOfFans\"</span><span class=\"p\">]</span> <span class=\"k\">as?</span> <span class=\"kt\">Int</span> <span class=\"p\">{</span>\n        <span class=\"n\">profile</span><span class=\"o\">.</span><span class=\"n\">stats</span><span class=\"o\">.</span><span class=\"n\">numberOfFans</span> <span class=\"o\">=</span> <span class=\"n\">numberOfFans</span>\n    <span class=\"p\">}</span>\n    <span class=\"k\">if</span> <span class=\"k\">let</span> <span class=\"nv\">numberOfFriends</span> <span class=\"o\">=</span> <span class=\"n\">statsJson</span><span class=\"p\">[</span><span class=\"s\">\"numberOfFriends\"</span><span class=\"p\">]</span> <span class=\"k\">as?</span> <span class=\"kt\">Int</span> <span class=\"p\">{</span>\n        <span class=\"n\">profile</span><span class=\"o\">.</span><span class=\"n\">stats</span><span class=\"o\">.</span><span class=\"n\">numberOfFriends</span> <span class=\"o\">=</span> <span class=\"n\">numberOfFriends</span>\n    <span class=\"p\">}</span>\n<span class=\"p\">}</span>\n<span class=\"c1\">// Array of custom nested object</span>\n<span class=\"k\">if</span> <span class=\"k\">let</span> <span class=\"nv\">pns</span> <span class=\"o\">=</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"phoneNumbers\"</span><span class=\"p\">]</span> <span class=\"k\">as?</span> <span class=\"p\">[</span><span class=\"kt\">AnyObject</span><span class=\"p\">]</span> <span class=\"p\">{</span>\n    <span class=\"k\">for</span> <span class=\"n\">pn</span> <span class=\"k\">in</span> <span class=\"n\">pns</span> <span class=\"p\">{</span>\n        <span class=\"n\">phoneNumbers</span><span class=\"o\">.</span><span class=\"nf\">append</span><span class=\"p\">(</span><span class=\"kt\">PhoneNumber</span><span class=\"p\">(</span><span class=\"nv\">json</span><span class=\"p\">:</span> <span class=\"n\">pn</span><span class=\"p\">))</span>\n    <span class=\"p\">}</span>\n<span class=\"p\">}</span>\n</code></pre>\n<a href='#after' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h3 id='after'>After  🎉🎉🎉</h3>\n<pre class=\"highlight swift\"><code><span class=\"kd\">extension</span> <span class=\"kt\">Profile</span><span class=\"p\">:</span><span class=\"kt\">ArrowParsable</span> <span class=\"p\">{</span>\n    <span class=\"k\">mutating</span> <span class=\"kd\">func</span> <span class=\"nf\">deserialize</span><span class=\"p\">(</span><span class=\"nv\">json</span><span class=\"p\">:</span> <span class=\"kt\">JSON</span><span class=\"p\">)</span> <span class=\"p\">{</span>\n        <span class=\"n\">identifier</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"id\"</span><span class=\"p\">]</span>\n        <span class=\"n\">link</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"link\"</span><span class=\"p\">]</span>\n        <span class=\"n\">name</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"name\"</span><span class=\"p\">]</span>\n        <span class=\"n\">weekday</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"weekdayInt\"</span><span class=\"p\">]</span>\n        <span class=\"n\">stats</span> <span class=\"o\">&lt;-</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"stats\"</span><span class=\"p\">]</span>\n        <span class=\"n\">phoneNumbers</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"phoneNumbers\"</span><span class=\"p\">]</span>\n    <span class=\"p\">}</span>\n<span class=\"p\">}</span>\n</code></pre>\n<a href='#usage' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h3 id='usage'>Usage</h3>\n<pre class=\"highlight swift\"><code><span class=\"k\">let</span> <span class=\"nv\">profile</span> <span class=\"o\">=</span> <span class=\"kt\">Profile</span><span class=\"p\">()</span>\n<span class=\"n\">profile</span><span class=\"o\">.</span><span class=\"nf\">deserialize</span><span class=\"p\">(</span><span class=\"n\">json</span><span class=\"p\">)</span>\n</code></pre>\n<a href='#installation' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h2 id='installation'>Installation</h2>\n<a href='#carthage' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h4 id='carthage'>Carthage</h4>\n<pre class=\"highlight plaintext\"><code>github \"s4cha/Arrow\"\n</code></pre>\n<a href='#cocoapods' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h4 id='cocoapods'>CocoaPods</h4>\n<pre class=\"highlight plaintext\"><code>pod 'Arrow'\nuse_frameworks!\n</code></pre>\n<a href='#manually' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h4 id='manually'>Manually</h4>\n\n<p>Simply Copy and Paste Arrow.swift in your Xcode Project :)\n<a href=\"https://github.com/s4cha/Arrow/blob/master/Arrow.swift\">https://github.com/s4cha/Arrow/blob/master/Arrow.swift</a></p>\n<a href='#as-a-framework' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h4 id='as-a-framework'>As A Framework</h4>\n\n<p>Grab this repository and build the Framework target on the example project. Then Link against this framework.</p>\n<a href='#how-does-that-work' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h2 id='how-does-that-work'>How Does That Work</h2>\n\n<p>Notice earlier we typed :</p>\n<pre class=\"highlight swift\"><code><span class=\"n\">stats</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"stats\"</span><span class=\"p\">]</span>\n</code></pre>\n\n<p>That&rsquo;s because we created and extension <q>Stats+Arrow.swift</q> enabling us to use the Arrow Operator</p>\n<pre class=\"highlight swift\"><code><span class=\"c1\">//  Stats+Arrow.swift</span>\n\n<span class=\"kd\">import</span> <span class=\"kt\">Foundation</span>\n\n<span class=\"kd\">extension</span> <span class=\"kt\">Stats</span><span class=\"p\">:</span><span class=\"kt\">ArrowParsable</span> <span class=\"p\">{</span>\n    <span class=\"k\">mutating</span> <span class=\"kd\">func</span> <span class=\"nf\">deserialize</span><span class=\"p\">(</span><span class=\"nv\">json</span><span class=\"p\">:</span> <span class=\"kt\">JSON</span><span class=\"p\">)</span> <span class=\"p\">{</span>\n        <span class=\"n\">numberOfFriends</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"numberOfFriends\"</span><span class=\"p\">]</span>\n        <span class=\"n\">numberOfFans</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"numberOfFans\"</span><span class=\"p\">]</span>\n    <span class=\"p\">}</span>\n<span class=\"p\">}</span>\n</code></pre>\n<a href='#flexible-you-said' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h2 id='flexible-you-said'>Flexible you said</h2>\n\n<ul>\n<li>DO I have to use the &lt;&ndash; for my sub models</li>\n<li>Nope, you could write it like so if you wanted :</li>\n</ul>\n<pre class=\"highlight swift\"><code><span class=\"n\">stats</span><span class=\"o\">.</span><span class=\"n\">numberOfFriends</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"stats.numberOfFriends\"</span><span class=\"p\">]</span>\n<span class=\"n\">stats</span><span class=\"o\">.</span><span class=\"n\">numberOfFans</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"stats.numberOfFans\"</span><span class=\"p\">]</span>\n</code></pre>\n\n<ul>\n<li>Hey I don&rsquo;t want to parse NSDates in every files, do you have something for me?</li>\n</ul>\n\n<p>Sure, just set your date format once and you&rsquo;re done.</p>\n<pre class=\"highlight swift\"><code><span class=\"c1\">// Configure NSDate Parsing</span>\n<span class=\"kt\">Arrow</span><span class=\"o\">.</span><span class=\"nf\">setDateFormat</span><span class=\"p\">(</span><span class=\"s\">\"yyyy-MM-dd'T'HH:mm:ssZZZZZ\"</span><span class=\"p\">)</span>\n<span class=\"kt\">Arrow</span><span class=\"o\">.</span><span class=\"nf\">setUseTimeIntervalSinceReferenceDate</span><span class=\"p\">(</span><span class=\"kc\">true</span><span class=\"p\">)</span>\n\n<span class=\"c1\">// Dates can be parsed form custom date format or timestamp</span>\n<span class=\"k\">let</span> <span class=\"nv\">json</span><span class=\"p\">:</span><span class=\"kt\">JSON</span> <span class=\"o\">=</span> <span class=\"kt\">JSON</span><span class=\"p\">([</span><span class=\"s\">\"date\"</span><span class=\"p\">:</span> <span class=\"s\">\"2013-06-07T16:38:40+02:00\"</span><span class=\"p\">,</span> <span class=\"s\">\"timestamp\"</span><span class=\"p\">:</span> <span class=\"mi\">392308720</span><span class=\"p\">])</span>\n<span class=\"n\">date1</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"date\"</span><span class=\"p\">]</span>\n<span class=\"n\">date2</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"timestamp\"</span><span class=\"p\">]</span>\n</code></pre>\n\n<p>What if I want a Custom NSDate format for a specific key ?\n<code>swift\ncreatedAt &lt;-- json[&quot;created_at&quot;]?.dateFormat(&quot;yyyy-MM-dd&#39;T&#39;HH:mm:ssZZZZZ&quot;)\n</code>\nJust provide it on a case per case basis ! 🎉</p>\n<a href='#accessing-json-values' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h2 id='accessing-json-values'>Accessing JSON values</h2>\n<a href='#nested-values' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h3 id='nested-values'>Nested values</h3>\n<pre class=\"highlight swift\"><code><span class=\"n\">value</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"s\">\"nested.nested.nested.nestedValue\"</span><span class=\"p\">]</span>\n</code></pre>\n<a href='#object-at-index' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h3 id='object-at-index'>Object at index</h3>\n<pre class=\"highlight swift\"><code><span class=\"n\">value</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"mi\">12</span><span class=\"p\">]</span>\n</code></pre>\n<a href='#combine-both' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h3 id='combine-both'>Combine both</h3>\n<pre class=\"highlight swift\"><code><span class=\"n\">value</span> <span class=\"o\">&lt;--</span> <span class=\"n\">json</span><span class=\"p\">[</span><span class=\"mi\">1</span><span class=\"p\">]?[</span><span class=\"s\">\"someKey\"</span><span class=\"p\">]?[</span><span class=\"mi\">2</span><span class=\"p\">]?[</span><span class=\"s\">\"something.other\"</span><span class=\"p\">]</span>\n</code></pre>\n<a href='#looping-on-array' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h3 id='looping-on-array'>Looping on Array</h3>\n<pre class=\"highlight swift\"><code><span class=\"k\">if</span> <span class=\"k\">let</span> <span class=\"nv\">collection</span> <span class=\"o\">=</span> <span class=\"n\">json</span><span class=\"o\">.</span><span class=\"n\">collection</span> <span class=\"p\">{</span>\n    <span class=\"k\">for</span> <span class=\"n\">jsonEntry</span> <span class=\"k\">in</span> <span class=\"n\">collection</span> <span class=\"p\">{</span>\n        <span class=\"c1\">//Do something</span>\n    <span class=\"p\">}</span>\n<span class=\"p\">}</span>\n</code></pre>\n<a href='#acknoledgments' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h2 id='acknoledgments'>Acknoledgments</h2>\n\n<p>This wouldn&rsquo;t exist without <a href=\"https://github.com/YannickDot\">YannickDot</a>, <a href=\"https://github.com/damien-nd\">Damien-nd</a> and <a href=\"https://github.com/maxkonovalov\">maxkonovalov</a></p>\n<a href='#other-repos' class='anchor' aria-hidden=true><span class=\"header-anchor\"></span></a><h2 id='other-repos'>Other repos ❤️</h2>\n\n<p>Arrow is part of a series of lightweight libraries aiming to make developing iOS Apps a <em>breeze</em> :\n- Layout : <a href=\"https://github.com/s4cha/Stevia\">Stevia</a>\n- Async code : <a href=\"https://github.com/s4cha/then\">then</a>\n- JSON WebServices : <a href=\"https://github.com/s4cha/ws\">ws</a></p>\n\n          </div>\n        </section>\n\n\n      </article>\n    </div>\n    <section class=\"footer\">\n      <p>&copy; 2016 <a class=\"link\" href=\"https://github.com/s4cha\" target=\"_blank\" rel=\"external\">S4cha</a>. All rights reserved. (Last updated: 2016-07-09)</p>\n      <p>Generated by <a class=\"link\" href=\"https://github.com/realm/jazzy\" target=\"_blank\" rel=\"external\">jazzy ♪♫ v0.7.0</a>, a <a class=\"link\" href=\"http://realm.io\" target=\"_blank\" rel=\"external\">Realm</a> project.</p>\n    </section>\n  </body>\n</div>\n</html>\n"
  },
  {
    "path": "docs/undocumented.json",
    "content": "{\"warnings\":[{\"file\":\"/Users/sacha/Projects/Arrow/Source/Arrow.swift\",\"line\":77,\"symbol\":\"T\",\"symbol_kind\":\"source.lang.swift.decl.generic_type_param\",\"warning\":\"undocumented\"},{\"file\":\"/Users/sacha/Projects/Arrow/Source/Arrow.swift\",\"line\":86,\"symbol\":\"T\",\"symbol_kind\":\"source.lang.swift.decl.generic_type_param\",\"warning\":\"undocumented\"},{\"file\":\"/Users/sacha/Projects/Arrow/Source/Arrow.swift\",\"line\":91,\"symbol\":\"T\",\"symbol_kind\":\"source.lang.swift.decl.generic_type_param\",\"warning\":\"undocumented\"},{\"file\":\"/Users/sacha/Projects/Arrow/Source/Arrow.swift\",\"line\":100,\"symbol\":\"T\",\"symbol_kind\":\"source.lang.swift.decl.generic_type_param\",\"warning\":\"undocumented\"},{\"file\":\"/Users/sacha/Projects/Arrow/Source/Arrow.swift\",\"line\":109,\"symbol\":\"T\",\"symbol_kind\":\"source.lang.swift.decl.generic_type_param\",\"warning\":\"undocumented\"},{\"file\":\"/Users/sacha/Projects/Arrow/Source/Arrow.swift\",\"line\":118,\"symbol\":\"T\",\"symbol_kind\":\"source.lang.swift.decl.generic_type_param\",\"warning\":\"undocumented\"},{\"file\":\"/Users/sacha/Projects/Arrow/Source/Arrow.swift\",\"line\":127,\"symbol\":\"T\",\"symbol_kind\":\"source.lang.swift.decl.generic_type_param\",\"warning\":\"undocumented\"},{\"file\":\"/Users/sacha/Projects/Arrow/Source/Arrow.swift\",\"line\":140,\"symbol\":\"T\",\"symbol_kind\":\"source.lang.swift.decl.generic_type_param\",\"warning\":\"undocumented\"},{\"file\":\"/Users/sacha/Projects/Arrow/Source/Arrow.swift\",\"line\":181,\"symbol\":\"T\",\"symbol_kind\":\"source.lang.swift.decl.generic_type_param\",\"warning\":\"undocumented\"},{\"file\":\"/Users/sacha/Projects/Arrow/Source/Arrow.swift\",\"line\":190,\"symbol\":\"T\",\"symbol_kind\":\"source.lang.swift.decl.generic_type_param\",\"warning\":\"undocumented\"}],\"source_directory\":\"/Users/sacha/Projects/Arrow\"}"
  }
]