identifi-lib
Version:
Basic tools for reading and writing Identifi messages and identities.
44 lines (37 loc) • 2.94 kB
JavaScript
/*eslint no-useless-escape: "off", camelcase: "off" */
import createHash from 'create-hash';
var isNode = false;
try {
isNode = Object.prototype.toString.call(global.process) === '[object process]';
} catch (e) {
null;
}
export default {
getHash: function getHash(str) {
var format = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'base64';
if (!str) {
return undefined;
}
var hash = createHash('sha256');
hash.update(str);
return hash.digest(format);
},
timeoutPromise: function timeoutPromise(promise, timeout) {
return Promise.race([promise, new Promise(function (resolve) {
setTimeout(function () {
resolve();
}, timeout);
})]);
},
injectCss: function injectCss() {
var elementId = 'identifiStyle';
if (document.getElementById(elementId)) {
return;
}
var sheet = document.createElement('style');
sheet.id = elementId;
sheet.innerHTML = '\n .identifi-identicon * {\n box-sizing: border-box;\n }\n\n .identifi-identicon {\n vertical-align: middle;\n margin: auto;\n border-radius: 50%;\n text-align: center;\n display: inline-block;\n position: relative;\n margin: auto;\n max-width: 100%;\n }\n\n .identifi-distance {\n z-index: 2;\n position: absolute;\n left:0%;\n top:2px;\n width: 100%;\n text-align: right;\n color: #fff;\n text-shadow: 0 0 1px #000;\n font-size: 75%;\n line-height: 75%;\n font-weight: bold;\n }\n\n .identifi-pie {\n border-radius: 50%;\n position: absolute;\n top: 0;\n left: 0;\n box-shadow: 0px 0px 0px 0px #82FF84;\n padding-bottom: 100%;\n max-width: 100%;\n -webkit-transition: all 0.2s ease-in-out;\n -moz-transition: all 0.2s ease-in-out;\n transition: all 0.2s ease-in-out;\n }\n\n .identifi-card {\n padding: 10px;\n background-color: #f7f7f7;\n color: #777;\n border: 1px solid #ddd;\n display: flex;\n flex-direction: row;\n overflow: hidden;\n }\n\n .identifi-card a {\n -webkit-transition: color 150ms;\n transition: color 150ms;\n text-decoration: none;\n color: #337ab7;\n }\n\n .identifi-card a:hover, .identifi-card a:active {\n text-decoration: underline;\n color: #23527c;\n }\n\n .identifi-pos {\n color: #3c763d;\n }\n\n .identifi-neg {\n color: #a94442;\n }\n\n .identifi-identicon img {\n position: absolute;\n top: 0;\n left: 0;\n max-width: 100%;\n border-radius: 50%;\n border-color: transparent;\n border-style: solid;\n }';
document.body.appendChild(sheet);
},
isNode: isNode
};