James B. Pollackmove default to system06171f610 years agoHistory
62 lines · 1.6 KB · JavaScript
RawDownload
////  dataViewHelpers.js//  examples/libraries////  Copyright 2014 High Fidelity, Inc.////  Distributed under the Apache License, Version 2.0.//  See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html// if (typeof DataView.prototype.indexOf !== "function") {    DataView.prototype.indexOf = function (searchString, position) {        var searchLength = searchString.length,            byteArrayLength = this.byteLength,            maxSearchIndex = byteArrayLength - searchLength,            searchCharCodes = [],            found,            i,            j;         searchCharCodes[searchLength] = 0;        for (j = 0; j < searchLength; j += 1) {            searchCharCodes[j] = searchString.charCodeAt(j);        }         i = position;        found = false;        while (i < maxSearchIndex && !found) {            j = 0;            while (j < searchLength && this.getUint8(i + j) === searchCharCodes[j]) {                j += 1;            }            found = (j === searchLength);            i += 1;        }         return found ? i - 1 : -1;    };} if (typeof DataView.prototype.string !== "function") {    DataView.prototype.string = function (start, length) {        var charCodes = [],            end,            i;         if (start === undefined) {            start = 0;        }        if (length === undefined) {            length = this.length;        }         end = start + length;        for (i = start; i < end; i += 1) {            charCodes.push(this.getUint8(i));        }         return String.fromCharCode.apply(String, charCodes);    };}