* Adds support for Long and Double mongodb types (fixes #1316) * Use bigger numbers
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
|
||||
let transform = require('../src/transform');
|
||||
let dd = require('deep-diff');
|
||||
let mongodb = require('mongodb');
|
||||
|
||||
var dummySchema = {
|
||||
data: {},
|
||||
@@ -241,4 +242,15 @@ describe('transform schema key changes', () => {
|
||||
done();
|
||||
});
|
||||
|
||||
it('untransforms mongodb number types', (done) => {
|
||||
var input = {
|
||||
long: mongodb.Long.fromNumber(Number.MAX_SAFE_INTEGER),
|
||||
double: new mongodb.Double(Number.MAX_VALUE)
|
||||
}
|
||||
var output = transform.untransformObject(dummySchema, null, input);
|
||||
expect(output.long).toBe(Number.MAX_SAFE_INTEGER);
|
||||
expect(output.double).toBe(Number.MAX_VALUE);
|
||||
done();
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
@@ -654,6 +654,14 @@ function untransformObject(schema, className, mongoObject, isNestedObject = fals
|
||||
return Parse._encode(mongoObject);
|
||||
}
|
||||
|
||||
if (mongoObject instanceof mongodb.Long) {
|
||||
return mongoObject.toNumber();
|
||||
}
|
||||
|
||||
if (mongoObject instanceof mongodb.Double) {
|
||||
return mongoObject.value;
|
||||
}
|
||||
|
||||
if (BytesCoder.isValidDatabaseObject(mongoObject)) {
|
||||
return BytesCoder.databaseToJSON(mongoObject);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user