/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import { validateWebhook } from "../funcs/validateWebhook.js"; import { ClientSDK } from "../lib/sdks.js"; import * as components from "../models/components/index.js"; import { unwrapAsync } from "../types/fp.js"; import { Addresses } from "./addresses.js"; import { Batches } from "./batches.js"; import { CarrierAccounts } from "./carrieraccounts.js"; import { CarrierParcelTemplates } from "./carrierparceltemplates.js"; import { CustomsDeclarations } from "./customsdeclarations.js"; import { CustomsItems } from "./customsitems.js"; import { Manifests } from "./manifests.js"; import { Orders } from "./orders.js"; import { Parcels } from "./parcels.js"; import { Pickups } from "./pickups.js"; import { Rates } from "./rates.js"; import { RatesAtCheckout } from "./ratesatcheckout.js"; import { Refunds } from "./refunds.js"; import { ServiceGroups } from "./servicegroups.js"; import { Shipments } from "./shipments.js"; import { ShippoAccounts } from "./shippoaccounts.js"; import { TrackingStatus } from "./trackingstatus.js"; import { Transactions } from "./transactions.js"; import { UserParcelTemplates } from "./userparceltemplates.js"; import { Webhooks } from "./webhooks.js"; export class Shippo extends ClientSDK { private _addresses?: Addresses; get addresses(): Addresses { return (this._addresses ??= new Addresses(this._options)); } private _batches?: Batches; get batches(): Batches { return (this._batches ??= new Batches(this._options)); } private _carrierAccounts?: CarrierAccounts; get carrierAccounts(): CarrierAccounts { return (this._carrierAccounts ??= new CarrierAccounts(this._options)); } private _customsDeclarations?: CustomsDeclarations; get customsDeclarations(): CustomsDeclarations { return (this._customsDeclarations ??= new CustomsDeclarations( this._options, )); } private _customsItems?: CustomsItems; get customsItems(): CustomsItems { return (this._customsItems ??= new CustomsItems(this._options)); } private _ratesAtCheckout?: RatesAtCheckout; get ratesAtCheckout(): RatesAtCheckout { return (this._ratesAtCheckout ??= new RatesAtCheckout(this._options)); } private _manifests?: Manifests; get manifests(): Manifests { return (this._manifests ??= new Manifests(this._options)); } private _orders?: Orders; get orders(): Orders { return (this._orders ??= new Orders(this._options)); } private _carrierParcelTemplates?: CarrierParcelTemplates; get carrierParcelTemplates(): CarrierParcelTemplates { return (this._carrierParcelTemplates ??= new CarrierParcelTemplates( this._options, )); } private _parcels?: Parcels; get parcels(): Parcels { return (this._parcels ??= new Parcels(this._options)); } private _pickups?: Pickups; get pickups(): Pickups { return (this._pickups ??= new Pickups(this._options)); } private _rates?: Rates; get rates(): Rates { return (this._rates ??= new Rates(this._options)); } private _refunds?: Refunds; get refunds(): Refunds { return (this._refunds ??= new Refunds(this._options)); } private _serviceGroups?: ServiceGroups; get serviceGroups(): ServiceGroups { return (this._serviceGroups ??= new ServiceGroups(this._options)); } private _shipments?: Shipments; get shipments(): Shipments { return (this._shipments ??= new Shipments(this._options)); } private _trackingStatus?: TrackingStatus; get trackingStatus(): TrackingStatus { return (this._trackingStatus ??= new TrackingStatus(this._options)); } private _transactions?: Transactions; get transactions(): Transactions { return (this._transactions ??= new Transactions(this._options)); } private _userParcelTemplates?: UserParcelTemplates; get userParcelTemplates(): UserParcelTemplates { return (this._userParcelTemplates ??= new UserParcelTemplates( this._options, )); } private _shippoAccounts?: ShippoAccounts; get shippoAccounts(): ShippoAccounts { return (this._shippoAccounts ??= new ShippoAccounts(this._options)); } private _webhooks?: Webhooks; get webhooks(): Webhooks { return (this._webhooks ??= new Webhooks(this._options)); } async validateWebhook({ request, }: { request: { body: string; headers: Record | Headers; url: string; method: string; } | Request; }): Promise< | components.WebhookPayloadBatch | components.WebhookPayloadTrack | components.WebhookPayloadTransaction > { return unwrapAsync(validateWebhook( this, { request }, )); } }