Readme

Pomdtr's Ideas

Vals

  • Github-Like Calendar using the db

Vt Cli

  • Add ability to import a csv, or a table from a local db to val town sqlite
  • download / upload blobs
  • Push clone/pull/push vals (allow to edit them locally)
  • rename vals
  • publish / unpublish vals
  • Add ability to run sql queries

VS Code Extension

  • Replace pinned section by a folder defined as a val
import { api } from "https://esm.town/v/pomdtr/api";

export const dynamicFolder = async () => {
  const { data: posts } = await api(`/v1/search/vals?q=${encodeURIComponent("@post")}`);
  return {
    folder: "Blog",
    items: [
      {
        folder: "Posts",
        items: posts.sort((a, b) => a.createdAt > b.createAt).map(post => `${post.author.username}.${post.name}`),
      },
      "@pomdtr/blog",
    ],
  };
};
  • Preview and edit blobs from VS Code (ex: excalidraw schema)
  • Save and run sql queries ?
  • Language Server
    • go to definition to switch between vals

Sunbeam

  • Leverage the dynamic folder val of the vscode extension

Notification Service

  • Create a PWA hosted on val.town to send notifications on the user device

Sqlite Admin UI

Form Builder for vals

Create a val that:

  • statically analyze val code to find single/default import
  • extract param types
  • use it to generate a form, availaible on the val http endpoint
  • dynamically import the val
  • return val output as JSON, or html if a string is returned
1
2
3
4
5
6
7
8
9
10
11
12
// @vtIdeas
// @title Pomdtr's Ideas
import { ideaList } from "https://esm.town/v/nbbaier/ideaList";
import { extractValInfo } from "https://esm.town/v/pomdtr/extractValInfo";
import { html } from "https://esm.town/v/stevekrouse/html?v=5";
export async function examplePost(req: Request) {
const { author, name } = extractValInfo(import.meta.url);
return html(await ideaList(author, name));
}
👆 This is a val. Vals are TypeScript snippets of code, written in the browser and run on our servers. Create scheduled functions, email yourself, and persist small pieces of data — all from the browser.