diff options
Diffstat (limited to 'webAO/lib')
| -rw-r--r-- | webAO/lib/jdataview.min.js | 486 | ||||
| -rw-r--r-- | webAO/lib/jquery.ui.touch-punch.min.js | 72 |
2 files changed, 483 insertions, 75 deletions
diff --git a/webAO/lib/jdataview.min.js b/webAO/lib/jdataview.min.js index 86f8794..42741a0 100644 --- a/webAO/lib/jdataview.min.js +++ b/webAO/lib/jdataview.min.js @@ -1,118 +1,456 @@ (function (global) { - const compatibility = { ArrayBuffer: typeof ArrayBuffer !== 'undefined', DataView: typeof DataView !== 'undefined' && ('getFloat64' in DataView.prototype || 'getFloat64' in new DataView(new ArrayBuffer(1))), NodeBuffer: typeof Buffer !== 'undefined' && 'readInt16LE' in Buffer.prototype }; const dataTypes = { - Int8: 1, Int16: 2, Int32: 4, Uint8: 1, Uint16: 2, Uint32: 4, Float32: 4, Float64: 8, - }; const nodeNaming = { - Int8: 'Int8', Int16: 'Int16', Int32: 'Int32', Uint8: 'UInt8', Uint16: 'UInt16', Uint32: 'UInt32', Float32: 'Float', Float64: 'Double', - }; var jDataView = function (buffer, byteOffset, byteLength, littleEndian) { - if (!(this instanceof jDataView)) { throw new Error('jDataView constructor may not be called as a function'); } - this.buffer = buffer; if (!(compatibility.NodeBuffer && buffer instanceof Buffer) && !(compatibility.ArrayBuffer && buffer instanceof ArrayBuffer) && typeof buffer !== 'string') { throw new TypeError('jDataView buffer has an incompatible type'); } - this._isArrayBuffer = compatibility.ArrayBuffer && buffer instanceof ArrayBuffer; this._isDataView = compatibility.DataView && this._isArrayBuffer; this._isNodeBuffer = compatibility.NodeBuffer && buffer instanceof Buffer; this._littleEndian = littleEndian === undefined ? false : littleEndian; const bufferLength = this._isArrayBuffer ? buffer.byteLength : buffer.length; if (byteOffset === undefined) { byteOffset = 0; } - this.byteOffset = byteOffset; if (byteLength === undefined) { byteLength = bufferLength - byteOffset; } - this.byteLength = byteLength; if (!this._isDataView) { - if (typeof byteOffset !== 'number') { throw new TypeError('jDataView byteOffset is not a number'); } - if (typeof byteLength !== 'number') { throw new TypeError('jDataView byteLength is not a number'); } - if (byteOffset < 0) { throw new Error('jDataView byteOffset is negative'); } - if (byteLength < 0) { throw new Error('jDataView byteLength is negative'); } + const compatibility = { + ArrayBuffer: typeof ArrayBuffer !== "undefined", + DataView: + typeof DataView !== "undefined" && + ("getFloat64" in DataView.prototype || + "getFloat64" in new DataView(new ArrayBuffer(1))), + NodeBuffer: + typeof Buffer !== "undefined" && "readInt16LE" in Buffer.prototype, + }; + const dataTypes = { + Int8: 1, + Int16: 2, + Int32: 4, + Uint8: 1, + Uint16: 2, + Uint32: 4, + Float32: 4, + Float64: 8, + }; + const nodeNaming = { + Int8: "Int8", + Int16: "Int16", + Int32: "Int32", + Uint8: "UInt8", + Uint16: "UInt16", + Uint32: "UInt32", + Float32: "Float", + Float64: "Double", + }; + var jDataView = function (buffer, byteOffset, byteLength, littleEndian) { + if (!(this instanceof jDataView)) { + throw new Error("jDataView constructor may not be called as a function"); } - if (this._isDataView) { this._view = new DataView(buffer, byteOffset, byteLength); this._start = 0; } - this._start = byteOffset; if (byteOffset + byteLength > bufferLength) { throw new Error('jDataView (byteOffset + byteLength) value is out of bounds'); } - this._offset = 0; if (this._isDataView) { + this.buffer = buffer; + if ( + !(compatibility.NodeBuffer && buffer instanceof Buffer) && + !(compatibility.ArrayBuffer && buffer instanceof ArrayBuffer) && + typeof buffer !== "string" + ) { + throw new TypeError("jDataView buffer has an incompatible type"); + } + this._isArrayBuffer = + compatibility.ArrayBuffer && buffer instanceof ArrayBuffer; + this._isDataView = compatibility.DataView && this._isArrayBuffer; + this._isNodeBuffer = compatibility.NodeBuffer && buffer instanceof Buffer; + this._littleEndian = littleEndian === undefined ? false : littleEndian; + const bufferLength = this._isArrayBuffer + ? buffer.byteLength + : buffer.length; + if (byteOffset === undefined) { + byteOffset = 0; + } + this.byteOffset = byteOffset; + if (byteLength === undefined) { + byteLength = bufferLength - byteOffset; + } + this.byteLength = byteLength; + if (!this._isDataView) { + if (typeof byteOffset !== "number") { + throw new TypeError("jDataView byteOffset is not a number"); + } + if (typeof byteLength !== "number") { + throw new TypeError("jDataView byteLength is not a number"); + } + if (byteOffset < 0) { + throw new Error("jDataView byteOffset is negative"); + } + if (byteLength < 0) { + throw new Error("jDataView byteLength is negative"); + } + } + if (this._isDataView) { + this._view = new DataView(buffer, byteOffset, byteLength); + this._start = 0; + } + this._start = byteOffset; + if (byteOffset + byteLength > bufferLength) { + throw new Error( + "jDataView (byteOffset + byteLength) value is out of bounds", + ); + } + this._offset = 0; + if (this._isDataView) { for (var type in dataTypes) { - if (!dataTypes.hasOwnProperty(type)) { continue; } + if (!dataTypes.hasOwnProperty(type)) { + continue; + } (function (type, view) { - const size = dataTypes[type]; view[`get${type}`] = function (byteOffset, littleEndian) { - if (littleEndian === undefined) { littleEndian = view._littleEndian; } - if (byteOffset === undefined) { byteOffset = view._offset; } - view._offset = byteOffset + size; return view._view[`get${type}`](byteOffset, littleEndian); + const size = dataTypes[type]; + view[`get${type}`] = function (byteOffset, littleEndian) { + if (littleEndian === undefined) { + littleEndian = view._littleEndian; + } + if (byteOffset === undefined) { + byteOffset = view._offset; + } + view._offset = byteOffset + size; + return view._view[`get${type}`](byteOffset, littleEndian); }; - }(type, this)); + })(type, this); } } else if (this._isNodeBuffer && compatibility.NodeBuffer) { for (var type in dataTypes) { - if (!dataTypes.hasOwnProperty(type)) { continue; } - var name; if (type === 'Int8' || type === 'Uint8') { name = `read${nodeNaming[type]}`; } else if (littleEndian) { name = `read${nodeNaming[type]}LE`; } else { name = `read${nodeNaming[type]}BE`; } + if (!dataTypes.hasOwnProperty(type)) { + continue; + } + var name; + if (type === "Int8" || type === "Uint8") { + name = `read${nodeNaming[type]}`; + } else if (littleEndian) { + name = `read${nodeNaming[type]}LE`; + } else { + name = `read${nodeNaming[type]}BE`; + } (function (type, view, name) { - const size = dataTypes[type]; view[`get${type}`] = function (byteOffset, littleEndian) { - if (littleEndian === undefined) { littleEndian = view._littleEndian; } - if (byteOffset === undefined) { byteOffset = view._offset; } - view._offset = byteOffset + size; return view.buffer[name](view._start + byteOffset); + const size = dataTypes[type]; + view[`get${type}`] = function (byteOffset, littleEndian) { + if (littleEndian === undefined) { + littleEndian = view._littleEndian; + } + if (byteOffset === undefined) { + byteOffset = view._offset; + } + view._offset = byteOffset + size; + return view.buffer[name](view._start + byteOffset); }; - }(type, this, name)); + })(type, this, name); } } else { for (var type in dataTypes) { - if (!dataTypes.hasOwnProperty(type)) { continue; } + if (!dataTypes.hasOwnProperty(type)) { + continue; + } (function (type, view) { - const size = dataTypes[type]; view[`get${type}`] = function (byteOffset, littleEndian) { - if (littleEndian === undefined) { littleEndian = view._littleEndian; } - if (byteOffset === undefined) { byteOffset = view._offset; } - view._offset = byteOffset + size; if (view._isArrayBuffer && (view._start + byteOffset) % size === 0 && (size === 1 || littleEndian)) { return new global[`${type}Array`](view.buffer, view._start + byteOffset, 1)[0]; } if (typeof byteOffset !== 'number') { throw new TypeError('jDataView byteOffset is not a number'); } - if (byteOffset + size > view.byteLength) { throw new Error('jDataView (byteOffset + size) value is out of bounds'); } + const size = dataTypes[type]; + view[`get${type}`] = function (byteOffset, littleEndian) { + if (littleEndian === undefined) { + littleEndian = view._littleEndian; + } + if (byteOffset === undefined) { + byteOffset = view._offset; + } + view._offset = byteOffset + size; + if ( + view._isArrayBuffer && + (view._start + byteOffset) % size === 0 && + (size === 1 || littleEndian) + ) { + return new global[`${type}Array`]( + view.buffer, + view._start + byteOffset, + 1, + )[0]; + } + if (typeof byteOffset !== "number") { + throw new TypeError("jDataView byteOffset is not a number"); + } + if (byteOffset + size > view.byteLength) { + throw new Error( + "jDataView (byteOffset + size) value is out of bounds", + ); + } return view[`_get${type}`](view._start + byteOffset, littleEndian); }; - }(type, this)); + })(type, this); } } - }; if (compatibility.NodeBuffer) { + }; + if (compatibility.NodeBuffer) { jDataView.createBuffer = function () { - const buffer = new Buffer(arguments.length); for (let i = 0; i < arguments.length; ++i) { buffer[i] = arguments[i]; } + const buffer = new Buffer(arguments.length); + for (let i = 0; i < arguments.length; ++i) { + buffer[i] = arguments[i]; + } return buffer; }; } else if (compatibility.ArrayBuffer) { jDataView.createBuffer = function () { - const buffer = new ArrayBuffer(arguments.length); const view = new Int8Array(buffer); for (let i = 0; i < arguments.length; ++i) { view[i] = arguments[i]; } + const buffer = new ArrayBuffer(arguments.length); + const view = new Int8Array(buffer); + for (let i = 0; i < arguments.length; ++i) { + view[i] = arguments[i]; + } return buffer; }; - } else { jDataView.createBuffer = function () { return String.fromCharCode.apply(null, arguments); }; } + } else { + jDataView.createBuffer = function () { + return String.fromCharCode.apply(null, arguments); + }; + } jDataView.prototype = { compatibility, getString(length, byteOffset) { - let value; if (byteOffset === undefined) { byteOffset = this._offset; } - if (typeof byteOffset !== 'number') { throw new TypeError('jDataView byteOffset is not a number'); } - if (length < 0 || byteOffset + length > this.byteLength) { throw new Error('jDataView length or (byteOffset+length) value is out of bounds'); } - if (this._isNodeBuffer) { value = this.buffer.toString('ascii', this._start + byteOffset, this._start + byteOffset + length); } else { value = ''; for (let i = 0; i < length; ++i) { const char = this.getUint8(byteOffset + i); value += String.fromCharCode(char > 127 ? 65533 : char); } } - this._offset = byteOffset + length; return value; + let value; + if (byteOffset === undefined) { + byteOffset = this._offset; + } + if (typeof byteOffset !== "number") { + throw new TypeError("jDataView byteOffset is not a number"); + } + if (length < 0 || byteOffset + length > this.byteLength) { + throw new Error( + "jDataView length or (byteOffset+length) value is out of bounds", + ); + } + if (this._isNodeBuffer) { + value = this.buffer.toString( + "ascii", + this._start + byteOffset, + this._start + byteOffset + length, + ); + } else { + value = ""; + for (let i = 0; i < length; ++i) { + const char = this.getUint8(byteOffset + i); + value += String.fromCharCode(char > 127 ? 65533 : char); + } + } + this._offset = byteOffset + length; + return value; + }, + getChar(byteOffset) { + return this.getString(1, byteOffset); + }, + tell() { + return this._offset; }, - getChar(byteOffset) { return this.getString(1, byteOffset); }, - tell() { return this._offset; }, seek(byteOffset) { - if (typeof byteOffset !== 'number') { throw new TypeError('jDataView byteOffset is not a number'); } - if (byteOffset < 0 || byteOffset > this.byteLength) { throw new Error('jDataView byteOffset value is out of bounds'); } - return this._offset = byteOffset; + if (typeof byteOffset !== "number") { + throw new TypeError("jDataView byteOffset is not a number"); + } + if (byteOffset < 0 || byteOffset > this.byteLength) { + throw new Error("jDataView byteOffset value is out of bounds"); + } + return (this._offset = byteOffset); + }, + _endianness(byteOffset, pos, max, littleEndian) { + return byteOffset + (littleEndian ? max - pos - 1 : pos); }, - _endianness(byteOffset, pos, max, littleEndian) { return byteOffset + (littleEndian ? max - pos - 1 : pos); }, _getFloat64(byteOffset, littleEndian) { - const b0 = this._getUint8(this._endianness(byteOffset, 0, 8, littleEndian)); const b1 = this._getUint8(this._endianness(byteOffset, 1, 8, littleEndian)); const b2 = this._getUint8(this._endianness(byteOffset, 2, 8, littleEndian)); const b3 = this._getUint8(this._endianness(byteOffset, 3, 8, littleEndian)); const b4 = this._getUint8(this._endianness(byteOffset, 4, 8, littleEndian)); const b5 = this._getUint8(this._endianness(byteOffset, 5, 8, littleEndian)); const b6 = this._getUint8(this._endianness(byteOffset, 6, 8, littleEndian)); const b7 = this._getUint8(this._endianness(byteOffset, 7, 8, littleEndian)); const sign = 1 - (2 * (b0 >> 7)); const exponent = ((((b0 << 1) & 0xff) << 3) | (b1 >> 4)) - (2 ** 10 - 1); const mantissa = ((b1 & 0x0f) * 2 ** 48) + (b2 * 2 ** 40) + (b3 * 2 ** 32) -+ (b4 * 2 ** 24) + (b5 * 2 ** 16) + (b6 * 2 ** 8) + b7; if (exponent === 1024) { if (mantissa !== 0) { return NaN; } return sign * Infinity; } - if (exponent === -1023) { return sign * mantissa * 2 ** (-1022 - 52); } + const b0 = this._getUint8( + this._endianness(byteOffset, 0, 8, littleEndian), + ); + const b1 = this._getUint8( + this._endianness(byteOffset, 1, 8, littleEndian), + ); + const b2 = this._getUint8( + this._endianness(byteOffset, 2, 8, littleEndian), + ); + const b3 = this._getUint8( + this._endianness(byteOffset, 3, 8, littleEndian), + ); + const b4 = this._getUint8( + this._endianness(byteOffset, 4, 8, littleEndian), + ); + const b5 = this._getUint8( + this._endianness(byteOffset, 5, 8, littleEndian), + ); + const b6 = this._getUint8( + this._endianness(byteOffset, 6, 8, littleEndian), + ); + const b7 = this._getUint8( + this._endianness(byteOffset, 7, 8, littleEndian), + ); + const sign = 1 - 2 * (b0 >> 7); + const exponent = ((((b0 << 1) & 0xff) << 3) | (b1 >> 4)) - (2 ** 10 - 1); + const mantissa = + (b1 & 0x0f) * 2 ** 48 + + b2 * 2 ** 40 + + b3 * 2 ** 32 + + b4 * 2 ** 24 + + b5 * 2 ** 16 + + b6 * 2 ** 8 + + b7; + if (exponent === 1024) { + if (mantissa !== 0) { + return NaN; + } + return sign * Infinity; + } + if (exponent === -1023) { + return sign * mantissa * 2 ** (-1022 - 52); + } return sign * (1 + mantissa * 2 ** -52) * 2 ** exponent; }, _getFloat32(byteOffset, littleEndian) { - const b0 = this._getUint8(this._endianness(byteOffset, 0, 4, littleEndian)); const b1 = this._getUint8(this._endianness(byteOffset, 1, 4, littleEndian)); const b2 = this._getUint8(this._endianness(byteOffset, 2, 4, littleEndian)); const b3 = this._getUint8(this._endianness(byteOffset, 3, 4, littleEndian)); const sign = 1 - (2 * (b0 >> 7)); const exponent = (((b0 << 1) & 0xff) | (b1 >> 7)) - 127; const mantissa = ((b1 & 0x7f) << 16) | (b2 << 8) | b3; if (exponent === 128) { if (mantissa !== 0) { return NaN; } return sign * Infinity; } - if (exponent === -127) { return sign * mantissa * 2 ** (-126 - 23); } + const b0 = this._getUint8( + this._endianness(byteOffset, 0, 4, littleEndian), + ); + const b1 = this._getUint8( + this._endianness(byteOffset, 1, 4, littleEndian), + ); + const b2 = this._getUint8( + this._endianness(byteOffset, 2, 4, littleEndian), + ); + const b3 = this._getUint8( + this._endianness(byteOffset, 3, 4, littleEndian), + ); + const sign = 1 - 2 * (b0 >> 7); + const exponent = (((b0 << 1) & 0xff) | (b1 >> 7)) - 127; + const mantissa = ((b1 & 0x7f) << 16) | (b2 << 8) | b3; + if (exponent === 128) { + if (mantissa !== 0) { + return NaN; + } + return sign * Infinity; + } + if (exponent === -127) { + return sign * mantissa * 2 ** (-126 - 23); + } return sign * (1 + mantissa * 2 ** -23) * 2 ** exponent; }, - _getInt32(byteOffset, littleEndian) { const b = this._getUint32(byteOffset, littleEndian); return b > 2 ** 31 - 1 ? b - 2 ** 32 : b; }, - _getUint32(byteOffset, littleEndian) { const b3 = this._getUint8(this._endianness(byteOffset, 0, 4, littleEndian)); const b2 = this._getUint8(this._endianness(byteOffset, 1, 4, littleEndian)); const b1 = this._getUint8(this._endianness(byteOffset, 2, 4, littleEndian)); const b0 = this._getUint8(this._endianness(byteOffset, 3, 4, littleEndian)); return (b3 * 2 ** 24) + (b2 << 16) + (b1 << 8) + b0; }, - _getInt16(byteOffset, littleEndian) { const b = this._getUint16(byteOffset, littleEndian); return b > 2 ** 15 - 1 ? b - 2 ** 16 : b; }, - _getUint16(byteOffset, littleEndian) { const b1 = this._getUint8(this._endianness(byteOffset, 0, 2, littleEndian)); const b0 = this._getUint8(this._endianness(byteOffset, 1, 2, littleEndian)); return (b1 << 8) + b0; }, - _getInt8(byteOffset) { const b = this._getUint8(byteOffset); return b > 2 ** 7 - 1 ? b - 2 ** 8 : b; }, - _getUint8(byteOffset) { if (this._isArrayBuffer) { return new Uint8Array(this.buffer, byteOffset, 1)[0]; } if (this._isNodeBuffer) { return this.buffer[byteOffset]; } return this.buffer.charCodeAt(byteOffset) & 0xff; }, - }; if (typeof jQuery !== 'undefined' && jQuery.fn.jquery >= '1.6.2') { + _getInt32(byteOffset, littleEndian) { + const b = this._getUint32(byteOffset, littleEndian); + return b > 2 ** 31 - 1 ? b - 2 ** 32 : b; + }, + _getUint32(byteOffset, littleEndian) { + const b3 = this._getUint8( + this._endianness(byteOffset, 0, 4, littleEndian), + ); + const b2 = this._getUint8( + this._endianness(byteOffset, 1, 4, littleEndian), + ); + const b1 = this._getUint8( + this._endianness(byteOffset, 2, 4, littleEndian), + ); + const b0 = this._getUint8( + this._endianness(byteOffset, 3, 4, littleEndian), + ); + return b3 * 2 ** 24 + (b2 << 16) + (b1 << 8) + b0; + }, + _getInt16(byteOffset, littleEndian) { + const b = this._getUint16(byteOffset, littleEndian); + return b > 2 ** 15 - 1 ? b - 2 ** 16 : b; + }, + _getUint16(byteOffset, littleEndian) { + const b1 = this._getUint8( + this._endianness(byteOffset, 0, 2, littleEndian), + ); + const b0 = this._getUint8( + this._endianness(byteOffset, 1, 2, littleEndian), + ); + return (b1 << 8) + b0; + }, + _getInt8(byteOffset) { + const b = this._getUint8(byteOffset); + return b > 2 ** 7 - 1 ? b - 2 ** 8 : b; + }, + _getUint8(byteOffset) { + if (this._isArrayBuffer) { + return new Uint8Array(this.buffer, byteOffset, 1)[0]; + } + if (this._isNodeBuffer) { + return this.buffer[byteOffset]; + } + return this.buffer.charCodeAt(byteOffset) & 0xff; + }, + }; + if (typeof jQuery !== "undefined" && jQuery.fn.jquery >= "1.6.2") { const convertResponseBodyToText = function (byteArray) { - let scrambledStr; try { scrambledStr = IEBinaryToArray_ByteStr(byteArray); } catch (e) { const IEBinaryToArray_ByteStr_Script = 'Function IEBinaryToArray_ByteStr(Binary)\r\n' + ' IEBinaryToArray_ByteStr = CStr(Binary)\r\n' + 'End Function\r\n' + 'Function IEBinaryToArray_ByteStr_Last(Binary)\r\n' + ' Dim lastIndex\r\n' + ' lastIndex = LenB(Binary)\r\n' + ' if lastIndex mod 2 Then\r\n' + ' IEBinaryToArray_ByteStr_Last = AscB( MidB( Binary, lastIndex, 1 ) )\r\n' + ' Else\r\n' + ' IEBinaryToArray_ByteStr_Last = -1\r\n' + ' End If\r\n' + 'End Function\r\n'; window.execScript(IEBinaryToArray_ByteStr_Script, 'vbscript'); scrambledStr = IEBinaryToArray_ByteStr(byteArray); } - const lastChr = IEBinaryToArray_ByteStr_Last(byteArray); let result = ''; let i = 0; let l = scrambledStr.length % 8; let thischar; while (i < l) { thischar = scrambledStr.charCodeAt(i++); result += String.fromCharCode(thischar & 0xff, thischar >> 8); } + let scrambledStr; + try { + scrambledStr = IEBinaryToArray_ByteStr(byteArray); + } catch (e) { + const IEBinaryToArray_ByteStr_Script = + "Function IEBinaryToArray_ByteStr(Binary)\r\n" + + " IEBinaryToArray_ByteStr = CStr(Binary)\r\n" + + "End Function\r\n" + + "Function IEBinaryToArray_ByteStr_Last(Binary)\r\n" + + " Dim lastIndex\r\n" + + " lastIndex = LenB(Binary)\r\n" + + " if lastIndex mod 2 Then\r\n" + + " IEBinaryToArray_ByteStr_Last = AscB( MidB( Binary, lastIndex, 1 ) )\r\n" + + " Else\r\n" + + " IEBinaryToArray_ByteStr_Last = -1\r\n" + + " End If\r\n" + + "End Function\r\n"; + window.execScript(IEBinaryToArray_ByteStr_Script, "vbscript"); + scrambledStr = IEBinaryToArray_ByteStr(byteArray); + } + const lastChr = IEBinaryToArray_ByteStr_Last(byteArray); + let result = ""; + let i = 0; + let l = scrambledStr.length % 8; + let thischar; + while (i < l) { + thischar = scrambledStr.charCodeAt(i++); + result += String.fromCharCode(thischar & 0xff, thischar >> 8); + } l = scrambledStr.length; - while (i < l) { result += String.fromCharCode((thischar = scrambledStr.charCodeAt(i++), thischar & 0xff), thischar >> 8, (thischar = scrambledStr.charCodeAt(i++), thischar & 0xff), thischar >> 8, (thischar = scrambledStr.charCodeAt(i++), thischar & 0xff), thischar >> 8, (thischar = scrambledStr.charCodeAt(i++), thischar & 0xff), thischar >> 8, (thischar = scrambledStr.charCodeAt(i++), thischar & 0xff), thischar >> 8, (thischar = scrambledStr.charCodeAt(i++), thischar & 0xff), thischar >> 8, (thischar = scrambledStr.charCodeAt(i++), thischar & 0xff), thischar >> 8, (thischar = scrambledStr.charCodeAt(i++), thischar & 0xff), thischar >> 8); } - if (lastChr > -1) { result += String.fromCharCode(lastChr); } + while (i < l) { + result += String.fromCharCode( + ((thischar = scrambledStr.charCodeAt(i++)), thischar & 0xff), + thischar >> 8, + ((thischar = scrambledStr.charCodeAt(i++)), thischar & 0xff), + thischar >> 8, + ((thischar = scrambledStr.charCodeAt(i++)), thischar & 0xff), + thischar >> 8, + ((thischar = scrambledStr.charCodeAt(i++)), thischar & 0xff), + thischar >> 8, + ((thischar = scrambledStr.charCodeAt(i++)), thischar & 0xff), + thischar >> 8, + ((thischar = scrambledStr.charCodeAt(i++)), thischar & 0xff), + thischar >> 8, + ((thischar = scrambledStr.charCodeAt(i++)), thischar & 0xff), + thischar >> 8, + ((thischar = scrambledStr.charCodeAt(i++)), thischar & 0xff), + thischar >> 8, + ); + } + if (lastChr > -1) { + result += String.fromCharCode(lastChr); + } return result; - }; jQuery.ajaxSetup({ converters: { '* dataview': function (data) { return new jDataView(data); } }, accepts: { dataview: 'text/plain; charset=x-user-defined' }, responseHandler: { dataview(responses, options, xhr) { if ('mozResponseArrayBuffer' in xhr) { responses.text = xhr.mozResponseArrayBuffer; } else if ('responseType' in xhr && xhr.responseType === 'arraybuffer' && xhr.response) { responses.text = xhr.response; } else if ('responseBody' in xhr) { responses.text = convertResponseBodyToText(xhr.responseBody); } else { responses.text = xhr.responseText; } } } }); jQuery.ajaxPrefilter('dataview', (options, originalOptions, jqXHR) => { + }; + jQuery.ajaxSetup({ + converters: { + "* dataview": function (data) { + return new jDataView(data); + }, + }, + accepts: { dataview: "text/plain; charset=x-user-defined" }, + responseHandler: { + dataview(responses, options, xhr) { + if ("mozResponseArrayBuffer" in xhr) { + responses.text = xhr.mozResponseArrayBuffer; + } else if ( + "responseType" in xhr && + xhr.responseType === "arraybuffer" && + xhr.response + ) { + responses.text = xhr.response; + } else if ("responseBody" in xhr) { + responses.text = convertResponseBodyToText(xhr.responseBody); + } else { + responses.text = xhr.responseText; + } + }, + }, + }); + jQuery.ajaxPrefilter("dataview", (options, originalOptions, jqXHR) => { if (jQuery.support.ajaxResponseType) { - if (!options.hasOwnProperty('xhrFields')) { options.xhrFields = {}; } - options.xhrFields.responseType = 'arraybuffer'; + if (!options.hasOwnProperty("xhrFields")) { + options.xhrFields = {}; + } + options.xhrFields.responseType = "arraybuffer"; } - options.mimeType = 'text/plain; charset=x-user-defined'; + options.mimeType = "text/plain; charset=x-user-defined"; }); } - global.jDataView = (global.module || {}).exports = jDataView; if (typeof module !== 'undefined') { module.exports = jDataView; } -}(this)); + global.jDataView = (global.module || {}).exports = jDataView; + if (typeof module !== "undefined") { + module.exports = jDataView; + } +})(this); diff --git a/webAO/lib/jquery.ui.touch-punch.min.js b/webAO/lib/jquery.ui.touch-punch.min.js index d572ab6..40e32d7 100644 --- a/webAO/lib/jquery.ui.touch-punch.min.js +++ b/webAO/lib/jquery.ui.touch-punch.min.js @@ -8,4 +8,74 @@ * jquery.ui.widget.js * jquery.ui.mouse.js */ -!(function (a) { function f(a, b) { if (!(a.originalEvent.touches.length > 1)) { a.preventDefault(); const c = a.originalEvent.changedTouches[0]; const d = document.createEvent('MouseEvents'); d.initMouseEvent(b, !0, !0, window, 1, c.screenX, c.screenY, c.clientX, c.clientY, !1, !1, !1, !1, 0, null), a.target.dispatchEvent(d); } } if (a.support.touch = 'ontouchend' in document, a.support.touch) { let e; const b = a.ui.mouse.prototype; const c = b._mouseInit; const d = b._mouseDestroy; b._touchStart = function (a) { const b = this; !e && b._mouseCapture(a.originalEvent.changedTouches[0]) && (e = !0, b._touchMoved = !1, f(a, 'mouseover'), f(a, 'mousemove'), f(a, 'mousedown')); }, b._touchMove = function (a) { e && (this._touchMoved = !0, f(a, 'mousemove')); }, b._touchEnd = function (a) { e && (f(a, 'mouseup'), f(a, 'mouseout'), this._touchMoved || f(a, 'click'), e = !1); }, b._mouseInit = function () { const b = this; b.element.bind({ touchstart: a.proxy(b, '_touchStart'), touchmove: a.proxy(b, '_touchMove'), touchend: a.proxy(b, '_touchEnd') }), c.call(b); }, b._mouseDestroy = function () { const b = this; b.element.unbind({ touchstart: a.proxy(b, '_touchStart'), touchmove: a.proxy(b, '_touchMove'), touchend: a.proxy(b, '_touchEnd') }), d.call(b); }; } }(jQuery)); +!(function (a) { + function f(a, b) { + if (!(a.originalEvent.touches.length > 1)) { + a.preventDefault(); + const c = a.originalEvent.changedTouches[0]; + const d = document.createEvent("MouseEvents"); + d.initMouseEvent( + b, + !0, + !0, + window, + 1, + c.screenX, + c.screenY, + c.clientX, + c.clientY, + !1, + !1, + !1, + !1, + 0, + null, + ), + a.target.dispatchEvent(d); + } + } + if (((a.support.touch = "ontouchend" in document), a.support.touch)) { + let e; + const b = a.ui.mouse.prototype; + const c = b._mouseInit; + const d = b._mouseDestroy; + (b._touchStart = function (a) { + const b = this; + !e && + b._mouseCapture(a.originalEvent.changedTouches[0]) && + ((e = !0), + (b._touchMoved = !1), + f(a, "mouseover"), + f(a, "mousemove"), + f(a, "mousedown")); + }), + (b._touchMove = function (a) { + e && ((this._touchMoved = !0), f(a, "mousemove")); + }), + (b._touchEnd = function (a) { + e && + (f(a, "mouseup"), + f(a, "mouseout"), + this._touchMoved || f(a, "click"), + (e = !1)); + }), + (b._mouseInit = function () { + const b = this; + b.element.bind({ + touchstart: a.proxy(b, "_touchStart"), + touchmove: a.proxy(b, "_touchMove"), + touchend: a.proxy(b, "_touchEnd"), + }), + c.call(b); + }), + (b._mouseDestroy = function () { + const b = this; + b.element.unbind({ + touchstart: a.proxy(b, "_touchStart"), + touchmove: a.proxy(b, "_touchMove"), + touchend: a.proxy(b, "_touchEnd"), + }), + d.call(b); + }); + } +})(jQuery); |
