dodopayments 1.22.0 → 1.47.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (449) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +13 -0
  3. data/README.md +143 -59
  4. data/SECURITY.md +2 -2
  5. data/lib/dodopayments/client.rb +16 -4
  6. data/lib/dodopayments/errors.rb +23 -1
  7. data/lib/dodopayments/file_part.rb +2 -2
  8. data/lib/dodopayments/internal/cursor_page_pagination.rb +90 -0
  9. data/lib/dodopayments/internal/transport/base_client.rb +88 -8
  10. data/lib/dodopayments/internal/transport/pooled_net_requester.rb +17 -1
  11. data/lib/dodopayments/internal/type/array_of.rb +16 -2
  12. data/lib/dodopayments/internal/type/base_model.rb +155 -54
  13. data/lib/dodopayments/internal/type/boolean.rb +15 -1
  14. data/lib/dodopayments/internal/type/converter.rb +86 -33
  15. data/lib/dodopayments/internal/type/enum.rb +30 -6
  16. data/lib/dodopayments/internal/type/file_input.rb +13 -1
  17. data/lib/dodopayments/internal/type/hash_of.rb +16 -2
  18. data/lib/dodopayments/internal/type/request_parameters.rb +4 -4
  19. data/lib/dodopayments/internal/type/union.rb +44 -31
  20. data/lib/dodopayments/internal/type/unknown.rb +15 -1
  21. data/lib/dodopayments/internal/util.rb +119 -11
  22. data/lib/dodopayments/internal.rb +9 -0
  23. data/lib/dodopayments/models/addon_create_params.rb +6 -10
  24. data/lib/dodopayments/models/addon_list_params.rb +4 -4
  25. data/lib/dodopayments/models/addon_response.rb +6 -10
  26. data/lib/dodopayments/models/addon_update_params.rb +6 -10
  27. data/lib/dodopayments/models/attach_addon.rb +21 -0
  28. data/lib/dodopayments/models/billing_address.rb +3 -3
  29. data/lib/dodopayments/models/brand.rb +107 -0
  30. data/lib/dodopayments/models/brand_create_params.rb +44 -0
  31. data/lib/dodopayments/models/{webhook_event_retrieve_params.rb → brand_list_params.rb} +2 -2
  32. data/lib/dodopayments/models/brand_list_response.rb +17 -0
  33. data/lib/dodopayments/models/brand_retrieve_params.rb +14 -0
  34. data/lib/dodopayments/models/brand_update_images_params.rb +14 -0
  35. data/lib/dodopayments/models/brand_update_images_response.rb +25 -0
  36. data/lib/dodopayments/models/brand_update_params.rb +43 -0
  37. data/lib/dodopayments/models/create_new_customer.rb +0 -1
  38. data/lib/dodopayments/models/customer_list_params.rb +13 -5
  39. data/lib/dodopayments/models/customer_request.rb +3 -3
  40. data/lib/dodopayments/models/customers/customer_portal_create_params.rb +2 -2
  41. data/lib/dodopayments/models/discount.rb +15 -4
  42. data/lib/dodopayments/models/discount_create_params.rb +17 -6
  43. data/lib/dodopayments/models/discount_list_params.rb +4 -4
  44. data/lib/dodopayments/models/discount_update_params.rb +16 -5
  45. data/lib/dodopayments/models/dispute.rb +6 -5
  46. data/lib/dodopayments/models/dispute_list_params.rb +44 -16
  47. data/lib/dodopayments/models/dispute_list_response.rb +6 -5
  48. data/lib/dodopayments/models/{dispute_retrieve_response.rb → get_dispute.rb} +11 -9
  49. data/lib/dodopayments/models/license_key.rb +3 -3
  50. data/lib/dodopayments/models/license_key_duration.rb +1 -1
  51. data/lib/dodopayments/models/license_key_list_params.rb +23 -11
  52. data/lib/dodopayments/models/license_key_update_params.rb +3 -3
  53. data/lib/dodopayments/models/misc_list_supported_countries_response.rb +1 -1
  54. data/lib/dodopayments/models/new_customer.rb +27 -0
  55. data/lib/dodopayments/models/one_time_product_cart_item.rb +0 -1
  56. data/lib/dodopayments/models/payment.rb +50 -21
  57. data/lib/dodopayments/models/payment_create_params.rb +22 -41
  58. data/lib/dodopayments/models/payment_create_response.rb +16 -6
  59. data/lib/dodopayments/models/payment_list_params.rb +44 -16
  60. data/lib/dodopayments/models/payment_list_response.rb +16 -4
  61. data/lib/dodopayments/models/payment_method_types.rb +31 -0
  62. data/lib/dodopayments/models/payment_retrieve_line_items_params.rb +14 -0
  63. data/lib/dodopayments/models/payment_retrieve_line_items_response.rb +63 -0
  64. data/lib/dodopayments/models/payout_list_params.rb +4 -4
  65. data/lib/dodopayments/models/payout_list_response.rb +7 -3
  66. data/lib/dodopayments/models/price.rb +57 -30
  67. data/lib/dodopayments/models/product.rb +85 -12
  68. data/lib/dodopayments/models/product_create_params.rb +61 -12
  69. data/lib/dodopayments/models/product_list_params.rb +15 -7
  70. data/lib/dodopayments/models/product_list_response.rb +19 -11
  71. data/lib/dodopayments/models/product_update_files_params.rb +20 -0
  72. data/lib/dodopayments/models/product_update_files_response.rb +22 -0
  73. data/lib/dodopayments/models/product_update_params.rb +70 -13
  74. data/lib/dodopayments/models/products/image_update_params.rb +2 -2
  75. data/lib/dodopayments/models/refund.rb +15 -5
  76. data/lib/dodopayments/models/refund_create_params.rb +38 -1
  77. data/lib/dodopayments/models/refund_list_params.rb +26 -13
  78. data/lib/dodopayments/models/subscription.rb +38 -18
  79. data/lib/dodopayments/models/subscription_change_plan_params.rb +9 -23
  80. data/lib/dodopayments/models/subscription_charge_params.rb +38 -2
  81. data/lib/dodopayments/models/subscription_create_params.rb +53 -66
  82. data/lib/dodopayments/models/subscription_create_response.rb +24 -8
  83. data/lib/dodopayments/models/subscription_list_params.rb +37 -14
  84. data/lib/dodopayments/models/subscription_list_response.rb +37 -16
  85. data/lib/dodopayments/models/subscription_status.rb +0 -1
  86. data/lib/dodopayments/models/subscription_update_params.rb +10 -6
  87. data/lib/dodopayments/models/webhook_create_params.rb +86 -0
  88. data/lib/dodopayments/models/webhook_create_response.rb +88 -0
  89. data/lib/dodopayments/models/webhook_delete_params.rb +14 -0
  90. data/lib/dodopayments/models/webhook_event_type.rb +35 -0
  91. data/lib/dodopayments/models/webhook_list_params.rb +30 -0
  92. data/lib/dodopayments/models/webhook_list_response.rb +88 -0
  93. data/lib/dodopayments/models/webhook_payload.rb +161 -0
  94. data/lib/dodopayments/models/webhook_retrieve_params.rb +14 -0
  95. data/lib/dodopayments/models/webhook_retrieve_response.rb +88 -0
  96. data/lib/dodopayments/models/webhook_update_params.rb +69 -0
  97. data/lib/dodopayments/models/webhook_update_response.rb +88 -0
  98. data/lib/dodopayments/models/webhooks/header_retrieve_params.rb +16 -0
  99. data/lib/dodopayments/models/webhooks/header_retrieve_response.rb +31 -0
  100. data/lib/dodopayments/models/webhooks/header_update_params.rb +24 -0
  101. data/lib/dodopayments/models/your_webhook_url_create_params.rb +32 -0
  102. data/lib/dodopayments/models.rb +77 -3
  103. data/lib/dodopayments/request_options.rb +4 -0
  104. data/lib/dodopayments/resources/addons.rb +13 -21
  105. data/lib/dodopayments/resources/brands.rb +119 -0
  106. data/lib/dodopayments/resources/customers/customer_portal.rb +3 -3
  107. data/lib/dodopayments/resources/customers.rb +12 -10
  108. data/lib/dodopayments/resources/discounts.rb +24 -19
  109. data/lib/dodopayments/resources/disputes.rb +10 -10
  110. data/lib/dodopayments/resources/license_key_instances.rb +5 -5
  111. data/lib/dodopayments/resources/license_keys.rb +13 -13
  112. data/lib/dodopayments/resources/licenses.rb +4 -4
  113. data/lib/dodopayments/resources/misc.rb +1 -1
  114. data/lib/dodopayments/resources/payments.rb +38 -19
  115. data/lib/dodopayments/resources/payouts.rb +3 -3
  116. data/lib/dodopayments/resources/products/images.rb +2 -2
  117. data/lib/dodopayments/resources/products.rb +58 -24
  118. data/lib/dodopayments/resources/refunds.rb +14 -12
  119. data/lib/dodopayments/resources/subscriptions.rb +39 -29
  120. data/lib/dodopayments/resources/webhook_events.rb +0 -52
  121. data/lib/dodopayments/resources/webhooks/headers.rb +59 -0
  122. data/lib/dodopayments/resources/webhooks.rb +157 -0
  123. data/lib/dodopayments/resources/your_webhook_url.rb +56 -0
  124. data/lib/dodopayments/version.rb +1 -1
  125. data/lib/dodopayments.rb +46 -9
  126. data/rbi/dodopayments/client.rbi +19 -6
  127. data/rbi/dodopayments/errors.rbi +51 -16
  128. data/rbi/dodopayments/file_part.rbi +9 -6
  129. data/rbi/dodopayments/internal/cursor_page_pagination.rbi +25 -0
  130. data/rbi/dodopayments/internal/default_page_number_pagination.rbi +2 -1
  131. data/rbi/dodopayments/internal/transport/base_client.rbi +165 -77
  132. data/rbi/dodopayments/internal/transport/pooled_net_requester.rbi +33 -13
  133. data/rbi/dodopayments/internal/type/array_of.rbi +40 -24
  134. data/rbi/dodopayments/internal/type/base_model.rbi +160 -70
  135. data/rbi/dodopayments/internal/type/base_page.rbi +13 -8
  136. data/rbi/dodopayments/internal/type/boolean.rbi +24 -14
  137. data/rbi/dodopayments/internal/type/converter.rbi +135 -33
  138. data/rbi/dodopayments/internal/type/enum.rbi +29 -13
  139. data/rbi/dodopayments/internal/type/file_input.rbi +13 -4
  140. data/rbi/dodopayments/internal/type/hash_of.rbi +40 -24
  141. data/rbi/dodopayments/internal/type/request_parameters.rbi +14 -4
  142. data/rbi/dodopayments/internal/type/union.rbi +71 -23
  143. data/rbi/dodopayments/internal/type/unknown.rbi +24 -6
  144. data/rbi/dodopayments/internal/util.rbi +272 -91
  145. data/rbi/dodopayments/internal.rbi +7 -0
  146. data/rbi/dodopayments/models/addon_cart_response_item.rbi +16 -4
  147. data/rbi/dodopayments/models/addon_create_params.rbi +33 -24
  148. data/rbi/dodopayments/models/addon_list_params.rbi +29 -17
  149. data/rbi/dodopayments/models/addon_response.rbi +33 -27
  150. data/rbi/dodopayments/models/addon_retrieve_params.rbi +18 -5
  151. data/rbi/dodopayments/models/addon_update_images_params.rbi +18 -5
  152. data/rbi/dodopayments/models/addon_update_images_response.rbi +13 -3
  153. data/rbi/dodopayments/models/addon_update_params.rbi +34 -25
  154. data/rbi/dodopayments/models/attach_addon.rbi +28 -0
  155. data/rbi/dodopayments/models/attach_existing_customer.rbi +13 -3
  156. data/rbi/dodopayments/models/billing_address.rbi +24 -12
  157. data/rbi/dodopayments/models/brand.rbi +132 -0
  158. data/rbi/dodopayments/models/brand_create_params.rbi +68 -0
  159. data/rbi/dodopayments/models/brand_list_params.rbi +29 -0
  160. data/rbi/dodopayments/models/brand_list_response.rbi +34 -0
  161. data/rbi/dodopayments/models/brand_retrieve_params.rbi +32 -0
  162. data/rbi/dodopayments/models/brand_update_images_params.rbi +32 -0
  163. data/rbi/dodopayments/models/brand_update_images_response.rbi +36 -0
  164. data/rbi/dodopayments/models/brand_update_params.rbi +64 -0
  165. data/rbi/dodopayments/models/country_code.rbi +255 -252
  166. data/rbi/dodopayments/models/create_new_customer.rbi +27 -11
  167. data/rbi/dodopayments/models/currency.rbi +149 -148
  168. data/rbi/dodopayments/models/customer.rbi +27 -15
  169. data/rbi/dodopayments/models/customer_create_params.rbi +22 -14
  170. data/rbi/dodopayments/models/customer_limited_details.rbi +21 -4
  171. data/rbi/dodopayments/models/customer_list_params.rbi +43 -17
  172. data/rbi/dodopayments/models/customer_portal_session.rbi +13 -3
  173. data/rbi/dodopayments/models/customer_request.rbi +10 -2
  174. data/rbi/dodopayments/models/customer_retrieve_params.rbi +18 -5
  175. data/rbi/dodopayments/models/customer_update_params.rbi +21 -13
  176. data/rbi/dodopayments/models/customers/customer_portal_create_params.rbi +26 -8
  177. data/rbi/dodopayments/models/discount.rbi +42 -22
  178. data/rbi/dodopayments/models/discount_create_params.rbi +43 -20
  179. data/rbi/dodopayments/models/discount_delete_params.rbi +18 -5
  180. data/rbi/dodopayments/models/discount_list_params.rbi +32 -17
  181. data/rbi/dodopayments/models/discount_retrieve_params.rbi +18 -5
  182. data/rbi/dodopayments/models/discount_type.rbi +7 -4
  183. data/rbi/dodopayments/models/discount_update_params.rbi +43 -20
  184. data/rbi/dodopayments/models/dispute.rbi +32 -22
  185. data/rbi/dodopayments/models/dispute_list_params.rbi +178 -33
  186. data/rbi/dodopayments/models/dispute_list_response.rbi +34 -21
  187. data/rbi/dodopayments/models/dispute_retrieve_params.rbi +18 -5
  188. data/rbi/dodopayments/models/dispute_stage.rbi +11 -6
  189. data/rbi/dodopayments/models/dispute_status.rbi +20 -10
  190. data/rbi/dodopayments/models/{dispute_retrieve_response.rbi → get_dispute.rbi} +40 -28
  191. data/rbi/dodopayments/models/intent_status.rbi +32 -14
  192. data/rbi/dodopayments/models/invoices/payment_retrieve_params.rbi +18 -5
  193. data/rbi/dodopayments/models/license_activate_params.rbi +21 -6
  194. data/rbi/dodopayments/models/license_deactivate_params.rbi +21 -13
  195. data/rbi/dodopayments/models/license_key.rbi +31 -23
  196. data/rbi/dodopayments/models/license_key_duration.rbi +24 -5
  197. data/rbi/dodopayments/models/license_key_instance.rbi +19 -4
  198. data/rbi/dodopayments/models/license_key_instance_list_params.rbi +23 -14
  199. data/rbi/dodopayments/models/license_key_instance_retrieve_params.rbi +18 -5
  200. data/rbi/dodopayments/models/license_key_instance_update_params.rbi +19 -6
  201. data/rbi/dodopayments/models/license_key_list_params.rbi +91 -26
  202. data/rbi/dodopayments/models/license_key_retrieve_params.rbi +18 -5
  203. data/rbi/dodopayments/models/license_key_status.rbi +10 -6
  204. data/rbi/dodopayments/models/license_key_update_params.rbi +23 -14
  205. data/rbi/dodopayments/models/license_validate_params.rbi +25 -13
  206. data/rbi/dodopayments/models/license_validate_response.rbi +13 -3
  207. data/rbi/dodopayments/models/misc_list_supported_countries_params.rbi +18 -5
  208. data/rbi/dodopayments/models/misc_list_supported_countries_response.rbi +1 -1
  209. data/rbi/dodopayments/models/new_customer.rbi +39 -0
  210. data/rbi/dodopayments/models/one_time_product_cart_item.rbi +23 -4
  211. data/rbi/dodopayments/models/payment.rbi +125 -62
  212. data/rbi/dodopayments/models/payment_create_params.rbi +67 -87
  213. data/rbi/dodopayments/models/payment_create_response.rbi +45 -22
  214. data/rbi/dodopayments/models/payment_list_params.rbi +149 -32
  215. data/rbi/dodopayments/models/payment_list_response.rbi +47 -26
  216. data/rbi/dodopayments/models/payment_method_types.rbi +52 -0
  217. data/rbi/dodopayments/models/payment_retrieve_line_items_params.rbi +32 -0
  218. data/rbi/dodopayments/models/payment_retrieve_line_items_response.rbi +114 -0
  219. data/rbi/dodopayments/models/payment_retrieve_params.rbi +18 -5
  220. data/rbi/dodopayments/models/payout_list_params.rbi +29 -17
  221. data/rbi/dodopayments/models/payout_list_response.rbi +82 -35
  222. data/rbi/dodopayments/models/price.rbi +142 -55
  223. data/rbi/dodopayments/models/product.rbi +177 -38
  224. data/rbi/dodopayments/models/product_create_params.rbi +151 -36
  225. data/rbi/dodopayments/models/product_delete_params.rbi +18 -5
  226. data/rbi/dodopayments/models/product_list_params.rbi +50 -21
  227. data/rbi/dodopayments/models/product_list_response.rbi +57 -42
  228. data/rbi/dodopayments/models/product_retrieve_params.rbi +18 -5
  229. data/rbi/dodopayments/models/product_unarchive_params.rbi +18 -5
  230. data/rbi/dodopayments/models/product_update_files_params.rbi +38 -0
  231. data/rbi/dodopayments/models/product_update_files_response.rbi +29 -0
  232. data/rbi/dodopayments/models/product_update_params.rbi +160 -37
  233. data/rbi/dodopayments/models/products/image_update_params.rbi +20 -8
  234. data/rbi/dodopayments/models/products/image_update_response.rbi +18 -4
  235. data/rbi/dodopayments/models/refund.rbi +39 -21
  236. data/rbi/dodopayments/models/refund_create_params.rbi +87 -11
  237. data/rbi/dodopayments/models/refund_list_params.rbi +86 -29
  238. data/rbi/dodopayments/models/refund_retrieve_params.rbi +18 -5
  239. data/rbi/dodopayments/models/refund_status.rbi +10 -7
  240. data/rbi/dodopayments/models/subscription.rbi +83 -47
  241. data/rbi/dodopayments/models/subscription_change_plan_params.rbi +61 -40
  242. data/rbi/dodopayments/models/subscription_charge_params.rbi +65 -6
  243. data/rbi/dodopayments/models/subscription_charge_response.rbi +13 -3
  244. data/rbi/dodopayments/models/subscription_create_params.rbi +136 -128
  245. data/rbi/dodopayments/models/subscription_create_response.rbi +51 -22
  246. data/rbi/dodopayments/models/subscription_list_params.rbi +125 -29
  247. data/rbi/dodopayments/models/subscription_list_response.rbi +85 -44
  248. data/rbi/dodopayments/models/subscription_retrieve_params.rbi +18 -5
  249. data/rbi/dodopayments/models/subscription_status.rbi +16 -10
  250. data/rbi/dodopayments/models/subscription_update_params.rbi +63 -33
  251. data/rbi/dodopayments/models/tax_category.rbi +11 -7
  252. data/rbi/dodopayments/models/time_interval.rbi +10 -7
  253. data/rbi/dodopayments/models/webhook_create_params.rbi +115 -0
  254. data/rbi/dodopayments/models/webhook_create_response.rbi +112 -0
  255. data/rbi/dodopayments/models/webhook_delete_params.rbi +32 -0
  256. data/rbi/dodopayments/models/webhook_event_type.rbi +102 -0
  257. data/rbi/dodopayments/models/webhook_list_params.rbi +54 -0
  258. data/rbi/dodopayments/models/webhook_list_response.rbi +112 -0
  259. data/rbi/dodopayments/models/webhook_payload.rbi +440 -0
  260. data/rbi/dodopayments/models/webhook_retrieve_params.rbi +32 -0
  261. data/rbi/dodopayments/models/webhook_retrieve_response.rbi +112 -0
  262. data/rbi/dodopayments/models/webhook_update_params.rbi +94 -0
  263. data/rbi/dodopayments/models/webhook_update_response.rbi +112 -0
  264. data/rbi/dodopayments/models/webhooks/header_retrieve_params.rbi +34 -0
  265. data/rbi/dodopayments/models/webhooks/header_retrieve_response.rbi +50 -0
  266. data/rbi/dodopayments/models/webhooks/header_update_params.rbi +48 -0
  267. data/rbi/dodopayments/models/your_webhook_url_create_params.rbi +56 -0
  268. data/rbi/dodopayments/models.rbi +50 -8
  269. data/rbi/dodopayments/request_options.rbi +18 -7
  270. data/rbi/dodopayments/resources/addons.rbi +44 -27
  271. data/rbi/dodopayments/resources/brands.rbi +89 -0
  272. data/rbi/dodopayments/resources/customers/customer_portal.rbi +8 -6
  273. data/rbi/dodopayments/resources/customers.rbi +31 -17
  274. data/rbi/dodopayments/resources/discounts.rbi +54 -22
  275. data/rbi/dodopayments/resources/disputes.rbi +26 -14
  276. data/rbi/dodopayments/resources/invoices/payments.rbi +10 -3
  277. data/rbi/dodopayments/resources/invoices.rbi +2 -1
  278. data/rbi/dodopayments/resources/license_key_instances.rbi +25 -10
  279. data/rbi/dodopayments/resources/license_keys.rbi +29 -15
  280. data/rbi/dodopayments/resources/licenses.rbi +25 -12
  281. data/rbi/dodopayments/resources/misc.rbi +7 -4
  282. data/rbi/dodopayments/resources/payments.rbi +61 -27
  283. data/rbi/dodopayments/resources/payouts.rbi +12 -6
  284. data/rbi/dodopayments/resources/products/images.rbi +10 -4
  285. data/rbi/dodopayments/resources/products.rbi +118 -41
  286. data/rbi/dodopayments/resources/refunds.rbi +35 -15
  287. data/rbi/dodopayments/resources/subscriptions.rbi +95 -53
  288. data/rbi/dodopayments/resources/webhook_events.rbi +2 -34
  289. data/rbi/dodopayments/resources/webhooks/headers.rbi +40 -0
  290. data/rbi/dodopayments/resources/webhooks.rbi +127 -0
  291. data/rbi/dodopayments/resources/your_webhook_url.rbi +51 -0
  292. data/sig/dodopayments/client.rbs +6 -0
  293. data/sig/dodopayments/errors.rbs +9 -0
  294. data/sig/dodopayments/internal/cursor_page_pagination.rbs +15 -0
  295. data/sig/dodopayments/internal/transport/base_client.rbs +17 -2
  296. data/sig/dodopayments/internal/transport/pooled_net_requester.rbs +4 -0
  297. data/sig/dodopayments/internal/type/array_of.rbs +3 -0
  298. data/sig/dodopayments/internal/type/base_model.rbs +13 -5
  299. data/sig/dodopayments/internal/type/base_page.rbs +1 -1
  300. data/sig/dodopayments/internal/type/boolean.rbs +3 -0
  301. data/sig/dodopayments/internal/type/converter.rbs +26 -1
  302. data/sig/dodopayments/internal/type/enum.rbs +3 -0
  303. data/sig/dodopayments/internal/type/file_input.rbs +2 -0
  304. data/sig/dodopayments/internal/type/hash_of.rbs +3 -0
  305. data/sig/dodopayments/internal/type/request_parameters.rbs +5 -1
  306. data/sig/dodopayments/internal/type/union.rbs +5 -2
  307. data/sig/dodopayments/internal/type/unknown.rbs +3 -0
  308. data/sig/dodopayments/internal/util.rbs +25 -0
  309. data/sig/dodopayments/internal.rbs +4 -0
  310. data/sig/dodopayments/models/addon_cart_response_item.rbs +1 -1
  311. data/sig/dodopayments/models/addon_create_params.rbs +8 -1
  312. data/sig/dodopayments/models/addon_list_params.rbs +14 -6
  313. data/sig/dodopayments/models/addon_response.rbs +12 -1
  314. data/sig/dodopayments/models/addon_retrieve_params.rbs +1 -1
  315. data/sig/dodopayments/models/addon_update_images_params.rbs +1 -1
  316. data/sig/dodopayments/models/addon_update_images_response.rbs +1 -1
  317. data/sig/dodopayments/models/addon_update_params.rbs +9 -1
  318. data/sig/dodopayments/models/attach_addon.rbs +15 -0
  319. data/sig/dodopayments/models/attach_existing_customer.rbs +1 -1
  320. data/sig/dodopayments/models/billing_address.rbs +7 -1
  321. data/sig/dodopayments/models/brand.rbs +88 -0
  322. data/sig/dodopayments/models/brand_create_params.rbs +46 -0
  323. data/sig/dodopayments/models/{webhook_event_retrieve_params.rbs → brand_list_params.rbs} +3 -3
  324. data/sig/dodopayments/models/brand_list_response.rbs +13 -0
  325. data/sig/dodopayments/models/brand_retrieve_params.rbs +15 -0
  326. data/sig/dodopayments/models/brand_update_images_params.rbs +15 -0
  327. data/sig/dodopayments/models/brand_update_images_response.rbs +15 -0
  328. data/sig/dodopayments/models/brand_update_params.rbs +41 -0
  329. data/sig/dodopayments/models/create_new_customer.rbs +6 -1
  330. data/sig/dodopayments/models/customer.rbs +8 -1
  331. data/sig/dodopayments/models/customer_create_params.rbs +6 -1
  332. data/sig/dodopayments/models/customer_limited_details.rbs +1 -1
  333. data/sig/dodopayments/models/customer_list_params.rbs +20 -6
  334. data/sig/dodopayments/models/customer_portal_session.rbs +1 -1
  335. data/sig/dodopayments/models/customer_request.rbs +2 -3
  336. data/sig/dodopayments/models/customer_retrieve_params.rbs +1 -1
  337. data/sig/dodopayments/models/customer_update_params.rbs +5 -1
  338. data/sig/dodopayments/models/customers/customer_portal_create_params.rbs +9 -4
  339. data/sig/dodopayments/models/discount.rbs +18 -1
  340. data/sig/dodopayments/models/discount_create_params.rbs +15 -1
  341. data/sig/dodopayments/models/discount_delete_params.rbs +1 -1
  342. data/sig/dodopayments/models/discount_list_params.rbs +14 -6
  343. data/sig/dodopayments/models/discount_retrieve_params.rbs +1 -1
  344. data/sig/dodopayments/models/discount_update_params.rbs +15 -1
  345. data/sig/dodopayments/models/dispute.rbs +11 -1
  346. data/sig/dodopayments/models/dispute_list_params.rbs +84 -22
  347. data/sig/dodopayments/models/dispute_list_response.rbs +10 -1
  348. data/sig/dodopayments/models/dispute_retrieve_params.rbs +1 -1
  349. data/sig/dodopayments/models/{dispute_retrieve_response.rbs → get_dispute.rbs} +18 -6
  350. data/sig/dodopayments/models/invoices/payment_retrieve_params.rbs +1 -1
  351. data/sig/dodopayments/models/license_activate_params.rbs +5 -1
  352. data/sig/dodopayments/models/license_deactivate_params.rbs +5 -1
  353. data/sig/dodopayments/models/license_key.rbs +14 -1
  354. data/sig/dodopayments/models/license_key_duration.rbs +4 -1
  355. data/sig/dodopayments/models/license_key_instance.rbs +7 -1
  356. data/sig/dodopayments/models/license_key_instance_list_params.rbs +6 -1
  357. data/sig/dodopayments/models/license_key_instance_retrieve_params.rbs +1 -1
  358. data/sig/dodopayments/models/license_key_instance_update_params.rbs +4 -1
  359. data/sig/dodopayments/models/license_key_list_params.rbs +47 -16
  360. data/sig/dodopayments/models/license_key_retrieve_params.rbs +1 -1
  361. data/sig/dodopayments/models/license_key_update_params.rbs +6 -1
  362. data/sig/dodopayments/models/license_validate_params.rbs +5 -1
  363. data/sig/dodopayments/models/license_validate_response.rbs +1 -1
  364. data/sig/dodopayments/models/misc_list_supported_countries_params.rbs +1 -1
  365. data/sig/dodopayments/models/new_customer.rbs +21 -0
  366. data/sig/dodopayments/models/one_time_product_cart_item.rbs +5 -1
  367. data/sig/dodopayments/models/payment.rbs +60 -17
  368. data/sig/dodopayments/models/payment_create_params.rbs +23 -55
  369. data/sig/dodopayments/models/payment_create_response.rbs +21 -7
  370. data/sig/dodopayments/models/payment_list_params.rbs +85 -22
  371. data/sig/dodopayments/models/payment_list_response.rbs +25 -4
  372. data/sig/dodopayments/models/payment_method_types.rbs +48 -0
  373. data/sig/dodopayments/models/payment_retrieve_line_items_params.rbs +15 -0
  374. data/sig/dodopayments/models/payment_retrieve_line_items_response.rbs +67 -0
  375. data/sig/dodopayments/models/payment_retrieve_params.rbs +1 -1
  376. data/sig/dodopayments/models/payout_list_params.rbs +14 -6
  377. data/sig/dodopayments/models/payout_list_response.rbs +17 -1
  378. data/sig/dodopayments/models/price.rbs +53 -13
  379. data/sig/dodopayments/models/product.rbs +80 -4
  380. data/sig/dodopayments/models/product_create_params.rbs +45 -4
  381. data/sig/dodopayments/models/product_delete_params.rbs +1 -1
  382. data/sig/dodopayments/models/product_list_params.rbs +29 -10
  383. data/sig/dodopayments/models/product_list_response.rbs +20 -1
  384. data/sig/dodopayments/models/product_retrieve_params.rbs +1 -1
  385. data/sig/dodopayments/models/product_unarchive_params.rbs +1 -1
  386. data/sig/dodopayments/models/product_update_files_params.rbs +23 -0
  387. data/sig/dodopayments/models/product_update_files_response.rbs +15 -0
  388. data/sig/dodopayments/models/product_update_params.rbs +58 -4
  389. data/sig/dodopayments/models/products/image_update_params.rbs +9 -4
  390. data/sig/dodopayments/models/products/image_update_response.rbs +1 -1
  391. data/sig/dodopayments/models/refund.rbs +15 -1
  392. data/sig/dodopayments/models/refund_create_params.rbs +38 -2
  393. data/sig/dodopayments/models/refund_list_params.rbs +54 -19
  394. data/sig/dodopayments/models/refund_retrieve_params.rbs +1 -1
  395. data/sig/dodopayments/models/subscription.rbs +43 -10
  396. data/sig/dodopayments/models/subscription_change_plan_params.rbs +14 -17
  397. data/sig/dodopayments/models/subscription_charge_params.rbs +27 -2
  398. data/sig/dodopayments/models/subscription_charge_response.rbs +1 -1
  399. data/sig/dodopayments/models/subscription_create_params.rbs +58 -73
  400. data/sig/dodopayments/models/subscription_create_response.rbs +26 -7
  401. data/sig/dodopayments/models/subscription_list_params.rbs +64 -19
  402. data/sig/dodopayments/models/subscription_list_response.rbs +39 -7
  403. data/sig/dodopayments/models/subscription_retrieve_params.rbs +1 -1
  404. data/sig/dodopayments/models/subscription_status.rbs +1 -2
  405. data/sig/dodopayments/models/subscription_update_params.rbs +20 -8
  406. data/sig/dodopayments/models/webhook_create_params.rbs +65 -0
  407. data/sig/dodopayments/models/webhook_create_response.rbs +60 -0
  408. data/sig/dodopayments/models/webhook_delete_params.rbs +15 -0
  409. data/sig/dodopayments/models/webhook_event_type.rbs +54 -0
  410. data/sig/dodopayments/models/webhook_list_params.rbs +28 -0
  411. data/sig/dodopayments/models/webhook_list_response.rbs +60 -0
  412. data/sig/dodopayments/models/webhook_payload.rbs +203 -0
  413. data/sig/dodopayments/models/webhook_retrieve_params.rbs +15 -0
  414. data/sig/dodopayments/models/webhook_retrieve_response.rbs +60 -0
  415. data/sig/dodopayments/models/webhook_update_params.rbs +51 -0
  416. data/sig/dodopayments/models/webhook_update_response.rbs +60 -0
  417. data/sig/dodopayments/models/webhooks/header_retrieve_params.rbs +17 -0
  418. data/sig/dodopayments/models/webhooks/header_retrieve_response.rbs +24 -0
  419. data/sig/dodopayments/models/webhooks/header_update_params.rbs +26 -0
  420. data/sig/dodopayments/models/your_webhook_url_create_params.rbs +42 -0
  421. data/sig/dodopayments/models.rbs +39 -3
  422. data/sig/dodopayments/request_options.rbs +1 -1
  423. data/sig/dodopayments/resources/addons.rbs +6 -6
  424. data/sig/dodopayments/resources/brands.rbs +39 -0
  425. data/sig/dodopayments/resources/customers/customer_portal.rbs +2 -2
  426. data/sig/dodopayments/resources/customers.rbs +7 -6
  427. data/sig/dodopayments/resources/discounts.rbs +8 -6
  428. data/sig/dodopayments/resources/disputes.rbs +8 -8
  429. data/sig/dodopayments/resources/license_key_instances.rbs +3 -3
  430. data/sig/dodopayments/resources/license_keys.rbs +8 -8
  431. data/sig/dodopayments/resources/licenses.rbs +1 -1
  432. data/sig/dodopayments/resources/payments.rbs +17 -11
  433. data/sig/dodopayments/resources/payouts.rbs +2 -2
  434. data/sig/dodopayments/resources/products/images.rbs +1 -1
  435. data/sig/dodopayments/resources/products.rbs +20 -7
  436. data/sig/dodopayments/resources/refunds.rbs +10 -9
  437. data/sig/dodopayments/resources/subscriptions.rbs +21 -15
  438. data/sig/dodopayments/resources/webhook_events.rbs +0 -15
  439. data/sig/dodopayments/resources/webhooks/headers.rbs +20 -0
  440. data/sig/dodopayments/resources/webhooks.rbs +48 -0
  441. data/sig/dodopayments/resources/your_webhook_url.rbs +18 -0
  442. metadata +110 -14
  443. data/lib/dodopayments/models/webhook_event.rb +0 -58
  444. data/lib/dodopayments/models/webhook_event_list_params.rb +0 -66
  445. data/rbi/dodopayments/models/webhook_event.rbi +0 -71
  446. data/rbi/dodopayments/models/webhook_event_list_params.rbi +0 -77
  447. data/rbi/dodopayments/models/webhook_event_retrieve_params.rbi +0 -19
  448. data/sig/dodopayments/models/webhook_event.rbs +0 -46
  449. data/sig/dodopayments/models/webhook_event_list_params.rbs +0 -43
