diff options
author | Sebastian Schmidt <mrschmidt@google.com> | 2017-06-27 10:04:47 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-06-27 10:04:47 -0700 |
commit | c67a8bdc583c23865f2f31f2e38fd368d3b2505c (patch) | |
tree | 33d5ce1ba400bb35c020743d6562a07c3e7b97de /Firebase/Database | |
parent | d55b0b3f973ff6e8ed1bd75e08391c54446c1f51 (diff) |
Fixing parsing for double numbers (#107)
NSJSONSerialization parses long values as doubles and returns NSNumber that are backed by doubles to the users. For NSNumbers that can be stored as longs, we can overwrite this behavior by re-running the initialization step.
Diffstat (limited to 'Firebase/Database')
-rw-r--r-- | Firebase/Database/Persistence/FLevelDBStorageEngine.m | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/Firebase/Database/Persistence/FLevelDBStorageEngine.m b/Firebase/Database/Persistence/FLevelDBStorageEngine.m index ef924c4..2eb007a 100644 --- a/Firebase/Database/Persistence/FLevelDBStorageEngine.m +++ b/Firebase/Database/Persistence/FLevelDBStorageEngine.m @@ -669,6 +669,8 @@ static NSString* trackedQueryKeysKey(NSUInteger trackedQueryId, NSString *key) { if ((double)(long long)[value doubleValue] != [value doubleValue]) { NSString *doubleString = [value stringValue]; return [NSNumber numberWithDouble:[doubleString doubleValue]]; + } else { + return [NSNumber numberWithLong:[value longValue]]; } } } |