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/image-url.jpg%20%22Image%20title%22?q=function&page=13&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 18321 results for "function"(562ms)

TownieChatRoute.tsx3 matches

@charmaine•Updated 8 hours ago
15import { Loading } from "./Loading.tsx";
16
17export function ChatRoute () {
18 const { projectId, branchId } = useParams() as {
19 projectId: string;
52}
53
54function Conversation ({
55 project,
56 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

@charmaine•Updated 8 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,

TownieBranchSelect.tsx1 match

@charmaine•Updated 8 hours ago
7const NEW_BRANCH_VAL = "__NEW_BRANCH__";
8
9export function BranchSelect () {
10 const { projectId, branchId } = useParams() as {
11 projectId: string;

TownieApp.tsx1 match

@charmaine•Updated 8 hours ago
26});
27
28export function App() {
29 const [audio, setAudio] = useLocalStorage("AUDIO", false);
30 return (

cf-uploadermain.tsx1 match

@temptemp•Updated 8 hours ago
2 `ZXhwb3J0IGRlZmF1bHQgewoJYXN5bmMgZmV0Y2gocmVxdWVzdCwgZW52LCBjdHgpIHsKCQljb25zdCBkYXRhID0gYXdhaXQgcmVxdWVzdC5qc29uKCkgPz8ge307CgkJY29uc3QgaW5wdXREYXRhID0gZGF0YS5kYXRhID8/IFtdOwoJCWNvbnN0IHJlc3BvbnNlID0geyBkYXRhOiBbXSB9OwoKCQkvLyBNYXAgaW5wdXREYXRhIHRvIGFuIGFycmF5IG9mIHVwbG9hZCBwcm9taXNlcwoJCWNvbnN0IHVwbG9hZFByb21pc2VzID0gaW5wdXREYXRhLm1hcChhc3luYyAoZWxlbWVudCwgaW5kZXgpID0+IHsKCQkJY29uc29sZS5sb2coYCR7aW5kZXggKyAxfS8ke2lucHV0RGF0YS5sZW5ndGh9YCk7CgkJCXRyeSB7CgkJCQljb25zdCB1cGxvYWRTZWdtZW50ID0gYXdhaXQgZmV0Y2goYGh0dHBzOi8vYW5vbmRyb3AubmV0L3JlbW90ZXVwbG9hZHVybD9rZXk9MTM2Njc1ODg0ODA5Nzk0NzcyMyZ1cmw9JHtlbmNvZGVVUklDb21wb25lbnQoZWxlbWVudC51cmkpfSZzZXNzaW9uX2hhc2g9MTM2Njc1ODg0ODA5Nzk0NzcyMy0ke2VuY29kZVVSSUNvbXBvbmVudChlbGVtZW50LnVyaSl9YCwgewoJCQkJCW1ldGhvZDogIkdFVCIsCgkJCQkJaGVhZGVyczogewoJCQkJCQkiVXNlci1BZ2VudCI6ICJNb3ppbGxhLzUuMCAoV2luZG93cyBOVCAxMC4wOyBXaW42NDsgeDY0OyBydjoxMzguMCkgR2Vja28vMjAxMDAxMDEgRmlyZWZveC8xMzguMCIsCgkJCQkJCSJBY2NlcHQiOiAiKi8qIiwKCQkJCQkJIkFjY2VwdC1MYW5ndWFnZSI6ICJlbi1VUyxlbjtxPTAuNSIsCgkJCQkJCSJBbHQtVXNlZCI6ICJhbm9uZHJvcC5uZXQiLAoJCQkJCQkiU2VjLUZldGNoLURlc3QiOiAiZW1wdHkiLAoJCQkJCQkiU2VjLUZldGNoLU1vZGUiOiAiY29ycyIsCgkJCQkJCSJTZWMtRmV0Y2gtU2l0ZSI6ICJzYW1lLW9yaWdpbiIsCgkJCQkJCSJQcmlvcml0eSI6ICJ1PTAiLAoJCQkJCQkiUHJhZ21hIjogIm5vLWNhY2hlIiwKCQkJCQkJIkNhY2hlLUNvbnRyb2wiOiAibm8tY2FjaGUiCgkJCQkJfQoJCQkJfSk7CgoJCQkJY29uc3QgdGV4dCA9IGF3YWl0IHVwbG9hZFNlZ21lbnQudGV4dCgpOwoJCQkJY29uc3QgbGlua1JlZ2V4ID0gL2h0dHBzOlwvXC9hbm9uZHJvcFwubmV0XC8oXGQrKS9nbTsKCQkJCWNvbnN0IG1hdGNoID0gbGlua1JlZ2V4LmV4ZWModGV4dCk7CgkJCQlpZiAoIW1hdGNoKSB0aHJvdyBuZXcgRXJyb3IoIk5vIGxpbmsgZm91bmQgaW4gcmVzcG9uc2UiKTsKCgkJCQljb25zdCBsYXN0U2xhc2ggPSBlbGVtZW50LnVyaS5sYXN0SW5kZXhPZignLycpOwoJCQkJY29uc3QgZmlsZSA9IGVsZW1lbnQudXJpLnN1YnN0cmluZyhsYXN0U2xhc2ggKyAxKS5zcGxpdCgnPycpWzBdOwoKCQkJCXJldHVybiB7CgkJCQkJZHVyYXRpb246IGVsZW1lbnQuZHVyYXRpb24sCgkJCQkJdXJpOiBgaHR0cHM6Ly9hbm9uZHJvcC5uZXQvJHttYXRjaFsxXX0vJHtmaWxlfT9kb3dubG9hZD10cnVlYCwKCQkJCX07CgkJCX0gY2F0Y2ggKGVycm9yKSB7CgkJCQljb25zb2xlLmVycm9yKGBGYWlsZWQgdG8gdXBsb2FkIHNlZ21lbnQgJHtlbGVtZW50LnVyaX06YCwgZXJyb3IpOwoJCQkJdHJ5IHsKCQkJCQljb25zdCB1cGxvYWRTZWdtZW50ID0gYXdhaXQgZmV0Y2goYGh0dHBzOi8vYW5vbmRyb3AubmV0L3JlbW90ZXVwbG9hZHVybD9rZXk9MTM2Njc1ODg0ODA5Nzk0NzcyMyZ1cmw9JHtlbmNvZGVVUklDb21wb25lbnQoZWxlbWVudC51cmkpfSZzZXNzaW9uX2hhc2g9MTM2Njc1ODg0ODA5Nzk0NzcyMy0ke2VuY29kZVVSSUNvbXBvbmVudChlbGVtZW50LnVyaSl9YCwgewoJCQkJCQltZXRob2Q6ICJHRVQiLAoJCQkJCQloZWFkZXJzOiB7CgkJCQkJCQkiVXNlci1BZ2VudCI6ICJNb3ppbGxhLzUuMCAoV2luZG93cyBOVCAxMC4wOyBXaW42NDsgeDY0OyBydjoxMzguMCkgR2Vja28vMjAxMDAxMDEgRmlyZWZveC8xMzguMCIsCgkJCQkJCQkiQWNjZXB0IjogIiovKiIsCgkJCQkJCQkiQWNjZXB0LUxhbmd1YWdlIjogImVuLVVTLGVuO3E9MC41IiwKCQkJCQkJCSJBbHQtVXNlZCI6ICJhbm9uZHJvcC5uZXQiLAoJCQkJCQkJIlNlYy1GZXRjaC1EZXN0IjogImVtcHR5IiwKCQkJCQkJCSJTZWMtRmV0Y2gtTW9kZSI6ICJjb3JzIiwKCQkJCQkJCSJTZWMtRmV0Y2gtU2l0ZSI6ICJzYW1lLW9yaWdpbiIsCgkJCQkJCQkiUHJpb3JpdHkiOiAidT0wIiwKCQkJCQkJCSJQcmFnbWEiOiAibm8tY2FjaGUiLAoJCQkJCQkJIkNhY2hlLUNvbnRyb2wiOiAibm8tY2FjaGUiCgkJCQkJCX0KCQkJCQl9KTsKCgkJCQkJY29uc3QgdGV4dCA9IGF3YWl0IHVwbG9hZFNlZ21lbnQudGV4dCgpOwoJCQkJCWNvbnN0IGxpbmtSZWdleCA9IC9odHRwczpcL1wvYW5vbmRyb3BcLm5ldFwvKFxkKykvZ207CgkJCQkJY29uc3QgbWF0Y2ggPSBsaW5rUmVnZXguZXhlYyh0ZXh0KTsKCQkJCQlpZiAoIW1hdGNoKSB0aHJvdyBuZXcgRXJyb3IoIk5vIGxpbmsgZm91bmQgaW4gcmVzcG9uc2UiKTsKCgkJCQkJY29uc3QgbGFzdFNsYXNoID0gZWxlbWVudC51cmkubGFzdEluZGV4T2YoJy8nKTsKCQkJCQljb25zdCBmaWxlID0gZWxlbWVudC51cmkuc3Vic3RyaW5nKGxhc3RTbGFzaCArIDEpLnNwbGl0KCc/JylbMF07CgoJCQkJCXJldHVybiB7CgkJCQkJCWR1cmF0aW9uOiBlbGVtZW50LmR1cmF0aW9uLAoJCQkJCQl1cmk6IGBodHRwczovL2Fub25kcm9wLm5ldC8ke21hdGNoWzFdfS8ke2ZpbGV9P2Rvd25sb2FkPXRydWVgLAoJCQkJCX07CgkJCQl9IGNhdGNoIChlcnJvcikgewoJCQkJCWNvbnNvbGUuZXJyb3IoYEZhaWxlZCB0byB1cGxvYWQgc2VnbWVudCAke2VsZW1lbnQudXJpfTpgLCBlcnJvcik7CgkJCQkJLy8gU3RpbGwgcmV0dXJuIGEgcGxhY2Vob2xkZXIgdG8gcHJlc2VydmUgaW5kZXgKCQkJCQlyZXR1cm4gewoJCQkJCQlkdXJhdGlvbjogZWxlbWVudC5kdXJhdGlvbiwKCQkJCQkJdXJpOiBudWxsLAoJCQkJCX07CgkJCQl9CgkJCX0KCQl9KTsKCgkJLy8gV2FpdCBmb3IgYWxsIHByb21pc2VzIGluIG9yZGVyCgkJcmVzcG9uc2UuZGF0YSA9IGF3YWl0IFByb21pc2UuYWxsKHVwbG9hZFByb21pc2VzKTsKCgkJcmV0dXJuIFJlc3BvbnNlLmpzb24ocmVzcG9uc2UpOwoJfSwKfTsK`;
3const text = "";
4export default async function(interval: Interval) {
5 const key = "259ce0d6791172167d9e8fc5142f598835c321d9e64b725df947a293d23d53cd";
6 const uuid = "3f34ee19-7f0a-4a45d-589e-0a19f2780e53";

telegramBotStarterindex.ts2 matches

@asdfg•Updated 9 hours ago
1// ============================================================
2// CORE FUNCTIONALITY
3// ============================================================
4
12 * Expose this as an HTTP endpoint in Val.town
13 */
14export default async function handleTelegramWebhook(req) {
15 try {
16 // Ensure the request is a POST request

telegramBotStartermessage.tsx3 matches

@asdfg•Updated 9 hours ago
11 * Retrieve messages for a specific user from blob storage
12 */
13async function getMessages(userId: string): Promise<Message[]> {
14 try {
15 const messages = await blob.getJSON(`messages:${userId}`) as Message[];
23 * Store a message in the database using Val Town's blob storage
24 */
25export default async function storeMessage(
26 userId: string,
27 userName: string,
55}
56
57// notify admin function

telegramBotStarterprocessOwnerCommand.tsx3 matches

@asdfg•Updated 9 hours ago
9// import { getActiveUsers, getBlockedUsers, getUserInfo } from "./users.tsx";
10
11export default async function processOwnerCommand(message) {
12 const text = message.text || "";
13
150 * Reply to a specific user
151 */
152async function replyToUser(userId, text) {
153 // Send the message to the user
154 const success = await sendTelegramMessage(userId, text);
180 * Native reply to a specific user using Telegram's reply mechanism
181 */
182async function nativeReplyToUser(userId, originalMessage, text) {
183 try {
184 // Send the message as a reply to the original message

adportalcontinue.html8 matches

@devto•Updated 9 hours ago
231 const imageUploadLog = document.getElementById('imageUploadLog');
232
233 // Helper function to log to UI
234 function logToUI(message) {
235 console.log(`[CLIENT] ${message}`);
236 const logEntry = document.createElement('div');
241 }
242
243 // Helper function to format file size
244 function formatFileSize(bytes) {
245 if (bytes < 1024) return bytes + ' bytes';
246 else if (bytes < 1048576) return (bytes / 1024).toFixed(1) + ' KB';
381
382 // Reset image upload form
383 function resetImageUpload() {
384 imageUploadInput.value = '';
385 selectedFileName.textContent = 'No file selected';
391
392 // Load images for this submission
393 async function loadImages() {
394 logToUI(`Loading images for submission: ${submissionId}`);
395 try {
447
448 // Render images in the list
449 function renderImages(images) {
450 logToUI(`Rendering ${images.length} images in gallery`);
451 imagesList.innerHTML = '';
493
494 // Delete an image
495 async function deleteImage(imageId) {
496 if (!confirm('Are you sure you want to delete this image?')) {
497 logToUI(`Deletion canceled for image: ${imageId}`);

adportalindex.ts1 match

@devto•Updated 9 hours ago
163
164 // Store the image
165 console.log(`[SERVER] Calling storeImage function`);
166 const metadata = await storeImage(
167 uint8Array,

getFileEmail4 file matches

@shouser•Updated 1 week ago
A helper function to build a file's email
tuna

tuna8 file matches

@jxnblk•Updated 2 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.