To be used on GitHub Pages, the demo must be in /docs
This commit is contained in:
parent
8bd1e65c0b
commit
861339458d
392 changed files with 0 additions and 0 deletions
144
docs/js/compiled/out/com/cognitect/transit/util.js
Normal file
144
docs/js/compiled/out/com/cognitect/transit/util.js
Normal file
|
|
@ -0,0 +1,144 @@
|
|||
// Copyright 2014 Cognitect. All Rights Reserved.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS-IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
goog.provide("com.cognitect.transit.util");
|
||||
goog.require("goog.object");
|
||||
|
||||
goog.scope(function () {
|
||||
|
||||
var util = com.cognitect.transit.util,
|
||||
gobject = goog.object;
|
||||
|
||||
if (typeof Object.keys != "undefined") {
|
||||
util.objectKeys = function (obj) {
|
||||
return Object.keys(obj);
|
||||
};
|
||||
} else {
|
||||
util.objectKeys = function (obj) {
|
||||
return gobject.getKeys(obj);
|
||||
};
|
||||
}
|
||||
|
||||
if (typeof Array.isArray != "undefined") {
|
||||
util.isArray = function (obj) {
|
||||
return Array.isArray(obj);
|
||||
};
|
||||
} else {
|
||||
util.isArray = function (obj) {
|
||||
return goog.typeOf(obj) === "array";
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* @const
|
||||
* @type {string}
|
||||
*/
|
||||
util.chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
|
||||
|
||||
util.randInt = function (ub) {
|
||||
return Math.round(Math.random() * ub);
|
||||
};
|
||||
|
||||
util.randHex = function () {
|
||||
return util.randInt(15).toString(16);
|
||||
};
|
||||
|
||||
util.randomUUID = function () {
|
||||
var rhex = (0x8 | (0x3 & util.randInt(14))).toString(16),
|
||||
ret = util.randHex() + util.randHex() + util.randHex() + util.randHex() +
|
||||
util.randHex() + util.randHex() + util.randHex() + util.randHex() + "-" +
|
||||
util.randHex() + util.randHex() + util.randHex() + util.randHex() + "-" +
|
||||
"4" + util.randHex() + util.randHex() + util.randHex() + "-" +
|
||||
rhex + util.randHex() + util.randHex() + util.randHex() + "-" +
|
||||
util.randHex() + util.randHex() + util.randHex() + util.randHex() +
|
||||
util.randHex() + util.randHex() + util.randHex() + util.randHex() +
|
||||
util.randHex() + util.randHex() + util.randHex() + util.randHex();
|
||||
return ret;
|
||||
};
|
||||
|
||||
// https://github.com/davidchambers/Base64.js
|
||||
|
||||
util.btoa = function (input) {
|
||||
if (typeof btoa != "undefined") {
|
||||
return btoa(input);
|
||||
} else {
|
||||
var str = String(input);
|
||||
for (
|
||||
var block, charCode, idx = 0, map = util.chars, output = '';
|
||||
str.charAt(idx | 0) || (map = '=', idx % 1);
|
||||
output += map.charAt(63 & block >> 8 - idx % 1 * 8)
|
||||
) {
|
||||
charCode = str.charCodeAt(idx += 3 / 4);
|
||||
if (charCode > 0xFF) {
|
||||
throw new Error("'btoa' failed: The string to be encoded contains characters outside of the Latin1 range.");
|
||||
}
|
||||
block = block << 8 | charCode;
|
||||
}
|
||||
return output;
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* @suppress {uselessCode}
|
||||
*/
|
||||
util.atob = function (input) {
|
||||
if (typeof atob != "undefined") {
|
||||
return atob(input);
|
||||
} else {
|
||||
var str = String(input).replace(/=+$/, '');
|
||||
if (str.length % 4 == 1) {
|
||||
throw new Error("'atob' failed: The string to be decoded is not correctly encoded.");
|
||||
}
|
||||
for (
|
||||
var bc = 0, bs, buffer, idx = 0, output = '';
|
||||
buffer = str.charAt(idx++);
|
||||
~buffer && (bs = bc % 4 ? bs * 64 + buffer : buffer,
|
||||
bc++ % 4) ? output += String.fromCharCode(255 & bs >> (-2 * bc & 6)) : 0
|
||||
) {
|
||||
buffer = util.chars.indexOf(buffer);
|
||||
}
|
||||
return output;
|
||||
}
|
||||
};
|
||||
|
||||
util.Uint8ToBase64 = function (u8Arr) {
|
||||
var CHUNK_SIZE = 0x8000,
|
||||
index = 0,
|
||||
length = u8Arr.length,
|
||||
result = '',
|
||||
slice = null;
|
||||
|
||||
while (index < length) {
|
||||
slice = u8Arr.subarray(index, Math.min(index + CHUNK_SIZE, length));
|
||||
result += String.fromCharCode.apply(null, slice);
|
||||
index += CHUNK_SIZE;
|
||||
}
|
||||
|
||||
return util.btoa(result);
|
||||
};
|
||||
|
||||
util.Base64ToUint8 = function (base64) {
|
||||
var binary_string = util.atob(base64),
|
||||
len = binary_string.length,
|
||||
bytes = new Uint8Array(len);
|
||||
|
||||
for (var i = 0; i < len; i++) {
|
||||
var ascii = binary_string.charCodeAt(i);
|
||||
bytes[i] = ascii;
|
||||
}
|
||||
|
||||
return bytes;
|
||||
};
|
||||
|
||||
});
|
||||
Loading…
Add table
Add a link
Reference in a new issue