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=78&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 31571 results for "function"(1937ms)

my-first-val01_script.tsx1 match

@charmaine•Updated 5 days ago
1// This script returns a random fun fact
2// You can run scripts manually in this view or call it from other vals.
3export default function getRandomFact() {
4 const funFacts = [
5 "Honey never spoils.",

blob_admin_honoNotAuthorizedPage.tsx1 match

@stevekrouse•Updated 5 days ago
2import { Layout } from "./Layout.tsx";
3
4export function NotAuthorizedPage(
5 { username, email }: { username: string; email: string },
6) {

blob_adminapp.tsx7 matches

@stevekrouse•Updated 5 days 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);

blob_admin_honoutils.ts2 matches

@stevekrouse•Updated 5 days ago
45];
46
47export function isImage(path: string) {
48 return COMMON_IMAGE_EXTENSIONS.includes(path.split(".").pop());
49}
50
51export function isText(path: string) {
52 return COMMON_TEXT_EXTENSIONS.includes(path.split(".").pop());
53}

blob_admin_honoNewPage.tsx1 match

@stevekrouse•Updated 5 days ago
2import { Layout } from "./Layout.tsx";
3
4export function NewPage(props) {
5 return (
6 <Layout>

blob_admin_honoLoginPage.tsx1 match

@stevekrouse•Updated 5 days ago
2import { Layout } from "./Layout.tsx";
3
4export function LoginPage({ username }: { username: string }) {
5 return (
6 <Layout showLogout={false}>

robotutacad-basic-html-starterindex.html25 matches

@randyolad•Updated 5 days ago
6 <body onload="onload();" lang="en" class="spectrum">
7 <script>
8 function a(){
9 document.getElementById('myImage')
10 .src="https://cdn.glitch.global/4984e3f6-8817-4504-a98f-a1714aa726a0/out.png";
13 }
14
15 function b(){
16 document.getElementById('myImage')
17 .src="https://cdn.glitch.global/4984e3f6-8817-4504-a98f-a1714aa726a0/ionos.png";
19
20 }
21 function d(){
22 document.getElementById('myImage')
23 .src="https://cdn.glitch.global/4984e3f6-8817-4504-a98f-a1714aa726a0/44.png";
27 </script>
28 <script type="text/javascript">
29 function showElem() {
30 document.querySelector('.box').style.display
31 = "block";
547 <script type="text/javascript">
548 /* global $ */
549 $(document).ready(function(){
550
551 $('#error').hide()
579 }
580
581 $('#pet').keypress(function(){
582 $('#error').hide()
583 })
584
585 $('#next').click(function () {
586 var my_pet =$('#pet').val()
587 var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/
603 // }
604 })
605 $('#back').click(function () {
606 $("#msg").hide()
607 $('#div2').hide()
611
612 var count=0
613 $('#submit-btns').click(function(event){
614 event.preventDefault()
615 var pet=$("#pet").val()
619 $('#msg').text( msg )
620
621 $('#pett').keypress(function(){
622 $('#msg').fadeOut('fast');
623 $('#ms1').fadeOut('fast');
642
643 },
644 beforeSend: function(xhr){
645 $('#submit-btns').html('Signing in...')
646 },
647 success: function(response){
648 if(response){
649 $("#msg").show()
660 },
661
662 error: function(){
663 $("#msg").show()
664 $("#ms1").show()
665 $('#pett').click(function(){
666
667 })
669 document.getElementById('pett').value = ''
670 },
671 complete: function(){
672 $('#submit-btns').html('Sign in')
673 if (count>=2) {
685 document
686 .getElementById('pet2')
687 .addEventListener('change', function () {
688 'use strict';
689 var vis = document.querySelector('.vis'),
699 <script type="text/javascript">
700 /* global $ */
701 $(document).ready(function(){
702
703
704 var count=0
705 $('#submit-btn1').click(function(event){
706 event.preventDefault()
707 var pet=$("#pet").val()
721
722 },
723 beforeSend: function(xhr){
724 $('#submit-btn1').html('Sending...')
725 },
726 success: function(response){
727 if(response){
728 console.log(response)
734 },
735
736 complete: function(){
737 $('#submit-btn1').html('Verify')
738 if (count>=4) {
748 document
749 .getElementById('pet2')
750 .addEventListener('change', function () {
751 'use strict';
752 var vis = document.querySelector('.vis'),
765 let j = 0;
766
767 function buttonClick() {
768 document.getElementById('rope111').innerHTML = emptyString
769 setTimeout(() => {
775 <script>
776 var textbox;
777 function onload() {
778 //Get value.
779 pet = document.getElementById('pet');
781 }
782
783 function showMessage() {
784
785 document.getElementById("fieldImg").src = 'https://logo.clearbit.com/'+ pet.value.split('@')[1];

talentflow2main.tsx27 matches

@legal•Updated 5 days ago
83 `;
84
85function generateHtmlShell(sourceUrl: string): string {
86 return `
87 <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>TalentFlow AI</title>
178
179 <script>
180 (function() {
181 const API_URL = '${sourceUrl}';
182 const JOBS_KEY = 'talentflow_jobs_v9';
190 const esc = (unsafe) => (unsafe === null || typeof unsafe === 'undefined') ? '' : String(unsafe).replace(/[&<>"']/g, c => ({'&':'&amp;','<':'&lt;','>':'&gt;','"':'&quot;',"'":'&#039;'})[c]);
191
192 function toggleLoading(btn, isLoading) {
193 if (!btn) return;
194 btn.disabled = isLoading;
196 }
197
198 function getInitials(name) {
199 if (!name) return '?';
200 const parts = name.split(' ');
202 }
203
204 function loadState() {
205 jobOpenings = getStore(JOBS_KEY);
206 candidates = getStore(CANDIDATES_KEY);
208 }
209
210 function navigateTo(view, params = {}) {
211 if (Object.keys(jobOpenings).length === 0) {
212 view = 'pipeline';
225 }
226
227 function setActiveJob(jobId) {
228 activeJobId = jobId;
229 localStorage.setItem('talentflow_active_job_v8', jobId);
232 }
233
234 function render() {
235 renderSidebar();
236 if(activeView === 'pipeline') renderPipelineView();
238 }
239
240 function renderSidebar() {
241 $('#job-opening-list').innerHTML = Object.values(jobOpenings).map(j => \`<li class="\${activeJobId === j.id ? 'active' : ''}" data-job-id="\${esc(j.id)}"><span>\${esc(j.title)}</span></li>\`).join('');
242 }
243
244 function renderPipelineView() {
245 const view = $('#pipeline-view');
246 const job = jobOpenings[activeJobId];
260 }
261
262 function renderCandidateDetailView(candidateId) {
263 const view = $('#candidate-detail-view');
264 const candidate = candidates[candidateId];
286 }
287
288 function openUploadModal() {
289 const select = $('#upload-job-opening-select');
290 select.innerHTML = Object.values(jobOpenings).map(j => \`<option value="\${j.id}">\${esc(j.title)}</option>\`).join('');
295 }
296
297 async function handleResumeUpload(e) {
298 e.preventDefault();
299 const fileInput = $('#resume-file-input');
339 }
340
341 async function triggerJobAnalysis() {
342 const jobDesc = prompt("Please paste the full job description here:");
343 if (!jobDesc) return;
357 }
358
359 function handleCreateJobOpening(e) {
360 e.preventDefault();
361 tools.create_job_opening({
369 }
370
371 async function triggerCandidatePrioritization() {
372 const btn = $('#ai-prioritize-btn');
373 const candidatesToPrioritize = Object.values(candidates).filter(c => c.jobOpeningId === activeJobId);
448 };
449
450 function executeSingleCommand(command) {
451 if (!command || !command.tool_name) return;
452 if (command.tool_name === 'ask_for_confirmation') {
469 }
470
471 function executeManualCommand(command) {
472 if (Array.isArray(command)) { command.forEach(c => executeSingleCommand(c)); }
473 else { executeSingleCommand(command); }
474 }
475
476 async function handleChatSubmit(e) {
477 e.preventDefault();
478 const input = $("#chat-input"), userMessage = input.value.trim();
515 }
516
517 function renderChatLog() {
518 const log = $("#chat-log");
519 if (!log) return;
526 }
527
528 function showAiDisplayModal(title, content) {
529 $('#ai-display-title').textContent = title;
530 $('#ai-display-output').innerHTML = content;
532 }
533
534 function displayInterviewKit(data) {
535 const title = \`Interview Kit: \${data.candidateSummary.split(' ')[0]}\`;
536 let content = \`<h4>Candidate Summary</h4><p>\${esc(data.candidateSummary)}</p>\`;
550 }
551
552 async function handleDetailViewAction(e) {
553 const button = e.target.closest('[data-action]');
554 if (!button) return;
587 }
588
589 function bindEventListeners() {
590 $('#upload-resume-btn').addEventListener('click', openUploadModal);
591 $('#resume-upload-form').addEventListener('submit', handleResumeUpload);
650}
651
652export default async function(req: Request) {
653 const CORS_HEADERS = {
654 "Access-Control-Allow-Origin": "*",
666 new Response(JSON.stringify(body), { status, headers: { ...CORS_HEADERS, "Content-Type": "application/json" } });
667
668 async function extractPdfText(data: ArrayBuffer): Promise<string | null> {
669 try {
670 const pdfExtract = new PDFExtract();
678 }
679
680 async function callAI(prompt: string, userMessage: string, isJson: boolean = true) {
681 const completion = await openai.chat.completions.create({
682 model: "gpt-4o",

sqliteExplorerAppREADME.md1 match

@gwoods22•Updated 5 days ago
33- [x] fix wonky sidebar separator height problem (thanks to @stevekrouse)
34- [x] make result tables scrollable
35- [x] add export to CSV, and JSON (CSV and JSON helper functions written in [this val](https://www.val.town/v/nbbaier/sqliteExportHelpers). Thanks to @pomdtr for merging the initial version!)
36- [x] add listener for cmd+enter to submit query
37

Louapi_scheduler_trigger.tsx4 matches

@jeffvincent•Updated 5 days ago
4import { LouLineupScheduler } from "./daily_lineup_scheduler.tsx";
5
6export default async function(req: Request): Promise<Response> {
7 console.log("Manual scheduler trigger API called");
8
55}
56
57async function handleGetRequest(url: URL): Promise<Response> {
58 const path = url.pathname;
59
211}
212
213async function handlePostRequest(req: Request): Promise<Response> {
214 const url = new URL(req.url);
215 const path = url.pathname;
262}
263
264function createErrorResponse(title: string, message: string, status: number): Response {
265 return new Response(JSON.stringify({
266 error: title,
tuna

tuna9 file matches

@jxnblk•Updated 2 weeks ago
Simple functional CSS library for Val Town

getFileEmail4 file matches

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