Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
58 commits
Select commit Hold shift + click to select a range
74c02f5
chore: retrigger flaky CodeQL on TSM-08
Justintime50 Aug 11, 2026
4d11fad
chore: retrigger flaky CodeQL on TSM-08
Justintime50 Aug 11, 2026
d9ff632
chore: retrigger flaky CodeQL on TSM-08
Justintime50 Aug 11, 2026
d52f441
chore: retrigger flaky CodeQL on TSM-08
Justintime50 Aug 11, 2026
df32ffa
chore: retrigger flaky CodeQL on TSM-08
Justintime50 Aug 11, 2026
a30fcc1
chore: retrigger flaky CodeQL on TSM-08
Justintime50 Aug 11, 2026
1ceacaa
chore: retrigger flaky CodeQL on TSM-08
Justintime50 Aug 11, 2026
e64e15c
chore: retrigger flaky CodeQL on TSM-08
Justintime50 Aug 11, 2026
9100225
chore: retrigger flaky CodeQL on TSM-08
Justintime50 Aug 11, 2026
af09584
chore: retrigger flaky CodeQL on TSM-08
Justintime50 Aug 11, 2026
0524416
chore: retrigger flaky CodeQL on TSM-08
Justintime50 Aug 11, 2026
694b001
chore: retrigger flaky CodeQL on TSM-08
Justintime50 Aug 11, 2026
8021108
chore: retrigger flaky CodeQL on TSM-08
Justintime50 Aug 11, 2026
e5b6ff4
chore: retrigger flaky CodeQL on TSM-08
Justintime50 Aug 11, 2026
3e7ed2d
chore: retrigger flaky CodeQL on TSM-08
Justintime50 Aug 11, 2026
ea14c29
chore: retrigger flaky CodeQL on TSM-08
Justintime50 Aug 11, 2026
c6e88ac
chore: retrigger flaky CodeQL on TSM-08
Justintime50 Aug 11, 2026
5d8bbf1
chore: retrigger flaky CodeQL on TSM-08
Justintime50 Aug 11, 2026
692233e
chore: retrigger flaky CodeQL on TSM-08
Justintime50 Aug 11, 2026
3d56608
chore: retrigger flaky CodeQL on TSM-08
Justintime50 Aug 11, 2026
06b4eb1
chore: retrigger flaky CodeQL on TSM-08
Justintime50 Aug 11, 2026
7cade89
chore: retrigger flaky CodeQL on TSM-08
Justintime50 Aug 11, 2026
2666f68
chore: retrigger flaky CodeQL on TSM-08
Justintime50 Aug 11, 2026
f93c378
chore: retrigger flaky CodeQL on TSM-08
Justintime50 Aug 11, 2026
ba0a39f
chore: retrigger flaky CodeQL on TSM-08
Justintime50 Aug 11, 2026
bc053f8
chore: retrigger flaky CodeQL on TSM-08
Justintime50 Aug 11, 2026
3383d40
chore: retrigger flaky CodeQL on TSM-08
Justintime50 Aug 11, 2026
69a32a2
chore: retrigger flaky CodeQL on TSM-08
Justintime50 Aug 11, 2026
ad9e3f9
chore: retrigger flaky CodeQL on TSM-08
Justintime50 Aug 11, 2026
da8d29d
chore: retrigger flaky CodeQL on TSM-08
Justintime50 Aug 11, 2026
efdf73d
chore: retrigger flaky CodeQL on TSM-08
Justintime50 Aug 11, 2026
a9ca4c2
chore: retrigger flaky CodeQL on TSM-08
Justintime50 Aug 11, 2026
a6868a4
chore: retrigger flaky CodeQL on TSM-08
Justintime50 Aug 11, 2026
9c0b2e1
chore: retrigger flaky CodeQL on TSM-08
Justintime50 Aug 11, 2026
3dcabe6
chore: retrigger flaky CodeQL on TSM-08
Justintime50 Aug 11, 2026
7209a60
chore: retrigger flaky CodeQL on TSM-08
Justintime50 Aug 11, 2026
711526c
chore: retrigger flaky CodeQL on TSM-08
Justintime50 Aug 11, 2026
23c0d61
chore: retrigger flaky CodeQL on TSM-08
Justintime50 Aug 11, 2026
95f3292
chore: retrigger flaky CodeQL on TSM-08
Justintime50 Aug 11, 2026
f5f4cee
chore: retrigger flaky CodeQL on TSM-08
Justintime50 Aug 11, 2026
635b263
chore: retrigger flaky CodeQL on TSM-08
Justintime50 Aug 11, 2026
2fd87bb
chore: retrigger flaky CodeQL on TSM-08
Justintime50 Aug 11, 2026
f3f98ba
chore: retrigger flaky CodeQL on TSM-08
Justintime50 Aug 11, 2026
6ceb507
chore: retrigger flaky CodeQL on TSM-08
Justintime50 Aug 11, 2026
77ed7fc
chore: retrigger flaky CodeQL on TSM-08
Justintime50 Aug 11, 2026
58b6921
chore: retrigger flaky CodeQL on TSM-08
Justintime50 Aug 11, 2026
e6ce7f6
chore: retrigger flaky CodeQL on TSM-08
Justintime50 Aug 11, 2026
6b5a732
chore: retrigger flaky CodeQL on TSM-08
Justintime50 Aug 11, 2026
9815a4b
chore: retrigger flaky CodeQL on TSM-08
Justintime50 Aug 11, 2026
3747ccc
chore: retrigger flaky CodeQL on TSM-08
Justintime50 Aug 11, 2026
a2b7c50
chore: retrigger flaky CodeQL on TSM-08
Justintime50 Aug 11, 2026
0ff70fe
chore: retrigger flaky CodeQL on TSM-08
Justintime50 Aug 11, 2026
8a63280
chore: retrigger flaky CodeQL on TSM-08
Justintime50 Aug 11, 2026
c4b4567
chore: retrigger flaky CodeQL on TSM-08
Justintime50 Aug 11, 2026
f88bded
TSM-11 convert models group A to TypeScript
Justintime50 Aug 10, 2026
6926fc1
TSM-11 migrate model field types from declarations
Justintime50 Aug 10, 2026
4b51dcf
TSM-11 make model fields nullable for first pass
Justintime50 Aug 10, 2026
d4264a5
TSM-11 make model fields optional and nullable for first pass
Justintime50 Aug 10, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 0 additions & 24 deletions src/models/address.js

