@financeable/lenders 0.0.4 → 0.1.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 (226) hide show
  1. package/FUNCTIONS.md +16 -39
  2. package/README.md +96 -148
  3. package/RUNTIMES.md +6 -6
  4. package/bin/mcp-server.js +1482 -1400
  5. package/bin/mcp-server.js.map +33 -23
  6. package/dist/commonjs/funcs/createPepperConsumer.d.ts +16 -0
  7. package/dist/commonjs/funcs/createPepperConsumer.d.ts.map +1 -0
  8. package/dist/commonjs/funcs/{consumersCreatePepper.js → createPepperConsumer.js} +7 -5
  9. package/dist/commonjs/funcs/createPepperConsumer.js.map +1 -0
  10. package/dist/commonjs/hooks/hooks.d.ts +3 -2
  11. package/dist/commonjs/hooks/hooks.d.ts.map +1 -1
  12. package/dist/commonjs/hooks/hooks.js.map +1 -1
  13. package/dist/commonjs/hooks/types.d.ts +4 -6
  14. package/dist/commonjs/hooks/types.d.ts.map +1 -1
  15. package/dist/commonjs/index.d.ts +2 -0
  16. package/dist/commonjs/index.d.ts.map +1 -1
  17. package/dist/commonjs/index.js +3 -1
  18. package/dist/commonjs/index.js.map +1 -1
  19. package/dist/commonjs/lib/config.d.ts +7 -3
  20. package/dist/commonjs/lib/config.d.ts.map +1 -1
  21. package/dist/commonjs/lib/config.js +3 -3
  22. package/dist/commonjs/lib/config.js.map +1 -1
  23. package/dist/commonjs/lib/files.d.ts +5 -0
  24. package/dist/commonjs/lib/files.d.ts.map +1 -1
  25. package/dist/commonjs/lib/files.js +41 -0
  26. package/dist/commonjs/lib/files.js.map +1 -1
  27. package/dist/commonjs/lib/matchers.d.ts +6 -11
  28. package/dist/commonjs/lib/matchers.d.ts.map +1 -1
  29. package/dist/commonjs/lib/matchers.js +45 -31
  30. package/dist/commonjs/lib/matchers.js.map +1 -1
  31. package/dist/commonjs/lib/sdks.d.ts +4 -1
  32. package/dist/commonjs/lib/sdks.d.ts.map +1 -1
  33. package/dist/commonjs/lib/sdks.js +21 -22
  34. package/dist/commonjs/lib/sdks.js.map +1 -1
  35. package/dist/commonjs/lib/security.d.ts +2 -2
  36. package/dist/commonjs/lib/security.d.ts.map +1 -1
  37. package/dist/commonjs/lib/security.js.map +1 -1
  38. package/dist/commonjs/lib/url.js +1 -1
  39. package/dist/commonjs/lib/url.js.map +1 -1
  40. package/dist/commonjs/mcp-server/cli/start/command.d.ts.map +1 -1
  41. package/dist/commonjs/mcp-server/cli/start/command.js +0 -12
  42. package/dist/commonjs/mcp-server/cli/start/command.js.map +1 -1
  43. package/dist/commonjs/mcp-server/cli/start/impl.d.ts +0 -2
  44. package/dist/commonjs/mcp-server/cli/start/impl.d.ts.map +1 -1
  45. package/dist/commonjs/mcp-server/cli/start/impl.js +0 -2
  46. package/dist/commonjs/mcp-server/cli/start/impl.js.map +1 -1
  47. package/dist/commonjs/mcp-server/mcp-server.js +1 -1
  48. package/dist/commonjs/mcp-server/server.js +3 -3
  49. package/dist/commonjs/mcp-server/server.js.map +1 -1
  50. package/dist/commonjs/mcp-server/tools/{consumersCreatePepper.d.ts → createPepperConsumer.d.ts} +2 -2
  51. package/dist/commonjs/mcp-server/tools/createPepperConsumer.d.ts.map +1 -0
  52. package/dist/commonjs/mcp-server/tools/{consumersCreatePepper.js → createPepperConsumer.js} +6 -6
  53. package/dist/commonjs/mcp-server/tools/createPepperConsumer.js.map +1 -0
  54. package/dist/commonjs/models/components/apierrorcodes.d.ts +21 -0
  55. package/dist/commonjs/models/components/apierrorcodes.d.ts.map +1 -1
  56. package/dist/commonjs/models/components/apierrorcodes.js +7 -0
  57. package/dist/commonjs/models/components/apierrorcodes.js.map +1 -1
  58. package/dist/commonjs/models/components/lenders.d.ts +57 -3
  59. package/dist/commonjs/models/components/lenders.d.ts.map +1 -1
  60. package/dist/commonjs/models/components/lenders.js +19 -1
  61. package/dist/commonjs/models/components/lenders.js.map +1 -1
  62. package/dist/commonjs/models/errors/apierror.d.ts +8 -6
  63. package/dist/commonjs/models/errors/apierror.d.ts.map +1 -1
  64. package/dist/commonjs/models/errors/apierror.js +23 -10
  65. package/dist/commonjs/models/errors/apierror.js.map +1 -1
  66. package/dist/commonjs/models/errors/createpepperconsumer.d.ts +79 -58
  67. package/dist/commonjs/models/errors/createpepperconsumer.d.ts.map +1 -1
  68. package/dist/commonjs/models/errors/createpepperconsumer.js +101 -65
  69. package/dist/commonjs/models/errors/createpepperconsumer.js.map +1 -1
  70. package/dist/commonjs/models/errors/financeablelenderserror.d.ts +19 -0
  71. package/dist/commonjs/models/errors/financeablelenderserror.d.ts.map +1 -0
  72. package/dist/commonjs/models/errors/financeablelenderserror.js +20 -0
  73. package/dist/commonjs/models/errors/financeablelenderserror.js.map +1 -0
  74. package/dist/commonjs/models/errors/index.d.ts +2 -0
  75. package/dist/commonjs/models/errors/index.d.ts.map +1 -1
  76. package/dist/commonjs/models/errors/index.js +2 -0
  77. package/dist/commonjs/models/errors/index.js.map +1 -1
  78. package/dist/commonjs/models/errors/responsevalidationerror.d.ts +26 -0
  79. package/dist/commonjs/models/errors/responsevalidationerror.d.ts.map +1 -0
  80. package/dist/commonjs/models/errors/responsevalidationerror.js +66 -0
  81. package/dist/commonjs/models/errors/responsevalidationerror.js.map +1 -0
  82. package/dist/commonjs/models/errors/sdkvalidationerror.d.ts +1 -0
  83. package/dist/commonjs/models/errors/sdkvalidationerror.d.ts.map +1 -1
  84. package/dist/commonjs/models/errors/sdkvalidationerror.js +14 -0
  85. package/dist/commonjs/models/errors/sdkvalidationerror.js.map +1 -1
  86. package/dist/commonjs/sdk/sdk.d.ts +7 -4
  87. package/dist/commonjs/sdk/sdk.d.ts.map +1 -1
  88. package/dist/commonjs/sdk/sdk.js +7 -3
  89. package/dist/commonjs/sdk/sdk.js.map +1 -1
  90. package/dist/commonjs/types/constdatetime.js +1 -1
  91. package/dist/esm/funcs/createPepperConsumer.d.ts +16 -0
  92. package/dist/esm/funcs/createPepperConsumer.d.ts.map +1 -0
  93. package/dist/esm/funcs/{consumersCreatePepper.js → createPepperConsumer.js} +6 -4
  94. package/dist/esm/funcs/createPepperConsumer.js.map +1 -0
  95. package/dist/esm/hooks/hooks.d.ts +3 -2
  96. package/dist/esm/hooks/hooks.d.ts.map +1 -1
  97. package/dist/esm/hooks/hooks.js.map +1 -1
  98. package/dist/esm/hooks/types.d.ts +4 -6
  99. package/dist/esm/hooks/types.d.ts.map +1 -1
  100. package/dist/esm/index.d.ts +2 -0
  101. package/dist/esm/index.d.ts.map +1 -1
  102. package/dist/esm/index.js +1 -0
  103. package/dist/esm/index.js.map +1 -1
  104. package/dist/esm/lib/config.d.ts +7 -3
  105. package/dist/esm/lib/config.d.ts.map +1 -1
  106. package/dist/esm/lib/config.js +3 -3
  107. package/dist/esm/lib/config.js.map +1 -1
  108. package/dist/esm/lib/files.d.ts +5 -0
  109. package/dist/esm/lib/files.d.ts.map +1 -1
  110. package/dist/esm/lib/files.js +40 -0
  111. package/dist/esm/lib/files.js.map +1 -1
  112. package/dist/esm/lib/matchers.d.ts +6 -11
  113. package/dist/esm/lib/matchers.d.ts.map +1 -1
  114. package/dist/esm/lib/matchers.js +43 -30
  115. package/dist/esm/lib/matchers.js.map +1 -1
  116. package/dist/esm/lib/sdks.d.ts +4 -1
  117. package/dist/esm/lib/sdks.d.ts.map +1 -1
  118. package/dist/esm/lib/sdks.js +21 -22
  119. package/dist/esm/lib/sdks.js.map +1 -1
  120. package/dist/esm/lib/security.d.ts +2 -2
  121. package/dist/esm/lib/security.d.ts.map +1 -1
  122. package/dist/esm/lib/security.js.map +1 -1
  123. package/dist/esm/lib/url.js +1 -1
  124. package/dist/esm/lib/url.js.map +1 -1
  125. package/dist/esm/mcp-server/cli/start/command.d.ts.map +1 -1
  126. package/dist/esm/mcp-server/cli/start/command.js +0 -12
  127. package/dist/esm/mcp-server/cli/start/command.js.map +1 -1
  128. package/dist/esm/mcp-server/cli/start/impl.d.ts +0 -2
  129. package/dist/esm/mcp-server/cli/start/impl.d.ts.map +1 -1
  130. package/dist/esm/mcp-server/cli/start/impl.js +0 -2
  131. package/dist/esm/mcp-server/cli/start/impl.js.map +1 -1
  132. package/dist/esm/mcp-server/mcp-server.js +1 -1
  133. package/dist/esm/mcp-server/server.js +3 -3
  134. package/dist/esm/mcp-server/server.js.map +1 -1
  135. package/dist/esm/mcp-server/tools/{consumersCreatePepper.d.ts → createPepperConsumer.d.ts} +2 -2
  136. package/dist/esm/mcp-server/tools/createPepperConsumer.d.ts.map +1 -0
  137. package/dist/esm/mcp-server/tools/{consumersCreatePepper.js → createPepperConsumer.js} +5 -5
  138. package/dist/esm/mcp-server/tools/createPepperConsumer.js.map +1 -0
  139. package/dist/esm/models/components/apierrorcodes.d.ts +21 -0
  140. package/dist/esm/models/components/apierrorcodes.d.ts.map +1 -1
  141. package/dist/esm/models/components/apierrorcodes.js +7 -0
  142. package/dist/esm/models/components/apierrorcodes.js.map +1 -1
  143. package/dist/esm/models/components/lenders.d.ts +57 -3
  144. package/dist/esm/models/components/lenders.d.ts.map +1 -1
  145. package/dist/esm/models/components/lenders.js +19 -1
  146. package/dist/esm/models/components/lenders.js.map +1 -1
  147. package/dist/esm/models/errors/apierror.d.ts +8 -6
  148. package/dist/esm/models/errors/apierror.d.ts.map +1 -1
  149. package/dist/esm/models/errors/apierror.js +23 -10
  150. package/dist/esm/models/errors/apierror.js.map +1 -1
  151. package/dist/esm/models/errors/createpepperconsumer.d.ts +79 -58
  152. package/dist/esm/models/errors/createpepperconsumer.d.ts.map +1 -1
  153. package/dist/esm/models/errors/createpepperconsumer.js +96 -60
  154. package/dist/esm/models/errors/createpepperconsumer.js.map +1 -1
  155. package/dist/esm/models/errors/financeablelenderserror.d.ts +19 -0
  156. package/dist/esm/models/errors/financeablelenderserror.d.ts.map +1 -0
  157. package/dist/esm/models/errors/financeablelenderserror.js +16 -0
  158. package/dist/esm/models/errors/financeablelenderserror.js.map +1 -0
  159. package/dist/esm/models/errors/index.d.ts +2 -0
  160. package/dist/esm/models/errors/index.d.ts.map +1 -1
  161. package/dist/esm/models/errors/index.js +2 -0
  162. package/dist/esm/models/errors/index.js.map +1 -1
  163. package/dist/esm/models/errors/responsevalidationerror.d.ts +26 -0
  164. package/dist/esm/models/errors/responsevalidationerror.d.ts.map +1 -0
  165. package/dist/esm/models/errors/responsevalidationerror.js +29 -0
  166. package/dist/esm/models/errors/responsevalidationerror.js.map +1 -0
  167. package/dist/esm/models/errors/sdkvalidationerror.d.ts +1 -0
  168. package/dist/esm/models/errors/sdkvalidationerror.d.ts.map +1 -1
  169. package/dist/esm/models/errors/sdkvalidationerror.js +14 -0
  170. package/dist/esm/models/errors/sdkvalidationerror.js.map +1 -1
  171. package/dist/esm/sdk/sdk.d.ts +7 -4
  172. package/dist/esm/sdk/sdk.d.ts.map +1 -1
  173. package/dist/esm/sdk/sdk.js +7 -3
  174. package/dist/esm/sdk/sdk.js.map +1 -1
  175. package/dist/esm/types/constdatetime.js +1 -1
  176. package/docs/sdks/financeablelenders/README.md +142 -0
  177. package/examples/README.md +31 -0
  178. package/examples/createPepperConsumer.example.ts +59 -0
  179. package/examples/package.json +18 -0
  180. package/jsr.json +1 -1
  181. package/package.json +10 -10
  182. package/src/funcs/{consumersCreatePepper.ts → createPepperConsumer.ts} +41 -35
  183. package/src/hooks/hooks.ts +2 -2
  184. package/src/hooks/types.ts +4 -7
  185. package/src/index.ts +2 -0
  186. package/src/lib/config.ts +7 -3
  187. package/src/lib/files.ts +42 -0
  188. package/src/lib/matchers.ts +64 -41
  189. package/src/lib/sdks.ts +33 -22
  190. package/src/lib/security.ts +6 -3
  191. package/src/lib/url.ts +1 -1
  192. package/src/mcp-server/cli/start/command.ts +0 -13
  193. package/src/mcp-server/cli/start/impl.ts +0 -4
  194. package/src/mcp-server/mcp-server.ts +1 -1
  195. package/src/mcp-server/server.ts +3 -3
  196. package/src/mcp-server/tools/{consumersCreatePepper.ts → createPepperConsumer.ts} +4 -4
  197. package/src/models/components/apierrorcodes.ts +7 -0
  198. package/src/models/components/lenders.ts +19 -1
  199. package/src/models/errors/apierror.ts +29 -16
  200. package/src/models/errors/createpepperconsumer.ts +151 -105
  201. package/src/models/errors/financeablelenderserror.ts +35 -0
  202. package/src/models/errors/index.ts +2 -0
  203. package/src/models/errors/responsevalidationerror.ts +50 -0
  204. package/src/models/errors/sdkvalidationerror.ts +12 -0
  205. package/src/sdk/sdk.ts +17 -5
  206. package/src/types/constdatetime.ts +1 -1
  207. package/dist/commonjs/funcs/consumersCreatePepper.d.ts +0 -15
  208. package/dist/commonjs/funcs/consumersCreatePepper.d.ts.map +0 -1
  209. package/dist/commonjs/funcs/consumersCreatePepper.js.map +0 -1
  210. package/dist/commonjs/mcp-server/tools/consumersCreatePepper.d.ts.map +0 -1
  211. package/dist/commonjs/mcp-server/tools/consumersCreatePepper.js.map +0 -1
  212. package/dist/commonjs/sdk/consumers.d.ts +0 -10
  213. package/dist/commonjs/sdk/consumers.d.ts.map +0 -1
  214. package/dist/commonjs/sdk/consumers.js +0 -19
  215. package/dist/commonjs/sdk/consumers.js.map +0 -1
  216. package/dist/esm/funcs/consumersCreatePepper.d.ts +0 -15
  217. package/dist/esm/funcs/consumersCreatePepper.d.ts.map +0 -1
  218. package/dist/esm/funcs/consumersCreatePepper.js.map +0 -1
  219. package/dist/esm/mcp-server/tools/consumersCreatePepper.d.ts.map +0 -1
  220. package/dist/esm/mcp-server/tools/consumersCreatePepper.js.map +0 -1
  221. package/dist/esm/sdk/consumers.d.ts +0 -10
  222. package/dist/esm/sdk/consumers.d.ts.map +0 -1
  223. package/dist/esm/sdk/consumers.js +0 -15
  224. package/dist/esm/sdk/consumers.js.map +0 -1
  225. package/docs/sdks/consumers/README.md +0 -163
  226. package/src/sdk/consumers.ts +0 -25
