Forms

You write these in a signature or after extends; the scan reads them and wires what they say. See What is Fougere.

Repository

class · @fougere/core

The rows of an entity; extended by a handler, it serves list, findById, create, update, delete. Ex: Repository<Account, Ledger> owns both tables and forwards nothing.

Facade

type · @fougere/core

The facade in front of a handler: it takes what the handler takes, and always answers a promise.

Emit

type · @fougere/core

What an emitter injects; partial, because announcing fills the fact's created() fields.

Fact

type · @fougere/core

What a subscriber accepts; what it answers reaches only an announcer that waits.

Pipe

type · @fougere/core

The same fact before it is final: an op taking one answers what every subscriber then receives.

Collect

class · @fougere/core

Collect<User>: collect fills a parameter of that type, missing refuses when a required one found nothing.

Present

class · @fougere/core

Present<Order>: each method is a computed field, handed the page and answering one value per row.

Together

interface · @fougere/core

Together<[Account, Ledger]> — writes that stand or fall as one.

State

class · @fougere/core

The caller's state, read and written by the names state: declares; signed before it leaves. Ex: addToCart(id: Product['id'], state: State).

Mirror

class · @fougere/core

A repository that fills itself from a source it cannot query: its author writes pull, refresh(since) writes every page.

Built with Fougere and Nuxt, hosted on GitHub Pages.