@@ -5,56 +5,159 @@ module Dodopayments
5
5
  module Type
6
6
  # @api private
7
7
  module Converter
8
- Input = T.type_alias { T.any(Dodopayments::Internal::Type::Converter, T::Class[T.anything]) }
8
+ extend Dodopayments::Internal::Util::SorbetRuntimeSupport
9
+
10
+ Input =
11
+ T.type_alias do
12
+ T.any(Dodopayments::Internal::Type::Converter, T::Class[T.anything])
13
+ end
9
14
 
10
15
  CoerceState =
11
16
  T.type_alias do
12
17
  {
13
- strictness: T.any(T::Boolean, Symbol),
14
- exactness: {yes: Integer, no: Integer, maybe: Integer},
18
+ translate_names: T::Boolean,
19
+ strictness: T::Boolean,
20
+ exactness: {
21
+ yes: Integer,
22
+ no: Integer,
23
+ maybe: Integer
24
+ },
25
+ error: T::Class[StandardError],
15
26
  branched: Integer
16
27
  }
17
28
  end
18
29
 
19
- DumpState = T.type_alias { {can_retry: T::Boolean} }
30
+ DumpState = T.type_alias { { can_retry: T::Boolean } }
20
31
 
21
32
  # @api private
22
33
  sig do