package/FUNCTIONS.md CHANGED
@@ -20,78 +20,55 @@ specific category of applications.
20
20
 
21
21
  ```typescript
22
22
  import { FinanceableLendersCore } from "@financeable/lenders/core.js";
23
- import { consumersCreatePepper } from "@financeable/lenders/funcs/consumersCreatePepper.js";
24
- import { SDKValidationError } from "@financeable/lenders/models/errors/sdkvalidationerror.js";
23
+ import { createPepperConsumer } from "@financeable/lenders/funcs/createPepperConsumer.js";
25
24
 
26
25
  // Use `FinanceableLendersCore` for best tree-shaking performance.
27
26
  // You can create one instance of it to use across an application.
28
27
  const financeableLenders = new FinanceableLendersCore();
29
28
 
30
29
  async function run() {
31
- const res = await consumersCreatePepper(financeableLenders, {
30
+ const res = await createPepperConsumer(financeableLenders, {
32
31
  id: "<id>",
33
32
  applicationType: "<value>",
34
33
  user: {
35
34
  email: {
36
35
  status: "<value>",
37
- address: "3183 Hoppe Drives",
36
+ address: "710 Richmond Close",
38
37
  },
39
38
  },
40
- entities: [
41
-
42
- ],
43
- assets: [
44
- {},
45
- {},
46
- {},
47
- ],
39
+ entities: [],
40
+ assets: [],
48
41
  customers: [
49
42
  {
50
43
  id: "<id>",
51
44
  customerTitle: "<value>",
52
- firstName: "Mikayla",
53
- lastName: "White",
45
+ firstName: "Cornelius",
46
+ lastName: "Renner",
54
47
  idNumber: "<value>",
55
48
  idExpiryDate: "<value>",
56
49
  idCardNumber: "<value>",
57
50
  },
58
51
  ],
59
52
  loanDetails: {
60
- deposit: 3638.13,
61
- payout: 1234.78,
62
- tradeIn: 7692.67,
53
+ deposit: 1321.8,
54
+ payout: 8717.28,
55
+ tradeIn: 5190.75,
63
56
  },
64
57
  notes: "<value>",
65
58
  lenderCredentials: {
66
59
  pepperMerchantId: "<id>",
67
- pepperBaseUrl: "https://glaring-meatloaf.org",
60
+ pepperBaseUrl: "https://criminal-cosset.biz",
68
61
  pepperClientId: "<id>",
69
62
  pepperClientSecret: "<value>",
70
63
  pepperUsername: "<value>",
71
64
  },
72
65
  });
73
-
74
- switch (true) {
75
- case res.ok:
76
- // The success case will be handled outside of the switch block
77
- break;
78
- case res.error instanceof SDKValidationError:
79
- // Pretty-print validation errors.
80
- return console.log(res.error.pretty());
81
- case res.error instanceof Error:
82
- return console.log(res.error);
83
- default:
84
- // TypeScript's type checking will fail on the following line if the above
85
- // cases were not exhaustive.
86
- res.error satisfies never;
87
- throw new Error("Assertion failed: expected error checks to be exhaustive: " + res.error);
66
+ if (res.ok) {
67
+ const { value: result } = res;
68
+ console.log(result);
69
+ } else {
70
+ console.log("createPepperConsumer failed:", res.error);
88
71
  }
89
-
90
-
91
- const { value: result } = res;
92
-
93
- // Handle the result
94
- console.log(result);
95
72
  }
96
73
 
97
74
  run();
package/README.md CHANGED
@@ -66,10 +66,7 @@ bun add @financeable/lenders
66
66
  ### Yarn
67
67
 
68
68
  ```bash
