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 {Observer} from './core/event-emitter' | |
const observer = new Observer<string>() | |
const sub1$ = observer.subscribe((value, count) => { | |
console.log('sub 1: ', value, count) | |
}) | |
const sub2$ = observer.subscribe((value, count) => { | |
console.log('sub 2: ', value, count) |
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
type Callback<T> = (value: T) => void | |
export class EventEmitter<T> { | |
#on = new Set<Callback<T>>([]) | |
set on(cb: Callback<T>) { | |
this.#on.add(cb) | |
} | |
set off(cb: Callback<T>) { |
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 subtitle = segToSub(subtitles.events); | |
console.log(subtitle); |
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 function query<K extends keyof SVGElementTagNameMap>( | |
name: K | `${K}.${string}` | `${K}#${string}` | `${K}[${string}]`, | |
parent?: Element | |
): SVGElementTagNameMap[K] | |
export function query<K extends keyof HTMLElementTagNameMap>( | |
name: K | `${K}.${string}` | `${K}#${string}` | `${K}[${string}]`, | |
parent?: Element | |
): HTMLElementTagNameMap[K] |
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 './style.scss' | |
const video = document.querySelector('video') as HTMLVideoElement; | |
const canvas = document.querySelector('canvas') as HTMLCanvasElement; | |
const ctx = canvas.getContext('2d', { willReadFrequently: true })!; | |
// Configuração da tela de fundo | |
const BACKGROUND_COLOR = [6, 6, 6]; // fundo verde | |
const TOLERANCE = 80; // tolerância de cor | |
const OPACITY = 0.7; // opacidade do sujeito |
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
let state: any | |
function handleState<T = unknown>(data: T) { | |
state = data | |
// const events: ((state: T) => void)[] = [] | |
const events = new Set<(state: T | null) => void>() | |
return { | |
set(newState: T | null) { | |
if (newState === null) { |
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 const noop = () => null | |
export function pickFn< | |
T extends CustomElementConstructor, | |
K extends keyof T = keyof T | |
>(target: T, key: K) { | |
return target[key] ?? noop | |
} | |
export function define( |
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 'reflect-metadata' | |
type InputType = | |
| 'checkbox' | |
| 'color' | |
| 'datetime-local' | |
| 'email' | |
| 'file' | |
| 'image' | |
| 'month' |
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 './style.scss' | |
const canvas = document.createElement('canvas') | |
const contexto = canvas.getContext('2d') | |
const config = { | |
bola: { | |
raio: 10, | |
}, | |
raquete: { |
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
<!DOCTYPE html> | |
<html lang="en"> | |
<head> | |
<meta charset="UTF-8" /> | |
<link rel="icon" type="image/svg+xml" href="/vite.svg" /> | |
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> | |
<link rel="preconnect" href="https://fonts.googleapis.com" /> | |
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin /> | |
<link | |
href="https://fonts.googleapis.com/css2?family=Fira+Sans:ital,wght@0,300;0,400;0,500;1,300;1,400&display=swap" |