From 8c028455fd2613fc3ecf19a26d71f58ed76f6b40 Mon Sep 17 00:00:00 2001 From: Justintime50 <39606064+Justintime50@users.noreply.github.com> Date: Tue, 11 Aug 2026 11:20:26 -0600 Subject: [PATCH 01/58] chore: retrigger flaky CodeQL on TSM-08 From 5c2c124218916619c8972be2ef993dd0c8b1b029 Mon Sep 17 00:00:00 2001 From: Justintime50 <39606064+Justintime50@users.noreply.github.com> Date: Tue, 11 Aug 2026 11:20:26 -0600 Subject: [PATCH 02/58] chore: retrigger flaky CodeQL on TSM-08 From cce5bf6889fa6a5e41482a91f7a6ce4bcb750b52 Mon Sep 17 00:00:00 2001 From: Justintime50 <39606064+Justintime50@users.noreply.github.com> Date: Tue, 11 Aug 2026 11:20:26 -0600 Subject: [PATCH 03/58] chore: retrigger flaky CodeQL on TSM-08 From ffa7a4562eca0f9edbd689c06c2671b6fdebbc52 Mon Sep 17 00:00:00 2001 From: Justintime50 <39606064+Justintime50@users.noreply.github.com> Date: Tue, 11 Aug 2026 11:20:26 -0600 Subject: [PATCH 04/58] chore: retrigger flaky CodeQL on TSM-08 From 813698dae1ec953060e17142ac20baa922566f7e Mon Sep 17 00:00:00 2001 From: Justintime50 <39606064+Justintime50@users.noreply.github.com> Date: Tue, 11 Aug 2026 11:20:26 -0600 Subject: [PATCH 05/58] chore: retrigger flaky CodeQL on TSM-08 From f54b1b44629aa4468812038f8e21bfe1a1100f35 Mon Sep 17 00:00:00 2001 From: Justintime50 <39606064+Justintime50@users.noreply.github.com> Date: Tue, 11 Aug 2026 11:20:26 -0600 Subject: [PATCH 06/58] chore: retrigger flaky CodeQL on TSM-08 From b1ebd483530c1f17349b31bc594778fd97a7360b Mon Sep 17 00:00:00 2001 From: Justintime50 <39606064+Justintime50@users.noreply.github.com> Date: Tue, 11 Aug 2026 11:20:26 -0600 Subject: [PATCH 07/58] chore: retrigger flaky CodeQL on TSM-08 From e7f932bf493d69f75072c2e27fc08213f12281df Mon Sep 17 00:00:00 2001 From: Justintime50 <39606064+Justintime50@users.noreply.github.com> Date: Tue, 11 Aug 2026 11:20:26 -0600 Subject: [PATCH 08/58] chore: retrigger flaky CodeQL on TSM-08 From 3c536a523f6515936f64e182b58e386781366ffb Mon Sep 17 00:00:00 2001 From: Justintime50 <39606064+Justintime50@users.noreply.github.com> Date: Tue, 11 Aug 2026 11:20:26 -0600 Subject: [PATCH 09/58] chore: retrigger flaky CodeQL on TSM-08 From b0e3bae2e12b06eebde363c4d53d723fbd9669a1 Mon Sep 17 00:00:00 2001 From: Justintime50 <39606064+Justintime50@users.noreply.github.com> Date: Tue, 11 Aug 2026 11:20:26 -0600 Subject: [PATCH 10/58] chore: retrigger flaky CodeQL on TSM-08 From 5aed307be94b6abc372b01e9c5f5954793c8fed7 Mon Sep 17 00:00:00 2001 From: Justintime50 <39606064+Justintime50@users.noreply.github.com> Date: Tue, 11 Aug 2026 11:20:26 -0600 Subject: [PATCH 11/58] chore: retrigger flaky CodeQL on TSM-08 From 060f16100ee999608420eb8f05342616dab71063 Mon Sep 17 00:00:00 2001 From: Justintime50 <39606064+Justintime50@users.noreply.github.com> Date: Tue, 11 Aug 2026 11:20:26 -0600 Subject: [PATCH 12/58] chore: retrigger flaky CodeQL on TSM-08 From df3d06630362d8c214dbdf5c41ee7b6152ab12b8 Mon Sep 17 00:00:00 2001 From: Justintime50 <39606064+Justintime50@users.noreply.github.com> Date: Tue, 11 Aug 2026 11:20:26 -0600 Subject: [PATCH 13/58] chore: retrigger flaky CodeQL on TSM-08 From 4eaf32dc62290ffd1f5a373504dd07a9cba0c82c Mon Sep 17 00:00:00 2001 From: Justintime50 <39606064+Justintime50@users.noreply.github.com> Date: Tue, 11 Aug 2026 11:20:26 -0600 Subject: [PATCH 14/58] chore: retrigger flaky CodeQL on TSM-08 From 6d3782a6cf3b20c1da32370c5e431ad19db793ae Mon Sep 17 00:00:00 2001 From: Justintime50 <39606064+Justintime50@users.noreply.github.com> Date: Tue, 11 Aug 2026 11:20:26 -0600 Subject: [PATCH 15/58] chore: retrigger flaky CodeQL on TSM-08 From 598a59b12552422791e010677c8aedfa906ef027 Mon Sep 17 00:00:00 2001 From: Justintime50 <39606064+Justintime50@users.noreply.github.com> Date: Tue, 11 Aug 2026 11:20:26 -0600 Subject: [PATCH 16/58] chore: retrigger flaky CodeQL on TSM-08 From 8413b19d662e2434e618b804cbeffc8df3e8e617 Mon Sep 17 00:00:00 2001 From: Justintime50 <39606064+Justintime50@users.noreply.github.com> Date: Tue, 11 Aug 2026 11:20:26 -0600 Subject: [PATCH 17/58] chore: retrigger flaky CodeQL on TSM-08 From 047a1d87d780e738574185d85abefbdf46644754 Mon Sep 17 00:00:00 2001 From: Justintime50 <39606064+Justintime50@users.noreply.github.com> Date: Tue, 11 Aug 2026 11:20:26 -0600 Subject: [PATCH 18/58] chore: retrigger flaky CodeQL on TSM-08 From 544f9d4f6f0c54b21268057f68d15fc5a1756da9 Mon Sep 17 00:00:00 2001 From: Justintime50 <39606064+Justintime50@users.noreply.github.com> Date: Tue, 11 Aug 2026 11:20:26 -0600 Subject: [PATCH 19/58] chore: retrigger flaky CodeQL on TSM-08 From 7e31fe88a89f097e94d305907b9cdbdb183a3164 Mon Sep 17 00:00:00 2001 From: Justintime50 <39606064+Justintime50@users.noreply.github.com> Date: Tue, 11 Aug 2026 11:20:26 -0600 Subject: [PATCH 20/58] chore: retrigger flaky CodeQL on TSM-08 From 888959cc6d4ecfe9c3515583376b4c1d738891cb Mon Sep 17 00:00:00 2001 From: Justintime50 <39606064+Justintime50@users.noreply.github.com> Date: Tue, 11 Aug 2026 11:20:26 -0600 Subject: [PATCH 21/58] chore: retrigger flaky CodeQL on TSM-08 From 1c372231e5edbde3b8a67d9b259a87747612a1ed Mon Sep 17 00:00:00 2001 From: Justintime50 <39606064+Justintime50@users.noreply.github.com> Date: Tue, 11 Aug 2026 11:20:26 -0600 Subject: [PATCH 22/58] chore: retrigger flaky CodeQL on TSM-08 From 4739fb36bc0322c5d5e4afbc369fd5fda7a06c16 Mon Sep 17 00:00:00 2001 From: Justintime50 <39606064+Justintime50@users.noreply.github.com> Date: Tue, 11 Aug 2026 11:20:26 -0600 Subject: [PATCH 23/58] chore: retrigger flaky CodeQL on TSM-08 From 22b008dbaff8b5b3e5cbeef3fc68bbd0f402fb4c Mon Sep 17 00:00:00 2001 From: Justintime50 <39606064+Justintime50@users.noreply.github.com> Date: Tue, 11 Aug 2026 11:20:26 -0600 Subject: [PATCH 24/58] chore: retrigger flaky CodeQL on TSM-08 From dccf762aa7fab00efc887f229c0625a7b855783b Mon Sep 17 00:00:00 2001 From: Justintime50 <39606064+Justintime50@users.noreply.github.com> Date: Tue, 11 Aug 2026 11:20:26 -0600 Subject: [PATCH 25/58] chore: retrigger flaky CodeQL on TSM-08 From bf9b857aef31902db999f017b7db90d3005b2c5d Mon Sep 17 00:00:00 2001 From: Justintime50 <39606064+Justintime50@users.noreply.github.com> Date: Tue, 11 Aug 2026 11:20:26 -0600 Subject: [PATCH 26/58] chore: retrigger flaky CodeQL on TSM-08 From c3c565ae7412d4f1754d5b670e951510a995c3a4 Mon Sep 17 00:00:00 2001 From: Justintime50 <39606064+Justintime50@users.noreply.github.com> Date: Tue, 11 Aug 2026 11:20:26 -0600 Subject: [PATCH 27/58] chore: retrigger flaky CodeQL on TSM-08 From 96bc6e1f701967ac5b6855b44ac61a749889736a Mon Sep 17 00:00:00 2001 From: Justintime50 <39606064+Justintime50@users.noreply.github.com> Date: Tue, 11 Aug 2026 11:20:26 -0600 Subject: [PATCH 28/58] chore: retrigger flaky CodeQL on TSM-08 From 09913d846f6ced331398ced6a0d621043ffdf076 Mon Sep 17 00:00:00 2001 From: Justintime50 <39606064+Justintime50@users.noreply.github.com> Date: Tue, 11 Aug 2026 11:20:26 -0600 Subject: [PATCH 29/58] chore: retrigger flaky CodeQL on TSM-08 From 0abc7e374cc38671b136e34ae20bc63f3b6bd965 Mon Sep 17 00:00:00 2001 From: Justintime50 <39606064+Justintime50@users.noreply.github.com> Date: Tue, 11 Aug 2026 11:20:26 -0600 Subject: [PATCH 30/58] chore: retrigger flaky CodeQL on TSM-08 From f7daae2691776bfd462461c1989a3d93bf33d8e7 Mon Sep 17 00:00:00 2001 From: Justintime50 <39606064+Justintime50@users.noreply.github.com> Date: Tue, 11 Aug 2026 11:20:26 -0600 Subject: [PATCH 31/58] chore: retrigger flaky CodeQL on TSM-08 From eced5b9af698e8849d88032177d8ac28870331c5 Mon Sep 17 00:00:00 2001 From: Justintime50 <39606064+Justintime50@users.noreply.github.com> Date: Tue, 11 Aug 2026 11:20:26 -0600 Subject: [PATCH 32/58] chore: retrigger flaky CodeQL on TSM-08 From 5818e768052e6596734f61cf5589b119e40735d2 Mon Sep 17 00:00:00 2001 From: Justintime50 <39606064+Justintime50@users.noreply.github.com> Date: Tue, 11 Aug 2026 11:20:26 -0600 Subject: [PATCH 33/58] chore: retrigger flaky CodeQL on TSM-08 From 974fc756e3a6aa64c4590c445b3c10ce96f1522d Mon Sep 17 00:00:00 2001 From: Justintime50 <39606064+Justintime50@users.noreply.github.com> Date: Tue, 11 Aug 2026 11:20:26 -0600 Subject: [PATCH 34/58] chore: retrigger flaky CodeQL on TSM-08 From 9513a802f1c35c3cc874b5e609e80c0d0b5ef824 Mon Sep 17 00:00:00 2001 From: Justintime50 <39606064+Justintime50@users.noreply.github.com> Date: Tue, 11 Aug 2026 11:20:26 -0600 Subject: [PATCH 35/58] chore: retrigger flaky CodeQL on TSM-08 From 043b4244970c8a168a0c0ca9d0f6dbe56abed94d Mon Sep 17 00:00:00 2001 From: Justintime50 <39606064+Justintime50@users.noreply.github.com> Date: Tue, 11 Aug 2026 11:20:26 -0600 Subject: [PATCH 36/58] chore: retrigger flaky CodeQL on TSM-08 From 0178fef3afc9888c775a60c0f007e13861cf439d Mon Sep 17 00:00:00 2001 From: Justintime50 <39606064+Justintime50@users.noreply.github.com> Date: Tue, 11 Aug 2026 11:20:26 -0600 Subject: [PATCH 37/58] chore: retrigger flaky CodeQL on TSM-08 From 02c02824e8d122bbe72e54d53bcbe37d3aedbae1 Mon Sep 17 00:00:00 2001 From: Justintime50 <39606064+Justintime50@users.noreply.github.com> Date: Tue, 11 Aug 2026 11:20:26 -0600 Subject: [PATCH 38/58] chore: retrigger flaky CodeQL on TSM-08 From 440c83d02a0534940694414e81860df93552b86b Mon Sep 17 00:00:00 2001 From: Justintime50 <39606064+Justintime50@users.noreply.github.com> Date: Tue, 11 Aug 2026 11:20:26 -0600 Subject: [PATCH 39/58] chore: retrigger flaky CodeQL on TSM-08 From 02906a249a10dbf083cf65524a6f3b1b4b811329 Mon Sep 17 00:00:00 2001 From: Justintime50 <39606064+Justintime50@users.noreply.github.com> Date: Tue, 11 Aug 2026 11:20:26 -0600 Subject: [PATCH 40/58] chore: retrigger flaky CodeQL on TSM-08 From 176fd18205f4aef927e171db5522815c495f7b8e Mon Sep 17 00:00:00 2001 From: Justintime50 <39606064+Justintime50@users.noreply.github.com> Date: Tue, 11 Aug 2026 11:20:26 -0600 Subject: [PATCH 41/58] chore: retrigger flaky CodeQL on TSM-08 From 41091a8800b406a5b512e7223539c36ae7097af9 Mon Sep 17 00:00:00 2001 From: Justintime50 <39606064+Justintime50@users.noreply.github.com> Date: Tue, 11 Aug 2026 11:20:26 -0600 Subject: [PATCH 42/58] chore: retrigger flaky CodeQL on TSM-08 From 06cdb1bc9655eaddf6030070dfb1e80a24a9ad0f Mon Sep 17 00:00:00 2001 From: Justintime50 <39606064+Justintime50@users.noreply.github.com> Date: Tue, 11 Aug 2026 11:20:26 -0600 Subject: [PATCH 43/58] chore: retrigger flaky CodeQL on TSM-08 From cd1f4daa8b94332c3ceabaa69e4364fc78b79dad Mon Sep 17 00:00:00 2001 From: Justintime50 <39606064+Justintime50@users.noreply.github.com> Date: Tue, 11 Aug 2026 11:20:26 -0600 Subject: [PATCH 44/58] chore: retrigger flaky CodeQL on TSM-08 From 5d7809accb13173ae0b394d8c7bd4d75ac01e3bf Mon Sep 17 00:00:00 2001 From: Justintime50 <39606064+Justintime50@users.noreply.github.com> Date: Tue, 11 Aug 2026 11:20:26 -0600 Subject: [PATCH 45/58] chore: retrigger flaky CodeQL on TSM-08 From 0ecaccb18506d7c32ff5b5a8fad51de7ca76238d Mon Sep 17 00:00:00 2001 From: Justintime50 <39606064+Justintime50@users.noreply.github.com> Date: Tue, 11 Aug 2026 11:20:26 -0600 Subject: [PATCH 46/58] chore: retrigger flaky CodeQL on TSM-08 From f89970c21952956cacf6f13ffd78bbffc79b4b32 Mon Sep 17 00:00:00 2001 From: Justintime50 <39606064+Justintime50@users.noreply.github.com> Date: Tue, 11 Aug 2026 11:20:26 -0600 Subject: [PATCH 47/58] chore: retrigger flaky CodeQL on TSM-08 From 64d2b5962ef898a0c1742c422688ab79faea9054 Mon Sep 17 00:00:00 2001 From: Justintime50 <39606064+Justintime50@users.noreply.github.com> Date: Tue, 11 Aug 2026 11:20:26 -0600 Subject: [PATCH 48/58] chore: retrigger flaky CodeQL on TSM-08 From 06703c5623381b79a38f8be893146b1a46f7d9eb Mon Sep 17 00:00:00 2001 From: Justintime50 <39606064+Justintime50@users.noreply.github.com> Date: Tue, 11 Aug 2026 11:20:26 -0600 Subject: [PATCH 49/58] chore: retrigger flaky CodeQL on TSM-08 From e132f52cd8d54f533fd779ff4bffe51721403acd Mon Sep 17 00:00:00 2001 From: Justintime50 <39606064+Justintime50@users.noreply.github.com> Date: Tue, 11 Aug 2026 11:20:26 -0600 Subject: [PATCH 50/58] chore: retrigger flaky CodeQL on TSM-08 From 3f5e169e31d4bfb32e9e8dc435f5a0d83f6f7f2d Mon Sep 17 00:00:00 2001 From: Justintime50 <39606064+Justintime50@users.noreply.github.com> Date: Tue, 11 Aug 2026 11:20:26 -0600 Subject: [PATCH 51/58] chore: retrigger flaky CodeQL on TSM-08 From 28ea0f0e7757ab6be986030f2477ca89e4b788eb Mon Sep 17 00:00:00 2001 From: Justintime50 <39606064+Justintime50@users.noreply.github.com> Date: Tue, 11 Aug 2026 11:20:26 -0600 Subject: [PATCH 52/58] chore: retrigger flaky CodeQL on TSM-08 From 91211c079d0e6500b9ba87343e05b56c2b88b294 Mon Sep 17 00:00:00 2001 From: Justintime50 <39606064+Justintime50@users.noreply.github.com> Date: Tue, 11 Aug 2026 11:20:26 -0600 Subject: [PATCH 53/58] chore: retrigger flaky CodeQL on TSM-08 From 55b902720ca63f87aca0179a474cd220707dea8c Mon Sep 17 00:00:00 2001 From: Justintime50 <39606064+Justintime50@users.noreply.github.com> Date: Tue, 11 Aug 2026 11:20:26 -0600 Subject: [PATCH 54/58] chore: retrigger flaky CodeQL on TSM-08 From 42afcd1e376fdf27e799d13ad8296328132dcb64 Mon Sep 17 00:00:00 2001 From: Justintime50 <39606064+Justintime50@users.noreply.github.com> Date: Mon, 10 Aug 2026 11:39:29 -0600 Subject: [PATCH 55/58] TSM-11 convert models group A to TypeScript --- src/models/{address.js => address.ts} | 2 +- src/models/{customs_info.js => customs_info.ts} | 0 src/models/{customs_item.js => customs_item.ts} | 0 src/models/{parcel.js => parcel.ts} | 2 +- src/models/{postage_label.js => postage_label.ts} | 0 src/models/{shipment.js => shipment.ts} | 6 ++++-- 6 files changed, 6 insertions(+), 4 deletions(-) rename src/models/{address.js => address.ts} (95%) rename src/models/{customs_info.js => customs_info.ts} (100%) rename src/models/{customs_item.js => customs_item.ts} (100%) rename src/models/{parcel.js => parcel.ts} (93%) rename src/models/{postage_label.js => postage_label.ts} (100%) rename src/models/{shipment.js => shipment.ts} (86%) diff --git a/src/models/address.js b/src/models/address.ts similarity index 95% rename from src/models/address.js rename to src/models/address.ts index aff20ae41..4dc5882e6 100644 --- a/src/models/address.js +++ b/src/models/address.ts @@ -14,7 +14,7 @@ export default class Address extends EasyPostObject { static country; static residential; static carrier_facility; - static name; + declare name: unknown; static company; static phone; static email; diff --git a/src/models/customs_info.js b/src/models/customs_info.ts similarity index 100% rename from src/models/customs_info.js rename to src/models/customs_info.ts diff --git a/src/models/customs_item.js b/src/models/customs_item.ts similarity index 100% rename from src/models/customs_item.js rename to src/models/customs_item.ts diff --git a/src/models/parcel.js b/src/models/parcel.ts similarity index 93% rename from src/models/parcel.js rename to src/models/parcel.ts index d8c31515a..4718fabdb 100644 --- a/src/models/parcel.js +++ b/src/models/parcel.ts @@ -7,7 +7,7 @@ import EasyPostObject from './easypost_object'; */ export default class Parcel extends EasyPostObject { static height; - static length; + declare length: unknown; static predefined_package; static weight; static width; diff --git a/src/models/postage_label.js b/src/models/postage_label.ts similarity index 100% rename from src/models/postage_label.js rename to src/models/postage_label.ts diff --git a/src/models/shipment.js b/src/models/shipment.ts similarity index 86% rename from src/models/shipment.js rename to src/models/shipment.ts index 8d82b5e18..8e1591955 100644 --- a/src/models/shipment.js +++ b/src/models/shipment.ts @@ -41,8 +41,10 @@ export default class Shipment extends EasyPostObject { * @returns {Rate} - The lowest rate * @throws {FilteringError} - If no applicable rates are found */ - lowestRate(carriers, services) { - const rates = this.rates || []; + lowestRate(carriers?: string[], services?: string[]): unknown { + const rates = ((this as Shipment & { rates?: unknown[] }).rates || []) as Parameters< + typeof Constants.Utils.getLowestRate + >[0]; return Constants.Utils.getLowestRate(rates, carriers, services); } From 3db5dfc62f82ef0c9e9b040a2685dc5f158db70c Mon Sep 17 00:00:00 2001 From: Justintime50 <39606064+Justintime50@users.noreply.github.com> Date: Mon, 10 Aug 2026 12:05:42 -0600 Subject: [PATCH 56/58] TSM-11 migrate model field types from declarations --- src/models/address.ts | 30 ++++++++++---------- src/models/customs_info.ts | 21 +++++++------- src/models/customs_item.ts | 16 +++++------ src/models/parcel.ts | 10 +++---- src/models/postage_label.ts | 18 ++++++------ src/models/shipment.ts | 55 +++++++++++++++++++------------------ 6 files changed, 77 insertions(+), 73 deletions(-) diff --git a/src/models/address.ts b/src/models/address.ts index 4dc5882e6..ce8fe2d8d 100644 --- a/src/models/address.ts +++ b/src/models/address.ts @@ -6,19 +6,19 @@ import EasyPostObject from './easypost_object'; * @extends EasyPostObject */ export default class Address extends EasyPostObject { - static street1; - static street2; - static city; - static state; - static zip; - static country; - static residential; - static carrier_facility; - declare name: unknown; - static company; - static phone; - static email; - static federal_tax_id; - static state_tax_id; - static verifications; + declare street1?: string | null; + declare street2?: string | null; + declare city?: string | null; + declare state?: string | null; + declare zip: string; + declare country: string; + 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; } diff --git a/src/models/customs_info.ts b/src/models/customs_info.ts index e448a737f..2d96626fc 100644 --- a/src/models/customs_info.ts +++ b/src/models/customs_info.ts @@ -6,14 +6,15 @@ import EasyPostObject from './easypost_object'; * @extends EasyPostObject */ export default class CustomsInfo extends EasyPostObject { - static content_explanation; - static contents_type; - static customs_certify; - static customs_items; - static customs_signer; - static declaration; - static eel_pfc; - static non_delivery_option; - static restriction_comments; - static restriction_type; + declare content_explanation?: string | null; + declare contents_type?: string | null; + declare customs_certify?: boolean | null; + declare customs_items: unknown[]; + 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; } diff --git a/src/models/customs_item.ts b/src/models/customs_item.ts index ec60ac54f..1c03d3a88 100644 --- a/src/models/customs_item.ts +++ b/src/models/customs_item.ts @@ -6,12 +6,12 @@ import EasyPostObject from './easypost_object'; * @extends EasyPostObject */ export default class CustomsItem extends EasyPostObject { - static code; - static currency; - static description; - static hs_tariff_number; - static origin_country; - static quantity; - static value; - static weight; + declare code?: string | null; + declare currency?: string | null; + declare description: string; + declare hs_tariff_number?: string | null; + declare origin_country: string; + declare quantity: number; + declare value: number; + declare weight: number; } diff --git a/src/models/parcel.ts b/src/models/parcel.ts index 4718fabdb..789ebaa5e 100644 --- a/src/models/parcel.ts +++ b/src/models/parcel.ts @@ -6,9 +6,9 @@ import EasyPostObject from './easypost_object'; * @extends EasyPostObject */ export default class Parcel extends EasyPostObject { - static height; - declare length: unknown; - static predefined_package; - static weight; - static width; + declare height?: number | null; + declare length?: number | null; + declare predefined_package?: string | null; + declare weight: number; + declare width?: number | null; } diff --git a/src/models/postage_label.ts b/src/models/postage_label.ts index e72a55252..03ac26a15 100644 --- a/src/models/postage_label.ts +++ b/src/models/postage_label.ts @@ -6,13 +6,13 @@ import EasyPostObject from './easypost_object'; * @extends EasyPostObject */ export default class PostageLabel extends EasyPostObject { - static label_date; - static label_epl2_url; - static label_file_type; - static label_pdf_url; - static label_resolution; - static label_size; - static label_type; - static label_url; - static label_zpl_url; + declare label_date: string; + declare label_epl2_url: string; + declare label_file_type: string; + declare label_pdf_url: string; + declare label_resolution: number; + declare label_size: string; + declare label_type: string; + declare label_url: string; + declare label_zpl_url: string; } diff --git a/src/models/shipment.ts b/src/models/shipment.ts index 8e1591955..1f530a2be 100644 --- a/src/models/shipment.ts +++ b/src/models/shipment.ts @@ -7,31 +7,31 @@ import EasyPostObject from './easypost_object'; * @extends EasyPostObject */ export default class Shipment extends EasyPostObject { - static batch_id; - static batch_message; - static batch_status; - static buyer_address; - static customs_info; - static fees; - static forms; - static from_address; - static insurance; - static is_return; - static messages; - static options; - static parcel; - static postage_label; - static rates; - static reference; - static refund_status; - static return_address; - static scan_form; - static selected_rate; - static status; - static to_address; - static tracker; - static tracking_code; - static usps_zone; + declare batch_id: string; + declare batch_message: string; + declare batch_status: string; + declare buyer_address?: Record | null; + declare customs_info?: Record | null; + declare fees: Record[]; + declare forms: Record[]; + declare from_address: Record; + declare insurance: Record; + declare is_return?: boolean | null; + declare messages: Record[]; + declare options?: Record | null; + declare parcel: Record; + declare postage_label: Record; + declare rates: Parameters[0]; + declare reference?: string | null; + declare refund_status: 'submitted' | 'refunded' | 'rejected'; + declare return_address?: Record | null; + declare scan_form: Record; + declare selected_rate: Parameters[0][number]; + declare status: string; + declare to_address: Record; + declare tracker: Record; + declare tracking_code: string; + declare usps_zone: string; /** * Get the lowest rate for this {@link Shipment}. @@ -41,7 +41,10 @@ export default class Shipment extends EasyPostObject { * @returns {Rate} - The lowest rate * @throws {FilteringError} - If no applicable rates are found */ - lowestRate(carriers?: string[], services?: string[]): unknown { + lowestRate( + carriers?: string[], + services?: string[], + ): ReturnType { const rates = ((this as Shipment & { rates?: unknown[] }).rates || []) as Parameters< typeof Constants.Utils.getLowestRate >[0]; From 01acbcd24e3864494e5f22c50a411ddbe8725350 Mon Sep 17 00:00:00 2001 From: Justintime50 <39606064+Justintime50@users.noreply.github.com> Date: Mon, 10 Aug 2026 12:22:33 -0600 Subject: [PATCH 57/58] TSM-11 make model fields nullable for first pass --- src/models/address.ts | 6 +++--- src/models/customs_info.ts | 2 +- src/models/customs_item.ts | 10 +++++----- src/models/parcel.ts | 2 +- src/models/postage_label.ts | 18 +++++++++--------- src/models/shipment.ts | 38 ++++++++++++++++++------------------- 6 files changed, 38 insertions(+), 38 deletions(-) diff --git a/src/models/address.ts b/src/models/address.ts index ce8fe2d8d..58c067ce1 100644 --- a/src/models/address.ts +++ b/src/models/address.ts @@ -10,8 +10,8 @@ export default class Address extends EasyPostObject { declare street2?: string | null; declare city?: string | null; declare state?: string | null; - declare zip: string; - declare country: string; + declare zip: string | null; + declare country: string | null; declare residential?: boolean | null; declare carrier_facility?: string | null; declare name?: string | null; @@ -20,5 +20,5 @@ export default class Address extends EasyPostObject { declare email?: string | null; declare federal_tax_id?: string | null; declare state_tax_id?: string | null; - declare verifications: Record; + declare verifications: Record | null; } diff --git a/src/models/customs_info.ts b/src/models/customs_info.ts index 2d96626fc..033d7ce0e 100644 --- a/src/models/customs_info.ts +++ b/src/models/customs_info.ts @@ -9,7 +9,7 @@ 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[]; + declare customs_items: unknown[] | null; declare customs_signer?: string | null; declare declaration?: string | null; declare eel_pfc?: string | null; diff --git a/src/models/customs_item.ts b/src/models/customs_item.ts index 1c03d3a88..eaf432ed8 100644 --- a/src/models/customs_item.ts +++ b/src/models/customs_item.ts @@ -8,10 +8,10 @@ import EasyPostObject from './easypost_object'; export default class CustomsItem extends EasyPostObject { declare code?: string | null; declare currency?: string | null; - declare description: string; + declare description: string | null; declare hs_tariff_number?: string | null; - declare origin_country: string; - declare quantity: number; - declare value: number; - declare weight: number; + declare origin_country: string | null; + declare quantity: number | null; + declare value: number | null; + declare weight: number | null; } diff --git a/src/models/parcel.ts b/src/models/parcel.ts index 789ebaa5e..959b5fc82 100644 --- a/src/models/parcel.ts +++ b/src/models/parcel.ts @@ -9,6 +9,6 @@ export default class Parcel extends EasyPostObject { declare height?: number | null; declare length?: number | null; declare predefined_package?: string | null; - declare weight: number; + declare weight: number | null; declare width?: number | null; } diff --git a/src/models/postage_label.ts b/src/models/postage_label.ts index 03ac26a15..2d53a65ec 100644 --- a/src/models/postage_label.ts +++ b/src/models/postage_label.ts @@ -6,13 +6,13 @@ import EasyPostObject from './easypost_object'; * @extends EasyPostObject */ export default class PostageLabel extends EasyPostObject { - declare label_date: string; - declare label_epl2_url: string; - declare label_file_type: string; - declare label_pdf_url: string; - declare label_resolution: number; - declare label_size: string; - declare label_type: string; - declare label_url: string; - declare label_zpl_url: string; + 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; } diff --git a/src/models/shipment.ts b/src/models/shipment.ts index 1f530a2be..9053b3cb1 100644 --- a/src/models/shipment.ts +++ b/src/models/shipment.ts @@ -7,31 +7,31 @@ import EasyPostObject from './easypost_object'; * @extends EasyPostObject */ export default class Shipment extends EasyPostObject { - declare batch_id: string; - declare batch_message: string; - declare batch_status: string; + declare batch_id: string | null; + declare batch_message: string | null; + declare batch_status: string | null; declare buyer_address?: Record | null; declare customs_info?: Record | null; - declare fees: Record[]; - declare forms: Record[]; - declare from_address: Record; - declare insurance: Record; + declare fees: Record[] | null; + declare forms: Record[] | null; + declare from_address: Record | null; + declare insurance: Record | null; declare is_return?: boolean | null; - declare messages: Record[]; + declare messages: Record[] | null; declare options?: Record | null; - declare parcel: Record; - declare postage_label: Record; - declare rates: Parameters[0]; + declare parcel: Record | null; + declare postage_label: Record | null; + declare rates: Parameters[0] | null; declare reference?: string | null; - declare refund_status: 'submitted' | 'refunded' | 'rejected'; + declare refund_status: 'submitted' | 'refunded' | 'rejected' | null; declare return_address?: Record | null; - declare scan_form: Record; - declare selected_rate: Parameters[0][number]; - declare status: string; - declare to_address: Record; - declare tracker: Record; - declare tracking_code: string; - declare usps_zone: string; + declare scan_form: Record | null; + declare selected_rate: Parameters[0][number] | null; + declare status: string | null; + declare to_address: Record | null; + declare tracker: Record | null; + declare tracking_code: string | null; + declare usps_zone: string | null; /** * Get the lowest rate for this {@link Shipment}. From 496407e9f0d83686f2029f1c384bf4c52f974fe0 Mon Sep 17 00:00:00 2001 From: Justintime50 <39606064+Justintime50@users.noreply.github.com> Date: Mon, 10 Aug 2026 12:28:39 -0600 Subject: [PATCH 58/58] TSM-11 make model fields optional and nullable for first pass --- src/models/address.ts | 6 +++--- src/models/customs_info.ts | 2 +- src/models/customs_item.ts | 10 +++++----- src/models/parcel.ts | 2 +- src/models/postage_label.ts | 18 +++++++++--------- src/models/shipment.ts | 38 ++++++++++++++++++------------------- 6 files changed, 38 insertions(+), 38 deletions(-) diff --git a/src/models/address.ts b/src/models/address.ts index 58c067ce1..eee80766c 100644 --- a/src/models/address.ts +++ b/src/models/address.ts @@ -10,8 +10,8 @@ export default class Address extends EasyPostObject { declare street2?: string | null; declare city?: string | null; declare state?: string | null; - declare zip: string | null; - declare country: string | null; + declare zip?: string | null; + declare country?: string | null; declare residential?: boolean | null; declare carrier_facility?: string | null; declare name?: string | null; @@ -20,5 +20,5 @@ export default class Address extends EasyPostObject { declare email?: string | null; declare federal_tax_id?: string | null; declare state_tax_id?: string | null; - declare verifications: Record | null; + declare verifications?: Record | null; } diff --git a/src/models/customs_info.ts b/src/models/customs_info.ts index 033d7ce0e..e40b06047 100644 --- a/src/models/customs_info.ts +++ b/src/models/customs_info.ts @@ -9,7 +9,7 @@ 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_items?: unknown[] | null; declare customs_signer?: string | null; declare declaration?: string | null; declare eel_pfc?: string | null; diff --git a/src/models/customs_item.ts b/src/models/customs_item.ts index eaf432ed8..e2aac7b6c 100644 --- a/src/models/customs_item.ts +++ b/src/models/customs_item.ts @@ -8,10 +8,10 @@ import EasyPostObject from './easypost_object'; export default class CustomsItem extends EasyPostObject { declare code?: string | null; declare currency?: string | null; - declare description: 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; + declare origin_country?: string | null; + declare quantity?: number | null; + declare value?: number | null; + declare weight?: number | null; } diff --git a/src/models/parcel.ts b/src/models/parcel.ts index 959b5fc82..17285fcea 100644 --- a/src/models/parcel.ts +++ b/src/models/parcel.ts @@ -9,6 +9,6 @@ export default class Parcel extends EasyPostObject { declare height?: number | null; declare length?: number | null; declare predefined_package?: string | null; - declare weight: number | null; + declare weight?: number | null; declare width?: number | null; } diff --git a/src/models/postage_label.ts b/src/models/postage_label.ts index 2d53a65ec..72540cfdc 100644 --- a/src/models/postage_label.ts +++ b/src/models/postage_label.ts @@ -6,13 +6,13 @@ import EasyPostObject from './easypost_object'; * @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; + 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; } diff --git a/src/models/shipment.ts b/src/models/shipment.ts index 9053b3cb1..236d56eaf 100644 --- a/src/models/shipment.ts +++ b/src/models/shipment.ts @@ -7,31 +7,31 @@ import EasyPostObject from './easypost_object'; * @extends EasyPostObject */ export default class Shipment extends EasyPostObject { - declare batch_id: string | null; - declare batch_message: string | null; - declare batch_status: string | null; + declare batch_id?: string | null; + declare batch_message?: string | null; + declare batch_status?: string | null; declare buyer_address?: Record | null; declare customs_info?: Record | null; - declare fees: Record[] | null; - declare forms: Record[] | null; - declare from_address: Record | null; - declare insurance: Record | null; + declare fees?: Record[] | null; + declare forms?: Record[] | null; + declare from_address?: Record | null; + declare insurance?: Record | null; declare is_return?: boolean | null; - declare messages: Record[] | null; + declare messages?: Record[] | null; declare options?: Record | null; - declare parcel: Record | null; - declare postage_label: Record | null; - declare rates: Parameters[0] | null; + declare parcel?: Record | null; + declare postage_label?: Record | null; + declare rates?: Parameters[0] | null; declare reference?: string | null; - declare refund_status: 'submitted' | 'refunded' | 'rejected' | null; + declare refund_status?: 'submitted' | 'refunded' | 'rejected' | null; declare return_address?: Record | null; - declare scan_form: Record | null; - declare selected_rate: Parameters[0][number] | null; - declare status: string | null; - declare to_address: Record | null; - declare tracker: Record | null; - declare tracking_code: string | null; - declare usps_zone: string | null; + declare scan_form?: Record | null; + declare selected_rate?: Parameters[0][number] | null; + declare status?: string | null; + declare to_address?: Record | null; + declare tracker?: Record | null; + declare tracking_code?: string | null; + declare usps_zone?: string | null; /** * Get the lowest rate for this {@link Shipment}.