1import { rateLimit } from "https://esm.town/v/stevekrouse/rateLimit";
2
3export function ratedLimitedFuncEx() {
4 if (!rateLimit("ratedLimitedFuncEx", 10))
5 return "Function exceeded rate limit";
6 return "Not yet rate limited!";
7}
1export function lowercaseKeys(object) {
2 return Object.fromEntries(
3 Object.entries(object).map(([k, v]) => [k.toLowerCase(), v]),
1import { parseSendGridEmail } from "https://esm.town/v/stevekrouse/parseSendGridEmail";
2
3export function parseSendGridEmails(input) {
4 if (!input) {
5 return undefined;
3from https://developer.chrome.com/blog/how-to-convert-arraybuffer-to-and-from-string/
4*/
5export function ab2str(buf) {
6 return String.fromCharCode.apply(null, new Uint8Array(buf));
7}
1export function myApi(name) {
2 return "hi " + name;
3}
1export function myApi(name) {
2 return "hi " + name;
3}
1export async function getAllVideosInYoutubePlaylist(playlistId, apiKey) {
2 const { default: axios } = await import("npm:axios");
3 if (!playlistId) {
1export function myApi(name) {
2 return "hi " + name;
3}
1export function myApi(name) {
2 return "hi " + name;
3}
1export function myApi(name) {
2 return "hi " + name;
3}
A helper function to build a file's email
Simple functional CSS library for Val Town
LangChain (https://langchain.com) Ambassador, KubeSphere (https://kubesphere.io) Ambassador, CNCF OpenFunction (https://openfunction.dev) TOC Member.
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": "*",