@seamapi/http 1.24.0 → 1.25.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 (182) hide show
  1. package/README.md +61 -0
  2. package/dist/connect.cjs +391 -171
  3. package/dist/connect.cjs.map +1 -1
  4. package/dist/connect.d.cts +74 -4
  5. package/dist/index.cjs +2 -2
  6. package/dist/index.cjs.map +1 -1
  7. package/lib/seam/connect/index.d.ts +2 -0
  8. package/lib/seam/connect/index.js +2 -0
  9. package/lib/seam/connect/index.js.map +1 -1
  10. package/lib/seam/connect/routes/access-codes-simulate.d.ts +2 -0
  11. package/lib/seam/connect/routes/access-codes-simulate.js +5 -1
  12. package/lib/seam/connect/routes/access-codes-simulate.js.map +1 -1
  13. package/lib/seam/connect/routes/access-codes-unmanaged.d.ts +2 -0
  14. package/lib/seam/connect/routes/access-codes-unmanaged.js +9 -5
  15. package/lib/seam/connect/routes/access-codes-unmanaged.js.map +1 -1
  16. package/lib/seam/connect/routes/access-codes.d.ts +2 -0
  17. package/lib/seam/connect/routes/access-codes.js +13 -9
  18. package/lib/seam/connect/routes/access-codes.js.map +1 -1
  19. package/lib/seam/connect/routes/acs-access-groups-unmanaged.d.ts +2 -0
  20. package/lib/seam/connect/routes/acs-access-groups-unmanaged.js +6 -2
  21. package/lib/seam/connect/routes/acs-access-groups-unmanaged.js.map +1 -1
  22. package/lib/seam/connect/routes/acs-access-groups.d.ts +2 -0
  23. package/lib/seam/connect/routes/acs-access-groups.js +10 -6
  24. package/lib/seam/connect/routes/acs-access-groups.js.map +1 -1
  25. package/lib/seam/connect/routes/acs-credential-pools.d.ts +2 -0
  26. package/lib/seam/connect/routes/acs-credential-pools.js +5 -1
  27. package/lib/seam/connect/routes/acs-credential-pools.js.map +1 -1
  28. package/lib/seam/connect/routes/acs-credential-provisioning-automations.d.ts +2 -0
  29. package/lib/seam/connect/routes/acs-credential-provisioning-automations.js +5 -1
  30. package/lib/seam/connect/routes/acs-credential-provisioning-automations.js.map +1 -1
  31. package/lib/seam/connect/routes/acs-credentials-unmanaged.d.ts +2 -0
  32. package/lib/seam/connect/routes/acs-credentials-unmanaged.js +6 -2
  33. package/lib/seam/connect/routes/acs-credentials-unmanaged.js.map +1 -1
  34. package/lib/seam/connect/routes/acs-credentials.d.ts +2 -0
  35. package/lib/seam/connect/routes/acs-credentials.js +13 -9
  36. package/lib/seam/connect/routes/acs-credentials.js.map +1 -1
  37. package/lib/seam/connect/routes/acs-encoders-simulate.d.ts +2 -0
  38. package/lib/seam/connect/routes/acs-encoders-simulate.js +8 -4
  39. package/lib/seam/connect/routes/acs-encoders-simulate.js.map +1 -1
  40. package/lib/seam/connect/routes/acs-encoders.d.ts +2 -0
  41. package/lib/seam/connect/routes/acs-encoders.js +7 -3
  42. package/lib/seam/connect/routes/acs-encoders.js.map +1 -1
  43. package/lib/seam/connect/routes/acs-entrances.d.ts +2 -0
  44. package/lib/seam/connect/routes/acs-entrances.js +8 -4
  45. package/lib/seam/connect/routes/acs-entrances.js.map +1 -1
  46. package/lib/seam/connect/routes/acs-systems.d.ts +2 -0
  47. package/lib/seam/connect/routes/acs-systems.js +7 -3
  48. package/lib/seam/connect/routes/acs-systems.js.map +1 -1
  49. package/lib/seam/connect/routes/acs-users-unmanaged.d.ts +2 -0
  50. package/lib/seam/connect/routes/acs-users-unmanaged.js +6 -2
  51. package/lib/seam/connect/routes/acs-users-unmanaged.js.map +1 -1
  52. package/lib/seam/connect/routes/acs-users.d.ts +2 -0
  53. package/lib/seam/connect/routes/acs-users.js +15 -11
  54. package/lib/seam/connect/routes/acs-users.js.map +1 -1
  55. package/lib/seam/connect/routes/acs.d.ts +3 -0
  56. package/lib/seam/connect/routes/acs.js +4 -0
  57. package/lib/seam/connect/routes/acs.js.map +1 -1
  58. package/lib/seam/connect/routes/action-attempts.d.ts +2 -0
  59. package/lib/seam/connect/routes/action-attempts.js +6 -2
  60. package/lib/seam/connect/routes/action-attempts.js.map +1 -1
  61. package/lib/seam/connect/routes/bridges.d.ts +2 -0
  62. package/lib/seam/connect/routes/bridges.js +6 -2
  63. package/lib/seam/connect/routes/bridges.js.map +1 -1
  64. package/lib/seam/connect/routes/client-sessions.d.ts +2 -0
  65. package/lib/seam/connect/routes/client-sessions.js +11 -7
  66. package/lib/seam/connect/routes/client-sessions.js.map +1 -1
  67. package/lib/seam/connect/routes/connect-webviews.d.ts +2 -0
  68. package/lib/seam/connect/routes/connect-webviews.js +8 -4
  69. package/lib/seam/connect/routes/connect-webviews.js.map +1 -1
  70. package/lib/seam/connect/routes/connected-accounts.d.ts +2 -0
  71. package/lib/seam/connect/routes/connected-accounts.js +8 -4
  72. package/lib/seam/connect/routes/connected-accounts.js.map +1 -1
  73. package/lib/seam/connect/routes/devices-simulate.d.ts +2 -0
  74. package/lib/seam/connect/routes/devices-simulate.js +7 -3
  75. package/lib/seam/connect/routes/devices-simulate.js.map +1 -1
  76. package/lib/seam/connect/routes/devices-unmanaged.d.ts +2 -0
  77. package/lib/seam/connect/routes/devices-unmanaged.js +7 -3
  78. package/lib/seam/connect/routes/devices-unmanaged.js.map +1 -1
  79. package/lib/seam/connect/routes/devices.d.ts +2 -0
  80. package/lib/seam/connect/routes/devices.js +9 -5
  81. package/lib/seam/connect/routes/devices.js.map +1 -1
  82. package/lib/seam/connect/routes/events.d.ts +2 -0
  83. package/lib/seam/connect/routes/events.js +6 -2
  84. package/lib/seam/connect/routes/events.js.map +1 -1
  85. package/lib/seam/connect/routes/locks.d.ts +2 -0
  86. package/lib/seam/connect/routes/locks.js +8 -4
  87. package/lib/seam/connect/routes/locks.js.map +1 -1
  88. package/lib/seam/connect/routes/networks.d.ts +2 -0
  89. package/lib/seam/connect/routes/networks.js +6 -2
  90. package/lib/seam/connect/routes/networks.js.map +1 -1
  91. package/lib/seam/connect/routes/noise-sensors-noise-thresholds.d.ts +2 -0
  92. package/lib/seam/connect/routes/noise-sensors-noise-thresholds.js +9 -5
  93. package/lib/seam/connect/routes/noise-sensors-noise-thresholds.js.map +1 -1
  94. package/lib/seam/connect/routes/noise-sensors-simulate.d.ts +2 -0
  95. package/lib/seam/connect/routes/noise-sensors-simulate.js +5 -1
  96. package/lib/seam/connect/routes/noise-sensors-simulate.js.map +1 -1
  97. package/lib/seam/connect/routes/noise-sensors.d.ts +2 -0
  98. package/lib/seam/connect/routes/noise-sensors.js +5 -1
  99. package/lib/seam/connect/routes/noise-sensors.js.map +1 -1
  100. package/lib/seam/connect/routes/phones-simulate.d.ts +2 -0
  101. package/lib/seam/connect/routes/phones-simulate.js +5 -1
  102. package/lib/seam/connect/routes/phones-simulate.js.map +1 -1
  103. package/lib/seam/connect/routes/phones.d.ts +2 -0
  104. package/lib/seam/connect/routes/phones.js +7 -3
  105. package/lib/seam/connect/routes/phones.js.map +1 -1
  106. package/lib/seam/connect/routes/thermostats-schedules.d.ts +2 -0
  107. package/lib/seam/connect/routes/thermostats-schedules.js +9 -5
  108. package/lib/seam/connect/routes/thermostats-schedules.js.map +1 -1
  109. package/lib/seam/connect/routes/thermostats-simulate.d.ts +2 -0
  110. package/lib/seam/connect/routes/thermostats-simulate.js +6 -2
  111. package/lib/seam/connect/routes/thermostats-simulate.js.map +1 -1
  112. package/lib/seam/connect/routes/thermostats.d.ts +2 -0
  113. package/lib/seam/connect/routes/thermostats.js +18 -14
  114. package/lib/seam/connect/routes/thermostats.js.map +1 -1
  115. package/lib/seam/connect/routes/user-identities-enrollment-automations.d.ts +2 -0
  116. package/lib/seam/connect/routes/user-identities-enrollment-automations.js +8 -4
  117. package/lib/seam/connect/routes/user-identities-enrollment-automations.js.map +1 -1
  118. package/lib/seam/connect/routes/user-identities.d.ts +2 -0
  119. package/lib/seam/connect/routes/user-identities.js +16 -12
  120. package/lib/seam/connect/routes/user-identities.js.map +1 -1
  121. package/lib/seam/connect/routes/webhooks.d.ts +2 -0
  122. package/lib/seam/connect/routes/webhooks.js +9 -5
  123. package/lib/seam/connect/routes/webhooks.js.map +1 -1
  124. package/lib/seam/connect/routes/workspaces.d.ts +2 -0
  125. package/lib/seam/connect/routes/workspaces.js +8 -4
  126. package/lib/seam/connect/routes/workspaces.js.map +1 -1
  127. package/lib/seam/connect/seam-http-request.d.ts +6 -3
  128. package/lib/seam/connect/seam-http-request.js +25 -14
  129. package/lib/seam/connect/seam-http-request.js.map +1 -1
  130. package/lib/seam/connect/seam-http.d.ts +3 -0
  131. package/lib/seam/connect/seam-http.js +4 -0
  132. package/lib/seam/connect/seam-http.js.map +1 -1
  133. package/lib/seam/connect/seam-paginator.d.ts +30 -0
  134. package/lib/seam/connect/seam-paginator.js +103 -0
  135. package/lib/seam/connect/seam-paginator.js.map +1 -0
  136. package/lib/version.d.ts +1 -1
  137. package/lib/version.js +1 -1
  138. package/package.json +2 -2
  139. package/src/lib/seam/connect/index.ts +2 -0
  140. package/src/lib/seam/connect/routes/access-codes-simulate.ts +8 -1
  141. package/src/lib/seam/connect/routes/access-codes-unmanaged.ts +12 -5
  142. package/src/lib/seam/connect/routes/access-codes.ts +16 -9
  143. package/src/lib/seam/connect/routes/acs-access-groups-unmanaged.ts +9 -2
  144. package/src/lib/seam/connect/routes/acs-access-groups.ts +13 -6
  145. package/src/lib/seam/connect/routes/acs-credential-pools.ts +8 -1
  146. package/src/lib/seam/connect/routes/acs-credential-provisioning-automations.ts +8 -1
  147. package/src/lib/seam/connect/routes/acs-credentials-unmanaged.ts +9 -2
  148. package/src/lib/seam/connect/routes/acs-credentials.ts +16 -9
  149. package/src/lib/seam/connect/routes/acs-encoders-simulate.ts +11 -4
  150. package/src/lib/seam/connect/routes/acs-encoders.ts +10 -3
  151. package/src/lib/seam/connect/routes/acs-entrances.ts +11 -4
  152. package/src/lib/seam/connect/routes/acs-systems.ts +10 -3
  153. package/src/lib/seam/connect/routes/acs-users-unmanaged.ts +9 -2
  154. package/src/lib/seam/connect/routes/acs-users.ts +18 -11
  155. package/src/lib/seam/connect/routes/acs.ts +8 -0
  156. package/src/lib/seam/connect/routes/action-attempts.ts +9 -2
  157. package/src/lib/seam/connect/routes/bridges.ts +9 -2
  158. package/src/lib/seam/connect/routes/client-sessions.ts +14 -7
  159. package/src/lib/seam/connect/routes/connect-webviews.ts +11 -4
  160. package/src/lib/seam/connect/routes/connected-accounts.ts +11 -4
  161. package/src/lib/seam/connect/routes/devices-simulate.ts +10 -3
  162. package/src/lib/seam/connect/routes/devices-unmanaged.ts +10 -3
  163. package/src/lib/seam/connect/routes/devices.ts +12 -5
  164. package/src/lib/seam/connect/routes/events.ts +9 -2
  165. package/src/lib/seam/connect/routes/locks.ts +11 -4
  166. package/src/lib/seam/connect/routes/networks.ts +9 -2
  167. package/src/lib/seam/connect/routes/noise-sensors-noise-thresholds.ts +12 -5
  168. package/src/lib/seam/connect/routes/noise-sensors-simulate.ts +8 -1
  169. package/src/lib/seam/connect/routes/noise-sensors.ts +8 -1
  170. package/src/lib/seam/connect/routes/phones-simulate.ts +8 -1
  171. package/src/lib/seam/connect/routes/phones.ts +10 -3
  172. package/src/lib/seam/connect/routes/thermostats-schedules.ts +12 -5
  173. package/src/lib/seam/connect/routes/thermostats-simulate.ts +9 -2
  174. package/src/lib/seam/connect/routes/thermostats.ts +21 -14
  175. package/src/lib/seam/connect/routes/user-identities-enrollment-automations.ts +11 -4
  176. package/src/lib/seam/connect/routes/user-identities.ts +19 -12
  177. package/src/lib/seam/connect/routes/webhooks.ts +12 -5
  178. package/src/lib/seam/connect/routes/workspaces.ts +11 -4
  179. package/src/lib/seam/connect/seam-http-request.ts +45 -23
  180. package/src/lib/seam/connect/seam-http.ts +8 -0
  181. package/src/lib/seam/connect/seam-paginator.ts +155 -0
  182. package/src/lib/version.ts +1 -1
