todo.filter
The todos a list view shows: all, active or completed, optionally one tag, and a search box, in input order.
filter_todos in Rust
1.0.0
py rs ts
17 tests
todo.list → addTodo
The to-do list reducer: add, edit, complete, remove, clear and reorder todos, each returning a new list.
add_todo in Rust, one function of this group
1.1.0
py rs ts
102 tests
todo.summary
Counts for a todo list's header or footer: total, active, done, overdue, due today, percent done and "3 items left".
summarise_todos in Rust
1.0.0
py rs ts
13 tests
todo.item → validateTodo
The to-do item type (Todo, TodoDraft, Recurrence) and its validators, with a message per field.
validate_todo in Rust, one function of this group
1.0.0
py rs ts
51 tests
todo.sort
Sort todos by manual order, due date, priority, creation time or title, stably, with sensible tie-breakers.
sort_todos in Rust
1.0.0
py rs ts
20 tests
todo.merge
Merge imported todos into a list by id: an imported todo replaces the one with its id, new ids are appended.
merge_todos in Rust
1.0.0
py rs ts
11 tests
todo.export-csv
Write todos as a CSV file (RFC 4180) with one column per field, for backups, spreadsheets and other apps.
export_csv in Rust
1.0.0
py rs ts
14 tests
todo.parse-quick-add
Turn one typed line like "Pay rent tomorrow !high #home every month" into a todo draft.
parse_quick_add in Rust
1.0.0
py rs ts
44 tests
todo.group-by-due
Split todos into Overdue, Today, Tomorrow, This week, Later, No date and Done sections, in that order.
A group of 2: group_by_due, group_by_due_with_order
1.1.0
py rs ts
26 tests
todo.next-occurrence
The next due date of a repeating todo once it is done: daily, weekdays, weekly, monthly or yearly, month-end safe.
next_occurrence in Rust
1.0.0
py rs ts
24 tests
todo.import-csv → validateTodoCsv
Read todos from a CSV file (RFC 4180) as todo.export-csv writes it, checking every row, with row-numbered errors.
validate_todo_csv in Rust, one function of this group
1.1.0
py rs ts
59 tests
todo.due-label
The short English label shown next to a todo: "2 days overdue", "Due today", "Due tomorrow", "Due Fri 2 Oct".
due_label in Rust
1.0.0
py rs ts
21 tests
todo.tag-counts
How many todos carry each tag, for a tag sidebar: most used first, open todos only unless asked.
tag_counts in Rust
1.0.0
py rs ts
10 tests
todo.due-status
Where a todo stands against its due date today: done, overdue, today, tomorrow, this week, later or no date.
due_status in Rust
1.0.0
py rs ts
19 tests
todo.normalise-tags
Clean up tags as typed: trim, drop the #, lower-case slug form, drop empties and duplicates, keep the order.
normalise_tags in Rust
1.0.0
py rs ts
13 tests
todo.parse-repeat
Read a Repeat box, "every 2 weeks" or "every monday on 2026-10-05", as a todo's recurrence, or null.
parse_repeat in Rust
1.0.0
py rs ts
22 tests
todo.reschedule-recurrence
When a repeating todo's due date is moved by hand, move its series with it: the new date becomes the anchor.
reschedule_recurrence in Rust
1.0.0
py rs ts
14 tests
todo.recurrence-label
English text for a repeating todo's chip: "Every weekday", "Every 2 weeks on Monday", "Every month on the 31st".
recurrence_label in Rust
1.0.0
py rs ts
30 tests
todo.parse-tags
Read a tags box as typed, "#Home, work errands", into normalised tags: split on spaces and commas.
parse_tags in Rust
1.0.0
py rs ts
12 tests
todo.parse-date-phrase
Read a typed due date like "tomorrow", "next friday", "in 2 weeks" or "2026-10-01" as a date, relative to today.
parse_date_phrase in Rust
1.0.0
py rs ts
53 tests
charity.gasds
Gift Aid Small Donations Scheme top-up for a tax year: the £8,000 limit, the matching rule and community buildings.
gasds in Rust
1.0.2
py rs ts
21 tests
education.fee-instalments
Tuition fee instalment schedule from a total, shares and due dates, exact to the penny.
fee_instalments in Rust
1.0.0
py rs ts
20 tests
collections.chunk
Split a list into consecutive batches of at most n items, in order; the last batch may be short.
chunk in Rust
1.0.0
py rs ts
11 tests
time.duration
Parse durations written as 1h30m, 90m or 01:30, add them up in whole minutes, and format the total.
duration in Rust
1.0.0
py rs ts
23 tests
charity.donation-matching
Employer match on a donation: a ratio in basis points, limited by a per-donor cap and a programme budget.
donation_match in Rust
1.0.0
py rs ts
17 tests
manufacturing.bom-explode
Explode a multi-level bill of materials into exact total quantities per component, with scrap and cycle checks.
explode_bom in Rust
1.0.0
py rs ts
17 tests
inventory.cycle-count-schedule
Cycle count schedule: spread each item's counts evenly over the working days of a period, by ABC class frequency.
cycle_count_schedule in Rust
1.0.0
py rs ts
17 tests
money.split-even
Split an amount into n near-equal parts that add back up to exactly the whole.
split_even in Rust
1.0.0
py rs ts
13 tests
manufacturing.oee
Overall equipment effectiveness (availability x performance x quality) in basis points, from times and counts.
overall_equipment_effectiveness in Rust
1.0.0
py rs ts
18 tests
logistics.demurrage
Demurrage or detention charge for a container: free days, then a tiered daily rate from the carrier's tariff.
demurrage in Rust
1.0.0
py rs ts
22 tests
invest.fee-drag Unreviewed
What an annual charge costs an investment over the years: value with and without the fee, year by year, in minor units.
fee_drag in Rust
1.0.1
py rs ts
20 tests
logistics.container-fit
How many identical cartons fit in a 20ft, 40ft or 40ft high-cube container or a 13.6 m trailer, by space and by weight.
container_fit in Rust
1.0.0
py rs ts
16 tests
inventory.abc-classification
ABC classes by annual consumption value (Pareto), with configurable cut-offs such as 80/15/5 and deterministic ties.
abc_classification in Rust
1.0.0
py rs ts
17 tests
construction.materials-area
Packs of tiles, paint, plasterboard or flooring to cover an area, with waste and coats, rounded up to whole packs.
materials_area in Rust
1.0.0
py rs ts
18 tests
education.cpd-hours
CPD logged against a requirement for a rolling or fixed period: minutes counted, shortfall and days left.
cpd_hours in Rust
1.0.0
py rs ts
20 tests
telecoms.data-allowance
Mobile data allowance used and remaining, and the overage charge in whole blocks with an optional spend cap.
data_allowance in Rust
1.0.0
py rs ts
18 tests
react.form.checkbox-group React ^19 · TypeScript only
A question answered by ticking any of several checkboxes, with item hints and an exclusive "None" (GOV.UK checkboxes).
Not available in Rust
1.0.1
ts
24 tests
property.completion-statement Unreviewed
A buyer's completion statement: price less deposit, ground rent and service charge apportioned to completion, plus fees.
completion_statement in Rust
1.0.1
py rs ts
15 tests
fleet.cost-per-mile
Whole-life cost per mile of a vehicle, in tenths of a penny, from depreciation, fuel, maintenance, insurance and tax.
cost_per_mile in Rust
1.0.0
py rs ts
13 tests
units.convert
Convert length, mass, area, volume, temperature and energy between units, exactly, as decimal text.
convert_units in Rust
1.0.0
py rs ts
31 tests
hospitality.tronc-allocation
Share a tips pool (tronc) between staff by hours worked, points, or hours times points, exactly to the penny.
tronc_allocation in Rust
1.0.0
py rs ts
19 tests
money.add
Add, subtract and negate monetary amounts, refusing to mix currencies.
add_money in Rust
1.0.1
py rs ts
12 tests
construction.concrete-volume
Concrete for slabs, strip footings, pads and round columns: volume to the litre and an order rounded up to 0.1 m³.
concrete_volume in Rust
1.0.0
py rs ts
19 tests
money.allocate
Split an amount across ratios without losing or inventing a single minor unit.
allocate in Rust
1.0.1
py rs ts
17 tests
energy.tariff-time-of-use
Cost half-hourly consumption against time-of-use rates: Economy 7 windows or Agile-style half-hourly prices.
time_of_use_cost in Rust
1.0.1
py rs ts
24 tests
property.service-charge-apportion Unreviewed
Apportion a service charge across units by lease fraction, floor area or fixed percentage, exact to the penny.
apportion_service_charge in Rust
1.0.1
py rs ts
19 tests