arnaucube
arnaucube/thoughtsPublic Self-hosted repository
thoughts/node_modules/mongoose/lib/drivers/node-mongodb-native/objectid.js
node_modules/mongoose/lib/drivers/node-mongodb-native/objectid.jsRaw
 1
 2/*!
 3 * [node-mongodb-native](https://github.com/mongodb/node-mongodb-native) ObjectId
 4 * @constructor NodeMongoDbObjectId
 5 * @see ObjectId
 6 */
 7
 8var ObjectId = require('mongodb').BSONPure.ObjectID;
 9
10/*!
11 * ignore
12 */
13
14var ObjectIdToString = ObjectId.toString.bind(ObjectId);
15module.exports = exports = ObjectId;
16
17ObjectId.fromString = function(str){
18  // patch native driver bug in V0.9.6.4
19  if (!('string' === typeof str && 24 === str.length)) {
20    throw new Error("Invalid ObjectId");
21  }
22
23  return ObjectId.createFromHexString(str);
24};
25
26ObjectId.toString = function(oid){
27  if (!arguments.length) return ObjectIdToString();
28  return oid.toHexString();
29};