candidhealth 0.24.0-2a6d412 → 0.24.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (235) hide show
  1. package/Client.d.ts +3 -0
  2. package/README.md +134 -6
  3. package/api/resources/auth/client/Client.d.ts +3 -0
  4. package/api/resources/auth/resources/v2/client/Client.d.ts +4 -1
  5. package/api/resources/auth/resources/v2/client/Client.js +6 -7
  6. package/api/resources/billingNotes/client/Client.d.ts +3 -0
  7. package/api/resources/billingNotes/resources/v2/client/Client.d.ts +4 -1
  8. package/api/resources/billingNotes/resources/v2/client/Client.js +5 -4
  9. package/api/resources/contracts/client/Client.d.ts +3 -0
  10. package/api/resources/contracts/resources/v2/client/Client.d.ts +8 -5
  11. package/api/resources/contracts/resources/v2/client/Client.js +27 -26
  12. package/api/resources/eligibility/client/Client.d.ts +3 -0
  13. package/api/resources/eligibility/resources/v2/client/Client.d.ts +6 -3
  14. package/api/resources/eligibility/resources/v2/client/Client.js +12 -9
  15. package/api/resources/encounters/client/Client.d.ts +3 -0
  16. package/api/resources/encounters/resources/v4/client/Client.d.ts +7 -19
  17. package/api/resources/encounters/resources/v4/client/Client.js +22 -37
  18. package/api/resources/encounters/resources/v4/client/requests/EncounterCreate.d.ts +0 -21
  19. package/api/resources/encounters/resources/v4/types/Encounter.d.ts +0 -1
  20. package/api/resources/expectedNetworkStatus/client/Client.d.ts +3 -0
  21. package/api/resources/expectedNetworkStatus/resources/v1/client/Client.d.ts +4 -1
  22. package/api/resources/expectedNetworkStatus/resources/v1/client/Client.js +5 -4
  23. package/api/resources/expectedNetworkStatus/resources/v2/client/Client.d.ts +5 -2
  24. package/api/resources/expectedNetworkStatus/resources/v2/client/Client.js +13 -11
  25. package/api/resources/exports/client/Client.d.ts +3 -0
  26. package/api/resources/exports/resources/v3/client/Client.d.ts +4 -1
  27. package/api/resources/exports/resources/v3/client/Client.js +5 -4
  28. package/api/resources/externalPaymentAccountConfig/client/Client.d.ts +3 -0
  29. package/api/resources/externalPaymentAccountConfig/resources/v1/client/Client.d.ts +4 -1
  30. package/api/resources/externalPaymentAccountConfig/resources/v1/client/Client.js +4 -3
  31. package/api/resources/feeSchedules/client/Client.d.ts +3 -0
  32. package/api/resources/feeSchedules/resources/v3/client/Client.d.ts +13 -10
  33. package/api/resources/feeSchedules/resources/v3/client/Client.js +52 -44
  34. package/api/resources/guarantor/client/Client.d.ts +3 -0
  35. package/api/resources/guarantor/resources/v1/client/Client.d.ts +6 -3
  36. package/api/resources/guarantor/resources/v1/client/Client.js +18 -19
  37. package/api/resources/importInvoice/client/Client.d.ts +3 -0
  38. package/api/resources/importInvoice/resources/v1/client/Client.d.ts +7 -4
  39. package/api/resources/importInvoice/resources/v1/client/Client.js +22 -18
  40. package/api/resources/insuranceAdjudications/client/Client.d.ts +3 -0
  41. package/api/resources/insuranceAdjudications/resources/v1/client/Client.d.ts +6 -3
  42. package/api/resources/insuranceAdjudications/resources/v1/client/Client.js +15 -12
  43. package/api/resources/insurancePayments/client/Client.d.ts +3 -0
  44. package/api/resources/insurancePayments/resources/v1/client/Client.d.ts +8 -5
  45. package/api/resources/insurancePayments/resources/v1/client/Client.js +29 -24
  46. package/api/resources/insuranceRefunds/client/Client.d.ts +3 -0
  47. package/api/resources/insuranceRefunds/resources/v1/client/Client.d.ts +8 -5
  48. package/api/resources/insuranceRefunds/resources/v1/client/Client.js +29 -24
  49. package/api/resources/organizationProviders/client/Client.d.ts +3 -0
  50. package/api/resources/organizationProviders/resources/v3/client/Client.d.ts +7 -4
  51. package/api/resources/organizationProviders/resources/v3/client/Client.js +23 -19
  52. package/api/resources/organizationServiceFacilities/client/Client.d.ts +3 -0
  53. package/api/resources/organizationServiceFacilities/resources/v2/client/Client.d.ts +8 -5
  54. package/api/resources/organizationServiceFacilities/resources/v2/client/Client.js +32 -23
  55. package/api/resources/patientPayments/client/Client.d.ts +3 -0
  56. package/api/resources/patientPayments/resources/v4/client/Client.d.ts +8 -5
  57. package/api/resources/patientPayments/resources/v4/client/Client.js +29 -24
  58. package/api/resources/patientRefunds/client/Client.d.ts +3 -0
  59. package/api/resources/patientRefunds/resources/v1/client/Client.d.ts +8 -5
  60. package/api/resources/patientRefunds/resources/v1/client/Client.js +29 -24
  61. package/api/resources/payers/client/Client.d.ts +3 -0
  62. package/api/resources/payers/resources/v3/client/Client.d.ts +5 -2
  63. package/api/resources/payers/resources/v3/client/Client.js +9 -7
  64. package/api/resources/preEncounter/client/Client.d.ts +3 -0
  65. package/api/resources/preEncounter/resources/coverages/client/Client.d.ts +3 -0
  66. package/api/resources/preEncounter/resources/coverages/resources/v1/client/Client.d.ts +3 -0
  67. package/api/resources/preEncounter/resources/coverages/resources/v1/resources/coverages/client/Client.d.ts +9 -6
  68. package/api/resources/preEncounter/resources/coverages/resources/v1/resources/coverages/client/Client.js +31 -25
  69. package/api/resources/preEncounter/resources/patients/client/Client.d.ts +3 -0
  70. package/api/resources/preEncounter/resources/patients/resources/v1/client/Client.d.ts +3 -0
  71. package/api/resources/preEncounter/resources/patients/resources/v1/resources/patients/client/Client.d.ts +10 -7
  72. package/api/resources/preEncounter/resources/patients/resources/v1/resources/patients/client/Client.js +38 -31
  73. package/api/resources/serviceFacility/client/Client.d.ts +4 -1
  74. package/api/resources/serviceFacility/client/Client.js +6 -7
  75. package/api/resources/tasks/client/Client.d.ts +3 -0
  76. package/api/resources/tasks/resources/v3/client/Client.d.ts +8 -5
  77. package/api/resources/tasks/resources/v3/client/Client.js +28 -23
  78. package/api/resources/writeOffs/client/Client.d.ts +3 -0
  79. package/api/resources/writeOffs/resources/v1/client/Client.d.ts +7 -4
  80. package/api/resources/writeOffs/resources/v1/client/Client.js +19 -15
  81. package/core/fetcher/Fetcher.d.ts +3 -0
  82. package/core/fetcher/Fetcher.js +22 -153
  83. package/core/fetcher/createRequestUrl.d.ts +1 -0
  84. package/core/fetcher/createRequestUrl.js +13 -0
  85. package/core/fetcher/getFetchFn.d.ts +4 -0
  86. package/core/fetcher/getFetchFn.js +59 -0
  87. package/core/fetcher/getRequestBody.d.ts +7 -0
  88. package/core/fetcher/getRequestBody.js +23 -0
  89. package/core/fetcher/getResponseBody.d.ts +1 -0
  90. package/core/fetcher/getResponseBody.js +48 -0
  91. package/core/fetcher/makeRequest.d.ts +1 -0
  92. package/core/fetcher/makeRequest.js +42 -0
  93. package/core/fetcher/requestWithRetries.d.ts +1 -0
  94. package/core/fetcher/requestWithRetries.js +32 -0
  95. package/core/fetcher/signals.d.ts +12 -0
  96. package/core/fetcher/signals.js +37 -0
  97. package/core/runtime/runtime.d.ts +2 -1
  98. package/core/runtime/runtime.js +12 -1
  99. package/core/schemas/Schema.d.ts +7 -4
  100. package/core/schemas/builders/lazy/lazy.d.ts +2 -2
  101. package/core/schemas/builders/lazy/lazy.js +8 -19
  102. package/core/schemas/builders/lazy/lazyObject.js +1 -10
  103. package/core/schemas/builders/list/list.js +31 -44
  104. package/core/schemas/builders/object/object.js +90 -111
  105. package/core/schemas/builders/object/types.d.ts +2 -2
  106. package/core/schemas/builders/object-like/getObjectLikeUtils.js +3 -12
  107. package/core/schemas/builders/record/record.js +49 -60
  108. package/core/schemas/builders/schema-utils/getSchemaUtils.d.ts +2 -2
  109. package/core/schemas/builders/schema-utils/getSchemaUtils.js +18 -21
  110. package/core/schemas/builders/set/set.js +6 -15
  111. package/core/schemas/builders/undiscriminated-union/undiscriminatedUnion.js +21 -32
  112. package/core/schemas/builders/union/union.js +51 -62
  113. package/core/schemas/utils/maybeSkipValidation.js +3 -12
  114. package/dist/Client.d.ts +3 -0
  115. package/dist/api/resources/auth/client/Client.d.ts +3 -0
  116. package/dist/api/resources/auth/resources/v2/client/Client.d.ts +4 -1
  117. package/dist/api/resources/auth/resources/v2/client/Client.js +6 -7
  118. package/dist/api/resources/billingNotes/client/Client.d.ts +3 -0
  119. package/dist/api/resources/billingNotes/resources/v2/client/Client.d.ts +4 -1
  120. package/dist/api/resources/billingNotes/resources/v2/client/Client.js +5 -4
  121. package/dist/api/resources/contracts/client/Client.d.ts +3 -0
  122. package/dist/api/resources/contracts/resources/v2/client/Client.d.ts +8 -5
  123. package/dist/api/resources/contracts/resources/v2/client/Client.js +27 -26
  124. package/dist/api/resources/eligibility/client/Client.d.ts +3 -0
  125. package/dist/api/resources/eligibility/resources/v2/client/Client.d.ts +6 -3
  126. package/dist/api/resources/eligibility/resources/v2/client/Client.js +12 -9
  127. package/dist/api/resources/encounters/client/Client.d.ts +3 -0
  128. package/dist/api/resources/encounters/resources/v4/client/Client.d.ts +7 -19
  129. package/dist/api/resources/encounters/resources/v4/client/Client.js +22 -37
  130. package/dist/api/resources/encounters/resources/v4/client/requests/EncounterCreate.d.ts +0 -21
  131. package/dist/api/resources/encounters/resources/v4/types/Encounter.d.ts +0 -1
  132. package/dist/api/resources/expectedNetworkStatus/client/Client.d.ts +3 -0
  133. package/dist/api/resources/expectedNetworkStatus/resources/v1/client/Client.d.ts +4 -1
  134. package/dist/api/resources/expectedNetworkStatus/resources/v1/client/Client.js +5 -4
  135. package/dist/api/resources/expectedNetworkStatus/resources/v2/client/Client.d.ts +5 -2
  136. package/dist/api/resources/expectedNetworkStatus/resources/v2/client/Client.js +13 -11
  137. package/dist/api/resources/exports/client/Client.d.ts +3 -0
  138. package/dist/api/resources/exports/resources/v3/client/Client.d.ts +4 -1
  139. package/dist/api/resources/exports/resources/v3/client/Client.js +5 -4
  140. package/dist/api/resources/externalPaymentAccountConfig/client/Client.d.ts +3 -0
  141. package/dist/api/resources/externalPaymentAccountConfig/resources/v1/client/Client.d.ts +4 -1
  142. package/dist/api/resources/externalPaymentAccountConfig/resources/v1/client/Client.js +4 -3
  143. package/dist/api/resources/feeSchedules/client/Client.d.ts +3 -0
  144. package/dist/api/resources/feeSchedules/resources/v3/client/Client.d.ts +13 -10
  145. package/dist/api/resources/feeSchedules/resources/v3/client/Client.js +52 -44
  146. package/dist/api/resources/guarantor/client/Client.d.ts +3 -0
  147. package/dist/api/resources/guarantor/resources/v1/client/Client.d.ts +6 -3
  148. package/dist/api/resources/guarantor/resources/v1/client/Client.js +18 -19
  149. package/dist/api/resources/importInvoice/client/Client.d.ts +3 -0
  150. package/dist/api/resources/importInvoice/resources/v1/client/Client.d.ts +7 -4
  151. package/dist/api/resources/importInvoice/resources/v1/client/Client.js +22 -18
  152. package/dist/api/resources/insuranceAdjudications/client/Client.d.ts +3 -0
  153. package/dist/api/resources/insuranceAdjudications/resources/v1/client/Client.d.ts +6 -3
  154. package/dist/api/resources/insuranceAdjudications/resources/v1/client/Client.js +15 -12
  155. package/dist/api/resources/insurancePayments/client/Client.d.ts +3 -0
  156. package/dist/api/resources/insurancePayments/resources/v1/client/Client.d.ts +8 -5
  157. package/dist/api/resources/insurancePayments/resources/v1/client/Client.js +29 -24
  158. package/dist/api/resources/insuranceRefunds/client/Client.d.ts +3 -0
  159. package/dist/api/resources/insuranceRefunds/resources/v1/client/Client.d.ts +8 -5
  160. package/dist/api/resources/insuranceRefunds/resources/v1/client/Client.js +29 -24
  161. package/dist/api/resources/organizationProviders/client/Client.d.ts +3 -0
  162. package/dist/api/resources/organizationProviders/resources/v3/client/Client.d.ts +7 -4
  163. package/dist/api/resources/organizationProviders/resources/v3/client/Client.js +23 -19
  164. package/dist/api/resources/organizationServiceFacilities/client/Client.d.ts +3 -0
  165. package/dist/api/resources/organizationServiceFacilities/resources/v2/client/Client.d.ts +8 -5
  166. package/dist/api/resources/organizationServiceFacilities/resources/v2/client/Client.js +32 -23
  167. package/dist/api/resources/patientPayments/client/Client.d.ts +3 -0
  168. package/dist/api/resources/patientPayments/resources/v4/client/Client.d.ts +8 -5
  169. package/dist/api/resources/patientPayments/resources/v4/client/Client.js +29 -24
  170. package/dist/api/resources/patientRefunds/client/Client.d.ts +3 -0
  171. package/dist/api/resources/patientRefunds/resources/v1/client/Client.d.ts +8 -5
  172. package/dist/api/resources/patientRefunds/resources/v1/client/Client.js +29 -24
  173. package/dist/api/resources/payers/client/Client.d.ts +3 -0
  174. package/dist/api/resources/payers/resources/v3/client/Client.d.ts +5 -2
  175. package/dist/api/resources/payers/resources/v3/client/Client.js +9 -7
  176. package/dist/api/resources/preEncounter/client/Client.d.ts +3 -0
  177. package/dist/api/resources/preEncounter/resources/coverages/client/Client.d.ts +3 -0
  178. package/dist/api/resources/preEncounter/resources/coverages/resources/v1/client/Client.d.ts +3 -0
  179. package/dist/api/resources/preEncounter/resources/coverages/resources/v1/resources/coverages/client/Client.d.ts +9 -6
  180. package/dist/api/resources/preEncounter/resources/coverages/resources/v1/resources/coverages/client/Client.js +31 -25
  181. package/dist/api/resources/preEncounter/resources/patients/client/Client.d.ts +3 -0
  182. package/dist/api/resources/preEncounter/resources/patients/resources/v1/client/Client.d.ts +3 -0
  183. package/dist/api/resources/preEncounter/resources/patients/resources/v1/resources/patients/client/Client.d.ts +10 -7
  184. package/dist/api/resources/preEncounter/resources/patients/resources/v1/resources/patients/client/Client.js +38 -31
  185. package/dist/api/resources/serviceFacility/client/Client.d.ts +4 -1
  186. package/dist/api/resources/serviceFacility/client/Client.js +6 -7
  187. package/dist/api/resources/tasks/client/Client.d.ts +3 -0
  188. package/dist/api/resources/tasks/resources/v3/client/Client.d.ts +8 -5
  189. package/dist/api/resources/tasks/resources/v3/client/Client.js +28 -23
  190. package/dist/api/resources/writeOffs/client/Client.d.ts +3 -0
  191. package/dist/api/resources/writeOffs/resources/v1/client/Client.d.ts +7 -4
  192. package/dist/api/resources/writeOffs/resources/v1/client/Client.js +19 -15
  193. package/dist/core/fetcher/Fetcher.d.ts +3 -0
  194. package/dist/core/fetcher/Fetcher.js +22 -153
  195. package/dist/core/fetcher/createRequestUrl.d.ts +1 -0
  196. package/dist/core/fetcher/createRequestUrl.js +13 -0
  197. package/dist/core/fetcher/getFetchFn.d.ts +4 -0
  198. package/dist/core/fetcher/getFetchFn.js +59 -0
  199. package/dist/core/fetcher/getRequestBody.d.ts +7 -0
  200. package/dist/core/fetcher/getRequestBody.js +23 -0
  201. package/dist/core/fetcher/getResponseBody.d.ts +1 -0
  202. package/dist/core/fetcher/getResponseBody.js +48 -0
  203. package/dist/core/fetcher/makeRequest.d.ts +1 -0
  204. package/dist/core/fetcher/makeRequest.js +42 -0
  205. package/dist/core/fetcher/requestWithRetries.d.ts +1 -0
  206. package/dist/core/fetcher/requestWithRetries.js +32 -0
  207. package/dist/core/fetcher/signals.d.ts +12 -0
  208. package/dist/core/fetcher/signals.js +37 -0
  209. package/dist/core/runtime/runtime.d.ts +2 -1
  210. package/dist/core/runtime/runtime.js +12 -1
  211. package/dist/core/schemas/Schema.d.ts +7 -4
  212. package/dist/core/schemas/builders/lazy/lazy.d.ts +2 -2
  213. package/dist/core/schemas/builders/lazy/lazy.js +8 -19
  214. package/dist/core/schemas/builders/lazy/lazyObject.js +1 -10
  215. package/dist/core/schemas/builders/list/list.js +31 -44
  216. package/dist/core/schemas/builders/object/object.js +90 -111
  217. package/dist/core/schemas/builders/object/types.d.ts +2 -2
  218. package/dist/core/schemas/builders/object-like/getObjectLikeUtils.js +3 -12
  219. package/dist/core/schemas/builders/record/record.js +49 -60
  220. package/dist/core/schemas/builders/schema-utils/getSchemaUtils.d.ts +2 -2
  221. package/dist/core/schemas/builders/schema-utils/getSchemaUtils.js +18 -21
  222. package/dist/core/schemas/builders/set/set.js +6 -15
  223. package/dist/core/schemas/builders/undiscriminated-union/undiscriminatedUnion.js +21 -32
  224. package/dist/core/schemas/builders/union/union.js +51 -62
  225. package/dist/core/schemas/utils/maybeSkipValidation.js +3 -12
  226. package/dist/serialization/resources/encounters/resources/v4/client/requests/EncounterCreate.d.ts +0 -2
  227. package/dist/serialization/resources/encounters/resources/v4/client/requests/EncounterCreate.js +0 -2
  228. package/dist/serialization/resources/encounters/resources/v4/types/Encounter.d.ts +0 -1
  229. package/dist/serialization/resources/encounters/resources/v4/types/Encounter.js +0 -1
  230. package/package.json +7 -2
  231. package/reference.md +7177 -0
  232. package/serialization/resources/encounters/resources/v4/client/requests/EncounterCreate.d.ts +0 -2
  233. package/serialization/resources/encounters/resources/v4/client/requests/EncounterCreate.js +0 -2
  234. package/serialization/resources/encounters/resources/v4/types/Encounter.d.ts +0 -1
  235. package/serialization/resources/encounters/resources/v4/types/Encounter.js +0 -1
