@medplum/core 0.1.6 → 0.3.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 (679) hide show
  1. package/README.md +29 -25
  2. package/dist/cache.d.ts +1 -0
  3. package/dist/cache.js +3 -2
  4. package/dist/cache.js.map +1 -1
  5. package/dist/client.d.ts +72 -54
  6. package/dist/client.js +267 -223
  7. package/dist/client.js.map +1 -1
  8. package/dist/crypto.js +13 -2
  9. package/dist/crypto.js.map +1 -1
  10. package/dist/eventtarget.js +1 -2
  11. package/dist/eventtarget.js.map +1 -1
  12. package/dist/format.d.ts +1 -1
  13. package/dist/format.js +4 -4
  14. package/dist/format.js.map +1 -1
  15. package/dist/index.d.ts +1 -2
  16. package/dist/index.js +1 -2
  17. package/dist/index.js.map +1 -1
  18. package/dist/jwt.js.map +1 -1
  19. package/dist/outcomes.d.ts +4 -1
  20. package/dist/outcomes.js +71 -24
  21. package/dist/outcomes.js.map +1 -1
  22. package/dist/search.js +7 -9
  23. package/dist/search.js.map +1 -1
  24. package/dist/searchparams.d.ts +34 -0
  25. package/dist/searchparams.js +128 -0
  26. package/dist/searchparams.js.map +1 -0
  27. package/dist/storage.d.ts +36 -12
  28. package/dist/storage.js +55 -22
  29. package/dist/storage.js.map +1 -1
  30. package/dist/types.d.ts +3 -5
  31. package/dist/types.js +32 -18
  32. package/dist/types.js.map +1 -1
  33. package/dist/utils.d.ts +14 -3
  34. package/dist/utils.js +57 -12
  35. package/dist/utils.js.map +1 -1
  36. package/package.json +3 -16
  37. package/dist/cache.test.d.ts +0 -1
  38. package/dist/cache.test.js +0 -29
  39. package/dist/cache.test.js.map +0 -1
  40. package/dist/client.test.d.ts +0 -1
  41. package/dist/client.test.js +0 -294
  42. package/dist/client.test.js.map +0 -1
  43. package/dist/eventtarget.test.d.ts +0 -1
  44. package/dist/eventtarget.test.js +0 -44
  45. package/dist/eventtarget.test.js.map +0 -1
  46. package/dist/fhir/Account.d.ts +0 -240
  47. package/dist/fhir/Account.js +0 -7
  48. package/dist/fhir/Account.js.map +0 -1
  49. package/dist/fhir/ActivityDefinition.d.ts +0 -494
  50. package/dist/fhir/ActivityDefinition.js +0 -7
  51. package/dist/fhir/ActivityDefinition.js.map +0 -1
  52. package/dist/fhir/Address.d.ts +0 -74
  53. package/dist/fhir/Address.js +0 -7
  54. package/dist/fhir/Address.js.map +0 -1
  55. package/dist/fhir/AdverseEvent.d.ts +0 -287
  56. package/dist/fhir/AdverseEvent.js +0 -7
  57. package/dist/fhir/AdverseEvent.js.map +0 -1
  58. package/dist/fhir/Age.d.ts +0 -47
  59. package/dist/fhir/Age.js +0 -7
  60. package/dist/fhir/Age.js.map +0 -1
  61. package/dist/fhir/AllergyIntolerance.d.ts +0 -278
  62. package/dist/fhir/AllergyIntolerance.js +0 -7
  63. package/dist/fhir/AllergyIntolerance.js.map +0 -1
  64. package/dist/fhir/Annotation.d.ts +0 -38
  65. package/dist/fhir/Annotation.js +0 -7
  66. package/dist/fhir/Annotation.js.map +0 -1
  67. package/dist/fhir/Appointment.d.ts +0 -273
  68. package/dist/fhir/Appointment.js +0 -7
  69. package/dist/fhir/Appointment.js.map +0 -1
  70. package/dist/fhir/AppointmentResponse.d.ts +0 -123
  71. package/dist/fhir/AppointmentResponse.js +0 -7
  72. package/dist/fhir/AppointmentResponse.js.map +0 -1
  73. package/dist/fhir/Attachment.d.ts +0 -57
  74. package/dist/fhir/Attachment.js +0 -7
  75. package/dist/fhir/Attachment.js.map +0 -1
  76. package/dist/fhir/AuditEvent.d.ts +0 -458
  77. package/dist/fhir/AuditEvent.js +0 -7
  78. package/dist/fhir/AuditEvent.js.map +0 -1
  79. package/dist/fhir/Basic.d.ts +0 -105
  80. package/dist/fhir/Basic.js +0 -7
  81. package/dist/fhir/Basic.js.map +0 -1
  82. package/dist/fhir/Binary.d.ts +0 -58
  83. package/dist/fhir/Binary.js +0 -7
  84. package/dist/fhir/Binary.js.map +0 -1
  85. package/dist/fhir/BiologicallyDerivedProduct.d.ts +0 -356
  86. package/dist/fhir/BiologicallyDerivedProduct.js +0 -7
  87. package/dist/fhir/BiologicallyDerivedProduct.js.map +0 -1
  88. package/dist/fhir/BodyStructure.d.ts +0 -118
  89. package/dist/fhir/BodyStructure.js +0 -7
  90. package/dist/fhir/BodyStructure.js.map +0 -1
  91. package/dist/fhir/Bundle.d.ts +0 -373
  92. package/dist/fhir/Bundle.js +0 -7
  93. package/dist/fhir/Bundle.js.map +0 -1
  94. package/dist/fhir/CapabilityStatement.d.ts +0 -1068
  95. package/dist/fhir/CapabilityStatement.js +0 -7
  96. package/dist/fhir/CapabilityStatement.js.map +0 -1
  97. package/dist/fhir/CarePlan.d.ts +0 -421
  98. package/dist/fhir/CarePlan.js +0 -7
  99. package/dist/fhir/CarePlan.js.map +0 -1
  100. package/dist/fhir/CareTeam.d.ts +0 -203
  101. package/dist/fhir/CareTeam.js +0 -7
  102. package/dist/fhir/CareTeam.js.map +0 -1
  103. package/dist/fhir/CatalogEntry.d.ts +0 -184
  104. package/dist/fhir/CatalogEntry.js +0 -7
  105. package/dist/fhir/CatalogEntry.js.map +0 -1
  106. package/dist/fhir/ChargeItem.d.ts +0 -270
  107. package/dist/fhir/ChargeItem.js +0 -7
  108. package/dist/fhir/ChargeItem.js.map +0 -1
  109. package/dist/fhir/ChargeItemDefinition.d.ts +0 -402
  110. package/dist/fhir/ChargeItemDefinition.js +0 -7
  111. package/dist/fhir/ChargeItemDefinition.js.map +0 -1
  112. package/dist/fhir/Claim.d.ts +0 -1089
  113. package/dist/fhir/Claim.js +0 -7
  114. package/dist/fhir/Claim.js.map +0 -1
  115. package/dist/fhir/ClaimResponse.d.ts +0 -1037
  116. package/dist/fhir/ClaimResponse.js +0 -7
  117. package/dist/fhir/ClaimResponse.js.map +0 -1
  118. package/dist/fhir/ClientApplication.d.ts +0 -54
  119. package/dist/fhir/ClientApplication.js +0 -7
  120. package/dist/fhir/ClientApplication.js.map +0 -1
  121. package/dist/fhir/ClinicalImpression.d.ts +0 -301
  122. package/dist/fhir/ClinicalImpression.js +0 -7
  123. package/dist/fhir/ClinicalImpression.js.map +0 -1
  124. package/dist/fhir/CodeSystem.d.ts +0 -546
  125. package/dist/fhir/CodeSystem.js +0 -7
  126. package/dist/fhir/CodeSystem.js.map +0 -1
  127. package/dist/fhir/CodeableConcept.d.ts +0 -32
  128. package/dist/fhir/CodeableConcept.js +0 -7
  129. package/dist/fhir/CodeableConcept.js.map +0 -1
  130. package/dist/fhir/Coding.d.ts +0 -49
  131. package/dist/fhir/Coding.js +0 -7
  132. package/dist/fhir/Coding.js.map +0 -1
  133. package/dist/fhir/Communication.d.ts +0 -251
  134. package/dist/fhir/Communication.js +0 -7
  135. package/dist/fhir/Communication.js.map +0 -1
  136. package/dist/fhir/CommunicationRequest.d.ts +0 -248
  137. package/dist/fhir/CommunicationRequest.js +0 -7
  138. package/dist/fhir/CommunicationRequest.js.map +0 -1
  139. package/dist/fhir/CompartmentDefinition.d.ts +0 -218
  140. package/dist/fhir/CompartmentDefinition.js +0 -7
  141. package/dist/fhir/CompartmentDefinition.js.map +0 -1
  142. package/dist/fhir/Composition.d.ts +0 -455
  143. package/dist/fhir/Composition.js +0 -7
  144. package/dist/fhir/Composition.js.map +0 -1
  145. package/dist/fhir/ConceptMap.d.ts +0 -523
  146. package/dist/fhir/ConceptMap.js +0 -7
  147. package/dist/fhir/ConceptMap.js.map +0 -1
  148. package/dist/fhir/Condition.d.ts +0 -316
  149. package/dist/fhir/Condition.js +0 -7
  150. package/dist/fhir/Condition.js.map +0 -1
  151. package/dist/fhir/Consent.d.ts +0 -457
  152. package/dist/fhir/Consent.js +0 -7
  153. package/dist/fhir/Consent.js.map +0 -1
  154. package/dist/fhir/ContactDetail.d.ts +0 -30
  155. package/dist/fhir/ContactDetail.js +0 -7
  156. package/dist/fhir/ContactDetail.js.map +0 -1
  157. package/dist/fhir/ContactPoint.d.ts +0 -46
  158. package/dist/fhir/ContactPoint.js +0 -7
  159. package/dist/fhir/ContactPoint.js.map +0 -1
  160. package/dist/fhir/Contract.d.ts +0 -1431
  161. package/dist/fhir/Contract.js +0 -7
  162. package/dist/fhir/Contract.js.map +0 -1
  163. package/dist/fhir/Contributor.d.ts +0 -36
  164. package/dist/fhir/Contributor.js +0 -7
  165. package/dist/fhir/Contributor.js.map +0 -1
  166. package/dist/fhir/Count.d.ts +0 -49
  167. package/dist/fhir/Count.js +0 -7
  168. package/dist/fhir/Count.js.map +0 -1
  169. package/dist/fhir/Coverage.d.ts +0 -323
  170. package/dist/fhir/Coverage.js +0 -7
  171. package/dist/fhir/Coverage.js.map +0 -1
  172. package/dist/fhir/CoverageEligibilityRequest.d.ts +0 -409
  173. package/dist/fhir/CoverageEligibilityRequest.js +0 -7
  174. package/dist/fhir/CoverageEligibilityRequest.js.map +0 -1
  175. package/dist/fhir/CoverageEligibilityResponse.d.ts +0 -430
  176. package/dist/fhir/CoverageEligibilityResponse.js +0 -7
  177. package/dist/fhir/CoverageEligibilityResponse.js.map +0 -1
  178. package/dist/fhir/DataRequirement.d.ts +0 -288
  179. package/dist/fhir/DataRequirement.js +0 -7
  180. package/dist/fhir/DataRequirement.js.map +0 -1
  181. package/dist/fhir/DetectedIssue.d.ts +0 -249
  182. package/dist/fhir/DetectedIssue.js +0 -7
  183. package/dist/fhir/DetectedIssue.js.map +0 -1
  184. package/dist/fhir/Device.d.ts +0 -488
  185. package/dist/fhir/Device.js +0 -7
  186. package/dist/fhir/Device.js.map +0 -1
  187. package/dist/fhir/DeviceDefinition.d.ts +0 -484
  188. package/dist/fhir/DeviceDefinition.js +0 -7
  189. package/dist/fhir/DeviceDefinition.js.map +0 -1
  190. package/dist/fhir/DeviceMetric.d.ts +0 -198
  191. package/dist/fhir/DeviceMetric.js +0 -7
  192. package/dist/fhir/DeviceMetric.js.map +0 -1
  193. package/dist/fhir/DeviceRequest.d.ts +0 -279
  194. package/dist/fhir/DeviceRequest.js +0 -7
  195. package/dist/fhir/DeviceRequest.js.map +0 -1
  196. package/dist/fhir/DeviceUseStatement.d.ts +0 -153
  197. package/dist/fhir/DeviceUseStatement.js +0 -7
  198. package/dist/fhir/DeviceUseStatement.js.map +0 -1
  199. package/dist/fhir/DiagnosticReport.d.ts +0 -239
  200. package/dist/fhir/DiagnosticReport.js +0 -7
  201. package/dist/fhir/DiagnosticReport.js.map +0 -1
  202. package/dist/fhir/Distance.d.ts +0 -46
  203. package/dist/fhir/Distance.js +0 -7
  204. package/dist/fhir/Distance.js.map +0 -1
  205. package/dist/fhir/DocumentManifest.d.ts +0 -190
  206. package/dist/fhir/DocumentManifest.js +0 -7
  207. package/dist/fhir/DocumentManifest.js.map +0 -1
  208. package/dist/fhir/DocumentReference.d.ts +0 -353
  209. package/dist/fhir/DocumentReference.js +0 -7
  210. package/dist/fhir/DocumentReference.js.map +0 -1
  211. package/dist/fhir/Dosage.d.ts +0 -171
  212. package/dist/fhir/Dosage.js +0 -7
  213. package/dist/fhir/Dosage.js.map +0 -1
  214. package/dist/fhir/Duration.d.ts +0 -46
  215. package/dist/fhir/Duration.js +0 -7
  216. package/dist/fhir/Duration.js.map +0 -1
  217. package/dist/fhir/EffectEvidenceSynthesis.d.ts +0 -600
  218. package/dist/fhir/EffectEvidenceSynthesis.js +0 -7
  219. package/dist/fhir/EffectEvidenceSynthesis.js.map +0 -1
  220. package/dist/fhir/Element.d.ts +0 -20
  221. package/dist/fhir/Element.js +0 -7
  222. package/dist/fhir/Element.js.map +0 -1
  223. package/dist/fhir/ElementDefinition.d.ts +0 -2828
  224. package/dist/fhir/ElementDefinition.js +0 -7
  225. package/dist/fhir/ElementDefinition.js.map +0 -1
  226. package/dist/fhir/Encounter.d.ts +0 -546
  227. package/dist/fhir/Encounter.js +0 -7
  228. package/dist/fhir/Encounter.js.map +0 -1
  229. package/dist/fhir/Endpoint.d.ts +0 -139
  230. package/dist/fhir/Endpoint.js +0 -7
  231. package/dist/fhir/Endpoint.js.map +0 -1
  232. package/dist/fhir/EnrollmentRequest.d.ts +0 -108
  233. package/dist/fhir/EnrollmentRequest.js +0 -7
  234. package/dist/fhir/EnrollmentRequest.js.map +0 -1
  235. package/dist/fhir/EnrollmentResponse.d.ts +0 -113
  236. package/dist/fhir/EnrollmentResponse.js +0 -7
  237. package/dist/fhir/EnrollmentResponse.js.map +0 -1
  238. package/dist/fhir/EpisodeOfCare.d.ts +0 -243
  239. package/dist/fhir/EpisodeOfCare.js +0 -7
  240. package/dist/fhir/EpisodeOfCare.js.map +0 -1
  241. package/dist/fhir/EventDefinition.d.ts +0 -252
  242. package/dist/fhir/EventDefinition.js +0 -7
  243. package/dist/fhir/EventDefinition.js.map +0 -1
  244. package/dist/fhir/Evidence.d.ts +0 -251
  245. package/dist/fhir/Evidence.js +0 -7
  246. package/dist/fhir/Evidence.js.map +0 -1
  247. package/dist/fhir/EvidenceVariable.d.ts +0 -369
  248. package/dist/fhir/EvidenceVariable.js +0 -7
  249. package/dist/fhir/EvidenceVariable.js.map +0 -1
  250. package/dist/fhir/ExampleScenario.d.ts +0 -626
  251. package/dist/fhir/ExampleScenario.js +0 -7
  252. package/dist/fhir/ExampleScenario.js.map +0 -1
  253. package/dist/fhir/ExplanationOfBenefit.d.ts +0 -1854
  254. package/dist/fhir/ExplanationOfBenefit.js +0 -7
  255. package/dist/fhir/ExplanationOfBenefit.js.map +0 -1
  256. package/dist/fhir/Expression.d.ts +0 -45
  257. package/dist/fhir/Expression.js +0 -7
  258. package/dist/fhir/Expression.js.map +0 -1
  259. package/dist/fhir/Extension.d.ts +0 -305
  260. package/dist/fhir/Extension.js +0 -7
  261. package/dist/fhir/Extension.js.map +0 -1
  262. package/dist/fhir/FamilyMemberHistory.d.ts +0 -297
  263. package/dist/fhir/FamilyMemberHistory.js +0 -7
  264. package/dist/fhir/FamilyMemberHistory.js.map +0 -1
  265. package/dist/fhir/Flag.d.ts +0 -121
  266. package/dist/fhir/Flag.js +0 -7
  267. package/dist/fhir/Flag.js.map +0 -1
  268. package/dist/fhir/Goal.d.ts +0 -290
  269. package/dist/fhir/Goal.js +0 -7
  270. package/dist/fhir/Goal.js.map +0 -1
  271. package/dist/fhir/GraphDefinition.d.ts +0 -359
  272. package/dist/fhir/GraphDefinition.js +0 -7
  273. package/dist/fhir/GraphDefinition.js.map +0 -1
  274. package/dist/fhir/Group.d.ts +0 -268
  275. package/dist/fhir/Group.js +0 -7
  276. package/dist/fhir/Group.js.map +0 -1
  277. package/dist/fhir/GuidanceResponse.d.ts +0 -184
  278. package/dist/fhir/GuidanceResponse.js +0 -7
  279. package/dist/fhir/GuidanceResponse.js.map +0 -1
  280. package/dist/fhir/HealthcareService.d.ts +0 -351
  281. package/dist/fhir/HealthcareService.js +0 -7
  282. package/dist/fhir/HealthcareService.js.map +0 -1
  283. package/dist/fhir/HumanName.d.ts +0 -57
  284. package/dist/fhir/HumanName.js +0 -7
  285. package/dist/fhir/HumanName.js.map +0 -1
  286. package/dist/fhir/Identifier.d.ts +0 -51
  287. package/dist/fhir/Identifier.js +0 -7
  288. package/dist/fhir/Identifier.js.map +0 -1
  289. package/dist/fhir/ImagingStudy.d.ts +0 -398
  290. package/dist/fhir/ImagingStudy.js +0 -7
  291. package/dist/fhir/ImagingStudy.js.map +0 -1
  292. package/dist/fhir/Immunization.d.ts +0 -440
  293. package/dist/fhir/Immunization.js +0 -7
  294. package/dist/fhir/Immunization.js.map +0 -1
  295. package/dist/fhir/ImmunizationEvaluation.d.ts +0 -146
  296. package/dist/fhir/ImmunizationEvaluation.js +0 -7
  297. package/dist/fhir/ImmunizationEvaluation.js.map +0 -1
  298. package/dist/fhir/ImmunizationRecommendation.d.ts +0 -253
  299. package/dist/fhir/ImmunizationRecommendation.js +0 -7
  300. package/dist/fhir/ImmunizationRecommendation.js.map +0 -1
  301. package/dist/fhir/ImplementationGuide.d.ts +0 -854
  302. package/dist/fhir/ImplementationGuide.js +0 -7
  303. package/dist/fhir/ImplementationGuide.js.map +0 -1
  304. package/dist/fhir/InsurancePlan.d.ts +0 -630
  305. package/dist/fhir/InsurancePlan.js +0 -7
  306. package/dist/fhir/InsurancePlan.js.map +0 -1
  307. package/dist/fhir/Invoice.d.ts +0 -331
  308. package/dist/fhir/Invoice.js +0 -7
  309. package/dist/fhir/Invoice.js.map +0 -1
  310. package/dist/fhir/JsonWebKey.d.ts +0 -99
  311. package/dist/fhir/JsonWebKey.js +0 -7
  312. package/dist/fhir/JsonWebKey.js.map +0 -1
  313. package/dist/fhir/Library.d.ts +0 -276
  314. package/dist/fhir/Library.js +0 -7
  315. package/dist/fhir/Library.js.map +0 -1
  316. package/dist/fhir/Linkage.d.ts +0 -142
  317. package/dist/fhir/Linkage.js +0 -7
  318. package/dist/fhir/Linkage.js.map +0 -1
  319. package/dist/fhir/List.d.ts +0 -193
  320. package/dist/fhir/List.js +0 -7
  321. package/dist/fhir/List.js.map +0 -1
  322. package/dist/fhir/Location.d.ts +0 -278
  323. package/dist/fhir/Location.js +0 -7
  324. package/dist/fhir/Location.js.map +0 -1
  325. package/dist/fhir/Login.d.ts +0 -108
  326. package/dist/fhir/Login.js +0 -7
  327. package/dist/fhir/Login.js.map +0 -1
  328. package/dist/fhir/MarketingStatus.d.ts +0 -82
  329. package/dist/fhir/MarketingStatus.js +0 -7
  330. package/dist/fhir/MarketingStatus.js.map +0 -1
  331. package/dist/fhir/Measure.d.ts +0 -613
  332. package/dist/fhir/Measure.js +0 -7
  333. package/dist/fhir/Measure.js.map +0 -1
  334. package/dist/fhir/MeasureReport.d.ts +0 -460
  335. package/dist/fhir/MeasureReport.js +0 -7
  336. package/dist/fhir/MeasureReport.js.map +0 -1
  337. package/dist/fhir/Media.d.ts +0 -191
  338. package/dist/fhir/Media.js +0 -7
  339. package/dist/fhir/Media.js.map +0 -1
  340. package/dist/fhir/Medication.d.ts +0 -234
  341. package/dist/fhir/Medication.js +0 -7
  342. package/dist/fhir/Medication.js.map +0 -1
  343. package/dist/fhir/MedicationAdministration.d.ts +0 -343
  344. package/dist/fhir/MedicationAdministration.js +0 -7
  345. package/dist/fhir/MedicationAdministration.js.map +0 -1
  346. package/dist/fhir/MedicationDispense.d.ts +0 -332
  347. package/dist/fhir/MedicationDispense.js +0 -7
  348. package/dist/fhir/MedicationDispense.js.map +0 -1
  349. package/dist/fhir/MedicationKnowledge.d.ts +0 -979
  350. package/dist/fhir/MedicationKnowledge.js +0 -7
  351. package/dist/fhir/MedicationKnowledge.js.map +0 -1
  352. package/dist/fhir/MedicationRequest.d.ts +0 -468
  353. package/dist/fhir/MedicationRequest.js +0 -7
  354. package/dist/fhir/MedicationRequest.js.map +0 -1
  355. package/dist/fhir/MedicationStatement.d.ts +0 -210
  356. package/dist/fhir/MedicationStatement.js +0 -7
  357. package/dist/fhir/MedicationStatement.js.map +0 -1
  358. package/dist/fhir/MedicinalProduct.d.ts +0 -449
  359. package/dist/fhir/MedicinalProduct.js +0 -7
  360. package/dist/fhir/MedicinalProduct.js.map +0 -1
  361. package/dist/fhir/MedicinalProductAuthorization.d.ts +0 -267
  362. package/dist/fhir/MedicinalProductAuthorization.js +0 -7
  363. package/dist/fhir/MedicinalProductAuthorization.js.map +0 -1
  364. package/dist/fhir/MedicinalProductContraindication.d.ts +0 -165
  365. package/dist/fhir/MedicinalProductContraindication.js +0 -7
  366. package/dist/fhir/MedicinalProductContraindication.js.map +0 -1
  367. package/dist/fhir/MedicinalProductIndication.d.ts +0 -173
  368. package/dist/fhir/MedicinalProductIndication.js +0 -7
  369. package/dist/fhir/MedicinalProductIndication.js.map +0 -1
  370. package/dist/fhir/MedicinalProductIngredient.d.ts +0 -334
  371. package/dist/fhir/MedicinalProductIngredient.js +0 -7
  372. package/dist/fhir/MedicinalProductIngredient.js.map +0 -1
  373. package/dist/fhir/MedicinalProductInteraction.d.ts +0 -155
  374. package/dist/fhir/MedicinalProductInteraction.js +0 -7
  375. package/dist/fhir/MedicinalProductInteraction.js.map +0 -1
  376. package/dist/fhir/MedicinalProductManufactured.d.ts +0 -111
  377. package/dist/fhir/MedicinalProductManufactured.js +0 -7
  378. package/dist/fhir/MedicinalProductManufactured.js.map +0 -1
  379. package/dist/fhir/MedicinalProductPackaged.d.ts +0 -253
  380. package/dist/fhir/MedicinalProductPackaged.js +0 -7
  381. package/dist/fhir/MedicinalProductPackaged.js.map +0 -1
  382. package/dist/fhir/MedicinalProductPharmaceutical.d.ts +0 -331
  383. package/dist/fhir/MedicinalProductPharmaceutical.js +0 -7
  384. package/dist/fhir/MedicinalProductPharmaceutical.js.map +0 -1
  385. package/dist/fhir/MedicinalProductUndesirableEffect.d.ts +0 -99
  386. package/dist/fhir/MedicinalProductUndesirableEffect.js +0 -7
  387. package/dist/fhir/MedicinalProductUndesirableEffect.js.map +0 -1
  388. package/dist/fhir/MessageDefinition.d.ts +0 -331
  389. package/dist/fhir/MessageDefinition.js +0 -7
  390. package/dist/fhir/MessageDefinition.js.map +0 -1
  391. package/dist/fhir/MessageHeader.d.ts +0 -329
  392. package/dist/fhir/MessageHeader.js +0 -7
  393. package/dist/fhir/MessageHeader.js.map +0 -1
  394. package/dist/fhir/Meta.d.ts +0 -68
  395. package/dist/fhir/Meta.js +0 -7
  396. package/dist/fhir/Meta.js.map +0 -1
  397. package/dist/fhir/MolecularSequence.d.ts +0 -746
  398. package/dist/fhir/MolecularSequence.js +0 -7
  399. package/dist/fhir/MolecularSequence.js.map +0 -1
  400. package/dist/fhir/Money.d.ts +0 -28
  401. package/dist/fhir/Money.js +0 -7
  402. package/dist/fhir/Money.js.map +0 -1
  403. package/dist/fhir/NamingSystem.d.ts +0 -219
  404. package/dist/fhir/NamingSystem.js +0 -7
  405. package/dist/fhir/NamingSystem.js.map +0 -1
  406. package/dist/fhir/Narrative.d.ts +0 -31
  407. package/dist/fhir/Narrative.js +0 -7
  408. package/dist/fhir/Narrative.js.map +0 -1
  409. package/dist/fhir/NutritionOrder.d.ts +0 -558
  410. package/dist/fhir/NutritionOrder.js +0 -7
  411. package/dist/fhir/NutritionOrder.js.map +0 -1
  412. package/dist/fhir/Observation.d.ts +0 -487
  413. package/dist/fhir/Observation.js +0 -7
  414. package/dist/fhir/Observation.js.map +0 -1
  415. package/dist/fhir/ObservationDefinition.d.ts +0 -277
  416. package/dist/fhir/ObservationDefinition.js +0 -7
  417. package/dist/fhir/ObservationDefinition.js.map +0 -1
  418. package/dist/fhir/OperationDefinition.d.ts +0 -468
  419. package/dist/fhir/OperationDefinition.js +0 -7
  420. package/dist/fhir/OperationDefinition.js.map +0 -1
  421. package/dist/fhir/OperationOutcome.d.ts +0 -168
  422. package/dist/fhir/OperationOutcome.js +0 -7
  423. package/dist/fhir/OperationOutcome.js.map +0 -1
  424. package/dist/fhir/Organization.d.ts +0 -187
  425. package/dist/fhir/Organization.js +0 -7
  426. package/dist/fhir/Organization.js.map +0 -1
  427. package/dist/fhir/OrganizationAffiliation.d.ts +0 -141
  428. package/dist/fhir/OrganizationAffiliation.js +0 -7
  429. package/dist/fhir/OrganizationAffiliation.js.map +0 -1
  430. package/dist/fhir/ParameterDefinition.d.ts +0 -56
  431. package/dist/fhir/ParameterDefinition.js +0 -7
  432. package/dist/fhir/ParameterDefinition.js.map +0 -1
  433. package/dist/fhir/Parameters.d.ts +0 -321
  434. package/dist/fhir/Parameters.js +0 -7
  435. package/dist/fhir/Parameters.js.map +0 -1
  436. package/dist/fhir/PasswordChangeRequest.d.ts +0 -50
  437. package/dist/fhir/PasswordChangeRequest.js +0 -7
  438. package/dist/fhir/PasswordChangeRequest.js.map +0 -1
  439. package/dist/fhir/Patient.d.ts +0 -339
  440. package/dist/fhir/Patient.js +0 -7
  441. package/dist/fhir/Patient.js.map +0 -1
  442. package/dist/fhir/PaymentNotice.d.ts +0 -131
  443. package/dist/fhir/PaymentNotice.js +0 -7
  444. package/dist/fhir/PaymentNotice.js.map +0 -1
  445. package/dist/fhir/PaymentReconciliation.d.ts +0 -276
  446. package/dist/fhir/PaymentReconciliation.js +0 -7
  447. package/dist/fhir/PaymentReconciliation.js.map +0 -1
  448. package/dist/fhir/Period.d.ts +0 -31
  449. package/dist/fhir/Period.js +0 -7
  450. package/dist/fhir/Period.js.map +0 -1
  451. package/dist/fhir/Person.d.ts +0 -172
  452. package/dist/fhir/Person.js +0 -7
  453. package/dist/fhir/Person.js.map +0 -1
  454. package/dist/fhir/PlanDefinition.d.ts +0 -855
  455. package/dist/fhir/PlanDefinition.js +0 -7
  456. package/dist/fhir/PlanDefinition.js.map +0 -1
  457. package/dist/fhir/Population.d.ts +0 -61
  458. package/dist/fhir/Population.js +0 -7
  459. package/dist/fhir/Population.js.map +0 -1
  460. package/dist/fhir/Practitioner.d.ts +0 -188
  461. package/dist/fhir/Practitioner.js +0 -7
  462. package/dist/fhir/Practitioner.js.map +0 -1
  463. package/dist/fhir/PractitionerRole.d.ts +0 -254
  464. package/dist/fhir/PractitionerRole.js +0 -7
  465. package/dist/fhir/PractitionerRole.js.map +0 -1
  466. package/dist/fhir/Procedure.d.ts +0 -355
  467. package/dist/fhir/Procedure.js +0 -7
  468. package/dist/fhir/Procedure.js.map +0 -1
  469. package/dist/fhir/ProdCharacteristic.d.ts +0 -112
  470. package/dist/fhir/ProdCharacteristic.js +0 -7
  471. package/dist/fhir/ProdCharacteristic.js.map +0 -1
  472. package/dist/fhir/ProductShelfLife.d.ts +0 -69
  473. package/dist/fhir/ProductShelfLife.js +0 -7
  474. package/dist/fhir/ProductShelfLife.js.map +0 -1
  475. package/dist/fhir/Project.d.ts +0 -46
  476. package/dist/fhir/Project.js +0 -7
  477. package/dist/fhir/Project.js.map +0 -1
  478. package/dist/fhir/ProjectMembership.d.ts +0 -54
  479. package/dist/fhir/ProjectMembership.js +0 -7
  480. package/dist/fhir/ProjectMembership.js.map +0 -1
  481. package/dist/fhir/Provenance.d.ts +0 -270
  482. package/dist/fhir/Provenance.js +0 -7
  483. package/dist/fhir/Provenance.js.map +0 -1
  484. package/dist/fhir/Quantity.d.ts +0 -49
  485. package/dist/fhir/Quantity.js +0 -7
  486. package/dist/fhir/Quantity.js.map +0 -1
  487. package/dist/fhir/Questionnaire.d.ts +0 -610
  488. package/dist/fhir/Questionnaire.js +0 -7
  489. package/dist/fhir/Questionnaire.js.map +0 -1
  490. package/dist/fhir/QuestionnaireResponse.d.ts +0 -305
  491. package/dist/fhir/QuestionnaireResponse.js +0 -7
  492. package/dist/fhir/QuestionnaireResponse.js.map +0 -1
  493. package/dist/fhir/Range.d.ts +0 -29
  494. package/dist/fhir/Range.js +0 -7
  495. package/dist/fhir/Range.js.map +0 -1
  496. package/dist/fhir/Ratio.d.ts +0 -30
  497. package/dist/fhir/Ratio.js +0 -7
  498. package/dist/fhir/Ratio.js.map +0 -1
  499. package/dist/fhir/Reference.d.ts +0 -66
  500. package/dist/fhir/Reference.js +0 -7
  501. package/dist/fhir/Reference.js.map +0 -1
  502. package/dist/fhir/RefreshToken.d.ts +0 -45
  503. package/dist/fhir/RefreshToken.js +0 -7
  504. package/dist/fhir/RefreshToken.js.map +0 -1
  505. package/dist/fhir/RelatedArtifact.d.ts +0 -56
  506. package/dist/fhir/RelatedArtifact.js +0 -7
  507. package/dist/fhir/RelatedArtifact.js.map +0 -1
  508. package/dist/fhir/RelatedPerson.d.ts +0 -190
  509. package/dist/fhir/RelatedPerson.js +0 -7
  510. package/dist/fhir/RelatedPerson.js.map +0 -1
  511. package/dist/fhir/RequestGroup.d.ts +0 -427
  512. package/dist/fhir/RequestGroup.js +0 -7
  513. package/dist/fhir/RequestGroup.js.map +0 -1
  514. package/dist/fhir/ResearchDefinition.d.ts +0 -289
  515. package/dist/fhir/ResearchDefinition.js +0 -7
  516. package/dist/fhir/ResearchDefinition.js.map +0 -1
  517. package/dist/fhir/ResearchElementDefinition.d.ts +0 -430
  518. package/dist/fhir/ResearchElementDefinition.js +0 -7
  519. package/dist/fhir/ResearchElementDefinition.js.map +0 -1
  520. package/dist/fhir/ResearchStudy.d.ts +0 -320
  521. package/dist/fhir/ResearchStudy.js +0 -7
  522. package/dist/fhir/ResearchStudy.js.map +0 -1
  523. package/dist/fhir/ResearchSubject.d.ts +0 -116
  524. package/dist/fhir/ResearchSubject.js +0 -7
  525. package/dist/fhir/ResearchSubject.js.map +0 -1
  526. package/dist/fhir/Resource.d.ts +0 -154
  527. package/dist/fhir/Resource.js +0 -7
  528. package/dist/fhir/Resource.js.map +0 -1
  529. package/dist/fhir/RiskAssessment.d.ts +0 -237
  530. package/dist/fhir/RiskAssessment.js +0 -7
  531. package/dist/fhir/RiskAssessment.js.map +0 -1
  532. package/dist/fhir/RiskEvidenceSynthesis.d.ts +0 -539
  533. package/dist/fhir/RiskEvidenceSynthesis.js +0 -7
  534. package/dist/fhir/RiskEvidenceSynthesis.js.map +0 -1
  535. package/dist/fhir/SampledData.d.ts +0 -61
  536. package/dist/fhir/SampledData.js +0 -7
  537. package/dist/fhir/SampledData.js.map +0 -1
  538. package/dist/fhir/Schedule.d.ts +0 -122
  539. package/dist/fhir/Schedule.js +0 -7
  540. package/dist/fhir/Schedule.js.map +0 -1
  541. package/dist/fhir/SearchParameter.d.ts +0 -278
  542. package/dist/fhir/SearchParameter.js +0 -7
  543. package/dist/fhir/SearchParameter.js.map +0 -1
  544. package/dist/fhir/ServiceRequest.d.ts +0 -288
  545. package/dist/fhir/ServiceRequest.js +0 -7
  546. package/dist/fhir/ServiceRequest.js.map +0 -1
  547. package/dist/fhir/Signature.d.ts +0 -65
  548. package/dist/fhir/Signature.js +0 -7
  549. package/dist/fhir/Signature.js.map +0 -1
  550. package/dist/fhir/Slot.d.ts +0 -133
  551. package/dist/fhir/Slot.js +0 -7
  552. package/dist/fhir/Slot.js.map +0 -1
  553. package/dist/fhir/Specimen.d.ts +0 -357
  554. package/dist/fhir/Specimen.js +0 -7
  555. package/dist/fhir/Specimen.js.map +0 -1
  556. package/dist/fhir/SpecimenDefinition.d.ts +0 -359
  557. package/dist/fhir/SpecimenDefinition.js +0 -7
  558. package/dist/fhir/SpecimenDefinition.js.map +0 -1
  559. package/dist/fhir/StructureDefinition.d.ts +0 -443
  560. package/dist/fhir/StructureDefinition.js +0 -7
  561. package/dist/fhir/StructureDefinition.js.map +0 -1
  562. package/dist/fhir/StructureMap.d.ts +0 -908
  563. package/dist/fhir/StructureMap.js +0 -7
  564. package/dist/fhir/StructureMap.js.map +0 -1
  565. package/dist/fhir/Subscription.d.ts +0 -176
  566. package/dist/fhir/Subscription.js +0 -7
  567. package/dist/fhir/Subscription.js.map +0 -1
  568. package/dist/fhir/Substance.d.ts +0 -212
  569. package/dist/fhir/Substance.js +0 -7
  570. package/dist/fhir/Substance.js.map +0 -1
  571. package/dist/fhir/SubstanceAmount.d.ts +0 -138
  572. package/dist/fhir/SubstanceAmount.js +0 -7
  573. package/dist/fhir/SubstanceAmount.js.map +0 -1
  574. package/dist/fhir/SubstanceNucleicAcid.d.ts +0 -316
  575. package/dist/fhir/SubstanceNucleicAcid.js +0 -7
  576. package/dist/fhir/SubstanceNucleicAcid.js.map +0 -1
  577. package/dist/fhir/SubstancePolymer.d.ts +0 -405
  578. package/dist/fhir/SubstancePolymer.js +0 -7
  579. package/dist/fhir/SubstancePolymer.js.map +0 -1
  580. package/dist/fhir/SubstanceProtein.d.ts +0 -217
  581. package/dist/fhir/SubstanceProtein.js +0 -7
  582. package/dist/fhir/SubstanceProtein.js.map +0 -1
  583. package/dist/fhir/SubstanceReferenceInformation.d.ts +0 -329
  584. package/dist/fhir/SubstanceReferenceInformation.js +0 -7
  585. package/dist/fhir/SubstanceReferenceInformation.js.map +0 -1
  586. package/dist/fhir/SubstanceSourceMaterial.d.ts +0 -594
  587. package/dist/fhir/SubstanceSourceMaterial.js +0 -7
  588. package/dist/fhir/SubstanceSourceMaterial.js.map +0 -1
  589. package/dist/fhir/SubstanceSpecification.d.ts +0 -826
  590. package/dist/fhir/SubstanceSpecification.js +0 -7
  591. package/dist/fhir/SubstanceSpecification.js.map +0 -1
  592. package/dist/fhir/SupplyDelivery.d.ts +0 -195
  593. package/dist/fhir/SupplyDelivery.js +0 -7
  594. package/dist/fhir/SupplyDelivery.js.map +0 -1
  595. package/dist/fhir/SupplyRequest.d.ts +0 -223
  596. package/dist/fhir/SupplyRequest.js +0 -7
  597. package/dist/fhir/SupplyRequest.js.map +0 -1
  598. package/dist/fhir/Task.d.ts +0 -789
  599. package/dist/fhir/Task.js +0 -7
  600. package/dist/fhir/Task.js.map +0 -1
  601. package/dist/fhir/TerminologyCapabilities.d.ts +0 -734
  602. package/dist/fhir/TerminologyCapabilities.js +0 -7
  603. package/dist/fhir/TerminologyCapabilities.js.map +0 -1
  604. package/dist/fhir/TestReport.d.ts +0 -554
  605. package/dist/fhir/TestReport.js +0 -7
  606. package/dist/fhir/TestReport.js.map +0 -1
  607. package/dist/fhir/TestScript.d.ts +0 -1192
  608. package/dist/fhir/TestScript.js +0 -7
  609. package/dist/fhir/TestScript.js.map +0 -1
  610. package/dist/fhir/Timing.d.ts +0 -201
  611. package/dist/fhir/Timing.js +0 -7
  612. package/dist/fhir/Timing.js.map +0 -1
  613. package/dist/fhir/TriggerDefinition.d.ts +0 -63
  614. package/dist/fhir/TriggerDefinition.js +0 -7
  615. package/dist/fhir/TriggerDefinition.js.map +0 -1
  616. package/dist/fhir/UsageContext.d.ts +0 -54
  617. package/dist/fhir/UsageContext.js +0 -7
  618. package/dist/fhir/UsageContext.js.map +0 -1
  619. package/dist/fhir/User.d.ts +0 -44
  620. package/dist/fhir/User.js +0 -7
  621. package/dist/fhir/User.js.map +0 -1
  622. package/dist/fhir/ValueSet.d.ts +0 -736
  623. package/dist/fhir/ValueSet.js +0 -7
  624. package/dist/fhir/ValueSet.js.map +0 -1
  625. package/dist/fhir/VerificationResult.d.ts +0 -340
  626. package/dist/fhir/VerificationResult.js +0 -7
  627. package/dist/fhir/VerificationResult.js.map +0 -1
  628. package/dist/fhir/VisionPrescription.d.ts +0 -261
  629. package/dist/fhir/VisionPrescription.js +0 -7
  630. package/dist/fhir/VisionPrescription.js.map +0 -1
  631. package/dist/fhir/index.d.ts +0 -194
  632. package/dist/fhir/index.js +0 -211
  633. package/dist/fhir/index.js.map +0 -1
  634. package/dist/fhirpath/functions.d.ts +0 -6
  635. package/dist/fhirpath/functions.js +0 -349
  636. package/dist/fhirpath/functions.js.map +0 -1
  637. package/dist/fhirpath/functions.test.d.ts +0 -1
  638. package/dist/fhirpath/functions.test.js +0 -162
  639. package/dist/fhirpath/functions.test.js.map +0 -1
  640. package/dist/fhirpath/index.d.ts +0 -2
  641. package/dist/fhirpath/index.js +0 -15
  642. package/dist/fhirpath/index.js.map +0 -1
  643. package/dist/fhirpath/parse.d.ts +0 -10
  644. package/dist/fhirpath/parse.js +0 -285
  645. package/dist/fhirpath/parse.js.map +0 -1
  646. package/dist/fhirpath/parse.test.d.ts +0 -1
  647. package/dist/fhirpath/parse.test.js +0 -239
  648. package/dist/fhirpath/parse.test.js.map +0 -1
  649. package/dist/fhirpath/tokenize.d.ts +0 -13
  650. package/dist/fhirpath/tokenize.js +0 -43
  651. package/dist/fhirpath/tokenize.js.map +0 -1
  652. package/dist/fhirpath/tokenize.test.d.ts +0 -1
  653. package/dist/fhirpath/tokenize.test.js +0 -69
  654. package/dist/fhirpath/tokenize.test.js.map +0 -1
  655. package/dist/fhirpath/utils.d.ts +0 -13
  656. package/dist/fhirpath/utils.js +0 -34
  657. package/dist/fhirpath/utils.js.map +0 -1
  658. package/dist/fhirpath/utils.test.d.ts +0 -1
  659. package/dist/fhirpath/utils.test.js +0 -22
  660. package/dist/fhirpath/utils.test.js.map +0 -1
  661. package/dist/format.test.d.ts +0 -1
  662. package/dist/format.test.js +0 -127
  663. package/dist/format.test.js.map +0 -1
  664. package/dist/index.test.d.ts +0 -1
  665. package/dist/index.test.js +0 -11
  666. package/dist/index.test.js.map +0 -1
  667. package/dist/outcomes.test.d.ts +0 -1
  668. package/dist/outcomes.test.js +0 -30
  669. package/dist/outcomes.test.js.map +0 -1
  670. package/dist/search.test.d.ts +0 -1
  671. package/dist/search.test.js +0 -70
  672. package/dist/search.test.js.map +0 -1
  673. package/dist/storage.test.d.ts +0 -1
  674. package/dist/storage.test.js +0 -19
  675. package/dist/storage.test.js.map +0 -1
  676. package/dist/tsconfig.tsbuildinfo +0 -1
  677. package/dist/utils.test.d.ts +0 -1
  678. package/dist/utils.test.js +0 -90
  679. package/dist/utils.test.js.map +0 -1
