Skip to content

Instantly share code, notes, and snippets.

View snuffyDev's full-sized avatar
😮‍💨
nice

snuffy snuffyDev

😮‍💨
nice
View GitHub Profile
/* eslint-disable @typescript-eslint/no-inferrable-types */
import { browser } from "$app/env";
import { cubicOut } from "svelte/easing";
import { tweened } from "svelte/motion";
import type { Unsubscriber } from "svelte/store";
import SessionListService, { type ISessionListProvider } from "./stores/list";
import { currentTitle } from "./stores/stores";
import { groupSession, type ConnectionState } from "./stores/_sessions";
import { getSrc, type ResponseBody } from "./utils/utils";
import { notify, EventEmitter } from "./utils";
export const clock = `<circle cx="12" cy="12" r="10" />
<path d="M12 6v6l4 2" />
`;
export const image = `<rect x="3" y="3" width="18" height="18" rx="2" ry="2" />
<circle cx="8.5" cy="8.5" r="1.5" />
<polyline points="21 15 16 10 5 21" />`;
export const upload = `<path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4" />
<polyline points="17 8 12 3 7 8" />
<line x1="12" y1="3" x2="12" y2="15" />`;
export const frown = `
<script lang="ts">
import { browser } from "$app/env";
import { goto } from "$app/navigation";
import Icon from "$components/Icon/Icon.svelte";
import db from "$lib/db";
import { clickOutside } from "$lib/actions/clickOutside";
import list from "$lib/stores/list";
import { playerLoading, showAddToPlaylistPopper } from "$stores/stores";
import { tick } from "svelte";
@snuffyDev
snuffyDev / emitter.ts
Last active May 20, 2022 13:04
all recent modules
import type { JSON } from "$lib/types";
export type EventType = string;
export type EventCallback<T = unknown> = (payload?: T | T[]) => void;
export type EventListeners<
Events extends Record<string, unknown>,
Name extends keyof Events = keyof Events & string
> = Map<Name, EventCallback<Events[Name]>[]>;
export interface IEventEmitter {
<script lang="ts">
import { browser } from "$app/env";
import { goto } from "$app/navigation";
import Icon from "$components/Icon/Icon.svelte";
import db from "$lib/db";
import { clickOutside } from "$lib/actions/clickOutside";
import list from "$lib/stores/list";
import {
playerLoading,
showAddToPlaylistPopper,
This file has been truncated, but you can view the full file.
var _yt_player={};(function(g){var window=this;/*
Copyright The Closure Library Authors.
SPDX-License-Identifier: Apache-2.0
*/
'use strict';var ba,da,aaa,ia,ka,la,ma,pa,qa,ra,baa,caa,ya,Aa,daa,eaa,Da,Ea,Fa,Ga,Ia,La,Ma,gaa,haa,Va,Xa,Ya,Za,iaa,$a,ab,kaa,eb,fb,ib,kb,nb,rb,sb,tb,vb,wb,xb,yb,zb,Bb,Ab,Cb,saa,taa,Db,Eb,Fb,Gb,Hb,Ib,Jb,Kb,uaa,Ob,Ub,vaa,bc,waa,gc,dc,xaa,ec,yaa,zaa,Aaa,pc,qc,rc,sc,Cc,Ec,Bc,xc,Ic,Kc,Mc,Nc,Qc,Sc,Rc,Uc,Vc,Xc,Yc,Zc,$c,ad,bd,dd,ed,fd,gd,id,jd,hd,kd,Daa,md,qd,rd,sd,td,ud,wd,yd,Bd,Cd,Dd,Ed,Fd,Gd,Hd,Jd,Ld,Md,Eaa,Nd,Od,Pd,Qd,Rd,Wd,Sd,Zd,ee,fe,ie,he,je,ke,se,te,we,xe,ye,ze,Ae,Iaa,Ce,Ee,Fe,Jaa,He,Ke,Me,Pe,Kaa,
Laa,Se,Te,Ie,Je,Maa,Naa,Oaa,Paa,We,Qaa,Raa,Saa,Taa,Ne,Oe,Xe,Uaa,ef,ff,gf,hf,jf,mf,nf,of,pf,Waa,Vaa,Xaa,Yaa,wf,xf,aba,yf,Bf,bba,cba,Ef,If,dba,gba,Sf,Uf,hba,iba,Vf,nba,$f,kba,mba,Yf,Xf,dg,eg,oba,fg,pba,hg,ig,qba,kg,lg,mg,rg,sg,vba,yba,Aba,Ag,Bg,Eba,Fba,Dba,Kba,Lba,Eg,Hg,Nba,Oba,Gg,Pba,Kg,Lg,Tba,Pg,Rg,Ug,Wg,Zg,$g,Uba,Vba,Wba,Xba,ch,Zba,ph,aca,cca,bca,qh,sh,dca,rh,eca,bh,Bh,gca,Dh,Ch,ah,Fh,h
<script lang="ts">
import { browser } from "$app/env";
import { goto } from "$app/navigation";
import Icon from "$components/Icon/Icon.svelte";
import db from "$lib/db";
import { clickOutside } from "$lib/actions/clickOutside";
import list from "$lib/stores/list";
import {
playerLoading,
showAddToPlaylistPopper,
import type { JSON, Nullable } from "$lib/types";
import type Peer from "peerjs";
import type { DataConnection } from "peerjs";
import { generateId } from "$lib/utils/id";
import { browser } from "$app/env";
import { Logger } from "$lib/utils/logger";
import { WritableStore } from "$lib/utils/stores";
import { every, filter, findAll, iter } from "$lib/utils/collections";
import SessionListService, { type ISessionListProvider, type ISessionListService } from "./list";
import type { JSON } from "$lib/types";
import type Peer from "peerjs";
import type { DataConnection } from "peerjs";
import { mod } from "$lib/utils/id";
import { browser } from "$app/env";
import { Logger } from "$lib/utils/logger";
import { WritableStore } from "$lib/utils/eventEmitter";
import { filter, iter } from "$lib/utils/collections";
import SessionListService from "./list";
import type { JSON } from "$lib/types";
import type Peer from "peerjs";
import type { DataConnection } from "peerjs";
import { mod } from "$lib/utils/id";
import { browser } from "$app/env";
type Kind = "action" | "state" | "status";
type Command = "SEND" | "GET" | "CONNECT" | "DISCONNECT" | "CONFIG" | "PUT";
type Status = "OK" | "ERROR";
type SessionID = string;