Skip to content

Commit 6aa99bb

Browse files
committed
Kitura/Kitura#361 upgraded to compile with 4/12 binaries
1 parent e57295e commit 6aa99bb

File tree

4 files changed

+167
-66
lines changed

4 files changed

+167
-66
lines changed

Source/LclJSONSerialization.swift

+10-10
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,9 @@ public class LclJSONSerialization {
2929
private static let NULL = NSString(string: "null")
3030

3131

32-
public class func isValidJSONObject(obj: Any) -> Bool {
32+
public class func isValidJSONObject(_ obj: Any) -> Bool {
3333
// TODO: - revisit this once bridging story gets fully figured out
34-
func isValidJSONObjectInternal(obj: Any) -> Bool {
34+
func isValidJSONObjectInternal(_ obj: Any) -> Bool {
3535
// object is Swift.String or NSNull
3636
if obj is String || obj is Int || obj is Bool || obj is NSNull {
3737
return true
@@ -97,29 +97,29 @@ public class LclJSONSerialization {
9797
return isValidJSONObjectInternal(obj)
9898
}
9999

100-
public class func dataWithJSONObject(obj: Any, options: NSJSONWritingOptions) throws -> NSData
100+
public class func dataWithJSONObject(_ obj: Any, options: NSJSONWritingOptions) throws -> NSData
101101
{
102102
let result = NSMutableData()
103103

104104
try writeJson(obj, options: options) { (str: NSString?) in
105105
if let str = str {
106-
result.appendBytes(str.cStringUsingEncoding(NSUTF8StringEncoding), length: str.lengthOfBytesUsingEncoding(NSUTF8StringEncoding))
106+
result.appendBytes(str.cStringUsingEncoding(NSUTF8StringEncoding)!, length: str.lengthOfBytesUsingEncoding(NSUTF8StringEncoding))
107107
}
108108
}
109109

110110
return result
111111
}
112112

113113
/* Helper function to enable writing to NSData as well as NSStream */
114-
private static func writeJson(obj: Any, options opt: NSJSONWritingOptions, writer: (NSString?) -> Void) throws {
114+
private static func writeJson(_ obj: Any, options opt: NSJSONWritingOptions, writer: (NSString?) -> Void) throws {
115115
let prettyPrint = opt.rawValue & NSJSONWritingOptions.PrettyPrinted.rawValue != 0
116116
let padding: NSString? = prettyPrint ? NSString(string: "") : nil
117117

118118
try writeJsonValue(obj, padding: padding, writer: writer)
119119
}
120120

121121
/* Write out a JSON value (simple value, object, or array) */
122-
private static func writeJsonValue(obj: Any, padding: NSString?, writer: (NSString?) -> Void) throws {
122+
private static func writeJsonValue(_ obj: Any, padding: NSString?, writer: (NSString?) -> Void) throws {
123123
if obj is String {
124124
writer("\"")
125125
writer((obj as! String).bridge())
@@ -153,7 +153,7 @@ public class LclJSONSerialization {
153153
}
154154

155155
/* Write out a dictionary as a JSON object */
156-
private static func writeJsonObject(pairs: Array<Any>, padding: NSString?, writer: (NSString?) -> Void) throws {
156+
private static func writeJsonObject(_ pairs: Array<Any>, padding: NSString?, writer: (NSString?) -> Void) throws {
157157
let (nestedPadding, startOfLine, endOfLine) = setupPadding(padding)
158158
let nameValueSeparator = NSString(string: padding != nil ? ": " : ":")
159159

@@ -186,7 +186,7 @@ public class LclJSONSerialization {
186186
}
187187

188188
/* Write out an array as a JSON Array */
189-
private static func writeJsonArray(obj: Array<Any>, padding: NSString?, writer: (NSString?) -> Void) throws {
189+
private static func writeJsonArray(_ obj: Array<Any>, padding: NSString?, writer: (NSString?) -> Void) throws {
190190
let (nestedPadding, startOfLine, endOfLine) = setupPadding(padding)
191191
writer("[")
192192

@@ -209,7 +209,7 @@ public class LclJSONSerialization {
209209

210210
Note: if padding is nil, then all padding, newlines etc., are suppressed
211211
*/
212-
private static func setupPadding(padding: NSString?) -> (NSString?, NSString?, NSString?) {
212+
private static func setupPadding(_ padding: NSString?) -> (NSString?, NSString?, NSString?) {
213213
let nestedPadding: NSString?
214214
let startOfLine: NSString?
215215
let endOfLine: NSString?
@@ -229,7 +229,7 @@ public class LclJSONSerialization {
229229
return (nestedPadding, startOfLine, endOfLine)
230230
}
231231

232-
private static func createWriteError(reason: String) -> NSError {
232+
private static func createWriteError(_ reason: String) -> NSError {
233233
let userInfo: [String: Any] = [NSLocalizedDescriptionKey: JSON_WRITE_ERROR,
234234
NSLocalizedFailureReasonErrorKey: reason]
235235
return NSError(domain: LclErrorDomain, code: 1, userInfo: userInfo)

Source/NSExtension.swift

+85
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
//
2+
// NSExtension.swift
3+
// SwiftyJSON
4+
//
5+
// Created by Daniel Firsht on 4/13/16.
6+
//
7+
//
8+
9+
import Foundation
10+
11+
#if os(Linux)
12+
extension NSNumber {
13+
convenience init(value: Bool) {
14+
self.init(bool: value)
15+
}
16+
17+
convenience init(value: Double) {
18+
self.init(double: value)
19+
}
20+
21+
convenience init(value: Float) {
22+
self.init(float: value)
23+
}
24+
25+
convenience init(value: Int) {
26+
self.init(integer: value)
27+
}
28+
29+
convenience init(value: UInt) {
30+
self.init(unsignedLong: value)
31+
}
32+
33+
convenience init(value: Int8) {
34+
self.init(char: value)
35+
}
36+
37+
convenience init(value: UInt8) {
38+
self.init(unsignedChar: value)
39+
}
40+
41+
convenience init(value: Int16) {
42+
self.init(short: value)
43+
}
44+
45+
convenience init(value: UInt16) {
46+
self.init(unsignedShort: value)
47+
}
48+
49+
convenience init(value: Int32) {
50+
self.init(int: value)
51+
}
52+
53+
convenience init(value: UInt32) {
54+
self.init(unsignedInt: value)
55+
}
56+
57+
convenience init(value: Int64) {
58+
self.init(longLong: value)
59+
}
60+
61+
convenience init(value: UInt64) {
62+
self.init(unsignedLongLong: value)
63+
}
64+
65+
var intValue:Int {return self.longValue}
66+
67+
var uintValue:UInt {return self.unsignedLongValue}
68+
69+
var int8Value:Int8 {return self.charValue}
70+
71+
var uint8Value:UInt8 {return self.unsignedCharValue}
72+
73+
var int16Value:Int16 {return self.shortValue}
74+
75+
var uint16Value:UInt16 {return self.unsignedShortValue}
76+
77+
var int32Value:Int32 {return self.intValue}
78+
79+
var uint32Value:UInt32 {return self.unsignedIntValue}
80+
81+
var int64Value:Int64 {return self.longLongValue}
82+
83+
var uint64Value:UInt64 {return self.unsignedLongLongValue}
84+
}
85+
#endif

0 commit comments

Comments
 (0)