@zapier/zapier-sdk 0.18.3 → 0.19.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 (417) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/README.md +44 -32
  3. package/dist/index.cjs +658 -693
  4. package/dist/index.d.mts +272 -138
  5. package/dist/index.d.ts +2541 -40
  6. package/dist/index.mjs +638 -692
  7. package/package.json +14 -13
  8. package/dist/api/auth.d.ts +0 -19
  9. package/dist/api/auth.d.ts.map +0 -1
  10. package/dist/api/auth.js +0 -70
  11. package/dist/api/auth.test.d.ts +0 -2
  12. package/dist/api/auth.test.d.ts.map +0 -1
  13. package/dist/api/auth.test.js +0 -220
  14. package/dist/api/client.d.ts +0 -9
  15. package/dist/api/client.d.ts.map +0 -1
  16. package/dist/api/client.integration.test.d.ts +0 -5
  17. package/dist/api/client.integration.test.d.ts.map +0 -1
  18. package/dist/api/client.integration.test.js +0 -318
  19. package/dist/api/client.js +0 -374
  20. package/dist/api/client.methods.test.d.ts +0 -2
  21. package/dist/api/client.methods.test.d.ts.map +0 -1
  22. package/dist/api/client.methods.test.js +0 -158
  23. package/dist/api/client.test.d.ts +0 -2
  24. package/dist/api/client.test.d.ts.map +0 -1
  25. package/dist/api/client.test.js +0 -96
  26. package/dist/api/debug.d.ts +0 -14
  27. package/dist/api/debug.d.ts.map +0 -1
  28. package/dist/api/debug.js +0 -131
  29. package/dist/api/debug.test.d.ts +0 -2
  30. package/dist/api/debug.test.d.ts.map +0 -1
  31. package/dist/api/debug.test.js +0 -59
  32. package/dist/api/index.d.ts +0 -30
  33. package/dist/api/index.d.ts.map +0 -1
  34. package/dist/api/index.js +0 -43
  35. package/dist/api/polling.d.ts +0 -46
  36. package/dist/api/polling.d.ts.map +0 -1
  37. package/dist/api/polling.js +0 -139
  38. package/dist/api/polling.test.d.ts +0 -2
  39. package/dist/api/polling.test.d.ts.map +0 -1
  40. package/dist/api/polling.test.js +0 -318
  41. package/dist/api/router.d.ts +0 -16
  42. package/dist/api/router.d.ts.map +0 -1
  43. package/dist/api/router.js +0 -31
  44. package/dist/api/router.test.d.ts +0 -2
  45. package/dist/api/router.test.d.ts.map +0 -1
  46. package/dist/api/router.test.js +0 -103
  47. package/dist/api/schemas.d.ts +0 -531
  48. package/dist/api/schemas.d.ts.map +0 -1
  49. package/dist/api/schemas.js +0 -389
  50. package/dist/api/types.d.ts +0 -82
  51. package/dist/api/types.d.ts.map +0 -1
  52. package/dist/api/types.js +0 -1
  53. package/dist/auth.d.ts +0 -52
  54. package/dist/auth.d.ts.map +0 -1
  55. package/dist/auth.js +0 -72
  56. package/dist/auth.test.d.ts +0 -2
  57. package/dist/auth.test.d.ts.map +0 -1
  58. package/dist/auth.test.js +0 -102
  59. package/dist/constants.d.ts +0 -14
  60. package/dist/constants.d.ts.map +0 -1
  61. package/dist/constants.js +0 -13
  62. package/dist/index.d.ts.map +0 -1
  63. package/dist/index.js +0 -42
  64. package/dist/plugins/api/index.d.ts +0 -12
  65. package/dist/plugins/api/index.d.ts.map +0 -1
  66. package/dist/plugins/api/index.js +0 -24
  67. package/dist/plugins/apps/index.d.ts +0 -15
  68. package/dist/plugins/apps/index.d.ts.map +0 -1
  69. package/dist/plugins/apps/index.js +0 -112
  70. package/dist/plugins/apps/schemas.d.ts +0 -42
  71. package/dist/plugins/apps/schemas.d.ts.map +0 -1
  72. package/dist/plugins/apps/schemas.js +0 -14
  73. package/dist/plugins/eventEmission/builders.d.ts +0 -14
  74. package/dist/plugins/eventEmission/builders.d.ts.map +0 -1
  75. package/dist/plugins/eventEmission/builders.js +0 -109
  76. package/dist/plugins/eventEmission/index.d.ts +0 -38
  77. package/dist/plugins/eventEmission/index.d.ts.map +0 -1
  78. package/dist/plugins/eventEmission/index.js +0 -336
  79. package/dist/plugins/eventEmission/index.test.d.ts +0 -5
  80. package/dist/plugins/eventEmission/index.test.d.ts.map +0 -1
  81. package/dist/plugins/eventEmission/index.test.js +0 -581
  82. package/dist/plugins/eventEmission/transport.d.ts +0 -27
  83. package/dist/plugins/eventEmission/transport.d.ts.map +0 -1
  84. package/dist/plugins/eventEmission/transport.js +0 -104
  85. package/dist/plugins/eventEmission/transport.test.d.ts +0 -5
  86. package/dist/plugins/eventEmission/transport.test.d.ts.map +0 -1
  87. package/dist/plugins/eventEmission/transport.test.js +0 -164
  88. package/dist/plugins/eventEmission/types.d.ts +0 -63
  89. package/dist/plugins/eventEmission/types.d.ts.map +0 -1
  90. package/dist/plugins/eventEmission/types.js +0 -1
  91. package/dist/plugins/eventEmission/utils.d.ts +0 -45
  92. package/dist/plugins/eventEmission/utils.d.ts.map +0 -1
  93. package/dist/plugins/eventEmission/utils.js +0 -114
  94. package/dist/plugins/fetch/index.d.ts +0 -36
  95. package/dist/plugins/fetch/index.d.ts.map +0 -1
  96. package/dist/plugins/fetch/index.js +0 -62
  97. package/dist/plugins/fetch/schemas.d.ts +0 -19
  98. package/dist/plugins/fetch/schemas.d.ts.map +0 -1
  99. package/dist/plugins/fetch/schemas.js +0 -31
  100. package/dist/plugins/findFirstAuthentication/index.d.ts +0 -21
  101. package/dist/plugins/findFirstAuthentication/index.d.ts.map +0 -1
  102. package/dist/plugins/findFirstAuthentication/index.js +0 -36
  103. package/dist/plugins/findFirstAuthentication/index.test.d.ts +0 -2
  104. package/dist/plugins/findFirstAuthentication/index.test.d.ts.map +0 -1
  105. package/dist/plugins/findFirstAuthentication/index.test.js +0 -177
  106. package/dist/plugins/findFirstAuthentication/schemas.d.ts +0 -20
  107. package/dist/plugins/findFirstAuthentication/schemas.d.ts.map +0 -1
  108. package/dist/plugins/findFirstAuthentication/schemas.js +0 -18
  109. package/dist/plugins/findUniqueAuthentication/index.d.ts +0 -21
  110. package/dist/plugins/findUniqueAuthentication/index.d.ts.map +0 -1
  111. package/dist/plugins/findUniqueAuthentication/index.js +0 -39
  112. package/dist/plugins/findUniqueAuthentication/index.test.d.ts +0 -2
  113. package/dist/plugins/findUniqueAuthentication/index.test.d.ts.map +0 -1
  114. package/dist/plugins/findUniqueAuthentication/index.test.js +0 -159
  115. package/dist/plugins/findUniqueAuthentication/schemas.d.ts +0 -20
  116. package/dist/plugins/findUniqueAuthentication/schemas.d.ts.map +0 -1
  117. package/dist/plugins/findUniqueAuthentication/schemas.js +0 -18
  118. package/dist/plugins/getAction/index.d.ts +0 -25
  119. package/dist/plugins/getAction/index.d.ts.map +0 -1
  120. package/dist/plugins/getAction/index.js +0 -42
  121. package/dist/plugins/getAction/index.test.d.ts +0 -2
  122. package/dist/plugins/getAction/index.test.d.ts.map +0 -1
  123. package/dist/plugins/getAction/index.test.js +0 -211
  124. package/dist/plugins/getAction/schemas.d.ts +0 -30
  125. package/dist/plugins/getAction/schemas.d.ts.map +0 -1
  126. package/dist/plugins/getAction/schemas.js +0 -12
  127. package/dist/plugins/getApp/index.d.ts +0 -21
  128. package/dist/plugins/getApp/index.d.ts.map +0 -1
  129. package/dist/plugins/getApp/index.js +0 -44
  130. package/dist/plugins/getApp/index.test.d.ts +0 -2
  131. package/dist/plugins/getApp/index.test.d.ts.map +0 -1
  132. package/dist/plugins/getApp/index.test.js +0 -157
  133. package/dist/plugins/getApp/schemas.d.ts +0 -16
  134. package/dist/plugins/getApp/schemas.d.ts.map +0 -1
  135. package/dist/plugins/getApp/schemas.js +0 -8
  136. package/dist/plugins/getAuthentication/index.d.ts +0 -21
  137. package/dist/plugins/getAuthentication/index.d.ts.map +0 -1
  138. package/dist/plugins/getAuthentication/index.js +0 -29
  139. package/dist/plugins/getAuthentication/index.test.d.ts +0 -2
  140. package/dist/plugins/getAuthentication/index.test.d.ts.map +0 -1
  141. package/dist/plugins/getAuthentication/index.test.js +0 -106
  142. package/dist/plugins/getAuthentication/schemas.d.ts +0 -7
  143. package/dist/plugins/getAuthentication/schemas.d.ts.map +0 -1
  144. package/dist/plugins/getAuthentication/schemas.js +0 -1
  145. package/dist/plugins/getInputFieldsSchema/index.d.ts +0 -23
  146. package/dist/plugins/getInputFieldsSchema/index.d.ts.map +0 -1
  147. package/dist/plugins/getInputFieldsSchema/index.js +0 -53
  148. package/dist/plugins/getInputFieldsSchema/index.test.d.ts +0 -2
  149. package/dist/plugins/getInputFieldsSchema/index.test.d.ts.map +0 -1
  150. package/dist/plugins/getInputFieldsSchema/index.test.js +0 -291
  151. package/dist/plugins/getInputFieldsSchema/schemas.d.ts +0 -28
  152. package/dist/plugins/getInputFieldsSchema/schemas.d.ts.map +0 -1
  153. package/dist/plugins/getInputFieldsSchema/schemas.js +0 -13
  154. package/dist/plugins/getProfile/index.d.ts +0 -25
  155. package/dist/plugins/getProfile/index.d.ts.map +0 -1
  156. package/dist/plugins/getProfile/index.js +0 -39
  157. package/dist/plugins/getProfile/schemas.d.ts +0 -13
  158. package/dist/plugins/getProfile/schemas.d.ts.map +0 -1
  159. package/dist/plugins/getProfile/schemas.js +0 -6
  160. package/dist/plugins/listActions/index.d.ts +0 -30
  161. package/dist/plugins/listActions/index.d.ts.map +0 -1
  162. package/dist/plugins/listActions/index.js +0 -75
  163. package/dist/plugins/listActions/index.test.d.ts +0 -2
  164. package/dist/plugins/listActions/index.test.d.ts.map +0 -1
  165. package/dist/plugins/listActions/index.test.js +0 -453
  166. package/dist/plugins/listActions/schemas.d.ts +0 -35
  167. package/dist/plugins/listActions/schemas.d.ts.map +0 -1
  168. package/dist/plugins/listActions/schemas.js +0 -22
  169. package/dist/plugins/listApps/index.d.ts +0 -25
  170. package/dist/plugins/listApps/index.d.ts.map +0 -1
  171. package/dist/plugins/listApps/index.js +0 -69
  172. package/dist/plugins/listApps/index.test.d.ts +0 -2
  173. package/dist/plugins/listApps/index.test.d.ts.map +0 -1
  174. package/dist/plugins/listApps/index.test.js +0 -141
  175. package/dist/plugins/listApps/schemas.d.ts +0 -26
  176. package/dist/plugins/listApps/schemas.d.ts.map +0 -1
  177. package/dist/plugins/listApps/schemas.js +0 -19
  178. package/dist/plugins/listAuthentications/index.d.ts +0 -24
  179. package/dist/plugins/listAuthentications/index.d.ts.map +0 -1
  180. package/dist/plugins/listAuthentications/index.js +0 -77
  181. package/dist/plugins/listAuthentications/index.test.d.ts +0 -2
  182. package/dist/plugins/listAuthentications/index.test.d.ts.map +0 -1
  183. package/dist/plugins/listAuthentications/index.test.js +0 -832
  184. package/dist/plugins/listAuthentications/schemas.d.ts +0 -30
  185. package/dist/plugins/listAuthentications/schemas.d.ts.map +0 -1
  186. package/dist/plugins/listAuthentications/schemas.js +0 -32
  187. package/dist/plugins/listInputFieldChoices/index.d.ts +0 -33
  188. package/dist/plugins/listInputFieldChoices/index.d.ts.map +0 -1
  189. package/dist/plugins/listInputFieldChoices/index.js +0 -115
  190. package/dist/plugins/listInputFieldChoices/index.test.d.ts +0 -2
  191. package/dist/plugins/listInputFieldChoices/index.test.d.ts.map +0 -1
  192. package/dist/plugins/listInputFieldChoices/index.test.js +0 -717
  193. package/dist/plugins/listInputFieldChoices/schemas.d.ts +0 -43
  194. package/dist/plugins/listInputFieldChoices/schemas.d.ts.map +0 -1
  195. package/dist/plugins/listInputFieldChoices/schemas.js +0 -65
  196. package/dist/plugins/listInputFields/index.d.ts +0 -34
  197. package/dist/plugins/listInputFields/index.d.ts.map +0 -1
  198. package/dist/plugins/listInputFields/index.js +0 -204
  199. package/dist/plugins/listInputFields/index.test.d.ts +0 -2
  200. package/dist/plugins/listInputFields/index.test.d.ts.map +0 -1
  201. package/dist/plugins/listInputFields/index.test.js +0 -359
  202. package/dist/plugins/listInputFields/schemas.d.ts +0 -35
  203. package/dist/plugins/listInputFields/schemas.d.ts.map +0 -1
  204. package/dist/plugins/listInputFields/schemas.js +0 -23
  205. package/dist/plugins/manifest/index.d.ts +0 -85
  206. package/dist/plugins/manifest/index.d.ts.map +0 -1
  207. package/dist/plugins/manifest/index.js +0 -376
  208. package/dist/plugins/manifest/index.test.d.ts +0 -2
  209. package/dist/plugins/manifest/index.test.d.ts.map +0 -1
  210. package/dist/plugins/manifest/index.test.js +0 -1139
  211. package/dist/plugins/manifest/schemas.d.ts +0 -57
  212. package/dist/plugins/manifest/schemas.d.ts.map +0 -1
  213. package/dist/plugins/manifest/schemas.js +0 -50
  214. package/dist/plugins/registry/index.d.ts +0 -21
  215. package/dist/plugins/registry/index.d.ts.map +0 -1
  216. package/dist/plugins/registry/index.js +0 -117
  217. package/dist/plugins/request/index.d.ts +0 -21
  218. package/dist/plugins/request/index.d.ts.map +0 -1
  219. package/dist/plugins/request/index.js +0 -76
  220. package/dist/plugins/request/index.test.d.ts +0 -2
  221. package/dist/plugins/request/index.test.d.ts.map +0 -1
  222. package/dist/plugins/request/index.test.js +0 -337
  223. package/dist/plugins/request/schemas.d.ts +0 -54
  224. package/dist/plugins/request/schemas.d.ts.map +0 -1
  225. package/dist/plugins/request/schemas.js +0 -41
  226. package/dist/plugins/runAction/index.d.ts +0 -33
  227. package/dist/plugins/runAction/index.d.ts.map +0 -1
  228. package/dist/plugins/runAction/index.js +0 -108
  229. package/dist/plugins/runAction/index.test.d.ts +0 -2
  230. package/dist/plugins/runAction/index.test.d.ts.map +0 -1
  231. package/dist/plugins/runAction/index.test.js +0 -333
  232. package/dist/plugins/runAction/schemas.d.ts +0 -34
  233. package/dist/plugins/runAction/schemas.d.ts.map +0 -1
  234. package/dist/plugins/runAction/schemas.js +0 -23
  235. package/dist/resolvers/actionKey.d.ts +0 -15
  236. package/dist/resolvers/actionKey.d.ts.map +0 -1
  237. package/dist/resolvers/actionKey.js +0 -19
  238. package/dist/resolvers/actionType.d.ts +0 -10
  239. package/dist/resolvers/actionType.d.ts.map +0 -1
  240. package/dist/resolvers/actionType.js +0 -21
  241. package/dist/resolvers/appKey.d.ts +0 -3
  242. package/dist/resolvers/appKey.d.ts.map +0 -1
  243. package/dist/resolvers/appKey.js +0 -5
  244. package/dist/resolvers/authenticationId.d.ts +0 -9
  245. package/dist/resolvers/authenticationId.d.ts.map +0 -1
  246. package/dist/resolvers/authenticationId.js +0 -42
  247. package/dist/resolvers/index.d.ts +0 -8
  248. package/dist/resolvers/index.d.ts.map +0 -1
  249. package/dist/resolvers/index.js +0 -8
  250. package/dist/resolvers/inputFieldKey.d.ts +0 -11
  251. package/dist/resolvers/inputFieldKey.d.ts.map +0 -1
  252. package/dist/resolvers/inputFieldKey.js +0 -47
  253. package/dist/resolvers/inputs.d.ts +0 -17
  254. package/dist/resolvers/inputs.d.ts.map +0 -1
  255. package/dist/resolvers/inputs.js +0 -50
  256. package/dist/schemas/Action.d.ts +0 -24
  257. package/dist/schemas/Action.d.ts.map +0 -1
  258. package/dist/schemas/Action.js +0 -40
  259. package/dist/schemas/App.d.ts +0 -57
  260. package/dist/schemas/App.d.ts.map +0 -1
  261. package/dist/schemas/App.js +0 -31
  262. package/dist/schemas/Auth.d.ts +0 -55
  263. package/dist/schemas/Auth.d.ts.map +0 -1
  264. package/dist/schemas/Auth.js +0 -33
  265. package/dist/schemas/Field.d.ts +0 -61
  266. package/dist/schemas/Field.d.ts.map +0 -1
  267. package/dist/schemas/Field.js +0 -116
  268. package/dist/schemas/Run.d.ts +0 -3
  269. package/dist/schemas/Run.d.ts.map +0 -1
  270. package/dist/schemas/Run.js +0 -31
  271. package/dist/schemas/UserProfile.d.ts +0 -13
  272. package/dist/schemas/UserProfile.d.ts.map +0 -1
  273. package/dist/schemas/UserProfile.js +0 -32
  274. package/dist/sdk.d.ts +0 -146
  275. package/dist/sdk.d.ts.map +0 -1
  276. package/dist/sdk.js +0 -112
  277. package/dist/sdk.test.d.ts +0 -2
  278. package/dist/sdk.test.d.ts.map +0 -1
  279. package/dist/sdk.test.js +0 -255
  280. package/dist/services/implementations.d.ts +0 -63
  281. package/dist/services/implementations.d.ts.map +0 -1
  282. package/dist/services/implementations.js +0 -80
  283. package/dist/temporary-internal-core/handlers/listApps.d.ts +0 -67
  284. package/dist/temporary-internal-core/handlers/listApps.d.ts.map +0 -1
  285. package/dist/temporary-internal-core/handlers/listApps.js +0 -134
  286. package/dist/temporary-internal-core/handlers/listApps.test.d.ts +0 -2
  287. package/dist/temporary-internal-core/handlers/listApps.test.d.ts.map +0 -1
  288. package/dist/temporary-internal-core/handlers/listApps.test.js +0 -367
  289. package/dist/temporary-internal-core/index.d.ts +0 -18
  290. package/dist/temporary-internal-core/index.d.ts.map +0 -1
  291. package/dist/temporary-internal-core/index.js +0 -18
  292. package/dist/temporary-internal-core/schemas/apps/index.d.ts +0 -175
  293. package/dist/temporary-internal-core/schemas/apps/index.d.ts.map +0 -1
  294. package/dist/temporary-internal-core/schemas/apps/index.js +0 -97
  295. package/dist/temporary-internal-core/schemas/errors/index.d.ts +0 -139
  296. package/dist/temporary-internal-core/schemas/errors/index.d.ts.map +0 -1
  297. package/dist/temporary-internal-core/schemas/errors/index.js +0 -129
  298. package/dist/temporary-internal-core/schemas/implementations/index.d.ts +0 -127
  299. package/dist/temporary-internal-core/schemas/implementations/index.d.ts.map +0 -1
  300. package/dist/temporary-internal-core/schemas/implementations/index.js +0 -79
  301. package/dist/temporary-internal-core/types/handler.d.ts +0 -51
  302. package/dist/temporary-internal-core/types/handler.d.ts.map +0 -1
  303. package/dist/temporary-internal-core/types/handler.js +0 -8
  304. package/dist/temporary-internal-core/types/index.d.ts +0 -5
  305. package/dist/temporary-internal-core/types/index.d.ts.map +0 -1
  306. package/dist/temporary-internal-core/types/index.js +0 -4
  307. package/dist/temporary-internal-core/utils/app-locators.d.ts +0 -34
  308. package/dist/temporary-internal-core/utils/app-locators.d.ts.map +0 -1
  309. package/dist/temporary-internal-core/utils/app-locators.js +0 -39
  310. package/dist/temporary-internal-core/utils/string-utils.d.ts +0 -28
  311. package/dist/temporary-internal-core/utils/string-utils.d.ts.map +0 -1
  312. package/dist/temporary-internal-core/utils/string-utils.js +0 -52
  313. package/dist/temporary-internal-core/utils/transformations.d.ts +0 -18
  314. package/dist/temporary-internal-core/utils/transformations.d.ts.map +0 -1
  315. package/dist/temporary-internal-core/utils/transformations.js +0 -36
  316. package/dist/types/domain.d.ts +0 -52
  317. package/dist/types/domain.d.ts.map +0 -1
  318. package/dist/types/domain.js +0 -1
  319. package/dist/types/domain.test.d.ts +0 -2
  320. package/dist/types/domain.test.d.ts.map +0 -1
  321. package/dist/types/domain.test.js +0 -39
  322. package/dist/types/errors.d.ts +0 -143
  323. package/dist/types/errors.d.ts.map +0 -1
  324. package/dist/types/errors.js +0 -187
  325. package/dist/types/events.d.ts +0 -38
  326. package/dist/types/events.d.ts.map +0 -1
  327. package/dist/types/events.js +0 -7
  328. package/dist/types/functions.d.ts +0 -27
  329. package/dist/types/functions.d.ts.map +0 -1
  330. package/dist/types/functions.js +0 -1
  331. package/dist/types/plugin.d.ts +0 -75
  332. package/dist/types/plugin.d.ts.map +0 -1
  333. package/dist/types/plugin.js +0 -9
  334. package/dist/types/properties.d.ts +0 -33
  335. package/dist/types/properties.d.ts.map +0 -1
  336. package/dist/types/properties.js +0 -52
  337. package/dist/types/sdk.d.ts +0 -69
  338. package/dist/types/sdk.d.ts.map +0 -1
  339. package/dist/types/sdk.js +0 -4
  340. package/dist/types/telemetry-events.d.ts +0 -105
  341. package/dist/types/telemetry-events.d.ts.map +0 -1
  342. package/dist/types/telemetry-events.js +0 -8
  343. package/dist/utils/array-utils.d.ts +0 -31
  344. package/dist/utils/array-utils.d.ts.map +0 -1
  345. package/dist/utils/array-utils.js +0 -36
  346. package/dist/utils/array-utils.test.d.ts +0 -2
  347. package/dist/utils/array-utils.test.d.ts.map +0 -1
  348. package/dist/utils/array-utils.test.js +0 -107
  349. package/dist/utils/batch-utils.d.ts +0 -72
  350. package/dist/utils/batch-utils.d.ts.map +0 -1
  351. package/dist/utils/batch-utils.js +0 -162
  352. package/dist/utils/batch-utils.test.d.ts +0 -2
  353. package/dist/utils/batch-utils.test.d.ts.map +0 -1
  354. package/dist/utils/batch-utils.test.js +0 -476
  355. package/dist/utils/domain-utils.d.ts +0 -66
  356. package/dist/utils/domain-utils.d.ts.map +0 -1
  357. package/dist/utils/domain-utils.js +0 -164
  358. package/dist/utils/domain-utils.test.d.ts +0 -2
  359. package/dist/utils/domain-utils.test.d.ts.map +0 -1
  360. package/dist/utils/domain-utils.test.js +0 -346
  361. package/dist/utils/file-utils.d.ts +0 -4
  362. package/dist/utils/file-utils.d.ts.map +0 -1
  363. package/dist/utils/file-utils.js +0 -74
  364. package/dist/utils/file-utils.test.d.ts +0 -2
  365. package/dist/utils/file-utils.test.d.ts.map +0 -1
  366. package/dist/utils/file-utils.test.js +0 -51
  367. package/dist/utils/function-utils.d.ts +0 -73
  368. package/dist/utils/function-utils.d.ts.map +0 -1
  369. package/dist/utils/function-utils.js +0 -245
  370. package/dist/utils/function-utils.test.d.ts +0 -2
  371. package/dist/utils/function-utils.test.d.ts.map +0 -1
  372. package/dist/utils/function-utils.test.js +0 -110
  373. package/dist/utils/id-utils.d.ts +0 -13
  374. package/dist/utils/id-utils.d.ts.map +0 -1
  375. package/dist/utils/id-utils.js +0 -22
  376. package/dist/utils/id-utils.test.d.ts +0 -2
  377. package/dist/utils/id-utils.test.d.ts.map +0 -1
  378. package/dist/utils/id-utils.test.js +0 -22
  379. package/dist/utils/pagination-utils.d.ts +0 -37
  380. package/dist/utils/pagination-utils.d.ts.map +0 -1
  381. package/dist/utils/pagination-utils.js +0 -165
  382. package/dist/utils/pagination-utils.test.d.ts +0 -17
  383. package/dist/utils/pagination-utils.test.d.ts.map +0 -1
  384. package/dist/utils/pagination-utils.test.js +0 -461
  385. package/dist/utils/retry-utils.d.ts +0 -45
  386. package/dist/utils/retry-utils.d.ts.map +0 -1
  387. package/dist/utils/retry-utils.js +0 -51
  388. package/dist/utils/retry-utils.test.d.ts +0 -2
  389. package/dist/utils/retry-utils.test.d.ts.map +0 -1
  390. package/dist/utils/retry-utils.test.js +0 -90
  391. package/dist/utils/schema-utils.d.ts +0 -69
  392. package/dist/utils/schema-utils.d.ts.map +0 -1
  393. package/dist/utils/schema-utils.js +0 -72
  394. package/dist/utils/string-utils.d.ts +0 -40
  395. package/dist/utils/string-utils.d.ts.map +0 -1
  396. package/dist/utils/string-utils.js +0 -69
  397. package/dist/utils/string-utils.test.d.ts +0 -2
  398. package/dist/utils/string-utils.test.d.ts.map +0 -1
  399. package/dist/utils/string-utils.test.js +0 -59
  400. package/dist/utils/telemetry-utils.d.ts +0 -44
  401. package/dist/utils/telemetry-utils.d.ts.map +0 -1
  402. package/dist/utils/telemetry-utils.js +0 -55
  403. package/dist/utils/telemetry-utils.test.d.ts +0 -2
  404. package/dist/utils/telemetry-utils.test.d.ts.map +0 -1
  405. package/dist/utils/telemetry-utils.test.js +0 -94
  406. package/dist/utils/url-utils.d.ts +0 -19
  407. package/dist/utils/url-utils.d.ts.map +0 -1
  408. package/dist/utils/url-utils.js +0 -62
  409. package/dist/utils/url-utils.test.d.ts +0 -2
  410. package/dist/utils/url-utils.test.d.ts.map +0 -1
  411. package/dist/utils/url-utils.test.js +0 -103
  412. package/dist/utils/validation.d.ts +0 -4
  413. package/dist/utils/validation.d.ts.map +0 -1
  414. package/dist/utils/validation.js +0 -30
  415. package/dist/utils/validation.test.d.ts +0 -2
  416. package/dist/utils/validation.test.d.ts.map +0 -1
  417. package/dist/utils/validation.test.js +0 -44
