This file contains 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 CustomEventMap<T> = { | |
[key in keyof T]: CustomEvent | Event; | |
}; | |
interface CustomEventListener<M, K extends keyof M> { | |
(evt: M[K]): void; | |
} | |
interface CustomEventListenerObject< | |
M, |
This file contains 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
[ | |
{ | |
"word": "a", | |
"level": "a1", | |
"type": "indefinite article" | |
}, | |
{ | |
"word": "abandon", | |
"level": "b2", | |
"type": "verb" |
This file contains 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
function base64ToBytes(base64: string): Uint8Array { | |
const binString = atob(base64); | |
return Uint8Array.from(binString, (m) => m.codePointAt(0) || 0); | |
} | |
function bytesToBase64(bytes: Uint8Array): string { | |
const binString = String.fromCodePoint(...bytes); | |
return btoa(binString); | |
} |
This file contains 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 { z } from "zod"; | |
type ParsedFormData<T extends z.AnyZodObject> = { | |
data: null; | |
errors: z.typeToFlattenedError<z.infer<T>>['fieldErrors'] | |
} | { | |
data: z.infer<T>; | |
errors: null; | |
} |
This file contains 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 type { ActionFunctionArgs, ActionFunction } from "@remix-run/node"; | |
import type { AnyZodObject, z } from "zod" | |
export type FormActionHandler<T extends AnyZodObject> = (data: z.infer<T>, args: ActionFunctionArgs) => Promise<Response | null> | |
export type FormAction<T extends AnyZodObject> = { | |
schema: T | |
} & { | |
handler: FormActionHandler<T> | |
} |
This file contains 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 Delimiter = ",\n"|"," | "." | "?" | "!" | "\n" | |
type IsTemplateTag<Word> = Word extends `{${infer TagName}}${Delimiter}${string}` ? TagName : never; | |
// type IsTemplateTag<Word> = Word extends `{${infer TagName}}` ? TagName : isTemplateTagWithComma<Word>; | |
// type isTemplateTagWithComma<Word> = Word extends `{${infer Tagname}},` ? Tagname : isTemplateTagWithPeriod<Word>; | |
// type isTemplateTagWithPeriod<Word> = Word extends `{${infer Tagname}}.` ? Tagname : never; | |
type TemplateTags<TemplateString> = TemplateString extends | |
`${infer PartA} ${infer PartB}` ? IsTemplateTag<PartA> | TemplateTags<PartB> | |
: IsTemplateTag<TemplateString>; |
This file contains 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 {toHashString} from 'https://deno.land/[email protected]/crypto/to_hash_string.ts'; | |
import {parse} from 'https://deno.land/[email protected]/flags/mod.ts'; | |
const args = parse(Deno.args, { | |
boolean: ['help'], | |
alias: { | |
help: 'h', | |
encoding: 'e', | |
}, | |
string: ['encoding'], |
This file contains 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 { unified } from "https://esm.sh/[email protected]"; | |
import remarkParse from "https://esm.sh/[email protected]"; | |
import remarkFrontmatter from "https://esm.sh/[email protected]"; | |
import remarkGfm from "https://esm.sh/[email protected]"; | |
import remarkRehype from "https://esm.sh/[email protected]"; | |
import rehypeStringify from "https://esm.sh/[email protected]"; | |
import rehypeSlug from "https://esm.sh/[email protected]"; | |
import rehypeAutolinkHeadings from "https://esm.sh/[email protected]"; | |
import remarkGemoji from "https://esm.sh/[email protected]"; | |
import rehypeStarryNight from "https://esm.sh/@microflash/[email protected]"; |
This file contains 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 type { ConnInfo, Handler } from "https://deno.land/[email protected]/http/server.ts"; | |
type RemoveModifier<Pattern> = Pattern extends `${infer P}?` ? P | |
: Pattern; | |
type RemoveMatchingRule<Pattern> = Pattern extends `${infer P}(${infer R})` ? P | |
: Pattern; | |
type ExtractGroupName<Pattern> = RemoveModifier<RemoveMatchingRule<Pattern>>; | |
type PatternParamValue<Key> = Key extends `${infer PatternString}?` | |
? string | undefined |
NewerOlder