@veho/turvo-integration-sdk 0.1.0-beta.0 → 0.1.0-beta.1
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/CHANGELOG.md +22 -0
- package/lib/cjs/api/turvoPublicApi.d.ts +3 -3
- package/lib/cjs/api/turvoPublicApi.js +2 -2
- package/lib/cjs/db/client.d.ts +9 -0
- package/lib/cjs/db/client.js +37 -0
- package/lib/cjs/db/facilityMapping.d.ts +27 -0
- package/lib/cjs/db/facilityMapping.js +178 -0
- package/lib/cjs/shipmentTracking/trackingService.js +54 -14
- package/lib/cjs/types/errors.d.ts +6 -0
- package/lib/cjs/types/errors.js +12 -2
- package/lib/cjs/types/facilityMapping.d.ts +9 -0
- package/lib/cjs/types/facilityMapping.js +3 -0
- package/lib/cjs/types/shipment.d.ts +11 -0
- package/lib/cjs/types/shipment.js +1 -1
- package/lib/cjs/types/tracking.d.ts +13 -11
- package/lib/cjs/types/tracking.js +1 -1
- package/lib/esm/api/turvoPublicApi.d.ts +3 -3
- package/lib/esm/api/turvoPublicApi.js +2 -2
- package/lib/esm/db/client.d.ts +9 -0
- package/lib/esm/db/client.js +26 -0
- package/lib/esm/db/facilityMapping.d.ts +27 -0
- package/lib/esm/db/facilityMapping.js +171 -0
- package/lib/esm/shipmentTracking/trackingService.js +55 -15
- package/lib/esm/types/errors.d.ts +6 -0
- package/lib/esm/types/errors.js +10 -1
- package/lib/esm/types/facilityMapping.d.ts +9 -0
- package/lib/esm/types/facilityMapping.js +2 -0
- package/lib/esm/types/shipment.d.ts +11 -0
- package/lib/esm/types/shipment.js +1 -1
- package/lib/esm/types/tracking.d.ts +13 -11
- package/lib/esm/types/tracking.js +1 -1
- package/lib/tsconfig.cjs.tsbuildinfo +1 -1
- package/lib/tsconfig.esm.tsbuildinfo +1 -1
- package/package.json +5 -1
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
|
|
5
|
+
## [0.1.0-beta.1] - 2026-01-29
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
- Initial SDK implementation for Turvo API integration
|
|
9
|
+
- TurvoClient for managing API interactions
|
|
10
|
+
- Turvo Public API client with shipment operations
|
|
11
|
+
- Turvo Internal API client for additional functionality
|
|
12
|
+
- Facility mapping functionality with DynamoDB integration
|
|
13
|
+
- Shipment tracking service with detailed tracking information
|
|
14
|
+
- Comprehensive TypeScript types for Turvo entities
|
|
15
|
+
- Support for both CommonJS and ESM modules
|
|
16
|
+
|
|
17
|
+
### Features
|
|
18
|
+
- Create, update, and query shipments
|
|
19
|
+
- Retrieve shipment tracking details
|
|
20
|
+
- Manage facility code mappings
|
|
21
|
+
- Handle authentication and rate limiting
|
|
22
|
+
- Error handling with custom error types
|
|
@@ -32,10 +32,10 @@ export interface CancelShipmentParams {
|
|
|
32
32
|
export interface UpdateShipmentStatusParams {
|
|
33
33
|
/** The Turvo shipment ID */
|
|
34
34
|
turvoShipmentId: number;
|
|
35
|
-
/** The Turvo stop ID */
|
|
36
|
-
turvoStopId
|
|
35
|
+
/** The Turvo stop ID (optional, depending on type of status update) */
|
|
36
|
+
turvoStopId?: number;
|
|
37
37
|
/** The status code to set */
|
|
38
|
-
turvoStatusCode: TurvoShipmentStatus;
|
|
38
|
+
turvoStatusCode: TurvoShipmentStatus['code'];
|
|
39
39
|
/** The status date in ISO format */
|
|
40
40
|
statusDate: string;
|
|
41
41
|
/** The timezone for the status date */
|
|
@@ -73,7 +73,7 @@ class TurvoPublicApi {
|
|
|
73
73
|
id: turvoShipmentId,
|
|
74
74
|
status: {
|
|
75
75
|
globalShipLocationId: turvoStopId,
|
|
76
|
-
code: turvoStatusCode
|
|
76
|
+
code: turvoStatusCode,
|
|
77
77
|
timezone: statusTimezone,
|
|
78
78
|
statusDate: {
|
|
79
79
|
date: statusDate,
|
|
@@ -100,4 +100,4 @@ class TurvoPublicApi {
|
|
|
100
100
|
}
|
|
101
101
|
}
|
|
102
102
|
exports.TurvoPublicApi = TurvoPublicApi;
|
|
103
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHVydm9QdWJsaWNBcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL3R1cnZvUHVibGljQXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLDRDQU13QjtBQTBFeEI7OztHQUdHO0FBQ0gsTUFBYSxjQUFjO0lBQ0w7SUFBcEIsWUFBb0IsTUFBbUI7UUFBbkIsV0FBTSxHQUFOLE1BQU0sQ0FBYTtJQUFHLENBQUM7SUFFM0M7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLFdBQVcsQ0FBQyxNQUF5QjtRQUN6QyxNQUFNLEVBQUUsVUFBVSxFQUFFLEdBQUcsTUFBTSxDQUFBO1FBQzdCLE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxzQkFBc0IsRUFBRSxDQUFBO1FBRTdELE9BQU8sVUFBVSxDQUFDLFdBQVcsQ0FBZ0IsY0FBYyxVQUFVLEVBQUUsRUFBRSx1QkFBYyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQTtJQUNsRyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLGNBQWMsQ0FBQyxNQUE0QjtRQUMvQyxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsTUFBTSxDQUFBO1FBQzNCLDJFQUEyRTtRQUMzRSxNQUFNLFVBQVUsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsc0JBQXNCLEVBQUUsQ0FBQTtRQUU3RCxPQUFPLFVBQVUsQ0FBQyxXQUFXLENBQStCLFlBQVksRUFBRSx1QkFBYyxDQUFDLElBQUksRUFBRTtZQUM3RixJQUFJLEVBQUUsUUFBUTtTQUNmLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRDs7O09BR0c7SUFDSCxLQUFLLENBQUMsdUJBQXVCLENBQUMsTUFBMkI7UUFDdkQsTUFBTSxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsR0FBRyxNQUFNLENBQUE7UUFDeEMsTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLHNCQUFzQixFQUFFLENBQUE7UUFFN0QsT0FBTyxVQUFVLENBQUMsV0FBVyxDQUMzQix5QkFBeUIsZUFBZSxFQUFFLEVBQzFDLHVCQUFjLENBQUMsR0FBRyxFQUNsQjtZQUNFLElBQUksRUFBRTtnQkFDSixRQUFRLEVBQUUsSUFBSTthQUNmO1NBQ0YsQ0FDRixDQUFBO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxjQUFjLENBQUMsTUFBNEI7UUFDL0MsTUFBTSxFQUFFLGVBQWUsRUFBRSxHQUFHLE1BQU0sQ0FBQTtRQUNsQyxNQUFNLFVBQVUsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsc0JBQXNCLEVBQUUsQ0FBQTtRQUU3RCxNQUFNLElBQUksR0FBRztZQUNYLEVBQUUsRUFBRSxlQUFlO1lBQ25CLE1BQU0sRUFBRTtnQkFDTixJQUFJLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQXdCO2FBQy9EO1NBQ0YsQ0FBQTtRQUVELE9BQU8sVUFBVSxDQUFDLFdBQVcsQ0FDM0IscUJBQXFCLGVBQWUsRUFBRSxFQUN0Qyx1QkFBYyxDQUFDLEdBQUcsRUFDbEI7WUFDRSxJQUFJO1NBQ0wsQ0FDRixDQUFBO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxvQkFBb0IsQ0FDeEIsTUFBa0M7UUFFbEMsTUFBTSxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsR0FBRyxNQUFNLENBQUE7UUFDNUYsTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLHNCQUFzQixFQUFFLENBQUE7UUFFN0QsTUFBTSxJQUFJLEdBQUc7WUFDWCxFQUFFLEVBQUUsZUFBZTtZQUNuQixNQUFNLEVBQUU7Z0JBQ04sb0JBQW9CLEVBQUUsV0FBVztnQkFDakMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxJQUFJO2dCQUMxQixRQUFRLEVBQUUsY0FBYztnQkFDeEIsVUFBVSxFQUFFO29CQUNWLElBQUksRUFBRSxVQUFVO29CQUNoQixRQUFRLEVBQUUsY0FBYztpQkFDekI7YUFDRjtTQUNGLENBQUE7UUFFRCxPQUFPLFVBQVUsQ0FBQyxXQUFXLENBQzNCLHFCQUFxQixlQUFlLEVBQUUsRUFDdEMsdUJBQWMsQ0FBQyxHQUFHLEVBQ2xCLEVBQUUsSUFBSSxFQUFFLENBQ1QsQ0FBQTtJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSCxLQUFLLENBQUMsZUFBZSxDQUNuQixNQUE2QjtRQUU3QixNQUFNLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEdBQUcsTUFBTSxDQUFBO1FBQzlELE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxzQkFBc0IsRUFBRSxDQUFBO1FBRTdELE9BQU8sVUFBVSxDQUFDLFdBQVcsQ0FDM0IsaUJBQWlCLEVBQ2pCLHVCQUFjLENBQUMsR0FBRyxFQUNsQjtZQUNFLEtBQUssRUFBRTtnQkFDTCxnQkFBZ0IsRUFBRSxlQUFlLENBQUMsUUFBUSxFQUFFO2dCQUM1QyxpQkFBaUIsRUFBRSxlQUFlO2dCQUNsQyxLQUFLLEVBQUUsS0FBSyxDQUFDLFFBQVEsRUFBRTthQUN4QjtTQUNGLENBQ0YsQ0FBQTtJQUNILENBQUM7Q0FDRjtBQTNIRCx3Q0EySEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUdXJ2b0NsaWVudCB9IGZyb20gJy4uL2NsaWVudC90dXJ2b0NsaWVudCdcbmltcG9ydCB7XG4gIFR1cnZvQXBpTWV0aG9kLFxuICBUdXJ2b0FwaVJlc3VsdCxcbiAgVHVydm9GaWx0ZXJTaGlwbWVudHNSZXN1bHRJdGVtLFxuICBUdXJ2b0xvb2t1cCxcbiAgVHVydm9QYWdlZFJlc3VsdCxcbn0gZnJvbSAnLi4vdHlwZXMvY29tbW9uJ1xuaW1wb3J0IHtcbiAgVHVydm9Bc3NvY2lhdGVUYWdzQXBpUmVzdWx0LFxuICBUdXJ2b0NhbmNlbFNoaXBtZW50QXBpUmVzdWx0LFxuICBUdXJ2b0NyZWF0ZVNoaXBtZW50QXBpUmVzdWx0LFxuICBUdXJ2b1NoaXBtZW50LFxuICBUdXJ2b1NoaXBtZW50U3RhdHVzLFxuICBUdXJ2b1VwZGF0ZVNoaXBtZW50U3RhdHVzQXBpUmVzdWx0LFxufSBmcm9tICcuLi90eXBlcy9zaGlwbWVudCdcblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB1cGxvYWRpbmcgYSBzaGlwbWVudCB0byBUdXJ2b1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFVwbG9hZFNoaXBtZW50UGFyYW1zIHtcbiAgLyoqIFRoZSBmb3JtYXR0ZWQgc2hpcG1lbnQgdG8gdXBsb2FkICovXG4gIHNoaXBtZW50OiBUdXJ2b1NoaXBtZW50XG4gIC8qKiBUaGUgTG9hZCBJRCwgc29sZWx5IGZvciBsb2dnaW5nIHB1cnBvc2VzICovXG4gIHZlaG9Mb2FkSWQ6IHN0cmluZ1xufVxuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIGFzc29jaWF0aW5nIHRhZ3MgdG8gYSBzaGlwbWVudFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFzc29jaWF0ZVRhZ3NQYXJhbXMge1xuICAvKiogVGhlIHNoaXBtZW50IElEIHRvIGFzc29jaWF0ZSB0YWdzIHdpdGggKi9cbiAgdHVydm9TaGlwbWVudElkOiBudW1iZXJcbiAgLyoqIExpc3Qgb2YgdGFnIG5hbWVzIHRvIGFzc2lnbiAqL1xuICB0YWdzOiBzdHJpbmdbXVxufVxuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIGNhbmNlbGxpbmcgYSBzaGlwbWVudFxuICovXG5leHBvcnQgaW50ZXJmYWNlIENhbmNlbFNoaXBtZW50UGFyYW1zIHtcbiAgLyoqIFRoZSBUdXJ2byBzeXN0ZW0gU2hpcG1lbnQgSUQgdG8gY2FuY2VsICovXG4gIHR1cnZvU2hpcG1lbnRJZDogbnVtYmVyXG59XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3IgdXBkYXRpbmcgc2hpcG1lbnQgc3RhdHVzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlU2hpcG1lbnRTdGF0dXNQYXJhbXMge1xuICAvKiogVGhlIFR1cnZvIHNoaXBtZW50IElEICovXG4gIHR1cnZvU2hpcG1lbnRJZDogbnVtYmVyXG4gIC8qKiBUaGUgVHVydm8gc3RvcCBJRCAqL1xuICB0dXJ2b1N0b3BJZDogbnVtYmVyXG4gIC8qKiBUaGUgc3RhdHVzIGNvZGUgdG8gc2V0ICovXG4gIHR1cnZvU3RhdHVzQ29kZTogVHVydm9TaGlwbWVudFN0YXR1c1xuICAvKiogVGhlIHN0YXR1cyBkYXRlIGluIElTTyBmb3JtYXQgKi9cbiAgc3RhdHVzRGF0ZTogc3RyaW5nXG4gIC8qKiBUaGUgdGltZXpvbmUgZm9yIHRoZSBzdGF0dXMgZGF0ZSAqL1xuICBzdGF0dXNUaW1lem9uZTogc3RyaW5nXG59XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3IgcmV0cmlldmluZyBhIHNoaXBtZW50XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2V0U2hpcG1lbnRQYXJhbXMge1xuICAvKiogVGhlIHNoaXBtZW50IElEIHRvIHJldHJpZXZlICovXG4gIHNoaXBtZW50SWQ6IG51bWJlclxufVxuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIGZpbHRlcmluZyBzaGlwbWVudHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGaWx0ZXJTaGlwbWVudHNQYXJhbXMge1xuICAvKiogVHVydm8gbG9jYXRpb24gSUQgdG8gZmlsdGVyIGJ5ICovXG4gIHR1cnZvTG9jYXRpb25JZDogbnVtYmVyXG4gIC8qKiBQaWNrdXAgZGF0ZSBzdGFydCBmaWx0ZXIgKElTTyBmb3JtYXQpICovXG4gIHBpY2t1cERhdGVTdGFydDogc3RyaW5nXG4gIC8qKiBPcHRpb25hbCBwYWdpbmF0aW9uIHN0YXJ0IG9mZnNldCAqL1xuICBzdGFydD86IG51bWJlclxufVxuXG4vKipcbiAqIFR1cnZvUHVibGljQXBpIHByb3ZpZGVzIGFjY2VzcyB0byBkb2N1bWVudGVkIFR1cnZvIEFQSSBlbmRwb2ludHMuXG4gKiBBbGwgc2hpcG1lbnQgbWFuYWdlbWVudCBvcGVyYXRpb25zIChjcmVhdGUsIHVwZGF0ZSwgY2FuY2VsLCBxdWVyeSkgZ28gdGhyb3VnaCB0aGlzIGNsYXNzLlxuICovXG5leHBvcnQgY2xhc3MgVHVydm9QdWJsaWNBcGkge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNsaWVudDogVHVydm9DbGllbnQpIHt9XG5cbiAgLyoqXG4gICAqIEdFVCAvdjEvc2hpcG1lbnRzL3tpZH1cbiAgICogUmV0dXJucyBzaGlwbWVudCBkZXRhaWxzLCBzdG9wcywgc3RhdHVzXG4gICAqL1xuICBhc3luYyBnZXRTaGlwbWVudChwYXJhbXM6IEdldFNoaXBtZW50UGFyYW1zKTogUHJvbWlzZTxUdXJ2b0FwaVJlc3VsdDxUdXJ2b1NoaXBtZW50Pj4ge1xuICAgIGNvbnN0IHsgc2hpcG1lbnRJZCB9ID0gcGFyYW1zXG4gICAgY29uc3QgaHR0cENsaWVudCA9IGF3YWl0IHRoaXMuY2xpZW50LmdldEF1dGhlbnRpY2F0ZWRDbGllbnQoKVxuXG4gICAgcmV0dXJuIGh0dHBDbGllbnQuc2VuZFJlcXVlc3Q8VHVydm9TaGlwbWVudD4oYC9zaGlwbWVudHMvJHtzaGlwbWVudElkfWAsIFR1cnZvQXBpTWV0aG9kLkdFVCwge30pXG4gIH1cblxuICAvKipcbiAgICogUE9TVCAvdjEvc2hpcG1lbnRzXG4gICAqIFVwbG9hZCBwcm9wZXJseSBmb3JtYXR0ZWQgc2hpcG1lbnQgdG8gVHVydm9cbiAgICovXG4gIGFzeW5jIHVwbG9hZFNoaXBtZW50KHBhcmFtczogVXBsb2FkU2hpcG1lbnRQYXJhbXMpOiBQcm9taXNlPFR1cnZvQXBpUmVzdWx0PFR1cnZvQ3JlYXRlU2hpcG1lbnRBcGlSZXN1bHQ+PiB7XG4gICAgY29uc3QgeyBzaGlwbWVudCB9ID0gcGFyYW1zXG4gICAgLy8gTm90ZTogdmVob0xvYWRJZCBpcyBrZXB0IGluIHRoZSBwYXJhbXMgZm9yIGxvZ2dpbmcgcHVycG9zZXMgYnkgY29uc3VtZXJzXG4gICAgY29uc3QgaHR0cENsaWVudCA9IGF3YWl0IHRoaXMuY2xpZW50LmdldEF1dGhlbnRpY2F0ZWRDbGllbnQoKVxuXG4gICAgcmV0dXJuIGh0dHBDbGllbnQuc2VuZFJlcXVlc3Q8VHVydm9DcmVhdGVTaGlwbWVudEFwaVJlc3VsdD4oJy9zaGlwbWVudHMnLCBUdXJ2b0FwaU1ldGhvZC5QT1NULCB7XG4gICAgICBib2R5OiBzaGlwbWVudCxcbiAgICB9KVxuICB9XG5cbiAgLyoqXG4gICAqIFBVVCAvdjEvdGFncy9hdHRhY2gvc2hpcG1lbnQve2lkfVxuICAgKiBBc3NvY2lhdGUgYSBsaXN0IG9mIHRhZ3Mgd2l0aCBhIHNoaXBtZW50IGJ5IElEXG4gICAqL1xuICBhc3luYyBhc3NvY2lhdGVUYWdzVG9TaGlwbWVudChwYXJhbXM6IEFzc29jaWF0ZVRhZ3NQYXJhbXMpOiBQcm9taXNlPFR1cnZvQXBpUmVzdWx0PFR1cnZvQXNzb2NpYXRlVGFnc0FwaVJlc3VsdD4+IHtcbiAgICBjb25zdCB7IHR1cnZvU2hpcG1lbnRJZCwgdGFncyB9ID0gcGFyYW1zXG4gICAgY29uc3QgaHR0cENsaWVudCA9IGF3YWl0IHRoaXMuY2xpZW50LmdldEF1dGhlbnRpY2F0ZWRDbGllbnQoKVxuXG4gICAgcmV0dXJuIGh0dHBDbGllbnQuc2VuZFJlcXVlc3Q8VHVydm9Bc3NvY2lhdGVUYWdzQXBpUmVzdWx0PihcbiAgICAgIGAvdGFncy9hdHRhY2gvc2hpcG1lbnQvJHt0dXJ2b1NoaXBtZW50SWR9YCxcbiAgICAgIFR1cnZvQXBpTWV0aG9kLlBVVCxcbiAgICAgIHtcbiAgICAgICAgYm9keToge1xuICAgICAgICAgIHRhZ05hbWVzOiB0YWdzLFxuICAgICAgICB9LFxuICAgICAgfVxuICAgIClcbiAgfVxuXG4gIC8qKlxuICAgKiBQVVQgL3YxL3NoaXBtZW50cy9zdGF0dXMve2lkfVxuICAgKiBTZXQgc2hpcG1lbnQgc3RhdHVzIHRvIENhbmNlbGxlZCBpbiBUdXJ2b1xuICAgKi9cbiAgYXN5bmMgY2FuY2VsU2hpcG1lbnQocGFyYW1zOiBDYW5jZWxTaGlwbWVudFBhcmFtcyk6IFByb21pc2U8VHVydm9BcGlSZXN1bHQ8VHVydm9DYW5jZWxTaGlwbWVudEFwaVJlc3VsdD4+IHtcbiAgICBjb25zdCB7IHR1cnZvU2hpcG1lbnRJZCB9ID0gcGFyYW1zXG4gICAgY29uc3QgaHR0cENsaWVudCA9IGF3YWl0IHRoaXMuY2xpZW50LmdldEF1dGhlbnRpY2F0ZWRDbGllbnQoKVxuXG4gICAgY29uc3QgYm9keSA9IHtcbiAgICAgIGlkOiB0dXJ2b1NoaXBtZW50SWQsXG4gICAgICBzdGF0dXM6IHtcbiAgICAgICAgY29kZTogeyBrZXk6ICcyMTEzJywgdmFsdWU6ICdDYW5jZWxlZCcgfSBzYXRpc2ZpZXMgVHVydm9Mb29rdXAsXG4gICAgICB9LFxuICAgIH1cblxuICAgIHJldHVybiBodHRwQ2xpZW50LnNlbmRSZXF1ZXN0PFR1cnZvQ2FuY2VsU2hpcG1lbnRBcGlSZXN1bHQ+KFxuICAgICAgYC9zaGlwbWVudHMvc3RhdHVzLyR7dHVydm9TaGlwbWVudElkfWAsXG4gICAgICBUdXJ2b0FwaU1ldGhvZC5QVVQsXG4gICAgICB7XG4gICAgICAgIGJvZHksXG4gICAgICB9XG4gICAgKVxuICB9XG5cbiAgLyoqXG4gICAqIFBVVCAvdjEvc2hpcG1lbnRzL3N0YXR1cy97aWR9XG4gICAqIFVwZGF0ZSBzaGlwbWVudCBzdGF0dXMgYXQgYSBzcGVjaWZpYyBzdG9wXG4gICAqL1xuICBhc3luYyB1cGRhdGVTaGlwbWVudFN0YXR1cyhcbiAgICBwYXJhbXM6IFVwZGF0ZVNoaXBtZW50U3RhdHVzUGFyYW1zXG4gICk6IFByb21pc2U8VHVydm9BcGlSZXN1bHQ8VHVydm9VcGRhdGVTaGlwbWVudFN0YXR1c0FwaVJlc3VsdD4+IHtcbiAgICBjb25zdCB7IHR1cnZvU2hpcG1lbnRJZCwgdHVydm9TdG9wSWQsIHR1cnZvU3RhdHVzQ29kZSwgc3RhdHVzRGF0ZSwgc3RhdHVzVGltZXpvbmUgfSA9IHBhcmFtc1xuICAgIGNvbnN0IGh0dHBDbGllbnQgPSBhd2FpdCB0aGlzLmNsaWVudC5nZXRBdXRoZW50aWNhdGVkQ2xpZW50KClcblxuICAgIGNvbnN0IGJvZHkgPSB7XG4gICAgICBpZDogdHVydm9TaGlwbWVudElkLFxuICAgICAgc3RhdHVzOiB7XG4gICAgICAgIGdsb2JhbFNoaXBMb2NhdGlvbklkOiB0dXJ2b1N0b3BJZCxcbiAgICAgICAgY29kZTogdHVydm9TdGF0dXNDb2RlLmNvZGUsXG4gICAgICAgIHRpbWV6b25lOiBzdGF0dXNUaW1lem9uZSxcbiAgICAgICAgc3RhdHVzRGF0ZToge1xuICAgICAgICAgIGRhdGU6IHN0YXR1c0RhdGUsXG4gICAgICAgICAgdGltZXpvbmU6IHN0YXR1c1RpbWV6b25lLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9XG5cbiAgICByZXR1cm4gaHR0cENsaWVudC5zZW5kUmVxdWVzdDxUdXJ2b1VwZGF0ZVNoaXBtZW50U3RhdHVzQXBpUmVzdWx0PihcbiAgICAgIGAvc2hpcG1lbnRzL3N0YXR1cy8ke3R1cnZvU2hpcG1lbnRJZH1gLFxuICAgICAgVHVydm9BcGlNZXRob2QuUFVULFxuICAgICAgeyBib2R5IH1cbiAgICApXG4gIH1cblxuICAvKipcbiAgICogR0VUIC92MS9zaGlwbWVudHMvbGlzdFxuICAgKiBRdWVyeSBzaGlwbWVudHMgZnJvbSBUdXJ2byB3aXRoIHBhZ2luYXRpb24gc3VwcG9ydFxuICAgKi9cbiAgYXN5bmMgZmlsdGVyU2hpcG1lbnRzKFxuICAgIHBhcmFtczogRmlsdGVyU2hpcG1lbnRzUGFyYW1zXG4gICk6IFByb21pc2U8VHVydm9BcGlSZXN1bHQ8VHVydm9QYWdlZFJlc3VsdDwnc2hpcG1lbnRzJywgVHVydm9GaWx0ZXJTaGlwbWVudHNSZXN1bHRJdGVtPj4+IHtcbiAgICBjb25zdCB7IHR1cnZvTG9jYXRpb25JZCwgcGlja3VwRGF0ZVN0YXJ0LCBzdGFydCA9IDAgfSA9IHBhcmFtc1xuICAgIGNvbnN0IGh0dHBDbGllbnQgPSBhd2FpdCB0aGlzLmNsaWVudC5nZXRBdXRoZW50aWNhdGVkQ2xpZW50KClcblxuICAgIHJldHVybiBodHRwQ2xpZW50LnNlbmRSZXF1ZXN0PFR1cnZvUGFnZWRSZXN1bHQ8J3NoaXBtZW50cycsIFR1cnZvRmlsdGVyU2hpcG1lbnRzUmVzdWx0SXRlbT4+KFxuICAgICAgJy9zaGlwbWVudHMvbGlzdCcsXG4gICAgICBUdXJ2b0FwaU1ldGhvZC5HRVQsXG4gICAgICB7XG4gICAgICAgIHF1ZXJ5OiB7XG4gICAgICAgICAgJ2xvY2F0aW9uSWRbZXFdJzogdHVydm9Mb2NhdGlvbklkLnRvU3RyaW5nKCksXG4gICAgICAgICAgJ3BpY2t1cERhdGVbZ3RlXSc6IHBpY2t1cERhdGVTdGFydCxcbiAgICAgICAgICBzdGFydDogc3RhcnQudG9TdHJpbmcoKSxcbiAgICAgICAgfSxcbiAgICAgIH1cbiAgICApXG4gIH1cbn1cbiJdfQ==
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHVydm9QdWJsaWNBcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL3R1cnZvUHVibGljQXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLDRDQU13QjtBQTBFeEI7OztHQUdHO0FBQ0gsTUFBYSxjQUFjO0lBQ0w7SUFBcEIsWUFBb0IsTUFBbUI7UUFBbkIsV0FBTSxHQUFOLE1BQU0sQ0FBYTtJQUFHLENBQUM7SUFFM0M7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLFdBQVcsQ0FBQyxNQUF5QjtRQUN6QyxNQUFNLEVBQUUsVUFBVSxFQUFFLEdBQUcsTUFBTSxDQUFBO1FBQzdCLE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxzQkFBc0IsRUFBRSxDQUFBO1FBRTdELE9BQU8sVUFBVSxDQUFDLFdBQVcsQ0FBZ0IsY0FBYyxVQUFVLEVBQUUsRUFBRSx1QkFBYyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQTtJQUNsRyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLGNBQWMsQ0FBQyxNQUE0QjtRQUMvQyxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsTUFBTSxDQUFBO1FBQzNCLDJFQUEyRTtRQUMzRSxNQUFNLFVBQVUsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsc0JBQXNCLEVBQUUsQ0FBQTtRQUU3RCxPQUFPLFVBQVUsQ0FBQyxXQUFXLENBQStCLFlBQVksRUFBRSx1QkFBYyxDQUFDLElBQUksRUFBRTtZQUM3RixJQUFJLEVBQUUsUUFBUTtTQUNmLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRDs7O09BR0c7SUFDSCxLQUFLLENBQUMsdUJBQXVCLENBQUMsTUFBMkI7UUFDdkQsTUFBTSxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsR0FBRyxNQUFNLENBQUE7UUFDeEMsTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLHNCQUFzQixFQUFFLENBQUE7UUFFN0QsT0FBTyxVQUFVLENBQUMsV0FBVyxDQUMzQix5QkFBeUIsZUFBZSxFQUFFLEVBQzFDLHVCQUFjLENBQUMsR0FBRyxFQUNsQjtZQUNFLElBQUksRUFBRTtnQkFDSixRQUFRLEVBQUUsSUFBSTthQUNmO1NBQ0YsQ0FDRixDQUFBO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxjQUFjLENBQUMsTUFBNEI7UUFDL0MsTUFBTSxFQUFFLGVBQWUsRUFBRSxHQUFHLE1BQU0sQ0FBQTtRQUNsQyxNQUFNLFVBQVUsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsc0JBQXNCLEVBQUUsQ0FBQTtRQUU3RCxNQUFNLElBQUksR0FBRztZQUNYLEVBQUUsRUFBRSxlQUFlO1lBQ25CLE1BQU0sRUFBRTtnQkFDTixJQUFJLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQXdCO2FBQy9EO1NBQ0YsQ0FBQTtRQUVELE9BQU8sVUFBVSxDQUFDLFdBQVcsQ0FDM0IscUJBQXFCLGVBQWUsRUFBRSxFQUN0Qyx1QkFBYyxDQUFDLEdBQUcsRUFDbEI7WUFDRSxJQUFJO1NBQ0wsQ0FDRixDQUFBO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxvQkFBb0IsQ0FDeEIsTUFBa0M7UUFFbEMsTUFBTSxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsR0FBRyxNQUFNLENBQUE7UUFDNUYsTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLHNCQUFzQixFQUFFLENBQUE7UUFFN0QsTUFBTSxJQUFJLEdBQUc7WUFDWCxFQUFFLEVBQUUsZUFBZTtZQUNuQixNQUFNLEVBQUU7Z0JBQ04sb0JBQW9CLEVBQUUsV0FBVztnQkFDakMsSUFBSSxFQUFFLGVBQWU7Z0JBQ3JCLFFBQVEsRUFBRSxjQUFjO2dCQUN4QixVQUFVLEVBQUU7b0JBQ1YsSUFBSSxFQUFFLFVBQVU7b0JBQ2hCLFFBQVEsRUFBRSxjQUFjO2lCQUN6QjthQUNGO1NBQ0YsQ0FBQTtRQUVELE9BQU8sVUFBVSxDQUFDLFdBQVcsQ0FDM0IscUJBQXFCLGVBQWUsRUFBRSxFQUN0Qyx1QkFBYyxDQUFDLEdBQUcsRUFDbEIsRUFBRSxJQUFJLEVBQUUsQ0FDVCxDQUFBO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxlQUFlLENBQ25CLE1BQTZCO1FBRTdCLE1BQU0sRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLEtBQUssR0FBRyxDQUFDLEVBQUUsR0FBRyxNQUFNLENBQUE7UUFDOUQsTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLHNCQUFzQixFQUFFLENBQUE7UUFFN0QsT0FBTyxVQUFVLENBQUMsV0FBVyxDQUMzQixpQkFBaUIsRUFDakIsdUJBQWMsQ0FBQyxHQUFHLEVBQ2xCO1lBQ0UsS0FBSyxFQUFFO2dCQUNMLGdCQUFnQixFQUFFLGVBQWUsQ0FBQyxRQUFRLEVBQUU7Z0JBQzVDLGlCQUFpQixFQUFFLGVBQWU7Z0JBQ2xDLEtBQUssRUFBRSxLQUFLLENBQUMsUUFBUSxFQUFFO2FBQ3hCO1NBQ0YsQ0FDRixDQUFBO0lBQ0gsQ0FBQztDQUNGO0FBM0hELHdDQTJIQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFR1cnZvQ2xpZW50IH0gZnJvbSAnLi4vY2xpZW50L3R1cnZvQ2xpZW50J1xuaW1wb3J0IHtcbiAgVHVydm9BcGlNZXRob2QsXG4gIFR1cnZvQXBpUmVzdWx0LFxuICBUdXJ2b0ZpbHRlclNoaXBtZW50c1Jlc3VsdEl0ZW0sXG4gIFR1cnZvTG9va3VwLFxuICBUdXJ2b1BhZ2VkUmVzdWx0LFxufSBmcm9tICcuLi90eXBlcy9jb21tb24nXG5pbXBvcnQge1xuICBUdXJ2b0Fzc29jaWF0ZVRhZ3NBcGlSZXN1bHQsXG4gIFR1cnZvQ2FuY2VsU2hpcG1lbnRBcGlSZXN1bHQsXG4gIFR1cnZvQ3JlYXRlU2hpcG1lbnRBcGlSZXN1bHQsXG4gIFR1cnZvU2hpcG1lbnQsXG4gIFR1cnZvU2hpcG1lbnRTdGF0dXMsXG4gIFR1cnZvVXBkYXRlU2hpcG1lbnRTdGF0dXNBcGlSZXN1bHQsXG59IGZyb20gJy4uL3R5cGVzL3NoaXBtZW50J1xuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHVwbG9hZGluZyBhIHNoaXBtZW50IHRvIFR1cnZvXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVXBsb2FkU2hpcG1lbnRQYXJhbXMge1xuICAvKiogVGhlIGZvcm1hdHRlZCBzaGlwbWVudCB0byB1cGxvYWQgKi9cbiAgc2hpcG1lbnQ6IFR1cnZvU2hpcG1lbnRcbiAgLyoqIFRoZSBMb2FkIElELCBzb2xlbHkgZm9yIGxvZ2dpbmcgcHVycG9zZXMgKi9cbiAgdmVob0xvYWRJZDogc3RyaW5nXG59XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3IgYXNzb2NpYXRpbmcgdGFncyB0byBhIHNoaXBtZW50XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXNzb2NpYXRlVGFnc1BhcmFtcyB7XG4gIC8qKiBUaGUgc2hpcG1lbnQgSUQgdG8gYXNzb2NpYXRlIHRhZ3Mgd2l0aCAqL1xuICB0dXJ2b1NoaXBtZW50SWQ6IG51bWJlclxuICAvKiogTGlzdCBvZiB0YWcgbmFtZXMgdG8gYXNzaWduICovXG4gIHRhZ3M6IHN0cmluZ1tdXG59XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3IgY2FuY2VsbGluZyBhIHNoaXBtZW50XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2FuY2VsU2hpcG1lbnRQYXJhbXMge1xuICAvKiogVGhlIFR1cnZvIHN5c3RlbSBTaGlwbWVudCBJRCB0byBjYW5jZWwgKi9cbiAgdHVydm9TaGlwbWVudElkOiBudW1iZXJcbn1cblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB1cGRhdGluZyBzaGlwbWVudCBzdGF0dXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVTaGlwbWVudFN0YXR1c1BhcmFtcyB7XG4gIC8qKiBUaGUgVHVydm8gc2hpcG1lbnQgSUQgKi9cbiAgdHVydm9TaGlwbWVudElkOiBudW1iZXJcbiAgLyoqIFRoZSBUdXJ2byBzdG9wIElEIChvcHRpb25hbCwgZGVwZW5kaW5nIG9uIHR5cGUgb2Ygc3RhdHVzIHVwZGF0ZSkgKi9cbiAgdHVydm9TdG9wSWQ/OiBudW1iZXJcbiAgLyoqIFRoZSBzdGF0dXMgY29kZSB0byBzZXQgKi9cbiAgdHVydm9TdGF0dXNDb2RlOiBUdXJ2b1NoaXBtZW50U3RhdHVzWydjb2RlJ11cbiAgLyoqIFRoZSBzdGF0dXMgZGF0ZSBpbiBJU08gZm9ybWF0ICovXG4gIHN0YXR1c0RhdGU6IHN0cmluZ1xuICAvKiogVGhlIHRpbWV6b25lIGZvciB0aGUgc3RhdHVzIGRhdGUgKi9cbiAgc3RhdHVzVGltZXpvbmU6IHN0cmluZ1xufVxuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHJldHJpZXZpbmcgYSBzaGlwbWVudFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdldFNoaXBtZW50UGFyYW1zIHtcbiAgLyoqIFRoZSBzaGlwbWVudCBJRCB0byByZXRyaWV2ZSAqL1xuICBzaGlwbWVudElkOiBudW1iZXJcbn1cblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciBmaWx0ZXJpbmcgc2hpcG1lbnRzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmlsdGVyU2hpcG1lbnRzUGFyYW1zIHtcbiAgLyoqIFR1cnZvIGxvY2F0aW9uIElEIHRvIGZpbHRlciBieSAqL1xuICB0dXJ2b0xvY2F0aW9uSWQ6IG51bWJlclxuICAvKiogUGlja3VwIGRhdGUgc3RhcnQgZmlsdGVyIChJU08gZm9ybWF0KSAqL1xuICBwaWNrdXBEYXRlU3RhcnQ6IHN0cmluZ1xuICAvKiogT3B0aW9uYWwgcGFnaW5hdGlvbiBzdGFydCBvZmZzZXQgKi9cbiAgc3RhcnQ/OiBudW1iZXJcbn1cblxuLyoqXG4gKiBUdXJ2b1B1YmxpY0FwaSBwcm92aWRlcyBhY2Nlc3MgdG8gZG9jdW1lbnRlZCBUdXJ2byBBUEkgZW5kcG9pbnRzLlxuICogQWxsIHNoaXBtZW50IG1hbmFnZW1lbnQgb3BlcmF0aW9ucyAoY3JlYXRlLCB1cGRhdGUsIGNhbmNlbCwgcXVlcnkpIGdvIHRocm91Z2ggdGhpcyBjbGFzcy5cbiAqL1xuZXhwb3J0IGNsYXNzIFR1cnZvUHVibGljQXBpIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjbGllbnQ6IFR1cnZvQ2xpZW50KSB7fVxuXG4gIC8qKlxuICAgKiBHRVQgL3YxL3NoaXBtZW50cy97aWR9XG4gICAqIFJldHVybnMgc2hpcG1lbnQgZGV0YWlscywgc3RvcHMsIHN0YXR1c1xuICAgKi9cbiAgYXN5bmMgZ2V0U2hpcG1lbnQocGFyYW1zOiBHZXRTaGlwbWVudFBhcmFtcyk6IFByb21pc2U8VHVydm9BcGlSZXN1bHQ8VHVydm9TaGlwbWVudD4+IHtcbiAgICBjb25zdCB7IHNoaXBtZW50SWQgfSA9IHBhcmFtc1xuICAgIGNvbnN0IGh0dHBDbGllbnQgPSBhd2FpdCB0aGlzLmNsaWVudC5nZXRBdXRoZW50aWNhdGVkQ2xpZW50KClcblxuICAgIHJldHVybiBodHRwQ2xpZW50LnNlbmRSZXF1ZXN0PFR1cnZvU2hpcG1lbnQ+KGAvc2hpcG1lbnRzLyR7c2hpcG1lbnRJZH1gLCBUdXJ2b0FwaU1ldGhvZC5HRVQsIHt9KVxuICB9XG5cbiAgLyoqXG4gICAqIFBPU1QgL3YxL3NoaXBtZW50c1xuICAgKiBVcGxvYWQgcHJvcGVybHkgZm9ybWF0dGVkIHNoaXBtZW50IHRvIFR1cnZvXG4gICAqL1xuICBhc3luYyB1cGxvYWRTaGlwbWVudChwYXJhbXM6IFVwbG9hZFNoaXBtZW50UGFyYW1zKTogUHJvbWlzZTxUdXJ2b0FwaVJlc3VsdDxUdXJ2b0NyZWF0ZVNoaXBtZW50QXBpUmVzdWx0Pj4ge1xuICAgIGNvbnN0IHsgc2hpcG1lbnQgfSA9IHBhcmFtc1xuICAgIC8vIE5vdGU6IHZlaG9Mb2FkSWQgaXMga2VwdCBpbiB0aGUgcGFyYW1zIGZvciBsb2dnaW5nIHB1cnBvc2VzIGJ5IGNvbnN1bWVyc1xuICAgIGNvbnN0IGh0dHBDbGllbnQgPSBhd2FpdCB0aGlzLmNsaWVudC5nZXRBdXRoZW50aWNhdGVkQ2xpZW50KClcblxuICAgIHJldHVybiBodHRwQ2xpZW50LnNlbmRSZXF1ZXN0PFR1cnZvQ3JlYXRlU2hpcG1lbnRBcGlSZXN1bHQ+KCcvc2hpcG1lbnRzJywgVHVydm9BcGlNZXRob2QuUE9TVCwge1xuICAgICAgYm9keTogc2hpcG1lbnQsXG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBQVVQgL3YxL3RhZ3MvYXR0YWNoL3NoaXBtZW50L3tpZH1cbiAgICogQXNzb2NpYXRlIGEgbGlzdCBvZiB0YWdzIHdpdGggYSBzaGlwbWVudCBieSBJRFxuICAgKi9cbiAgYXN5bmMgYXNzb2NpYXRlVGFnc1RvU2hpcG1lbnQocGFyYW1zOiBBc3NvY2lhdGVUYWdzUGFyYW1zKTogUHJvbWlzZTxUdXJ2b0FwaVJlc3VsdDxUdXJ2b0Fzc29jaWF0ZVRhZ3NBcGlSZXN1bHQ+PiB7XG4gICAgY29uc3QgeyB0dXJ2b1NoaXBtZW50SWQsIHRhZ3MgfSA9IHBhcmFtc1xuICAgIGNvbnN0IGh0dHBDbGllbnQgPSBhd2FpdCB0aGlzLmNsaWVudC5nZXRBdXRoZW50aWNhdGVkQ2xpZW50KClcblxuICAgIHJldHVybiBodHRwQ2xpZW50LnNlbmRSZXF1ZXN0PFR1cnZvQXNzb2NpYXRlVGFnc0FwaVJlc3VsdD4oXG4gICAgICBgL3RhZ3MvYXR0YWNoL3NoaXBtZW50LyR7dHVydm9TaGlwbWVudElkfWAsXG4gICAgICBUdXJ2b0FwaU1ldGhvZC5QVVQsXG4gICAgICB7XG4gICAgICAgIGJvZHk6IHtcbiAgICAgICAgICB0YWdOYW1lczogdGFncyxcbiAgICAgICAgfSxcbiAgICAgIH1cbiAgICApXG4gIH1cblxuICAvKipcbiAgICogUFVUIC92MS9zaGlwbWVudHMvc3RhdHVzL3tpZH1cbiAgICogU2V0IHNoaXBtZW50IHN0YXR1cyB0byBDYW5jZWxsZWQgaW4gVHVydm9cbiAgICovXG4gIGFzeW5jIGNhbmNlbFNoaXBtZW50KHBhcmFtczogQ2FuY2VsU2hpcG1lbnRQYXJhbXMpOiBQcm9taXNlPFR1cnZvQXBpUmVzdWx0PFR1cnZvQ2FuY2VsU2hpcG1lbnRBcGlSZXN1bHQ+PiB7XG4gICAgY29uc3QgeyB0dXJ2b1NoaXBtZW50SWQgfSA9IHBhcmFtc1xuICAgIGNvbnN0IGh0dHBDbGllbnQgPSBhd2FpdCB0aGlzLmNsaWVudC5nZXRBdXRoZW50aWNhdGVkQ2xpZW50KClcblxuICAgIGNvbnN0IGJvZHkgPSB7XG4gICAgICBpZDogdHVydm9TaGlwbWVudElkLFxuICAgICAgc3RhdHVzOiB7XG4gICAgICAgIGNvZGU6IHsga2V5OiAnMjExMycsIHZhbHVlOiAnQ2FuY2VsZWQnIH0gc2F0aXNmaWVzIFR1cnZvTG9va3VwLFxuICAgICAgfSxcbiAgICB9XG5cbiAgICByZXR1cm4gaHR0cENsaWVudC5zZW5kUmVxdWVzdDxUdXJ2b0NhbmNlbFNoaXBtZW50QXBpUmVzdWx0PihcbiAgICAgIGAvc2hpcG1lbnRzL3N0YXR1cy8ke3R1cnZvU2hpcG1lbnRJZH1gLFxuICAgICAgVHVydm9BcGlNZXRob2QuUFVULFxuICAgICAge1xuICAgICAgICBib2R5LFxuICAgICAgfVxuICAgIClcbiAgfVxuXG4gIC8qKlxuICAgKiBQVVQgL3YxL3NoaXBtZW50cy9zdGF0dXMve2lkfVxuICAgKiBVcGRhdGUgc2hpcG1lbnQgc3RhdHVzIGF0IGEgc3BlY2lmaWMgc3RvcFxuICAgKi9cbiAgYXN5bmMgdXBkYXRlU2hpcG1lbnRTdGF0dXMoXG4gICAgcGFyYW1zOiBVcGRhdGVTaGlwbWVudFN0YXR1c1BhcmFtc1xuICApOiBQcm9taXNlPFR1cnZvQXBpUmVzdWx0PFR1cnZvVXBkYXRlU2hpcG1lbnRTdGF0dXNBcGlSZXN1bHQ+PiB7XG4gICAgY29uc3QgeyB0dXJ2b1NoaXBtZW50SWQsIHR1cnZvU3RvcElkLCB0dXJ2b1N0YXR1c0NvZGUsIHN0YXR1c0RhdGUsIHN0YXR1c1RpbWV6b25lIH0gPSBwYXJhbXNcbiAgICBjb25zdCBodHRwQ2xpZW50ID0gYXdhaXQgdGhpcy5jbGllbnQuZ2V0QXV0aGVudGljYXRlZENsaWVudCgpXG5cbiAgICBjb25zdCBib2R5ID0ge1xuICAgICAgaWQ6IHR1cnZvU2hpcG1lbnRJZCxcbiAgICAgIHN0YXR1czoge1xuICAgICAgICBnbG9iYWxTaGlwTG9jYXRpb25JZDogdHVydm9TdG9wSWQsXG4gICAgICAgIGNvZGU6IHR1cnZvU3RhdHVzQ29kZSxcbiAgICAgICAgdGltZXpvbmU6IHN0YXR1c1RpbWV6b25lLFxuICAgICAgICBzdGF0dXNEYXRlOiB7XG4gICAgICAgICAgZGF0ZTogc3RhdHVzRGF0ZSxcbiAgICAgICAgICB0aW1lem9uZTogc3RhdHVzVGltZXpvbmUsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH1cblxuICAgIHJldHVybiBodHRwQ2xpZW50LnNlbmRSZXF1ZXN0PFR1cnZvVXBkYXRlU2hpcG1lbnRTdGF0dXNBcGlSZXN1bHQ+KFxuICAgICAgYC9zaGlwbWVudHMvc3RhdHVzLyR7dHVydm9TaGlwbWVudElkfWAsXG4gICAgICBUdXJ2b0FwaU1ldGhvZC5QVVQsXG4gICAgICB7IGJvZHkgfVxuICAgIClcbiAgfVxuXG4gIC8qKlxuICAgKiBHRVQgL3YxL3NoaXBtZW50cy9saXN0XG4gICAqIFF1ZXJ5IHNoaXBtZW50cyBmcm9tIFR1cnZvIHdpdGggcGFnaW5hdGlvbiBzdXBwb3J0XG4gICAqL1xuICBhc3luYyBmaWx0ZXJTaGlwbWVudHMoXG4gICAgcGFyYW1zOiBGaWx0ZXJTaGlwbWVudHNQYXJhbXNcbiAgKTogUHJvbWlzZTxUdXJ2b0FwaVJlc3VsdDxUdXJ2b1BhZ2VkUmVzdWx0PCdzaGlwbWVudHMnLCBUdXJ2b0ZpbHRlclNoaXBtZW50c1Jlc3VsdEl0ZW0+Pj4ge1xuICAgIGNvbnN0IHsgdHVydm9Mb2NhdGlvbklkLCBwaWNrdXBEYXRlU3RhcnQsIHN0YXJ0ID0gMCB9ID0gcGFyYW1zXG4gICAgY29uc3QgaHR0cENsaWVudCA9IGF3YWl0IHRoaXMuY2xpZW50LmdldEF1dGhlbnRpY2F0ZWRDbGllbnQoKVxuXG4gICAgcmV0dXJuIGh0dHBDbGllbnQuc2VuZFJlcXVlc3Q8VHVydm9QYWdlZFJlc3VsdDwnc2hpcG1lbnRzJywgVHVydm9GaWx0ZXJTaGlwbWVudHNSZXN1bHRJdGVtPj4oXG4gICAgICAnL3NoaXBtZW50cy9saXN0JyxcbiAgICAgIFR1cnZvQXBpTWV0aG9kLkdFVCxcbiAgICAgIHtcbiAgICAgICAgcXVlcnk6IHtcbiAgICAgICAgICAnbG9jYXRpb25JZFtlcV0nOiB0dXJ2b0xvY2F0aW9uSWQudG9TdHJpbmcoKSxcbiAgICAgICAgICAncGlja3VwRGF0ZVtndGVdJzogcGlja3VwRGF0ZVN0YXJ0LFxuICAgICAgICAgIHN0YXJ0OiBzdGFydC50b1N0cmluZygpLFxuICAgICAgICB9LFxuICAgICAgfVxuICAgIClcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { DynamoDBDocumentClient } from '@aws-sdk/lib-dynamodb';
|
|
2
|
+
export declare const createDocClient: () => DynamoDBDocumentClient;
|
|
3
|
+
export declare const getDocClient: () => DynamoDBDocumentClient;
|
|
4
|
+
export declare const getIndexNameByTurvoLocationId: () => string | undefined;
|
|
5
|
+
export declare const getTableName: () => string | undefined;
|
|
6
|
+
export declare const getIndexNameByShortCode: () => string | undefined;
|
|
7
|
+
export declare const getRetiredFacilityMappingTableName: () => string | undefined;
|
|
8
|
+
export declare const getFacilityCodeMapTable: () => string | undefined;
|
|
9
|
+
export declare const getIndexNameByFacilityCode: () => string | undefined;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getIndexNameByFacilityCode = exports.getFacilityCodeMapTable = exports.getRetiredFacilityMappingTableName = exports.getIndexNameByShortCode = exports.getTableName = exports.getIndexNameByTurvoLocationId = exports.getDocClient = exports.createDocClient = void 0;
|
|
4
|
+
const client_dynamodb_1 = require("@aws-sdk/client-dynamodb");
|
|
5
|
+
const lib_dynamodb_1 = require("@aws-sdk/lib-dynamodb");
|
|
6
|
+
// Create DynamoDB client without X-Ray tracing for SDK usage
|
|
7
|
+
const createDocClient = () => {
|
|
8
|
+
return lib_dynamodb_1.DynamoDBDocumentClient.from(new client_dynamodb_1.DynamoDBClient({}), {
|
|
9
|
+
marshallOptions: {
|
|
10
|
+
convertEmptyValues: true,
|
|
11
|
+
},
|
|
12
|
+
});
|
|
13
|
+
};
|
|
14
|
+
exports.createDocClient = createDocClient;
|
|
15
|
+
// Singleton instance
|
|
16
|
+
let docClientInstance = null;
|
|
17
|
+
const getDocClient = () => {
|
|
18
|
+
if (!docClientInstance) {
|
|
19
|
+
docClientInstance = (0, exports.createDocClient)();
|
|
20
|
+
}
|
|
21
|
+
return docClientInstance;
|
|
22
|
+
};
|
|
23
|
+
exports.getDocClient = getDocClient;
|
|
24
|
+
// Environment-based table names and indexes
|
|
25
|
+
const getIndexNameByTurvoLocationId = () => process.env.INDEX_NAME_BY_TURVO_LOCATION_ID;
|
|
26
|
+
exports.getIndexNameByTurvoLocationId = getIndexNameByTurvoLocationId;
|
|
27
|
+
const getTableName = () => process.env.TABLE_NAME;
|
|
28
|
+
exports.getTableName = getTableName;
|
|
29
|
+
const getIndexNameByShortCode = () => process.env.INDEX_NAME_BY_SHORT_CODE;
|
|
30
|
+
exports.getIndexNameByShortCode = getIndexNameByShortCode;
|
|
31
|
+
const getRetiredFacilityMappingTableName = () => process.env.RETIRED_FACILITY_MAPPINGS_TABLE_NAME;
|
|
32
|
+
exports.getRetiredFacilityMappingTableName = getRetiredFacilityMappingTableName;
|
|
33
|
+
const getFacilityCodeMapTable = () => process.env.FACILITY_CODE_MAP_TABLE;
|
|
34
|
+
exports.getFacilityCodeMapTable = getFacilityCodeMapTable;
|
|
35
|
+
const getIndexNameByFacilityCode = () => process.env.INDEX_NAME_BY_FACILITY_CODE;
|
|
36
|
+
exports.getIndexNameByFacilityCode = getIndexNameByFacilityCode;
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2RiL2NsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw4REFBeUQ7QUFDekQsd0RBQThEO0FBRTlELDZEQUE2RDtBQUN0RCxNQUFNLGVBQWUsR0FBRyxHQUFHLEVBQUU7SUFDbEMsT0FBTyxxQ0FBc0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxnQ0FBYyxDQUFDLEVBQUUsQ0FBQyxFQUFFO1FBQ3pELGVBQWUsRUFBRTtZQUNmLGtCQUFrQixFQUFFLElBQUk7U0FDekI7S0FDRixDQUFDLENBQUE7QUFDSixDQUFDLENBQUE7QUFOWSxRQUFBLGVBQWUsbUJBTTNCO0FBRUQscUJBQXFCO0FBQ3JCLElBQUksaUJBQWlCLEdBQWtDLElBQUksQ0FBQTtBQUVwRCxNQUFNLFlBQVksR0FBRyxHQUEyQixFQUFFO0lBQ3ZELElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3ZCLGlCQUFpQixHQUFHLElBQUEsdUJBQWUsR0FBRSxDQUFBO0lBQ3ZDLENBQUM7SUFDRCxPQUFPLGlCQUFpQixDQUFBO0FBQzFCLENBQUMsQ0FBQTtBQUxZLFFBQUEsWUFBWSxnQkFLeEI7QUFFRCw0Q0FBNEM7QUFDckMsTUFBTSw2QkFBNkIsR0FBRyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLCtCQUErQixDQUFBO0FBQWpGLFFBQUEsNkJBQTZCLGlDQUFvRDtBQUN2RixNQUFNLFlBQVksR0FBRyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQTtBQUEzQyxRQUFBLFlBQVksZ0JBQStCO0FBQ2pELE1BQU0sdUJBQXVCLEdBQUcsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQTtBQUFwRSxRQUFBLHVCQUF1QiwyQkFBNkM7QUFDMUUsTUFBTSxrQ0FBa0MsR0FBRyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLG9DQUFvQyxDQUFBO0FBQTNGLFFBQUEsa0NBQWtDLHNDQUF5RDtBQUNqRyxNQUFNLHVCQUF1QixHQUFHLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUE7QUFBbkUsUUFBQSx1QkFBdUIsMkJBQTRDO0FBQ3pFLE1BQU0sMEJBQTBCLEdBQUcsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQTtBQUExRSxRQUFBLDBCQUEwQiw4QkFBZ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEeW5hbW9EQkNsaWVudCB9IGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1keW5hbW9kYidcbmltcG9ydCB7IER5bmFtb0RCRG9jdW1lbnRDbGllbnQgfSBmcm9tICdAYXdzLXNkay9saWItZHluYW1vZGInXG5cbi8vIENyZWF0ZSBEeW5hbW9EQiBjbGllbnQgd2l0aG91dCBYLVJheSB0cmFjaW5nIGZvciBTREsgdXNhZ2VcbmV4cG9ydCBjb25zdCBjcmVhdGVEb2NDbGllbnQgPSAoKSA9PiB7XG4gIHJldHVybiBEeW5hbW9EQkRvY3VtZW50Q2xpZW50LmZyb20obmV3IER5bmFtb0RCQ2xpZW50KHt9KSwge1xuICAgIG1hcnNoYWxsT3B0aW9uczoge1xuICAgICAgY29udmVydEVtcHR5VmFsdWVzOiB0cnVlLFxuICAgIH0sXG4gIH0pXG59XG5cbi8vIFNpbmdsZXRvbiBpbnN0YW5jZVxubGV0IGRvY0NsaWVudEluc3RhbmNlOiBEeW5hbW9EQkRvY3VtZW50Q2xpZW50IHwgbnVsbCA9IG51bGxcblxuZXhwb3J0IGNvbnN0IGdldERvY0NsaWVudCA9ICgpOiBEeW5hbW9EQkRvY3VtZW50Q2xpZW50ID0+IHtcbiAgaWYgKCFkb2NDbGllbnRJbnN0YW5jZSkge1xuICAgIGRvY0NsaWVudEluc3RhbmNlID0gY3JlYXRlRG9jQ2xpZW50KClcbiAgfVxuICByZXR1cm4gZG9jQ2xpZW50SW5zdGFuY2Vcbn1cblxuLy8gRW52aXJvbm1lbnQtYmFzZWQgdGFibGUgbmFtZXMgYW5kIGluZGV4ZXNcbmV4cG9ydCBjb25zdCBnZXRJbmRleE5hbWVCeVR1cnZvTG9jYXRpb25JZCA9ICgpID0+IHByb2Nlc3MuZW52LklOREVYX05BTUVfQllfVFVSVk9fTE9DQVRJT05fSURcbmV4cG9ydCBjb25zdCBnZXRUYWJsZU5hbWUgPSAoKSA9PiBwcm9jZXNzLmVudi5UQUJMRV9OQU1FXG5leHBvcnQgY29uc3QgZ2V0SW5kZXhOYW1lQnlTaG9ydENvZGUgPSAoKSA9PiBwcm9jZXNzLmVudi5JTkRFWF9OQU1FX0JZX1NIT1JUX0NPREVcbmV4cG9ydCBjb25zdCBnZXRSZXRpcmVkRmFjaWxpdHlNYXBwaW5nVGFibGVOYW1lID0gKCkgPT4gcHJvY2Vzcy5lbnYuUkVUSVJFRF9GQUNJTElUWV9NQVBQSU5HU19UQUJMRV9OQU1FXG5leHBvcnQgY29uc3QgZ2V0RmFjaWxpdHlDb2RlTWFwVGFibGUgPSAoKSA9PiBwcm9jZXNzLmVudi5GQUNJTElUWV9DT0RFX01BUF9UQUJMRVxuZXhwb3J0IGNvbnN0IGdldEluZGV4TmFtZUJ5RmFjaWxpdHlDb2RlID0gKCkgPT4gcHJvY2Vzcy5lbnYuSU5ERVhfTkFNRV9CWV9GQUNJTElUWV9DT0RFXG4iXX0=
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Facility mapping functions for Turvo location to Veho facility mapping
|
|
3
|
+
*
|
|
4
|
+
* This file contains methods for mapping between Turvo locations and Veho facilities.
|
|
5
|
+
* It abstracts over three different tables:
|
|
6
|
+
* 1. FACILITY_CODE_MAP_TABLE: stores the map using the current facilityCode naming scheme
|
|
7
|
+
* 2. SHORT_CODE_MAP_TABLE: stores the map using the old shortCode naming scheme
|
|
8
|
+
* 3. RETIRED_FACILITY_MAPPING_TABLE_NAME: stores retired facility mappings
|
|
9
|
+
*/
|
|
10
|
+
import { VehoTurvoLocationMap } from '../types/facilityMapping';
|
|
11
|
+
/**
|
|
12
|
+
* Get facility mapping for a Turvo location ID
|
|
13
|
+
* Checks both facility code and short code mappings
|
|
14
|
+
*/
|
|
15
|
+
export declare const getFacilityMappingForTurvoLocationId: (turvoLocationId: number) => Promise<VehoTurvoLocationMap | null>;
|
|
16
|
+
/**
|
|
17
|
+
* Get retired facility mapping for a Turvo location ID
|
|
18
|
+
*/
|
|
19
|
+
export declare const getRetiredFacilityMappingForTurvoLocationId: (turvoLocationId: number) => Promise<VehoTurvoLocationMap | null>;
|
|
20
|
+
/**
|
|
21
|
+
* Get retired facility mapping by human identifier (facility code or short code)
|
|
22
|
+
*/
|
|
23
|
+
export declare const getRetiredFacilityMappingByHumanIdentifier: (humanIdentifier: string) => Promise<VehoTurvoLocationMap | null>;
|
|
24
|
+
/**
|
|
25
|
+
* Get facility mapping by human identifier (facility code)
|
|
26
|
+
*/
|
|
27
|
+
export declare const getFacilityMappingByHumanIdentifier: (identifier: string) => Promise<VehoTurvoLocationMap | null>;
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Facility mapping functions for Turvo location to Veho facility mapping
|
|
4
|
+
*
|
|
5
|
+
* This file contains methods for mapping between Turvo locations and Veho facilities.
|
|
6
|
+
* It abstracts over three different tables:
|
|
7
|
+
* 1. FACILITY_CODE_MAP_TABLE: stores the map using the current facilityCode naming scheme
|
|
8
|
+
* 2. SHORT_CODE_MAP_TABLE: stores the map using the old shortCode naming scheme
|
|
9
|
+
* 3. RETIRED_FACILITY_MAPPING_TABLE_NAME: stores retired facility mappings
|
|
10
|
+
*/
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.getFacilityMappingByHumanIdentifier = exports.getRetiredFacilityMappingByHumanIdentifier = exports.getRetiredFacilityMappingForTurvoLocationId = exports.getFacilityMappingForTurvoLocationId = void 0;
|
|
13
|
+
const lib_dynamodb_1 = require("@aws-sdk/lib-dynamodb");
|
|
14
|
+
const client_1 = require("./client");
|
|
15
|
+
/**
|
|
16
|
+
* Get facility mapping for a Turvo location ID
|
|
17
|
+
* Checks both facility code and short code mappings
|
|
18
|
+
*/
|
|
19
|
+
const getFacilityMappingForTurvoLocationId = async (turvoLocationId) => {
|
|
20
|
+
if (typeof turvoLocationId !== 'number') {
|
|
21
|
+
return null;
|
|
22
|
+
}
|
|
23
|
+
// Check new FACILITY_CODE_MAP_TABLE first
|
|
24
|
+
const facilityCodeMapping = await getFacilityCodeMappingForTurvoLocationId(turvoLocationId);
|
|
25
|
+
if (facilityCodeMapping) {
|
|
26
|
+
return facilityCodeMapping;
|
|
27
|
+
}
|
|
28
|
+
// Then check the SHORT_CODE_MAP_TABLE
|
|
29
|
+
const shortCodeMapping = await getShortCodeMappingForTurvoLocationId(turvoLocationId);
|
|
30
|
+
if (shortCodeMapping) {
|
|
31
|
+
return shortCodeMapping;
|
|
32
|
+
}
|
|
33
|
+
return null;
|
|
34
|
+
};
|
|
35
|
+
exports.getFacilityMappingForTurvoLocationId = getFacilityMappingForTurvoLocationId;
|
|
36
|
+
/**
|
|
37
|
+
* Get retired facility mapping for a Turvo location ID
|
|
38
|
+
*/
|
|
39
|
+
const getRetiredFacilityMappingForTurvoLocationId = async (turvoLocationId) => {
|
|
40
|
+
if (typeof turvoLocationId !== 'number') {
|
|
41
|
+
return null;
|
|
42
|
+
}
|
|
43
|
+
const tableName = (0, client_1.getRetiredFacilityMappingTableName)();
|
|
44
|
+
const indexName = (0, client_1.getIndexNameByTurvoLocationId)();
|
|
45
|
+
if (!tableName || !indexName) {
|
|
46
|
+
return null;
|
|
47
|
+
}
|
|
48
|
+
const dbQuery = new lib_dynamodb_1.QueryCommand({
|
|
49
|
+
TableName: tableName,
|
|
50
|
+
IndexName: indexName,
|
|
51
|
+
KeyConditionExpression: 'turvoLocationId = :turvoLocationId',
|
|
52
|
+
ExpressionAttributeValues: {
|
|
53
|
+
':turvoLocationId': turvoLocationId,
|
|
54
|
+
},
|
|
55
|
+
});
|
|
56
|
+
const response = await (0, client_1.getDocClient)().send(dbQuery);
|
|
57
|
+
if (!response.Items?.length) {
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
60
|
+
return response.Items[0];
|
|
61
|
+
};
|
|
62
|
+
exports.getRetiredFacilityMappingForTurvoLocationId = getRetiredFacilityMappingForTurvoLocationId;
|
|
63
|
+
/**
|
|
64
|
+
* Get retired facility mapping by human identifier (facility code or short code)
|
|
65
|
+
*/
|
|
66
|
+
const getRetiredFacilityMappingByHumanIdentifier = async (humanIdentifier) => {
|
|
67
|
+
if (typeof humanIdentifier !== 'string' || humanIdentifier === '') {
|
|
68
|
+
return null;
|
|
69
|
+
}
|
|
70
|
+
const tableName = (0, client_1.getRetiredFacilityMappingTableName)();
|
|
71
|
+
const indexName = (0, client_1.getIndexNameByShortCode)();
|
|
72
|
+
if (!tableName || !indexName) {
|
|
73
|
+
return null;
|
|
74
|
+
}
|
|
75
|
+
const dbQuery = new lib_dynamodb_1.QueryCommand({
|
|
76
|
+
TableName: tableName,
|
|
77
|
+
IndexName: indexName,
|
|
78
|
+
KeyConditionExpression: 'shortCode = :shortCode',
|
|
79
|
+
ExpressionAttributeValues: {
|
|
80
|
+
':shortCode': humanIdentifier,
|
|
81
|
+
},
|
|
82
|
+
});
|
|
83
|
+
const response = await (0, client_1.getDocClient)().send(dbQuery);
|
|
84
|
+
if (!response.Items?.length) {
|
|
85
|
+
return null;
|
|
86
|
+
}
|
|
87
|
+
return response.Items[0];
|
|
88
|
+
};
|
|
89
|
+
exports.getRetiredFacilityMappingByHumanIdentifier = getRetiredFacilityMappingByHumanIdentifier;
|
|
90
|
+
/**
|
|
91
|
+
* Get facility mapping by human identifier (facility code)
|
|
92
|
+
*/
|
|
93
|
+
const getFacilityMappingByHumanIdentifier = async (identifier) => {
|
|
94
|
+
if (typeof identifier !== 'string' || identifier === '') {
|
|
95
|
+
return null;
|
|
96
|
+
}
|
|
97
|
+
return getFacilityMappingByFacilityCode(identifier);
|
|
98
|
+
};
|
|
99
|
+
exports.getFacilityMappingByHumanIdentifier = getFacilityMappingByHumanIdentifier;
|
|
100
|
+
/**
|
|
101
|
+
* Get facility code mapping for a Turvo location ID
|
|
102
|
+
*/
|
|
103
|
+
const getFacilityCodeMappingForTurvoLocationId = async (turvoLocationId) => {
|
|
104
|
+
if (typeof turvoLocationId !== 'number') {
|
|
105
|
+
return null;
|
|
106
|
+
}
|
|
107
|
+
const tableName = (0, client_1.getFacilityCodeMapTable)();
|
|
108
|
+
const indexName = (0, client_1.getIndexNameByTurvoLocationId)();
|
|
109
|
+
if (!tableName || !indexName) {
|
|
110
|
+
return null;
|
|
111
|
+
}
|
|
112
|
+
const dbQuery = new lib_dynamodb_1.QueryCommand({
|
|
113
|
+
TableName: tableName,
|
|
114
|
+
IndexName: indexName,
|
|
115
|
+
KeyConditionExpression: 'turvoLocationId = :turvoLocationId',
|
|
116
|
+
ExpressionAttributeValues: {
|
|
117
|
+
':turvoLocationId': turvoLocationId,
|
|
118
|
+
},
|
|
119
|
+
});
|
|
120
|
+
const response = await (0, client_1.getDocClient)().send(dbQuery);
|
|
121
|
+
if (!response.Items?.length || response.Items.length !== 1) {
|
|
122
|
+
return null;
|
|
123
|
+
}
|
|
124
|
+
return response.Items[0];
|
|
125
|
+
};
|
|
126
|
+
/**
|
|
127
|
+
* Get short code mapping for a Turvo location ID
|
|
128
|
+
*/
|
|
129
|
+
const getShortCodeMappingForTurvoLocationId = async (turvoLocationId) => {
|
|
130
|
+
if (typeof turvoLocationId !== 'number') {
|
|
131
|
+
return null;
|
|
132
|
+
}
|
|
133
|
+
const tableName = (0, client_1.getTableName)();
|
|
134
|
+
const indexName = (0, client_1.getIndexNameByTurvoLocationId)();
|
|
135
|
+
if (!tableName || !indexName) {
|
|
136
|
+
return null;
|
|
137
|
+
}
|
|
138
|
+
const dbQuery = new lib_dynamodb_1.QueryCommand({
|
|
139
|
+
TableName: tableName,
|
|
140
|
+
IndexName: indexName,
|
|
141
|
+
KeyConditionExpression: 'turvoLocationId = :turvoLocationId',
|
|
142
|
+
ExpressionAttributeValues: {
|
|
143
|
+
':turvoLocationId': turvoLocationId,
|
|
144
|
+
},
|
|
145
|
+
});
|
|
146
|
+
const response = await (0, client_1.getDocClient)().send(dbQuery);
|
|
147
|
+
if (!response.Items?.length) {
|
|
148
|
+
return null;
|
|
149
|
+
}
|
|
150
|
+
return response.Items[0];
|
|
151
|
+
};
|
|
152
|
+
/**
|
|
153
|
+
* Get facility mapping by facility code
|
|
154
|
+
*/
|
|
155
|
+
const getFacilityMappingByFacilityCode = async (facilityCode) => {
|
|
156
|
+
if (typeof facilityCode !== 'string' || facilityCode === '') {
|
|
157
|
+
return null;
|
|
158
|
+
}
|
|
159
|
+
const tableName = (0, client_1.getFacilityCodeMapTable)();
|
|
160
|
+
const indexName = (0, client_1.getIndexNameByFacilityCode)();
|
|
161
|
+
if (!tableName || !indexName) {
|
|
162
|
+
return null;
|
|
163
|
+
}
|
|
164
|
+
const dbQuery = new lib_dynamodb_1.QueryCommand({
|
|
165
|
+
TableName: tableName,
|
|
166
|
+
IndexName: indexName,
|
|
167
|
+
KeyConditionExpression: 'facilityCode = :facilityCode',
|
|
168
|
+
ExpressionAttributeValues: {
|
|
169
|
+
':facilityCode': facilityCode,
|
|
170
|
+
},
|
|
171
|
+
});
|
|
172
|
+
const response = await (0, client_1.getDocClient)().send(dbQuery);
|
|
173
|
+
if (!response.Items?.length) {
|
|
174
|
+
return null;
|
|
175
|
+
}
|
|
176
|
+
return response.Items[0];
|
|
177
|
+
};
|
|
178
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjaWxpdHlNYXBwaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2RiL2ZhY2lsaXR5TWFwcGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7O0dBUUc7OztBQUVILHdEQUFvRDtBQUdwRCxxQ0FRaUI7QUFFakI7OztHQUdHO0FBQ0ksTUFBTSxvQ0FBb0MsR0FBRyxLQUFLLEVBQ3ZELGVBQXVCLEVBQ2UsRUFBRTtJQUN4QyxJQUFJLE9BQU8sZUFBZSxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ3hDLE9BQU8sSUFBSSxDQUFBO0lBQ2IsQ0FBQztJQUVELDBDQUEwQztJQUMxQyxNQUFNLG1CQUFtQixHQUFHLE1BQU0sd0NBQXdDLENBQUMsZUFBZSxDQUFDLENBQUE7SUFDM0YsSUFBSSxtQkFBbUIsRUFBRSxDQUFDO1FBQ3hCLE9BQU8sbUJBQW1CLENBQUE7SUFDNUIsQ0FBQztJQUVELHNDQUFzQztJQUN0QyxNQUFNLGdCQUFnQixHQUFHLE1BQU0scUNBQXFDLENBQUMsZUFBZSxDQUFDLENBQUE7SUFDckYsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3JCLE9BQU8sZ0JBQWdCLENBQUE7SUFDekIsQ0FBQztJQUVELE9BQU8sSUFBSSxDQUFBO0FBQ2IsQ0FBQyxDQUFBO0FBcEJZLFFBQUEsb0NBQW9DLHdDQW9CaEQ7QUFFRDs7R0FFRztBQUNJLE1BQU0sMkNBQTJDLEdBQUcsS0FBSyxFQUM5RCxlQUF1QixFQUNlLEVBQUU7SUFDeEMsSUFBSSxPQUFPLGVBQWUsS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUN4QyxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7SUFFRCxNQUFNLFNBQVMsR0FBRyxJQUFBLDJDQUFrQyxHQUFFLENBQUE7SUFDdEQsTUFBTSxTQUFTLEdBQUcsSUFBQSxzQ0FBNkIsR0FBRSxDQUFBO0lBRWpELElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUM3QixPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7SUFFRCxNQUFNLE9BQU8sR0FBRyxJQUFJLDJCQUFZLENBQUM7UUFDL0IsU0FBUyxFQUFFLFNBQVM7UUFDcEIsU0FBUyxFQUFFLFNBQVM7UUFDcEIsc0JBQXNCLEVBQUUsb0NBQW9DO1FBQzVELHlCQUF5QixFQUFFO1lBQ3pCLGtCQUFrQixFQUFFLGVBQWU7U0FDcEM7S0FDRixDQUFDLENBQUE7SUFFRixNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUEscUJBQVksR0FBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUNuRCxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUM1QixPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7SUFDRCxPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUF5QixDQUFBO0FBQ2xELENBQUMsQ0FBQTtBQTVCWSxRQUFBLDJDQUEyQywrQ0E0QnZEO0FBRUQ7O0dBRUc7QUFDSSxNQUFNLDBDQUEwQyxHQUFHLEtBQUssRUFDN0QsZUFBdUIsRUFDZSxFQUFFO0lBQ3hDLElBQUksT0FBTyxlQUFlLEtBQUssUUFBUSxJQUFJLGVBQWUsS0FBSyxFQUFFLEVBQUUsQ0FBQztRQUNsRSxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7SUFFRCxNQUFNLFNBQVMsR0FBRyxJQUFBLDJDQUFrQyxHQUFFLENBQUE7SUFDdEQsTUFBTSxTQUFTLEdBQUcsSUFBQSxnQ0FBdUIsR0FBRSxDQUFBO0lBRTNDLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUM3QixPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7SUFFRCxNQUFNLE9BQU8sR0FBRyxJQUFJLDJCQUFZLENBQUM7UUFDL0IsU0FBUyxFQUFFLFNBQVM7UUFDcEIsU0FBUyxFQUFFLFNBQVM7UUFDcEIsc0JBQXNCLEVBQUUsd0JBQXdCO1FBQ2hELHlCQUF5QixFQUFFO1lBQ3pCLFlBQVksRUFBRSxlQUFlO1NBQzlCO0tBQ0YsQ0FBQyxDQUFBO0lBRUYsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFBLHFCQUFZLEdBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDbkQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7UUFDNUIsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO0lBQ0QsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBeUIsQ0FBQTtBQUNsRCxDQUFDLENBQUE7QUE1QlksUUFBQSwwQ0FBMEMsOENBNEJ0RDtBQUVEOztHQUVHO0FBQ0ksTUFBTSxtQ0FBbUMsR0FBRyxLQUFLLEVBQUUsVUFBa0IsRUFBd0MsRUFBRTtJQUNwSCxJQUFJLE9BQU8sVUFBVSxLQUFLLFFBQVEsSUFBSSxVQUFVLEtBQUssRUFBRSxFQUFFLENBQUM7UUFDeEQsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO0lBRUQsT0FBTyxnQ0FBZ0MsQ0FBQyxVQUFVLENBQUMsQ0FBQTtBQUNyRCxDQUFDLENBQUE7QUFOWSxRQUFBLG1DQUFtQyx1Q0FNL0M7QUFFRDs7R0FFRztBQUNILE1BQU0sd0NBQXdDLEdBQUcsS0FBSyxFQUNwRCxlQUF1QixFQUNlLEVBQUU7SUFDeEMsSUFBSSxPQUFPLGVBQWUsS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUN4QyxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7SUFFRCxNQUFNLFNBQVMsR0FBRyxJQUFBLGdDQUF1QixHQUFFLENBQUE7SUFDM0MsTUFBTSxTQUFTLEdBQUcsSUFBQSxzQ0FBNkIsR0FBRSxDQUFBO0lBRWpELElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUM3QixPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7SUFFRCxNQUFNLE9BQU8sR0FBRyxJQUFJLDJCQUFZLENBQUM7UUFDL0IsU0FBUyxFQUFFLFNBQVM7UUFDcEIsU0FBUyxFQUFFLFNBQVM7UUFDcEIsc0JBQXNCLEVBQUUsb0NBQW9DO1FBQzVELHlCQUF5QixFQUFFO1lBQ3pCLGtCQUFrQixFQUFFLGVBQWU7U0FDcEM7S0FDRixDQUFDLENBQUE7SUFFRixNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUEscUJBQVksR0FBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUNuRCxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxNQUFNLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDM0QsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO0lBQ0QsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBeUIsQ0FBQTtBQUNsRCxDQUFDLENBQUE7QUFFRDs7R0FFRztBQUNILE1BQU0scUNBQXFDLEdBQUcsS0FBSyxFQUFFLGVBQXVCLEVBQXdDLEVBQUU7SUFDcEgsSUFBSSxPQUFPLGVBQWUsS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUN4QyxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7SUFFRCxNQUFNLFNBQVMsR0FBRyxJQUFBLHFCQUFZLEdBQUUsQ0FBQTtJQUNoQyxNQUFNLFNBQVMsR0FBRyxJQUFBLHNDQUE2QixHQUFFLENBQUE7SUFFakQsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQzdCLE9BQU8sSUFBSSxDQUFBO0lBQ2IsQ0FBQztJQUVELE1BQU0sT0FBTyxHQUFHLElBQUksMkJBQVksQ0FBQztRQUMvQixTQUFTLEVBQUUsU0FBUztRQUNwQixTQUFTLEVBQUUsU0FBUztRQUNwQixzQkFBc0IsRUFBRSxvQ0FBb0M7UUFDNUQseUJBQXlCLEVBQUU7WUFDekIsa0JBQWtCLEVBQUUsZUFBZTtTQUNwQztLQUNGLENBQUMsQ0FBQTtJQUVGLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBQSxxQkFBWSxHQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQ25ELElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQzVCLE9BQU8sSUFBSSxDQUFBO0lBQ2IsQ0FBQztJQUNELE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQXlCLENBQUE7QUFDbEQsQ0FBQyxDQUFBO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLGdDQUFnQyxHQUFHLEtBQUssRUFBRSxZQUFvQixFQUF3QyxFQUFFO0lBQzVHLElBQUksT0FBTyxZQUFZLEtBQUssUUFBUSxJQUFJLFlBQVksS0FBSyxFQUFFLEVBQUUsQ0FBQztRQUM1RCxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7SUFFRCxNQUFNLFNBQVMsR0FBRyxJQUFBLGdDQUF1QixHQUFFLENBQUE7SUFDM0MsTUFBTSxTQUFTLEdBQUcsSUFBQSxtQ0FBMEIsR0FBRSxDQUFBO0lBRTlDLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUM3QixPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7SUFFRCxNQUFNLE9BQU8sR0FBRyxJQUFJLDJCQUFZLENBQUM7UUFDL0IsU0FBUyxFQUFFLFNBQVM7UUFDcEIsU0FBUyxFQUFFLFNBQVM7UUFDcEIsc0JBQXNCLEVBQUUsOEJBQThCO1FBQ3RELHlCQUF5QixFQUFFO1lBQ3pCLGVBQWUsRUFBRSxZQUFZO1NBQzlCO0tBQ0YsQ0FBQyxDQUFBO0lBRUYsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFBLHFCQUFZLEdBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDbkQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7UUFDNUIsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO0lBQ0QsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBeUIsQ0FBQTtBQUNsRCxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEZhY2lsaXR5IG1hcHBpbmcgZnVuY3Rpb25zIGZvciBUdXJ2byBsb2NhdGlvbiB0byBWZWhvIGZhY2lsaXR5IG1hcHBpbmdcbiAqXG4gKiBUaGlzIGZpbGUgY29udGFpbnMgbWV0aG9kcyBmb3IgbWFwcGluZyBiZXR3ZWVuIFR1cnZvIGxvY2F0aW9ucyBhbmQgVmVobyBmYWNpbGl0aWVzLlxuICogSXQgYWJzdHJhY3RzIG92ZXIgdGhyZWUgZGlmZmVyZW50IHRhYmxlczpcbiAqIDEuIEZBQ0lMSVRZX0NPREVfTUFQX1RBQkxFOiBzdG9yZXMgdGhlIG1hcCB1c2luZyB0aGUgY3VycmVudCBmYWNpbGl0eUNvZGUgbmFtaW5nIHNjaGVtZVxuICogMi4gU0hPUlRfQ09ERV9NQVBfVEFCTEU6IHN0b3JlcyB0aGUgbWFwIHVzaW5nIHRoZSBvbGQgc2hvcnRDb2RlIG5hbWluZyBzY2hlbWVcbiAqIDMuIFJFVElSRURfRkFDSUxJVFlfTUFQUElOR19UQUJMRV9OQU1FOiBzdG9yZXMgcmV0aXJlZCBmYWNpbGl0eSBtYXBwaW5nc1xuICovXG5cbmltcG9ydCB7IFF1ZXJ5Q29tbWFuZCB9IGZyb20gJ0Bhd3Mtc2RrL2xpYi1keW5hbW9kYidcblxuaW1wb3J0IHsgVmVob1R1cnZvTG9jYXRpb25NYXAgfSBmcm9tICcuLi90eXBlcy9mYWNpbGl0eU1hcHBpbmcnXG5pbXBvcnQge1xuICBnZXREb2NDbGllbnQsXG4gIGdldEZhY2lsaXR5Q29kZU1hcFRhYmxlLFxuICBnZXRJbmRleE5hbWVCeUZhY2lsaXR5Q29kZSxcbiAgZ2V0SW5kZXhOYW1lQnlTaG9ydENvZGUsXG4gIGdldEluZGV4TmFtZUJ5VHVydm9Mb2NhdGlvbklkLFxuICBnZXRSZXRpcmVkRmFjaWxpdHlNYXBwaW5nVGFibGVOYW1lLFxuICBnZXRUYWJsZU5hbWUsXG59IGZyb20gJy4vY2xpZW50J1xuXG4vKipcbiAqIEdldCBmYWNpbGl0eSBtYXBwaW5nIGZvciBhIFR1cnZvIGxvY2F0aW9uIElEXG4gKiBDaGVja3MgYm90aCBmYWNpbGl0eSBjb2RlIGFuZCBzaG9ydCBjb2RlIG1hcHBpbmdzXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRGYWNpbGl0eU1hcHBpbmdGb3JUdXJ2b0xvY2F0aW9uSWQgPSBhc3luYyAoXG4gIHR1cnZvTG9jYXRpb25JZDogbnVtYmVyXG4pOiBQcm9taXNlPFZlaG9UdXJ2b0xvY2F0aW9uTWFwIHwgbnVsbD4gPT4ge1xuICBpZiAodHlwZW9mIHR1cnZvTG9jYXRpb25JZCAhPT0gJ251bWJlcicpIHtcbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgLy8gQ2hlY2sgbmV3IEZBQ0lMSVRZX0NPREVfTUFQX1RBQkxFIGZpcnN0XG4gIGNvbnN0IGZhY2lsaXR5Q29kZU1hcHBpbmcgPSBhd2FpdCBnZXRGYWNpbGl0eUNvZGVNYXBwaW5nRm9yVHVydm9Mb2NhdGlvbklkKHR1cnZvTG9jYXRpb25JZClcbiAgaWYgKGZhY2lsaXR5Q29kZU1hcHBpbmcpIHtcbiAgICByZXR1cm4gZmFjaWxpdHlDb2RlTWFwcGluZ1xuICB9XG5cbiAgLy8gVGhlbiBjaGVjayB0aGUgU0hPUlRfQ09ERV9NQVBfVEFCTEVcbiAgY29uc3Qgc2hvcnRDb2RlTWFwcGluZyA9IGF3YWl0IGdldFNob3J0Q29kZU1hcHBpbmdGb3JUdXJ2b0xvY2F0aW9uSWQodHVydm9Mb2NhdGlvbklkKVxuICBpZiAoc2hvcnRDb2RlTWFwcGluZykge1xuICAgIHJldHVybiBzaG9ydENvZGVNYXBwaW5nXG4gIH1cblxuICByZXR1cm4gbnVsbFxufVxuXG4vKipcbiAqIEdldCByZXRpcmVkIGZhY2lsaXR5IG1hcHBpbmcgZm9yIGEgVHVydm8gbG9jYXRpb24gSURcbiAqL1xuZXhwb3J0IGNvbnN0IGdldFJldGlyZWRGYWNpbGl0eU1hcHBpbmdGb3JUdXJ2b0xvY2F0aW9uSWQgPSBhc3luYyAoXG4gIHR1cnZvTG9jYXRpb25JZDogbnVtYmVyXG4pOiBQcm9taXNlPFZlaG9UdXJ2b0xvY2F0aW9uTWFwIHwgbnVsbD4gPT4ge1xuICBpZiAodHlwZW9mIHR1cnZvTG9jYXRpb25JZCAhPT0gJ251bWJlcicpIHtcbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgY29uc3QgdGFibGVOYW1lID0gZ2V0UmV0aXJlZEZhY2lsaXR5TWFwcGluZ1RhYmxlTmFtZSgpXG4gIGNvbnN0IGluZGV4TmFtZSA9IGdldEluZGV4TmFtZUJ5VHVydm9Mb2NhdGlvbklkKClcblxuICBpZiAoIXRhYmxlTmFtZSB8fCAhaW5kZXhOYW1lKSB7XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuXG4gIGNvbnN0IGRiUXVlcnkgPSBuZXcgUXVlcnlDb21tYW5kKHtcbiAgICBUYWJsZU5hbWU6IHRhYmxlTmFtZSxcbiAgICBJbmRleE5hbWU6IGluZGV4TmFtZSxcbiAgICBLZXlDb25kaXRpb25FeHByZXNzaW9uOiAndHVydm9Mb2NhdGlvbklkID0gOnR1cnZvTG9jYXRpb25JZCcsXG4gICAgRXhwcmVzc2lvbkF0dHJpYnV0ZVZhbHVlczoge1xuICAgICAgJzp0dXJ2b0xvY2F0aW9uSWQnOiB0dXJ2b0xvY2F0aW9uSWQsXG4gICAgfSxcbiAgfSlcblxuICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGdldERvY0NsaWVudCgpLnNlbmQoZGJRdWVyeSlcbiAgaWYgKCFyZXNwb25zZS5JdGVtcz8ubGVuZ3RoKSB7XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuICByZXR1cm4gcmVzcG9uc2UuSXRlbXNbMF0gYXMgVmVob1R1cnZvTG9jYXRpb25NYXBcbn1cblxuLyoqXG4gKiBHZXQgcmV0aXJlZCBmYWNpbGl0eSBtYXBwaW5nIGJ5IGh1bWFuIGlkZW50aWZpZXIgKGZhY2lsaXR5IGNvZGUgb3Igc2hvcnQgY29kZSlcbiAqL1xuZXhwb3J0IGNvbnN0IGdldFJldGlyZWRGYWNpbGl0eU1hcHBpbmdCeUh1bWFuSWRlbnRpZmllciA9IGFzeW5jIChcbiAgaHVtYW5JZGVudGlmaWVyOiBzdHJpbmdcbik6IFByb21pc2U8VmVob1R1cnZvTG9jYXRpb25NYXAgfCBudWxsPiA9PiB7XG4gIGlmICh0eXBlb2YgaHVtYW5JZGVudGlmaWVyICE9PSAnc3RyaW5nJyB8fCBodW1hbklkZW50aWZpZXIgPT09ICcnKSB7XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuXG4gIGNvbnN0IHRhYmxlTmFtZSA9IGdldFJldGlyZWRGYWNpbGl0eU1hcHBpbmdUYWJsZU5hbWUoKVxuICBjb25zdCBpbmRleE5hbWUgPSBnZXRJbmRleE5hbWVCeVNob3J0Q29kZSgpXG5cbiAgaWYgKCF0YWJsZU5hbWUgfHwgIWluZGV4TmFtZSkge1xuICAgIHJldHVybiBudWxsXG4gIH1cblxuICBjb25zdCBkYlF1ZXJ5ID0gbmV3IFF1ZXJ5Q29tbWFuZCh7XG4gICAgVGFibGVOYW1lOiB0YWJsZU5hbWUsXG4gICAgSW5kZXhOYW1lOiBpbmRleE5hbWUsXG4gICAgS2V5Q29uZGl0aW9uRXhwcmVzc2lvbjogJ3Nob3J0Q29kZSA9IDpzaG9ydENvZGUnLFxuICAgIEV4cHJlc3Npb25BdHRyaWJ1dGVWYWx1ZXM6IHtcbiAgICAgICc6c2hvcnRDb2RlJzogaHVtYW5JZGVudGlmaWVyLFxuICAgIH0sXG4gIH0pXG5cbiAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBnZXREb2NDbGllbnQoKS5zZW5kKGRiUXVlcnkpXG4gIGlmICghcmVzcG9uc2UuSXRlbXM/Lmxlbmd0aCkge1xuICAgIHJldHVybiBudWxsXG4gIH1cbiAgcmV0dXJuIHJlc3BvbnNlLkl0ZW1zWzBdIGFzIFZlaG9UdXJ2b0xvY2F0aW9uTWFwXG59XG5cbi8qKlxuICogR2V0IGZhY2lsaXR5IG1hcHBpbmcgYnkgaHVtYW4gaWRlbnRpZmllciAoZmFjaWxpdHkgY29kZSlcbiAqL1xuZXhwb3J0IGNvbnN0IGdldEZhY2lsaXR5TWFwcGluZ0J5SHVtYW5JZGVudGlmaWVyID0gYXN5bmMgKGlkZW50aWZpZXI6IHN0cmluZyk6IFByb21pc2U8VmVob1R1cnZvTG9jYXRpb25NYXAgfCBudWxsPiA9PiB7XG4gIGlmICh0eXBlb2YgaWRlbnRpZmllciAhPT0gJ3N0cmluZycgfHwgaWRlbnRpZmllciA9PT0gJycpIHtcbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgcmV0dXJuIGdldEZhY2lsaXR5TWFwcGluZ0J5RmFjaWxpdHlDb2RlKGlkZW50aWZpZXIpXG59XG5cbi8qKlxuICogR2V0IGZhY2lsaXR5IGNvZGUgbWFwcGluZyBmb3IgYSBUdXJ2byBsb2NhdGlvbiBJRFxuICovXG5jb25zdCBnZXRGYWNpbGl0eUNvZGVNYXBwaW5nRm9yVHVydm9Mb2NhdGlvbklkID0gYXN5bmMgKFxuICB0dXJ2b0xvY2F0aW9uSWQ6IG51bWJlclxuKTogUHJvbWlzZTxWZWhvVHVydm9Mb2NhdGlvbk1hcCB8IG51bGw+ID0+IHtcbiAgaWYgKHR5cGVvZiB0dXJ2b0xvY2F0aW9uSWQgIT09ICdudW1iZXInKSB7XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuXG4gIGNvbnN0IHRhYmxlTmFtZSA9IGdldEZhY2lsaXR5Q29kZU1hcFRhYmxlKClcbiAgY29uc3QgaW5kZXhOYW1lID0gZ2V0SW5kZXhOYW1lQnlUdXJ2b0xvY2F0aW9uSWQoKVxuXG4gIGlmICghdGFibGVOYW1lIHx8ICFpbmRleE5hbWUpIHtcbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgY29uc3QgZGJRdWVyeSA9IG5ldyBRdWVyeUNvbW1hbmQoe1xuICAgIFRhYmxlTmFtZTogdGFibGVOYW1lLFxuICAgIEluZGV4TmFtZTogaW5kZXhOYW1lLFxuICAgIEtleUNvbmRpdGlvbkV4cHJlc3Npb246ICd0dXJ2b0xvY2F0aW9uSWQgPSA6dHVydm9Mb2NhdGlvbklkJyxcbiAgICBFeHByZXNzaW9uQXR0cmlidXRlVmFsdWVzOiB7XG4gICAgICAnOnR1cnZvTG9jYXRpb25JZCc6IHR1cnZvTG9jYXRpb25JZCxcbiAgICB9LFxuICB9KVxuXG4gIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZ2V0RG9jQ2xpZW50KCkuc2VuZChkYlF1ZXJ5KVxuICBpZiAoIXJlc3BvbnNlLkl0ZW1zPy5sZW5ndGggfHwgcmVzcG9uc2UuSXRlbXMubGVuZ3RoICE9PSAxKSB7XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuICByZXR1cm4gcmVzcG9uc2UuSXRlbXNbMF0gYXMgVmVob1R1cnZvTG9jYXRpb25NYXBcbn1cblxuLyoqXG4gKiBHZXQgc2hvcnQgY29kZSBtYXBwaW5nIGZvciBhIFR1cnZvIGxvY2F0aW9uIElEXG4gKi9cbmNvbnN0IGdldFNob3J0Q29kZU1hcHBpbmdGb3JUdXJ2b0xvY2F0aW9uSWQgPSBhc3luYyAodHVydm9Mb2NhdGlvbklkOiBudW1iZXIpOiBQcm9taXNlPFZlaG9UdXJ2b0xvY2F0aW9uTWFwIHwgbnVsbD4gPT4ge1xuICBpZiAodHlwZW9mIHR1cnZvTG9jYXRpb25JZCAhPT0gJ251bWJlcicpIHtcbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgY29uc3QgdGFibGVOYW1lID0gZ2V0VGFibGVOYW1lKClcbiAgY29uc3QgaW5kZXhOYW1lID0gZ2V0SW5kZXhOYW1lQnlUdXJ2b0xvY2F0aW9uSWQoKVxuXG4gIGlmICghdGFibGVOYW1lIHx8ICFpbmRleE5hbWUpIHtcbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgY29uc3QgZGJRdWVyeSA9IG5ldyBRdWVyeUNvbW1hbmQoe1xuICAgIFRhYmxlTmFtZTogdGFibGVOYW1lLFxuICAgIEluZGV4TmFtZTogaW5kZXhOYW1lLFxuICAgIEtleUNvbmRpdGlvbkV4cHJlc3Npb246ICd0dXJ2b0xvY2F0aW9uSWQgPSA6dHVydm9Mb2NhdGlvbklkJyxcbiAgICBFeHByZXNzaW9uQXR0cmlidXRlVmFsdWVzOiB7XG4gICAgICAnOnR1cnZvTG9jYXRpb25JZCc6IHR1cnZvTG9jYXRpb25JZCxcbiAgICB9LFxuICB9KVxuXG4gIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZ2V0RG9jQ2xpZW50KCkuc2VuZChkYlF1ZXJ5KVxuICBpZiAoIXJlc3BvbnNlLkl0ZW1zPy5sZW5ndGgpIHtcbiAgICByZXR1cm4gbnVsbFxuICB9XG4gIHJldHVybiByZXNwb25zZS5JdGVtc1swXSBhcyBWZWhvVHVydm9Mb2NhdGlvbk1hcFxufVxuXG4vKipcbiAqIEdldCBmYWNpbGl0eSBtYXBwaW5nIGJ5IGZhY2lsaXR5IGNvZGVcbiAqL1xuY29uc3QgZ2V0RmFjaWxpdHlNYXBwaW5nQnlGYWNpbGl0eUNvZGUgPSBhc3luYyAoZmFjaWxpdHlDb2RlOiBzdHJpbmcpOiBQcm9taXNlPFZlaG9UdXJ2b0xvY2F0aW9uTWFwIHwgbnVsbD4gPT4ge1xuICBpZiAodHlwZW9mIGZhY2lsaXR5Q29kZSAhPT0gJ3N0cmluZycgfHwgZmFjaWxpdHlDb2RlID09PSAnJykge1xuICAgIHJldHVybiBudWxsXG4gIH1cblxuICBjb25zdCB0YWJsZU5hbWUgPSBnZXRGYWNpbGl0eUNvZGVNYXBUYWJsZSgpXG4gIGNvbnN0IGluZGV4TmFtZSA9IGdldEluZGV4TmFtZUJ5RmFjaWxpdHlDb2RlKClcblxuICBpZiAoIXRhYmxlTmFtZSB8fCAhaW5kZXhOYW1lKSB7XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuXG4gIGNvbnN0IGRiUXVlcnkgPSBuZXcgUXVlcnlDb21tYW5kKHtcbiAgICBUYWJsZU5hbWU6IHRhYmxlTmFtZSxcbiAgICBJbmRleE5hbWU6IGluZGV4TmFtZSxcbiAgICBLZXlDb25kaXRpb25FeHByZXNzaW9uOiAnZmFjaWxpdHlDb2RlID0gOmZhY2lsaXR5Q29kZScsXG4gICAgRXhwcmVzc2lvbkF0dHJpYnV0ZVZhbHVlczoge1xuICAgICAgJzpmYWNpbGl0eUNvZGUnOiBmYWNpbGl0eUNvZGUsXG4gICAgfSxcbiAgfSlcblxuICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGdldERvY0NsaWVudCgpLnNlbmQoZGJRdWVyeSlcbiAgaWYgKCFyZXNwb25zZS5JdGVtcz8ubGVuZ3RoKSB7XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuICByZXR1cm4gcmVzcG9uc2UuSXRlbXNbMF0gYXMgVmVob1R1cnZvTG9jYXRpb25NYXBcbn1cbiJdfQ==
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.TrackingService = void 0;
|
|
4
|
+
const luxon_1 = require("luxon");
|
|
5
|
+
const facilityMapping_1 = require("../db/facilityMapping");
|
|
4
6
|
const errors_1 = require("../types/errors");
|
|
5
7
|
/**
|
|
6
8
|
* TrackingService orchestrates calls to public and internal APIs
|
|
@@ -46,40 +48,78 @@ class TrackingService {
|
|
|
46
48
|
* Transform raw Turvo API responses into clean ShipmentTracking type
|
|
47
49
|
*
|
|
48
50
|
*/
|
|
49
|
-
transformToTrackingDetails(shipment, locationUpdates, internalApiFailed) {
|
|
51
|
+
async transformToTrackingDetails(shipment, locationUpdates, internalApiFailed) {
|
|
50
52
|
const shipmentData = shipment;
|
|
53
|
+
// Filter out deleted entries from turvo data
|
|
54
|
+
const globalRoute = shipmentData.globalRoute?.filter(route => route.deleted !== false);
|
|
55
|
+
const carrierOrder = shipmentData.carrierOrder?.filter(order => order.deleted !== false);
|
|
56
|
+
// Map global route to stops array
|
|
57
|
+
const allStops = await Promise.all(shipment.globalRoute
|
|
58
|
+
.filter(routeStop => !routeStop.deleted)
|
|
59
|
+
.map(async (routeStop) => {
|
|
60
|
+
// Make sure we're actually getting ISO, fail if we don't
|
|
61
|
+
const appointmentDateTime = luxon_1.DateTime.fromISO(routeStop.appointment.date).toUTC().toISO();
|
|
62
|
+
if (!appointmentDateTime) {
|
|
63
|
+
throw new errors_1.TurvoDateFormatError(`expected ISO date but got ${routeStop.appointment.date}`);
|
|
64
|
+
}
|
|
65
|
+
// Additional check for a retired location mapping to get a facility id,
|
|
66
|
+
// for the case a facility has moved/been given a new entry in turvo.
|
|
67
|
+
const facilityId = (await (0, facilityMapping_1.getFacilityMappingForTurvoLocationId)(routeStop.location.id))?.facilityId ??
|
|
68
|
+
(await (0, facilityMapping_1.getRetiredFacilityMappingForTurvoLocationId)(routeStop.location.id))?.facilityId ??
|
|
69
|
+
null;
|
|
70
|
+
return {
|
|
71
|
+
stopNumber: routeStop.sequence,
|
|
72
|
+
appointmentDateTime,
|
|
73
|
+
appointmentLocalTimeZone: routeStop.appointment.timeZone,
|
|
74
|
+
locationName: routeStop.name,
|
|
75
|
+
externalLocationId: routeStop.location.id.toString(),
|
|
76
|
+
facilityId,
|
|
77
|
+
externalStopId: routeStop.id?.toString() ?? null,
|
|
78
|
+
stopServiceType: routeStop.stopType.value === 'Pickup' ? 'pickup' : 'delivery',
|
|
79
|
+
isCompleted: routeStop.state === 'COMPLETED',
|
|
80
|
+
locationId: routeStop.location.id,
|
|
81
|
+
etaToStop: routeStop.etaToStop?.etaValue ?? null,
|
|
82
|
+
milesRemainingToStop: routeStop.etaToStop?.nextMiles ?? null,
|
|
83
|
+
totalMilesToStop: routeStop.distance?.value ?? null,
|
|
84
|
+
// TODO: actual arrival time - time under attributes under global route
|
|
85
|
+
// TODO: actual departure time
|
|
86
|
+
// TODO: address, city, state - address under globalroute
|
|
87
|
+
// TODO: ask about what we want when we have multiple entries for the arrival/departure?
|
|
88
|
+
};
|
|
89
|
+
}));
|
|
90
|
+
const allStopsOrdered = allStops.toSorted((a, b) => a.stopNumber - b.stopNumber);
|
|
91
|
+
const nextStop = allStopsOrdered.find(stop => !stop.isCompleted) ?? null;
|
|
51
92
|
return {
|
|
52
93
|
// Identifiers
|
|
53
94
|
shipmentId: shipmentData.id?.toString() || '',
|
|
54
95
|
loadReferenceNumber: shipmentData.customId || '',
|
|
55
96
|
// Status
|
|
56
97
|
status: shipmentData.status?.code?.value || 'Unknown',
|
|
57
|
-
|
|
98
|
+
lateByMinutes: shipment.status.runningLate?.lateDuration ?? null,
|
|
58
99
|
isLate: !!shipment.status.runningLate,
|
|
59
100
|
// Current location (if tracking available)
|
|
60
|
-
currentLocation: shipment.status.location ?? null,
|
|
101
|
+
currentLocation: shipment.status.location ?? null, // TODO: make sure this is the value we actually want, status location may not be it
|
|
61
102
|
hasGpsTracking: locationUpdates !== null && !internalApiFailed,
|
|
62
103
|
// Progress
|
|
63
|
-
completedStops:
|
|
64
|
-
totalStops:
|
|
104
|
+
completedStops: allStopsOrdered.filter(stop => stop.isCompleted).length || 0,
|
|
105
|
+
totalStops: globalRoute?.length || 0,
|
|
65
106
|
// Stops (ordered)
|
|
66
|
-
stops:
|
|
107
|
+
stops: allStopsOrdered,
|
|
67
108
|
// ETA & Distance
|
|
68
|
-
etaUtc:
|
|
69
|
-
etaTimezone:
|
|
70
|
-
milesRemaining:
|
|
71
|
-
|
|
109
|
+
etaUtc: nextStop?.etaToStop ?? null,
|
|
110
|
+
etaTimezone: nextStop?.appointmentLocalTimeZone ?? null,
|
|
111
|
+
milesRemaining: nextStop?.milesRemainingToStop ?? null,
|
|
112
|
+
totalMilesToNextStop: nextStop?.totalMilesToStop ?? null,
|
|
72
113
|
// GPS Pings (only populated if includeGps: true and hasGpsTracking)
|
|
73
114
|
locationUpdates: locationUpdates || null, // TODO: implment with scraper
|
|
74
115
|
pingCount: locationUpdates?.length || null, // TODO: implement with scraper
|
|
75
|
-
lastPingAt: locationUpdates?.[(locationUpdates?.length || 0) - 1]?.timestamp ||
|
|
76
|
-
null, // TODO: implement with scraper
|
|
116
|
+
lastPingAt: locationUpdates?.[(locationUpdates?.length || 0) - 1]?.timestamp || null, // TODO: implement with scraper
|
|
77
117
|
// Shipment Attributes
|
|
78
118
|
laneType: shipment.flexAttributes?.find(attribute => attribute.name === 'Lane Type')?.value ?? null,
|
|
79
119
|
managementType: shipment.flexAttributes?.find(attribute => attribute.name === 'Management Type')?.value ?? null,
|
|
80
|
-
carrier:
|
|
120
|
+
carrier: carrierOrder?.[0]?.carrier?.name || null,
|
|
81
121
|
};
|
|
82
122
|
}
|
|
83
123
|
}
|
|
84
124
|
exports.TrackingService = TrackingService;
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhY2tpbmdTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NoaXBtZW50VHJhY2tpbmcvdHJhY2tpbmdTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUdBLDRDQUFvRDtBQUdwRDs7O0dBR0c7QUFDSCxNQUFhLGVBQWU7SUFFaEI7SUFDQTtJQUZWLFlBQ1UsU0FBeUIsRUFDekIsV0FBNkI7UUFEN0IsY0FBUyxHQUFULFNBQVMsQ0FBZ0I7UUFDekIsZ0JBQVcsR0FBWCxXQUFXLENBQWtCO0lBQ3BDLENBQUM7SUFFSjs7Ozs7O09BTUc7SUFDSCxLQUFLLENBQUMsV0FBVyxDQUFDLFVBQWtCLEVBQUUsVUFBOEIsRUFBRTtRQUNwRSxzQ0FBc0M7UUFDdEMsTUFBTSxjQUFjLEdBQUcsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxFQUFFLFVBQVUsRUFBRSxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFBO1FBRTdGLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDNUIsTUFBTSxJQUFJLDJCQUFrQixDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQzFDLENBQUM7UUFFRCxNQUFNLFFBQVEsR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFBO1FBRXZDLGtEQUFrRDtRQUNsRCxJQUFJLGVBQWUsR0FBNEIsSUFBSSxDQUFBO1FBQ25ELElBQUksaUJBQWlCLEdBQUcsS0FBSyxDQUFBO1FBRTdCLElBQUksT0FBTyxDQUFDLFVBQVUsS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUNqQyxJQUFJLENBQUM7Z0JBQ0gsZUFBZSxHQUFHLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsQ0FBQTtZQUN6RSxDQUFDO1lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztnQkFDZixnREFBZ0Q7Z0JBQ2hELGlCQUFpQixHQUFHLElBQUksQ0FBQTtZQUMxQixDQUFDO1FBQ0gsQ0FBQztRQUVELGlDQUFpQztRQUNqQyxPQUFPLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLEVBQUUsZUFBZSxFQUFFLGlCQUFpQixDQUFDLENBQUE7SUFDdEYsQ0FBQztJQUVEOzs7T0FHRztJQUNLLDBCQUEwQixDQUNoQyxRQUF1QixFQUN2QixlQUF3QyxFQUN4QyxpQkFBMEI7UUFFMUIsTUFBTSxZQUFZLEdBQUcsUUFBeUIsQ0FBQTtRQUM5QyxPQUFPO1lBQ0wsY0FBYztZQUNkLFVBQVUsRUFBRyxZQUFZLENBQUMsRUFBYSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7WUFDekQsbUJBQW1CLEVBQUcsWUFBWSxDQUFDLFFBQW1CLElBQUksRUFBRTtZQUU1RCxTQUFTO1lBQ1QsTUFBTSxFQUFHLFlBQVksQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQWdCLElBQUksU0FBUztZQUNqRSxNQUFNLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsa0JBQWtCLElBQUksSUFBSTtZQUMvRCxNQUFNLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsV0FBVztZQUVyQywyQ0FBMkM7WUFDM0MsZUFBZSxFQUFFLFFBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUSxJQUFJLElBQUk7WUFDakQsY0FBYyxFQUFFLGVBQWUsS0FBSyxJQUFJLElBQUksQ0FBQyxpQkFBaUI7WUFFOUQsV0FBVztZQUNYLGNBQWMsRUFBRSxDQUFDLEVBQUUsNENBQTRDO1lBQy9ELFVBQVUsRUFBRyxZQUFZLENBQUMsV0FBeUIsRUFBRSxNQUFNLElBQUksQ0FBQyxFQUFFLDRDQUE0QztZQUU5RyxrQkFBa0I7WUFDbEIsS0FBSyxFQUFFLEVBQUUsRUFBRSxzQ0FBc0M7WUFFakQsaUJBQWlCO1lBQ2pCLE1BQU0sRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxTQUFTLElBQUksSUFBSTtZQUNyRCxXQUFXLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUseUJBQXlCLElBQUksSUFBSTtZQUMxRSxjQUFjLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsU0FBUyxJQUFJLElBQUk7WUFDM0QsVUFBVSxFQUFFLElBQUksRUFBRSxtR0FBbUc7WUFFckgsb0VBQW9FO1lBQ3BFLGVBQWUsRUFBRyxlQUFvQyxJQUFJLElBQUksRUFBRSw4QkFBOEI7WUFDOUYsU0FBUyxFQUFHLGVBQW9DLEVBQUUsTUFBTSxJQUFJLElBQUksRUFBRSwrQkFBK0I7WUFDakcsVUFBVSxFQUNQLGVBQW9DLEVBQUUsQ0FBQyxDQUFFLGVBQW9DLEVBQUUsTUFBTSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLFNBQVM7Z0JBQzVHLElBQUksRUFBRSwrQkFBK0I7WUFFdkMsc0JBQXNCO1lBQ3RCLFFBQVEsRUFBRSxRQUFRLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEtBQUssV0FBVyxDQUFDLEVBQUUsS0FBSyxJQUFJLElBQUk7WUFDbkcsY0FBYyxFQUFFLFFBQVEsQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksS0FBSyxpQkFBaUIsQ0FBQyxFQUFFLEtBQUssSUFBSSxJQUFJO1lBQy9HLE9BQU8sRUFFRCxZQUFZLENBQUMsWUFBMEIsRUFBRSxDQUFDLENBQUMsQ0FBNkIsRUFBRSxPQUM3RSxFQUFFLElBQWUsSUFBSSxJQUFJO1NBQzdCLENBQUE7SUFDSCxDQUFDO0NBQ0Y7QUE3RkQsMENBNkZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHVydm9JbnRlcm5hbEFwaSB9IGZyb20gJy4uL2FwaS90dXJ2b0ludGVybmFsQXBpJ1xuaW1wb3J0IHsgVHVydm9QdWJsaWNBcGkgfSBmcm9tICcuLi9hcGkvdHVydm9QdWJsaWNBcGknXG5pbXBvcnQgeyBUdXJ2b1NoaXBtZW50IH0gZnJvbSAnLi4vdHlwZXMnXG5pbXBvcnQgeyBUdXJ2b05vdEZvdW5kRXJyb3IgfSBmcm9tICcuLi90eXBlcy9lcnJvcnMnXG5pbXBvcnQgeyBHZXRUcmFja2luZ09wdGlvbnMsIExvY2F0aW9uVXBkYXRlLCBTaGlwbWVudFRyYWNraW5nIH0gZnJvbSAnLi4vdHlwZXMvdHJhY2tpbmcnXG5cbi8qKlxuICogVHJhY2tpbmdTZXJ2aWNlIG9yY2hlc3RyYXRlcyBjYWxscyB0byBwdWJsaWMgYW5kIGludGVybmFsIEFQSXNcbiAqIHRvIHByb3ZpZGUgYSB1bmlmaWVkIHNoaXBtZW50IHRyYWNraW5nIGludGVyZmFjZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFRyYWNraW5nU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcHVibGljQXBpOiBUdXJ2b1B1YmxpY0FwaSxcbiAgICBwcml2YXRlIGludGVybmFsQXBpOiBUdXJ2b0ludGVybmFsQXBpXG4gICkge31cblxuICAvKipcbiAgICogTWFpbiBlbnRyeSBwb2ludCAtIGNvbWJpbmVzIGFsbCBBUEkgZGF0YSB0byBwcm9kdWNlIFNoaXBtZW50VHJhY2tpbmdcbiAgICpcbiAgICogQHBhcmFtIHNoaXBtZW50SWQgLSBUaGUgc2hpcG1lbnQgSUQgdG8gdHJhY2tcbiAgICogQHBhcmFtIG9wdGlvbnMgLSBUcmFja2luZyBvcHRpb25zXG4gICAqIEByZXR1cm5zIENvbXBsZXRlIHNoaXBtZW50IHRyYWNraW5nIGluZm9ybWF0aW9uXG4gICAqL1xuICBhc3luYyBnZXRUcmFja2luZyhzaGlwbWVudElkOiBzdHJpbmcsIG9wdGlvbnM6IEdldFRyYWNraW5nT3B0aW9ucyA9IHt9KTogUHJvbWlzZTxTaGlwbWVudFRyYWNraW5nPiB7XG4gICAgLy8gMS4gRmV0Y2ggcHVibGljIEFQSSBkYXRhIChyZXF1aXJlZClcbiAgICBjb25zdCBzaGlwbWVudFJlc3VsdCA9IGF3YWl0IHRoaXMucHVibGljQXBpLmdldFNoaXBtZW50KHsgc2hpcG1lbnRJZDogcGFyc2VJbnQoc2hpcG1lbnRJZCkgfSlcblxuICAgIGlmICghc2hpcG1lbnRSZXN1bHQuZGV0YWlscykge1xuICAgICAgdGhyb3cgbmV3IFR1cnZvTm90Rm91bmRFcnJvcihzaGlwbWVudElkKVxuICAgIH1cblxuICAgIGNvbnN0IHNoaXBtZW50ID0gc2hpcG1lbnRSZXN1bHQuZGV0YWlsc1xuXG4gICAgLy8gMi4gRmV0Y2ggaW50ZXJuYWwgQVBJIGRhdGEgKG9wdGlvbmFsLCBtYXkgZmFpbClcbiAgICBsZXQgbG9jYXRpb25VcGRhdGVzOiBMb2NhdGlvblVwZGF0ZVtdIHwgbnVsbCA9IG51bGxcbiAgICBsZXQgaW50ZXJuYWxBcGlGYWlsZWQgPSBmYWxzZVxuXG4gICAgaWYgKG9wdGlvbnMuaW5jbHVkZUdwcyAhPT0gZmFsc2UpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGxvY2F0aW9uVXBkYXRlcyA9IGF3YWl0IHRoaXMuaW50ZXJuYWxBcGkuZ2V0TG9jYXRpb25VcGRhdGVzKHNoaXBtZW50SWQpXG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAvLyBMb2cgYnV0IGRvbid0IGZhaWwgLSBpbnRlcm5hbCBBUEkgaXMgb3B0aW9uYWxcbiAgICAgICAgaW50ZXJuYWxBcGlGYWlsZWQgPSB0cnVlXG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gMy4gVHJhbnNmb3JtIHRvIGNsZWFuIHJlc3BvbnNlXG4gICAgcmV0dXJuIHRoaXMudHJhbnNmb3JtVG9UcmFja2luZ0RldGFpbHMoc2hpcG1lbnQsIGxvY2F0aW9uVXBkYXRlcywgaW50ZXJuYWxBcGlGYWlsZWQpXG4gIH1cblxuICAvKipcbiAgICogVHJhbnNmb3JtIHJhdyBUdXJ2byBBUEkgcmVzcG9uc2VzIGludG8gY2xlYW4gU2hpcG1lbnRUcmFja2luZyB0eXBlXG4gICAqXG4gICAqL1xuICBwcml2YXRlIHRyYW5zZm9ybVRvVHJhY2tpbmdEZXRhaWxzKFxuICAgIHNoaXBtZW50OiBUdXJ2b1NoaXBtZW50LFxuICAgIGxvY2F0aW9uVXBkYXRlczogTG9jYXRpb25VcGRhdGVbXSB8IG51bGwsXG4gICAgaW50ZXJuYWxBcGlGYWlsZWQ6IGJvb2xlYW5cbiAgKTogU2hpcG1lbnRUcmFja2luZyB7XG4gICAgY29uc3Qgc2hpcG1lbnREYXRhID0gc2hpcG1lbnQgYXMgVHVydm9TaGlwbWVudFxuICAgIHJldHVybiB7XG4gICAgICAvLyBJZGVudGlmaWVyc1xuICAgICAgc2hpcG1lbnRJZDogKHNoaXBtZW50RGF0YS5pZCBhcyBudW1iZXIpPy50b1N0cmluZygpIHx8ICcnLFxuICAgICAgbG9hZFJlZmVyZW5jZU51bWJlcjogKHNoaXBtZW50RGF0YS5jdXN0b21JZCBhcyBzdHJpbmcpIHx8ICcnLFxuXG4gICAgICAvLyBTdGF0dXNcbiAgICAgIHN0YXR1czogKHNoaXBtZW50RGF0YS5zdGF0dXM/LmNvZGU/LnZhbHVlIGFzIHN0cmluZykgfHwgJ1Vua25vd24nLFxuICAgICAgbGF0ZUJ5OiBzaGlwbWVudC5zdGF0dXMucnVubmluZ0xhdGU/LmxhdGVEdXJhdGlvblN0cmluZyA/PyBudWxsLFxuICAgICAgaXNMYXRlOiAhIXNoaXBtZW50LnN0YXR1cy5ydW5uaW5nTGF0ZSxcblxuICAgICAgLy8gQ3VycmVudCBsb2NhdGlvbiAoaWYgdHJhY2tpbmcgYXZhaWxhYmxlKVxuICAgICAgY3VycmVudExvY2F0aW9uOiBzaGlwbWVudC5zdGF0dXMubG9jYXRpb24gPz8gbnVsbCxcbiAgICAgIGhhc0dwc1RyYWNraW5nOiBsb2NhdGlvblVwZGF0ZXMgIT09IG51bGwgJiYgIWludGVybmFsQXBpRmFpbGVkLFxuXG4gICAgICAvLyBQcm9ncmVzc1xuICAgICAgY29tcGxldGVkU3RvcHM6IDAsIC8vIFRPRE86IENvdW50IGZyb20gc2hpcG1lbnREYXRhLmdsb2JhbFJvdXRlXG4gICAgICB0b3RhbFN0b3BzOiAoc2hpcG1lbnREYXRhLmdsb2JhbFJvdXRlIGFzIHVua25vd25bXSk/Lmxlbmd0aCB8fCAwLCAvLyBUT0RPOiBwYXJzZSBmcm9tIHNoaXBtZW50RGF0YS5nbG9iYWxSb3V0ZVxuXG4gICAgICAvLyBTdG9wcyAob3JkZXJlZClcbiAgICAgIHN0b3BzOiBbXSwgLy8gVE9ETzogaW1wbG1lbnQgZ2xvYmFsIHJvdXRlIHBhcnNpbmdcblxuICAgICAgLy8gRVRBICYgRGlzdGFuY2VcbiAgICAgIGV0YVV0Yzogc2hpcG1lbnQuc3RhdHVzLmF0dHJpYnV0ZXM/LmV0YVZhbFV0YyA/PyBudWxsLFxuICAgICAgZXRhVGltZXpvbmU6IHNoaXBtZW50LnN0YXR1cy5hdHRyaWJ1dGVzPy5uZXh0X2V0YV9jYWxfdmFsX3RpbWV6b25lID8/IG51bGwsXG4gICAgICBtaWxlc1JlbWFpbmluZzogc2hpcG1lbnQuc3RhdHVzLmxvY2F0aW9uPy5uZXh0TWlsZXMgPz8gbnVsbCxcbiAgICAgIHRvdGFsTWlsZXM6IG51bGwsIC8vIFRPRE86IERlcml2ZSBmcm9tIGdsb2JhbCByb3V0ZSAtLSBmaW5kIGN1cnJlbnQgc3RvcCwgYW5kIGZpZ3VyZSBvdXQgdG90YWwgZGlzdGFuY2UgbGVhZGluZyB0byBpdFxuXG4gICAgICAvLyBHUFMgUGluZ3MgKG9ubHkgcG9wdWxhdGVkIGlmIGluY2x1ZGVHcHM6IHRydWUgYW5kIGhhc0dwc1RyYWNraW5nKVxuICAgICAgbG9jYXRpb25VcGRhdGVzOiAobG9jYXRpb25VcGRhdGVzIGFzIExvY2F0aW9uVXBkYXRlW10pIHx8IG51bGwsIC8vIFRPRE86IGltcGxtZW50IHdpdGggc2NyYXBlclxuICAgICAgcGluZ0NvdW50OiAobG9jYXRpb25VcGRhdGVzIGFzIExvY2F0aW9uVXBkYXRlW10pPy5sZW5ndGggfHwgbnVsbCwgLy8gVE9ETzogaW1wbGVtZW50IHdpdGggc2NyYXBlclxuICAgICAgbGFzdFBpbmdBdDpcbiAgICAgICAgKGxvY2F0aW9uVXBkYXRlcyBhcyBMb2NhdGlvblVwZGF0ZVtdKT8uWygobG9jYXRpb25VcGRhdGVzIGFzIExvY2F0aW9uVXBkYXRlW10pPy5sZW5ndGggfHwgMCkgLSAxXT8udGltZXN0YW1wIHx8XG4gICAgICAgIG51bGwsIC8vIFRPRE86IGltcGxlbWVudCB3aXRoIHNjcmFwZXJcblxuICAgICAgLy8gU2hpcG1lbnQgQXR0cmlidXRlc1xuICAgICAgbGFuZVR5cGU6IHNoaXBtZW50LmZsZXhBdHRyaWJ1dGVzPy5maW5kKGF0dHJpYnV0ZSA9PiBhdHRyaWJ1dGUubmFtZSA9PT0gJ0xhbmUgVHlwZScpPy52YWx1ZSA/PyBudWxsLFxuICAgICAgbWFuYWdlbWVudFR5cGU6IHNoaXBtZW50LmZsZXhBdHRyaWJ1dGVzPy5maW5kKGF0dHJpYnV0ZSA9PiBhdHRyaWJ1dGUubmFtZSA9PT0gJ01hbmFnZW1lbnQgVHlwZScpPy52YWx1ZSA/PyBudWxsLFxuICAgICAgY2FycmllcjpcbiAgICAgICAgKChcbiAgICAgICAgICAoKHNoaXBtZW50RGF0YS5jYXJyaWVyT3JkZXIgYXMgdW5rbm93bltdKT8uWzBdIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KT8uY2FycmllciBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICAgICAgICApPy5uYW1lIGFzIHN0cmluZykgfHwgbnVsbCxcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
125
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhY2tpbmdTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NoaXBtZW50VHJhY2tpbmcvdHJhY2tpbmdTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGlDQUFnQztBQUloQywyREFHOEI7QUFFOUIsNENBQTBFO0FBRzFFOzs7R0FHRztBQUNILE1BQWEsZUFBZTtJQUVoQjtJQUNBO0lBRlYsWUFDVSxTQUF5QixFQUN6QixXQUE2QjtRQUQ3QixjQUFTLEdBQVQsU0FBUyxDQUFnQjtRQUN6QixnQkFBVyxHQUFYLFdBQVcsQ0FBa0I7SUFDcEMsQ0FBQztJQUVKOzs7Ozs7T0FNRztJQUNILEtBQUssQ0FBQyxXQUFXLENBQUMsVUFBa0IsRUFBRSxVQUE4QixFQUFFO1FBQ3BFLHNDQUFzQztRQUN0QyxNQUFNLGNBQWMsR0FBRyxNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLEVBQUUsVUFBVSxFQUFFLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUE7UUFFN0YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUM1QixNQUFNLElBQUksMkJBQWtCLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDMUMsQ0FBQztRQUVELE1BQU0sUUFBUSxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUE7UUFFdkMsa0RBQWtEO1FBQ2xELElBQUksZUFBZSxHQUE0QixJQUFJLENBQUE7UUFDbkQsSUFBSSxpQkFBaUIsR0FBRyxLQUFLLENBQUE7UUFFN0IsSUFBSSxPQUFPLENBQUMsVUFBVSxLQUFLLEtBQUssRUFBRSxDQUFDO1lBQ2pDLElBQUksQ0FBQztnQkFDSCxlQUFlLEdBQUcsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxDQUFBO1lBQ3pFLENBQUM7WUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO2dCQUNmLGdEQUFnRDtnQkFDaEQsaUJB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SSxJQUFJO1lBQ3ZELGNBQWMsRUFBRSxRQUFRLEVBQUUsb0JBQW9CLElBQUksSUFBSTtZQUN0RCxvQkFBb0IsRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLElBQUksSUFBSTtZQUV4RCxvRUFBb0U7WUFDcEUsZUFBZSxFQUFFLGVBQWUsSUFBSSxJQUFJLEVBQUUsOEJBQThCO1lBQ3hFLFNBQVMsRUFBRSxlQUFlLEVBQUUsTUFBTSxJQUFJLElBQUksRUFBRSwrQkFBK0I7WUFDM0UsVUFBVSxFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUMsZUFBZSxFQUFFLE1BQU0sSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxTQUFTLElBQUksSUFBSSxFQUFFLCtCQUErQjtZQUVySCxzQkFBc0I7WUFDdEIsUUFBUSxFQUFFLFFBQVEsQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksS0FBSyxXQUFXLENBQUMsRUFBRSxLQUFLLElBQUksSUFBSTtZQUNuRyxjQUFjLEVBQUUsUUFBUSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxLQUFLLGlCQUFpQixDQUFDLEVBQUUsS0FBSyxJQUFJLElBQUk7WUFDL0csT0FBTyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLElBQUksSUFBSTtTQUNsRCxDQUFBO0lBQ0gsQ0FBQztDQUNGO0FBeElELDBDQXdJQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGVUaW1lIH0gZnJvbSAnbHV4b24nXG5cbmltcG9ydCB7IFR1cnZvSW50ZXJuYWxBcGkgfSBmcm9tICcuLi9hcGkvdHVydm9JbnRlcm5hbEFwaSdcbmltcG9ydCB7IFR1cnZvUHVibGljQXBpIH0gZnJvbSAnLi4vYXBpL3R1cnZvUHVibGljQXBpJ1xuaW1wb3J0IHtcbiAgZ2V0RmFjaWxpdHlNYXBwaW5nRm9yVHVydm9Mb2NhdGlvbklkLFxuICBnZXRSZXRpcmVkRmFjaWxpdHlNYXBwaW5nRm9yVHVydm9Mb2NhdGlvbklkLFxufSBmcm9tICcuLi9kYi9mYWNpbGl0eU1hcHBpbmcnXG5pbXBvcnQgeyBUdXJ2b1NoaXBtZW50IH0gZnJvbSAnLi4vdHlwZXMnXG5pbXBvcnQgeyBUdXJ2b0RhdGVGb3JtYXRFcnJvciwgVHVydm9Ob3RGb3VuZEVycm9yIH0gZnJvbSAnLi4vdHlwZXMvZXJyb3JzJ1xuaW1wb3J0IHsgR2V0VHJhY2tpbmdPcHRpb25zLCBMb2NhdGlvblVwZGF0ZSwgU2hpcG1lbnRUcmFja2luZywgU3RvcCB9IGZyb20gJy4uL3R5cGVzL3RyYWNraW5nJ1xuXG4vKipcbiAqIFRyYWNraW5nU2VydmljZSBvcmNoZXN0cmF0ZXMgY2FsbHMgdG8gcHVibGljIGFuZCBpbnRlcm5hbCBBUElzXG4gKiB0byBwcm92aWRlIGEgdW5pZmllZCBzaGlwbWVudCB0cmFja2luZyBpbnRlcmZhY2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBUcmFja2luZ1NlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHB1YmxpY0FwaTogVHVydm9QdWJsaWNBcGksXG4gICAgcHJpdmF0ZSBpbnRlcm5hbEFwaTogVHVydm9JbnRlcm5hbEFwaVxuICApIHt9XG5cbiAgLyoqXG4gICAqIE1haW4gZW50cnkgcG9pbnQgLSBjb21iaW5lcyBhbGwgQVBJIGRhdGEgdG8gcHJvZHVjZSBTaGlwbWVudFRyYWNraW5nXG4gICAqXG4gICAqIEBwYXJhbSBzaGlwbWVudElkIC0gVGhlIHNoaXBtZW50IElEIHRvIHRyYWNrXG4gICAqIEBwYXJhbSBvcHRpb25zIC0gVHJhY2tpbmcgb3B0aW9uc1xuICAgKiBAcmV0dXJucyBDb21wbGV0ZSBzaGlwbWVudCB0cmFja2luZyBpbmZvcm1hdGlvblxuICAgKi9cbiAgYXN5bmMgZ2V0VHJhY2tpbmcoc2hpcG1lbnRJZDogc3RyaW5nLCBvcHRpb25zOiBHZXRUcmFja2luZ09wdGlvbnMgPSB7fSk6IFByb21pc2U8U2hpcG1lbnRUcmFja2luZz4ge1xuICAgIC8vIDEuIEZldGNoIHB1YmxpYyBBUEkgZGF0YSAocmVxdWlyZWQpXG4gICAgY29uc3Qgc2hpcG1lbnRSZXN1bHQgPSBhd2FpdCB0aGlzLnB1YmxpY0FwaS5nZXRTaGlwbWVudCh7IHNoaXBtZW50SWQ6IHBhcnNlSW50KHNoaXBtZW50SWQpIH0pXG5cbiAgICBpZiAoIXNoaXBtZW50UmVzdWx0LmRldGFpbHMpIHtcbiAgICAgIHRocm93IG5ldyBUdXJ2b05vdEZvdW5kRXJyb3Ioc2hpcG1lbnRJZClcbiAgICB9XG5cbiAgICBjb25zdCBzaGlwbWVudCA9IHNoaXBtZW50UmVzdWx0LmRldGFpbHNcblxuICAgIC8vIDIuIEZldGNoIGludGVybmFsIEFQSSBkYXRhIChvcHRpb25hbCwgbWF5IGZhaWwpXG4gICAgbGV0IGxvY2F0aW9uVXBkYXRlczogTG9jYXRpb25VcGRhdGVbXSB8IG51bGwgPSBudWxsXG4gICAgbGV0IGludGVybmFsQXBpRmFpbGVkID0gZmFsc2VcblxuICAgIGlmIChvcHRpb25zLmluY2x1ZGVHcHMgIT09IGZhbHNlKSB7XG4gICAgICB0cnkge1xuICAgICAgICBsb2NhdGlvblVwZGF0ZXMgPSBhd2FpdCB0aGlzLmludGVybmFsQXBpLmdldExvY2F0aW9uVXBkYXRlcyhzaGlwbWVudElkKVxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgLy8gTG9nIGJ1dCBkb24ndCBmYWlsIC0gaW50ZXJuYWwgQVBJIGlzIG9wdGlvbmFsXG4gICAgICAgIGludGVybmFsQXBpRmFpbGVkID0gdHJ1ZVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIDMuIFRyYW5zZm9ybSB0byBjbGVhbiByZXNwb25zZVxuICAgIHJldHVybiB0aGlzLnRyYW5zZm9ybVRvVHJhY2tpbmdEZXRhaWxzKHNoaXBtZW50LCBsb2NhdGlvblVwZGF0ZXMsIGludGVybmFsQXBpRmFpbGVkKVxuICB9XG5cbiAgLyoqXG4gICAqIFRyYW5zZm9ybSByYXcgVHVydm8gQVBJIHJlc3BvbnNlcyBpbnRvIGNsZWFuIFNoaXBtZW50VHJhY2tpbmcgdHlwZVxuICAgKlxuICAgKi9cbiAgcHJpdmF0ZSBhc3luYyB0cmFuc2Zvcm1Ub1RyYWNraW5nRGV0YWlscyhcbiAgICBzaGlwbWVudDogVHVydm9TaGlwbWVudCxcbiAgICBsb2NhdGlvblVwZGF0ZXM6IExvY2F0aW9uVXBkYXRlW10gfCBudWxsLFxuICAgIGludGVybmFsQXBpRmFpbGVkOiBib29sZWFuXG4gICk6IFByb21pc2U8U2hpcG1lbnRUcmFja2luZz4ge1xuICAgIGNvbnN0IHNoaXBtZW50RGF0YSA9IHNoaXBtZW50IGFzIFR1cnZvU2hpcG1lbnRcblxuICAgIC8vIEZpbHRlciBvdXQgZGVsZXRlZCBlbnRyaWVzIGZyb20gdHVydm8gZGF0YVxuICAgIGNvbnN0IGdsb2JhbFJvdXRlID0gc2hpcG1lbnREYXRhLmdsb2JhbFJvdXRlPy5maWx0ZXIocm91dGUgPT4gcm91dGUuZGVsZXRlZCAhPT0gZmFsc2UpXG4gICAgY29uc3QgY2Fycmllck9yZGVyID0gc2hpcG1lbnREYXRhLmNhcnJpZXJPcmRlcj8uZmlsdGVyKG9yZGVyID0+IG9yZGVyLmRlbGV0ZWQgIT09IGZhbHNlKVxuXG4gICAgLy8gTWFwIGdsb2JhbCByb3V0ZSB0byBzdG9wcyBhcnJheVxuICAgIGNvbnN0IGFsbFN0b3BzOiBTdG9wW10gPSBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgIHNoaXBtZW50Lmdsb2JhbFJvdXRlXG4gICAgICAgIC5maWx0ZXIocm91dGVTdG9wID0+ICFyb3V0ZVN0b3AuZGVsZXRlZClcbiAgICAgICAgLm1hcChhc3luYyByb3V0ZVN0b3AgPT4ge1xuICAgICAgICAgIC8vIE1ha2Ugc3VyZSB3ZSdyZSBhY3R1YWxseSBnZXR0aW5nIElTTywgZmFpbCBpZiB3ZSBkb24ndFxuICAgICAgICAgIGNvbnN0IGFwcG9pbnRtZW50RGF0ZVRpbWUgPSBEYXRlVGltZS5mcm9tSVNPKHJvdXRlU3RvcC5hcHBvaW50bWVudC5kYXRlKS50b1VUQygpLnRvSVNPKClcbiAgICAgICAgICBpZiAoIWFwcG9pbnRtZW50RGF0ZVRpbWUpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBUdXJ2b0RhdGVGb3JtYXRFcnJvcihgZXhwZWN0ZWQgSVNPIGRhdGUgYnV0IGdvdCAke3JvdXRlU3RvcC5hcHBvaW50bWVudC5kYXRlfWApXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gQWRkaXRpb25hbCBjaGVjayBmb3IgYSByZXRpcmVkIGxvY2F0aW9uIG1hcHBpbmcgdG8gZ2V0IGEgZmFjaWxpdHkgaWQsXG4gICAgICAgICAgLy8gZm9yIHRoZSBjYXNlIGEgZmFjaWxpdHkgaGFzIG1vdmVkL2JlZW4gZ2l2ZW4gYSBuZXcgZW50cnkgaW4gdHVydm8uXG4gICAgICAgICAgY29uc3QgZmFjaWxpdHlJZCA9XG4gICAgICAgICAgICAoYXdhaXQgZ2V0RmFjaWxpdHlNYXBwaW5nRm9yVHVydm9Mb2NhdGlvbklkKHJvdXRlU3RvcC5sb2NhdGlvbi5pZCkpPy5mYWNpbGl0eUlkID8/XG4gICAgICAgICAgICAoYXdhaXQgZ2V0UmV0aXJlZEZhY2lsaXR5TWFwcGluZ0ZvclR1cnZvTG9jYXRpb25JZChyb3V0ZVN0b3AubG9jYXRpb24uaWQpKT8uZmFjaWxpdHlJZCA/P1xuICAgICAgICAgICAgbnVsbFxuXG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHN0b3BOdW1iZXI6IHJvdXRlU3RvcC5zZXF1ZW5jZSxcbiAgICAgICAgICAgIGFwcG9pbnRtZW50RGF0ZVRpbWUsXG4gICAgICAgICAgICBhcHBvaW50bWVudExvY2FsVGltZVpvbmU6IHJvdXRlU3RvcC5hcHBvaW50bWVudC50aW1lWm9uZSxcbiAgICAgICAgICAgIGxvY2F0aW9uTmFtZTogcm91dGVTdG9wLm5hbWUsXG4gICAgICAgICAgICBleHRlcm5hbExvY2F0aW9uSWQ6IHJvdXRlU3RvcC5sb2NhdGlvbi5pZC50b1N0cmluZygpLFxuICAgICAgICAgICAgZmFjaWxpdHlJZCxcbiAgICAgICAgICAgIGV4dGVybmFsU3RvcElkOiByb3V0ZVN0b3AuaWQ/LnRvU3RyaW5nKCkgPz8gbnVsbCxcbiAgICAgICAgICAgIHN0b3BTZXJ2aWNlVHlwZTogcm91dGVTdG9wLnN0b3BUeXBlLnZhbHVlID09PSAnUGlja3VwJyA/ICdwaWNrdXAnIDogJ2RlbGl2ZXJ5JyxcbiAgICAgICAgICAgIGlzQ29tcGxldGVkOiByb3V0ZVN0b3Auc3RhdGUgPT09ICdDT01QTEVURUQnLFxuICAgICAgICAgICAgbG9jYXRpb25JZDogcm91dGVTdG9wLmxvY2F0aW9uLmlkLFxuICAgICAgICAgICAgZXRhVG9TdG9wOiByb3V0ZVN0b3AuZXRhVG9TdG9wPy5ldGFWYWx1ZSA/PyBudWxsLFxuICAgICAgICAgICAgbWlsZXNSZW1haW5pbmdUb1N0b3A6IHJvdXRlU3RvcC5ldGFUb1N0b3A/Lm5leHRNaWxlcyA/PyBudWxsLFxuICAgICAgICAgICAgdG90YWxNaWxlc1RvU3RvcDogcm91dGVTdG9wLmRpc3RhbmNlPy52YWx1ZSA/PyBudWxsLFxuICAgICAgICAgICAgLy8gVE9ETzogYWN0dWFsIGFycml2YWwgdGltZSAtIHRpbWUgdW5kZXIgYXR0cmlidXRlcyB1bmRlciBnbG9iYWwgcm91dGVcbiAgICAgICAgICAgIC8vIFRPRE86IGFjdHVhbCBkZXBhcnR1cmUgdGltZVxuICAgICAgICAgICAgLy8gVE9ETzogYWRkcmVzcywgY2l0eSwgc3RhdGUgLSAgYWRkcmVzcyB1bmRlciBnbG9iYWxyb3V0ZVxuICAgICAgICAgICAgLy8gVE9ETzogYXNrIGFib3V0IHdoYXQgd2Ugd2FudCB3aGVuIHdlIGhhdmUgbXVsdGlwbGUgZW50cmllcyBmb3IgdGhlIGFycml2YWwvZGVwYXJ0dXJlP1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICApXG5cbiAgICBjb25zdCBhbGxTdG9wc09yZGVyZWQgPSBhbGxTdG9wcy50b1NvcnRlZCgoYSwgYikgPT4gYS5zdG9wTnVtYmVyIC0gYi5zdG9wTnVtYmVyKVxuICAgIGNvbnN0IG5leHRTdG9wID0gYWxsU3RvcHNPcmRlcmVkLmZpbmQoc3RvcCA9PiAhc3RvcC5pc0NvbXBsZXRlZCkgPz8gbnVsbFxuXG4gICAgcmV0dXJuIHtcbiAgICAgIC8vIElkZW50aWZpZXJzXG4gICAgICBzaGlwbWVudElkOiAoc2hpcG1lbnREYXRhLmlkIGFzIG51bWJlcik/LnRvU3RyaW5nKCkgfHwgJycsXG4gICAgICBsb2FkUmVmZXJlbmNlTnVtYmVyOiAoc2hpcG1lbnREYXRhLmN1c3RvbUlkIGFzIHN0cmluZykgfHwgJycsXG5cbiAgICAgIC8vIFN0YXR1c1xuICAgICAgc3RhdHVzOiAoc2hpcG1lbnREYXRhLnN0YXR1cz8uY29kZT8udmFsdWUgYXMgc3RyaW5nKSB8fCAnVW5rbm93bicsXG4gICAgICBsYXRlQnlNaW51dGVzOiBzaGlwbWVudC5zdGF0dXMucnVubmluZ0xhdGU/LmxhdGVEdXJhdGlvbiA/PyBudWxsLFxuICAgICAgaXNMYXRlOiAhIXNoaXBtZW50LnN0YXR1cy5ydW5uaW5nTGF0ZSxcblxuICAgICAgLy8gQ3VycmVudCBsb2NhdGlvbiAoaWYgdHJhY2tpbmcgYXZhaWxhYmxlKVxuICAgICAgY3VycmVudExvY2F0aW9uOiBzaGlwbWVudC5zdGF0dXMubG9jYXRpb24gPz8gbnVsbCwgLy8gVE9ETzogbWFrZSBzdXJlIHRoaXMgaXMgdGhlIHZhbHVlIHdlIGFjdHVhbGx5IHdhbnQsIHN0YXR1cyBsb2NhdGlvbiBtYXkgbm90IGJlIGl0XG4gICAgICBoYXNHcHNUcmFja2luZzogbG9jYXRpb25VcGRhdGVzICE9PSBudWxsICYmICFpbnRlcm5hbEFwaUZhaWxlZCxcblxuICAgICAgLy8gUHJvZ3Jlc3NcbiAgICAgIGNvbXBsZXRlZFN0b3BzOiBhbGxTdG9wc09yZGVyZWQuZmlsdGVyKHN0b3AgPT4gc3RvcC5pc0NvbXBsZXRlZCkubGVuZ3RoIHx8IDAsXG4gICAgICB0b3RhbFN0b3BzOiBnbG9iYWxSb3V0ZT8ubGVuZ3RoIHx8IDAsXG5cbiAgICAgIC8vIFN0b3BzIChvcmRlcmVkKVxuICAgICAgc3RvcHM6IGFsbFN0b3BzT3JkZXJlZCxcblxuICAgICAgLy8gRVRBICYgRGlzdGFuY2VcbiAgICAgIGV0YVV0YzogbmV4dFN0b3A/LmV0YVRvU3RvcCA/PyBudWxsLFxuICAgICAgZXRhVGltZXpvbmU6IG5leHRTdG9wPy5hcHBvaW50bWVudExvY2FsVGltZVpvbmUgPz8gbnVsbCxcbiAgICAgIG1pbGVzUmVtYWluaW5nOiBuZXh0U3RvcD8ubWlsZXNSZW1haW5pbmdUb1N0b3AgPz8gbnVsbCxcbiAgICAgIHRvdGFsTWlsZXNUb05leHRTdG9wOiBuZXh0U3RvcD8udG90YWxNaWxlc1RvU3RvcCA/PyBudWxsLFxuXG4gICAgICAvLyBHUFMgUGluZ3MgKG9ubHkgcG9wdWxhdGVkIGlmIGluY2x1ZGVHcHM6IHRydWUgYW5kIGhhc0dwc1RyYWNraW5nKVxuICAgICAgbG9jYXRpb25VcGRhdGVzOiBsb2NhdGlvblVwZGF0ZXMgfHwgbnVsbCwgLy8gVE9ETzogaW1wbG1lbnQgd2l0aCBzY3JhcGVyXG4gICAgICBwaW5nQ291bnQ6IGxvY2F0aW9uVXBkYXRlcz8ubGVuZ3RoIHx8IG51bGwsIC8vIFRPRE86IGltcGxlbWVudCB3aXRoIHNjcmFwZXJcbiAgICAgIGxhc3RQaW5nQXQ6IGxvY2F0aW9uVXBkYXRlcz8uWyhsb2NhdGlvblVwZGF0ZXM/Lmxlbmd0aCB8fCAwKSAtIDFdPy50aW1lc3RhbXAgfHwgbnVsbCwgLy8gVE9ETzogaW1wbGVtZW50IHdpdGggc2NyYXBlclxuXG4gICAgICAvLyBTaGlwbWVudCBBdHRyaWJ1dGVzXG4gICAgICBsYW5lVHlwZTogc2hpcG1lbnQuZmxleEF0dHJpYnV0ZXM/LmZpbmQoYXR0cmlidXRlID0+IGF0dHJpYnV0ZS5uYW1lID09PSAnTGFuZSBUeXBlJyk/LnZhbHVlID8/IG51bGwsXG4gICAgICBtYW5hZ2VtZW50VHlwZTogc2hpcG1lbnQuZmxleEF0dHJpYnV0ZXM/LmZpbmQoYXR0cmlidXRlID0+IGF0dHJpYnV0ZS5uYW1lID09PSAnTWFuYWdlbWVudCBUeXBlJyk/LnZhbHVlID8/IG51bGwsXG4gICAgICBjYXJyaWVyOiBjYXJyaWVyT3JkZXI/LlswXT8uY2Fycmllcj8ubmFtZSB8fCBudWxsLFxuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -33,3 +33,9 @@ export declare class TurvoPartialDataError extends Error {
|
|
|
33
33
|
export declare class NoSecretError extends Error {
|
|
34
34
|
constructor(path: string);
|
|
35
35
|
}
|
|
36
|
+
/**
|
|
37
|
+
* Error thrown when a date format from Turvo is invalid
|
|
38
|
+
*/
|
|
39
|
+
export declare class TurvoDateFormatError extends Error {
|
|
40
|
+
constructor(message: string);
|
|
41
|
+
}
|
package/lib/cjs/types/errors.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.NoSecretError = exports.TurvoPartialDataError = exports.TurvoRateLimitError = exports.TurvoAuthError = exports.TurvoNotFoundError = void 0;
|
|
3
|
+
exports.TurvoDateFormatError = exports.NoSecretError = exports.TurvoPartialDataError = exports.TurvoRateLimitError = exports.TurvoAuthError = exports.TurvoNotFoundError = void 0;
|
|
4
4
|
/**
|
|
5
5
|
* Shipment not found in Turvo
|
|
6
6
|
*/
|
|
@@ -60,4 +60,14 @@ class NoSecretError extends Error {
|
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
62
|
exports.NoSecretError = NoSecretError;
|
|
63
|
-
|
|
63
|
+
/**
|
|
64
|
+
* Error thrown when a date format from Turvo is invalid
|
|
65
|
+
*/
|
|
66
|
+
class TurvoDateFormatError extends Error {
|
|
67
|
+
constructor(message) {
|
|
68
|
+
super(message);
|
|
69
|
+
this.name = 'TurvoDateFormatError';
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
exports.TurvoDateFormatError = TurvoDateFormatError;
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3R5cGVzL2Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7R0FFRztBQUNILE1BQWEsa0JBQW1CLFNBQVEsS0FBSztJQUNmO0lBQTVCLFlBQTRCLFVBQWtCO1FBQzVDLEtBQUssQ0FBQyxnQ0FBZ0MsVUFBVSxFQUFFLENBQUMsQ0FBQTtRQUR6QixlQUFVLEdBQVYsVUFBVSxDQUFRO1FBRTVDLElBQUksQ0FBQyxJQUFJLEdBQUcsb0JBQW9CLENBQUE7SUFDbEMsQ0FBQztDQUNGO0FBTEQsZ0RBS0M7QUFFRDs7R0FFRztBQUNILE1BQWEsY0FBZSxTQUFRLEtBQUs7SUFDdkMsWUFBWSxPQUFlO1FBQ3pCLEtBQUssQ0FBQyxnQ0FBZ0MsT0FBTyxFQUFFLENBQUMsQ0FBQTtRQUNoRCxJQUFJLENBQUMsSUFBSSxHQUFHLGdCQUFnQixDQUFBO0lBQzlCLENBQUM7Q0FDRjtBQUxELHdDQUtDO0FBRUQ7O0dBRUc7QUFDSCxNQUFhLG1CQUFvQixTQUFRLEtBQUs7SUFDaEI7SUFBNUIsWUFBNEIsVUFBbUI7UUFDN0MsS0FBSyxDQUFDLHdCQUF3QixVQUFVLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixVQUFVLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQTtRQUQ5RCxlQUFVLEdBQVYsVUFBVSxDQUFTO1FBRTdDLElBQUksQ0FBQyxJQUFJLEdBQUcscUJBQXFCLENBQUE7SUFDbkMsQ0FBQztDQUNGO0FBTEQsa0RBS0M7QUFFRDs7O0dBR0c7QUFDSCxNQUFhLHFCQUFzQixTQUFRLEtBQUs7SUFFNUI7SUFDQTtJQUZsQixZQUNrQixXQUFvQixFQUNwQixVQUFvQjtRQUVwQyxLQUFLLENBQUMsa0NBQWtDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLDJCQUEyQixDQUFDLENBQUE7UUFIekUsZ0JBQVcsR0FBWCxXQUFXLENBQVM7UUFDcEIsZUFBVSxHQUFWLFVBQVUsQ0FBVTtRQUdwQyxJQUFJLENBQUMsSUFBSSxHQUFHLHVCQUF1QixDQUFBO0lBQ3JDLENBQUM7Q0FDRjtBQVJELHNEQVFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFhLGFBQWMsU0FBUSxLQUFLO0lBQ3RDLFlBQVksSUFBWTtRQUN0QixLQUFLLENBQUMsNEJBQTRCLElBQUksRUFBRSxDQUFDLENBQUE7UUFDekMsSUFBSSxDQUFDLElBQUksR0FBRyxlQUFlLENBQUE7SUFDN0IsQ0FBQztDQUNGO0FBTEQsc0NBS0M7QUFFRDs7R0FFRztBQUNILE1BQWEsb0JBQXFCLFNBQVEsS0FBSztJQUM3QyxZQUFZLE9BQWU7UUFDekIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQ2QsSUFBSSxDQUFDLElBQUksR0FBRyxzQkFBc0IsQ0FBQTtJQUNwQyxDQUFDO0NBQ0Y7QUFMRCxvREFLQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogU2hpcG1lbnQgbm90IGZvdW5kIGluIFR1cnZvXG4gKi9cbmV4cG9ydCBjbGFzcyBUdXJ2b05vdEZvdW5kRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBzaGlwbWVudElkOiBzdHJpbmcpIHtcbiAgICBzdXBlcihgU2hpcG1lbnQgbm90IGZvdW5kIGluIFR1cnZvOiAke3NoaXBtZW50SWR9YClcbiAgICB0aGlzLm5hbWUgPSAnVHVydm9Ob3RGb3VuZEVycm9yJ1xuICB9XG59XG5cbi8qKlxuICogQXV0aGVudGljYXRpb24gZmFpbGVkIChpbnZhbGlkIGNyZWRlbnRpYWxzLCBleHBpcmVkIHRva2VuKVxuICovXG5leHBvcnQgY2xhc3MgVHVydm9BdXRoRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZykge1xuICAgIHN1cGVyKGBUdXJ2byBhdXRoZW50aWNhdGlvbiBmYWlsZWQ6ICR7bWVzc2FnZX1gKVxuICAgIHRoaXMubmFtZSA9ICdUdXJ2b0F1dGhFcnJvcidcbiAgfVxufVxuXG4vKipcbiAqIFJhdGUgbGltaXRlZCBieSBUdXJ2b1xuICovXG5leHBvcnQgY2xhc3MgVHVydm9SYXRlTGltaXRFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IHJldHJ5QWZ0ZXI/OiBudW1iZXIpIHtcbiAgICBzdXBlcihgUmF0ZSBsaW1pdGVkIGJ5IFR1cnZvJHtyZXRyeUFmdGVyID8gYC4gUmV0cnkgYWZ0ZXIgJHtyZXRyeUFmdGVyfSBzZWNvbmRzYCA6ICcnfWApXG4gICAgdGhpcy5uYW1lID0gJ1R1cnZvUmF0ZUxpbWl0RXJyb3InXG4gIH1cbn1cblxuLyoqXG4gKiBJbnRlcm5hbCBBUEkgZmFpbGVkIGJ1dCBwdWJsaWMgQVBJIHN1Y2NlZWRlZC5cbiAqIENvbnRhaW5zIHBhcnRpYWwgZGF0YSBpbiBgcGFydGlhbERhdGFgIGZpZWxkLlxuICovXG5leHBvcnQgY2xhc3MgVHVydm9QYXJ0aWFsRGF0YUVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgcGFydGlhbERhdGE6IHVua25vd24sXG4gICAgcHVibGljIHJlYWRvbmx5IGZhaWxlZEFwaXM6IHN0cmluZ1tdXG4gICkge1xuICAgIHN1cGVyKGBUdXJ2byBpbnRlcm5hbCBBUEkgZmFpbGVkIGZvcjogJHtmYWlsZWRBcGlzLmpvaW4oJywgJyl9LiBQYXJ0aWFsIGRhdGEgYXZhaWxhYmxlLmApXG4gICAgdGhpcy5uYW1lID0gJ1R1cnZvUGFydGlhbERhdGFFcnJvcidcbiAgfVxufVxuXG4vKipcbiAqIEVycm9yIHRocm93biB3aGVuIFR1cnZvIHNlY3JldHMgY2Fubm90IGJlIHJldHJpZXZlZCBmcm9tIEFXUyBTZWNyZXRzIE1hbmFnZXJcbiAqL1xuZXhwb3J0IGNsYXNzIE5vU2VjcmV0RXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKHBhdGg6IHN0cmluZykge1xuICAgIHN1cGVyKGBObyBzZWNyZXQgZm91bmQgYXQgcGF0aDogJHtwYXRofWApXG4gICAgdGhpcy5uYW1lID0gJ05vU2VjcmV0RXJyb3InXG4gIH1cbn1cblxuLyoqXG4gKiBFcnJvciB0aHJvd24gd2hlbiBhIGRhdGUgZm9ybWF0IGZyb20gVHVydm8gaXMgaW52YWxpZFxuICovXG5leHBvcnQgY2xhc3MgVHVydm9EYXRlRm9ybWF0RXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZykge1xuICAgIHN1cGVyKG1lc3NhZ2UpXG4gICAgdGhpcy5uYW1lID0gJ1R1cnZvRGF0ZUZvcm1hdEVycm9yJ1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjaWxpdHlNYXBwaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3R5cGVzL2ZhY2lsaXR5TWFwcGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBGYWNpbGl0eSBtYXBwaW5nIHR5cGVzIGZvciBUdXJ2byBsb2NhdGlvbiB0byBWZWhvIGZhY2lsaXR5IG1hcHBpbmdcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWZWhvVHVydm9Mb2NhdGlvbk1hcCB7XG4gIGZhY2lsaXR5Q29kZT86IHN0cmluZyB8IG51bGxcbiAgZmFjaWxpdHlJZDogc3RyaW5nXG4gIHNob3J0Q29kZT86IHN0cmluZyB8IG51bGxcbiAgdHVydm9Mb2NhdGlvbklkPzogbnVtYmVyIHwgbnVsbFxufVxuIl19
|