This file was deleted.

24 changes: 24 additions & 0 deletions src/models/address.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
import EasyPostObject from './easypost_object';

/**
* An {@link https://docs.easypost.com/docs/addresses Address} represents people, places, and organizations in a number of contexts.
* @public
* @extends EasyPostObject
*/
export default class Address extends EasyPostObject {
declare street1?: string | null;
Comment thread
Justintime50 marked this conversation as resolved.
declare street2?: string | null;
declare city?: string | null;
declare state?: string | null;
declare zip?: string | null;
declare country?: string | null;
declare residential?: boolean | null;
declare carrier_facility?: string | null;
declare name?: string | null;
declare company?: string | null;
declare phone?: string | null;
declare email?: string | null;
declare federal_tax_id?: string | null;
declare state_tax_id?: string | null;
declare verifications?: Record<string, unknown> | null;
}
19 changes: 0 additions & 19 deletions src/models/customs_info.js

This file was deleted.

20 changes: 20 additions & 0 deletions src/models/customs_info.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import EasyPostObject from './easypost_object';

/**
* A {@link https://docs.easypost.com/docs/customs-infos CustomsInfo} represents a collection of {@link CustomsItem CustomsItems} and associated information for generating international shipping customs forms.
* @public
* @extends EasyPostObject
*/
export default class CustomsInfo extends EasyPostObject {
declare content_explanation?: string | null;
declare contents_type?: string | null;
declare customs_certify?: boolean | null;
declare customs_items?: unknown[] | null;
declare customs_signer?: string | null;
declare declaration?: string | null;
declare eel_pfc?: string | null;
declare non_delivery_option?: 'abandon' | 'return' | null;
declare restriction_comments?: string | null;
declare restriction_type?:
'none' | 'other' | 'quarantine' | 'sanitary_phytosanitary_inspection' | null;
}
17 changes: 0 additions & 17 deletions src/models/customs_item.js

This file was deleted.