23
34
  overridable
24
- .params(value: T.anything, state: Dodopayments::Internal::Type::Converter::CoerceState)
35
+ .params(
36
+ value: T.anything,
37
+ state: Dodopayments::Internal::Type::Converter::CoerceState
38
+ )
25
39
  .returns(T.anything)
26
40
  end
27
- def coerce(value, state:); end
41
+ def coerce(value, state:)
42
+ end
28
43
 
29
44
  # @api private
30
45
  sig do
31
46
  overridable
32
- .params(value: T.anything, state: Dodopayments::Internal::Type::Converter::DumpState)
47
+ .params(
48
+ value: T.anything,
49
+ state: Dodopayments::Internal::Type::Converter::DumpState
50
+ )
33
51
  .returns(T.anything)
34
52
  end
35
- def dump(value, state:); end
53
+ def dump(value, state:)
54
+ end
36
55
 
37
56
  # @api private
38
57
  sig { params(depth: Integer).returns(String) }
39
- def inspect(depth: 0); end
58
+ def inspect(depth: 0)
59
+ end
40
60
 
41
61
  class << self
42
62
  # @api private
43
63
  sig do
44
64
  params(
45
- spec: T.any(
46
- {
47
- const: T.nilable(T.any(NilClass, T::Boolean, Integer, Float, Symbol)),
48
- enum: T.nilable(T.proc.returns(Dodopayments::Internal::Type::Converter::Input)),
49
- union: T.nilable(T.proc.returns(Dodopayments::Internal::Type::Converter::Input))
50
- },
51
- T.proc.returns(Dodopayments::Internal::Type::Converter::Input),
52
- Dodopayments::Internal::Type::Converter::Input
53
- )
65
+ spec:
66
+ T.any(
67
+ {
68
+ const:
69
+ T.nilable(
70
+ T.any(NilClass, T::Boolean, Integer, Float, Symbol)
71
+ ),
72
+ enum:
73
+ T.nilable(
74
+ T.proc.returns(
75
+ Dodopayments::Internal::Type::Converter::Input
76
+ )
77
+ ),
78
+ union:
79
+ T.nilable(
80
+ T.proc.returns(
81
+ Dodopayments::Internal::Type::Converter::Input
82
+ )
83
+ )
84
+ },
85
+ T.proc.returns(
86
+ Dodopayments::Internal::Type::Converter::Input
87
+ ),
88
+ Dodopayments::Internal::Type::Converter::Input
89
+ )
90
+ ).returns(T.proc.returns(T.anything))
91
+ end
92
+ def self.type_info(spec)
93
+ end
94
+
95
+ # @api private
96
+ sig do
97
+ params(
98
+ type_info:
99
+ T.any(
100
+ {
101
+ const:
102
+ T.nilable(
103
+ T.any(NilClass, T::Boolean, Integer, Float, Symbol)
104
+ ),
105
+ enum:
106
+ T.nilable(
107
+ T.proc.returns(
108
+ Dodopayments::Internal::Type::Converter::Input
109
+ )
110
+ ),
111
+ union:
112
+ T.nilable(
113
+ T.proc.returns(
114
+ Dodopayments::Internal::Type::Converter::Input
115
+ )
116
+ )
117
+ },
118
+ T.proc.returns(
119
+ Dodopayments::Internal::Type::Converter::Input
120
+ ),
121
+ Dodopayments::Internal::Type::Converter::Input
122
+ ),
123
+ spec:
124
+ T.any(
125
+ {
126
+ const:
127
+ T.nilable(
128
+ T.any(NilClass, T::Boolean, Integer, Float, Symbol)
129
+ ),
130
+ enum:
131
+ T.nilable(
132
+ T.proc.returns(
133
+ Dodopayments::Internal::Type::Converter::Input
134
+ )
135
+ ),
136
+ union:
137
+ T.nilable(
138
+ T.proc.returns(
139
+ Dodopayments::Internal::Type::Converter::Input
140
+ )
141
+ )
142
+ },
143
+ T.proc.returns(
144
+ Dodopayments::Internal::Type::Converter::Input
145
+ ),
146
+ Dodopayments::Internal::Type::Converter::Input
147
+ )
148
+ ).returns(Dodopayments::Internal::AnyHash)
149
+ end
150
+ def self.meta_info(type_info, spec)
151
+ end
152
+
153
+ # @api private
154
+ sig do
155
+ params(translate_names: T::Boolean).returns(
156
+ Dodopayments::Internal::Type::Converter::CoerceState
54
157
  )
