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/?q=function&page=707&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 7147 results for "function"(503ms)

vblogdata1 match

@jxnblk•Updated 3 months ago
4import { parse } from "./parse";
5
6async function getData() {
7 const src = await getPosts();
8 const posts = await Promise.all(src.map((p) => parse(p, [frontmatter, markdown])));

surprisingEmbeddingsindex4 matches

@tmcw•Updated 3 months ago
13const THROTTLE = 1000
14
15function blockAi(ua: string) {
16 if (
17 bots.some(b => {
92
93// Based on https://github.com/Shawns2759/vector-similarity MIT
94function dotProduct(a: number[], b: number[]): number {
95 return a.reduce((sum, value, index) => sum + value * b[index], 0)
96}
97
98function vectorMagnitude(a: number[]): number {
99 return Math.sqrt(a.reduce((sum, value) => sum + value * value, 0))
100}
101
102function cosineSimilarity(a: number[], b: number[]): number {
103 const dotProd = dotProduct(a, b)
104 const magnitudeA = vectorMagnitude(a)

OpenTownieindex4 matches

@shouser•Updated 3 months ago
5import { generateCodeAnthropic, makeFullPrompt } from "./backend/generateCode";
6
7function App() {
8 const [messages, setMessages] = useState<{ content: string; role: string }[]>([]);
9 const [inputMessage, setInputMessage] = useState("make a todo app");
11 const [bearerToken, _setBearerToken] = useState(localStorage.getItem("val-town-bearer"));
12
13 function setBearerToken(token: string) {
14 _setBearerToken(token);
15 localStorage.setItem("val-town-bearer", token);
79}
80
81function client() {
82 createRoot(document.getElementById("root")).render(<App />);
83}
84if (typeof document !== "undefined") { client(); }
85
86export default async function server(req: Request): Promise<Response> {
87 // console.log(req);
88 if (req.method === "POST") {

OpenTowniegenerateCode2 matches

@shouser•Updated 3 months ago
1import OpenAI from "https://esm.sh/openai";
2
3function parseValResponse(response: string) {
4 const codeBlockRegex = /```val type=(\w+)\n([\s\S]*?)```/;
5 const match = response.match(codeBlockRegex);
25}
26
27export async function generateCodeAnthropic(messages: Message[]): Promise<ValResponse | null> {
28 const system = await (await fetch(`${import.meta.url.split("/").slice(0, -1).join("/")}/system_prompt.txt`)).text();
29

reactRouter7server.tsx1 match

@justbe•Updated 3 months ago
1import { handler } from "./entry.server.tsx";
2
3export default async function(request: Request) {
4 const url = new URL(request.url);
5 if (url.pathname == "/js/entry.client.js") {

reactRouter7about.tsx1 match

@justbe•Updated 3 months ago
4import type loader from "./about.loader.js";
5
6export default function About() {
7 let data = useLoaderData<typeof loader>();
8 return <h1>{data.message}</h1>;

userEnrichmenthome.tsx1 match

@justbe•Updated 3 months ago
1/** @jsxImportSource https://esm.sh/react@18.2.0 */
2
3export default function Home() {
4 return <h1>This is just a test!</h1>;
5}

OpenTowniesystem_prompt.txt17 matches

@shouser•Updated 3 months ago
10 1. `http`: http vals export a default server request handler.
11 2. `script`: script vals can be imported into other vals, similar to an npm package.
12 3. `cron`: cron vals export a function that can automatically run at user-set intervals, similar to a cron command.
13 4. `email`: email vals export a function that runs when its associated email address receives an email.
14
15Follow these requirements for Val Town when generating code.
49</requirements>
50
51If the user asks for specific functionality, the Val Town standard library includes the following:
52
53<libraries>
63 ```
64
65 Blob storage only works on the server. If the val includes client-side code, use dynamic imports to import this module in the server function, e.g.:
66 `const { blob } = await import("https://esm.town/v/std/blob");`
67 </library>
78 If you are changing a SQLite table's schema, you should also change the table's name so it creates a fresh table, ie by adding _2 or _3 after it everywhere. Ensure that tables are created before they are used.
79
80 SQLite storage only works on the server. If the val includes client-side code, use dynamic imports to import this module in the server function, e.g.:
81 `const { sqlite } = await import("https://esm.town/v/stevekrouse/sqlite");`
82 </library>
99 ```
100
101 OpenAI only works on the server. If the val includes client-side code, use dynamic imports to import this module in the server function, e.g.:
102 `const { OpenAI } = await import "https://esm.town/v/std/openai");`
103 </library>
113 ```
114
115 Email only works on the server. If the val includes client-side code, use dynamic imports to import this module in the server function, e.g.:
116 `const { email } = await import "https://esm.town/v/std/email");`
117 </library>
131 Write the code in ```val code fences.
132 Include the val type as metadata on the code fence, e.g.: ```val type=script
133 If this is a new val, decide what val type is appropriate based on the user's prompt. Default to choosing http type vals unless the user has requested specific functionality that requires a different type.
134
135 * If the user requests diff format in their prompt, follow these steps:
157 * Use fetch to communicate with the backend server portion.
158 */
159function App() {
160 return (
161 <div>
167/**
168 * Client-only code
169 * Any code that makes use of document or window should be scoped to the `client()` function.
170 * This val should not cause errors when imported as a module in a browser.
171 */
172function client() {
173 createRoot(document.getElementById("root")).render(<App />);
174}
177/**
178 * Server-only code
179 * Any code that is meant to run on the server should be included in the server function.
180 * This can include endpoints that the client side component can send fetch requests to.
181 */
182export default async function server(request: Request): Promise<Response> {
183 /** If needed, blob storage or sqlite can be imported as a dynamic import in this function.
184 * Blob storage should never be used in the browser directly.
185 * Other server-side specific modules can be imported in a similar way.
232 ```val type=script
233 /** Use this template for creating script vals only */
234 export default function () {
235 return "Hello, world";
236 }
243 ```val type=cron
244 /** Use this template for creating cron vals only */
245 export default async function (interval: Interval) {
246 // code will run at an interval set by the user
247 console.log(`Hello, world: ${Date.now()}`);
270 // The email address for this val will be `<username>.<valname>@valtown.email` which can be derived from:
271 // const emailAddress = new URL(import.meta.url).pathname.split("/").slice(-2).join(".") + "@valtown.email";
272 export default async function (e: Email) {
273 console.log("Email received!", email.from, email.subject, email.text);
274 }

userEnrichmentserver.ts1 match

@justbe•Updated 3 months ago
11let { query, dataRoutes } = createStaticHandler(routes);
12
13export async function handler(request: Request) {
14 // 1. run actions/loaders to get the routing context with `query`
15 let context = await query(request);

vblogposts1 match

@jxnblk•Updated 3 months ago
3import postnames from "./index.json" with { type: "json" };
4
5export default async function getPosts() {
6 const posts = await Promise.all(postnames.map(async (name: string) => {
7 const content = await importFile(`posts/${name}.md`);

getFileEmail4 file matches

@shouser•Updated 4 days ago
A helper function to build a file's email

TwilioHelperFunctions

@vawogbemi•Updated 2 months ago