additional plugins:
- css import
- css modules
- nested css
tailwindcss postcss autoprefixer postcss-import postcss-load-config postcss-nested svelte-preprocess svelte-preprocess-cssmodules
| import {z} from 'zod' | |
| type getParams<T> = T extends `${infer Path}/?${infer Search}` ? | |
| [ | |
| ...getPathParams<Path>, | |
| ...getSearchParams<`?${Search}`> | |
| ]: T extends `${infer Path}?${infer Search}` ? | |
| [ | |
| ...getPathParams<Path>, | |
| ...getSearchParams<`?${Search}`> | |
| ]: T extends `${infer Path}/` ? |
| from typing import Callable | |
| from dataclasses import dataclass | |
| type Subscription = Callable[[], None] | |
| @dataclass(eq=False) | |
| class Dependency: | |
| subscriptions: set[Subscription] |
| type Unshift<X, Arr extends unknown[]> = [X, ...Arr]; | |
| type Push<X, Arr extends unknown[]> = [...Arr, X]; | |
| type Tail<X> = X extends [infer _Head, ...infer Res] ? Res : never; | |
| type Head<X> = X extends [infer Res, ...infer _Tail] ? Res : never; | |
| type Reverse<X extends unknown[]> = X extends [] ? [] : X extends [infer Head, ...infer Tail] ? Push<Head, Reverse<Tail>> : []; |
| import { writable, type Writable } from 'svelte/store'; | |
| type Args<T> = T extends (...args: [...infer R]) => void ? R : never; | |
| function createReducer<P>(type: string) { | |
| return function (payload: P) { | |
| return { | |
| type, | |
| payload | |
| }; |
| import { useMemo, useRef } from "react"; | |
| import type { MutableRefObject, RefObject } from "react"; | |
| export interface AsyncMutableRefObject<T> extends MutableRefObject<T> { | |
| readonly asyncCurrent: Promise<Exclude<T, null | undefined>>; | |
| } | |
| export interface AsyncRefObject<T> extends RefObject<T> { | |
| readonly asyncCurrent: Promise<Exclude<T, null | undefined>>; | |
| } |
| import { usePathname, useRouter, useSearchParams } from "next/navigation"; | |
| interface QueryValueOptions<T> { | |
| serializer: (value: T) => string; | |
| deserializer: (value: string) => T; | |
| } | |
| type UseQueryReturn<T> = [value: T[], setValue: (value: T[]) => void]; | |
| const defaultSerializer = (value: any) => String(value); | |
| const defaultDeserializer = (value: string) => String(value); |
| # https://kafka.js.org/docs/running-kafka-in-development | |
| version: '2' | |
| services: | |
| zookeeper: | |
| image: wurstmeister/zookeeper:latest | |
| ports: | |
| - 2181:2181 | |
| volumes: | |
| - ./_data/zookeeper/data:/data | |
| kafka: |