55
- .returns(T.proc.returns(T.anything))
56
158
  end
57
- def self.type_info(spec); end
159
+ def self.new_coerce_state(translate_names: true)
160
+ end
58
161
 
59
162
  # @api private
60
163
  #
@@ -72,20 +175,16 @@ module Dodopayments
72
175
  target: Dodopayments::Internal::Type::Converter::Input,
73
176
  value: T.anything,
74
177
  state: Dodopayments::Internal::Type::Converter::CoerceState
75
- )
76
- .returns(T.anything)
178
+ ).returns(T.anything)
77
179
  end
78
180
  def self.coerce(
79
181
  target,
80
182
  value,
81
- # The `strictness` is one of `true`, `false`, or `:strong`. This informs the
82
- # coercion strategy when we have to decide between multiple possible conversion
83
- # targets:
183
+ # The `strictness` is one of `true`, `false`. This informs the coercion strategy
184
+ # when we have to decide between multiple possible conversion targets:
84
185
  #
85
186
  # - `true`: the conversion must be exact, with minimum coercion.
86
187
  # - `false`: the conversion can be approximate, with some coercion.
87
- # - `:strong`: the conversion must be exact, with no coercion, and raise an error
88
- # if not possible.
89
188
  #
90
189
  # The `exactness` is `Hash` with keys being one of `yes`, `no`, or `maybe`. For
91
190
  # any given conversion attempt, the exactness will be updated based on how closely
@@ -97,22 +196,25 @@ module Dodopayments
97
196
  # - `no`: the value cannot be converted to the target type.
98
197
  #
99
198
  # See implementation below for more details.
100
- state: {strictness: true, exactness: {yes: 0, no: 0, maybe: 0}, branched: 0}
101
- ); end
199
+ state: Dodopayments::Internal::Type::Converter.new_coerce_state
200
+ )
201
+ end
202
+
102
203
  # @api private