@@ -6,7 +6,7 @@ interface SeamHttpRequestParent {
6
6
  readonly defaults: Required<SeamHttpRequestOptions>;
7
7
  }
8
8
  interface SeamHttpRequestConfig<TResponseKey> {
9
- readonly path: string;
9
+ readonly pathname: string;
10
10
  readonly method: Method;
11
11
  readonly body?: unknown;
12
12
  readonly params?: undefined | Record<string, unknown>;
@@ -19,11 +19,14 @@ export declare class SeamHttpRequest<const TResponse, const TResponseKey extends
19
19
  constructor(parent: SeamHttpRequestParent, config: SeamHttpRequestConfig<TResponseKey>);
20
20
  get responseKey(): TResponseKey;
21
21
  get url(): URL;
22
+ get pathname(): string;
22
23
  get method(): Method;
24
+ get params(): undefined | Record<string, unknown>;
23
25
  get body(): unknown;
24
26
  execute(): Promise<TResponseKey extends keyof TResponse ? TResponse[TResponseKey] : undefined>;
25
- then<TResult1 = TResponseKey extends keyof TResponse ? TResponse[TResponseKey] : undefined, TResult2 = never>(onfulfilled?: ((value: TResponseKey extends keyof TResponse ? TResponse[TResponseKey] : undefined) => TResult1 | PromiseLike<TResult1>) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null | undefined): Promise<TResult1 | TResult2>;
26
- catch<TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | null | undefined): Promise<(TResponseKey extends keyof TResponse ? TResponse[TResponseKey] : undefined) | TResult>;
27
+ fetchResponse(): Promise<TResponse>;
28
+ then<TResult1 = TResponseKey extends keyof TResponse ? TResponse[TResponseKey] : undefined, TResult2 = never>(onfulfilled?: ((value: TResponseKey extends keyof TResponse ? TResponse[TResponseKey] : undefined) => TResult1 | PromiseLike<TResult1>) | null | undefined, onrejected?: ((reason: unknown) => TResult2 | PromiseLike<TResult2>) | null | undefined): Promise<TResult1 | TResult2>;
29
+ catch<TResult = never>(onrejected?: ((reason: unknown) => TResult | PromiseLike<TResult>) | null | undefined): Promise<(TResponseKey extends keyof TResponse ? TResponse[TResponseKey] : undefined) | TResult>;
27
30
  finally(onfinally?: (() => void) | null | undefined): Promise<TResponseKey extends keyof TResponse ? TResponse[TResponseKey] : undefined>;
