17};
18
19export async function reactiveStateBlob<T extends Record<string, unknown>>(
20 getDefault: PersistentStateGetDefault<T>,
21 opts?: {
49}
50
51export function persistentStateBlob<T extends Record<string, unknown>>(
52 opts: PersistentStateBlobOptions<T>,
53): PersistentState<T> {
65}
66
67export function persistentStateBlobReactive<T extends Record<string, unknown>>(
68 opts: PersistentStateBlobOptions<T>,
69): PersistentState<T> {
71}
72
73export function persistentStateBlobLazy<T extends Record<string, unknown>>(
74 opts: PersistentStateBlobOptions<T>,
75): PersistentState<T> {
77}
78
79async function normalizeValue<T>(value: PersistentStateGetDefault<T>, existing: unknown): Promise<T> {
80 if (value instanceof Function) {
81 return value(existing);
82 }
1export function inTheBackground<T>(doSomething: () => T): Promise<T> {
2 return new Promise(async (resolve, reject) => {
3 try {
3import { type ResultSet } from "npm:@libsql/client";
4
5export function createSqlite() {
6 const db = new DB();
7
8 function execute(statement: InStatement): Omit<ResultSet, "columnTypes" | "lastInsertRowid"> {
9 const stmt = typeof statement === "string"
10 ? {
1import { workerify } from "https://esm.town/v/postpostscript/workerify";
2
3export function createWorker() {
4 return workerify(() => import("https://esm.town/v/postpostscript/workerifyExampleUnsafeLibrary"));
5}
1// SPDX-License-Identifier: Apache-2.0
2
3export async function workerify<T extends () => unknown>(getModule: T, opts?: WorkerOptions) {
4 let workerReady: (value: unknown) => void;
5 const promises: {
41 await new Promise((resolve) => (workerReady = resolve));
42
43 function message(message: { code: string; keys: string[]; args: unknown[] }) {
44 return new Promise((resolve, reject) => {
45 const id = Math.random().toString().slice(2);
53 }
54
55 function wrap(keys: string[]): unknown {
56 return new Proxy(keys.length ? () => {} : {}, {
57 get(target, prop, receiver) {
15 (value) => console.log("state disposed", value),
16);
17// state disposed { x: 1, y: 2, [Symbol(Symbol.dispose)]: [Function (anonymous)] }
18```
19
1import { OpenAI } from "https://esm.town/v/std/openai";
2
3export async function cronprompt(prompt: string) {
4 const openai = new OpenAI();
5
6 const functionExpression = await openai.chat.completions.create({
7 messages: [
8 {
20 max_tokens: 30,
21 });
22 return functionExpression.choices[0].message.content;
23}
24
25export default async function(req: Request): Promise<Response> {
26 const query = new URL(req.url).searchParams;
27 const prompt = query.get("prompt");
8const commentRegex = /\/\*\*[\s\S]*?\*\//;
9
10function extractJSDocfromText(text: string) {
11 const comments = text.match(commentRegex);
12 if (!comments) {
18}
19
20async function extractJSDocfromURL(url: string) {
21 const text = await fetchText(url);
22 return extractJSDocfromText(text);
23}
24
25async function extractJSDocfromVal(author: string, name: string, version: string = "latest") {
26 if (version === "latest") {
27 return extractJSDocfromURL(`https://esm.town/v/${author}/${name}`);
26};
27
28export function Editor() {
29 return (
30 <html>
7// import "https://esm.sh/tldraw/tldraw.css";
8
9export function App() {
10 return (
11 <>
A helper function to build a file's email
Simple functional CSS library for Val Town
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": "*",
LangChain (https://langchain.com) Ambassador, KubeSphere (https://kubesphere.io) Ambassador, CNCF OpenFunction (https://openfunction.dev) TOC Member.