69
- yarn add @financeable/lenders zod
70
-
71
- # Note that Yarn does not install peer dependencies automatically. You will need
72
- # to install zod as shown above.
69
+ yarn add @financeable/lenders
73
70
  ```
74
71
 
75
72
  > [!NOTE]
@@ -175,48 +172,43 @@ import { FinanceableLenders } from "@financeable/lenders";
175
172
  const financeableLenders = new FinanceableLenders();
176
173
 
177
174
  async function run() {
178
- const result = await financeableLenders.consumers.createPepper({
175
+ const result = await financeableLenders.createPepperConsumer({
179
176
  id: "<id>",
180
177
  applicationType: "<value>",
181
178
  user: {
182
179
  email: {
183
180
  status: "<value>",
184
- address: "3183 Hoppe Drives",
181
+ address: "710 Richmond Close",
185
182
  },
186
183
  },
187
184
  entities: [],
188
- assets: [
189
- {},
190
- {},
191
- {},
192
- ],
185
+ assets: [],
193
186
  customers: [
194
187
  {
195
188
  id: "<id>",
196
189
  customerTitle: "<value>",
197
- firstName: "Mikayla",
198
- lastName: "White",
190
+ firstName: "Cornelius",
191
+ lastName: "Renner",
199
192
  idNumber: "<value>",
200
193
  idExpiryDate: "<value>",
201
194
  idCardNumber: "<value>",
202
195
  },
203
196
  ],
204
197
  loanDetails: {
205
- deposit: 3638.13,
206
- payout: 1234.78,
207
- tradeIn: 7692.67,
198
+ deposit: 1321.8,
199
+ payout: 8717.28,
200
+ tradeIn: 5190.75,
208
201
  },
209
202
  notes: "<value>",
210
203
  lenderCredentials: {
211
204
  pepperMerchantId: "<id>",
212
- pepperBaseUrl: "https://glaring-meatloaf.org",
205
+ pepperBaseUrl: "https://criminal-cosset.biz",
213
206
  pepperClientId: "<id>",
214
207
  pepperClientSecret: "<value>",
215
208
  pepperUsername: "<value>",
216
209
  },
217
210
  });
218
211
 
219
- // Handle the result
220
212
  console.log(result);
221
213
  }
222
214
 
@@ -231,10 +223,9 @@ run();
231
223
  <details open>
232
224
  <summary>Available methods</summary>
233
225
 
234
- ### [consumers](docs/sdks/consumers/README.md)
235
-
236
- * [createPepper](docs/sdks/consumers/README.md#createpepper) - Pepper Consumer route
226
+ ### [FinanceableLenders SDK](docs/sdks/financeablelenders/README.md)
237
227
 
228
+ * [createPepperConsumer](docs/sdks/financeablelenders/README.md#createpepperconsumer) - Pepper Consumer route
238
229
 
239
230
  </details>
240
231
  <!-- End Available Resources and Operations [operations] -->
@@ -254,7 +245,7 @@ To read more about standalone functions, check [FUNCTIONS.md](./FUNCTIONS.md).
254
245
 
255
246
  <summary>Available standalone functions</summary>
256
247
 
257
- - [`consumersCreatePepper`](docs/sdks/consumers/README.md#createpepper) - Pepper Consumer route
248
+ - [`createPepperConsumer`](docs/sdks/financeablelenders/README.md#createpepperconsumer) - Pepper Consumer route
258
249
 
259
250
  </details>
260
251
  <!-- End Standalone functions [standalone-funcs] -->
@@ -271,41 +262,37 @@ import { FinanceableLenders } from "@financeable/lenders";
271
262
  const financeableLenders = new FinanceableLenders();
272
263
 
273
264
  async function run() {
274
- const result = await financeableLenders.consumers.createPepper({
265
+ const result = await financeableLenders.createPepperConsumer({
275
266
  id: "<id>",
276
267
  applicationType: "<value>",
277
268
  user: {
278
269
  email: {
279
270
  status: "<value>",
280
- address: "3183 Hoppe Drives",
271
+ address: "710 Richmond Close",
281
272
  },
282
273
  },
283
274
  entities: [],
284
- assets: [
285
- {},
286
- {},
287
- {},
288
- ],
275
+ assets: [],
289
276
  customers: [
290
277
  {
291
278
  id: "<id>",
292
279
  customerTitle: "<value>",
293
- firstName: "Mikayla",
294
- lastName: "White",
280
+ firstName: "Cornelius",
281
+ lastName: "Renner",
295
282
  idNumber: "<value>",
296
283
  idExpiryDate: "<value>",
297
284
  idCardNumber: "<value>",
298
285
  },
299
286
  ],
300
287
  loanDetails: {
301
- deposit: 3638.13,
302
- payout: 1234.78,
303
- tradeIn: 7692.67,
288
+ deposit: 1321.8,
289
+ payout: 8717.28,
290
+ tradeIn: 5190.75,
304
291
  },
305
292
  notes: "<value>",
306
293
  lenderCredentials: {
307
294
  pepperMerchantId: "<id>",
308
- pepperBaseUrl: "https://glaring-meatloaf.org",
295
+ pepperBaseUrl: "https://criminal-cosset.biz",
309
296
  pepperClientId: "<id>",
310
297
  pepperClientSecret: "<value>",
311
298
  pepperUsername: "<value>",
@@ -323,7 +310,6 @@ async function run() {
323
310
  },
324
311
  });
325
312
 
326
- // Handle the result
327
313
  console.log(result);
328
314
  }
329
315
 
@@ -349,48 +335,43 @@ const financeableLenders = new FinanceableLenders({
349
335
  });
350
336
 
351
337
  async function run() {
352
- const result = await financeableLenders.consumers.createPepper({
338
+ const result = await financeableLenders.createPepperConsumer({
353
339
  id: "<id>",
354
340
  applicationType: "<value>",
355
341
  user: {
356
342
  email: {
357
343
  status: "<value>",
358
- address: "3183 Hoppe Drives",
344
+ address: "710 Richmond Close",
359
345
  },
360
346
  },
361
347
  entities: [],
362
- assets: [
363
- {},
364
- {},
365
- {},
366
- ],
348
+ assets: [],
367
349
  customers: [
368
350
  {
369
351
  id: "<id>",
370
352
  customerTitle: "<value>",
371
- firstName: "Mikayla",
372
- lastName: "White",
353
+ firstName: "Cornelius",
354
+ lastName: "Renner",
373
355
  idNumber: "<value>",
374
356
  idExpiryDate: "<value>",
375
357
  idCardNumber: "<value>",
376
358
  },
377
359
  ],
378
360
  loanDetails: {
379
- deposit: 3638.13,
380
- payout: 1234.78,
381
- tradeIn: 7692.67,
361
+ deposit: 1321.8,
362
+ payout: 8717.28,
363
+ tradeIn: 5190.75,
382
364
  },
383
365
  notes: "<value>",
384
366
  lenderCredentials: {
385
367
  pepperMerchantId: "<id>",
386
- pepperBaseUrl: "https://glaring-meatloaf.org",
368
+ pepperBaseUrl: "https://criminal-cosset.biz",
387
369
  pepperClientId: "<id>",
388
370
  pepperClientSecret: "<value>",
389
371
  pepperUsername: "<value>",
390
372
  },
391
373
  });
392
374
 
393
- // Handle the result
394
375
  console.log(result);
395
376
  }
396
377
 
@@ -402,118 +383,76 @@ run();
402
383
  <!-- Start Error Handling [errors] -->
403
384
  ## Error Handling
404
385
 
405
- Some methods specify known errors which can be thrown. All the known errors are enumerated in the `models/errors/errors.ts` module. The known errors for a method are documented under the *Errors* tables in SDK docs. For example, the `createPepper` method may throw the following errors:
386
+ [`FinanceableLendersError`](./src/models/errors/financeablelenderserror.ts) is the base class for all HTTP error responses. It has the following properties:
406
387
 
407
- | Error Type | Status Code | Content Type |
408
- | ----------------------------------------------------------- | ----------- | ---------------- |
409
- | errors.CreatePepperConsumerResponseBody | 400 | application/json |
410
- | errors.CreatePepperConsumerConsumersResponseBody | 401 | application/json |
411
- | errors.CreatePepperConsumerConsumersResponseResponseBody | 403 | application/json |
412
- | errors.CreatePepperConsumerConsumersResponse404ResponseBody | 404 | application/json |
413
- | errors.CreatePepperConsumerConsumersResponse500ResponseBody | 500 | application/json |
414
- | errors.APIError | 4XX, 5XX | \*/\* |
415
-
416
- If the method throws an error and it is not captured by the known errors, it will default to throwing a `APIError`.
388
+ | Property | Type | Description |
389
+ | ------------------- | ---------- | --------------------------------------------------------------------------------------- |
390
+ | `error.message` | `string` | Error message |
391
+ | `error.statusCode` | `number` | HTTP response status code eg `404` |
392
+ | `error.headers` | `Headers` | HTTP response headers |
393
+ | `error.body` | `string` | HTTP body. Can be empty string if no body is returned. |
394
+ | `error.rawResponse` | `Response` | Raw HTTP response |
395
+ | `error.data$` | | Optional. Some errors may contain structured data. [See Error Classes](#error-classes). |
417
396
 
397
+ ### Example
418
398
  ```typescript
