* 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 transform = require('../src/transform');
|
||||||
let dd = require('deep-diff');
|
let dd = require('deep-diff');
|
||||||
|
let mongodb = require('mongodb');
|
||||||
|
|
||||||
var dummySchema = {
|
var dummySchema = {
|
||||||
data: {},
|
data: {},
|
||||||
@@ -241,4 +242,15 @@ describe('transform schema key changes', () => {
|
|||||||
done();
|
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);
|
return Parse._encode(mongoObject);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (mongoObject instanceof mongodb.Long) {
|
||||||
|
return mongoObject.toNumber();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mongoObject instanceof mongodb.Double) {
|
||||||
|
return mongoObject.value;
|
||||||
|
}
|
||||||
|
|
||||||
if (BytesCoder.isValidDatabaseObject(mongoObject)) {
|
if (BytesCoder.isValidDatabaseObject(mongoObject)) {
|
||||||
return BytesCoder.databaseToJSON(mongoObject);
|
return BytesCoder.databaseToJSON(mongoObject);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user