47 lines
981 B
JavaScript
Raw Normal View History

2016-07-14 11:06:58 +02:00
'use strict';
/**
* Module dependencies
*/
2016-07-14 12:15:42 +02:00
module.exports = mongoose => {
require('mongoose-double')(mongoose);
require('mongoose-float').loadType(mongoose);
const SchemaTypes = mongoose.Schema.Types;
2016-07-14 11:06:58 +02:00
return {
2016-07-14 12:15:42 +02:00
convertType: mongooseType => {
2016-07-14 11:06:58 +02:00
switch (mongooseType.toLowerCase()) {
case 'string':
case 'text':
return 'String';
case 'integer':
case 'biginteger':
2016-09-28 11:42:26 +02:00
return 'Number';
2016-07-14 11:06:58 +02:00
case 'float':
2016-07-14 12:15:42 +02:00
return SchemaTypes.Float;
2016-07-14 11:06:58 +02:00
case 'decimal':
2016-07-14 12:15:42 +02:00
return SchemaTypes.Double;
2016-07-14 11:06:58 +02:00
case 'date':
case 'time':
case 'datetime':
case 'timestamp':
return Date;
case 'boolean':
2016-09-28 11:42:26 +02:00
return 'Boolean';
2016-07-14 11:06:58 +02:00
case 'binary':
return 'Buffer';
case 'uuid':
return 'ObjectId';
case 'enumeration':
return 'String';
case 'json':
return 'Mixed';
default:
}
}
2016-09-28 11:42:26 +02:00
};
};