Skip to content

Instantly share code, notes, and snippets.

/**
* Сначала сравниваем длину строки и определяем строки с максимальной длиной и складываем
* в отдельный массив.
* После этого классическим образом сортируем строки и получаем максимальный элемент.
* Подходит для любого колчиства параметров
*
* @param args строки для сравнения
*/
const solve = (...args) => {
if (!args.length) return;
@MrMeison
MrMeison / leaflet.js
Created May 21, 2019 10:27
leaflet mock
const leaflet = jest.mock(`leaflet`);
const tileLayer = {
addTo() {
return {};
}
};
const marker = {
addTo() {
import Chart from "chart.js";
import ChartDataLabels from "chartjs-plugin-datalabels";
const moneyCtx = document.querySelector('.money-chart');
const moneyChart = new Chart(moneyCtx, {
plugins: [ChartDataLabels],
type: `horizontalBar`,
data: {
labels: [`✈️FLY`, `🏨 STAY`, `🚕 TAXI`, `🏛️ LOOK`, `🍴 EAT`, `🚗 DRIVE`, `🛳️ SAIL`, `🚂 TRAIN`, `🚌 BUS`],
const getFeatureCheckboxs = (feature) => {
const { offers, type } = feature;
return offers.reduce((res, offer, i) => {
return res + `
<input id="event-offer-${type}-${i}" type="checkbox" name="event-offer-${type}">
<label for="event-offer-${type}-${i}">${offer.title}</label>
`;
}, '')
};
1. users. Таблица содержит информацию о пользователях
- user_id (integer). Уникальный идентификатор пользователя
- name (char). Имя пользователя
- email (char). Email пользователя
2. statuses. Таблица содержит информацию о статусах задач.
@MrMeison
MrMeison / CBR.gs
Created January 8, 2020 11:46
Формула для Google Sheets для получения котировок валюты на заданную дату
var CBR_ENTRYPOINT = "https://www.cbr.ru/scripts/XML_daily.asp";
/**
* Получаем курс ЦБ на дату
*
* @param {string} currency - код валюты
* @param {Date} date - день
* @return {Number}
* @customfunction
*/
@MrMeison
MrMeison / inflation.gs
Created January 8, 2020 11:52
Формула для Google Sheets для получения инфляции в стране за произвольный период
var ENTRYPOINT = "https://www.statbureau.org/calculate-inflation-rate-json";
/**
* Получаем инфлацию за произвольный период
*
* @param {string} country - страна (belarus, brazil, canada, european-union, eurozone, france, germany, greece, india, japan, kazakhstan, mexico, russia, spain, turkey, ukraine, united-kingdom, united-states)
* @param {Date} start - первый месяц, включительно
* @param {Date} end - последний месяц, включительно
* @return Получаем инфляцию за произвольный период
* @customfunction
@MrMeison
MrMeison / MicexApi.gs
Created January 8, 2020 20:53
Скрипт для Google Sheets для получения данных индекса, акциях и облигациях
var MicexApi = {};
// список id разных типов ЦБ
var BOARD_ID = {
STOCK: 'TQBR',
ETF: 'TQTF',
BONDS: 'EQOB'
};
(function(App) {
var MICEX_ENTRYPOINT = 'https://iss.moex.com/iss/';
@MrMeison
MrMeison / polyfill.gs
Created January 8, 2020 20:55
Полифил для Object.assign для Google Sheets
if (typeof Object.assign !== 'function') {
Object.defineProperty(Object, "assign", {
value: function assign(target, varArgs) { // .length of function is 2
if (target === null || target === undefined) {
throw new TypeError('Cannot convert undefined or null to object');
}
var to = Object(target);
for (var index = 1; index < arguments.length; index++) {
@MrMeison
MrMeison / cgi.gs
Created January 8, 2020 21:36
Хелпер для работы с параметрами запросов
var CGI = {};
CGI.buildQueryParams = function(params) {
var res = [];
for(var key in params) {
res.push(key + '=' + params[key]);
}
return res.length > 0 ? '?' + res.join('&') : '';
};