103
204
  sig do
104
205
  params(
105
206
  target: Dodopayments::Internal::Type::Converter::Input,
106
207
  value: T.anything,
107
208
  state: Dodopayments::Internal::Type::Converter::DumpState
108
- )
109
- .returns(T.anything)
209
+ ).returns(T.anything)
210
+ end
211
+ def self.dump(target, value, state: { can_retry: true })
110
212
  end
111
- def self.dump(target, value, state: {can_retry: true}); end
112
213
 
113
214
  # @api private
114
215
  sig { params(target: T.anything, depth: Integer).returns(String) }
115
- def self.inspect(target, depth:); end
216
+ def self.inspect(target, depth:)
217
+ end
116
218
  end
117
219
  end
118
220
  end
@@ -17,19 +17,28 @@ module Dodopayments
17
17
  # values safely.
18
18
  module Enum
19
19
  include Dodopayments::Internal::Type::Converter
20
+ include Dodopayments::Internal::Util::SorbetRuntimeSupport
20
21
 
21
22
  # All of the valid Symbol values for this enum.
22
- sig { overridable.returns(T::Array[T.any(NilClass, T::Boolean, Integer, Float, Symbol)]) }
23
- def values; end
23
+ sig do
24
+ overridable.returns(
25
+ T::Array[T.any(NilClass, T::Boolean, Integer, Float, Symbol)]
26
+ )
27
+ end
28
+ def values
29
+ end
24
30
 
