@@ -24,6 +24,12 @@ import Foundation
2424
2525// swiftlint:disable identifier_name line_length number_separator type_body_length
2626internal enum JSONFilesInline {
27+ internal enum Configuration {
28+ internal static let apiVersion : String = " 2 "
29+ internal static let country : Any ? = nil
30+ internal static let environment : String = " staging "
31+ internal static let options : [ String : Any ] = [ " screen-order " : [ " 1 " , " 2 " , " 3 " ] ]
32+ }
2733 internal enum Documents {
2834 internal enum Document1 {
2935 internal static let items : [ String ] = [ " Mark McGwire " , " Sammy Sosa " , " Ken Griffey " ]
@@ -33,22 +39,16 @@ internal enum JSONFilesInline {
3339 }
3440 }
3541 internal enum GroceryList {
36- internal static let items : [ String ] = [ " value1 " , " value2 " ]
37- }
38- internal enum Json {
39- internal static let key2 : String = " 2 "
40- internal static let key3 : [ String : Any ] = [ " nestedKey3 " : [ " 1 " , " 2 " , " 3 " ] ]
41- internal static let key4 : Any ? = nil
42- internal static let key1 : String = " value1 "
42+ internal static let items : [ String ] = [ " Eggs " , " Bread " , " Milk " ]
4343 }
4444 internal enum Mapping {
45- internal static let key2 : Double = 1.0
46- internal static let key3 : [ String : Any ] = [ " nestedKey1 " : " nestedValue1 " , " nestedKey2 " : " nestedValue2 " ]
47- internal static let key4 : Any ? = nil
48- internal static let key1 : String = " value1 "
45+ internal static let car : Any ? = nil
46+ internal static let foo : [ String : Any ] = [ " bar " : " banana " , " baz " : " orange " ]
47+ internal static let hello : String = " world "
48+ internal static let weight : Double = 33.3
4949 }
50- internal enum Scalar {
51- internal static let value : String = " value1 "
50+ internal enum Version {
51+ internal static let value : String = " 1.2.3.beta.4 "
5252 }
5353}
5454// swiftlint:enable identifier_name line_length number_separator type_body_length
@@ -62,12 +62,12 @@ internal enum JSONFilesInline {
6262
6363// swiftlint:disable identifier_name line_length type_body_length
6464internal enum JSONFilesRuntime {
65- internal enum Json {
66- private static let _document = JSONDocument ( path: " json .json" )
67- internal static let key2 : String = _document [ " key2 " ]
68- internal static let key3 : [ String : Any ] = _document [ " key3 " ]
69- internal static let key4 : Any ? = _document [ " key4 " ]
70- internal static let key1 : String = _document [ " key1 " ]
65+ internal enum Configuration {
66+ private static let _document = JSONDocument ( path: " configuration .json" )
67+ internal static let apiVersion : String = _document [ " api-version " ]
68+ internal static let country : Any ? = _document [ " country " ]
69+ internal static let environment : String = _document [ " environment " ]
70+ internal static let options : [ String : Any ] = _document [ " options " ]
7171 }
7272}
7373// swiftlint:enable identifier_name line_length type_body_length
@@ -76,10 +76,9 @@ internal enum JSONFilesRuntime {
7676
7777// Access content embedded inline in Swift
7878let list = JSONFilesInline . GroceryList. items
79- let dictionary = JSONFilesInline . Mapping . key3
80- let name = JSONFilesInline . Scalar . value
79+ let dictionary = JSONFilesInline . Configuration . options
80+ let name = JSONFilesInline . Version . value
8181
8282// Or access content by loading JSON file at runtime
83- let stringValue = JSONFilesRuntime . Json. key1
84- let doubleValue = JSONFilesRuntime . Json. key2
85- let info = JSONFilesRuntime . Json. key3
83+ let stringValue = JSONFilesRuntime . Configuration. apiVersion
84+ let info = JSONFilesRuntime . Configuration. options
0 commit comments