@ominity/api-typescript 0.0.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 (504) hide show
  1. package/FUNCTIONS.md +38 -0
  2. package/LICENSE.md +8 -0
  3. package/README.md +468 -0
  4. package/RUNTIMES.md +48 -0
  5. package/dist/commonjs/core.d.ts +10 -0
  6. package/dist/commonjs/core.d.ts.map +1 -0
  7. package/dist/commonjs/core.js +14 -0
  8. package/dist/commonjs/core.js.map +1 -0
  9. package/dist/commonjs/hooks/hooks.d.ts +25 -0
  10. package/dist/commonjs/hooks/hooks.d.ts.map +1 -0
  11. package/dist/commonjs/hooks/hooks.js +83 -0
  12. package/dist/commonjs/hooks/hooks.js.map +1 -0
  13. package/dist/commonjs/hooks/index.d.ts +3 -0
  14. package/dist/commonjs/hooks/index.d.ts.map +1 -0
  15. package/dist/commonjs/hooks/index.js +19 -0
  16. package/dist/commonjs/hooks/index.js.map +1 -0
  17. package/dist/commonjs/hooks/ominity-hooks.d.ts +12 -0
  18. package/dist/commonjs/hooks/ominity-hooks.d.ts.map +1 -0
  19. package/dist/commonjs/hooks/ominity-hooks.js +86 -0
  20. package/dist/commonjs/hooks/ominity-hooks.js.map +1 -0
  21. package/dist/commonjs/hooks/registration.d.ts +3 -0
  22. package/dist/commonjs/hooks/registration.d.ts.map +1 -0
  23. package/dist/commonjs/hooks/registration.js +16 -0
  24. package/dist/commonjs/hooks/registration.js.map +1 -0
  25. package/dist/commonjs/hooks/types.d.ts +76 -0
  26. package/dist/commonjs/hooks/types.d.ts.map +1 -0
  27. package/dist/commonjs/hooks/types.js +3 -0
  28. package/dist/commonjs/hooks/types.js.map +1 -0
  29. package/dist/commonjs/index.d.ts +6 -0
  30. package/dist/commonjs/index.d.ts.map +1 -0
  31. package/dist/commonjs/index.js +45 -0
  32. package/dist/commonjs/index.js.map +1 -0
  33. package/dist/commonjs/lib/base64.d.ts +10 -0
  34. package/dist/commonjs/lib/base64.d.ts.map +1 -0
  35. package/dist/commonjs/lib/base64.js +70 -0
  36. package/dist/commonjs/lib/base64.js.map +1 -0
  37. package/dist/commonjs/lib/config.d.ts +52 -0
  38. package/dist/commonjs/lib/config.d.ts.map +1 -0
  39. package/dist/commonjs/lib/config.js +33 -0
  40. package/dist/commonjs/lib/config.js.map +1 -0
  41. package/dist/commonjs/lib/dlv.d.ts +14 -0
  42. package/dist/commonjs/lib/dlv.d.ts.map +1 -0
  43. package/dist/commonjs/lib/dlv.js +46 -0
  44. package/dist/commonjs/lib/dlv.js.map +1 -0
  45. package/dist/commonjs/lib/encodings.d.ts +53 -0
  46. package/dist/commonjs/lib/encodings.d.ts.map +1 -0
  47. package/dist/commonjs/lib/encodings.js +381 -0
  48. package/dist/commonjs/lib/encodings.js.map +1 -0
  49. package/dist/commonjs/lib/env.d.ts +16 -0
  50. package/dist/commonjs/lib/env.d.ts.map +1 -0
  51. package/dist/commonjs/lib/env.js +80 -0
  52. package/dist/commonjs/lib/env.js.map +1 -0
  53. package/dist/commonjs/lib/files.d.ts +13 -0
  54. package/dist/commonjs/lib/files.d.ts.map +1 -0
  55. package/dist/commonjs/lib/files.js +74 -0
  56. package/dist/commonjs/lib/files.js.map +1 -0
  57. package/dist/commonjs/lib/http.d.ts +67 -0
  58. package/dist/commonjs/lib/http.d.ts.map +1 -0
  59. package/dist/commonjs/lib/http.js +214 -0
  60. package/dist/commonjs/lib/http.js.map +1 -0
  61. package/dist/commonjs/lib/is-plain-object.d.ts +2 -0
  62. package/dist/commonjs/lib/is-plain-object.d.ts.map +1 -0
  63. package/dist/commonjs/lib/is-plain-object.js +38 -0
  64. package/dist/commonjs/lib/is-plain-object.js.map +1 -0
  65. package/dist/commonjs/lib/logger.d.ts +6 -0
  66. package/dist/commonjs/lib/logger.d.ts.map +1 -0
  67. package/dist/commonjs/lib/logger.js +3 -0
  68. package/dist/commonjs/lib/logger.js.map +1 -0
  69. package/dist/commonjs/lib/matchers.d.ts +59 -0
  70. package/dist/commonjs/lib/matchers.d.ts.map +1 -0
  71. package/dist/commonjs/lib/matchers.js +219 -0
  72. package/dist/commonjs/lib/matchers.js.map +1 -0
  73. package/dist/commonjs/lib/primitives.d.ts +26 -0
  74. package/dist/commonjs/lib/primitives.d.ts.map +1 -0
  75. package/dist/commonjs/lib/primitives.js +108 -0
  76. package/dist/commonjs/lib/primitives.js.map +1 -0
  77. package/dist/commonjs/lib/retries.d.ts +38 -0
  78. package/dist/commonjs/lib/retries.d.ts.map +1 -0
  79. package/dist/commonjs/lib/retries.js +150 -0
  80. package/dist/commonjs/lib/retries.js.map +1 -0
  81. package/dist/commonjs/lib/schemas.d.ts +21 -0
  82. package/dist/commonjs/lib/schemas.d.ts.map +1 -0
  83. package/dist/commonjs/lib/schemas.js +92 -0
  84. package/dist/commonjs/lib/schemas.js.map +1 -0
  85. package/dist/commonjs/lib/sdks.d.ts +63 -0
  86. package/dist/commonjs/lib/sdks.d.ts.map +1 -0
  87. package/dist/commonjs/lib/sdks.js +270 -0
  88. package/dist/commonjs/lib/sdks.js.map +1 -0
  89. package/dist/commonjs/lib/security.d.ts +83 -0
  90. package/dist/commonjs/lib/security.d.ts.map +1 -0
  91. package/dist/commonjs/lib/security.js +155 -0
  92. package/dist/commonjs/lib/security.js.map +1 -0
  93. package/dist/commonjs/lib/url.d.ts +5 -0
  94. package/dist/commonjs/lib/url.d.ts.map +1 -0
  95. package/dist/commonjs/lib/url.js +22 -0
  96. package/dist/commonjs/lib/url.js.map +1 -0
  97. package/dist/commonjs/models/errors/documentation.d.ts +22 -0
  98. package/dist/commonjs/models/errors/documentation.d.ts.map +1 -0
  99. package/dist/commonjs/models/errors/documentation.js +61 -0
  100. package/dist/commonjs/models/errors/documentation.js.map +1 -0
  101. package/dist/commonjs/models/errors/error-response-links.d.ts +21 -0
  102. package/dist/commonjs/models/errors/error-response-links.d.ts.map +1 -0
  103. package/dist/commonjs/models/errors/error-response-links.js +59 -0
  104. package/dist/commonjs/models/errors/error-response-links.js.map +1 -0
  105. package/dist/commonjs/models/errors/error-response.d.ts +56 -0
  106. package/dist/commonjs/models/errors/error-response.d.ts.map +1 -0
  107. package/dist/commonjs/models/errors/error-response.js +98 -0
  108. package/dist/commonjs/models/errors/error-response.js.map +1 -0
  109. package/dist/commonjs/models/errors/http-client-errors.d.ts +44 -0
  110. package/dist/commonjs/models/errors/http-client-errors.d.ts.map +1 -0
  111. package/dist/commonjs/models/errors/http-client-errors.js +75 -0
  112. package/dist/commonjs/models/errors/http-client-errors.js.map +1 -0
  113. package/dist/commonjs/models/errors/index.d.ts +9 -0
  114. package/dist/commonjs/models/errors/index.d.ts.map +1 -0
  115. package/dist/commonjs/models/errors/index.js +25 -0
  116. package/dist/commonjs/models/errors/index.js.map +1 -0
  117. package/dist/commonjs/models/errors/ominity-default-error.d.ts +10 -0
  118. package/dist/commonjs/models/errors/ominity-default-error.d.ts.map +1 -0
  119. package/dist/commonjs/models/errors/ominity-default-error.js +31 -0
  120. package/dist/commonjs/models/errors/ominity-default-error.js.map +1 -0
  121. package/dist/commonjs/models/errors/ominity-error.d.ts +19 -0
  122. package/dist/commonjs/models/errors/ominity-error.d.ts.map +1 -0
  123. package/dist/commonjs/models/errors/ominity-error.js +17 -0
  124. package/dist/commonjs/models/errors/ominity-error.js.map +1 -0
  125. package/dist/commonjs/models/errors/response-validation-error.d.ts +26 -0
  126. package/dist/commonjs/models/errors/response-validation-error.d.ts.map +1 -0
  127. package/dist/commonjs/models/errors/response-validation-error.js +63 -0
  128. package/dist/commonjs/models/errors/response-validation-error.js.map +1 -0
  129. package/dist/commonjs/models/errors/sdk-validation-error.d.ts +21 -0
  130. package/dist/commonjs/models/errors/sdk-validation-error.d.ts.map +1 -0
  131. package/dist/commonjs/models/errors/sdk-validation-error.js +79 -0
  132. package/dist/commonjs/models/errors/sdk-validation-error.js.map +1 -0
  133. package/dist/commonjs/models/index.d.ts +2 -0
  134. package/dist/commonjs/models/index.d.ts.map +1 -0
  135. package/dist/commonjs/models/index.js +18 -0
  136. package/dist/commonjs/models/index.js.map +1 -0
  137. package/dist/commonjs/models/operations/index.d.ts +2 -0
  138. package/dist/commonjs/models/operations/index.d.ts.map +1 -0
  139. package/dist/commonjs/models/operations/index.js +3 -0
  140. package/dist/commonjs/models/operations/index.js.map +1 -0
  141. package/dist/commonjs/models/security.d.ts +19 -0
  142. package/dist/commonjs/models/security.d.ts.map +1 -0
  143. package/dist/commonjs/models/security.js +58 -0
  144. package/dist/commonjs/models/security.js.map +1 -0
  145. package/dist/commonjs/package.json +3 -0
  146. package/dist/commonjs/sdk/cms/index.d.ts +4 -0
  147. package/dist/commonjs/sdk/cms/index.d.ts.map +1 -0
  148. package/dist/commonjs/sdk/cms/index.js +11 -0
  149. package/dist/commonjs/sdk/cms/index.js.map +1 -0
  150. package/dist/commonjs/sdk/commerce/index.d.ts +7 -0
  151. package/dist/commonjs/sdk/commerce/index.d.ts.map +1 -0
  152. package/dist/commonjs/sdk/commerce/index.js +15 -0
  153. package/dist/commonjs/sdk/commerce/index.js.map +1 -0
  154. package/dist/commonjs/sdk/commerce/products.d.ts +4 -0
  155. package/dist/commonjs/sdk/commerce/products.d.ts.map +1 -0
  156. package/dist/commonjs/sdk/commerce/products.js +11 -0
  157. package/dist/commonjs/sdk/commerce/products.js.map +1 -0
  158. package/dist/commonjs/sdk/http.d.ts +19 -0
  159. package/dist/commonjs/sdk/http.d.ts.map +1 -0
  160. package/dist/commonjs/sdk/http.js +143 -0
  161. package/dist/commonjs/sdk/http.js.map +1 -0
  162. package/dist/commonjs/sdk/index.d.ts +2 -0
  163. package/dist/commonjs/sdk/index.d.ts.map +1 -0
  164. package/dist/commonjs/sdk/index.js +18 -0
  165. package/dist/commonjs/sdk/index.js.map +1 -0
  166. package/dist/commonjs/sdk/sdk.d.ts +16 -0
  167. package/dist/commonjs/sdk/sdk.d.ts.map +1 -0
  168. package/dist/commonjs/sdk/sdk.js +24 -0
  169. package/dist/commonjs/sdk/sdk.js.map +1 -0
  170. package/dist/commonjs/sdk/settings/index.d.ts +4 -0
  171. package/dist/commonjs/sdk/settings/index.d.ts.map +1 -0
  172. package/dist/commonjs/sdk/settings/index.js +11 -0
  173. package/dist/commonjs/sdk/settings/index.js.map +1 -0
  174. package/dist/commonjs/types/async.d.ts +23 -0
  175. package/dist/commonjs/types/async.d.ts.map +1 -0
  176. package/dist/commonjs/types/async.js +41 -0
  177. package/dist/commonjs/types/async.js.map +1 -0
  178. package/dist/commonjs/types/blobs.d.ts +4 -0
  179. package/dist/commonjs/types/blobs.d.ts.map +1 -0
  180. package/dist/commonjs/types/blobs.js +59 -0
  181. package/dist/commonjs/types/blobs.js.map +1 -0
  182. package/dist/commonjs/types/const-date-time.d.ts +3 -0
  183. package/dist/commonjs/types/const-date-time.d.ts.map +1 -0
  184. package/dist/commonjs/types/const-date-time.js +43 -0
  185. package/dist/commonjs/types/const-date-time.js.map +1 -0
  186. package/dist/commonjs/types/default-to-zero-value.d.ts +12 -0
  187. package/dist/commonjs/types/default-to-zero-value.d.ts.map +1 -0
  188. package/dist/commonjs/types/default-to-zero-value.js +32 -0
  189. package/dist/commonjs/types/default-to-zero-value.js.map +1 -0
  190. package/dist/commonjs/types/enums.d.ts +9 -0
  191. package/dist/commonjs/types/enums.d.ts.map +1 -0
  192. package/dist/commonjs/types/enums.js +63 -0
  193. package/dist/commonjs/types/enums.js.map +1 -0
  194. package/dist/commonjs/types/fp.d.ts +31 -0
  195. package/dist/commonjs/types/fp.d.ts.map +1 -0
  196. package/dist/commonjs/types/fp.js +34 -0
  197. package/dist/commonjs/types/fp.js.map +1 -0
  198. package/dist/commonjs/types/index.d.ts +10 -0
  199. package/dist/commonjs/types/index.d.ts.map +1 -0
  200. package/dist/commonjs/types/index.js +28 -0
  201. package/dist/commonjs/types/index.js.map +1 -0
  202. package/dist/commonjs/types/operations.d.ts +27 -0
  203. package/dist/commonjs/types/operations.d.ts.map +1 -0
  204. package/dist/commonjs/types/operations.js +80 -0
  205. package/dist/commonjs/types/operations.js.map +1 -0
  206. package/dist/commonjs/types/primitives.d.ts +11 -0
  207. package/dist/commonjs/types/primitives.d.ts.map +1 -0
  208. package/dist/commonjs/types/primitives.js +173 -0
  209. package/dist/commonjs/types/primitives.js.map +1 -0
  210. package/dist/commonjs/types/rfcdate.d.ts +21 -0
  211. package/dist/commonjs/types/rfcdate.d.ts.map +1 -0
  212. package/dist/commonjs/types/rfcdate.js +43 -0
  213. package/dist/commonjs/types/rfcdate.js.map +1 -0
  214. package/dist/commonjs/types/smart-union.d.ts +7 -0
  215. package/dist/commonjs/types/smart-union.d.ts.map +1 -0
  216. package/dist/commonjs/types/smart-union.js +143 -0
  217. package/dist/commonjs/types/smart-union.js.map +1 -0
  218. package/dist/commonjs/types/streams.d.ts +2 -0
  219. package/dist/commonjs/types/streams.d.ts.map +1 -0
  220. package/dist/commonjs/types/streams.js +15 -0
  221. package/dist/commonjs/types/streams.js.map +1 -0
  222. package/dist/commonjs/types/unrecognized.d.ts +16 -0
  223. package/dist/commonjs/types/unrecognized.d.ts.map +1 -0
  224. package/dist/commonjs/types/unrecognized.js +31 -0
  225. package/dist/commonjs/types/unrecognized.js.map +1 -0
  226. package/dist/esm/core.d.ts +10 -0
  227. package/dist/esm/core.d.ts.map +1 -0
  228. package/dist/esm/core.js +10 -0
  229. package/dist/esm/core.js.map +1 -0
  230. package/dist/esm/hooks/hooks.d.ts +25 -0
  231. package/dist/esm/hooks/hooks.d.ts.map +1 -0
  232. package/dist/esm/hooks/hooks.js +79 -0
  233. package/dist/esm/hooks/hooks.js.map +1 -0
  234. package/dist/esm/hooks/index.d.ts +3 -0
  235. package/dist/esm/hooks/index.d.ts.map +1 -0
  236. package/dist/esm/hooks/index.js +3 -0
  237. package/dist/esm/hooks/index.js.map +1 -0
  238. package/dist/esm/hooks/ominity-hooks.d.ts +12 -0
  239. package/dist/esm/hooks/ominity-hooks.d.ts.map +1 -0
  240. package/dist/esm/hooks/ominity-hooks.js +82 -0
  241. package/dist/esm/hooks/ominity-hooks.js.map +1 -0
  242. package/dist/esm/hooks/registration.d.ts +3 -0
  243. package/dist/esm/hooks/registration.d.ts.map +1 -0
  244. package/dist/esm/hooks/registration.js +13 -0
  245. package/dist/esm/hooks/registration.js.map +1 -0
  246. package/dist/esm/hooks/types.d.ts +76 -0
  247. package/dist/esm/hooks/types.d.ts.map +1 -0
  248. package/dist/esm/hooks/types.js +2 -0
  249. package/dist/esm/hooks/types.js.map +1 -0
  250. package/dist/esm/index.d.ts +6 -0
  251. package/dist/esm/index.d.ts.map +1 -0
  252. package/dist/esm/index.js +5 -0
  253. package/dist/esm/index.js.map +1 -0
  254. package/dist/esm/lib/base64.d.ts +10 -0
  255. package/dist/esm/lib/base64.d.ts.map +1 -0
  256. package/dist/esm/lib/base64.js +28 -0
  257. package/dist/esm/lib/base64.js.map +1 -0
  258. package/dist/esm/lib/config.d.ts +52 -0
  259. package/dist/esm/lib/config.d.ts.map +1 -0
  260. package/dist/esm/lib/config.js +29 -0
  261. package/dist/esm/lib/config.js.map +1 -0
  262. package/dist/esm/lib/dlv.d.ts +14 -0
  263. package/dist/esm/lib/dlv.d.ts.map +1 -0
  264. package/dist/esm/lib/dlv.js +43 -0
  265. package/dist/esm/lib/dlv.js.map +1 -0
  266. package/dist/esm/lib/encodings.d.ts +53 -0
  267. package/dist/esm/lib/encodings.d.ts.map +1 -0
  268. package/dist/esm/lib/encodings.js +367 -0
  269. package/dist/esm/lib/encodings.js.map +1 -0
  270. package/dist/esm/lib/env.d.ts +16 -0
  271. package/dist/esm/lib/env.d.ts.map +1 -0
  272. package/dist/esm/lib/env.js +42 -0
  273. package/dist/esm/lib/env.js.map +1 -0
  274. package/dist/esm/lib/files.d.ts +13 -0
  275. package/dist/esm/lib/files.d.ts.map +1 -0
  276. package/dist/esm/lib/files.js +70 -0
  277. package/dist/esm/lib/files.js.map +1 -0
  278. package/dist/esm/lib/http.d.ts +67 -0
  279. package/dist/esm/lib/http.d.ts.map +1 -0
  280. package/dist/esm/lib/http.js +204 -0
  281. package/dist/esm/lib/http.js.map +1 -0
  282. package/dist/esm/lib/is-plain-object.d.ts +2 -0
  283. package/dist/esm/lib/is-plain-object.d.ts.map +1 -0
  284. package/dist/esm/lib/is-plain-object.js +35 -0
  285. package/dist/esm/lib/is-plain-object.js.map +1 -0
  286. package/dist/esm/lib/logger.d.ts +6 -0
  287. package/dist/esm/lib/logger.d.ts.map +1 -0
  288. package/dist/esm/lib/logger.js +2 -0
  289. package/dist/esm/lib/logger.js.map +1 -0
  290. package/dist/esm/lib/matchers.d.ts +59 -0
  291. package/dist/esm/lib/matchers.d.ts.map +1 -0
  292. package/dist/esm/lib/matchers.js +200 -0
  293. package/dist/esm/lib/matchers.js.map +1 -0
  294. package/dist/esm/lib/primitives.d.ts +26 -0
  295. package/dist/esm/lib/primitives.d.ts.map +1 -0
  296. package/dist/esm/lib/primitives.js +100 -0
  297. package/dist/esm/lib/primitives.js.map +1 -0
  298. package/dist/esm/lib/retries.d.ts +38 -0
  299. package/dist/esm/lib/retries.d.ts.map +1 -0
  300. package/dist/esm/lib/retries.js +144 -0
  301. package/dist/esm/lib/retries.js.map +1 -0
  302. package/dist/esm/lib/schemas.d.ts +21 -0
  303. package/dist/esm/lib/schemas.d.ts.map +1 -0
  304. package/dist/esm/lib/schemas.js +54 -0
  305. package/dist/esm/lib/schemas.js.map +1 -0
  306. package/dist/esm/lib/sdks.d.ts +63 -0
  307. package/dist/esm/lib/sdks.d.ts.map +1 -0
  308. package/dist/esm/lib/sdks.js +266 -0
  309. package/dist/esm/lib/sdks.js.map +1 -0
  310. package/dist/esm/lib/security.d.ts +83 -0
  311. package/dist/esm/lib/security.d.ts.map +1 -0
  312. package/dist/esm/lib/security.js +148 -0
  313. package/dist/esm/lib/security.js.map +1 -0
  314. package/dist/esm/lib/url.d.ts +5 -0
  315. package/dist/esm/lib/url.d.ts.map +1 -0
  316. package/dist/esm/lib/url.js +19 -0
  317. package/dist/esm/lib/url.js.map +1 -0
  318. package/dist/esm/models/errors/documentation.d.ts +22 -0
  319. package/dist/esm/models/errors/documentation.d.ts.map +1 -0
  320. package/dist/esm/models/errors/documentation.js +23 -0
  321. package/dist/esm/models/errors/documentation.js.map +1 -0
  322. package/dist/esm/models/errors/error-response-links.d.ts +21 -0
  323. package/dist/esm/models/errors/error-response-links.d.ts.map +1 -0
  324. package/dist/esm/models/errors/error-response-links.js +21 -0
  325. package/dist/esm/models/errors/error-response-links.js.map +1 -0
  326. package/dist/esm/models/errors/error-response.d.ts +56 -0
  327. package/dist/esm/models/errors/error-response.d.ts.map +1 -0
  328. package/dist/esm/models/errors/error-response.js +61 -0
  329. package/dist/esm/models/errors/error-response.js.map +1 -0
  330. package/dist/esm/models/errors/http-client-errors.d.ts +44 -0
  331. package/dist/esm/models/errors/http-client-errors.d.ts.map +1 -0
  332. package/dist/esm/models/errors/http-client-errors.js +66 -0
  333. package/dist/esm/models/errors/http-client-errors.js.map +1 -0
  334. package/dist/esm/models/errors/index.d.ts +9 -0
  335. package/dist/esm/models/errors/index.d.ts.map +1 -0
  336. package/dist/esm/models/errors/index.js +9 -0
  337. package/dist/esm/models/errors/index.js.map +1 -0
  338. package/dist/esm/models/errors/ominity-default-error.d.ts +10 -0
  339. package/dist/esm/models/errors/ominity-default-error.d.ts.map +1 -0
  340. package/dist/esm/models/errors/ominity-default-error.js +27 -0
  341. package/dist/esm/models/errors/ominity-default-error.js.map +1 -0
  342. package/dist/esm/models/errors/ominity-error.d.ts +19 -0
  343. package/dist/esm/models/errors/ominity-error.d.ts.map +1 -0
  344. package/dist/esm/models/errors/ominity-error.js +13 -0
  345. package/dist/esm/models/errors/ominity-error.js.map +1 -0
  346. package/dist/esm/models/errors/response-validation-error.d.ts +26 -0
  347. package/dist/esm/models/errors/response-validation-error.d.ts.map +1 -0
  348. package/dist/esm/models/errors/response-validation-error.js +26 -0
  349. package/dist/esm/models/errors/response-validation-error.js.map +1 -0
  350. package/dist/esm/models/errors/sdk-validation-error.d.ts +21 -0
  351. package/dist/esm/models/errors/sdk-validation-error.d.ts.map +1 -0
  352. package/dist/esm/models/errors/sdk-validation-error.js +41 -0
  353. package/dist/esm/models/errors/sdk-validation-error.js.map +1 -0
  354. package/dist/esm/models/index.d.ts +2 -0
  355. package/dist/esm/models/index.d.ts.map +1 -0
  356. package/dist/esm/models/index.js +2 -0
  357. package/dist/esm/models/index.js.map +1 -0
  358. package/dist/esm/models/operations/index.d.ts +2 -0
  359. package/dist/esm/models/operations/index.d.ts.map +1 -0
  360. package/dist/esm/models/operations/index.js +2 -0
  361. package/dist/esm/models/operations/index.js.map +1 -0
  362. package/dist/esm/models/security.d.ts +19 -0
  363. package/dist/esm/models/security.d.ts.map +1 -0
  364. package/dist/esm/models/security.js +20 -0
  365. package/dist/esm/models/security.js.map +1 -0
  366. package/dist/esm/package.json +3 -0
  367. package/dist/esm/sdk/cms/index.d.ts +4 -0
  368. package/dist/esm/sdk/cms/index.d.ts.map +1 -0
  369. package/dist/esm/sdk/cms/index.js +7 -0
  370. package/dist/esm/sdk/cms/index.js.map +1 -0
  371. package/dist/esm/sdk/commerce/index.d.ts +7 -0
  372. package/dist/esm/sdk/commerce/index.d.ts.map +1 -0
  373. package/dist/esm/sdk/commerce/index.js +11 -0
  374. package/dist/esm/sdk/commerce/index.js.map +1 -0
  375. package/dist/esm/sdk/commerce/products.d.ts +4 -0
  376. package/dist/esm/sdk/commerce/products.d.ts.map +1 -0
  377. package/dist/esm/sdk/commerce/products.js +7 -0
  378. package/dist/esm/sdk/commerce/products.js.map +1 -0
  379. package/dist/esm/sdk/http.d.ts +19 -0
  380. package/dist/esm/sdk/http.d.ts.map +1 -0
  381. package/dist/esm/sdk/http.js +139 -0
  382. package/dist/esm/sdk/http.js.map +1 -0
  383. package/dist/esm/sdk/index.d.ts +2 -0
  384. package/dist/esm/sdk/index.d.ts.map +1 -0
  385. package/dist/esm/sdk/index.js +2 -0
  386. package/dist/esm/sdk/index.js.map +1 -0
  387. package/dist/esm/sdk/sdk.d.ts +16 -0
  388. package/dist/esm/sdk/sdk.d.ts.map +1 -0
  389. package/dist/esm/sdk/sdk.js +20 -0
  390. package/dist/esm/sdk/sdk.js.map +1 -0
  391. package/dist/esm/sdk/settings/index.d.ts +4 -0
  392. package/dist/esm/sdk/settings/index.d.ts.map +1 -0
  393. package/dist/esm/sdk/settings/index.js +7 -0
  394. package/dist/esm/sdk/settings/index.js.map +1 -0
  395. package/dist/esm/types/async.d.ts +23 -0
  396. package/dist/esm/types/async.d.ts.map +1 -0
  397. package/dist/esm/types/async.js +37 -0
  398. package/dist/esm/types/async.js.map +1 -0
  399. package/dist/esm/types/blobs.d.ts +4 -0
  400. package/dist/esm/types/blobs.d.ts.map +1 -0
  401. package/dist/esm/types/blobs.js +22 -0
  402. package/dist/esm/types/blobs.js.map +1 -0
  403. package/dist/esm/types/const-date-time.d.ts +3 -0
  404. package/dist/esm/types/const-date-time.d.ts.map +1 -0
  405. package/dist/esm/types/const-date-time.js +7 -0
  406. package/dist/esm/types/const-date-time.js.map +1 -0
  407. package/dist/esm/types/default-to-zero-value.d.ts +12 -0
  408. package/dist/esm/types/default-to-zero-value.d.ts.map +1 -0
  409. package/dist/esm/types/default-to-zero-value.js +28 -0
  410. package/dist/esm/types/default-to-zero-value.js.map +1 -0
  411. package/dist/esm/types/enums.d.ts +9 -0
  412. package/dist/esm/types/enums.d.ts.map +1 -0
  413. package/dist/esm/types/enums.js +24 -0
  414. package/dist/esm/types/enums.js.map +1 -0
  415. package/dist/esm/types/fp.d.ts +31 -0
  416. package/dist/esm/types/fp.d.ts.map +1 -0
  417. package/dist/esm/types/fp.js +28 -0
  418. package/dist/esm/types/fp.js.map +1 -0
  419. package/dist/esm/types/index.d.ts +10 -0
  420. package/dist/esm/types/index.d.ts.map +1 -0
  421. package/dist/esm/types/index.js +7 -0
  422. package/dist/esm/types/index.js.map +1 -0
  423. package/dist/esm/types/operations.d.ts +27 -0
  424. package/dist/esm/types/operations.d.ts.map +1 -0
  425. package/dist/esm/types/operations.js +74 -0
  426. package/dist/esm/types/operations.js.map +1 -0
  427. package/dist/esm/types/primitives.d.ts +11 -0
  428. package/dist/esm/types/primitives.d.ts.map +1 -0
  429. package/dist/esm/types/primitives.js +129 -0
  430. package/dist/esm/types/primitives.js.map +1 -0
  431. package/dist/esm/types/rfcdate.d.ts +21 -0
  432. package/dist/esm/types/rfcdate.d.ts.map +1 -0
  433. package/dist/esm/types/rfcdate.js +39 -0
  434. package/dist/esm/types/rfcdate.js.map +1 -0
  435. package/dist/esm/types/smart-union.d.ts +7 -0
  436. package/dist/esm/types/smart-union.d.ts.map +1 -0
  437. package/dist/esm/types/smart-union.js +107 -0
  438. package/dist/esm/types/smart-union.js.map +1 -0
  439. package/dist/esm/types/streams.d.ts +2 -0
  440. package/dist/esm/types/streams.d.ts.map +1 -0
  441. package/dist/esm/types/streams.js +12 -0
  442. package/dist/esm/types/streams.js.map +1 -0
  443. package/dist/esm/types/unrecognized.d.ts +16 -0
  444. package/dist/esm/types/unrecognized.d.ts.map +1 -0
  445. package/dist/esm/types/unrecognized.js +28 -0
  446. package/dist/esm/types/unrecognized.js.map +1 -0
  447. package/jsr.json +27 -0
  448. package/package.json +122 -0
  449. package/src/core.ts +10 -0
  450. package/src/hooks/hooks.ts +128 -0
  451. package/src/hooks/index.ts +2 -0
  452. package/src/hooks/ominity-hooks.ts +117 -0
  453. package/src/hooks/registration.ts +15 -0
  454. package/src/hooks/types.ts +103 -0
  455. package/src/index.ts +6 -0
  456. package/src/lib/base64.ts +36 -0
  457. package/src/lib/config.ts +84 -0
  458. package/src/lib/dlv.ts +49 -0
  459. package/src/lib/encodings.ts +497 -0
  460. package/src/lib/env.ts +56 -0
  461. package/src/lib/files.ts +79 -0
  462. package/src/lib/http.ts +320 -0
  463. package/src/lib/is-plain-object.ts +40 -0
  464. package/src/lib/logger.ts +6 -0
  465. package/src/lib/matchers.ts +349 -0
  466. package/src/lib/primitives.ts +147 -0
  467. package/src/lib/retries.ts +215 -0
  468. package/src/lib/schemas.ts +91 -0
  469. package/src/lib/sdks.ts +403 -0
  470. package/src/lib/security.ts +276 -0
  471. package/src/lib/url.ts +30 -0
  472. package/src/models/errors/documentation.ts +50 -0
  473. package/src/models/errors/error-response-links.ts +58 -0
  474. package/src/models/errors/error-response.ts +121 -0
  475. package/src/models/errors/http-client-errors.ts +58 -0
  476. package/src/models/errors/index.ts +8 -0
  477. package/src/models/errors/ominity-default-error.ts +36 -0
  478. package/src/models/errors/ominity-error.ts +31 -0
  479. package/src/models/errors/response-validation-error.ts +46 -0
  480. package/src/models/errors/sdk-validation-error.ts +50 -0
  481. package/src/models/index.ts +1 -0
  482. package/src/models/operations/index.ts +2 -0
  483. package/src/models/security.ts +46 -0
  484. package/src/sdk/cms/index.ts +7 -0
  485. package/src/sdk/commerce/index.ts +13 -0
  486. package/src/sdk/commerce/products.ts +7 -0
  487. package/src/sdk/http.ts +204 -0
  488. package/src/sdk/index.ts +2 -0
  489. package/src/sdk/sdk.ts +28 -0
  490. package/src/sdk/settings/index.ts +7 -0
  491. package/src/types/async.ts +65 -0
  492. package/src/types/blobs.ts +30 -0
  493. package/src/types/const-date-time.ts +12 -0
  494. package/src/types/default-to-zero-value.ts +30 -0
  495. package/src/types/enums.ts +42 -0
  496. package/src/types/fp.ts +47 -0
  497. package/src/types/index.ts +10 -0
  498. package/src/types/operations.ts +102 -0
  499. package/src/types/primitives.ts +165 -0
  500. package/src/types/rfcdate.ts +51 -0
  501. package/src/types/smart-union.ts +142 -0
  502. package/src/types/streams.ts +18 -0
  503. package/src/types/unrecognized.ts +32 -0
  504. package/tsconfig.json +40 -0
