collections.chunk
Split a list into consecutive batches of at most n items, in order; the last batch may be short.
chunk in TypeScript
1.0.0
py rs ts
11 tests
collections.diff
Compare two lists of records by key: which were added, which removed, and which changed and in what fields.
diffByKey in TypeScript
1.0.0
py rs ts
18 tests
collections.paginate
Slice a list into a 1-based page and report the totals an API response needs.
paginate in TypeScript
1.0.0
py rs ts
18 tests
collections.sort-by
Stably sort records by one key, ascending or descending, with a total order across mixed types.
sortBy in TypeScript
1.0.0
py rs ts
21 tests
collections.group-by-key
Group records by the value at one key, preserving input order inside each group.
groupByKey in TypeScript
1.0.0
py rs ts
18 tests
collections.search-text
Filter records by a case-insensitive substring match across named fields, in input order.
searchText in TypeScript
1.0.0
py rs ts
20 tests
collections.dedupe-by-key
Remove records that share a key value, keeping the first or the last of each, in input order.
dedupeByKey in TypeScript
1.0.0
py rs ts
14 tests
charity.regular-giving-schedule
Collection dates for a regular gift: monthly, quarterly or annual on a day, clamped to short months, after a lead time.
regularGivingSchedule in TypeScript
1.0.0
py rs ts
19 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 TypeScript
1.0.2
py rs ts
21 tests
subscriptions.dunning-schedule
Retry dates for a failed subscription payment from a retry policy, in calendar or business days.
dunningSchedule in TypeScript
1.0.0
py rs ts
14 tests
professional.utilisation
Billable utilisation and billing, collection and overall realisation rates, in basis points.
utilisationRates in TypeScript
1.0.0
py rs ts
13 tests
education.fee-instalments
Tuition fee instalment schedule from a total, shares and due dates, exact to the penny.
feeInstalments in TypeScript
1.0.0
py rs ts
20 tests
todo.sort
Sort todos by manual order, due date, priority, creation time or title, stably, with sensible tie-breakers.
sortTodos in TypeScript
1.0.0
py rs ts
20 tests
logistics.freight-rate
Freight charge from a carrier's dated weight-break tariff for a zone, with the fuel surcharge in force on the ship date.
freightRate in TypeScript
1.0.1
py rs ts
26 tests
agri.milk-price
Milk price per litre and payment from a contract's base price, butterfat/protein adjustments and bonuses.
milkPrice in TypeScript
1.0.0
py rs ts
18 tests
logistics.incoterm-responsibility
Who pays which costs and where risk passes under an Incoterms 2020 rule, from EXW to DDP, FOB and CIF.
incotermResponsibility in TypeScript
1.0.1
py rs ts
15 tests
todo.tag-counts
How many todos carry each tag, for a tag sidebar: most used first, open todos only unless asked.
tagCounts in TypeScript
1.0.0
py rs ts
10 tests
logistics.demurrage
Demurrage or detention charge for a container: free days, then a tiered daily rate from the carrier's tariff.
demurrage in TypeScript
1.0.0
py rs ts
22 tests
education.student-loan-repayment
A graduate's student or postgraduate loan repayment for a tax year, as Self Assessment works it out.
studentLoanRepayment in TypeScript
1.0.1
py rs ts
21 tests
hospitality.gross-profit-menu
Menu gross profit (GP%) on the VAT-exclusive price, and the menu price that reaches a target GP.
A group of 2: menuGrossProfit, menuPriceForGp
1.0.0
py rs ts
20 tests
hospitality.tourist-tax
Visitor levy (tourist tax) on an overnight stay: Edinburgh's 5%, Cardiff's per person per night, or a caller's own rule.
touristTax in TypeScript
1.0.1
py rs ts
30 tests
logistics.delivery-date
Estimated dispatch and delivery dates from order time, dispatch cut-off, service days, weekends and UK bank holidays.
deliveryDate in TypeScript
1.0.0
py rs ts
26 tests
monitor.alert-mute
Whether to hold an alert back: its component is under maintenance, or a related alert on it is already firing.
muteAlert in TypeScript
1.0.0
py rs ts
19 tests
todo.filter
The todos a list view shows: all, active or completed, optionally one tag, and a search box, in input order.
filterTodos in TypeScript
1.0.0
py rs ts
17 tests
lending.amortisation-schedule Unreviewed
Repayment schedule for a level-payment loan: interest, principal and balance per period, ending at exactly zero.
amortisationSchedule in TypeScript
1.0.1
py rs ts
13 tests
retail.sales-tax-us Unreviewed
US sales tax on a sale: the state's base rate from dated data plus a local rate the caller supplies.
salesTaxUs in TypeScript
1.1.1
py rs ts
22 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.
cycleCountSchedule in TypeScript
1.0.0
py rs ts
17 tests
inventory.abc-classification
ABC classes by annual consumption value (Pareto), with configurable cut-offs such as 80/15/5 and deterministic ties.
abcClassification in TypeScript
1.0.0
py rs ts
17 tests
health.appointment-slots Unreviewed
Bookable appointment slots from clinic sessions, a slot length, breaks and existing bookings.
appointmentSlots in TypeScript
1.0.1
py rs ts
20 tests
construction.retention
Retention held and released on a construction valuation: full rate, half at practical completion, none at the end.
retention in TypeScript
1.0.0
py rs ts
17 tests
education.cpd-hours
CPD logged against a requirement for a rolling or fixed period: minutes counted, shortfall and days left.
cpdHours in TypeScript
1.0.0
py rs ts
20 tests
charity.reclaim-batch
Gift Aid claim totals for a period from donation records: donor lines, aggregated small gifts, tax due.
giftAidClaimBatch in TypeScript
1.0.1
py rs ts
12 tests
insurance.claim-reserve Unreviewed
Claim reserve history: paid, recovered, outstanding and incurred after each transaction, and the movement.
claimReserveHistory in TypeScript
1.0.1
py rs ts
14 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.
containerFit in TypeScript
1.0.0
py rs ts
16 tests
payroll.pension-auto-enrolment Unreviewed
Workplace pension contributions for one pay period: qualifying earnings band, employee and employer shares, tax relief.
pensionContributions in TypeScript
1.0.2
py rs ts
22 tests
construction.materials-area
Packs of tiles, paint, plasterboard or flooring to cover an area, with waste and coats, rounded up to whole packs.
materialsArea in TypeScript
1.0.0
py rs ts
18 tests
manufacturing.capacity
Capacity against routed load per work centre over a period, with efficiency, utilisation and overload flags.
workCentreLoad in TypeScript
1.0.0
py rs ts
14 tests
hospitality.cancellation-charge
Cancellation fee for a booking from a policy of notice bands and the days of notice given.
cancellationCharge in TypeScript
1.0.0
py rs ts
22 tests
construction.payment-notice-dates
Construction Act default dates: payment due, payment notice, final date for payment and pay-less notice.
paymentNoticeDates in TypeScript
1.0.2
py rs ts
21 tests
subscriptions.mrr-arr
Monthly and annual recurring revenue from a list of subscriptions, normalising intervals and leaving out trials.
mrrArr in TypeScript
1.1.0
py rs ts
19 tests
inventory.stock-turnover
Stock turnover ratio, days inventory outstanding and days of cover for a period, computed exactly.
stockTurnover in TypeScript
1.0.0
py rs ts
13 tests
todo.export-csv
Write todos as a CSV file (RFC 4180) with one column per field, for backups, spreadsheets and other apps.
exportCsv in TypeScript
1.0.0
py rs ts
14 tests
construction.valuation
Interim valuation: gross value to date, retention, previous payments, amount due, VAT or reverse charge, and CIS.
interimValuation in TypeScript
1.0.0
py rs ts
16 tests
construction.cis-deduction
Construction Industry Scheme deduction (0, 20 or 30%) on the labour part of a subcontractor payment.
cisDeduction in TypeScript
1.0.2
py rs ts
24 tests
education.timetable-clash
Find timetable clashes: overlapping sessions that share a room, a teacher or a student group, in a fixed order.
timetableClashes in TypeScript
1.0.0
py rs ts
20 tests
retail.loyalty-points
Loyalty points for a purchase: redeem in blocks, earn on what is paid, with tier multipliers.
loyaltyPoints in TypeScript
1.0.0
py rs ts
19 tests
logistics.sscc
Build an 18-digit SSCC pallet label number from extension digit, GS1 company prefix and serial, with its check digit.
buildSscc in TypeScript
1.1.0
py rs ts
16 tests
inventory.expiry-fefo
First-expiry-first-out pick list for a quantity across batches, skipping expired and short-dated stock.
fefoPick in TypeScript
1.0.0
py rs ts
15 tests
inventory.pallet-fit
How many cartons fit per layer and per pallet (UK 1200x1000 or EUR 1200x800), within a height and weight limit.
palletFit in TypeScript
1.0.0
py rs ts
17 tests
finance.accruals-prepayments
Split an invoice across accounting periods by days of service, for accruals, prepayments and deferred income.
allocateToPeriods in TypeScript
1.0.0
py rs ts
17 tests
subscriptions.ltv-cac
Customer lifetime value, LTV to CAC ratio and CAC payback months from ARPA, gross margin, churn and CAC.
ltvCac in TypeScript
1.0.0
py rs ts
14 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³.
concreteVolume in TypeScript
1.0.0
py rs ts
19 tests
construction.timber-length
Cutting list: which stock lengths to buy and which pieces to cut from each, allowing for saw kerf.
timberCuttingList in TypeScript
1.0.0
py rs ts
16 tests
finance.aged-debt
Aged debt report: open invoices bucketed as current, 1-30, 31-60, 61-90 and 90+ days overdue as at a date.
agedDebt in TypeScript
1.0.0
py rs ts
13 tests
property.completion-statement Unreviewed
A buyer's completion statement: price less deposit, ground rent and service charge apportioned to completion, plus fees.
completionStatement in TypeScript
1.0.1
py rs ts
15 tests
fleet.vehicle-depreciation
A vehicle's current value from its cost, age and mileage, on retention curves the caller supplies, exactly.
vehicleDepreciation in TypeScript
1.0.0
py rs ts
20 tests
dates.recurrence
The next n dates of a repeating rule: monthly on a day, last weekday of the month, every k days or weeks, yearly.
recurrence in TypeScript
1.0.0
py rs ts
25 tests