package/dist/utils.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.arrayBufferToBase64 = exports.arrayBufferToHex = exports.stringify = exports.getDateProperty = exports.getImageSrc = exports.getDisplayString = exports.isProfileResource = exports.getReferenceString = exports.createReference = void 0;
3
+ exports.isLowerCase = exports.capitalize = exports.arrayBufferToBase64 = exports.arrayBufferToHex = exports.deepEquals = exports.stringify = exports.getDateProperty = exports.getImageSrc = exports.getDisplayString = exports.isProfileResource = exports.getReferenceString = exports.createReference = void 0;
4
4
  const format_1 = require("./format");
5
5
  /**
6
6
  * Creates a reference resource.
@@ -10,7 +10,7 @@ const format_1 = require("./format");
10
10
  function createReference(resource) {
11
11
  const reference = getReferenceString(resource);
12
12
  const display = getDisplayString(resource);
13
- return (display === reference) ? { reference } : { reference, display };
13
+ return display === reference ? { reference } : { reference, display };
14
14
  }
15
15
  exports.createReference = createReference;
16
16
  /**
@@ -28,9 +28,9 @@ exports.getReferenceString = getReferenceString;
28
28
  * @returns True if the resource is a "ProfileResource".
29
29
  */
30
30
  function isProfileResource(resource) {
31
- return resource.resourceType === 'Patient' ||
31
+ return (resource.resourceType === 'Patient' ||
32
32
  resource.resourceType === 'Practitioner' ||
33
- resource.resourceType === 'RelatedPerson';
33
+ resource.resourceType === 'RelatedPerson');
34
34
  }
