From 93dc9a428d491365bf398bba687feecea66374cb Mon Sep 17 00:00:00 2001 From: Harlan Kellaway Date: Thu, 30 May 2019 11:18:11 -0400 Subject: [PATCH] Removed non-essential SwiftyJSON files --- Kumi.xcodeproj/project.pbxproj | 24 + Kumi/SwiftyJSON-4.2.0/.github/ISSUE_TEMPLATE | 33 - .../.github/PULL_REQUEST_TEMPLATE | 13 - Kumi/SwiftyJSON-4.2.0/.gitignore | 24 - Kumi/SwiftyJSON-4.2.0/.hound.yml | 2 - Kumi/SwiftyJSON-4.2.0/.swiftlint.yml | 10 - Kumi/SwiftyJSON-4.2.0/.travis.yml | 8 - Kumi/SwiftyJSON-4.2.0/CHANGELOG.md | 441 ------ .../Example/Example.xcodeproj/project.pbxproj | 361 ----- .../contents.xcworkspacedata | 7 - .../Example/Example/AppDelegate.swift | 50 - .../Example/Base.lproj/LaunchScreen.xib | 41 - .../Example/Base.lproj/Main.storyboard | 85 -- .../AppIcon.appiconset/Contents.json | 93 -- .../LaunchImage.launchimage/Contents.json | 52 - .../LaunchImage.launchimage/Default@2x.png | Bin 196 -> 0 bytes .../Example/Example/Info.plist | 47 - .../Example/Example/SwiftyJSONTests.json | 345 ----- .../Example/Example/ViewController.swift | 92 -- .../Playground.playground/Contents.swift | 415 ------ .../Resources/SwiftyJSONTests.json | 345 ----- .../contents.xcplayground | 4 - Kumi/SwiftyJSON-4.2.0/LICENSE | 21 - Kumi/SwiftyJSON-4.2.0/Package.swift | 4 - Kumi/SwiftyJSON-4.2.0/README.md | 549 ------- Kumi/SwiftyJSON-4.2.0/Source/Info-iOS.plist | 26 - Kumi/SwiftyJSON-4.2.0/Source/Info-macOS.plist | 26 - Kumi/SwiftyJSON-4.2.0/Source/Info-tvOS.plist | 30 - .../Source/Info-watchOS.plist | 26 - Kumi/SwiftyJSON-4.2.0/SwiftyJSON.podspec | 17 - .../SwiftyJSON.xcodeproj/project.pbxproj | 1272 ----------------- .../contents.xcworkspacedata | 7 - .../xcschemes/SwiftyJSON iOS.xcscheme | 113 -- .../xcschemes/SwiftyJSON macOS.xcscheme | 113 -- .../xcschemes/SwiftyJSON tvOS.xcscheme | 99 -- .../xcschemes/SwiftyJSON watchOS.xcscheme | 80 -- .../contents.xcworkspacedata | 10 - .../xcshareddata/IDEWorkspaceChecks.plist | 8 - .../xcshareddata/WorkspaceSettings.xcsettings | 8 - .../Tests/SwiftyJSONTests/ArrayTests.swift | 45 - .../Tests/SwiftyJSONTests/BaseTests.swift | 275 ---- .../Tests/SwiftyJSONTests/CodableTests.swift | 104 -- .../SwiftyJSONTests/ComparableTests.swift | 337 ----- .../SwiftyJSONTests/DictionaryTests.swift | 55 - .../Tests/SwiftyJSONTests/Info-iOS.plist | 24 - .../Tests/SwiftyJSONTests/Info-macOS.plist | 24 - .../Tests/SwiftyJSONTests/Info-tvOS.plist | 24 - .../LiteralConvertibleTests.swift | 73 - .../Tests/SwiftyJSONTests/MergeTests.swift | 97 -- .../SwiftyJSONTests/MutabilityTests.swift | 148 -- .../SwiftyJSONTests/NestedJSONTests.swift | 88 -- .../Tests/SwiftyJSONTests/NumberTests.swift | 387 ----- .../SwiftyJSONTests/PerformanceTests.swift | 137 -- .../SwiftyJSONTests/PrintableTests.swift | 124 -- .../RawRepresentableTests.swift | 108 -- .../Tests/SwiftyJSONTests/RawTests.swift | 105 -- .../SwiftyJSONTests/SequenceTypeTests.swift | 240 ---- .../Tests/SwiftyJSONTests/StringTests.swift | 80 -- .../SwiftyJSONTests/SubscriptTests.swift | 267 ---- .../Tests/SwiftyJSONTests/Tests.json | 345 ----- Kumi/SwiftyJSON-4.2.0/scripts/carthage.sh | 2 - 61 files changed, 24 insertions(+), 7966 deletions(-) delete mode 100755 Kumi/SwiftyJSON-4.2.0/.github/ISSUE_TEMPLATE delete mode 100755 Kumi/SwiftyJSON-4.2.0/.github/PULL_REQUEST_TEMPLATE delete mode 100755 Kumi/SwiftyJSON-4.2.0/.gitignore delete mode 100755 Kumi/SwiftyJSON-4.2.0/.hound.yml delete mode 100755 Kumi/SwiftyJSON-4.2.0/.swiftlint.yml delete mode 100755 Kumi/SwiftyJSON-4.2.0/.travis.yml delete mode 100755 Kumi/SwiftyJSON-4.2.0/CHANGELOG.md delete mode 100755 Kumi/SwiftyJSON-4.2.0/Example/Example.xcodeproj/project.pbxproj delete mode 100755 Kumi/SwiftyJSON-4.2.0/Example/Example.xcodeproj/project.xcworkspace/contents.xcworkspacedata delete mode 100755 Kumi/SwiftyJSON-4.2.0/Example/Example/AppDelegate.swift delete mode 100755 Kumi/SwiftyJSON-4.2.0/Example/Example/Base.lproj/LaunchScreen.xib delete mode 100755 Kumi/SwiftyJSON-4.2.0/Example/Example/Base.lproj/Main.storyboard delete mode 100755 Kumi/SwiftyJSON-4.2.0/Example/Example/Images.xcassets/AppIcon.appiconset/Contents.json delete mode 100755 Kumi/SwiftyJSON-4.2.0/Example/Example/Images.xcassets/LaunchImage.launchimage/Contents.json delete mode 100755 Kumi/SwiftyJSON-4.2.0/Example/Example/Images.xcassets/LaunchImage.launchimage/Default@2x.png delete mode 100755 Kumi/SwiftyJSON-4.2.0/Example/Example/Info.plist delete mode 100755 Kumi/SwiftyJSON-4.2.0/Example/Example/SwiftyJSONTests.json delete mode 100755 Kumi/SwiftyJSON-4.2.0/Example/Example/ViewController.swift delete mode 100755 Kumi/SwiftyJSON-4.2.0/Example/Playground.playground/Contents.swift delete mode 100755 Kumi/SwiftyJSON-4.2.0/Example/Playground.playground/Resources/SwiftyJSONTests.json delete mode 100755 Kumi/SwiftyJSON-4.2.0/Example/Playground.playground/contents.xcplayground delete mode 100755 Kumi/SwiftyJSON-4.2.0/LICENSE delete mode 100755 Kumi/SwiftyJSON-4.2.0/Package.swift delete mode 100755 Kumi/SwiftyJSON-4.2.0/README.md delete mode 100755 Kumi/SwiftyJSON-4.2.0/Source/Info-iOS.plist delete mode 100755 Kumi/SwiftyJSON-4.2.0/Source/Info-macOS.plist delete mode 100755 Kumi/SwiftyJSON-4.2.0/Source/Info-tvOS.plist delete mode 100755 Kumi/SwiftyJSON-4.2.0/Source/Info-watchOS.plist delete mode 100755 Kumi/SwiftyJSON-4.2.0/SwiftyJSON.podspec delete mode 100755 Kumi/SwiftyJSON-4.2.0/SwiftyJSON.xcodeproj/project.pbxproj delete mode 100755 Kumi/SwiftyJSON-4.2.0/SwiftyJSON.xcodeproj/project.xcworkspace/contents.xcworkspacedata delete mode 100755 Kumi/SwiftyJSON-4.2.0/SwiftyJSON.xcodeproj/xcshareddata/xcschemes/SwiftyJSON iOS.xcscheme delete mode 100755 Kumi/SwiftyJSON-4.2.0/SwiftyJSON.xcodeproj/xcshareddata/xcschemes/SwiftyJSON macOS.xcscheme delete mode 100755 Kumi/SwiftyJSON-4.2.0/SwiftyJSON.xcodeproj/xcshareddata/xcschemes/SwiftyJSON tvOS.xcscheme delete mode 100755 Kumi/SwiftyJSON-4.2.0/SwiftyJSON.xcodeproj/xcshareddata/xcschemes/SwiftyJSON watchOS.xcscheme delete mode 100755 Kumi/SwiftyJSON-4.2.0/SwiftyJSON.xcworkspace/contents.xcworkspacedata delete mode 100755 Kumi/SwiftyJSON-4.2.0/SwiftyJSON.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist delete mode 100755 Kumi/SwiftyJSON-4.2.0/SwiftyJSON.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings delete mode 100755 Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/ArrayTests.swift delete mode 100755 Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/BaseTests.swift delete mode 100755 Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/CodableTests.swift delete mode 100755 Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/ComparableTests.swift delete mode 100755 Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/DictionaryTests.swift delete mode 100755 Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/Info-iOS.plist delete mode 100755 Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/Info-macOS.plist delete mode 100755 Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/Info-tvOS.plist delete mode 100755 Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/LiteralConvertibleTests.swift delete mode 100755 Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/MergeTests.swift delete mode 100755 Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/MutabilityTests.swift delete mode 100755 Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/NestedJSONTests.swift delete mode 100755 Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/NumberTests.swift delete mode 100755 Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/PerformanceTests.swift delete mode 100755 Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/PrintableTests.swift delete mode 100755 Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/RawRepresentableTests.swift delete mode 100755 Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/RawTests.swift delete mode 100755 Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/SequenceTypeTests.swift delete mode 100755 Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/StringTests.swift delete mode 100755 Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/SubscriptTests.swift delete mode 100755 Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/Tests.json delete mode 100755 Kumi/SwiftyJSON-4.2.0/scripts/carthage.sh diff --git a/Kumi.xcodeproj/project.pbxproj b/Kumi.xcodeproj/project.pbxproj index 0482909..6caece2 100644 --- a/Kumi.xcodeproj/project.pbxproj +++ b/Kumi.xcodeproj/project.pbxproj @@ -66,6 +66,7 @@ 90FBCCAB1FCDE32500BDBEF1 /* JSONHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 90FBCCAA1FCDE32500BDBEF1 /* JSONHelper.swift */; }; 90FBCCAD1FCDEC1E00BDBEF1 /* SwiftyJSONHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 90FBCCAC1FCDEC1E00BDBEF1 /* SwiftyJSONHelper.swift */; }; AB5CCF0B6D9EB7BB0CA58726 /* Pods_Kumi.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FC4CF5A50CF18BF86C3F0A5E /* Pods_Kumi.framework */; }; + DC9779B822A01BA400057B69 /* SwiftyJSON.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC97796922A01BA400057B69 /* SwiftyJSON.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -144,6 +145,8 @@ 96B214361F8486E6AC17A2EE /* Pods_KumiTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_KumiTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; A2015E1EE26E9062197C1AA4 /* Pods-Kumi.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Kumi.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Kumi/Pods-Kumi.debug.xcconfig"; sourceTree = ""; }; C969D8DFF51173F62569A900 /* Pods-KumiTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-KumiTests.release.xcconfig"; path = "Pods/Target Support Files/Pods-KumiTests/Pods-KumiTests.release.xcconfig"; sourceTree = ""; }; + DC97796922A01BA400057B69 /* SwiftyJSON.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SwiftyJSON.swift; sourceTree = ""; }; + DC97796C22A01BA400057B69 /* SwiftyJSON.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SwiftyJSON.h; sourceTree = ""; }; FC4CF5A50CF18BF86C3F0A5E /* Pods_Kumi.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Kumi.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ @@ -237,6 +240,7 @@ children = ( 8EC736CF1EB28CB60087846F /* Kumi.h */, 8EC7371F1EB291C70087846F /* Core */, + DC97795222A01B9E00057B69 /* SwiftyJSON-4.2.0 */, 8EC736D01EB28CB60087846F /* Info.plist */, ); path = Kumi; @@ -381,6 +385,23 @@ path = Shadow; sourceTree = ""; }; + DC97795222A01B9E00057B69 /* SwiftyJSON-4.2.0 */ = { + isa = PBXGroup; + children = ( + DC97796822A01BA400057B69 /* Source */, + ); + path = "SwiftyJSON-4.2.0"; + sourceTree = ""; + }; + DC97796822A01BA400057B69 /* Source */ = { + isa = PBXGroup; + children = ( + DC97796922A01BA400057B69 /* SwiftyJSON.swift */, + DC97796C22A01BA400057B69 /* SwiftyJSON.h */, + ); + path = Source; + sourceTree = ""; + }; F32D11083DE4B5B87424B869 /* Pods */ = { isa = PBXGroup; children = ( @@ -473,7 +494,9 @@ developmentRegion = English; hasScannedForEncodings = 0; knownRegions = ( + English, en, + Base, ); mainGroup = 8EC736C21EB28CB60087846F; productRefGroup = 8EC736CD1EB28CB60087846F /* Products */; @@ -592,6 +615,7 @@ 8EC737971EB3CBA90087846F /* LayerStyle.swift in Sources */, 8EC7376B1EB3984B0087846F /* UIColor+JSON.swift in Sources */, 1544875D1EE4D3A800DCD7A9 /* AnimationTheme.swift in Sources */, + DC9779B822A01BA400057B69 /* SwiftyJSON.swift in Sources */, 8EC737961EB3CBA90087846F /* FontTheme.swift in Sources */, 8EC7374E1EB292A10087846F /* AnimationDuration.swift in Sources */, 90DBE9F41FC4B330008C6914 /* ColorSet+JSON.swift in Sources */, diff --git a/Kumi/SwiftyJSON-4.2.0/.github/ISSUE_TEMPLATE b/Kumi/SwiftyJSON-4.2.0/.github/ISSUE_TEMPLATE deleted file mode 100755 index eb2ba19..0000000 --- a/Kumi/SwiftyJSON-4.2.0/.github/ISSUE_TEMPLATE +++ /dev/null @@ -1,33 +0,0 @@ -### What did you do? - -Please replace this with what you did. - -### What did you expect to happen? - -Please replace this with what you expected to happen. - -### What actually happened instead? - -Please replace this with what happened instead. - -### Environment - -List the software versions you're using: - - - SwiftyJSON: *?.?.?* - - Xcode Version: *?.? (????)* (Open Xcode; In menubar: Xcode > About Xcode) - - Swift Version: *?.?* (Open Xcode Preferences; Components > Toolchains. If none, use `Xcode Default`.) - -Please also mention which package manager you used and its version. Delete the -other package managers in this list: - - - Cocoapods: *?.?.?* (Use `pod --version` in Terminal) - - Carthage: *?.?* (Use `carthage version` in Terminal) - - Swift Package Manager *?.?.? (swiftpm-???)* (Use `swift build --version` in Terminal) - -### Project that demonstrates the issue - -Please link to a project we can download that reproduces the issue. Feel free -to delete this section if it's not relevant to the issue (eg - feature request). - -The project should be [short, self-contained, and correct example](http://sscce.org/). \ No newline at end of file diff --git a/Kumi/SwiftyJSON-4.2.0/.github/PULL_REQUEST_TEMPLATE b/Kumi/SwiftyJSON-4.2.0/.github/PULL_REQUEST_TEMPLATE deleted file mode 100755 index 5efff14..0000000 --- a/Kumi/SwiftyJSON-4.2.0/.github/PULL_REQUEST_TEMPLATE +++ /dev/null @@ -1,13 +0,0 @@ -The PR should summarize what was changed and why. Here are some questions to -help you if you're not sure: - - - What behavior was changed? - - What code was refactored / updated to support this change? - - What issues are related to this PR? Or why was this change introduced? - -Checklist - While not every PR needs it, new features should consider this list: - - - [ ] Does this have tests? - - [ ] Does this have documentation? - - [ ] Does this break the public API (Requires major version bump)? - - [ ] Is this a new feature (Requires minor version bump)? \ No newline at end of file diff --git a/Kumi/SwiftyJSON-4.2.0/.gitignore b/Kumi/SwiftyJSON-4.2.0/.gitignore deleted file mode 100755 index 2731938..0000000 --- a/Kumi/SwiftyJSON-4.2.0/.gitignore +++ /dev/null @@ -1,24 +0,0 @@ -# Xcode -.DS_Store -*/build/* -*.pbxuser -!default.pbxuser -*.mode1v3 -!default.mode1v3 -*.mode2v3 -!default.mode2v3 -*.perspectivev3 -!default.perspectivev3 -xcuserdata -profile -*.moved-aside -DerivedData -.idea/ -*.hmap -*.xccheckout - -#CocoaPods -Pods - -#Carthage -Carthage/Build diff --git a/Kumi/SwiftyJSON-4.2.0/.hound.yml b/Kumi/SwiftyJSON-4.2.0/.hound.yml deleted file mode 100755 index b867fd9..0000000 --- a/Kumi/SwiftyJSON-4.2.0/.hound.yml +++ /dev/null @@ -1,2 +0,0 @@ -swift: - config_file: .swiftlint.yml diff --git a/Kumi/SwiftyJSON-4.2.0/.swiftlint.yml b/Kumi/SwiftyJSON-4.2.0/.swiftlint.yml deleted file mode 100755 index 03003d1..0000000 --- a/Kumi/SwiftyJSON-4.2.0/.swiftlint.yml +++ /dev/null @@ -1,10 +0,0 @@ -disabled_rules: - - force_cast - - force_try - - variable_name - - type_name - - file_length - - line_length - - type_body_length - - cyclomatic_complexity - - function_body_length diff --git a/Kumi/SwiftyJSON-4.2.0/.travis.yml b/Kumi/SwiftyJSON-4.2.0/.travis.yml deleted file mode 100755 index 34acdea..0000000 --- a/Kumi/SwiftyJSON-4.2.0/.travis.yml +++ /dev/null @@ -1,8 +0,0 @@ -language: objective-c -osx_image: xcode10 -xcode_sdk: iphonesimulator12.0 -script: -- set -o pipefail -- travis_retry xcodebuild -workspace SwiftyJSON.xcworkspace -scheme "SwiftyJSON iOS" -destination "platform=iOS Simulator,name=iPhone 6" build-for-testing test | xcpretty -- travis_retry xcodebuild -workspace SwiftyJSON.xcworkspace -scheme "SwiftyJSON macOS" build-for-testing test | xcpretty -- travis_retry xcodebuild -workspace SwiftyJSON.xcworkspace -scheme "SwiftyJSON tvOS" -destination "platform=tvOS Simulator,name=Apple TV" build-for-testing test | xcpretty diff --git a/Kumi/SwiftyJSON-4.2.0/CHANGELOG.md b/Kumi/SwiftyJSON-4.2.0/CHANGELOG.md deleted file mode 100755 index 6a0935d..0000000 --- a/Kumi/SwiftyJSON-4.2.0/CHANGELOG.md +++ /dev/null @@ -1,441 +0,0 @@ -# Change Log - -## [Unreleased](https://github.com/SwiftyJSON/SwiftyJSON/tree/HEAD) - -[Full Changelog](https://github.com/SwiftyJSON/SwiftyJSON/compare/2.2.0...HEAD) - -**Closed issues:** - -- 156 compiler errors Mavericks + Xcode 6.2 [\#220](https://github.com/SwiftyJSON/SwiftyJSON/issues/220) - -- 'AnyObject' is not convertible to 'String'; did you mean to use 'as!' to force downcast? [\#218](https://github.com/SwiftyJSON/SwiftyJSON/issues/218) - -- pod -\> SwiftyJSON \(2.1.3\) is out-of-date if we compare it to the version mentioned in README.md file. [\#212](https://github.com/SwiftyJSON/SwiftyJSON/issues/212) - -- 无法获取到 2.2版本的 [\#211](https://github.com/SwiftyJSON/SwiftyJSON/issues/211) - -- Publish Podspec for version 2.2.0 [\#210](https://github.com/SwiftyJSON/SwiftyJSON/issues/210) - -- dropping elements? or am I doing something wrong? [\#209](https://github.com/SwiftyJSON/SwiftyJSON/issues/209) - -- Not working with Swift 1.2 [\#208](https://github.com/SwiftyJSON/SwiftyJSON/issues/208) - -- 在 Mac 项目里用 Carthage 无法编译 [\#193](https://github.com/SwiftyJSON/SwiftyJSON/issues/193) - -- 使用中发现解析效率比较低 [\#190](https://github.com/SwiftyJSON/SwiftyJSON/issues/190) - -- Looks like it will require a change of "as"es to "as!" for Swift 1.2... [\#150](https://github.com/SwiftyJSON/SwiftyJSON/issues/150) - -- No response appeared [\#118](https://github.com/SwiftyJSON/SwiftyJSON/issues/118) - -- Swift Optional Values from JSON [\#116](https://github.com/SwiftyJSON/SwiftyJSON/issues/116) - -- It seems not easy to manipulate an array or dictionary? [\#110](https://github.com/SwiftyJSON/SwiftyJSON/issues/110) - -**Merged pull requests:** - -- Fix for xcode 6.3..1 issue [\#224](https://github.com/SwiftyJSON/SwiftyJSON/pull/224) ([datomnurdin](https://github.com/datomnurdin)) - -- Update the first two examples snippets [\#223](https://github.com/SwiftyJSON/SwiftyJSON/pull/223) ([kmikael](https://github.com/kmikael)) - -- Allow .number to parse number from string instead of just numberValue [\#219](https://github.com/SwiftyJSON/SwiftyJSON/pull/219) ([yonaskolb](https://github.com/yonaskolb)) - -- Fixed spelling and grammar mistakes in README.md. Made some swift syntax... [\#214](https://github.com/SwiftyJSON/SwiftyJSON/pull/214) ([pRizz](https://github.com/pRizz)) - -- Added a function to deep merge a JSON object into another JSON object... [\#725](https://github.com/SwiftyJSON/SwiftyJSON/pull/725) ([danielkiedrowski](https://github.com/danielkiedrowski)) - -## [2.2.0](https://github.com/SwiftyJSON/SwiftyJSON/tree/2.2.0) (2015-04-13) - -[Full Changelog](https://github.com/SwiftyJSON/SwiftyJSON/compare/2.1.3...2.2.0) - -**Closed issues:** - -- init doesn't set type correctly [\#206](https://github.com/SwiftyJSON/SwiftyJSON/issues/206) - -- SwitfyJSON breaks with update to iOS 8.3 & Xcode 6.3 [\#200](https://github.com/SwiftyJSON/SwiftyJSON/issues/200) - -- 'NSString?' is not convertible to 'String?' error with Swift 1.2 [\#198](https://github.com/SwiftyJSON/SwiftyJSON/issues/198) - -- I can't install it by carthage [\#181](https://github.com/SwiftyJSON/SwiftyJSON/issues/181) - -- Can't compare JSON to Float [\#171](https://github.com/SwiftyJSON/SwiftyJSON/issues/171) - -- extend data to results [\#160](https://github.com/SwiftyJSON/SwiftyJSON/issues/160) - -- Create JSON From String [\#159](https://github.com/SwiftyJSON/SwiftyJSON/issues/159) - -- No Cocoapods support for iOS 7 [\#151](https://github.com/SwiftyJSON/SwiftyJSON/issues/151) - -- Update to Swift 1.2 [\#148](https://github.com/SwiftyJSON/SwiftyJSON/issues/148) - -- Url slashes ' / ' are being replaced with ' \/ ' [\#145](https://github.com/SwiftyJSON/SwiftyJSON/issues/145) - -- Issues when using carthage [\#144](https://github.com/SwiftyJSON/SwiftyJSON/issues/144) - -- Can not convert \[JSON\] to JSON [\#143](https://github.com/SwiftyJSON/SwiftyJSON/issues/143) - -- \[!\] Unable to find a specification for `SwiftyJSON \(= 2.1.3\)` [\#141](https://github.com/SwiftyJSON/SwiftyJSON/issues/141) - -- Deployment target iOS 7 or iOS 8? [\#131](https://github.com/SwiftyJSON/SwiftyJSON/issues/131) - -- Cocoapods support [\#126](https://github.com/SwiftyJSON/SwiftyJSON/issues/126) - -**Merged pull requests:** - -- Only building tests for testing [\#207](https://github.com/SwiftyJSON/SwiftyJSON/pull/207) ([spanage](https://github.com/spanage)) - -- Added compatibility with Swift 1.2. [\#204](https://github.com/SwiftyJSON/SwiftyJSON/pull/204) ([jankaltoun](https://github.com/jankaltoun)) - -- Fix for issue \#200 [\#203](https://github.com/SwiftyJSON/SwiftyJSON/pull/203) ([chschu](https://github.com/chschu)) - -- Updated to Swift 1.2 [\#202](https://github.com/SwiftyJSON/SwiftyJSON/pull/202) ([scottdelly](https://github.com/scottdelly)) - -- Updated to Swift 1.2 [\#201](https://github.com/SwiftyJSON/SwiftyJSON/pull/201) ([scottdelly](https://github.com/scottdelly)) - -- Update to Swift 1.2 [\#199](https://github.com/SwiftyJSON/SwiftyJSON/pull/199) ([kimdv](https://github.com/kimdv)) - -- Should not get subscript from AnyObject. [\#196](https://github.com/SwiftyJSON/SwiftyJSON/pull/196) ([Candyroot](https://github.com/Candyroot)) - -- Update for Swift 1.2 [\#195](https://github.com/SwiftyJSON/SwiftyJSON/pull/195) ([justinmakaila](https://github.com/justinmakaila)) - -- Update README.md [\#194](https://github.com/SwiftyJSON/SwiftyJSON/pull/194) ([manijshrestha](https://github.com/manijshrestha)) - -- Optimize the code to avoid useless casts to swift arrays. [\#188](https://github.com/SwiftyJSON/SwiftyJSON/pull/188) ([mirion](https://github.com/mirion)) - -- Fixed the buildable name in the OSX scheme [\#187](https://github.com/SwiftyJSON/SwiftyJSON/pull/187) ([cnoon](https://github.com/cnoon)) - -- Updated code signing identities for OSX target and tests [\#186](https://github.com/SwiftyJSON/SwiftyJSON/pull/186) ([cnoon](https://github.com/cnoon)) - -- Fix int overflow compile error [\#178](https://github.com/SwiftyJSON/SwiftyJSON/pull/178) ([mono0926](https://github.com/mono0926)) - -- Fixed a bug when accessing a value directly via a string subscript when the current object is a dictionary [\#176](https://github.com/SwiftyJSON/SwiftyJSON/pull/176) ([JosephDuffy](https://github.com/JosephDuffy)) - -- Better support for carthage users [\#174](https://github.com/SwiftyJSON/SwiftyJSON/pull/174) ([rromanchuk](https://github.com/rromanchuk)) - -- Fixes a 32bit/64bit issue. [\#172](https://github.com/SwiftyJSON/SwiftyJSON/pull/172) ([enhorn](https://github.com/enhorn)) - -- Update README for new Cocoapods [\#170](https://github.com/SwiftyJSON/SwiftyJSON/pull/170) ([joelparkerhenderson](https://github.com/joelparkerhenderson)) - -- Fixed a crash when entering json\["NotExistPath"\] [\#167](https://github.com/SwiftyJSON/SwiftyJSON/pull/167) ([ybeapps](https://github.com/ybeapps)) - -- Adding Swift 1.2 support [\#158](https://github.com/SwiftyJSON/SwiftyJSON/pull/158) ([Jasdev](https://github.com/Jasdev)) - -- Fix issues with the OS X target and scheme [\#156](https://github.com/SwiftyJSON/SwiftyJSON/pull/156) ([rastersize](https://github.com/rastersize)) - -- Fix issues with the OS X target and scheme [\#155](https://github.com/SwiftyJSON/SwiftyJSON/pull/155) ([rastersize](https://github.com/rastersize)) - -- Remove SwiftJSON.xcodeproj/xcuserdata [\#154](https://github.com/SwiftyJSON/SwiftyJSON/pull/154) ([rastersize](https://github.com/rastersize)) - -- Change to not build test when building iOS framework target \[Xcode 6.3 + external tools\] [\#153](https://github.com/SwiftyJSON/SwiftyJSON/pull/153) ([rastersize](https://github.com/rastersize)) - -- Fix tests not building for 32-bit \[Xcode 6.3\] [\#152](https://github.com/SwiftyJSON/SwiftyJSON/pull/152) ([rastersize](https://github.com/rastersize)) - -- Swift 1.2 compatibility fixes [\#149](https://github.com/SwiftyJSON/SwiftyJSON/pull/149) ([darrarski](https://github.com/darrarski)) - -- \[README.md\] Setter for JSON array should use arrayObject not array [\#146](https://github.com/SwiftyJSON/SwiftyJSON/pull/146) ([lwu](https://github.com/lwu)) - -- add missing ` in comments [\#142](https://github.com/SwiftyJSON/SwiftyJSON/pull/142) ([zhxnlai](https://github.com/zhxnlai)) - -- Fix README.md nested example [\#139](https://github.com/SwiftyJSON/SwiftyJSON/pull/139) ([watsonbox](https://github.com/watsonbox)) - -- Shared OSX Scheme. OSX target fixes. [\#138](https://github.com/SwiftyJSON/SwiftyJSON/pull/138) ([haveahennessy](https://github.com/haveahennessy)) - -- Casting to NSDictionary instead of \[String : AnyObject\] [\#137](https://github.com/SwiftyJSON/SwiftyJSON/pull/137) ([clwkct](https://github.com/clwkct)) - -- Update README.md [\#136](https://github.com/SwiftyJSON/SwiftyJSON/pull/136) ([esbenvb](https://github.com/esbenvb)) - -- Update README.md [\#135](https://github.com/SwiftyJSON/SwiftyJSON/pull/135) ([esbenvb](https://github.com/esbenvb)) - -- Fixed the broken Carthage OS X Support. [\#134](https://github.com/SwiftyJSON/SwiftyJSON/pull/134) ([remaerd](https://github.com/remaerd)) - -- Prefixed "SequenceType" extension with Module name [\#124](https://github.com/SwiftyJSON/SwiftyJSON/pull/124) ([ravero](https://github.com/ravero)) - -- Code cleaning [\#123](https://github.com/SwiftyJSON/SwiftyJSON/pull/123) ([wiruzx](https://github.com/wiruzx)) - -## [2.1.3](https://github.com/SwiftyJSON/SwiftyJSON/tree/2.1.3) (2015-01-10) - -[Full Changelog](https://github.com/SwiftyJSON/SwiftyJSON/compare/2.1.2...2.1.3) - -**Closed issues:** - -- Cannot install using Carthage [\#122](https://github.com/SwiftyJSON/SwiftyJSON/issues/122) - -- Use of unresolved identifier 'dataFromNetworking' [\#112](https://github.com/SwiftyJSON/SwiftyJSON/issues/112) - -- I can't parse out the string like "{a:5}" [\#109](https://github.com/SwiftyJSON/SwiftyJSON/issues/109) - -- Cocoapods integration [\#108](https://github.com/SwiftyJSON/SwiftyJSON/issues/108) - -- Compile Error In Loop Array [\#107](https://github.com/SwiftyJSON/SwiftyJSON/issues/107) - -- Support for Carthage [\#105](https://github.com/SwiftyJSON/SwiftyJSON/issues/105) - -**Merged pull requests:** - -- Minor grammar fixes to README [\#128](https://github.com/SwiftyJSON/SwiftyJSON/pull/128) ([johngoren](https://github.com/johngoren)) - -- Updated because podspec is now available... [\#127](https://github.com/SwiftyJSON/SwiftyJSON/pull/127) ([johngoren](https://github.com/johngoren)) - -- Fix access modificator of isEmpty property [\#121](https://github.com/SwiftyJSON/SwiftyJSON/pull/121) ([wiruzx](https://github.com/wiruzx)) - -- Make framework extension friendly [\#119](https://github.com/SwiftyJSON/SwiftyJSON/pull/119) ([technomage](https://github.com/technomage)) - -- add a new way to access Json [\#117](https://github.com/SwiftyJSON/SwiftyJSON/pull/117) ([zhanghao111111111](https://github.com/zhanghao111111111)) - -- fix the typos on the code snippets and the links in the TOC on README [\#115](https://github.com/SwiftyJSON/SwiftyJSON/pull/115) ([floydpink](https://github.com/floydpink)) - -- Use Mac' codesign identities for OSX targets [\#114](https://github.com/SwiftyJSON/SwiftyJSON/pull/114) ([max-potapov](https://github.com/max-potapov)) - -## [2.1.2](https://github.com/SwiftyJSON/SwiftyJSON/tree/2.1.2) (2014-12-13) - -[Full Changelog](https://github.com/SwiftyJSON/SwiftyJSON/compare/2.1.1...2.1.2) - -**Closed issues:** - -- Why can't we parse a rawString back to json object? [\#101](https://github.com/SwiftyJSON/SwiftyJSON/issues/101) - -- Have a Piece of Code that might be of Value to SwiftyJSon [\#97](https://github.com/SwiftyJSON/SwiftyJSON/issues/97) - -- build osx application \(command line tool\) with swiftyjson error [\#96](https://github.com/SwiftyJSON/SwiftyJSON/issues/96) - -- 这个应该是bug吧,支持的不是很够 [\#95](https://github.com/SwiftyJSON/SwiftyJSON/issues/95) - -- Length of an array [\#90](https://github.com/SwiftyJSON/SwiftyJSON/issues/90) - -- Compilation error [\#89](https://github.com/SwiftyJSON/SwiftyJSON/issues/89) - -- Can't set value [\#88](https://github.com/SwiftyJSON/SwiftyJSON/issues/88) - -- Examples with AFHTTPSessionManager? [\#86](https://github.com/SwiftyJSON/SwiftyJSON/issues/86) - -**Merged pull requests:** - -- Update README.md to add Carthage instructions [\#113](https://github.com/SwiftyJSON/SwiftyJSON/pull/113) ([justinmakaila](https://github.com/justinmakaila)) - -- Improve init performance for dictionaries and arrays [\#111](https://github.com/SwiftyJSON/SwiftyJSON/pull/111) ([avorobjov](https://github.com/avorobjov)) - -- Fix NSNumber != func [\#106](https://github.com/SwiftyJSON/SwiftyJSON/pull/106) ([briankracoff](https://github.com/briankracoff)) - -- Carthage Support [\#104](https://github.com/SwiftyJSON/SwiftyJSON/pull/104) ([justinmakaila](https://github.com/justinmakaila)) - -- Added read option for date strings [\#103](https://github.com/SwiftyJSON/SwiftyJSON/pull/103) ([Dschee](https://github.com/Dschee)) - -- Add Podspec \(Correct mblsha podspec\) [\#100](https://github.com/SwiftyJSON/SwiftyJSON/pull/100) ([ValCapri](https://github.com/ValCapri)) - -- Add podspec + make it work as a framework [\#99](https://github.com/SwiftyJSON/SwiftyJSON/pull/99) ([mblsha](https://github.com/mblsha)) - -- Adding new Feature: JsonMapper [\#98](https://github.com/SwiftyJSON/SwiftyJSON/pull/98) ([Drogenix](https://github.com/Drogenix)) - -- Change recommendation for Alamofire integration [\#92](https://github.com/SwiftyJSON/SwiftyJSON/pull/92) ([JonathanPorta](https://github.com/JonathanPorta)) - -## [2.1.1](https://github.com/SwiftyJSON/SwiftyJSON/tree/2.1.1) (2014-11-12) - -[Full Changelog](https://github.com/SwiftyJSON/SwiftyJSON/compare/2.1.0...2.1.1) - -**Closed issues:** - -- NSDictionary to json string to json object [\#93](https://github.com/SwiftyJSON/SwiftyJSON/issues/93) - -- Error: use of unresolved identifier dataFromNetworking [\#82](https://github.com/SwiftyJSON/SwiftyJSON/issues/82) - -- Type \[SubscriptType\] Does not conform to protocol 'StringLiteralConvertible' [\#81](https://github.com/SwiftyJSON/SwiftyJSON/issues/81) - -- Doesn't conform literal protocols [\#80](https://github.com/SwiftyJSON/SwiftyJSON/issues/80) - -- iOS 8.1 compatability [\#79](https://github.com/SwiftyJSON/SwiftyJSON/issues/79) - -- Xcode 6.1 Compatibility [\#78](https://github.com/SwiftyJSON/SwiftyJSON/issues/78) - -- Problem with xCode 6.1 [\#76](https://github.com/SwiftyJSON/SwiftyJSON/issues/76) - -- Compilation errors [\#75](https://github.com/SwiftyJSON/SwiftyJSON/issues/75) - -**Merged pull requests:** - -- Renamed type 'Unknow' to 'Unknown' [\#94](https://github.com/SwiftyJSON/SwiftyJSON/pull/94) ([franklsf95](https://github.com/franklsf95)) - -- Added OSX target. [\#91](https://github.com/SwiftyJSON/SwiftyJSON/pull/91) ([carloslozano](https://github.com/carloslozano)) - -- Add date ,dateValue [\#87](https://github.com/SwiftyJSON/SwiftyJSON/pull/87) ([muukii0803](https://github.com/muukii0803)) - -- Add parse JSON Date [\#85](https://github.com/SwiftyJSON/SwiftyJSON/pull/85) ([ShineWu](https://github.com/ShineWu)) - -- Update README.md [\#84](https://github.com/SwiftyJSON/SwiftyJSON/pull/84) ([johngoren](https://github.com/johngoren)) - -- Update README.md for typos [\#83](https://github.com/SwiftyJSON/SwiftyJSON/pull/83) ([johngoren](https://github.com/johngoren)) - -## [2.1.0](https://github.com/SwiftyJSON/SwiftyJSON/tree/2.1.0) (2014-10-19) - -[Full Changelog](https://github.com/SwiftyJSON/SwiftyJSON/compare/2.0.0...2.1.0) - -**Closed issues:** - -- 32bit test failures [\#71](https://github.com/SwiftyJSON/SwiftyJSON/issues/71) - -- Trouble getting string representation [\#70](https://github.com/SwiftyJSON/SwiftyJSON/issues/70) - -- JSON keep null [\#69](https://github.com/SwiftyJSON/SwiftyJSON/issues/69) - -- Update .pbxproj to Deployment Target 8.0 [\#66](https://github.com/SwiftyJSON/SwiftyJSON/issues/66) - -- Looping not working [\#64](https://github.com/SwiftyJSON/SwiftyJSON/issues/64) - -**Merged pull requests:** - -- Get number from string in JSON.number [\#74](https://github.com/SwiftyJSON/SwiftyJSON/pull/74) ([yonaskolb](https://github.com/yonaskolb)) - -- Update SwiftyJSON.swift [\#73](https://github.com/SwiftyJSON/SwiftyJSON/pull/73) ([MaddTheSane](https://github.com/MaddTheSane)) - -- Generating Raw JSON Strings [\#72](https://github.com/SwiftyJSON/SwiftyJSON/pull/72) ([lesmuc](https://github.com/lesmuc)) - -- Making SourceKit not freak out about self.object.count being called [\#68](https://github.com/SwiftyJSON/SwiftyJSON/pull/68) ([Noobish1](https://github.com/Noobish1)) - -- Added support for Xcode 6.1 GM Seed 2. [\#65](https://github.com/SwiftyJSON/SwiftyJSON/pull/65) ([rosskimes](https://github.com/rosskimes)) - -## [2.0.0](https://github.com/SwiftyJSON/SwiftyJSON/tree/2.0.0) (2014-10-08) - -[Full Changelog](https://github.com/SwiftyJSON/SwiftyJSON/compare/1.1.0...2.0.0) - -**Closed issues:** - -- JSON to NSData [\#62](https://github.com/SwiftyJSON/SwiftyJSON/issues/62) - -- Updating a json [\#60](https://github.com/SwiftyJSON/SwiftyJSON/issues/60) - -**Merged pull requests:** - -- Update for new features \[Issue \#60\] [\#63](https://github.com/SwiftyJSON/SwiftyJSON/pull/63) ([tangplin](https://github.com/tangplin)) - -## [1.1.0](https://github.com/SwiftyJSON/SwiftyJSON/tree/1.1.0) (2014-10-02) - -[Full Changelog](https://github.com/SwiftyJSON/SwiftyJSON/compare/1.0.0...1.1.0) - -**Closed issues:** - -- Long time to parse this json [\#57](https://github.com/SwiftyJSON/SwiftyJSON/issues/57) - -**Merged pull requests:** - -- Merge develop [\#59](https://github.com/SwiftyJSON/SwiftyJSON/pull/59) ([tangplin](https://github.com/tangplin)) - -- Added SwiftyJSON lazy wrapping [\#58](https://github.com/SwiftyJSON/SwiftyJSON/pull/58) ([k06a](https://github.com/k06a)) - -## [1.0.0](https://github.com/SwiftyJSON/SwiftyJSON/tree/1.0.0) (2014-09-26) - -**Implemented enhancements:** - -- JNumber should be Number not double [\#8](https://github.com/SwiftyJSON/SwiftyJSON/issues/8) - -- Separate implementations of protocols [\#5](https://github.com/SwiftyJSON/SwiftyJSON/issues/5) - -**Fixed bugs:** - -- JNumber should be Number not double [\#8](https://github.com/SwiftyJSON/SwiftyJSON/issues/8) - -- Fails to compile on Beta2 [\#1](https://github.com/SwiftyJSON/SwiftyJSON/issues/1) - -**Closed issues:** - -- No such module "SwiftyJSON" [\#49](https://github.com/SwiftyJSON/SwiftyJSON/issues/49) - -- how to transfer JSONValue object to Dictionary object? [\#48](https://github.com/SwiftyJSON/SwiftyJSON/issues/48) - -- JSONValue in @objc [\#47](https://github.com/SwiftyJSON/SwiftyJSON/issues/47) - -- SwiftyJSON.swift:331:22: Use of undeclared type 'BooleanType' [\#46](https://github.com/SwiftyJSON/SwiftyJSON/issues/46) - -- Problem converting JSONValue to AnyObject [\#44](https://github.com/SwiftyJSON/SwiftyJSON/issues/44) - -- Can't use SwiftyJSON as part of a public API within a framework [\#42](https://github.com/SwiftyJSON/SwiftyJSON/issues/42) - -- how to add JSONValue object into exist JSONValue [\#40](https://github.com/SwiftyJSON/SwiftyJSON/issues/40) - -- Doesn't work in BETA 6 [\#39](https://github.com/SwiftyJSON/SwiftyJSON/issues/39) - -- Can't access property [\#38](https://github.com/SwiftyJSON/SwiftyJSON/issues/38) - -- Couldn't Compile and Run [\#37](https://github.com/SwiftyJSON/SwiftyJSON/issues/37) - -- Array index out of range [\#35](https://github.com/SwiftyJSON/SwiftyJSON/issues/35) - -- Iterating through a JSON response [\#32](https://github.com/SwiftyJSON/SwiftyJSON/issues/32) - -- NSNull in an array is discarded [\#25](https://github.com/SwiftyJSON/SwiftyJSON/issues/25) - -- Updating Dictionary [\#24](https://github.com/SwiftyJSON/SwiftyJSON/issues/24) - -- SourcekitService Terminated Issue [\#22](https://github.com/SwiftyJSON/SwiftyJSON/issues/22) - -- Code does not compile in iOS 8 Beta 3. [\#17](https://github.com/SwiftyJSON/SwiftyJSON/issues/17) - -- How to use .count [\#14](https://github.com/SwiftyJSON/SwiftyJSON/issues/14) - -- Add to cocoapods [\#12](https://github.com/SwiftyJSON/SwiftyJSON/issues/12) - -- String parsing [\#9](https://github.com/SwiftyJSON/SwiftyJSON/issues/9) - -- Cocoapods integration [\#4](https://github.com/SwiftyJSON/SwiftyJSON/issues/4) - -- How do I verify SwiftyJSON workS? [\#2](https://github.com/SwiftyJSON/SwiftyJSON/issues/2) - -**Merged pull requests:** - -- Revert "Added rawObject method for unwrapping JSONValue enum to objects" [\#56](https://github.com/SwiftyJSON/SwiftyJSON/pull/56) ([tangplin](https://github.com/tangplin)) - -- set the default JSONReadingOptions to .AllowFragments [\#55](https://github.com/SwiftyJSON/SwiftyJSON/pull/55) ([tangplin](https://github.com/tangplin)) - -- Fix Unit Test [\#54](https://github.com/SwiftyJSON/SwiftyJSON/pull/54) ([lingoer](https://github.com/lingoer)) - -- Add NSError to Null type [\#53](https://github.com/SwiftyJSON/SwiftyJSON/pull/53) ([lingoer](https://github.com/lingoer)) - -- Refactor! [\#51](https://github.com/SwiftyJSON/SwiftyJSON/pull/51) ([tangplin](https://github.com/tangplin)) - -- Rename LISCENSE to LICENSE [\#50](https://github.com/SwiftyJSON/SwiftyJSON/pull/50) ([fixe](https://github.com/fixe)) - -- Added rawObject method for unwrapping JSONValue enum to objects [\#45](https://github.com/SwiftyJSON/SwiftyJSON/pull/45) ([k06a](https://github.com/k06a)) - -- made JSONValue public for usage in framework APIs [\#43](https://github.com/SwiftyJSON/SwiftyJSON/pull/43) ([Dschee](https://github.com/Dschee)) - -- Adding public/private modifiers so that SwiftyJSON can be used as a framework [\#41](https://github.com/SwiftyJSON/SwiftyJSON/pull/41) ([jansabbe](https://github.com/jansabbe)) - -- Rename LISCENSE to LICENSE [\#36](https://github.com/SwiftyJSON/SwiftyJSON/pull/36) ([kriswallsmith](https://github.com/kriswallsmith)) - -- Fix for Xcode 6 beta 5 changes [\#34](https://github.com/SwiftyJSON/SwiftyJSON/pull/34) ([FahimF](https://github.com/FahimF)) - -- Use BooleanType instead of LogicValue for Beta 5 [\#33](https://github.com/SwiftyJSON/SwiftyJSON/pull/33) ([venables](https://github.com/venables)) - -- Support for JSON as string [\#31](https://github.com/SwiftyJSON/SwiftyJSON/pull/31) ([bsvingen](https://github.com/bsvingen)) - -- Support building JSON messages in code. [\#30](https://github.com/SwiftyJSON/SwiftyJSON/pull/30) ([johnno1962](https://github.com/johnno1962)) - -- Update project to include access modifiers from Xcode beta 4. [\#29](https://github.com/SwiftyJSON/SwiftyJSON/pull/29) ([Baltoli](https://github.com/Baltoli)) - -- jsonvalue now conforms to sequence protocol for array values [\#28](https://github.com/SwiftyJSON/SwiftyJSON/pull/28) ([NatashaTheRobot](https://github.com/NatashaTheRobot)) - -- updated array and dictionary syntax for beta3 [\#27](https://github.com/SwiftyJSON/SwiftyJSON/pull/27) ([NatashaTheRobot](https://github.com/NatashaTheRobot)) - -- Update for Beta 4: exposing JSONValue with public [\#26](https://github.com/SwiftyJSON/SwiftyJSON/pull/26) ([NachoSoto](https://github.com/NachoSoto)) - -- SourceKitService Termination issue fix [\#23](https://github.com/SwiftyJSON/SwiftyJSON/pull/23) ([ipraba](https://github.com/ipraba)) - -- Add percent escaping to URL string [\#21](https://github.com/SwiftyJSON/SwiftyJSON/pull/21) ([romanroibu](https://github.com/romanroibu)) - -- Converting JSON objects to string is fixed [\#20](https://github.com/SwiftyJSON/SwiftyJSON/pull/20) ([bkase](https://github.com/bkase)) - -- JSONValue can be inited via string [\#19](https://github.com/SwiftyJSON/SwiftyJSON/pull/19) ([bkase](https://github.com/bkase)) - -- Updated to remove errors in Xcode Beta 3 [\#18](https://github.com/SwiftyJSON/SwiftyJSON/pull/18) ([krishpop](https://github.com/krishpop)) - -- add first and last in JSONValue, add string to double, int etc. [\#16](https://github.com/SwiftyJSON/SwiftyJSON/pull/16) ([tangplin](https://github.com/tangplin)) - -- add a "url" property to JSONValue [\#15](https://github.com/SwiftyJSON/SwiftyJSON/pull/15) ([kyoh](https://github.com/kyoh)) - -- Some typo fixes [\#13](https://github.com/SwiftyJSON/SwiftyJSON/pull/13) ([gregbarbosa](https://github.com/gregbarbosa)) - -- Separate protocols implementation, refactor prettyString composing [\#6](https://github.com/SwiftyJSON/SwiftyJSON/pull/6) ([garnett](https://github.com/garnett)) - -- Add project with both OSX/iOS module targets [\#3](https://github.com/SwiftyJSON/SwiftyJSON/pull/3) ([garnett](https://github.com/garnett)) - - - -\* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)* \ No newline at end of file diff --git a/Kumi/SwiftyJSON-4.2.0/Example/Example.xcodeproj/project.pbxproj b/Kumi/SwiftyJSON-4.2.0/Example/Example.xcodeproj/project.pbxproj deleted file mode 100755 index 54e8135..0000000 --- a/Kumi/SwiftyJSON-4.2.0/Example/Example.xcodeproj/project.pbxproj +++ /dev/null @@ -1,361 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - -/* Begin PBXBuildFile section */ - 04733F521D92E6ED002E3A99 /* SwiftyJSON.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 04733F511D92E6ED002E3A99 /* SwiftyJSON.framework */; }; - 04733F531D92E6ED002E3A99 /* SwiftyJSON.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 04733F511D92E6ED002E3A99 /* SwiftyJSON.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - A82A1C1F19D926B8009A653D /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = A82A1C1E19D926B8009A653D /* AppDelegate.swift */; }; - A82A1C2419D926B8009A653D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = A82A1C2219D926B8009A653D /* Main.storyboard */; }; - A82A1C2619D926B8009A653D /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = A82A1C2519D926B8009A653D /* Images.xcassets */; }; - A82A1C2919D926B8009A653D /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = A82A1C2719D926B8009A653D /* LaunchScreen.xib */; }; - A82A1C4019D94AE5009A653D /* SwiftyJSONTests.json in Resources */ = {isa = PBXBuildFile; fileRef = A82A1C3F19D94AE5009A653D /* SwiftyJSONTests.json */; }; - A82A1C5619D95606009A653D /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A82A1C5519D95606009A653D /* ViewController.swift */; }; -/* End PBXBuildFile section */ - -/* Begin PBXCopyFilesBuildPhase section */ - A82A1C5419D94E97009A653D /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - 04733F531D92E6ED002E3A99 /* SwiftyJSON.framework in Embed Frameworks */, - ); - name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 04294C501BE5A9DE00D0397E /* Playground.playground */ = {isa = PBXFileReference; lastKnownFileType = file.playground; path = Playground.playground; sourceTree = ""; }; - 04733F511D92E6ED002E3A99 /* SwiftyJSON.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = SwiftyJSON.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - A82A1C1919D926B8009A653D /* Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Example.app; sourceTree = BUILT_PRODUCTS_DIR; }; - A82A1C1D19D926B8009A653D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - A82A1C1E19D926B8009A653D /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - A82A1C2319D926B8009A653D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; - A82A1C2519D926B8009A653D /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; - A82A1C2819D926B8009A653D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = ""; }; - A82A1C3F19D94AE5009A653D /* SwiftyJSONTests.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = SwiftyJSONTests.json; sourceTree = ""; }; - A82A1C5519D95606009A653D /* ViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - A82A1C1619D926B8009A653D /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 04733F521D92E6ED002E3A99 /* SwiftyJSON.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - A82A1C1019D926B8009A653D = { - isa = PBXGroup; - children = ( - 04733F511D92E6ED002E3A99 /* SwiftyJSON.framework */, - 04294C501BE5A9DE00D0397E /* Playground.playground */, - A82A1C1B19D926B8009A653D /* Example */, - A82A1C1A19D926B8009A653D /* Products */, - ); - sourceTree = ""; - }; - A82A1C1A19D926B8009A653D /* Products */ = { - isa = PBXGroup; - children = ( - A82A1C1919D926B8009A653D /* Example.app */, - ); - name = Products; - sourceTree = ""; - }; - A82A1C1B19D926B8009A653D /* Example */ = { - isa = PBXGroup; - children = ( - A82A1C3F19D94AE5009A653D /* SwiftyJSONTests.json */, - A82A1C1E19D926B8009A653D /* AppDelegate.swift */, - A82A1C5519D95606009A653D /* ViewController.swift */, - A82A1C2219D926B8009A653D /* Main.storyboard */, - A82A1C2519D926B8009A653D /* Images.xcassets */, - A82A1C2719D926B8009A653D /* LaunchScreen.xib */, - A82A1C1C19D926B8009A653D /* Supporting Files */, - ); - path = Example; - sourceTree = ""; - }; - A82A1C1C19D926B8009A653D /* Supporting Files */ = { - isa = PBXGroup; - children = ( - A82A1C1D19D926B8009A653D /* Info.plist */, - ); - name = "Supporting Files"; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - A82A1C1819D926B8009A653D /* Example */ = { - isa = PBXNativeTarget; - buildConfigurationList = A82A1C3819D926B8009A653D /* Build configuration list for PBXNativeTarget "Example" */; - buildPhases = ( - A82A1C1519D926B8009A653D /* Sources */, - A82A1C1619D926B8009A653D /* Frameworks */, - A82A1C1719D926B8009A653D /* Resources */, - A82A1C5419D94E97009A653D /* Embed Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = Example; - productName = Example; - productReference = A82A1C1919D926B8009A653D /* Example.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - A82A1C1119D926B8009A653D /* Project object */ = { - isa = PBXProject; - attributes = { - LastSwiftUpdateCheck = 0700; - LastUpgradeCheck = 0930; - ORGANIZATIONNAME = swiftyjson; - TargetAttributes = { - A82A1C1819D926B8009A653D = { - CreatedOnToolsVersion = 6.0.1; - LastSwiftMigration = 0930; - ProvisioningStyle = Manual; - }; - }; - }; - buildConfigurationList = A82A1C1419D926B8009A653D /* Build configuration list for PBXProject "Example" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = A82A1C1019D926B8009A653D; - productRefGroup = A82A1C1A19D926B8009A653D /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - A82A1C1819D926B8009A653D /* Example */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - A82A1C1719D926B8009A653D /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - A82A1C2419D926B8009A653D /* Main.storyboard in Resources */, - A82A1C2919D926B8009A653D /* LaunchScreen.xib in Resources */, - A82A1C2619D926B8009A653D /* Images.xcassets in Resources */, - A82A1C4019D94AE5009A653D /* SwiftyJSONTests.json in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - A82A1C1519D926B8009A653D /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - A82A1C5619D95606009A653D /* ViewController.swift in Sources */, - A82A1C1F19D926B8009A653D /* AppDelegate.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXVariantGroup section */ - A82A1C2219D926B8009A653D /* Main.storyboard */ = { - isa = PBXVariantGroup; - children = ( - A82A1C2319D926B8009A653D /* Base */, - ); - name = Main.storyboard; - sourceTree = ""; - }; - A82A1C2719D926B8009A653D /* LaunchScreen.xib */ = { - isa = PBXVariantGroup; - children = ( - A82A1C2819D926B8009A653D /* Base */, - ); - name = LaunchScreen.xib; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - A82A1C3619D926B8009A653D /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - A82A1C3719D926B8009A653D /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "iPhone Distribution"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = YES; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - A82A1C3919D926B8009A653D /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; - DEVELOPMENT_TEAM = ""; - INFOPLIST_FILE = Example/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.swiftyjson.$(PRODUCT_NAME:rfc1034identifier)"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_SWIFT3_OBJC_INFERENCE = Default; - SWIFT_VERSION = 4.0; - }; - name = Debug; - }; - A82A1C3A19D926B8009A653D /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; - CODE_SIGN_IDENTITY = "iPhone Distribution"; - DEVELOPMENT_TEAM = ""; - INFOPLIST_FILE = Example/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.swiftyjson.$(PRODUCT_NAME:rfc1034identifier)"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_SWIFT3_OBJC_INFERENCE = Default; - SWIFT_VERSION = 4.0; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - A82A1C1419D926B8009A653D /* Build configuration list for PBXProject "Example" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - A82A1C3619D926B8009A653D /* Debug */, - A82A1C3719D926B8009A653D /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - A82A1C3819D926B8009A653D /* Build configuration list for PBXNativeTarget "Example" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - A82A1C3919D926B8009A653D /* Debug */, - A82A1C3A19D926B8009A653D /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = A82A1C1119D926B8009A653D /* Project object */; -} diff --git a/Kumi/SwiftyJSON-4.2.0/Example/Example.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Kumi/SwiftyJSON-4.2.0/Example/Example.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100755 index 919434a..0000000 --- a/Kumi/SwiftyJSON-4.2.0/Example/Example.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/Kumi/SwiftyJSON-4.2.0/Example/Example/AppDelegate.swift b/Kumi/SwiftyJSON-4.2.0/Example/Example/AppDelegate.swift deleted file mode 100755 index e2af9aa..0000000 --- a/Kumi/SwiftyJSON-4.2.0/Example/Example/AppDelegate.swift +++ /dev/null @@ -1,50 +0,0 @@ -// AppDelegate.swift -// -// Copyright (c) 2014 - 2016 Pinglin Tang -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. - -import UIKit -import SwiftyJSON - -@UIApplicationMain -class AppDelegate: UIResponder, UIApplicationDelegate { - - var window: UIWindow? - - func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { - - let navigationController = self.window?.rootViewController as! UINavigationController - let viewController = navigationController.topViewController as! ViewController - - if let file = Bundle.main.path(forResource: "SwiftyJSONTests", ofType: "json") { - do { - let data = try Data(contentsOf: URL(fileURLWithPath: file)) - let json = try JSON(data: data) - viewController.json = json - } catch { - viewController.json = JSON.null - } - } else { - viewController.json = JSON.null - } - - return true - } -} diff --git a/Kumi/SwiftyJSON-4.2.0/Example/Example/Base.lproj/LaunchScreen.xib b/Kumi/SwiftyJSON-4.2.0/Example/Example/Base.lproj/LaunchScreen.xib deleted file mode 100755 index 43a0234..0000000 --- a/Kumi/SwiftyJSON-4.2.0/Example/Example/Base.lproj/LaunchScreen.xib +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Kumi/SwiftyJSON-4.2.0/Example/Example/Base.lproj/Main.storyboard b/Kumi/SwiftyJSON-4.2.0/Example/Example/Base.lproj/Main.storyboard deleted file mode 100755 index 0db932d..0000000 --- a/Kumi/SwiftyJSON-4.2.0/Example/Example/Base.lproj/Main.storyboard +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - - - - HelveticaNeue - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Kumi/SwiftyJSON-4.2.0/Example/Example/Images.xcassets/AppIcon.appiconset/Contents.json b/Kumi/SwiftyJSON-4.2.0/Example/Example/Images.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100755 index 1d060ed..0000000 --- a/Kumi/SwiftyJSON-4.2.0/Example/Example/Images.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,93 +0,0 @@ -{ - "images" : [ - { - "idiom" : "iphone", - "size" : "20x20", - "scale" : "2x" - }, - { - "idiom" : "iphone", - "size" : "20x20", - "scale" : "3x" - }, - { - "idiom" : "iphone", - "size" : "29x29", - "scale" : "2x" - }, - { - "idiom" : "iphone", - "size" : "29x29", - "scale" : "3x" - }, - { - "idiom" : "iphone", - "size" : "40x40", - "scale" : "2x" - }, - { - "idiom" : "iphone", - "size" : "40x40", - "scale" : "3x" - }, - { - "idiom" : "iphone", - "size" : "60x60", - "scale" : "2x" - }, - { - "idiom" : "iphone", - "size" : "60x60", - "scale" : "3x" - }, - { - "idiom" : "ipad", - "size" : "20x20", - "scale" : "1x" - }, - { - "idiom" : "ipad", - "size" : "20x20", - "scale" : "2x" - }, - { - "idiom" : "ipad", - "size" : "29x29", - "scale" : "1x" - }, - { - "idiom" : "ipad", - "size" : "29x29", - "scale" : "2x" - }, - { - "idiom" : "ipad", - "size" : "40x40", - "scale" : "1x" - }, - { - "idiom" : "ipad", - "size" : "40x40", - "scale" : "2x" - }, - { - "idiom" : "ipad", - "size" : "76x76", - "scale" : "1x" - }, - { - "idiom" : "ipad", - "size" : "76x76", - "scale" : "2x" - }, - { - "idiom" : "ipad", - "size" : "83.5x83.5", - "scale" : "2x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Kumi/SwiftyJSON-4.2.0/Example/Example/Images.xcassets/LaunchImage.launchimage/Contents.json b/Kumi/SwiftyJSON-4.2.0/Example/Example/Images.xcassets/LaunchImage.launchimage/Contents.json deleted file mode 100755 index d8c7ca1..0000000 --- a/Kumi/SwiftyJSON-4.2.0/Example/Example/Images.xcassets/LaunchImage.launchimage/Contents.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "images" : [ - { - "orientation" : "portrait", - "idiom" : "iphone", - "extent" : "full-screen", - "minimum-system-version" : "7.0", - "scale" : "2x" - }, - { - "extent" : "full-screen", - "idiom" : "iphone", - "subtype" : "retina4", - "filename" : "Default@2x.png", - "minimum-system-version" : "7.0", - "orientation" : "portrait", - "scale" : "2x" - }, - { - "orientation" : "portrait", - "idiom" : "ipad", - "extent" : "full-screen", - "minimum-system-version" : "7.0", - "scale" : "1x" - }, - { - "orientation" : "landscape", - "idiom" : "ipad", - "extent" : "full-screen", - "minimum-system-version" : "7.0", - "scale" : "1x" - }, - { - "orientation" : "portrait", - "idiom" : "ipad", - "extent" : "full-screen", - "minimum-system-version" : "7.0", - "scale" : "2x" - }, - { - "orientation" : "landscape", - "idiom" : "ipad", - "extent" : "full-screen", - "minimum-system-version" : "7.0", - "scale" : "2x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Kumi/SwiftyJSON-4.2.0/Example/Example/Images.xcassets/LaunchImage.launchimage/Default@2x.png b/Kumi/SwiftyJSON-4.2.0/Example/Example/Images.xcassets/LaunchImage.launchimage/Default@2x.png deleted file mode 100755 index 3604134f9f14c4be47447be00b6e5dc59612b443..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 196 zcmeAS@N?(olHy`uVBq!ia0y~yU}|7sU@2f^28uX1mOBF}<^Z1%*Z=?jFFzuE0?4iL zba4!+xb@~>Bap+;u;A}X@s&&zopr019Iv(f|Me diff --git a/Kumi/SwiftyJSON-4.2.0/Example/Example/Info.plist b/Kumi/SwiftyJSON-4.2.0/Example/Example/Info.plist deleted file mode 100755 index 40c6215..0000000 --- a/Kumi/SwiftyJSON-4.2.0/Example/Example/Info.plist +++ /dev/null @@ -1,47 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1 - LSRequiresIPhoneOS - - UILaunchStoryboardName - LaunchScreen - UIMainStoryboardFile - Main - UIRequiredDeviceCapabilities - - armv7 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - - diff --git a/Kumi/SwiftyJSON-4.2.0/Example/Example/SwiftyJSONTests.json b/Kumi/SwiftyJSON-4.2.0/Example/Example/SwiftyJSONTests.json deleted file mode 100755 index 05190a8..0000000 --- a/Kumi/SwiftyJSON-4.2.0/Example/Example/SwiftyJSONTests.json +++ /dev/null @@ -1,345 +0,0 @@ -[ - { - "coordinates":null, - "truncated":false, - "created_at":"Tue Aug 28 21:16:23 +0000 2012", - "favorited":false, - "id_str":"240558470661799936", - "in_reply_to_user_id_str":null, - "entities":{ - "urls":[ - - ], - "hashtags":[ - - ], - "user_mentions":[ - - ] - }, - "text":"just another test", - "contributors":null, - "id":240558470661799936, - "retweet_count":0, - "in_reply_to_status_id_str":null, - "geo":null, - "retweeted":false, - "in_reply_to_user_id":null, - "place":null, - "source":"<a href=\"//realitytechnicians.com\" rel=\"\"nofollow\"\">OAuth Dancer Reborn</a>", - "user":{ - "name":"OAuth Dancer", - "profile_sidebar_fill_color":"DDEEF6", - "profile_background_tile":true, - "profile_sidebar_border_color":"C0DEED", - "profile_image_url":"http://a0.twimg.com/profile_images/730275945/oauth-dancer_normal.jpg", - "created_at":"Wed Mar 03 19:37:35 +0000 2010", - "location":"San Francisco, CA", - "follow_request_sent":false, - "id_str":"119476949", - "is_translator":false, - "profile_link_color":"0084B4", - "entities":{ - "url":{ - "urls":[ - { - "expanded_url":null, - "url":"http://bit.ly/oauth-dancer", - "indices":[ - 0, - 26 - ], - "display_url":null - } - ] - }, - "description":null - }, - "default_profile":false, - "url":"http://bit.ly/oauth-dancer", - "contributors_enabled":false, - "favourites_count":7, - "utc_offset":null, - "profile_image_url_https":"https://si0.twimg.com/profile_images/730275945/oauth-dancer_normal.jpg", - "id":119476949, - "listed_count":1, - "profile_use_background_image":true, - "profile_text_color":"333333", - "followers_count":28, - "lang":"en", - "protected":false, - "geo_enabled":true, - "notifications":false, - "description":"", - "profile_background_color":"C0DEED", - "verified":false, - "time_zone":null, - "profile_background_image_url_https":"https://si0.twimg.com/profile_background_images/80151733/oauth-dance.png", - "statuses_count":166, - "profile_background_image_url":"http://a0.twimg.com/profile_background_images/80151733/oauth-dance.png", - "default_profile_image":false, - "friends_count":14, - "following":false, - "show_all_inline_media":false, - "screen_name":"oauth_dancer" - }, - "in_reply_to_screen_name":null, - "in_reply_to_status_id":null - }, - { - "coordinates":{ - "coordinates":[ - -122.25831, - 37.871609 - ], - "type":"Point" - }, - "truncated":false, - "created_at":"Tue Aug 28 21:08:15 +0000 2012", - "favorited":false, - "id_str":"240556426106372096", - "in_reply_to_user_id_str":null, - "entities":{ - "urls":[ - { - "expanded_url":"http://blogs.ischool.berkeley.edu/i290-abdt-s12/", - "url":"http://t.co/bfj7zkDJ", - "indices":[ - 79, - 99 - ], - "display_url":"blogs.ischool.berkeley.edu/i290-abdt-s12/" - } - ], - "hashtags":[ - - ], - "user_mentions":[ - { - "name":"Cal", - "id_str":"17445752", - "id":17445752, - "indices":[ - 60, - 64 - ], - "screen_name":"Cal" - }, - { - "name":"Othman Laraki", - "id_str":"20495814", - "id":20495814, - "indices":[ - 70, - 77 - ], - "screen_name":"othman" - } - ] - }, - "text":"lecturing at the \"analyzing big data with twitter\" class at @cal with @othman http://t.co/bfj7zkDJ", - "contributors":null, - "id":240556426106372096, - "retweet_count":3, - "in_reply_to_status_id_str":null, - "geo":{ - "coordinates":[ - 37.871609, - -122.25831 - ], - "type":"Point" - }, - "retweeted":false, - "possibly_sensitive":false, - "in_reply_to_user_id":null, - "place":{ - "name":"Berkeley", - "country_code":"US", - "country":"United States", - "attributes":{ - - }, - "url":"http://api.twitter.com/1/geo/id/5ef5b7f391e30aff.json", - "id":"5ef5b7f391e30aff", - "bounding_box":{ - "coordinates":[ - [ - [ - -122.367781, - 37.835727 - ], - [ - -122.234185, - 37.835727 - ], - [ - -122.234185, - 37.905824 - ], - [ - -122.367781, - 37.905824 - ] - ] - ], - "type":"Polygon" - }, - "full_name":"Berkeley, CA", - "place_type":"city" - }, - "source":"<a href=\"//www.apple.com\"\" rel=\"\"nofollow\"\">Safari on iOS</a>", - "user":{ - "name":"Raffi Krikorian", - "profile_sidebar_fill_color":"DDEEF6", - "profile_background_tile":false, - "profile_sidebar_border_color":"C0DEED", - "profile_image_url":"http://a0.twimg.com/profile_images/1270234259/raffi-headshot-casual_normal.png", - "created_at":"Sun Aug 19 14:24:06 +0000 2007", - "location":"San Francisco, California", - "follow_request_sent":false, - "id_str":"8285392", - "is_translator":false, - "profile_link_color":"0084B4", - "entities":{ - "url":{ - "urls":[ - { - "expanded_url":"http://about.me/raffi.krikorian", - "url":"http://t.co/eNmnM6q", - "indices":[ - 0, - 19 - ], - "display_url":"about.me/raffi.krikorian" - } - ] - }, - "description":{ - "urls":[ - - ] - } - }, - "default_profile":true, - "url":"http://t.co/eNmnM6q", - "contributors_enabled":false, - "favourites_count":724, - "utc_offset":-28800, - "profile_image_url_https":"https://si0.twimg.com/profile_images/1270234259/raffi-headshot-casual_normal.png", - "id":8285392, - "listed_count":619, - "profile_use_background_image":true, - "profile_text_color":"333333", - "followers_count":18752, - "lang":"en", - "protected":false, - "geo_enabled":true, - "notifications":false, - "description":"Director of @twittereng's Platform Services. I break things.", - "profile_background_color":"C0DEED", - "verified":false, - "time_zone":"Pacific Time (US & Canada)", - "profile_background_image_url_https":"https://si0.twimg.com/images/themes/theme1/bg.png", - "statuses_count":5007, - "profile_background_image_url":"http://a0.twimg.com/images/themes/theme1/bg.png", - "default_profile_image":false, - "friends_count":701, - "following":true, - "show_all_inline_media":true, - "screen_name":"raffi" - }, - "in_reply_to_screen_name":null, - "in_reply_to_status_id":null - }, - { - "coordinates":null, - "truncated":false, - "created_at":"Tue Aug 28 19:59:34 +0000 2012", - "favorited":false, - "id_str":"240539141056638977", - "in_reply_to_user_id_str":null, - "entities":{ - "urls":[ - - ], - "hashtags":[ - - ], - "user_mentions":[ - - ] - }, - "text":"You'd be right more often if you thought you were wrong.", - "contributors":null, - "id":240539141056638977, - "retweet_count":1, - "in_reply_to_status_id_str":null, - "geo":null, - "retweeted":false, - "in_reply_to_user_id":null, - "place":null, - "source":"web", - "user":{ - "name":"Taylor Singletary", - "profile_sidebar_fill_color":"FBFBFB", - "profile_background_tile":true, - "profile_sidebar_border_color":"000000", - "profile_image_url":"http://a0.twimg.com/profile_images/2546730059/f6a8zq58mg1hn0ha8vie_normal.jpeg", - "created_at":"Wed Mar 07 22:23:19 +0000 2007", - "location":"San Francisco, CA", - "follow_request_sent":false, - "id_str":"819797", - "is_translator":false, - "profile_link_color":"c71818", - "entities":{ - "url":{ - "urls":[ - { - "expanded_url":"http://www.rebelmouse.com/episod/", - "url":"http://t.co/Lxw7upbN", - "indices":[ - 0, - 20 - ], - "display_url":"rebelmouse.com/episod/" - } - ] - }, - "description":{ - "urls":[ - - ] - } - }, - "default_profile":false, - "url":"http://t.co/Lxw7upbN", - "contributors_enabled":false, - "favourites_count":15990, - "utc_offset":-28800, - "profile_image_url_https":"https://si0.twimg.com/profile_images/2546730059/f6a8zq58mg1hn0ha8vie_normal.jpeg", - "id":819797, - "listed_count":340, - "profile_use_background_image":true, - "profile_text_color":"D20909", - "followers_count":7126, - "lang":"en", - "protected":false, - "geo_enabled":true, - "notifications":false, - "description":"Reality Technician, Twitter API team, synthesizer enthusiast; a most excellent adventure in timelines. I know it's hard to believe in something you can't see.", - "profile_background_color":"000000", - "verified":false, - "time_zone":"Pacific Time (US & Canada)", - "profile_background_image_url_https":"https://si0.twimg.com/profile_background_images/643655842/hzfv12wini4q60zzrthg.png", - "statuses_count":18076, - "profile_background_image_url":"http://a0.twimg.com/profile_background_images/643655842/hzfv12wini4q60zzrthg.png", - "default_profile_image":false, - "friends_count":5444, - "following":true, - "show_all_inline_media":true, - "screen_name":"episod" - }, - "in_reply_to_screen_name":null, - "in_reply_to_status_id":null - } - ] \ No newline at end of file diff --git a/Kumi/SwiftyJSON-4.2.0/Example/Example/ViewController.swift b/Kumi/SwiftyJSON-4.2.0/Example/Example/ViewController.swift deleted file mode 100755 index 8f297a7..0000000 --- a/Kumi/SwiftyJSON-4.2.0/Example/Example/ViewController.swift +++ /dev/null @@ -1,92 +0,0 @@ -// ViewController.swift -// -// Copyright (c) 2014 - 2016 Pinglin Tang -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. - -import UIKit -import SwiftyJSON - -class ViewController: UITableViewController { - - var json: JSON = JSON.null - - // MARK: - Table view data source - - override func viewDidLoad() { - title = "SwiftyJSON(\(json.type))" - } - - override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { - switch self.json.type { - case .array, .dictionary: - return self.json.count - default: - return 1 - } - } - - override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { - let cell = tableView.dequeueReusableCell(withIdentifier: "JSONCell", for: indexPath) as UITableViewCell - - let row = indexPath.row - - switch self.json.type { - case .array: - cell.textLabel?.text = "\(row)" - cell.detailTextLabel?.text = self.json.arrayValue.description - case .dictionary: - let key: Any = Array(self.json.dictionaryValue.keys)[row] - let value = self.json[key as! String] - cell.textLabel?.text = "\(key)" - cell.detailTextLabel?.text = value.description - default: - cell.textLabel?.text = "" - cell.detailTextLabel?.text = self.json.description - } - - return cell - } - - // MARK: - Navigation - - override func prepare(for segue: UIStoryboardSegue, sender: Any!) { - - var nextController: UIViewController? - nextController = segue.destination - - if let indexPath = self.tableView.indexPathForSelectedRow { - let row = indexPath.row - var nextJson: JSON = JSON.null - switch self.json.type { - case .array: - nextJson = self.json[row] - case .dictionary where row < self.json.dictionaryValue.count: - let key = Array(self.json.dictionaryValue.keys)[row] - if let value = self.json.dictionary?[key] { - nextJson = value - } - default: - print("") - } - (nextController as! ViewController).json = nextJson - print(nextJson) - } - } -} diff --git a/Kumi/SwiftyJSON-4.2.0/Example/Playground.playground/Contents.swift b/Kumi/SwiftyJSON-4.2.0/Example/Playground.playground/Contents.swift deleted file mode 100755 index 9306d85..0000000 --- a/Kumi/SwiftyJSON-4.2.0/Example/Playground.playground/Contents.swift +++ /dev/null @@ -1,415 +0,0 @@ -//: Playground - noun: a place where people can play -/*: -# SwiftyJSON -SwiftyJSON makes it easy to deal with JSON data in Swift. - -You must have to build `SwiftyJSON iOS` package for import. -*/ -/*: -### Basic setting for playground -*/ -import SwiftyJSON -import Foundation - -var jsonData: Data? - -if let file = Bundle.main.path(forResource: "SwiftyJSONTests", ofType: "json") { - jsonData = try? Data(contentsOf: URL(fileURLWithPath: file)) -} else { - print("Fail") -} - -let jsonObject = try JSONSerialization.jsonObject(with: jsonData!, options: .allowFragments) - -let jsonString = String(data: jsonData!, encoding: .utf8) - -/*: -## Usage - -### Initialization - -*/ -import SwiftyJSON - -let json1 = try? JSON(data: jsonData!) -/*: -or -*/ -let json2 = JSON(jsonObject) -/*: -or -*/ -let dataFromString = jsonString?.data(using: .utf8) -let json3 = try? JSON(data: dataFromString!) - -/*: -### Subscript -*/ -// Example json -let json: JSON = JSON([ - "array": [12.34, 56.78], - "users": [ - [ - "id": 987654, - "info": [ - "name": "jack", - "email": "jack@gmail.com" - ], - "feeds": [98833, 23443, 213239, 23232] - ], - [ - "id": 654321, - "info": [ - "name": "jeffgukang", - "email": "jeffgukang@gmail.com" - ], - "feeds": [12345, 56789, 12423, 12412] - ] - ] - ]) - -// Getting a double from a JSON Array -json["array"][0].double - -// Getting an array of string from a JSON Array -let arrayOfString = json["users"].arrayValue.map({$0["info"]["name"]}) -print(arrayOfString) - -// Getting a string from a JSON Dictionary -json["users"][0]["info"]["name"].stringValue - -// Getting a string using a path to the element -let path = ["users", 1, "info", "name"] as [JSONSubscriptType] -var name = json["users", 1, "info", "name"].string - -// With a custom way -let keys: [JSONSubscriptType] = ["users", 1, "info", "name"] -name = json[keys].string - -// Just the same -name = json["users"][1]["info"]["name"].string - -// Alternatively -name = json["users", 1, "info", "name"].string - -/*: -### Loop -*/ -// If json is .Dictionary -for (key, subJson):(String, JSON) in json { - //Do something you want - print(key) - print(subJson) -} - -/*The first element is always a String, even if the JSON is an Array*/ -//If json is .Array -//The `index` is 0.. - - - \ No newline at end of file diff --git a/Kumi/SwiftyJSON-4.2.0/LICENSE b/Kumi/SwiftyJSON-4.2.0/LICENSE deleted file mode 100755 index 68e3fd7..0000000 --- a/Kumi/SwiftyJSON-4.2.0/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2017 Ruoyu Fu - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/Kumi/SwiftyJSON-4.2.0/Package.swift b/Kumi/SwiftyJSON-4.2.0/Package.swift deleted file mode 100755 index 801f1d5..0000000 --- a/Kumi/SwiftyJSON-4.2.0/Package.swift +++ /dev/null @@ -1,4 +0,0 @@ -import PackageDescription - -let package = Package( - name: "SwiftyJSON") diff --git a/Kumi/SwiftyJSON-4.2.0/README.md b/Kumi/SwiftyJSON-4.2.0/README.md deleted file mode 100755 index 3274979..0000000 --- a/Kumi/SwiftyJSON-4.2.0/README.md +++ /dev/null @@ -1,549 +0,0 @@ -# SwiftyJSON - -[![Travis CI](https://travis-ci.org/SwiftyJSON/SwiftyJSON.svg?branch=master)](https://travis-ci.org/SwiftyJSON/SwiftyJSON) [![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) ![CocoaPods](https://img.shields.io/cocoapods/v/SwiftyJSON.svg) ![Platform](https://img.shields.io/badge/platforms-iOS%208.0+%20%7C%20macOS%2010.10+%20%7C%20tvOS%209.0+%20%7C%20watchOS%202.0+-333333.svg) - -SwiftyJSON makes it easy to deal with JSON data in Swift. - -1. [Why is the typical JSON handling in Swift NOT good](#why-is-the-typical-json-handling-in-swift-not-good) -2. [Requirements](#requirements) -3. [Integration](#integration) -4. [Usage](#usage) - - [Initialization](#initialization) - - [Subscript](#subscript) - - [Loop](#loop) - - [Error](#error) - - [Optional getter](#optional-getter) - - [Non-optional getter](#non-optional-getter) - - [Setter](#setter) - - [Raw object](#raw-object) - - [Literal convertibles](#literal-convertibles) - - [Merging](#merging) -5. [Work with Alamofire](#work-with-alamofire) -6. [Work with Moya](#work-with-moya) - -> [中文介绍](http://tangplin.github.io/swiftyjson/) - - -## Why is the typical JSON handling in Swift NOT good? - -Swift is very strict about types. But although explicit typing is good for saving us from mistakes, it becomes painful when dealing with JSON and other areas that are, by nature, implicit about types. - -Take the Twitter API for example. Say we want to retrieve a user's "name" value of some tweet in Swift (according to [Twitter's API](https://developer.twitter.com/en/docs/tweets/timelines/api-reference/get-statuses-home_timeline)). - -The code would look like this: - -```swift -if let statusesArray = try? JSONSerialization.jsonObject(with: data, options: .allowFragments) as? [[String: Any]], - let user = statusesArray[0]["user"] as? [String: Any], - let username = user["name"] as? String { - // Finally we got the username -} -``` - -It's not good. - -Even if we use optional chaining, it would be messy: - -```swift -if let JSONObject = try JSONSerialization.jsonObject(with: data, options: .allowFragments) as? [[String: Any]], - let username = (JSONObject[0]["user"] as? [String: Any])?["name"] as? String { - // There's our username -} -``` - -An unreadable mess--for something that should really be simple! - -With SwiftyJSON all you have to do is: - -```swift -let json = JSON(data: dataFromNetworking) -if let userName = json[0]["user"]["name"].string { - //Now you got your value -} -``` - -And don't worry about the Optional Wrapping thing. It's done for you automatically. - -```swift -let json = JSON(data: dataFromNetworking) -if let userName = json[999999]["wrong_key"]["wrong_name"].string { - //Calm down, take it easy, the ".string" property still produces the correct Optional String type with safety -} else { - //Print the error - print(json[999999]["wrong_key"]["wrong_name"]) -} -``` - -## Requirements - -- iOS 8.0+ | macOS 10.10+ | tvOS 9.0+ | watchOS 2.0+ -- Xcode 8 - -## Integration - -#### CocoaPods (iOS 8+, OS X 10.9+) - -You can use [CocoaPods](http://cocoapods.org/) to install `SwiftyJSON` by adding it to your `Podfile`: - -```ruby -platform :ios, '8.0' -use_frameworks! - -target 'MyApp' do - pod 'SwiftyJSON', '~> 4.0' -end -``` - -#### Carthage (iOS 8+, OS X 10.9+) - -You can use [Carthage](https://github.com/Carthage/Carthage) to install `SwiftyJSON` by adding it to your `Cartfile`: - -``` -github "SwiftyJSON/SwiftyJSON" ~> 4.0 -``` - -If you use Carthage to build your dependencies, make sure you have added `SwiftyJSON.framework` to the "Linked Frameworks and Libraries" section of your target, and have included them in your Carthage framework copying build phase. - -#### Swift Package Manager - -You can use [The Swift Package Manager](https://swift.org/package-manager) to install `SwiftyJSON` by adding the proper description to your `Package.swift` file: - -```swift -// swift-tools-version:4.0 -import PackageDescription - -let package = Package( - name: "YOUR_PROJECT_NAME", - dependencies: [ - .package(url: "https://github.com/SwiftyJSON/SwiftyJSON.git", from: "4.0.0"), - ] -) -``` -Then run `swift build` whenever you get prepared. - -#### Manually (iOS 7+, OS X 10.9+) - -To use this library in your project manually you may: - -1. for Projects, just drag SwiftyJSON.swift to the project tree -2. for Workspaces, include the whole SwiftyJSON.xcodeproj - -## Usage - -#### Initialization - -```swift -import SwiftyJSON -``` - -```swift -let json = JSON(data: dataFromNetworking) -``` -Or - -```swift -let json = JSON(jsonObject) -``` -Or - -```swift -if let dataFromString = jsonString.data(using: .utf8, allowLossyConversion: false) { - let json = JSON(data: dataFromString) -} -``` - -#### Subscript - -```swift -// Getting a double from a JSON Array -let name = json[0].double -``` - -```swift -// Getting an array of string from a JSON Array -let arrayNames = json["users"].arrayValue.map({$0["name"].stringValue}) -``` - -```swift -// Getting a string from a JSON Dictionary -let name = json["name"].stringValue -``` - -```swift -// Getting a string using a path to the element -let path: [JSONSubscriptType] = [1,"list",2,"name"] -let name = json[path].string -// Just the same -let name = json[1]["list"][2]["name"].string -// Alternatively -let name = json[1,"list",2,"name"].string -``` - -```swift -// With a hard way -let name = json[].string -``` - -```swift -// With a custom way -let keys:[JSONSubscriptType] = [1,"list",2,"name"] -let name = json[keys].string -``` - -#### Loop - -```swift -// If json is .Dictionary -for (key,subJson):(String, JSON) in json { - // Do something you want -} -``` - -*The first element is always a String, even if the JSON is an Array* - -```swift -// If json is .Array -// The `index` is 0.. = json["list"].arrayValue -``` - -```swift -// If not a Dictionary or nil, return [:] -let user: Dictionary = json["user"].dictionaryValue -``` - -#### Setter - -```swift -json["name"] = JSON("new-name") -json[0] = JSON(1) -``` - -```swift -json["id"].int = 1234567890 -json["coordinate"].double = 8766.766 -json["name"].string = "Jack" -json.arrayObject = [1,2,3,4] -json.dictionaryObject = ["name":"Jack", "age":25] -``` - -#### Raw object - -```swift -let rawObject: Any = json.object -``` - -```swift -let rawValue: Any = json.rawValue -``` - -```swift -//convert the JSON to raw NSData -do { - let rawData = try json.rawData() - //Do something you want -} catch { - print("Error \(error)") -} -``` - -```swift -//convert the JSON to a raw String -if let rawString = json.rawString() { - //Do something you want -} else { - print("json.rawString is nil") -} -``` - -#### Existence - -```swift -// shows you whether value specified in JSON or not -if json["name"].exists() -``` - -#### Literal convertibles - -For more info about literal convertibles: [Swift Literal Convertibles](http://nshipster.com/swift-literal-convertible/) - -```swift -// StringLiteralConvertible -let json: JSON = "I'm a json" -``` - -```swift -/ /IntegerLiteralConvertible -let json: JSON = 12345 -``` - -```swift -// BooleanLiteralConvertible -let json: JSON = true -``` - -```swift -// FloatLiteralConvertible -let json: JSON = 2.8765 -``` - -```swift -// DictionaryLiteralConvertible -let json: JSON = ["I":"am", "a":"json"] -``` - -```swift -// ArrayLiteralConvertible -let json: JSON = ["I", "am", "a", "json"] -``` - -```swift -// With subscript in array -var json: JSON = [1,2,3] -json[0] = 100 -json[1] = 200 -json[2] = 300 -json[999] = 300 // Don't worry, nothing will happen -``` - -```swift -// With subscript in dictionary -var json: JSON = ["name": "Jack", "age": 25] -json["name"] = "Mike" -json["age"] = "25" // It's OK to set String -json["address"] = "L.A." // Add the "address": "L.A." in json -``` - -```swift -// Array & Dictionary -var json: JSON = ["name": "Jack", "age": 25, "list": ["a", "b", "c", ["what": "this"]]] -json["list"][3]["what"] = "that" -json["list",3,"what"] = "that" -let path: [JSONSubscriptType] = ["list",3,"what"] -json[path] = "that" -``` - -```swift -// With other JSON objects -let user: JSON = ["username" : "Steve", "password": "supersecurepassword"] -let auth: JSON = [ - "user": user.object, // use user.object instead of just user - "apikey": "supersecretapitoken" -] -``` - -#### Merging - -It is possible to merge one JSON into another JSON. Merging a JSON into another JSON adds all non existing values to the original JSON which are only present in the `other` JSON. - -If both JSONs contain a value for the same key, _mostly_ this value gets overwritten in the original JSON, but there are two cases where it provides some special treatment: - -- In case of both values being a `JSON.Type.array` the values form the array found in the `other` JSON getting appended to the original JSON's array value. -- In case of both values being a `JSON.Type.dictionary` both JSON-values are getting merged the same way the encapsulating JSON is merged. - -In case, where two fields in a JSON have a different types, the value will get always overwritten. - -There are two different fashions for merging: `merge` modifies the original JSON, whereas `merged` works non-destructively on a copy. - -```swift -let original: JSON = [ - "first_name": "John", - "age": 20, - "skills": ["Coding", "Reading"], - "address": [ - "street": "Front St", - "zip": "12345", - ] -] - -let update: JSON = [ - "last_name": "Doe", - "age": 21, - "skills": ["Writing"], - "address": [ - "zip": "12342", - "city": "New York City" - ] -] - -let updated = original.merge(with: update) -// [ -// "first_name": "John", -// "last_name": "Doe", -// "age": 21, -// "skills": ["Coding", "Reading", "Writing"], -// "address": [ -// "street": "Front St", -// "zip": "12342", -// "city": "New York City" -// ] -// ] -``` - -## String representation -There are two options available: -- use the default Swift one -- use a custom one that will handle optionals well and represent `nil` as `"null"`: -```swift -let dict = ["1":2, "2":"two", "3": nil] as [String: Any?] -let json = JSON(dict) -let representation = json.rawString(options: [.castNilToNSNull: true]) -// representation is "{\"1\":2,\"2\":\"two\",\"3\":null}", which represents {"1":2,"2":"two","3":null} -``` - -## Work with [Alamofire](https://github.com/Alamofire/Alamofire) - -SwiftyJSON nicely wraps the result of the Alamofire JSON response handler: - -```swift -Alamofire.request(url, method: .get).validate().responseJSON { response in - switch response.result { - case .success(let value): - let json = JSON(value) - print("JSON: \(json)") - case .failure(let error): - print(error) - } -} -``` - -We also provide an extension of Alamofire for serializing NSData to SwiftyJSON's JSON. - -See: [Alamofire-SwiftyJSON](https://github.com/SwiftyJSON/Alamofire-SwiftyJSON) - - -## Work with [Moya](https://github.com/Moya/Moya) - -SwiftyJSON parse data to JSON: - -```swift -let provider = MoyaProvider() -provider.request(.showProducts) { result in - switch result { - case let .success(moyaResponse): - let data = moyaResponse.data - let json = JSON(data: data) // convert network data to json - print(json) - case let .failure(error): - print("error: \(error)") - } -} - -``` diff --git a/Kumi/SwiftyJSON-4.2.0/Source/Info-iOS.plist b/Kumi/SwiftyJSON-4.2.0/Source/Info-iOS.plist deleted file mode 100755 index 7812205..0000000 --- a/Kumi/SwiftyJSON-4.2.0/Source/Info-iOS.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - ${CURRENT_PROJECT_VERSION} - NSPrincipalClass - - - diff --git a/Kumi/SwiftyJSON-4.2.0/Source/Info-macOS.plist b/Kumi/SwiftyJSON-4.2.0/Source/Info-macOS.plist deleted file mode 100755 index d3de8ee..0000000 --- a/Kumi/SwiftyJSON-4.2.0/Source/Info-macOS.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - $(CURRENT_PROJECT_VERSION) - NSPrincipalClass - - - diff --git a/Kumi/SwiftyJSON-4.2.0/Source/Info-tvOS.plist b/Kumi/SwiftyJSON-4.2.0/Source/Info-tvOS.plist deleted file mode 100755 index 8d34809..0000000 --- a/Kumi/SwiftyJSON-4.2.0/Source/Info-tvOS.plist +++ /dev/null @@ -1,30 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - ${CURRENT_PROJECT_VERSION} - NSPrincipalClass - - UIRequiredDeviceCapabilities - - arm64 - - - diff --git a/Kumi/SwiftyJSON-4.2.0/Source/Info-watchOS.plist b/Kumi/SwiftyJSON-4.2.0/Source/Info-watchOS.plist deleted file mode 100755 index 7812205..0000000 --- a/Kumi/SwiftyJSON-4.2.0/Source/Info-watchOS.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - ${CURRENT_PROJECT_VERSION} - NSPrincipalClass - - - diff --git a/Kumi/SwiftyJSON-4.2.0/SwiftyJSON.podspec b/Kumi/SwiftyJSON-4.2.0/SwiftyJSON.podspec deleted file mode 100755 index d5fbc3d..0000000 --- a/Kumi/SwiftyJSON-4.2.0/SwiftyJSON.podspec +++ /dev/null @@ -1,17 +0,0 @@ -Pod::Spec.new do |s| - s.name = "SwiftyJSON" - s.version = "4.2.0" - s.summary = "SwiftyJSON makes it easy to deal with JSON data in Swift" - s.homepage = "https://github.com/SwiftyJSON/SwiftyJSON" - s.license = { :type => "MIT" } - s.authors = { "lingoer" => "lingoerer@gmail.com", "tangplin" => "tangplin@gmail.com" } - - s.requires_arc = true - s.swift_version = "4.2" - s.osx.deployment_target = "10.9" - s.ios.deployment_target = "8.0" - s.watchos.deployment_target = "3.0" - s.tvos.deployment_target = "9.0" - s.source = { :git => "https://github.com/SwiftyJSON/SwiftyJSON.git", :tag => s.version } - s.source_files = "Source/*.swift" -end diff --git a/Kumi/SwiftyJSON-4.2.0/SwiftyJSON.xcodeproj/project.pbxproj b/Kumi/SwiftyJSON-4.2.0/SwiftyJSON.xcodeproj/project.pbxproj deleted file mode 100755 index 1ec04ff..0000000 --- a/Kumi/SwiftyJSON-4.2.0/SwiftyJSON.xcodeproj/project.pbxproj +++ /dev/null @@ -1,1272 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - -/* Begin PBXAggregateTarget section */ - A81D162B1E5743B000C62C5F /* SwiftLint */ = { - isa = PBXAggregateTarget; - buildConfigurationList = A81D162E1E5743B000C62C5F /* Build configuration list for PBXAggregateTarget "SwiftLint" */; - buildPhases = ( - A81D162F1E5743CE00C62C5F /* ShellScript */, - ); - dependencies = ( - ); - name = SwiftLint; - productName = SwiftLint; - }; -/* End PBXAggregateTarget section */ - -/* Begin PBXBuildFile section */ - 1B587CC61DDE04770012D8DB /* MergeTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1B587CC41DDE04360012D8DB /* MergeTests.swift */; }; - 1B587CC71DDE04780012D8DB /* MergeTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1B587CC41DDE04360012D8DB /* MergeTests.swift */; }; - 1B587CC81DDE04790012D8DB /* MergeTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1B587CC41DDE04360012D8DB /* MergeTests.swift */; }; - 2E4FEFE119575BE100351305 /* SwiftyJSON.h in Headers */ = {isa = PBXBuildFile; fileRef = 2E4FEFE019575BE100351305 /* SwiftyJSON.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2E4FEFE719575BE100351305 /* SwiftyJSON.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2E4FEFDB19575BE100351305 /* SwiftyJSON.framework */; }; - 5DD502911D9B21810004C112 /* NestedJSONTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5DD502901D9B21810004C112 /* NestedJSONTests.swift */; }; - 5DD502921D9B21810004C112 /* NestedJSONTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5DD502901D9B21810004C112 /* NestedJSONTests.swift */; }; - 5DD502931D9B21810004C112 /* NestedJSONTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5DD502901D9B21810004C112 /* NestedJSONTests.swift */; }; - 712921EF2004E4EB00DA6340 /* CodableTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 712921EE2004E4EB00DA6340 /* CodableTests.swift */; }; - 712921F02004E4EB00DA6340 /* CodableTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 712921EE2004E4EB00DA6340 /* CodableTests.swift */; }; - 712921F12004E4EB00DA6340 /* CodableTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 712921EE2004E4EB00DA6340 /* CodableTests.swift */; }; - 7236B4EE1BAC14150020529B /* SwiftyJSON.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8491E1D19CD6DAE00CCFAE6 /* SwiftyJSON.swift */; }; - 7236B4F11BAC14150020529B /* SwiftyJSON.h in Headers */ = {isa = PBXBuildFile; fileRef = 2E4FEFE019575BE100351305 /* SwiftyJSON.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9C459EF41A910334008C9A41 /* SwiftyJSON.h in Headers */ = {isa = PBXBuildFile; fileRef = 2E4FEFE019575BE100351305 /* SwiftyJSON.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9C459EF51A910361008C9A41 /* SwiftyJSON.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8491E1D19CD6DAE00CCFAE6 /* SwiftyJSON.swift */; }; - 9C459EF81A9103C1008C9A41 /* Tests.json in Resources */ = {isa = PBXBuildFile; fileRef = A885D1DA19CFCFF0002FD4C3 /* Tests.json */; }; - 9C459EF91A9103C1008C9A41 /* PerformanceTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A86BAA0D19EBC32B009EAAEB /* PerformanceTests.swift */; }; - 9C459EFA1A9103C1008C9A41 /* BaseTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A885D1D119CF1EE6002FD4C3 /* BaseTests.swift */; }; - 9C459EFB1A9103C1008C9A41 /* SequenceTypeTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A87080E319E3C2A600CDE086 /* SequenceTypeTests.swift */; }; - 9C459EFC1A9103C1008C9A41 /* PrintableTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A819C4A019E37FC600ADCC3D /* PrintableTests.swift */; }; - 9C459EFD1A9103C1008C9A41 /* SubscriptTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A819C49E19E2EE5B00ADCC3D /* SubscriptTests.swift */; }; - 9C459EFE1A9103C1008C9A41 /* LiteralConvertibleTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A819C49619E1A7DD00ADCC3D /* LiteralConvertibleTests.swift */; }; - 9C459EFF1A9103C1008C9A41 /* RawRepresentableTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A819C49819E1B10300ADCC3D /* RawRepresentableTests.swift */; }; - 9C459F001A9103C1008C9A41 /* ComparableTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A87080E519E3DF7800CDE086 /* ComparableTests.swift */; }; - 9C459F011A9103C1008C9A41 /* StringTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A87080E919E43C0700CDE086 /* StringTests.swift */; }; - 9C459F021A9103C1008C9A41 /* NumberTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A87080E719E439DA00CDE086 /* NumberTests.swift */; }; - 9C459F031A9103C1008C9A41 /* RawTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A863BE2719EED46F0092A41F /* RawTests.swift */; }; - 9C459F041A9103C1008C9A41 /* DictionaryTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8B66C8B19E51D6500540692 /* DictionaryTests.swift */; }; - 9C459F051A9103C1008C9A41 /* ArrayTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8B66C8D19E52F4200540692 /* ArrayTests.swift */; }; - 9C7DFC661A9102BD005AA3F7 /* SwiftyJSON.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9C7DFC5B1A9102BD005AA3F7 /* SwiftyJSON.framework */; }; - A819C49719E1A7DD00ADCC3D /* LiteralConvertibleTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A819C49619E1A7DD00ADCC3D /* LiteralConvertibleTests.swift */; }; - A819C49919E1B10300ADCC3D /* RawRepresentableTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A819C49819E1B10300ADCC3D /* RawRepresentableTests.swift */; }; - A819C49F19E2EE5B00ADCC3D /* SubscriptTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A819C49E19E2EE5B00ADCC3D /* SubscriptTests.swift */; }; - A819C4A119E37FC600ADCC3D /* PrintableTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A819C4A019E37FC600ADCC3D /* PrintableTests.swift */; }; - A81CBA0B1BCF6B0200A649A2 /* Tests.json in Resources */ = {isa = PBXBuildFile; fileRef = A885D1DA19CFCFF0002FD4C3 /* Tests.json */; }; - A830A6951E5B2DD8001D7F6D /* MutabilityTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A830A6941E5B2DD8001D7F6D /* MutabilityTests.swift */; }; - A830A6961E5B2DD8001D7F6D /* MutabilityTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A830A6941E5B2DD8001D7F6D /* MutabilityTests.swift */; }; - A830A6971E5B2DD8001D7F6D /* MutabilityTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A830A6941E5B2DD8001D7F6D /* MutabilityTests.swift */; }; - A8491E1E19CD6DAE00CCFAE6 /* SwiftyJSON.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8491E1D19CD6DAE00CCFAE6 /* SwiftyJSON.swift */; }; - A8580F791BCF5C5B00DA927B /* SwiftyJSON.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7236B4F61BAC14150020529B /* SwiftyJSON.framework */; }; - A8580F801BCF69A000DA927B /* PerformanceTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A86BAA0D19EBC32B009EAAEB /* PerformanceTests.swift */; }; - A8580F811BCF69A000DA927B /* BaseTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A885D1D119CF1EE6002FD4C3 /* BaseTests.swift */; }; - A8580F821BCF69A000DA927B /* SequenceTypeTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A87080E319E3C2A600CDE086 /* SequenceTypeTests.swift */; }; - A8580F831BCF69A000DA927B /* PrintableTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A819C4A019E37FC600ADCC3D /* PrintableTests.swift */; }; - A8580F841BCF69A000DA927B /* SubscriptTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A819C49E19E2EE5B00ADCC3D /* SubscriptTests.swift */; }; - A8580F851BCF69A000DA927B /* LiteralConvertibleTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A819C49619E1A7DD00ADCC3D /* LiteralConvertibleTests.swift */; }; - A8580F861BCF69A000DA927B /* RawRepresentableTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A819C49819E1B10300ADCC3D /* RawRepresentableTests.swift */; }; - A8580F871BCF69A000DA927B /* ComparableTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A87080E519E3DF7800CDE086 /* ComparableTests.swift */; }; - A8580F881BCF69A000DA927B /* StringTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A87080E919E43C0700CDE086 /* StringTests.swift */; }; - A8580F891BCF69A000DA927B /* NumberTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A87080E719E439DA00CDE086 /* NumberTests.swift */; }; - A8580F8A1BCF69A000DA927B /* RawTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A863BE2719EED46F0092A41F /* RawTests.swift */; }; - A8580F8B1BCF69A000DA927B /* DictionaryTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8B66C8B19E51D6500540692 /* DictionaryTests.swift */; }; - A8580F8C1BCF69A000DA927B /* ArrayTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8B66C8D19E52F4200540692 /* ArrayTests.swift */; }; - A863BE2819EED46F0092A41F /* RawTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A863BE2719EED46F0092A41F /* RawTests.swift */; }; - A86BAA0E19EBC32B009EAAEB /* PerformanceTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A86BAA0D19EBC32B009EAAEB /* PerformanceTests.swift */; }; - A87080E419E3C2A600CDE086 /* SequenceTypeTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A87080E319E3C2A600CDE086 /* SequenceTypeTests.swift */; }; - A87080E619E3DF7800CDE086 /* ComparableTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A87080E519E3DF7800CDE086 /* ComparableTests.swift */; }; - A87080E819E439DA00CDE086 /* NumberTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A87080E719E439DA00CDE086 /* NumberTests.swift */; }; - A87080EA19E43C0700CDE086 /* StringTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A87080E919E43C0700CDE086 /* StringTests.swift */; }; - A885D1D219CF1EE6002FD4C3 /* BaseTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A885D1D119CF1EE6002FD4C3 /* BaseTests.swift */; }; - A885D1DC19CFCFF0002FD4C3 /* Tests.json in Resources */ = {isa = PBXBuildFile; fileRef = A885D1DA19CFCFF0002FD4C3 /* Tests.json */; }; - A8B66C8C19E51D6500540692 /* DictionaryTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8B66C8B19E51D6500540692 /* DictionaryTests.swift */; }; - A8B66C8E19E52F4200540692 /* ArrayTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8B66C8D19E52F4200540692 /* ArrayTests.swift */; }; - E4D7CCE01B9465A700EE7221 /* SwiftyJSON.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8491E1D19CD6DAE00CCFAE6 /* SwiftyJSON.swift */; }; - E4D7CCE31B9465A700EE7221 /* SwiftyJSON.h in Headers */ = {isa = PBXBuildFile; fileRef = 2E4FEFE019575BE100351305 /* SwiftyJSON.h */; settings = {ATTRIBUTES = (Public, ); }; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 2E4FEFE819575BE100351305 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 2E4FEFD219575BE100351305 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 2E4FEFDA19575BE100351305; - remoteInfo = SwiftyJSON; - }; - 9C7DFC671A9102BD005AA3F7 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 2E4FEFD219575BE100351305 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 9C7DFC5A1A9102BD005AA3F7; - remoteInfo = "SwiftyJSON OSX"; - }; - A8580F7A1BCF5C5B00DA927B /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 2E4FEFD219575BE100351305 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 7236B4EC1BAC14150020529B; - remoteInfo = "SwiftyJSON tvOS"; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXFileReference section */ - 030B6CDC1A6E171D00C2D4F1 /* Info-macOS.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Info-macOS.plist"; sourceTree = ""; }; - 1B587CC41DDE04360012D8DB /* MergeTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MergeTests.swift; sourceTree = ""; }; - 2E4FEFDB19575BE100351305 /* SwiftyJSON.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SwiftyJSON.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 2E4FEFDF19575BE100351305 /* Info-iOS.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Info-iOS.plist"; sourceTree = ""; }; - 2E4FEFE019575BE100351305 /* SwiftyJSON.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SwiftyJSON.h; sourceTree = ""; }; - 2E4FEFE619575BE100351305 /* SwiftyJSON iOS Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "SwiftyJSON iOS Tests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; - 5DD502901D9B21810004C112 /* NestedJSONTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NestedJSONTests.swift; sourceTree = ""; }; - 712921EE2004E4EB00DA6340 /* CodableTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CodableTests.swift; sourceTree = ""; }; - 7236B4F61BAC14150020529B /* SwiftyJSON.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SwiftyJSON.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 7236B4F71BAC14150020529B /* Info-tvOS.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Info-tvOS.plist"; sourceTree = ""; }; - 9C459EF61A9103B1008C9A41 /* Info-macOS.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "Info-macOS.plist"; sourceTree = ""; }; - 9C7DFC5B1A9102BD005AA3F7 /* SwiftyJSON.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SwiftyJSON.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 9C7DFC651A9102BD005AA3F7 /* SwiftyJSON macOS Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "SwiftyJSON macOS Tests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; - A819C49619E1A7DD00ADCC3D /* LiteralConvertibleTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LiteralConvertibleTests.swift; sourceTree = ""; }; - A819C49819E1B10300ADCC3D /* RawRepresentableTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RawRepresentableTests.swift; sourceTree = ""; }; - A819C49E19E2EE5B00ADCC3D /* SubscriptTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SubscriptTests.swift; sourceTree = ""; }; - A819C4A019E37FC600ADCC3D /* PrintableTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PrintableTests.swift; sourceTree = ""; }; - A82A1C0D19D922DC009A653D /* Info-iOS.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "Info-iOS.plist"; sourceTree = ""; }; - A830A6941E5B2DD8001D7F6D /* MutabilityTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MutabilityTests.swift; sourceTree = ""; }; - A8491E1D19CD6DAE00CCFAE6 /* SwiftyJSON.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SwiftyJSON.swift; sourceTree = ""; }; - A8580F741BCF5C5B00DA927B /* SwiftyJSON tvOS Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "SwiftyJSON tvOS Tests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; - A8580F781BCF5C5B00DA927B /* Info-tvOS.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Info-tvOS.plist"; sourceTree = ""; }; - A863BE2719EED46F0092A41F /* RawTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RawTests.swift; sourceTree = ""; }; - A86BAA0D19EBC32B009EAAEB /* PerformanceTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PerformanceTests.swift; sourceTree = ""; }; - A87080E319E3C2A600CDE086 /* SequenceTypeTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SequenceTypeTests.swift; sourceTree = ""; }; - A87080E519E3DF7800CDE086 /* ComparableTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ComparableTests.swift; sourceTree = ""; }; - A87080E719E439DA00CDE086 /* NumberTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NumberTests.swift; sourceTree = ""; }; - A87080E919E43C0700CDE086 /* StringTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StringTests.swift; sourceTree = ""; }; - A885D1D119CF1EE6002FD4C3 /* BaseTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BaseTests.swift; sourceTree = ""; }; - A885D1DA19CFCFF0002FD4C3 /* Tests.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = Tests.json; sourceTree = ""; }; - A8B66C8B19E51D6500540692 /* DictionaryTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DictionaryTests.swift; sourceTree = ""; }; - A8B66C8D19E52F4200540692 /* ArrayTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ArrayTests.swift; sourceTree = ""; }; - E4D7CCE81B9465A700EE7221 /* SwiftyJSON.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SwiftyJSON.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - E4D7CCE91B9465A800EE7221 /* Info-watchOS.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Info-watchOS.plist"; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 2E4FEFD719575BE100351305 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 2E4FEFE319575BE100351305 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 2E4FEFE719575BE100351305 /* SwiftyJSON.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 7236B4EF1BAC14150020529B /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 9C7DFC571A9102BD005AA3F7 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 9C7DFC621A9102BD005AA3F7 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 9C7DFC661A9102BD005AA3F7 /* SwiftyJSON.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - A8580F711BCF5C5B00DA927B /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - A8580F791BCF5C5B00DA927B /* SwiftyJSON.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - E4D7CCE11B9465A700EE7221 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 2E4FEFD119575BE100351305 = { - isa = PBXGroup; - children = ( - 2E4FEFDD19575BE100351305 /* Source */, - 2E4FEFEA19575BE100351305 /* SwiftyJSONTests */, - 2E4FEFDC19575BE100351305 /* Products */, - ); - sourceTree = ""; - }; - 2E4FEFDC19575BE100351305 /* Products */ = { - isa = PBXGroup; - children = ( - 2E4FEFDB19575BE100351305 /* SwiftyJSON.framework */, - 2E4FEFE619575BE100351305 /* SwiftyJSON iOS Tests.xctest */, - 9C7DFC5B1A9102BD005AA3F7 /* SwiftyJSON.framework */, - 9C7DFC651A9102BD005AA3F7 /* SwiftyJSON macOS Tests.xctest */, - E4D7CCE81B9465A700EE7221 /* SwiftyJSON.framework */, - 7236B4F61BAC14150020529B /* SwiftyJSON.framework */, - A8580F741BCF5C5B00DA927B /* SwiftyJSON tvOS Tests.xctest */, - ); - name = Products; - sourceTree = ""; - }; - 2E4FEFDD19575BE100351305 /* Source */ = { - isa = PBXGroup; - children = ( - 2E4FEFE019575BE100351305 /* SwiftyJSON.h */, - A8491E1D19CD6DAE00CCFAE6 /* SwiftyJSON.swift */, - 2E4FEFDE19575BE100351305 /* Supporting Files */, - ); - path = Source; - sourceTree = ""; - }; - 2E4FEFDE19575BE100351305 /* Supporting Files */ = { - isa = PBXGroup; - children = ( - 2E4FEFDF19575BE100351305 /* Info-iOS.plist */, - 030B6CDC1A6E171D00C2D4F1 /* Info-macOS.plist */, - E4D7CCE91B9465A800EE7221 /* Info-watchOS.plist */, - 7236B4F71BAC14150020529B /* Info-tvOS.plist */, - ); - name = "Supporting Files"; - sourceTree = ""; - }; - 2E4FEFEA19575BE100351305 /* SwiftyJSONTests */ = { - isa = PBXGroup; - children = ( - 1B587CC41DDE04360012D8DB /* MergeTests.swift */, - A885D1DA19CFCFF0002FD4C3 /* Tests.json */, - A86BAA0D19EBC32B009EAAEB /* PerformanceTests.swift */, - A885D1D119CF1EE6002FD4C3 /* BaseTests.swift */, - 5DD502901D9B21810004C112 /* NestedJSONTests.swift */, - A87080E319E3C2A600CDE086 /* SequenceTypeTests.swift */, - A819C4A019E37FC600ADCC3D /* PrintableTests.swift */, - A819C49E19E2EE5B00ADCC3D /* SubscriptTests.swift */, - A819C49619E1A7DD00ADCC3D /* LiteralConvertibleTests.swift */, - A819C49819E1B10300ADCC3D /* RawRepresentableTests.swift */, - A87080E519E3DF7800CDE086 /* ComparableTests.swift */, - A87080E919E43C0700CDE086 /* StringTests.swift */, - A87080E719E439DA00CDE086 /* NumberTests.swift */, - A863BE2719EED46F0092A41F /* RawTests.swift */, - A8B66C8B19E51D6500540692 /* DictionaryTests.swift */, - A830A6941E5B2DD8001D7F6D /* MutabilityTests.swift */, - A8B66C8D19E52F4200540692 /* ArrayTests.swift */, - 712921EE2004E4EB00DA6340 /* CodableTests.swift */, - 2E4FEFEB19575BE100351305 /* Supporting Files */, - ); - name = SwiftyJSONTests; - path = Tests/SwiftyJSONTests; - sourceTree = ""; - }; - 2E4FEFEB19575BE100351305 /* Supporting Files */ = { - isa = PBXGroup; - children = ( - A82A1C0D19D922DC009A653D /* Info-iOS.plist */, - 9C459EF61A9103B1008C9A41 /* Info-macOS.plist */, - A8580F781BCF5C5B00DA927B /* Info-tvOS.plist */, - ); - name = "Supporting Files"; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - 2E4FEFD819575BE100351305 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 2E4FEFE119575BE100351305 /* SwiftyJSON.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 7236B4F01BAC14150020529B /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 7236B4F11BAC14150020529B /* SwiftyJSON.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 9C7DFC581A9102BD005AA3F7 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 9C459EF41A910334008C9A41 /* SwiftyJSON.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - E4D7CCE21B9465A700EE7221 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - E4D7CCE31B9465A700EE7221 /* SwiftyJSON.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - 2E4FEFDA19575BE100351305 /* SwiftyJSON iOS */ = { - isa = PBXNativeTarget; - buildConfigurationList = 2E4FEFF119575BE100351305 /* Build configuration list for PBXNativeTarget "SwiftyJSON iOS" */; - buildPhases = ( - 2E4FEFD619575BE100351305 /* Sources */, - 2E4FEFD719575BE100351305 /* Frameworks */, - 2E4FEFD819575BE100351305 /* Headers */, - 2E4FEFD919575BE100351305 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "SwiftyJSON iOS"; - productName = SwiftyJSON; - productReference = 2E4FEFDB19575BE100351305 /* SwiftyJSON.framework */; - productType = "com.apple.product-type.framework"; - }; - 2E4FEFE519575BE100351305 /* SwiftyJSON iOS Tests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 2E4FEFF419575BE100351305 /* Build configuration list for PBXNativeTarget "SwiftyJSON iOS Tests" */; - buildPhases = ( - 2E4FEFE219575BE100351305 /* Sources */, - 2E4FEFE319575BE100351305 /* Frameworks */, - 2E4FEFE419575BE100351305 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 2E4FEFE919575BE100351305 /* PBXTargetDependency */, - ); - name = "SwiftyJSON iOS Tests"; - productName = SwiftyJSONTests; - productReference = 2E4FEFE619575BE100351305 /* SwiftyJSON iOS Tests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - 7236B4EC1BAC14150020529B /* SwiftyJSON tvOS */ = { - isa = PBXNativeTarget; - buildConfigurationList = 7236B4F31BAC14150020529B /* Build configuration list for PBXNativeTarget "SwiftyJSON tvOS" */; - buildPhases = ( - 7236B4ED1BAC14150020529B /* Sources */, - 7236B4EF1BAC14150020529B /* Frameworks */, - 7236B4F01BAC14150020529B /* Headers */, - 7236B4F21BAC14150020529B /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "SwiftyJSON tvOS"; - productName = SwiftyJSON; - productReference = 7236B4F61BAC14150020529B /* SwiftyJSON.framework */; - productType = "com.apple.product-type.framework"; - }; - 9C7DFC5A1A9102BD005AA3F7 /* SwiftyJSON macOS */ = { - isa = PBXNativeTarget; - buildConfigurationList = 9C7DFC6E1A9102BD005AA3F7 /* Build configuration list for PBXNativeTarget "SwiftyJSON macOS" */; - buildPhases = ( - 9C7DFC561A9102BD005AA3F7 /* Sources */, - 9C7DFC571A9102BD005AA3F7 /* Frameworks */, - 9C7DFC581A9102BD005AA3F7 /* Headers */, - 9C7DFC591A9102BD005AA3F7 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "SwiftyJSON macOS"; - productName = "SwiftyJSON OSX"; - productReference = 9C7DFC5B1A9102BD005AA3F7 /* SwiftyJSON.framework */; - productType = "com.apple.product-type.framework"; - }; - 9C7DFC641A9102BD005AA3F7 /* SwiftyJSON macOS Tests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 9C7DFC711A9102BD005AA3F7 /* Build configuration list for PBXNativeTarget "SwiftyJSON macOS Tests" */; - buildPhases = ( - 9C7DFC611A9102BD005AA3F7 /* Sources */, - 9C7DFC621A9102BD005AA3F7 /* Frameworks */, - 9C7DFC631A9102BD005AA3F7 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 9C7DFC681A9102BD005AA3F7 /* PBXTargetDependency */, - ); - name = "SwiftyJSON macOS Tests"; - productName = "SwiftyJSON OSXTests"; - productReference = 9C7DFC651A9102BD005AA3F7 /* SwiftyJSON macOS Tests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - A8580F731BCF5C5B00DA927B /* SwiftyJSON tvOS Tests */ = { - isa = PBXNativeTarget; - buildConfigurationList = A8580F7C1BCF5C5B00DA927B /* Build configuration list for PBXNativeTarget "SwiftyJSON tvOS Tests" */; - buildPhases = ( - A8580F701BCF5C5B00DA927B /* Sources */, - A8580F711BCF5C5B00DA927B /* Frameworks */, - A8580F721BCF5C5B00DA927B /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - A8580F7B1BCF5C5B00DA927B /* PBXTargetDependency */, - ); - name = "SwiftyJSON tvOS Tests"; - productName = "SwiftyJSON tvOS Tests"; - productReference = A8580F741BCF5C5B00DA927B /* SwiftyJSON tvOS Tests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - E4D7CCDE1B9465A700EE7221 /* SwiftyJSON watchOS */ = { - isa = PBXNativeTarget; - buildConfigurationList = E4D7CCE51B9465A700EE7221 /* Build configuration list for PBXNativeTarget "SwiftyJSON watchOS" */; - buildPhases = ( - E4D7CCDF1B9465A700EE7221 /* Sources */, - E4D7CCE11B9465A700EE7221 /* Frameworks */, - E4D7CCE21B9465A700EE7221 /* Headers */, - E4D7CCE41B9465A700EE7221 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "SwiftyJSON watchOS"; - productName = SwiftyJSON; - productReference = E4D7CCE81B9465A700EE7221 /* SwiftyJSON.framework */; - productType = "com.apple.product-type.framework"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 2E4FEFD219575BE100351305 /* Project object */ = { - isa = PBXProject; - attributes = { - LastSwiftUpdateCheck = 0710; - LastUpgradeCheck = 0930; - TargetAttributes = { - 2E4FEFDA19575BE100351305 = { - CreatedOnToolsVersion = 6.0; - LastSwiftMigration = 0900; - ProvisioningStyle = Automatic; - }; - 2E4FEFE519575BE100351305 = { - CreatedOnToolsVersion = 6.0; - LastSwiftMigration = 0900; - ProvisioningStyle = Manual; - TestTargetID = 2E4FEFDA19575BE100351305; - }; - 7236B4EC1BAC14150020529B = { - LastSwiftMigration = 1000; - ProvisioningStyle = Automatic; - }; - 9C7DFC5A1A9102BD005AA3F7 = { - CreatedOnToolsVersion = 6.1.1; - LastSwiftMigration = 1000; - ProvisioningStyle = Automatic; - }; - 9C7DFC641A9102BD005AA3F7 = { - CreatedOnToolsVersion = 6.1.1; - LastSwiftMigration = 1000; - }; - A81D162B1E5743B000C62C5F = { - CreatedOnToolsVersion = 8.2.1; - ProvisioningStyle = Automatic; - }; - A8580F731BCF5C5B00DA927B = { - CreatedOnToolsVersion = 7.1; - LastSwiftMigration = 1000; - }; - E4D7CCDE1B9465A700EE7221 = { - LastSwiftMigration = 1000; - ProvisioningStyle = Automatic; - }; - }; - }; - buildConfigurationList = 2E4FEFD519575BE100351305 /* Build configuration list for PBXProject "SwiftyJSON" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; - hasScannedForEncodings = 0; - knownRegions = ( - en, - ); - mainGroup = 2E4FEFD119575BE100351305; - productRefGroup = 2E4FEFDC19575BE100351305 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 2E4FEFDA19575BE100351305 /* SwiftyJSON iOS */, - 2E4FEFE519575BE100351305 /* SwiftyJSON iOS Tests */, - 9C7DFC5A1A9102BD005AA3F7 /* SwiftyJSON macOS */, - 9C7DFC641A9102BD005AA3F7 /* SwiftyJSON macOS Tests */, - E4D7CCDE1B9465A700EE7221 /* SwiftyJSON watchOS */, - 7236B4EC1BAC14150020529B /* SwiftyJSON tvOS */, - A8580F731BCF5C5B00DA927B /* SwiftyJSON tvOS Tests */, - A81D162B1E5743B000C62C5F /* SwiftLint */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 2E4FEFD919575BE100351305 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 2E4FEFE419575BE100351305 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - A885D1DC19CFCFF0002FD4C3 /* Tests.json in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 7236B4F21BAC14150020529B /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 9C7DFC591A9102BD005AA3F7 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 9C7DFC631A9102BD005AA3F7 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 9C459EF81A9103C1008C9A41 /* Tests.json in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - A8580F721BCF5C5B00DA927B /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - A81CBA0B1BCF6B0200A649A2 /* Tests.json in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - E4D7CCE41B9465A700EE7221 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - A81D162F1E5743CE00C62C5F /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "if which swiftlint >/dev/null; then\nswiftlint\nelse\necho \"warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint\"\nfi"; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 2E4FEFD619575BE100351305 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - A8491E1E19CD6DAE00CCFAE6 /* SwiftyJSON.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 2E4FEFE219575BE100351305 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 1B587CC61DDE04770012D8DB /* MergeTests.swift in Sources */, - A87080E819E439DA00CDE086 /* NumberTests.swift in Sources */, - A87080E419E3C2A600CDE086 /* SequenceTypeTests.swift in Sources */, - 5DD502911D9B21810004C112 /* NestedJSONTests.swift in Sources */, - A86BAA0E19EBC32B009EAAEB /* PerformanceTests.swift in Sources */, - A819C49919E1B10300ADCC3D /* RawRepresentableTests.swift in Sources */, - A819C49F19E2EE5B00ADCC3D /* SubscriptTests.swift in Sources */, - A830A6951E5B2DD8001D7F6D /* MutabilityTests.swift in Sources */, - A863BE2819EED46F0092A41F /* RawTests.swift in Sources */, - 712921EF2004E4EB00DA6340 /* CodableTests.swift in Sources */, - A885D1D219CF1EE6002FD4C3 /* BaseTests.swift in Sources */, - A8B66C8E19E52F4200540692 /* ArrayTests.swift in Sources */, - A8B66C8C19E51D6500540692 /* DictionaryTests.swift in Sources */, - A819C4A119E37FC600ADCC3D /* PrintableTests.swift in Sources */, - A819C49719E1A7DD00ADCC3D /* LiteralConvertibleTests.swift in Sources */, - A87080EA19E43C0700CDE086 /* StringTests.swift in Sources */, - A87080E619E3DF7800CDE086 /* ComparableTests.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 7236B4ED1BAC14150020529B /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 7236B4EE1BAC14150020529B /* SwiftyJSON.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 9C7DFC561A9102BD005AA3F7 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 9C459EF51A910361008C9A41 /* SwiftyJSON.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 9C7DFC611A9102BD005AA3F7 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 1B587CC71DDE04780012D8DB /* MergeTests.swift in Sources */, - 9C459EFB1A9103C1008C9A41 /* SequenceTypeTests.swift in Sources */, - 9C459F001A9103C1008C9A41 /* ComparableTests.swift in Sources */, - 5DD502921D9B21810004C112 /* NestedJSONTests.swift in Sources */, - 9C459F021A9103C1008C9A41 /* NumberTests.swift in Sources */, - 9C459EFF1A9103C1008C9A41 /* RawRepresentableTests.swift in Sources */, - 9C459EFA1A9103C1008C9A41 /* BaseTests.swift in Sources */, - A830A6961E5B2DD8001D7F6D /* MutabilityTests.swift in Sources */, - 9C459F041A9103C1008C9A41 /* DictionaryTests.swift in Sources */, - 712921F02004E4EB00DA6340 /* CodableTests.swift in Sources */, - 9C459EF91A9103C1008C9A41 /* PerformanceTests.swift in Sources */, - 9C459EFE1A9103C1008C9A41 /* LiteralConvertibleTests.swift in Sources */, - 9C459EFC1A9103C1008C9A41 /* PrintableTests.swift in Sources */, - 9C459F011A9103C1008C9A41 /* StringTests.swift in Sources */, - 9C459F031A9103C1008C9A41 /* RawTests.swift in Sources */, - 9C459F051A9103C1008C9A41 /* ArrayTests.swift in Sources */, - 9C459EFD1A9103C1008C9A41 /* SubscriptTests.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - A8580F701BCF5C5B00DA927B /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 1B587CC81DDE04790012D8DB /* MergeTests.swift in Sources */, - A8580F801BCF69A000DA927B /* PerformanceTests.swift in Sources */, - A8580F811BCF69A000DA927B /* BaseTests.swift in Sources */, - 5DD502931D9B21810004C112 /* NestedJSONTests.swift in Sources */, - A8580F821BCF69A000DA927B /* SequenceTypeTests.swift in Sources */, - A8580F831BCF69A000DA927B /* PrintableTests.swift in Sources */, - A8580F841BCF69A000DA927B /* SubscriptTests.swift in Sources */, - A830A6971E5B2DD8001D7F6D /* MutabilityTests.swift in Sources */, - A8580F851BCF69A000DA927B /* LiteralConvertibleTests.swift in Sources */, - 712921F12004E4EB00DA6340 /* CodableTests.swift in Sources */, - A8580F861BCF69A000DA927B /* RawRepresentableTests.swift in Sources */, - A8580F871BCF69A000DA927B /* ComparableTests.swift in Sources */, - A8580F881BCF69A000DA927B /* StringTests.swift in Sources */, - A8580F891BCF69A000DA927B /* NumberTests.swift in Sources */, - A8580F8A1BCF69A000DA927B /* RawTests.swift in Sources */, - A8580F8B1BCF69A000DA927B /* DictionaryTests.swift in Sources */, - A8580F8C1BCF69A000DA927B /* ArrayTests.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - E4D7CCDF1B9465A700EE7221 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - E4D7CCE01B9465A700EE7221 /* SwiftyJSON.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 2E4FEFE919575BE100351305 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 2E4FEFDA19575BE100351305 /* SwiftyJSON iOS */; - targetProxy = 2E4FEFE819575BE100351305 /* PBXContainerItemProxy */; - }; - 9C7DFC681A9102BD005AA3F7 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 9C7DFC5A1A9102BD005AA3F7 /* SwiftyJSON macOS */; - targetProxy = 9C7DFC671A9102BD005AA3F7 /* PBXContainerItemProxy */; - }; - A8580F7B1BCF5C5B00DA927B /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 7236B4EC1BAC14150020529B /* SwiftyJSON tvOS */; - targetProxy = A8580F7A1BCF5C5B00DA927B /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin XCBuildConfiguration section */ - 2E4FEFEF19575BE100351305 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = fast; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MACOSX_DEPLOYMENT_TARGET = 10.9; - METAL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 3.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - 2E4FEFF019575BE100351305 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; - COPY_PHASE_STRIP = YES; - CURRENT_PROJECT_VERSION = 1; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = fast; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MACOSX_DEPLOYMENT_TARGET = 10.9; - METAL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 3.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - 2E4FEFF219575BE100351305 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - BITCODE_GENERATION_MODE = bitcode; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = ""; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_OPTIMIZATION_LEVEL = 0; - INFOPLIST_FILE = "Source/Info-iOS.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.swiftyjson.$(PRODUCT_NAME:rfc1034identifier)"; - PRODUCT_NAME = SwiftyJSON; - SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_SWIFT3_OBJC_INFERENCE = Default; - SWIFT_VERSION = 4.0; - }; - name = Debug; - }; - 2E4FEFF319575BE100351305 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - BITCODE_GENERATION_MODE = bitcode; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = ""; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_OPTIMIZATION_LEVEL = s; - INFOPLIST_FILE = "Source/Info-iOS.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.swiftyjson.$(PRODUCT_NAME:rfc1034identifier)"; - PRODUCT_NAME = SwiftyJSON; - SKIP_INSTALL = YES; - SWIFT_SWIFT3_OBJC_INFERENCE = Default; - SWIFT_VERSION = 4.0; - }; - name = Release; - }; - 2E4FEFF519575BE100351305 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - DEVELOPMENT_TEAM = ""; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - INFOPLIST_FILE = "Tests/SwiftyJSONTests/Info-iOS.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 9.1; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - METAL_ENABLE_DEBUG_INFO = YES; - PRODUCT_BUNDLE_IDENTIFIER = "com.swiftyjson.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_SWIFT3_OBJC_INFERENCE = Default; - SWIFT_VERSION = 4.0; - }; - name = Debug; - }; - 2E4FEFF619575BE100351305 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - DEVELOPMENT_TEAM = ""; - GCC_OPTIMIZATION_LEVEL = s; - INFOPLIST_FILE = "Tests/SwiftyJSONTests/Info-iOS.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 9.1; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - METAL_ENABLE_DEBUG_INFO = NO; - PRODUCT_BUNDLE_IDENTIFIER = "com.swiftyjson.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_SWIFT3_OBJC_INFERENCE = Default; - SWIFT_VERSION = 4.0; - }; - name = Release; - }; - 7236B4F41BAC14150020529B /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = ""; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_OPTIMIZATION_LEVEL = 0; - INFOPLIST_FILE = "Source/Info-tvOS.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.swiftyjson.$(PRODUCT_NAME:rfc1034identifier)"; - PRODUCT_NAME = SwiftyJSON; - SDKROOT = appletvos; - SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 4.2; - TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 9.0; - }; - name = Debug; - }; - 7236B4F51BAC14150020529B /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = ""; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_OPTIMIZATION_LEVEL = s; - INFOPLIST_FILE = "Source/Info-tvOS.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.swiftyjson.$(PRODUCT_NAME:rfc1034identifier)"; - PRODUCT_NAME = SwiftyJSON; - SDKROOT = appletvos; - SKIP_INSTALL = YES; - SWIFT_VERSION = 4.2; - TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 9.0; - }; - name = Release; - }; - 9C7DFC6F1A9102BD005AA3F7 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - CODE_SIGN_IDENTITY = ""; - COMBINE_HIDPI_IMAGES = YES; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_VERSION = A; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - INFOPLIST_FILE = "Source/Info-macOS.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.10; - MTL_ENABLE_DEBUG_INFO = YES; - PLIST_FILE_OUTPUT_FORMAT = binary; - PRODUCT_BUNDLE_IDENTIFIER = "com.swiftyjson.$(PRODUCT_NAME:rfc1034identifier)"; - PRODUCT_NAME = "$(PROJECT_NAME)"; - SDKROOT = macosx; - SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 4.2; - }; - name = Debug; - }; - 9C7DFC701A9102BD005AA3F7 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - CODE_SIGN_IDENTITY = ""; - COMBINE_HIDPI_IMAGES = YES; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_VERSION = A; - GCC_OPTIMIZATION_LEVEL = s; - INFOPLIST_FILE = "Source/Info-macOS.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.10; - MTL_ENABLE_DEBUG_INFO = NO; - PLIST_FILE_OUTPUT_FORMAT = binary; - PRODUCT_BUNDLE_IDENTIFIER = "com.swiftyjson.$(PRODUCT_NAME:rfc1034identifier)"; - PRODUCT_NAME = "$(PROJECT_NAME)"; - SDKROOT = macosx; - SKIP_INSTALL = YES; - SWIFT_VERSION = 4.2; - }; - name = Release; - }; - 9C7DFC721A9102BD005AA3F7 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - COMBINE_HIDPI_IMAGES = YES; - FRAMEWORK_SEARCH_PATHS = ""; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - INFOPLIST_FILE = "Tests/SwiftyJSONTests/Info-macOS.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.10; - MTL_ENABLE_DEBUG_INFO = YES; - PRODUCT_BUNDLE_IDENTIFIER = "com.swiftyjson.$(PRODUCT_NAME:rfc1034identifier)"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = macosx; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 4.2; - }; - name = Debug; - }; - 9C7DFC731A9102BD005AA3F7 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - COMBINE_HIDPI_IMAGES = YES; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - FRAMEWORK_SEARCH_PATHS = ""; - GCC_OPTIMIZATION_LEVEL = s; - INFOPLIST_FILE = "Tests/SwiftyJSONTests/Info-macOS.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.10; - MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_BUNDLE_IDENTIFIER = "com.swiftyjson.$(PRODUCT_NAME:rfc1034identifier)"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = macosx; - SWIFT_VERSION = 4.2; - }; - name = Release; - }; - A81D162C1E5743B000C62C5F /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = macosx; - }; - name = Debug; - }; - A81D162D1E5743B000C62C5F /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = macosx; - }; - name = Release; - }; - A8580F7D1BCF5C5B00DA927B /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - DEBUG_INFORMATION_FORMAT = dwarf; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - INFOPLIST_FILE = "Tests/SwiftyJSONTests/Info-tvOS.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MTL_ENABLE_DEBUG_INFO = YES; - PRODUCT_BUNDLE_IDENTIFIER = "com.tangplin.SwiftyJSON-tvOS-Tests"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = appletvos; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 4.2; - TVOS_DEPLOYMENT_TARGET = 9.0; - }; - name = Debug; - }; - A8580F7E1BCF5C5B00DA927B /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = s; - INFOPLIST_FILE = "Tests/SwiftyJSONTests/Info-tvOS.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_BUNDLE_IDENTIFIER = "com.tangplin.SwiftyJSON-tvOS-Tests"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = appletvos; - SWIFT_VERSION = 4.2; - TVOS_DEPLOYMENT_TARGET = 9.0; - }; - name = Release; - }; - E4D7CCE61B9465A700EE7221 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - BITCODE_GENERATION_MODE = bitcode; - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = ""; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_OPTIMIZATION_LEVEL = 0; - INFOPLIST_FILE = "Source/Info-macOS.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.swiftyjson.$(PRODUCT_NAME:rfc1034identifier)"; - PRODUCT_NAME = SwiftyJSON; - SDKROOT = watchos; - SKIP_INSTALL = YES; - SUPPORTED_PLATFORMS = "watchsimulator watchos"; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 4.2; - TARGETED_DEVICE_FAMILY = 4; - WATCHOS_DEPLOYMENT_TARGET = 3.0; - }; - name = Debug; - }; - E4D7CCE71B9465A700EE7221 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - BITCODE_GENERATION_MODE = bitcode; - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = ""; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_OPTIMIZATION_LEVEL = s; - INFOPLIST_FILE = "Source/Info-macOS.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.swiftyjson.$(PRODUCT_NAME:rfc1034identifier)"; - PRODUCT_NAME = SwiftyJSON; - SDKROOT = watchos; - SKIP_INSTALL = YES; - SUPPORTED_PLATFORMS = "watchsimulator watchos"; - SWIFT_VERSION = 4.2; - TARGETED_DEVICE_FAMILY = 4; - WATCHOS_DEPLOYMENT_TARGET = 3.0; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 2E4FEFD519575BE100351305 /* Build configuration list for PBXProject "SwiftyJSON" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 2E4FEFEF19575BE100351305 /* Debug */, - 2E4FEFF019575BE100351305 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 2E4FEFF119575BE100351305 /* Build configuration list for PBXNativeTarget "SwiftyJSON iOS" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 2E4FEFF219575BE100351305 /* Debug */, - 2E4FEFF319575BE100351305 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 2E4FEFF419575BE100351305 /* Build configuration list for PBXNativeTarget "SwiftyJSON iOS Tests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 2E4FEFF519575BE100351305 /* Debug */, - 2E4FEFF619575BE100351305 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 7236B4F31BAC14150020529B /* Build configuration list for PBXNativeTarget "SwiftyJSON tvOS" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 7236B4F41BAC14150020529B /* Debug */, - 7236B4F51BAC14150020529B /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 9C7DFC6E1A9102BD005AA3F7 /* Build configuration list for PBXNativeTarget "SwiftyJSON macOS" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 9C7DFC6F1A9102BD005AA3F7 /* Debug */, - 9C7DFC701A9102BD005AA3F7 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 9C7DFC711A9102BD005AA3F7 /* Build configuration list for PBXNativeTarget "SwiftyJSON macOS Tests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 9C7DFC721A9102BD005AA3F7 /* Debug */, - 9C7DFC731A9102BD005AA3F7 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - A81D162E1E5743B000C62C5F /* Build configuration list for PBXAggregateTarget "SwiftLint" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - A81D162C1E5743B000C62C5F /* Debug */, - A81D162D1E5743B000C62C5F /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - A8580F7C1BCF5C5B00DA927B /* Build configuration list for PBXNativeTarget "SwiftyJSON tvOS Tests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - A8580F7D1BCF5C5B00DA927B /* Debug */, - A8580F7E1BCF5C5B00DA927B /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - E4D7CCE51B9465A700EE7221 /* Build configuration list for PBXNativeTarget "SwiftyJSON watchOS" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - E4D7CCE61B9465A700EE7221 /* Debug */, - E4D7CCE71B9465A700EE7221 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 2E4FEFD219575BE100351305 /* Project object */; -} diff --git a/Kumi/SwiftyJSON-4.2.0/SwiftyJSON.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Kumi/SwiftyJSON-4.2.0/SwiftyJSON.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100755 index ee44b8a..0000000 --- a/Kumi/SwiftyJSON-4.2.0/SwiftyJSON.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/Kumi/SwiftyJSON-4.2.0/SwiftyJSON.xcodeproj/xcshareddata/xcschemes/SwiftyJSON iOS.xcscheme b/Kumi/SwiftyJSON-4.2.0/SwiftyJSON.xcodeproj/xcshareddata/xcschemes/SwiftyJSON iOS.xcscheme deleted file mode 100755 index 9807654..0000000 --- a/Kumi/SwiftyJSON-4.2.0/SwiftyJSON.xcodeproj/xcshareddata/xcschemes/SwiftyJSON iOS.xcscheme +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Kumi/SwiftyJSON-4.2.0/SwiftyJSON.xcodeproj/xcshareddata/xcschemes/SwiftyJSON macOS.xcscheme b/Kumi/SwiftyJSON-4.2.0/SwiftyJSON.xcodeproj/xcshareddata/xcschemes/SwiftyJSON macOS.xcscheme deleted file mode 100755 index 6311a29..0000000 --- a/Kumi/SwiftyJSON-4.2.0/SwiftyJSON.xcodeproj/xcshareddata/xcschemes/SwiftyJSON macOS.xcscheme +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Kumi/SwiftyJSON-4.2.0/SwiftyJSON.xcodeproj/xcshareddata/xcschemes/SwiftyJSON tvOS.xcscheme b/Kumi/SwiftyJSON-4.2.0/SwiftyJSON.xcodeproj/xcshareddata/xcschemes/SwiftyJSON tvOS.xcscheme deleted file mode 100755 index bc71250..0000000 --- a/Kumi/SwiftyJSON-4.2.0/SwiftyJSON.xcodeproj/xcshareddata/xcschemes/SwiftyJSON tvOS.xcscheme +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Kumi/SwiftyJSON-4.2.0/SwiftyJSON.xcodeproj/xcshareddata/xcschemes/SwiftyJSON watchOS.xcscheme b/Kumi/SwiftyJSON-4.2.0/SwiftyJSON.xcodeproj/xcshareddata/xcschemes/SwiftyJSON watchOS.xcscheme deleted file mode 100755 index e81d89f..0000000 --- a/Kumi/SwiftyJSON-4.2.0/SwiftyJSON.xcodeproj/xcshareddata/xcschemes/SwiftyJSON watchOS.xcscheme +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Kumi/SwiftyJSON-4.2.0/SwiftyJSON.xcworkspace/contents.xcworkspacedata b/Kumi/SwiftyJSON-4.2.0/SwiftyJSON.xcworkspace/contents.xcworkspacedata deleted file mode 100755 index 1ef2d2f..0000000 --- a/Kumi/SwiftyJSON-4.2.0/SwiftyJSON.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - diff --git a/Kumi/SwiftyJSON-4.2.0/SwiftyJSON.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Kumi/SwiftyJSON-4.2.0/SwiftyJSON.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100755 index 18d9810..0000000 --- a/Kumi/SwiftyJSON-4.2.0/SwiftyJSON.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/Kumi/SwiftyJSON-4.2.0/SwiftyJSON.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/Kumi/SwiftyJSON-4.2.0/SwiftyJSON.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings deleted file mode 100755 index 54782e3..0000000 --- a/Kumi/SwiftyJSON-4.2.0/SwiftyJSON.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEWorkspaceSharedSettings_AutocreateContextsIfNeeded - - - diff --git a/Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/ArrayTests.swift b/Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/ArrayTests.swift deleted file mode 100755 index 0c955e7..0000000 --- a/Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/ArrayTests.swift +++ /dev/null @@ -1,45 +0,0 @@ -// ArrayTests.swift -// -// Copyright (c) 2014 - 2017 Pinglin Tang -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. - -import XCTest -import SwiftyJSON - -class ArrayTests: XCTestCase { - - func testSingleDimensionalArraysGetter() { - let array = ["1", "2", "a", "B", "D"] - let json = JSON(array) - XCTAssertEqual((json.array![0] as JSON).string!, "1") - XCTAssertEqual((json.array![1] as JSON).string!, "2") - XCTAssertEqual((json.array![2] as JSON).string!, "a") - XCTAssertEqual((json.array![3] as JSON).string!, "B") - XCTAssertEqual((json.array![4] as JSON).string!, "D") - } - - func testSingleDimensionalArraysSetter() { - let array = ["1", "2", "a", "B", "D"] - var json = JSON(array) - json.arrayObject = ["111", "222"] - XCTAssertEqual((json.array![0] as JSON).string!, "111") - XCTAssertEqual((json.array![1] as JSON).string!, "222") - } -} diff --git a/Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/BaseTests.swift b/Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/BaseTests.swift deleted file mode 100755 index 16dab02..0000000 --- a/Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/BaseTests.swift +++ /dev/null @@ -1,275 +0,0 @@ -// BaseTests.swift -// -// Copyright (c) 2014 - 2017 Ruoyu Fu, Pinglin Tang -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. - -import XCTest -import SwiftyJSON - -class BaseTests: XCTestCase { - - var testData: Data! - - override func setUp() { - - super.setUp() - - if let file = Bundle(for: BaseTests.self).path(forResource: "Tests", ofType: "json") { - self.testData = try? Data(contentsOf: URL(fileURLWithPath: file)) - } else { - XCTFail("Can't find the test JSON file") - } - } - - override func tearDown() { - super.tearDown() - } - - func testInit() { - guard let json0 = try? JSON(data: self.testData) else { - XCTFail("Unable to parse testData") - return - } - XCTAssertEqual(json0.array!.count, 3) - XCTAssertEqual(JSON("123").description, "123") - XCTAssertEqual(JSON(["1": "2"])["1"].string!, "2") - let dictionary = NSMutableDictionary() - dictionary.setObject(NSNumber(value: 1.0), forKey: "number" as NSString) - dictionary.setObject(NSNull(), forKey: "null" as NSString) - _ = JSON(dictionary) - do { - let object: Any = try JSONSerialization.jsonObject(with: self.testData, options: []) - let json2 = JSON(object) - XCTAssertEqual(json0, json2) - } catch _ { - } - } - - func testCompare() { - XCTAssertNotEqual(JSON("32.1234567890"), JSON(32.1234567890)) - let veryLargeNumber: UInt64 = 9876543210987654321 - XCTAssertNotEqual(JSON("9876543210987654321"), JSON(NSNumber(value: veryLargeNumber))) - XCTAssertNotEqual(JSON("9876543210987654321.12345678901234567890"), JSON(9876543210987654321.12345678901234567890)) - XCTAssertEqual(JSON("😊"), JSON("😊")) - XCTAssertNotEqual(JSON("😱"), JSON("😁")) - XCTAssertEqual(JSON([123, 321, 456]), JSON([123, 321, 456])) - XCTAssertNotEqual(JSON([123, 321, 456]), JSON(123456789)) - XCTAssertNotEqual(JSON([123, 321, 456]), JSON("string")) - XCTAssertNotEqual(JSON(["1": 123, "2": 321, "3": 456]), JSON("string")) - XCTAssertEqual(JSON(["1": 123, "2": 321, "3": 456]), JSON(["2": 321, "1": 123, "3": 456])) - XCTAssertEqual(JSON(NSNull()), JSON(NSNull())) - XCTAssertNotEqual(JSON(NSNull()), JSON(123)) - } - - func testJSONDoesProduceValidWithCorrectKeyPath() { - - guard let json = try? JSON(data: self.testData) else { - XCTFail("Unable to parse testData") - return - } - - let tweets = json - let tweets_array = json.array - let tweets_1 = json[1] - _ = tweets_1[1] - let tweets_1_user_name = tweets_1["user"]["name"] - let tweets_1_user_name_string = tweets_1["user"]["name"].string - XCTAssertNotEqual(tweets.type, Type.null) - XCTAssert(tweets_array != nil) - XCTAssertNotEqual(tweets_1.type, Type.null) - XCTAssertEqual(tweets_1_user_name, JSON("Raffi Krikorian")) - XCTAssertEqual(tweets_1_user_name_string!, "Raffi Krikorian") - - let tweets_1_coordinates = tweets_1["coordinates"] - let tweets_1_coordinates_coordinates = tweets_1_coordinates["coordinates"] - let tweets_1_coordinates_coordinates_point_0_double = tweets_1_coordinates_coordinates[0].double - let tweets_1_coordinates_coordinates_point_1_float = tweets_1_coordinates_coordinates[1].float - let new_tweets_1_coordinates_coordinates = JSON([-122.25831, 37.871609] as NSArray) - XCTAssertEqual(tweets_1_coordinates_coordinates, new_tweets_1_coordinates_coordinates) - XCTAssertEqual(tweets_1_coordinates_coordinates_point_0_double!, -122.25831) - XCTAssertTrue(tweets_1_coordinates_coordinates_point_1_float! == 37.871609) - let tweets_1_coordinates_coordinates_point_0_string = tweets_1_coordinates_coordinates[0].stringValue - let tweets_1_coordinates_coordinates_point_1_string = tweets_1_coordinates_coordinates[1].stringValue - XCTAssertEqual(tweets_1_coordinates_coordinates_point_0_string, "-122.25831") - XCTAssertEqual(tweets_1_coordinates_coordinates_point_1_string, "37.871609") - let tweets_1_coordinates_coordinates_point_0 = tweets_1_coordinates_coordinates[0] - let tweets_1_coordinates_coordinates_point_1 = tweets_1_coordinates_coordinates[1] - XCTAssertEqual(tweets_1_coordinates_coordinates_point_0, JSON(-122.25831)) - XCTAssertEqual(tweets_1_coordinates_coordinates_point_1, JSON(37.871609)) - - let created_at = json[0]["created_at"].string - let id_str = json[0]["id_str"].string - let favorited = json[0]["favorited"].bool - let id = json[0]["id"].int64 - let in_reply_to_user_id_str = json[0]["in_reply_to_user_id_str"] - XCTAssertEqual(created_at!, "Tue Aug 28 21:16:23 +0000 2012") - XCTAssertEqual(id_str!, "240558470661799936") - XCTAssertFalse(favorited!) - XCTAssertEqual(id!, 240558470661799936) - XCTAssertEqual(in_reply_to_user_id_str.type, Type.null) - - let user = json[0]["user"] - let user_name = user["name"].string - let user_profile_image_url = user["profile_image_url"].url - XCTAssert(user_name == "OAuth Dancer") - XCTAssert(user_profile_image_url == URL(string: "http://a0.twimg.com/profile_images/730275945/oauth-dancer_normal.jpg")) - - let user_dictionary = json[0]["user"].dictionary - let user_dictionary_name = user_dictionary?["name"]?.string - let user_dictionary_name_profile_image_url = user_dictionary?["profile_image_url"]?.url - XCTAssert(user_dictionary_name == "OAuth Dancer") - XCTAssert(user_dictionary_name_profile_image_url == URL(string: "http://a0.twimg.com/profile_images/730275945/oauth-dancer_normal.jpg")) - } - - func testJSONNumberCompare() { - XCTAssertEqual(JSON(12376352.123321), JSON(12376352.123321)) - XCTAssertGreaterThan(JSON(20.211), JSON(20.112)) - XCTAssertGreaterThanOrEqual(JSON(30.211), JSON(20.112)) - XCTAssertGreaterThanOrEqual(JSON(65232), JSON(65232)) - XCTAssertLessThan(JSON(-82320.211), JSON(20.112)) - XCTAssertLessThanOrEqual(JSON(-320.211), JSON(123.1)) - XCTAssertLessThanOrEqual(JSON(-8763), JSON(-8763)) - - XCTAssertEqual(JSON(12376352.123321), JSON(12376352.123321)) - XCTAssertGreaterThan(JSON(20.211), JSON(20.112)) - XCTAssertGreaterThanOrEqual(JSON(30.211), JSON(20.112)) - XCTAssertGreaterThanOrEqual(JSON(65232), JSON(65232)) - XCTAssertLessThan(JSON(-82320.211), JSON(20.112)) - XCTAssertLessThanOrEqual(JSON(-320.211), JSON(123.1)) - XCTAssertLessThanOrEqual(JSON(-8763), JSON(-8763)) - } - - func testNumberConvertToString() { - XCTAssertEqual(JSON(true).stringValue, "true") - XCTAssertEqual(JSON(999.9823).stringValue, "999.9823") - XCTAssertEqual(JSON(true).number!.stringValue, "1") - XCTAssertEqual(JSON(false).number!.stringValue, "0") - XCTAssertEqual(JSON("hello").numberValue.stringValue, "0") - XCTAssertEqual(JSON(NSNull()).numberValue.stringValue, "0") - XCTAssertEqual(JSON(["a", "b", "c", "d"]).numberValue.stringValue, "0") - XCTAssertEqual(JSON(["a": "b", "c": "d"]).numberValue.stringValue, "0") - } - - func testNumberPrint() { - - XCTAssertEqual(JSON(false).description, "false") - XCTAssertEqual(JSON(true).description, "true") - - XCTAssertEqual(JSON(1).description, "1") - XCTAssertEqual(JSON(22).description, "22") - #if (arch(x86_64) || arch(arm64)) - XCTAssertEqual(JSON(9.22337203685478E18).description, "9.22337203685478e+18") - #elseif (arch(i386) || arch(arm)) - XCTAssertEqual(JSON(2147483647).description, "2147483647") - #endif - XCTAssertEqual(JSON(-1).description, "-1") - XCTAssertEqual(JSON(-934834834).description, "-934834834") - XCTAssertEqual(JSON(-2147483648).description, "-2147483648") - - XCTAssertEqual(JSON(1.5555).description, "1.5555") - XCTAssertEqual(JSON(-9.123456789).description, "-9.123456789") - XCTAssertEqual(JSON(-0.00000000000000001).description, "-1e-17") - XCTAssertEqual(JSON(-999999999999999999999999.000000000000000000000001).description, "-1e+24") - XCTAssertEqual(JSON(-9999999991999999999999999.88888883433343439438493483483943948341).stringValue, "-9.999999991999999e+24") - - XCTAssertEqual(JSON(Int(Int.max)).description, "\(Int.max)") - XCTAssertEqual(JSON(NSNumber(value: Int.min)).description, "\(Int.min)") - XCTAssertEqual(JSON(NSNumber(value: UInt.max)).description, "\(UInt.max)") - XCTAssertEqual(JSON(NSNumber(value: UInt64.max)).description, "\(UInt64.max)") - XCTAssertEqual(JSON(NSNumber(value: Int64.max)).description, "\(Int64.max)") - XCTAssertEqual(JSON(NSNumber(value: UInt64.max)).description, "\(UInt64.max)") - - XCTAssertEqual(JSON(Double.infinity).description, "inf") - XCTAssertEqual(JSON(-Double.infinity).description, "-inf") - XCTAssertEqual(JSON(Double.nan).description, "nan") - - XCTAssertEqual(JSON(1.0/0.0).description, "inf") - XCTAssertEqual(JSON(-1.0/0.0).description, "-inf") - XCTAssertEqual(JSON(0.0/0.0).description, "nan") - } - - func testNullJSON() { - XCTAssertEqual(JSON(NSNull()).debugDescription, "null") - - let json: JSON = JSON.null - XCTAssertEqual(json.debugDescription, "null") - XCTAssertNil(json.error) - let json1: JSON = JSON(NSNull()) - if json1 != JSON.null { - XCTFail("json1 should be nil") - } - } - - func testExistance() { - let dictionary = ["number": 1111] - let json = JSON(dictionary) - XCTAssertFalse(json["unspecifiedValue"].exists()) - XCTAssertFalse(json[0].exists()) - XCTAssertTrue(json["number"].exists()) - - let array = [["number": 1111]] - let jsonForArray = JSON(array) - XCTAssertTrue(jsonForArray[0].exists()) - XCTAssertFalse(jsonForArray[1].exists()) - XCTAssertFalse(jsonForArray["someValue"].exists()) - } - - func testErrorHandle() { - guard let json = try? JSON(data: self.testData) else { - XCTFail("Unable to parse testData") - return - } - if json["wrong-type"].string != nil { - XCTFail("Should not run into here") - } else { - XCTAssertEqual(json["wrong-type"].error, SwiftyJSONError.wrongType) - } - - if json[0]["not-exist"].string != nil { - XCTFail("Should not run into here") - } else { - XCTAssertEqual(json[0]["not-exist"].error, SwiftyJSONError.notExist) - } - - let wrongJSON = JSON(NSObject()) - if let error = wrongJSON.error { - XCTAssertEqual(error, SwiftyJSONError.unsupportedType) - } - } - - func testReturnObject() { - guard let json = try? JSON(data: self.testData) else { - XCTFail("Unable to parse testData") - return - } - XCTAssertNotNil(json.object) - } - - func testErrorThrowing() { - let invalidJson = "{\"foo\": 300]" // deliberately incorrect JSON - let invalidData = invalidJson.data(using: .utf8)! - do { - _ = try JSON(data: invalidData) - XCTFail("Should have thrown error; we should not have gotten here") - } catch { - // everything is OK - } - } -} diff --git a/Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/CodableTests.swift b/Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/CodableTests.swift deleted file mode 100755 index a3608c1..0000000 --- a/Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/CodableTests.swift +++ /dev/null @@ -1,104 +0,0 @@ -// CodableTests.swift -// -// Created by Lei Wang on 2018/1/9. -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. - -import XCTest -import SwiftyJSON - -class CodableTests: XCTestCase { - - func testEncodeNull() { - var json = JSON([NSNull()]) - _ = try! JSONEncoder().encode(json) - json = JSON([nil]) - _ = try! JSONEncoder().encode(json) - let dictionary: [String: Any?] = ["key": nil] - json = JSON(dictionary) - _ = try! JSONEncoder().encode(json) - } - - func testArrayCodable() { - let jsonString = """ - [1,"false", ["A", 4.3231],"3",true] - """ - var data = jsonString.data(using: .utf8)! - let json = try! JSONDecoder().decode(JSON.self, from: data) - XCTAssertEqual(json.arrayValue.first?.int, 1) - XCTAssertEqual(json[1].bool, nil) - XCTAssertEqual(json[1].string, "false") - XCTAssertEqual(json[3].string, "3") - XCTAssertEqual(json[2][1].double!, 4.3231) - XCTAssertEqual(json.arrayValue[0].bool, nil) - XCTAssertEqual(json.array!.last!.bool, true) - let jsonList = try! JSONDecoder().decode([JSON].self, from: data) - XCTAssertEqual(jsonList.first?.int, 1) - XCTAssertEqual(jsonList.last!.bool, true) - data = try! JSONEncoder().encode(json) - let list = try! JSONSerialization.jsonObject(with: data, options: []) as! [Any] - XCTAssertEqual(list[0] as! Int, 1) - XCTAssertEqual((list[2] as! [Any])[1] as! NSNumber, 4.3231) - } - - func testDictionaryCodable() { - let dictionary: [String: Any] = ["number": 9823.212, "name": "NAME", "list": [1234, 4.21223256], "object": ["sub_number": 877.2323, "sub_name": "sub_name"], "bool": true] - var data = try! JSONSerialization.data(withJSONObject: dictionary, options: []) - let json = try! JSONDecoder().decode(JSON.self, from: data) - XCTAssertNotNil(json.dictionary) - XCTAssertEqual(json["number"].float, 9823.212) - XCTAssertEqual(json["list"].arrayObject is [NSNumber], true) - XCTAssertEqual(json["object"]["sub_number"].float, 877.2323) - XCTAssertEqual(json["bool"].bool, true) - let jsonDict = try! JSONDecoder().decode([String: JSON].self, from: data) - XCTAssertEqual(jsonDict["number"]?.int, 9823) - XCTAssertEqual(jsonDict["object"]?["sub_name"], "sub_name") - data = try! JSONEncoder().encode(json) - var encoderDict = try! JSONSerialization.jsonObject(with: data, options: []) as! [String: Any] - XCTAssertEqual(encoderDict["list"] as! [NSNumber], [1234, 4.21223256]) - XCTAssertEqual(encoderDict["bool"] as! Bool, true) - data = try! JSONEncoder().encode(jsonDict) - encoderDict = try! JSONSerialization.jsonObject(with: data, options: []) as! [String: Any] - XCTAssertEqual(encoderDict["name"] as! String, dictionary["name"] as! String) - XCTAssertEqual((encoderDict["object"] as! [String: Any])["sub_number"] as! NSNumber, 877.2323) - } - - func testCodableModel() { - let dictionary: [String: Any] = [ - "number": 9823.212, - "name": "NAME", - "list": [1234, 4.21223256], - "object": ["sub_number": 877.2323, "sub_name": "sub_name"], - "bool": true] - let data = try! JSONSerialization.data(withJSONObject: dictionary, options: []) - let model = try! JSONDecoder().decode(CodableModel.self, from: data) - XCTAssertEqual(model.subName, "sub_name") - } -} - -private struct CodableModel: Codable { - let name: String - let number: Double - let bool: Bool - let list: [Double] - private let object: JSON - var subName: String? { - return object["sub_name"].string - } -} diff --git a/Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/ComparableTests.swift b/Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/ComparableTests.swift deleted file mode 100755 index a7b6908..0000000 --- a/Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/ComparableTests.swift +++ /dev/null @@ -1,337 +0,0 @@ -// ComparableTests.swift -// -// Copyright (c) 2014 - 2017 Pinglin Tang -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. - -import XCTest -import SwiftyJSON - -class ComparableTests: XCTestCase { - - func testNumberEqual() { - let jsonL1: JSON = 1234567890.876623 - let jsonR1: JSON = JSON(1234567890.876623) - XCTAssertEqual(jsonL1, jsonR1) - XCTAssertTrue(jsonL1 == 1234567890.876623) - - let jsonL2: JSON = 987654321 - let jsonR2: JSON = JSON(987654321) - XCTAssertEqual(jsonL2, jsonR2) - XCTAssertTrue(jsonR2 == 987654321) - - let jsonL3: JSON = JSON(NSNumber(value: 87654321.12345678)) - let jsonR3: JSON = JSON(NSNumber(value: 87654321.12345678)) - XCTAssertEqual(jsonL3, jsonR3) - XCTAssertTrue(jsonR3 == 87654321.12345678) - } - - func testNumberNotEqual() { - let jsonL1: JSON = 1234567890.876623 - let jsonR1: JSON = JSON(123.123) - XCTAssertNotEqual(jsonL1, jsonR1) - XCTAssertFalse(jsonL1 == 34343) - - let jsonL2: JSON = 8773 - let jsonR2: JSON = JSON(123.23) - XCTAssertNotEqual(jsonL2, jsonR2) - XCTAssertFalse(jsonR1 == 454352) - - let jsonL3: JSON = JSON(NSNumber(value: 87621.12345678)) - let jsonR3: JSON = JSON(NSNumber(value: 87654321.45678)) - XCTAssertNotEqual(jsonL3, jsonR3) - XCTAssertFalse(jsonL3 == 4545.232) - } - - func testNumberGreaterThanOrEqual() { - let jsonL1: JSON = 1234567890.876623 - let jsonR1: JSON = JSON(123.123) - XCTAssertGreaterThanOrEqual(jsonL1, jsonR1) - XCTAssertTrue(jsonL1 >= -37434) - - let jsonL2: JSON = 8773 - let jsonR2: JSON = JSON(-87343) - XCTAssertGreaterThanOrEqual(jsonL2, jsonR2) - XCTAssertTrue(jsonR2 >= -988343) - - let jsonL3: JSON = JSON(NSNumber(value: 87621.12345678)) - let jsonR3: JSON = JSON(NSNumber(value: 87621.12345678)) - XCTAssertGreaterThanOrEqual(jsonL3, jsonR3) - XCTAssertTrue(jsonR3 >= 0.3232) - } - - func testNumberLessThanOrEqual() { - let jsonL1: JSON = 1234567890.876623 - let jsonR1: JSON = JSON(123.123) - XCTAssertLessThanOrEqual(jsonR1, jsonL1) - XCTAssertFalse(83487343.3493 <= jsonR1) - - let jsonL2: JSON = 8773 - let jsonR2: JSON = JSON(-123.23) - XCTAssertLessThanOrEqual(jsonR2, jsonL2) - XCTAssertFalse(9348343 <= jsonR2) - - let jsonL3: JSON = JSON(NSNumber(value: 87621.12345678)) - let jsonR3: JSON = JSON(NSNumber(value: 87621.12345678)) - XCTAssertLessThanOrEqual(jsonR3, jsonL3) - XCTAssertTrue(87621.12345678 <= jsonR3) - } - - func testNumberGreaterThan() { - let jsonL1: JSON = 1234567890.876623 - let jsonR1: JSON = JSON(123.123) - XCTAssertGreaterThan(jsonL1, jsonR1) - XCTAssertFalse(jsonR1 > 192388843.0988) - - let jsonL2: JSON = 8773 - let jsonR2: JSON = JSON(123.23) - XCTAssertGreaterThan(jsonL2, jsonR2) - XCTAssertFalse(jsonR2 > 877434) - - let jsonL3: JSON = JSON(NSNumber(value: 87621.12345678)) - let jsonR3: JSON = JSON(NSNumber(value: 87621.1234567)) - XCTAssertGreaterThan(jsonL3, jsonR3) - XCTAssertFalse(-7799 > jsonR3) - } - - func testNumberLessThan() { - let jsonL1: JSON = 1234567890.876623 - let jsonR1: JSON = JSON(123.123) - XCTAssertLessThan(jsonR1, jsonL1) - XCTAssertTrue(jsonR1 < 192388843.0988) - - let jsonL2: JSON = 8773 - let jsonR2: JSON = JSON(123.23) - XCTAssertLessThan(jsonR2, jsonL2) - XCTAssertTrue(jsonR2 < 877434) - - let jsonL3: JSON = JSON(NSNumber(value: 87621.12345678)) - let jsonR3: JSON = JSON(NSNumber(value: 87621.1234567)) - XCTAssertLessThan(jsonR3, jsonL3) - XCTAssertTrue(-7799 < jsonR3) - } - - func testBoolEqual() { - let jsonL1: JSON = true - let jsonR1: JSON = JSON(true) - XCTAssertEqual(jsonL1, jsonR1) - XCTAssertTrue(jsonL1 == true) - - let jsonL2: JSON = false - let jsonR2: JSON = JSON(false) - XCTAssertEqual(jsonL2, jsonR2) - XCTAssertTrue(jsonL2 == false) - } - - func testBoolNotEqual() { - let jsonL1: JSON = true - let jsonR1: JSON = JSON(false) - XCTAssertNotEqual(jsonL1, jsonR1) - XCTAssertTrue(jsonL1 != false) - - let jsonL2: JSON = false - let jsonR2: JSON = JSON(true) - XCTAssertNotEqual(jsonL2, jsonR2) - XCTAssertTrue(jsonL2 != true) - } - - func testBoolGreaterThanOrEqual() { - let jsonL1: JSON = true - let jsonR1: JSON = JSON(true) - XCTAssertGreaterThanOrEqual(jsonL1, jsonR1) - XCTAssertTrue(jsonL1 >= true) - - let jsonL2: JSON = false - let jsonR2: JSON = JSON(false) - XCTAssertGreaterThanOrEqual(jsonL2, jsonR2) - XCTAssertFalse(jsonL2 >= true) - } - - func testBoolLessThanOrEqual() { - let jsonL1: JSON = true - let jsonR1: JSON = JSON(true) - XCTAssertLessThanOrEqual(jsonL1, jsonR1) - XCTAssertTrue(true <= jsonR1) - - let jsonL2: JSON = false - let jsonR2: JSON = JSON(false) - XCTAssertLessThanOrEqual(jsonL2, jsonR2) - XCTAssertFalse(jsonL2 <= true) - } - - func testBoolGreaterThan() { - let jsonL1: JSON = true - let jsonR1: JSON = JSON(true) - XCTAssertFalse(jsonL1 > jsonR1) - XCTAssertFalse(jsonL1 > true) - XCTAssertFalse(jsonR1 > false) - - let jsonL2: JSON = false - let jsonR2: JSON = JSON(false) - XCTAssertFalse(jsonL2 > jsonR2) - XCTAssertFalse(jsonL2 > false) - XCTAssertFalse(jsonR2 > true) - - let jsonL3: JSON = true - let jsonR3: JSON = JSON(false) - XCTAssertFalse(jsonL3 > jsonR3) - XCTAssertFalse(jsonL3 > false) - XCTAssertFalse(jsonR3 > true) - - let jsonL4: JSON = false - let jsonR4: JSON = JSON(true) - XCTAssertFalse(jsonL4 > jsonR4) - XCTAssertFalse(jsonL4 > false) - XCTAssertFalse(jsonR4 > true) - } - - func testBoolLessThan() { - let jsonL1: JSON = true - let jsonR1: JSON = JSON(true) - XCTAssertFalse(jsonL1 < jsonR1) - XCTAssertFalse(jsonL1 < true) - XCTAssertFalse(jsonR1 < false) - - let jsonL2: JSON = false - let jsonR2: JSON = JSON(false) - XCTAssertFalse(jsonL2 < jsonR2) - XCTAssertFalse(jsonL2 < false) - XCTAssertFalse(jsonR2 < true) - - let jsonL3: JSON = true - let jsonR3: JSON = JSON(false) - XCTAssertFalse(jsonL3 < jsonR3) - XCTAssertFalse(jsonL3 < false) - XCTAssertFalse(jsonR3 < true) - - let jsonL4: JSON = false - let jsonR4: JSON = JSON(true) - XCTAssertFalse(jsonL4 < jsonR4) - XCTAssertFalse(jsonL4 < false) - XCTAssertFalse(true < jsonR4) - } - - func testStringEqual() { - let jsonL1: JSON = "abcdefg 123456789 !@#$%^&*()" - let jsonR1: JSON = JSON("abcdefg 123456789 !@#$%^&*()") - - XCTAssertEqual(jsonL1, jsonR1) - XCTAssertTrue(jsonL1 == "abcdefg 123456789 !@#$%^&*()") - } - - func testStringNotEqual() { - let jsonL1: JSON = "abcdefg 123456789 !@#$%^&*()" - let jsonR1: JSON = JSON("-=[]\\\"987654321") - - XCTAssertNotEqual(jsonL1, jsonR1) - XCTAssertTrue(jsonL1 != "not equal") - } - - func testStringGreaterThanOrEqual() { - let jsonL1: JSON = "abcdefg 123456789 !@#$%^&*()" - let jsonR1: JSON = JSON("abcdefg 123456789 !@#$%^&*()") - - XCTAssertGreaterThanOrEqual(jsonL1, jsonR1) - XCTAssertTrue(jsonL1 >= "abcdefg 123456789 !@#$%^&*()") - - let jsonL2: JSON = "z-+{}:" - let jsonR2: JSON = JSON("a<>?:") - XCTAssertGreaterThanOrEqual(jsonL2, jsonR2) - XCTAssertTrue(jsonL2 >= "mnbvcxz") - } - - func testStringLessThanOrEqual() { - let jsonL1: JSON = "abcdefg 123456789 !@#$%^&*()" - let jsonR1: JSON = JSON("abcdefg 123456789 !@#$%^&*()") - - XCTAssertLessThanOrEqual(jsonL1, jsonR1) - XCTAssertTrue(jsonL1 <= "abcdefg 123456789 !@#$%^&*()") - - let jsonL2: JSON = "z-+{}:" - let jsonR2: JSON = JSON("a<>?:") - XCTAssertLessThanOrEqual(jsonR2, jsonL2) - XCTAssertTrue("mnbvcxz" <= jsonL2) - } - - func testStringGreaterThan() { - let jsonL1: JSON = "abcdefg 123456789 !@#$%^&*()" - let jsonR1: JSON = JSON("abcdefg 123456789 !@#$%^&*()") - - XCTAssertFalse(jsonL1 > jsonR1) - XCTAssertFalse(jsonL1 > "abcdefg 123456789 !@#$%^&*()") - - let jsonL2: JSON = "z-+{}:" - let jsonR2: JSON = JSON("a<>?:") - XCTAssertGreaterThan(jsonL2, jsonR2) - XCTAssertFalse("87663434" > jsonL2) - } - - func testStringLessThan() { - let jsonL1: JSON = "abcdefg 123456789 !@#$%^&*()" - let jsonR1: JSON = JSON("abcdefg 123456789 !@#$%^&*()") - - XCTAssertFalse(jsonL1 < jsonR1) - XCTAssertFalse(jsonL1 < "abcdefg 123456789 !@#$%^&*()") - - let jsonL2: JSON = "98774" - let jsonR2: JSON = JSON("123456") - XCTAssertLessThan(jsonR2, jsonL2) - XCTAssertFalse(jsonL2 < "09") - } - - func testNil() { - let jsonL1: JSON = JSON.null - let jsonR1: JSON = JSON(NSNull()) - XCTAssertEqual(jsonL1, jsonR1) - XCTAssertTrue(jsonL1 != "123") - XCTAssertFalse(jsonL1 > "abcd") - XCTAssertFalse(jsonR1 < "*&^") - XCTAssertFalse(jsonL1 >= "jhfid") - XCTAssertFalse(jsonR1 <= "你好") - XCTAssertTrue(jsonL1 >= jsonR1) - XCTAssertTrue(jsonL1 <= jsonR1) - } - - func testArray() { - let jsonL1: JSON = [1, 2, "4", 5, "6"] - let jsonR1: JSON = JSON([1, 2, "4", 5, "6"]) - XCTAssertEqual(jsonL1, jsonR1) - XCTAssertTrue(jsonL1 == [1, 2, "4", 5, "6"]) - XCTAssertTrue(jsonL1 != ["abcd", "efg"]) - XCTAssertTrue(jsonL1 >= jsonR1) - XCTAssertTrue(jsonL1 <= jsonR1) - XCTAssertFalse(jsonL1 > ["abcd", ""]) - XCTAssertFalse(jsonR1 < []) - XCTAssertFalse(jsonL1 >= [:]) - } - - func testDictionary() { - let jsonL1: JSON = ["2": 2, "name": "Jack", "List": ["a", 1.09, NSNull()]] - let jsonR1: JSON = JSON(["2": 2, "name": "Jack", "List": ["a", 1.09, NSNull()]]) - - XCTAssertEqual(jsonL1, jsonR1) - XCTAssertTrue(jsonL1 != ["1": 2, "Hello": "World", "Koo": "Foo"]) - XCTAssertTrue(jsonL1 >= jsonR1) - XCTAssertTrue(jsonL1 <= jsonR1) - XCTAssertFalse(jsonL1 >= [:]) - XCTAssertFalse(jsonR1 <= ["999": "aaaa"]) - XCTAssertFalse(jsonL1 > [")(*&^": 1234567]) - XCTAssertFalse(jsonR1 < ["MNHH": "JUYTR"]) - } -} diff --git a/Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/DictionaryTests.swift b/Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/DictionaryTests.swift deleted file mode 100755 index dc89200..0000000 --- a/Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/DictionaryTests.swift +++ /dev/null @@ -1,55 +0,0 @@ -// DictionaryTests.swift -// -// Copyright (c) 2014 - 2017 Pinglin Tang -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. - -import XCTest -import SwiftyJSON - -class DictionaryTests: XCTestCase { - - func testGetter() { - let dictionary = ["number": 9823.212, "name": "NAME", "list": [1234, 4.212], "object": ["sub_number": 877.2323, "sub_name": "sub_name"], "bool": true] as [String: Any] - let json = JSON(dictionary) - //dictionary - XCTAssertEqual((json.dictionary!["number"]! as JSON).double!, 9823.212) - XCTAssertEqual((json.dictionary!["name"]! as JSON).string!, "NAME") - XCTAssertEqual(((json.dictionary!["list"]! as JSON).array![0] as JSON).int!, 1234) - XCTAssertEqual(((json.dictionary!["list"]! as JSON).array![1] as JSON).double!, 4.212) - XCTAssertEqual((((json.dictionary!["object"]! as JSON).dictionaryValue)["sub_number"]! as JSON).double!, 877.2323) - XCTAssertTrue(json.dictionary!["null"] == nil) - //dictionaryValue - XCTAssertEqual(((((json.dictionaryValue)["object"]! as JSON).dictionaryValue)["sub_name"]! as JSON).string!, "sub_name") - XCTAssertEqual((json.dictionaryValue["bool"]! as JSON).bool!, true) - XCTAssertTrue(json.dictionaryValue["null"] == nil) - XCTAssertTrue(JSON.null.dictionaryValue == [:]) - //dictionaryObject - XCTAssertEqual(json.dictionaryObject!["number"]! as? Double, 9823.212) - XCTAssertTrue(json.dictionaryObject!["null"] == nil) - XCTAssertTrue(JSON.null.dictionaryObject == nil) - } - - func testSetter() { - var json: JSON = ["test": "case"] - XCTAssertEqual(json.dictionaryObject! as! [String: String], ["test": "case"]) - json.dictionaryObject = ["name": "NAME"] - XCTAssertEqual(json.dictionaryObject! as! [String: String], ["name": "NAME"]) - } -} diff --git a/Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/Info-iOS.plist b/Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/Info-iOS.plist deleted file mode 100755 index 6d32c15..0000000 --- a/Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/Info-iOS.plist +++ /dev/null @@ -1,24 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - BNDL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1 - - diff --git a/Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/Info-macOS.plist b/Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/Info-macOS.plist deleted file mode 100755 index ba72822..0000000 --- a/Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/Info-macOS.plist +++ /dev/null @@ -1,24 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - BNDL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1 - - diff --git a/Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/Info-tvOS.plist b/Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/Info-tvOS.plist deleted file mode 100755 index ba72822..0000000 --- a/Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/Info-tvOS.plist +++ /dev/null @@ -1,24 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - BNDL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1 - - diff --git a/Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/LiteralConvertibleTests.swift b/Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/LiteralConvertibleTests.swift deleted file mode 100755 index 9e478c7..0000000 --- a/Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/LiteralConvertibleTests.swift +++ /dev/null @@ -1,73 +0,0 @@ -// LiteralConvertibleTests.swift -// -// Copyright (c) 2014 - 2017 Pinglin Tang -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. - -import XCTest -import SwiftyJSON - -class LiteralConvertibleTests: XCTestCase { - - func testNumber() { - var json: JSON = 1234567890.876623 - XCTAssertEqual(json.int!, 1234567890) - XCTAssertEqual(json.intValue, 1234567890) - XCTAssertEqual(json.double!, 1234567890.876623) - XCTAssertEqual(json.doubleValue, 1234567890.876623) - XCTAssertTrue(json.float! == 1234567890.876623) - XCTAssertTrue(json.floatValue == 1234567890.876623) - } - - func testBool() { - var jsonTrue: JSON = true - XCTAssertEqual(jsonTrue.bool!, true) - XCTAssertEqual(jsonTrue.boolValue, true) - var jsonFalse: JSON = false - XCTAssertEqual(jsonFalse.bool!, false) - XCTAssertEqual(jsonFalse.boolValue, false) - } - - func testString() { - var json: JSON = "abcd efg, HIJK;LMn" - XCTAssertEqual(json.string!, "abcd efg, HIJK;LMn") - XCTAssertEqual(json.stringValue, "abcd efg, HIJK;LMn") - } - - func testNil() { - let jsonNil_1: JSON = JSON.null - XCTAssert(jsonNil_1 == JSON.null) - let jsonNil_2: JSON = JSON(NSNull.self) - XCTAssert(jsonNil_2 != JSON.null) - let jsonNil_3: JSON = JSON([1: 2]) - XCTAssert(jsonNil_3 != JSON.null) - } - - func testArray() { - let json: JSON = [1, 2, "4", 5, "6"] - XCTAssertEqual(json.array!, [1, 2, "4", 5, "6"]) - XCTAssertEqual(json.arrayValue, [1, 2, "4", 5, "6"]) - } - - func testDictionary() { - let json: JSON = ["1": 2, "2": 2, "three": 3, "list": ["aa", "bb", "dd"]] - XCTAssertEqual(json.dictionary!, ["1": 2, "2": 2, "three": 3, "list": ["aa", "bb", "dd"]]) - XCTAssertEqual(json.dictionaryValue, ["1": 2, "2": 2, "three": 3, "list": ["aa", "bb", "dd"]]) - } -} diff --git a/Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/MergeTests.swift b/Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/MergeTests.swift deleted file mode 100755 index 922c459..0000000 --- a/Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/MergeTests.swift +++ /dev/null @@ -1,97 +0,0 @@ -// MergeTests.swift -// -// Created by Daniel Kiedrowski on 17.11.16. -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. - -import XCTest -import SwiftyJSON - -class MergeTests: XCTestCase { - - func testDifferingTypes() { - let A = JSON("a") - let B = JSON(1) - - do { - _ = try A.merged(with: B) - } catch let error as SwiftyJSONError { - XCTAssertEqual(error.errorCode, SwiftyJSONError.wrongType.rawValue) - XCTAssertEqual(type(of: error).errorDomain, SwiftyJSONError.errorDomain) - XCTAssertEqual(error.errorUserInfo as! [String: String], [NSLocalizedDescriptionKey: "Couldn't merge, because the JSONs differ in type on top level."]) - } catch _ {} - } - - func testPrimitiveType() { - let A = JSON("a") - let B = JSON("b") - XCTAssertEqual(try! A.merged(with: B), B) - } - - func testMergeEqual() { - let json = JSON(["a": "A"]) - XCTAssertEqual(try! json.merged(with: json), json) - } - - func testMergeUnequalValues() { - let A = JSON(["a": "A"]) - let B = JSON(["a": "B"]) - XCTAssertEqual(try! A.merged(with: B), B) - } - - func testMergeUnequalKeysAndValues() { - let A = JSON(["a": "A"]) - let B = JSON(["b": "B"]) - XCTAssertEqual(try! A.merged(with: B), JSON(["a": "A", "b": "B"])) - } - - func testMergeFilledAndEmpty() { - let A = JSON(["a": "A"]) - let B = JSON([:]) - XCTAssertEqual(try! A.merged(with: B), A) - } - - func testMergeEmptyAndFilled() { - let A = JSON([:]) - let B = JSON(["a": "A"]) - XCTAssertEqual(try! A.merged(with: B), B) - } - - func testMergeArray() { - let A = JSON(["a"]) - let B = JSON(["b"]) - XCTAssertEqual(try! A.merged(with: B), JSON(["a", "b"])) - } - - func testMergeNestedJSONs() { - let A = JSON([ - "nested": [ - "A": "a" - ] - ]) - - let B = JSON([ - "nested": [ - "A": "b" - ] - ]) - - XCTAssertEqual(try! A.merged(with: B), B) - } -} diff --git a/Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/MutabilityTests.swift b/Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/MutabilityTests.swift deleted file mode 100755 index cc1a5b2..0000000 --- a/Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/MutabilityTests.swift +++ /dev/null @@ -1,148 +0,0 @@ -// MutabilityTests.swift -// -// Copyright (c) 2014 - 2017 Zigii Wong -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. - -import XCTest -import SwiftyJSON - -class MutabilityTests: XCTestCase { - - func testDictionaryMutability() { - let dictionary: [String: Any] = [ - "string": "STRING", - "number": 9823.212, - "bool": true, - "empty": ["nothing"], - "foo": ["bar": ["1"]], - "bar": ["foo": ["1": "a"]] - ] - - var json = JSON(dictionary) - XCTAssertEqual(json["string"], "STRING") - XCTAssertEqual(json["number"], 9823.212) - XCTAssertEqual(json["bool"], true) - XCTAssertEqual(json["empty"], ["nothing"]) - - json["string"] = "muted" - XCTAssertEqual(json["string"], "muted") - - json["number"] = 9999.0 - XCTAssertEqual(json["number"], 9999.0) - - json["bool"] = false - XCTAssertEqual(json["bool"], false) - - json["empty"] = [] - XCTAssertEqual(json["empty"], []) - - json["new"] = JSON(["foo": "bar"]) - XCTAssertEqual(json["new"], ["foo": "bar"]) - - json["foo"]["bar"] = JSON([]) - XCTAssertEqual(json["foo"]["bar"], []) - - json["bar"]["foo"] = JSON(["2": "b"]) - XCTAssertEqual(json["bar"]["foo"], ["2": "b"]) - } - - func testArrayMutability() { - let array: [Any] = ["1", "2", 3, true, []] - - var json = JSON(array) - XCTAssertEqual(json[0], "1") - XCTAssertEqual(json[1], "2") - XCTAssertEqual(json[2], 3) - XCTAssertEqual(json[3], true) - XCTAssertEqual(json[4], []) - - json[0] = false - XCTAssertEqual(json[0], false) - - json[1] = 2 - XCTAssertEqual(json[1], 2) - - json[2] = "3" - XCTAssertEqual(json[2], "3") - - json[3] = [:] - XCTAssertEqual(json[3], [:]) - - json[4] = [1, 2] - XCTAssertEqual(json[4], [1, 2]) - } - - func testValueMutability() { - var intArray = JSON([0, 1, 2]) - intArray[0] = JSON(55) - XCTAssertEqual(intArray[0], 55) - XCTAssertEqual(intArray[0].intValue, 55) - - var dictionary = JSON(["foo": "bar"]) - dictionary["foo"] = JSON("foo") - XCTAssertEqual(dictionary["foo"], "foo") - XCTAssertEqual(dictionary["foo"].stringValue, "foo") - - var number = JSON(1) - number = JSON("111") - XCTAssertEqual(number, "111") - XCTAssertEqual(number.intValue, 111) - XCTAssertEqual(number.stringValue, "111") - - var boolean = JSON(true) - boolean = JSON(false) - XCTAssertEqual(boolean, false) - XCTAssertEqual(boolean.boolValue, false) - } - - func testArrayRemovability() { - let array = ["Test", "Test2", "Test3"] - var json = JSON(array) - - json.arrayObject?.removeFirst() - XCTAssertEqual(false, json.arrayValue.isEmpty) - XCTAssertEqual(json.arrayValue, ["Test2", "Test3"]) - - json.arrayObject?.removeLast() - XCTAssertEqual(false, json.arrayValue.isEmpty) - XCTAssertEqual(json.arrayValue, ["Test2"]) - - json.arrayObject?.removeAll() - XCTAssertEqual(true, json.arrayValue.isEmpty) - XCTAssertEqual(JSON([]), json) - } - - func testDictionaryRemovability() { - let dictionary: [String: Any] = ["key1": "Value1", "key2": 2, "key3": true] - var json = JSON(dictionary) - - json.dictionaryObject?.removeValue(forKey: "key1") - XCTAssertEqual(false, json.dictionaryValue.isEmpty) - XCTAssertEqual(json.dictionaryValue, ["key2": 2, "key3": true]) - - json.dictionaryObject?.removeValue(forKey: "key3") - XCTAssertEqual(false, json.dictionaryValue.isEmpty) - XCTAssertEqual(json.dictionaryValue, ["key2": 2]) - - json.dictionaryObject?.removeAll() - XCTAssertEqual(true, json.dictionaryValue.isEmpty) - XCTAssertEqual(json.dictionaryValue, [:]) - } -} diff --git a/Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/NestedJSONTests.swift b/Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/NestedJSONTests.swift deleted file mode 100755 index 167c669..0000000 --- a/Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/NestedJSONTests.swift +++ /dev/null @@ -1,88 +0,0 @@ -// NestedJSONTests.swift -// -// Created by Hector Matos on 9/27/16. -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. - -import XCTest -import SwiftyJSON - -class NestedJSONTests: XCTestCase { - let family: JSON = [ - "names": [ - "Brooke Abigail Matos", - "Rowan Danger Matos" - ], - "motto": "Hey, I don't know about you, but I'm feeling twenty-two! So, release the KrakenDev!" - ] - - func testTopLevelNestedJSON() { - let nestedJSON: JSON = [ - "family": family - ] - XCTAssertNotNil(try? nestedJSON.rawData()) - } - - func testDeeplyNestedJSON() { - let nestedFamily: JSON = [ - "count": 1, - "families": [ - [ - "isACoolFamily": true, - "family": [ - "hello": family - ] - ] - ] - ] - XCTAssertNotNil(try? nestedFamily.rawData()) - } - - func testArrayJSON() { - let arr: [JSON] = ["a", 1, ["b", 2]] - let json = JSON(arr) - XCTAssertEqual(json[0].string, "a") - XCTAssertEqual(json[2, 1].int, 2) - } - - func testDictionaryJSON() { - let json: JSON = ["a": JSON("1"), "b": JSON([1, 2, "3"]), "c": JSON(["aa": "11", "bb": 22])] - XCTAssertEqual(json["a"].string, "1") - XCTAssertEqual(json["b"].array!, [1, 2, "3"]) - XCTAssertEqual(json["c"]["aa"].string, "11") - } - - func testNestedJSON() { - let inner = JSON([ - "some_field": "1" + "2" - ]) - let json = JSON([ - "outer_field": "1" + "2", - "inner_json": inner - ]) - XCTAssertEqual(json["inner_json"], ["some_field": "12"]) - - let foo = "foo" - let json2 = JSON([ - "outer_field": foo, - "inner_json": inner - ]) - XCTAssertEqual(json2["inner_json"].rawValue as! [String: String], ["some_field": "12"]) - } -} diff --git a/Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/NumberTests.swift b/Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/NumberTests.swift deleted file mode 100755 index 9f919ca..0000000 --- a/Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/NumberTests.swift +++ /dev/null @@ -1,387 +0,0 @@ -// NumberTests.swift -// -// Copyright (c) 2014 - 2017 Pinglin Tang -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. - -import XCTest -import SwiftyJSON - -class NumberTests: XCTestCase { - - func testNumber() { - //getter - var json = JSON(NSNumber(value: 9876543210.123456789)) - XCTAssertEqual(json.number!, 9876543210.123456789) - XCTAssertEqual(json.numberValue, 9876543210.123456789) - XCTAssertEqual(json.stringValue, "9876543210.123457") - - json.string = "1000000000000000000000000000.1" - XCTAssertNil(json.number) - XCTAssertEqual(json.numberValue.description, "1000000000000000000000000000.1") - - json.string = "1e+27" - XCTAssertEqual(json.numberValue.description, "1000000000000000000000000000") - - //setter - json.number = NSNumber(value: 123456789.0987654321) - XCTAssertEqual(json.number!, 123456789.0987654321) - XCTAssertEqual(json.numberValue, 123456789.0987654321) - - json.number = nil - XCTAssertEqual(json.numberValue, 0) - XCTAssertEqual(json.object as? NSNull, NSNull()) - XCTAssertTrue(json.number == nil) - - json.numberValue = 2.9876 - XCTAssertEqual(json.number!, 2.9876) - } - - func testBool() { - var json = JSON(true) - XCTAssertEqual(json.bool!, true) - XCTAssertEqual(json.boolValue, true) - XCTAssertEqual(json.numberValue, true as NSNumber) - XCTAssertEqual(json.stringValue, "true") - - json.bool = false - XCTAssertEqual(json.bool!, false) - XCTAssertEqual(json.boolValue, false) - XCTAssertEqual(json.numberValue, false as NSNumber) - - json.bool = nil - XCTAssertTrue(json.bool == nil) - XCTAssertEqual(json.boolValue, false) - XCTAssertEqual(json.numberValue, 0) - - json.boolValue = true - XCTAssertEqual(json.bool!, true) - XCTAssertEqual(json.boolValue, true) - XCTAssertEqual(json.numberValue, true as NSNumber) - } - - func testDouble() { - var json = JSON(9876543210.123456789) - XCTAssertEqual(json.double!, 9876543210.123456789) - XCTAssertEqual(json.doubleValue, 9876543210.123456789) - XCTAssertEqual(json.numberValue, 9876543210.123456789) - XCTAssertEqual(json.stringValue, "9876543210.123457") - - json.double = 2.8765432 - XCTAssertEqual(json.double!, 2.8765432) - XCTAssertEqual(json.doubleValue, 2.8765432) - XCTAssertEqual(json.numberValue, 2.8765432) - - json.doubleValue = 89.0987654 - XCTAssertEqual(json.double!, 89.0987654) - XCTAssertEqual(json.doubleValue, 89.0987654) - XCTAssertEqual(json.numberValue, 89.0987654) - - json.double = nil - XCTAssertEqual(json.boolValue, false) - XCTAssertEqual(json.doubleValue, 0.0) - XCTAssertEqual(json.numberValue, 0) - } - - func testFloat() { - var json = JSON(54321.12345) - XCTAssertTrue(json.float! == 54321.12345) - XCTAssertTrue(json.floatValue == 54321.12345) - XCTAssertEqual(json.numberValue, 54321.12345) - XCTAssertEqual(json.stringValue, "54321.12345") - - json.double = 23231.65 - XCTAssertTrue(json.float! == 23231.65) - XCTAssertTrue(json.floatValue == 23231.65) - XCTAssertEqual(json.numberValue, NSNumber(value: 23231.65)) - - json.double = -98766.23 - XCTAssertEqual(json.float!, -98766.23) - XCTAssertEqual(json.floatValue, -98766.23) - XCTAssertEqual(json.numberValue, NSNumber(value: -98766.23)) - } - - func testInt() { - var json = JSON(123456789) - XCTAssertEqual(json.int!, 123456789) - XCTAssertEqual(json.intValue, 123456789) - XCTAssertEqual(json.numberValue, NSNumber(value: 123456789)) - XCTAssertEqual(json.stringValue, "123456789") - - json.int = nil - XCTAssertTrue(json.boolValue == false) - XCTAssertTrue(json.intValue == 0) - XCTAssertEqual(json.numberValue, 0) - XCTAssertEqual(json.object as? NSNull, NSNull()) - XCTAssertTrue(json.int == nil) - - json.intValue = 76543 - XCTAssertEqual(json.int!, 76543) - XCTAssertEqual(json.intValue, 76543) - XCTAssertEqual(json.numberValue, NSNumber(value: 76543)) - - json.intValue = 98765421 - XCTAssertEqual(json.int!, 98765421) - XCTAssertEqual(json.intValue, 98765421) - XCTAssertEqual(json.numberValue, NSNumber(value: 98765421)) - } - - func testUInt() { - var json = JSON(123456789) - XCTAssertTrue(json.uInt! == 123456789) - XCTAssertTrue(json.uIntValue == 123456789) - XCTAssertEqual(json.numberValue, NSNumber(value: 123456789)) - XCTAssertEqual(json.stringValue, "123456789") - - json.uInt = nil - XCTAssertTrue(json.boolValue == false) - XCTAssertTrue(json.uIntValue == 0) - XCTAssertEqual(json.numberValue, 0) - XCTAssertEqual(json.object as? NSNull, NSNull()) - XCTAssertTrue(json.uInt == nil) - - json.uIntValue = 76543 - XCTAssertTrue(json.uInt! == 76543) - XCTAssertTrue(json.uIntValue == 76543) - XCTAssertEqual(json.numberValue, NSNumber(value: 76543)) - - json.uIntValue = 98765421 - XCTAssertTrue(json.uInt! == 98765421) - XCTAssertTrue(json.uIntValue == 98765421) - XCTAssertEqual(json.numberValue, NSNumber(value: 98765421)) - } - - func testInt8() { - let n127 = NSNumber(value: 127) - var json = JSON(n127) - XCTAssertTrue(json.int8! == n127.int8Value) - XCTAssertTrue(json.int8Value == n127.int8Value) - XCTAssertTrue(json.number! == n127) - XCTAssertEqual(json.numberValue, n127) - XCTAssertEqual(json.stringValue, "127") - - let nm128 = NSNumber(value: -128) - json.int8Value = nm128.int8Value - XCTAssertTrue(json.int8! == nm128.int8Value) - XCTAssertTrue(json.int8Value == nm128.int8Value) - XCTAssertTrue(json.number! == nm128) - XCTAssertEqual(json.numberValue, nm128) - XCTAssertEqual(json.stringValue, "-128") - - let n0 = NSNumber(value: 0 as Int8) - json.int8Value = n0.int8Value - XCTAssertTrue(json.int8! == n0.int8Value) - XCTAssertTrue(json.int8Value == n0.int8Value) - XCTAssertTrue(json.number! == n0) - XCTAssertEqual(json.numberValue, n0) - XCTAssertEqual(json.stringValue, "0") - - let n1 = NSNumber(value: 1 as Int8) - json.int8Value = n1.int8Value - XCTAssertTrue(json.int8! == n1.int8Value) - XCTAssertTrue(json.int8Value == n1.int8Value) - XCTAssertTrue(json.number! == n1) - XCTAssertEqual(json.numberValue, n1) - XCTAssertEqual(json.stringValue, "1") - } - - func testUInt8() { - let n255 = NSNumber(value: 255) - var json = JSON(n255) - XCTAssertTrue(json.uInt8! == n255.uint8Value) - XCTAssertTrue(json.uInt8Value == n255.uint8Value) - XCTAssertTrue(json.number! == n255) - XCTAssertEqual(json.numberValue, n255) - XCTAssertEqual(json.stringValue, "255") - - let nm2 = NSNumber(value: 2) - json.uInt8Value = nm2.uint8Value - XCTAssertTrue(json.uInt8! == nm2.uint8Value) - XCTAssertTrue(json.uInt8Value == nm2.uint8Value) - XCTAssertTrue(json.number! == nm2) - XCTAssertEqual(json.numberValue, nm2) - XCTAssertEqual(json.stringValue, "2") - - let nm0 = NSNumber(value: 0) - json.uInt8Value = nm0.uint8Value - XCTAssertTrue(json.uInt8! == nm0.uint8Value) - XCTAssertTrue(json.uInt8Value == nm0.uint8Value) - XCTAssertTrue(json.number! == nm0) - XCTAssertEqual(json.numberValue, nm0) - XCTAssertEqual(json.stringValue, "0") - - let nm1 = NSNumber(value: 1) - json.uInt8 = nm1.uint8Value - XCTAssertTrue(json.uInt8! == nm1.uint8Value) - XCTAssertTrue(json.uInt8Value == nm1.uint8Value) - XCTAssertTrue(json.number! == nm1) - XCTAssertEqual(json.numberValue, nm1) - XCTAssertEqual(json.stringValue, "1") - } - - func testInt16() { - - let n32767 = NSNumber(value: 32767) - var json = JSON(n32767) - XCTAssertTrue(json.int16! == n32767.int16Value) - XCTAssertTrue(json.int16Value == n32767.int16Value) - XCTAssertTrue(json.number! == n32767) - XCTAssertEqual(json.numberValue, n32767) - XCTAssertEqual(json.stringValue, "32767") - - let nm32768 = NSNumber(value: -32768) - json.int16Value = nm32768.int16Value - XCTAssertTrue(json.int16! == nm32768.int16Value) - XCTAssertTrue(json.int16Value == nm32768.int16Value) - XCTAssertTrue(json.number! == nm32768) - XCTAssertEqual(json.numberValue, nm32768) - XCTAssertEqual(json.stringValue, "-32768") - - let n0 = NSNumber(value: 0) - json.int16Value = n0.int16Value - XCTAssertTrue(json.int16! == n0.int16Value) - XCTAssertTrue(json.int16Value == n0.int16Value) - XCTAssertEqual(json.number, n0) - XCTAssertEqual(json.numberValue, n0) - XCTAssertEqual(json.stringValue, "0") - - let n1 = NSNumber(value: 1) - json.int16 = n1.int16Value - XCTAssertTrue(json.int16! == n1.int16Value) - XCTAssertTrue(json.int16Value == n1.int16Value) - XCTAssertTrue(json.number! == n1) - XCTAssertEqual(json.numberValue, n1) - XCTAssertEqual(json.stringValue, "1") - } - - func testUInt16() { - - let n65535 = NSNumber(value: 65535) - var json = JSON(n65535) - XCTAssertTrue(json.uInt16! == n65535.uint16Value) - XCTAssertTrue(json.uInt16Value == n65535.uint16Value) - XCTAssertTrue(json.number! == n65535) - XCTAssertEqual(json.numberValue, n65535) - XCTAssertEqual(json.stringValue, "65535") - - let n32767 = NSNumber(value: 32767) - json.uInt16 = n32767.uint16Value - XCTAssertTrue(json.uInt16! == n32767.uint16Value) - XCTAssertTrue(json.uInt16Value == n32767.uint16Value) - XCTAssertTrue(json.number! == n32767) - XCTAssertEqual(json.numberValue, n32767) - XCTAssertEqual(json.stringValue, "32767") - } - - func testInt32() { - let n2147483647 = NSNumber(value: 2147483647) - var json = JSON(n2147483647) - XCTAssertTrue(json.int32! == n2147483647.int32Value) - XCTAssertTrue(json.int32Value == n2147483647.int32Value) - XCTAssertTrue(json.number! == n2147483647) - XCTAssertEqual(json.numberValue, n2147483647) - XCTAssertEqual(json.stringValue, "2147483647") - - let n32767 = NSNumber(value: 32767) - json.int32 = n32767.int32Value - XCTAssertTrue(json.int32! == n32767.int32Value) - XCTAssertTrue(json.int32Value == n32767.int32Value) - XCTAssertTrue(json.number! == n32767) - XCTAssertEqual(json.numberValue, n32767) - XCTAssertEqual(json.stringValue, "32767") - - let nm2147483648 = NSNumber(value: -2147483648) - json.int32Value = nm2147483648.int32Value - XCTAssertTrue(json.int32! == nm2147483648.int32Value) - XCTAssertTrue(json.int32Value == nm2147483648.int32Value) - XCTAssertTrue(json.number! == nm2147483648) - XCTAssertEqual(json.numberValue, nm2147483648) - XCTAssertEqual(json.stringValue, "-2147483648") - } - - func testUInt32() { - let n2147483648 = NSNumber(value: 2147483648 as UInt32) - var json = JSON(n2147483648) - XCTAssertTrue(json.uInt32! == n2147483648.uint32Value) - XCTAssertTrue(json.uInt32Value == n2147483648.uint32Value) - XCTAssertTrue(json.number! == n2147483648) - XCTAssertEqual(json.numberValue, n2147483648) - XCTAssertEqual(json.stringValue, "2147483648") - - let n32767 = NSNumber(value: 32767 as UInt32) - json.uInt32 = n32767.uint32Value - XCTAssertTrue(json.uInt32! == n32767.uint32Value) - XCTAssertTrue(json.uInt32Value == n32767.uint32Value) - XCTAssertTrue(json.number! == n32767) - XCTAssertEqual(json.numberValue, n32767) - XCTAssertEqual(json.stringValue, "32767") - - let n0 = NSNumber(value: 0 as UInt32) - json.uInt32Value = n0.uint32Value - XCTAssertTrue(json.uInt32! == n0.uint32Value) - XCTAssertTrue(json.uInt32Value == n0.uint32Value) - XCTAssertTrue(json.number! == n0) - XCTAssertEqual(json.numberValue, n0) - XCTAssertEqual(json.stringValue, "0") - } - - func testInt64() { - let int64Max = NSNumber(value: INT64_MAX) - var json = JSON(int64Max) - XCTAssertTrue(json.int64! == int64Max.int64Value) - XCTAssertTrue(json.int64Value == int64Max.int64Value) - XCTAssertTrue(json.number! == int64Max) - XCTAssertEqual(json.numberValue, int64Max) - XCTAssertEqual(json.stringValue, int64Max.stringValue) - - let n32767 = NSNumber(value: 32767) - json.int64 = n32767.int64Value - XCTAssertTrue(json.int64! == n32767.int64Value) - XCTAssertTrue(json.int64Value == n32767.int64Value) - XCTAssertTrue(json.number! == n32767) - XCTAssertEqual(json.numberValue, n32767) - XCTAssertEqual(json.stringValue, "32767") - - let int64Min = NSNumber(value: (INT64_MAX-1) * -1) - json.int64Value = int64Min.int64Value - XCTAssertTrue(json.int64! == int64Min.int64Value) - XCTAssertTrue(json.int64Value == int64Min.int64Value) - XCTAssertTrue(json.number! == int64Min) - XCTAssertEqual(json.numberValue, int64Min) - XCTAssertEqual(json.stringValue, int64Min.stringValue) - } - - func testUInt64() { - let uInt64Max = NSNumber(value: UINT64_MAX) - var json = JSON(uInt64Max) - XCTAssertTrue(json.uInt64! == uInt64Max.uint64Value) - XCTAssertTrue(json.uInt64Value == uInt64Max.uint64Value) - XCTAssertTrue(json.number! == uInt64Max) - XCTAssertEqual(json.numberValue, uInt64Max) - XCTAssertEqual(json.stringValue, uInt64Max.stringValue) - - let n32767 = NSNumber(value: 32767) - json.int64 = n32767.int64Value - XCTAssertTrue(json.int64! == n32767.int64Value) - XCTAssertTrue(json.int64Value == n32767.int64Value) - XCTAssertTrue(json.number! == n32767) - XCTAssertEqual(json.numberValue, n32767) - XCTAssertEqual(json.stringValue, "32767") - } -} diff --git a/Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/PerformanceTests.swift b/Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/PerformanceTests.swift deleted file mode 100755 index 7535f7d..0000000 --- a/Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/PerformanceTests.swift +++ /dev/null @@ -1,137 +0,0 @@ -// PerformanceTests.swift -// -// Copyright (c) 2014 - 2017 Pinglin Tang -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. - -import XCTest -import SwiftyJSON - -class PerformanceTests: XCTestCase { - - var testData: Data! - - override func setUp() { - super.setUp() - - if let file = Bundle(for: PerformanceTests.self).path(forResource: "Tests", ofType: "json") { - self.testData = try? Data(contentsOf: URL(fileURLWithPath: file)) - } else { - XCTFail("Can't find the test JSON file") - } - } - - override func tearDown() { - // Put teardown code here. This method is called after the invocation of each test method in the class. - super.tearDown() - } - - func testInitPerformance() { - self.measure { - for _ in 1...100 { - guard let json = try? JSON(data: self.testData) else { - XCTFail("Unable to parse testData") - return - } - XCTAssertTrue(json != JSON.null) - } - } - } - - func testObjectMethodPerformance() { - guard let json = try? JSON(data: self.testData) else { - XCTFail("Unable to parse testData") - return - } - self.measure { - for _ in 1...100 { - let object: Any? = json.object - XCTAssertTrue(object != nil) - } - } - } - - func testArrayMethodPerformance() { - guard let json = try? JSON(data: self.testData) else { - XCTFail("Unable to parse testData") - return - } - self.measure { - for _ in 1...100 { - autoreleasepool { - if let array = json.array { - XCTAssertTrue(array.count > 0) - } - } - } - } - } - - func testDictionaryMethodPerformance() { - guard let json = try? JSON(data: self.testData)[0] else { - XCTFail("Unable to parse testData") - return - } - self.measure { - for _ in 1...100 { - autoreleasepool { - if let dictionary = json.dictionary { - XCTAssertTrue(dictionary.count > 0) - } - } - } - } - } - - func testRawStringMethodPerformance() { - guard let json = try? JSON(data: self.testData) else { - XCTFail("Unable to parse testData") - return - } - self.measure { - for _ in 1...100 { - autoreleasepool { - let string = json.rawString() - XCTAssertTrue(string != nil) - } - } - } - } - - func testLargeDictionaryMethodPerformance() { - var data: [String: JSON] = [:] - (0...100000).forEach { n in - data["\(n)"] = JSON([ - "name": "item\(n)", - "id": n - ]) - } - let json = JSON(data) - - self.measure { - autoreleasepool { - if let dictionary = json.dictionary { - XCTAssertTrue(dictionary.count == 100001) - } else { - XCTFail("dictionary should not be nil") - } - } - } - } -} diff --git a/Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/PrintableTests.swift b/Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/PrintableTests.swift deleted file mode 100755 index ba5863d..0000000 --- a/Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/PrintableTests.swift +++ /dev/null @@ -1,124 +0,0 @@ -// PrintableTests.swift -// -// Copyright (c) 2014 - 2017 Pinglin Tang -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. - -import XCTest -import SwiftyJSON - -class PrintableTests: XCTestCase { - func testNumber() { - let json: JSON = 1234567890.876623 - XCTAssertEqual(json.description, "1234567890.876623") - XCTAssertEqual(json.debugDescription, "1234567890.876623") - } - - func testBool() { - let jsonTrue: JSON = true - XCTAssertEqual(jsonTrue.description, "true") - XCTAssertEqual(jsonTrue.debugDescription, "true") - let jsonFalse: JSON = false - XCTAssertEqual(jsonFalse.description, "false") - XCTAssertEqual(jsonFalse.debugDescription, "false") - } - - func testString() { - let json: JSON = "abcd efg, HIJK;LMn" - XCTAssertEqual(json.description, "abcd efg, HIJK;LMn") - XCTAssertEqual(json.debugDescription, "abcd efg, HIJK;LMn") - } - - func testNil() { - let jsonNil_1: JSON = JSON.null - XCTAssertEqual(jsonNil_1.description, "null") - XCTAssertEqual(jsonNil_1.debugDescription, "null") - let jsonNil_2: JSON = JSON(NSNull()) - XCTAssertEqual(jsonNil_2.description, "null") - XCTAssertEqual(jsonNil_2.debugDescription, "null") - } - - func testArray() { - let json: JSON = [1, 2, "4", 5, "6"] - var description = json.description.replacingOccurrences(of: "\n", with: "") - description = description.replacingOccurrences(of: " ", with: "") - XCTAssertEqual(description, "[1,2,\"4\",5,\"6\"]") - XCTAssertTrue(json.description.lengthOfBytes(using: String.Encoding.utf8) > 0) - XCTAssertTrue(json.debugDescription.lengthOfBytes(using: String.Encoding.utf8) > 0) - } - - func testArrayWithStrings() { - let array = ["\"123\""] - let json = JSON(array) - var description = json.description.replacingOccurrences(of: "\n", with: "") - description = description.replacingOccurrences(of: " ", with: "") - XCTAssertEqual(description, "[\"\\\"123\\\"\"]") - XCTAssertTrue(json.description.lengthOfBytes(using: String.Encoding.utf8) > 0) - XCTAssertTrue(json.debugDescription.lengthOfBytes(using: String.Encoding.utf8) > 0) - } - - func testArrayWithOptionals() { - let array = [1, 2, "4", 5, "6", nil] as [Any?] - let json = JSON(array) - guard var description = json.rawString([.castNilToNSNull: true]) else { - XCTFail("could not represent array") - return - } - description = description.replacingOccurrences(of: "\n", with: "") - description = description.replacingOccurrences(of: " ", with: "") - XCTAssertEqual(description, "[1,2,\"4\",5,\"6\",null]") - XCTAssertTrue(json.description.lengthOfBytes(using: String.Encoding.utf8) > 0) - XCTAssertTrue(json.debugDescription.lengthOfBytes(using: String.Encoding.utf8) > 0) - } - - func testDictionary() { - let json: JSON = ["1": 2, "2": "two", "3": 3] - var debugDescription = json.debugDescription.replacingOccurrences(of: "\n", with: "") - debugDescription = debugDescription.replacingOccurrences(of: " ", with: "") - XCTAssertTrue(json.description.lengthOfBytes(using: String.Encoding.utf8) > 0) - XCTAssertTrue(debugDescription.range(of: "\"1\":2", options: String.CompareOptions.caseInsensitive) != nil) - XCTAssertTrue(debugDescription.range(of: "\"2\":\"two\"", options: String.CompareOptions.caseInsensitive) != nil) - XCTAssertTrue(debugDescription.range(of: "\"3\":3", options: String.CompareOptions.caseInsensitive) != nil) - } - - func testDictionaryWithStrings() { - let dict = ["foo": "{\"bar\":123}"] as [String: Any] - let json = JSON(dict) - var debugDescription = json.debugDescription.replacingOccurrences(of: "\n", with: "") - debugDescription = debugDescription.replacingOccurrences(of: " ", with: "") - XCTAssertTrue(json.description.lengthOfBytes(using: String.Encoding.utf8) > 0) - let exceptedResult = "{\"foo\":\"{\\\"bar\\\":123}\"}" - XCTAssertEqual(debugDescription, exceptedResult) - } - - func testDictionaryWithOptionals() { - let dict = ["1": 2, "2": "two", "3": nil] as [String: Any?] - let json = JSON(dict) - guard var description = json.rawString([.castNilToNSNull: true]) else { - XCTFail("could not represent dictionary") - return - } - description = description.replacingOccurrences(of: "\n", with: "") - description = description.replacingOccurrences(of: " ", with: "") - XCTAssertTrue(json.description.lengthOfBytes(using: String.Encoding.utf8) > 0) - XCTAssertTrue(description.range(of: "\"1\":2", options: NSString.CompareOptions.caseInsensitive) != nil) - XCTAssertTrue(description.range(of: "\"2\":\"two\"", options: NSString.CompareOptions.caseInsensitive) != nil) - XCTAssertTrue(description.range(of: "\"3\":null", options: NSString.CompareOptions.caseInsensitive) != nil) - } -} diff --git a/Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/RawRepresentableTests.swift b/Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/RawRepresentableTests.swift deleted file mode 100755 index 9c628a0..0000000 --- a/Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/RawRepresentableTests.swift +++ /dev/null @@ -1,108 +0,0 @@ -// RawRepresentableTests.swift -// -// Copyright (c) 2014 - 2017 Pinglin Tang -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. - -import XCTest -import SwiftyJSON - -class RawRepresentableTests: XCTestCase { - - func testNumber() { - var json: JSON = JSON(rawValue: 948394394.347384 as NSNumber)! - XCTAssertEqual(json.int!, 948394394) - XCTAssertEqual(json.intValue, 948394394) - XCTAssertEqual(json.double!, 948394394.347384) - XCTAssertEqual(json.doubleValue, 948394394.347384) - XCTAssertEqual(json.float!, 948394394.347384) - XCTAssertEqual(json.floatValue, 948394394.347384) - - let object: Any = json.rawValue - if let int = object as? Int { - XCTAssertEqual(int, 948394394) - } - XCTAssertEqual(object as? Double, 948394394.347384) - if let float = object as? Float { - XCTAssertEqual(float, 948394394.347384) - } - XCTAssertEqual(object as? NSNumber, 948394394.347384) - } - - func testBool() { - var jsonTrue: JSON = JSON(rawValue: true as NSNumber)! - XCTAssertEqual(jsonTrue.bool!, true) - XCTAssertEqual(jsonTrue.boolValue, true) - - var jsonFalse: JSON = JSON(rawValue: false)! - XCTAssertEqual(jsonFalse.bool!, false) - XCTAssertEqual(jsonFalse.boolValue, false) - - let objectTrue = jsonTrue.rawValue - XCTAssertEqual(objectTrue as? Bool, true) - - let objectFalse = jsonFalse.rawValue - XCTAssertEqual(objectFalse as? Bool, false) - } - - func testString() { - let string = "The better way to deal with JSON data in Swift." - if let json: JSON = JSON(rawValue: string) { - XCTAssertEqual(json.string!, string) - XCTAssertEqual(json.stringValue, string) - XCTAssertTrue(json.array == nil) - XCTAssertTrue(json.dictionary == nil) - XCTAssertTrue(json.null == nil) - XCTAssertTrue(json.error == nil) - XCTAssertTrue(json.type == .string) - XCTAssertEqual(json.object as? String, string) - } else { - XCTFail("Should not run into here") - } - - let object: Any = JSON(rawValue: string)!.rawValue - XCTAssertEqual(object as? String, string) - } - - func testNil() { - if JSON(rawValue: NSObject()) != nil { - XCTFail("Should not run into here") - } - } - - func testArray() { - let array = [1, 2, "3", 4102, "5632", "abocde", "!@# $%^&*()"] as NSArray - if let json: JSON = JSON(rawValue: array) { - XCTAssertEqual(json, JSON(array)) - } - - let object: Any = JSON(rawValue: array)!.rawValue - XCTAssertTrue(array == object as! NSArray) - } - - func testDictionary() { - let dictionary = ["1": 2, "2": 2, "three": 3, "list": ["aa", "bb", "dd"]] as NSDictionary - if let json: JSON = JSON(rawValue: dictionary) { - XCTAssertEqual(json, JSON(dictionary)) - } - - let object: Any = JSON(rawValue: dictionary)!.rawValue - XCTAssertTrue(dictionary == object as! NSDictionary) - } -} diff --git a/Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/RawTests.swift b/Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/RawTests.swift deleted file mode 100755 index 036060f..0000000 --- a/Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/RawTests.swift +++ /dev/null @@ -1,105 +0,0 @@ -// RawTests.swift -// -// Copyright (c) 2014 - 2017 Pinglin Tang -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. - -import XCTest -import SwiftyJSON - -class RawTests: XCTestCase { - - func testRawData() { - let json: JSON = ["somekey": "some string value"] - let expectedRawData = "{\"somekey\":\"some string value\"}".data(using: String.Encoding.utf8) - do { - let data: Data = try json.rawData() - XCTAssertEqual(expectedRawData, data) - } catch _ {} - } - - func testInvalidJSONForRawData() { - let json: JSON = "...xyz" - do { - _ = try json.rawData() - } catch let error as SwiftyJSONError { - XCTAssertEqual(error, SwiftyJSONError.invalidJSON) - } catch _ {} - } - - func testArray() { - let json: JSON = [1, "2", 3.12, NSNull(), true, ["name": "Jack"]] - let data: Data? - do { - data = try json.rawData() - } catch _ { - data = nil - } - let string = json.rawString() - XCTAssertTrue (data != nil) - XCTAssertTrue (string!.lengthOfBytes(using: String.Encoding.utf8) > 0) - } - - func testDictionary() { - let json: JSON = ["number": 111111.23456789, "name": "Jack", "list": [1, 2, 3, 4], "bool": false, "null": NSNull()] - let data: Data? - do { - data = try json.rawData() - } catch _ { - data = nil - } - let string = json.rawString() - XCTAssertTrue (data != nil) - XCTAssertTrue (string!.lengthOfBytes(using: String.Encoding.utf8) > 0) - } - - func testString() { - let json: JSON = "I'm a json" - XCTAssertEqual(json.rawString(), "I'm a json") - } - - func testNumber() { - let json: JSON = 123456789.123 - XCTAssertEqual(json.rawString(), "123456789.123") - } - - func testBool() { - let json: JSON = true - XCTAssertEqual(json.rawString(), "true") - } - - func testNull() { - let json: JSON = JSON.null - XCTAssertEqual(json.rawString(), "null") - } - - func testNestedJSON() { - let inner: JSON = ["name": "john doe"] - let json: JSON = ["level": 1337, "user": inner] - let data: Data? - do { - data = try json.rawData() - } catch _ { - data = nil - } - let string = json.rawString() - XCTAssertNotNil(data) - XCTAssertNotNil(string) - } -} diff --git a/Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/SequenceTypeTests.swift b/Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/SequenceTypeTests.swift deleted file mode 100755 index d0d8cad..0000000 --- a/Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/SequenceTypeTests.swift +++ /dev/null @@ -1,240 +0,0 @@ -// SequenceTypeTests.swift -// -// Copyright (c) 2014 - 2017 Pinglin Tang -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. - -import XCTest -import SwiftyJSON - -class SequenceTypeTests: XCTestCase { - - func testJSONFile() { - if let file = Bundle(for: BaseTests.self).path(forResource: "Tests", ofType: "json") { - let testData = try? Data(contentsOf: URL(fileURLWithPath: file)) - guard let json = try? JSON(data: testData!) else { - XCTFail("Unable to parse the data") - return - } - for (index, sub) in json { - switch (index as NSString).integerValue { - case 0: - XCTAssertTrue(sub["id_str"] == "240558470661799936") - case 1: - XCTAssertTrue(sub["id_str"] == "240556426106372096") - case 2: - XCTAssertTrue(sub["id_str"] == "240539141056638977") - default: - continue - } - } - } else { - XCTFail("Can't find the test JSON file") - } - } - - func testArrayAllNumber() { - var json: JSON = [1, 2.0, 3.3, 123456789, 987654321.123456789] - XCTAssertEqual(json.count, 5) - - var index = 0 - var array = [NSNumber]() - for (i, sub) in json { - XCTAssertEqual(sub, json[index]) - XCTAssertEqual(i, "\(index)") - array.append(sub.number!) - index += 1 - } - XCTAssertEqual(index, 5) - XCTAssertEqual(array, [1, 2.0, 3.3, 123456789, 987654321.123456789]) - } - - func testArrayAllBool() { - var json: JSON = JSON([true, false, false, true, true]) - XCTAssertEqual(json.count, 5) - - var index = 0 - var array = [Bool]() - for (i, sub) in json { - XCTAssertEqual(sub, json[index]) - XCTAssertEqual(i, "\(index)") - array.append(sub.bool!) - index += 1 - } - XCTAssertEqual(index, 5) - XCTAssertEqual(array, [true, false, false, true, true]) - } - - func testArrayAllString() { - var json: JSON = JSON(rawValue: ["aoo", "bpp", "zoo"] as NSArray)! - XCTAssertEqual(json.count, 3) - - var index = 0 - var array = [String]() - for (i, sub) in json { - XCTAssertEqual(sub, json[index]) - XCTAssertEqual(i, "\(index)") - array.append(sub.string!) - index += 1 - } - XCTAssertEqual(index, 3) - XCTAssertEqual(array, ["aoo", "bpp", "zoo"]) - } - - func testArrayWithNull() { - var json: JSON = JSON(rawValue: ["aoo", "bpp", NSNull(), "zoo"] as NSArray)! - XCTAssertEqual(json.count, 4) - - var index = 0 - var array = [AnyObject]() - for (i, sub) in json { - XCTAssertEqual(sub, json[index]) - XCTAssertEqual(i, "\(index)") - array.append(sub.object as AnyObject) - index += 1 - } - XCTAssertEqual(index, 4) - XCTAssertEqual(array[0] as? String, "aoo") - XCTAssertEqual(array[2] as? NSNull, NSNull()) - } - - func testArrayAllDictionary() { - var json: JSON = [["1": 1, "2": 2], ["a": "A", "b": "B"], ["null": NSNull()]] - XCTAssertEqual(json.count, 3) - - var index = 0 - var array = [AnyObject]() - for (i, sub) in json { - XCTAssertEqual(sub, json[index]) - XCTAssertEqual(i, "\(index)") - array.append(sub.object as AnyObject) - index += 1 - } - XCTAssertEqual(index, 3) - XCTAssertEqual((array[0] as! [String: Int])["1"]!, 1) - XCTAssertEqual((array[0] as! [String: Int])["2"]!, 2) - XCTAssertEqual((array[1] as! [String: String])["a"]!, "A") - XCTAssertEqual((array[1] as! [String: String])["b"]!, "B") - XCTAssertEqual((array[2] as! [String: NSNull])["null"]!, NSNull()) - } - - func testDictionaryAllNumber() { - var json: JSON = ["double": 1.11111, "int": 987654321] - XCTAssertEqual(json.count, 2) - - var index = 0 - var dictionary = [String: NSNumber]() - for (key, sub) in json { - XCTAssertEqual(sub, json[key]) - dictionary[key] = sub.number! - index += 1 - } - - XCTAssertEqual(index, 2) - XCTAssertEqual(dictionary["double"]! as NSNumber, 1.11111) - XCTAssertEqual(dictionary["int"]! as NSNumber, 987654321) - } - - func testDictionaryAllBool() { - var json: JSON = ["t": true, "f": false, "false": false, "tr": true, "true": true] - XCTAssertEqual(json.count, 5) - - var index = 0 - var dictionary = [String: Bool]() - for (key, sub) in json { - XCTAssertEqual(sub, json[key]) - dictionary[key] = sub.bool! - index += 1 - } - - XCTAssertEqual(index, 5) - XCTAssertEqual(dictionary["t"]! as Bool, true) - XCTAssertEqual(dictionary["false"]! as Bool, false) - } - - func testDictionaryAllString() { - var json: JSON = JSON(rawValue: ["a": "aoo", "bb": "bpp", "z": "zoo"] as NSDictionary)! - XCTAssertEqual(json.count, 3) - - var index = 0 - var dictionary = [String: String]() - for (key, sub) in json { - XCTAssertEqual(sub, json[key]) - dictionary[key] = sub.string! - index += 1 - } - - XCTAssertEqual(index, 3) - XCTAssertEqual(dictionary["a"]! as String, "aoo") - XCTAssertEqual(dictionary["bb"]! as String, "bpp") - } - - func testDictionaryWithNull() { - var json: JSON = JSON(rawValue: ["a": "aoo", "bb": "bpp", "null": NSNull(), "z": "zoo"] as NSDictionary)! - XCTAssertEqual(json.count, 4) - - var index = 0 - var dictionary = [String: AnyObject]() - for (key, sub) in json { - XCTAssertEqual(sub, json[key]) - dictionary[key] = sub.object as AnyObject? - index += 1 - } - - XCTAssertEqual(index, 4) - XCTAssertEqual(dictionary["a"]! as? String, "aoo") - XCTAssertEqual(dictionary["bb"]! as? String, "bpp") - XCTAssertEqual(dictionary["null"]! as? NSNull, NSNull()) - } - - func testDictionaryAllArray() { - var json: JSON = JSON (["Number": [NSNumber(value: 1), NSNumber(value: 2.123456), NSNumber(value: 123456789)], "String": ["aa", "bbb", "cccc"], "Mix": [true, "766", NSNull(), 655231.9823]]) - - XCTAssertEqual(json.count, 3) - - var index = 0 - var dictionary = [String: AnyObject]() - for (key, sub) in json { - XCTAssertEqual(sub, json[key]) - dictionary[key] = sub.object as AnyObject? - index += 1 - } - - XCTAssertEqual(index, 3) - XCTAssertEqual((dictionary["Number"] as! NSArray)[0] as? Int, 1) - XCTAssertEqual((dictionary["Number"] as! NSArray)[1] as? Double, 2.123456) - XCTAssertEqual((dictionary["String"] as! NSArray)[0] as? String, "aa") - XCTAssertEqual((dictionary["Mix"] as! NSArray)[0] as? Bool, true) - XCTAssertEqual((dictionary["Mix"] as! NSArray)[1] as? String, "766") - XCTAssertEqual((dictionary["Mix"] as! NSArray)[2] as? NSNull, NSNull()) - XCTAssertEqual((dictionary["Mix"] as! NSArray)[3] as? Double, 655231.9823) - } - - func testDictionaryIteratingPerformance() { - var json: JSON = [:] - for i in 1...1000 { - json[String(i)] = "hello" - } - measure { - for (key, value) in json { - print(key, value) - } - } - } -} diff --git a/Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/StringTests.swift b/Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/StringTests.swift deleted file mode 100755 index 9ce1064..0000000 --- a/Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/StringTests.swift +++ /dev/null @@ -1,80 +0,0 @@ -// StringTests.swift -// -// Copyright (c) 2014 - 2017 Pinglin Tang -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. - -import XCTest -import SwiftyJSON - -class StringTests: XCTestCase { - - func testString() { - //getter - var json = JSON("abcdefg hijklmn;opqrst.?+_()") - XCTAssertEqual(json.string!, "abcdefg hijklmn;opqrst.?+_()") - XCTAssertEqual(json.stringValue, "abcdefg hijklmn;opqrst.?+_()") - - json.string = "12345?67890.@#" - XCTAssertEqual(json.string!, "12345?67890.@#") - XCTAssertEqual(json.stringValue, "12345?67890.@#") - } - - func testUrl() { - let json = JSON("http://github.com") - XCTAssertEqual(json.url!, URL(string: "http://github.com")!) - } - - func testBool() { - let json = JSON("true") - XCTAssertTrue(json.boolValue) - } - - func testBoolWithY() { - let json = JSON("Y") - XCTAssertTrue(json.boolValue) - } - - func testBoolWithT() { - let json = JSON("T") - XCTAssertTrue(json.boolValue) - } - - func testBoolWithYes() { - let json = JSON("Yes") - XCTAssertTrue(json.boolValue) - } - - func testBoolWith1() { - let json = JSON("1") - XCTAssertTrue(json.boolValue) - } - - func testUrlPercentEscapes() { - let emDash = "\\u2014" - let urlString = "http://examble.com/unencoded" + emDash + "string" - guard let encodedURLString = urlString.addingPercentEncoding(withAllowedCharacters: CharacterSet.urlQueryAllowed) else { - return XCTFail("Couldn't encode URL string \(urlString)") - } - let json = JSON(urlString) - XCTAssertEqual(json.url!, URL(string: encodedURLString)!, "Wrong unpacked ") - let preEscaped = JSON(encodedURLString) - XCTAssertEqual(preEscaped.url!, URL(string: encodedURLString)!, "Wrong unpacked ") - } -} diff --git a/Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/SubscriptTests.swift b/Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/SubscriptTests.swift deleted file mode 100755 index 5b399f4..0000000 --- a/Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/SubscriptTests.swift +++ /dev/null @@ -1,267 +0,0 @@ -// SubscriptTests.swift -// -// Copyright (c) 2014 - 2017 Pinglin Tang -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. - -import XCTest -import SwiftyJSON - -class SubscriptTests: XCTestCase { - - func testArrayAllNumber() { - var json: JSON = [1, 2.0, 3.3, 123456789, 987654321.123456789] - XCTAssertTrue(json == [1, 2.0, 3.3, 123456789, 987654321.123456789]) - XCTAssertTrue(json[0] == 1) - XCTAssertEqual(json[1].double!, 2.0) - XCTAssertTrue(json[2].floatValue == 3.3) - XCTAssertEqual(json[3].int!, 123456789) - XCTAssertEqual(json[4].doubleValue, 987654321.123456789) - - json[0] = 1.9 - json[1] = 2.899 - json[2] = 3.567 - json[3] = 0.999 - json[4] = 98732 - - XCTAssertTrue(json[0] == 1.9) - XCTAssertEqual(json[1].doubleValue, 2.899) - XCTAssertTrue(json[2] == 3.567) - XCTAssertTrue(json[3].float! == 0.999) - XCTAssertTrue(json[4].intValue == 98732) - } - - func testArrayAllBool() { - var json: JSON = [true, false, false, true, true] - XCTAssertTrue(json == [true, false, false, true, true]) - XCTAssertTrue(json[0] == true) - XCTAssertTrue(json[1] == false) - XCTAssertTrue(json[2] == false) - XCTAssertTrue(json[3] == true) - XCTAssertTrue(json[4] == true) - - json[0] = false - json[4] = true - XCTAssertTrue(json[0] == false) - XCTAssertTrue(json[4] == true) - } - - func testArrayAllString() { - var json: JSON = JSON(rawValue: ["aoo", "bpp", "zoo"] as NSArray)! - XCTAssertTrue(json == ["aoo", "bpp", "zoo"]) - XCTAssertTrue(json[0] == "aoo") - XCTAssertTrue(json[1] == "bpp") - XCTAssertTrue(json[2] == "zoo") - - json[1] = "update" - XCTAssertTrue(json[0] == "aoo") - XCTAssertTrue(json[1] == "update") - XCTAssertTrue(json[2] == "zoo") - } - - func testArrayWithNull() { - var json: JSON = JSON(rawValue: ["aoo", "bpp", NSNull(), "zoo"] as NSArray)! - XCTAssertTrue(json[0] == "aoo") - XCTAssertTrue(json[1] == "bpp") - XCTAssertNil(json[2].string) - XCTAssertNotNil(json[2].null) - XCTAssertTrue(json[3] == "zoo") - - json[2] = "update" - json[3] = JSON(NSNull()) - XCTAssertTrue(json[0] == "aoo") - XCTAssertTrue(json[1] == "bpp") - XCTAssertTrue(json[2] == "update") - XCTAssertNil(json[3].string) - XCTAssertNotNil(json[3].null) - } - - func testArrayAllDictionary() { - var json: JSON = [["1": 1, "2": 2], ["a": "A", "b": "B"], ["null": NSNull()]] - XCTAssertTrue(json[0] == ["1": 1, "2": 2]) - XCTAssertEqual(json[1].dictionary!, ["a": "A", "b": "B"]) - XCTAssertEqual(json[2], JSON(["null": NSNull()])) - XCTAssertTrue(json[0]["1"] == 1) - XCTAssertTrue(json[0]["2"] == 2) - XCTAssertEqual(json[1]["a"], JSON(rawValue: "A")!) - XCTAssertEqual(json[1]["b"], JSON("B")) - XCTAssertNotNil(json[2]["null"].null) - XCTAssertNotNil(json[2, "null"].null) - let keys: [JSONSubscriptType] = [1, "a"] - XCTAssertEqual(json[keys], JSON(rawValue: "A")!) - } - - func testDictionaryAllNumber() { - var json: JSON = ["double": 1.11111, "int": 987654321] - XCTAssertEqual(json["double"].double!, 1.11111) - XCTAssertTrue(json["int"] == 987654321) - - json["double"] = 2.2222 - json["int"] = 123456789 - json["add"] = 7890 - XCTAssertTrue(json["double"] == 2.2222) - XCTAssertEqual(json["int"].doubleValue, 123456789.0) - XCTAssertEqual(json["add"].intValue, 7890) - } - - func testDictionaryAllBool() { - var json: JSON = ["t": true, "f": false, "false": false, "tr": true, "true": true, "yes": true, "1": true] - XCTAssertTrue(json["1"] == true) - XCTAssertTrue(json["yes"] == true) - XCTAssertTrue(json["t"] == true) - XCTAssertTrue(json["f"] == false) - XCTAssertTrue(json["false"] == false) - XCTAssertTrue(json["tr"] == true) - XCTAssertTrue(json["true"] == true) - - json["f"] = true - json["tr"] = false - XCTAssertTrue(json["f"] == true) - XCTAssertTrue(json["tr"] == JSON(false)) - } - - func testDictionaryAllString() { - var json: JSON = JSON(rawValue: ["a": "aoo", "bb": "bpp", "z": "zoo"] as NSDictionary)! - XCTAssertTrue(json["a"] == "aoo") - XCTAssertEqual(json["bb"], JSON("bpp")) - XCTAssertTrue(json["z"] == "zoo") - - json["bb"] = "update" - XCTAssertTrue(json["a"] == "aoo") - XCTAssertTrue(json["bb"] == "update") - XCTAssertTrue(json["z"] == "zoo") - } - - func testDictionaryWithNull() { - var json: JSON = JSON(rawValue: ["a": "aoo", "bb": "bpp", "null": NSNull(), "z": "zoo"] as NSDictionary)! - XCTAssertTrue(json["a"] == "aoo") - XCTAssertEqual(json["bb"], JSON("bpp")) - XCTAssertEqual(json["null"], JSON(NSNull())) - XCTAssertTrue(json["z"] == "zoo") - - json["null"] = "update" - XCTAssertTrue(json["a"] == "aoo") - XCTAssertTrue(json["null"] == "update") - XCTAssertTrue(json["z"] == "zoo") - } - - func testDictionaryAllArray() { - //Swift bug: [1, 2.01,3.09] is convert to [1, 2, 3] (Array) - let json: JSON = JSON ([[NSNumber(value: 1), NSNumber(value: 2.123456), NSNumber(value: 123456789)], ["aa", "bbb", "cccc"], [true, "766", NSNull(), 655231.9823]] as NSArray) - XCTAssertTrue(json[0] == [1, 2.123456, 123456789]) - XCTAssertEqual(json[0][1].double!, 2.123456) - XCTAssertTrue(json[0][2] == 123456789) - XCTAssertTrue(json[1][0] == "aa") - XCTAssertTrue(json[1] == ["aa", "bbb", "cccc"]) - XCTAssertTrue(json[2][0] == true) - XCTAssertTrue(json[2][1] == "766") - XCTAssertTrue(json[[2, 1]] == "766") - XCTAssertEqual(json[2][2], JSON(NSNull())) - XCTAssertEqual(json[2, 2], JSON(NSNull())) - XCTAssertEqual(json[2][3], JSON(655231.9823)) - XCTAssertEqual(json[2, 3], JSON(655231.9823)) - XCTAssertEqual(json[[2, 3]], JSON(655231.9823)) - } - - func testOutOfBounds() { - let json: JSON = JSON ([[NSNumber(value: 1), NSNumber(value: 2.123456), NSNumber(value: 123456789)], ["aa", "bbb", "cccc"], [true, "766", NSNull(), 655231.9823]] as NSArray) - XCTAssertEqual(json[9], JSON.null) - XCTAssertEqual(json[-2].error, SwiftyJSONError.indexOutOfBounds) - XCTAssertEqual(json[6].error, SwiftyJSONError.indexOutOfBounds) - XCTAssertEqual(json[9][8], JSON.null) - XCTAssertEqual(json[8][7].error, SwiftyJSONError.indexOutOfBounds) - XCTAssertEqual(json[8, 7].error, SwiftyJSONError.indexOutOfBounds) - XCTAssertEqual(json[999].error, SwiftyJSONError.indexOutOfBounds) - } - - func testErrorWrongType() { - let json = JSON(12345) - XCTAssertEqual(json[9], JSON.null) - XCTAssertEqual(json[9].error, SwiftyJSONError.wrongType) - XCTAssertEqual(json[8][7].error, SwiftyJSONError.wrongType) - XCTAssertEqual(json["name"], JSON.null) - XCTAssertEqual(json["name"].error, SwiftyJSONError.wrongType) - XCTAssertEqual(json[0]["name"].error, SwiftyJSONError.wrongType) - XCTAssertEqual(json["type"]["name"].error, SwiftyJSONError.wrongType) - XCTAssertEqual(json["name"][99].error, SwiftyJSONError.wrongType) - XCTAssertEqual(json[1, "Value"].error, SwiftyJSONError.wrongType) - XCTAssertEqual(json[1, 2, "Value"].error, SwiftyJSONError.wrongType) - XCTAssertEqual(json[[1, 2, "Value"]].error, SwiftyJSONError.wrongType) - } - - func testErrorNotExist() { - let json: JSON = ["name": "NAME", "age": 15] - XCTAssertEqual(json["Type"], JSON.null) - XCTAssertEqual(json["Type"].error, SwiftyJSONError.notExist) - XCTAssertEqual(json["Type"][1].error, SwiftyJSONError.notExist) - XCTAssertEqual(json["Type", 1].error, SwiftyJSONError.notExist) - XCTAssertEqual(json["Type"]["Value"].error, SwiftyJSONError.notExist) - XCTAssertEqual(json["Type", "Value"].error, SwiftyJSONError.notExist) - } - - func testMultilevelGetter() { - let json: JSON = [[[[["one": 1]]]]] - XCTAssertEqual(json[[0, 0, 0, 0, "one"]].int!, 1) - XCTAssertEqual(json[0, 0, 0, 0, "one"].int!, 1) - XCTAssertEqual(json[0][0][0][0]["one"].int!, 1) - } - - func testMultilevelSetter1() { - var json: JSON = [[[[["num": 1]]]]] - json[0, 0, 0, 0, "num"] = 2 - XCTAssertEqual(json[[0, 0, 0, 0, "num"]].intValue, 2) - json[0, 0, 0, 0, "num"] = JSON.null - XCTAssertEqual(json[0, 0, 0, 0, "num"].null!, NSNull()) - json[0, 0, 0, 0, "num"] = 100.009 - XCTAssertEqual(json[0][0][0][0]["num"].doubleValue, 100.009) - json[[0, 0, 0, 0]] = ["name": "Jack"] - XCTAssertEqual(json[0, 0, 0, 0, "name"].stringValue, "Jack") - XCTAssertEqual(json[0][0][0][0]["name"].stringValue, "Jack") - XCTAssertEqual(json[[0, 0, 0, 0, "name"]].stringValue, "Jack") - json[[0, 0, 0, 0, "name"]].string = "Mike" - XCTAssertEqual(json[0, 0, 0, 0, "name"].stringValue, "Mike") - let path: [JSONSubscriptType] = [0, 0, 0, 0, "name"] - json[path].string = "Jim" - XCTAssertEqual(json[path].stringValue, "Jim") - } - - func testMultilevelSetter2() { - var json: JSON = ["user": ["id": 987654, "info": ["name": "jack", "email": "jack@gmail.com"], "feeds": [98833, 23443, 213239, 23232]]] - json["user", "info", "name"] = "jim" - XCTAssertEqual(json["user", "id"], 987654) - XCTAssertEqual(json["user", "info", "name"], "jim") - XCTAssertEqual(json["user", "info", "email"], "jack@gmail.com") - XCTAssertEqual(json["user", "feeds"], [98833, 23443, 213239, 23232]) - json["user", "info", "email"] = "jim@hotmail.com" - XCTAssertEqual(json["user", "id"], 987654) - XCTAssertEqual(json["user", "info", "name"], "jim") - XCTAssertEqual(json["user", "info", "email"], "jim@hotmail.com") - XCTAssertEqual(json["user", "feeds"], [98833, 23443, 213239, 23232]) - json["user", "info"] = ["name": "tom", "email": "tom@qq.com"] - XCTAssertEqual(json["user", "id"], 987654) - XCTAssertEqual(json["user", "info", "name"], "tom") - XCTAssertEqual(json["user", "info", "email"], "tom@qq.com") - XCTAssertEqual(json["user", "feeds"], [98833, 23443, 213239, 23232]) - json["user", "feeds"] = [77323, 2313, 4545, 323] - XCTAssertEqual(json["user", "id"], 987654) - XCTAssertEqual(json["user", "info", "name"], "tom") - XCTAssertEqual(json["user", "info", "email"], "tom@qq.com") - XCTAssertEqual(json["user", "feeds"], [77323, 2313, 4545, 323]) - } -} diff --git a/Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/Tests.json b/Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/Tests.json deleted file mode 100755 index 05190a8..0000000 --- a/Kumi/SwiftyJSON-4.2.0/Tests/SwiftyJSONTests/Tests.json +++ /dev/null @@ -1,345 +0,0 @@ -[ - { - "coordinates":null, - "truncated":false, - "created_at":"Tue Aug 28 21:16:23 +0000 2012", - "favorited":false, - "id_str":"240558470661799936", - "in_reply_to_user_id_str":null, - "entities":{ - "urls":[ - - ], - "hashtags":[ - - ], - "user_mentions":[ - - ] - }, - "text":"just another test", - "contributors":null, - "id":240558470661799936, - "retweet_count":0, - "in_reply_to_status_id_str":null, - "geo":null, - "retweeted":false, - "in_reply_to_user_id":null, - "place":null, - "source":"<a href=\"//realitytechnicians.com\" rel=\"\"nofollow\"\">OAuth Dancer Reborn</a>", - "user":{ - "name":"OAuth Dancer", - "profile_sidebar_fill_color":"DDEEF6", - "profile_background_tile":true, - "profile_sidebar_border_color":"C0DEED", - "profile_image_url":"http://a0.twimg.com/profile_images/730275945/oauth-dancer_normal.jpg", - "created_at":"Wed Mar 03 19:37:35 +0000 2010", - "location":"San Francisco, CA", - "follow_request_sent":false, - "id_str":"119476949", - "is_translator":false, - "profile_link_color":"0084B4", - "entities":{ - "url":{ - "urls":[ - { - "expanded_url":null, - "url":"http://bit.ly/oauth-dancer", - "indices":[ - 0, - 26 - ], - "display_url":null - } - ] - }, - "description":null - }, - "default_profile":false, - "url":"http://bit.ly/oauth-dancer", - "contributors_enabled":false, - "favourites_count":7, - "utc_offset":null, - "profile_image_url_https":"https://si0.twimg.com/profile_images/730275945/oauth-dancer_normal.jpg", - "id":119476949, - "listed_count":1, - "profile_use_background_image":true, - "profile_text_color":"333333", - "followers_count":28, - "lang":"en", - "protected":false, - "geo_enabled":true, - "notifications":false, - "description":"", - "profile_background_color":"C0DEED", - "verified":false, - "time_zone":null, - "profile_background_image_url_https":"https://si0.twimg.com/profile_background_images/80151733/oauth-dance.png", - "statuses_count":166, - "profile_background_image_url":"http://a0.twimg.com/profile_background_images/80151733/oauth-dance.png", - "default_profile_image":false, - "friends_count":14, - "following":false, - "show_all_inline_media":false, - "screen_name":"oauth_dancer" - }, - "in_reply_to_screen_name":null, - "in_reply_to_status_id":null - }, - { - "coordinates":{ - "coordinates":[ - -122.25831, - 37.871609 - ], - "type":"Point" - }, - "truncated":false, - "created_at":"Tue Aug 28 21:08:15 +0000 2012", - "favorited":false, - "id_str":"240556426106372096", - "in_reply_to_user_id_str":null, - "entities":{ - "urls":[ - { - "expanded_url":"http://blogs.ischool.berkeley.edu/i290-abdt-s12/", - "url":"http://t.co/bfj7zkDJ", - "indices":[ - 79, - 99 - ], - "display_url":"blogs.ischool.berkeley.edu/i290-abdt-s12/" - } - ], - "hashtags":[ - - ], - "user_mentions":[ - { - "name":"Cal", - "id_str":"17445752", - "id":17445752, - "indices":[ - 60, - 64 - ], - "screen_name":"Cal" - }, - { - "name":"Othman Laraki", - "id_str":"20495814", - "id":20495814, - "indices":[ - 70, - 77 - ], - "screen_name":"othman" - } - ] - }, - "text":"lecturing at the \"analyzing big data with twitter\" class at @cal with @othman http://t.co/bfj7zkDJ", - "contributors":null, - "id":240556426106372096, - "retweet_count":3, - "in_reply_to_status_id_str":null, - "geo":{ - "coordinates":[ - 37.871609, - -122.25831 - ], - "type":"Point" - }, - "retweeted":false, - "possibly_sensitive":false, - "in_reply_to_user_id":null, - "place":{ - "name":"Berkeley", - "country_code":"US", - "country":"United States", - "attributes":{ - - }, - "url":"http://api.twitter.com/1/geo/id/5ef5b7f391e30aff.json", - "id":"5ef5b7f391e30aff", - "bounding_box":{ - "coordinates":[ - [ - [ - -122.367781, - 37.835727 - ], - [ - -122.234185, - 37.835727 - ], - [ - -122.234185, - 37.905824 - ], - [ - -122.367781, - 37.905824 - ] - ] - ], - "type":"Polygon" - }, - "full_name":"Berkeley, CA", - "place_type":"city" - }, - "source":"<a href=\"//www.apple.com\"\" rel=\"\"nofollow\"\">Safari on iOS</a>", - "user":{ - "name":"Raffi Krikorian", - "profile_sidebar_fill_color":"DDEEF6", - "profile_background_tile":false, - "profile_sidebar_border_color":"C0DEED", - "profile_image_url":"http://a0.twimg.com/profile_images/1270234259/raffi-headshot-casual_normal.png", - "created_at":"Sun Aug 19 14:24:06 +0000 2007", - "location":"San Francisco, California", - "follow_request_sent":false, - "id_str":"8285392", - "is_translator":false, - "profile_link_color":"0084B4", - "entities":{ - "url":{ - "urls":[ - { - "expanded_url":"http://about.me/raffi.krikorian", - "url":"http://t.co/eNmnM6q", - "indices":[ - 0, - 19 - ], - "display_url":"about.me/raffi.krikorian" - } - ] - }, - "description":{ - "urls":[ - - ] - } - }, - "default_profile":true, - "url":"http://t.co/eNmnM6q", - "contributors_enabled":false, - "favourites_count":724, - "utc_offset":-28800, - "profile_image_url_https":"https://si0.twimg.com/profile_images/1270234259/raffi-headshot-casual_normal.png", - "id":8285392, - "listed_count":619, - "profile_use_background_image":true, - "profile_text_color":"333333", - "followers_count":18752, - "lang":"en", - "protected":false, - "geo_enabled":true, - "notifications":false, - "description":"Director of @twittereng's Platform Services. I break things.", - "profile_background_color":"C0DEED", - "verified":false, - "time_zone":"Pacific Time (US & Canada)", - "profile_background_image_url_https":"https://si0.twimg.com/images/themes/theme1/bg.png", - "statuses_count":5007, - "profile_background_image_url":"http://a0.twimg.com/images/themes/theme1/bg.png", - "default_profile_image":false, - "friends_count":701, - "following":true, - "show_all_inline_media":true, - "screen_name":"raffi" - }, - "in_reply_to_screen_name":null, - "in_reply_to_status_id":null - }, - { - "coordinates":null, - "truncated":false, - "created_at":"Tue Aug 28 19:59:34 +0000 2012", - "favorited":false, - "id_str":"240539141056638977", - "in_reply_to_user_id_str":null, - "entities":{ - "urls":[ - - ], - "hashtags":[ - - ], - "user_mentions":[ - - ] - }, - "text":"You'd be right more often if you thought you were wrong.", - "contributors":null, - "id":240539141056638977, - "retweet_count":1, - "in_reply_to_status_id_str":null, - "geo":null, - "retweeted":false, - "in_reply_to_user_id":null, - "place":null, - "source":"web", - "user":{ - "name":"Taylor Singletary", - "profile_sidebar_fill_color":"FBFBFB", - "profile_background_tile":true, - "profile_sidebar_border_color":"000000", - "profile_image_url":"http://a0.twimg.com/profile_images/2546730059/f6a8zq58mg1hn0ha8vie_normal.jpeg", - "created_at":"Wed Mar 07 22:23:19 +0000 2007", - "location":"San Francisco, CA", - "follow_request_sent":false, - "id_str":"819797", - "is_translator":false, - "profile_link_color":"c71818", - "entities":{ - "url":{ - "urls":[ - { - "expanded_url":"http://www.rebelmouse.com/episod/", - "url":"http://t.co/Lxw7upbN", - "indices":[ - 0, - 20 - ], - "display_url":"rebelmouse.com/episod/" - } - ] - }, - "description":{ - "urls":[ - - ] - } - }, - "default_profile":false, - "url":"http://t.co/Lxw7upbN", - "contributors_enabled":false, - "favourites_count":15990, - "utc_offset":-28800, - "profile_image_url_https":"https://si0.twimg.com/profile_images/2546730059/f6a8zq58mg1hn0ha8vie_normal.jpeg", - "id":819797, - "listed_count":340, - "profile_use_background_image":true, - "profile_text_color":"D20909", - "followers_count":7126, - "lang":"en", - "protected":false, - "geo_enabled":true, - "notifications":false, - "description":"Reality Technician, Twitter API team, synthesizer enthusiast; a most excellent adventure in timelines. I know it's hard to believe in something you can't see.", - "profile_background_color":"000000", - "verified":false, - "time_zone":"Pacific Time (US & Canada)", - "profile_background_image_url_https":"https://si0.twimg.com/profile_background_images/643655842/hzfv12wini4q60zzrthg.png", - "statuses_count":18076, - "profile_background_image_url":"http://a0.twimg.com/profile_background_images/643655842/hzfv12wini4q60zzrthg.png", - "default_profile_image":false, - "friends_count":5444, - "following":true, - "show_all_inline_media":true, - "screen_name":"episod" - }, - "in_reply_to_screen_name":null, - "in_reply_to_status_id":null - } - ] \ No newline at end of file diff --git a/Kumi/SwiftyJSON-4.2.0/scripts/carthage.sh b/Kumi/SwiftyJSON-4.2.0/scripts/carthage.sh deleted file mode 100755 index aeee56a..0000000 --- a/Kumi/SwiftyJSON-4.2.0/scripts/carthage.sh +++ /dev/null @@ -1,2 +0,0 @@ -carthage build --no-skip-current -carthage archive SwiftyJSON