Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: takaaptech/Freddy
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: devprodoctor/Freddy
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
Able to merge. These branches can be automatically merged.

Commits on Feb 1, 2016

  1. Reorganize sources to support swiftpm

    Closes #110
    neonichu committed Feb 1, 2016
    Copy the full SHA
    32e2da3 View commit details
  2. Merge pull request #113 from neonichu/swiftpm-support

    Reorganize sources to support swiftpm
    zwaldowski committed Feb 1, 2016
    Copy the full SHA
    5ef8c74 View commit details
  3. Copy the full SHA
    3ca82a3 View commit details
  4. Copy the full SHA
    5e395c9 View commit details
  5. Fix tyop from #112

    zwaldowski committed Feb 1, 2016
    Copy the full SHA
    9299cc6 View commit details
  6. Copy the full SHA
    82bdf0f View commit details
  7. Merge pull request #114 from bignerdranch/zwaldowski/project-fixes

    Project fixups
    mdmathias committed Feb 1, 2016
    Copy the full SHA
    7f12f4c View commit details

Commits on Feb 2, 2016

  1. Copy the full SHA
    5cdf639 View commit details
  2. Copy the full SHA
    4e16698 View commit details
  3. Merge pull request #116 from bignerdranch/jjm-fix-readme

    Remove trailing commas from readme example, and update gitignore
    mdmathias committed Feb 2, 2016
    Copy the full SHA
    1f13dda View commit details

Commits on Feb 4, 2016

  1. Add tvos to podspec

    justinmstuart committed Feb 4, 2016
    Copy the full SHA
    8be7f1b View commit details

Commits on Feb 5, 2016

  1. Add UTF-16 surrogate pair support to JSONParser.

    Closes #122.
    hydhknn committed Feb 5, 2016
    Copy the full SHA
    3de9438 View commit details
  2. Copy the full SHA
    059c204 View commit details
  3. Copy the full SHA
    da4353a View commit details
  4. Copy the full SHA
    d371094 View commit details
  5. Copy the full SHA
    00ae912 View commit details
  6. Copy the full SHA
    71da9cb View commit details
  7. Copy the full SHA
    faed337 View commit details

Commits on Feb 6, 2016

  1. Merge pull request #123 from bignerdranch/parse-utf16-surrogate-pairs

    Add UTF-16 surrogate pair support to JSONParser.
    zwaldowski committed Feb 6, 2016
    Copy the full SHA
    7588a67 View commit details
  2. Merge pull request #120 from justinmstuart/feature/tvos-support

    Adds Cocoapods support for tvos
    zwaldowski committed Feb 6, 2016
    Copy the full SHA
    1b78914 View commit details

Commits on Feb 8, 2016

  1. Copy the full SHA
    9655c38 View commit details