@@ -0,0 +1,204 @@
1
+ /*
2
+ * SDK module: Generic HTTP access
3
+ */
4
+
5
+ import { HookContext } from "../hooks/types.js";
6
+ import { encodeForm } from "../lib/encodings.js";
7
+ import { RetryConfig } from "../lib/retries.js";
8
+ import { extractSecurity, resolveGlobalSecurity } from "../lib/security.js";
9
+ import { ClientSDK, RequestOptions } from "../lib/sdks.js";
10
+ import * as models from "../models/index.js";
11
+
12
+ export type HttpQuery =
13
+ | string
14
+ | URLSearchParams
15
+ | Record<string, unknown>
16
+ | undefined;
17
+
18
+ export type HttpRequestOptions = RequestOptions & {
19
+ query?: HttpQuery;
20
+ json?: unknown;
21
+ body?: RequestInit["body"];
22
+ security?: models.Security | (() => Promise<models.Security>) | undefined;
23
+ errorCodes?: Array<number | string>;
24
+ };
25
+
26
+ function isBodyInit(value: unknown): value is RequestInit["body"] {
27
+ return value === null
28
+ || typeof value === "string"
29
+ || value instanceof ArrayBuffer
30
+ || value instanceof Uint8Array
31
+ || value instanceof Blob
32
+ || value instanceof FormData
33
+ || value instanceof URLSearchParams
34
+ || value instanceof ReadableStream;
35
+ }
36
+
37
+ function buildQuery(query: HttpQuery): string | undefined {
38
+ if (!query) return;
39
+ if (typeof query === "string") return query;
40
+ if (query instanceof URLSearchParams) return query.toString();
41
+
42
+ const parts: string[] = [];
43
+ for (const [key, value] of Object.entries(query)) {
44
+ const encoded = encodeForm(key, value, { charEncoding: "percent" });
45
+ if (typeof encoded !== "undefined" && encoded !== "") {
46
+ parts.push(encoded);
47
+ }
48
+ }
49
+
50
+ return parts.join("&");
51
+ }
52
+
53
+ function resolveRetryConfig(
54
+ options?: RequestOptions,
55
+ fallback?: RetryConfig,
56
+ ): RetryConfig {
57
+ return options?.retries ?? fallback ?? { strategy: "none" };
58
+ }
59
+
60
+ export class Http extends ClientSDK {
61
+ async request(
62
+ method: string,
63
+ path: string,
64
+ options?: HttpRequestOptions,
65
+ ): Promise<Response> {
66
+ const {
67
+ query,
68
+ json,
69
+ security,
70
+ errorCodes,
71
+ serverURL,
72
+ retries,
73
+ retryCodes,
74
+ headers,
75
+ body,
76
+ fetchOptions,
77
+ timeoutMs,
78
+ ...rest
79
+ } = options ?? {};
80
+
81
+ const resolvedQuery = buildQuery(query);
82
+ const resolvedSecuritySource = security ?? this._options.security;
83
+ const resolvedSecurity = resolveGlobalSecurity(
84
+ await extractSecurity(resolvedSecuritySource),
85
+ );
86
+
87
+ const resolvedHeaders = new Headers(headers ?? fetchOptions?.headers);
88
+ let resolvedBody: RequestInit["body"] | undefined;
89
+
90
+ if (typeof json !== "undefined") {
91
+ resolvedBody = JSON.stringify(json);
92
+ if (!resolvedHeaders.has("content-type")) {
93
+ resolvedHeaders.set("Content-Type", "application/json");
94
+ }
95
+ } else if (typeof body !== "undefined") {
96
+ if (isBodyInit(body)) {
97
+ resolvedBody = body;
98
+ } else {
99
+ resolvedBody = JSON.stringify(body);
100
+ if (!resolvedHeaders.has("content-type")) {
101
+ resolvedHeaders.set("Content-Type", "application/json");
102
+ }
103
+ }
104
+ }
105
+
106
+ const retryConfig = resolveRetryConfig(options, this._options.retryConfig);
107
+ const finalRetryCodes = retryCodes ?? ["429", "5XX"];
108
+ const finalErrorCodes = errorCodes ?? ["4XX", "5XX"];
109
+
110
+ const baseURL = serverURL ?? this._baseURL ?? undefined;
111
+ const context: HookContext = {
112
+ baseURL: baseURL ?? "",
113
+ operationID: "http.request",
114
+ oAuth2Scopes: null,
115
+ securitySource: resolvedSecuritySource,
116
+ retryConfig,
117
+ resolvedSecurity,
118
+ options: this._options,
119
+ };
120
+
121
+ const requestConfig: {
122
+ method: string;
123
+ path: string;
124
+ baseURL?: string | URL | undefined;
125
+ query?: string;
126
+ body?: RequestInit["body"];
127
+ security?: ReturnType<typeof resolveGlobalSecurity>;
128
+ uaHeader?: string;
129
+ userAgent?: string | undefined;
130
+ timeoutMs?: number;
131
+ } = {
132
+ method: method.toUpperCase(),
133
+ path,
134
+ security: resolvedSecurity,
135
+ uaHeader: "user-agent",
136
+ };
137
+
138
+ if (baseURL) requestConfig.baseURL = baseURL;
139
+ if (resolvedQuery) requestConfig.query = resolvedQuery;
140
+ if (typeof resolvedBody !== "undefined") requestConfig.body = resolvedBody;
141
+ if (typeof this._options.userAgent !== "undefined") {
142
+ requestConfig.userAgent = this._options.userAgent;
143
+ }
144
+ const effectiveTimeout = timeoutMs ?? this._options.timeoutMs;
145
+ if (typeof effectiveTimeout !== "undefined") {
146
+ requestConfig.timeoutMs = effectiveTimeout;
147
+ }
148
+
149
+ const requestOptions: RequestOptions = {
150
+ ...rest,
151
+ headers: resolvedHeaders,
152
+ };
153
+ if (fetchOptions) requestOptions.fetchOptions = fetchOptions;
154
+ if (typeof retries !== "undefined") requestOptions.retries = retries;
155
+ if (typeof finalRetryCodes !== "undefined") {
156
+ requestOptions.retryCodes = finalRetryCodes;
157
+ }
158
+ if (typeof timeoutMs !== "undefined") requestOptions.timeoutMs = timeoutMs;
159
+ if (typeof serverURL !== "undefined") requestOptions.serverURL = serverURL;
160
+
161
+ const req = this._createRequest(
162
+ context,
163
+ requestConfig,
164
+ requestOptions,
165
+ );
166
+
167
+ if (!req.ok) {
168
+ throw req.error;
169
+ }
170
+
171
+ const response = await this._do(req.value, {
172
+ context,
173
+ errorCodes: finalErrorCodes,
174
+ retryConfig,
175
+ retryCodes: finalRetryCodes,
176
+ });
177
+
178
+ if (!response.ok) {
179
+ throw response.error;
180
+ }
181
+
182
+ return response.value;
183
+ }
184
+
185
+ get(path: string, options?: HttpRequestOptions): Promise<Response> {
186
+ return this.request("GET", path, options);
187
+ }
188
+
189
+ post(path: string, options?: HttpRequestOptions): Promise<Response> {
190
+ return this.request("POST", path, options);
191
+ }
192
+
193
+ put(path: string, options?: HttpRequestOptions): Promise<Response> {
194
+ return this.request("PUT", path, options);
195
+ }
196
+
197
+ patch(path: string, options?: HttpRequestOptions): Promise<Response> {
198
+ return this.request("PATCH", path, options);
199
+ }
200
+
201
+ delete(path: string, options?: HttpRequestOptions): Promise<Response> {
202
+ return this.request("DELETE", path, options);
203
+ }
204
+ }
@@ -0,0 +1,2 @@
1
+
2
+ export * from "./sdk.js";
package/src/sdk/sdk.ts ADDED
@@ -0,0 +1,28 @@
1
+
2
+ import { ClientSDK } from "../lib/sdks.js";
3
+ import { Cms } from "./cms/index.js";
4
+ import { Commerce } from "./commerce/index.js";
5
+ import { Http } from "./http.js";
6
+ import { Settings } from "./settings/index.js";
7
+
8
+ export class Ominity extends ClientSDK {
9
+ private _commerce?: Commerce;
10
+ get commerce(): Commerce {
11
+ return (this._commerce ??= new Commerce(this._options));
12
+ }
13
+
14
+ private _cms?: Cms;
15
+ get cms(): Cms {
16
+ return (this._cms ??= new Cms(this._options));
17
+ }
18
+
19
+ private _settings?: Settings;
20
+ get settings(): Settings {
21
+ return (this._settings ??= new Settings(this._options));
22
+ }
23
+
24
+ private _http?: Http;
25
+ get http(): Http {
26
+ return (this._http ??= new Http(this._options));
27
+ }
28
+ }
@@ -0,0 +1,7 @@
1
+ /*
2
+ * SDK module: Settings
3
+ */
4
+
5
+ import { ClientSDK } from "../../lib/sdks.js";
6
+
7
+ export class Settings extends ClientSDK {}
@@ -0,0 +1,65 @@
1
+
2
+ export type APICall =
3
+ | {
4
+ status: "complete";
5
+ request: Request;
6
+ response: Response;
7
+ }
8
+ | {
9
+ status: "request-error";
10
+ request: Request;
11
+ response?: undefined;
12
+ }
13
+ | {
14
+ status: "invalid";
15
+ request?: undefined;
16
+ response?: undefined;
17
+ };
18
+
19
+ export class APIPromise<T> implements Promise<T> {
20
+ readonly #promise: Promise<[T, APICall]>;
21
+ readonly #unwrapped: Promise<T>;
22
+
23
+ readonly [Symbol.toStringTag] = "APIPromise";
24
+
25
+ constructor(p: [T, APICall] | Promise<[T, APICall]>) {
26
+ this.#promise = p instanceof Promise ? p : Promise.resolve(p);
27
+ this.#unwrapped =
28
+ p instanceof Promise
29
+ ? this.#promise.then(([value]) => value)
30
+ : Promise.resolve(p[0]);
31
+ }
32
+
33
+ then<TResult1 = T, TResult2 = never>(
34
+ onfulfilled?:
35
+ | ((value: T) => TResult1 | PromiseLike<TResult1>)
36
+ | null
37
+ | undefined,
38
+ onrejected?:
39
+ | ((reason: any) => TResult2 | PromiseLike<TResult2>)
40
+ | null
41
+ | undefined,
42
+ ): Promise<TResult1 | TResult2> {
43
+ return this.#promise.then(
44
+ onfulfilled ? ([value]) => onfulfilled(value) : void 0,
45
+ onrejected,
46
+ );
47
+ }
48
+
49
+ catch<TResult = never>(
50
+ onrejected?:
51
+ | ((reason: any) => TResult | PromiseLike<TResult>)
52
+ | null
53
+ | undefined,
54
+ ): Promise<T | TResult> {
55
+ return this.#unwrapped.catch(onrejected);
56
+ }
57
+
58
+ finally(onfinally?: (() => void) | null | undefined): Promise<T> {
59
+ return this.#unwrapped.finally(onfinally);
60
+ }
61
+
62
+ $inspect(): Promise<[T, APICall]> {
63
+ return this.#promise;
64
+ }
65
+ }
@@ -0,0 +1,30 @@
1
+
2
+ import * as z from "zod/v4";
3
+
4
+ export const blobLikeSchema: z.ZodType<Blob, Blob> = z.custom<Blob>(
5
+ isBlobLike,
6
+ {
7
+ message: "expected a Blob, File or Blob-like object",
8
+ abort: true,
9
+ },
10
+ );
11
+
12
+ export function isBlobLike(val: unknown): val is Blob {
13
+ if (val instanceof Blob) {
14
+ return true;
15
+ }
16
+
17
+ if (typeof val !== "object" || val == null || !(Symbol.toStringTag in val)) {
18
+ return false;
19
+ }
20
+
21
+ const name = val[Symbol.toStringTag];
22
+ if (typeof name !== "string") {
23
+ return false;
24
+ }
25
+ if (name !== "Blob" && name !== "File") {
26
+ return false;
27
+ }
28
+
29
+ return "stream" in val && typeof val.stream === "function";
30
+ }
@@ -0,0 +1,12 @@
1
+
2
+ import * as z from "zod/v4";
3
+
4
+ export function constDateTime(
5
+ val: string,
6
+ ): z.ZodType<string, unknown> {
7
+ return z.custom<string>((v) => {
8
+ return (
9
+ typeof v === "string" && new Date(v).getTime() === new Date(val).getTime()
10
+ );
11
+ }, `Value must be equivalent to ${val}`);
12
+ }
@@ -0,0 +1,30 @@
1
+
2
+ import { type Unrecognized, unrecognized } from "./unrecognized.js";
3
+
4
+ let globalCount = 0;
5
+ let refCount = 0;
6
+
7
+ export function defaultToZeroValue<T>(value: T): Unrecognized<T> {
8
+ globalCount++;
9
+ return unrecognized(value);
10
+ }
11
+
12
+ export function startCountingDefaultToZeroValue() {
13
+ refCount++;
14
+ const start = globalCount;
15
+ return {
16
+ /**
17
+ * Ends counting and returns the delta.
18
+ * @param delta - If provided, only this amount is added to the parent counter
19
+ * (used for nested unions where we only want to record the winning option's count).
20
+ * If not provided, records all counts since start().
21
+ */
22
+ end: (delta?: number) => {
23
+ const count = globalCount - start;
24
+ // Reset globalCount back to start, then add only the specified delta
25
+ globalCount = start + (delta ?? count);
26
+ if (--refCount === 0) globalCount = 0;
27
+ return count;
28
+ },
29
+ };
30
+ }
@@ -0,0 +1,42 @@
1
+
2
+ import * as z from "zod/v4";
3
+ import { Unrecognized, unrecognized } from "./unrecognized.js";
4
+
5
+ export type ClosedEnum<T extends Readonly<Record<string, string | number>>> =
6
+ T[keyof T];
7
+ export type OpenEnum<T extends Readonly<Record<string, string | number>>> =
8
+ | T[keyof T]
9
+ | Unrecognized<T[keyof T] extends number ? number : string>;
10
+
11
+ export function inboundSchema<T extends Record<string, string>>(
12
+ enumObj: T,
13
+ ): z.ZodType<OpenEnum<T>, unknown> {
14
+ const options = Object.values(enumObj);
15
+ return z.union([
16
+ ...options.map(x => z.literal(x)),
17
+ z.pipe(z.string(), z.transform(x => unrecognized(x))),
18
+ ] as any);
19
+ }
20
+
21
+ export function inboundSchemaInt<T extends Record<string, number | string>>(
22
+ enumObj: T,
23
+ ): z.ZodType<OpenEnum<T>, unknown> {
24
+ // For numeric enums, Object.values returns both numbers and string keys
25
+ const options = Object.values(enumObj).filter(v => typeof v === "number");
26
+ return z.union([
27
+ ...options.map(x => z.literal(x)),
28
+ z.pipe(z.int(), z.transform(x => unrecognized(x))),
29
+ ] as any);
30
+ }
31
+
32
+ export function outboundSchema<T extends Record<string, string>>(
33
+ _: T,
34
+ ): z.ZodType<string, OpenEnum<T>> {
35
+ return z.string() as any;
36
+ }
37
+
38
+ export function outboundSchemaInt<T extends Record<string, number | string>>(
39
+ _: T,
40
+ ): z.ZodType<number, OpenEnum<T>> {
41
+ return z.int() as any;
42
+ }
@@ -0,0 +1,47 @@
1
+
2
+ /**
3
+ * A monad that captures the result of a function call or an error if it was not
4
+ * successful. Railway programming, enabled by this type, can be a nicer
5
+ * alternative to traditional exception throwing because it allows functions to
6
+ * declare all _known_ errors with static types and then check for them
7
+ * exhaustively in application code. Thrown exception have a type of `unknown`
8
+ * and break out of regular control flow of programs making them harder to
9
+ * inspect and more verbose work with due to try-catch blocks.
10
+ */
11
+ export type Result<T, E = unknown> =
12
+ | { ok: true; value: T; error?: never }
13
+ | { ok: false; value?: never; error: E };
14
+
15
+ export function OK<V>(value: V): Result<V, never> {
16
+ return { ok: true, value };
17
+ }
18
+
19
+ export function ERR<E>(error: E): Result<never, E> {
20
+ return { ok: false, error };
21
+ }
22
+
23
+ /**
24
+ * unwrap is a convenience function for extracting a value from a result or
25
+ * throwing if there was an error.
26
+ */
27
+ export function unwrap<T>(r: Result<T, unknown>): T {
28
+ if (!r.ok) {
29
+ throw r.error;
30
+ }
31
+ return r.value;
32
+ }
33
+
34
+ /**
35
+ * unwrapAsync is a convenience function for resolving a value from a Promise
36
+ * of a result or rejecting if an error occurred.
37
+ */
38
+ export async function unwrapAsync<T>(
39
+ pr: Promise<Result<T, unknown>>,
40
+ ): Promise<T> {
41
+ const r = await pr;
42
+ if (!r.ok) {
43
+ throw r.error;
44
+ }
45
+
46
+ return r.value;
47
+ }
@@ -0,0 +1,10 @@
1
+
2
+ export { blobLikeSchema, isBlobLike } from "./blobs.js";
3
+ export * from "./default-to-zero-value.js";
4
+ export type { ClosedEnum, OpenEnum } from "./enums.js";
5
+ export type { Result } from "./fp.js";
6
+ export type { PageIterator, Paginator } from "./operations.js";
7
+ export { createPageIterator } from "./operations.js";
8
+ export * from "./primitives.js";
9
+ export { RFCDate } from "./rfcdate.js";
10
+ export * from "./unrecognized.js";
@@ -0,0 +1,102 @@
1
+
2
+ import { Result } from "./fp.js";
3
+
4
+ export type Paginator<V> = () => Promise<V & { next: Paginator<V> }> | null;
5
+
6
+ export type PageIterator<V, PageState = unknown> = V & {
7
+ next: Paginator<V>;
8
+ [Symbol.asyncIterator]: () => AsyncIterableIterator<V>;
9
+ "~next"?: PageState | undefined;
10
+ };
11
+
12
+ export function createPageIterator<V>(
13
+ page: V & { next: Paginator<V> },
14
+ halt: (v: V) => boolean,
15
+ ): {
16
+ [Symbol.asyncIterator]: () => AsyncIterableIterator<V>;
17
+ } {
18
+ return {
19
+ [Symbol.asyncIterator]: async function* paginator() {
20
+ yield page;
21
+ if (halt(page)) {
22
+ return;
23
+ }
24
+
25
+ let p: typeof page | null = page;
26
+ for (p = await p.next(); p != null; p = await p.next()) {
27
+ yield p;
28
+ if (halt(p)) {
29
+ return;
30
+ }
31
+ }
32
+ },
33
+ };
34
+ }
35
+
36
+ /**
37
+ * This utility create a special iterator that yields a single value and
38
+ * terminates. It is useful in paginated SDK functions that have early return
39
+ * paths when things go wrong.
40
+ */
41
+ export function haltIterator<V extends object>(
42
+ v: V,
43
+ ): PageIterator<V, undefined> {
44
+ return {
45
+ ...v,
46
+ next: () => null,
47
+ [Symbol.asyncIterator]: async function* paginator() {
48
+ yield v;
49
+ },
50
+ };
51
+ }
52
+
53
+ /**
54
+ * Converts an async iterator of `Result<V, E>` into an async iterator of `V`.
55
+ * When error results occur, the underlying error value is thrown.
56
+ */
57
+ export async function unwrapResultIterator<V, PageState>(
58
+ iteratorPromise: Promise<PageIterator<Result<V, unknown>, PageState>>,
59
+ ): Promise<PageIterator<V, PageState>> {
60
+ const resultIter = await iteratorPromise;
61
+
62
+ if (!resultIter.ok) {
63
+ throw resultIter.error;
64
+ }
65
+
66
+ return {
67
+ ...resultIter.value,
68
+ next: unwrapPaginator(resultIter.next),
69
+ "~next": resultIter["~next"],
70
+ [Symbol.asyncIterator]: async function* paginator() {
71
+ for await (const page of resultIter) {
72
+ if (!page.ok) {
73
+ throw page.error;
74
+ }
75
+ yield page.value;
76
+ }
77
+ },
78
+ };
79
+ }
80
+
81
+ function unwrapPaginator<V>(
82
+ paginator: Paginator<Result<V, unknown>>,
83
+ ): Paginator<V> {
84
+ return () => {
85
+ const nextResult = paginator();
86
+ if (nextResult == null) {
87
+ return null;
88
+ }
89
+ return nextResult.then((res) => {
90
+ if (!res.ok) {
91
+ throw res.error;
92
+ }
93
+ const out = {
94
+ ...res.value,
95
+ next: unwrapPaginator(res.next),
96
+ };
97
+ return out;
98
+ });
99
+ };
100
+ }
101
+
102
+ export const URL_OVERRIDE = Symbol("URL_OVERRIDE");