-
Notifications
You must be signed in to change notification settings - Fork 36
/
Copy pathmsgpack.min.js
2 lines (2 loc) · 6.98 KB
/
msgpack.min.js
1
2
!function(){"use strict";function e(r,s){if(s&&s.multiple&&!Array.isArray(r))throw new Error("Invalid argument type: Expected an Array to serialize multiple values.");const d=4294967296;let y,h,n=new Uint8Array(128),i=0;if(s&&s.multiple)for(let e=0;e<r.length;e++)g(r[e]);else g(r);return n.subarray(0,i);function g(r,e){switch(typeof r){case"undefined":w();break;case"boolean":v(r?195:194);break;case"number":t=r,isFinite(t)&&Number.isSafeInteger(t)?0<=t&&t<=127||t<0&&-32<=t?v(t):0<t&&t<=255?m([204,t]):-128<=t&&t<=127?m([208,t]):0<t&&t<=65535?m([205,t>>>8,t]):-32768<=t&&t<=32767?m([209,t>>>8,t]):0<t&&t<=4294967295?m([206,t>>>24,t>>>16,t>>>8,t]):-2147483648<=t&&t<=2147483647?m([210,t>>>24,t>>>16,t>>>8,t]):0<t&&t<=0x10000000000000000?(v(207),b(t)):-0x8000000000000000<=t&&t<=0x8000000000000000?(v(211),b(t)):m(t<0?[211,128,0,0,0,0,0,0,0]:[207,255,255,255,255,255,255,255,255]):(h||(y=new ArrayBuffer(8),h=new DataView(y)),h.setFloat64(0,t),v(203),m(new Uint8Array(y)));break;case"string":var t=r,n=(t=function(t){let r=!0,n=t.length;for(let e=0;e<n;e++)if(127<t.charCodeAt(e)){r=!1;break}let i=0,a=new Uint8Array(t.length*(r?1:4));for(let r=0;r!==n;r++){let e=t.charCodeAt(r);if(e<128)a[i++]=e;else{if(e<2048)a[i++]=e>>6|192;else{if(55295<e&&e<56320){if(++r>=n)throw new Error("UTF-8 encode: incomplete surrogate pair");var o=t.charCodeAt(r);if(o<56320||57343<o)throw new Error("UTF-8 encode: second surrogate character 0x"+o.toString(16)+" at index "+r+" out of range");e=65536+((1023&e)<<10)+(1023&o),a[i++]=e>>18|240,a[i++]=e>>12&63|128}else a[i++]=e>>12|224;a[i++]=e>>6&63|128}a[i++]=63&e|128}}return r?a:a.subarray(0,i)}(r)).length;n<=31?v(160+n):m(n<=255?[217,n]:n<=65535?[218,n>>>8,n]:[219,n>>>24,n>>>16,n>>>8,n]),m(t);break;case"object":if(null===r)w();else if(r instanceof Date){n=r;var i=n.getTime()/1e3;{var a;0===n.getMilliseconds()&&0<=i&&i<4294967296?m([214,255,i>>>24,i>>>16,i>>>8,i]):0<=i&&i<17179869184?m([215,255,(a=1e6*n.getMilliseconds())>>>22,a>>>14,a>>>6,a<<2>>>0|i/d,i>>>24,i>>>16,i>>>8,i]):(m([199,12,255,(a=1e6*n.getMilliseconds())>>>24,a>>>16,a>>>8,a]),b(i))}}else if(Array.isArray(r))p(r);else if(r instanceof Uint8Array||r instanceof Uint8ClampedArray){i=r;var o=i.length;m(o<=255?[196,o]:o<=65535?[197,o>>>8,o]:[198,o>>>24,o>>>16,o>>>8,o]);m(i)}else if(r instanceof Int8Array||r instanceof Int16Array||r instanceof Uint16Array||r instanceof Int32Array||r instanceof Uint32Array||r instanceof Float32Array||r instanceof Float64Array)p(r);else{var f,l,u=r;let e=0;for(f in u)void 0!==u[f]&&e++;for(l in e<=15?v(128+e):e<=65535?m([222,e>>>8,e]):m([223,e>>>24,e>>>16,e>>>8,e]),u){var c=u[l];void 0!==c&&(g(l),g(c))}}break;default:if(e||!s||!s.invalidTypeReplacement)throw new Error("Invalid argument type: The type '"+typeof r+"' cannot be serialized.");"function"==typeof s.invalidTypeReplacement?g(s.invalidTypeReplacement(r),!0):g(s.invalidTypeReplacement,!0)}var t}function w(){v(192)}function p(r){var t=r.length;t<=15?v(144+t):m(t<=65535?[220,t>>>8,t]:[221,t>>>24,t>>>16,t>>>8,t]);for(let e=0;e<t;e++)g(r[e])}function v(e){if(n.length<i+1){let e=2*n.length;for(;e<i+1;)e*=2;var r=new Uint8Array(e);r.set(n),n=r}n[i]=e,i++}function m(r){if(n.length<i+r.length){let e=2*n.length;for(;e<i+r.length;)e*=2;var t=new Uint8Array(e);t.set(n),n=t}n.set(r,i),i+=r.length}function b(e){let r,t;t=0<=e?(r=e/d,e%d):(e++,r=Math.abs(e)/d,t=Math.abs(e)%d,r=~r,~t),m([r>>>24,r>>>16,r>>>8,r,t>>>24,t>>>16,t>>>8,t])}}function r(o,e){const i=4294967296;let f=0;if("object"!=typeof(o=o instanceof ArrayBuffer?new Uint8Array(o):o)||void 0===o.length)throw new Error("Invalid argument type: Expected a byte array (Array or Uint8Array) to deserialize.");if(!o.length)throw new Error("Invalid argument: The byte array to deserialize is empty.");o instanceof Uint8Array||(o=new Uint8Array(o));let r;if(e&&e.multiple)for(r=[];f<o.length;)r.push(n());else r=n();return r;function n(){var e=o[f++];if(0<=e&&e<=127)return e;if(128<=e&&e<=143)return c(e-128);if(144<=e&&e<=159)return s(e-144);if(160<=e&&e<=191)return d(e-160);if(192===e)return null;if(193===e)throw new Error("Invalid byte code 0xc1 found.");if(194===e)return!1;if(195===e)return!0;if(196===e)return u(-1,1);if(197===e)return u(-1,2);if(198===e)return u(-1,4);if(199===e)return y(-1,1);if(200===e)return y(-1,2);if(201===e)return y(-1,4);if(202===e)return t(4);if(203===e)return t(8);if(204===e)return l(1);if(205===e)return l(2);if(206===e)return l(4);if(207===e)return l(8);if(208===e)return a(1);if(209===e)return a(2);if(210===e)return a(4);if(211===e)return a(8);if(212===e)return y(1);if(213===e)return y(2);if(214===e)return y(4);if(215===e)return y(8);if(216===e)return y(16);if(217===e)return d(-1,1);if(218===e)return d(-1,2);if(219===e)return d(-1,4);if(220===e)return s(-1,2);if(221===e)return s(-1,4);if(222===e)return c(-1,2);if(223===e)return c(-1,4);if(224<=e&&e<=255)return e-256;throw console.debug("msgpack array:",o),new Error("Invalid byte value '"+e+"' at index "+(f-1)+" in the MessagePack binary data (length "+o.length+"): Expecting a range of 0 to 255. This is not a byte array.")}function a(e){let r=0,t=!0;for(;0<e--;){var n;t?(n=o[f++],r+=127&n,128&n&&(r-=128),t=!1):r=(r*=256)+o[f++]}return r}function l(e){let r=0;for(;0<e--;)r=(r*=256)+o[f++];return r}function t(e){var r=new DataView(o.buffer,f+o.byteOffset,e);return f+=e,4===e?r.getFloat32(0,!1):8===e?r.getFloat64(0,!1):void 0}function u(e,r){e<0&&(e=l(r));r=o.subarray(f,f+e);return f+=e,r}function c(e,r){e<0&&(e=l(r));for(var t={};0<e--;)t[n()]=n();return t}function s(e,r){e<0&&(e=l(r));for(var t=[];0<e--;)t.push(n());return t}function d(e,n){e<0&&(e=l(n));n=f;f+=e;{var i=o,a=e;let r=n,t="";for(a+=n;r<a;){let e=i[r++];if(127<e)if(191<e&&e<224){if(r>=a)throw new Error("UTF-8 decode: incomplete 2-byte sequence");e=(31&e)<<6|63&i[r++]}else if(223<e&&e<240){if(r+1>=a)throw new Error("UTF-8 decode: incomplete 3-byte sequence");e=(15&e)<<12|(63&i[r++])<<6|63&i[r++]}else{if(!(239<e&&e<248))throw new Error("UTF-8 decode: unknown multibyte start 0x"+e.toString(16)+" at index "+(r-1));if(r+2>=a)throw new Error("UTF-8 decode: incomplete 4-byte sequence");e=(7&e)<<18|(63&i[r++])<<12|(63&i[r++])<<6|63&i[r++]}if(e<=65535)t+=String.fromCharCode(e);else{if(!(e<=1114111))throw new Error("UTF-8 decode: code point 0x"+e.toString(16)+" exceeds UTF-16 reach");e-=65536,t=(t+=String.fromCharCode(e>>10|55296))+String.fromCharCode(1023&e|56320)}}return t}}function y(e,r){e<0&&(e=l(r));var t,r=l(1),e=u(e);if(255!==r)return{type:r,data:e};if(4===(r=e).length)return t=(r[0]<<24>>>0)+(r[1]<<16>>>0)+(r[2]<<8>>>0)+r[3],new Date(1e3*t);if(8===r.length)return t=(r[0]<<22>>>0)+(r[1]<<14>>>0)+(r[2]<<6>>>0)+(r[3]>>>2),n=(3&r[3])*i+(r[4]<<24>>>0)+(r[5]<<16>>>0)+(r[6]<<8>>>0)+r[7],new Date(1e3*n+t/1e6);if(12!==r.length)throw new Error("Invalid data length for a date value.");var n=(r[0]<<24>>>0)+(r[1]<<16>>>0)+(r[2]<<8>>>0)+r[3],r=(f-=8,a(8));return new Date(1e3*r+n/1e6)}}var t={serialize:e,deserialize:r,encode:e,decode:r};"object"==typeof module&&module&&"object"==typeof module.exports?module.exports=t:window[window.msgpackJsName||"msgpack"]=t}();
//# sourceMappingURL=msgpack.min.js.map