35
35
  exports.isProfileResource = isProfileResource;
36
36
  /**
@@ -51,6 +51,11 @@ function getDisplayString(resource) {
51
51
  return deviceName;
52
52
  }
53
53
  }
54
+ if (resource.resourceType === 'User') {
55
+ if (resource.email) {
56
+ return resource.email;
57
+ }
58
+ }
54
59
  const simpleName = resource.name;
55
60
  if (simpleName && typeof simpleName === 'string') {
56
61
  return simpleName;
@@ -109,13 +114,7 @@ exports.getImageSrc = getImageSrc;
109
114
  * @returns A Date object.
110
115
  */
111
116
  function getDateProperty(date) {
112
- if (date instanceof Date) {
113
- return date;
114
- }
115
- if (typeof date === 'string') {
116
- return new Date(date);
117
- }
118
- return undefined;
117
+ return date ? new Date(date) : undefined;
119
118
  }
120
119
  exports.getDateProperty = getDateProperty;
121
120
  /**
@@ -142,7 +141,7 @@ exports.stringify = stringify;
142
141
  * @param {*} v Property value.
143
142
  */
144
143
  function stringifyReplacer(k, v) {
145
- return (k === '__key' || isEmpty(v)) ? undefined : v;
144
+ return k === '__key' || isEmpty(v) ? undefined : v;
146
145
  }
