@shipstatic/ship 2.5.0-beta.1 → 2.6.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5,7 +5,7 @@ Their copyright notices travel with that copy, and are reproduced here in
5
5
  full. This file is GENERATED from the build's own metafile — edit the
6
6
  bundle, not this list.
7
7
 
8
- ## @shipstatic/types 2.14.0-beta.1
8
+ ## @shipstatic/types 2.15.0-beta.1
9
9
 
10
10
  License: MIT
11
11
 
package/dist/browser.d.ts CHANGED
@@ -1771,13 +1771,20 @@ interface Plan {
1771
1771
  /** Display name, as the marketing site and the console should print it. */
1772
1772
  readonly name: string;
1773
1773
  /**
1774
- * What it costs. A union rather than a nullable number, so "free" and
1775
- * "talk to us" are two different answers instead of two readings of the
1776
- * same `null`. Amounts are integer CENTS in USD, as the API's plan table
1777
- * states them and as Stripe's Prices are provisioned from it — the wire
1778
- * never carries a formatted price, because formatting is the reader's job.
1774
+ * What it costs, per interval integer CENTS in USD, as the API's plan
1775
+ * table states them and as Stripe's Prices are provisioned from it. The wire
1776
+ * never carries a formatted price: formatting is the reader's job.
1777
+ *
1778
+ * **A free plan costs `{ month: 0, year: 0 }`, not a sentinel.** Free IS
1779
+ * zero, so it is a number like any other and every reader formats it with
1780
+ * the same call; a `'free'` member bought one thing — a branch in each
1781
+ * consumer that mapped it straight back to `$0`.
1782
+ *
1783
+ * `'contact'` stays, and the asymmetry is the point: "not sold at a list
1784
+ * price" is genuinely a different KIND of answer, not a different number, so
1785
+ * it is a different shape. Two shapes, and each earns its own.
1779
1786
  */
1780
- readonly price: 'free' | 'contact' | {
1787
+ readonly price: 'contact' | {
1781
1788
  readonly month: number;
1782
1789
  readonly year: number;
1783
1790
  };