This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import randomstring from 'randomstring'; | |
| /** | |
| * A Cloudflare Ray ID is a unique identifier given to every request that goes through Cloudflare. | |
| * | |
| * @see https://developers.cloudflare.com/fundamentals/get-started/reference/cloudflare-ray-id/ | |
| * | |
| * @returns {string} "Cloudflare" Ray ID. | |
| */ | |
| export default (): string => { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import { randomBytes } from 'crypto'; | |
| /** | |
| * Generates a valid base64 nonce value of at least 128-bits. | |
| * | |
| * @param {number} size The random bytes to generate clamped between 16 and 64. | |
| * Defaults to 16 (128-bit). | |
| * | |
| * @see https://csp.withgoogle.com/docs/faq.html#generating-nonces | |
| * |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| const urkBins: number[] = [446236, 401856, 457733, 446302, 532099, 446237, 535563, 676264, 676264, 676621, 535206, 535206, 535206, 535206, 446234, 441793, 410242, 535838, 413284, 535284, 440535, 516735, 441793, 433423, 476065, 440535, 557815, 557116, 532457, 532457, 676568, 537523, 516871, 410332, 526259, 676634, 676634, 512100, 676645, 535700, 676645, 516783, 554299, 446235, 516911, 533194, 516937, 547304, 547304, 535284, 538852, 516800, 516951, 535285, 535284, 515503, 521441, 527412, 522531, 522531, 413051, 516954, 535466, 545542, 535284, 512306, 557394, 559045, 557110, 557110, 544379, 544379, 559524, 557814, 557109, 512306, 557109, 546040, 524830, 526961, 558260, 526961, 557721, 559521, 558259, 557474, 535117, 535560, 535560, 542463, 544219, 546362, 541940, 543121, 512572, 535561, 535639, 535560, 512557, 535639, 540637, 540637, 540637, 540637, 535639, 535560, 535639, 512468, 512468, 512468, 404877, 535639, 545784, 515470, 544568, 545605, 404879, 559531, 516764, 535560, 557437, 677210, 548883, 522119, 51407 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| const decodeJWT = (token: string): string => | |
| decodeURIComponent( | |
| atob(token.split(".")[1].replace("-", "+").replace("_", "/")) | |
| .split("") | |
| .map((c) => `%${("00" + c.charCodeAt(0).toString(16)).slice(-2)}`) | |
| .join("") | |
| ); | |
| console.log( | |
| decodeJwt(` |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // https://github.yandex-team.ru/passport-frontend/core/blob/develop/passport/blocks/react-blocks/morda/new/bank_cards/bin_map.js | |
| export const bins: Record<string, string> = { | |
| '424436': 'akbars', | |
| '424440': 'akbars', | |
| '424438': 'akbars', | |
| '424437': 'akbars', | |
| '424439': 'akbars', | |
| '677088': 'akbars', | |
| '410243': 'alfabank', |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| "use strict"; | |
| const greeting = () => { | |
| const day = new Date(); | |
| const hour = day.getHours(); | |
| let result = null; | |
| if (hour >= 5 && hour < 12) { | |
| result = "Good morning"; | |
| } | |
| else { | |
| if (hour >= 12 && hour < 18) { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| "use strict"; | |
| let fps = 1; | |
| let times = []; | |
| const debug = true; | |
| const fpsLoop = (timestamp = 0, debug) => { | |
| while (times.length > 0 && times[0] <= timestamp - 1000) { | |
| times.shift(); | |
| } | |
| times.push(timestamp); | |
| fps = times.length; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /** | |
| * Проверяет, можно использовать браузерное API в текущем окружении. | |
| * | |
| * @example | |
| * if (canUseDOM()) { | |
| * document.querySelector('...') | |
| * } | |
| */ | |
| export const canUseDOM = (): boolean => { | |
| return ( |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import { useEffect, useState } from 'react'; | |
| export const useWindowFocused = () => { | |
| const [windowIsActive, setWindowIsActive] = useState(true); | |
| function handleActivity(forcedFlag) { | |
| if (typeof forcedFlag === 'boolean') { | |
| return forcedFlag ? setWindowIsActive(true) : setWindowIsActive(false); | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| export type Primitive = string | number | boolean | bigint | symbol | undefined | null; | |
| export type Builtin = Primitive | Function | Date | Error | RegExp; | |
| /** | |
| * TypeScript type to return a deep readonly object (recursively). | |
| */ | |
| // prettier-ignore | |
| export type DeepReadonly<T> = T extends Builtin | |
| ? T | |
| : T extends Map<infer K, infer V> |