-
Notifications
You must be signed in to change notification settings - Fork 1
MessagePack
uupaa edited this page Aug 1, 2015
·
10 revisions
MessagePack オブジェクトは、WebModule 名前空間以下に配置(WebModule.MessagePack
)されています。
MessagePack.js を読み込む前に WebModule.publish = true;
を行うと、
MessagePack オブジェクトを GLOBAL 名前空間以下に直接配置 できます。
var MessagePack = {
"encode": MessagePack_encode, // MessagePack.encode(source:Any, options:Object = {}):Uint8Array
"decode": MessagePack_decode, // MessagePack.decode(source:Uint8Array, options:Object = {}):Any
"pack": MessagePack_pack, // MessagePack.pack(source:Any):Object - { data:Uint8Array, type:INT8 }
"unpack": MessagePack_unpack, // MessagePack.unpack(data:Uint8Array, type:INT8):Any
};
MessagePack.encode(...) は、source を受け取り MessagePack でエンコードした新しい Unit8Array を返します。
function MessagePack_encode(source, // @arg Any - null, undefined, Boolean, Number, String, Array, Object, Uint8Array
options) { // @arg Object = {} - { pack, askey, ascii, buffer }
// @options.pack Function = MessagePack.pack - TYPE_EXT encode function.
// @options.askey Boolean = false - Map key encode to FIX_STR ASCII.
// @options.ascii Boolean = false - String encode to FIX_STR ASCII.
// @options.buffer Uint8Array = null - encode buffer.
// @ret Uint8Array - return new view of buffer.
}
options に指定可能な値は以下の通りです。詳細は EncodeOptions を参照してください。
Keywords | |
---|---|
askey:Boolean = false | 条件付きでObjectの変換処理を高速化します |
ascii:Boolean = false | 条件付きでStringの変換処理を高速化します |
buffer:Uint8Array = null | 内部で使用するバッファを指定します |
pack:Function = null | USER_DEFINED_TYPE で使用する関数を指定します |
var packed = MessagePack.encode("Hello world"); // Uint8Array [171, 72, 101, 108, 108, 111, 32, 119, 111, 114, 108, 100]
console.log( MessagePack.decode(packed) ); // "Hello world"
オブジェクトや配列のネストが512を超えると、循環参照エラーが発生します。
MessagePack.decode(...) は MessagePack バイナリをデコードし元のオブジェクトを復元します。
function MessagePack_decode(source, // @arg Uint8Array - MessagePacked data
options) { // @arg Object = {} - { unpack, askey, ascii, copy }
// @options.unpack Function = MessagePack.unpack - TYPE_EXT decode function.
// @options.askey Boolean = false - Map key decode to FIX_STR ASCII.
// @options.ascii Boolean = false - String decode to FIX_STR ASCII.
// @options.copy Boolean = false - copy memory.
// @ret Any
}
options に指定可能な値は以下の通りです。詳細は EncodeOptions を参照してください。
Keywords | |
---|---|
unpack:Function = null | USER_DEFINED_TYPE で使用する関数を指定します |
askey:Boolean = false | 条件付きでObjectの復元処理を高速化します |
ascii:Boolean = false | 条件付きでStringの復元処理を高速化します |
copy:Boolean = false | 内部バッファのコピーを行います |