@shipengine/connect-carrier-api 4.11.3 → 4.11.5-beta

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.
@@ -5,6 +5,6 @@ export declare enum CarrierAttributeEnum {
5
5
  Consolidator = "Consolidator",
6
6
  Regional = "Regional",
7
7
  RequiresInboundWebhook = "RequiresInboundWebhook",
8
- DetailStatuses = "DetailStatuses"
8
+ DetailedStatuses = "DetailedStatuses"
9
9
  }
10
10
  export declare const CarrierAttributeEnumSchema: Joi.StringSchema;
@@ -10,7 +10,7 @@ var CarrierAttributeEnum;
10
10
  CarrierAttributeEnum["Consolidator"] = "Consolidator";
11
11
  CarrierAttributeEnum["Regional"] = "Regional";
12
12
  CarrierAttributeEnum["RequiresInboundWebhook"] = "RequiresInboundWebhook";
13
- CarrierAttributeEnum["DetailStatuses"] = "DetailStatuses";
13
+ CarrierAttributeEnum["DetailedStatuses"] = "DetailedStatuses";
14
14
  })(CarrierAttributeEnum || (exports.CarrierAttributeEnum = CarrierAttributeEnum = {}));
15
15
  exports.CarrierAttributeEnumSchema = joi_1.default.string().valid(...Object.values(CarrierAttributeEnum));
16
16
  //# sourceMappingURL=carrier-attributes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"carrier-attributes.js","sourceRoot":"","sources":["../../../src/app/metadata/carrier-attributes.ts"],"names":[],"mappings":";;;;AAAA,sDAAsB;AAEtB,IAAY,oBAOX;AAPD,WAAY,oBAAoB;IAC9B,2DAAmC,CAAA;IACnC,6DAAqC,CAAA;IACrC,qDAA6B,CAAA;IAC7B,6CAAqB,CAAA;IACrB,yEAAiD,CAAA;IACjD,yDAAiC,CAAA;AACnC,CAAC,EAPW,oBAAoB,oCAApB,oBAAoB,QAO/B;AAEY,QAAA,0BAA0B,GAAG,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAC1D,GAAG,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,CACvC,CAAC"}
1
+ {"version":3,"file":"carrier-attributes.js","sourceRoot":"","sources":["../../../src/app/metadata/carrier-attributes.ts"],"names":[],"mappings":";;;;AAAA,sDAAsB;AAEtB,IAAY,oBAOX;AAPD,WAAY,oBAAoB;IAC9B,2DAAmC,CAAA;IACnC,6DAAqC,CAAA;IACrC,qDAA6B,CAAA;IAC7B,6CAAqB,CAAA;IACrB,yEAAiD,CAAA;IACjD,6DAAqC,CAAA;AACvC,CAAC,EAPW,oBAAoB,oCAApB,oBAAoB,QAO/B;AAEY,QAAA,0BAA0B,GAAG,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAC1D,GAAG,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,CACvC,CAAC"}
@@ -4,7 +4,7 @@ export declare enum CarrierAttribute {
4
4
  Consolidator = "Consolidator",
5
5
  Regional = "Regional",
6
6
  RequiresInboundWebhook = "RequiresInboundWebhook",
7
- DetailStatuses = "DetailStatuses"
7
+ DetailedStatuses = "DetailedStatuses"
8
8
  }
9
9
  export declare enum ShippingServiceAttribute {
10
10
  Returns = "Returns",
@@ -8,7 +8,7 @@ var CarrierAttribute;
8
8
  CarrierAttribute["Consolidator"] = "Consolidator";
9
9
  CarrierAttribute["Regional"] = "Regional";
10
10
  CarrierAttribute["RequiresInboundWebhook"] = "RequiresInboundWebhook";
11
- CarrierAttribute["DetailStatuses"] = "DetailStatuses";
11
+ CarrierAttribute["DetailedStatuses"] = "DetailedStatuses";
12
12
  })(CarrierAttribute || (exports.CarrierAttribute = CarrierAttribute = {}));
13
13
  var ShippingServiceAttribute;
