@gojinko/api-client 2.24.0 → 2.26.0

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.
package/README.md CHANGED
@@ -323,6 +323,41 @@ import type {
323
323
  The generated `paths` and `components` from the OpenAPI spec are also exported
324
324
  for advanced use.
325
325
 
326
+ ## Reading money
327
+
328
+ Money objects come in two shapes that share field names, and `decimal_places`
329
+ is what tells them apart ([docs.gojinko.com/concepts/money](https://docs.gojinko.com/concepts/money)).
330
+ `readMoney` applies that rule so you don't divide by 100 on the wrong shape:
331
+
332
+ ```typescript
333
+ import { readMoney, tryReadMoney, MoneyShapeError } from '@gojinko/api-client';
334
+
335
+ const { itineraries } = await client.flightCalendar({
336
+ origins: ['CDG'],
337
+ destinations: ['JFK'],
338
+ departure_date_ranges: [{ start: '2026-10-01', end: '2026-10-31' }],
339
+ trip_type: 'oneway',
340
+ });
341
+
342
+ const total = readMoney(itineraries[0].total);
343
+ // { currency: 'USD', scale: 'minor', decimalPlaces: 2, minor: 33000,
344
+ // amount: 330, text: '330.00', display: 'USD 330.00' }
345
+
346
+ console.log(total.display ?? `${total.currency} ${total.text}`); // "USD 330.00"
347
+ ```
348
+
349
+ - **`decimal_places` present** → the figure is an integer in minor units:
350
+ `amount` is the figure / 10^`decimal_places`.
351
+ - **`decimal_places` absent** → an `amount` is already major units. A bare
352
+ `value` is read at the currency's ISO 4217 digits (JPY 0, KWD 3, most others
353
+ 2), never an assumed 2.
354
+ - **`amount` and `value` both present** → the non-zero one.
355
+ - `text` is exact decimal text built with integer arithmetic, not float
356
+ rounding. `display` is the server's own string, when the response carries one.
357
+ - An unexpected shape (no currency, a fractional minor figure, two figures that
358
+ disagree, …) throws `MoneyShapeError`. `tryReadMoney` returns `undefined`
359
+ instead.
360
+
326
361
  ## Raw Client
327
362
 
328
363
  The underlying openapi-fetch client is still accessible and is typed against the
package/dist/index.d.ts CHANGED
@@ -3,7 +3,8 @@ export { type JinkoTools } from './tools.js';
3
3
  export { resolveAuth, resolveBaseUrl, resolveEnvironment, readConfigFile, writeConfigFile, writeEnvAuth, setEnvironment, clearAuthConfig, ENV_BASE_URLS, CONFIG_DIR, CONFIG_FILE, DEFAULT_ENVIRONMENT, type AuthMethod, type Environment, type ResolvedAuth, type OAuthConfig, } from './auth.js';
4
4
  export { loadOrCreateCliSession, clearCliSession, extractUserIdFromJwt, getSessionFilePath, SESSION_TTL_MS } from './session.js';
5
5
  export { ApiError, AuthError, ValidationError, type ApiErrorDetail, type ApiErrorDetails, } from './errors.js';
6
+ export { readMoney, tryReadMoney, MoneyShapeError, type MoneyReading } from './money.js';
6
7
  export { requestDeviceAuthorization, pollForToken, refreshAccessToken, isTokenExpired, OAuthError, OAuthRefreshError, resolveExpiresAt, type OAuthTokens, type DeviceAuthorization, } from './oauth.js';
7
8
  export type { paths, components } from './types/generated.js';
8
- export type { Money, Amount, DateRange, Itinerary, FlightDiscoveryRequest, FlightFindRequest, FlightCalendarResponse, FindDestinationRequest, FlightDestinationSearchRequest, DestinationSuggestion, FindDestinationResponse, FlightSearchRequest, FlightSearchResponse, FlightOffer, Fare, FlightLeg, TimeRange, UnappliedFilter, PriceMonitoringRequest, PriceMonitoringResponse, HotelOccupancy, GroundSearchRequest, GroundSearchResponse, GroundConnection, GroundFare, GroundStation, GroundCarrier, GroundAmount, HotelSearchRequest, HotelSearchResponse, HotelDetailsRequest, HotelDetailsResponse, Traveler, TripRequest, TripResponse, PriceChange, BookRequest, BookResponse, CheckoutRequest, CheckoutResponse, GetTripResponse, TripStatusResponse, TripAncillariesResponse, AncillaryOffer, AncillaryRequest, AncillaryResponse, SelectAncillariesRequest, BookingGetRequest, BookingGetResponse, BookingLookupRequest, BookingLookupResponse, RefundCheckRequest, RefundCheckResponse, RefundCommitRequest, RefundCommitResponse, RefundStatusRequest, RefundStatusResponse, ExchangeShopRequest, ExchangeShopResponse, ExchangePriceRequest, ExchangePriceResponse, ExchangeCommitRequest, ExchangeCommitResponse, ExchangeStatusRequest, ExchangeStatusResponse, HotelCancelBookingRequest, HotelCancelBookingResponse, DemandQuery, Level, TravelerType, TripType, DestinationRow, MarketRow, AudienceRow, DestinationResponse, MarketResponse, AudienceResponse, DemandTrendQuery, Granularity, TrendPoint, SeriesSummary, TrendSeries, TrendResponse, } from './types/devplatform.js';
9
+ export type { Money, Amount, DateRange, Itinerary, FlightDiscoveryRequest, FlightFindRequest, FlightCalendarResponse, FindDestinationRequest, FlightDestinationSearchRequest, DestinationSuggestion, FindDestinationResponse, FlightSearchRequest, FlightSearchResponse, FlightOffer, Fare, FlightLeg, TimeRange, UnappliedFilter, PriceMonitoringRequest, PriceMonitoringResponse, HotelOccupancy, GroundSearchRequest, GroundSearchResponse, GroundConnection, GroundFare, GroundStation, GroundCarrier, GroundAmount, HotelSearchRequest, HotelSearchResponse, HotelDetailsRequest, HotelDetailsResponse, Traveler, TripRequest, TripResponse, PriceChange, BookRequest, BookResponse, CheckoutRequest, CheckoutResponse, GetTripResponse, TripStatusResponse, TripAncillariesResponse, AncillaryOffer, AncillaryRequest, AncillaryResponse, SelectAncillariesRequest, BookingGetRequest, BookingGetResponse, BookingCalendar, BookingCalendarFile, BookingLookupRequest, BookingLookupResponse, RefundCheckRequest, RefundCheckResponse, RefundCommitRequest, RefundCommitResponse, RefundStatusRequest, RefundStatusResponse, ExchangeShopRequest, ExchangeShopResponse, ExchangePriceRequest, ExchangePriceResponse, ExchangeCommitRequest, ExchangeCommitResponse, ExchangeStatusRequest, ExchangeStatusResponse, HotelCancelBookingRequest, HotelCancelBookingResponse, DemandQuery, Level, TravelerType, TripType, DestinationRow, MarketRow, AudienceRow, DestinationResponse, MarketResponse, AudienceResponse, DemandTrendQuery, Granularity, TrendPoint, SeriesSummary, TrendSeries, TrendResponse, } from './types/devplatform.js';
9
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,KAAK,aAAa,EAAE,KAAK,WAAW,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAC3G,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EACL,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,YAAY,EACZ,cAAc,EACd,eAAe,EACf,aAAa,EACb,UAAU,EACV,WAAW,EACX,mBAAmB,EACnB,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,WAAW,GACjB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACjI,OAAO,EACL,QAAQ,EACR,SAAS,EACT,eAAe,EACf,KAAK,cAAc,EACnB,KAAK,eAAe,GACrB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,0BAA0B,EAC1B,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,KAAK,WAAW,EAChB,KAAK,mBAAmB,GACzB,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC9D,YAAY,EAEV,KAAK,EACL,MAAM,EACN,SAAS,EACT,SAAS,EAET,sBAAsB,EACtB,iBAAiB,EACjB,sBAAsB,EACtB,sBAAsB,EACtB,8BAA8B,EAC9B,qBAAqB,EACrB,uBAAuB,EAEvB,mBAAmB,EACnB,oBAAoB,EACpB,WAAW,EACX,IAAI,EACJ,SAAS,EACT,SAAS,EACT,eAAe,EAEf,sBAAsB,EACtB,uBAAuB,EAEvB,cAAc,EACd,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,UAAU,EACV,aAAa,EACb,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EAEpB,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,WAAW,EACX,WAAW,EACX,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,uBAAuB,EACvB,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,wBAAwB,EAExB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,yBAAyB,EACzB,0BAA0B,EAE1B,WAAW,EACX,KAAK,EACL,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,SAAS,EACT,WAAW,EACX,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAEhB,gBAAgB,EAChB,WAAW,EACX,UAAU,EACV,aAAa,EACb,WAAW,EACX,aAAa,GACd,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,KAAK,aAAa,EAAE,KAAK,WAAW,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAC3G,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EACL,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,YAAY,EACZ,cAAc,EACd,eAAe,EACf,aAAa,EACb,UAAU,EACV,WAAW,EACX,mBAAmB,EACnB,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,WAAW,GACjB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACjI,OAAO,EACL,QAAQ,EACR,SAAS,EACT,eAAe,EACf,KAAK,cAAc,EACnB,KAAK,eAAe,GACrB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,eAAe,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AACzF,OAAO,EACL,0BAA0B,EAC1B,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,KAAK,WAAW,EAChB,KAAK,mBAAmB,GACzB,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC9D,YAAY,EAEV,KAAK,EACL,MAAM,EACN,SAAS,EACT,SAAS,EAET,sBAAsB,EACtB,iBAAiB,EACjB,sBAAsB,EACtB,sBAAsB,EACtB,8BAA8B,EAC9B,qBAAqB,EACrB,uBAAuB,EAEvB,mBAAmB,EACnB,oBAAoB,EACpB,WAAW,EACX,IAAI,EACJ,SAAS,EACT,SAAS,EACT,eAAe,EAEf,sBAAsB,EACtB,uBAAuB,EAEvB,cAAc,EACd,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,UAAU,EACV,aAAa,EACb,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EAEpB,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,WAAW,EACX,WAAW,EACX,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,uBAAuB,EACvB,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,wBAAwB,EAExB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,yBAAyB,EACzB,0BAA0B,EAE1B,WAAW,EACX,KAAK,EACL,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,SAAS,EACT,WAAW,EACX,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAEhB,gBAAgB,EAChB,WAAW,EACX,UAAU,EACV,aAAa,EACb,WAAW,EACX,aAAa,GACd,MAAM,wBAAwB,CAAC"}
package/dist/index.js CHANGED
@@ -2,5 +2,6 @@ export { createJinkoClient } from './client.js';
2
2
  export { resolveAuth, resolveBaseUrl, resolveEnvironment, readConfigFile, writeConfigFile, writeEnvAuth, setEnvironment, clearAuthConfig, ENV_BASE_URLS, CONFIG_DIR, CONFIG_FILE, DEFAULT_ENVIRONMENT, } from './auth.js';
3
3
  export { loadOrCreateCliSession, clearCliSession, extractUserIdFromJwt, getSessionFilePath, SESSION_TTL_MS } from './session.js';
4
4
  export { ApiError, AuthError, ValidationError, } from './errors.js';
5
+ export { readMoney, tryReadMoney, MoneyShapeError } from './money.js';
5
6
  export { requestDeviceAuthorization, pollForToken, refreshAccessToken, isTokenExpired, OAuthError, OAuthRefreshError, resolveExpiresAt, } from './oauth.js';
6
7
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAA6D,MAAM,aAAa,CAAC;AAE3G,OAAO,EACL,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,YAAY,EACZ,cAAc,EACd,eAAe,EACf,aAAa,EACb,UAAU,EACV,WAAW,EACX,mBAAmB,GAKpB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACjI,OAAO,EACL,QAAQ,EACR,SAAS,EACT,eAAe,GAGhB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,0BAA0B,EAC1B,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,UAAU,EACV,iBAAiB,EACjB,gBAAgB,GAGjB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAA6D,MAAM,aAAa,CAAC;AAE3G,OAAO,EACL,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,YAAY,EACZ,cAAc,EACd,eAAe,EACf,aAAa,EACb,UAAU,EACV,WAAW,EACX,mBAAmB,GAKpB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACjI,OAAO,EACL,QAAQ,EACR,SAAS,EACT,eAAe,GAGhB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,eAAe,EAAqB,MAAM,YAAY,CAAC;AACzF,OAAO,EACL,0BAA0B,EAC1B,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,UAAU,EACV,iBAAiB,EACjB,gBAAgB,GAGjB,MAAM,YAAY,CAAC"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Reads a money object off a response body, following the published rule
3
+ * (https://docs.gojinko.com/concepts/money).
4
+ *
5
+ * The public surface carries money in two shapes that share field names:
6
+ *
7
+ * - WITH `decimal_places` → the figure (`value` or `amount`) is an INTEGER in
8
+ * minor units: 15977 at 2 places is 159.77.
9
+ * - WITHOUT `decimal_places` → an `amount` is already MAJOR units. A `value`
10
+ * without a scale should not occur; it is read defensively as minor units at
11
+ * the currency's ISO 4217 digits — never an assumed 2, which renders a
12
+ * zero-decimal currency 100x low.
13
+ *
14
+ * When both figures are present the non-zero one wins, which is how the BFF
15
+ * picks between them. Anything else unexpected throws {@link MoneyShapeError}
16
+ * rather than producing a plausible wrong price.
17
+ */
18
+ export declare class MoneyShapeError extends Error {
19
+ /** The input that could not be read, as it was passed in. */
20
+ readonly raw: unknown;
21
+ constructor(message: string, raw: unknown);
22
+ }
23
+ export interface MoneyReading {
24
+ readonly currency: string;
25
+ /** Whether the figure that was sent was minor units or major units. */
26
+ readonly scale: 'minor' | 'major';
27
+ /**
28
+ * The scale that was sent, or the currency's ISO 4217 digits when none was:
29
+ * for a bare `value`, and for formatting a major `amount`.
30
+ */
31
+ readonly decimalPlaces: number;
32
+ /** The figure as sent, when it was minor units. */
33
+ readonly minor?: number;
34
+ /** Major units. */
35
+ readonly amount: number;
36
+ /**
37
+ * The major amount as exact decimal text at `decimalPlaces`, with a leading
38
+ * "-" when negative: "159.77", "3200", "1.234". Built by integer arithmetic,
39
+ * never float rounding.
40
+ */
41
+ readonly text: string;
42
+ /** The server-formatted string (e.g. "USD 159.77"), when the object carried one. */
43
+ readonly display?: string;
44
+ }
45
+ /**
46
+ * Reads one money object. Throws {@link MoneyShapeError} on a non-object, a
47
+ * missing or empty `currency`, no finite figure, a `decimal_places` outside
48
+ * 0..18, a non-integer minor figure, or two non-zero figures that disagree.
49
+ */
50
+ export declare function readMoney(raw: unknown): MoneyReading;
51
+ /** {@link readMoney}, returning `undefined` instead of throwing on an unexpected shape. */
52
+ export declare function tryReadMoney(raw: unknown): MoneyReading | undefined;
53
+ //# sourceMappingURL=money.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"money.d.ts","sourceRoot":"","sources":["../src/money.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,qBAAa,eAAgB,SAAQ,KAAK;IACxC,6DAA6D;IAC7D,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;gBAEV,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO;CAK1C;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,uEAAuE;IACvE,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC;IAClC;;;OAGG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,mDAAmD;IACnD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,mBAAmB;IACnB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,oFAAoF;IACpF,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAiFD;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,YAAY,CAgCpD;AAED,2FAA2F;AAC3F,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,YAAY,GAAG,SAAS,CAOnE"}
package/dist/money.js ADDED
@@ -0,0 +1,149 @@
1
+ /**
2
+ * Reads a money object off a response body, following the published rule
3
+ * (https://docs.gojinko.com/concepts/money).
4
+ *
5
+ * The public surface carries money in two shapes that share field names:
6
+ *
7
+ * - WITH `decimal_places` → the figure (`value` or `amount`) is an INTEGER in
8
+ * minor units: 15977 at 2 places is 159.77.
9
+ * - WITHOUT `decimal_places` → an `amount` is already MAJOR units. A `value`
10
+ * without a scale should not occur; it is read defensively as minor units at
11
+ * the currency's ISO 4217 digits — never an assumed 2, which renders a
12
+ * zero-decimal currency 100x low.
13
+ *
14
+ * When both figures are present the non-zero one wins, which is how the BFF
15
+ * picks between them. Anything else unexpected throws {@link MoneyShapeError}
16
+ * rather than producing a plausible wrong price.
17
+ */
18
+ export class MoneyShapeError extends Error {
19
+ /** The input that could not be read, as it was passed in. */
20
+ raw;
21
+ constructor(message, raw) {
22
+ super(message);
23
+ this.name = 'MoneyShapeError';
24
+ this.raw = raw;
25
+ }
26
+ }
27
+ /** ISO 4217 minor-unit digits that differ from 2, per the published rule. */
28
+ const ISO_DIGITS = {
29
+ JPY: 0,
30
+ KRW: 0,
31
+ VND: 0,
32
+ CLP: 0,
33
+ ISK: 0,
34
+ BHD: 3,
35
+ JOD: 3,
36
+ KWD: 3,
37
+ OMR: 3,
38
+ TND: 3,
39
+ };
40
+ const MAX_DECIMAL_PLACES = 18;
41
+ function isoDigits(currency) {
42
+ return ISO_DIGITS[currency.toUpperCase()] ?? 2;
43
+ }
44
+ /** A signed integer count of minor units as decimal text at `digits` places. */
45
+ function minorText(minor, digits) {
46
+ const negative = minor < 0n;
47
+ const units = (negative ? -minor : minor).toString().padStart(digits + 1, '0');
48
+ const sign = negative ? '-' : '';
49
+ if (digits === 0)
50
+ return `${sign}${units}`;
51
+ return `${sign}${units.slice(0, -digits)}.${units.slice(-digits)}`;
52
+ }
53
+ /**
54
+ * A major amount as decimal text at `digits` places, rounded half away from
55
+ * zero on the decimal the number was written as. `toFixed` rounds the binary
56
+ * value instead, so 1.005 — stored as 1.00499… — would print "1.00".
57
+ */
58
+ function majorText(amount, digits) {
59
+ const match = /^(\d+)(?:\.(\d+))?$/.exec(String(Math.abs(amount)));
60
+ // Exponent notation only appears beyond 1e21 or below 1e-6, outside any price.
61
+ if (!match)
62
+ return amount.toFixed(digits);
63
+ const [, whole, fraction = ''] = match;
64
+ let minor = BigInt(whole + fraction.padEnd(digits, '0').slice(0, digits));
65
+ if ((fraction[digits] ?? '0') >= '5')
66
+ minor += 1n;
67
+ return minorText(amount < 0 ? -minor : minor, digits);
68
+ }
69
+ /** A figure field: absent (undefined or null), or a finite number. */
70
+ function readFigure(money, field, raw) {
71
+ const figure = money[field];
72
+ if (figure === undefined || figure === null)
73
+ return undefined;
74
+ if (typeof figure !== 'number' || !Number.isFinite(figure)) {
75
+ throw new MoneyShapeError(`money \`${field}\` is not a finite number: ${String(figure)}`, raw);
76
+ }
77
+ return figure;
78
+ }
79
+ /** The figure to read and the field it came from, as the BFF picks it. */
80
+ function pickFigure(money, raw) {
81
+ const amount = readFigure(money, 'amount', raw);
82
+ const value = readFigure(money, 'value', raw);
83
+ if (amount === undefined && value === undefined) {
84
+ throw new MoneyShapeError('money has neither `amount` nor `value`', raw);
85
+ }
86
+ if (amount === undefined)
87
+ return { figure: value, field: 'value' };
88
+ if (value === undefined || value === 0)
89
+ return { figure: amount, field: 'amount' };
90
+ if (amount === 0 || amount === value)
91
+ return { figure: value, field: 'value' };
92
+ throw new MoneyShapeError(`money \`amount\` (${amount}) and \`value\` (${value}) disagree`, raw);
93
+ }
94
+ function readDecimalPlaces(money, raw) {
95
+ const places = money.decimal_places;
96
+ if (places === undefined || places === null)
97
+ return undefined;
98
+ if (typeof places !== 'number' || !Number.isInteger(places) || places < 0 || places > MAX_DECIMAL_PLACES) {
99
+ throw new MoneyShapeError(`money \`decimal_places\` must be an integer from 0 to ${MAX_DECIMAL_PLACES}: ${JSON.stringify(places)}`, raw);
100
+ }
101
+ return places;
102
+ }
103
+ /**
104
+ * Reads one money object. Throws {@link MoneyShapeError} on a non-object, a
105
+ * missing or empty `currency`, no finite figure, a `decimal_places` outside
106
+ * 0..18, a non-integer minor figure, or two non-zero figures that disagree.
107
+ */
108
+ export function readMoney(raw) {
109
+ if (!raw || typeof raw !== 'object' || Array.isArray(raw)) {
110
+ throw new MoneyShapeError('money is not an object', raw);
111
+ }
112
+ const money = raw;
113
+ const { currency } = money;
114
+ if (typeof currency !== 'string' || currency === '') {
115
+ throw new MoneyShapeError('money has no `currency`', raw);
116
+ }
117
+ const { figure, field } = pickFigure(money, raw);
118
+ const sentPlaces = readDecimalPlaces(money, raw);
119
+ const display = typeof money.display === 'string' && money.display !== '' ? { display: money.display } : {};
120
+ if (sentPlaces === undefined && field === 'amount') {
121
+ const decimalPlaces = isoDigits(currency);
122
+ return { currency, scale: 'major', decimalPlaces, amount: figure, text: majorText(figure, decimalPlaces), ...display };
123
+ }
124
+ const decimalPlaces = sentPlaces ?? isoDigits(currency);
125
+ if (!Number.isSafeInteger(figure)) {
126
+ throw new MoneyShapeError(`money \`${field}\` is minor units and must be an integer: ${figure}`, raw);
127
+ }
128
+ return {
129
+ currency,
130
+ scale: 'minor',
131
+ decimalPlaces,
132
+ minor: figure,
133
+ amount: figure / 10 ** decimalPlaces,
134
+ text: minorText(BigInt(figure), decimalPlaces),
135
+ ...display,
136
+ };
137
+ }
138
+ /** {@link readMoney}, returning `undefined` instead of throwing on an unexpected shape. */
139
+ export function tryReadMoney(raw) {
140
+ try {
141
+ return readMoney(raw);
142
+ }
143
+ catch (error) {
144
+ if (error instanceof MoneyShapeError)
145
+ return undefined;
146
+ throw error;
147
+ }
148
+ }
149
+ //# sourceMappingURL=money.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"money.js","sourceRoot":"","sources":["../src/money.ts"],"names":[],"mappings":"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"}
@@ -13,11 +13,12 @@
13
13
  * not the BFF's nested `filters.locations` / `passengers.adt` body
14
14
  * - `checkout` returns `CheckoutResponse`, `getTrip` returns `GetTripResponse`, …
15
15
  *
16
- * To update a shape: edit the contract in `jinko-api` and regenerate its
17
- * `public-api.yaml`, copy that file over `packages/api-client/public-api.yaml`
18
- * (keep the `# synced from` header), then run `pnpm run generate:api-types`.
19
- * `generated.ts` is regenerated in full from the vendored spec — never edit
20
- * it by hand, and never re-introduce BFF-internal field names. (The vendored
16
+ * To update a shape: edit the contract in `jinko-api` and merge it, then run
17
+ * `pnpm sync:api-spec <jinko-api ref>` here. It vendors `public-api.yaml` at
18
+ * that commit (writing the `# synced from` header) and runs
19
+ * `pnpm generate:api-types`; CI fails when `generated.ts` and the vendored
20
+ * spec disagree. `generated.ts` is regenerated in full from the vendored spec —
21
+ * never edit it by hand, and never re-introduce BFF-internal field names. (The vendored
21
22
  * spec was re-synced to contract 0.8.0 by JIN-2054, which ended the period
22
23
  * where `generated.ts` was hand-maintained ahead of a stale 0.5.0 spec.)
23
24
  */
@@ -152,6 +153,24 @@ export type AncillaryResponse = Schemas['AncillaryResponse'];
152
153
  export type SelectAncillariesRequest = AncillaryRequest;
153
154
  export type BookingGetRequest = Schemas['GetBookingRequest'];
154
155
  export type BookingGetResponse = Schemas['GetBookingResponse'];
156
+ /**
157
+ * The iCalendar files a booking is carried in (JIN-2176) — the same bytes the
158
+ * traveller's confirmation, cancellation and exchange emails attach.
159
+ *
160
+ * `booking.calendar` is ABSENT — not null, and never an empty `files` list —
161
+ * when the booking holds no flight and no hotel, and whenever the files could
162
+ * not be built. `files` is ordered cancellation first, then invitation, the
163
+ * order the emails attach them in.
164
+ */
165
+ export type BookingCalendar = Schemas['BookingCalendar'];
166
+ /**
167
+ * One iCalendar file. `method` is the iTIP method (RFC 5546) it carries —
168
+ * `REQUEST` for the events the booking still holds, `CANCEL` for the ones it no
169
+ * longer does; one file is never both. Serve or attach it under `content_type`
170
+ * exactly: the `method` parameter is what makes a mail client act on the file
171
+ * rather than store it as a plain attachment.
172
+ */
173
+ export type BookingCalendarFile = Schemas['BookingCalendarFile'];
155
174
  /** @deprecated Renamed to {@link BookingGetRequest} by JIN-663. */
156
175
  export type BookingLookupRequest = BookingGetRequest;
157
176
  /** @deprecated Renamed to {@link BookingGetResponse} by JIN-663. */
@@ -1 +1 @@
1
- {"version":3,"file":"devplatform.d.ts","sourceRoot":"","sources":["../../src/types/devplatform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD,KAAK,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;AAIrC;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAErC;;;;GAIG;AACH,MAAM,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEvC,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AAE7C,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AAa7C,KAAK,qBAAqB,GACtB,OAAO,GACP,QAAQ,GACR,SAAS,GACT,aAAa,GACb,kBAAkB,CAAC;AAEvB,KAAK,oBAAoB,CAAC,CAAC,SAAS,MAAM,CAAC,qBAAqB,EAAE,OAAO,CAAC,IAAI,IAAI,CAChF,CAAC,EACD,qBAAqB,CACtB,GACC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,qBAAqB,CAAC,CAAC,CAAC;AAE1C,MAAM,MAAM,sBAAsB,GAAG,oBAAoB,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,CAAC;AAE7F,qFAAqF;AACrF,MAAM,MAAM,iBAAiB,GAAG,sBAAsB,CAAC;AAEvD,MAAM,MAAM,sBAAsB,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;AAIvE,MAAM,MAAM,sBAAsB,GAAG,oBAAoB,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,GAC1F,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,EAAE,yBAAyB,CAAC,CAAC,CAAC;AAE9E,qFAAqF;AACrF,MAAM,MAAM,8BAA8B,GAAG,sBAAsB,CAAC;AAEpE,MAAM,MAAM,qBAAqB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;AAErE,MAAM,MAAM,uBAAuB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;AAQzE,MAAM,MAAM,mBAAmB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;AAEjE,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;AAEnE,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;AAEjD,MAAM,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAEnC,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AAE7C;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AAE7C;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAazD,MAAM,MAAM,sBAAsB,GAAG,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,EAAE,QAAQ,CAAC,GACpF,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;AAE7D,MAAM,MAAM,uBAAuB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;AAIzE,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAE/D;;;;;;;;;GASG;AACH,MAAM,MAAM,mBAAmB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;AACjE,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;AACnE,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAC3D,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;AAC/C,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;AACrD,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;AACrD,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AAEnD,MAAM,MAAM,mBAAmB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;AAEjE,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AAOlD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;AAInE,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;AAEjD,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AAEnD;;;;;;;;;GASG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;AAEjD,MAAM,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAI3C,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAEzD,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAE3D,kFAAkF;AAClF,MAAM,MAAM,WAAW,GAAG,eAAe,CAAC;AAE1C,mFAAmF;AACnF,MAAM,MAAM,YAAY,GAAG,gBAAgB,CAAC;AAO5C,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;AACvD,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAC;AAC7E,MAAM,MAAM,0BAA0B,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAAC;AAI/E,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAEzD,+EAA+E;AAC/E,MAAM,MAAM,kBAAkB,GAAG,eAAe,CAAC;AAIjD;;;;GAIG;AACH,MAAM,MAAM,uBAAuB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;AAEzE;;;;;;;;GAQG;AACH,MAAM,MAAM,cAAc,GAAG,WAAW,CACtC,WAAW,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,uBAAuB,CAAC,CAC/E,CAAC,MAAM,CAAC,CAAC;AAIV,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAE3D,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAE7D,gFAAgF;AAChF,MAAM,MAAM,wBAAwB,GAAG,gBAAgB,CAAC;AASxD,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAE7D,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAE/D,mEAAmE;AACnE,MAAM,MAAM,oBAAoB,GAAG,iBAAiB,CAAC;AAErD,oEAAoE;AACpE,MAAM,MAAM,qBAAqB,GAAG,kBAAkB,CAAC;AAOvD,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAC/D,MAAM,MAAM,mBAAmB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;AACjE,MAAM,MAAM,mBAAmB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;AACjE,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;AACnE,MAAM,MAAM,mBAAmB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;AACjE,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;AAQnE,MAAM,MAAM,mBAAmB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;AACjE,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;AACnE,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;AACnE,MAAM,MAAM,qBAAqB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;AACrE,MAAM,MAAM,qBAAqB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;AACrE,MAAM,MAAM,sBAAsB,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;AACvE,MAAM,MAAM,qBAAqB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;AACrE,MAAM,MAAM,sBAAsB,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;AAQvE,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AACtE,MAAM,MAAM,0BAA0B,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;AAaxE,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;AAClE,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,YAAY,CAAC;AAEhD;;;;;;kDAMkD;AAClD,MAAM,MAAM,KAAK,GAAG,SAAS,GAAG,MAAM,CAAC;AAGvC,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;AAC/D,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;AACrD,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;AAEzD,MAAM,MAAM,mBAAmB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;AACjE,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;AACvD,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAE3D;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,sGAAsG;IACtG,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qIAAqI;IACrI,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,yFAAyF;IACzF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+IAA+I;IAC/I,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,kJAAkJ;IAClJ,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,+GAA+G;IAC/G,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,iHAAiH;IACjH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,yEAAyE;IACzE,aAAa,CAAC,EAAE,YAAY,CAAC;IAC7B,SAAS,CAAC,EAAE,QAAQ,CAAC;IACrB,sFAAsF;IACtF,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mEAAmE;IACnE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,8EAA8E;IAC9E,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,6EAA6E;IAC7E,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,8HAA8H;IAC9H,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAmBD,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;AACnD,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;AACjD,MAAM,MAAM,UAAU,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;AACvD,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;AAChE,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;AAErD;;;;;;;;GAQG;AACH,MAAM,WAAW,gBAAgB;IAC/B,2FAA2F;IAC3F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gGAAgG;IAChG,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0GAA0G;IAC1G,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mIAAmI;IACnI,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sFAAsF;IACtF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6IAA6I;IAC7I,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,+KAA+K;IAC/K,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,wIAAwI;IACxI,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,iHAAiH;IACjH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,yEAAyE;IACzE,aAAa,CAAC,EAAE,YAAY,CAAC;IAC7B,SAAS,CAAC,EAAE,QAAQ,CAAC;IACrB,sFAAsF;IACtF,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mEAAmE;IACnE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,8EAA8E;IAC9E,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,6EAA6E;IAC7E,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,uKAAuK;IACvK,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+DAA+D;IAC/D,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,8EAA8E;IAC9E,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
1
+ {"version":3,"file":"devplatform.d.ts","sourceRoot":"","sources":["../../src/types/devplatform.ts"],"names":[],"mappings":"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"}
@@ -13,11 +13,12 @@
13
13
  * not the BFF's nested `filters.locations` / `passengers.adt` body
14
14
  * - `checkout` returns `CheckoutResponse`, `getTrip` returns `GetTripResponse`, …
15
15
  *
16
- * To update a shape: edit the contract in `jinko-api` and regenerate its
17
- * `public-api.yaml`, copy that file over `packages/api-client/public-api.yaml`
18
- * (keep the `# synced from` header), then run `pnpm run generate:api-types`.
19
- * `generated.ts` is regenerated in full from the vendored spec — never edit
20
- * it by hand, and never re-introduce BFF-internal field names. (The vendored
16
+ * To update a shape: edit the contract in `jinko-api` and merge it, then run
17
+ * `pnpm sync:api-spec <jinko-api ref>` here. It vendors `public-api.yaml` at
18
+ * that commit (writing the `# synced from` header) and runs
19
+ * `pnpm generate:api-types`; CI fails when `generated.ts` and the vendored
20
+ * spec disagree. `generated.ts` is regenerated in full from the vendored spec —
21
+ * never edit it by hand, and never re-introduce BFF-internal field names. (The vendored
21
22
  * spec was re-synced to contract 0.8.0 by JIN-2054, which ended the period
22
23
  * where `generated.ts` was hand-maintained ahead of a stale 0.5.0 spec.)
23
24
  */
@@ -1 +1 @@
1
- {"version":3,"file":"devplatform.js","sourceRoot":"","sources":["../../src/types/devplatform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG"}
1
+ {"version":3,"file":"devplatform.js","sourceRoot":"","sources":["../../src/types/devplatform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG"}