@nangohq/runner-sdk 0.70.6 → 0.70.8

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.
@@ -3,11 +3,20 @@
3
3
  */
4
4
  import { beforeEach, describe, expect, it, vi } from 'vitest';
5
5
  import PaginationService from './paginate.service.js';
6
+ function asAxiosResponse(partial) {
7
+ return {
8
+ status: 200,
9
+ statusText: 'OK',
10
+ headers: {},
11
+ config: {},
12
+ ...partial
13
+ };
14
+ }
6
15
  describe('PaginationService', () => {
7
16
  describe('cursor pagination', () => {
8
17
  let config;
9
18
  let paginationConfig;
10
- let proxy; // Use ReturnType for type inference
19
+ let proxy;
11
20
  beforeEach(() => {
12
21
  config = {
13
22
  endpoint: '/test',
@@ -22,14 +31,14 @@ describe('PaginationService', () => {
22
31
  limit_name_in_request: 'pagination.per_page',
23
32
  response_path: 'data'
24
33
  };
25
- proxy = vi.fn().mockResolvedValue({
34
+ proxy = vi.fn().mockResolvedValue(asAxiosResponse({
26
35
  data: {
27
36
  data: [{ id: 1 }],
28
37
  pages: {
29
38
  next: { starting_after: 'next-cursor' }
30
39
  }
31
40
  }
32
- });
41
+ }));
33
42
  });
34
43
  describe('dot notation handling', () => {
35
44
  it('should expand dot notation in body parameters', async () => {
@@ -96,22 +105,22 @@ describe('PaginationService', () => {
96
105
  });
97
106
  it('should handle updates to cursor with dot notation', async () => {
98
107
  proxy
99
- .mockResolvedValueOnce({
108
+ .mockResolvedValueOnce(asAxiosResponse({
100
109
  data: {
101
110
  data: [{ id: 1 }],
102
111
  pages: {
103
112
  next: { starting_after: 'next-cursor' }
104
113
  }
105
114
  }
106
- })
107
- .mockResolvedValueOnce({
115
+ }))
116
+ .mockResolvedValueOnce(asAxiosResponse({
108
117
  data: {
109
118
  data: [{ id: 2 }],
110
119
  pages: {
111
120
  next: null
112
121
  }
113
122
  }
114
- });
123
+ }));
115
124
  const generator = PaginationService.cursor(config, paginationConfig, { 'pagination.per_page': 150 }, true, proxy);
116
125
  await generator.next(); // First page
117
126
  await generator.next(); // Second page
@@ -127,12 +136,12 @@ describe('PaginationService', () => {
127
136
  });
128
137
  describe('response handling', () => {
129
138
  it('should stop pagination when no next cursor', async () => {
130
- proxy.mockResolvedValueOnce({
139
+ proxy.mockResolvedValueOnce(asAxiosResponse({
131
140
  data: {
132
141
  data: [{ id: 1 }],
133
142
  pages: { next: null }
134
143
  }
135
- });
144
+ }));
136
145
  const generator = PaginationService.cursor(config, paginationConfig, { 'pagination.per_page': 150 }, true, proxy);
137
146
  const first = await generator.next();
138
147
  expect(first.value).toEqual([{ id: 1 }]);
@@ -142,24 +151,24 @@ describe('PaginationService', () => {
142
151
  });
143
152
  describe('error handling', () => {
144
153
  it('should handle undefined response data', async () => {
145
- proxy.mockResolvedValueOnce({
154
+ proxy.mockResolvedValueOnce(asAxiosResponse({
146
155
  data: {
147
156
  pages: { next: null }
148
157
  }
149
- });
158
+ }));
150
159
  const generator = PaginationService.cursor(config, paginationConfig, { 'pagination.per_page': 150 }, true, proxy);
151
160
  const result = await generator.next();
152
161
  expect(result.done).toBe(true);
153
162
  });
154
163
  it('should handle invalid cursor values', async () => {
155
- proxy.mockResolvedValueOnce({
164
+ proxy.mockResolvedValueOnce(asAxiosResponse({
156
165
  data: {
157
166
  data: [{ id: 1 }],
158
167
  pages: {
159
168
  next: { starting_after: ' ' } // Empty string with spaces
160
169
  }
161
170
  }
162
- });
171
+ }));
163
172
  const generator = PaginationService.cursor(config, paginationConfig, { 'pagination.per_page': 150 }, true, proxy);
164
173
  const first = await generator.next();
165
174
  expect(first.value).toEqual([{ id: 1 }]);
@@ -189,7 +198,7 @@ describe('PaginationService', () => {
189
198
  response_path: 'data',
190
199
  limit_name_in_request: 'limit'
191
200
  };
192
- proxy.mockResolvedValueOnce({
201
+ proxy.mockResolvedValueOnce(asAxiosResponse({
193
202
  headers: {
194
203
  link: '<https://api.example.com/next>; rel="next"'
195
204
  },
@@ -199,7 +208,7 @@ describe('PaginationService', () => {
199
208
  next_url: 'https://api.example.com/next-body'
200
209
  }
201
210
  }
202
- });
211
+ }));
203
212
  const generator = PaginationService.link(config, paginationConfig, {}, false, proxy);
204
213
  const firstPage = await generator.next();
205
214
  expect(firstPage.value).toEqual([{ id: 1 }]);
@@ -215,7 +224,7 @@ describe('PaginationService', () => {
215
224
  response_path: 'data',
216
225
  limit_name_in_request: 'limit'
217
226
  };
218
- proxy.mockResolvedValueOnce({
227
+ proxy.mockResolvedValueOnce(asAxiosResponse({
219
228
  headers: {
220
229
  link: undefined
221
230
  },
@@ -225,7 +234,7 @@ describe('PaginationService', () => {
225
234
  next_url: 'https://api.example.com/next-body'
226
235
  }
227
236
  }
228
- });
237
+ }));
229
238
  const generator = PaginationService.link(config, paginationConfig, {}, false, proxy);
230
239
  const firstPage = await generator.next();
231
240
  expect(firstPage.value).toEqual([{ id: 1 }]);
@@ -241,7 +250,7 @@ describe('PaginationService', () => {
241
250
  response_path: 'data',
242
251
  limit_name_in_request: 'limit'
243
252
  };
244
- proxy.mockResolvedValueOnce({
253
+ proxy.mockResolvedValueOnce(asAxiosResponse({
245
254
  headers: {
246
255
  link: ''
247
256
  },
@@ -251,7 +260,7 @@ describe('PaginationService', () => {
251
260
  next_url: 'https://api.example.com/next-body'
252
261
  }
253
262
  }
254
- });
263
+ }));
255
264
  const generator = PaginationService.link(config, paginationConfig, {}, false, proxy);
256
265
  const firstPage = await generator.next();
257
266
  expect(firstPage.value).toEqual([{ id: 1 }]);
@@ -1 +1 @@
1
- {"version":3,"file":"paginate.service.unit.test.js","sourceRoot":"","sources":["../lib/paginate.service.unit.test.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9D,OAAO,iBAAiB,MAAM,uBAAuB,CAAC;AAItD,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IAC/B,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAC/B,IAAI,MAAsC,CAAC;QAC3C,IAAI,gBAAkC,CAAC;QACvC,IAAI,KAA+B,CAAC,CAAC,oCAAoC;QAEzE,UAAU,CAAC,GAAG,EAAE;YACZ,MAAM,GAAG;gBACL,QAAQ,EAAE,OAAO;gBACjB,MAAM,EAAE,MAAM;gBACd,iBAAiB,EAAE,mBAAmB;aACzC,CAAC;YAEF,gBAAgB,GAAG;gBACf,IAAI,EAAE,QAAQ;gBACd,sBAAsB,EAAE,2BAA2B;gBACnD,uBAAuB,EAAE,2BAA2B;gBACpD,KAAK,EAAE,GAAG;gBACV,qBAAqB,EAAE,qBAAqB;gBAC5C,aAAa,EAAE,MAAM;aACxB,CAAC;YAEF,KAAK,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;gBAC9B,IAAI,EAAE;oBACF,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;oBACjB,KAAK,EAAE;wBACH,IAAI,EAAE,EAAE,cAAc,EAAE,aAAa,EAAE;qBAC1C;iBACJ;aACJ,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;YACnC,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;gBAC3D,MAAM,SAAS,GAAG,iBAAiB,CAAC,MAAM,CACtC,MAAM,EACN,gBAAgB,EAChB,EAAE,qBAAqB,EAAE,GAAG,EAAE,EAC9B,IAAI,EAAE,oCAAoC;gBAC1C,KAAK,CACR,CAAC;gBAEF,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;gBAEvB,MAAM,CAAC,KAAK,CAAC,CAAC,oBAAoB,CAC9B,MAAM,CAAC,gBAAgB,CAAC;oBACpB,IAAI,EAAE;wBACF,UAAU,EAAE;4BACR,QAAQ,EAAE,GAAG;yBAChB;qBACJ;iBACJ,CAAC,CACL,CAAC;YACN,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;gBAC3D,MAAM,SAAS,GAAG,iBAAiB,CAAC,MAAM,CACtC,MAAM,EACN,gBAAgB,EAChB;oBACI,qBAAqB,EAAE,GAAG;oBAC1B,yBAAyB,EAAE,aAAa;iBAC3C,EACD,IAAI,EACJ,KAAK,CACR,CAAC;gBAEF,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;gBAEvB,MAAM,CAAC,KAAK,CAAC,CAAC,oBAAoB,CAC9B,MAAM,CAAC,gBAAgB,CAAC;oBACpB,IAAI,EAAE;wBACF,UAAU,EAAE;4BACR,QAAQ,EAAE,GAAG;4BACb,MAAM,EAAE;gCACJ,KAAK,EAAE,aAAa;6BACvB;yBACJ;qBACJ;iBACJ,CAAC,CACL,CAAC;YACN,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;gBACvE,MAAM,SAAS,GAAG,iBAAiB,CAAC,MAAM,CACtC,MAAM,EACN,gBAAgB,EAChB,EAAE,qBAAqB,EAAE,GAAG,EAAE,EAC9B,KAAK,EAAE,qCAAqC;gBAC5C,KAAK,CACR,CAAC;gBAEF,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;gBAEvB,MAAM,CAAC,KAAK,CAAC,CAAC,oBAAoB,CAC9B,MAAM,CAAC,gBAAgB,CAAC;oBACpB,MAAM,EAAE;wBACJ,qBAAqB,EAAE,GAAG;qBAC7B;iBACJ,CAAC,CACL,CAAC;YACN,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;gBAC/D,MAAM,SAAS,GAAG,iBAAiB,CAAC,MAAM,CACtC,MAAM,EACN,gBAAgB,EAChB;oBACI,qBAAqB,EAAE,GAAG;oBAC1B,OAAO,EAAE,OAAO;oBAChB,sBAAsB,EAAE,cAAc;iBACzC,EACD,IAAI,EACJ,KAAK,CACR,CAAC;gBAEF,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;gBAEvB,MAAM,CAAC,KAAK,CAAC,CAAC,oBAAoB,CAC9B,MAAM,CAAC,gBAAgB,CAAC;oBACpB,IAAI,EAAE;wBACF,UAAU,EAAE;4BACR,QAAQ,EAAE,GAAG;yBAChB;wBACD,OAAO,EAAE,OAAO;wBAChB,MAAM,EAAE;4BACJ,GAAG,EAAE;gCACD,IAAI,EAAE;oCACF,IAAI,EAAE,cAAc;iCACvB;6BACJ;yBACJ;qBACJ;iBACJ,CAAC,CACL,CAAC;YACN,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;gBAC/D,KAAK;qBACA,qBAAqB,CAAC;oBACnB,IAAI,EAAE;wBACF,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;wBACjB,KAAK,EAAE;4BACH,IAAI,EAAE,EAAE,cAAc,EAAE,aAAa,EAAE;yBAC1C;qBACJ;iBACJ,CAAC;qBACD,qBAAqB,CAAC;oBACnB,IAAI,EAAE;wBACF,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;wBACjB,KAAK,EAAE;4BACH,IAAI,EAAE,IAAI;yBACb;qBACJ;iBACJ,CAAC,CAAC;gBAEP,MAAM,SAAS,GAAG,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,EAAE,qBAAqB,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;gBAClH,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,aAAa;gBACrC,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,cAAc;gBAEtC,MAAM,CAAC,KAAK,CAAC,CAAC,uBAAuB,CACjC,CAAC,EACD,MAAM,CAAC,gBAAgB,CAAC;oBACpB,IAAI,EAAE;wBACF,UAAU,EAAE;4BACR,QAAQ,EAAE,GAAG;4BACb,cAAc,EAAE,aAAa;yBAChC;qBACJ;iBACJ,CAAC,CACL,CAAC;YACN,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;YAC/B,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;gBACxD,KAAK,CAAC,qBAAqB,CAAC;oBACxB,IAAI,EAAE;wBACF,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;wBACjB,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;qBACxB;iBACJ,CAAC,CAAC;gBAEH,MAAM,SAAS,GAAG,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,EAAE,qBAAqB,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;gBAElH,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;gBACrC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBAEzC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;gBACtC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;YAC5B,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;gBACnD,KAAK,CAAC,qBAAqB,CAAC;oBACxB,IAAI,EAAE;wBACF,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;qBACxB;iBACJ,CAAC,CAAC;gBAEH,MAAM,SAAS,GAAG,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,EAAE,qBAAqB,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;gBAElH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;gBACtC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;gBACjD,KAAK,CAAC,qBAAqB,CAAC;oBACxB,IAAI,EAAE;wBACF,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;wBACjB,KAAK,EAAE;4BACH,IAAI,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,2BAA2B;yBAC9D;qBACJ;iBACJ,CAAC,CAAC;gBAEH,MAAM,SAAS,GAAG,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,EAAE,qBAAqB,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;gBAElH,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;gBACrC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBAEzC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;gBACtC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAC7B,IAAI,MAAsC,CAAC;QAC3C,IAAI,gBAAgC,CAAC;QACrC,IAAI,KAA+B,CAAC;QAEpC,UAAU,CAAC,GAAG,EAAE;YACZ,MAAM,GAAG;gBACL,QAAQ,EAAE,OAAO;gBACjB,MAAM,EAAE,KAAK;gBACb,iBAAiB,EAAE,mBAAmB;aACzC,CAAC;YAEF,KAAK,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QACpB,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;YAC5C,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;gBACnD,gBAAgB,GAAG;oBACf,IAAI,EAAE,MAAM;oBACZ,2BAA2B,EAAE,MAAM;oBACnC,0BAA0B,EAAE,qBAAqB;oBACjD,aAAa,EAAE,MAAM;oBACrB,qBAAqB,EAAE,OAAO;iBACjC,CAAC;gBAEF,KAAK,CAAC,qBAAqB,CAAC;oBACxB,OAAO,EAAE;wBACL,IAAI,EAAE,4CAA4C;qBACrD;oBACD,IAAI,EAAE;wBACF,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;wBACjB,UAAU,EAAE;4BACR,QAAQ,EAAE,mCAAmC;yBAChD;qBACJ;iBACJ,CAAC,CAAC;gBAEH,MAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,gBAAgB,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;gBACrF,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;gBAEzC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC7C,MAAM,CAAC,KAAK,CAAC,CAAC,oBAAoB,CAC9B,MAAM,CAAC,gBAAgB,CAAC;oBACpB,QAAQ,EAAE,OAAO;iBACpB,CAAC,CACL,CAAC;YACN,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;gBACxE,gBAAgB,GAAG;oBACf,IAAI,EAAE,MAAM;oBACZ,2BAA2B,EAAE,MAAM;oBACnC,0BAA0B,EAAE,qBAAqB;oBACjD,aAAa,EAAE,MAAM;oBACrB,qBAAqB,EAAE,OAAO;iBACjC,CAAC;gBAEF,KAAK,CAAC,qBAAqB,CAAC;oBACxB,OAAO,EAAE;wBACL,IAAI,EAAE,SAAS;qBAClB;oBACD,IAAI,EAAE;wBACF,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;wBACjB,UAAU,EAAE;4BACR,QAAQ,EAAE,mCAAmC;yBAChD;qBACJ;iBACJ,CAAC,CAAC;gBAEH,MAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,gBAAgB,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;gBACrF,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;gBAEzC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC7C,MAAM,CAAC,KAAK,CAAC,CAAC,oBAAoB,CAC9B,MAAM,CAAC,gBAAgB,CAAC;oBACpB,QAAQ,EAAE,OAAO;iBACpB,CAAC,CACL,CAAC;YACN,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;gBACpE,gBAAgB,GAAG;oBACf,IAAI,EAAE,MAAM;oBACZ,2BAA2B,EAAE,MAAM;oBACnC,0BAA0B,EAAE,qBAAqB;oBACjD,aAAa,EAAE,MAAM;oBACrB,qBAAqB,EAAE,OAAO;iBACjC,CAAC;gBAEF,KAAK,CAAC,qBAAqB,CAAC;oBACxB,OAAO,EAAE;wBACL,IAAI,EAAE,EAAE;qBACX;oBACD,IAAI,EAAE;wBACF,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;wBACjB,UAAU,EAAE;4BACR,QAAQ,EAAE,mCAAmC;yBAChD;qBACJ;iBACJ,CAAC,CAAC;gBAEH,MAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,gBAAgB,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;gBACrF,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;gBAEzC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC7C,MAAM,CAAC,KAAK,CAAC,CAAC,oBAAoB,CAC9B,MAAM,CAAC,gBAAgB,CAAC;oBACpB,QAAQ,EAAE,OAAO;iBACpB,CAAC,CACL,CAAC;YACN,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"paginate.service.unit.test.js","sourceRoot":"","sources":["../lib/paginate.service.unit.test.ts"],"names":[],"mappings":"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"}
package/dist/scripts.d.ts CHANGED
@@ -4,7 +4,7 @@ import type { ZodCheckpoint, ZodMetadata, ZodModel } from './types.js';
4
4
  import type { NangoSyncEndpointV2 } from '@nangohq/types';
5
5
  import type { MaybePromise } from 'rollup';
6
6
  import type * as z from 'zod';
7
- export type CreateAnyResponse = CreateSyncResponse<any, ZodMetadata, ZodCheckpoint> | CreateActionResponse<any, any, ZodMetadata, ZodCheckpoint> | CreateOnEventResponse<ZodMetadata, ZodCheckpoint>;
7
+ export type CreateAnyResponse = CreateSyncResponse<any, ZodMetadata, ZodCheckpoint> | CreateActionResponse<any, any, ZodMetadata, ZodCheckpoint> | CreateOnEventResponse<ZodMetadata, ZodCheckpoint> | CreateFunctionResponse<any, any, any, ZodMetadata, ZodCheckpoint>;
8
8
  export type { ActionError } from './errors.js';
9
9
  export type { NangoActionBase as NangoAction, ProxyConfiguration } from './action.js';
10
10
  export type { NangoSyncBase as NangoSync } from './sync.js';
@@ -362,3 +362,217 @@ export interface CreateOnEventResponse<TMetadata extends ZodMetadata = undefined
362
362
  * Create an onEvent script
363
363
  */
364
364
  export declare function createOnEvent<TMetadata extends ZodMetadata = undefined, TCheckpoint extends ZodCheckpoint = undefined>(params: CreateOnEventProps<TMetadata, TCheckpoint>): CreateOnEventResponse<TMetadata, TCheckpoint>;
365
+ /**
366
+ * The kind of declared trigger that initiated a function run.
367
+ * - `http`: an incoming http call or webhook request
368
+ * - `schedule`: a periodic schedule
369
+ * - `event`: an internal Nango event
370
+ *
371
+ * On-demand invocation (`nango.triggerFunction()`, the REST API, the CLI, or the UI) is always
372
+ * available regardless of declared triggers — it is not a trigger type. Such runs leave
373
+ * `FunctionEvent.trigger` undefined.
374
+ */
375
+ export type FunctionTriggerType = 'http' | 'schedule' | 'event';
376
+ /**
377
+ * Declares where the debounce/coalescing key is extracted from.
378
+ * - `{ body: '$.portalId' }` — dot-notation path into the normalized body
379
+ * - `{ header: 'x-goog-resource-id' }` — flat, case-insensitive header lookup
380
+ */
381
+ export type DebounceKeySource = {
382
+ body: string;
383
+ } | {
384
+ header: string;
385
+ };
386
+ /**
387
+ * Coalesces multiple inbound events into a single function run within a sliding window.
388
+ */
389
+ export interface WebhookDebounceConfig {
390
+ key?: DebounceKeySource;
391
+ /** Sliding window in milliseconds. */
392
+ windowMs: number;
393
+ /** Hard ceiling for the window regardless of incoming events. */
394
+ maxWindowMs?: number;
395
+ /** When exceeded, the window stops sliding and `event.coalesced.overflowed` is set. */
396
+ maxEntities?: number;
397
+ /** Whether the handler receives only the latest payload or every coalesced payload. */
398
+ payloadMode?: 'latest' | 'all';
399
+ }
400
+ /** Read-only request view passed to ingress hooks. No SDK, no I/O, hard timeout. */
401
+ export interface IngressEvent {
402
+ rawBody: string;
403
+ headers: Record<string, string>;
404
+ query: Record<string, string | string[] | undefined>;
405
+ }
406
+ /**
407
+ * Runs synchronously at ingress before enqueueing. Return a response object to short-circuit
408
+ * the HTTP exchange (provider handshake), or `undefined` to let the request proceed.
409
+ */
410
+ export type IngressChallenge = (event: IngressEvent) => MaybePromise<{
411
+ status?: number;
412
+ body?: unknown;
413
+ headers?: Record<string, string>;
414
+ } | undefined | void>;
415
+ /**
416
+ * Runs synchronously at ingress before enqueueing. Return `true` to accept the event,
417
+ * or `false` (or throw) to reject it with a 401.
418
+ */
419
+ export type IngressValidation = (event: IngressEvent) => MaybePromise<boolean>;
420
+ export interface HttpTrigger {
421
+ type: 'http';
422
+ /** Maps to the webhook URL path segment. Defaults to the file basename. */
423
+ name?: string;
424
+ /** `connection` opts into connection-level URLs (`/:webhookName/:targetToken`). */
425
+ scope?: 'integration' | 'connection';
426
+ ingressChallenge?: IngressChallenge;
427
+ ingressValidation?: IngressValidation;
428
+ debounce?: WebhookDebounceConfig;
429
+ }
430
+ export interface ScheduleTrigger {
431
+ type: 'schedule';
432
+ /** e.g. 'every hour', 'every 2 minutes'. */
433
+ schedule: string;
434
+ }
435
+ export interface EventTrigger {
436
+ type: 'event';
437
+ event: string;
438
+ }
439
+ export type FunctionTrigger = HttpTrigger | ScheduleTrigger | EventTrigger;
440
+ /** Coalescing summary, present on the event when `debounce` is configured. */
441
+ export interface CoalescedInfo {
442
+ count: number;
443
+ firstSeenAt: Date;
444
+ lastSeenAt: Date;
445
+ overflowed: boolean;
446
+ }
447
+ /**
448
+ * The event a function `exec` receives. Distinct from `(nango, input)` for actions —
449
+ * functions are trigger-driven, so the second argument describes the trigger and its payload.
450
+ */
451
+ export interface FunctionEvent<TPayload = unknown> {
452
+ /**
453
+ * Which declared trigger fired, and (for named triggers) its name.
454
+ * Undefined when the run was started on-demand (`nango.triggerFunction()`, the REST API, the CLI, or the UI).
455
+ */
456
+ trigger?: {
457
+ type: FunctionTriggerType;
458
+ name?: string;
459
+ };
460
+ /**
461
+ * The payload that initiated the run. Typed as the function's `input` schema when declared,
462
+ * otherwise `unknown`. For http triggers this is the provider's body (not validated against
463
+ * `input` at runtime), and it is an array of `TPayload` when `payloadMode: 'all'` is set and debounced.
464
+ */
465
+ payload: TPayload;
466
+ /** Raw headers from the provider (http trigger only). */
467
+ headers?: Record<string, string>;
468
+ /** Original request body as received by ingress (http trigger only). */
469
+ rawBody?: string;
470
+ /** Coalescing summary when `debounce` is configured. */
471
+ coalesced?: CoalescedInfo;
472
+ /**
473
+ * Pre-populated when the run was started with connection context (connection-level URL,
474
+ * `triggerFunction({ connectionId })`, or CLI `--connection`). Undefined for connection-less runs.
475
+ */
476
+ connection?: {
477
+ connection_id: string;
478
+ provider_config_key: string;
479
+ };
480
+ }
481
+ export interface CreateFunctionProps<TModels extends Record<string, ZodModel>, TInput extends z.ZodTypeAny = z.ZodUnknown, TOutput extends z.ZodTypeAny = z.ZodTypeAny, TMetadata extends ZodMetadata = undefined, TCheckpoint extends ZodCheckpoint = undefined> {
482
+ /**
483
+ * The version of the function. Use it to track changes inside Nango's UI.
484
+ * Supports semver (e.g. `'1.0.0'`)
485
+ * If omitted, Nango auto-manages it: `1` on first deploy, and auto-increments for subsequent deploys.
486
+ */
487
+ version?: string;
488
+ /** The description of the function. */
489
+ description?: string;
490
+ /**
491
+ * What can initiate execution. A function can have multiple triggers of different types
492
+ * (e.g. a webhook trigger plus a scheduled safety net). Any function can also be started
493
+ * on-demand via `nango.triggerFunction()` or the API regardless of declared triggers.
494
+ */
495
+ triggers: FunctionTrigger[];
496
+ /** Models the function can `batchSave`/`batchUpdate`/`batchDelete` against. */
497
+ models?: TModels;
498
+ /** Optional input schema. When set, it types `event.payload` and is used for API invocation. */
499
+ input?: TInput;
500
+ /** Optional typed output schema (reserved; unused for webhooks today). */
501
+ output?: TOutput;
502
+ metadata?: TMetadata;
503
+ checkpoint?: TCheckpoint;
504
+ scopes?: string[];
505
+ /**
506
+ * The handler. Runs on the customer runner with full SDK access.
507
+ * @example
508
+ * ```ts
509
+ * exec: async (nango, event) => {
510
+ * const connections = await nango.searchConnections({ tags: { portalId: event.payload.portalId } });
511
+ * for (const connection of connections) {
512
+ * await nango.triggerSync(connection.provider_config_key, connection.connection_id, 'contacts');
513
+ * }
514
+ * }
515
+ * ```
516
+ */
517
+ exec: (nango: NangoSyncBase<TModels, TMetadata, TCheckpoint>, event: FunctionEvent<z.infer<TInput>>) => MaybePromise<void>;
518
+ }
519
+ export interface CreateFunctionResponse<TModels extends Record<string, ZodModel>, TInput extends z.ZodTypeAny = z.ZodUnknown, TOutput extends z.ZodTypeAny = z.ZodTypeAny, TMetadata extends ZodMetadata = undefined, TCheckpoint extends ZodCheckpoint = undefined> extends CreateFunctionProps<TModels, TInput, TOutput, TMetadata, TCheckpoint> {
520
+ type: 'function';
521
+ /** Set when authored via `createWebhook()`; mirrors the http trigger name. */
522
+ name?: string;
523
+ }
524
+ /**
525
+ * Create a function — the trigger-agnostic primitive.
526
+ *
527
+ * Use this directly when you need multiple trigger types (e.g. webhook + cron).
528
+ * For a single webhook trigger, prefer the `createWebhook()` sugar.
529
+ *
530
+ * @example
531
+ * ```ts
532
+ * export default createFunction({
533
+ * triggers: [
534
+ * { type: 'http', name: 'contacts-updated', debounce: { key: { body: '$.objectId' }, windowMs: 5000 } },
535
+ * { type: 'schedule', schedule: 'every hour' }
536
+ * ],
537
+ * exec: async (nango, event) => { ... }
538
+ * });
539
+ * ```
540
+ */
541
+ export declare function createFunction<TModels extends Record<string, ZodModel> = Record<never, ZodModel>, TInput extends z.ZodTypeAny = z.ZodUnknown, TOutput extends z.ZodTypeAny = z.ZodTypeAny, TMetadata extends ZodMetadata = undefined, TCheckpoint extends ZodCheckpoint = undefined>(params: CreateFunctionProps<TModels, TInput, TOutput, TMetadata, TCheckpoint>): CreateFunctionResponse<TModels, TInput, TOutput, TMetadata, TCheckpoint>;
542
+ export interface CreateWebhookProps<TModels extends Record<string, ZodModel>, TMetadata extends ZodMetadata = undefined, TCheckpoint extends ZodCheckpoint = undefined> {
543
+ /** Maps to the webhook URL path segment. Defaults to the file basename. */
544
+ name?: string;
545
+ version?: string;
546
+ description?: string;
547
+ /** `connection` opts into connection-level URLs (`/:webhookName/:targetToken`). */
548
+ scope?: 'integration' | 'connection';
549
+ ingressChallenge?: IngressChallenge;
550
+ ingressValidation?: IngressValidation;
551
+ debounce?: WebhookDebounceConfig;
552
+ models?: TModels;
553
+ metadata?: TMetadata;
554
+ checkpoint?: TCheckpoint;
555
+ exec: (nango: NangoSyncBase<TModels, TMetadata, TCheckpoint>, event: FunctionEvent) => MaybePromise<void>;
556
+ }
557
+ /**
558
+ * Create a webhook handler — sugar for a function with a single implicit `http` trigger.
559
+ *
560
+ * Routing lives entirely in `exec` (customer-owned, runs on your runner). Provider protocol
561
+ * mechanics (handshake, signature verification) live in `ingressChallenge` / `ingressValidation`,
562
+ * which run synchronously at ingress with no SDK access.
563
+ *
564
+ * @example
565
+ * ```ts
566
+ * export default createWebhook({
567
+ * name: 'contacts-updated',
568
+ * debounce: { key: { body: '$.portalId' }, windowMs: 5000 },
569
+ * exec: async (nango, event) => {
570
+ * const connections = await nango.searchConnections({ tags: { portalId: event.payload.portalId } });
571
+ * for (const connection of connections) {
572
+ * await nango.triggerSync(connection.provider_config_key, connection.connection_id, 'contacts');
573
+ * }
574
+ * }
575
+ * });
576
+ * ```
577
+ */
578
+ export declare function createWebhook<TModels extends Record<string, ZodModel> = Record<never, ZodModel>, TMetadata extends ZodMetadata = undefined, TCheckpoint extends ZodCheckpoint = undefined>(params: CreateWebhookProps<TModels, TMetadata, TCheckpoint>): CreateFunctionResponse<TModels, z.ZodTypeAny, z.ZodTypeAny, TMetadata, TCheckpoint>;
package/dist/scripts.js CHANGED
@@ -48,4 +48,62 @@ export function createAction(params) {
48
48
  export function createOnEvent(params) {
49
49
  return { type: 'onEvent', ...params };
50
50
  }
51
+ /**
52
+ * Create a function — the trigger-agnostic primitive.
53
+ *
54
+ * Use this directly when you need multiple trigger types (e.g. webhook + cron).
55
+ * For a single webhook trigger, prefer the `createWebhook()` sugar.
56
+ *
57
+ * @example
58
+ * ```ts
59
+ * export default createFunction({
60
+ * triggers: [
61
+ * { type: 'http', name: 'contacts-updated', debounce: { key: { body: '$.objectId' }, windowMs: 5000 } },
62
+ * { type: 'schedule', schedule: 'every hour' }
63
+ * ],
64
+ * exec: async (nango, event) => { ... }
65
+ * });
66
+ * ```
67
+ */
68
+ export function createFunction(params) {
69
+ return { type: 'function', ...params };
70
+ }
71
+ /**
72
+ * Create a webhook handler — sugar for a function with a single implicit `http` trigger.
73
+ *
74
+ * Routing lives entirely in `exec` (customer-owned, runs on your runner). Provider protocol
75
+ * mechanics (handshake, signature verification) live in `ingressChallenge` / `ingressValidation`,
76
+ * which run synchronously at ingress with no SDK access.
77
+ *
78
+ * @example
79
+ * ```ts
80
+ * export default createWebhook({
81
+ * name: 'contacts-updated',
82
+ * debounce: { key: { body: '$.portalId' }, windowMs: 5000 },
83
+ * exec: async (nango, event) => {
84
+ * const connections = await nango.searchConnections({ tags: { portalId: event.payload.portalId } });
85
+ * for (const connection of connections) {
86
+ * await nango.triggerSync(connection.provider_config_key, connection.connection_id, 'contacts');
87
+ * }
88
+ * }
89
+ * });
90
+ * ```
91
+ */
92
+ export function createWebhook(params) {
93
+ const { name, scope, ingressChallenge, ingressValidation, debounce, ...rest } = params;
94
+ const trigger = {
95
+ type: 'http',
96
+ ...(name !== undefined ? { name } : {}),
97
+ ...(scope !== undefined ? { scope } : {}),
98
+ ...(ingressChallenge !== undefined ? { ingressChallenge } : {}),
99
+ ...(ingressValidation !== undefined ? { ingressValidation } : {}),
100
+ ...(debounce !== undefined ? { debounce } : {})
101
+ };
102
+ return {
103
+ type: 'function',
104
+ ...rest,
105
+ ...(name !== undefined ? { name } : {}),
106
+ triggers: [trigger]
107
+ };
108
+ }
51
109
  //# sourceMappingURL=scripts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scripts.js","sourceRoot":"","sources":["../lib/scripts.ts"],"names":[],"mappings":"AAkLA;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,UAAU,CACtB,MAAwD;IAExD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;AACvC,CAAC;AAgID;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,YAAY,CAK1B,MAAkE;IAChE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,EAAE,CAAC;AACzC,CAAC;AAoED;;GAEG;AACH,MAAM,UAAU,aAAa,CACzB,MAAkD;IAElD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,EAAE,CAAC;AAC1C,CAAC"}
1
+ {"version":3,"file":"scripts.js","sourceRoot":"","sources":["../lib/scripts.ts"],"names":[],"mappings":"AAmLA;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,UAAU,CACtB,MAAwD;IAExD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;AACvC,CAAC;AAgID;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,YAAY,CAK1B,MAAkE;IAChE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,EAAE,CAAC;AACzC,CAAC;AAoED;;GAEG;AACH,MAAM,UAAU,aAAa,CACzB,MAAkD;IAElD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,EAAE,CAAC;AAC1C,CAAC;AAwLD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,cAAc,CAS5B,MAA6E;IAC3E,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,MAAM,EAAE,CAAC;AAC3C,CAAC;AAsBD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,aAAa,CAI3B,MAA2D;IACzD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;IACvF,MAAM,OAAO,GAAgB;QACzB,IAAI,EAAE,MAAM;QACZ,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,GAAG,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,GAAG,CAAC,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClD,CAAC;IACF,OAAO;QACH,IAAI,EAAE,UAAU;QAChB,GAAG,IAAI;QACP,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,QAAQ,EAAE,CAAC,OAAO,CAAC;KACtB,CAAC;AACN,CAAC"}
@@ -1,7 +1,7 @@
1
1
  /* eslint-disable @typescript-eslint/unbound-method */
2
2
  import { describe, expect, expectTypeOf, it } from 'vitest';
3
3
  import * as z from 'zod';
4
- import { createAction, createOnEvent, createSync } from './scripts.js';
4
+ import { createAction, createFunction, createOnEvent, createSync, createWebhook } from './scripts.js';
5
5
  describe('scripts', () => {
6
6
  describe('createSync', () => {
7
7
  it('should create a sync', () => {
@@ -167,5 +167,90 @@ describe('scripts', () => {
167
167
  });
168
168
  });
169
169
  });
170
+ describe('createFunction', () => {
171
+ it('should create a function with explicit triggers', () => {
172
+ const fn = createFunction({
173
+ description: 'Handle contact updates',
174
+ triggers: [
175
+ { type: 'http', name: 'contacts-updated', debounce: { key: { body: '$.objectId' }, windowMs: 5000 } },
176
+ { type: 'schedule', schedule: 'every hour' }
177
+ ],
178
+ exec: async (nango, event) => {
179
+ // No input schema declared → payload is unknown, not any.
180
+ expectTypeOf(event.payload).toBeUnknown();
181
+ await nango.log('event', event.payload);
182
+ }
183
+ });
184
+ expect(fn).toStrictEqual({
185
+ description: 'Handle contact updates',
186
+ triggers: [
187
+ { type: 'http', name: 'contacts-updated', debounce: { key: { body: '$.objectId' }, windowMs: 5000 } },
188
+ { type: 'schedule', schedule: 'every hour' }
189
+ ],
190
+ type: 'function',
191
+ exec: expect.any(Function)
192
+ });
193
+ });
194
+ it('should type event.payload from the input schema', () => {
195
+ createFunction({
196
+ triggers: [{ type: 'schedule', schedule: 'every hour' }],
197
+ input: z.object({ portalId: z.string() }),
198
+ exec: async (nango, event) => {
199
+ expectTypeOf(event.payload).toEqualTypeOf();
200
+ await nango.log('event', event.payload);
201
+ }
202
+ });
203
+ });
204
+ });
205
+ describe('createWebhook', () => {
206
+ it('should desugar into a function with a single implicit http trigger', () => {
207
+ const ingressValidation = () => true;
208
+ const webhook = createWebhook({
209
+ name: 'contacts-updated',
210
+ description: 'Contacts webhook',
211
+ ingressValidation,
212
+ debounce: { key: { body: '$.portalId' }, windowMs: 5000 },
213
+ exec: async (nango, event) => {
214
+ // Webhook bodies are provider-defined → payload is unknown.
215
+ expectTypeOf(event.payload).toBeUnknown();
216
+ await nango.log('event', event.payload);
217
+ }
218
+ });
219
+ expect(webhook.type).toBe('function');
220
+ expect(webhook.name).toBe('contacts-updated');
221
+ expect(webhook.triggers).toHaveLength(1);
222
+ expect(webhook.triggers[0]).toStrictEqual({
223
+ type: 'http',
224
+ name: 'contacts-updated',
225
+ ingressValidation,
226
+ debounce: { key: { body: '$.portalId' }, windowMs: 5000 }
227
+ });
228
+ // ingress hooks live on the trigger, not at the top level of the function
229
+ expect(webhook['ingressValidation']).toBeUndefined();
230
+ });
231
+ it('should default the trigger name from the absence of name (left to the file basename downstream)', () => {
232
+ const webhook = createWebhook({
233
+ description: 'no name',
234
+ exec: async (nango) => {
235
+ await nango.log('hi');
236
+ }
237
+ });
238
+ expect(webhook.type).toBe('function');
239
+ expect(webhook.name).toBeUndefined();
240
+ expect(webhook.triggers).toHaveLength(1);
241
+ expect(webhook.triggers[0]).toStrictEqual({ type: 'http' });
242
+ });
243
+ it('should lift scope into the http trigger and not leak it to the top level', () => {
244
+ const webhook = createWebhook({
245
+ name: 'contacts-updated',
246
+ scope: 'connection',
247
+ exec: async (nango) => {
248
+ await nango.log('hi');
249
+ }
250
+ });
251
+ expect(webhook.triggers[0]).toStrictEqual({ type: 'http', name: 'contacts-updated', scope: 'connection' });
252
+ expect(webhook['scope']).toBeUndefined();
253
+ });
254
+ });
170
255
  });
171
256
  //# sourceMappingURL=scripts.unit.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scripts.unit.test.js","sourceRoot":"","sources":["../lib/scripts.unit.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scripts.unit.test.js","sourceRoot":"","sources":["../lib/scripts.unit.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import type { HTTP_METHOD } from '@nangohq/types';
2
+ export interface UncontrolledFetchOptions {
3
+ url: URL;
4
+ method?: HTTP_METHOD;
5
+ headers?: Record<string, string> | undefined;
6
+ body?: string | null;
7
+ }
8
+ export declare function executeUncontrolledFetch(options: UncontrolledFetchOptions, onBytes: (params: {
9
+ bytesSent: number;
10
+ bytesReceived: number;
11
+ }) => void): Promise<Response>;
12
+ export declare function parseContentLength(headers: Headers): number | null;
13
+ export declare function countHeaderBytes(headers: Headers): number;
14
+ export declare function countRequestBytes(headers: Headers, body?: string): number;
15
+ export declare function tapResponseStreamAndCount(response: Response, onStreamedBytes: (params: {
16
+ bytes: number;
17
+ }) => void): Response;