17 changes: 17 additions & 0 deletions src/models/customs_item.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
import EasyPostObject from './easypost_object';

/**
* A {@link https://docs.easypost.com/docs/customs-items CustomsItem} represents a single item being shipped internationally.
* @public
* @extends EasyPostObject
*/
export default class CustomsItem extends EasyPostObject {
declare code?: string | null;
declare currency?: string | null;
declare description?: string | null;
declare hs_tariff_number?: string | null;
declare origin_country?: string | null;
declare quantity?: number | null;
declare value?: number | null;
declare weight?: number | null;
}
10 changes: 5 additions & 5 deletions src/models/parcel.js → src/models/parcel.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ import EasyPostObject from './easypost_object';
* @extends EasyPostObject
*/
export default class Parcel extends EasyPostObject {
static height;
static length;
static predefined_package;
static weight;
static width;
declare height?: number | null;
declare length?: number | null;
declare predefined_package?: string | null;
declare weight?: number | null;
declare width?: number | null;
}
18 changes: 0 additions & 18 deletions src/models/postage_label.js

This file was deleted.

18 changes: 18 additions & 0 deletions src/models/postage_label.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
import EasyPostObject from './easypost_object';

/**
* A {@link PostageLabel} represents a physical label to affix to a {@link Parcel parcel} when shipping.
* @public
* @extends EasyPostObject
*/
export default class PostageLabel extends EasyPostObject {
declare label_date?: string | null;
declare label_epl2_url?: string | null;
declare label_file_type?: string | null;
declare label_pdf_url?: string | null;
declare label_resolution?: number | null;
declare label_size?: string | null;
declare label_type?: string | null;
declare label_url?: string | null;
declare label_zpl_url?: string | null;
}
49 changes: 0 additions & 49 deletions src/models/shipment.js

This file was deleted.

54 changes: 54 additions & 0 deletions src/models/shipment.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
import Constants from '../constants';
import EasyPostObject from './easypost_object';

/**
* A {@link https://docs.easypost.com/docs/shipments Shipment} represents a physical {@link Parcel}, the origin and destination {@link Address Addresses}, and any associated {@link CustomsInfo}.
* @public
* @extends EasyPostObject
*/
export default class Shipment extends EasyPostObject {
declare batch_id?: string | null;
declare batch_message?: string | null;
declare batch_status?: string | null;
declare buyer_address?: Record<string, unknown> | null;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

note:
got more of the Record<string, unknown> submodels here. Not sure if we want to use the nicer types later.

declare customs_info?: Record<string, unknown> | null;
declare fees?: Record<string, unknown>[] | null;
declare forms?: Record<string, unknown>[] | null;
declare from_address?: Record<string, unknown> | null;
declare insurance?: Record<string, unknown> | null;
declare is_return?: boolean | null;
declare messages?: Record<string, unknown>[] | null;
declare options?: Record<string, unknown> | null;
declare parcel?: Record<string, unknown> | null;
declare postage_label?: Record<string, unknown> | null;
declare rates?: Parameters<typeof Constants.Utils.getLowestRate>[0] | null;
declare reference?: string | null;
declare refund_status?: 'submitted' | 'refunded' | 'rejected' | null;
declare return_address?: Record<string, unknown> | null;
declare scan_form?: Record<string, unknown> | null;
declare selected_rate?: Parameters<typeof Constants.Utils.getLowestRate>[0][number] | null;
declare status?: string | null;
declare to_address?: Record<string, unknown> | null;
declare tracker?: Record<string, unknown> | null;
declare tracking_code?: string | null;
declare usps_zone?: string | null;

/**
* Get the lowest rate for this {@link Shipment}.
* @public
* @param {string[]} [carriers] - List of allowed carriers to filter by
* @param {string[]} [services] - List of allowed services to filter by
* @returns {Rate} - The lowest rate
* @throws {FilteringError} - If no applicable rates are found
*/
lowestRate(
carriers?: string[],
services?: string[],
): ReturnType<typeof Constants.Utils.getLowestRate> {
const rates = ((this as Shipment & { rates?: unknown[] }).rates || []) as Parameters<
typeof Constants.Utils.getLowestRate
>[0];

return Constants.Utils.getLowestRate(rates, carriers, services);
}
}