@@ -1,73 +0,0 @@
1
- /**
2
- * Generic utility functions for creating paginated SDK functions
3
- */
4
- import { z } from "zod";
5
- /**
6
- * Zod schema for telemetry marker to prevent nested telemetry emissions.
7
- * Used to extend options schemas with proper typing.
8
- */
9
- export declare const TelemetryMarkerSchema: z.ZodObject<{
10
- _telemetry: z.ZodOptional<z.ZodObject<{
11
- isNested: z.ZodOptional<z.ZodBoolean>;
12
- }, z.core.$strip>>;
13
- }, z.core.$strip>;
14
- /**
15
- * Marker for SDK method calls to control telemetry behavior
16
- */
17
- export type TelemetryMarker = z.infer<typeof TelemetryMarkerSchema>;
18
- /**
19
- * Callbacks for telemetry events during function execution
20
- */
21
- export interface TelemetryCallbacks {
22
- onMethodCalled?: (data: {
23
- methodName: string;
24
- durationMs: number;
25
- success: boolean;
26
- error?: Error;
27
- argumentCount: number;
28
- isPaginated: boolean;
29
- }) => void;
30
- }
31
- /**
32
- * Helper function to extract cursor from pagination data
33
- * Supports JSON:API style `links.next` URLs by extracting the `offset` parameter.
34
- */
35
- export declare function extractCursor(data: {
36
- next?: string | null;
37
- } | null | undefined): string | undefined;
38
- /**
39
- * Higher-order function that creates a function from a core function
40
- *
41
- * @param coreFn - Function that returns T directly or throws errors
42
- * @param schema - Optional Zod schema for validation
43
- * @param telemetry - Optional telemetry callbacks
44
- * @returns A function that normalizes and rethrows errors
45
- */
46
- export declare function createFunction<TOptions, TResult, TSchemaOptions extends TOptions = TOptions>(coreFn: (options: TOptions) => Promise<TResult>, schema?: z.ZodSchema<TSchemaOptions>, telemetry?: TelemetryCallbacks): (options?: TOptions) => Promise<TResult>;
47
- /**
48
- * Higher-order function that creates a paginated function that wraps results in {data}
49
- *
50
- * @param coreFn - Function that returns T directly or throws errors
51
- * @returns A function that normalizes errors and wraps results in {data}
52
- */
53
- type PaginatedResult<TResult> = TResult extends {
54
- data: any;
55
- nextCursor?: string;
56
- } ? TResult : {
57
- data: TResult;
58
- nextCursor?: string;
59
- };
60
- type ItemType<TResult> = TResult extends {
61
- data: infer TData;
62
- } ? TData extends readonly (infer TItem)[] ? TItem : TData : TResult extends readonly (infer TItem)[] ? TItem : TResult;
63
- export declare function createPaginatedFunction<TOptions, TResult, TSchemaOptions extends TOptions = TOptions>(coreFn: (options: TOptions & {
64
- pageSize: number;
65
- }) => Promise<TResult>, schema?: z.ZodSchema<TSchemaOptions>, telemetry?: TelemetryCallbacks, explicitFunctionName?: string): (options?: TOptions & {
66
- cursor?: string;
67
- pageSize?: number;
68
- maxItems?: number;
69
- }) => Promise<PaginatedResult<TResult>> & AsyncIterable<PaginatedResult<TResult>> & {
70
- items(): AsyncIterable<ItemType<TResult>>;
71
- };
72
- export {};
73
- //# sourceMappingURL=function-utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"function-utils.d.ts","sourceRoot":"","sources":["../../src/utils/function-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB;;;GAGG;AACH,eAAO,MAAM,qBAAqB;;;;iBAMhC,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE;QACtB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,OAAO,CAAC;QACjB,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,OAAO,CAAC;KACtB,KAAK,IAAI,CAAC;CACZ;AAUD;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,IAAI,GAAG,SAAS,GAChD,MAAM,GAAG,SAAS,CAYpB;AAcD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EACR,OAAO,EACP,cAAc,SAAS,QAAQ,GAAG,QAAQ,EAE1C,MAAM,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,OAAO,CAAC,OAAO,CAAC,EAC/C,MAAM,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,EACpC,SAAS,CAAC,EAAE,kBAAkB,cAMc,QAAQ,KAAG,OAAO,CAAC,OAAO,CAAC,CAsExE;AA6DD;;;;;GAKG;AACH,KAAK,eAAe,CAAC,OAAO,IAAI,OAAO,SAAS;IAC9C,IAAI,EAAE,GAAG,CAAC;IACV,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GACG,OAAO,GACP;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3C,KAAK,QAAQ,CAAC,OAAO,IAAI,OAAO,SAAS;IAAE,IAAI,EAAE,MAAM,KAAK,CAAA;CAAE,GAC1D,KAAK,SAAS,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,GACpC,KAAK,GACL,KAAK,GACP,OAAO,SAAS,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,GACtC,KAAK,GACL,OAAO,CAAC;AAEd,wBAAgB,uBAAuB,CACrC,QAAQ,EACR,OAAO,EACP,cAAc,SAAS,QAAQ,GAAG,QAAQ,EAE1C,MAAM,EAAE,CAAC,OAAO,EAAE,QAAQ,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,KAAK,OAAO,CAAC,OAAO,CAAC,EACtE,MAAM,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,EACpC,SAAS,CAAC,EAAE,kBAAkB,EAC9B,oBAAoB,CAAC,EAAE,MAAM,GAC5B,CACD,OAAO,CAAC,EAAE,QAAQ,GAAG;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,KACE,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,GACpC,aAAa,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,GAAG;IACxC,KAAK,IAAI,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;CAC3C,CAgHF"}
@@ -1,245 +0,0 @@
1
- /**
2
- * Generic utility functions for creating paginated SDK functions
3
- */
4
- import { z } from "zod";
5
- import { ZapierError, ZapierUnknownError } from "../types/errors";
6
- import { paginate } from "./pagination-utils";
7
- import { createValidator, validateOptions } from "./validation";
8
- /**
9
- * Zod schema for telemetry marker to prevent nested telemetry emissions.
10
- * Used to extend options schemas with proper typing.
11
- */
12
- export const TelemetryMarkerSchema = z.object({
13
- _telemetry: z
14
- .object({
15
- isNested: z.boolean().optional(),
16
- })
17
- .optional(),
18
- });
19
- /**
20
- * Helper function to extract cursor from pagination data
21
- * Supports JSON:API style `links.next` URLs by extracting the `offset` parameter.
22
- */
23
- export function extractCursor(data) {
24
- if (!data?.next) {
25
- return undefined;
26
- }
27
- try {
28
- const urlObj = new URL(data.next);
29
- const offset = urlObj.searchParams.get("offset");
30
- return offset || undefined;
31
- }
32
- catch {
33
- return undefined;
34
- }
35
- }
36
- /**
37
- * Helper function to convert unknown errors to SDK errors
38
- */
39
- function normalizeError(error) {
40
- if (error instanceof ZapierError) {
41
- return error;
42
- }
43
- const message = error instanceof Error ? error.message : String(error);
44
- return new ZapierUnknownError(`Unknown error: ${message}`, { cause: error });
45
- }
46
- /**
47
- * Higher-order function that creates a function from a core function
48
- *
49
- * @param coreFn - Function that returns T directly or throws errors
50
- * @param schema - Optional Zod schema for validation
51
- * @param telemetry - Optional telemetry callbacks
52
- * @returns A function that normalizes and rethrows errors
53
- */
54
- export function createFunction(coreFn, schema, telemetry) {
55
- const functionName = coreFn.name;
56
- // Create a named function using dynamic property access
57
- const namedFunctions = {
58
- [functionName]: async function (options) {
59
- const startTime = Date.now();
60
- const normalizedOptions = (options ?? {});
61
- const isNested = normalizedOptions?._telemetry?.isNested === true;
62
- try {
63
- if (schema) {
64
- const validatedOptions = validateOptions(schema, normalizedOptions);
65
- const result = await coreFn({
66
- ...normalizedOptions,
67
- ...validatedOptions,
68
- });
69
- // Emit telemetry only for top-level calls
70
- if (!isNested && telemetry?.onMethodCalled) {
71
- const argumentCount = Object.keys(normalizedOptions).filter((k) => k !== "_telemetry").length;
72
- telemetry.onMethodCalled({
73
- methodName: functionName,
74
- durationMs: Date.now() - startTime,
75
- success: true,
76
- argumentCount,
77
- isPaginated: false,
78
- });
79
- }
80
- return result;
81
- }
82
- const result = await coreFn(normalizedOptions);
83
- if (!isNested && telemetry?.onMethodCalled) {
84
- const argumentCount = Object.keys(normalizedOptions).filter((k) => k !== "_telemetry").length;
85
- telemetry.onMethodCalled({
86
- methodName: functionName,
87
- durationMs: Date.now() - startTime,
88
- success: true,
89
- argumentCount,
90
- isPaginated: false,
91
- });
92
- }
93
- return result;
94
- }
95
- catch (error) {
96
- const normalizedError = normalizeError(error);
97
- if (!isNested && telemetry?.onMethodCalled) {
98
- const argumentCount = Object.keys(normalizedOptions).filter((k) => k !== "_telemetry").length;
99
- telemetry.onMethodCalled({
100
- methodName: functionName,
101
- durationMs: Date.now() - startTime,
102
- success: false,
103
- error: normalizedError,
104
- argumentCount,
105
- isPaginated: false,
106
- });
107
- }
108
- throw normalizedError;
109
- }
110
- },
111
- };
112
- return namedFunctions[functionName];
113
- }
114
- /**
115
- * Higher-order function that creates a page function that wraps results in {data}
116
- * Internal utility used by createPaginatedFunction
117
- */
118
- function createPageFunction(coreFn) {
119
- const functionName = coreFn.name + "Page";
120
- // Create a named function using dynamic property access
121
- const namedFunctions = {
122
- [functionName]: async function (options) {
123
- try {
124
- const result = await coreFn(options);
125
- // If result already has a data property, ensure it's an array
126
- if (result && typeof result === "object" && "data" in result) {
127
- const paginatedResult = result;
128
- // Support both nextCursor and JSON:API links.next format
129
- let nextCursor;
130
- if (paginatedResult.nextCursor) {
131
- nextCursor = paginatedResult.nextCursor;
132
- }
133
- else if (paginatedResult.links?.next) {
134
- // Extract cursor from fully qualified URL (JSON:API spec format)
135
- nextCursor = extractCursor({ next: paginatedResult.links.next });
136
- }
137
- return {
138
- data: Array.isArray(paginatedResult.data)
139
- ? paginatedResult.data
140
- : [paginatedResult.data],
141
- nextCursor,
142
- };
143
- }
144
- // If result is an array, wrap in {data: result}
145
- if (Array.isArray(result)) {
146
- return { data: result };
147
- }
148
- // If result is non-array, wrap in {data: [result]}
149
- return { data: [result] };
150
- }
151
- catch (error) {
152
- // Catch and normalize any errors, then rethrow
153
- throw normalizeError(error);
154
- }
155
- },
156
- };
157
- return namedFunctions[functionName];
158
- }
159
- export function createPaginatedFunction(coreFn, schema, telemetry, explicitFunctionName) {
160
- const pageFunction = createPageFunction(coreFn);
161
- const functionName = explicitFunctionName || coreFn.name;
162
- const validator = schema ? createValidator(schema) : null;
163
- // Create the main paginated function
164
- const namedFunctions = {
165
- [functionName]: function (options) {
166
- const startTime = Date.now();
167
- // Convert undefined options to empty object
168
- const normalizedOptions = (options ?? {});
169
- const isNested = normalizedOptions?._telemetry?.isNested === true;
170
- // Validate options if schema provided (validated fields take precedence)
171
- const validatedOptions = {
172
- ...normalizedOptions,
173
- ...(validator ? validator(normalizedOptions) : normalizedOptions),
174
- };
175
- // Set default pageSize if not provided
176
- const pageSize = validatedOptions.pageSize || 100;
177
- const optimizedOptions = {
178
- ...validatedOptions,
179
- pageSize,
180
- };
181
- const iterator = paginate(pageFunction, optimizedOptions);
182
- // Get a promise for the first iteration
183
- const firstPagePromise = iterator.next().then((result) => {
184
- if (result.done) {
185
- throw new Error("Paginate should always iterate at least once");
186
- }
187
- return result.value;
188
- });
189
- // Emit telemetry after first page completes
190
- if (!isNested && telemetry?.onMethodCalled) {
191
- firstPagePromise
192
- .then(() => {
193
- const argumentCount = Object.keys(normalizedOptions).filter((k) => k !== "_telemetry").length;
194
- telemetry.onMethodCalled({
195
- methodName: functionName,
196
- durationMs: Date.now() - startTime,
197
- success: true,
198
- argumentCount,
199
- isPaginated: true,
200
- });
201
- })
202
- .catch((error) => {
203
- const argumentCount = Object.keys(normalizedOptions).filter((k) => k !== "_telemetry").length;
204
- telemetry.onMethodCalled({
205
- methodName: functionName,
206
- durationMs: Date.now() - startTime,
207
- success: false,
208
- error: error instanceof Error ? error : new Error(String(error)),
209
- argumentCount,
210
- isPaginated: true,
211
- });
212
- });
213
- }
214
- // Add Symbol.asyncIterator to make the promise iterable
215
- return Object.assign(firstPagePromise, {
216
- [Symbol.asyncIterator]: async function* () {
217
- // Yield the first page (await the promise)
218
- yield await firstPagePromise;
219
- // Yield the rest of the pages
220
- for await (const page of iterator) {
221
- yield page;
222
- }
223
- },
224
- items: function () {
225
- return {
226
- [Symbol.asyncIterator]: async function* () {
227
- // Yield the first page items
228
- const firstPage = await firstPagePromise;
229
- for (const item of firstPage.data) {
230
- yield item;
231
- }
232
- // Yield items from the rest of the pages
233
- for await (const page of iterator) {
234
- for (const item of page.data) {
235
- yield item;
236
- }
237
- }
238
- },
239
- };
240
- },
241
- });
242
- },
243
- };
244
- return namedFunctions[functionName];
245
- }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=function-utils.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"function-utils.test.d.ts","sourceRoot":"","sources":["../../src/utils/function-utils.test.ts"],"names":[],"mappings":""}
@@ -1,110 +0,0 @@
1
- import { describe, it, expect } from "vitest";
2
- import { createFunction, createPaginatedFunction } from "./function-utils";
3
- import { ZapierValidationError, ZapierUnknownError } from "../types/errors";
4
- import { ALL_ITEMS, listTestItems } from "./pagination-utils.test";
5
- describe("createFunction", () => {
6
- it("should return result from core function", async () => {
7
- const mockCoreFn = async (options) => {
8
- return `Hello, ${options.name}!`;
9
- };
10
- const wrappedFn = createFunction(mockCoreFn);
11
- const result = await wrappedFn({ name: "World" });
12
- expect(result).toBe("Hello, World!");
13
- });
14
- });
15
- describe.each([
16
- { name: "createFunction", createFn: createFunction },
17
- { name: "createPaginatedFunction", createFn: createPaginatedFunction },
18
- ])("$name", ({ createFn }) => {
19
- it("should preserve function name", async () => {
20
- async function testCoreFn(options) {
21
- return options.value * 2;
22
- }
23
- const wrappedFn = createFn(testCoreFn);
24
- expect(wrappedFn.name).toBe("testCoreFn");
25
- });
26
- it("should normalize and rethrow ZapierError instances", async () => {
27
- const mockError = new ZapierValidationError("Validation failed", {
28
- details: { field: "name" },
29
- });
30
- const mockCoreFn = async () => {
31
- throw mockError;
32
- };
33
- const wrappedFn = createFn(mockCoreFn);
34
- await expect(wrappedFn({})).rejects.toBe(mockError);
35
- });
36
- it("should normalize generic Error to ZapierUnknownError", async () => {
37
- const mockCoreFn = async () => {
38
- throw new Error("Something went wrong");
39
- };
40
- const wrappedFn = createFn(mockCoreFn);
41
- await expect(wrappedFn({})).rejects.toThrow(ZapierUnknownError);
42
- });
43
- it("should normalize non-Error values to ZapierUnknownError", async () => {
44
- const mockCoreFn = async () => {
45
- throw "String error";
46
- };
47
- const wrappedFn = createFn(mockCoreFn);
48
- await expect(wrappedFn({})).rejects.toThrow(ZapierUnknownError);
49
- });
50
- });
51
- describe("createPaginatedFunction", () => {
52
- it("should wrap non-array result in {data: [result]}", async () => {
53
- const mockCoreFn = async (options) => {
54
- return `Hello, ${options.name}!`;
55
- };
56
- const wrappedFn = createPaginatedFunction(mockCoreFn);
57
- const result = await wrappedFn({ name: "World" });
58
- expect(result).toEqual({ data: ["Hello, World!"] });
59
- });
60
- it("should wrap array result in {data: result}", async () => {
61
- const mockCoreFn = async (options) => {
62
- return Array.from({ length: options.count }, (_, i) => `Item ${i + 1}`);
63
- };
64
- const wrappedFn = createPaginatedFunction(mockCoreFn);
65
- const result = await wrappedFn({ count: 3 });
66
- expect(result).toEqual({ data: ["Item 1", "Item 2", "Item 3"] });
67
- });
68
- it("should return {data} object unchanged", async () => {
69
- const mockCoreFn = async (options) => {
70
- return { data: options.items };
71
- };
72
- const wrappedFn = createPaginatedFunction(mockCoreFn);
73
- const result = await wrappedFn({ items: ["A", "B", "C"] });
74
- expect(result).toEqual({ data: ["A", "B", "C"] });
75
- });
76
- it("should allow for await iteration over pages", async () => {
77
- const listItems = createPaginatedFunction(listTestItems);
78
- const pages = [];
79
- for await (const page of listItems({ pageSize: 3 })) {
80
- pages.push(page);
81
- if (pages.length >= 3)
82
- break;
83
- }
84
- // Should have collected 3 pages
85
- expect(pages).toHaveLength(3);
86
- // Check first page structure
87
- expect(pages[0]).toEqual({
88
- data: ALL_ITEMS.slice(0, 3),
89
- nextCursor: "cursor-3",
90
- });
91
- // Check second page
92
- expect(pages[1]).toEqual({
93
- data: ALL_ITEMS.slice(3, 6),
94
- nextCursor: "cursor-6",
95
- });
96
- });
97
- it("should allow for await iteration over individual items", async () => {
98
- const listItems = createPaginatedFunction(listTestItems);
99
- const items = [];
100
- for await (const item of listItems({ pageSize: 3 }).items()) {
101
- items.push(item);
102
- if (items.length >= 7)
103
- break; // Get first 7 items across pages
104
- }
105
- // Should have collected 7 individual items
106
- expect(items).toHaveLength(7);
107
- // Should be the first 7 items from ALL_ITEMS (flattened from pages)
108
- expect(items).toEqual(ALL_ITEMS.slice(0, 7));
109
- });
110
- });
@@ -1,13 +0,0 @@
1
- /**
2
- * Utility functions for working with IDs
3
- */
4
- /**
5
- * Coerces a string or number ID to a number for API calls that require numeric IDs.
6
- *
7
- * @param fieldName - The name of the field (for error messages)
8
- * @param value - The ID value to coerce
9
- * @returns The numeric ID
10
- * @throws {ZapierValidationError} If the value cannot be converted to a valid number
11
- */
12
- export declare function coerceToNumericId(fieldName: string, value: string | number): number;
13
- //# sourceMappingURL=id-utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"id-utils.d.ts","sourceRoot":"","sources":["../../src/utils/id-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,GAAG,MAAM,GACrB,MAAM,CAcR"}
@@ -1,22 +0,0 @@
1
- /**
2
- * Utility functions for working with IDs
3
- */
4
- import { ZapierValidationError } from "../types/errors";
5
- /**
6
- * Coerces a string or number ID to a number for API calls that require numeric IDs.
7
- *
8
- * @param fieldName - The name of the field (for error messages)
9
- * @param value - The ID value to coerce
10
- * @returns The numeric ID
11
- * @throws {ZapierValidationError} If the value cannot be converted to a valid number
12
- */
13
- export function coerceToNumericId(fieldName, value) {
14
- if (value === "") {
15
- throw new ZapierValidationError(`The ${fieldName} cannot be empty`);
16
- }
17
- const numericValue = typeof value === "number" ? value : Number(value);
18
- if (!Number.isFinite(numericValue)) {
19
- throw new ZapierValidationError(`The ${fieldName} "${value}" could not be converted to a number`);
20
- }
21
- return numericValue;
22
- }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=id-utils.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"id-utils.test.d.ts","sourceRoot":"","sources":["../../src/utils/id-utils.test.ts"],"names":[],"mappings":""}
@@ -1,22 +0,0 @@
1
- import { describe, it, expect } from "vitest";
2
- import { coerceToNumericId } from "./id-utils";
3
- import { ZapierValidationError } from "../types/errors";
4
- describe("coerceToNumericId", () => {
5
- it("should return number unchanged", () => {
6
- expect(coerceToNumericId("test_id", 123)).toBe(123);
7
- });
8
- it("should convert string number to number", () => {
9
- expect(coerceToNumericId("test_id", "456")).toBe(456);
10
- });
11
- it("should throw for non-numeric string", () => {
12
- expect(() => coerceToNumericId("auth_id", "abc")).toThrow(ZapierValidationError);
13
- expect(() => coerceToNumericId("auth_id", "abc")).toThrow('The auth_id "abc" could not be converted to a number');
14
- });
15
- it("should throw for empty string", () => {
16
- expect(() => coerceToNumericId("test_id", "")).toThrow(ZapierValidationError);
17
- expect(() => coerceToNumericId("test_id", "")).toThrow("The test_id cannot be empty");
18
- });
19
- it("should throw for Infinity", () => {
20
- expect(() => coerceToNumericId("test_id", Infinity)).toThrow(ZapierValidationError);
21
- });
22
- });
@@ -1,37 +0,0 @@
1
- type TPageOptions<TOptions> = TOptions extends undefined ? {
2
- cursor?: string;
3
- maxItems?: number;
4
- pageSize?: number;
5
- } : TOptions & {
6
- cursor?: string;
7
- maxItems?: number;
8
- pageSize?: number;
9
- };
10
- export declare function createPrefixedCursor(prefix: string, cursor: string | undefined): string;
11
- export declare function splitPrefixedCursor(cursor: string | undefined, prefixes?: string[]): [string | undefined, string | undefined];
12
- /**
13
- * Utility for paginating through API endpoints that return cursor-based pages
14
- *
15
- * @param pageFunction - Function that fetches a single page with {data, nextCursor} structure
16
- * @param pageOptions - Options to pass to the page function (cursor will be managed automatically)
17
- * @returns Async iterator that yields pages
18
- */
19
- export declare function paginateMaxItems<TOptions, TPage extends {
20
- data: any[];
21
- nextCursor?: string;
22
- }>(pageFunction: (options: TOptions & {
23
- cursor?: string;
24
- maxItems?: number;
25
- pageSize?: number;
26
- }) => Promise<TPage>, pageOptions?: TPageOptions<TOptions>): AsyncIterableIterator<TPage>;
27
- export declare function paginateBuffered<TOptions, TPage extends {
28
- data: any[];
29
- nextCursor?: string;
30
- }>(pageFunction: (options: TOptions & {
31
- cursor?: string;
32
- maxItems?: number;
33
- pageSize?: number;
34
- }) => Promise<TPage>, pageOptions?: TPageOptions<TOptions>): AsyncIterableIterator<TPage>;
35
- export declare const paginate: typeof paginateBuffered;
36
- export {};
37
- //# sourceMappingURL=pagination-utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pagination-utils.d.ts","sourceRoot":"","sources":["../../src/utils/pagination-utils.ts"],"names":[],"mappings":"AAEA,KAAK,YAAY,CAAC,QAAQ,IAAI,QAAQ,SAAS,SAAS,GACpD;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GACzD,QAAQ,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAoCzE,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GAAG,SAAS,GACzB,MAAM,CAKR;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,QAAQ,CAAC,EAAE,MAAM,EAAE,GAClB,CAAC,MAAM,GAAG,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC,CAkB1C;AAED;;;;;;GAMG;AACH,wBAAuB,gBAAgB,CACrC,QAAQ,EACR,KAAK,SAAS;IAAE,IAAI,EAAE,GAAG,EAAE,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,EAElD,YAAY,EAAE,CACZ,OAAO,EAAE,QAAQ,GAAG;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,KACE,OAAO,CAAC,KAAK,CAAC,EACnB,WAAW,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,GACnC,qBAAqB,CAAC,KAAK,CAAC,CAoC9B;AAED,wBAAuB,gBAAgB,CACrC,QAAQ,EACR,KAAK,SAAS;IAAE,IAAI,EAAE,GAAG,EAAE,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,EAElD,YAAY,EAAE,CACZ,OAAO,EAAE,QAAQ,GAAG;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,KACE,OAAO,CAAC,KAAK,CAAC,EACnB,WAAW,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,GACnC,qBAAqB,CAAC,KAAK,CAAC,CAiG9B;AAED,eAAO,MAAM,QAAQ,yBAAmB,CAAC"}