@revenexx/node 0.1.0 → 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 (342) hide show
  1. package/README.md +3 -0
  2. package/dist/client.d.mts +25 -0
  3. package/dist/client.d.ts +25 -0
  4. package/dist/client.js +39 -18
  5. package/dist/client.js.map +1 -1
  6. package/dist/client.mjs +35 -14
  7. package/dist/client.mjs.map +1 -1
  8. package/dist/enums/approval-rule-approver-type.d.mts +7 -0
  9. package/dist/enums/approval-rule-approver-type.d.ts +7 -0
  10. package/dist/enums/approval-rule-approver-type.js +12 -0
  11. package/dist/enums/approval-rule-approver-type.js.map +1 -0
  12. package/dist/enums/approval-rule-approver-type.mjs +11 -0
  13. package/dist/enums/approval-rule-approver-type.mjs.map +1 -0
  14. package/dist/enums/approval-rule-condition.d.mts +10 -0
  15. package/dist/enums/approval-rule-condition.d.ts +10 -0
  16. package/dist/enums/approval-rule-condition.js +15 -0
  17. package/dist/enums/approval-rule-condition.js.map +1 -0
  18. package/dist/enums/approval-rule-condition.mjs +14 -0
  19. package/dist/enums/approval-rule-condition.mjs.map +1 -0
  20. package/dist/enums/approval-rule-create-request-approver-type.d.mts +7 -0
  21. package/dist/enums/approval-rule-create-request-approver-type.d.ts +7 -0
  22. package/dist/enums/approval-rule-create-request-approver-type.js +12 -0
  23. package/dist/enums/approval-rule-create-request-approver-type.js.map +1 -0
  24. package/dist/enums/approval-rule-create-request-approver-type.mjs +11 -0
  25. package/dist/enums/approval-rule-create-request-approver-type.mjs.map +1 -0
  26. package/dist/enums/approval-rule-create-request-condition.d.mts +10 -0
  27. package/dist/enums/approval-rule-create-request-condition.d.ts +10 -0
  28. package/dist/enums/approval-rule-create-request-condition.js +15 -0
  29. package/dist/enums/approval-rule-create-request-condition.js.map +1 -0
  30. package/dist/enums/approval-rule-create-request-condition.mjs +14 -0
  31. package/dist/enums/approval-rule-create-request-condition.mjs.map +1 -0
  32. package/dist/enums/approval-rule-create-request-effect.d.mts +7 -0
  33. package/dist/enums/approval-rule-create-request-effect.d.ts +7 -0
  34. package/dist/enums/approval-rule-create-request-effect.js +12 -0
  35. package/dist/enums/approval-rule-create-request-effect.js.map +1 -0
  36. package/dist/enums/approval-rule-create-request-effect.mjs +11 -0
  37. package/dist/enums/approval-rule-create-request-effect.mjs.map +1 -0
  38. package/dist/enums/approval-rule-effect.d.mts +7 -0
  39. package/dist/enums/approval-rule-effect.d.ts +7 -0
  40. package/dist/enums/approval-rule-effect.js +12 -0
  41. package/dist/enums/approval-rule-effect.js.map +1 -0
  42. package/dist/enums/approval-rule-effect.mjs +11 -0
  43. package/dist/enums/approval-rule-effect.mjs.map +1 -0
  44. package/dist/enums/approval-rule-update-request-approver-type.d.mts +7 -0
  45. package/dist/enums/approval-rule-update-request-approver-type.d.ts +7 -0
  46. package/dist/enums/approval-rule-update-request-approver-type.js +12 -0
  47. package/dist/enums/approval-rule-update-request-approver-type.js.map +1 -0
  48. package/dist/enums/approval-rule-update-request-approver-type.mjs +11 -0
  49. package/dist/enums/approval-rule-update-request-approver-type.mjs.map +1 -0
  50. package/dist/enums/approval-rule-update-request-condition.d.mts +10 -0
  51. package/dist/enums/approval-rule-update-request-condition.d.ts +10 -0
  52. package/dist/enums/approval-rule-update-request-condition.js +15 -0
  53. package/dist/enums/approval-rule-update-request-condition.js.map +1 -0
  54. package/dist/enums/approval-rule-update-request-condition.mjs +14 -0
  55. package/dist/enums/approval-rule-update-request-condition.mjs.map +1 -0
  56. package/dist/enums/approval-rule-update-request-effect.d.mts +7 -0
  57. package/dist/enums/approval-rule-update-request-effect.d.ts +7 -0
  58. package/dist/enums/approval-rule-update-request-effect.js +12 -0
  59. package/dist/enums/approval-rule-update-request-effect.js.map +1 -0
  60. package/dist/enums/approval-rule-update-request-effect.mjs +11 -0
  61. package/dist/enums/approval-rule-update-request-effect.mjs.map +1 -0
  62. package/dist/enums/approver-type.d.mts +7 -0
  63. package/dist/enums/approver-type.d.ts +7 -0
  64. package/dist/enums/approver-type.js +12 -0
  65. package/dist/enums/approver-type.js.map +1 -0
  66. package/dist/enums/approver-type.mjs +11 -0
  67. package/dist/enums/approver-type.mjs.map +1 -0
  68. package/dist/enums/condition.d.mts +10 -0
  69. package/dist/enums/condition.d.ts +10 -0
  70. package/dist/enums/condition.js +15 -0
  71. package/dist/enums/condition.js.map +1 -0
  72. package/dist/enums/condition.mjs +14 -0
  73. package/dist/enums/condition.mjs.map +1 -0
  74. package/dist/enums/effect.d.mts +7 -0
  75. package/dist/enums/effect.d.ts +7 -0
  76. package/dist/enums/effect.js +12 -0
  77. package/dist/enums/effect.js.map +1 -0
  78. package/dist/enums/effect.mjs +11 -0
  79. package/dist/enums/effect.mjs.map +1 -0
  80. package/dist/enums/pending-approval-approver-type.d.mts +7 -0
  81. package/dist/enums/pending-approval-approver-type.d.ts +7 -0
  82. package/dist/enums/pending-approval-approver-type.js +12 -0
  83. package/dist/enums/pending-approval-approver-type.js.map +1 -0
  84. package/dist/enums/pending-approval-approver-type.mjs +11 -0
  85. package/dist/enums/pending-approval-approver-type.mjs.map +1 -0
  86. package/dist/enums/pending-approval-status.d.mts +7 -0
  87. package/dist/enums/pending-approval-status.d.ts +7 -0
  88. package/dist/enums/pending-approval-status.js +12 -0
  89. package/dist/enums/pending-approval-status.js.map +1 -0
  90. package/dist/enums/pending-approval-status.mjs +11 -0
  91. package/dist/enums/pending-approval-status.mjs.map +1 -0
  92. package/dist/enums/procurement-purchase-request-items-create-type.d.mts +7 -0
  93. package/dist/enums/procurement-purchase-request-items-create-type.d.ts +7 -0
  94. package/dist/enums/procurement-purchase-request-items-create-type.js +12 -0
  95. package/dist/enums/procurement-purchase-request-items-create-type.js.map +1 -0
  96. package/dist/enums/procurement-purchase-request-items-create-type.mjs +11 -0
  97. package/dist/enums/procurement-purchase-request-items-create-type.mjs.map +1 -0
  98. package/dist/enums/purchase-request-event-name.d.mts +12 -0
  99. package/dist/enums/purchase-request-event-name.d.ts +12 -0
  100. package/dist/enums/purchase-request-event-name.js +17 -0
  101. package/dist/enums/purchase-request-event-name.js.map +1 -0
  102. package/dist/enums/purchase-request-event-name.mjs +16 -0
  103. package/dist/enums/purchase-request-event-name.mjs.map +1 -0
  104. package/dist/enums/purchase-request-item-create-request-type.d.mts +7 -0
  105. package/dist/enums/purchase-request-item-create-request-type.d.ts +7 -0
  106. package/dist/enums/purchase-request-item-create-request-type.js +12 -0
  107. package/dist/enums/purchase-request-item-create-request-type.js.map +1 -0
  108. package/dist/enums/purchase-request-item-create-request-type.mjs +11 -0
  109. package/dist/enums/purchase-request-item-create-request-type.mjs.map +1 -0
  110. package/dist/enums/purchase-request-item-type.d.mts +7 -0
  111. package/dist/enums/purchase-request-item-type.d.ts +7 -0
  112. package/dist/enums/purchase-request-item-type.js +12 -0
  113. package/dist/enums/purchase-request-item-type.js.map +1 -0
  114. package/dist/enums/purchase-request-item-type.mjs +11 -0
  115. package/dist/enums/purchase-request-item-type.mjs.map +1 -0
  116. package/dist/enums/purchase-request-item-update-request-type.d.mts +7 -0
  117. package/dist/enums/purchase-request-item-update-request-type.d.ts +7 -0
  118. package/dist/enums/purchase-request-item-update-request-type.js +12 -0
  119. package/dist/enums/purchase-request-item-update-request-type.js.map +1 -0
  120. package/dist/enums/purchase-request-item-update-request-type.mjs +11 -0
  121. package/dist/enums/purchase-request-item-update-request-type.mjs.map +1 -0
  122. package/dist/enums/purchase-request-status.d.mts +9 -0
  123. package/dist/enums/purchase-request-status.d.ts +9 -0
  124. package/dist/enums/purchase-request-status.js +14 -0
  125. package/dist/enums/purchase-request-status.js.map +1 -0
  126. package/dist/enums/purchase-request-status.mjs +13 -0
  127. package/dist/enums/purchase-request-status.mjs.map +1 -0
  128. package/dist/enums/submit-item-type.d.mts +7 -0
  129. package/dist/enums/submit-item-type.d.ts +7 -0
  130. package/dist/enums/submit-item-type.js +12 -0
  131. package/dist/enums/submit-item-type.js.map +1 -0
  132. package/dist/enums/submit-item-type.mjs +11 -0
  133. package/dist/enums/submit-item-type.mjs.map +1 -0
  134. package/dist/enums/submit-result-outcome.d.mts +9 -0
  135. package/dist/enums/submit-result-outcome.d.ts +9 -0
  136. package/dist/enums/submit-result-outcome.js +14 -0
  137. package/dist/enums/submit-result-outcome.js.map +1 -0
  138. package/dist/enums/submit-result-outcome.mjs +13 -0
  139. package/dist/enums/submit-result-outcome.mjs.map +1 -0
  140. package/dist/index.d.mts +23 -0
  141. package/dist/index.d.ts +23 -0
  142. package/dist/index.js +115 -0
  143. package/dist/index.js.map +1 -1
  144. package/dist/index.mjs +23 -0
  145. package/dist/index.mjs.map +1 -1
  146. package/dist/inputFile.js +1 -2
  147. package/dist/inputFile.js.map +1 -1
  148. package/dist/inputFile.mjs +0 -1
  149. package/dist/inputFile.mjs.map +1 -1
  150. package/dist/models.d.mts +1027 -36
  151. package/dist/models.d.ts +1027 -36
  152. package/dist/operator.js +243 -204
  153. package/dist/operator.js.map +1 -1
  154. package/dist/operator.mjs +242 -203
  155. package/dist/operator.mjs.map +1 -1
  156. package/dist/permission.js +58 -48
  157. package/dist/permission.js.map +1 -1
  158. package/dist/permission.mjs +58 -48
  159. package/dist/permission.mjs.map +1 -1
  160. package/dist/query.js +525 -422
  161. package/dist/query.js.map +1 -1
  162. package/dist/query.mjs +524 -421
  163. package/dist/query.mjs.map +1 -1
  164. package/dist/services/apps.d.mts +18 -0
  165. package/dist/services/apps.d.ts +18 -0
  166. package/dist/services/avatars.d.mts +18 -0
  167. package/dist/services/avatars.d.ts +18 -0
  168. package/dist/services/carts-io.d.mts +46 -28
  169. package/dist/services/carts-io.d.ts +46 -28
  170. package/dist/services/carts-io.js.map +1 -1
  171. package/dist/services/carts-io.mjs.map +1 -1
  172. package/dist/services/carts-items.d.mts +42 -24
  173. package/dist/services/carts-items.d.ts +42 -24
  174. package/dist/services/carts-items.js.map +1 -1
  175. package/dist/services/carts-items.mjs.map +1 -1
  176. package/dist/services/carts.d.mts +70 -52
  177. package/dist/services/carts.d.ts +70 -52
  178. package/dist/services/carts.js.map +1 -1
  179. package/dist/services/carts.mjs.map +1 -1
  180. package/dist/services/channels.d.mts +64 -46
  181. package/dist/services/channels.d.ts +64 -46
  182. package/dist/services/channels.js +1 -1
  183. package/dist/services/channels.js.map +1 -1
  184. package/dist/services/channels.mjs +1 -1
  185. package/dist/services/channels.mjs.map +1 -1
  186. package/dist/services/cost-centers.d.mts +18 -0
  187. package/dist/services/cost-centers.d.ts +18 -0
  188. package/dist/services/customers-contacts.d.mts +62 -44
  189. package/dist/services/customers-contacts.d.ts +62 -44
  190. package/dist/services/customers-contacts.js.map +1 -1
  191. package/dist/services/customers-contacts.mjs.map +1 -1
  192. package/dist/services/customers-organizations.d.mts +58 -40
  193. package/dist/services/customers-organizations.d.ts +58 -40
  194. package/dist/services/customers-organizations.js.map +1 -1
  195. package/dist/services/customers-organizations.mjs.map +1 -1
  196. package/dist/services/customers-roles.d.mts +26 -8
  197. package/dist/services/customers-roles.d.ts +26 -8
  198. package/dist/services/customers-roles.js.map +1 -1
  199. package/dist/services/customers-roles.mjs.map +1 -1
  200. package/dist/services/customers-segments.d.mts +62 -44
  201. package/dist/services/customers-segments.d.ts +62 -44
  202. package/dist/services/customers-segments.js.map +1 -1
  203. package/dist/services/customers-segments.mjs.map +1 -1
  204. package/dist/services/customers-value-lists.d.mts +90 -72
  205. package/dist/services/customers-value-lists.d.ts +90 -72
  206. package/dist/services/customers-value-lists.js.map +1 -1
  207. package/dist/services/customers-value-lists.mjs.map +1 -1
  208. package/dist/services/customers.d.mts +78 -60
  209. package/dist/services/customers.d.ts +78 -60
  210. package/dist/services/customers.js.map +1 -1
  211. package/dist/services/customers.mjs.map +1 -1
  212. package/dist/services/events.d.mts +18 -0
  213. package/dist/services/events.d.ts +18 -0
  214. package/dist/services/forms.d.mts +66 -48
  215. package/dist/services/forms.d.ts +66 -48
  216. package/dist/services/forms.js.map +1 -1
  217. package/dist/services/forms.mjs.map +1 -1
  218. package/dist/services/health.d.mts +18 -0
  219. package/dist/services/health.d.ts +18 -0
  220. package/dist/services/inventories-locations.d.mts +38 -20
  221. package/dist/services/inventories-locations.d.ts +38 -20
  222. package/dist/services/inventories-locations.js.map +1 -1
  223. package/dist/services/inventories-locations.mjs.map +1 -1
  224. package/dist/services/inventories-reservations.d.mts +38 -20
  225. package/dist/services/inventories-reservations.d.ts +38 -20
  226. package/dist/services/inventories-reservations.js.map +1 -1
  227. package/dist/services/inventories-reservations.mjs.map +1 -1
  228. package/dist/services/inventories-stock.d.mts +70 -52
  229. package/dist/services/inventories-stock.d.ts +70 -52
  230. package/dist/services/inventories-stock.js.map +1 -1
  231. package/dist/services/inventories-stock.mjs.map +1 -1
  232. package/dist/services/io.d.mts +66 -48
  233. package/dist/services/io.d.ts +66 -48
  234. package/dist/services/io.js +2 -2
  235. package/dist/services/io.js.map +1 -1
  236. package/dist/services/io.mjs +2 -2
  237. package/dist/services/io.mjs.map +1 -1
  238. package/dist/services/locale.d.mts +18 -0
  239. package/dist/services/locale.d.ts +18 -0
  240. package/dist/services/markets.d.mts +122 -104
  241. package/dist/services/markets.d.ts +122 -104
  242. package/dist/services/markets.js.map +1 -1
  243. package/dist/services/markets.mjs.map +1 -1
  244. package/dist/services/messaging.d.mts +194 -176
  245. package/dist/services/messaging.d.ts +194 -176
  246. package/dist/services/messaging.js +3 -3
  247. package/dist/services/messaging.js.map +1 -1
  248. package/dist/services/messaging.mjs +3 -3
  249. package/dist/services/messaging.mjs.map +1 -1
  250. package/dist/services/orderlists.d.mts +96 -78
  251. package/dist/services/orderlists.d.ts +96 -78
  252. package/dist/services/orderlists.js +1 -1
  253. package/dist/services/orderlists.js.map +1 -1
  254. package/dist/services/orderlists.mjs +1 -1
  255. package/dist/services/orderlists.mjs.map +1 -1
  256. package/dist/services/orders.d.mts +114 -96
  257. package/dist/services/orders.d.ts +114 -96
  258. package/dist/services/orders.js.map +1 -1
  259. package/dist/services/orders.mjs.map +1 -1
  260. package/dist/services/pages-collaboration.d.mts +34 -16
  261. package/dist/services/pages-collaboration.d.ts +34 -16
  262. package/dist/services/pages-collaboration.js.map +1 -1
  263. package/dist/services/pages-collaboration.mjs.map +1 -1
  264. package/dist/services/pages-delivery.d.mts +26 -8
  265. package/dist/services/pages-delivery.d.ts +26 -8
  266. package/dist/services/pages-delivery.js.map +1 -1
  267. package/dist/services/pages-delivery.mjs.map +1 -1
  268. package/dist/services/pages-editor.d.mts +34 -16
  269. package/dist/services/pages-editor.d.ts +34 -16
  270. package/dist/services/pages-editor.js.map +1 -1
  271. package/dist/services/pages-editor.mjs.map +1 -1
  272. package/dist/services/pages.d.mts +82 -64
  273. package/dist/services/pages.d.ts +82 -64
  274. package/dist/services/pages.js.map +1 -1
  275. package/dist/services/pages.mjs.map +1 -1
  276. package/dist/services/payments-ledger.d.mts +54 -36
  277. package/dist/services/payments-ledger.d.ts +54 -36
  278. package/dist/services/payments-ledger.js.map +1 -1
  279. package/dist/services/payments-ledger.mjs.map +1 -1
  280. package/dist/services/payments-methods.d.mts +34 -16
  281. package/dist/services/payments-methods.d.ts +34 -16
  282. package/dist/services/payments-methods.js.map +1 -1
  283. package/dist/services/payments-methods.mjs.map +1 -1
  284. package/dist/services/payments-providers.d.mts +38 -20
  285. package/dist/services/payments-providers.d.ts +38 -20
  286. package/dist/services/payments-providers.js.map +1 -1
  287. package/dist/services/payments-providers.mjs.map +1 -1
  288. package/dist/services/prices.d.mts +86 -68
  289. package/dist/services/prices.d.ts +86 -68
  290. package/dist/services/prices.js.map +1 -1
  291. package/dist/services/prices.mjs.map +1 -1
  292. package/dist/services/procurement.d.mts +991 -0
  293. package/dist/services/procurement.d.ts +991 -0
  294. package/dist/services/procurement.js +1185 -0
  295. package/dist/services/procurement.js.map +1 -0
  296. package/dist/services/procurement.mjs +1184 -0
  297. package/dist/services/procurement.mjs.map +1 -0
  298. package/dist/services/products-assets.d.mts +34 -16
  299. package/dist/services/products-assets.d.ts +34 -16
  300. package/dist/services/products-assets.js.map +1 -1
  301. package/dist/services/products-assets.mjs.map +1 -1
  302. package/dist/services/products-categories.d.mts +66 -48
  303. package/dist/services/products-categories.d.ts +66 -48
  304. package/dist/services/products-categories.js.map +1 -1
  305. package/dist/services/products-categories.mjs.map +1 -1
  306. package/dist/services/products-data-model.d.mts +166 -148
  307. package/dist/services/products-data-model.d.ts +166 -148
  308. package/dist/services/products-data-model.js.map +1 -1
  309. package/dist/services/products-data-model.mjs.map +1 -1
  310. package/dist/services/products-references.d.mts +50 -32
  311. package/dist/services/products-references.d.ts +50 -32
  312. package/dist/services/products-references.js.map +1 -1
  313. package/dist/services/products-references.mjs.map +1 -1
  314. package/dist/services/products.d.mts +70 -52
  315. package/dist/services/products.d.ts +70 -52
  316. package/dist/services/products.js.map +1 -1
  317. package/dist/services/products.mjs.map +1 -1
  318. package/dist/services/search.d.mts +40 -22
  319. package/dist/services/search.d.ts +40 -22
  320. package/dist/services/search.js +1 -1
  321. package/dist/services/search.js.map +1 -1
  322. package/dist/services/search.mjs +1 -1
  323. package/dist/services/search.mjs.map +1 -1
  324. package/dist/services/settings.d.mts +18 -0
  325. package/dist/services/settings.d.ts +18 -0
  326. package/dist/services/shipping-carriers.d.mts +42 -24
  327. package/dist/services/shipping-carriers.d.ts +42 -24
  328. package/dist/services/shipping-carriers.js.map +1 -1
  329. package/dist/services/shipping-carriers.mjs.map +1 -1
  330. package/dist/services/shipping-methods.d.mts +70 -52
  331. package/dist/services/shipping-methods.d.ts +70 -52
  332. package/dist/services/shipping-methods.js.map +1 -1
  333. package/dist/services/shipping-methods.mjs.map +1 -1
  334. package/dist/services/shipping-value-lists.d.mts +62 -44
  335. package/dist/services/shipping-value-lists.d.ts +62 -44
  336. package/dist/services/shipping-value-lists.js.map +1 -1
  337. package/dist/services/shipping-value-lists.mjs.map +1 -1
  338. package/dist/services/sites.d.mts +18 -0
  339. package/dist/services/sites.d.ts +18 -0
  340. package/dist/services/storage.d.mts +18 -0
  341. package/dist/services/storage.d.ts +18 -0
  342. package/package.json +6 -3