419
399
  import { FinanceableLenders } from "@financeable/lenders";
420
- import {
421
- CreatePepperConsumerConsumersResponse404ResponseBody,
422
- CreatePepperConsumerConsumersResponse500ResponseBody,
423
- CreatePepperConsumerConsumersResponseBody,
424
- CreatePepperConsumerConsumersResponseResponseBody,
425
- CreatePepperConsumerResponseBody,
426
- SDKValidationError,
427
- } from "@financeable/lenders/models/errors";
400
+ import * as errors from "@financeable/lenders/models/errors";
428
401
 
429
402
  const financeableLenders = new FinanceableLenders();
430
403
 
431
404
  async function run() {
432
- let result;
433
405
  try {
434
- result = await financeableLenders.consumers.createPepper({
406
+ const result = await financeableLenders.createPepperConsumer({
435
407
  id: "<id>",
436
408
  applicationType: "<value>",
437
409
  user: {
438
410
  email: {
439
411
  status: "<value>",
440
- address: "3183 Hoppe Drives",
412
+ address: "710 Richmond Close",
441
413
  },
442
414
  },
443
415
  entities: [],
444
- assets: [
445
- {},
446
- {},
447
- {},
448
- ],
416
+ assets: [],
449
417
  customers: [
450
418
  {
451
419
  id: "<id>",
452
420
  customerTitle: "<value>",
453
- firstName: "Mikayla",
454
- lastName: "White",
421
+ firstName: "Cornelius",
422
+ lastName: "Renner",
455
423
  idNumber: "<value>",
456
424
  idExpiryDate: "<value>",
457
425
  idCardNumber: "<value>",
458
426
  },
459
427
  ],
460
428
  loanDetails: {
461
- deposit: 3638.13,
462
- payout: 1234.78,
463
- tradeIn: 7692.67,
429
+ deposit: 1321.8,
430
+ payout: 8717.28,
431
+ tradeIn: 5190.75,
464
432
  },
465
433
  notes: "<value>",
466
434
  lenderCredentials: {
467
435
  pepperMerchantId: "<id>",
468
- pepperBaseUrl: "https://glaring-meatloaf.org",
436
+ pepperBaseUrl: "https://criminal-cosset.biz",
469
437
  pepperClientId: "<id>",
470
438
  pepperClientSecret: "<value>",
471
439
  pepperUsername: "<value>",
472
440
  },
473
441
  });
474
442
 
475
- // Handle the result
476
443
  console.log(result);
477
- } catch (err) {
478
- switch (true) {
479
- // The server response does not match the expected SDK schema
480
- case (err instanceof SDKValidationError): {
481
- // Pretty-print will provide a human-readable multi-line error message
482
- console.error(err.pretty());
483
- // Raw value may also be inspected
484
- console.error(err.rawValue);
485
- return;
486
- }
487
- case (err instanceof CreatePepperConsumerResponseBody): {
488
- // Handle err.data$: CreatePepperConsumerResponseBodyData
489
- console.error(err);
490
- return;
491
- }
492
- case (err instanceof CreatePepperConsumerConsumersResponseBody): {
493
- // Handle err.data$: CreatePepperConsumerConsumersResponseBodyData
494
- console.error(err);
495
- return;
496
- }
497
- case (err instanceof CreatePepperConsumerConsumersResponseResponseBody): {
498
- // Handle err.data$: CreatePepperConsumerConsumersResponseResponseBodyData
499
- console.error(err);
500
- return;
501
- }
502
- case (err
503
- instanceof CreatePepperConsumerConsumersResponse404ResponseBody): {
504
- // Handle err.data$: CreatePepperConsumerConsumersResponse404ResponseBodyData
505
- console.error(err);
506
- return;
507
- }
508
- case (err
509
- instanceof CreatePepperConsumerConsumersResponse500ResponseBody): {
510
- // Handle err.data$: CreatePepperConsumerConsumersResponse500ResponseBodyData
511
- console.error(err);
512
- return;
513
- }
514
- default: {
515
- // Other errors such as network errors, see HTTPClientErrors for more details
516
- throw err;
444
+ } catch (error) {
445
+ // The base class for HTTP error responses
446
+ if (error instanceof errors.FinanceableLendersError) {
447
+ console.log(error.message);
448
+ console.log(error.statusCode);
449
+ console.log(error.body);
450
+ console.log(error.headers);
451
+
452
+ // Depending on the method different errors may be thrown
453
+ if (error instanceof errors.CreatePepperConsumerResponseBody) {
454
+ console.log(error.data$.lender); // components.Lenders
455
+ console.log(error.data$.errors); // ApiError[][]
517
456
  }
518
457
  }
519
458
  }
@@ -523,17 +462,31 @@ run();
523
462
 
524
463
  ```
525
464
 
526
- Validation errors can also occur when either method arguments or data returned from the server do not match the expected format. The `SDKValidationError` that is thrown as a result will capture the raw value that failed validation in an attribute called `rawValue`. Additionally, a `pretty()` method is available on this error that can be used to log a nicely formatted multi-line string since validation errors can list many issues and the plain error string may be difficult read when debugging.
465
+ ### Error Classes
466
+ **Primary errors:**
467
+ * [`FinanceableLendersError`](./src/models/errors/financeablelenderserror.ts): The base class for HTTP error responses.
468
+ * [`CreatePepperConsumerResponseBody`](./src/models/errors/createpepperconsumerresponsebody.ts): The server could not understand the request due to invalid syntax. Status code `400`.
469
+ * [`CreatePepperConsumerResponseResponseBody`](./src/models/errors/createpepperconsumerresponseresponsebody.ts): Access is unauthorized. Status code `401`.
470
+ * [`CreatePepperConsumerResponse403ResponseBody`](./src/models/errors/createpepperconsumerresponse403responsebody.ts): Access is forbidden. Status code `403`.
471
+ * [`CreatePepperConsumerResponse404ResponseBody`](./src/models/errors/createpepperconsumerresponse404responsebody.ts): The server cannot find the requested resource. Status code `404`.
472
+ * [`CreatePepperConsumerResponse500ResponseBody`](./src/models/errors/createpepperconsumerresponse500responsebody.ts): Server error. Status code `500`.
473
+
474
+ <details><summary>Less common errors (6)</summary>
527
475
 
528
- In some rare cases, the SDK can fail to get a response from the server or even make the request due to unexpected circumstances such as network conditions. These types of errors are captured in the `models/errors/httpclienterrors.ts` module:
476
+ <br />
529
477
 
530
- | HTTP Client Error | Description |
531
- | ---------------------------------------------------- | ---------------------------------------------------- |
532
- | RequestAbortedError | HTTP request was aborted by the client |
533
- | RequestTimeoutError | HTTP request timed out due to an AbortSignal signal |
534
- | ConnectionError | HTTP client was unable to make a request to a server |
535
- | InvalidRequestError | Any input used to create a request is invalid |
536
- | UnexpectedClientError | Unrecognised or unexpected error |
478
+ **Network errors:**
479
+ * [`ConnectionError`](./src/models/errors/httpclienterrors.ts): HTTP client was unable to make a request to a server.
480
+ * [`RequestTimeoutError`](./src/models/errors/httpclienterrors.ts): HTTP request timed out due to an AbortSignal signal.
481
+ * [`RequestAbortedError`](./src/models/errors/httpclienterrors.ts): HTTP request was aborted by the client.
482
+ * [`InvalidRequestError`](./src/models/errors/httpclienterrors.ts): Any input used to create a request is invalid.
483
+ * [`UnexpectedClientError`](./src/models/errors/httpclienterrors.ts): Unrecognised or unexpected error.
484
+
485
+
486
+ **Inherit from [`FinanceableLendersError`](./src/models/errors/financeablelenderserror.ts)**:
487
+ * [`ResponseValidationError`](./src/models/errors/responsevalidationerror.ts): Type mismatch between the data returned from the server and the structure expected by the SDK. See `error.rawValue` for the raw value and `error.pretty()` for a nicely formatted multi-line string.
488
+
489
+ </details>
537
490
  <!-- End Error Handling [errors] -->
538
491
 
539
492
  <!-- Start Server Selection [server] -->
@@ -550,48 +503,43 @@ const financeableLenders = new FinanceableLenders({
550
503
  });
551
504
 
552
505
  async function run() {
553
- const result = await financeableLenders.consumers.createPepper({
506
+ const result = await financeableLenders.createPepperConsumer({
554
507
  id: "<id>",
555
508
  applicationType: "<value>",
556
509
  user: {
557
510
  email: {
558
511
  status: "<value>",
559
- address: "3183 Hoppe Drives",
512
+ address: "710 Richmond Close",
560
513
  },
561
514
  },
562
515
  entities: [],
563
- assets: [
564
- {},
565
- {},
566
- {},
567
- ],
516
+ assets: [],
568
517
  customers: [
569
518
  {
570
519
  id: "<id>",
571
520
  customerTitle: "<value>",
572
- firstName: "Mikayla",
573
- lastName: "White",
521
+ firstName: "Cornelius",
522
+ lastName: "Renner",
574
523
  idNumber: "<value>",
575
524
  idExpiryDate: "<value>",
576
525
  idCardNumber: "<value>",
577
526
  },
578
527
  ],
579
528
  loanDetails: {
580
- deposit: 3638.13,
581
- payout: 1234.78,
582
- tradeIn: 7692.67,
529
+ deposit: 1321.8,
530
+ payout: 8717.28,
531
+ tradeIn: 5190.75,
583
532
  },
584
533
  notes: "<value>",
585
534
  lenderCredentials: {
586
535
  pepperMerchantId: "<id>",
587
- pepperBaseUrl: "https://glaring-meatloaf.org",
536
+ pepperBaseUrl: "https://criminal-cosset.biz",
588
537
  pepperClientId: "<id>",
589
538
  pepperClientSecret: "<value>",
590
539
  pepperUsername: "<value>",
591
540
  },
592
541
  });
593
542
 
594
- // Handle the result
595
543
  console.log(result);
596
544
  }
597
545
 
@@ -645,7 +593,7 @@ httpClient.addHook("requestError", (error, request) => {
645
593
  console.groupEnd();
646
594
  });
647
595
 
648
- const sdk = new FinanceableLenders({ httpClient });
596
+ const sdk = new FinanceableLenders({ httpClient: httpClient });
649
597
  ```
650
598
  <!-- End Custom HTTP Client [http-client] -->
651
599
 
package/RUNTIMES.md CHANGED
@@ -2,9 +2,9 @@
2
2
 
3
3
  This SDK is intended to be used in JavaScript runtimes that support ECMAScript 2020 or newer. The SDK uses the following features:
4
4
 
5
- * [Web Fetch API][web-fetch]
6
- * [Web Streams API][web-streams] and in particular `ReadableStream`
7
- * [Async iterables][async-iter] using `Symbol.asyncIterator`
5
+ - [Web Fetch API][web-fetch]
6
+ - [Web Streams API][web-streams] and in particular `ReadableStream`
7
+ - [Async iterables][async-iter] using `Symbol.asyncIterator`
8
8
 
9
9
  [web-fetch]: https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API
10
10
  [web-streams]: https://developer.mozilla.org/en-US/docs/Web/API/Streams_API
@@ -25,7 +25,7 @@ Runtime environments that are explicitly supported are:
25
25
 
26
26
  The following `tsconfig.json` options are recommended for projects using this
27
27
  SDK in order to get static type support for features like async iterables,
28
- streams and `fetch`-related APIs ([`for await...of`][for-await-of],
28
+ streams and `fetch`-related APIs ([`for await...of`][for-await-of],
29
29
  [`AbortSignal`][abort-signal], [`Request`][request], [`Response`][response] and
30
30
  so on):
31
31
 
@@ -38,11 +38,11 @@ so on):
38
38
  {
39
39
  "compilerOptions": {
40
40
  "target": "es2020", // or higher
41
- "lib": ["es2020", "dom", "dom.iterable"],
41
+ "lib": ["es2020", "dom", "dom.iterable"]
42
42
  }
43
43
  }
44
44
  ```
45
45
 
46
46
  While `target` can be set to older ECMAScript versions, it may result in extra,
47
47
  unnecessary compatibility code being generated if you are not targeting old
48
- runtimes.
48
+ runtimes.