28
31
  }
29
32
  export {};
@@ -26,47 +26,58 @@ export class SeamHttpRequest {
26
26
  }
27
27
  get url() {
28
28
  const { client } = __classPrivateFieldGet(this, _SeamHttpRequest_parent, "f");
29
- const { params } = __classPrivateFieldGet(this, _SeamHttpRequest_config, "f");
30
29
  const serializer = typeof client.defaults.paramsSerializer === 'function'
31
30
  ? client.defaults.paramsSerializer
32
31
  : serializeUrlSearchParams;
33
32
  const origin = getUrlPrefix(client.defaults.baseURL ?? '');
34
- const pathname = __classPrivateFieldGet(this, _SeamHttpRequest_config, "f").path.startsWith('/')
35
- ? __classPrivateFieldGet(this, _SeamHttpRequest_config, "f").path
36
- : `/${__classPrivateFieldGet(this, _SeamHttpRequest_config, "f").path}`;
37
- const path = params == null ? pathname : `${pathname}?${serializer(params)}`;
33
+ const path = this.params == null
34
+ ? this.pathname
35
+ : `${this.pathname}?${serializer(this.params)}`;
38
36
  return new URL(`${origin}${path}`);
39
37
  }
38
+ get pathname() {
39
+ return __classPrivateFieldGet(this, _SeamHttpRequest_config, "f").pathname.startsWith('/')
40
+ ? __classPrivateFieldGet(this, _SeamHttpRequest_config, "f").pathname
41
+ : `/${__classPrivateFieldGet(this, _SeamHttpRequest_config, "f").pathname}`;
42
+ }
40
43
  get method() {
41
44
  return __classPrivateFieldGet(this, _SeamHttpRequest_config, "f").method;
42
45
  }
46
+ get params() {
47
+ return __classPrivateFieldGet(this, _SeamHttpRequest_config, "f").params;
48
+ }
43
49
  get body() {
44
50
  return __classPrivateFieldGet(this, _SeamHttpRequest_config, "f").body;
45
51
  }
