4const thisURL = parseProject(import.meta.url).links.self.latest;
5
6export async function notify(message: string) {
7 await email({ subject: message, text: `Email sent from ${thisURL}` });
8}
7);
8
9export async function uptimeCheck(url: string) {
10 let reason: string, status: number, end: number;
11 let ok = true;
3import { newWorker } from "./worker";
4
5function encodeSSE(data: any) {
6 return new TextEncoder().encode(`data: ${JSON.stringify(data)}\r\n\r\n`);
7}
9const thisURL = parseProject(import.meta.url).links.self.project;
10
11function StatusRow({ rows }) {
12 return (
13 <div className="w-full flex flex-col space-y-2">
31}
32
33function StatusSection({ url, rows }) {
34 const sectionRows = rows.filter(row => row[0] === url);
35 const percentUp = Math.round((sectionRows.filter(row => row[1]).length / sectionRows.length) * 100);
47}
48
49export default async function(req: Request): Promise<Response> {
50 const { rows } = await sqlite.execute(
51 "select url, ok, duration, timestamp from uptime order by timestamp desc limit 200",
1/** @jsxImportSource https://esm.sh/react@18.2.0 */
2export function SparklineSVG({ strokeWidth = 2, data = [], fill = "none", stroke = "black" }) {
3 const padding = 2;
4 const xMargin = 25;
7);
8
9export async function uptimeCheck(url: string) {
10 let reason: string, status: number, end: number;
11 let ok = true;
1export default async function(req: Request): Promise<Response> {
2 return new Response(
3 `
10
11const workerCode = async (code: string, env: Record<string, string>) => {
12 function createDenoEnvStub(
13 input: Record<string, string>,
14 ): typeof Deno.env {
43};
44
45export function newWorker({ code, env }: { code: string; env: Record<string, string> }) {
46 const workerCodeString = `
47${imports}
10// });
11
12export function sendGuestProfileLink() {
13 resend.emails.send({
14 from: "info@sideprojectsaturday",
8 * Allows evaluating math expressions
9 */
10function App() {
11 const [expression, setExpression] = useState("");
12 const [result, setResult] = useState<number | null>(null);
134 * Renders the React application
135 */
136function client() {
137 createRoot(document.getElementById("root")).render(<App />);
138}
142 * Server-side handler for evaluating math expressions using math.js
143 */
144export default async function server(request: Request): Promise<Response> {
145 const url = new URL(request.url);
146 const expression = url.searchParams.get("expr") || "";
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.