@metriport/fhir-sdk 1.2.5

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 (47) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +124 -0
  3. package/dist/__tests__/env-setup.d.ts +2 -0
  4. package/dist/__tests__/env-setup.d.ts.map +1 -0
  5. package/dist/__tests__/env-setup.js +37 -0
  6. package/dist/__tests__/env-setup.js.map +1 -0
  7. package/dist/__tests__/fhir-bundle-sdk-basic.test.d.ts +2 -0
  8. package/dist/__tests__/fhir-bundle-sdk-basic.test.d.ts.map +1 -0
  9. package/dist/__tests__/fhir-bundle-sdk-basic.test.js +19 -0
  10. package/dist/__tests__/fhir-bundle-sdk-basic.test.js.map +1 -0
  11. package/dist/__tests__/fhir-bundle-sdk.test.d.ts +2 -0
  12. package/dist/__tests__/fhir-bundle-sdk.test.d.ts.map +1 -0
  13. package/dist/__tests__/fhir-bundle-sdk.test.js +433 -0
  14. package/dist/__tests__/fhir-bundle-sdk.test.js.map +1 -0
  15. package/dist/__tests__/fixtures/fhir-bundles.d.ts +31 -0
  16. package/dist/__tests__/fixtures/fhir-bundles.d.ts.map +1 -0
  17. package/dist/__tests__/fixtures/fhir-bundles.js +369 -0
  18. package/dist/__tests__/fixtures/fhir-bundles.js.map +1 -0
  19. package/dist/__tests__/phase1-verification.test.d.ts +2 -0
  20. package/dist/__tests__/phase1-verification.test.d.ts.map +1 -0
  21. package/dist/__tests__/phase1-verification.test.js +141 -0
  22. package/dist/__tests__/phase1-verification.test.js.map +1 -0
  23. package/dist/__tests__/phase2-verification.test.d.ts +2 -0
  24. package/dist/__tests__/phase2-verification.test.d.ts.map +1 -0
  25. package/dist/__tests__/phase2-verification.test.js +234 -0
  26. package/dist/__tests__/phase2-verification.test.js.map +1 -0
  27. package/dist/__tests__/phase3-verification.test.d.ts +2 -0
  28. package/dist/__tests__/phase3-verification.test.d.ts.map +1 -0
  29. package/dist/__tests__/phase3-verification.test.js +121 -0
  30. package/dist/__tests__/phase3-verification.test.js.map +1 -0
  31. package/dist/__tests__/phase4-verification.test.d.ts +2 -0
  32. package/dist/__tests__/phase4-verification.test.d.ts.map +1 -0
  33. package/dist/__tests__/phase4-verification.test.js +168 -0
  34. package/dist/__tests__/phase4-verification.test.js.map +1 -0
  35. package/dist/__tests__/phase5-verification.test.d.ts +2 -0
  36. package/dist/__tests__/phase5-verification.test.d.ts.map +1 -0
  37. package/dist/__tests__/phase5-verification.test.js +200 -0
  38. package/dist/__tests__/phase5-verification.test.js.map +1 -0
  39. package/dist/index.d.ts +245 -0
  40. package/dist/index.d.ts.map +1 -0
  41. package/dist/index.js +681 -0
  42. package/dist/index.js.map +1 -0
  43. package/dist/types/smart-resources.d.ts +219 -0
  44. package/dist/types/smart-resources.d.ts.map +1 -0
  45. package/dist/types/smart-resources.js +140 -0
  46. package/dist/types/smart-resources.js.map +1 -0
  47. package/package.json +69 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,219 @@
