@segment/actions-core 1.3.0-next.1 → 2.0.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 (45) hide show
  1. package/dist/cjs/create-request-client.d.ts +4 -3
  2. package/dist/cjs/create-request-client.js +24 -14
  3. package/dist/cjs/create-test-event.d.ts +2 -0
  4. package/dist/cjs/create-test-event.js +45 -0
  5. package/dist/cjs/create-test-integration.d.ts +36 -0
  6. package/dist/cjs/create-test-integration.js +34 -0
  7. package/dist/cjs/destination-kit/action.d.ts +7 -5
  8. package/dist/cjs/destination-kit/action.js +27 -30
  9. package/dist/cjs/destination-kit/index.d.ts +10 -5
  10. package/dist/cjs/destination-kit/index.js +6 -14
  11. package/dist/cjs/destination-kit/step.d.ts +1 -1
  12. package/dist/cjs/destination-kit/types.d.ts +3 -19
  13. package/dist/cjs/fetch.d.ts +3 -0
  14. package/dist/cjs/fetch.js +29 -0
  15. package/dist/cjs/index.d.ts +7 -2
  16. package/dist/cjs/index.js +16 -2
  17. package/dist/cjs/map-values.d.ts +7 -0
  18. package/dist/cjs/map-values.js +16 -0
  19. package/dist/cjs/middleware/add-basic-auth-header.d.ts +3 -0
  20. package/dist/cjs/middleware/add-basic-auth-header.js +21 -0
  21. package/dist/cjs/request-client.d.ts +95 -0
  22. package/dist/cjs/request-client.js +227 -0
  23. package/dist/esm/create-request-client.d.ts +4 -3
  24. package/dist/esm/create-request-client.js +24 -14
  25. package/dist/esm/create-test-event.d.ts +2 -0
  26. package/dist/esm/create-test-event.js +41 -0
  27. package/dist/esm/create-test-integration.d.ts +36 -0
  28. package/dist/esm/create-test-integration.js +30 -0
  29. package/dist/esm/destination-kit/action.d.ts +7 -5
  30. package/dist/esm/destination-kit/action.js +27 -30
  31. package/dist/esm/destination-kit/index.d.ts +10 -5
  32. package/dist/esm/destination-kit/index.js +6 -14
  33. package/dist/esm/destination-kit/step.d.ts +1 -1
  34. package/dist/esm/destination-kit/types.d.ts +3 -19
  35. package/dist/esm/fetch.d.ts +3 -0
  36. package/dist/esm/fetch.js +5 -0
  37. package/dist/esm/index.d.ts +7 -2
  38. package/dist/esm/index.js +5 -1
  39. package/dist/esm/map-values.d.ts +7 -0
  40. package/dist/esm/map-values.js +12 -0
  41. package/dist/esm/middleware/add-basic-auth-header.d.ts +3 -0
  42. package/dist/esm/middleware/add-basic-auth-header.js +16 -0
  43. package/dist/esm/request-client.d.ts +95 -0
  44. package/dist/esm/request-client.js +199 -0
  45. package/package.json +8 -6
@@ -1,5 +1,6 @@
1
- import { ExtendOptions, Got } from 'got';
1
+ import { AllRequestOptions, RequestOptions } from './request-client';
2
+ export declare type RequestClient = ReturnType<typeof createRequestClient>;
2
3
  /**
3
- * Creates a Got client instance with Segment's default configuration + custom options
4
+ * Creates a request client instance with Segment's default configuration + custom options
4
5
  */
5
- export default function createRequestClient(...options: ExtendOptions[]): Got;
6
+ export default function createRequestClient(...requestOptions: AllRequestOptions[]): (url: string, options?: RequestOptions | undefined) => Promise<import("./request-client").ModifiedResponse>;
@@ -3,22 +3,32 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const got_1 = __importDefault(require("got"));
6
+ const add_basic_auth_header_1 = __importDefault(require("./middleware/add-basic-auth-header"));
7
+ const request_client_1 = __importDefault(require("./request-client"));
8
+ const baseClient = request_client_1.default({
9
+ timeout: 10000,
10
+ headers: {
11
+ 'user-agent': 'Segment'
12
+ },
13
+ beforeRequest: [
14
+ // Automatically handle username/password -> basic auth header
15
+ add_basic_auth_header_1.default
16
+ ]
17
+ });
7
18
  /**
8
- * Creates a Got client instance with Segment's default configuration + custom options
19
+ * Creates a request client instance with Segment's default configuration + custom options
9
20
  */
