@metriport/shared 0.23.10 → 0.24.1-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/dist/index.d.ts +1 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +1 -0
  4. package/dist/index.js.map +1 -1
  5. package/dist/interface/external/ehr/healthie/allergy.d.ts +144 -0
  6. package/dist/interface/external/ehr/healthie/allergy.d.ts.map +1 -0
  7. package/dist/interface/external/ehr/healthie/allergy.js +24 -0
  8. package/dist/interface/external/ehr/healthie/allergy.js.map +1 -0
  9. package/dist/interface/external/ehr/healthie/condition.d.ts +140 -0
  10. package/dist/interface/external/ehr/healthie/condition.d.ts.map +1 -0
  11. package/dist/interface/external/ehr/healthie/condition.js +19 -0
  12. package/dist/interface/external/ehr/healthie/condition.js.map +1 -0
  13. package/dist/interface/external/ehr/healthie/immunization.d.ts +108 -0
  14. package/dist/interface/external/ehr/healthie/immunization.d.ts.map +1 -0
  15. package/dist/interface/external/ehr/healthie/immunization.js +19 -0
  16. package/dist/interface/external/ehr/healthie/immunization.js.map +1 -0
  17. package/dist/interface/external/ehr/healthie/index.d.ts +5 -0
  18. package/dist/interface/external/ehr/healthie/index.d.ts.map +1 -1
  19. package/dist/interface/external/ehr/healthie/index.js +5 -0
  20. package/dist/interface/external/ehr/healthie/index.js.map +1 -1
  21. package/dist/interface/external/ehr/healthie/lab.d.ts +492 -0
  22. package/dist/interface/external/ehr/healthie/lab.d.ts.map +1 -0
  23. package/dist/interface/external/ehr/healthie/lab.js +33 -0
  24. package/dist/interface/external/ehr/healthie/lab.js.map +1 -0
  25. package/dist/interface/external/ehr/healthie/medication.d.ts +132 -0
  26. package/dist/interface/external/ehr/healthie/medication.d.ts.map +1 -0
  27. package/dist/interface/external/ehr/healthie/medication.js +22 -0
  28. package/dist/interface/external/ehr/healthie/medication.js.map +1 -0
  29. package/dist/util/__tests__/base64.test.d.ts +2 -0
  30. package/dist/util/__tests__/base64.test.d.ts.map +1 -0
  31. package/dist/util/__tests__/base64.test.js +66 -0
  32. package/dist/util/__tests__/base64.test.js.map +1 -0
  33. package/dist/util/base64.d.ts +13 -0
  34. package/dist/util/base64.d.ts.map +1 -0
  35. package/dist/util/base64.js +27 -0
  36. package/dist/util/base64.js.map +1 -0
  37. package/dist/util/index.d.ts +5 -0
  38. package/dist/util/index.d.ts.map +1 -0
  39. package/dist/util/index.js +21 -0
  40. package/dist/util/index.js.map +1 -0
  41. package/dist/util/zod.d.ts +14 -0
  42. package/dist/util/zod.d.ts.map +1 -0
  43. package/dist/util/zod.js +52 -0
  44. package/dist/util/zod.js.map +1 -0
  45. package/package.json +2 -2
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.medicationsGraphqlSchema = exports.medicationSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ exports.medicationSchema = zod_1.z.object({
6
+ id: zod_1.z.string(),
7
+ active: zod_1.z.boolean().nullable(),
8
+ name: zod_1.z.string().nullable(),
9
+ code: zod_1.z.string().nullable(),
10
+ start_date: zod_1.z.string().nullable(),
11
+ end_date: zod_1.z.string().nullable(),
12
+ directions: zod_1.z.string().nullable(),
13
+ dosage: zod_1.z.string().nullable(),
14
+ frequency: zod_1.z.string().nullable(),
15
+ comment: zod_1.z.string().nullable(),
16
+ });
17
+ exports.medicationsGraphqlSchema = zod_1.z.object({
18
+ data: zod_1.z.object({
19
+ medications: exports.medicationSchema.array(),
20
+ }),
21
+ });
22
+ //# sourceMappingURL=medication.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"medication.js","sourceRoot":"","sources":["../../../../../src/interface/external/ehr/healthie/medication.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAEX,QAAA,gBAAgB,GAAG,OAAC,CAAC,MAAM,CAAC;IACvC,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE;IACd,MAAM,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC9B,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC/B,CAAC,CAAC;AAGU,QAAA,wBAAwB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC/C,IAAI,EAAE,OAAC,CAAC,MAAM,CAAC;QACb,WAAW,EAAE,wBAAgB,CAAC,KAAK,EAAE;KACtC,CAAC;CACH,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=base64.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base64.test.d.ts","sourceRoot":"","sources":["../../../src/util/__tests__/base64.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const base64_1 = require("../base64");
4
+ beforeEach(() => {
5
+ jest.restoreAllMocks();
6
+ });
7
+ describe("base64", () => {
8
+ describe("stringToBase64", () => {
9
+ it("returns empty string when gets empty string", async () => {
10
+ const original = "";
11
+ const expected = "";
12
+ const res = (0, base64_1.stringToBase64)(original);
13
+ expect(res).toEqual(expected);
14
+ });
15
+ it("encodes simple, ascii only string", async () => {
16
+ const original = "hello world";
17
+ const expected = "aGVsbG8gd29ybGQ=";
18
+ const res = (0, base64_1.stringToBase64)(original);
19
+ expect(res).toEqual(expected);
20
+ });
21
+ it("encodes non-ascii string", async () => {
22
+ const original = "a Ā 𐀀 文 🦄";
23
+ const expected = "YSDEgCDwkICAIOaWhyDwn6aE";
24
+ const res = (0, base64_1.stringToBase64)(original);
25
+ expect(res).toEqual(expected);
26
+ });
27
+ });
28
+ describe("base64ToString", () => {
29
+ it("returns empty string when gets empty string", async () => {
30
+ const original = "";
31
+ const expected = "";
32
+ const res = (0, base64_1.base64ToString)(original);
33
+ expect(res).toEqual(expected);
34
+ });
35
+ it("encodes simple, ascii only string", async () => {
36
+ const original = "aGVsbG8gd29ybGQ=";
37
+ const expected = "hello world";
38
+ const res = (0, base64_1.base64ToString)(original);
39
+ expect(res).toEqual(expected);
40
+ });
41
+ it("encodes non-ascii string", async () => {
42
+ const original = "YSDEgCDwkICAIOaWhyDwn6aE";
43
+ const expected = "a Ā 𐀀 文 🦄";
44
+ const res = (0, base64_1.base64ToString)(original);
45
+ expect(res).toEqual(expected);
46
+ });
47
+ });
48
+ describe("encode and decode together", () => {
49
+ it("returns empty string when gets empty string", async () => {
50
+ const original = "";
51
+ const res = (0, base64_1.base64ToString)((0, base64_1.stringToBase64)(original));
52
+ expect(res).toEqual(original);
53
+ });
54
+ it("encodes simple, ascii only string", async () => {
55
+ const original = "hello world";
56
+ const res = (0, base64_1.base64ToString)((0, base64_1.stringToBase64)(original));
57
+ expect(res).toEqual(original);
58
+ });
59
+ it("encodes non-ascii string", async () => {
60
+ const original = "a Ā 𐀀 文 🦄";
61
+ const res = (0, base64_1.base64ToString)((0, base64_1.stringToBase64)(original));
62
+ expect(res).toEqual(original);
63
+ });
64
+ });
65
+ });
66
+ //# sourceMappingURL=base64.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base64.test.js","sourceRoot":"","sources":["../../../src/util/__tests__/base64.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ export declare function base64ToBuffer(value: string): Buffer;
4
+ export declare function base64ToString(value: string): string;
5
+ export declare function stringToBase64(value: string): string;
6
+ /**
7
+ * Validate that a string contains only base64 characters
8
+ * @param str - The string to validate
9
+ * @returns True if string is valid base64, false otherwise
10
+ */
11
+ export declare function isValidBase64(str: string): boolean;
12
+ export declare const BASE64_CHARS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
13
+ //# sourceMappingURL=base64.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base64.d.ts","sourceRoot":"","sources":["../../src/util/base64.ts"],"names":[],"mappings":";;AAAA,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAGlD;AAED,eAAO,MAAM,YAAY,qEAAqE,CAAC"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BASE64_CHARS = exports.isValidBase64 = exports.stringToBase64 = exports.base64ToString = exports.base64ToBuffer = void 0;
4
+ function base64ToBuffer(value) {
5
+ return Buffer.from(value, "base64");
6
+ }
7
+ exports.base64ToBuffer = base64ToBuffer;
8
+ function base64ToString(value) {
9
+ return base64ToBuffer(value).toString();
10
+ }
11
+ exports.base64ToString = base64ToString;
12
+ function stringToBase64(value) {
13
+ return Buffer.from(value).toString("base64");
14
+ }
15
+ exports.stringToBase64 = stringToBase64;
16
+ /**
17
+ * Validate that a string contains only base64 characters
18
+ * @param str - The string to validate
19
+ * @returns True if string is valid base64, false otherwise
20
+ */
21
+ function isValidBase64(str) {
22
+ const base64Regex = /^[A-Za-z0-9+/]*={0,2}$/;
23
+ return base64Regex.test(str);
24
+ }
25
+ exports.isValidBase64 = isValidBase64;
26
+ exports.BASE64_CHARS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
27
+ //# sourceMappingURL=base64.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base64.js","sourceRoot":"","sources":["../../src/util/base64.ts"],"names":[],"mappings":";;;AAAA,SAAgB,cAAc,CAAC,KAAa;IAC1C,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AACtC,CAAC;AAFD,wCAEC;AAED,SAAgB,cAAc,CAAC,KAAa;IAC1C,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;AAC1C,CAAC;AAFD,wCAEC;AAED,SAAgB,cAAc,CAAC,KAAa;IAC1C,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC/C,CAAC;AAFD,wCAEC;AAED;;;;GAIG;AACH,SAAgB,aAAa,CAAC,GAAW;IACvC,MAAM,WAAW,GAAG,wBAAwB,CAAC;IAC7C,OAAO,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/B,CAAC;AAHD,sCAGC;AAEY,QAAA,YAAY,GAAG,kEAAkE,CAAC"}
@@ -0,0 +1,5 @@
1
+ export * from "./base64";
2
+ export * from "./duration";
3
+ export * from "./zod";
4
+ export * from "./uuid-v7";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./base64"), exports);
18
+ __exportStar(require("./duration"), exports);
19
+ __exportStar(require("./zod"), exports);
20
+ __exportStar(require("./uuid-v7"), exports);
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,6CAA2B;AAC3B,wCAAsB;AACtB,4CAA0B"}
@@ -0,0 +1,14 @@
1
+ import { z, ZodString, ZodType } from "zod";
2
+ export declare function zodToLowerCase(v: unknown): unknown;
3
+ export declare function emptyStringToUndefined(v: string | undefined | null): string | undefined;
4
+ export declare function optionalString(zodSchema: ZodString): z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodOptional<z.ZodString>]>, string | undefined, string | undefined>;
5
+ export declare function optionalStringPreprocess<T>(zodSchema: ZodType<T>): z.ZodEffects<z.ZodType<T, z.ZodTypeDef, T>, T, unknown>;
6
+ export declare function transformStringUndefined(): z.ZodEffects<z.ZodLiteral<"undefined">, undefined, "undefined">;
7
+ export declare const defaultString: z.ZodString;
8
+ export declare const defaultOptionalString: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodOptional<z.ZodString>]>, string | undefined, string | undefined>;
9
+ export declare const defaultDateString: z.ZodEffects<z.ZodString, string, string>;
10
+ export declare const pastOrTodayDateString: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
11
+ export declare const validDateOfBirthString: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>, string, string>;
12
+ export declare const defaultNameString: z.ZodString;
13
+ export declare function optionalDateToISOString(date: string | Date | undefined | null): string | undefined;
14
+ //# sourceMappingURL=zod.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zod.d.ts","sourceRoot":"","sources":["../../src/util/zod.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAQ5C,wBAAgB,cAAc,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAElD;AAED,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,CAEvF;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,SAAS,+GAElD;AAED,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,2DAKhE;AAED,wBAAgB,wBAAwB,oEAEvC;AAED,eAAO,MAAM,aAAa,aAAoB,CAAC;AAC/C,eAAO,MAAM,qBAAqB,6GAAgC,CAAC;AAEnE,eAAO,MAAM,iBAAiB,2CAE5B,CAAC;AACH,eAAO,MAAM,qBAAqB,yEAEhC,CAAC;AACH,eAAO,MAAM,sBAAsB,uGAEjC,CAAC;AAEH,eAAO,MAAM,iBAAiB,aAAuB,CAAC;AAEtD,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,GACrC,MAAM,GAAG,SAAS,CAGpB"}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.optionalDateToISOString = exports.defaultNameString = exports.validDateOfBirthString = exports.pastOrTodayDateString = exports.defaultDateString = exports.defaultOptionalString = exports.defaultString = exports.transformStringUndefined = exports.optionalStringPreprocess = exports.optionalString = exports.emptyStringToUndefined = exports.zodToLowerCase = void 0;
7
+ const dayjs_1 = __importDefault(require("dayjs"));
8
+ const zod_1 = require("zod");
9
+ const date_1 = require("../common/date");
10
+ function zodToLowerCase(v) {
11
+ return typeof v === "string" ? v.toLowerCase() : v;
12
+ }
13
+ exports.zodToLowerCase = zodToLowerCase;
14
+ function emptyStringToUndefined(v) {
15
+ return v == null || v.length < 1 ? undefined : v;
16
+ }
17
+ exports.emptyStringToUndefined = emptyStringToUndefined;
18
+ function optionalString(zodSchema) {
19
+ return zodSchema.or(zod_1.z.string().optional()).transform(emptyStringToUndefined);
20
+ }
21
+ exports.optionalString = optionalString;
22
+ function optionalStringPreprocess(zodSchema) {
23
+ return zod_1.z.preprocess(arg => {
24
+ if (typeof arg === "string" && ["", "undefined", "null"].includes(arg.trim()))
25
+ return undefined;
26
+ else
27
+ return arg;
28
+ }, zodSchema);
29
+ }
30
+ exports.optionalStringPreprocess = optionalStringPreprocess;
31
+ function transformStringUndefined() {
32
+ return zod_1.z.literal("undefined").transform(() => undefined);
33
+ }
34
+ exports.transformStringUndefined = transformStringUndefined;
35
+ exports.defaultString = zod_1.z.string().trim();
36
+ exports.defaultOptionalString = optionalString(exports.defaultString);
37
+ exports.defaultDateString = exports.defaultString.refine(date_1.isValidISODate, {
38
+ message: `Date must be a valid ISO 8601 date formatted ${date_1.ISO_DATE}. Example: 2023-03-15`,
39
+ });
40
+ exports.pastOrTodayDateString = exports.defaultDateString.refine(date_1.validateIsPastOrPresentSafe, {
41
+ message: `Date can't be in the future`,
42
+ });
43
+ exports.validDateOfBirthString = exports.pastOrTodayDateString.refine(date_1.validateDateIsAfter1900, {
44
+ message: `Date can't be before 1900`,
45
+ });
46
+ exports.defaultNameString = exports.defaultString.min(1);
47
+ function optionalDateToISOString(date) {
48
+ const preConversion = date && typeof date !== "string" ? (0, dayjs_1.default)(date).format(date_1.ISO_DATE) : date;
49
+ return preConversion ?? undefined;
50
+ }
51
+ exports.optionalDateToISOString = optionalDateToISOString;
52
+ //# sourceMappingURL=zod.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zod.js","sourceRoot":"","sources":["../../src/util/zod.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,6BAA4C;AAC5C,yCAKwB;AAExB,SAAgB,cAAc,CAAC,CAAU;IACvC,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACrD,CAAC;AAFD,wCAEC;AAED,SAAgB,sBAAsB,CAAC,CAA4B;IACjE,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC;AAFD,wDAEC;AAED,SAAgB,cAAc,CAAC,SAAoB;IACjD,OAAO,SAAS,CAAC,EAAE,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;AAC/E,CAAC;AAFD,wCAEC;AAED,SAAgB,wBAAwB,CAAI,SAAqB;IAC/D,OAAO,OAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;QACxB,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YAAE,OAAO,SAAS,CAAC;;YAC3F,OAAO,GAAG,CAAC;IAClB,CAAC,EAAE,SAAS,CAAC,CAAC;AAChB,CAAC;AALD,4DAKC;AAED,SAAgB,wBAAwB;IACtC,OAAO,OAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;AAC3D,CAAC;AAFD,4DAEC;AAEY,QAAA,aAAa,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;AAClC,QAAA,qBAAqB,GAAG,cAAc,CAAC,qBAAa,CAAC,CAAC;AAEtD,QAAA,iBAAiB,GAAG,qBAAa,CAAC,MAAM,CAAC,qBAAc,EAAE;IACpE,OAAO,EAAE,gDAAgD,eAAQ,uBAAuB;CACzF,CAAC,CAAC;AACU,QAAA,qBAAqB,GAAG,yBAAiB,CAAC,MAAM,CAAC,kCAA2B,EAAE;IACzF,OAAO,EAAE,6BAA6B;CACvC,CAAC,CAAC;AACU,QAAA,sBAAsB,GAAG,6BAAqB,CAAC,MAAM,CAAC,8BAAuB,EAAE;IAC1F,OAAO,EAAE,2BAA2B;CACrC,CAAC,CAAC;AAEU,QAAA,iBAAiB,GAAG,qBAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAEtD,SAAgB,uBAAuB,CACrC,IAAsC;IAEtC,MAAM,aAAa,GAAG,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAA,eAAK,EAAC,IAAI,CAAC,CAAC,MAAM,CAAC,eAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7F,OAAO,aAAa,IAAI,SAAS,CAAC;AACpC,CAAC;AALD,0DAKC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@metriport/shared",
3
- "version": "0.23.10",
3
+ "version": "0.24.1-alpha.0",
4
4
  "description": "Common code shared across packages - by Metriport Inc.",
5
5
  "author": "Metriport Inc. <contact@metriport.com>",
6
6
  "homepage": "https://metriport.com/",
@@ -115,5 +115,5 @@
115
115
  "ts-jest": "29.1.1",
116
116
  "typescript": "^4.9.5"
117
117
  },
118
- "gitHead": "1a6bdb18f5c92f70045a61c1fc0f511a5ca1e6e2"
118
+ "gitHead": "2c70b35348fa1be90d9c06fb5df789f8a9042dde"
119
119
  }