@@ -10,8 +10,11 @@ export declare namespace V1 {
10
10
  token?: core.Supplier<core.BearerToken | undefined>;
11
11
  }
12
12
  interface RequestOptions {
13
+ /** The maximum time to wait for a response in seconds. */
13
14
  timeoutInSeconds?: number;
15
+ /** The number of times to retry the request. Defaults to 2. */
14
16
  maxRetries?: number;
17
+ /** A hook to abort the request. */
15
18
  abortSignal?: AbortSignal;
16
19
  }
17
20
  }
@@ -25,7 +28,7 @@ export declare class V1 {
25
28
  * @param {V1.RequestOptions} requestOptions - Request-specific configuration.
26
29
  *
27
30
  * @example
28
- * await candidApi.writeOffs.v1.getMulti({
31
+ * await client.writeOffs.v1.getMulti({
29
32
  * limit: 1,
30
33
  * patientExternalId: CandidApi.PatientExternalId("string"),
31
34
  * payerUuid: CandidApi.payers.v3.PayerUuid("d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32"),
@@ -46,7 +49,7 @@ export declare class V1 {
46
49
  * @param {V1.RequestOptions} requestOptions - Request-specific configuration.
47
50
  *
48
51
  * @example
49
- * await candidApi.writeOffs.v1.get(CandidApi.writeOffs.v1.WriteOffId("d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32"))
52
+ * await client.writeOffs.v1.get(CandidApi.writeOffs.v1.WriteOffId("d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32"))
50
53
  */
51
54
  get(writeOffId: CandidApi.writeOffs.v1.WriteOffId, requestOptions?: V1.RequestOptions): Promise<core.APIResponse<CandidApi.writeOffs.v1.WriteOff, CandidApi.writeOffs.v1.get.Error>>;
52
55
  /**
@@ -57,7 +60,7 @@ export declare class V1 {
57
60
  * @param {V1.RequestOptions} requestOptions - Request-specific configuration.
58
61
  *
59
62
  * @example
60
- * await candidApi.writeOffs.v1.create({
63
+ * await client.writeOffs.v1.create({
61
64
  * writeOffs: [{
62
65
  * type: "patient",
63
66
  * writeOffTimestamp: new Date("2024-01-15T09:30:00.000Z"),
@@ -76,7 +79,7 @@ export declare class V1 {
76
79
  * @param {V1.RequestOptions} requestOptions - Request-specific configuration.
77
80
  *
78
81
  * @example
79
- * await candidApi.writeOffs.v1.revert(CandidApi.writeOffs.v1.WriteOffId("d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32"))
82
+ * await client.writeOffs.v1.revert(CandidApi.writeOffs.v1.WriteOffId("d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32"))
80
83
  */
81
84
  revert(writeOffId: CandidApi.writeOffs.v1.WriteOffId, requestOptions?: V1.RequestOptions): Promise<core.APIResponse<CandidApi.writeOffs.v1.WriteOff, CandidApi.writeOffs.v1.revert.Error>>;
82
85
  protected _getAuthorizationHeader(): Promise<string | undefined>;
@@ -55,7 +55,7 @@ class V1 {
55
55
  * @param {V1.RequestOptions} requestOptions - Request-specific configuration.
56
56
  *
57
57
  * @example
58
- * await candidApi.writeOffs.v1.getMulti({
58
+ * await client.writeOffs.v1.getMulti({
59
59
  * limit: 1,
60
60
  * patientExternalId: CandidApi.PatientExternalId("string"),
61
61
  * payerUuid: CandidApi.payers.v3.PayerUuid("d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32"),
@@ -116,12 +116,13 @@ class V1 {
116
116
  Authorization: yield this._getAuthorizationHeader(),
117
117
  "X-Fern-Language": "JavaScript",
118
118
  "X-Fern-SDK-Name": "candidhealth",
119
- "X-Fern-SDK-Version": "0.24.0-2a6d412",
119
+ "X-Fern-SDK-Version": "0.24.1",
120
120
  "X-Fern-Runtime": core.RUNTIME.type,
121
121
  "X-Fern-Runtime-Version": core.RUNTIME.version,
122
122
  },
123
123
  contentType: "application/json",
124
124
  queryParameters: _queryParams,
125
+ requestType: "json",
125
126
  timeoutMs: (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) != null ? requestOptions.timeoutInSeconds * 1000 : 60000,
126
127
  maxRetries: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries,
127
128
  abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
@@ -129,7 +130,7 @@ class V1 {
129
130
  if (_response.ok) {
130
131
  return {
131
132
  ok: true,
132
- body: yield serializers.writeOffs.v1.WriteOffsPage.parseOrThrow(_response.body, {
133
+ body: serializers.writeOffs.v1.WriteOffsPage.parseOrThrow(_response.body, {
133
134
  unrecognizedObjectKeys: "passthrough",
134
135
  allowUnrecognizedUnionMembers: true,
135
136
  allowUnrecognizedEnumValues: true,
@@ -150,24 +151,25 @@ class V1 {
150
151
  * @param {V1.RequestOptions} requestOptions - Request-specific configuration.
151
152
  *
152
153
  * @example
153
- * await candidApi.writeOffs.v1.get(CandidApi.writeOffs.v1.WriteOffId("d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32"))
154
+ * await client.writeOffs.v1.get(CandidApi.writeOffs.v1.WriteOffId("d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32"))
154
155
  */
155
156
  get(writeOffId, requestOptions) {
156
157
  var _a;
157
158
  return __awaiter(this, void 0, void 0, function* () {
158
159
  const _response = yield core.fetcher({
159
160
  url: (0, url_join_1.default)(((_a = (yield core.Supplier.get(this._options.environment))) !== null && _a !== void 0 ? _a : environments.CandidApiEnvironment.Production)
160
- .candidApi, `/api/write-offs/v1/${encodeURIComponent(yield serializers.writeOffs.v1.WriteOffId.jsonOrThrow(writeOffId))}`),
161
+ .candidApi, `/api/write-offs/v1/${encodeURIComponent(serializers.writeOffs.v1.WriteOffId.jsonOrThrow(writeOffId))}`),
161
162
  method: "GET",
162
163
  headers: {
163
164
  Authorization: yield this._getAuthorizationHeader(),
164
165
  "X-Fern-Language": "JavaScript",
165
166
  "X-Fern-SDK-Name": "candidhealth",
166
- "X-Fern-SDK-Version": "0.24.0-2a6d412",
167
+ "X-Fern-SDK-Version": "0.24.1",
167
168
  "X-Fern-Runtime": core.RUNTIME.type,
168
169
  "X-Fern-Runtime-Version": core.RUNTIME.version,
169
170
  },
170
171
  contentType: "application/json",
172
+ requestType: "json",
171
173
  timeoutMs: (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) != null ? requestOptions.timeoutInSeconds * 1000 : 60000,
172
174
  maxRetries: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries,
173
175
  abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
@@ -175,7 +177,7 @@ class V1 {
175
177
  if (_response.ok) {
176
178
  return {
177
179
  ok: true,
178
- body: yield serializers.writeOffs.v1.WriteOff.parseOrThrow(_response.body, {
180
+ body: serializers.writeOffs.v1.WriteOff.parseOrThrow(_response.body, {
179
181
  unrecognizedObjectKeys: "passthrough",
180
182
  allowUnrecognizedUnionMembers: true,
181
183
  allowUnrecognizedEnumValues: true,
@@ -197,7 +199,7 @@ class V1 {
197
199
  * @param {V1.RequestOptions} requestOptions - Request-specific configuration.
198
200
  *
199
201
  * @example
200
- * await candidApi.writeOffs.v1.create({
202
+ * await client.writeOffs.v1.create({
201
203
  * writeOffs: [{
202
204
  * type: "patient",
203
205
  * writeOffTimestamp: new Date("2024-01-15T09:30:00.000Z"),
@@ -219,12 +221,13 @@ class V1 {
219
221
  Authorization: yield this._getAuthorizationHeader(),
220
222
  "X-Fern-Language": "JavaScript",
221
223
  "X-Fern-SDK-Name": "candidhealth",
222
- "X-Fern-SDK-Version": "0.24.0-2a6d412",
224
+ "X-Fern-SDK-Version": "0.24.1",
223
225
  "X-Fern-Runtime": core.RUNTIME.type,
224
226
  "X-Fern-Runtime-Version": core.RUNTIME.version,
225
227
  },
226
228
  contentType: "application/json",
227
- body: yield serializers.writeOffs.v1.CreateWriteOffsRequest.jsonOrThrow(request, {
229
+ requestType: "json",
230
+ body: serializers.writeOffs.v1.CreateWriteOffsRequest.jsonOrThrow(request, {
228
231
  unrecognizedObjectKeys: "strip",
229
232
  }),
230
233
  timeoutMs: (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) != null ? requestOptions.timeoutInSeconds * 1000 : 60000,
@@ -234,7 +237,7 @@ class V1 {
234
237
  if (_response.ok) {
235
238
  return {
236
239
  ok: true,
237
- body: yield serializers.writeOffs.v1.CreateWriteOffsResponse.parseOrThrow(_response.body, {
240
+ body: serializers.writeOffs.v1.CreateWriteOffsResponse.parseOrThrow(_response.body, {
238
241
  unrecognizedObjectKeys: "passthrough",
239
242
  allowUnrecognizedUnionMembers: true,
240
243
  allowUnrecognizedEnumValues: true,
@@ -255,24 +258,25 @@ class V1 {
255
258
  * @param {V1.RequestOptions} requestOptions - Request-specific configuration.
256
259
  *
257
260
  * @example
258
- * await candidApi.writeOffs.v1.revert(CandidApi.writeOffs.v1.WriteOffId("d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32"))
261
+ * await client.writeOffs.v1.revert(CandidApi.writeOffs.v1.WriteOffId("d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32"))
259
262
  */
260
263
  revert(writeOffId, requestOptions) {
261
264
  var _a;
262
265
  return __awaiter(this, void 0, void 0, function* () {
263
266
  const _response = yield core.fetcher({
264
267
  url: (0, url_join_1.default)(((_a = (yield core.Supplier.get(this._options.environment))) !== null && _a !== void 0 ? _a : environments.CandidApiEnvironment.Production)
265
- .candidApi, `/api/write-offs/v1/${encodeURIComponent(yield serializers.writeOffs.v1.WriteOffId.jsonOrThrow(writeOffId))}/revert`),
268
+ .candidApi, `/api/write-offs/v1/${encodeURIComponent(serializers.writeOffs.v1.WriteOffId.jsonOrThrow(writeOffId))}/revert`),
266
269
  method: "POST",
267
270
  headers: {
268
271
  Authorization: yield this._getAuthorizationHeader(),
269
272
  "X-Fern-Language": "JavaScript",
270
273
  "X-Fern-SDK-Name": "candidhealth",
271
- "X-Fern-SDK-Version": "0.24.0-2a6d412",
274
+ "X-Fern-SDK-Version": "0.24.1",
272
275
  "X-Fern-Runtime": core.RUNTIME.type,
273
276
  "X-Fern-Runtime-Version": core.RUNTIME.version,
274
277
  },
275
278
  contentType: "application/json",
279
+ requestType: "json",
276
280
  timeoutMs: (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) != null ? requestOptions.timeoutInSeconds * 1000 : 60000,
277
281
  maxRetries: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries,
278
282
  abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
@@ -280,7 +284,7 @@ class V1 {
280
284
  if (_response.ok) {
281
285
  return {
282
286
  ok: true,
283
- body: yield serializers.writeOffs.v1.WriteOff.parseOrThrow(_response.body, {
287
+ body: serializers.writeOffs.v1.WriteOff.parseOrThrow(_response.body, {
284
288
  unrecognizedObjectKeys: "passthrough",
285
289
  allowUnrecognizedUnionMembers: true,
286
290
  allowUnrecognizedEnumValues: true,
@@ -12,7 +12,9 @@ export declare namespace Fetcher {
12
12
  maxRetries?: number;
13
13
  withCredentials?: boolean;
14
14
  abortSignal?: AbortSignal;
15
+ requestType?: "json" | "file" | "bytes";
15
16
  responseType?: "json" | "blob" | "streaming" | "text";
17
+ duplex?: "half";
16
18
  }
17
19
  type Error = FailedStatusCodeError | NonJsonError | TimeoutError | UnknownError;
18
20
  interface FailedStatusCodeError {
@@ -33,4 +35,5 @@ export declare namespace Fetcher {
33
35
  errorMessage: string;
34
36
  }
35
37
  }
38
+ export declare function fetcherImpl<R = unknown>(args: Fetcher.Args): Promise<APIResponse<R, Fetcher.Error>>;
36
39
  export declare const fetcher: FetchFunction;
@@ -31,18 +31,15 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
31
31
  step((generator = generator.apply(thisArg, _arguments || [])).next());
32
32
  });
33
33
  };
34
- var __importDefault = (this && this.__importDefault) || function (mod) {
35
- return (mod && mod.__esModule) ? mod : { "default": mod };
36
- };
37
34
  Object.defineProperty(exports, "__esModule", { value: true });
38
- exports.fetcher = void 0;
39
- const qs_1 = __importDefault(require("qs"));
40
- const runtime_1 = require("../runtime");
41
- const INITIAL_RETRY_DELAY = 1;
42
- const MAX_RETRY_DELAY = 60;
43
- const DEFAULT_MAX_RETRIES = 2;
35
+ exports.fetcher = exports.fetcherImpl = void 0;
36
+ const createRequestUrl_1 = require("./createRequestUrl");
37
+ const getFetchFn_1 = require("./getFetchFn");
38
+ const getRequestBody_1 = require("./getRequestBody");
39
+ const getResponseBody_1 = require("./getResponseBody");
40
+ const makeRequest_1 = require("./makeRequest");
41
+ const requestWithRetries_1 = require("./requestWithRetries");
44
42
  function fetcherImpl(args) {
45
- var _a, _b;
46
43
  return __awaiter(this, void 0, void 0, function* () {
47
44
  const headers = {};
48
45
  if (args.body !== undefined && args.contentType != null) {
@@ -55,121 +52,24 @@ function fetcherImpl(args) {
55
52
  }
56
53
  }
57
54
  }
58
- const url = Object.keys((_a = args.queryParameters) !== null && _a !== void 0 ? _a : {}).length > 0
59
- ? `${args.url}?${qs_1.default.stringify(args.queryParameters, { arrayFormat: "repeat" })}`
60
- : args.url;
61
- let body = undefined;
62
- const maybeStringifyBody = (body) => {
63
- if (body instanceof Uint8Array) {
64
- return body;
65
- }
66
- else if (args.contentType === "application/x-www-form-urlencoded" && typeof args.body === "string") {
67
- return args.body;
68
- }
69
- else {
70
- return JSON.stringify(body);
71
- }
72
- };
73
- if (runtime_1.RUNTIME.type === "node") {
74
- if (args.body instanceof (yield Promise.resolve().then(() => __importStar(require("formdata-node")))).FormData) {
75
- // @ts-expect-error
76
- body = args.body;
77
- }
78
- else {
79
- body = maybeStringifyBody(args.body);
80
- }
81
- }
82
- else {
83
- if (args.body instanceof (yield Promise.resolve().then(() => __importStar(require("form-data")))).default) {
84
- // @ts-expect-error
85
- body = args.body;
86
- }
87
- else {
88
- body = maybeStringifyBody(args.body);
89
- }
90
- }
91
- // In Node.js environments, the SDK always uses`node-fetch`.
92
- // If not in Node.js the SDK uses global fetch if available,
93
- // and falls back to node-fetch.
94
- const fetchFn = runtime_1.RUNTIME.type === "node"
95
- ? // `.default` is required due to this issue:
96
- // https://github.com/node-fetch/node-fetch/issues/450#issuecomment-387045223
97
- (yield Promise.resolve().then(() => __importStar(require("node-fetch")))).default
98
- : typeof fetch == "function"
99
- ? fetch
100
- : (yield Promise.resolve().then(() => __importStar(require("node-fetch")))).default;
101
- const makeRequest = () => __awaiter(this, void 0, void 0, function* () {
102
- const signals = [];
103
- // Add timeout signal
104
- let timeoutAbortId = undefined;
105
- if (args.timeoutMs != null) {
106
- const { signal, abortId } = getTimeoutSignal(args.timeoutMs);
107
- timeoutAbortId = abortId;
108
- signals.push(signal);
109
- }
110
- // Add arbitrary signal
111
- if (args.abortSignal != null) {
112
- signals.push(args.abortSignal);
113
- }
114
- const response = yield fetchFn(url, {
115
- method: args.method,
116
- headers,
117
- body,
118
- signal: anySignal(signals),
119
- credentials: args.withCredentials ? "include" : undefined,
120
- });
121
- if (timeoutAbortId != null) {
122
- clearTimeout(timeoutAbortId);
123
- }
124
- return response;
55
+ const url = (0, createRequestUrl_1.createRequestUrl)(args.url, args.queryParameters);
56
+ let requestBody = yield (0, getRequestBody_1.getRequestBody)({
57
+ body: args.body,
58
+ type: args.requestType === "json" ? "json" : "other",
125
59
  });
60
+ const fetchFn = yield (0, getFetchFn_1.getFetchFn)();
126
61
  try {
127
- let response = yield makeRequest();
128
- for (let i = 0; i < ((_b = args.maxRetries) !== null && _b !== void 0 ? _b : DEFAULT_MAX_RETRIES); ++i) {
129
- if (response.status === 408 ||
130
- response.status === 409 ||
131
- response.status === 429 ||
132
- response.status >= 500) {
133
- const delay = Math.min(INITIAL_RETRY_DELAY * Math.pow(i, 2), MAX_RETRY_DELAY);
134
- yield new Promise((resolve) => setTimeout(resolve, delay));
135
- response = yield makeRequest();
136
- }
137
- else {
138
- break;
139
- }
140
- }
141
- let body;
142
- if (response.body != null && args.responseType === "blob") {
143
- body = yield response.blob();
144
- }
145
- else if (response.body != null && args.responseType === "streaming") {
146
- body = response.body;
147
- }
148
- else if (response.body != null && args.responseType === "text") {
149
- body = yield response.text();
150
- }
151
- else {
152
- const text = yield response.text();
153
- if (text.length > 0) {
154
- try {
155
- body = JSON.parse(text);
156
- }
157
- catch (err) {
158
- return {
159
- ok: false,
160
- error: {
161
- reason: "non-json",
162
- statusCode: response.status,
163
- rawBody: text,
164
- },
165
- };
166
- }
167
- }
168
- }
62
+ const response = yield (0, requestWithRetries_1.requestWithRetries)(() => __awaiter(this, void 0, void 0, function* () {
63
+ return (0, makeRequest_1.makeRequest)(fetchFn, url, args.method, headers, requestBody, args.timeoutMs, args.abortSignal, args.withCredentials, args.duplex);
64
+ }), args.maxRetries);
65
+ let responseBody = yield (0, getResponseBody_1.getResponseBody)(response, args.responseType);
169
66
  if (response.status >= 200 && response.status < 400) {
67
+ if (args.duplex && args.responseType === "streaming") {
68
+ responseBody = (yield Promise.resolve().then(() => __importStar(require("stream")))).Readable.from(responseBody);
69
+ }
170
70
  return {
171
71
  ok: true,
172
- body: body,
72
+ body: responseBody,
173
73
  headers: response.headers,
174
74
  };
175
75
  }
@@ -179,7 +79,7 @@ function fetcherImpl(args) {
179
79
  error: {
180
80
  reason: "status-code",
181
81
  statusCode: response.status,
182
- body,
82
+ body: responseBody,
183
83
  },
184
84
  };
185
85
  }
@@ -221,36 +121,5 @@ function fetcherImpl(args) {
221
121
  }
222
122
  });
223
123
  }
224
- const TIMEOUT = "timeout";
225
- function getTimeoutSignal(timeoutMs) {
226
- const controller = new AbortController();
227
- const abortId = setTimeout(() => controller.abort(TIMEOUT), timeoutMs);
228
- return { signal: controller.signal, abortId };
229
- }
230
- /**
231
- * Returns an abort signal that is getting aborted when
232
- * at least one of the specified abort signals is aborted.
233
- *
234
- * Requires at least node.js 18.
235
- */
236
- function anySignal(...args) {
237
- // Allowing signals to be passed either as array
238
- // of signals or as multiple arguments.
239
- const signals = (args.length === 1 && Array.isArray(args[0]) ? args[0] : args);
240
- const controller = new AbortController();
241
- for (const signal of signals) {
242
- if (signal.aborted) {
243
- // Exiting early if one of the signals
244
- // is already aborted.
245
- controller.abort(signal === null || signal === void 0 ? void 0 : signal.reason);
246
- break;
247
- }
248
- // Listening for signals and removing the listeners
249
- // when at least one symbol is aborted.
250
- signal.addEventListener("abort", () => controller.abort(signal === null || signal === void 0 ? void 0 : signal.reason), {
251
- signal: controller.signal,
252
- });
253
- }
254
- return controller.signal;
255
- }
124
+ exports.fetcherImpl = fetcherImpl;
256
125
  exports.fetcher = fetcherImpl;
@@ -0,0 +1 @@
1
+ export declare function createRequestUrl(baseUrl: string, queryParameters?: Record<string, string | string[] | object | object[]>): string;
@@ -0,0 +1,13 @@
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.createRequestUrl = void 0;
7
+ const qs_1 = __importDefault(require("qs"));
8
+ function createRequestUrl(baseUrl, queryParameters) {
9
+ return Object.keys(queryParameters !== null && queryParameters !== void 0 ? queryParameters : {}).length > 0
10
+ ? `${baseUrl}?${qs_1.default.stringify(queryParameters, { arrayFormat: "repeat" })}`
11
+ : baseUrl;
12
+ }
13
+ exports.createRequestUrl = createRequestUrl;
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Returns a fetch function based on the runtime
3
+ */
4
+ export declare function getFetchFn(): Promise<any>;
@@ -0,0 +1,59 @@
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ Object.defineProperty(exports, "__esModule", { value: true });
35
+ exports.getFetchFn = void 0;
36
+ const runtime_1 = require("../runtime");
37
+ /**
38
+ * Returns a fetch function based on the runtime
39
+ */
40
+ function getFetchFn() {
41
+ return __awaiter(this, void 0, void 0, function* () {
42
+ // In Node.js 18+ environments, use native fetch
43
+ if (runtime_1.RUNTIME.type === "node" && runtime_1.RUNTIME.parsedVersion != null && runtime_1.RUNTIME.parsedVersion >= 18) {
44
+ return fetch;
45
+ }
46
+ // In Node.js 18 or lower environments, the SDK always uses`node-fetch`.
47
+ if (runtime_1.RUNTIME.type === "node") {
48
+ return (yield Promise.resolve().then(() => __importStar(require("node-fetch")))).default;
49
+ }
50
+ // Otherwise the SDK uses global fetch if available,
51
+ // and falls back to node-fetch.
52
+ if (typeof fetch == "function") {
53
+ return fetch;
54
+ }
55
+ // Defaults to node `node-fetch` if global fetch isn't available
56
+ return (yield Promise.resolve().then(() => __importStar(require("node-fetch")))).default;
57
+ });
58
+ }
59
+ exports.getFetchFn = getFetchFn;
@@ -0,0 +1,7 @@
1
+ export declare namespace GetRequestBody {
2
+ interface Args {
3
+ body: unknown;
4
+ type: "json" | "file" | "bytes" | "other";
5
+ }
6
+ }
7
+ export declare function getRequestBody({ body, type }: GetRequestBody.Args): Promise<BodyInit | undefined>;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.getRequestBody = void 0;
13
+ function getRequestBody({ body, type }) {
14
+ return __awaiter(this, void 0, void 0, function* () {
15
+ if (type.includes("json")) {
16
+ return JSON.stringify(body);
17
+ }
18
+ else {
19
+ return body;
20
+ }
21
+ });
22
+ }
23
+ exports.getRequestBody = getRequestBody;
@@ -0,0 +1 @@
1
+ export declare function getResponseBody(response: Response, responseType?: string): Promise<unknown>;
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.getResponseBody = void 0;
13
+ function getResponseBody(response, responseType) {
14
+ return __awaiter(this, void 0, void 0, function* () {
15
+ if (response.body != null && responseType === "blob") {
16
+ return yield response.blob();
17
+ }
18
+ else if (response.body != null && responseType === "streaming") {
19
+ return response.body;
20
+ }
21
+ else if (response.body != null && responseType === "text") {
22
+ return yield response.text();
23
+ }
24
+ else {
25
+ const text = yield response.text();
26
+ if (text.length > 0) {
27
+ try {
28
+ let responseBody = JSON.parse(text);
29
+ return responseBody;
30
+ }
31
+ catch (err) {
32
+ return {
33
+ ok: false,
34
+ error: {
35
+ reason: "non-json",
36
+ statusCode: response.status,
37
+ rawBody: text,
38
+ },
39
+ };
40
+ }
41
+ }
42
+ else {
43
+ return undefined;
44
+ }
45
+ }
46
+ });
47
+ }
48
+ exports.getResponseBody = getResponseBody;
@@ -0,0 +1 @@
1
+ export declare const makeRequest: (fetchFn: (url: string, init: RequestInit) => Promise<Response>, url: string, method: string, headers: Record<string, string>, requestBody: BodyInit | undefined, timeoutMs?: number | undefined, abortSignal?: AbortSignal | undefined, withCredentials?: boolean | undefined, duplex?: "half" | undefined) => Promise<Response>;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.makeRequest = void 0;
13
+ const signals_1 = require("./signals");
14
+ const makeRequest = (fetchFn, url, method, headers, requestBody, timeoutMs, abortSignal, withCredentials, duplex) => __awaiter(void 0, void 0, void 0, function* () {
15
+ const signals = [];
16
+ // Add timeout signal
17
+ let timeoutAbortId = undefined;
18
+ if (timeoutMs != null) {
19
+ const { signal, abortId } = (0, signals_1.getTimeoutSignal)(timeoutMs);
20
+ timeoutAbortId = abortId;
21
+ signals.push(signal);
22
+ }
23
+ // Add arbitrary signal
24
+ if (abortSignal != null) {
25
+ signals.push(abortSignal);
26
+ }
27
+ let newSignals = (0, signals_1.anySignal)(signals);
28
+ const response = yield fetchFn(url, {
29
+ method: method,
30
+ headers,
31
+ body: requestBody,
32
+ signal: newSignals,
33
+ credentials: withCredentials ? "include" : undefined,
34
+ // @ts-ignore
35
+ duplex,
36
+ });
37
+ if (timeoutAbortId != null) {
38
+ clearTimeout(timeoutAbortId);
39
+ }
40
+ return response;
41
+ });
42
+ exports.makeRequest = makeRequest;
@@ -0,0 +1 @@
1
+ export declare function requestWithRetries(requestFn: () => Promise<Response>, maxRetries?: number): Promise<Response>;