polarity-integration-utils 4.2.0 → 4.2.2

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.
@@ -187,13 +187,21 @@ export type IsApiErrorResult = {
187
187
  export type IsApiErrorFunction = (response: HttpRequestResponse, requestOptions: HttpRequestOptions, userOptions: DoLookupUserOptions) => IsApiErrorResult;
188
188
  /**
189
189
  * Minimal interface for a rate limiter compatible with PolarityRequest.
190
- * The Polarity server provides a Bottleneck instance that satisfies this interface.
190
+ * Only requires the `schedule` method, which is the sole method used internally.
191
+ * The Polarity server provides a full `Limiter` instance (from
192
+ * `@polarityio/integration-types`) that satisfies this interface, but consumers
193
+ * may also pass simpler objects or mocks that only implement `schedule`.
191
194
  *
192
195
  * @public
193
196
  */
194
- export interface Limiter {
197
+ export interface PolarityRequestLimiter {
195
198
  schedule<T>(fn: (...args: unknown[]) => PromiseLike<T>, ...args: unknown[]): Promise<T>;
196
199
  }
200
+ /**
201
+ * @deprecated Use {@link PolarityRequestLimiter} instead. This alias will be removed in a future major version.
202
+ * @public
203
+ */
204
+ export type Limiter = PolarityRequestLimiter;
197
205
  /**
198
206
  * Hook that runs before an HTTP request is made. Each hook receives the output
199
207
  * of the previous hook, allowing request options to be modified in a chain.
@@ -277,7 +285,7 @@ export interface PolarityRequestOptions {
277
285
  httpResponseErrorMessageProperties?: string[];
278
286
  requestOptionsToSanitize?: string[];
279
287
  hooks?: PolarityRequestHooks;
280
- limiter?: Limiter;
288
+ limiter?: PolarityRequestLimiter;
281
289
  }
282
290
  /**
283
291
  * A utility class for making HTTP requests
@@ -343,7 +351,7 @@ export declare class PolarityRequest {
343
351
  * through this limiter. Typically provided by the Polarity server via the
344
352
  * integration context.
345
353
  */
346
- limiter: Limiter | null;
354
+ limiter: PolarityRequestLimiter | null;
347
355
  /**
348
356
  * Lifecycle hooks for customizing request behavior. Hooks are configured via the
349
357
  * {@link PolarityRequestOptions.hooks} property when creating a new instance of the
@@ -1 +1 @@
1
- {"version":3,"file":"polarity-request.d.ts","sourceRoot":"","sources":["../../../lib/requests/polarity-request.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"polarity-request.d.ts","sourceRoot":"","sources":["../../../lib/requests/polarity-request.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"create-mock-integration-context.d.ts","sourceRoot":"","sources":["../../../../lib/testing/enhanced-utils/create-mock-integration-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAExE;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;AAI1D;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,4BAA4B,GACvC,eAAc,aAAoB,KACjC,kBAqCF,CAAC"}
1
+ {"version":3,"file":"create-mock-integration-context.d.ts","sourceRoot":"","sources":["../../../../lib/testing/enhanced-utils/create-mock-integration-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAExE;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;AAI1D;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,4BAA4B,GACvC,eAAc,aAAoB,KACjC,kBAuGF,CAAC"}
@@ -44,12 +44,46 @@ const createMockIntegrationContext = (createMockFn = noOp) => {
44
44
  fatal: createMockFn()
45
45
  };
46
46
  // Make child() return the logger for method chaining
47
- if (typeof childFn.mockReturnValue === 'function') {
47
+ if (typeof childFn.mockReturnValue ===
48
+ 'function') {
48
49
  childFn.mockReturnValue(logger);
49
50
  }
50
51
  else {
51
52
  logger.child = () => logger;
52
53
  }
54
+ // Create a limiter schedule passthrough that executes the provided callback
55
+ // (matching Bottleneck behavior) while remaining spyable.
56
+ // Supports both schedule(fn, ...args) and schedule(options, fn, ...args) overloads.
57
+ const scheduleImpl = async (fnOrOptions, ...rest) => {
58
+ const fn = (typeof fnOrOptions === 'function' ? fnOrOptions : rest[0]);
59
+ const args = typeof fnOrOptions === 'function' ? rest : rest.slice(1);
60
+ return fn(...args);
61
+ };
62
+ const countsImpl = () => ({
63
+ EXECUTING: 0,
64
+ QUEUED: 0,
65
+ RUNNING: 0,
66
+ DONE: 0,
67
+ RECEIVED: 0
68
+ });
69
+ const settingsImpl = () => ({});
70
+ const scheduleMock = createMockFn();
71
+ const countsMock = createMockFn();
72
+ const settingsMock = createMockFn();
73
+ const scopeMock = createMockFn();
74
+ const updateSettingsMock = createMockFn();
75
+ const hasMockImplementation = typeof scheduleMock
76
+ .mockImplementation === 'function';
77
+ if (hasMockImplementation) {
78
+ const setImpl = (mock, impl) => mock.mockImplementation(impl);
79
+ setImpl(scheduleMock, scheduleImpl);
80
+ setImpl(countsMock, countsImpl);
81
+ setImpl(settingsMock, settingsImpl);
82
+ setImpl(updateSettingsMock, async () => undefined);
83
+ setImpl(scopeMock, () => ({
84
+ schedule: scheduleMock
85
+ }));
86
+ }
53
87
  return {
54
88
  cache: {
55
89
  global: createCacheScope(),
@@ -59,6 +93,23 @@ const createMockIntegrationContext = (createMockFn = noOp) => {
59
93
  integrationId: 'test-integration',
60
94
  userId: 1,
61
95
  logger,
96
+ limiter: {
97
+ schedule: (hasMockImplementation
98
+ ? scheduleMock
99
+ : scheduleImpl),
100
+ updateSettings: (hasMockImplementation
101
+ ? updateSettingsMock
102
+ : async () => undefined),
103
+ counts: (hasMockImplementation
104
+ ? countsMock
105
+ : countsImpl),
106
+ settings: (hasMockImplementation
107
+ ? settingsMock
108
+ : settingsImpl),
109
+ scope: (hasMockImplementation
110
+ ? scopeMock
111
+ : () => ({ schedule: scheduleImpl }))
112
+ },
62
113
  startPolling: createMockFn(),
63
114
  stopPolling: createMockFn()
64
115
  };
@@ -44,12 +44,46 @@ const createMockIntegrationContext = (createMockFn = noOp) => {
44
44
  fatal: createMockFn()
45
45
  };
46
46
  // Make child() return the logger for method chaining
47
- if (typeof childFn.mockReturnValue === 'function') {
47
+ if (typeof childFn.mockReturnValue ===
48
+ 'function') {
48
49
  childFn.mockReturnValue(logger);
49
50
  }
50
51
  else {
51
52
  logger.child = () => logger;
52
53
  }
54
+ // Create a limiter schedule passthrough that executes the provided callback
55
+ // (matching Bottleneck behavior) while remaining spyable.
56
+ // Supports both schedule(fn, ...args) and schedule(options, fn, ...args) overloads.
57
+ const scheduleImpl = async (fnOrOptions, ...rest) => {
58
+ const fn = (typeof fnOrOptions === 'function' ? fnOrOptions : rest[0]);
59
+ const args = typeof fnOrOptions === 'function' ? rest : rest.slice(1);
60
+ return fn(...args);
61
+ };
62
+ const countsImpl = () => ({
63
+ EXECUTING: 0,
64
+ QUEUED: 0,
65
+ RUNNING: 0,
66
+ DONE: 0,
67
+ RECEIVED: 0
68
+ });
69
+ const settingsImpl = () => ({});
70
+ const scheduleMock = createMockFn();
71
+ const countsMock = createMockFn();
72
+ const settingsMock = createMockFn();
73
+ const scopeMock = createMockFn();
74
+ const updateSettingsMock = createMockFn();
75
+ const hasMockImplementation = typeof scheduleMock
76
+ .mockImplementation === 'function';
77
+ if (hasMockImplementation) {
78
+ const setImpl = (mock, impl) => mock.mockImplementation(impl);
79
+ setImpl(scheduleMock, scheduleImpl);
80
+ setImpl(countsMock, countsImpl);
81
+ setImpl(settingsMock, settingsImpl);
82
+ setImpl(updateSettingsMock, async () => undefined);
83
+ setImpl(scopeMock, () => ({
84
+ schedule: scheduleMock
85
+ }));
86
+ }
53
87
  return {
54
88
  cache: {
55
89
  global: createCacheScope(),
@@ -59,6 +93,23 @@ const createMockIntegrationContext = (createMockFn = noOp) => {
59
93
  integrationId: 'test-integration',
60
94
  userId: 1,
61
95
  logger,
96
+ limiter: {
97
+ schedule: (hasMockImplementation
98
+ ? scheduleMock
99
+ : scheduleImpl),
100
+ updateSettings: (hasMockImplementation
101
+ ? updateSettingsMock
102
+ : async () => undefined),
103
+ counts: (hasMockImplementation
104
+ ? countsMock
105
+ : countsImpl),
106
+ settings: (hasMockImplementation
107
+ ? settingsMock
108
+ : settingsImpl),
109
+ scope: (hasMockImplementation
110
+ ? scopeMock
111
+ : () => ({ schedule: scheduleImpl }))
112
+ },
62
113
  startPolling: createMockFn(),
63
114
  stopPolling: createMockFn()
64
115
  };
@@ -519,14 +519,10 @@ export declare type ConfigRequestProxyOptions = {
519
519
  }
520
520
 
521
521
  /**
522
- * Minimal interface for a rate limiter compatible with PolarityRequest.
523
- * The Polarity server provides a Bottleneck instance that satisfies this interface.
524
- *
522
+ * @deprecated Use {@link PolarityRequestLimiter} instead. This alias will be removed in a future major version.
525
523
  * @public
526
524
  */
527
- export declare interface Limiter {
528
- schedule<T>(fn: (...args: unknown[]) => PromiseLike<T>, ...args: unknown[]): Promise<T>;
529
- }
525
+ export declare type Limiter = PolarityRequestLimiter;
530
526
 
531
527
  /**
532
528
  * @public
@@ -660,7 +656,7 @@ export declare type ConfigRequestProxyOptions = {
660
656
  * through this limiter. Typically provided by the Polarity server via the
661
657
  * integration context.
662
658
  */
663
- limiter: Limiter | null;
659
+ limiter: PolarityRequestLimiter | null;
664
660
  /**
665
661
  * Lifecycle hooks for customizing request behavior. Hooks are configured via the
666
662
  * {@link PolarityRequestOptions.hooks} property when creating a new instance of the
@@ -784,6 +780,19 @@ export declare type ConfigRequestProxyOptions = {
784
780
  onNetworkError?: OnNetworkErrorHook[];
785
781
  }
786
782
 
783
+ /**
784
+ * Minimal interface for a rate limiter compatible with PolarityRequest.
785
+ * Only requires the `schedule` method, which is the sole method used internally.
786
+ * The Polarity server provides a full `Limiter` instance (from
787
+ * `@polarityio/integration-types`) that satisfies this interface, but consumers
788
+ * may also pass simpler objects or mocks that only implement `schedule`.
789
+ *
790
+ * @public
791
+ */
792
+ export declare interface PolarityRequestLimiter {
793
+ schedule<T>(fn: (...args: unknown[]) => PromiseLike<T>, ...args: unknown[]): Promise<T>;
794
+ }
795
+
787
796
  /**
788
797
  * @public
789
798
  */
@@ -795,7 +804,7 @@ export declare type ConfigRequestProxyOptions = {
795
804
  httpResponseErrorMessageProperties?: string[];
796
805
  requestOptionsToSanitize?: string[];
797
806
  hooks?: PolarityRequestHooks;
798
- limiter?: Limiter;
807
+ limiter?: PolarityRequestLimiter;
799
808
  }
800
809
 
801
810
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "polarity-integration-utils",
3
- "version": "4.2.0",
3
+ "version": "4.2.2",
4
4
  "description": "A utility library for building Polarity Integrations",
5
5
  "files": [
6
6
  "dist"
@@ -86,7 +86,7 @@
86
86
  "devDependencies": {
87
87
  "@eslint/js": "^9.39.4",
88
88
  "@microsoft/api-extractor": "^7.57.7",
89
- "@polarityio/integration-types": "^1.1.1",
89
+ "@polarityio/integration-types": "^1.2.1",
90
90
  "@types/jest": "^30.0.0",
91
91
  "@types/lodash": "^4.17.24",
92
92
  "@types/node": "^20.14.8",
@@ -108,7 +108,12 @@
108
108
  "postman-request": "^2.88.1-postman.48"
109
109
  },
110
110
  "peerDependencies": {
111
- "@polarityio/integration-types": ">=1.1.0"
111
+ "@polarityio/integration-types": "^1.2.1"
112
112
  },
113
- "sideEffects": false
113
+ "sideEffects": false,
114
+ "overrides": {
115
+ "postman-request": {
116
+ "qs": "^6.15.2"
117
+ }
118
+ }
114
119
  }