10
- function createRequestClient(...options) {
11
- const defaultOptions = {
12
- // disable automatic retries
13
- retry: 0,
14
- // default is no timeout
15
- timeout: 5000,
16
- headers: {
17
- 'user-agent': 'Segment'
18
- }
21
+ function createRequestClient(...requestOptions) {
22
+ let client = baseClient;
23
+ // TODO include `data` bundle in before/after hooks
24
+ // TODO expose before/after hooks to destination definition and action definition?
25
+ for (const options of (requestOptions !== null && requestOptions !== void 0 ? requestOptions : [])) {
26
+ client = client.extend(options);
27
+ }
28
+ // Limit request client interface and handle basic auth scheme
29
+ return (url, options) => {
30
+ return client(url, options);
19
31
  };
20
- const client = got_1.default.extend(defaultOptions, ...options);
21
- return client;
22
32
  }
23
33
  exports.default = createRequestClient;
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXJlcXVlc3QtY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NyZWF0ZS1yZXF1ZXN0LWNsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDhDQUE2QztBQUU3Qzs7R0FFRztBQUNILFNBQXdCLG1CQUFtQixDQUFDLEdBQUcsT0FBd0I7SUFDckUsTUFBTSxjQUFjLEdBQUc7UUFDckIsNEJBQTRCO1FBQzVCLEtBQUssRUFBRSxDQUFDO1FBQ1Isd0JBQXdCO1FBQ3hCLE9BQU8sRUFBRSxJQUFJO1FBQ2IsT0FBTyxFQUFFO1lBQ1AsWUFBWSxFQUFFLFNBQVM7U0FDeEI7S0FDRixDQUFBO0lBRUQsTUFBTSxNQUFNLEdBQUcsYUFBRyxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsR0FBRyxPQUFPLENBQUMsQ0FBQTtJQUNyRCxPQUFPLE1BQU0sQ0FBQTtBQUNmLENBQUM7QUFiRCxzQ0FhQyJ9
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXJlcXVlc3QtY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NyZWF0ZS1yZXF1ZXN0LWNsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLCtGQUFtRTtBQUNuRSxzRUFBb0Y7QUFFcEYsTUFBTSxVQUFVLEdBQUcsd0JBQWMsQ0FBQztJQUNoQyxPQUFPLEVBQUUsS0FBSztJQUNkLE9BQU8sRUFBRTtRQUNQLFlBQVksRUFBRSxTQUFTO0tBQ3hCO0lBQ0QsYUFBYSxFQUFFO1FBQ2IsOERBQThEO1FBQzlELCtCQUFrQjtLQUNuQjtDQUNGLENBQUMsQ0FBQTtBQUlGOztHQUVHO0FBQ0gsU0FBd0IsbUJBQW1CLENBQUMsR0FBRyxjQUFtQztJQUNoRixJQUFJLE1BQU0sR0FBRyxVQUFVLENBQUE7SUFFdkIsbURBQW1EO0lBQ25ELGtGQUFrRjtJQUNsRixLQUFLLE1BQU0sT0FBTyxJQUFJLENBQUMsY0FBYyxhQUFkLGNBQWMsY0FBZCxjQUFjLEdBQUksRUFBRSxDQUFDLEVBQUU7UUFDNUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUE7S0FDaEM7SUFFRCw4REFBOEQ7SUFDOUQsT0FBTyxDQUFDLEdBQVcsRUFBRSxPQUF3QixFQUFFLEVBQUU7UUFDL0MsT0FBTyxNQUFNLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFBO0lBQzdCLENBQUMsQ0FBQTtBQUNILENBQUM7QUFiRCxzQ0FhQyJ9
@@ -0,0 +1,2 @@
1
+ import type { SegmentEvent } from './segment-event';
2
+ export declare function createTestEvent(event?: Partial<SegmentEvent>): SegmentEvent;
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createTestEvent = void 0;
4
+ const uuid_1 = require("uuid");
5
+ function createTestEvent(event = {}) {
6
+ return {
7
+ anonymousId: uuid_1.v4(),
8
+ context: {
9
+ ip: '8.8.8.8',
10
+ library: {
11
+ name: 'analytics.js',
12
+ version: '2.11.1'
13
+ },
14
+ locale: 'en-US',
15
+ location: {
16
+ city: 'San Francisco',
17
+ country: 'United States',
18
+ latitude: 40.2964197,
19
+ longitude: -76.9411617,
20
+ speed: 0
21
+ },
22
+ page: {
23
+ path: '/academy/',
24
+ referrer: '',
25
+ search: '',
26
+ title: 'Analytics Academy',
27
+ url: 'https://segment.com/academy/'
28
+ },
29
+ timezone: 'Europe/Amsterdam',
30
+ userAgent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1'
31
+ },
32
+ event: 'Test Event',
33
+ messageId: uuid_1.v4(),
34
+ properties: {},
35
+ receivedAt: new Date().toISOString(),
36
+ sentAt: new Date().toISOString(),
37
+ timestamp: new Date().toISOString(),
38
+ traits: {},
39
+ type: 'track',
40
+ userId: 'user1234',
41
+ ...event
42
+ };
43
+ }
44
+ exports.createTestEvent = createTestEvent;
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXRlc3QtZXZlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY3JlYXRlLXRlc3QtZXZlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0JBQW1DO0FBR25DLFNBQWdCLGVBQWUsQ0FBQyxRQUErQixFQUFFO0lBQy9ELE9BQU87UUFDTCxXQUFXLEVBQUUsU0FBTSxFQUFFO1FBQ3JCLE9BQU8sRUFBRTtZQUNQLEVBQUUsRUFBRSxTQUFTO1lBQ2IsT0FBTyxFQUFFO2dCQUNQLElBQUksRUFBRSxjQUFjO2dCQUNwQixPQUFPLEVBQUUsUUFBUTthQUNsQjtZQUNELE1BQU0sRUFBRSxPQUFPO1lBQ2YsUUFBUSxFQUFFO2dCQUNSLElBQUksRUFBRSxlQUFlO2dCQUNyQixPQUFPLEVBQUUsZUFBZTtnQkFDeEIsUUFBUSxFQUFFLFVBQVU7Z0JBQ3BCLFNBQVMsRUFBRSxDQUFDLFVBQVU7Z0JBQ3RCLEtBQUssRUFBRSxDQUFDO2FBQ1Q7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osSUFBSSxFQUFFLFdBQVc7Z0JBQ2pCLFFBQVEsRUFBRSxFQUFFO2dCQUNaLE1BQU0sRUFBRSxFQUFFO2dCQUNWLEtBQUssRUFBRSxtQkFBbUI7Z0JBQzFCLEdBQUcsRUFBRSw4QkFBOEI7YUFDcEM7WUFDRCxRQUFRLEVBQUUsa0JBQWtCO1lBQzVCLFNBQVMsRUFDUCx1SUFBdUk7U0FDMUk7UUFDRCxLQUFLLEVBQUUsWUFBWTtRQUNuQixTQUFTLEVBQUUsU0FBTSxFQUFFO1FBQ25CLFVBQVUsRUFBRSxFQUFFO1FBQ2QsVUFBVSxFQUFFLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFO1FBQ3BDLE1BQU0sRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRTtRQUNoQyxTQUFTLEVBQUUsSUFBSSxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUU7UUFDbkMsTUFBTSxFQUFFLEVBQUU7UUFDVixJQUFJLEVBQUUsT0FBTztRQUNiLE1BQU0sRUFBRSxVQUFVO1FBQ2xCLEdBQUcsS0FBSztLQUNULENBQUE7QUFDSCxDQUFDO0FBdkNELDBDQXVDQyJ9
@@ -0,0 +1,36 @@
1
+ import { Destination } from './destination-kit';
2
+ import type { DestinationDefinition } from './destination-kit';
3
+ import type { JSONObject } from './json-object';
4
+ import type { SegmentEvent } from './segment-event';
5
+ interface InputData<Settings> {
6
+ /**
7
+ * The Segment event. You can use `createTestEvent` if you want
8
+ * to construct an event from partial data.
9
+ */
10
+ event?: Partial<SegmentEvent>;
11
+ /**
12
+ * The raw input - this is what customers define. It may include
13
+ * literal values as well as mapping-kit directives.
14
+ */
15
+ mapping?: JSONObject;
16
+ /**
17
+ * The settings for a destination instance. Includes things like
18
+ * `apiKey` or `subdomain`. Any fields that are used across all actions
19
+ * in a destination.
20
+ */
21
+ settings?: Settings;
22
+ /**
23
+ * Whether or not to use default mappings in the test.
24
+ * Set to `false` or omit if you want to explicitly provide the raw input.
25
+ * Set to `true` if you want to test the defaultMappings (along with any mapping passed in)
26
+ */
27
+ useDefaultMappings?: boolean;
28
+ }
29
+ declare class TestDestination<T> extends Destination<T> {
30
+ responses: Destination['responses'];
31
+ constructor(destination: DestinationDefinition<T>);
32
+ /** Testing method that runs an action e2e while allowing slightly more flexible inputs */
33
+ testAction(action: string, { event, mapping, settings, useDefaultMappings }: InputData<T>): Promise<Destination['responses']>;
34
+ }
35
+ export declare function createTestIntegration<T>(destination: DestinationDefinition<T>): TestDestination<T>;
36
+ export {};
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createTestIntegration = void 0;
4
+ const create_test_event_1 = require("./create-test-event");
5
+ const destination_kit_1 = require("./destination-kit");
6
+ const map_values_1 = require("./map-values");
7
+ class TestDestination extends destination_kit_1.Destination {
8
+ constructor(destination) {
9
+ super(destination);
10
+ this.responses = [];
11
+ }
12
+ /** Testing method that runs an action e2e while allowing slightly more flexible inputs */
13
+ async testAction(action, { event, mapping, settings, useDefaultMappings }) {
14
+ mapping = mapping !== null && mapping !== void 0 ? mapping : {};
15
+ if (useDefaultMappings) {
16
+ const fields = this.definition.actions[action].fields;
17
+ const defaultMappings = map_values_1.mapValues(fields, 'default');
18
+ mapping = { ...defaultMappings, ...mapping };
19
+ }
20
+ await super.executeAction(action, {
21
+ event: create_test_event_1.createTestEvent(event),
22
+ mapping,
23
+ settings: settings !== null && settings !== void 0 ? settings : {}
24
+ });
25
+ const responses = this.responses;
26
+ this.responses = [];
27
+ return responses;
28
+ }
29
+ }
30
+ function createTestIntegration(destination) {
31
+ return new TestDestination(destination);
32
+ }
33
+ exports.createTestIntegration = createTestIntegration;
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXRlc3QtaW50ZWdyYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY3JlYXRlLXRlc3QtaW50ZWdyYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkRBQXFEO0FBQ3JELHVEQUErQztBQUMvQyw2Q0FBd0M7QUE4QnhDLE1BQU0sZUFBbUIsU0FBUSw2QkFBYztJQUc3QyxZQUFZLFdBQXFDO1FBQy9DLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQTtRQUhwQixjQUFTLEdBQTZCLEVBQUUsQ0FBQTtJQUl4QyxDQUFDO0lBRUQsMEZBQTBGO0lBQzFGLEtBQUssQ0FBQyxVQUFVLENBQ2QsTUFBYyxFQUNkLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsa0JBQWtCLEVBQWdCO1FBRTlELE9BQU8sR0FBRyxPQUFPLGFBQVAsT0FBTyxjQUFQLE9BQU8sR0FBSSxFQUFFLENBQUE7UUFFdkIsSUFBSSxrQkFBa0IsRUFBRTtZQUN0QixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUE7WUFDckQsTUFBTSxlQUFlLEdBQUcsc0JBQVMsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUE7WUFDcEQsT0FBTyxHQUFHLEVBQUUsR0FBRyxlQUFlLEVBQUUsR0FBRyxPQUFPLEVBQUUsQ0FBQTtTQUM3QztRQUVELE1BQU0sS0FBSyxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUU7WUFDaEMsS0FBSyxFQUFFLG1DQUFlLENBQUMsS0FBSyxDQUFDO1lBQzdCLE9BQU87WUFDUCxRQUFRLEVBQUUsUUFBUSxhQUFSLFFBQVEsY0FBUixRQUFRLEdBQUssRUFBUTtTQUNoQyxDQUFDLENBQUE7UUFFRixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFBO1FBQ2hDLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFBO1FBRW5CLE9BQU8sU0FBUyxDQUFBO0lBQ2xCLENBQUM7Q0FDRjtBQUVELFNBQWdCLHFCQUFxQixDQUFJLFdBQXFDO0lBQzVFLE9BQU8sSUFBSSxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUE7QUFDekMsQ0FBQztBQUZELHNEQUVDIn0=
@@ -1,11 +1,13 @@
1
1
  /// <reference types="node" />
2
2
  import Ajv from 'ajv';
3
3
  import { EventEmitter } from 'events';
4
- import { Got } from 'got';
4
+ import createRequestClient from '../create-request-client';
5
5
  import { JSONLikeObject } from '../json-object';
6
6
  import { ExecuteInput, Step, StepResult, Steps } from './step';
7
- import type { InputField, RequestExtension } from './types';
8
- export declare type RequestFn<Settings, Payload> = (request: Got, data: ExecuteInput<Settings, Payload>) => any;
7
+ import type { AutocompleteResponse, InputField, RequestExtension } from './types';
8
+ declare type MaybePromise<T> = T | Promise<T>;
9
+ declare type RequestClient = ReturnType<typeof createRequestClient>;
10
+ export declare type RequestFn<Settings, Payload, Return = any> = (request: RequestClient, data: ExecuteInput<Settings, Payload>) => MaybePromise<Return>;
9
11
  export interface ActionDefinition<Settings, Payload = any> {
10
12
  /** The unique identifier for the action, e.g. `postToChannel` */
11
13
  /** The display title of the action */
@@ -34,7 +36,7 @@ export interface ActionDefinition<Settings, Payload = any> {
34
36
  * This is likely going to change as we productionalize the data model and definition object
35
37
  */
36
38
  autocompleteFields?: {
37
- [K in keyof Payload]?: RequestFn<Settings, Payload>;
39
+ [K in keyof Payload]?: RequestFn<Settings, Payload, AutocompleteResponse>;
38
40
  };
39
41
  /**
40
42
  * Register fields that should be executed, cached and provided
@@ -72,7 +74,7 @@ declare type ExecuteInputField = 'payload' | 'settings';
72
74
  */
73
75
  export declare class Action<Settings, Payload extends JSONLikeObject> extends EventEmitter {
74
76
  readonly steps: Steps<Settings, Payload>;
75
- private requestExtensions;
77
+ private extendRequest;
76
78
  private autocompleteCache;
77
79
  constructor(definition: ActionDefinition<Settings, Payload>, extendRequest?: RequestExtension<Settings, Payload>);
78
80
  execute(data: ExecuteInput<Settings, Payload>): Promise<StepResult[]>;
@@ -53,14 +53,14 @@ class Validate extends step_1.Step {
53
53
  }
54
54
  exports.Validate = Validate;
55
55
  /**
56
- * Request handles delivering a payload to an external API. It uses the `got` library under the hood.
56
+ * Request handles delivering a payload to an external API. It uses the `fetch` API under the hood.
57
57
  *
58
58
  * The callback should be able to return the raw request instead of needing to do `return response.data` etc.
59
59
  */
60
60
  class Request extends step_1.Step {
61
- constructor(extensions, requestFn) {
61
+ constructor(extendRequest, requestFn) {
62
62
  super();
63
- this.extensions = extensions || [];
63
+ this.extendRequest = extendRequest;
64
64
  this.requestFn = requestFn;
65
65
  }
66
66
  async executeStep(data) {
@@ -75,32 +75,30 @@ class Request extends step_1.Step {
75
75
  return response.body;
76
76
  }
77
77
  createRequestClient(data) {
78
- const options = this.extensions.map((extension) => extension(data));
79
- const client = create_request_client_1.default(...options).extend({
80
- hooks: {
81
- beforeError: [
82
- (error) => {
83
- // @ts-ignore the type is wrong in got
84
- const { response } = error;
85
- this.emit('response', response);
86
- return error;
87
- }
88
- ],
89
- afterResponse: [
90
- (response) => {
91
- this.emit('response', response);
92
- return response;
93
- }
94
- ]
95
- }
78
+ var _a, _b;
79
+ // TODO turn `extendRequest` into a beforeRequest hook
80
+ const options = (_b = (_a = this.extendRequest) === null || _a === void 0 ? void 0 : _a.call(this, data)) !== null && _b !== void 0 ? _b : {};
81
+ const client = create_request_client_1.default(options, {
82
+ afterResponse: [
83
+ // Keep track of the request(s) associated with a response
84
+ (request, options, response) => {
85
+ // TODO figure out the types here...
86
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
87
+ const modifiedResponse = response.clone();
88
+ modifiedResponse.request = request;
89
+ modifiedResponse.options = options;
90
+ this.emit('response', modifiedResponse);
91
+ return modifiedResponse;
92
+ }
93
+ ]
96
94
  });
97
95
  return client;
98
96
  }
99
97
  }
100
98
  // CachedRequest is like Request but cached. Next question.
101
99
  class CachedRequest extends Request {
102
- constructor(extensions, config) {
103
- super(extensions);
100
+ constructor(extension, config) {
101
+ super(extension);
104
102
  this.keyFn = config.key;
105
103
  this.valueFn = config.value;
106
104
  this.as = config.as;
@@ -122,7 +120,7 @@ class CachedRequest extends Request {
122
120
  v = await this.valueFn(request, data);
123
121
  }
124
122
  catch (e) {
125
- if (get_1.get(e, 'response.statusCode') === 404) {
123
+ if (get_1.get(e, 'response.status') === 404) {
126
124
  v = undefined;
127
125
  }
128
126
  else {
@@ -150,12 +148,11 @@ class Action extends events_1.EventEmitter {
150
148
  const step = new MapInput();
151
149
  this.steps.push(step);
152
150
  this.autocompleteCache = {};
153
- this.requestExtensions = [];
154
151
  if (extendRequest) {
155
152
  // This must come before we load the definition because
156
153
  // it instantiates "steps" with whatever request extensions
157
154
  // are defined at that moment in time
158
- this.requestExtensions.push(extendRequest);
155
+ this.extendRequest = extendRequest;
159
156
  }
160
157
  this.loadDefinition(definition);
161
158
  }
@@ -175,7 +172,7 @@ class Action extends events_1.EventEmitter {
175
172
  pagination: {}
176
173
  };
177
174
  }
178
- const step = new Request(this.requestExtensions, this.autocompleteCache[field]);
175
+ const step = new Request(this.extendRequest, this.autocompleteCache[field]);
179
176
  return step.executeStep(data);
180
177
  }
181
178
  loadDefinition(definition) {
@@ -204,14 +201,14 @@ class Action extends events_1.EventEmitter {
204
201
  this.autocompleteCache[field] = callback;
205
202
  }
206
203
  request(requestFn) {
207
- const step = new Request(this.requestExtensions, requestFn);
204
+ const step = new Request(this.extendRequest, requestFn);
208
205
  step.on('response', (response) => this.emit('response', response));
209
206
  this.steps.push(step);
210
207
  }
211
208
  cachedRequest(config) {
212
- const step = new CachedRequest(this.requestExtensions, config);
209
+ const step = new CachedRequest(this.extendRequest, config);
213
210
  this.steps.push(step);
214
211
  }
215
212
  }
216
213
  exports.Action = Action;
217
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Rlc3RpbmF0aW9uLWtpdC9hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsc0JBQXNCO0FBQ3RCLGdFQUE2RDtBQUM3RCw4Q0FBcUI7QUFDckIsbUNBQXFDO0FBRXJDLDREQUFrQztBQUNsQyxxRkFBMEQ7QUFDMUQsZ0NBQTRCO0FBRTVCLGdEQUEwQztBQUMxQyxpRUFBMkQ7QUFDM0QsaUNBQThEO0FBK0Q5RCxNQUFNLFFBQW1ELFNBQVEsV0FBdUI7SUFDdEYsV0FBVyxDQUFDLElBQXFDO1FBQy9DLDZGQUE2RjtRQUM3RixrRUFBa0U7UUFDbEUsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2hCLGtIQUFrSDtZQUNsSCwyQ0FBMkM7WUFDM0MsOERBQThEO1lBQzlELElBQUksQ0FBQyxPQUFPLEdBQUcsdUJBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFjLENBQVksQ0FBQTtTQUN2RTtRQUVELE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFBO0lBQzlDLENBQUM7Q0FDRjtBQUVELE1BQWEsUUFBNEIsU0FBUSxXQUF1QjtJQUl0RSxZQUFZLEtBQXdCLEVBQUUsTUFBYztRQUNsRCxLQUFLLEVBQUUsQ0FBQTtRQUVQLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFBO1FBRWxCLE1BQU0sR0FBRyxHQUFHLElBQUksYUFBRyxDQUFDO1lBQ2xCLHlDQUF5QztZQUN6QyxXQUFXLEVBQUUsSUFBSTtZQUNqQixvREFBb0Q7WUFDcEQsU0FBUyxFQUFFLElBQUk7WUFDZix3REFBd0Q7WUFDeEQsT0FBTyxFQUFFLElBQUk7WUFDYiwrQ0FBK0M7WUFDL0MsWUFBWSxFQUFFLElBQUk7U0FDbkIsQ0FBQyxDQUFBO1FBRUYsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLE1B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
214
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Rlc3RpbmF0aW9uLWtpdC9hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsc0JBQXNCO0FBQ3RCLGdFQUE2RDtBQUM3RCw4Q0FBcUI7QUFDckIsbUNBQXFDO0FBQ3JDLDREQUFrQztBQUNsQyxxRkFBMEQ7QUFDMUQsZ0NBQTRCO0FBRTVCLGdEQUEwQztBQUMxQyxpRUFBMkQ7QUFDM0QsaUNBQThEO0FBcUU5RCxNQUFNLFFBQW1ELFNBQVEsV0FBdUI7SUFDdEYsV0FBVyxDQUFDLElBQXFDO1FBQy9DLDZGQUE2RjtRQUM3RixrRUFBa0U7UUFDbEUsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2hCLGtIQUFrSDtZQUNsSCwyQ0FBMkM7WUFDM0MsOERBQThEO1lBQzlELElBQUksQ0FBQyxPQUFPLEdBQUcsdUJBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFjLENBQVksQ0FBQTtTQUN2RTtRQUVELE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFBO0lBQzlDLENBQUM7Q0FDRjtBQUVELE1BQWEsUUFBNEIsU0FBUSxXQUF1QjtJQUl0RSxZQUFZLEtBQXdCLEVBQUUsTUFBYztRQUNsRCxLQUFLLEVBQUUsQ0FBQTtRQUVQLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFBO1FBRWxCLE1BQU0sR0FBRyxHQUFHLElBQUksYUFBRyxDQUFDO1lBQ2xCLHlDQUF5QztZQUN6QyxXQUFXLEVBQUUsSUFBSTtZQUNqQixvREFBb0Q7WUFDcEQsU0FBUyxFQUFFLElBQUk7WUFDZix3REFBd0Q7WUFDeEQsT0FBTyxFQUFFLElBQUk7WUFDYiwrQ0FBK0M7WUFDL0MsWUFBWSxFQUFFLElBQUk7U0FDbkIsQ0FBQyxDQUFBO1FBRUYsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLE1B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
@@ -1,12 +1,13 @@
1
- import { CancelableRequest, Got, Response } from 'got';
2
1
  import { JSONSchema4 } from 'json-schema';
3
- import { Action, ActionDefinition } from './action';
2
+ import { Action, ActionDefinition, RequestFn } from './action';
4
3
  import { ExecuteInput, StepResult } from './step';
5
4
  import { JSONLikeObject, JSONObject } from '../json-object';
6
5
  import { SegmentEvent } from '../segment-event';
7
6
  import { fieldsToJsonSchema, jsonSchemaToFields } from './fields-to-jsonschema';
7
+ import { RequestClient } from '../create-request-client';
8
8
  import type { InputField, RequestExtension } from './types';
9
- export type { ActionDefinition, ExecuteInput };
9
+ import type { AllRequestOptions, ModifiedResponse } from '../request-client';
10
+ export type { ActionDefinition, ExecuteInput, RequestFn };
10
11
  export { fieldsToJsonSchema, jsonSchemaToFields };
11
12
  export interface SubscriptionStats {
12
13
  duration: number;
@@ -46,7 +47,7 @@ interface TestAuthSettings<Settings> {
46
47
  interface Authentication<Settings> {
47
48
  scheme: 'basic' | 'custom';
48
49
  fields: Record<string, InputField>;
49
- testAuthentication: (req: Got, input: TestAuthSettings<Settings>) => CancelableRequest<Response<string>>;
50
+ testAuthentication: (request: RequestClient, input: TestAuthSettings<Settings>) => Promise<unknown> | unknown;
50
51
  }
51
52
  export interface CustomAuthentication<Settings> extends Authentication<Settings> {
52
53
  /** Typically used for "API Key" authentication. */
@@ -61,13 +62,17 @@ interface EventInput<Settings> {
61
62
  readonly mapping: JSONObject;
62
63
  readonly settings: Settings;
63
64
  }
65
+ export interface DecoratedResponse extends ModifiedResponse {
66
+ request: Request;
67
+ options: AllRequestOptions;
68
+ }
64
69
  export declare class Destination<Settings = JSONObject> {
65
70
  readonly definition: DestinationDefinition<Settings>;
66
71
  readonly name: string;
67
72
  readonly authentication?: AuthenticationScheme<Settings>;
68
73
  readonly extendRequest?: RequestExtension<Settings>;
69
74
  readonly actions: PartnerActions<Settings, any>;
70
- readonly responses: Response[];
75
+ readonly responses: DecoratedResponse[];
71
76
  readonly settingsSchema?: JSONSchema4;
72
77
  constructor(destination: DestinationDefinition<Settings>);
73
78
  testAuthentication(settings: Settings): Promise<void>;
@@ -5,13 +5,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.Destination = exports.jsonSchemaToFields = exports.fieldsToJsonSchema = void 0;
7
7
  const fab5_subscriptions_1 = require("@segment/fab5-subscriptions");
8
- const got_1 = __importDefault(require("got"));
9
8
  const action_1 = require("./action");
10
9
  const time_1 = require("../time");
11
10
  const fields_to_jsonschema_1 = require("./fields-to-jsonschema");
12
11
  Object.defineProperty(exports, "fieldsToJsonSchema", { enumerable: true, get: function () { return fields_to_jsonschema_1.fieldsToJsonSchema; } });
13
12
  Object.defineProperty(exports, "jsonSchemaToFields", { enumerable: true, get: function () { return fields_to_jsonschema_1.jsonSchemaToFields; } });
14
13
  const errors_1 = require("../errors");
14
+ const create_request_client_1 = __importDefault(require("../create-request-client"));
15
15
  class Destination {
16
16
  constructor(destination) {
17
17
  var _a;
@@ -30,7 +30,7 @@ class Destination {
30
30
  }
31
31
  }
32
32
  async testAuthentication(settings) {
33
- var _a;
33
+ var _a, _b, _c;
34
34
  const context = { settings, payload: {}, cachedFields: {} };
35
35
  if (this.settingsSchema) {
36
36
  const step = new action_1.Validate('settings', this.settingsSchema);
@@ -39,18 +39,10 @@ class Destination {
39
39
  if (!((_a = this.authentication) === null || _a === void 0 ? void 0 : _a.testAuthentication)) {
40
40
  return;
41
41
  }
42
- let request = got_1.default.extend({
43
- retry: 0,
44
- timeout: 3000,
45
- headers: {
46
- 'user-agent': undefined
47
- }
48
- });
49
- if (typeof this.extendRequest === 'function') {
50
- request = request.extend(this.extendRequest(context));
51
- }
42
+ const options = (_c = (_b = this.extendRequest) === null || _b === void 0 ? void 0 : _b.call(this, context)) !== null && _c !== void 0 ? _c : {};
43
+ const requestClient = create_request_client_1.default(options);
52
44
  try {
53
- await this.authentication.testAuthentication(request, { settings });
45
+ await this.authentication.testAuthentication(requestClient, { settings });
54
46
  }
55
47
  catch (error) {
56
48
  throw new Error('Credentials are invalid');
@@ -162,4 +154,4 @@ class Destination {
162
154
  }
163
155
  }
164
156
  exports.Destination = Destination;
165
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGVzdGluYXRpb24ta2l0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLG9FQUFnRTtBQUNoRSw4Q0FBMkQ7QUFFM0QscUNBQTZEO0FBRTdELGtDQUF3QztBQUd4QyxpRUFBK0U7QUFLdEUsbUdBTEEseUNBQWtCLE9BS0E7QUFBRSxtR0FMQSx5Q0FBa0IsT0FLQTtBQUovQyxzQ0FBa0Q7QUF5RWxELE1BQWEsV0FBVztJQVV0QixZQUFZLFdBQTRDOztRQUN0RCxJQUFJLENBQUMsVUFBVSxHQUFHLFdBQVcsQ0FBQTtRQUM3QixJQUFJLENBQUMsSUFBSSxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUE7UUFDNUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxXQUFXLENBQUMsYUFBYSxDQUFBO1FBQzlDLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFBO1FBQ2pCLElBQUksQ0FBQyxjQUFjLEdBQUcsV0FBVyxDQUFDLGNBQWMsQ0FBQTtRQUNoRCxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQTtRQUVuQixrQ0FBa0M7UUFDbEMsVUFBSSxJQUFJLENBQUMsY0FBYywwQ0FBRSxNQUFNLEVBQUU7WUFDL0IsSUFBSSxDQUFDLGNBQWMsR0FBRyx5Q0FBa0IsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1NBQ3JFO1FBRUQsS0FBSyxNQUFNLE1BQU0sSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNyRCxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUE7U0FDeEQ7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLGtCQUFrQixDQUFDLFFBQWtCOztRQUN6QyxNQUFNLE9BQU8sR0FBK0IsRUFBRSxRQUFRLEVBQUUs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
157
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGVzdGluYXRpb24ta2l0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLG9FQUFnRTtBQUVoRSxxQ0FBd0U7QUFFeEUsa0NBQXdDO0FBR3hDLGlFQUErRTtBQU90RSxtR0FQQSx5Q0FBa0IsT0FPQTtBQUFFLG1HQVBBLHlDQUFrQixPQU9BO0FBTi9DLHNDQUFrRDtBQUNsRCxxRkFBNkU7QUE4RTdFLE1BQWEsV0FBVztJQVV0QixZQUFZLFdBQTRDOztRQUN0RCxJQUFJLENBQUMsVUFBVSxHQUFHLFdBQVcsQ0FBQTtRQUM3QixJQUFJLENBQUMsSUFBSSxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUE7UUFDNUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxXQUFXLENBQUMsYUFBYSxDQUFBO1FBQzlDLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFBO1FBQ2pCLElBQUksQ0FBQyxjQUFjLEdBQUcsV0FBVyxDQUFDLGNBQWMsQ0FBQTtRQUNoRCxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQTtRQUVuQixrQ0FBa0M7UUFDbEMsVUFBSSxJQUFJLENBQUMsY0FBYywwQ0FBRSxNQUFNLEVBQUU7WUFDL0IsSUFBSSxDQUFDLGNBQWMsR0FBRyx5Q0FBa0IsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1NBQ3JFO1FBRUQsS0FBSyxNQUFNLE1BQU0sSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNyRCxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUE7U0FDeEQ7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLGtCQUFrQixDQUFDLFFBQWtCOztRQUN6QyxNQUFNLE9BQU8sR0FBK0IsRUFBRSxRQUFRLEVBQUUs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
@@ -14,7 +14,7 @@ export interface ExecuteInput<Settings, Payload> {
14
14
  payload: Payload;
15
15
  /** The ids from cached requests */
16
16
  cachedFields: {
17
- [key: string]: string;
17
+ [key: string]: string | null | undefined;
18
18
  };
19
19
  /** The page used in autocomplete */
20
20
  page?: string;
@@ -1,6 +1,6 @@
1
- import { Options } from 'got';
2
- import { JSONSchema4 } from 'json-schema';
3
- import { ExecuteInput } from './step';
1
+ import type { RequestOptions } from '../request-client';
2
+ import type { JSONSchema4 } from 'json-schema';
3
+ import type { ExecuteInput } from './step';
4
4
  export interface AutocompleteResponse {
5
5
  body: {
6
6
  data: AutocompleteItem[];
@@ -16,24 +16,8 @@ export interface AutocompleteItem {
16
16
  export interface InputField extends Omit<JSONSchema4, 'required'> {
17
17
  required?: boolean;
18
18
  }
19
- /**
20
- * The supported request options you can use to extend the instance of our `request`
21
- */
22
- export interface RequestOptions {
23
- headers?: Options['headers'];
24
- method?: Options['method'];
25
- username?: Options['username'];
26
- password?: Options['password'];
27
- prefixUrl?: Options['prefixUrl'];
28
- responseType?: Options['responseType'];
29
- searchParams?: Options['searchParams'];
30
- }
31
19
  /**
32
20
  * A function to configure a request client instance with options
33
21
  * that will be applied to every request made by that instance
34
22
  */
35
23
  export declare type RequestExtension<Settings, Payload = unknown> = (data: ExecuteInput<Settings, Payload>) => RequestOptions;
36
- /**
37
- * A set of request extensions to apply to a request client instance
38
- */
39
- export declare type RequestExtensions<Settings, Payload = unknown> = RequestExtension<Settings, Payload>[];
@@ -0,0 +1,3 @@
1
+ import fetch, { Headers, Request, Response } from 'cross-fetch';
2
+ export { Headers, Request, Response };
3
+ export default fetch;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.Response = exports.Request = exports.Headers = void 0;
23
+ // import fetch ponyfill
24
+ const cross_fetch_1 = __importStar(require("cross-fetch"));
25
+ Object.defineProperty(exports, "Headers", { enumerable: true, get: function () { return cross_fetch_1.Headers; } });
26
+ Object.defineProperty(exports, "Request", { enumerable: true, get: function () { return cross_fetch_1.Request; } });
27
+ Object.defineProperty(exports, "Response", { enumerable: true, get: function () { return cross_fetch_1.Response; } });
28
+ exports.default = cross_fetch_1.default;
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmV0Y2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZmV0Y2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHdCQUF3QjtBQUN4QiwyREFBK0Q7QUFFdEQsd0ZBRk8scUJBQU8sT0FFUDtBQUFFLHdGQUZPLHFCQUFPLE9BRVA7QUFBRSx5RkFGTyxzQkFBUSxPQUVQO0FBQ25DLGtCQUFlLHFCQUFLLENBQUEifQ==
@@ -1,12 +1,17 @@
1
1
  export { Destination, fieldsToJsonSchema, jsonSchemaToFields } from './destination-kit';
2
2
  export { transform } from './mapping-kit';
3
+ export { createTestEvent } from './create-test-event';
4
+ export { createTestIntegration } from './create-test-integration';
3
5
  export { defaultValues } from './defaults';
6
+ export { UnsupportedActionError } from './errors';
4
7
  export { get } from './get';
5
8
  export { omit } from './omit';
6
9
  export { removeUndefined } from './remove-undefined';
7
10
  export { time, duration } from './time';
8
11
  export { realTypeOf, isObject, isArray, isString } from './real-type-of';
9
- export type { ActionDefinition, DestinationDefinition, ExecuteInput, Subscription, SubscriptionStats, AuthenticationScheme, BasicAuthentication, CustomAuthentication } from './destination-kit';
10
- export type { AutocompleteResponse, AutocompleteItem, InputField, RequestOptions, RequestExtension, RequestExtensions } from './destination-kit/types';
12
+ export type { RequestOptions } from './request-client';
13
+ export { default as fetch, Request, Response, Headers } from './fetch';
14
+ export type { ActionDefinition, DestinationDefinition, ExecuteInput, Subscription, SubscriptionStats, AuthenticationScheme, BasicAuthentication, CustomAuthentication, RequestFn, DecoratedResponse } from './destination-kit';
15
+ export type { AutocompleteResponse, AutocompleteItem, InputField, RequestExtension } from './destination-kit/types';
11
16
  export type { JSONPrimitive, JSONValue, JSONObject, JSONArray, JSONLike, JSONLikeObject } from './json-object';
12
17
  export type { SegmentEvent } from './segment-event';