package/README.md CHANGED
@@ -13,6 +13,9 @@ Revenexx Node.js SDK for server-side applications.
13
13
 
14
14
  ## Installation
15
15
 
16
+ Requires **Node.js 20.18.1 or newer** — the client uses the runtime's built-in
17
+ `fetch`, `FormData` and `File`.
18
+
16
19
  To install via [NPM](https://www.npmjs.com/):
17
20
 
18
21
  ```bash
package/dist/client.d.mts CHANGED
@@ -3,6 +3,15 @@ export { Query, QueryTypes, QueryTypesList } from './query.mjs';
3
3
  import './enums/address-type-row-tone.mjs';
4
4
  import './enums/address-type-row-create-request-tone.mjs';
5
5
  import './enums/address-type-row-update-request-tone.mjs';
6
+ import './enums/approval-rule-approver-type.mjs';
7
+ import './enums/approval-rule-condition.mjs';
8
+ import './enums/approval-rule-effect.mjs';
9
+ import './enums/approval-rule-create-request-approver-type.mjs';
10
+ import './enums/approval-rule-create-request-condition.mjs';
11
+ import './enums/approval-rule-create-request-effect.mjs';
12
+ import './enums/approval-rule-update-request-approver-type.mjs';
13
+ import './enums/approval-rule-update-request-condition.mjs';
14
+ import './enums/approval-rule-update-request-effect.mjs';
6
15
  import './enums/assets-source.mjs';
7
16
  import './enums/attribute-value-bucket.mjs';
8
17
  import './enums/auth-mail-source.mjs';
@@ -116,6 +125,8 @@ import './enums/payment-term-tone.mjs';
116
125
  import './enums/payment-term-create-request-tone.mjs';
117
126
  import './enums/payment-term-update-request-tone.mjs';
118
127
  import './enums/payment-vocabulary-tone.mjs';
128
+ import './enums/pending-approval-approver-type.mjs';
129
+ import './enums/pending-approval-status.mjs';
119
130
  import './enums/price-ending-rule.mjs';
120
131
  import './enums/price-entries-adjust-response-rounding.mjs';
121
132
  import './enums/price-entries-adjust-response-rounding-mode.mjs';
@@ -138,6 +149,11 @@ import './enums/product-grid-column-source.mjs';
138
149
  import './enums/product-label-source.mjs';
139
150
  import './enums/product-label-attribute-source.mjs';
140
151
  import './enums/products-kind.mjs';
152
+ import './enums/purchase-request-status.mjs';
153
+ import './enums/purchase-request-event-name.mjs';
154
+ import './enums/purchase-request-item-type.mjs';
155
+ import './enums/purchase-request-item-create-request-type.mjs';
156
+ import './enums/purchase-request-item-update-request-type.mjs';
141
157
  import './enums/reorder-point-source.mjs';
142
158
  import './enums/reservation-status.mjs';
143
159
  import './enums/price-on-request-reason.mjs';
@@ -175,6 +191,8 @@ import './enums/shipping-weight-unit-row-tone.mjs';
175
191
  import './enums/shipping-weight-unit-update-request-tone.mjs';
176
192
  import './enums/stock-movement-type.mjs';
177
193
  import './enums/store-asset-request-visibility.mjs';
194
+ import './enums/submit-item-type.mjs';
195
+ import './enums/submit-result-outcome.mjs';
178
196
  import './enums/validation-failed-response-status.mjs';
179
197
  import './enums/vocabulary-default-tone.mjs';
180
198
  import './enums/vocabulary-source.mjs';
@@ -318,6 +336,13 @@ declare class Client {
318
336
  * @return {this}
319
337
  */
320
338
  setMarket(value: string): this;
339
+ /**
340
+ * Extra `fetch` options for this client's TLS settings.
341
+ *
342
+ * Empty unless `setSelfSigned(true)` was called, so the default path stays
343
+ * on the platform `fetch` with certificate verification intact.
344
+ */
345
+ private dispatcherOptions;
321
346
  prepareRequest(method: string, url: URL, headers?: Headers, params?: Payload): {
322
347
  uri: string;
323
348
  options: RequestInit;
package/dist/client.d.ts CHANGED
@@ -3,6 +3,15 @@ export { Query, QueryTypes, QueryTypesList } from './query.js';
3
3
  import './enums/address-type-row-tone.js';
4
4
  import './enums/address-type-row-create-request-tone.js';
5
5
  import './enums/address-type-row-update-request-tone.js';
6
+ import './enums/approval-rule-approver-type.js';
7
+ import './enums/approval-rule-condition.js';
8
+ import './enums/approval-rule-effect.js';
9
+ import './enums/approval-rule-create-request-approver-type.js';
10
+ import './enums/approval-rule-create-request-condition.js';
11
+ import './enums/approval-rule-create-request-effect.js';
12
+ import './enums/approval-rule-update-request-approver-type.js';
13
+ import './enums/approval-rule-update-request-condition.js';
14
+ import './enums/approval-rule-update-request-effect.js';
6
15
  import './enums/assets-source.js';
7
16
  import './enums/attribute-value-bucket.js';
8
17
  import './enums/auth-mail-source.js';
@@ -116,6 +125,8 @@ import './enums/payment-term-tone.js';
116
125
  import './enums/payment-term-create-request-tone.js';
117
126
  import './enums/payment-term-update-request-tone.js';
118
127
  import './enums/payment-vocabulary-tone.js';
128
+ import './enums/pending-approval-approver-type.js';
129
+ import './enums/pending-approval-status.js';
119
130
  import './enums/price-ending-rule.js';
120
131
  import './enums/price-entries-adjust-response-rounding.js';
121
132
  import './enums/price-entries-adjust-response-rounding-mode.js';
@@ -138,6 +149,11 @@ import './enums/product-grid-column-source.js';
138
149
  import './enums/product-label-source.js';
139
150
  import './enums/product-label-attribute-source.js';
140
151
  import './enums/products-kind.js';
152
+ import './enums/purchase-request-status.js';
153
+ import './enums/purchase-request-event-name.js';
154
+ import './enums/purchase-request-item-type.js';
155
+ import './enums/purchase-request-item-create-request-type.js';
156
+ import './enums/purchase-request-item-update-request-type.js';
141
157
  import './enums/reorder-point-source.js';
142
158
  import './enums/reservation-status.js';
143
159
  import './enums/price-on-request-reason.js';
@@ -175,6 +191,8 @@ import './enums/shipping-weight-unit-row-tone.js';
175
191
  import './enums/shipping-weight-unit-update-request-tone.js';
176
192
  import './enums/stock-movement-type.js';
177
193
  import './enums/store-asset-request-visibility.js';
194
+ import './enums/submit-item-type.js';
195
+ import './enums/submit-result-outcome.js';
178
196
  import './enums/validation-failed-response-status.js';
179
197
  import './enums/vocabulary-default-tone.js';
180
198
  import './enums/vocabulary-source.js';
@@ -318,6 +336,13 @@ declare class Client {
318
336
  * @return {this}
319
337
  */
320
338
  setMarket(value: string): this;
339
+ /**
340
+ * Extra `fetch` options for this client's TLS settings.
341
+ *
342
+ * Empty unless `setSelfSigned(true)` was called, so the default path stays
343
+ * on the platform `fetch` with certificate verification intact.
344
+ */
345
+ private dispatcherOptions;
321
346
  prepareRequest(method: string, url: URL, headers?: Headers, params?: Payload): {
322
347
  uri: string;
323
348
  options: RequestInit;
package/dist/client.js CHANGED
@@ -1,7 +1,5 @@
1
1
  'use strict';
2
2
 
3
- var nodeFetchNativeWithAgent = require('node-fetch-native-with-agent');
4
- var agent = require('node-fetch-native-with-agent/agent');
5
3
  var JSONbigModule = require('json-bigint');
6
4
  var query = require('./query');
7
5
 
@@ -49,8 +47,17 @@ class RevenexxException extends Error {
49
47
  this.response = response;
50
48
  }
51
49
  }
50
+ let selfSignedDispatcher = null;
51
+ function getSelfSignedDispatcher() {
52
+ if (selfSignedDispatcher === null) {
53
+ selfSignedDispatcher = import('undici').then(
54
+ ({ Agent }) => new Agent({ connect: { rejectUnauthorized: false } })
55
+ );
56
+ }
57
+ return selfSignedDispatcher;
58
+ }
52
59
  function getUserAgent() {
53
- let ua = "RevenexxNodeJSSDK/0.1.0";
60
+ let ua = "RevenexxNodeJSSDK/0.1.1";
54
61
  const platform = [];
55
62
  if (typeof process !== "undefined") {
56
63
  if (typeof process.platform === "string")
@@ -82,7 +89,7 @@ class Client {
82
89
  "x-sdk-name": "Revenexx Node",
83
90
  "x-sdk-platform": "",
84
91
  "x-sdk-language": "nodejs",
85
- "x-sdk-version": "0.1.0",
92
+ "x-sdk-version": "0.1.1",
86
93
  "user-agent": getUserAgent()
87
94
  };
88
95
  }
@@ -187,13 +194,24 @@ class Client {
187
194
  this.headers["X-Revenexx-Market"] = value;
188
195
  return this;
189
196
  }
197
+ /**
198
+ * Extra `fetch` options for this client's TLS settings.
199
+ *
200
+ * Empty unless `setSelfSigned(true)` was called, so the default path stays
201
+ * on the platform `fetch` with certificate verification intact.
202
+ */
203
+ async dispatcherOptions() {
204
+ if (!this.config.selfSigned) {
205
+ return {};
206
+ }
207
+ return { dispatcher: await getSelfSignedDispatcher() };
208
+ }
190
209
  prepareRequest(method, url, headers = {}, params = {}) {
191
210
  method = method.toUpperCase();
192
211
  headers = Object.assign({}, this.headers, headers);
193
212
  let options = {
194
213
  method,
195
- headers,
196
- ...agent.createAgent(this.config.endpoint, { rejectUnauthorized: !this.config.selfSigned })
214
+ headers
197
215
  };
198
216
  if (method === "GET") {
199
217
  for (const [key, value] of Object.entries(Client.flatten(params))) {
@@ -205,9 +223,9 @@ class Client {
205
223
  options.body = JSONbig.stringify(params);
206
224
  break;
207
225
  case "multipart/form-data":
208
- const formData = new nodeFetchNativeWithAgent.FormData();
226
+ const formData = new FormData();
209
227
  for (const [key, value] of Object.entries(params)) {
210
- if (value instanceof nodeFetchNativeWithAgent.File) {
228
+ if (value instanceof File) {
211
229
  formData.append(key, value, value.name);
212
230
  } else if (Array.isArray(value)) {
213
231
  for (const nestedValue of value) {
@@ -225,14 +243,14 @@ class Client {
225
243
  return { uri: url.toString(), options };
226
244
  }
227
245
  async chunkedUpload(method, url, headers = {}, originalPayload = {}, onProgress) {
228
- const [fileParam, file] = Object.entries(originalPayload).find(([_, value]) => value instanceof nodeFetchNativeWithAgent.File) ?? [];
246
+ const [fileParam, file] = Object.entries(originalPayload).find(([_, value]) => value instanceof File) ?? [];
229
247
  if (!file || !fileParam) {
230
248
  throw new Error("File not found in payload");
231
249
  }
232
250
  const response = await this.call(method, url, headers, originalPayload);
233
251
  if (onProgress && typeof onProgress === "function") {
234
252
  onProgress({
235
- $id: response == null ? void 0 : response.$id,
253
+ $id: response?.$id,
236
254
  progress: 100,
237
255
  sizeUploaded: file.size,
238
256
  chunksTotal: 1,
@@ -246,8 +264,9 @@ class Client {
246
264
  }
247
265
  async redirect(method, url, headers = {}, params = {}) {
248
266
  const { uri, options } = this.prepareRequest(method, url, headers, params);
249
- const response = await nodeFetchNativeWithAgent.fetch(uri, {
267
+ const response = await fetch(uri, {
250
268
  ...options,
269
+ ...await this.dispatcherOptions(),
251
270
  redirect: "manual"
252
271
  });
253
272
  if (response.status !== 301 && response.status !== 302) {
@@ -256,15 +275,17 @@ class Client {
256
275
  return response.headers.get("location") || "";
257
276
  }
258
277
  async call(method, url, headers = {}, params = {}, responseType = "json") {
259
- var _a, _b;
260
278
  const { uri, options } = this.prepareRequest(method, url, headers, params);
261
279
  let data = null;
262
- const response = await nodeFetchNativeWithAgent.fetch(uri, options);
280
+ const response = await fetch(uri, {
281
+ ...options,
282
+ ...await this.dispatcherOptions()
283
+ });
263
284
  const warnings = response.headers.get("x-revenexx-warning");
264
285
  if (warnings) {
265
286
  warnings.split(";").forEach((warning) => console.warn("Warning: " + warning));
266
287
  }
267
- if ((_a = response.headers.get("content-type")) == null ? void 0 : _a.includes("application/json")) {
288
+ if (response.headers.get("content-type")?.includes("application/json")) {
268
289
  data = JSONbig.parse(await response.text());
269
290
  } else if (responseType === "arrayBuffer") {
270
291
  data = await response.arrayBuffer();
@@ -275,12 +296,12 @@ class Client {
275
296
  }
276
297
  if (400 <= response.status) {
277
298
  let responseText = "";
278
- if (((_b = response.headers.get("content-type")) == null ? void 0 : _b.includes("application/json")) || responseType === "arrayBuffer") {
299
+ if (response.headers.get("content-type")?.includes("application/json") || responseType === "arrayBuffer") {
279
300
  responseText = JSONbig.stringify(data);
280
301
  } else {
281
- responseText = data == null ? void 0 : data.message;
302
+ responseText = data?.message;
282
303
  }
283
- throw new RevenexxException(data == null ? void 0 : data.message, response.status, data == null ? void 0 : data.type, responseText);
304
+ throw new RevenexxException(data?.message, response.status, data?.type, responseText);
284
305
  }
285
306
  if (data && typeof data === "object") {
286
307
  data.toString = () => JSONbig.stringify(data);
@@ -307,7 +328,7 @@ class Client {
307
328
  getAbout() {
308
329
  return {
309
330
  name: "Revenexx Node",
310
- version: "0.1.0",
331
+ version: "0.1.1",
311
332
  language: "nodejs",
312
333
  generator: "revenexx/sdk-generator",
313
334
  generatorUrl: "https://github.com/revenexx/sdk-generator"
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/client.ts"],"names":[],"mappings":"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","sourcesContent":["import { fetch, FormData, File } from 'node-fetch-native-with-agent';\nimport { createAgent } from 'node-fetch-native-with-agent/agent';\nimport { Models } from './models';\nimport JSONbigModule from 'json-bigint';\nconst JSONbigParser = JSONbigModule({ storeAsString: false });\nconst JSONbigSerializer = JSONbigModule({ useNativeBigInt: true });\n\nconst MAX_SAFE = BigInt(Number.MAX_SAFE_INTEGER);\nconst MIN_SAFE = BigInt(Number.MIN_SAFE_INTEGER);\nconst MAX_INT64 = BigInt('9223372036854775807');\nconst MIN_INT64 = BigInt('-9223372036854775808');\n\nfunction isBigNumber(value: any): boolean {\n return value !== null\n && typeof value === 'object'\n && value._isBigNumber === true\n && typeof value.isInteger === 'function'\n && typeof value.toFixed === 'function'\n && typeof value.toNumber === 'function';\n}\n\nfunction reviver(_key: string, value: any): any {\n if (isBigNumber(value)) {\n if (value.isInteger()) {\n const str = value.toFixed();\n const bi = BigInt(str);\n if (bi >= MIN_SAFE && bi <= MAX_SAFE) {\n return Number(str);\n }\n if (bi >= MIN_INT64 && bi <= MAX_INT64) {\n return bi;\n }\n return value.toNumber();\n }\n return value.toNumber();\n }\n return value;\n}\n\nconst JSONbig = {\n parse: (text: string) => JSONbigParser.parse(text, reviver),\n stringify: JSONbigSerializer.stringify\n};\n\ntype Payload = {\n [key: string]: any;\n}\n\ntype UploadProgress = {\n $id: string;\n progress: number;\n sizeUploaded: number;\n chunksTotal: number;\n chunksUploaded: number;\n}\n\ntype Headers = {\n [key: string]: string;\n}\n\nclass RevenexxException extends Error {\n code: number;\n response: string;\n type: string;\n constructor(message: string, code: number = 0, type: string = '', response: string = '') {\n super(message);\n this.name = 'RevenexxException';\n this.message = message;\n this.code = code;\n this.type = type;\n this.response = response;\n }\n}\n\nfunction getUserAgent() {\n let ua = 'RevenexxNodeJSSDK/0.1.0';\n\n // `process` is a global in Node.js, but not fully available in all runtimes.\n const platform: string[] = [];\n if (typeof process !== 'undefined') {\n if (typeof process.platform === 'string') platform.push(process.platform);\n if (typeof process.arch === 'string') platform.push(process.arch);\n } \n if (platform.length > 0) {\n ua += ` (${platform.join('; ')})`;\n }\n\n // `navigator.userAgent` is available in Node.js 21 and later.\n // It's also part of the WinterCG spec, so many edge runtimes provide it.\n // https://common-min-api.proposal.wintercg.org/#requirements-for-navigatoruseragent\n // @ts-ignore\n if (typeof navigator !== 'undefined' && typeof navigator.userAgent === 'string') {\n // @ts-ignore\n ua += ` ${navigator.userAgent}`;\n\n // @ts-ignore\n } else if (typeof globalThis.EdgeRuntime === 'string') {\n ua += ` EdgeRuntime`;\n\n // Older Node.js versions don't have `navigator.userAgent`, so we have to use `process.version`.\n } else if (typeof process !== 'undefined' && typeof process.version === 'string') {\n ua += ` Node.js/${process.version}`;\n }\n\n return ua;\n}\n\nclass Client {\n\n config = {\n endpoint: 'https://api.revenexx.com',\n selfSigned: false,\n apikeyauth: '',\n bearerauth: '',\n };\n headers: Headers = {\n 'x-sdk-name': 'Revenexx Node',\n 'x-sdk-platform': '',\n 'x-sdk-language': 'nodejs',\n 'x-sdk-version': '0.1.0',\n 'user-agent' : getUserAgent(),\n };\n\n /**\n * Set Endpoint\n *\n * Your project endpoint\n *\n * @param {string} endpoint\n *\n * @returns {this}\n */\n setEndpoint(endpoint: string): this {\n if (!endpoint || typeof endpoint !== 'string') {\n throw new RevenexxException('Endpoint must be a valid string');\n }\n\n if (!endpoint.startsWith('http://') && !endpoint.startsWith('https://')) {\n throw new RevenexxException('Invalid endpoint URL: ' + endpoint);\n }\n\n this.config.endpoint = endpoint;\n return this;\n }\n\n /**\n * Set self-signed\n *\n * @param {boolean} selfSigned\n *\n * @returns {this}\n */\n setSelfSigned(selfSigned: boolean): this {\n // @ts-ignore\n if (typeof globalThis.EdgeRuntime !== 'undefined') {\n console.warn('setSelfSigned is not supported in edge runtimes.');\n }\n\n this.config.selfSigned = selfSigned;\n\n return this;\n }\n\n /**\n * Add header\n *\n * @param {string} header\n * @param {string} value\n *\n * @returns {this}\n */\n addHeader(header: string, value: string): this {\n this.headers[header.toLowerCase()] = value;\n\n return this;\n }\n\n /**\n * Set ApiKeyAuth\n *\n * A gateway-managed scoped API key (rvxk_…).\n *\n * @param value string\n *\n * @return {this}\n */\n setApiKeyAuth(value: string): this {\n this.headers['X-Revenexx-Api-Key'] = value;\n this.config.apikeyauth = value;\n return this;\n }\n /**\n * Set BearerAuth\n *\n * A Zitadel-issued JWT (Cockpit / interactive callers).\n *\n * @param value string\n *\n * @return {this}\n */\n setBearerAuth(value: string): this {\n this.headers['Authorization'] = value.toLowerCase().startsWith('bearer ') ? value : `Bearer ${value}`;\n this.config.bearerauth = value;\n return this;\n }\n\n /**\n * Set Tenant\n *\n * The tenant slug your requests are scoped to, sent as the\n * X-Revenexx-Tenant header on every request.\n *\n * @param value string\n *\n * @return {this}\n */\n setTenant(value: string): this {\n this.headers['X-Revenexx-Tenant'] = value;\n return this;\n }\n\n /**\n * Set Market\n *\n * The market slug to scope requests to, sent as the X-Revenexx-Market\n * header. Optional — omit it to see only global rows.\n *\n * @param value string\n *\n * @return {this}\n */\n setMarket(value: string): this {\n this.headers['X-Revenexx-Market'] = value;\n return this;\n }\n\n prepareRequest(method: string, url: URL, headers: Headers = {}, params: Payload = {}): { uri: string, options: RequestInit } {\n method = method.toUpperCase();\n\n headers = Object.assign({}, this.headers, headers);\n\n let options: RequestInit = {\n method,\n headers,\n ...createAgent(this.config.endpoint, { rejectUnauthorized: !this.config.selfSigned }),\n };\n\n if (method === 'GET') {\n for (const [key, value] of Object.entries(Client.flatten(params))) {\n url.searchParams.append(key, value);\n }\n } else {\n switch (headers['content-type']) {\n case 'application/json':\n options.body = JSONbig.stringify(params);\n break;\n\n case 'multipart/form-data':\n const formData = new FormData();\n\n for (const [key, value] of Object.entries(params)) {\n if (value instanceof File) {\n formData.append(key, value, value.name);\n } else if (Array.isArray(value)) {\n for (const nestedValue of value) {\n formData.append(`${key}[]`, nestedValue);\n }\n } else {\n formData.append(key, value);\n }\n }\n\n options.body = formData;\n delete headers['content-type'];\n break;\n }\n }\n\n return { uri: url.toString(), options };\n }\n\n async chunkedUpload(method: string, url: URL, headers: Headers = {}, originalPayload: Payload = {}, onProgress: (progress: UploadProgress) => void) {\n const [fileParam, file] = Object.entries(originalPayload).find(([_, value]) => value instanceof File) ?? [];\n\n if (!file || !fileParam) {\n throw new Error('File not found in payload');\n }\n\n // The API takes one multipart body per upload. It has no chunked or\n // resumable protocol — no content-range, no upload id, no per-chunk\n // endpoint — so the whole file always goes in a single request.\n const response = await this.call(method, url, headers, originalPayload);\n\n if (onProgress && typeof onProgress === 'function') {\n onProgress({\n $id: response?.$id,\n progress: 100,\n sizeUploaded: file.size,\n chunksTotal: 1,\n chunksUploaded: 1\n });\n }\n\n return response;\n }\n\n async ping(): Promise<string> {\n return this.call('GET', new URL(this.config.endpoint + '/ping'));\n }\n\n async redirect(method: string, url: URL, headers: Headers = {}, params: Payload = {}): Promise<string> {\n const { uri, options } = this.prepareRequest(method, url, headers, params);\n \n const response = await fetch(uri, {\n ...options,\n redirect: 'manual'\n });\n\n if (response.status !== 301 && response.status !== 302) {\n throw new RevenexxException('Invalid redirect', response.status);\n }\n\n return response.headers.get('location') || '';\n }\n\n async call(method: string, url: URL, headers: Headers = {}, params: Payload = {}, responseType = 'json'): Promise<any> {\n const { uri, options } = this.prepareRequest(method, url, headers, params);\n\n let data: any = null;\n\n const response = await fetch(uri, options);\n\n const warnings = response.headers.get('x-revenexx-warning');\n if (warnings) {\n warnings.split(';').forEach((warning: string) => console.warn('Warning: ' + warning));\n }\n\n if (response.headers.get('content-type')?.includes('application/json')) {\n data = JSONbig.parse(await response.text());\n } else if (responseType === 'arrayBuffer') {\n data = await response.arrayBuffer();\n } else {\n data = {\n message: await response.text()\n };\n }\n\n if (400 <= response.status) {\n let responseText = '';\n if (response.headers.get('content-type')?.includes('application/json') || responseType === 'arrayBuffer') {\n responseText = JSONbig.stringify(data);\n } else {\n responseText = data?.message;\n }\n throw new RevenexxException(data?.message, response.status, data?.type, responseText);\n }\n\n if (data && typeof data === 'object') {\n data.toString = () => JSONbig.stringify(data);\n }\n\n return data;\n }\n\n static flatten(data: Payload, prefix = ''): Payload {\n let output: Payload = {};\n\n for (const [key, value] of Object.entries(data)) {\n let finalKey = prefix ? prefix + '[' + key +']' : key;\n if (Array.isArray(value)) {\n output = { ...output, ...Client.flatten(value, finalKey) };\n } else {\n output[finalKey] = value;\n }\n }\n\n return output;\n }\n\n /**\n * Get information about this SDK and the generator that produced it.\n *\n * Contributed by the 'about' plugin.\n */\n getAbout(): Record<string, string> {\n return {\n name: 'Revenexx Node',\n version: '0.1.0',\n language: 'nodejs',\n generator: 'revenexx/sdk-generator',\n generatorUrl: 'https://github.com/revenexx/sdk-generator',\n };\n }\n}\n\nexport { Client, RevenexxException };\nexport { Query } from './query';\nexport type { Models, Payload, UploadProgress };\nexport type { QueryTypes, QueryTypesList } from './query';\n"]}
1
+ {"version":3,"sources":["../src/client.ts"],"names":[],"mappings":"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","sourcesContent":["import { Models } from './models';\nimport JSONbigModule from 'json-bigint';\nconst JSONbigParser = JSONbigModule({ storeAsString: false });\nconst JSONbigSerializer = JSONbigModule({ useNativeBigInt: true });\n\nconst MAX_SAFE = BigInt(Number.MAX_SAFE_INTEGER);\nconst MIN_SAFE = BigInt(Number.MIN_SAFE_INTEGER);\nconst MAX_INT64 = BigInt('9223372036854775807');\nconst MIN_INT64 = BigInt('-9223372036854775808');\n\nfunction isBigNumber(value: any): boolean {\n return value !== null\n && typeof value === 'object'\n && value._isBigNumber === true\n && typeof value.isInteger === 'function'\n && typeof value.toFixed === 'function'\n && typeof value.toNumber === 'function';\n}\n\nfunction reviver(_key: string, value: any): any {\n if (isBigNumber(value)) {\n if (value.isInteger()) {\n const str = value.toFixed();\n const bi = BigInt(str);\n if (bi >= MIN_SAFE && bi <= MAX_SAFE) {\n return Number(str);\n }\n if (bi >= MIN_INT64 && bi <= MAX_INT64) {\n return bi;\n }\n return value.toNumber();\n }\n return value.toNumber();\n }\n return value;\n}\n\nconst JSONbig = {\n parse: (text: string) => JSONbigParser.parse(text, reviver),\n stringify: JSONbigSerializer.stringify\n};\n\ntype Payload = {\n [key: string]: any;\n}\n\ntype UploadProgress = {\n $id: string;\n progress: number;\n sizeUploaded: number;\n chunksTotal: number;\n chunksUploaded: number;\n}\n\ntype Headers = {\n [key: string]: string;\n}\n\nclass RevenexxException extends Error {\n code: number;\n response: string;\n type: string;\n constructor(message: string, code: number = 0, type: string = '', response: string = '') {\n super(message);\n this.name = 'RevenexxException';\n this.message = message;\n this.code = code;\n this.type = type;\n this.response = response;\n }\n}\n\nlet selfSignedDispatcher: Promise<any> | null = null;\n\n/**\n * Build a dispatcher that skips TLS verification, for `setSelfSigned(true)`.\n *\n * The platform `fetch` has no `rejectUnauthorized` switch of its own, so the\n * only way to reach an endpoint with a self-signed certificate is to hand it\n * an undici dispatcher. `undici` is loaded lazily and cached: a client that\n * never calls `setSelfSigned(true)` never pays for it, and runtimes without\n * Node's networking internals keep working as long as they stay off this path.\n */\nfunction getSelfSignedDispatcher(): Promise<any> {\n if (selfSignedDispatcher === null) {\n selfSignedDispatcher = import('undici').then(\n ({ Agent }) => new Agent({ connect: { rejectUnauthorized: false } })\n );\n }\n\n return selfSignedDispatcher;\n}\n\nfunction getUserAgent() {\n let ua = 'RevenexxNodeJSSDK/0.1.1';\n\n // `process` is a global in Node.js, but not fully available in all runtimes.\n const platform: string[] = [];\n if (typeof process !== 'undefined') {\n if (typeof process.platform === 'string') platform.push(process.platform);\n if (typeof process.arch === 'string') platform.push(process.arch);\n } \n if (platform.length > 0) {\n ua += ` (${platform.join('; ')})`;\n }\n\n // `navigator.userAgent` is available in Node.js 21 and later.\n // It's also part of the WinterCG spec, so many edge runtimes provide it.\n // https://common-min-api.proposal.wintercg.org/#requirements-for-navigatoruseragent\n // @ts-ignore\n if (typeof navigator !== 'undefined' && typeof navigator.userAgent === 'string') {\n // @ts-ignore\n ua += ` ${navigator.userAgent}`;\n\n // @ts-ignore\n } else if (typeof globalThis.EdgeRuntime === 'string') {\n ua += ` EdgeRuntime`;\n\n // Older Node.js versions don't have `navigator.userAgent`, so we have to use `process.version`.\n } else if (typeof process !== 'undefined' && typeof process.version === 'string') {\n ua += ` Node.js/${process.version}`;\n }\n\n return ua;\n}\n\nclass Client {\n\n config = {\n endpoint: 'https://api.revenexx.com',\n selfSigned: false,\n apikeyauth: '',\n bearerauth: '',\n };\n headers: Headers = {\n 'x-sdk-name': 'Revenexx Node',\n 'x-sdk-platform': '',\n 'x-sdk-language': 'nodejs',\n 'x-sdk-version': '0.1.1',\n 'user-agent' : getUserAgent(),\n };\n\n /**\n * Set Endpoint\n *\n * Your project endpoint\n *\n * @param {string} endpoint\n *\n * @returns {this}\n */\n setEndpoint(endpoint: string): this {\n if (!endpoint || typeof endpoint !== 'string') {\n throw new RevenexxException('Endpoint must be a valid string');\n }\n\n if (!endpoint.startsWith('http://') && !endpoint.startsWith('https://')) {\n throw new RevenexxException('Invalid endpoint URL: ' + endpoint);\n }\n\n this.config.endpoint = endpoint;\n return this;\n }\n\n /**\n * Set self-signed\n *\n * @param {boolean} selfSigned\n *\n * @returns {this}\n */\n setSelfSigned(selfSigned: boolean): this {\n // @ts-ignore\n if (typeof globalThis.EdgeRuntime !== 'undefined') {\n console.warn('setSelfSigned is not supported in edge runtimes.');\n }\n\n this.config.selfSigned = selfSigned;\n\n return this;\n }\n\n /**\n * Add header\n *\n * @param {string} header\n * @param {string} value\n *\n * @returns {this}\n */\n addHeader(header: string, value: string): this {\n this.headers[header.toLowerCase()] = value;\n\n return this;\n }\n\n /**\n * Set ApiKeyAuth\n *\n * A gateway-managed scoped API key (rvxk_…).\n *\n * @param value string\n *\n * @return {this}\n */\n setApiKeyAuth(value: string): this {\n this.headers['X-Revenexx-Api-Key'] = value;\n this.config.apikeyauth = value;\n return this;\n }\n /**\n * Set BearerAuth\n *\n * A Zitadel-issued JWT (Cockpit / interactive callers).\n *\n * @param value string\n *\n * @return {this}\n */\n setBearerAuth(value: string): this {\n this.headers['Authorization'] = value.toLowerCase().startsWith('bearer ') ? value : `Bearer ${value}`;\n this.config.bearerauth = value;\n return this;\n }\n\n /**\n * Set Tenant\n *\n * The tenant slug your requests are scoped to, sent as the\n * X-Revenexx-Tenant header on every request.\n *\n * @param value string\n *\n * @return {this}\n */\n setTenant(value: string): this {\n this.headers['X-Revenexx-Tenant'] = value;\n return this;\n }\n\n /**\n * Set Market\n *\n * The market slug to scope requests to, sent as the X-Revenexx-Market\n * header. Optional — omit it to see only global rows.\n *\n * @param value string\n *\n * @return {this}\n */\n setMarket(value: string): this {\n this.headers['X-Revenexx-Market'] = value;\n return this;\n }\n\n /**\n * Extra `fetch` options for this client's TLS settings.\n *\n * Empty unless `setSelfSigned(true)` was called, so the default path stays\n * on the platform `fetch` with certificate verification intact.\n */\n private async dispatcherOptions(): Promise<RequestInit> {\n if (!this.config.selfSigned) {\n return {};\n }\n\n return { dispatcher: await getSelfSignedDispatcher() } as RequestInit;\n }\n\n prepareRequest(method: string, url: URL, headers: Headers = {}, params: Payload = {}): { uri: string, options: RequestInit } {\n method = method.toUpperCase();\n\n headers = Object.assign({}, this.headers, headers);\n\n let options: RequestInit = {\n method,\n headers,\n };\n\n if (method === 'GET') {\n for (const [key, value] of Object.entries(Client.flatten(params))) {\n url.searchParams.append(key, value);\n }\n } else {\n switch (headers['content-type']) {\n case 'application/json':\n options.body = JSONbig.stringify(params);\n break;\n\n case 'multipart/form-data':\n const formData = new FormData();\n\n for (const [key, value] of Object.entries(params)) {\n if (value instanceof File) {\n formData.append(key, value, value.name);\n } else if (Array.isArray(value)) {\n for (const nestedValue of value) {\n formData.append(`${key}[]`, nestedValue);\n }\n } else {\n formData.append(key, value);\n }\n }\n\n options.body = formData;\n delete headers['content-type'];\n break;\n }\n }\n\n return { uri: url.toString(), options };\n }\n\n async chunkedUpload(method: string, url: URL, headers: Headers = {}, originalPayload: Payload = {}, onProgress: (progress: UploadProgress) => void) {\n const [fileParam, file] = Object.entries(originalPayload).find(([_, value]) => value instanceof File) ?? [];\n\n if (!file || !fileParam) {\n throw new Error('File not found in payload');\n }\n\n // The API takes one multipart body per upload. It has no chunked or\n // resumable protocol — no content-range, no upload id, no per-chunk\n // endpoint — so the whole file always goes in a single request.\n const response = await this.call(method, url, headers, originalPayload);\n\n if (onProgress && typeof onProgress === 'function') {\n onProgress({\n $id: response?.$id,\n progress: 100,\n sizeUploaded: file.size,\n chunksTotal: 1,\n chunksUploaded: 1\n });\n }\n\n return response;\n }\n\n async ping(): Promise<string> {\n return this.call('GET', new URL(this.config.endpoint + '/ping'));\n }\n\n async redirect(method: string, url: URL, headers: Headers = {}, params: Payload = {}): Promise<string> {\n const { uri, options } = this.prepareRequest(method, url, headers, params);\n\n const response = await fetch(uri, {\n ...options,\n ...(await this.dispatcherOptions()),\n redirect: 'manual'\n });\n\n if (response.status !== 301 && response.status !== 302) {\n throw new RevenexxException('Invalid redirect', response.status);\n }\n\n return response.headers.get('location') || '';\n }\n\n async call(method: string, url: URL, headers: Headers = {}, params: Payload = {}, responseType = 'json'): Promise<any> {\n const { uri, options } = this.prepareRequest(method, url, headers, params);\n\n let data: any = null;\n\n const response = await fetch(uri, {\n ...options,\n ...(await this.dispatcherOptions())\n });\n\n const warnings = response.headers.get('x-revenexx-warning');\n if (warnings) {\n warnings.split(';').forEach((warning: string) => console.warn('Warning: ' + warning));\n }\n\n if (response.headers.get('content-type')?.includes('application/json')) {\n data = JSONbig.parse(await response.text());\n } else if (responseType === 'arrayBuffer') {\n data = await response.arrayBuffer();\n } else {\n data = {\n message: await response.text()\n };\n }\n\n if (400 <= response.status) {\n let responseText = '';\n if (response.headers.get('content-type')?.includes('application/json') || responseType === 'arrayBuffer') {\n responseText = JSONbig.stringify(data);\n } else {\n responseText = data?.message;\n }\n throw new RevenexxException(data?.message, response.status, data?.type, responseText);\n }\n\n if (data && typeof data === 'object') {\n data.toString = () => JSONbig.stringify(data);\n }\n\n return data;\n }\n\n static flatten(data: Payload, prefix = ''): Payload {\n let output: Payload = {};\n\n for (const [key, value] of Object.entries(data)) {\n let finalKey = prefix ? prefix + '[' + key +']' : key;\n if (Array.isArray(value)) {\n output = { ...output, ...Client.flatten(value, finalKey) };\n } else {\n output[finalKey] = value;\n }\n }\n\n return output;\n }\n\n /**\n * Get information about this SDK and the generator that produced it.\n *\n * Contributed by the 'about' plugin.\n */\n getAbout(): Record<string, string> {\n return {\n name: 'Revenexx Node',\n version: '0.1.1',\n language: 'nodejs',\n generator: 'revenexx/sdk-generator',\n generatorUrl: 'https://github.com/revenexx/sdk-generator',\n };\n }\n}\n\nexport { Client, RevenexxException };\nexport { Query } from './query';\nexport type { Models, Payload, UploadProgress };\nexport type { QueryTypes, QueryTypesList } from './query';\n"]}
package/dist/client.mjs CHANGED
@@ -1,5 +1,3 @@
1
- import { FormData, File, fetch } from 'node-fetch-native-with-agent';
2
- import { createAgent } from 'node-fetch-native-with-agent/agent';
3
1
  import JSONbigModule from 'json-bigint';
4
2
  export { Query } from './query.mjs';
5
3
 
@@ -44,8 +42,17 @@ var RevenexxException = class extends Error {
44
42
  this.response = response;
45
43
  }
46
44
  };
45
+ var selfSignedDispatcher = null;
46
+ function getSelfSignedDispatcher() {
47
+ if (selfSignedDispatcher === null) {
48
+ selfSignedDispatcher = import('undici').then(
49
+ ({ Agent }) => new Agent({ connect: { rejectUnauthorized: false } })
50
+ );
51
+ }
52
+ return selfSignedDispatcher;
53
+ }
47
54
  function getUserAgent() {
48
- let ua = "RevenexxNodeJSSDK/0.1.0";
55
+ let ua = "RevenexxNodeJSSDK/0.1.1";
49
56
  const platform = [];
50
57
  if (typeof process !== "undefined") {
51
58
  if (typeof process.platform === "string")
@@ -77,7 +84,7 @@ var Client = class _Client {
77
84
  "x-sdk-name": "Revenexx Node",
78
85
  "x-sdk-platform": "",
79
86
  "x-sdk-language": "nodejs",
80
- "x-sdk-version": "0.1.0",
87
+ "x-sdk-version": "0.1.1",
81
88
  "user-agent": getUserAgent()
82
89
  };
83
90
  }
@@ -182,13 +189,24 @@ var Client = class _Client {
182
189
  this.headers["X-Revenexx-Market"] = value;
183
190
  return this;
184
191
  }
192
+ /**
193
+ * Extra `fetch` options for this client's TLS settings.
194
+ *
195
+ * Empty unless `setSelfSigned(true)` was called, so the default path stays
196
+ * on the platform `fetch` with certificate verification intact.
197
+ */
198
+ async dispatcherOptions() {
199
+ if (!this.config.selfSigned) {
200
+ return {};
201
+ }
202
+ return { dispatcher: await getSelfSignedDispatcher() };
203
+ }
185
204
  prepareRequest(method, url, headers = {}, params = {}) {
186
205
  method = method.toUpperCase();
187
206
  headers = Object.assign({}, this.headers, headers);
188
207
  let options = {
189
208
  method,
190
- headers,
191
- ...createAgent(this.config.endpoint, { rejectUnauthorized: !this.config.selfSigned })
209
+ headers
192
210
  };
193
211
  if (method === "GET") {
194
212
  for (const [key, value] of Object.entries(_Client.flatten(params))) {
@@ -227,7 +245,7 @@ var Client = class _Client {
227
245
  const response = await this.call(method, url, headers, originalPayload);
228
246
  if (onProgress && typeof onProgress === "function") {
229
247
  onProgress({
230
- $id: response == null ? void 0 : response.$id,
248
+ $id: response?.$id,
231
249
  progress: 100,
232
250
  sizeUploaded: file.size,
233
251
  chunksTotal: 1,
@@ -243,6 +261,7 @@ var Client = class _Client {
243
261
  const { uri, options } = this.prepareRequest(method, url, headers, params);
244
262
  const response = await fetch(uri, {
245
263
  ...options,
264
+ ...await this.dispatcherOptions(),
246
265
  redirect: "manual"
247
266
  });
248
267
  if (response.status !== 301 && response.status !== 302) {
@@ -251,15 +270,17 @@ var Client = class _Client {
251
270
  return response.headers.get("location") || "";
252
271
  }
253
272
  async call(method, url, headers = {}, params = {}, responseType = "json") {
254
- var _a, _b;
255
273
  const { uri, options } = this.prepareRequest(method, url, headers, params);
256
274
  let data = null;
257
- const response = await fetch(uri, options);
275
+ const response = await fetch(uri, {
276
+ ...options,
277
+ ...await this.dispatcherOptions()
278
+ });
258
279
  const warnings = response.headers.get("x-revenexx-warning");
259
280
  if (warnings) {
260
281
  warnings.split(";").forEach((warning) => console.warn("Warning: " + warning));
261
282
  }
262
- if ((_a = response.headers.get("content-type")) == null ? void 0 : _a.includes("application/json")) {
283
+ if (response.headers.get("content-type")?.includes("application/json")) {
263
284
  data = JSONbig.parse(await response.text());
264
285
  } else if (responseType === "arrayBuffer") {
265
286
  data = await response.arrayBuffer();
@@ -270,12 +291,12 @@ var Client = class _Client {
270
291
  }
271
292
  if (400 <= response.status) {
272
293
  let responseText = "";
273
- if (((_b = response.headers.get("content-type")) == null ? void 0 : _b.includes("application/json")) || responseType === "arrayBuffer") {
294
+ if (response.headers.get("content-type")?.includes("application/json") || responseType === "arrayBuffer") {
274
295
  responseText = JSONbig.stringify(data);
275
296
  } else {
276
- responseText = data == null ? void 0 : data.message;
297
+ responseText = data?.message;
277
298
  }
278
- throw new RevenexxException(data == null ? void 0 : data.message, response.status, data == null ? void 0 : data.type, responseText);
299
+ throw new RevenexxException(data?.message, response.status, data?.type, responseText);
279
300
  }
280
301
  if (data && typeof data === "object") {
281
302
  data.toString = () => JSONbig.stringify(data);
@@ -302,7 +323,7 @@ var Client = class _Client {
302
323
  getAbout() {
303
324
  return {
304
325
  name: "Revenexx Node",
305
- version: "0.1.0",
326
+ version: "0.1.1",
306
327
  language: "nodejs",
307
328
  generator: "revenexx/sdk-generator",
308
329
  generatorUrl: "https://github.com/revenexx/sdk-generator"
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/client.ts"],"names":[],"mappings":"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","sourcesContent":["import { fetch, FormData, File } from 'node-fetch-native-with-agent';\nimport { createAgent } from 'node-fetch-native-with-agent/agent';\nimport { Models } from './models';\nimport JSONbigModule from 'json-bigint';\nconst JSONbigParser = JSONbigModule({ storeAsString: false });\nconst JSONbigSerializer = JSONbigModule({ useNativeBigInt: true });\n\nconst MAX_SAFE = BigInt(Number.MAX_SAFE_INTEGER);\nconst MIN_SAFE = BigInt(Number.MIN_SAFE_INTEGER);\nconst MAX_INT64 = BigInt('9223372036854775807');\nconst MIN_INT64 = BigInt('-9223372036854775808');\n\nfunction isBigNumber(value: any): boolean {\n return value !== null\n && typeof value === 'object'\n && value._isBigNumber === true\n && typeof value.isInteger === 'function'\n && typeof value.toFixed === 'function'\n && typeof value.toNumber === 'function';\n}\n\nfunction reviver(_key: string, value: any): any {\n if (isBigNumber(value)) {\n if (value.isInteger()) {\n const str = value.toFixed();\n const bi = BigInt(str);\n if (bi >= MIN_SAFE && bi <= MAX_SAFE) {\n return Number(str);\n }\n if (bi >= MIN_INT64 && bi <= MAX_INT64) {\n return bi;\n }\n return value.toNumber();\n }\n return value.toNumber();\n }\n return value;\n}\n\nconst JSONbig = {\n parse: (text: string) => JSONbigParser.parse(text, reviver),\n stringify: JSONbigSerializer.stringify\n};\n\ntype Payload = {\n [key: string]: any;\n}\n\ntype UploadProgress = {\n $id: string;\n progress: number;\n sizeUploaded: number;\n chunksTotal: number;\n chunksUploaded: number;\n}\n\ntype Headers = {\n [key: string]: string;\n}\n\nclass RevenexxException extends Error {\n code: number;\n response: string;\n type: string;\n constructor(message: string, code: number = 0, type: string = '', response: string = '') {\n super(message);\n this.name = 'RevenexxException';\n this.message = message;\n this.code = code;\n this.type = type;\n this.response = response;\n }\n}\n\nfunction getUserAgent() {\n let ua = 'RevenexxNodeJSSDK/0.1.0';\n\n // `process` is a global in Node.js, but not fully available in all runtimes.\n const platform: string[] = [];\n if (typeof process !== 'undefined') {\n if (typeof process.platform === 'string') platform.push(process.platform);\n if (typeof process.arch === 'string') platform.push(process.arch);\n } \n if (platform.length > 0) {\n ua += ` (${platform.join('; ')})`;\n }\n\n // `navigator.userAgent` is available in Node.js 21 and later.\n // It's also part of the WinterCG spec, so many edge runtimes provide it.\n // https://common-min-api.proposal.wintercg.org/#requirements-for-navigatoruseragent\n // @ts-ignore\n if (typeof navigator !== 'undefined' && typeof navigator.userAgent === 'string') {\n // @ts-ignore\n ua += ` ${navigator.userAgent}`;\n\n // @ts-ignore\n } else if (typeof globalThis.EdgeRuntime === 'string') {\n ua += ` EdgeRuntime`;\n\n // Older Node.js versions don't have `navigator.userAgent`, so we have to use `process.version`.\n } else if (typeof process !== 'undefined' && typeof process.version === 'string') {\n ua += ` Node.js/${process.version}`;\n }\n\n return ua;\n}\n\nclass Client {\n\n config = {\n endpoint: 'https://api.revenexx.com',\n selfSigned: false,\n apikeyauth: '',\n bearerauth: '',\n };\n headers: Headers = {\n 'x-sdk-name': 'Revenexx Node',\n 'x-sdk-platform': '',\n 'x-sdk-language': 'nodejs',\n 'x-sdk-version': '0.1.0',\n 'user-agent' : getUserAgent(),\n };\n\n /**\n * Set Endpoint\n *\n * Your project endpoint\n *\n * @param {string} endpoint\n *\n * @returns {this}\n */\n setEndpoint(endpoint: string): this {\n if (!endpoint || typeof endpoint !== 'string') {\n throw new RevenexxException('Endpoint must be a valid string');\n }\n\n if (!endpoint.startsWith('http://') && !endpoint.startsWith('https://')) {\n throw new RevenexxException('Invalid endpoint URL: ' + endpoint);\n }\n\n this.config.endpoint = endpoint;\n return this;\n }\n\n /**\n * Set self-signed\n *\n * @param {boolean} selfSigned\n *\n * @returns {this}\n */\n setSelfSigned(selfSigned: boolean): this {\n // @ts-ignore\n if (typeof globalThis.EdgeRuntime !== 'undefined') {\n console.warn('setSelfSigned is not supported in edge runtimes.');\n }\n\n this.config.selfSigned = selfSigned;\n\n return this;\n }\n\n /**\n * Add header\n *\n * @param {string} header\n * @param {string} value\n *\n * @returns {this}\n */\n addHeader(header: string, value: string): this {\n this.headers[header.toLowerCase()] = value;\n\n return this;\n }\n\n /**\n * Set ApiKeyAuth\n *\n * A gateway-managed scoped API key (rvxk_…).\n *\n * @param value string\n *\n * @return {this}\n */\n setApiKeyAuth(value: string): this {\n this.headers['X-Revenexx-Api-Key'] = value;\n this.config.apikeyauth = value;\n return this;\n }\n /**\n * Set BearerAuth\n *\n * A Zitadel-issued JWT (Cockpit / interactive callers).\n *\n * @param value string\n *\n * @return {this}\n */\n setBearerAuth(value: string): this {\n this.headers['Authorization'] = value.toLowerCase().startsWith('bearer ') ? value : `Bearer ${value}`;\n this.config.bearerauth = value;\n return this;\n }\n\n /**\n * Set Tenant\n *\n * The tenant slug your requests are scoped to, sent as the\n * X-Revenexx-Tenant header on every request.\n *\n * @param value string\n *\n * @return {this}\n */\n setTenant(value: string): this {\n this.headers['X-Revenexx-Tenant'] = value;\n return this;\n }\n\n /**\n * Set Market\n *\n * The market slug to scope requests to, sent as the X-Revenexx-Market\n * header. Optional — omit it to see only global rows.\n *\n * @param value string\n *\n * @return {this}\n */\n setMarket(value: string): this {\n this.headers['X-Revenexx-Market'] = value;\n return this;\n }\n\n prepareRequest(method: string, url: URL, headers: Headers = {}, params: Payload = {}): { uri: string, options: RequestInit } {\n method = method.toUpperCase();\n\n headers = Object.assign({}, this.headers, headers);\n\n let options: RequestInit = {\n method,\n headers,\n ...createAgent(this.config.endpoint, { rejectUnauthorized: !this.config.selfSigned }),\n };\n\n if (method === 'GET') {\n for (const [key, value] of Object.entries(Client.flatten(params))) {\n url.searchParams.append(key, value);\n }\n } else {\n switch (headers['content-type']) {\n case 'application/json':\n options.body = JSONbig.stringify(params);\n break;\n\n case 'multipart/form-data':\n const formData = new FormData();\n\n for (const [key, value] of Object.entries(params)) {\n if (value instanceof File) {\n formData.append(key, value, value.name);\n } else if (Array.isArray(value)) {\n for (const nestedValue of value) {\n formData.append(`${key}[]`, nestedValue);\n }\n } else {\n formData.append(key, value);\n }\n }\n\n options.body = formData;\n delete headers['content-type'];\n break;\n }\n }\n\n return { uri: url.toString(), options };\n }\n\n async chunkedUpload(method: string, url: URL, headers: Headers = {}, originalPayload: Payload = {}, onProgress: (progress: UploadProgress) => void) {\n const [fileParam, file] = Object.entries(originalPayload).find(([_, value]) => value instanceof File) ?? [];\n\n if (!file || !fileParam) {\n throw new Error('File not found in payload');\n }\n\n // The API takes one multipart body per upload. It has no chunked or\n // resumable protocol — no content-range, no upload id, no per-chunk\n // endpoint — so the whole file always goes in a single request.\n const response = await this.call(method, url, headers, originalPayload);\n\n if (onProgress && typeof onProgress === 'function') {\n onProgress({\n $id: response?.$id,\n progress: 100,\n sizeUploaded: file.size,\n chunksTotal: 1,\n chunksUploaded: 1\n });\n }\n\n return response;\n }\n\n async ping(): Promise<string> {\n return this.call('GET', new URL(this.config.endpoint + '/ping'));\n }\n\n async redirect(method: string, url: URL, headers: Headers = {}, params: Payload = {}): Promise<string> {\n const { uri, options } = this.prepareRequest(method, url, headers, params);\n \n const response = await fetch(uri, {\n ...options,\n redirect: 'manual'\n });\n\n if (response.status !== 301 && response.status !== 302) {\n throw new RevenexxException('Invalid redirect', response.status);\n }\n\n return response.headers.get('location') || '';\n }\n\n async call(method: string, url: URL, headers: Headers = {}, params: Payload = {}, responseType = 'json'): Promise<any> {\n const { uri, options } = this.prepareRequest(method, url, headers, params);\n\n let data: any = null;\n\n const response = await fetch(uri, options);\n\n const warnings = response.headers.get('x-revenexx-warning');\n if (warnings) {\n warnings.split(';').forEach((warning: string) => console.warn('Warning: ' + warning));\n }\n\n if (response.headers.get('content-type')?.includes('application/json')) {\n data = JSONbig.parse(await response.text());\n } else if (responseType === 'arrayBuffer') {\n data = await response.arrayBuffer();\n } else {\n data = {\n message: await response.text()\n };\n }\n\n if (400 <= response.status) {\n let responseText = '';\n if (response.headers.get('content-type')?.includes('application/json') || responseType === 'arrayBuffer') {\n responseText = JSONbig.stringify(data);\n } else {\n responseText = data?.message;\n }\n throw new RevenexxException(data?.message, response.status, data?.type, responseText);\n }\n\n if (data && typeof data === 'object') {\n data.toString = () => JSONbig.stringify(data);\n }\n\n return data;\n }\n\n static flatten(data: Payload, prefix = ''): Payload {\n let output: Payload = {};\n\n for (const [key, value] of Object.entries(data)) {\n let finalKey = prefix ? prefix + '[' + key +']' : key;\n if (Array.isArray(value)) {\n output = { ...output, ...Client.flatten(value, finalKey) };\n } else {\n output[finalKey] = value;\n }\n }\n\n return output;\n }\n\n /**\n * Get information about this SDK and the generator that produced it.\n *\n * Contributed by the 'about' plugin.\n */\n getAbout(): Record<string, string> {\n return {\n name: 'Revenexx Node',\n version: '0.1.0',\n language: 'nodejs',\n generator: 'revenexx/sdk-generator',\n generatorUrl: 'https://github.com/revenexx/sdk-generator',\n };\n }\n}\n\nexport { Client, RevenexxException };\nexport { Query } from './query';\nexport type { Models, Payload, UploadProgress };\nexport type { QueryTypes, QueryTypesList } from './query';\n"]}
1
+ {"version":3,"sources":["../src/client.ts"],"names":[],"mappings":";AACA,OAAO,mBAAmB;AA+a1B,SAAS,aAAa;AA9atB,IAAM,gBAAgB,cAAc,EAAE,eAAe,MAAM,CAAC;AAC5D,IAAM,oBAAoB,cAAc,EAAE,iBAAiB,KAAK,CAAC;AAEjE,IAAM,WAAW,OAAO,OAAO,gBAAgB;AAC/C,IAAM,WAAW,OAAO,OAAO,gBAAgB;AAC/C,IAAM,YAAY,OAAO,qBAAqB;AAC9C,IAAM,YAAY,OAAO,sBAAsB;AAE/C,SAAS,YAAY,OAAqB;AACtC,SAAO,UAAU,QACV,OAAO,UAAU,YACjB,MAAM,iBAAiB,QACvB,OAAO,MAAM,cAAc,cAC3B,OAAO,MAAM,YAAY,cACzB,OAAO,MAAM,aAAa;AACrC;AAEA,SAAS,QAAQ,MAAc,OAAiB;AAC5C,MAAI,YAAY,KAAK,GAAG;AACpB,QAAI,MAAM,UAAU,GAAG;AACnB,YAAM,MAAM,MAAM,QAAQ;AAC1B,YAAM,KAAK,OAAO,GAAG;AACrB,UAAI,MAAM,YAAY,MAAM,UAAU;AAClC,eAAO,OAAO,GAAG;AAAA,MACrB;AACA,UAAI,MAAM,aAAa,MAAM,WAAW;AACpC,eAAO;AAAA,MACX;AACA,aAAO,MAAM,SAAS;AAAA,IAC1B;AACA,WAAO,MAAM,SAAS;AAAA,EAC1B;AACA,SAAO;AACX;AAEA,IAAM,UAAU;AAAA,EACZ,OAAO,CAAC,SAAiB,cAAc,MAAM,MAAM,OAAO;AAAA,EAC1D,WAAW,kBAAkB;AACjC;AAkBA,IAAM,oBAAN,cAAgC,MAAM;AAAA,EAIlC,YAAY,SAAiB,OAAe,GAAG,OAAe,IAAI,WAAmB,IAAI;AACrF,UAAM,OAAO;AACb,SAAK,OAAO;AACZ,SAAK,UAAU;AACf,SAAK,OAAO;AACZ,SAAK,OAAO;AACZ,SAAK,WAAW;AAAA,EACpB;AACJ;AAEA,IAAI,uBAA4C;AAWhD,SAAS,0BAAwC;AAC7C,MAAI,yBAAyB,MAAM;AAC/B,2BAAuB,OAAO,QAAQ,EAAE;AAAA,MACpC,CAAC,EAAE,MAAM,MAAM,IAAI,MAAM,EAAE,SAAS,EAAE,oBAAoB,MAAM,EAAE,CAAC;AAAA,IACvE;AAAA,EACJ;AAEA,SAAO;AACX;AAEA,SAAS,eAAe;AACpB,MAAI,KAAK;AAGT,QAAM,WAAqB,CAAC;AAC5B,MAAI,OAAO,YAAY,aAAa;AAChC,QAAI,OAAO,QAAQ,aAAa;AAAU,eAAS,KAAK,QAAQ,QAAQ;AACxE,QAAI,OAAO,QAAQ,SAAS;AAAU,eAAS,KAAK,QAAQ,IAAI;AAAA,EACpE;AACA,MAAI,SAAS,SAAS,GAAG;AACrB,UAAM,KAAK,SAAS,KAAK,IAAI,CAAC;AAAA,EAClC;AAMA,MAAI,OAAO,cAAc,eAAe,OAAO,UAAU,cAAc,UAAU;AAE7E,UAAM,IAAI,UAAU,SAAS;AAAA,EAGjC,WAAW,OAAO,WAAW,gBAAgB,UAAU;AACnD,UAAM;AAAA,EAGV,WAAW,OAAO,YAAY,eAAe,OAAO,QAAQ,YAAY,UAAU;AAC9E,UAAM,YAAY,QAAQ,OAAO;AAAA,EACrC;AAEA,SAAO;AACX;AAEA,IAAM,SAAN,MAAM,QAAO;AAAA,EAAb;AAEI,kBAAS;AAAA,MACL,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,YAAY;AAAA,IAChB;AACA,mBAAmB;AAAA,MACf,cAAc;AAAA,MACd,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,iBAAiB;AAAA,MACjB,cAAe,aAAa;AAAA,IAChC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWA,YAAY,UAAwB;AAChC,QAAI,CAAC,YAAY,OAAO,aAAa,UAAU;AAC3C,YAAM,IAAI,kBAAkB,iCAAiC;AAAA,IACjE;AAEA,QAAI,CAAC,SAAS,WAAW,SAAS,KAAK,CAAC,SAAS,WAAW,UAAU,GAAG;AACrE,YAAM,IAAI,kBAAkB,2BAA2B,QAAQ;AAAA,IACnE;AAEA,SAAK,OAAO,WAAW;AACvB,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,cAAc,YAA2B;AAErC,QAAI,OAAO,WAAW,gBAAgB,aAAa;AAC/C,cAAQ,KAAK,kDAAkD;AAAA,IACnE;AAEA,SAAK,OAAO,aAAa;AAEzB,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,UAAU,QAAgB,OAAqB;AAC3C,SAAK,QAAQ,OAAO,YAAY,CAAC,IAAI;AAErC,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWA,cAAc,OAAqB;AAC/B,SAAK,QAAQ,oBAAoB,IAAI;AACrC,SAAK,OAAO,aAAa;AACzB,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,cAAc,OAAqB;AAC/B,SAAK,QAAQ,eAAe,IAAI,MAAM,YAAY,EAAE,WAAW,SAAS,IAAI,QAAQ,UAAU,KAAK;AACnG,SAAK,OAAO,aAAa;AACzB,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYA,UAAU,OAAqB;AAC3B,SAAK,QAAQ,mBAAmB,IAAI;AACpC,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYA,UAAU,OAAqB;AAC3B,SAAK,QAAQ,mBAAmB,IAAI;AACpC,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,MAAc,oBAA0C;AACpD,QAAI,CAAC,KAAK,OAAO,YAAY;AACzB,aAAO,CAAC;AAAA,IACZ;AAEA,WAAO,EAAE,YAAY,MAAM,wBAAwB,EAAE;AAAA,EACzD;AAAA,EAEA,eAAe,QAAgB,KAAU,UAAmB,CAAC,GAAG,SAAkB,CAAC,GAA0C;AACzH,aAAS,OAAO,YAAY;AAE5B,cAAU,OAAO,OAAO,CAAC,GAAG,KAAK,SAAS,OAAO;AAEjD,QAAI,UAAuB;AAAA,MACvB;AAAA,MACA;AAAA,IACJ;AAEA,QAAI,WAAW,OAAO;AAClB,iBAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,QAAO,QAAQ,MAAM,CAAC,GAAG;AAC/D,YAAI,aAAa,OAAO,KAAK,KAAK;AAAA,MACtC;AAAA,IACJ,OAAO;AACH,cAAQ,QAAQ,cAAc,GAAG;AAAA,QAC7B,KAAK;AACD,kBAAQ,OAAO,QAAQ,UAAU,MAAM;AACvC;AAAA,QAEJ,KAAK;AACD,gBAAM,WAAW,IAAI,SAAS;AAE9B,qBAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,MAAM,GAAG;AAC/C,gBAAI,iBAAiB,MAAM;AACvB,uBAAS,OAAO,KAAK,OAAO,MAAM,IAAI;AAAA,YAC1C,WAAW,MAAM,QAAQ,KAAK,GAAG;AAC7B,yBAAW,eAAe,OAAO;AAC7B,yBAAS,OAAO,GAAG,GAAG,MAAM,WAAW;AAAA,cAC3C;AAAA,YACJ,OAAO;AACH,uBAAS,OAAO,KAAK,KAAK;AAAA,YAC9B;AAAA,UACJ;AAEA,kBAAQ,OAAO;AACf,iBAAO,QAAQ,cAAc;AAC7B;AAAA,MACR;AAAA,IACJ;AAEA,WAAO,EAAE,KAAK,IAAI,SAAS,GAAG,QAAQ;AAAA,EAC1C;AAAA,EAEA,MAAM,cAAc,QAAgB,KAAU,UAAmB,CAAC,GAAG,kBAA2B,CAAC,GAAG,YAAgD;AAChJ,UAAM,CAAC,WAAW,IAAI,IAAI,OAAO,QAAQ,eAAe,EAAE,KAAK,CAAC,CAAC,GAAG,KAAK,MAAM,iBAAiB,IAAI,KAAK,CAAC;AAE1G,QAAI,CAAC,QAAQ,CAAC,WAAW;AACrB,YAAM,IAAI,MAAM,2BAA2B;AAAA,IAC/C;AAKA,UAAM,WAAW,MAAM,KAAK,KAAK,QAAQ,KAAK,SAAS,eAAe;AAEtE,QAAI,cAAc,OAAO,eAAe,YAAY;AAChD,iBAAW;AAAA,QACP,KAAK,UAAU;AAAA,QACf,UAAU;AAAA,QACV,cAAc,KAAK;AAAA,QACnB,aAAa;AAAA,QACb,gBAAgB;AAAA,MACpB,CAAC;AAAA,IACL;AAEA,WAAO;AAAA,EACX;AAAA,EAEA,MAAM,OAAwB;AAC1B,WAAO,KAAK,KAAK,OAAO,IAAI,IAAI,KAAK,OAAO,WAAW,OAAO,CAAC;AAAA,EACnE;AAAA,EAEA,MAAM,SAAS,QAAgB,KAAU,UAAmB,CAAC,GAAG,SAAkB,CAAC,GAAoB;AACnG,UAAM,EAAE,KAAK,QAAQ,IAAI,KAAK,eAAe,QAAQ,KAAK,SAAS,MAAM;AAEzE,UAAM,WAAW,MAAM,MAAM,KAAK;AAAA,MAC9B,GAAG;AAAA,MACH,GAAI,MAAM,KAAK,kBAAkB;AAAA,MACjC,UAAU;AAAA,IACd,CAAC;AAED,QAAI,SAAS,WAAW,OAAO,SAAS,WAAW,KAAK;AACpD,YAAM,IAAI,kBAAkB,oBAAoB,SAAS,MAAM;AAAA,IACnE;AAEA,WAAO,SAAS,QAAQ,IAAI,UAAU,KAAK;AAAA,EAC/C;AAAA,EAEA,MAAM,KAAK,QAAgB,KAAU,UAAmB,CAAC,GAAG,SAAkB,CAAC,GAAG,eAAe,QAAsB;AACnH,UAAM,EAAE,KAAK,QAAQ,IAAI,KAAK,eAAe,QAAQ,KAAK,SAAS,MAAM;AAEzE,QAAI,OAAY;AAEhB,UAAM,WAAW,MAAM,MAAM,KAAK;AAAA,MAC9B,GAAG;AAAA,MACH,GAAI,MAAM,KAAK,kBAAkB;AAAA,IACrC,CAAC;AAED,UAAM,WAAW,SAAS,QAAQ,IAAI,oBAAoB;AAC1D,QAAI,UAAU;AACV,eAAS,MAAM,GAAG,EAAE,QAAQ,CAAC,YAAoB,QAAQ,KAAK,cAAc,OAAO,CAAC;AAAA,IACxF;AAEA,QAAI,SAAS,QAAQ,IAAI,cAAc,GAAG,SAAS,kBAAkB,GAAG;AACpE,aAAO,QAAQ,MAAM,MAAM,SAAS,KAAK,CAAC;AAAA,IAC9C,WAAW,iBAAiB,eAAe;AACvC,aAAO,MAAM,SAAS,YAAY;AAAA,IACtC,OAAO;AACH,aAAO;AAAA,QACH,SAAS,MAAM,SAAS,KAAK;AAAA,MACjC;AAAA,IACJ;AAEA,QAAI,OAAO,SAAS,QAAQ;AACxB,UAAI,eAAe;AACnB,UAAI,SAAS,QAAQ,IAAI,cAAc,GAAG,SAAS,kBAAkB,KAAK,iBAAiB,eAAe;AACtG,uBAAe,QAAQ,UAAU,IAAI;AAAA,MACzC,OAAO;AACH,uBAAe,MAAM;AAAA,MACzB;AACA,YAAM,IAAI,kBAAkB,MAAM,SAAS,SAAS,QAAQ,MAAM,MAAM,YAAY;AAAA,IACxF;AAEA,QAAI,QAAQ,OAAO,SAAS,UAAU;AAClC,WAAK,WAAW,MAAM,QAAQ,UAAU,IAAI;AAAA,IAChD;AAEA,WAAO;AAAA,EACX;AAAA,EAEA,OAAO,QAAQ,MAAe,SAAS,IAAa;AAChD,QAAI,SAAkB,CAAC;AAEvB,eAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,IAAI,GAAG;AAC7C,UAAI,WAAW,SAAS,SAAS,MAAM,MAAK,MAAM;AAClD,UAAI,MAAM,QAAQ,KAAK,GAAG;AACtB,iBAAS,EAAE,GAAG,QAAQ,GAAG,QAAO,QAAQ,OAAO,QAAQ,EAAE;AAAA,MAC7D,OAAO;AACH,eAAO,QAAQ,IAAI;AAAA,MACvB;AAAA,IACJ;AAEA,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,WAAmC;AAC/B,WAAO;AAAA,MACH,MAAM;AAAA,MACN,SAAS;AAAA,MACT,UAAU;AAAA,MACV,WAAW;AAAA,MACX,cAAc;AAAA,IAClB;AAAA,EACJ;AACJ","sourcesContent":["import { Models } from './models';\nimport JSONbigModule from 'json-bigint';\nconst JSONbigParser = JSONbigModule({ storeAsString: false });\nconst JSONbigSerializer = JSONbigModule({ useNativeBigInt: true });\n\nconst MAX_SAFE = BigInt(Number.MAX_SAFE_INTEGER);\nconst MIN_SAFE = BigInt(Number.MIN_SAFE_INTEGER);\nconst MAX_INT64 = BigInt('9223372036854775807');\nconst MIN_INT64 = BigInt('-9223372036854775808');\n\nfunction isBigNumber(value: any): boolean {\n return value !== null\n && typeof value === 'object'\n && value._isBigNumber === true\n && typeof value.isInteger === 'function'\n && typeof value.toFixed === 'function'\n && typeof value.toNumber === 'function';\n}\n\nfunction reviver(_key: string, value: any): any {\n if (isBigNumber(value)) {\n if (value.isInteger()) {\n const str = value.toFixed();\n const bi = BigInt(str);\n if (bi >= MIN_SAFE && bi <= MAX_SAFE) {\n return Number(str);\n }\n if (bi >= MIN_INT64 && bi <= MAX_INT64) {\n return bi;\n }\n return value.toNumber();\n }\n return value.toNumber();\n }\n return value;\n}\n\nconst JSONbig = {\n parse: (text: string) => JSONbigParser.parse(text, reviver),\n stringify: JSONbigSerializer.stringify\n};\n\ntype Payload = {\n [key: string]: any;\n}\n\ntype UploadProgress = {\n $id: string;\n progress: number;\n sizeUploaded: number;\n chunksTotal: number;\n chunksUploaded: number;\n}\n\ntype Headers = {\n [key: string]: string;\n}\n\nclass RevenexxException extends Error {\n code: number;\n response: string;\n type: string;\n constructor(message: string, code: number = 0, type: string = '', response: string = '') {\n super(message);\n this.name = 'RevenexxException';\n this.message = message;\n this.code = code;\n this.type = type;\n this.response = response;\n }\n}\n\nlet selfSignedDispatcher: Promise<any> | null = null;\n\n/**\n * Build a dispatcher that skips TLS verification, for `setSelfSigned(true)`.\n *\n * The platform `fetch` has no `rejectUnauthorized` switch of its own, so the\n * only way to reach an endpoint with a self-signed certificate is to hand it\n * an undici dispatcher. `undici` is loaded lazily and cached: a client that\n * never calls `setSelfSigned(true)` never pays for it, and runtimes without\n * Node's networking internals keep working as long as they stay off this path.\n */\nfunction getSelfSignedDispatcher(): Promise<any> {\n if (selfSignedDispatcher === null) {\n selfSignedDispatcher = import('undici').then(\n ({ Agent }) => new Agent({ connect: { rejectUnauthorized: false } })\n );\n }\n\n return selfSignedDispatcher;\n}\n\nfunction getUserAgent() {\n let ua = 'RevenexxNodeJSSDK/0.1.1';\n\n // `process` is a global in Node.js, but not fully available in all runtimes.\n const platform: string[] = [];\n if (typeof process !== 'undefined') {\n if (typeof process.platform === 'string') platform.push(process.platform);\n if (typeof process.arch === 'string') platform.push(process.arch);\n } \n if (platform.length > 0) {\n ua += ` (${platform.join('; ')})`;\n }\n\n // `navigator.userAgent` is available in Node.js 21 and later.\n // It's also part of the WinterCG spec, so many edge runtimes provide it.\n // https://common-min-api.proposal.wintercg.org/#requirements-for-navigatoruseragent\n // @ts-ignore\n if (typeof navigator !== 'undefined' && typeof navigator.userAgent === 'string') {\n // @ts-ignore\n ua += ` ${navigator.userAgent}`;\n\n // @ts-ignore\n } else if (typeof globalThis.EdgeRuntime === 'string') {\n ua += ` EdgeRuntime`;\n\n // Older Node.js versions don't have `navigator.userAgent`, so we have to use `process.version`.\n } else if (typeof process !== 'undefined' && typeof process.version === 'string') {\n ua += ` Node.js/${process.version}`;\n }\n\n return ua;\n}\n\nclass Client {\n\n config = {\n endpoint: 'https://api.revenexx.com',\n selfSigned: false,\n apikeyauth: '',\n bearerauth: '',\n };\n headers: Headers = {\n 'x-sdk-name': 'Revenexx Node',\n 'x-sdk-platform': '',\n 'x-sdk-language': 'nodejs',\n 'x-sdk-version': '0.1.1',\n 'user-agent' : getUserAgent(),\n };\n\n /**\n * Set Endpoint\n *\n * Your project endpoint\n *\n * @param {string} endpoint\n *\n * @returns {this}\n */\n setEndpoint(endpoint: string): this {\n if (!endpoint || typeof endpoint !== 'string') {\n throw new RevenexxException('Endpoint must be a valid string');\n }\n\n if (!endpoint.startsWith('http://') && !endpoint.startsWith('https://')) {\n throw new RevenexxException('Invalid endpoint URL: ' + endpoint);\n }\n\n this.config.endpoint = endpoint;\n return this;\n }\n\n /**\n * Set self-signed\n *\n * @param {boolean} selfSigned\n *\n * @returns {this}\n */\n setSelfSigned(selfSigned: boolean): this {\n // @ts-ignore\n if (typeof globalThis.EdgeRuntime !== 'undefined') {\n console.warn('setSelfSigned is not supported in edge runtimes.');\n }\n\n this.config.selfSigned = selfSigned;\n\n return this;\n }\n\n /**\n * Add header\n *\n * @param {string} header\n * @param {string} value\n *\n * @returns {this}\n */\n addHeader(header: string, value: string): this {\n this.headers[header.toLowerCase()] = value;\n\n return this;\n }\n\n /**\n * Set ApiKeyAuth\n *\n * A gateway-managed scoped API key (rvxk_…).\n *\n * @param value string\n *\n * @return {this}\n */\n setApiKeyAuth(value: string): this {\n this.headers['X-Revenexx-Api-Key'] = value;\n this.config.apikeyauth = value;\n return this;\n }\n /**\n * Set BearerAuth\n *\n * A Zitadel-issued JWT (Cockpit / interactive callers).\n *\n * @param value string\n *\n * @return {this}\n */\n setBearerAuth(value: string): this {\n this.headers['Authorization'] = value.toLowerCase().startsWith('bearer ') ? value : `Bearer ${value}`;\n this.config.bearerauth = value;\n return this;\n }\n\n /**\n * Set Tenant\n *\n * The tenant slug your requests are scoped to, sent as the\n * X-Revenexx-Tenant header on every request.\n *\n * @param value string\n *\n * @return {this}\n */\n setTenant(value: string): this {\n this.headers['X-Revenexx-Tenant'] = value;\n return this;\n }\n\n /**\n * Set Market\n *\n * The market slug to scope requests to, sent as the X-Revenexx-Market\n * header. Optional — omit it to see only global rows.\n *\n * @param value string\n *\n * @return {this}\n */\n setMarket(value: string): this {\n this.headers['X-Revenexx-Market'] = value;\n return this;\n }\n\n /**\n * Extra `fetch` options for this client's TLS settings.\n *\n * Empty unless `setSelfSigned(true)` was called, so the default path stays\n * on the platform `fetch` with certificate verification intact.\n */\n private async dispatcherOptions(): Promise<RequestInit> {\n if (!this.config.selfSigned) {\n return {};\n }\n\n return { dispatcher: await getSelfSignedDispatcher() } as RequestInit;\n }\n\n prepareRequest(method: string, url: URL, headers: Headers = {}, params: Payload = {}): { uri: string, options: RequestInit } {\n method = method.toUpperCase();\n\n headers = Object.assign({}, this.headers, headers);\n\n let options: RequestInit = {\n method,\n headers,\n };\n\n if (method === 'GET') {\n for (const [key, value] of Object.entries(Client.flatten(params))) {\n url.searchParams.append(key, value);\n }\n } else {\n switch (headers['content-type']) {\n case 'application/json':\n options.body = JSONbig.stringify(params);\n break;\n\n case 'multipart/form-data':\n const formData = new FormData();\n\n for (const [key, value] of Object.entries(params)) {\n if (value instanceof File) {\n formData.append(key, value, value.name);\n } else if (Array.isArray(value)) {\n for (const nestedValue of value) {\n formData.append(`${key}[]`, nestedValue);\n }\n } else {\n formData.append(key, value);\n }\n }\n\n options.body = formData;\n delete headers['content-type'];\n break;\n }\n }\n\n return { uri: url.toString(), options };\n }\n\n async chunkedUpload(method: string, url: URL, headers: Headers = {}, originalPayload: Payload = {}, onProgress: (progress: UploadProgress) => void) {\n const [fileParam, file] = Object.entries(originalPayload).find(([_, value]) => value instanceof File) ?? [];\n\n if (!file || !fileParam) {\n throw new Error('File not found in payload');\n }\n\n // The API takes one multipart body per upload. It has no chunked or\n // resumable protocol — no content-range, no upload id, no per-chunk\n // endpoint — so the whole file always goes in a single request.\n const response = await this.call(method, url, headers, originalPayload);\n\n if (onProgress && typeof onProgress === 'function') {\n onProgress({\n $id: response?.$id,\n progress: 100,\n sizeUploaded: file.size,\n chunksTotal: 1,\n chunksUploaded: 1\n });\n }\n\n return response;\n }\n\n async ping(): Promise<string> {\n return this.call('GET', new URL(this.config.endpoint + '/ping'));\n }\n\n async redirect(method: string, url: URL, headers: Headers = {}, params: Payload = {}): Promise<string> {\n const { uri, options } = this.prepareRequest(method, url, headers, params);\n\n const response = await fetch(uri, {\n ...options,\n ...(await this.dispatcherOptions()),\n redirect: 'manual'\n });\n\n if (response.status !== 301 && response.status !== 302) {\n throw new RevenexxException('Invalid redirect', response.status);\n }\n\n return response.headers.get('location') || '';\n }\n\n async call(method: string, url: URL, headers: Headers = {}, params: Payload = {}, responseType = 'json'): Promise<any> {\n const { uri, options } = this.prepareRequest(method, url, headers, params);\n\n let data: any = null;\n\n const response = await fetch(uri, {\n ...options,\n ...(await this.dispatcherOptions())\n });\n\n const warnings = response.headers.get('x-revenexx-warning');\n if (warnings) {\n warnings.split(';').forEach((warning: string) => console.warn('Warning: ' + warning));\n }\n\n if (response.headers.get('content-type')?.includes('application/json')) {\n data = JSONbig.parse(await response.text());\n } else if (responseType === 'arrayBuffer') {\n data = await response.arrayBuffer();\n } else {\n data = {\n message: await response.text()\n };\n }\n\n if (400 <= response.status) {\n let responseText = '';\n if (response.headers.get('content-type')?.includes('application/json') || responseType === 'arrayBuffer') {\n responseText = JSONbig.stringify(data);\n } else {\n responseText = data?.message;\n }\n throw new RevenexxException(data?.message, response.status, data?.type, responseText);\n }\n\n if (data && typeof data === 'object') {\n data.toString = () => JSONbig.stringify(data);\n }\n\n return data;\n }\n\n static flatten(data: Payload, prefix = ''): Payload {\n let output: Payload = {};\n\n for (const [key, value] of Object.entries(data)) {\n let finalKey = prefix ? prefix + '[' + key +']' : key;\n if (Array.isArray(value)) {\n output = { ...output, ...Client.flatten(value, finalKey) };\n } else {\n output[finalKey] = value;\n }\n }\n\n return output;\n }\n\n /**\n * Get information about this SDK and the generator that produced it.\n *\n * Contributed by the 'about' plugin.\n */\n getAbout(): Record<string, string> {\n return {\n name: 'Revenexx Node',\n version: '0.1.1',\n language: 'nodejs',\n generator: 'revenexx/sdk-generator',\n generatorUrl: 'https://github.com/revenexx/sdk-generator',\n };\n }\n}\n\nexport { Client, RevenexxException };\nexport { Query } from './query';\nexport type { Models, Payload, UploadProgress };\nexport type { QueryTypes, QueryTypesList } from './query';\n"]}
@@ -0,0 +1,7 @@
1
+ declare enum ApprovalRuleApproverType {
2
+ Contact = "contact",
3
+ Role = "role",
4
+ Default = "default"
5
+ }
6
+
7
+ export { ApprovalRuleApproverType };
@@ -0,0 +1,7 @@
1
+ declare enum ApprovalRuleApproverType {
2
+ Contact = "contact",
3
+ Role = "role",
4
+ Default = "default"
5
+ }
6
+
7
+ export { ApprovalRuleApproverType };
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ var ApprovalRuleApproverType = /* @__PURE__ */ ((ApprovalRuleApproverType2) => {
4
+ ApprovalRuleApproverType2["Contact"] = "contact";
5
+ ApprovalRuleApproverType2["Role"] = "role";
6
+ ApprovalRuleApproverType2["Default"] = "default";
7
+ return ApprovalRuleApproverType2;
8
+ })(ApprovalRuleApproverType || {});
9
+
10
+ exports.ApprovalRuleApproverType = ApprovalRuleApproverType;
11
+ //# sourceMappingURL=out.js.map
12
+ //# sourceMappingURL=approval-rule-approver-type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/enums/approval-rule-approver-type.ts"],"names":["ApprovalRuleApproverType"],"mappings":"AAAO,IAAK,2BAAL,kBAAKA,8BAAL;AACH,EAAAA,0BAAA,aAAU;AACV,EAAAA,0BAAA,UAAO;AACP,EAAAA,0BAAA,aAAU;AAHF,SAAAA;AAAA,GAAA","sourcesContent":["export enum ApprovalRuleApproverType {\n Contact = 'contact',\n Role = 'role',\n Default = 'default',\n}"]}