46
52
  async execute() {
47
- const { client } = __classPrivateFieldGet(this, _SeamHttpRequest_parent, "f");
48
- const response = await client.request({
49
- url: __classPrivateFieldGet(this, _SeamHttpRequest_config, "f").path,
50
- method: __classPrivateFieldGet(this, _SeamHttpRequest_config, "f").method,
51
- data: __classPrivateFieldGet(this, _SeamHttpRequest_config, "f").body,
52
- params: __classPrivateFieldGet(this, _SeamHttpRequest_config, "f").params,
53
- });
53
+ const response = await this.fetchResponse();
54
54
  if (this.responseKey === undefined) {
55
55
  return undefined;
56
56
  }
57
- const data = response.data[this.responseKey];
57
+ const data = response[this.responseKey];
58
58
  if (this.responseKey === 'action_attempt') {
59
59
  const waitForActionAttempt = __classPrivateFieldGet(this, _SeamHttpRequest_config, "f").options?.waitForActionAttempt ??
60
60
  __classPrivateFieldGet(this, _SeamHttpRequest_parent, "f").defaults.waitForActionAttempt;
61
61
  if (waitForActionAttempt !== false) {
62
- return await resolveActionAttempt(data, SeamHttpActionAttempts.fromClient(client, {
62
+ const actionAttempt = await resolveActionAttempt(data, SeamHttpActionAttempts.fromClient(__classPrivateFieldGet(this, _SeamHttpRequest_parent, "f").client, {
63
63
  ...__classPrivateFieldGet(this, _SeamHttpRequest_parent, "f").defaults,
64
64
  waitForActionAttempt: false,
65
65
  }), typeof waitForActionAttempt === 'boolean' ? {} : waitForActionAttempt);
66
+ return actionAttempt;
66
67
  }
67
68
  }
68
69
  return data;
69
70
  }
71
+ async fetchResponse() {
72
+ const { client } = __classPrivateFieldGet(this, _SeamHttpRequest_parent, "f");
73
+ const response = await client.request({
74
+ url: this.pathname,
75
+ method: this.method,
76
+ data: this.body,
77
+ params: this.params,
78
+ });
79
+ return response.data;
80
+ }
70
81
  async then(onfulfilled, onrejected) {
71
82
  return await this.execute().then(onfulfilled, onrejected);
72
83
  }
@@ -1 +1 @@
1
- {"version":3,"file":"seam-http-request.js","sourceRoot":"","sources":["../../../src/lib/seam/connect/seam-http-request.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAA;AAKhF,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAgB1D,MAAM,OAAO,eAAe;IAa1B,YACE,MAA6B,EAC7B,MAA2C;QAPpC,QAAoB,GAAW,iBAAiB,CAAA;QAEhD,0CAA8B;QAC9B,0CAA4C;QAMnD,uBAAA,IAAI,2BAAW,MAAM,MAAA,CAAA;QACrB,uBAAA,IAAI,2BAAW,MAAM,MAAA,CAAA;IACvB,CAAC;IAED,IAAW,WAAW;QACpB,OAAO,uBAAA,IAAI,+BAAQ,CAAC,WAAW,CAAA;IACjC,CAAC;IAED,IAAW,GAAG;QACZ,MAAM,EAAE,MAAM,EAAE,GAAG,uBAAA,IAAI,+BAAQ,CAAA;QAC/B,MAAM,EAAE,MAAM,EAAE,GAAG,uBAAA,IAAI,+BAAQ,CAAA;QAE/B,MAAM,UAAU,GACd,OAAO,MAAM,CAAC,QAAQ,CAAC,gBAAgB,KAAK,UAAU;YACpD,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB;YAClC,CAAC,CAAC,wBAAwB,CAAA;QAE9B,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC,CAAA;QAE1D,MAAM,QAAQ,GAAG,uBAAA,IAAI,+BAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAChD,CAAC,CAAC,uBAAA,IAAI,+BAAQ,CAAC,IAAI;YACnB,CAAC,CAAC,IAAI,uBAAA,IAAI,+BAAQ,CAAC,IAAI,EAAE,CAAA;QAE3B,MAAM,IAAI,GAAG,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAA;QAE5E,OAAO,IAAI,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,EAAE,CAAC,CAAA;IACpC,CAAC;IAED,IAAW,MAAM;QACf,OAAO,uBAAA,IAAI,+BAAQ,CAAC,MAAM,CAAA;IAC5B,CAAC;IAED,IAAW,IAAI;QACb,OAAO,uBAAA,IAAI,+BAAQ,CAAC,IAAI,CAAA;IAC1B,CAAC;IAED,KAAK,CAAC,OAAO;QAGX,MAAM,EAAE,MAAM,EAAE,GAAG,uBAAA,IAAI,+BAAQ,CAAA;QAC/B,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;YACpC,GAAG,EAAE,uBAAA,IAAI,+BAAQ,CAAC,IAAI;YACtB,MAAM,EAAE,uBAAA,IAAI,+BAAQ,CAAC,MAAM;YAC3B,IAAI,EAAE,uBAAA,IAAI,+BAAQ,CAAC,IAAI;YACvB,MAAM,EAAE,uBAAA,IAAI,+BAAQ,CAAC,MAAM;SAC5B,CAAC,CAAA;QACF,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACnC,OAAO,SAEM,CAAA;QACf,CAAC;QACD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QAC5C,IAAI,IAAI,CAAC,WAAW,KAAK,gBAAgB,EAAE,CAAC;YAC1C,MAAM,oBAAoB,GACxB,uBAAA,IAAI,+BAAQ,CAAC,OAAO,EAAE,oBAAoB;gBAC1C,uBAAA,IAAI,+BAAQ,CAAC,QAAQ,CAAC,oBAAoB,CAAA;YAC5C,IAAI,oBAAoB,KAAK,KAAK,EAAE,CAAC;gBACnC,OAAO,MAAM,oBAAoB,CAC/B,IAAI,EACJ,sBAAsB,CAAC,UAAU,CAAC,MAAM,EAAE;oBACxC,GAAG,uBAAA,IAAI,+BAAQ,CAAC,QAAQ;oBACxB,oBAAoB,EAAE,KAAK;iBAC5B,CAAC,EACF,OAAO,oBAAoB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAoB,CACtE,CAAA;YACH,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,IAAI,CAMR,WAOa,EACb,UAGa;QAEb,OAAO,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAA;IAC3D,CAAC;IAED,KAAK,CAAC,KAAK,CACT,UAGa;QAOb,OAAO,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;IAC/C,CAAC;IAED,KAAK,CAAC,OAAO,CACX,SAA2C;QAI3C,OAAO,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IAChD,CAAC;CACF;uFA1HW,MAAM,CAAC,WAAW;AA4H9B,MAAM,YAAY,GAAG,CAAC,KAAa,EAAU,EAAE;IAC7C,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAA;QACrC,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAC9C,OAAO,GAAG,CAAA;IACZ,CAAC;IACD,IAAI,UAAU,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAA;QAC5D,OAAO,IAAI,GAAG,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,GAAG,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAA;IACvE,CAAC;IACD,MAAM,IAAI,KAAK,CACb,8BAA8B,KAAK,+BAA+B,CACnE,CAAA;AACH,CAAC,CAAA;AAED,2DAA2D;AAC3D,kDAAkD;AAClD,MAAM,WAAW,GAAG,CAAC,KAAa,EAAW,EAAE;IAC7C,IAAI,CAAC;QACH,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAA;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"seam-http-request.js","sourceRoot":"","sources":["../../../src/lib/seam/connect/seam-http-request.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  import { type Client } from './client.js';
2
2
  import { type SeamHttpFromPublishableKeyOptions, type SeamHttpOptions, type SeamHttpOptionsWithApiKey, type SeamHttpOptionsWithClient, type SeamHttpOptionsWithClientSessionToken, type SeamHttpOptionsWithConsoleSessionToken, type SeamHttpOptionsWithPersonalAccessToken, type SeamHttpRequestOptions } from './options.js';
3
3
  import { SeamHttpAccessCodes, SeamHttpAcs, SeamHttpActionAttempts, SeamHttpClientSessions, SeamHttpConnectedAccounts, SeamHttpConnectWebviews, SeamHttpDevices, SeamHttpEvents, SeamHttpLocks, SeamHttpNetworks, SeamHttpNoiseSensors, SeamHttpPhones, SeamHttpThermostats, SeamHttpUserIdentities, SeamHttpWebhooks, SeamHttpWorkspaces } from './routes/index.js';
4
+ import type { SeamHttpRequest } from './seam-http-request.js';
5
+ import { SeamPaginator } from './seam-paginator.js';
4
6
  export declare class SeamHttp {
5
7
  client: Client;
6
8
  readonly defaults: Required<SeamHttpRequestOptions>;
@@ -13,6 +15,7 @@ export declare class SeamHttp {
13
15
  static fromPublishableKey(publishableKey: string, userIdentifierKey: string, options?: SeamHttpFromPublishableKeyOptions): Promise<SeamHttp>;
14
16
  static fromConsoleSessionToken(consoleSessionToken: SeamHttpOptionsWithConsoleSessionToken['consoleSessionToken'], workspaceId: SeamHttpOptionsWithConsoleSessionToken['workspaceId'], options?: Omit<SeamHttpOptionsWithConsoleSessionToken, 'consoleSessionToken' | 'workspaceId'>): SeamHttp;
15
17
  static fromPersonalAccessToken(personalAccessToken: SeamHttpOptionsWithPersonalAccessToken['personalAccessToken'], workspaceId: SeamHttpOptionsWithPersonalAccessToken['workspaceId'], options?: Omit<SeamHttpOptionsWithPersonalAccessToken, 'personalAccessToken' | 'workspaceId'>): SeamHttp;
18
+ createPaginator<const TResponse, const TResponseKey extends keyof TResponse>(request: SeamHttpRequest<TResponse, TResponseKey>): SeamPaginator<TResponse, TResponseKey>;
16
19
  updateClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken']): Promise<void>;
17
20
  get accessCodes(): SeamHttpAccessCodes;
18
21
  get acs(): SeamHttpAcs;
@@ -4,6 +4,7 @@ import { createClient } from './client.js';
4
4
  import { isSeamHttpOptionsWithApiKey, isSeamHttpOptionsWithClient, isSeamHttpOptionsWithClientSessionToken, isSeamHttpOptionsWithConsoleSessionToken, isSeamHttpOptionsWithPersonalAccessToken, SeamHttpInvalidOptionsError, } from './options.js';
5
5
  import { limitToSeamHttpRequestOptions, parseOptions } from './parse-options.js';
6
6
  import { SeamHttpAccessCodes, SeamHttpAcs, SeamHttpActionAttempts, SeamHttpClientSessions, SeamHttpConnectedAccounts, SeamHttpConnectWebviews, SeamHttpDevices, SeamHttpEvents, SeamHttpLocks, SeamHttpNetworks, SeamHttpNoiseSensors, SeamHttpPhones, SeamHttpThermostats, SeamHttpUserIdentities, SeamHttpWebhooks, SeamHttpWorkspaces, } from './routes/index.js';
7
+ import { SeamPaginator } from './seam-paginator.js';
7
8
  export class SeamHttp {
8
9
  constructor(apiKeyOrOptions = {}) {
9
10
  this.ltsVersion = seamApiLtsVersion;
@@ -59,6 +60,9 @@ export class SeamHttp {
59
60
  }
60
61
  return new SeamHttp(constructorOptions);
61
62
  }
63
+ createPaginator(request) {
64
+ return new SeamPaginator(this, request);
65
+ }
62
66
  async updateClientSessionToken(clientSessionToken) {
63
67
  const { headers } = this.client.defaults;
64
68
  const authHeaders = getAuthHeadersForClientSessionToken({
@@ -1 +1 @@
1
- {"version":3,"file":"seam-http.js","sourceRoot":"","sources":["../../../src/lib/seam/connect/seam-http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"seam-http.js","sourceRoot":"","sources":["../../../src/lib/seam/connect/seam-http.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import type { Client } from './client.js';
2
+ import type { SeamHttpRequestOptions } from './options.js';
3
+ import { SeamHttpRequest } from './seam-http-request.js';
4
+ interface SeamPaginatorParent {
5
+ readonly client: Client;
6
+ readonly defaults: Required<SeamHttpRequestOptions>;
7
+ }
8
+ declare const $brand: unique symbol;
9
+ type PageCursor = string & {
10
+ [$brand]: 'SeamPageCursor';
11
+ };
12
+ interface Pagination {
13
+ readonly hasNextPage: boolean;
14
+ readonly nextPageCursor: PageCursor | null;
15
+ readonly nextPageUrl: string | null;
16
+ }
17
+ export declare class SeamPaginator<const TResponse, const TResponseKey extends keyof TResponse> implements AsyncIterable<EnsureReadonlyArray<TResponse[TResponseKey]>> {
18
+ #private;
19
+ constructor(parent: SeamPaginatorParent, request: SeamHttpRequest<TResponse, TResponseKey>);
20
+ firstPage(): Promise<[
21
+ EnsureReadonlyArray<TResponse[TResponseKey]>,
22
+ Pagination
23
+ ]>;
24
+ nextPage(nextPageCursor: Pagination['nextPageCursor']): Promise<[EnsureReadonlyArray<TResponse[TResponseKey]>, Pagination]>;
25
+ flattenToArray(): Promise<EnsureReadonlyArray<TResponse[TResponseKey]>>;
26
+ flatten(): AsyncGenerator<EnsureReadonlyArray<TResponse[TResponseKey]>>;
27
+ [Symbol.asyncIterator](): AsyncGenerator<EnsureReadonlyArray<TResponse[TResponseKey]>>;
28
+ }
29
+ type EnsureReadonlyArray<T> = T extends readonly any[] ? T : never;
30
+ export {};
@@ -0,0 +1,103 @@
1
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
2
+ if (kind === "m") throw new TypeError("Private method is not writable");
3
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
4
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
5
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
6
+ };
7
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
9
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
+ };
12
+ var _SeamPaginator_instances, _SeamPaginator_request, _SeamPaginator_parent, _SeamPaginator_fetch;
13
+ import { SeamHttpRequest } from './seam-http-request.js';
14
+ export class SeamPaginator {
15
+ constructor(parent, request) {
16
+ _SeamPaginator_instances.add(this);
17
+ _SeamPaginator_request.set(this, void 0);
18
+ _SeamPaginator_parent.set(this, void 0);
19
+ if (request.responseKey == null) {
20
+ throw new Error(`The ${request.pathname} endpoint does not support pagination`);
21
+ }
22
+ __classPrivateFieldSet(this, _SeamPaginator_parent, parent, "f");
23
+ __classPrivateFieldSet(this, _SeamPaginator_request, request, "f");
24
+ }
25
+ async firstPage() {
26
+ return await __classPrivateFieldGet(this, _SeamPaginator_instances, "m", _SeamPaginator_fetch).call(this);
27
+ }
28
+ async nextPage(nextPageCursor) {
29
+ if (nextPageCursor == null) {
30
+ throw new Error('Cannot get the next page with a null nextPageCursor');
31
+ }
32
+ return await __classPrivateFieldGet(this, _SeamPaginator_instances, "m", _SeamPaginator_fetch).call(this, nextPageCursor);
33
+ }
34
+ async flattenToArray() {
35
+ const items = [];
36
+ let [current, pagination] = await this.firstPage();
37
+ items.push(...current);
38
+ while (pagination.hasNextPage) {
39
+ ;
40
+ [current, pagination] = await this.nextPage(pagination.nextPageCursor);
41
+ items.push(...current);
42
+ }
43
+ return items;
44
+ }
45
+ async *flatten() {
46
+ let [current, pagination] = await this.firstPage();
47
+ for (const item of current) {
48
+ yield item;
49
+ }
50
+ while (pagination.hasNextPage) {
51
+ ;
52
+ [current, pagination] = await this.nextPage(pagination.nextPageCursor);
53
+ for (const item of current) {
54
+ yield item;
55
+ }
56
+ }
57
+ }
58
+ async *[(_SeamPaginator_request = new WeakMap(), _SeamPaginator_parent = new WeakMap(), _SeamPaginator_instances = new WeakSet(), _SeamPaginator_fetch = async function _SeamPaginator_fetch(nextPageCursor) {
59
+ const responseKey = __classPrivateFieldGet(this, _SeamPaginator_request, "f").responseKey;
60
+ if (responseKey == null) {
61
+ throw new Error('Cannot paginate a response without a responseKey');
62
+ }
63
+ const request = new SeamHttpRequest(__classPrivateFieldGet(this, _SeamPaginator_parent, "f"), {
64
+ pathname: __classPrivateFieldGet(this, _SeamPaginator_request, "f").pathname,
65
+ method: __classPrivateFieldGet(this, _SeamPaginator_request, "f").method,
66
+ responseKey,
67
+ params: __classPrivateFieldGet(this, _SeamPaginator_request, "f").params != null
68
+ ? { ...__classPrivateFieldGet(this, _SeamPaginator_request, "f").params, page_cursor: nextPageCursor }
69
+ : undefined,
70
+ body: __classPrivateFieldGet(this, _SeamPaginator_request, "f").body != null
71
+ ? { ...__classPrivateFieldGet(this, _SeamPaginator_request, "f").body, page_cursor: nextPageCursor }
72
+ : undefined,
73
+ });
74
+ const response = await request.fetchResponse();
75
+ const data = response[responseKey];
76
+ const paginationData = response != null &&
77
+ typeof response === 'object' &&
78
+ 'pagination' in response
79
+ ? response.pagination
80
+ : null;
81
+ const pagination = {
82
+ hasNextPage: paginationData?.has_next_page ?? false,
83
+ nextPageCursor: paginationData?.next_page_cursor ?? null,
84
+ nextPageUrl: paginationData?.next_page_url ?? null,
85
+ };
86
+ if (!Array.isArray(data)) {
87
+ throw new Error(`Expected an array response for ${String(responseKey)} but got ${String(typeof data)}`);
88
+ }
89
+ return [
90
+ data,
91
+ pagination,
92
+ ];
93
+ }, Symbol.asyncIterator)]() {
94
+ let [current, pagination] = await this.firstPage();
95
+ yield current;
96
+ while (pagination.hasNextPage) {
97
+ ;
98
+ [current, pagination] = await this.nextPage(pagination.nextPageCursor);
99
+ yield current;
100
+ }
101
+ }
102
+ }
103
+ //# sourceMappingURL=seam-paginator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seam-paginator.js","sourceRoot":"","sources":["../../../src/lib/seam/connect/seam-paginator.ts"],"names":[],"mappings":"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"}
package/lib/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- declare const seamapiJavascriptHttpVersion = "1.24.0";
1
+ declare const seamapiJavascriptHttpVersion = "1.25.0";
2
2
  export default seamapiJavascriptHttpVersion;
package/lib/version.js CHANGED
@@ -1,3 +1,3 @@
1
- const seamapiJavascriptHttpVersion = '1.24.0';
1
+ const seamapiJavascriptHttpVersion = '1.25.0';
2
2
  export default seamapiJavascriptHttpVersion;
3
3
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seamapi/http",
3
- "version": "1.24.0",
3
+ "version": "1.25.0",
4
4
  "description": "JavaScript HTTP client for the Seam API written in TypeScript.",
5
5
  "type": "module",
6
6
  "main": "index.js",
@@ -98,7 +98,7 @@
98
98
  "axios-retry": "^4.4.2"
99
99
  },
100
100
  "devDependencies": {
101
- "@seamapi/fake-seam-connect": "1.74.0",
101
+ "@seamapi/fake-seam-connect": "^1.76.0",
102
102
  "@seamapi/types": "1.351.1",
103
103
  "@types/eslint": "^8.44.2",
104
104
  "@types/jsonwebtoken": "^9.0.6",
@@ -15,6 +15,8 @@ export * from './seam-http.js'
15
15
  export * from './seam-http-error.js'
16
16
  export * from './seam-http-multi-workspace.js'
17
17
  export * from './seam-http-request.js'
18
+ export * from './seam-paginator.js'
19
+ export * from './seam-paginator.js'
18
20
  export {
19
21
  isApiKey,
20
22
  isClientSessionToken,
@@ -31,6 +31,7 @@ import {
31
31
  parseOptions,
32
32
  } from 'lib/seam/connect/parse-options.js'
33
33
  import { SeamHttpRequest } from 'lib/seam/connect/seam-http-request.js'
34
+ import { SeamPaginator } from 'lib/seam/connect/seam-paginator.js'
34
35
  import type { SetNonNullable } from 'lib/types.js'
35
36
 
36
37
  import { SeamHttpClientSessions } from './client-sessions.js'
@@ -135,6 +136,12 @@ export class SeamHttpAccessCodesSimulate {
135
136
  return new SeamHttpAccessCodesSimulate(constructorOptions)
136
137
  }
137
138
 
139
+ createPaginator<const TResponse, const TResponseKey extends keyof TResponse>(
140
+ request: SeamHttpRequest<TResponse, TResponseKey>,
141
+ ): SeamPaginator<TResponse, TResponseKey> {
142
+ return new SeamPaginator<TResponse, TResponseKey>(this, request)
143
+ }
144
+
138
145
  async updateClientSessionToken(
139
146
  clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'],
140
147
  ): Promise<void> {
@@ -161,7 +168,7 @@ export class SeamHttpAccessCodesSimulate {
161
168
  'access_code'
162
169
  > {
163
170
  return new SeamHttpRequest(this, {
164
- path: '/access_codes/simulate/create_unmanaged_access_code',
171
+ pathname: '/access_codes/simulate/create_unmanaged_access_code',
165
172
  method: 'post',
166
173
  body,
167
174
  responseKey: 'access_code',
@@ -31,6 +31,7 @@ import {
31
31
  parseOptions,
32
32
  } from 'lib/seam/connect/parse-options.js'
33
33
  import { SeamHttpRequest } from 'lib/seam/connect/seam-http-request.js'
34
+ import { SeamPaginator } from 'lib/seam/connect/seam-paginator.js'
34
35
  import type { SetNonNullable } from 'lib/types.js'
35
36
 
36
37
  import { SeamHttpClientSessions } from './client-sessions.js'
@@ -135,6 +136,12 @@ export class SeamHttpAccessCodesUnmanaged {
135
136
  return new SeamHttpAccessCodesUnmanaged(constructorOptions)
136
137
  }
137
138
 
139
+ createPaginator<const TResponse, const TResponseKey extends keyof TResponse>(
140
+ request: SeamHttpRequest<TResponse, TResponseKey>,
141
+ ): SeamPaginator<TResponse, TResponseKey> {
142
+ return new SeamPaginator<TResponse, TResponseKey>(this, request)
143
+ }
144
+
138
145
  async updateClientSessionToken(
139
146
  clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'],
140
147
  ): Promise<void> {
@@ -158,7 +165,7 @@ export class SeamHttpAccessCodesUnmanaged {
158
165
  body?: AccessCodesUnmanagedConvertToManagedBody,
159
166
  ): SeamHttpRequest<void, undefined> {
160
167
  return new SeamHttpRequest(this, {
161
- path: '/access_codes/unmanaged/convert_to_managed',
168
+ pathname: '/access_codes/unmanaged/convert_to_managed',
162
169
  method: 'post',
163
170
  body,
164
171
  responseKey: undefined,
@@ -169,7 +176,7 @@ export class SeamHttpAccessCodesUnmanaged {
169
176
  body?: AccessCodesUnmanagedDeleteParams,
170
177
  ): SeamHttpRequest<void, undefined> {
171
178
  return new SeamHttpRequest(this, {
172
- path: '/access_codes/unmanaged/delete',
179
+ pathname: '/access_codes/unmanaged/delete',
173
180
  method: 'post',
174
181
  body,
175
182
  responseKey: undefined,
@@ -180,7 +187,7 @@ export class SeamHttpAccessCodesUnmanaged {
180
187
  body?: AccessCodesUnmanagedGetParams,
181
188
  ): SeamHttpRequest<AccessCodesUnmanagedGetResponse, 'access_code'> {
182
189
  return new SeamHttpRequest(this, {
183
- path: '/access_codes/unmanaged/get',
190
+ pathname: '/access_codes/unmanaged/get',
184
191
  method: 'post',
185
192
  body,
186
193
  responseKey: 'access_code',
@@ -191,7 +198,7 @@ export class SeamHttpAccessCodesUnmanaged {
191
198
  body?: AccessCodesUnmanagedListParams,
192
199
  ): SeamHttpRequest<AccessCodesUnmanagedListResponse, 'access_codes'> {
193
200
  return new SeamHttpRequest(this, {
194
- path: '/access_codes/unmanaged/list',
201
+ pathname: '/access_codes/unmanaged/list',
195
202
  method: 'post',
196
203
  body,
197
204
  responseKey: 'access_codes',
@@ -202,7 +209,7 @@ export class SeamHttpAccessCodesUnmanaged {
202
209
  body?: AccessCodesUnmanagedUpdateBody,
203
210
  ): SeamHttpRequest<void, undefined> {
204
211
  return new SeamHttpRequest(this, {
205
- path: '/access_codes/unmanaged/update',
212
+ pathname: '/access_codes/unmanaged/update',
206
213
  method: 'post',
207
214
  body,
208
215
  responseKey: undefined,
@@ -31,6 +31,7 @@ import {
31
31
  parseOptions,
32
32
  } from 'lib/seam/connect/parse-options.js'
33
33
  import { SeamHttpRequest } from 'lib/seam/connect/seam-http-request.js'
34
+ import { SeamPaginator } from 'lib/seam/connect/seam-paginator.js'
34
35
  import type { SetNonNullable } from 'lib/types.js'
35
36
 
36
37
  import { SeamHttpAccessCodesSimulate } from './access-codes-simulate.js'
@@ -137,6 +138,12 @@ export class SeamHttpAccessCodes {
137
138
  return new SeamHttpAccessCodes(constructorOptions)
138
139
  }
139
140
 
141
+ createPaginator<const TResponse, const TResponseKey extends keyof TResponse>(
142
+ request: SeamHttpRequest<TResponse, TResponseKey>,
143
+ ): SeamPaginator<TResponse, TResponseKey> {
144
+ return new SeamPaginator<TResponse, TResponseKey>(this, request)
145
+ }
146
+
140
147
  async updateClientSessionToken(
141
148
  clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'],
142
149
  ): Promise<void> {
@@ -168,7 +175,7 @@ export class SeamHttpAccessCodes {
168
175
  body?: AccessCodesCreateBody,
169
176
  ): SeamHttpRequest<AccessCodesCreateResponse, 'access_code'> {
170
177
  return new SeamHttpRequest(this, {
171
- path: '/access_codes/create',
178
+ pathname: '/access_codes/create',
172
179
  method: 'post',
173
180
  body,
174
181
  responseKey: 'access_code',
@@ -179,7 +186,7 @@ export class SeamHttpAccessCodes {
179
186
  body?: AccessCodesCreateMultipleBody,
180
187
  ): SeamHttpRequest<AccessCodesCreateMultipleResponse, 'access_codes'> {
181
188
  return new SeamHttpRequest(this, {
182
- path: '/access_codes/create_multiple',
189
+ pathname: '/access_codes/create_multiple',
183
190
  method: 'post',
184
191
  body,
185
192
  responseKey: 'access_codes',
@@ -188,7 +195,7 @@ export class SeamHttpAccessCodes {
188
195
 
189
196
  delete(body?: AccessCodesDeleteParams): SeamHttpRequest<void, undefined> {
190
197
  return new SeamHttpRequest(this, {
191
- path: '/access_codes/delete',
198
+ pathname: '/access_codes/delete',
192
199
  method: 'post',
193
200
  body,
194
201
  responseKey: undefined,
@@ -199,7 +206,7 @@ export class SeamHttpAccessCodes {
199
206
  body?: AccessCodesGenerateCodeBody,
200
207
  ): SeamHttpRequest<AccessCodesGenerateCodeResponse, 'generated_code'> {
201
208
  return new SeamHttpRequest(this, {
202
- path: '/access_codes/generate_code',
209
+ pathname: '/access_codes/generate_code',
203
210
  method: 'post',
204
211
  body,
205
212
  responseKey: 'generated_code',
@@ -210,7 +217,7 @@ export class SeamHttpAccessCodes {
210
217
  body?: AccessCodesGetParams,
211
218
  ): SeamHttpRequest<AccessCodesGetResponse, 'access_code'> {
212
219
  return new SeamHttpRequest(this, {
213
- path: '/access_codes/get',
220
+ pathname: '/access_codes/get',
214
221
  method: 'post',
215
222
  body,
216
223
  responseKey: 'access_code',
@@ -221,7 +228,7 @@ export class SeamHttpAccessCodes {
221
228
  body?: AccessCodesListParams,
222
229
  ): SeamHttpRequest<AccessCodesListResponse, 'access_codes'> {
223
230
  return new SeamHttpRequest(this, {
224
- path: '/access_codes/list',
231
+ pathname: '/access_codes/list',
225
232
  method: 'post',
226
233
  body,
227
234
  responseKey: 'access_codes',
@@ -232,7 +239,7 @@ export class SeamHttpAccessCodes {
232
239
  body?: AccessCodesPullBackupAccessCodeBody,
233
240
  ): SeamHttpRequest<AccessCodesPullBackupAccessCodeResponse, 'access_code'> {
234
241
  return new SeamHttpRequest(this, {
235
- path: '/access_codes/pull_backup_access_code',
242
+ pathname: '/access_codes/pull_backup_access_code',
236
243
  method: 'post',
237
244
  body,
238
245
  responseKey: 'access_code',
@@ -241,7 +248,7 @@ export class SeamHttpAccessCodes {
241
248
 
242
249
  update(body?: AccessCodesUpdateBody): SeamHttpRequest<void, undefined> {
243
250
  return new SeamHttpRequest(this, {
244
- path: '/access_codes/update',
251
+ pathname: '/access_codes/update',
245
252
  method: 'post',
246
253
  body,
247
254
  responseKey: undefined,
@@ -252,7 +259,7 @@ export class SeamHttpAccessCodes {
252
259
  body?: AccessCodesUpdateMultipleBody,
253
260
  ): SeamHttpRequest<void, undefined> {
254
261
  return new SeamHttpRequest(this, {
255
- path: '/access_codes/update_multiple',
262
+ pathname: '/access_codes/update_multiple',
256
263
  method: 'post',
257
264
  body,
258
265
  responseKey: undefined,
@@ -31,6 +31,7 @@ import {
31
31
  parseOptions,
32
32
  } from 'lib/seam/connect/parse-options.js'
33
33
  import { SeamHttpRequest } from 'lib/seam/connect/seam-http-request.js'
34
+ import { SeamPaginator } from 'lib/seam/connect/seam-paginator.js'
34
35
  import type { SetNonNullable } from 'lib/types.js'
35
36
 
36
37
  import { SeamHttpClientSessions } from './client-sessions.js'
@@ -138,6 +139,12 @@ export class SeamHttpAcsAccessGroupsUnmanaged {
138
139
  return new SeamHttpAcsAccessGroupsUnmanaged(constructorOptions)
139
140
  }
140
141
 
142
+ createPaginator<const TResponse, const TResponseKey extends keyof TResponse>(
143
+ request: SeamHttpRequest<TResponse, TResponseKey>,
144
+ ): SeamPaginator<TResponse, TResponseKey> {
145
+ return new SeamPaginator<TResponse, TResponseKey>(this, request)
146
+ }
147
+
141
148
  async updateClientSessionToken(
142
149
  clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'],
143
150
  ): Promise<void> {
@@ -161,7 +168,7 @@ export class SeamHttpAcsAccessGroupsUnmanaged {
161
168
  body?: AcsAccessGroupsUnmanagedGetParams,
162
169
  ): SeamHttpRequest<AcsAccessGroupsUnmanagedGetResponse, 'acs_access_group'> {
163
170
  return new SeamHttpRequest(this, {
164
- path: '/acs/access_groups/unmanaged/get',
171
+ pathname: '/acs/access_groups/unmanaged/get',
165
172
  method: 'post',
166
173
  body,
167
174
  responseKey: 'acs_access_group',
@@ -175,7 +182,7 @@ export class SeamHttpAcsAccessGroupsUnmanaged {
175
182
  'acs_access_groups'
176
183
  > {
177
184
  return new SeamHttpRequest(this, {
178
- path: '/acs/access_groups/unmanaged/list',
185
+ pathname: '/acs/access_groups/unmanaged/list',
179
186
  method: 'post',
180
187
  body,
181
188
  responseKey: 'acs_access_groups',