147
146
  /**
148
147
  * Returns true if the value is empty (null, undefined, empty string, or empty object).
@@ -156,6 +155,44 @@ function isEmpty(v) {
156
155
  const t = typeof v;
157
156
  return (t === 'string' && v === '') || (t === 'object' && Object.keys(v).length === 0);
158
157
  }
158
+ /**
159
+ * Resource equality.
160
+ * Ignores meta.versionId and meta.lastUpdated.
161
+ * See: https://dmitripavlutin.com/how-to-compare-objects-in-javascript/#4-deep-equality
162
+ * @param object1 The first object.
163
+ * @param object2 The second object.
164
+ * @returns True if the objects are equal.
165
+ */
166
+ function deepEquals(object1, object2, path) {
167
+ let keys1 = Object.keys(object1);
168
+ let keys2 = Object.keys(object2);
169
+ if (path === 'meta') {
170
+ keys1 = keys1.filter((k) => k !== 'versionId' && k !== 'lastUpdated' && k !== 'author');
171
+ keys2 = keys2.filter((k) => k !== 'versionId' && k !== 'lastUpdated' && k !== 'author');
172
+ }
173
+ if (keys1.length !== keys2.length) {
174
+ return false;
175
+ }
176
+ for (const key of keys1) {
177
+ const val1 = object1[key];
178
+ const val2 = object2[key];
179
+ if (isObject(val1) && isObject(val2)) {
180
+ if (!deepEquals(val1, val2, key)) {
181
+ return false;
182
+ }
183
+ }
184
+ else {
185
+ if (val1 !== val2) {
186
+ return false;
187
+ }
188
+ }
189
+ }
190
+ return true;
191
+ }
192
+ exports.deepEquals = deepEquals;
193
+ function isObject(object) {
194
+ return object !== null && typeof object === 'object';
195
+ }
159
196
  // Precompute hex octets
