function packageMemberMaps
packageMemberMaps(rows: readonly GroupListing[]): { prices: Map<number, number>; quantities: Map<number, number>; }

A package group's member rows projected into the two maps every consumer needs (the booking flow, the webhook revalidation, the bookability gate, and the test harness): prices keeps only members with a real override — a positive price OR an explicit free 0, dropping a null "no override" — while quantities covers every member (default 1). Owning both here keeps the "what counts as an override" rule in one place; callers destructure what they use.

Parameters

rows: readonly GroupListing[]

Return Type

{ prices: Map<number, number>; quantities: Map<number, number>; }

Usage

import { packageMemberMaps } from "docs/database.ts";