Note
This no longer works in browser!
Note
This no longer works if you're alone in vc! Somebody else has to join you!
How to use this script:
- Accept the quest under User Settings -> Gift Inventory
/** | |
* Функция возвращает случайное целое число между min и max, включая min, max как возможные значения | |
* https://learn.javascript.ru/task/random-int-min-max | |
* @param {number} min | |
* @param {number} max | |
* @return {number} | |
*/ | |
function getRandomInRange(min, max) { | |
let rand = min + Math.random() * (max + 1 - min); | |
rand = Math.floor(rand); |
/** | |
* Функция возвращает массив с уникальными элементами | |
* Только в ES6 https://webformyself.com/kak-proizvesti-udalenie-dublej-massiva-v-es6/ | |
* @param {array} arr | |
* @return {any[]} | |
*/ | |
function returnUniqueArray(arr) { | |
return Array.from(new Set(arr)); | |
} |
<!DOCTYPE html> | |
<html lang="en"> | |
<head> | |
<meta charset="UTF-8"> | |
<title>Title</title> | |
</head> | |
<body> | |
<button> | |
Click me! → And see console! | |
</button> |
/** | |
* Вызывает переданную ей функцюи с задержкой | |
* https://learn.javascript.ru/task/delay | |
* @param f | |
* @param ms | |
* @return {Function} | |
*/ | |
export const delay = function (f, ms) { | |
return function () { |
/** | |
* Функция переименовывает ключи переданного ей объекта | |
* См. http://qaru.site/questions/41346/javascript-object-rename-key | |
* | |
* ES6 может сделать это в одну строку: delete Object.assign(o, {[newKey]: o[oldKey] })[oldKey]; | |
* Или две строки, если вы хотите создать новый объект: | |
* const newObject = {}; | |
* delete Object.assign(newObject, o, {[newKey]: o[oldKey] })[oldKey]; | |
* | |
* @param {object} obj |
Erlang honors cgroup CPU quota from Erlang 23. But when less than 1 CPU is used, schedulers_online will be cores number(see below k8s 0-5).
$ docker run --rm -it --cpu-period 100000 --cpu-quota 100000 erlang:23 bash
root@3f793576001a:/# erl
Erlang/OTP 23 [erts-11.0.2] [source] [64-bit] [smp:4:1] [ds:4:1:10] [async-threads:1] [hipe]
package com.vishal2376.animations.ui.theme | |
import androidx.compose.animation.animateColorAsState | |
import androidx.compose.animation.core.EaseInOut | |
import androidx.compose.animation.core.animateFloatAsState | |
import androidx.compose.animation.core.tween | |
import androidx.compose.foundation.background | |
import androidx.compose.foundation.clickable | |
import androidx.compose.foundation.layout.Arrangement | |
import androidx.compose.foundation.layout.Box |
/** | |
* Отправляет сообщение в контент скрипт. | |
* Вызвается из обработчика (например клик по кнопке), на вход принимает событие evt из которого получаем evt.target.id | |
* Т.е. индентифицируем кнопку на которой произошло событие и отправляем и ее id в качестве темы сообщения | |
* В content.js соответсвенно добавляем слушатель: | |
* chrome.runtime.onMessage.addListener((msg, sender, response) => { // тут код if (msg.subject === ..) }); | |
* @param {event} evt | |
* @return {Promise<void>} | |
*/ | |
let sendMsgToContent = async function (evt) { |