1# luxon
2
3[Luxon](https://moment.github.io/luxon/#/?id=luxon) is, like [date-fns](https://www.val.town/v/tmcw.datefnsExample), a good option for formatting, parsing, and manipulating dates. It's more of a direct successor to [moment](https://www.val.town/v/tmcw.momentExample) and has a similar method-chain-oriented API rather than function-call oriented API like date-fns.
4
5Migrated from folder: Modules/luxonExample
1# ramda
2
3[ramda](https://ramdajs.com/) is a module like [lodash](https://www.val.town/v/tmcw.lodashExample) or [underscore](https://www.val.town/v/tmcw.underscoreExample) but with a much heavier emphasis on functional programming. It lets you do the same kind of things but in a much 🌶️ spicier, 💪 more macho, 🤔 sometimes confusing style. I was really into this module in my late 20s.
4
5Migrated from folder: Modules/ramdaExample
1# underscore
2
3[underscore](https://underscorejs.org/) is a module for functional programming and other utilities in JavaScript. It inspired [lodash](https://www.val.town/v/tmcw.lodashExample), which is what most people use now, because lodash is both faster, and provides an ESM version which is convenient to use in Val Town.
4
5Note that while we can import from `lodash-es` and use its named exports, `underscore` only provides a default export, so that's why we have the code `{ default: _ }` below.
1# lodash
2
3[Lodash](https://lodash.com/) is the most popular npm module. It provides helpers for functional programming, common algorithms, and a lot more. Before JavaScript had built-in methods for [Array.map](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map), lodash (and [underscore](https://underscorejs.org/) before it) provided those methods.
4
5Migrated from folder: Modules/lodashExample
1# Receive an email to a val
2
3Every function val can be send an email: `username.valname@valtown.email`
4
5This val's email address is: `stevekrouse.testEmail@valtown.email`
5This example pulls from this gist: [example.js](https://gist.github.com/stevekrouse/c045b716c68790fad5f556e86fd46f3c)
6
7Which has this code: `export const hi = function() { return "Hi Nico!" }`
8
9
1# Figma Frames Only
2
3Function that accepts a Figma file JSON and returns only its' frames.
4
5Only tested with a Figma file that has one (1) CANVAS only. A CANVAS is a Figma File Page.
1# Nano Id
2
3## Function Usage
4
5```
1# OpenAI ChatGPT helper function
2
3This val uses your OpenAI token if you have one, and the @std/openai if not, so it provides limited OpenAI usage for free.
1# Dev Null
2
3A JS function and API inspired by `/dev/null` that will throw away whatever you send it and return `null`.
4
5## Function usage
6
7```
15## Why?
16
17Honestly I don't know why you'd use this function. I just made it as a joke to link to it from [@stevekrouse.dm](https://www.val.town/v/stevekrouse.dm). I guess you could also use it a joke to send data you want to call attention to the fact that you very much don't care about it, ie I **really** don't care about the price of bitcoin:
18
19```
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": "*",