Skip to content

Instantly share code, notes, and snippets.

View crashmax-dev's full-sized avatar
:octocat:
Meow

Vitalij Ryndin crashmax-dev

:octocat:
Meow
  • Russia
  • 08:30 (UTC +08:00)
View GitHub Profile
// chat.ts
class Chat {
ws: WebSocket
onMessageCallback: (message: string) => void;
onMessage(callback: (message: string) => void): void {
this.onMessageCallback = callback;
}
async init(): Promise<void> {
function parseArgs(args) {
const parsedArgs = {};
function parseByFlag(args, flag) {
for (let i = 0; i < args.length; i++) {
if (args[i].startsWith('--')) break
if (!parsedArgs[flag]) parsedArgs[flag] = []
parsedArgs[flag].push(args[i])
}
}
import { parseArgs } from "node:util";
const args = parseArgs({
options: {
name: {
type: "string",
short: "n",
},
verbose: {
type: "boolean",
// ==UserScript==
// @name Viewers AutoReload
// @version 0.1
// @author crashmax
// @match https://www.twitch.tv/moderator/*
// @icon https://www.google.com/s2/favicons?sz=64&domain=twitch.tv
// @grant none
// ==/UserScript==
setInterval(() => {
/**
* name: fireworks-js
* version: 2.10.7
* author: Vitalij Ryndin (https://crashmax.ru)
* homepage: https://fireworks.js.org
* license MIT
*/
function floor(num) {
return Math.abs(Math.floor(num));
}

Note

Highlights information that users should take into account, even when skimming.

Tip

Optional information to help a user be more successful.

Important

Crucial information necessary for users to succeed.

[!WARNING]

const css = 'text-shadow: -1px -1px hsl(0,100%,50%), 1px 1px hsl(5.4, 100%, 50%), 3px 2px hsl(10.8, 100%, 50%), 5px 3px hsl(16.2, 100%, 50%), 7px 4px hsl(21.6, 100%, 50%), 9px 5px hsl(27, 100%, 50%), 11px 6px hsl(32.4, 100%, 50%), 13px 7px hsl(37.8, 100%, 50%), 14px 8px hsl(43.2, 100%, 50%), 16px 9px hsl(48.6, 100%, 50%), 18px 10px hsl(54, 100%, 50%), 20px 11px hsl(59.4, 100%, 50%), 22px 12px hsl(64.8, 100%, 50%), 23px 13px hsl(70.2, 100%, 50%), 25px 14px hsl(75.6, 100%, 50%), 27px 15px hsl(81, 100%, 50%), 28px 16px hsl(86.4, 100%, 50%), 30px 17px hsl(91.8, 100%, 50%), 32px 18px hsl(97.2, 100%, 50%), 33px 19px hsl(102.6, 100%, 50%), 35px 20px hsl(108, 100%, 50%), 36px 21px hsl(113.4, 100%, 50%), 38px 22px hsl(118.8, 100%, 50%), 39px 23px hsl(124.2, 100%, 50%), 41px 24px hsl(129.6, 100%, 50%), 42px 25px hsl(135, 100%, 50%), 43px 26px hsl(140.4, 100%, 50%), 45px 27px hsl(145.8, 100%, 50%), 46px 28px hsl(151.2, 100%, 50%), 47px 29px hsl(156.6, 100%, 50%), 48px 30px hsl(162, 100%, 50%), 49px 31px hsl(167.4, 100%,
// ==UserScript==
// @name LastSticker
// @version 0.1
// @author crashmax
// @match https://www.laststicker.ru/cards/*
// @icon https://www.google.com/s2/favicons?sz=64&domain=laststicker.ru
// @grant none
// ==/UserScript==
const missingCardsList = []
@crashmax-dev
crashmax-dev / index.html
Last active July 16, 2023 07:05
form-submit
<form method="POST" action="/login">
<label for="username">
Username:
<input name="username" type="text" required />
</label>
<label for="password">
Password:
<input name="password" type="password" required />
</label>
<button type="submit">Login</button>
function run() {
return new Promise((resolve) => {
setTimeout(() => resolve('Hello'), 500)
})
}
// что будет выведено?
const data = await run().then((data) => console.log('then', data))
console.log('await', data)
console.log('here')