14
14
  (function (ShippingServiceAttribute) {
@@ -1 +1 @@
1
- {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../src/app/metadata/enums.ts"],"names":[],"mappings":";;;AAAA,IAAY,gBAOX;AAPD,WAAY,gBAAgB;IAC1B,uDAAmC,CAAA;IACnC,yDAAqC,CAAA;IACrC,iDAA6B,CAAA;IAC7B,yCAAqB,CAAA;IACrB,qEAAiD,CAAA;IACjD,qDAAiC,CAAA;AACnC,CAAC,EAPW,gBAAgB,gCAAhB,gBAAgB,QAO3B;AAED,IAAY,wBAcX;AAdD,WAAY,wBAAwB;IAClC,+CAAmB,CAAA;IACnB,yDAA6B,CAAA;IAC7B,iDAAqB,CAAA;IACrB,uEAA2C,CAAA;IAC3C,iFAAqD,CAAA;IACrD,+DAAmC,CAAA;IACnC,iEAAqC,CAAA;IACrC,6DAAiC,CAAA;IACjC,uCAAW,CAAA;IACX,6DAAiC,CAAA;IACjC,2EAA+C,CAAA;IAC/C,6DAAiC,CAAA;IACjC,6EAAiD,CAAA;AACnD,CAAC,EAdW,wBAAwB,wCAAxB,wBAAwB,QAcnC;AAED,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC5B,6CAAuB,CAAA;IACvB,6CAAuB,CAAA;AACzB,CAAC,EAHW,kBAAkB,kCAAlB,kBAAkB,QAG7B;AAED,IAAY,YASX;AATD,WAAY,YAAY;IACtB,2CAA2B,CAAA;IAC3B,iCAAiB,CAAA;IACjB,iCAAiB,CAAA;IACjB,2CAA2B,CAAA;IAC3B,+CAA+B,CAAA;IAC/B,iCAAiB,CAAA;IACjB,2CAA2B,CAAA;IAC3B,qCAAqB,CAAA;AACvB,CAAC,EATW,YAAY,4BAAZ,YAAY,QASvB;AAED,IAAY,YAMX;AAND,WAAY,YAAY;IACtB,2CAA2B,CAAA;IAC3B,mCAAmB,CAAA;IACnB,uCAAuB,CAAA;IACvB,uCAAuB,CAAA;IACvB,qCAAqB,CAAA;AACvB,CAAC,EANW,YAAY,4BAAZ,YAAY,QAMvB;AAED,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IAC1B,qCAAiB,CAAA;IACjB,6CAAyB,CAAA;AAC3B,CAAC,EAHW,gBAAgB,gCAAhB,gBAAgB,QAG3B"}
1
+ {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../src/app/metadata/enums.ts"],"names":[],"mappings":";;;AAAA,IAAY,gBAOX;AAPD,WAAY,gBAAgB;IAC1B,uDAAmC,CAAA;IACnC,yDAAqC,CAAA;IACrC,iDAA6B,CAAA;IAC7B,yCAAqB,CAAA;IACrB,qEAAiD,CAAA;IACjD,yDAAqC,CAAA;AACvC,CAAC,EAPW,gBAAgB,gCAAhB,gBAAgB,QAO3B;AAED,IAAY,wBAcX;AAdD,WAAY,wBAAwB;IAClC,+CAAmB,CAAA;IACnB,yDAA6B,CAAA;IAC7B,iDAAqB,CAAA;IACrB,uEAA2C,CAAA;IAC3C,iFAAqD,CAAA;IACrD,+DAAmC,CAAA;IACnC,iEAAqC,CAAA;IACrC,6DAAiC,CAAA;IACjC,uCAAW,CAAA;IACX,6DAAiC,CAAA;IACjC,2EAA+C,CAAA;IAC/C,6DAAiC,CAAA;IACjC,6EAAiD,CAAA;AACnD,CAAC,EAdW,wBAAwB,wCAAxB,wBAAwB,QAcnC;AAED,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC5B,6CAAuB,CAAA;IACvB,6CAAuB,CAAA;AACzB,CAAC,EAHW,kBAAkB,kCAAlB,kBAAkB,QAG7B;AAED,IAAY,YASX;AATD,WAAY,YAAY;IACtB,2CAA2B,CAAA;IAC3B,iCAAiB,CAAA;IACjB,iCAAiB,CAAA;IACjB,2CAA2B,CAAA;IAC3B,+CAA+B,CAAA;IAC/B,iCAAiB,CAAA;IACjB,2CAA2B,CAAA;IAC3B,qCAAqB,CAAA;AACvB,CAAC,EATW,YAAY,4BAAZ,YAAY,QASvB;AAED,IAAY,YAMX;AAND,WAAY,YAAY;IACtB,2CAA2B,CAAA;IAC3B,mCAAmB,CAAA;IACnB,uCAAuB,CAAA;IACvB,uCAAuB,CAAA;IACvB,qCAAqB,CAAA;AACvB,CAAC,EANW,YAAY,4BAAZ,YAAY,QAMvB;AAED,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IAC1B,qCAAiB,CAAA;IACjB,6CAAyB,CAAA;AAC3B,CAAC,EAHW,gBAAgB,gCAAhB,gBAAgB,QAG3B"}
@@ -0,0 +1,2 @@
1
+ import * as LaunchDarkly from 'launchdarkly-node-server-sdk';
2
+ export declare function getFlagValue(key: string, user: LaunchDarkly.LDUser | null, defaultValue?: any): Promise<LaunchDarkly.LDFlagValue>;
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getFlagValue = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const LaunchDarkly = tslib_1.__importStar(require("launchdarkly-node-server-sdk"));
6
+ let ldClient;
7
+ async function getClient() {
8
+ const sdkKey = process.env.LAUNCHDARKLY_SDK_KEY;
9
+ if (!sdkKey) {
10
+ throw new Error('LAUNCHDARKLY_SDK_KEY is not defined');
11
+ }
12
+ const client = LaunchDarkly.init(sdkKey);
13
+ await client.waitForInitialization();
14
+ return client;
15
+ }
16
+ async function getFlagValue(key, user, defaultValue = false) {
17
+ let flagValue;
18
+ if (!ldClient)
19
+ ldClient = await getClient();
20
+ if (!user) {
21
+ user = {
22
+ key: 'anonymous',
23
+ };
24
+ }
25
+ flagValue = await ldClient.variation(key, user, defaultValue);
26
+ return flagValue;
27
+ }
28
+ exports.getFlagValue = getFlagValue;
29
+ async function getUsername() {
30
+ const username = await getFlagValue('featured-username', null);
31
+ console.log(username);
32
+ }
33
+ //# sourceMappingURL=launch-darkly-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"launch-darkly-client.js","sourceRoot":"","sources":["../../src/feature-flags/launch-darkly-client.ts"],"names":[],"mappings":";;;;AAAA,mFAA6D;AAE7D,IAAI,QAA+B,CAAC;AAEpC,KAAK,UAAU,SAAS;IACtB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;IAChD,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;KACxD;IACD,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,MAAM,CAAC,qBAAqB,EAAE,CAAC;IACrC,OAAO,MAAM,CAAC;AAChB,CAAC;AAEM,KAAK,UAAU,YAAY,CAChC,GAAW,EACX,IAAgC,EAChC,eAAoB,KAAK;IAEzB,IAAI,SAAmC,CAAC;IACxC,IAAI,CAAC,QAAQ;QAAE,QAAQ,GAAG,MAAM,SAAS,EAAE,CAAC;IAC5C,IAAI,CAAC,IAAI,EAAE;QACT,IAAI,GAAG;YACL,GAAG,EAAE,WAAW;SACjB,CAAC;KACH;IACD,SAAS,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;IAC9D,OAAO,SAAS,CAAC;AACnB,CAAC;AAdD,oCAcC;AAED,KAAK,UAAU,WAAW;IACxB,MAAM,QAAQ,GAAW,MAAM,YAAY,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;IACvE,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACxB,CAAC"}
@@ -0,0 +1,2 @@
1
+ import Joi from 'joi';
2
+ export declare const StandardizedStatusDetailCodesSchema: Joi.StringSchema;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StandardizedStatusDetailCodesSchema = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const joi_1 = tslib_1.__importDefault(require("joi"));
6
+ const standardized_status_detail_codes_1 = require("./standardized-status-detail-codes");
7
+ exports.StandardizedStatusDetailCodesSchema = joi_1.default.string().valid(...Object.values(standardized_status_detail_codes_1.StandardizedStatusDetailCodes));
8
+ //# sourceMappingURL=standardized-status-detail-codes-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"standardized-status-detail-codes-schema.js","sourceRoot":"","sources":["../../../src/models/tracking/standardized-status-detail-codes-schema.ts"],"names":[],"mappings":";;;;AAAA,sDAAsB;AACtB,yFAAmF;AAEtE,QAAA,mCAAmC,GAAG,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CACnE,GAAG,MAAM,CAAC,MAAM,CAAC,gEAA6B,CAAC,CAChD,CAAC"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TrackingInfoSchema = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const standardized_status_codes_schema_1 = require("./standardized-status-codes-schema");
6
+ const standardized_status_detail_codes_schema_1 = require("./standardized-status-detail-codes-schema");
6
7
  const dimensions_schema_1 = require("../units/dimensions-schema");
7
8
  const service_schema_1 = require("./service-schema");
8
9
  const track_event_schema_1 = require("./track-event-schema");
@@ -10,7 +11,8 @@ const joi_1 = tslib_1.__importDefault(require("joi"));
10
11
  exports.TrackingInfoSchema = joi_1.default.object({
11
12
  carrier_name: joi_1.default.string().optional().empty(),
12
13
  tracking_number: joi_1.default.string().optional().empty(),
13
- standardized_status_code: standardized_status_codes_schema_1.StandardizedStatusCodesSchema.required(),
14
+ standardized_status_code: standardized_status_codes_schema_1.StandardizedStatusCodesSchema,
15
+ standardized_status_detail_code: standardized_status_detail_codes_schema_1.StandardizedStatusDetailCodesSchema,
14
16
  carrier_status_code: joi_1.default.string().optional().empty(),
15
17
  carrier_status_description: joi_1.default.string().optional().empty(),
16
18
  shipped_datetime: joi_1.default.string().optional().empty().isoDate(),
@@ -26,5 +28,5 @@ exports.TrackingInfoSchema = joi_1.default.object({
26
28
  shipping_problem: joi_1.default.boolean().optional().empty(),
27
29
  shipping_problem_code: joi_1.default.string().optional().empty(),
28
30
  error_description: joi_1.default.string().optional().empty(),
29
- });
31
+ }).or('standardized_status_code', 'standardized_status_detail_code');
30
32
  //# sourceMappingURL=tracking-info-schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tracking-info-schema.js","sourceRoot":"","sources":["../../../src/models/tracking/tracking-info-schema.ts"],"names":[],"mappings":";;;;AAAA,yFAAmF;AACnF,kEAA8D;AAC9D,qDAAiD;AACjD,6DAAwD;AACxD,sDAAsB;AAET,QAAA,kBAAkB,GAAG,aAAG,CAAC,MAAM,CAAC;IAC3C,YAAY,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE;IAC7C,eAAe,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE;IAChD,wBAAwB,EAAE,gEAA6B,CAAC,QAAQ,EAAE;IAClE,mBAAmB,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE;IACpD,0BAA0B,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE;IAC3D,gBAAgB,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE;IAC3D,2BAA2B,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE;IAC5D,wBAAwB,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE;IACnE,4BAA4B,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE;IAC7D,MAAM,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE;IACvC,UAAU,EAAE,oCAAgB,CAAC,QAAQ,EAAE;IACvC,OAAO,EAAE,8BAAa,CAAC,QAAQ,EAAE;IACjC,SAAS,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE;IAC1C,aAAa,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE;IAC9C,MAAM,EAAE,aAAG,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,qCAAgB,CAAC;IACtD,gBAAgB,EAAE,aAAG,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE;IAClD,qBAAqB,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE;IACtD,iBAAiB,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE;CACnD,CAAC,CAAC"}
1
+ {"version":3,"file":"tracking-info-schema.js","sourceRoot":"","sources":["../../../src/models/tracking/tracking-info-schema.ts"],"names":[],"mappings":";;;;AAAA,yFAAmF;AACnF,uGAAgG;AAChG,kEAA8D;AAC9D,qDAAiD;AACjD,6DAAwD;AACxD,sDAAsB;AAET,QAAA,kBAAkB,GAAG,aAAG,CAAC,MAAM,CAAC;IAC3C,YAAY,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE;IAC7C,eAAe,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE;IAChD,wBAAwB,EAAE,gEAA6B;IACvD,+BAA+B,EAAE,6EAAmC;IACpE,mBAAmB,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE;IACpD,0BAA0B,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE;IAC3D,gBAAgB,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE;IAC3D,2BAA2B,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE;IAC5D,wBAAwB,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE;IACnE,4BAA4B,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE;IAC7D,MAAM,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE;IACvC,UAAU,EAAE,oCAAgB,CAAC,QAAQ,EAAE;IACvC,OAAO,EAAE,8BAAa,CAAC,QAAQ,EAAE;IACjC,SAAS,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE;IAC1C,aAAa,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE;IAC9C,MAAM,EAAE,aAAG,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,qCAAgB,CAAC;IACtD,gBAAgB,EAAE,aAAG,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE;IAClD,qBAAqB,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE;IACtD,iBAAiB,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE;CACnD,CAAC,CAAC,EAAE,CAAC,0BAA0B,EAAE,iCAAiC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shipengine/connect-carrier-api",
3
- "version": "4.11.3",
3
+ "version": "4.11.5-beta",
4
4
  "description": "This is the typescript/javascript definitions for carrier api",
5
5
  "homepage": "https://connect.shipengine.com",
6
6
  "main": "./lib/index.js",
@@ -41,6 +41,7 @@
41
41
  },
42
42
  "dependencies": {
43
43
  "joi": "^17.4.2",
44
+ "launchdarkly-node-server-sdk": "^7.0.4",
44
45
  "tslib": "^2.6.2"
45
46
  },
46
47
  "peerDependencies": {
@@ -6,7 +6,7 @@ export enum CarrierAttributeEnum {
6
6
  Consolidator = 'Consolidator',
7
7
  Regional = 'Regional',
8
8
  RequiresInboundWebhook = 'RequiresInboundWebhook',
9
- DetailStatuses = 'DetailStatuses',
9
+ DetailedStatuses = 'DetailedStatuses',
10
10
  }
11
11
 
12
12
  export const CarrierAttributeEnumSchema = Joi.string().valid(
@@ -4,7 +4,7 @@ export enum CarrierAttribute {
4
4
  Consolidator = 'Consolidator',
5
5
  Regional = 'Regional',
6
6
  RequiresInboundWebhook = 'RequiresInboundWebhook',
7
- DetailStatuses = 'DetailStatuses',
7
+ DetailedStatuses = 'DetailedStatuses',
8
8
  }
9
9
 
10
10
  export enum ShippingServiceAttribute {
@@ -0,0 +1,34 @@
1
+ import * as LaunchDarkly from 'launchdarkly-node-server-sdk';
2
+
3
+ let ldClient: LaunchDarkly.LDClient;
4
+
5
+ async function getClient(): Promise<LaunchDarkly.LDClient> {
6
+ const sdkKey = process.env.LAUNCHDARKLY_SDK_KEY;
7
+ if (!sdkKey) {
8
+ throw new Error('LAUNCHDARKLY_SDK_KEY is not defined');
9
+ }
10
+ const client = LaunchDarkly.init(sdkKey);
11
+ await client.waitForInitialization();
12
+ return client;
13
+ }
14
+
15
+ export async function getFlagValue(
16
+ key: string,
17
+ user: LaunchDarkly.LDUser | null,
18
+ defaultValue: any = false,
19
+ ): Promise<LaunchDarkly.LDFlagValue> {
20
+ let flagValue: LaunchDarkly.LDFlagValue;
21
+ if (!ldClient) ldClient = await getClient();
22
+ if (!user) {
23
+ user = {
24
+ key: 'anonymous',
25
+ };
26
+ }
27
+ flagValue = await ldClient.variation(key, user, defaultValue);
28
+ return flagValue;
29
+ }
30
+
31
+ async function getUsername(): Promise<any> {
32
+ const username: string = await getFlagValue('featured-username', null);
33
+ console.log(username);
34
+ }
@@ -0,0 +1,6 @@
1
+ import Joi from 'joi';
2
+ import { StandardizedStatusDetailCodes } from './standardized-status-detail-codes';
3
+
4
+ export const StandardizedStatusDetailCodesSchema = Joi.string().valid(
5
+ ...Object.values(StandardizedStatusDetailCodes),
6
+ );
@@ -1,4 +1,5 @@
1
1
  import { StandardizedStatusCodesSchema } from './standardized-status-codes-schema';
2
+ import { StandardizedStatusDetailCodesSchema } from './standardized-status-detail-codes-schema';
2
3
  import { DimensionsSchema } from '../units/dimensions-schema';
3
4
  import { ServiceSchema } from './service-schema';
4
5
  import { TrackEventSchema } from './track-event-schema';
@@ -7,7 +8,8 @@ import Joi from 'joi';
7
8
  export const TrackingInfoSchema = Joi.object({
8
9
  carrier_name: Joi.string().optional().empty(),
9
10
  tracking_number: Joi.string().optional().empty(),
10
- standardized_status_code: StandardizedStatusCodesSchema.required(),
11
+ standardized_status_code: StandardizedStatusCodesSchema,
12
+ standardized_status_detail_code: StandardizedStatusDetailCodesSchema,
11
13
  carrier_status_code: Joi.string().optional().empty(),
12
14
  carrier_status_description: Joi.string().optional().empty(),
13
15
  shipped_datetime: Joi.string().optional().empty().isoDate(),
@@ -23,4 +25,4 @@ export const TrackingInfoSchema = Joi.object({
23
25
  shipping_problem: Joi.boolean().optional().empty(),
24
26
  shipping_problem_code: Joi.string().optional().empty(),
25
27
  error_description: Joi.string().optional().empty(),
26
- });
28
+ }).or('standardized_status_code', 'standardized_status_detail_code');