@veho/turvo-integration-sdk 0.1.0-beta.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 +473 -0
- package/index.ts +1 -0
- package/lib/cjs/api/turvoInternalApi.d.ts +23 -0
- package/lib/cjs/api/turvoInternalApi.js +36 -0
- package/lib/cjs/api/turvoPublicApi.d.ts +99 -0
- package/lib/cjs/api/turvoPublicApi.js +103 -0
- package/lib/cjs/client/turvoClient.d.ts +49 -0
- package/lib/cjs/client/turvoClient.js +180 -0
- package/lib/cjs/constants.d.ts +29 -0
- package/lib/cjs/constants.js +33 -0
- package/lib/cjs/index.d.ts +6 -0
- package/lib/cjs/index.js +37 -0
- package/lib/cjs/shipmentTracking/index.d.ts +22 -0
- package/lib/cjs/shipmentTracking/index.js +39 -0
- package/lib/cjs/shipmentTracking/trackingService.d.ts +25 -0
- package/lib/cjs/shipmentTracking/trackingService.js +85 -0
- package/lib/cjs/types/common.d.ts +64 -0
- package/lib/cjs/types/common.js +27 -0
- package/lib/cjs/types/config.d.ts +13 -0
- package/lib/cjs/types/config.js +3 -0
- package/lib/cjs/types/errors.d.ts +35 -0
- package/lib/cjs/types/errors.js +63 -0
- package/lib/cjs/types/index.d.ts +5 -0
- package/lib/cjs/types/index.js +27 -0
- package/lib/cjs/types/shipment.d.ts +379 -0
- package/lib/cjs/types/shipment.js +46 -0
- package/lib/cjs/types/tracking.d.ts +65 -0
- package/lib/cjs/types/tracking.js +3 -0
- package/lib/esm/api/turvoInternalApi.d.ts +23 -0
- package/lib/esm/api/turvoInternalApi.js +32 -0
- package/lib/esm/api/turvoPublicApi.d.ts +99 -0
- package/lib/esm/api/turvoPublicApi.js +99 -0
- package/lib/esm/client/turvoClient.d.ts +49 -0
- package/lib/esm/client/turvoClient.js +172 -0
- package/lib/esm/constants.d.ts +29 -0
- package/lib/esm/constants.js +30 -0
- package/lib/esm/index.d.ts +6 -0
- package/lib/esm/index.js +11 -0
- package/lib/esm/shipmentTracking/index.d.ts +22 -0
- package/lib/esm/shipmentTracking/index.js +36 -0
- package/lib/esm/shipmentTracking/trackingService.d.ts +25 -0
- package/lib/esm/shipmentTracking/trackingService.js +81 -0
- package/lib/esm/types/common.d.ts +64 -0
- package/lib/esm/types/common.js +23 -0
- package/lib/esm/types/config.d.ts +13 -0
- package/lib/esm/types/config.js +2 -0
- package/lib/esm/types/errors.d.ts +35 -0
- package/lib/esm/types/errors.js +55 -0
- package/lib/esm/types/index.d.ts +5 -0
- package/lib/esm/types/index.js +11 -0
- package/lib/esm/types/shipment.d.ts +379 -0
- package/lib/esm/types/shipment.js +43 -0
- package/lib/esm/types/tracking.d.ts +65 -0
- package/lib/esm/types/tracking.js +2 -0
- package/lib/tsconfig.cjs.tsbuildinfo +1 -0
- package/lib/tsconfig.esm.tsbuildinfo +1 -0
- package/package.json +126 -0
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TrackingService = void 0;
|
|
4
|
+
const errors_1 = require("../types/errors");
|
|
5
|
+
/**
|
|
6
|
+
* TrackingService orchestrates calls to public and internal APIs
|
|
7
|
+
* to provide a unified shipment tracking interface.
|
|
8
|
+
*/
|
|
9
|
+
class TrackingService {
|
|
10
|
+
publicApi;
|
|
11
|
+
internalApi;
|
|
12
|
+
constructor(publicApi, internalApi) {
|
|
13
|
+
this.publicApi = publicApi;
|
|
14
|
+
this.internalApi = internalApi;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Main entry point - combines all API data to produce ShipmentTracking
|
|
18
|
+
*
|
|
19
|
+
* @param shipmentId - The shipment ID to track
|
|
20
|
+
* @param options - Tracking options
|
|
21
|
+
* @returns Complete shipment tracking information
|
|
22
|
+
*/
|
|
23
|
+
async getTracking(shipmentId, options = {}) {
|
|
24
|
+
// 1. Fetch public API data (required)
|
|
25
|
+
const shipmentResult = await this.publicApi.getShipment({ shipmentId: parseInt(shipmentId) });
|
|
26
|
+
if (!shipmentResult.details) {
|
|
27
|
+
throw new errors_1.TurvoNotFoundError(shipmentId);
|
|
28
|
+
}
|
|
29
|
+
const shipment = shipmentResult.details;
|
|
30
|
+
// 2. Fetch internal API data (optional, may fail)
|
|
31
|
+
let locationUpdates = null;
|
|
32
|
+
let internalApiFailed = false;
|
|
33
|
+
if (options.includeGps !== false) {
|
|
34
|
+
try {
|
|
35
|
+
locationUpdates = await this.internalApi.getLocationUpdates(shipmentId);
|
|
36
|
+
}
|
|
37
|
+
catch (error) {
|
|
38
|
+
// Log but don't fail - internal API is optional
|
|
39
|
+
internalApiFailed = true;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
// 3. Transform to clean response
|
|
43
|
+
return this.transformToTrackingDetails(shipment, locationUpdates, internalApiFailed);
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Transform raw Turvo API responses into clean ShipmentTracking type
|
|
47
|
+
*
|
|
48
|
+
*/
|
|
49
|
+
transformToTrackingDetails(shipment, locationUpdates, internalApiFailed) {
|
|
50
|
+
const shipmentData = shipment;
|
|
51
|
+
return {
|
|
52
|
+
// Identifiers
|
|
53
|
+
shipmentId: shipmentData.id?.toString() || '',
|
|
54
|
+
loadReferenceNumber: shipmentData.customId || '',
|
|
55
|
+
// Status
|
|
56
|
+
status: shipmentData.status?.code?.value || 'Unknown',
|
|
57
|
+
lateBy: shipment.status.runningLate?.lateDurationString ?? null,
|
|
58
|
+
isLate: !!shipment.status.runningLate,
|
|
59
|
+
// Current location (if tracking available)
|
|
60
|
+
currentLocation: shipment.status.location ?? null,
|
|
61
|
+
hasGpsTracking: locationUpdates !== null && !internalApiFailed,
|
|
62
|
+
// Progress
|
|
63
|
+
completedStops: 0, // TODO: Count from shipmentData.globalRoute
|
|
64
|
+
totalStops: shipmentData.globalRoute?.length || 0, // TODO: parse from shipmentData.globalRoute
|
|
65
|
+
// Stops (ordered)
|
|
66
|
+
stops: [], // TODO: implment global route parsing
|
|
67
|
+
// ETA & Distance
|
|
68
|
+
etaUtc: shipment.status.attributes?.etaValUtc ?? null,
|
|
69
|
+
etaTimezone: shipment.status.attributes?.next_eta_cal_val_timezone ?? null,
|
|
70
|
+
milesRemaining: shipment.status.location?.nextMiles ?? null,
|
|
71
|
+
totalMiles: null, // TODO: Derive from global route -- find current stop, and figure out total distance leading to it
|
|
72
|
+
// GPS Pings (only populated if includeGps: true and hasGpsTracking)
|
|
73
|
+
locationUpdates: locationUpdates || null, // TODO: implment with scraper
|
|
74
|
+
pingCount: locationUpdates?.length || null, // TODO: implement with scraper
|
|
75
|
+
lastPingAt: locationUpdates?.[(locationUpdates?.length || 0) - 1]?.timestamp ||
|
|
76
|
+
null, // TODO: implement with scraper
|
|
77
|
+
// Shipment Attributes
|
|
78
|
+
laneType: shipment.flexAttributes?.find(attribute => attribute.name === 'Lane Type')?.value ?? null,
|
|
79
|
+
managementType: shipment.flexAttributes?.find(attribute => attribute.name === 'Management Type')?.value ?? null,
|
|
80
|
+
carrier: shipmentData.carrierOrder?.[0]?.carrier?.name || null,
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
exports.TrackingService = TrackingService;
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhY2tpbmdTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NoaXBtZW50VHJhY2tpbmcvdHJhY2tpbmdTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUdBLDRDQUFvRDtBQUdwRDs7O0dBR0c7QUFDSCxNQUFhLGVBQWU7SUFFaEI7SUFDQTtJQUZWLFlBQ1UsU0FBeUIsRUFDekIsV0FBNkI7UUFEN0IsY0FBUyxHQUFULFNBQVMsQ0FBZ0I7UUFDekIsZ0JBQVcsR0FBWCxXQUFXLENBQWtCO0lBQ3BDLENBQUM7SUFFSjs7Ozs7O09BTUc7SUFDSCxLQUFLLENBQUMsV0FBVyxDQUFDLFVBQWtCLEVBQUUsVUFBOEIsRUFBRTtRQUNwRSxzQ0FBc0M7UUFDdEMsTUFBTSxjQUFjLEdBQUcsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxFQUFFLFVBQVUsRUFBRSxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFBO1FBRTdGLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDNUIsTUFBTSxJQUFJLDJCQUFrQixDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQzFDLENBQUM7UUFFRCxNQUFNLFFBQVEsR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFBO1FBRXZDLGtEQUFrRDtRQUNsRCxJQUFJLGVBQWUsR0FBNEIsSUFBSSxDQUFBO1FBQ25ELElBQUksaUJBQWlCLEdBQUcsS0FBSyxDQUFBO1FBRTdCLElBQUksT0FBTyxDQUFDLFVBQVUsS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUNqQyxJQUFJLENBQUM7Z0JBQ0gsZUFBZSxHQUFHLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsQ0FBQTtZQUN6RSxDQUFDO1lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztnQkFDZixnREFBZ0Q7Z0JBQ2hELGlCQUFpQixHQUFHLElBQUksQ0FBQTtZQUMxQixDQUFDO1FBQ0gsQ0FBQztRQUVELGlDQUFpQztRQUNqQyxPQUFPLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLEVBQUUsZUFBZSxFQUFFLGlCQUFpQixDQUFDLENBQUE7SUFDdEYsQ0FBQztJQUVEOzs7T0FHRztJQUNLLDBCQUEwQixDQUNoQyxRQUF1QixFQUN2QixlQUF3QyxFQUN4QyxpQkFBMEI7UUFFMUIsTUFBTSxZQUFZLEdBQUcsUUFBeUIsQ0FBQTtRQUM5QyxPQUFPO1lBQ0wsY0FBYztZQUNkLFVBQVUsRUFBRyxZQUFZLENBQUMsRUFBYSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7WUFDekQsbUJBQW1CLEVBQUcsWUFBWSxDQUFDLFFBQW1CLElBQUksRUFBRTtZQUU1RCxTQUFTO1lBQ1QsTUFBTSxFQUFHLFlBQVksQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQWdCLElBQUksU0FBUztZQUNqRSxNQUFNLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsa0JBQWtCLElBQUksSUFBSTtZQUMvRCxNQUFNLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsV0FBVztZQUVyQywyQ0FBMkM7WUFDM0MsZUFBZSxFQUFFLFFBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUSxJQUFJLElBQUk7WUFDakQsY0FBYyxFQUFFLGVBQWUsS0FBSyxJQUFJLElBQUksQ0FBQyxpQkFBaUI7WUFFOUQsV0FBVztZQUNYLGNBQWMsRUFBRSxDQUFDLEVBQUUsNENBQTRDO1lBQy9ELFVBQVUsRUFBRyxZQUFZLENBQUMsV0FBeUIsRUFBRSxNQUFNLElBQUksQ0FBQyxFQUFFLDRDQUE0QztZQUU5RyxrQkFBa0I7WUFDbEIsS0FBSyxFQUFFLEVBQUUsRUFBRSxzQ0FBc0M7WUFFakQsaUJBQWlCO1lBQ2pCLE1BQU0sRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxTQUFTLElBQUksSUFBSTtZQUNyRCxXQUFXLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUseUJBQXlCLElBQUksSUFBSTtZQUMxRSxjQUFjLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsU0FBUyxJQUFJLElBQUk7WUFDM0QsVUFBVSxFQUFFLElBQUksRUFBRSxtR0FBbUc7WUFFckgsb0VBQW9FO1lBQ3BFLGVBQWUsRUFBRyxlQUFvQyxJQUFJLElBQUksRUFBRSw4QkFBOEI7WUFDOUYsU0FBUyxFQUFHLGVBQW9DLEVBQUUsTUFBTSxJQUFJLElBQUksRUFBRSwrQkFBK0I7WUFDakcsVUFBVSxFQUNQLGVBQW9DLEVBQUUsQ0FBQyxDQUFFLGVBQW9DLEVBQUUsTUFBTSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLFNBQVM7Z0JBQzVHLElBQUksRUFBRSwrQkFBK0I7WUFFdkMsc0JBQXNCO1lBQ3RCLFFBQVEsRUFBRSxRQUFRLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEtBQUssV0FBVyxDQUFDLEVBQUUsS0FBSyxJQUFJLElBQUk7WUFDbkcsY0FBYyxFQUFFLFFBQVEsQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksS0FBSyxpQkFBaUIsQ0FBQyxFQUFFLEtBQUssSUFBSSxJQUFJO1lBQy9HLE9BQU8sRUFFRCxZQUFZLENBQUMsWUFBMEIsRUFBRSxDQUFDLENBQUMsQ0FBNkIsRUFBRSxPQUM3RSxFQUFFLElBQWUsSUFBSSxJQUFJO1NBQzdCLENBQUE7SUFDSCxDQUFDO0NBQ0Y7QUE3RkQsMENBNkZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHVydm9JbnRlcm5hbEFwaSB9IGZyb20gJy4uL2FwaS90dXJ2b0ludGVybmFsQXBpJ1xuaW1wb3J0IHsgVHVydm9QdWJsaWNBcGkgfSBmcm9tICcuLi9hcGkvdHVydm9QdWJsaWNBcGknXG5pbXBvcnQgeyBUdXJ2b1NoaXBtZW50IH0gZnJvbSAnLi4vdHlwZXMnXG5pbXBvcnQgeyBUdXJ2b05vdEZvdW5kRXJyb3IgfSBmcm9tICcuLi90eXBlcy9lcnJvcnMnXG5pbXBvcnQgeyBHZXRUcmFja2luZ09wdGlvbnMsIExvY2F0aW9uVXBkYXRlLCBTaGlwbWVudFRyYWNraW5nIH0gZnJvbSAnLi4vdHlwZXMvdHJhY2tpbmcnXG5cbi8qKlxuICogVHJhY2tpbmdTZXJ2aWNlIG9yY2hlc3RyYXRlcyBjYWxscyB0byBwdWJsaWMgYW5kIGludGVybmFsIEFQSXNcbiAqIHRvIHByb3ZpZGUgYSB1bmlmaWVkIHNoaXBtZW50IHRyYWNraW5nIGludGVyZmFjZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFRyYWNraW5nU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcHVibGljQXBpOiBUdXJ2b1B1YmxpY0FwaSxcbiAgICBwcml2YXRlIGludGVybmFsQXBpOiBUdXJ2b0ludGVybmFsQXBpXG4gICkge31cblxuICAvKipcbiAgICogTWFpbiBlbnRyeSBwb2ludCAtIGNvbWJpbmVzIGFsbCBBUEkgZGF0YSB0byBwcm9kdWNlIFNoaXBtZW50VHJhY2tpbmdcbiAgICpcbiAgICogQHBhcmFtIHNoaXBtZW50SWQgLSBUaGUgc2hpcG1lbnQgSUQgdG8gdHJhY2tcbiAgICogQHBhcmFtIG9wdGlvbnMgLSBUcmFja2luZyBvcHRpb25zXG4gICAqIEByZXR1cm5zIENvbXBsZXRlIHNoaXBtZW50IHRyYWNraW5nIGluZm9ybWF0aW9uXG4gICAqL1xuICBhc3luYyBnZXRUcmFja2luZyhzaGlwbWVudElkOiBzdHJpbmcsIG9wdGlvbnM6IEdldFRyYWNraW5nT3B0aW9ucyA9IHt9KTogUHJvbWlzZTxTaGlwbWVudFRyYWNraW5nPiB7XG4gICAgLy8gMS4gRmV0Y2ggcHVibGljIEFQSSBkYXRhIChyZXF1aXJlZClcbiAgICBjb25zdCBzaGlwbWVudFJlc3VsdCA9IGF3YWl0IHRoaXMucHVibGljQXBpLmdldFNoaXBtZW50KHsgc2hpcG1lbnRJZDogcGFyc2VJbnQoc2hpcG1lbnRJZCkgfSlcblxuICAgIGlmICghc2hpcG1lbnRSZXN1bHQuZGV0YWlscykge1xuICAgICAgdGhyb3cgbmV3IFR1cnZvTm90Rm91bmRFcnJvcihzaGlwbWVudElkKVxuICAgIH1cblxuICAgIGNvbnN0IHNoaXBtZW50ID0gc2hpcG1lbnRSZXN1bHQuZGV0YWlsc1xuXG4gICAgLy8gMi4gRmV0Y2ggaW50ZXJuYWwgQVBJIGRhdGEgKG9wdGlvbmFsLCBtYXkgZmFpbClcbiAgICBsZXQgbG9jYXRpb25VcGRhdGVzOiBMb2NhdGlvblVwZGF0ZVtdIHwgbnVsbCA9IG51bGxcbiAgICBsZXQgaW50ZXJuYWxBcGlGYWlsZWQgPSBmYWxzZVxuXG4gICAgaWYgKG9wdGlvbnMuaW5jbHVkZUdwcyAhPT0gZmFsc2UpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGxvY2F0aW9uVXBkYXRlcyA9IGF3YWl0IHRoaXMuaW50ZXJuYWxBcGkuZ2V0TG9jYXRpb25VcGRhdGVzKHNoaXBtZW50SWQpXG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAvLyBMb2cgYnV0IGRvbid0IGZhaWwgLSBpbnRlcm5hbCBBUEkgaXMgb3B0aW9uYWxcbiAgICAgICAgaW50ZXJuYWxBcGlGYWlsZWQgPSB0cnVlXG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gMy4gVHJhbnNmb3JtIHRvIGNsZWFuIHJlc3BvbnNlXG4gICAgcmV0dXJuIHRoaXMudHJhbnNmb3JtVG9UcmFja2luZ0RldGFpbHMoc2hpcG1lbnQsIGxvY2F0aW9uVXBkYXRlcywgaW50ZXJuYWxBcGlGYWlsZWQpXG4gIH1cblxuICAvKipcbiAgICogVHJhbnNmb3JtIHJhdyBUdXJ2byBBUEkgcmVzcG9uc2VzIGludG8gY2xlYW4gU2hpcG1lbnRUcmFja2luZyB0eXBlXG4gICAqXG4gICAqL1xuICBwcml2YXRlIHRyYW5zZm9ybVRvVHJhY2tpbmdEZXRhaWxzKFxuICAgIHNoaXBtZW50OiBUdXJ2b1NoaXBtZW50LFxuICAgIGxvY2F0aW9uVXBkYXRlczogTG9jYXRpb25VcGRhdGVbXSB8IG51bGwsXG4gICAgaW50ZXJuYWxBcGlGYWlsZWQ6IGJvb2xlYW5cbiAgKTogU2hpcG1lbnRUcmFja2luZyB7XG4gICAgY29uc3Qgc2hpcG1lbnREYXRhID0gc2hpcG1lbnQgYXMgVHVydm9TaGlwbWVudFxuICAgIHJldHVybiB7XG4gICAgICAvLyBJZGVudGlmaWVyc1xuICAgICAgc2hpcG1lbnRJZDogKHNoaXBtZW50RGF0YS5pZCBhcyBudW1iZXIpPy50b1N0cmluZygpIHx8ICcnLFxuICAgICAgbG9hZFJlZmVyZW5jZU51bWJlcjogKHNoaXBtZW50RGF0YS5jdXN0b21JZCBhcyBzdHJpbmcpIHx8ICcnLFxuXG4gICAgICAvLyBTdGF0dXNcbiAgICAgIHN0YXR1czogKHNoaXBtZW50RGF0YS5zdGF0dXM/LmNvZGU/LnZhbHVlIGFzIHN0cmluZykgfHwgJ1Vua25vd24nLFxuICAgICAgbGF0ZUJ5OiBzaGlwbWVudC5zdGF0dXMucnVubmluZ0xhdGU/LmxhdGVEdXJhdGlvblN0cmluZyA/PyBudWxsLFxuICAgICAgaXNMYXRlOiAhIXNoaXBtZW50LnN0YXR1cy5ydW5uaW5nTGF0ZSxcblxuICAgICAgLy8gQ3VycmVudCBsb2NhdGlvbiAoaWYgdHJhY2tpbmcgYXZhaWxhYmxlKVxuICAgICAgY3VycmVudExvY2F0aW9uOiBzaGlwbWVudC5zdGF0dXMubG9jYXRpb24gPz8gbnVsbCxcbiAgICAgIGhhc0dwc1RyYWNraW5nOiBsb2NhdGlvblVwZGF0ZXMgIT09IG51bGwgJiYgIWludGVybmFsQXBpRmFpbGVkLFxuXG4gICAgICAvLyBQcm9ncmVzc1xuICAgICAgY29tcGxldGVkU3RvcHM6IDAsIC8vIFRPRE86IENvdW50IGZyb20gc2hpcG1lbnREYXRhLmdsb2JhbFJvdXRlXG4gICAgICB0b3RhbFN0b3BzOiAoc2hpcG1lbnREYXRhLmdsb2JhbFJvdXRlIGFzIHVua25vd25bXSk/Lmxlbmd0aCB8fCAwLCAvLyBUT0RPOiBwYXJzZSBmcm9tIHNoaXBtZW50RGF0YS5nbG9iYWxSb3V0ZVxuXG4gICAgICAvLyBTdG9wcyAob3JkZXJlZClcbiAgICAgIHN0b3BzOiBbXSwgLy8gVE9ETzogaW1wbG1lbnQgZ2xvYmFsIHJvdXRlIHBhcnNpbmdcblxuICAgICAgLy8gRVRBICYgRGlzdGFuY2VcbiAgICAgIGV0YVV0Yzogc2hpcG1lbnQuc3RhdHVzLmF0dHJpYnV0ZXM/LmV0YVZhbFV0YyA/PyBudWxsLFxuICAgICAgZXRhVGltZXpvbmU6IHNoaXBtZW50LnN0YXR1cy5hdHRyaWJ1dGVzPy5uZXh0X2V0YV9jYWxfdmFsX3RpbWV6b25lID8/IG51bGwsXG4gICAgICBtaWxlc1JlbWFpbmluZzogc2hpcG1lbnQuc3RhdHVzLmxvY2F0aW9uPy5uZXh0TWlsZXMgPz8gbnVsbCxcbiAgICAgIHRvdGFsTWlsZXM6IG51bGwsIC8vIFRPRE86IERlcml2ZSBmcm9tIGdsb2JhbCByb3V0ZSAtLSBmaW5kIGN1cnJlbnQgc3RvcCwgYW5kIGZpZ3VyZSBvdXQgdG90YWwgZGlzdGFuY2UgbGVhZGluZyB0byBpdFxuXG4gICAgICAvLyBHUFMgUGluZ3MgKG9ubHkgcG9wdWxhdGVkIGlmIGluY2x1ZGVHcHM6IHRydWUgYW5kIGhhc0dwc1RyYWNraW5nKVxuICAgICAgbG9jYXRpb25VcGRhdGVzOiAobG9jYXRpb25VcGRhdGVzIGFzIExvY2F0aW9uVXBkYXRlW10pIHx8IG51bGwsIC8vIFRPRE86IGltcGxtZW50IHdpdGggc2NyYXBlclxuICAgICAgcGluZ0NvdW50OiAobG9jYXRpb25VcGRhdGVzIGFzIExvY2F0aW9uVXBkYXRlW10pPy5sZW5ndGggfHwgbnVsbCwgLy8gVE9ETzogaW1wbGVtZW50IHdpdGggc2NyYXBlclxuICAgICAgbGFzdFBpbmdBdDpcbiAgICAgICAgKGxvY2F0aW9uVXBkYXRlcyBhcyBMb2NhdGlvblVwZGF0ZVtdKT8uWygobG9jYXRpb25VcGRhdGVzIGFzIExvY2F0aW9uVXBkYXRlW10pPy5sZW5ndGggfHwgMCkgLSAxXT8udGltZXN0YW1wIHx8XG4gICAgICAgIG51bGwsIC8vIFRPRE86IGltcGxlbWVudCB3aXRoIHNjcmFwZXJcblxuICAgICAgLy8gU2hpcG1lbnQgQXR0cmlidXRlc1xuICAgICAgbGFuZVR5cGU6IHNoaXBtZW50LmZsZXhBdHRyaWJ1dGVzPy5maW5kKGF0dHJpYnV0ZSA9PiBhdHRyaWJ1dGUubmFtZSA9PT0gJ0xhbmUgVHlwZScpPy52YWx1ZSA/PyBudWxsLFxuICAgICAgbWFuYWdlbWVudFR5cGU6IHNoaXBtZW50LmZsZXhBdHRyaWJ1dGVzPy5maW5kKGF0dHJpYnV0ZSA9PiBhdHRyaWJ1dGUubmFtZSA9PT0gJ01hbmFnZW1lbnQgVHlwZScpPy52YWx1ZSA/PyBudWxsLFxuICAgICAgY2FycmllcjpcbiAgICAgICAgKChcbiAgICAgICAgICAoKHNoaXBtZW50RGF0YS5jYXJyaWVyT3JkZXIgYXMgdW5rbm93bltdKT8uWzBdIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KT8uY2FycmllciBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICAgICAgICApPy5uYW1lIGFzIHN0cmluZykgfHwgbnVsbCxcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
export declare class TurvoApiError extends Error {
|
|
2
|
+
errorCode: string;
|
|
3
|
+
errorMessage: string;
|
|
4
|
+
constructor(errorCode: string, errorMessage: string);
|
|
5
|
+
}
|
|
6
|
+
export type TurvoApiResult<T = void> = {
|
|
7
|
+
Status: 'SUCCESS' | string;
|
|
8
|
+
details: T;
|
|
9
|
+
};
|
|
10
|
+
export declare enum TurvoApiResponseStatus {
|
|
11
|
+
SUCCESS = "SUCCESS",
|
|
12
|
+
ERROR = "ERROR"
|
|
13
|
+
}
|
|
14
|
+
export declare enum TurvoApiMethod {
|
|
15
|
+
GET = "GET",
|
|
16
|
+
POST = "POST",
|
|
17
|
+
PUT = "PUT",
|
|
18
|
+
DELETE = "DELETE"
|
|
19
|
+
}
|
|
20
|
+
export type TurvoPagedResult<K extends string, T extends Record<any, unknown>> = {
|
|
21
|
+
pagination: {
|
|
22
|
+
start: number;
|
|
23
|
+
pageSize: number;
|
|
24
|
+
totalRecordsInPage: number;
|
|
25
|
+
moreAvailable: boolean;
|
|
26
|
+
};
|
|
27
|
+
} & (Record<K, T[]> | Record<K, undefined>);
|
|
28
|
+
export type TurvoFilterShipmentsResultItem = {
|
|
29
|
+
id: number;
|
|
30
|
+
customId: string;
|
|
31
|
+
lastUpdatedOn: string;
|
|
32
|
+
updated: string;
|
|
33
|
+
createdDate: string;
|
|
34
|
+
created: string;
|
|
35
|
+
status: {
|
|
36
|
+
code: TurvoLookup;
|
|
37
|
+
};
|
|
38
|
+
customerOrder: {
|
|
39
|
+
id: number;
|
|
40
|
+
customer: {
|
|
41
|
+
id: number;
|
|
42
|
+
name: string;
|
|
43
|
+
};
|
|
44
|
+
}[];
|
|
45
|
+
carrierOrder: {
|
|
46
|
+
id: number;
|
|
47
|
+
carrier: {
|
|
48
|
+
name: string;
|
|
49
|
+
id: number;
|
|
50
|
+
};
|
|
51
|
+
}[];
|
|
52
|
+
};
|
|
53
|
+
export type TurvoDateWithTimezone = {
|
|
54
|
+
date: string;
|
|
55
|
+
timeZone: string;
|
|
56
|
+
};
|
|
57
|
+
export type TurvoDateWithTimezoneLowercase = {
|
|
58
|
+
date: string;
|
|
59
|
+
timezone: string;
|
|
60
|
+
};
|
|
61
|
+
export type TurvoLookup = {
|
|
62
|
+
key: string;
|
|
63
|
+
value: string;
|
|
64
|
+
};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TurvoApiMethod = exports.TurvoApiResponseStatus = exports.TurvoApiError = void 0;
|
|
4
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
5
|
+
class TurvoApiError extends Error {
|
|
6
|
+
errorCode;
|
|
7
|
+
errorMessage;
|
|
8
|
+
constructor(errorCode, errorMessage) {
|
|
9
|
+
super(`Turvo Api Response Error ${errorCode}: ${errorMessage}`);
|
|
10
|
+
this.errorCode = errorCode;
|
|
11
|
+
this.errorMessage = errorMessage;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
exports.TurvoApiError = TurvoApiError;
|
|
15
|
+
var TurvoApiResponseStatus;
|
|
16
|
+
(function (TurvoApiResponseStatus) {
|
|
17
|
+
TurvoApiResponseStatus["SUCCESS"] = "SUCCESS";
|
|
18
|
+
TurvoApiResponseStatus["ERROR"] = "ERROR";
|
|
19
|
+
})(TurvoApiResponseStatus || (exports.TurvoApiResponseStatus = TurvoApiResponseStatus = {}));
|
|
20
|
+
var TurvoApiMethod;
|
|
21
|
+
(function (TurvoApiMethod) {
|
|
22
|
+
TurvoApiMethod["GET"] = "GET";
|
|
23
|
+
TurvoApiMethod["POST"] = "POST";
|
|
24
|
+
TurvoApiMethod["PUT"] = "PUT";
|
|
25
|
+
TurvoApiMethod["DELETE"] = "DELETE";
|
|
26
|
+
})(TurvoApiMethod || (exports.TurvoApiMethod = TurvoApiMethod = {}));
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3R5cGVzL2NvbW1vbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx1REFBdUQ7QUFDdkQsTUFBYSxhQUFjLFNBQVEsS0FBSztJQUN0QyxTQUFTLENBQVE7SUFDakIsWUFBWSxDQUFRO0lBRXBCLFlBQVksU0FBaUIsRUFBRSxZQUFvQjtRQUNqRCxLQUFLLENBQUMsNEJBQTRCLFNBQVMsS0FBSyxZQUFZLEVBQUUsQ0FBQyxDQUFBO1FBQy9ELElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFBO1FBQzFCLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFBO0lBQ2xDLENBQUM7Q0FDRjtBQVRELHNDQVNDO0FBT0QsSUFBWSxzQkFHWDtBQUhELFdBQVksc0JBQXNCO0lBQ2hDLDZDQUFtQixDQUFBO0lBQ25CLHlDQUFlLENBQUE7QUFDakIsQ0FBQyxFQUhXLHNCQUFzQixzQ0FBdEIsc0JBQXNCLFFBR2pDO0FBRUQsSUFBWSxjQUtYO0FBTEQsV0FBWSxjQUFjO0lBQ3hCLDZCQUFXLENBQUE7SUFDWCwrQkFBYSxDQUFBO0lBQ2IsNkJBQVcsQ0FBQTtJQUNYLG1DQUFpQixDQUFBO0FBQ25CLENBQUMsRUFMVyxjQUFjLDhCQUFkLGNBQWMsUUFLekIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5leHBvcnQgY2xhc3MgVHVydm9BcGlFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgZXJyb3JDb2RlOiBzdHJpbmdcbiAgZXJyb3JNZXNzYWdlOiBzdHJpbmdcblxuICBjb25zdHJ1Y3RvcihlcnJvckNvZGU6IHN0cmluZywgZXJyb3JNZXNzYWdlOiBzdHJpbmcpIHtcbiAgICBzdXBlcihgVHVydm8gQXBpIFJlc3BvbnNlIEVycm9yICR7ZXJyb3JDb2RlfTogJHtlcnJvck1lc3NhZ2V9YClcbiAgICB0aGlzLmVycm9yQ29kZSA9IGVycm9yQ29kZVxuICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gZXJyb3JNZXNzYWdlXG4gIH1cbn1cblxuZXhwb3J0IHR5cGUgVHVydm9BcGlSZXN1bHQ8VCA9IHZvaWQ+ID0ge1xuICBTdGF0dXM6ICdTVUNDRVNTJyB8IHN0cmluZ1xuICBkZXRhaWxzOiBUXG59XG5cbmV4cG9ydCBlbnVtIFR1cnZvQXBpUmVzcG9uc2VTdGF0dXMge1xuICBTVUNDRVNTID0gJ1NVQ0NFU1MnLFxuICBFUlJPUiA9ICdFUlJPUicsXG59XG5cbmV4cG9ydCBlbnVtIFR1cnZvQXBpTWV0aG9kIHtcbiAgR0VUID0gJ0dFVCcsXG4gIFBPU1QgPSAnUE9TVCcsXG4gIFBVVCA9ICdQVVQnLFxuICBERUxFVEUgPSAnREVMRVRFJyxcbn1cblxuZXhwb3J0IHR5cGUgVHVydm9QYWdlZFJlc3VsdDxLIGV4dGVuZHMgc3RyaW5nLCBUIGV4dGVuZHMgUmVjb3JkPGFueSwgdW5rbm93bj4+ID0ge1xuICBwYWdpbmF0aW9uOiB7XG4gICAgc3RhcnQ6IG51bWJlclxuICAgIHBhZ2VTaXplOiBudW1iZXJcbiAgICB0b3RhbFJlY29yZHNJblBhZ2U6IG51bWJlclxuICAgIG1vcmVBdmFpbGFibGU6IGJvb2xlYW5cbiAgfVxufSAmIChSZWNvcmQ8SywgVFtdPiB8IFJlY29yZDxLLCB1bmRlZmluZWQ+KVxuXG5leHBvcnQgdHlwZSBUdXJ2b0ZpbHRlclNoaXBtZW50c1Jlc3VsdEl0ZW0gPSB7XG4gIGlkOiBudW1iZXJcbiAgY3VzdG9tSWQ6IHN0cmluZ1xuICBsYXN0VXBkYXRlZE9uOiBzdHJpbmdcbiAgdXBkYXRlZDogc3RyaW5nXG4gIGNyZWF0ZWREYXRlOiBzdHJpbmdcbiAgY3JlYXRlZDogc3RyaW5nXG4gIHN0YXR1czogeyBjb2RlOiBUdXJ2b0xvb2t1cCB9XG4gIGN1c3RvbWVyT3JkZXI6IHtcbiAgICBpZDogbnVtYmVyXG4gICAgY3VzdG9tZXI6IHtcbiAgICAgIGlkOiBudW1iZXJcbiAgICAgIG5hbWU6IHN0cmluZ1xuICAgIH1cbiAgfVtdXG4gIGNhcnJpZXJPcmRlcjoge1xuICAgIGlkOiBudW1iZXJcbiAgICBjYXJyaWVyOiB7XG4gICAgICBuYW1lOiBzdHJpbmdcbiAgICAgIGlkOiBudW1iZXJcbiAgICB9XG4gIH1bXVxufVxuXG5leHBvcnQgdHlwZSBUdXJ2b0RhdGVXaXRoVGltZXpvbmUgPSB7XG4gIGRhdGU6IHN0cmluZ1xuICB0aW1lWm9uZTogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIFR1cnZvRGF0ZVdpdGhUaW1lem9uZUxvd2VyY2FzZSA9IHtcbiAgZGF0ZTogc3RyaW5nXG4gIHRpbWV6b25lOiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgVHVydm9Mb29rdXAgPSB7XG4gIGtleTogc3RyaW5nXG4gIHZhbHVlOiBzdHJpbmdcbn1cbiJdfQ==
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Turvo API credentials
|
|
3
|
+
*/
|
|
4
|
+
export interface TurvoCredentials {
|
|
5
|
+
/** Turvo API key (x-api-key header) */
|
|
6
|
+
apiKey: string;
|
|
7
|
+
/** OAuth username */
|
|
8
|
+
username: string;
|
|
9
|
+
/** OAuth password */
|
|
10
|
+
password: string;
|
|
11
|
+
/** Turvo API base URL */
|
|
12
|
+
urlBase: string;
|
|
13
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3R5cGVzL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBUdXJ2byBBUEkgY3JlZGVudGlhbHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUdXJ2b0NyZWRlbnRpYWxzIHtcbiAgLyoqIFR1cnZvIEFQSSBrZXkgKHgtYXBpLWtleSBoZWFkZXIpICovXG4gIGFwaUtleTogc3RyaW5nXG4gIC8qKiBPQXV0aCB1c2VybmFtZSAqL1xuICB1c2VybmFtZTogc3RyaW5nXG4gIC8qKiBPQXV0aCBwYXNzd29yZCAqL1xuICBwYXNzd29yZDogc3RyaW5nXG4gIC8qKiBUdXJ2byBBUEkgYmFzZSBVUkwgKi9cbiAgdXJsQmFzZTogc3RyaW5nXG59XG4iXX0=
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shipment not found in Turvo
|
|
3
|
+
*/
|
|
4
|
+
export declare class TurvoNotFoundError extends Error {
|
|
5
|
+
readonly shipmentId: string;
|
|
6
|
+
constructor(shipmentId: string);
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Authentication failed (invalid credentials, expired token)
|
|
10
|
+
*/
|
|
11
|
+
export declare class TurvoAuthError extends Error {
|
|
12
|
+
constructor(message: string);
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Rate limited by Turvo
|
|
16
|
+
*/
|
|
17
|
+
export declare class TurvoRateLimitError extends Error {
|
|
18
|
+
readonly retryAfter?: number | undefined;
|
|
19
|
+
constructor(retryAfter?: number | undefined);
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Internal API failed but public API succeeded.
|
|
23
|
+
* Contains partial data in `partialData` field.
|
|
24
|
+
*/
|
|
25
|
+
export declare class TurvoPartialDataError extends Error {
|
|
26
|
+
readonly partialData: unknown;
|
|
27
|
+
readonly failedApis: string[];
|
|
28
|
+
constructor(partialData: unknown, failedApis: string[]);
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Error thrown when Turvo secrets cannot be retrieved from AWS Secrets Manager
|
|
32
|
+
*/
|
|
33
|
+
export declare class NoSecretError extends Error {
|
|
34
|
+
constructor(path: string);
|
|
35
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NoSecretError = exports.TurvoPartialDataError = exports.TurvoRateLimitError = exports.TurvoAuthError = exports.TurvoNotFoundError = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Shipment not found in Turvo
|
|
6
|
+
*/
|
|
7
|
+
class TurvoNotFoundError extends Error {
|
|
8
|
+
shipmentId;
|
|
9
|
+
constructor(shipmentId) {
|
|
10
|
+
super(`Shipment not found in Turvo: ${shipmentId}`);
|
|
11
|
+
this.shipmentId = shipmentId;
|
|
12
|
+
this.name = 'TurvoNotFoundError';
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
exports.TurvoNotFoundError = TurvoNotFoundError;
|
|
16
|
+
/**
|
|
17
|
+
* Authentication failed (invalid credentials, expired token)
|
|
18
|
+
*/
|
|
19
|
+
class TurvoAuthError extends Error {
|
|
20
|
+
constructor(message) {
|
|
21
|
+
super(`Turvo authentication failed: ${message}`);
|
|
22
|
+
this.name = 'TurvoAuthError';
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
exports.TurvoAuthError = TurvoAuthError;
|
|
26
|
+
/**
|
|
27
|
+
* Rate limited by Turvo
|
|
28
|
+
*/
|
|
29
|
+
class TurvoRateLimitError extends Error {
|
|
30
|
+
retryAfter;
|
|
31
|
+
constructor(retryAfter) {
|
|
32
|
+
super(`Rate limited by Turvo${retryAfter ? `. Retry after ${retryAfter} seconds` : ''}`);
|
|
33
|
+
this.retryAfter = retryAfter;
|
|
34
|
+
this.name = 'TurvoRateLimitError';
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
exports.TurvoRateLimitError = TurvoRateLimitError;
|
|
38
|
+
/**
|
|
39
|
+
* Internal API failed but public API succeeded.
|
|
40
|
+
* Contains partial data in `partialData` field.
|
|
41
|
+
*/
|
|
42
|
+
class TurvoPartialDataError extends Error {
|
|
43
|
+
partialData;
|
|
44
|
+
failedApis;
|
|
45
|
+
constructor(partialData, failedApis) {
|
|
46
|
+
super(`Turvo internal API failed for: ${failedApis.join(', ')}. Partial data available.`);
|
|
47
|
+
this.partialData = partialData;
|
|
48
|
+
this.failedApis = failedApis;
|
|
49
|
+
this.name = 'TurvoPartialDataError';
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
exports.TurvoPartialDataError = TurvoPartialDataError;
|
|
53
|
+
/**
|
|
54
|
+
* Error thrown when Turvo secrets cannot be retrieved from AWS Secrets Manager
|
|
55
|
+
*/
|
|
56
|
+
class NoSecretError extends Error {
|
|
57
|
+
constructor(path) {
|
|
58
|
+
super(`No secret found at path: ${path}`);
|
|
59
|
+
this.name = 'NoSecretError';
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
exports.NoSecretError = NoSecretError;
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3R5cGVzL2Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7R0FFRztBQUNILE1BQWEsa0JBQW1CLFNBQVEsS0FBSztJQUNmO0lBQTVCLFlBQTRCLFVBQWtCO1FBQzVDLEtBQUssQ0FBQyxnQ0FBZ0MsVUFBVSxFQUFFLENBQUMsQ0FBQTtRQUR6QixlQUFVLEdBQVYsVUFBVSxDQUFRO1FBRTVDLElBQUksQ0FBQyxJQUFJLEdBQUcsb0JBQW9CLENBQUE7SUFDbEMsQ0FBQztDQUNGO0FBTEQsZ0RBS0M7QUFFRDs7R0FFRztBQUNILE1BQWEsY0FBZSxTQUFRLEtBQUs7SUFDdkMsWUFBWSxPQUFlO1FBQ3pCLEtBQUssQ0FBQyxnQ0FBZ0MsT0FBTyxFQUFFLENBQUMsQ0FBQTtRQUNoRCxJQUFJLENBQUMsSUFBSSxHQUFHLGdCQUFnQixDQUFBO0lBQzlCLENBQUM7Q0FDRjtBQUxELHdDQUtDO0FBRUQ7O0dBRUc7QUFDSCxNQUFhLG1CQUFvQixTQUFRLEtBQUs7SUFDaEI7SUFBNUIsWUFBNEIsVUFBbUI7UUFDN0MsS0FBSyxDQUFDLHdCQUF3QixVQUFVLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixVQUFVLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQTtRQUQ5RCxlQUFVLEdBQVYsVUFBVSxDQUFTO1FBRTdDLElBQUksQ0FBQyxJQUFJLEdBQUcscUJBQXFCLENBQUE7SUFDbkMsQ0FBQztDQUNGO0FBTEQsa0RBS0M7QUFFRDs7O0dBR0c7QUFDSCxNQUFhLHFCQUFzQixTQUFRLEtBQUs7SUFFNUI7SUFDQTtJQUZsQixZQUNrQixXQUFvQixFQUNwQixVQUFvQjtRQUVwQyxLQUFLLENBQUMsa0NBQWtDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLDJCQUEyQixDQUFDLENBQUE7UUFIekUsZ0JBQVcsR0FBWCxXQUFXLENBQVM7UUFDcEIsZUFBVSxHQUFWLFVBQVUsQ0FBVTtRQUdwQyxJQUFJLENBQUMsSUFBSSxHQUFHLHVCQUF1QixDQUFBO0lBQ3JDLENBQUM7Q0FDRjtBQVJELHNEQVFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFhLGFBQWMsU0FBUSxLQUFLO0lBQ3RDLFlBQVksSUFBWTtRQUN0QixLQUFLLENBQUMsNEJBQTRCLElBQUksRUFBRSxDQUFDLENBQUE7UUFDekMsSUFBSSxDQUFDLElBQUksR0FBRyxlQUFlLENBQUE7SUFDN0IsQ0FBQztDQUNGO0FBTEQsc0NBS0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFNoaXBtZW50IG5vdCBmb3VuZCBpbiBUdXJ2b1xuICovXG5leHBvcnQgY2xhc3MgVHVydm9Ob3RGb3VuZEVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgc2hpcG1lbnRJZDogc3RyaW5nKSB7XG4gICAgc3VwZXIoYFNoaXBtZW50IG5vdCBmb3VuZCBpbiBUdXJ2bzogJHtzaGlwbWVudElkfWApXG4gICAgdGhpcy5uYW1lID0gJ1R1cnZvTm90Rm91bmRFcnJvcidcbiAgfVxufVxuXG4vKipcbiAqIEF1dGhlbnRpY2F0aW9uIGZhaWxlZCAoaW52YWxpZCBjcmVkZW50aWFscywgZXhwaXJlZCB0b2tlbilcbiAqL1xuZXhwb3J0IGNsYXNzIFR1cnZvQXV0aEVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcpIHtcbiAgICBzdXBlcihgVHVydm8gYXV0aGVudGljYXRpb24gZmFpbGVkOiAke21lc3NhZ2V9YClcbiAgICB0aGlzLm5hbWUgPSAnVHVydm9BdXRoRXJyb3InXG4gIH1cbn1cblxuLyoqXG4gKiBSYXRlIGxpbWl0ZWQgYnkgVHVydm9cbiAqL1xuZXhwb3J0IGNsYXNzIFR1cnZvUmF0ZUxpbWl0RXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSByZXRyeUFmdGVyPzogbnVtYmVyKSB7XG4gICAgc3VwZXIoYFJhdGUgbGltaXRlZCBieSBUdXJ2byR7cmV0cnlBZnRlciA/IGAuIFJldHJ5IGFmdGVyICR7cmV0cnlBZnRlcn0gc2Vjb25kc2AgOiAnJ31gKVxuICAgIHRoaXMubmFtZSA9ICdUdXJ2b1JhdGVMaW1pdEVycm9yJ1xuICB9XG59XG5cbi8qKlxuICogSW50ZXJuYWwgQVBJIGZhaWxlZCBidXQgcHVibGljIEFQSSBzdWNjZWVkZWQuXG4gKiBDb250YWlucyBwYXJ0aWFsIGRhdGEgaW4gYHBhcnRpYWxEYXRhYCBmaWVsZC5cbiAqL1xuZXhwb3J0IGNsYXNzIFR1cnZvUGFydGlhbERhdGFFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IHBhcnRpYWxEYXRhOiB1bmtub3duLFxuICAgIHB1YmxpYyByZWFkb25seSBmYWlsZWRBcGlzOiBzdHJpbmdbXVxuICApIHtcbiAgICBzdXBlcihgVHVydm8gaW50ZXJuYWwgQVBJIGZhaWxlZCBmb3I6ICR7ZmFpbGVkQXBpcy5qb2luKCcsICcpfS4gUGFydGlhbCBkYXRhIGF2YWlsYWJsZS5gKVxuICAgIHRoaXMubmFtZSA9ICdUdXJ2b1BhcnRpYWxEYXRhRXJyb3InXG4gIH1cbn1cblxuLyoqXG4gKiBFcnJvciB0aHJvd24gd2hlbiBUdXJ2byBzZWNyZXRzIGNhbm5vdCBiZSByZXRyaWV2ZWQgZnJvbSBBV1MgU2VjcmV0cyBNYW5hZ2VyXG4gKi9cbmV4cG9ydCBjbGFzcyBOb1NlY3JldEVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihwYXRoOiBzdHJpbmcpIHtcbiAgICBzdXBlcihgTm8gc2VjcmV0IGZvdW5kIGF0IHBhdGg6ICR7cGF0aH1gKVxuICAgIHRoaXMubmFtZSA9ICdOb1NlY3JldEVycm9yJ1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
// Config types
|
|
18
|
+
__exportStar(require("./config"), exports);
|
|
19
|
+
// Common API types
|
|
20
|
+
__exportStar(require("./common"), exports);
|
|
21
|
+
// Shipment types
|
|
22
|
+
__exportStar(require("./shipment"), exports);
|
|
23
|
+
// Tracking types
|
|
24
|
+
__exportStar(require("./tracking"), exports);
|
|
25
|
+
// Error types
|
|
26
|
+
__exportStar(require("./errors"), exports);
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGVBQWU7QUFDZiwyQ0FBd0I7QUFFeEIsbUJBQW1CO0FBQ25CLDJDQUF3QjtBQUV4QixpQkFBaUI7QUFDakIsNkNBQTBCO0FBRTFCLGlCQUFpQjtBQUNqQiw2Q0FBMEI7QUFFMUIsY0FBYztBQUNkLDJDQUF3QiIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvbmZpZyB0eXBlc1xuZXhwb3J0ICogZnJvbSAnLi9jb25maWcnXG5cbi8vIENvbW1vbiBBUEkgdHlwZXNcbmV4cG9ydCAqIGZyb20gJy4vY29tbW9uJ1xuXG4vLyBTaGlwbWVudCB0eXBlc1xuZXhwb3J0ICogZnJvbSAnLi9zaGlwbWVudCdcblxuLy8gVHJhY2tpbmcgdHlwZXNcbmV4cG9ydCAqIGZyb20gJy4vdHJhY2tpbmcnXG5cbi8vIEVycm9yIHR5cGVzXG5leHBvcnQgKiBmcm9tICcuL2Vycm9ycydcbiJdfQ==
|