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/$%7BsvgDataUrl%7D?q=function&page=16&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 30626 results for "function"(1278ms)

anchorPDSatproto.ts1 match

@tijsโ€ขUpdated 1 day ago
15
16// Middleware for authentication
17async function authenticateRequest(c: any) {
18 const authHeader = c.req.header("Authorization");
19 if (!authHeader || !authHeader.startsWith("Bearer ")) {

anchorPDSauth.test.ts1 match

@tijsโ€ขUpdated 1 day ago
3
4// Mock validateToken for testing without network calls
5function mockValidateToken(token: string): Promise<any> {
6 return Promise.resolve(null); // Always return null for test tokens
7}

anchorPDSREADME.md4 matches

@tijsโ€ขUpdated 1 day ago
8test/
9โ”œโ”€โ”€ auth.test.ts # Authentication and token validation tests
10โ”œโ”€โ”€ validation.test.ts # Input validation and utility function tests
11โ”œโ”€โ”€ database.test.ts # Database schema and query logic tests
12โ”œโ”€โ”€ integration.test.ts # End-to-end API endpoint tests
55- Geographic coordinate validation
56- Timestamp format validation
57- Utility function testing (UUID generation, URI formatting)
58
59### ๐Ÿ—„๏ธ Database Tests (`database.test.ts`)
76The test suite covers:
77
78โœ… **Core Functionality**
79
80- Record validation and creation
146## Adding New Tests
147
148When adding new functionality, ensure tests cover:
149
1501. **Happy Path**: Normal operation with valid inputs

anchorPDSanchor_pds_implementation_plan.md3 matches

@tijsโ€ขUpdated 1 day ago
5## Overview
6
7We'll build a lightweight PDS focused on `app.dropanchor.checkin` records using TypeScript + SQLite, with three main phases of functionality.
8
9## Phase 1: Core Check-In Storage and Feeds
19
20**Implementation Steps:**
211. Create authentication middleware function
222. Parse Authorization header and extract token
233. Call user's home PDS to validate token and get DID
265- **Rationale:** Works regardless of feed post settings, provides consistent experience
266
267This implementation plan prioritizes working functionality over optimization, allowing for iterative improvements as usage patterns emerge.
268
269## Additional Resources

anchorPDSval-town.md12 matches

@tijsโ€ขUpdated 1 day 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}
40
41```ts
42export default async function () {
43 // Scheduled task code
44}
52
53```ts
54export default async function (email: Email) {
55 // Process email
56}
59## Val Town Standard Libraries
60
61Val Town provides several hosted services and utility functions.
62
63### Blob Storage
113```
114
115## Val Town Utility Functions
116
117Val Town provides several utility functions to help with common project tasks.
118
119### Importing Utilities
175โ”‚ โ”œโ”€โ”€ database/
176โ”‚ โ”‚ โ”œโ”€โ”€ migrations.ts # Schema definitions
177โ”‚ โ”‚ โ”œโ”€โ”€ queries.ts # DB query functions
178โ”‚ โ”‚ โ””โ”€โ”€ README.md
179โ”‚ โ””โ”€โ”€ routes/ # Route modules
194โ””โ”€โ”€ shared/
195 โ”œโ”€โ”€ README.md
196 โ””โ”€โ”€ utils.ts # Shared types and functions
197```
198
202- Main entry point should be `backend/index.ts`
203- Do NOT use Hono serveStatic middleware
204- **Static asset serving:** Use the utility functions to read and serve project files:
205
206 ```ts
240- Run migrations on startup or comment out for performance
241- Change table names when modifying schemas rather than altering
242- Export clear query functions with proper TypeScript typing
243
244## Common Gotchas and Solutions

stevensDemotestDailyBrief.ts1 match

@lurstโ€ขUpdated 1 day ago
4import { DateTime } from "https://esm.sh/luxon@3.4.4";
5
6export async function testDailyBrief() {
7 try {
8 const testChatId = Deno.env.get("TEST_TELEGRAM_CHAT_ID");

stevensDemosetupTelegramChatDb.ts1 match

@lurstโ€ขUpdated 1 day ago
2// Run this script manually to create the database table
3
4export default async function setupTelegramChatDb() {
5 try {
6 // Import SQLite module

stevensDemosendDailyBrief.ts6 matches

@lurstโ€ขUpdated 1 day ago
13} from "../memoryUtils.ts";
14
15async function generateBriefingContent(anthropic, memories, today, isSunday) {
16 try {
17 const weekdaysHelp = generateWeekDays(today);
96}
97
98export async function sendDailyBriefing(chatId?: string, today?: DateTime) {
99 // Get API keys from environment
100 const apiKey = Deno.env.get("ANTHROPIC_API_KEY");
135 const lastSunday = today.startOf("week").minus({ days: 1 });
136
137 // Fetch relevant memories using the utility function
138 const memories = await getRelevantMemories();
139
216}
217
218function generateWeekDays(today) {
219 let output = [];
220
239// console.log(weekDays);
240
241// Export a function that calls sendDailyBriefing with no parameters
242// This maintains backward compatibility with existing cron jobs
243export default async function (overrideToday?: DateTime) {
244 return await sendDailyBriefing(undefined, overrideToday);
245}

stevensDemoREADME.md2 matches

@lurstโ€ขUpdated 1 day ago
16In a normal server environment, you would likely use a middleware [like this one](https://hono.dev/docs/getting-started/nodejs#serve-static-files) to serve static files. Some frameworks or deployment platforms automatically make any content inside a `public/` folder public.
17
18However in Val Town you need to handle this yourself, and it can be suprisingly difficult to read and serve files in a Val Town Project. This template uses helper functions from [stevekrouse/utils/serve-public](https://www.val.town/x/stevekrouse/utils/branch/main/code/serve-public/README.md), which handle reading project files in a way that will work across branches and forks, automatically transpiles typescript to javascript, and assigns content-types based on the file's extension.
19
20### `index.html`
26## CRUD API Routes
27
28This app has two CRUD API routes: for reading and inserting into the messages table. They both speak JSON, which is standard. They import their functions from `/backend/database/queries.ts`. These routes are called from the React app to refresh and update data.
29
30## Errors

stevensDemoREADME.md2 matches

@lurstโ€ขUpdated 1 day ago
4
5* `migrations.ts` - code to set up the database tables the app needs
6* `queries.ts` - functions to run queries against those tables, which are imported and used in the main Hono server in `/backend/index.ts`
7
8## Migrations
18The queries file is where running the migrations happen in this app. It'd also be reasonable for that to happen in index.ts, or as is said above, for that line to be commented out, and only run when actual changes are made to your database schema.
19
20The queries file exports functions to get and write data. It relies on shared types and data imported from the `/shared` directory.
tuna

tuna9 file matches

@jxnblkโ€ขUpdated 1 week ago
Simple functional CSS library for Val Town

getFileEmail4 file matches

@shouserโ€ขUpdated 1 month ago
A helper function to build a file's email
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.