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
  • 09:06 (UTC +08:00)
View GitHub Profile
@crashmax-dev
crashmax-dev / client.ts
Created April 28, 2024 00:28 — forked from artalar/client.ts
reatomGql real example
import { fingerprint } from 'src/infrastructure/fingerprint';
import { Client, fetchExchange, makeOperation, mapExchange } from 'urql';
export const client = new Client({
url: '/api/graphql',
requestPolicy: 'network-only',
exchanges: [
mapExchange({
async onOperation(operation) {
return makeOperation(operation.kind, operation, {
<html lang="en">
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width"/>
</head>
<body style="height: 300vh">
<svg style="position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%);"
width="655" height="209" viewBox="0 0 655 209" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M653 207V62C653 28.8629 626.228 2 593.091 2C519.318 2 391.639 2 292.675 2C270.583 2 252.717 19.9124 252.717 42.0038C252.717 63.5378 252.717 81.7221 252.717 81.7221C252.717 81.7221 252.717 81.7221 252.717 81.7221V167C252.717 189.091 234.808 207 212.717 207H2"
stroke="#EAECF0" stroke-width="4" stroke-linecap="round"/>
/* eslint-disable */
// https://github.com/Chronstruct/display-primitives/issues/1#issuecomment-1518496207
// declare global {
// namespace JSX {
// interface IntrinsicElements<T extends string> {
// input: React.DetailedHTMLProps<
// React.InputHTMLAttributes<HTMLInputElement>,
// HTMLInputElement
// 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%,