browsh/webext/src/utils.js

49 wiersze
989 B
JavaScript

export default {
mixins: function (...mixins) {
return mixins.reduce((base, mixin) => {
return mixin(base);
}, class {});
},
ttyCell: function (
fg_colour = [255, 255, 255],
bg_colour = [0, 0, 0],
character
) {
let cell = fg_colour.concat(bg_colour);
cell.push(character);
return cell;
},
ttyPlainCell: function (character) {
return this.ttyCell(null, null, character);
},
snap: function (number) {
return parseInt(Math.round(number));
},
ensureEven: function (number) {
number = this.snap(number);
if (number % 2) {
number++;
}
return number;
},
rebuildArgsToSingleArg: function (args) {
return args.slice(1).join(",");
},
uuidv4: function () {
return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(
/[xy]/g,
function (c) {
var r = (Math.random() * 16) | 0,
v = c == "x" ? r : (r & 0x3) | 0x8;
return v.toString(16);
}
);
},
};