160
197
  // See: https://stackoverflow.com/a/55200387
161
198
  const byteToHex = [];
@@ -191,4 +228,12 @@ function arrayBufferToBase64(arrayBuffer) {
191
228
  return window.btoa(result.join(''));
192
229
  }
193
230
  exports.arrayBufferToBase64 = arrayBufferToBase64;
231
+ function capitalize(word) {
232
+ return word.charAt(0).toUpperCase() + word.substr(1);
233
+ }
234
+ exports.capitalize = capitalize;
235
+ function isLowerCase(c) {
236
+ return c === c.toLowerCase();
237
+ }
238
+ exports.isLowerCase = isLowerCase;
194
239
  //# sourceMappingURL=utils.js.map
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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","sourcesContent":["import { Device, Patient, Practitioner, Reference, RelatedPerson, Resource } from '@medplum/fhirtypes';\nimport { formatHumanName } from './format';\n\nexport type ProfileResource = Patient | Practitioner | RelatedPerson;\n\n/**\n * Creates a reference resource.\n * @param resource The FHIR reesource.\n * @returns A reference resource.\n */\nexport function createReference<T extends Resource>(resource: T): Reference<T> {\n const reference = getReferenceString(resource);\n const display = getDisplayString(resource);\n return display === reference ? { reference } : { reference, display };\n}\n\n/**\n * Returns a reference string for a resource.\n * @param resource The FHIR resource.\n * @returns A reference string of the form resourceType/id.\n */\nexport function getReferenceString(resource: Resource): string {\n return resource.resourceType + '/' + resource.id;\n}\n\n/**\n * Returns true if the resource is a \"ProfileResource\".\n * @param resource The FHIR resource.\n * @returns True if the resource is a \"ProfileResource\".\n */\nexport function isProfileResource(resource: Resource): boolean {\n return (\n resource.resourceType === 'Patient' ||\n resource.resourceType === 'Practitioner' ||\n resource.resourceType === 'RelatedPerson'\n );\n}\n\n/**\n * Returns a display string for the resource.\n * @param resource The input resource.\n * @return Human friendly display string.\n */\nexport function getDisplayString(resource: Resource): string {\n if (isProfileResource(resource)) {\n const profileName = getProfileResourceDisplayString(resource as ProfileResource);\n if (profileName) {\n return profileName;\n }\n }\n if (resource.resourceType === 'Device') {\n const deviceName = getDeviceDisplayString(resource);\n if (deviceName) {\n return deviceName;\n }\n }\n if (resource.resourceType === 'User') {\n if (resource.email) {\n return resource.email;\n }\n }\n const simpleName = (resource as any).name;\n if (simpleName && typeof simpleName === 'string') {\n return simpleName;\n }\n return getReferenceString(resource);\n}\n\n/**\n * Returns a display string for a profile resource if one is found.\n * @param resource The profile resource.\n * @returns The display name if one is found.\n */\nfunction getProfileResourceDisplayString(resource: ProfileResource): string | undefined {\n const names = resource.name;\n if (names && names.length > 0) {\n return formatHumanName(names[0]);\n }\n return undefined;\n}\n\n/**\n * Returns a display string for a device resource if one is found.\n * @param device The device resource.\n * @returns The display name if one is found.\n */\nfunction getDeviceDisplayString(device: Device): string | undefined {\n const names = device.deviceName;\n if (names && names.length > 0) {\n return names[0].name;\n }\n return undefined;\n}\n\n/**\n * Returns an image URL for the resource, if one is available.\n * @param resource The input resource.\n * @returns The image URL for the resource or undefined.\n */\nexport function getImageSrc(resource: Resource): string | undefined {\n if (isProfileResource(resource)) {\n const photos = (resource as ProfileResource).photo;\n if (photos) {\n for (const photo of photos) {\n if (photo.url && photo.contentType && photo.contentType.startsWith('image/')) {\n return photo.url;\n }\n }\n }\n }\n return undefined;\n}\n\n/**\n * Returns a Date property as a Date.\n * When working with JSON objects, Dates are often serialized as ISO-8601 strings.\n * When that happens, we need to safely convert to a proper Date object.\n * @param date The date property value, which could be a string or a Date object.\n * @returns A Date object.\n */\nexport function getDateProperty(date: string | undefined): Date | undefined {\n return date ? new Date(date) : undefined;\n}\n\n/**\n * FHIR JSON stringify.\n * Removes properties with empty string values.\n * Removes objects with zero properties.\n * See: https://www.hl7.org/fhir/json.html\n * @param value The input value.\n * @param pretty Optional flag to pretty-print the JSON.\n * @returns The resulting JSON string.\n */\nexport function stringify(value: any, pretty?: boolean): string {\n return JSON.stringify(value, stringifyReplacer, pretty ? 2 : undefined);\n}\n\n/**\n * Evaluates JSON key/value pairs for FHIR JSON stringify.\n * Removes properties with empty string values.\n * Removes objects with zero properties.\n * Replaces any key/value pair of key \"__key\" with value undefined.\n * This function can be used as the 2nd argument to stringify to remove __key properties.\n * We add __key properties to array elements to improve React render performance.\n * @param {string} k Property key.\n * @param {*} v Property value.\n */\nfunction stringifyReplacer(k: string, v: any): any {\n return k === '__key' || isEmpty(v) ? undefined : v;\n}\n\n/**\n * Returns true if the value is empty (null, undefined, empty string, or empty object).\n * @param v Any value.\n * @returns True if the value is an empty string or an empty object.\n */\nfunction isEmpty(v: any): boolean {\n if (v === null || v === undefined) {\n return true;\n }\n const t = typeof v;\n return (t === 'string' && v === '') || (t === 'object' && Object.keys(v).length === 0);\n}\n\n/**\n * Resource equality.\n * Ignores meta.versionId and meta.lastUpdated.\n * See: https://dmitripavlutin.com/how-to-compare-objects-in-javascript/#4-deep-equality\n * @param object1 The first object.\n * @param object2 The second object.\n * @returns True if the objects are equal.\n */\nexport function deepEquals(object1: any, object2: any, path?: string): boolean {\n let keys1 = Object.keys(object1);\n let keys2 = Object.keys(object2);\n if (path === 'meta') {\n keys1 = keys1.filter((k) => k !== 'versionId' && k !== 'lastUpdated' && k !== 'author');\n keys2 = keys2.filter((k) => k !== 'versionId' && k !== 'lastUpdated' && k !== 'author');\n }\n if (keys1.length !== keys2.length) {\n return false;\n }\n for (const key of keys1) {\n const val1 = object1[key];\n const val2 = object2[key];\n if (isObject(val1) && isObject(val2)) {\n if (!deepEquals(val1, val2, key)) {\n return false;\n }\n } else {\n if (val1 !== val2) {\n return false;\n }\n }\n }\n return true;\n}\n\nfunction isObject(object: any): boolean {\n return object !== null && typeof object === 'object';\n}\n\n// Precompute hex octets\n// See: https://stackoverflow.com/a/55200387\nconst byteToHex: string[] = [];\nfor (let n = 0; n < 256; n++) {\n byteToHex.push(n.toString(16).padStart(2, '0'));\n}\n\n/**\n * Converts an ArrayBuffer to hex string.\n * See: https://stackoverflow.com/a/55200387\n * @param arrayBuffer The input array buffer.\n * @returns The resulting hex string.\n */\nexport function arrayBufferToHex(arrayBuffer: ArrayBuffer): string {\n const bytes = new Uint8Array(arrayBuffer);\n const result: string[] = new Array(bytes.length);\n for (let i = 0; i < bytes.length; i++) {\n result[i] = byteToHex[bytes[i]];\n }\n return result.join('');\n}\n\n/**\n * Converts an ArrayBuffer to a base-64 encoded string.\n * @param arrayBuffer The input array buffer.\n * @returns The base-64 encoded string.\n */\nexport function arrayBufferToBase64(arrayBuffer: ArrayBuffer): string {\n const bytes = new Uint8Array(arrayBuffer);\n const result: string[] = [];\n for (let i = 0; i < bytes.length; i++) {\n result[i] = String.fromCharCode(bytes[i]);\n }\n return window.btoa(result.join(''));\n}\n\nexport function capitalize(word: string): string {\n return word.charAt(0).toUpperCase() + word.substr(1);\n}\n\nexport function isLowerCase(c: string): boolean {\n return c === c.toLowerCase();\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@medplum/core",
3
- "version": "0.1.6",
3
+ "version": "0.3.0",
4
4
  "description": "Medplum TS/JS Library",