25
31
  sig { params(other: T.anything).returns(T::Boolean) }
26
- def ===(other); end
32
+ def ===(other)
33
+ end
27
34
 
28
35
  sig { params(other: T.anything).returns(T::Boolean) }
29
- def ==(other); end
36
+ def ==(other)
37
+ end
30
38
 
31
39
  sig { returns(Integer) }
32
- def hash; end
40
+ def hash
41
+ end
33
42
 
34
43
  # @api private
35
44
  #
@@ -43,23 +52,30 @@ module Dodopayments
43
52
  )
44
53
  .returns(T.any(Symbol, T.anything))
45
54
  end
46
- def coerce(value, state:); end
55
+ def coerce(value, state:)
56
+ end
47
57
 
48
58
  # @api private
49
59
  sig do
50
60
  override
51
- .params(value: T.any(
52
- Symbol,
53
- T.anything
54
- ),
55
- state: Dodopayments::Internal::Type::Converter::DumpState)
61
+ .params(
62
+ value: T.any(Symbol, T.anything),
63
+ state: Dodopayments::Internal::Type::Converter::DumpState
64
+ )
56
65
  .returns(T.any(Symbol, T.anything))
57
66
  end
58
- def dump(value, state:); end
67
+ def dump(value, state:)
68
+ end
69
+
70
+ # @api private
71
+ sig { returns(T.anything) }
72
+ def to_sorbet_type
73
+ end
59
74
 
