@segment/actions-core 1.3.0-next.0 → 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.
- package/dist/cjs/create-request-client.d.ts +4 -3
- package/dist/cjs/create-request-client.js +24 -14
- package/dist/cjs/create-test-event.d.ts +2 -0
- package/dist/cjs/create-test-event.js +45 -0
- package/dist/cjs/create-test-integration.d.ts +36 -0
- package/dist/cjs/create-test-integration.js +34 -0
- package/dist/cjs/destination-kit/action.d.ts +7 -5
- package/dist/cjs/destination-kit/action.js +27 -30
- package/dist/cjs/destination-kit/index.d.ts +10 -5
- package/dist/cjs/destination-kit/index.js +8 -16
- package/dist/cjs/destination-kit/step.d.ts +1 -1
- package/dist/cjs/destination-kit/types.d.ts +3 -19
- package/dist/cjs/errors.d.ts +7 -0
- package/dist/cjs/errors.js +14 -0
- package/dist/cjs/fetch.d.ts +3 -0
- package/dist/cjs/fetch.js +29 -0
- package/dist/cjs/index.d.ts +7 -2
- package/dist/cjs/index.js +16 -2
- package/dist/cjs/map-values.d.ts +7 -0
- package/dist/cjs/map-values.js +16 -0
- package/dist/cjs/middleware/add-basic-auth-header.d.ts +3 -0
- package/dist/cjs/middleware/add-basic-auth-header.js +21 -0
- package/dist/cjs/request-client.d.ts +95 -0
- package/dist/cjs/request-client.js +227 -0
- package/dist/esm/create-request-client.d.ts +4 -3
- package/dist/esm/create-request-client.js +24 -14
- package/dist/esm/create-test-event.d.ts +2 -0
- package/dist/esm/create-test-event.js +41 -0
- package/dist/esm/create-test-integration.d.ts +36 -0
- package/dist/esm/create-test-integration.js +30 -0
- package/dist/esm/destination-kit/action.d.ts +7 -5
- package/dist/esm/destination-kit/action.js +27 -30
- package/dist/esm/destination-kit/index.d.ts +10 -5
- package/dist/esm/destination-kit/index.js +8 -16
- package/dist/esm/destination-kit/step.d.ts +1 -1
- package/dist/esm/destination-kit/types.d.ts +3 -19
- package/dist/esm/errors.d.ts +7 -0
- package/dist/esm/errors.js +10 -0
- package/dist/esm/fetch.d.ts +3 -0
- package/dist/esm/fetch.js +5 -0
- package/dist/esm/index.d.ts +7 -2
- package/dist/esm/index.js +5 -1
- package/dist/esm/map-values.d.ts +7 -0
- package/dist/esm/map-values.js +12 -0
- package/dist/esm/middleware/add-basic-auth-header.d.ts +3 -0
- package/dist/esm/middleware/add-basic-auth-header.js +16 -0
- package/dist/esm/request-client.d.ts +95 -0
- package/dist/esm/request-client.js +199 -0
- package/package.json +8 -7
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AllRequestOptions, RequestOptions } from './request-client';
|
|
2
|
+
export declare type RequestClient = ReturnType<typeof createRequestClient>;
|
|
2
3
|
/**
|
|
3
|
-
* Creates a
|
|
4
|
+
* Creates a request client instance with Segment's default configuration + custom options
|
|
4
5
|
*/
|
|
5
|
-
export default function createRequestClient(...
|
|
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
|
|
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
|
|
19
|
+
* Creates a request client instance with Segment's default configuration + custom options
|
|
9
20
|
*/
|
|
10
|
-
function createRequestClient(...
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
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,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXJlcXVlc3QtY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NyZWF0ZS1yZXF1ZXN0LWNsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLCtGQUFtRTtBQUNuRSxzRUFBb0Y7QUFFcEYsTUFBTSxVQUFVLEdBQUcsd0JBQWMsQ0FBQztJQUNoQyxPQUFPLEVBQUUsS0FBSztJQUNkLE9BQU8sRUFBRTtRQUNQLFlBQVksRUFBRSxTQUFTO0tBQ3hCO0lBQ0QsYUFBYSxFQUFFO1FBQ2IsOERBQThEO1FBQzlELCtCQUFrQjtLQUNuQjtDQUNGLENBQUMsQ0FBQTtBQUlGOztHQUVHO0FBQ0gsU0FBd0IsbUJBQW1CLENBQUMsR0FBRyxjQUFtQztJQUNoRixJQUFJLE1BQU0sR0FBRyxVQUFVLENBQUE7SUFFdkIsbURBQW1EO0lBQ25ELGtGQUFrRjtJQUNsRixLQUFLLE1BQU0sT0FBTyxJQUFJLENBQUMsY0FBYyxhQUFkLGNBQWMsY0FBZCxjQUFjLEdBQUksRUFBRSxDQUFDLEVBQUU7UUFDNUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUE7S0FDaEM7SUFFRCw4REFBOEQ7SUFDOUQsT0FBTyxDQUFDLEdBQVcsRUFBRSxPQUF3QixFQUFFLEVBQUU7UUFDL0MsT0FBTyxNQUFNLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFBO0lBQzdCLENBQUMsQ0FBQTtBQUNILENBQUM7QUFiRCxzQ0FhQyJ9
|
|
@@ -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
|
|
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
|
-
|
|
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
|
|
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 `
|
|
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(
|
|
61
|
+
constructor(extendRequest, requestFn) {
|
|
62
62
|
super();
|
|
63
|
-
this.
|
|
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
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
(response)
|
|
91
|
-
|
|
92
|
-
|
|
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(
|
|
103
|
-
super(
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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,
|
|
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
|
-
|
|
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: (
|
|
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:
|
|
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 http_errors_1 = require("http-errors");
|
|
9
|
-
const got_1 = __importDefault(require("got"));
|
|
10
8
|
const action_1 = require("./action");
|
|
11
9
|
const time_1 = require("../time");
|
|
12
10
|
const fields_to_jsonschema_1 = require("./fields-to-jsonschema");
|
|
13
11
|
Object.defineProperty(exports, "fieldsToJsonSchema", { enumerable: true, get: function () { return fields_to_jsonschema_1.fieldsToJsonSchema; } });
|
|
14
12
|
Object.defineProperty(exports, "jsonSchemaToFields", { enumerable: true, get: function () { return fields_to_jsonschema_1.jsonSchemaToFields; } });
|
|
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
|
-
|
|
43
|
-
|
|
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(
|
|
45
|
+
await this.authentication.testAuthentication(requestClient, { settings });
|
|
54
46
|
}
|
|
55
47
|
catch (error) {
|
|
56
48
|
throw new Error('Credentials are invalid');
|
|
@@ -69,7 +61,7 @@ class Destination {
|
|
|
69
61
|
executeAction(actionSlug, { event, mapping, settings }) {
|
|
70
62
|
const action = this.actions[actionSlug];
|
|
71
63
|
if (!action) {
|
|
72
|
-
throw new
|
|
64
|
+
throw new errors_1.UnsupportedActionError(actionSlug);
|
|
73
65
|
}
|
|
74
66
|
return action.execute({
|
|
75
67
|
cachedFields: {},
|
|
@@ -162,4 +154,4 @@ class Destination {
|
|
|
162
154
|
}
|
|
163
155
|
}
|
|
164
156
|
exports.Destination = Destination;
|
|
165
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
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 {
|
|
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,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UnsupportedActionError = void 0;
|
|
4
|
+
const ts_custom_error_1 = require("ts-custom-error");
|
|
5
|
+
class UnsupportedActionError extends ts_custom_error_1.CustomError {
|
|
6
|
+
constructor(action) {
|
|
7
|
+
super(`"${action}" is not a supported cloud-mode action.`);
|
|
8
|
+
this.ignored = true;
|
|
9
|
+
this.status = 'UNSUPPORTED_EVENT_TYPE';
|
|
10
|
+
this.retry = false;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.UnsupportedActionError = UnsupportedActionError;
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxREFBNkM7QUFFN0MsTUFBYSxzQkFBdUIsU0FBUSw2QkFBVztJQUtyRCxZQUFZLE1BQWM7UUFDeEIsS0FBSyxDQUFDLElBQUksTUFBTSx5Q0FBeUMsQ0FBQyxDQUFBO1FBQzFELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFBO1FBQ25CLElBQUksQ0FBQyxNQUFNLEdBQUcsd0JBQXdCLENBQUE7UUFDdEMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUE7SUFDcEIsQ0FBQztDQUNGO0FBWEQsd0RBV0MifQ==
|
|
@@ -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==
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -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 {
|
|
10
|
-
export
|
|
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';
|