5
5
  "author": "Medplum <hello@medplum.com>",
6
6
  "license": "Apache-2.0",
@@ -13,24 +13,11 @@
13
13
  "scripts": {
14
14
  "clean": "rimraf dist",
15
15
  "build": "npm run clean && tsc",
16
- "test": "jest",
17
- "lint": "eslint src/ --ext .ts,.tsx"
16
+ "test": "jest"
18
17
  },
19
18
  "devDependencies": {
20
- "@medplum/definitions": "0.1.6",
21
- "@types/jest": "27.0.1",
22
- "@types/node": "16.7.3",
23
- "@typescript-eslint/eslint-plugin": "4.29.3",
24
- "@typescript-eslint/parser": "4.29.3",
25
- "eslint": "7.32.0",
26
- "jest": "27.1.0",
27
- "rimraf": "3.0.2",
28
- "ts-jest": "27.0.5",
29
- "typescript": "4.4.2"
19
+ "@medplum/fhirtypes": "0.3.0"
30
20
  },
31
- "files": [
32
- "dist"
33
- ],
34
21
  "main": "dist/index.js",
35
22
  "types": "dist/index.d.ts",
36
23
  "sideEffects": false,
@@ -1 +0,0 @@
1
- export {};
@@ -1,29 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const cache_1 = require("./cache");
4
- describe('Cache', () => {
5
- test('LRU', () => {
6
- const cache = new cache_1.LRUCache(3); // Create cache with capacity of 3
7
- cache.set('a', 'a');
8
- cache.set('b', 'b');
9
- cache.set('c', 'c');
10
- cache.set('d', 'd');
11
- expect(cache.get('a')).toBeUndefined();
12
- expect(cache.get('b')).toEqual('b');
13
- expect(cache.get('c')).toEqual('c');
14
- expect(cache.get('d')).toEqual('d');
15
- });
16
- test('Reordering', () => {
17
- const cache = new cache_1.LRUCache(3); // Create cache with capacity of 3
18
- cache.set('a', 'a');
19
- cache.set('b', 'b');
20
- cache.set('c', 'c');
21
- cache.get('a');
22
- cache.set('d', 'd');
23
- expect(cache.get('a')).toEqual('a');
24
- expect(cache.get('b')).toBeUndefined();
25
- expect(cache.get('c')).toEqual('c');
26
- expect(cache.get('d')).toEqual('d');
27
- });
28
- });
29
- //# sourceMappingURL=cache.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cache.test.js","sourceRoot":"","sources":["../src/cache.test.ts"],"names":[],"mappings":";;AAAA,mCAAmC;AAEnC,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;IAErB,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE;QACf,MAAM,KAAK,GAAG,IAAI,gBAAQ,CAAS,CAAC,CAAC,CAAC,CAAC,kCAAkC;QACzE,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACpB,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACpB,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACpB,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;QACvC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE;QACtB,MAAM,KAAK,GAAG,IAAI,gBAAQ,CAAS,CAAC,CAAC,CAAC,CAAC,kCAAkC;QACzE,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACpB,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACpB,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACpB,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACf,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;QACvC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,294 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const crypto_1 = require("crypto");
4
- const util_1 = require("util");
5
- const client_1 = require("./client");
6
- const utils_1 = require("./utils");
7
- const defaultOptions = {
8
- clientId: 'xyz',
9
- baseUrl: 'https://x/',
10
- fetch: mockFetch
11
- };
12
- const patientStructureDefinition = {
13
- resourceType: 'StructureDefinition',
14
- name: 'Patient',
15
- snapshot: {
16
- element: [
17
- {
18
- path: 'Patient.id',
19
- type: [{
20
- code: 'code'
21
- }]
22
- }
23
- ]
24
- }
25
- };
26
- const patientStructureDefinitionBundle = {
27
- resourceType: 'Bundle',
28
- entry: [{ resource: patientStructureDefinition }]
29
- };
30
- const patientSearchParameter = {
31
- resourceType: 'SearchParameter',
32
- id: 'Patient-name',
33
- code: 'name',
34
- name: 'name',
35
- expression: 'Patient.name'
36
- };
37
- const patientSearchParameterBundle = {
38
- resourceType: 'Bundle',
39
- entry: [{ resource: patientSearchParameter }]
40
- };
41
- let canRefresh = true;
42
- let tokenExpired = false;
43
- function mockFetch(url, options) {
44
- const { method } = options;
45
- let result;
46
- if (method === 'POST' && url.endsWith('auth/login')) {
47
- result = {
48
- profile: { resourceType: 'Practitioner', id: '123' },
49
- accessToken: '123',
50
- refreshToken: '456'
51
- };
52
- }
53
- else if (method === 'GET' && url.endsWith('Patient/123')) {
54
- result = {
55
- resourceType: 'Patient',
56
- id: '123'
57
- };
58
- }
59
- else if (method === 'POST' && url.endsWith('oauth2/token')) {
60
- if (canRefresh) {
61
- result = {
62
- access_token: 'header.' + window.btoa((0, utils_1.stringify)({ client_id: defaultOptions.clientId })) + '.signature',
63
- refresh_token: 'header.' + window.btoa((0, utils_1.stringify)({ client_id: defaultOptions.clientId })) + '.signature'
64
- };
65
- }
66
- else {
67
- result = {
68
- status: 400
69
- };
70
- }
71
- }
72
- else if (method === 'GET' && url.includes('expired')) {
73
- if (tokenExpired) {
74
- result = {
75
- status: 401
76
- };
77
- tokenExpired = false;
78
- }
79
- else {
80
- result = {
81
- ok: true
82
- };
83
- }
84
- }
85
- else if (method === 'GET' && url.includes('/fhir/R4/StructureDefinition?name:exact=Patient')) {
86
- result = patientStructureDefinitionBundle;
87
- }
88
- else if (method === 'GET' && url.includes('/fhir/R4/SearchParameter?_count=100&base=Patient')) {
89
- result = patientSearchParameterBundle;
90
- }
91
- const response = {
92
- request: {
93
- url,
94
- options
95
- },
96
- ...result
97
- };
98
- return Promise.resolve({
99
- ok: response.status === undefined,
100
- status: response.status,
101
- blob: () => Promise.resolve(response),
102
- json: () => Promise.resolve(response)
103
- });
104
- }
105
- test('Client constructor', () => {
106
- expect(() => new client_1.MedplumClient({
107
- clientId: '',
108
- baseUrl: 'https://example.com/',
109
- })).toThrow('Client ID cannot be empty');
110
- expect(() => new client_1.MedplumClient({
111
- clientId: 'xyz',
112
- baseUrl: 'x',
113
- })).toThrow('Base URL must start with http or https');
114
- expect(() => new client_1.MedplumClient({
115
- clientId: 'xyz',
116
- baseUrl: 'https://x',
117
- })).toThrow('Base URL must end with a trailing slash');
118
- expect(() => new client_1.MedplumClient({
119
- clientId: 'xyz',
120
- baseUrl: 'https://x/',
121
- })).toThrow('Cannot read property \'bind\' of undefined');
122
- expect(() => new client_1.MedplumClient({
123
- clientId: 'xyz',
124
- baseUrl: 'https://x/',
125
- fetch: mockFetch
126
- })).not.toThrow();
127
- });
128
- test('Client clear', () => {
129
- const client = new client_1.MedplumClient(defaultOptions);
130
- expect(() => client.clear()).not.toThrow();
131
- });
132
- test('Client signOut', () => {
133
- const client = new client_1.MedplumClient(defaultOptions);
134
- expect(() => client.signOut()).not.toThrow();
135
- });
136
- test('Client signIn', async () => {
137
- const client = new client_1.MedplumClient(defaultOptions);
138
- const result = await client.signIn('admin@medplum.com', 'admin', 'practitioner', 'openid');
139
- expect(result).not.toBeUndefined();
140
- expect(result.resourceType).toBe('Practitioner');
141
- });
142
- test('Client signInWithRedirect', async () => {
143
- // Mock window.crypto
144
- Object.defineProperty(global.self, 'crypto', {
145
- value: {
146
- getRandomValues: (arr) => (0, crypto_1.randomBytes)(arr.length),
147
- subtle: {
148
- digest: () => 'test'
149
- }
150
- }
151
- });
152
- // Mock TextEncoder
153
- global.TextEncoder = util_1.TextEncoder;
154
- // Mock window.location.assign
155
- global.window = Object.create(window);
156
- Object.defineProperty(window, 'location', {
157
- value: {
158
- assign: jest.fn()
159
- },
160
- writable: true,
161
- });
162
- const client = new client_1.MedplumClient(defaultOptions);
163
- // First, test the initial reidrect
164
- const result1 = client.signInWithRedirect();
165
- expect(result1).toBeUndefined();
166
- // Mock response code
167
- Object.defineProperty(window, 'location', {
168
- value: {
169
- assign: jest.fn(),
170
- search: new URLSearchParams({ code: 'test-code' })
171
- },
172
- writable: true,
173
- });
174
- // Next, test processing the response code
175
- const result2 = client.signInWithRedirect();
176
- expect(result2).not.toBeUndefined();
177
- });
178
- test('Client signOutWithRedirect', async () => {
179
- // Mock window.location.assign
180
- global.window = Object.create(window);
181
- Object.defineProperty(window, 'location', {
182
- value: {
183
- assign: jest.fn()
184
- },
185
- writable: true,
186
- });
187
- const client = new client_1.MedplumClient(defaultOptions);
188
- client.signOutWithRedirect();
189
- expect(window.location.assign).toBeCalled();
190
- });
191
- test('Client read expired and refresh', async () => {
192
- tokenExpired = true;
193
- const client = new client_1.MedplumClient(defaultOptions);
194
- const result = await client.get('expired');
195
- expect(result).not.toBeUndefined();
196
- });
197
- test('Client read expired and refresh with unAuthenticated callback', async () => {
198
- tokenExpired = true;
199
- canRefresh = false;
200
- const onUnauthenticated = jest.fn();
201
- const client = new client_1.MedplumClient({ ...defaultOptions, onUnauthenticated });
202
- const result = client.get('expired');
203
- await expect(result).rejects.toEqual('Failed to fetch tokens');
204
- expect(onUnauthenticated).toBeCalled();
205
- });
206
- test('Client read resource', async () => {
207
- const client = new client_1.MedplumClient(defaultOptions);
208
- const result = await client.read('Patient', '123');
209
- expect(result).not.toBeUndefined();
210
- expect(result.request.url).toBe('https://x/fhir/R4/Patient/123');
211
- expect(result.resourceType).toBe('Patient');
212
- expect(result.id).toBe('123');
213
- });
214
- test('Client read reference', async () => {
215
- const client = new client_1.MedplumClient(defaultOptions);
216
- const result = await client.readReference({ reference: 'Patient/123' });
217
- expect(result).not.toBeUndefined();
218
- expect(result.request.url).toBe('https://x/fhir/R4/Patient/123');
219
- expect(result.resourceType).toBe('Patient');
220
- expect(result.id).toBe('123');
221
- });
222
- test('Client read empty reference', async () => {
223
- const client = new client_1.MedplumClient(defaultOptions);
224
- const result = client.readReference({});
225
- expect(result).rejects.toEqual('Missing reference');
226
- });
227
- test('Client read cached resource', async () => {
228
- const client = new client_1.MedplumClient(defaultOptions);
229
- const result = await client.readCached('Patient', '123');
230
- expect(result).not.toBeUndefined();
231
- expect(result.request.url).toBe('https://x/fhir/R4/Patient/123');
232
- expect(result.resourceType).toBe('Patient');
233
- expect(result.id).toBe('123');
234
- });
235
- test('Client read cached reference', async () => {
236
- const client = new client_1.MedplumClient(defaultOptions);
237
- const result = await client.readCachedReference({ reference: 'Patient/123' });
238
- expect(result).not.toBeUndefined();
239
- expect(result.request.url).toBe('https://x/fhir/R4/Patient/123');
240
- expect(result.resourceType).toBe('Patient');
241
- expect(result.id).toBe('123');
242
- });
243
- test('Client read cached empty reference', async () => {
244
- const client = new client_1.MedplumClient(defaultOptions);
245
- const result = client.readCachedReference({});
246
- expect(result).rejects.toEqual('Missing reference');
247
- });
248
- test('Client read history', async () => {
249
- const client = new client_1.MedplumClient(defaultOptions);
250
- const result = await client.readHistory('Patient', '123');
251
- expect(result).not.toBeUndefined();
252
- expect(result.request.url).toBe('https://x/fhir/R4/Patient/123/_history');
253
- });
254
- test('Client read patient everything', async () => {
255
- const client = new client_1.MedplumClient(defaultOptions);
256
- const result = await client.readPatientEverything('123');
257
- expect(result).not.toBeUndefined();
258
- expect(result.request.url).toBe('https://x/fhir/R4/Patient/123/%24everything');
259
- });
260
- test('Client create resource', async () => {
261
- const client = new client_1.MedplumClient(defaultOptions);
262
- const result = await client.create({ resourceType: 'Patient' });
263
- expect(result).not.toBeUndefined();
264
- expect(result.request.options.method).toBe('POST');
265
- expect(result.request.url).toBe('https://x/fhir/R4/Patient');
266
- });
267
- test('Client update resource', async () => {
268
- const client = new client_1.MedplumClient(defaultOptions);
269
- const result = await client.update({ resourceType: 'Patient', id: '123' });
270
- expect(result).not.toBeUndefined();
271
- expect(result.request.options.method).toBe('PUT');
272
- expect(result.request.url).toBe('https://x/fhir/R4/Patient/123');
273
- });
274
- test('Client read binary', async () => {
275
- const client = new client_1.MedplumClient(defaultOptions);
276
- const result = await client.readBinary('123');
277
- expect(result).not.toBeUndefined();
278
- expect(result.request.url).toBe('https://x/fhir/R4/Binary/123');
279
- });
280
- test('Client create binary', async () => {
281
- const client = new client_1.MedplumClient(defaultOptions);
282
- const result = await client.createBinary('Hello world', 'text/plain');
283
- expect(result).not.toBeUndefined();
284
- expect(result.request.options.method).toBe('POST');
285
- expect(result.request.url).toBe('https://x/fhir/R4/Binary');
286
- });
287
- test('Client get schema', async () => {
288
- const client = new client_1.MedplumClient(defaultOptions);
289
- const schema = await client.getTypeDefinition('Patient');
290
- expect(schema).not.toBeUndefined();
291
- expect(schema.types['Patient']).not.toBeUndefined();
292
- expect(schema.types['Patient'].searchParams).not.toBeUndefined();
293
- });
294
- //# sourceMappingURL=client.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.test.js","sourceRoot":"","sources":["../src/client.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,44 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const eventtarget_1 = require("./eventtarget");
4
- describe('EventTarget', () => {
5
- test('No listeners', () => {
6
- const target = new eventtarget_1.EventTarget();
7
- expect(() => target.dispatchEvent({ type: 'test' })).not.toThrow();
8
- });
9
- test('Add event listener', () => {
10
- const myCallback = jest.fn();
11
- const target = new eventtarget_1.EventTarget();
12
- target.addEventListener('test', myCallback);
13
- target.dispatchEvent({ type: 'test' });
14
- expect(myCallback).toBeCalled();
15
- });
16
- test('Add multiple event listeners', () => {
17
- const myCallback1 = jest.fn();
18
- const myCallback2 = jest.fn();
19
- const target = new eventtarget_1.EventTarget();
20
- target.addEventListener('test', myCallback1);
21
- target.addEventListener('test', myCallback2);
22
- target.dispatchEvent({ type: 'test' });
23
- expect(myCallback1).toBeCalled();
24
- expect(myCallback2).toBeCalled();
25
- });
26
- test('Remove event listener', () => {
27
- const myCallback = jest.fn();
28
- const target = new eventtarget_1.EventTarget();
29
- target.addEventListener('test', myCallback);
30
- target.removeEventListeneer('test', myCallback);
31
- target.dispatchEvent({ type: 'test' });
32
- expect(myCallback).not.toBeCalled();
33
- });
34
- test('Remove event listener not found', () => {
35
- const myCallback = jest.fn();
36
- const target = new eventtarget_1.EventTarget();
37
- target.removeEventListeneer('test', jest.fn());
38
- target.addEventListener('test', myCallback);
39
- target.removeEventListeneer('test', jest.fn());
40
- expect(() => target.dispatchEvent({ type: 'test' })).not.toThrow();
41
- expect(myCallback).toBeCalled();
42
- });
43
- });
44
- //# sourceMappingURL=eventtarget.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"eventtarget.test.js","sourceRoot":"","sources":["../src/eventtarget.test.ts"],"names":[],"mappings":";;AAAA,+CAA4C;AAE5C,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAE3B,IAAI,CAAC,cAAc,EAAE,GAAG,EAAE;QACxB,MAAM,MAAM,GAAG,IAAI,yBAAW,EAAE,CAAC;QACjC,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,IAAI,yBAAW,EAAE,CAAC;QACjC,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC5C,MAAM,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACvC,MAAM,CAAC,UAAU,CAAC,CAAC,UAAU,EAAE,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACxC,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAC9B,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,IAAI,yBAAW,EAAE,CAAC;QACjC,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAC7C,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAC7C,MAAM,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACvC,MAAM,CAAC,WAAW,CAAC,CAAC,UAAU,EAAE,CAAC;QACjC,MAAM,CAAC,WAAW,CAAC,CAAC,UAAU,EAAE,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,uBAAuB,EAAE,GAAG,EAAE;QACjC,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,IAAI,yBAAW,EAAE,CAAC;QACjC,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC5C,MAAM,CAAC,oBAAoB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAChD,MAAM,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACvC,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,iCAAiC,EAAE,GAAG,EAAE;QAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,IAAI,yBAAW,EAAE,CAAC;QACjC,MAAM,CAAC,oBAAoB,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/C,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC5C,MAAM,CAAC,oBAAoB,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/C,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACnE,MAAM,CAAC,UAAU,CAAC,CAAC,UAAU,EAAE,CAAC;IAClC,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"}