1
+ import { Resource, Patient, Observation, Encounter, Practitioner, PractitionerRole, Organization, CareTeam, RelatedPerson, DiagnosticReport, Group, Device, Location, AllergyIntolerance, Condition, Composition, Coverage, DocumentReference, FamilyMemberHistory, Immunization, Medication, MedicationAdministration, MedicationDispense, MedicationRequest, MedicationStatement, Procedure, RiskAssessment, ServiceRequest } from "@medplum/fhirtypes";
2
+ /**
3
+ * Base interface for smart resources - all smart resources have these capabilities
4
+ */
5
+ export interface SmartResourceBase {
6
+ readonly __isSmartResource: true;
7
+ }
8
+ /**
9
+ * Generic type that converts any Resource to a Smart resource
10
+ */
11
+ export type Smart<T extends Resource> = T & SmartResourceBase & ReferenceMethodsFor<T>;
12
+ /**
13
+ * Reference methods for Observation resources
14
+ */
15
+ export interface ObservationReferenceMethods {
16
+ getSubject<T extends Patient | Group | Device | Location>(): Smart<T> | undefined;
17
+ getEncounter(): Smart<Encounter> | undefined;
18
+ getPerformers<T extends Practitioner | PractitionerRole | Organization | CareTeam | Patient | RelatedPerson>(): Smart<T>[];
19
+ }
20
+ /**
21
+ * Reference methods for Encounter resources
22
+ */
23
+ export interface EncounterReferenceMethods {
24
+ getSubject<T extends Patient | Group>(): Smart<T> | undefined;
25
+ getParticipants<T extends Practitioner | PractitionerRole | RelatedPerson | Device>(): Smart<T>[];
26
+ }
27
+ /**
28
+ * Reference methods for DiagnosticReport resources
29
+ */
30
+ export interface DiagnosticReportReferenceMethods {
31
+ getSubject<T extends Patient | Group | Device | Location>(): Smart<T> | undefined;
32
+ getResults(): Smart<Observation>[];
33
+ getPerformers<T extends Practitioner | PractitionerRole | Organization | CareTeam>(): Smart<T>[];
34
+ }
35
+ /**
36
+ * Reference methods for Patient resources
37
+ */
38
+ export interface PatientReferenceMethods {
39
+ getGeneralPractitioners<T extends Practitioner | PractitionerRole | Organization>(): Smart<T>[];
40
+ getManagingOrganization(): Smart<Organization> | undefined;
41
+ }
42
+ /**
43
+ * Reference methods for Practitioner resources
44
+ */
45
+ export interface PractitionerReferenceMethods {
46
+ }
47
+ /**
48
+ * Reference methods for AllergyIntolerance resources
49
+ */
50
+ export interface AllergyIntoleranceReferenceMethods {
51
+ getPatient(): Smart<Patient> | undefined;
52
+ getEncounter(): Smart<Encounter> | undefined;
53
+ getRecorder<T extends Practitioner | PractitionerRole | Patient | RelatedPerson>(): Smart<T> | undefined;
54
+ getAsserter<T extends Patient | RelatedPerson | Practitioner | PractitionerRole>(): Smart<T> | undefined;
55
+ }
56
+ /**
57
+ * Reference methods for Condition resources
58
+ */
59
+ export interface ConditionReferenceMethods {
60
+ getSubject<T extends Patient | Group>(): Smart<T> | undefined;
61
+ getEncounter(): Smart<Encounter> | undefined;
62
+ getRecorder<T extends Practitioner | PractitionerRole | Patient | RelatedPerson>(): Smart<T> | undefined;
63
+ getAsserter<T extends Practitioner | PractitionerRole | Patient | RelatedPerson>(): Smart<T> | undefined;
64
+ }
65
+ /**
66
+ * Reference methods for Organization resources
67
+ */
68
+ export interface OrganizationReferenceMethods {
69
+ getPartOf(): Smart<Organization> | undefined;
70
+ }
71
+ /**
72
+ * Reference methods for Location resources
73
+ */
74
+ export interface LocationReferenceMethods {
75
+ getManagingOrganization(): Smart<Organization> | undefined;
76
+ getPartOf(): Smart<Location> | undefined;
77
+ }
78
+ /**
79
+ * Reference methods for Composition resources
80
+ */
81
+ export interface CompositionReferenceMethods {
82
+ getSubject<T extends Patient | Group | Device | Location>(): Smart<T> | undefined;
83
+ getEncounter(): Smart<Encounter> | undefined;
84
+ getAuthors<T extends Practitioner | PractitionerRole | Device | Patient | RelatedPerson | Organization>(): Smart<T>[];
85
+ getCustodian(): Smart<Organization> | undefined;
86
+ }
87
+ /**
88
+ * Reference methods for Coverage resources
89
+ */
90
+ export interface CoverageReferenceMethods {
91
+ getBeneficiary(): Smart<Patient> | undefined;
92
+ getSubscriber<T extends Patient | RelatedPerson>(): Smart<T> | undefined;
93
+ getPayors<T extends Organization | Patient | RelatedPerson>(): Smart<T>[];
94
+ getPolicyHolder<T extends Patient | RelatedPerson | Organization>(): Smart<T> | undefined;
95
+ }
96
+ /**
97
+ * Reference methods for DocumentReference resources
98
+ */
99
+ export interface DocumentReferenceReferenceMethods {
100
+ getSubject<T extends Patient | Group | Practitioner | PractitionerRole | Device>(): Smart<T> | undefined;
101
+ getAuthors<T extends Practitioner | PractitionerRole | Organization | Device | Patient | RelatedPerson>(): Smart<T>[];
102
+ getAuthenticator<T extends Practitioner | PractitionerRole | Organization>(): Smart<T> | undefined;
103
+ getCustodian(): Smart<Organization> | undefined;
104
+ }
105
+ /**
106
+ * Reference methods for Immunization resources
107
+ */
108
+ export interface ImmunizationReferenceMethods {
109
+ getPatient(): Smart<Patient> | undefined;
110
+ getEncounter(): Smart<Encounter> | undefined;
111
+ getPerformers<T extends Practitioner | PractitionerRole | Organization>(): Smart<T>[];
112
+ }
113
+ /**
114
+ * Reference methods for Medication resources
115
+ */
116
+ export interface MedicationReferenceMethods {
117
+ getManufacturer(): Smart<Organization> | undefined;
118
+ }
119
+ /**
120
+ * Reference methods for MedicationRequest resources
121
+ */
122
+ export interface MedicationRequestReferenceMethods {
123
+ getSubject<T extends Patient | Group>(): Smart<T> | undefined;
124
+ getEncounter(): Smart<Encounter> | undefined;
125
+ getRequester<T extends Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device>(): Smart<T> | undefined;
126
+ getPerformer<T extends Practitioner | PractitionerRole | Organization | Patient | Device | RelatedPerson | CareTeam>(): Smart<T> | undefined;
127
+ getMedicationReference(): Smart<Medication> | undefined;
128
+ }
129
+ /**
130
+ * Reference methods for Procedure resources
131
+ */
132
+ export interface ProcedureReferenceMethods {
133
+ getSubject<T extends Patient | Group>(): Smart<T> | undefined;
134
+ getEncounter(): Smart<Encounter> | undefined;
135
+ getPerformers<T extends Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device>(): Smart<T>[];
136
+ }
137
+ /**
138
+ * Reference methods for FamilyMemberHistory resources
139
+ */
140
+ export interface FamilyMemberHistoryReferenceMethods {
141
+ getPatient(): Smart<Patient> | undefined;
142
+ }
143
+ /**
144
+ * Reference methods for MedicationAdministration resources
145
+ */
146
+ export interface MedicationAdministrationReferenceMethods {
147
+ getSubject<T extends Patient | Group>(): Smart<T> | undefined;
148
+ getContext<T extends Encounter>(): Smart<T> | undefined;
149
+ getPerformers<T extends Practitioner | PractitionerRole | Patient | RelatedPerson | Device>(): Smart<T>[];
150
+ getMedicationReference(): Smart<Medication> | undefined;
151
+ }
152
+ /**
153
+ * Reference methods for MedicationDispense resources
154
+ */
155
+ export interface MedicationDispenseReferenceMethods {
156
+ getSubject<T extends Patient | Group>(): Smart<T> | undefined;
157
+ getContext<T extends Encounter>(): Smart<T> | undefined;
158
+ getPerformers<T extends Practitioner | PractitionerRole | Organization | Patient | Device | RelatedPerson>(): Smart<T>[];
159
+ getMedicationReference(): Smart<Medication> | undefined;
160
+ }
161
+ /**
162
+ * Reference methods for MedicationStatement resources
163
+ */
164
+ export interface MedicationStatementReferenceMethods {
165
+ getSubject<T extends Patient | Group>(): Smart<T> | undefined;
166
+ getContext<T extends Encounter>(): Smart<T> | undefined;
167
+ getInformationSource<T extends Patient | Practitioner | PractitionerRole | RelatedPerson | Organization>(): Smart<T> | undefined;
168
+ getMedicationReference(): Smart<Medication> | undefined;
169
+ }
170
+ /**
171
+ * Reference methods for RelatedPerson resources
172
+ */
173
+ export interface RelatedPersonReferenceMethods {
174
+ getPatient(): Smart<Patient> | undefined;
175
+ }
176
+ /**
177
+ * Reference methods for RiskAssessment resources
178
+ */
179
+ export interface RiskAssessmentReferenceMethods {
180
+ getSubject<T extends Patient | Group>(): Smart<T> | undefined;
181
+ getEncounter(): Smart<Encounter> | undefined;
182
+ getPerformer<T extends Practitioner | PractitionerRole | Device>(): Smart<T> | undefined;
183
+ }
184
+ /**
185
+ * Reference methods for ServiceRequest resources
186
+ */
187
+ export interface ServiceRequestReferenceMethods {
188
+ getSubject<T extends Patient | Group | Location | Device>(): Smart<T> | undefined;
189
+ getEncounter(): Smart<Encounter> | undefined;
190
+ getRequester<T extends Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device>(): Smart<T> | undefined;
191
+ getPerformers<T extends Practitioner | PractitionerRole | Organization | CareTeam | Patient | Device | RelatedPerson>(): Smart<T>[];
192
+ }
193
+ /**
194
+ * Base reference methods for resources that don't have specific reference patterns
195
+ */
196
+ export interface BaseReferenceMethods {
197
+ }
198
+ /**
199
+ * Conditional type that maps resource types to their reference methods
200
+ */
201
+ export type ReferenceMethodsFor<T extends Resource> = T extends Observation ? ObservationReferenceMethods : T extends Encounter ? EncounterReferenceMethods : T extends DiagnosticReport ? DiagnosticReportReferenceMethods : T extends Patient ? PatientReferenceMethods : T extends Practitioner ? PractitionerReferenceMethods : T extends AllergyIntolerance ? AllergyIntoleranceReferenceMethods : T extends Condition ? ConditionReferenceMethods : T extends Organization ? OrganizationReferenceMethods : T extends Location ? LocationReferenceMethods : T extends Composition ? CompositionReferenceMethods : T extends Coverage ? CoverageReferenceMethods : T extends DocumentReference ? DocumentReferenceReferenceMethods : T extends Immunization ? ImmunizationReferenceMethods : T extends Medication ? MedicationReferenceMethods : T extends MedicationRequest ? MedicationRequestReferenceMethods : T extends Procedure ? ProcedureReferenceMethods : T extends FamilyMemberHistory ? FamilyMemberHistoryReferenceMethods : T extends MedicationAdministration ? MedicationAdministrationReferenceMethods : T extends MedicationDispense ? MedicationDispenseReferenceMethods : T extends MedicationStatement ? MedicationStatementReferenceMethods : T extends RelatedPerson ? RelatedPersonReferenceMethods : T extends RiskAssessment ? RiskAssessmentReferenceMethods : T extends ServiceRequest ? ServiceRequestReferenceMethods : BaseReferenceMethods;
202
+ /**
203
+ * Note: We only use the generic Smart<T> pattern for consistency.
204
+ * Specific type aliases like SmartObservation are not needed since
205
+ * Smart<Observation> provides the same functionality.
206
+ */
207
+ /**
208
+ * Reference field mapping - maps reference method names to their field paths
209
+ */
210
+ export declare const REFERENCE_METHOD_MAPPING: Record<string, Record<string, string>>;
211
+ /**
212
+ * Helper type to check if a method name is a valid reference method for a resource type
213
+ */
214
+ export declare function isReferenceMethod(methodName: string, resourceType: string): boolean;
215
+ /**
216
+ * Get the reference field path for a method name and resource type
217
+ */
218
+ export declare function getReferenceField(methodName: string, resourceType: string): string | undefined;
219
+ //# sourceMappingURL=smart-resources.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"smart-resources.d.ts","sourceRoot":"","sources":["../../src/types/smart-resources.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,140 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getReferenceField = exports.isReferenceMethod = exports.REFERENCE_METHOD_MAPPING = void 0;
4
+ /**
5
+ * Note: We only use the generic Smart<T> pattern for consistency.
6
+ * Specific type aliases like SmartObservation are not needed since
7
+ * Smart<Observation> provides the same functionality.
8
+ */
9
+ /**
10
+ * Reference field mapping - maps reference method names to their field paths
11
+ */
12
+ exports.REFERENCE_METHOD_MAPPING = {
13
+ Observation: {
14
+ getSubject: "subject",
15
+ getEncounter: "encounter",
16
+ getPerformers: "performer",
17
+ },
18
+ Encounter: {
19
+ getSubject: "subject",
20
+ getParticipants: "participant",
21
+ },
22
+ DiagnosticReport: {
23
+ getSubject: "subject",
24
+ getResults: "result",
25
+ getPerformers: "performer",
26
+ },
27
+ Patient: {
28
+ getGeneralPractitioners: "generalPractitioner",
29
+ getManagingOrganization: "managingOrganization",
30
+ },
31
+ AllergyIntolerance: {
32
+ getPatient: "patient",
33
+ getEncounter: "encounter",
34
+ getRecorder: "recorder",
35
+ getAsserter: "asserter",
36
+ },
37
+ Condition: {
38
+ getSubject: "subject",
39
+ getEncounter: "encounter",
40
+ getRecorder: "recorder",
41
+ getAsserter: "asserter",
42
+ },
43
+ Organization: {
44
+ getPartOf: "partOf",
45
+ },
46
+ Location: {
47
+ getManagingOrganization: "managingOrganization",
48
+ getPartOf: "partOf",
49
+ },
50
+ Composition: {
51
+ getSubject: "subject",
52
+ getEncounter: "encounter",
53
+ getAuthors: "author",
54
+ getCustodian: "custodian",
55
+ },
56
+ Coverage: {
57
+ getBeneficiary: "beneficiary",
58
+ getSubscriber: "subscriber",
59
+ getPayors: "payor",
60
+ getPolicyHolder: "policyHolder",
61
+ },
62
+ DocumentReference: {
63
+ getSubject: "subject",
64
+ getAuthors: "author",
65
+ getAuthenticator: "authenticator",
66
+ getCustodian: "custodian",
67
+ },
68
+ Immunization: {
69
+ getPatient: "patient",
70
+ getEncounter: "encounter",
71
+ getPerformers: "performer.actor",
72
+ },
73
+ Medication: {
74
+ getManufacturer: "manufacturer",
75
+ },
76
+ MedicationRequest: {
77
+ getSubject: "subject",
78
+ getEncounter: "encounter",
79
+ getRequester: "requester",
80
+ getPerformer: "performer",
81
+ getMedicationReference: "medicationReference",
82
+ },
83
+ Procedure: {
84
+ getSubject: "subject",
85
+ getEncounter: "encounter",
86
+ getPerformers: "performer.actor",
87
+ },
88
+ FamilyMemberHistory: {
89
+ getPatient: "patient",
90
+ },
91
+ MedicationAdministration: {
92
+ getSubject: "subject",
93
+ getContext: "context",
94
+ getPerformers: "performer",
95
+ getMedicationReference: "medicationReference",
96
+ },
97
+ MedicationDispense: {
98
+ getSubject: "subject",
99
+ getContext: "context",
100
+ getPerformers: "performer",
101
+ getMedicationReference: "medicationReference",
102
+ },
103
+ MedicationStatement: {
104
+ getSubject: "subject",
105
+ getContext: "context",
106
+ getInformationSource: "informationSource",
107
+ getMedicationReference: "medicationReference",
108
+ },
109
+ RelatedPerson: {
110
+ getPatient: "patient",
111
+ },
112
+ RiskAssessment: {
113
+ getSubject: "subject",
114
+ getEncounter: "encounter",
115
+ getPerformer: "performer",
116
+ },
117
+ ServiceRequest: {
118
+ getSubject: "subject",
119
+ getEncounter: "encounter",
120
+ getRequester: "requester",
121
+ getPerformers: "performer",
122
+ },
123
+ };
124
+ /**
125
+ * Helper type to check if a method name is a valid reference method for a resource type
126
+ */
127
+ function isReferenceMethod(methodName, resourceType) {
128
+ const mapping = exports.REFERENCE_METHOD_MAPPING[resourceType];
129
+ return mapping ? methodName in mapping : false;
130
+ }
131
+ exports.isReferenceMethod = isReferenceMethod;
132
+ /**
133
+ * Get the reference field path for a method name and resource type
134
+ */
135
+ function getReferenceField(methodName, resourceType) {
136
+ const mapping = exports.REFERENCE_METHOD_MAPPING[resourceType];
137
+ return mapping ? mapping[methodName] : undefined;
138
+ }
139
+ exports.getReferenceField = getReferenceField;
140
+ //# sourceMappingURL=smart-resources.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"smart-resources.js","sourceRoot":"","sources":["../../src/types/smart-resources.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,69 @@
1
+ {
2
+ "name": "@metriport/fhir-sdk",
3
+ "version": "1.2.5",
4
+ "description": "FHIR Bundle SDK for parsing, querying, and manipulating FHIR bundles with reference resolution",
5
+ "author": "Metriport Inc. <contact@metriport.com>",
6
+ "homepage": "https://metriport.com/",
7
+ "license": "MIT",
8
+ "main": "dist/index.js",
9
+ "types": "dist/index.d.ts",
10
+ "publishConfig": {
11
+ "access": "public"
12
+ },
13
+ "files": [
14
+ "dist",
15
+ "README.md",
16
+ "LICENSE",
17
+ "package.json"
18
+ ],
19
+ "exports": {
20
+ ".": "./dist/index.js"
21
+ },
22
+ "typesVersions": {
23
+ "*": {
24
+ "/": [
25
+ "dist/index.d.ts"
26
+ ]
27
+ }
28
+ },
29
+ "repository": {
30
+ "url": "https://github.com/metriport/metriport.git",
31
+ "type": "git",
32
+ "directory": "packages/fhir-sdk"
33
+ },
34
+ "bugs": {
35
+ "url": "https://github.com/metriport/metriport/issues"
36
+ },
37
+ "scripts": {
38
+ "clean": "rimraf dist",
39
+ "deepclean": "npm run clean && rimraf node_modules",
40
+ "tsc": "tsc",
41
+ "watch": "tsc --watch",
42
+ "build": "tsc -p .",
43
+ "build:cloud": "npm run build",
44
+ "typecheck": "tsc --noEmit",
45
+ "lint": "npx eslint . --ext .ts",
46
+ "lint-fix": "npm run lint --fix",
47
+ "prettier-fix": "npx prettier '**/*.ts' --write",
48
+ "test": "jest --runInBand --detectOpenHandles --passWithNoTests",
49
+ "test:e2e": "E2E=true jest --runInBand --detectOpenHandles --passWithNoTests"
50
+ },
51
+ "dependencies": {
52
+ "@medplum/fhirtypes": "^2.2.10",
53
+ "@metriport/shared": "file:packages/shared"
54
+ },
55
+ "devDependencies": {
56
+ "@metriport/eslint-rules": "file:packages/eslint-rules",
57
+ "@tsconfig/recommended": "^1.0.2",
58
+ "@types/jest": "29.5.3",
59
+ "@typescript-eslint/eslint-plugin": "^5.48.2",
60
+ "@typescript-eslint/parser": "^5.48.2",
61
+ "eslint": "^8.32.0",
62
+ "eslint-config-prettier": "^8.6.0",
63
+ "jest": "^29.5.0",
64
+ "prettier": "^2.8.3",
65
+ "rimraf": "^5.0.1",
66
+ "ts-jest": "29.1.1",
67
+ "typescript": "^4.9.5"
68
+ }
69
+ }