Val Town Code SearchReturn to Val Town

API Access

You can access search results via JSON API by adding format=json to your query:

https://codesearch.val.run/$%7Bsuccess?q=function&page=12&format=json

For typeahead suggestions, use the /typeahead endpoint:

https://codesearch.val.run/typeahead?q=function

Returns an array of strings in format "username" or "username/projectName"

Found 19908 results for "function"(493ms)

TownieHeader.tsx5 matches

@th3noloโ€ขUpdated 12 hours ago
6import { AppContext } from "./App.tsx";
7
8export function Header () {
9 const navigate = useNavigate();
10
25}
26
27function LogOut () {
28 const { user } = useContext(AppContext);
29 return (
46}
47
48function ValTownLogo () {
49 return (
50 <svg
64}
65
66function DarkButton () {
67 const [dark, setDark] = useLocalStorage("DARK_MODE", false);
68 const toggle = () => {
89}
90
91function AudioButton () {
92 const {audio, setAudio} = useContext(AppContext);
93

Townieformatters.ts1 match

@th3noloโ€ขUpdated 12 hours ago
1// Utility functions for formatting data in the dashboard
2
3/**

TowniefileWithLinesNumbers.ts1 match

@th3noloโ€ขUpdated 12 hours ago
1export default function fileWithLineNumbers(text: string, view_range = []) {
2 return [
3 undefined, // Line numbers are 1-indexed

Towniefavicon.http.tsx1 match

@th3noloโ€ขUpdated 12 hours ago
3import { TownieIcon } from "./components/icons.tsx";
4
5export default async function (loading: boolean) {
6 const svg = renderToString(
7 <TownieIcon color="#ffffff" circle={loading ? "#0EA5E9" : "#000000"} />

TownieDebugStyles.tsx1 match

@th3noloโ€ขUpdated 12 hours ago
4import { Messages } from "./Messages.tsx";
5
6export function DebugStyles() {
7 const [pathname, setPathname] = useState("");
8 return (

Towniedashboard.ts1 match

@th3noloโ€ขUpdated 12 hours ago
15}
16
17export function renderDashboard(data: UserSummaryRow[]): string {
18 // Calculate totals
19 const totalUsers = data.length;

Townie.cursorrules12 matches

@th3noloโ€ขUpdated 12 hours ago
4
5- Ask clarifying questions when requirements are ambiguous
6- Provide complete, functional solutions rather than skeleton implementations
7- Test your logic against edge cases before presenting the final solution
8- Ensure all code follows Val Town's specific platform requirements
17- **Never bake in secrets into the code** - always use environment variables
18- Include comments explaining complex logic (avoid commenting obvious operations)
19- Follow modern ES6+ conventions and functional programming practices if possible
20
21## Types of triggers
28
29```ts
30export default async function (req: Request) {
31 return new Response("Hello World");
32}
42
43```ts
44export default async function () {
45 // Scheduled task code
46}
56
57```ts
58export default async function (email: Email) {
59 // Process email
60}
66## Val Town Standard Libraries
67
68Val Town provides several hosted services and utility functions.
69
70### Blob Storage
120```
121
122## Val Town Utility Functions
123
124Val Town provides several utility functions to help with common project tasks.
125
126### Importing Utilities
200โ”‚ โ”œโ”€โ”€ database/
201โ”‚ โ”‚ โ”œโ”€โ”€ migrations.ts # Schema definitions
202โ”‚ โ”‚ โ”œโ”€โ”€ queries.ts # DB query functions
203โ”‚ โ”‚ โ””โ”€โ”€ README.md
204โ”‚ โ””โ”€โ”€ routes/ # Route modules
219โ””โ”€โ”€ shared/
220 โ”œโ”€โ”€ README.md
221 โ””โ”€โ”€ utils.ts # Shared types and functions
222```
223
226- Hono is the recommended API framework
227- Main entry point should be `backend/index.ts`
228- **Static asset serving:** Use the utility functions to read and serve project files:
229 ```ts
230 import { readFile, serveFile } from "https://esm.town/v/std/utils@85-main/index.ts";
260- Run migrations on startup or comment out for performance
261- Change table names when modifying schemas rather than altering
262- Export clear query functions with proper TypeScript typing
263
264## Common Gotchas and Solutions

TownieChatRoute.tsx3 matches

@th3noloโ€ขUpdated 12 hours ago
14import { Loading } from "./Loading.tsx";
15
16export function ChatRoute() {
17 const { projectId, branchId } = useParams() as {
18 projectId: string;
50}
51
52function Conversation({
53 project,
54 files,
163}
164
165function shouldRefetch(message) {
166 for (let i = 0; i < message?.parts?.length; i++) {
167 let part = message.parts[i];

TownieChatRouteSingleColumn.tsx3 matches

@th3noloโ€ขUpdated 12 hours ago
19
20// alt single-column version of /chat route
21export function ChatRouteSingleColumn () {
22 const { projectId, branchId } = useParams() as {
23 projectId: string;
56}
57
58function Conversation ({
59 project,
60 files,
177}
178
179function shouldRefetch (message) {
180 for (let i = 0; i < message?.parts?.length; i++) {
181 let part = message.parts[i];

TowniecalculateCost.tsx1 match

@th3noloโ€ขUpdated 12 hours ago
5const CACHE_WRITE_RATE = 3.75; // $3.75 per M cache-write tokens
6
7export function calculateCost({
8 input_tokens,
9 output_tokens,

getFileEmail4 file matches

@shouserโ€ขUpdated 3 weeks ago
A helper function to build a file's email
tuna

tuna8 file matches

@jxnblkโ€ขUpdated 3 weeks ago
Simple functional CSS library for Val Town
lost1991
import { OpenAI } from "https://esm.town/v/std/openai"; export default async function(req: Request): Promise<Response> { if (req.method === "OPTIONS") { return new Response(null, { headers: { "Access-Control-Allow-Origin": "*",
webup
LangChain (https://langchain.com) Ambassador, KubeSphere (https://kubesphere.io) Ambassador, CNCF OpenFunction (https://openfunction.dev) TOC Member.