Skip to content

Commit

Permalink
msgpack.pack add second argument.
Browse files Browse the repository at this point in the history
msgpack.pack(mix:Mix, toString:Boolean = false)

Signed-off-by: uupaa <uupaa.js@gmail.com>
  • Loading branch information
uupaa committed Nov 27, 2010
1 parent d415441 commit 45de17e
Showing 1 changed file with 19 additions and 4 deletions.
23 changes: 19 additions & 4 deletions msgpack.js
Original file line number Diff line number Diff line change
@@ -1,12 +1,17 @@
/*!{id:msgpack.js,ver:1.01,license:"MIT",author:"uupaa.js@gmail.com"}*/

// === msgpack ===
// MessagePack -> http://msgpack.sourceforge.net/

this.msgpack || (function(globalScope) {

globalScope.msgpack = {
pack: msgpackpack, // msgpack.pack(data:Mix):ByteArray
pack: msgpackpack, // msgpack.pack(data:Mix, toString:Boolean = false):ByteArray/ByteString
// [1][mix to String] msgpack.pack({}, true) -> "..."
// [2][mix to ByteArray] msgpack.pack({}) -> [...]
unpack: msgpackunpack, // msgpack.unpack(data:BinaryString/ByteArray):Mix
// [1][String to mix] msgpack.unpack("...") -> {}
// [2][ByteArray to mix] msgpack.unpack([...]) -> {}
worker: "msgpack.js", // msgpack.worker - WebWorkers script filename
upload: msgpackupload, // msgpack.upload(url:String, option:Hash, callback:Function)
download: msgpackdownload // msgpack.download(url:String, option:Hash, callback:Function)
Expand All @@ -31,14 +36,24 @@ self.importScripts && (onmessage = function(event) {
});

// msgpack.pack
function msgpackpack(data) { // @param Mix:
// @return ByteArray:
return encode([], data);
function msgpackpack(data, // @param Mix:
toString) { // @param Boolean(= false):
// @return ByteArray/BinaryString:
// [1][mix to String] msgpack.pack({}, true) -> "..."
// [2][mix to ByteArray] msgpack.pack({}) -> [...]

var byteArray = encode([], data);

return toString ? String.fromCharCode.apply(null, byteArray) // toString
: byteArray;
}

// msgpack.unpack
function msgpackunpack(data) { // @param BinaryString/ByteArray:
// @return Mix:
// [1][String to mix] msgpack.unpack("...") -> {}
// [2][ByteArray to mix] msgpack.unpack([...]) -> {}

return { data: typeof data === "string" ? toByteArray(data)
: data,
index: -1, decode: decode }.decode();
Expand Down

0 comments on commit 45de17e

Please sign in to comment.