Commits on Feb 11, 2016

  1. README: Add section headings under Usage

    This paves the way to contrast deserialization with serialization.
    jeremy-w committed Feb 11, 2016
    Copy the full SHA
    935b44f View commit details
  2. README: Add "Serialization" subsection under "Usage"

    Covers `JSON.serialize()` and `JSONEncodable.toJSON()`.
    
    [fixes #129]
    jeremy-w committed Feb 11, 2016
    Copy the full SHA
    dd933dd View commit details
  3. Copy the full SHA
    9b0c030 View commit details
  4. Shift serialization code to JSONSerializing.swift

    Previously lived in JSONParsing.swift.
    jeremy-w committed Feb 11, 2016
    Copy the full SHA
    4754148 View commit details
  5. Copy the full SHA
    87b9745 View commit details
  6. Shift serialization tests to JSONSerializationTests.swift

    Previously lived in JSONSubscriptTests.swift.
    jeremy-w committed Feb 11, 2016
    Copy the full SHA
    fdcbc65 View commit details
  7. Copy the full SHA
    fc90e05 View commit details
  8. Copy the full SHA
    d0c47f2 View commit details
  9. Merge pull request #130 from bignerdranch/jeremy-w/highlight-serializ…

    …e-functionality-129
    
    Call out serialization support in README
    
    Thanks to @lucatorella for highlighting the need for this in #129.
    jeremy-w committed Feb 11, 2016
    Copy the full SHA
    303a631 View commit details
  10. Merge pull request #131 from bignerdranch/jeremy-w/separate-serializa…

    …tion-from-deserialization
    
    Separate serialization from deserialization
    jeremy-w committed Feb 11, 2016
    Copy the full SHA
    dc98e18 View commit details

Commits on Feb 15, 2016

  1. Copy the full SHA
    c8a96e3 View commit details
  2. Merge pull request #134 from bignerdranch/sc/link-docs-from-readme

    adds link to generated documentation from README.
    Brian Hardy committed Feb 15, 2016
    Copy the full SHA
    7e4d777 View commit details

Commits on Feb 19, 2016

  1. Copy the full SHA
    b13b0e3 View commit details
  2. Use toJSON() on enum type

    AquaGeek committed Feb 19, 2016
    Copy the full SHA
    0d8dbae View commit details

Commits on Feb 20, 2016

  1. Merge pull request #140 from AquaGeek/raw-representable

    Fix #139: Make RawRepresentable conform to JSONDecodable and JSONEncodable
    zwaldowski committed Feb 20, 2016
    Copy the full SHA
    c943111 View commit details

Commits on Feb 28, 2016

  1. Typo in README

    'But you program will...' -> 'But your program will...'
    swilliams committed Feb 28, 2016
    Copy the full SHA
    044352a View commit details
  2. Merge pull request #144 from swilliams/patch-1

    Typo in README
    hydhknn committed Feb 28, 2016
    Copy the full SHA
    99c4386 View commit details

Commits on Mar 3, 2016

  1. Copy the full SHA
    2f2fcf2 View commit details
  2. Responds to suggestions

    Removes 'paste' and adds rationale
    mdmathias committed Mar 3, 2016
    Copy the full SHA
    fbeb5a6 View commit details

Commits on Mar 9, 2016

  1. Copy the full SHA
    7d3ee4c View commit details
  2. Merge pull request #146 from bignerdranch/mattmatt/update-readme-ios7

    Updates README to reflect reality of iOS 7
    mdmathias committed Mar 9, 2016
    Copy the full SHA
    fae3cae View commit details

Commits on Mar 11, 2016

  1. Adds a ParsingOptions OptionSetType

    ParsingOptions is used when parsing JSON that may have null values or missing keys.  ParsingOptions provides .NullBecomesNil and .MissingKeyBecomesNil options to treat this JSON as nil to prevent the throwing of errors.
    mdmathias committed Mar 11, 2016
    Copy the full SHA
    d217935 View commit details
  2. Copy the full SHA
    46d8244 View commit details

Commits on Mar 15, 2016

  1. Responds to PR comments

    Adds comments to ParsingOptions's options, removes superfluous detectNotFounds, and excises a redundant test.
    mdmathias committed Mar 15, 2016
    Copy the full SHA
    9a45a83 View commit details

Commits on Mar 21, 2016

  1. Copy the full SHA
    da9d800 View commit details
  2. Copy the full SHA
    0b6ecbe View commit details

Commits on Mar 23, 2016

  1. Copy the full SHA
    1c625a2 View commit details

Commits on Mar 24, 2016

  1. Copy the full SHA
    85f12a9 View commit details
  2. Copy the full SHA
    d9d7711 View commit details
Showing with 3,955 additions and 2,150 deletions.
  1. +12 −0 .gitignore
  2. +1 −0 .swift-version
  3. +6 −16 .travis.yml
  4. +17 −4 Configurations/Base.xcconfig
  5. +1 −1 Configurations/Debug.xcconfig
  6. +1 −1 Configurations/Framework.xcconfig
  7. +2 −1 Configurations/Release.xcconfig
  8. +1 −1 Configurations/Tests.xcconfig
  9. +6 −5 Freddy.podspec
  10. +149 −107 Freddy.xcodeproj/project.pbxproj
  11. +8 −0 Freddy.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
  12. +3 −3 Freddy.xcodeproj/xcshareddata/xcschemes/Freddy.xcscheme
  13. +3 −3 Freddy.xcodeproj/xcshareddata/xcschemes/MobileFreddy.xcscheme
  14. +1 −1 Freddy.xcodeproj/xcshareddata/xcschemes/NanoFreddy.xcscheme
  15. +3 −3 Freddy.xcodeproj/xcshareddata/xcschemes/TVFreddy.xcscheme
  16. +0 −135 Freddy/JSONDecodable.swift
  17. +0 −667 Freddy/JSONParser.swift
  18. +0 −139 Freddy/JSONParsing.swift
  19. +0 −294 FreddyTests/JSONParserTests.swift
  20. +0 −194 FreddyTests/JSONSubscriptTests.swift
  21. +0 −33 FreddyTests/Person.swift
  22. +0 −38 FreddyTests/sample.JSON
  23. +0 −1 FreddyTests/sampleNoWhiteSpace.JSON
  24. +6 −0 Gemfile
  25. +232 −0 Gemfile.lock
  26. +6 −0 Package.swift
  27. +89 −21 README.md
  28. +1 −1 {Configurations → Resources/scripts}/publish_docs.sh
  29. +58 −0 Resources/scripts/validate_carthage.sh
  30. 0 {Freddy → Sources}/Freddy.h
  31. 0 {Freddy → Sources}/Info.plist
  32. +37 −0 Sources/IntExtensions.swift
  33. +31 −28 {Freddy → Sources}/JSON.swift
  34. +198 −0 Sources/JSONDecodable.swift
  35. +24 −16 {Freddy → Sources}/JSONEncodable.swift
  36. +29 −24 {Freddy → Sources}/JSONEncodingDetector.swift
  37. +23 −19 {Freddy → Sources}/JSONLiteralConvertible.swift
  38. +117 −0 Sources/JSONOptional.swift
  39. +927 −0 Sources/JSONParser.swift
  40. +121 −0 Sources/JSONParsing.swift
  41. +76 −0 Sources/JSONSerializing.swift
  42. +219 −303 {Freddy → Sources}/JSONSubscripting.swift
  43. 0 { → Tests}/FreddyTests/Info.plist
  44. +87 −29 { → Tests}/FreddyTests/JSONDecodableTests.swift
  45. +9 −9 { → Tests}/FreddyTests/JSONEncodableTests.swift
  46. +33 −27 { → Tests}/FreddyTests/JSONEncodingDetectorTests.swift
  47. +49 −0 Tests/FreddyTests/JSONOptionalTests.swift
  48. +500 −0 Tests/FreddyTests/JSONParserTests.swift
  49. +134 −0 Tests/FreddyTests/JSONSerializingTests.swift
  50. +496 −0 Tests/FreddyTests/JSONSubscriptingTests.swift
  51. +6 −6 { → Tests}/FreddyTests/JSONTests.swift
  52. +20 −20 { → Tests}/FreddyTests/JSONTypeTests.swift
  53. +44 −0 Tests/FreddyTests/Person.swift
  54. +41 −0 Tests/FreddyTests/sample.JSON
  55. +1 −0 Tests/FreddyTests/sampleNoWhiteSpace.JSON
  56. +69 −0 fastlane/Fastfile
  57. +58 −0 fastlane/README.md
12 changes: 12 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -16,6 +16,7 @@ DerivedData
*.hmap
*.ipa
*.xcuserstate
.DS_Store

# CocoaPods
#
@@ -26,3 +27,14 @@ DerivedData
# Pods/

docs/

# Swift Package Manager
#
.build/
Packages/

# Carthage
Carthage/Build
report.xml
fastlane/test_output
fastlane/build_output
1 change: 1 addition & 0 deletions .swift-version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
3.2
22 changes: 6 additions & 16 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,22 +1,12 @@
language: objective-c
osx_image: xcode7.2
osx_image: xcode8
cache: bundler
rvm: 2.2.1
install:
- gem install xcpretty --no-rdoc --no-ri --no-document
- gem install jazzy --no-rdoc --no-ri --no-document
- curl -OlL "https://github.com/Carthage/Carthage/releases/download/0.11/Carthage.pkg"
- sudo installer -pkg "Carthage.pkg" -target /
- rm "Carthage.pkg"
- bundle install
- brew outdated carthage || brew upgrade carthage
script:
- open -b com.apple.iphonesimulator # Travis CI workaround
- set -o pipefail && xcodebuild test -scheme 'Freddy' -sdk macosx | xcpretty -c
- set -o pipefail && xcodebuild test -scheme 'MobileFreddy' -sdk iphonesimulator -destination
'platform=iOS Simulator,name=iPhone 5' | xcpretty -c
- set -o pipefail && xcodebuild test -scheme 'TVFreddy' -sdk appletvsimulator -destination
'platform=tvOS Simulator,name=Apple TV 1080p' | xcpretty -c
- carthage build --no-skip-current
- pod lib lint --quick
after_success:
- "./Configurations/publish_docs.sh"
- bundle exec fastlane travis
notifications:
slack:
secure: VHcEZcTuVR3gfHIcM9jcxrXgE3tkVIT4gWDLpnK7O4em86dCpaVkLDwr0UcQYxvqGS1J8pQqGZCwyOBsdgaItX52eRDMIez/384B56Vl6eufdLAcwWELIEtHyFkJ6XUjmASICaeeb8SpF/rj89/AXoHU6c8shY13NKtoBBZCGq8=
21 changes: 17 additions & 4 deletions Configurations/Base.xcconfig
Original file line number Diff line number Diff line change
@@ -26,8 +26,18 @@ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES
GCC_WARN_UNDECLARED_SELECTOR = YES
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR
CLANG_WARN_INFINITE_RECURSION = YES
CLANG_WARN_SUSPICIOUS_MOVE = YES
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES
CLANG_WARN_STRICT_PROTOTYPES = YES
CLANG_WARN_COMMA = YES
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES

CURRENT_PROJECT_VERSION = 1
CURRENT_PROJECT_VERSION = 3.0.0
VERSION_INFO_PREFIX =
VERSIONING_SYSTEM = apple-generic

@@ -39,6 +49,9 @@ TVOS_DEPLOYMENT_TARGET = 9.0
ENABLE_BITCODE = YES
ENABLE_BITCODE[sdk=macosx*] = NO

CODE_SIGN_IDENTITY[sdk=macosx*] = -
CODE_SIGN_IDENTITY[sdk=iphoneos*] = iPhone Developer
CODE_SIGN_IDENTITY[sdk=appletvos*] = iPhone Developer
CODE_SIGN_IDENTITY[sdk=macosx*] =
CODE_SIGN_IDENTITY[sdk=iphoneos*] =
CODE_SIGN_IDENTITY[sdk=appletvos*] =
CODE_SIGN_IDENTITY[sdk=watchos*] =

SWIFT_VERSION = 3.0
2 changes: 1 addition & 1 deletion Configurations/Debug.xcconfig
Original file line number Diff line number Diff line change
@@ -6,5 +6,5 @@ ENABLE_TESTABILITY = YES
VALIDATE_PRODUCT = NO
GCC_OPTIMIZATION_LEVEL = 0
ENABLE_NS_ASSERTIONS = YES
GCC_PREPROCESSOR_DEFINITIONS = DEBUG=1
SWIFT_OPTIMIZATION_LEVEL = -Onone
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG
2 changes: 1 addition & 1 deletion Configurations/Framework.xcconfig
Original file line number Diff line number Diff line change
@@ -18,6 +18,6 @@ LD_RUNPATH_SEARCH_PATHS[sdk=watchsimulator*] = $(inherited) @executable_path/F

DEFINES_MODULE = YES
FRAMEWORK_VERSION = A
INFOPLIST_FILE = Freddy/Info.plist
INFOPLIST_FILE = Sources/Info.plist
PRODUCT_BUNDLE_IDENTIFIER = com.bignerdranch.$(TARGET_NAME)
PRODUCT_NAME = Freddy
3 changes: 2 additions & 1 deletion Configurations/Release.xcconfig
Original file line number Diff line number Diff line change
@@ -6,5 +6,6 @@ ENABLE_TESTABILITY = NO
VALIDATE_PRODUCT = YES
GCC_OPTIMIZATION_LEVEL = s
ENABLE_NS_ASSERTIONS = NO
GCC_PREPROCESSOR_DEFINITIONS =
SWIFT_OPTIMIZATION_LEVEL = -O
SWIFT_COMPILATION_MODE = wholemodule
COPY_PHASE_STRIP = YES
2 changes: 1 addition & 1 deletion Configurations/Tests.xcconfig
Original file line number Diff line number Diff line change
@@ -6,6 +6,6 @@ LD_RUNPATH_SEARCH_PATHS[sdk=iphonesimulator*] = $(inherited) @executable_path/F
LD_RUNPATH_SEARCH_PATHS[sdk=appletvos*] = $(inherited) @executable_path/Frameworks @loader_path/Frameworks
LD_RUNPATH_SEARCH_PATHS[sdk=appletvsimulator*] = $(inherited) @executable_path/Frameworks @loader_path/Frameworks

INFOPLIST_FILE = FreddyTests/Info.plist
INFOPLIST_FILE = Tests/Info.plist
PRODUCT_BUNDLE_IDENTIFIER = com.bignerdranch.$(TARGET_NAME)
PRODUCT_NAME = $(TARGET_NAME)
11 changes: 6 additions & 5 deletions Freddy.podspec
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Pod::Spec.new do |s|

s.name = "Freddy"
s.version = "2.0.0b1"
s.version = "3.0.3"
s.summary = "A JSON parsing library written in Swift"

s.description = <<-DESC
@@ -17,15 +17,16 @@ Pod::Spec.new do |s|

s.authors = {"Matt Mathias" => "mattm@bignerdranch.com",
"John Gallagher" => "jgallagher@bignerdranch.com",
"Zachary Waldowski" => "zachary@bignerdranch.com"}
"Zachary Waldowski" => "zachary@bignerdranch.com" }

s.swift_version = '3.2'
s.ios.deployment_target = "8.0"
s.osx.deployment_target = "10.10"
s.watchos.deployment_target = "2.0"
s.tvos.deployment_target = "9.0"

s.source = {:git => "https://github.com/bignerdranch/Freddy.git", :tag => "v#{s.version}"}
s.source_files = "Freddy/*.swift"
s.source = {:git => "https://github.com/bignerdranch/Freddy.git", :tag => "#{s.version}"}
s.source_files = "Sources/**/*.{h,swift}"

s.requires_arc = true

end
Loading