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%22Optional%20title%22?q=function&page=1&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 18199 results for "function"(1453ms)

telegramBotStarterprocessOwnerCommand.tsx3 matches

@asdfg•Updated 41 mins 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

cf-uploadermain.tsx1 match

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

telegramBotStartermessage.tsx3 matches

@asdfg•Updated 45 mins 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

adportalcontinue.html8 matches

@devto•Updated 46 mins 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 47 mins ago
163
164 // Store the image
165 console.log(`[SERVER] Calling storeImage function`);
166 const metadata = await storeImage(
167 uint8Array,

adportalimage-storage.ts8 matches

@devto•Updated 47 mins ago
15
16// Generate a unique ID for an image
17export function generateImageId(submissionId: string): string {
18 const timestamp = Date.now().toString(36);
19 const randomPart = Math.random().toString(36).substring(2, 8);
22
23// Store an image in blob storage
24export async function storeImage(
25 imageData: Uint8Array, // Raw image data
26 fileName: string,
85
86// Get an image from blob storage
87export async function getImage(imageId: string): Promise<Uint8Array | null> {
88 try {
89 console.log(`[BLOB STORAGE] Retrieving image with ID: ${imageId}`);
104
105// Get image metadata
106export async function getImageMetadata(imageId: string): Promise<ImageMetadata | null> {
107 try {
108 console.log(`[BLOB STORAGE] Retrieving metadata for image: ${imageId}`);
123
124// List all images for a submission
125export async function listSubmissionImages(submissionId: string): Promise<ImageMetadata[]> {
126 try {
127 console.log(`[BLOB STORAGE] Listing images for submission: ${submissionId}`);
160
161// Delete an image and its metadata
162export async function deleteImage(imageId: string): Promise<boolean> {
163 try {
164 console.log(`[BLOB STORAGE] Deleting image with ID: ${imageId}`);
177}
178
179// Test blob storage functionality
180export async function testBlobStorage(submissionId: string): Promise<{success: boolean, message: string, data: any}> {
181 try {
182 console.log(`[BLOB STORAGE TEST] Starting test for submission: ${submissionId}`);

telegramBotStarterindex.ts2 matches

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

blob_adminapp.tsx7 matches

@devto•Updated 58 mins ago
10}
11
12function Tooltip({ children, content }: TooltipProps) {
13 const [isVisible, setIsVisible] = useState(false);
14 const tooltipRef = useRef<HTMLDivElement>(null);
49}
50
51function formatBytes(bytes: number, decimals = 2) {
52 if (bytes === 0) return "0 Bytes";
53 const k = 1024;
58}
59
60function copyToClipboard(text: string) {
61 navigator.clipboard.writeText(text).then(() => {
62 console.log("Text copied to clipboard");
66}
67
68function ActionMenu({ blob, onDownload, onRename, onDelete, onMoveToPublic, onMoveOutOfPublic }) {
69 const [isOpen, setIsOpen] = useState(false);
70 const menuRef = useRef(null);
73
74 useEffect(() => {
75 function handleClickOutside(event) {
76 if (menuRef.current && !menuRef.current.contains(event.target)) {
77 event.stopPropagation();
155}
156
157function BlobItem({ blob, onSelect, isSelected, onDownload, onRename, onDelete, onMoveToPublic, onMoveOutOfPublic }) {
158 const [isLoading, setIsLoading] = useState(false);
159 const decodedKey = decodeURIComponent(blob.key);
216}
217
218function App({ initialEmail, initialProfile, sourceURL }) {
219 const encodeKey = (key: string) => encodeURIComponent(key);
220 const decodeKey = (key: string) => decodeURIComponent(key);

adportalREADME.md5 matches

@devto•Updated 1 hour ago
8- Form to collect company name and email
9- SQLite database storage for submissions
10- Email functionality to send users a unique link
11- Continuation page for adding more information
12- Image upload and storage functionality
13
14## Project Structure
16- `index.ts` - Main HTTP endpoint and route handling
17- `database.ts` - SQLite database operations
18- `email.ts` - Email sending functionality
19- `utils.ts` - Helper functions
20- `landing.html` - Main landing page
21- `continue.html` - Page for adding additional information
22- `image-storage.ts` - Image storage and retrieval functionality
23
24## Database Schema

adportalemail.ts1 match

@devto•Updated 1 hour ago
4
5// Send confirmation email with link to continue
6export async function sendConfirmationEmail(
7 toEmail: string,
8 companyName: string,

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
webup
LangChain (https://langchain.com) Ambassador, KubeSphere (https://kubesphere.io) Ambassador, CNCF OpenFunction (https://openfunction.dev) TOC Member.
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": "*",