Permalink
Browse files

Added basic information about usage #21

  • Loading branch information...
1 parent 5d3cd47 commit e054b98224cc8fac52942fc782252ea34c9a0cf4 @christkv christkv committed Feb 21, 2013
Showing with 45 additions and 1 deletion.
  1. +45 −1 README.md
View
@@ -1 +1,45 @@
-A JS/C++ Bson parser for node, used in the MongoDB Native driver
+Javascript + C++ BSON parser
+============================
+
+This BSON parser is primarily meant for usage with the `mongodb` node.js driver. However thanks to such wonderful tools at `onejs` we are able to package up a BSON parser that will work in the browser aswell. The current build is located in the `browser_build/bson.js` file.
+
+A simple example on how to use it
+
+ <head>
+ <script src="https://raw.github.com/mongodb/js-bson/master/browser_build/bson.js">
+ </script>
+ </head>
+ <body onload="start();">
+ <script>
+ function start() {
+ var BSON = bson().BSON;
+ var Long = bson().Long;
+
+ var doc = {long: Long.fromNumber(100)}
+
+ // Serialize a document
+ var data = BSON.serialize(doc, false, true, false);
+ // De serialize it again
+ var doc_2 = BSON.deserialize(data);
+ }
+ </script>
+ </body>
+
+ It's got two simple methods to use in your application.
+
+ * BSON.serialize(object, checkKeys, asBuffer, serializeFunctions)
+ * @param {Object} object the Javascript object to serialize.
+ * @param {Boolean} checkKeys the serializer will check if keys are valid.
+ * @param {Boolean} asBuffer return the serialized object as a Buffer object **(ignore)**.
+ * @param {Boolean} serializeFunctions serialize the javascript functions **(default:false)**
+ * @return {TypedArray/Array} returns a TypedArray or Array depending on what your browser supports
+
+ * BSON.deserialize(buffer, options, isArray)
+ * Options
+ * **evalFunctions** {Boolean, default:false}, evaluate functions in the BSON document scoped to the object deserialized.
+ * **cacheFunctions** {Boolean, default:false}, cache evaluated functions for reuse.
+ * **cacheFunctionsCrc32** {Boolean, default:false}, use a crc32 code for caching, otherwise use the string of the function.
+ * @param {TypedArray/Array} a TypedArray/Array containing the BSON data
+ * @param {Object} [options] additional options used for the deserialization.
+ * @param {Boolean} [isArray] ignore used for recursive parsing.
+ * @return {Object} returns the deserialized Javascript Object.

0 comments on commit e054b98

Please sign in to comment.