60
75
  # @api private
61
76
  sig { params(depth: Integer).returns(String) }
62
- def inspect(depth: 0); end
77
+ def inspect(depth: 0)
78
+ end
63
79
  end
64
80
  end
65
81
  end
@@ -16,10 +16,12 @@ module Dodopayments
16
16
  abstract!
17
17
 
18
18
  sig { params(other: T.anything).returns(T::Boolean) }
19
- def self.===(other); end
19
+ def self.===(other)
20
+ end
20
21
 
21
22
  sig { params(other: T.anything).returns(T::Boolean) }
22
- def self.==(other); end
23
+ def self.==(other)
24
+ end
23
25
 
24
26
  class << self
25
27
  # @api private
@@ -31,7 +33,8 @@ module Dodopayments
31
33
  )
32
34
  .returns(T.any(StringIO, T.anything))
33
35
  end
34
- def coerce(value, state:); end
36
+ def coerce(value, state:)
37
+ end
35
38
 
36
39
  # @api private
37
40
  sig do
@@ -42,7 +45,13 @@ module Dodopayments
42
45
  )
43
46
  .returns(T.any(Pathname, StringIO, IO, String, T.anything))
44
47
  end
45
- def dump(value, state:); end
48
+ def dump(value, state:)
49
+ end
50
+
51
+ # @api private
52
+ sig { returns(T.anything) }
53
+ def to_sorbet_type
54
+ end
46
55
  end
47
56
  end
48
57
  end
@@ -8,6 +8,7 @@ module Dodopayments
8
8
  # Hash of items of a given type.
9
9
  class HashOf
10
10
  include Dodopayments::Internal::Type::Converter
11
+ include Dodopayments::Internal::Util::SorbetRuntimeSupport
11
12
 
12
13
  abstract!
13
14
 
@@ -15,25 +16,29 @@ module Dodopayments
15
16
 
16
17
  sig do
17
18
  params(
18
- type_info: T.any(
19
- Dodopayments::Internal::AnyHash,
20
- T.proc.returns(Dodopayments::Internal::Type::Converter::Input),
21
- Dodopayments::Internal::Type::Converter::Input
22
- ),
19
+ type_info:
20
+ T.any(
21
+ Dodopayments::Internal::AnyHash,
22
+ T.proc.returns(Dodopayments::Internal::Type::Converter::Input),
23
+ Dodopayments::Internal::Type::Converter::Input
24
+ ),
23
25
  spec: Dodopayments::Internal::AnyHash
24
- )
25
- .returns(T.attached_class)
26
+ ).returns(T.attached_class)
27
+ end
28
+ def self.[](type_info, spec = {})
26
29
  end
27
- def self.[](type_info, spec = {}); end
28
30
 
29
31
  sig { params(other: T.anything).returns(T::Boolean) }
30
- def ===(other); end
32
+ def ===(other)
33
+ end
31
34
 
32
35
  sig { params(other: T.anything).returns(T::Boolean) }
33
- def ==(other); end
36
+ def ==(other)
37
+ end
34
38
 
35
39
  sig { returns(Integer) }
36
- def hash; end
40
+ def hash
41
+ end
37
42
 
38
43
  # @api private
39
44
  sig do
@@ -44,7 +49,8 @@ module Dodopayments
44
49
  )
45
50
  .returns(T.any(Dodopayments::Internal::AnyHash, T.anything))
46
51
  end
47
- def coerce(value, state:); end
52
+ def coerce(value, state:)
53
+ end
48
54
 
49
55
  # @api private
50
56
  sig do
@@ -55,33 +61,43 @@ module Dodopayments
55
61
  )
56
62
  .returns(T.any(Dodopayments::Internal::AnyHash, T.anything))
57
63
  end
58
- def dump(value, state:); end
64
+ def dump(value, state:)
65
+ end
66
+
67
+ # @api private
68
+ sig { returns(T.anything) }
69
+ def to_sorbet_type
70
+ end
59
71
 
60
72
  # @api private
61
73
  sig { returns(Elem) }
62
- protected def item_type; end
74
+ protected def item_type
75
+ end
63
76
 
64
77
  # @api private
65
78
  sig { returns(T::Boolean) }
66
- protected def nilable?; end
79
+ protected def nilable?
80
+ end
67
81
 
68
82
  # @api private
69
83
  sig do
70
84
  params(
71
- type_info: T.any(
72
- Dodopayments::Internal::AnyHash,
73
- T.proc.returns(Dodopayments::Internal::Type::Converter::Input),
74
- Dodopayments::Internal::Type::Converter::Input
75
- ),
85
+ type_info:
86
+ T.any(
87
+ Dodopayments::Internal::AnyHash,
88
+ T.proc.returns(Dodopayments::Internal::Type::Converter::Input),
89
+ Dodopayments::Internal::Type::Converter::Input
90
+ ),
76
91
  spec: Dodopayments::Internal::AnyHash
77
- )
78
- .void
92
+ ).void
93
+ end
94
+ def initialize(type_info, spec = {})
79
95
  end
80
- def initialize(type_info, spec = {}); end
81
96
 
82
97
  # @api private
83
98
  sig { params(depth: Integer).returns(String) }
84
- def inspect(depth: 0); end
99
+ def inspect(depth: 0)
100
+ end
85
101
  end
86
102
  end
87
103
  end
@@ -6,14 +6,24 @@ module Dodopayments
6
6
  # @api private
7
7
  module RequestParameters
