Skip to content

Commit c8efaeb

Browse files
committed
Merge pull request #20 from coshx/feat/add_bool_support
Fixes #19
2 parents 1fc5ae6 + 144c2ad commit c8efaeb

File tree

7 files changed

+32
-3
lines changed

7 files changed

+32
-3
lines changed

Caravel.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ Pod::Spec.new do |s|
1515
# summary should be tweet-length, and the description more in depth.
1616
#
1717

18-
version = "0.4.3"
18+
version = "0.4.4"
1919

2020
s.name = "Caravel"
2121
s.version = version

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
- `NSArray`
1919
- `NSDictionary`
2020
* JavaScript ~> iOS supported types:
21+
- `Bool`
2122
- `Int`
2223
- `Double`
2324
- `String`

caravel-test/EventDataController.swift

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,26 @@ public class EventDataController: UIViewController {
3333
bus.post("ComplexArray", anArray: [["name": "Alice", "age": 24], ["name": "Bob", "age": 23]])
3434
bus.post("ComplexDictionary", aDictionary: ["name": "Cesar", "address": ["street": "Parrot", "city": "Perigueux"], "games": ["Fifa", "Star Wars"]])
3535

36+
bus.register("True") { name, data in
37+
if let b = data as? Bool {
38+
if b != true {
39+
self._raise("True - bad value")
40+
}
41+
} else {
42+
self._raise("True - bad type")
43+
}
44+
}
45+
46+
bus.register("False") { name, data in
47+
if let b = data as? Bool {
48+
if b != false {
49+
self._raise("False - bad value")
50+
}
51+
} else {
52+
self._raise("False - bad type")
53+
}
54+
}
55+
3656
bus.register("Int") { name, data in
3757
if let i = data as? Int {
3858
if i != 987 {

caravel-test/js/event_data.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,8 @@ Caravel.getDefault().register("ComplexDictionary", function(name, data) {
115115
}
116116
});
117117

118+
Caravel.getDefault().post("True", true);
119+
Caravel.getDefault().post("False", false);
118120
Caravel.getDefault().post("Int", 987);
119121
Caravel.getDefault().post("Float", 19.89);
120122
Caravel.getDefault().post("Double", 15.15);

caravel/DataSerializer.swift

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,12 @@ internal class DataSerializer {
5454
return try! NSJSONSerialization.JSONObjectWithData(json, options: NSJSONReadingOptions())
5555
}
5656

57+
if input == "true" {
58+
return true
59+
} else if input == "false" {
60+
return false
61+
}
62+
5763
var isNumber = true
5864
for i in 0..<input.characters.count {
5965
if Int(input[i]) != nil || input[i] == "." || input[i] == "," {

caravel/js/Gruntfile.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
module.exports = function (grunt) {
22
'use strict';
33

4-
var version = '0.4.3';
4+
var version = '0.4.4';
55

66
// Project configuration
77
grunt.initConfig({

caravel/js/caravel.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)