8
8
  # Options to specify HTTP behaviour for this request.
9
- sig { returns(Dodopayments::RequestOpts) }
10
- attr_accessor :request_options
9
+ sig { returns(Dodopayments::RequestOptions) }
10
+ attr_reader :request_options
11
+
12
+ sig do
13
+ params(request_options: Dodopayments::RequestOptions::OrHash).void
14
+ end
15
+ attr_writer :request_options
11
16
 
12
17
  # @api private
13
18
  module Converter
14
19
  # @api private
15
- sig { params(params: T.anything).returns([T.anything, Dodopayments::Internal::AnyHash]) }
16
- def dump_request(params); end
20
+ sig do
21
+ params(params: T.anything).returns(
22
+ [T.anything, Dodopayments::Internal::AnyHash]
23
+ )
24
+ end
25
+ def dump_request(params)
26
+ end
17
27
  end
18
28
  end
19
29
  end
@@ -6,74 +6,122 @@ module Dodopayments
6
6
  # @api private
7
7
  module Union
8
8
  include Dodopayments::Internal::Type::Converter
9
+ include Dodopayments::Internal::Util::SorbetRuntimeSupport
9
10
 
10
11
  # @api private
11
12
  #
12
13
  # All of the specified variant info for this union.
13
14
  sig do
14
15
  returns(
15
- T::Array[[
16
- T.nilable(Symbol),
17
- T.proc.returns(Dodopayments::Internal::Type::Converter::Input)
18
- ]]
16
+ T::Array[
17
+ [
18
+ T.nilable(Symbol),
19
+ T.proc.returns(Dodopayments::Internal::Type::Converter::Input),
20
+ Dodopayments::Internal::AnyHash
21
+ ]
22
+ ]
19
23
  )
20
24
  end
21
- private def known_variants; end
25
+ private def known_variants
26
+ end
22
27
 
23
28
  # @api private
24
- sig { returns(T::Array[[T.nilable(Symbol), T.anything]]) }
25
- protected def derefed_variants; end
29
+ sig do
30
+ returns(
31
+ T::Array[
32
+ [T.nilable(Symbol), T.anything, Dodopayments::Internal::AnyHash]
33
+ ]
34
+ )
35
+ end
36
+ protected def derefed_variants
37
+ end
26
38
 
27
39
  # All of the specified variants for this union.
28
40
  sig { overridable.returns(T::Array[T.anything]) }
29
- def variants; end
41
+ def variants
42
+ end
30
43
 
31
44
  # @api private
32
45
  sig { params(property: Symbol).void }
33
- private def discriminator(property); end
46
+ private def discriminator(property)
47
+ end
34
48
 
35
49
  # @api private
36
50
  sig do
37
51
  params(
38
- key: T.any(Symbol, Dodopayments::Internal::AnyHash, T.proc.returns(T.anything), T.anything),
39
- spec: T.any(Dodopayments::Internal::AnyHash, T.proc.returns(T.anything), T.anything)
40
- )
41
- .void
52
+ key:
53
+ T.any(
54
+ Symbol,
55
+ Dodopayments::Internal::AnyHash,
56
+ T.proc.returns(T.anything),
57
+ T.anything
58
+ ),
59
+ spec:
60
+ T.any(
61
+ Dodopayments::Internal::AnyHash,
62
+ T.proc.returns(T.anything),
63
+ T.anything
64
+ )
65
+ ).void
66
+ end
67
+ private def variant(key, spec = nil)
42
68
  end
43
- private def variant(key, spec = nil); end
44
69
 
45
70
  # @api private
46
71
  sig { params(value: T.anything).returns(T.nilable(T.anything)) }
47
- private def resolve_variant(value); end
72
+ private def resolve_variant(value)
73
+ end
48
74
 
49
75
  sig { params(other: T.anything).returns(T::Boolean) }
50
- def ===(other); end
76
+ def ===(other)
77
+ end
51
78
 
52
79
  sig { params(other: T.anything).returns(T::Boolean) }
53
- def ==(other); end
80
+ def ==(other)
81
+ end
54
82
 
55
83
  sig { returns(Integer) }
56
- def hash; end
84
+ def hash
85
+ end
57
86
 
58
87
  # @api private
88
+ #
89
+ # Tries to efficiently coerce the given value to one of the known variants.
90
+ #
91
+ # If the value cannot match any of the known variants, the coercion is considered
92
+ # non-viable and returns the original value.
59
93
  sig do
60
94
  override
61
- .params(value: T.anything, state: Dodopayments::Internal::Type::Converter::CoerceState)
95
+ .params(
96
+ value: T.anything,
97
+ state: Dodopayments::Internal::Type::Converter::CoerceState
98
+ )
62
99
  .returns(T.anything)
63
100
  end
64
- def coerce(value, state:); end
101
+ def coerce(value, state:)
102
+ end
65
103
 
66
104
  # @api private
67
105
  sig do
68
106
  override
69
- .params(value: T.anything, state: Dodopayments::Internal::Type::Converter::DumpState)
107
+ .params(
108
+ value: T.anything,
109
+ state: Dodopayments::Internal::Type::Converter::DumpState
110
+ )
70
111
  .returns(T.anything)
71
112
  end
72
- def dump(value, state:); end
113
+ def dump(value, state:)
114
+ end
115
+
116
+ # @api private
117
+ sig { returns(T.anything) }
118
+ def to_sorbet_type
119
+ end
73
120
 
74
121
  # @api private
75
122
  sig { params(depth: Integer).returns(String) }
76
- def inspect(depth: 0); end
123
+ def inspect(depth: 0)
124
+ end
77
125
  end
78
126
  end
79
127
  end
@@ -8,31 +8,49 @@ module Dodopayments
8
8
  # When we don't know what to expect for the value.
9
9
  class Unknown
10
10
  extend Dodopayments::Internal::Type::Converter
11
+ extend Dodopayments::Internal::Util::SorbetRuntimeSupport
11
12
 
12
13
  abstract!
13
14
 
14
15
  sig { params(other: T.anything).returns(T::Boolean) }
15
- def self.===(other); end
16
+ def self.===(other)
17
+ end
16
18
 
17
19
  sig { params(other: T.anything).returns(T::Boolean) }
18
- def self.==(other); end
20
+ def self.==(other)
21
+ end
19
22
 
20
23
  class << self
21
24
  # @api private
25
+ #
26
+ # No coercion needed for Unknown type.
22
27
  sig do
23
28
  override
24
- .params(value: T.anything, state: Dodopayments::Internal::Type::Converter::CoerceState)
29
+ .params(
30
+ value: T.anything,
31
+ state: Dodopayments::Internal::Type::Converter::CoerceState
32
+ )
25
33
  .returns(T.anything)
26
34
  end
27
- def coerce(value, state:); end
35
+ def coerce(value, state:)
36
+ end
28
37
 
29
38
  # @api private
30
39
  sig do
31
40
  override
32
- .params(value: T.anything, state: Dodopayments::Internal::Type::Converter::DumpState)
41
+ .params(
42
+ value: T.anything,
43
+ state: Dodopayments::Internal::Type::Converter::DumpState
44
+ )
33
45
  .returns(T.anything)
34
46
  end
35
- def dump(value, state:); end
47
+ def dump(value, state:)
48
+ end
49
+
50
+ # @api private
51
+ sig { returns(T.anything) }
52
+ def to_sorbet_type
53
+ end
36
54
  end
37
55
  end
38
56
  end