@segment/actions-core 3.8.2-canary.18 → 3.8.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.
- package/dist/cjs/destination-kit/action.d.ts +7 -11
- package/dist/cjs/destination-kit/action.js +1 -38
- package/dist/cjs/destination-kit/action.js.map +1 -1
- package/dist/cjs/destination-kit/index.d.ts +6 -16
- package/dist/cjs/destination-kit/index.js +46 -56
- package/dist/cjs/destination-kit/index.js.map +1 -1
- package/dist/cjs/destination-kit/types.d.ts +1 -1
- package/dist/cjs/index.d.ts +2 -0
- package/dist/cjs/index.js +3 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/mapping-kit/index.d.ts +1 -5
- package/dist/cjs/mapping-kit/index.js +2 -15
- package/dist/cjs/mapping-kit/index.js.map +1 -1
- package/dist/cjs/schema-validation.d.ts +1 -6
- package/dist/cjs/schema-validation.js +2 -5
- package/dist/cjs/schema-validation.js.map +1 -1
- package/dist/esm/destination-kit/action.d.ts +7 -11
- package/dist/esm/destination-kit/action.js +2 -39
- package/dist/esm/destination-kit/action.js.map +1 -1
- package/dist/esm/destination-kit/index.d.ts +6 -16
- package/dist/esm/destination-kit/index.js +46 -56
- package/dist/esm/destination-kit/index.js.map +1 -1
- package/dist/esm/destination-kit/types.d.ts +1 -1
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/mapping-kit/index.d.ts +1 -5
- package/dist/esm/mapping-kit/index.js +1 -13
- package/dist/esm/mapping-kit/index.js.map +1 -1
- package/dist/esm/schema-validation.d.ts +1 -6
- package/dist/esm/schema-validation.js +2 -5
- package/dist/esm/schema-validation.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/dist/cjs/retry.d.ts +0 -6
- package/dist/cjs/retry.js +0 -22
- package/dist/cjs/retry.js.map +0 -1
- package/dist/esm/retry.d.ts +0 -6
- package/dist/esm/retry.js +0 -18
- package/dist/esm/retry.js.map +0 -1
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
import { EventEmitter } from 'events';
|
|
3
3
|
import createRequestClient from '../create-request-client';
|
|
4
4
|
import { JSONLikeObject, JSONObject } from '../json-object';
|
|
5
|
-
import { InputData } from '../mapping-kit';
|
|
6
5
|
import type { DynamicFieldResponse, InputField, RequestExtension, ExecuteInput, Result } from './types';
|
|
7
6
|
import type { JSONSchema4 } from 'json-schema';
|
|
8
7
|
import { AuthTokens } from './parse-settings';
|
|
@@ -22,27 +21,24 @@ export interface ActionDefinition<Settings, Payload = any> extends BaseActionDef
|
|
|
22
21
|
[K in keyof Payload]?: RequestFn<Settings, Payload, DynamicFieldResponse>;
|
|
23
22
|
};
|
|
24
23
|
perform: RequestFn<Settings, Payload>;
|
|
25
|
-
performBatch?: RequestFn<Settings, Payload[]>;
|
|
26
24
|
}
|
|
27
25
|
interface ExecuteDynamicFieldInput<Settings, Payload> {
|
|
28
26
|
settings: Settings;
|
|
29
27
|
payload: Payload;
|
|
30
28
|
page?: string;
|
|
31
29
|
}
|
|
32
|
-
interface ExecuteBundle<T = unknown, Data = unknown> {
|
|
33
|
-
data: Data;
|
|
34
|
-
settings: T;
|
|
35
|
-
mapping: JSONObject;
|
|
36
|
-
auth: AuthTokens | undefined;
|
|
37
|
-
}
|
|
38
30
|
export declare class Action<Settings, Payload extends JSONLikeObject> extends EventEmitter {
|
|
39
31
|
readonly definition: ActionDefinition<Settings, Payload>;
|
|
40
32
|
readonly destinationName: string;
|
|
41
33
|
readonly schema?: JSONSchema4;
|
|
42
34
|
private extendRequest;
|
|
43
|
-
constructor(destinationName: string, definition: ActionDefinition<Settings, Payload>, extendRequest?: RequestExtension<Settings>);
|
|
44
|
-
execute(bundle:
|
|
45
|
-
|
|
35
|
+
constructor(destinationName: string, definition: ActionDefinition<Settings, Payload>, extendRequest?: RequestExtension<Settings, Payload>);
|
|
36
|
+
execute(bundle: {
|
|
37
|
+
data: unknown;
|
|
38
|
+
settings: Settings;
|
|
39
|
+
mapping: JSONObject;
|
|
40
|
+
auth: AuthTokens | undefined;
|
|
41
|
+
}): Promise<Result[]>;
|
|
46
42
|
executeDynamicField(field: string, data: ExecuteDynamicFieldInput<Settings, Payload>): unknown;
|
|
47
43
|
private performRequest;
|
|
48
44
|
private createRequestClient;
|
|
@@ -25,8 +25,7 @@ class Action extends events_1.EventEmitter {
|
|
|
25
25
|
const payload = mapping_kit_1.transform(bundle.mapping, bundle.data);
|
|
26
26
|
results.push({ output: 'Mappings resolved' });
|
|
27
27
|
if (this.schema) {
|
|
28
|
-
|
|
29
|
-
schema_validation_1.validateSchema(payload, this.schema, { schemaKey });
|
|
28
|
+
schema_validation_1.validateSchema(payload, this.schema, `${this.destinationName}:${this.definition.title}`);
|
|
30
29
|
results.push({ output: 'Payload validated' });
|
|
31
30
|
}
|
|
32
31
|
const dataBundle = {
|
|
@@ -40,42 +39,6 @@ class Action extends events_1.EventEmitter {
|
|
|
40
39
|
results.push({ output: output });
|
|
41
40
|
return results;
|
|
42
41
|
}
|
|
43
|
-
async executeBatch(bundle) {
|
|
44
|
-
let payloads = mapping_kit_1.transformBatch(bundle.mapping, bundle.data);
|
|
45
|
-
if (this.schema) {
|
|
46
|
-
const schema = this.schema;
|
|
47
|
-
const schemaKey = `${this.destinationName}:${this.definition.title}`;
|
|
48
|
-
payloads = payloads.filter((payload) => schema_validation_1.validateSchema(payload, schema, {
|
|
49
|
-
schemaKey,
|
|
50
|
-
throwIfInvalid: false
|
|
51
|
-
}));
|
|
52
|
-
}
|
|
53
|
-
if (payloads.length === 0) {
|
|
54
|
-
return;
|
|
55
|
-
}
|
|
56
|
-
if (this.definition.performBatch) {
|
|
57
|
-
const data = {
|
|
58
|
-
rawData: bundle.data,
|
|
59
|
-
rawMapping: bundle.mapping,
|
|
60
|
-
settings: bundle.settings,
|
|
61
|
-
payload: payloads,
|
|
62
|
-
auth: bundle.auth
|
|
63
|
-
};
|
|
64
|
-
await this.performRequest(this.definition.performBatch, data);
|
|
65
|
-
return;
|
|
66
|
-
}
|
|
67
|
-
const promises = payloads.map((payload, i) => {
|
|
68
|
-
const data = {
|
|
69
|
-
rawData: bundle.data[i],
|
|
70
|
-
rawMapping: bundle.mapping,
|
|
71
|
-
settings: bundle.settings,
|
|
72
|
-
payload,
|
|
73
|
-
auth: bundle.auth
|
|
74
|
-
};
|
|
75
|
-
return this.performRequest(this.definition.perform, data);
|
|
76
|
-
});
|
|
77
|
-
await Promise.all(promises);
|
|
78
|
-
}
|
|
79
42
|
executeDynamicField(field, data) {
|
|
80
43
|
const fn = this.definition.dynamicFields?.[field];
|
|
81
44
|
if (typeof fn !== 'function') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action.js","sourceRoot":"","sources":["../../../src/destination-kit/action.ts"],"names":[],"mappings":";;;;;;AAAA,mCAAqC;AACrC,qFAA0D;AAE1D,
|
|
1
|
+
{"version":3,"file":"action.js","sourceRoot":"","sources":["../../../src/destination-kit/action.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,7 @@ export interface SubscriptionStats {
|
|
|
16
16
|
destination: string;
|
|
17
17
|
action: string;
|
|
18
18
|
subscribe: string;
|
|
19
|
+
state: string;
|
|
19
20
|
input: JSONLikeObject;
|
|
20
21
|
output: Result[] | null;
|
|
21
22
|
}
|
|
@@ -80,20 +81,10 @@ interface EventInput<Settings> {
|
|
|
80
81
|
readonly settings: Settings;
|
|
81
82
|
readonly auth?: AuthTokens;
|
|
82
83
|
}
|
|
83
|
-
interface BatchEventInput<Settings> {
|
|
84
|
-
readonly events: SegmentEvent[];
|
|
85
|
-
readonly mapping: JSONObject;
|
|
86
|
-
readonly settings: Settings;
|
|
87
|
-
readonly auth?: AuthTokens;
|
|
88
|
-
}
|
|
89
84
|
export interface DecoratedResponse extends ModifiedResponse {
|
|
90
85
|
request: Request;
|
|
91
86
|
options: AllRequestOptions;
|
|
92
87
|
}
|
|
93
|
-
interface OnEventOptions {
|
|
94
|
-
onTokenRefresh?: (tokens: RefreshAccessTokenResult) => void;
|
|
95
|
-
onComplete?: (stats: SubscriptionStats) => void;
|
|
96
|
-
}
|
|
97
88
|
export declare class Destination<Settings = JSONObject> {
|
|
98
89
|
readonly definition: DestinationDefinition<Settings>;
|
|
99
90
|
readonly name: string;
|
|
@@ -107,13 +98,12 @@ export declare class Destination<Settings = JSONObject> {
|
|
|
107
98
|
refreshAccessToken(settings: Settings, oauthData: OAuth2ClientCredentials): Promise<RefreshAccessTokenResult> | undefined;
|
|
108
99
|
private partnerAction;
|
|
109
100
|
protected executeAction(actionSlug: string, { event, mapping, settings, auth }: EventInput<Settings>): Promise<Result[]>;
|
|
110
|
-
executeBatch(actionSlug: string, { events, mapping, settings, auth }: BatchEventInput<Settings>): Promise<{
|
|
111
|
-
output: string;
|
|
112
|
-
}[]>;
|
|
113
101
|
private onSubscription;
|
|
114
|
-
onEvent(event: SegmentEvent, settings: JSONObject, options?:
|
|
115
|
-
|
|
116
|
-
|
|
102
|
+
onEvent(event: SegmentEvent, settings: JSONObject, options?: {
|
|
103
|
+
onTokenRefresh?: (tokens: RefreshAccessTokenResult) => void;
|
|
104
|
+
onComplete?: (stats: SubscriptionStats) => void;
|
|
105
|
+
}): Promise<Result[]>;
|
|
106
|
+
private onEventInternal;
|
|
117
107
|
private getSubscriptions;
|
|
118
108
|
private getDestinationSettings;
|
|
119
109
|
}
|
|
@@ -13,7 +13,7 @@ const create_request_client_1 = __importDefault(require("../create-request-clien
|
|
|
13
13
|
const schema_validation_1 = require("../schema-validation");
|
|
14
14
|
const errors_1 = require("../errors");
|
|
15
15
|
const parse_settings_1 = require("./parse-settings");
|
|
16
|
-
const
|
|
16
|
+
const RETRY_ATTEMPTS = 2;
|
|
17
17
|
const OAUTH2_SCHEME = 'oauth2';
|
|
18
18
|
class Destination {
|
|
19
19
|
constructor(destination) {
|
|
@@ -34,9 +34,9 @@ class Destination {
|
|
|
34
34
|
const destinationSettings = this.getDestinationSettings(settings);
|
|
35
35
|
const auth = parse_settings_1.getAuthData(settings);
|
|
36
36
|
const data = { settings: destinationSettings, auth };
|
|
37
|
-
const context = { settings: destinationSettings, payload:
|
|
37
|
+
const context = { settings: destinationSettings, payload: {}, auth };
|
|
38
38
|
if (this.settingsSchema) {
|
|
39
|
-
schema_validation_1.validateSchema(settings, this.settingsSchema,
|
|
39
|
+
schema_validation_1.validateSchema(settings, this.settingsSchema, `${this.name}:settings`);
|
|
40
40
|
}
|
|
41
41
|
if (!this.authentication?.testAuthentication) {
|
|
42
42
|
return;
|
|
@@ -56,7 +56,7 @@ class Destination {
|
|
|
56
56
|
}
|
|
57
57
|
const context = {
|
|
58
58
|
settings,
|
|
59
|
-
payload:
|
|
59
|
+
payload: {},
|
|
60
60
|
auth: parse_settings_1.getAuthData(settings)
|
|
61
61
|
};
|
|
62
62
|
const options = this.extendRequest?.(context) ?? {};
|
|
@@ -76,10 +76,10 @@ class Destination {
|
|
|
76
76
|
this.actions[slug] = action;
|
|
77
77
|
return this;
|
|
78
78
|
}
|
|
79
|
-
|
|
79
|
+
executeAction(actionSlug, { event, mapping, settings, auth }) {
|
|
80
80
|
const action = this.actions[actionSlug];
|
|
81
81
|
if (!action) {
|
|
82
|
-
return [];
|
|
82
|
+
return Promise.resolve([]);
|
|
83
83
|
}
|
|
84
84
|
return action.execute({
|
|
85
85
|
mapping,
|
|
@@ -88,52 +88,41 @@ class Destination {
|
|
|
88
88
|
auth
|
|
89
89
|
});
|
|
90
90
|
}
|
|
91
|
-
async
|
|
92
|
-
const action = this.actions[actionSlug];
|
|
93
|
-
if (!action) {
|
|
94
|
-
return [];
|
|
95
|
-
}
|
|
96
|
-
await action.executeBatch({
|
|
97
|
-
mapping,
|
|
98
|
-
data: events,
|
|
99
|
-
settings,
|
|
100
|
-
auth
|
|
101
|
-
});
|
|
102
|
-
return [{ output: 'successfully processed batch of events' }];
|
|
103
|
-
}
|
|
104
|
-
async onSubscription(subscription, events, settings, auth, onComplete) {
|
|
91
|
+
async onSubscription(subscription, event, settings, auth, onComplete) {
|
|
105
92
|
const subscriptionStartedAt = time_1.time();
|
|
106
93
|
const actionSlug = subscription.partnerAction;
|
|
107
94
|
const input = {
|
|
95
|
+
event,
|
|
108
96
|
mapping: subscription.mapping || {},
|
|
109
97
|
settings,
|
|
110
98
|
auth
|
|
111
99
|
};
|
|
100
|
+
let state = 'pending';
|
|
112
101
|
let results = null;
|
|
113
102
|
try {
|
|
114
103
|
if (!subscription.subscribe || typeof subscription.subscribe !== 'string') {
|
|
104
|
+
state = 'skipped';
|
|
115
105
|
results = [{ output: 'invalid subscription' }];
|
|
116
106
|
return results;
|
|
117
107
|
}
|
|
118
108
|
const parsedSubscription = destination_subscriptions_1.parseFql(subscription.subscribe);
|
|
119
109
|
if (parsedSubscription.error) {
|
|
110
|
+
state = 'skipped';
|
|
120
111
|
results = [{ output: `invalid subscription : ${parsedSubscription.error.message}` }];
|
|
121
112
|
return results;
|
|
122
113
|
}
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
return await this.executeAction(actionSlug, { ...input, event: subscribedEvents[0] });
|
|
127
|
-
}
|
|
128
|
-
else if (subscribedEvents.length > 1) {
|
|
129
|
-
return await this.executeBatch(actionSlug, { ...input, events: subscribedEvents });
|
|
130
|
-
}
|
|
131
|
-
else {
|
|
114
|
+
const isSubscribed = destination_subscriptions_1.validate(parsedSubscription, event);
|
|
115
|
+
if (!isSubscribed) {
|
|
116
|
+
state = 'skipped';
|
|
132
117
|
results = [{ output: 'not subscribed' }];
|
|
133
118
|
return results;
|
|
134
119
|
}
|
|
120
|
+
results = await this.executeAction(actionSlug, input);
|
|
121
|
+
state = 'done';
|
|
122
|
+
return results;
|
|
135
123
|
}
|
|
136
124
|
catch (error) {
|
|
125
|
+
state = 'errored';
|
|
137
126
|
results = [{ error }];
|
|
138
127
|
if (error.name === 'AggregateAjvError' || error.name === 'ValidationError') {
|
|
139
128
|
error.status = 400;
|
|
@@ -148,8 +137,9 @@ class Destination {
|
|
|
148
137
|
destination: this.name,
|
|
149
138
|
action: actionSlug,
|
|
150
139
|
subscribe: subscription.subscribe,
|
|
140
|
+
state,
|
|
151
141
|
input: {
|
|
152
|
-
|
|
142
|
+
event: input.event,
|
|
153
143
|
mapping: input.mapping,
|
|
154
144
|
settings: input.settings
|
|
155
145
|
},
|
|
@@ -157,35 +147,35 @@ class Destination {
|
|
|
157
147
|
});
|
|
158
148
|
}
|
|
159
149
|
}
|
|
160
|
-
onEvent(event, settings, options) {
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
150
|
+
async onEvent(event, settings, options) {
|
|
151
|
+
for (let i = 0; i < RETRY_ATTEMPTS; i++) {
|
|
152
|
+
try {
|
|
153
|
+
return await this.onEventInternal(event, settings, options?.onComplete);
|
|
154
|
+
}
|
|
155
|
+
catch (error) {
|
|
156
|
+
const statusCode = error?.status ?? error?.response?.status ?? 500;
|
|
157
|
+
if (!(statusCode === 401 && this.authentication?.scheme === OAUTH2_SCHEME)) {
|
|
158
|
+
throw error;
|
|
159
|
+
}
|
|
160
|
+
const destinationSettings = this.getDestinationSettings(settings);
|
|
161
|
+
const oauthSettings = parse_settings_1.getOAuth2Data(settings);
|
|
162
|
+
const newTokens = await this.refreshAccessToken(destinationSettings, oauthSettings);
|
|
163
|
+
if (!newTokens) {
|
|
164
|
+
throw new errors_1.InvalidAuthenticationError('Failed to refresh access token');
|
|
165
|
+
}
|
|
166
|
+
settings = parse_settings_1.updateOAuthSettings(settings, newTokens);
|
|
167
|
+
options?.onTokenRefresh?.(newTokens);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
throw new errors_1.InvalidAuthenticationError();
|
|
165
171
|
}
|
|
166
|
-
async
|
|
172
|
+
async onEventInternal(event, settings, onComplete) {
|
|
167
173
|
const subscriptions = this.getSubscriptions(settings);
|
|
168
174
|
const destinationSettings = this.getDestinationSettings(settings);
|
|
169
|
-
const
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
return [].concat(...results);
|
|
174
|
-
};
|
|
175
|
-
const onFailedAttempt = async (error) => {
|
|
176
|
-
const statusCode = error?.status ?? error?.response?.status ?? 500;
|
|
177
|
-
if (!(statusCode === 401 && this.authentication?.scheme === OAUTH2_SCHEME)) {
|
|
178
|
-
throw error;
|
|
179
|
-
}
|
|
180
|
-
const oauthSettings = parse_settings_1.getOAuth2Data(settings);
|
|
181
|
-
const newTokens = await this.refreshAccessToken(destinationSettings, oauthSettings);
|
|
182
|
-
if (!newTokens) {
|
|
183
|
-
throw new errors_1.InvalidAuthenticationError('Failed to refresh access token');
|
|
184
|
-
}
|
|
185
|
-
settings = parse_settings_1.updateOAuthSettings(settings, newTokens);
|
|
186
|
-
options?.onTokenRefresh?.(newTokens);
|
|
187
|
-
};
|
|
188
|
-
return await retry_1.retry(run, { retries: 2, onFailedAttempt });
|
|
175
|
+
const authData = parse_settings_1.getAuthData(settings);
|
|
176
|
+
const promises = subscriptions.map((subscription) => this.onSubscription(subscription, event, destinationSettings, authData, onComplete));
|
|
177
|
+
const results = await Promise.all(promises);
|
|
178
|
+
return [].concat(...results);
|
|
189
179
|
}
|
|
190
180
|
getSubscriptions(settings) {
|
|
191
181
|
const { subscription, subscriptions } = settings;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destination-kit/index.ts"],"names":[],"mappings":";;;;;;AAAA,kFAAuF;AAEvF,qCAAoF;AACpF,kCAAwC;AAGxC,iEAA8E;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destination-kit/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -68,4 +68,4 @@ export interface PathDirective {
|
|
|
68
68
|
'@path': string;
|
|
69
69
|
}
|
|
70
70
|
export declare type Directive = IfDirective | TemplateDirective | PathDirective;
|
|
71
|
-
export declare type RequestExtension<Settings, Payload =
|
|
71
|
+
export declare type RequestExtension<Settings, Payload = unknown> = (data: ExecuteInput<Settings, Payload>) => RequestOptions;
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -11,6 +11,8 @@ export { removeUndefined } from './remove-undefined';
|
|
|
11
11
|
export { time, duration } from './time';
|
|
12
12
|
export { realTypeOf, isObject, isArray, isString } from './real-type-of';
|
|
13
13
|
export type { RequestOptions } from './request-client';
|
|
14
|
+
export { HTTPError } from './request-client';
|
|
15
|
+
export { ModifiedResponse } from './types';
|
|
14
16
|
export { default as fetch, Request, Response, Headers } from './fetch';
|
|
15
17
|
export type { BaseActionDefinition, ActionDefinition, BaseDefinition, DestinationDefinition, ExecuteInput, Subscription, SubscriptionStats, AuthenticationScheme, BasicAuthentication, CustomAuthentication, OAuth2Authentication, OAuth2ClientCredentials, RefreshAccessTokenResult, RequestFn, DecoratedResponse, MinimalInputField } from './destination-kit';
|
|
16
18
|
export type { DynamicFieldResponse, DynamicFieldItem, InputField, GlobalSetting, RequestExtension } from './destination-kit/types';
|
package/dist/cjs/index.js
CHANGED
|
@@ -3,7 +3,7 @@ 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
|
-
exports.Headers = exports.Response = exports.Request = exports.fetch = exports.isString = exports.isArray = exports.isObject = exports.realTypeOf = exports.duration = exports.time = exports.removeUndefined = exports.omit = exports.get = exports.RetryableError = exports.InvalidAuthenticationError = exports.IntegrationError = exports.defaultValues = exports.createTestIntegration = exports.createTestEvent = exports.transform = exports.getAuthData = exports.fieldsToJsonSchema = exports.Destination = void 0;
|
|
6
|
+
exports.Headers = exports.Response = exports.Request = exports.fetch = exports.HTTPError = exports.isString = exports.isArray = exports.isObject = exports.realTypeOf = exports.duration = exports.time = exports.removeUndefined = exports.omit = exports.get = exports.RetryableError = exports.InvalidAuthenticationError = exports.IntegrationError = exports.defaultValues = exports.createTestIntegration = exports.createTestEvent = exports.transform = exports.getAuthData = exports.fieldsToJsonSchema = exports.Destination = void 0;
|
|
7
7
|
var destination_kit_1 = require("./destination-kit");
|
|
8
8
|
Object.defineProperty(exports, "Destination", { enumerable: true, get: function () { return destination_kit_1.Destination; } });
|
|
9
9
|
Object.defineProperty(exports, "fieldsToJsonSchema", { enumerable: true, get: function () { return destination_kit_1.fieldsToJsonSchema; } });
|
|
@@ -35,6 +35,8 @@ Object.defineProperty(exports, "realTypeOf", { enumerable: true, get: function (
|
|
|
35
35
|
Object.defineProperty(exports, "isObject", { enumerable: true, get: function () { return real_type_of_1.isObject; } });
|
|
36
36
|
Object.defineProperty(exports, "isArray", { enumerable: true, get: function () { return real_type_of_1.isArray; } });
|
|
37
37
|
Object.defineProperty(exports, "isString", { enumerable: true, get: function () { return real_type_of_1.isString; } });
|
|
38
|
+
var request_client_1 = require("./request-client");
|
|
39
|
+
Object.defineProperty(exports, "HTTPError", { enumerable: true, get: function () { return request_client_1.HTTPError; } });
|
|
38
40
|
var fetch_1 = require("./fetch");
|
|
39
41
|
Object.defineProperty(exports, "fetch", { enumerable: true, get: function () { return __importDefault(fetch_1).default; } });
|
|
40
42
|
Object.defineProperty(exports, "Request", { enumerable: true, get: function () { return fetch_1.Request; } });
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,qDAAmE;AAA1D,8GAAA,WAAW,OAAA;AAAE,qHAAA,kBAAkB,OAAA;AACxC,mEAA8D;AAArD,6GAAA,WAAW,OAAA;AACpB,6CAAyC;AAAhC,wGAAA,SAAS,OAAA;AAClB,yDAAqD;AAA5C,oHAAA,eAAe,OAAA;AACxB,qEAAiE;AAAxD,gIAAA,qBAAqB,OAAA;AAC9B,uCAA0C;AAAjC,yGAAA,aAAa,OAAA;AACtB,mCAAuF;AAA9E,0GAAA,gBAAgB,OAAA;AAAE,oHAAA,0BAA0B,OAAA;AAAE,wGAAA,cAAc,OAAA;AACrE,6BAA2B;AAAlB,0FAAA,GAAG,OAAA;AACZ,+BAA6B;AAApB,4FAAA,IAAI,OAAA;AACb,uDAAoD;AAA3C,mHAAA,eAAe,OAAA;AACxB,+BAAuC;AAA9B,4FAAA,IAAI,OAAA;AAAE,gGAAA,QAAQ,OAAA;AAEvB,+CAAwE;AAA/D,0GAAA,UAAU,OAAA;AAAE,wGAAA,QAAQ,OAAA;AAAE,uGAAA,OAAO,OAAA;AAAE,wGAAA,QAAQ,OAAA;AAGhD,iCAAsE;AAA7D,+GAAA,OAAO,OAAS;AAAE,gGAAA,OAAO,OAAA;AAAE,iGAAA,QAAQ,OAAA;AAAE,gGAAA,OAAO,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,qDAAmE;AAA1D,8GAAA,WAAW,OAAA;AAAE,qHAAA,kBAAkB,OAAA;AACxC,mEAA8D;AAArD,6GAAA,WAAW,OAAA;AACpB,6CAAyC;AAAhC,wGAAA,SAAS,OAAA;AAClB,yDAAqD;AAA5C,oHAAA,eAAe,OAAA;AACxB,qEAAiE;AAAxD,gIAAA,qBAAqB,OAAA;AAC9B,uCAA0C;AAAjC,yGAAA,aAAa,OAAA;AACtB,mCAAuF;AAA9E,0GAAA,gBAAgB,OAAA;AAAE,oHAAA,0BAA0B,OAAA;AAAE,wGAAA,cAAc,OAAA;AACrE,6BAA2B;AAAlB,0FAAA,GAAG,OAAA;AACZ,+BAA6B;AAApB,4FAAA,IAAI,OAAA;AACb,uDAAoD;AAA3C,mHAAA,eAAe,OAAA;AACxB,+BAAuC;AAA9B,4FAAA,IAAI,OAAA;AAAE,gGAAA,QAAQ,OAAA;AAEvB,+CAAwE;AAA/D,0GAAA,UAAU,OAAA;AAAE,wGAAA,QAAQ,OAAA;AAAE,uGAAA,OAAO,OAAA;AAAE,wGAAA,QAAQ,OAAA;AAGhD,mDAA4C;AAAnC,2GAAA,SAAS,OAAA;AAElB,iCAAsE;AAA7D,+GAAA,OAAO,OAAS;AAAE,gGAAA,OAAO,OAAA;AAAE,iGAAA,QAAQ,OAAA;AAAE,gGAAA,OAAO,OAAA"}
|
|
@@ -1,6 +1,2 @@
|
|
|
1
1
|
import { JSONObject, JSONLikeObject } from '../json-object';
|
|
2
|
-
export declare
|
|
3
|
-
[key: string]: unknown;
|
|
4
|
-
};
|
|
5
|
-
export declare function transform(mapping: JSONLikeObject, data?: InputData | undefined): JSONObject;
|
|
6
|
-
export declare function transformBatch(mapping: JSONLikeObject, data?: Array<InputData> | undefined): JSONObject[];
|
|
2
|
+
export declare function transform(mapping: JSONLikeObject, data?: unknown): JSONObject;
|
|
@@ -3,7 +3,7 @@ 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
|
-
exports.
|
|
6
|
+
exports.transform = void 0;
|
|
7
7
|
const get_1 = require("../get");
|
|
8
8
|
const is_directive_1 = require("./is-directive");
|
|
9
9
|
const placeholders_1 = require("./placeholders");
|
|
@@ -83,7 +83,7 @@ function resolve(mapping, payload) {
|
|
|
83
83
|
function transform(mapping, data = {}) {
|
|
84
84
|
const realType = real_type_of_1.realTypeOf(data);
|
|
85
85
|
if (realType !== 'object') {
|
|
86
|
-
throw new Error(`
|
|
86
|
+
throw new Error(`payload must be an object, got ${realType}`);
|
|
87
87
|
}
|
|
88
88
|
validate_1.default(mapping);
|
|
89
89
|
const cloned = cloneJson(mapping);
|
|
@@ -92,19 +92,6 @@ function transform(mapping, data = {}) {
|
|
|
92
92
|
return cleaned;
|
|
93
93
|
}
|
|
94
94
|
exports.transform = transform;
|
|
95
|
-
function transformBatch(mapping, data = []) {
|
|
96
|
-
const realType = real_type_of_1.realTypeOf(data);
|
|
97
|
-
if (!real_type_of_1.isArray(data)) {
|
|
98
|
-
throw new Error(`data must be an array, got ${realType}`);
|
|
99
|
-
}
|
|
100
|
-
validate_1.default(mapping);
|
|
101
|
-
return remove_undefined_1.removeUndefined(data.map((d) => {
|
|
102
|
-
const cloned = cloneJson(mapping);
|
|
103
|
-
const resolved = resolve(cloned, d);
|
|
104
|
-
return resolved;
|
|
105
|
-
}));
|
|
106
|
-
}
|
|
107
|
-
exports.transformBatch = transformBatch;
|
|
108
95
|
function cloneJson(obj) {
|
|
109
96
|
return JSON.parse(JSON.stringify(obj));
|
|
110
97
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mapping-kit/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mapping-kit/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1 @@
|
|
|
1
|
-
|
|
2
|
-
schemaKey?: string;
|
|
3
|
-
throwIfInvalid?: boolean;
|
|
4
|
-
}
|
|
5
|
-
export declare function validateSchema(obj: unknown, schema: object, options?: ValidationOptions): boolean;
|
|
6
|
-
export {};
|
|
1
|
+
export declare function validateSchema(obj: unknown, schema: object, schemaKey?: string): void;
|
|
@@ -26,8 +26,7 @@ ajv.addFormat('date-like', (data) => {
|
|
|
26
26
|
}
|
|
27
27
|
return date.isValid();
|
|
28
28
|
});
|
|
29
|
-
function validateSchema(obj, schema,
|
|
30
|
-
const { schemaKey, throwIfInvalid = true } = options ?? {};
|
|
29
|
+
function validateSchema(obj, schema, schemaKey) {
|
|
31
30
|
let validate;
|
|
32
31
|
if (schemaKey) {
|
|
33
32
|
validate = ajv.getSchema(schemaKey) || ajv.addSchema(schema, schemaKey).getSchema(schemaKey);
|
|
@@ -35,11 +34,9 @@ function validateSchema(obj, schema, options) {
|
|
|
35
34
|
else {
|
|
36
35
|
validate = ajv.compile(schema);
|
|
37
36
|
}
|
|
38
|
-
|
|
39
|
-
if (throwIfInvalid && !isValid) {
|
|
37
|
+
if (!validate(obj)) {
|
|
40
38
|
throw new ajv_human_errors_1.AggregateAjvError(validate.errors);
|
|
41
39
|
}
|
|
42
|
-
return isValid;
|
|
43
40
|
}
|
|
44
41
|
exports.validateSchema = validateSchema;
|
|
45
42
|
//# sourceMappingURL=schema-validation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-validation.js","sourceRoot":"","sources":["../../src/schema-validation.ts"],"names":[],"mappings":";;;;;;AACA,gEAA6D;AAC7D,8CAAqB;AACrB,kDAAyB;AAEzB,MAAM,GAAG,GAAG,IAAI,aAAG,CAAC;IAElB,WAAW,EAAE,IAAI;IAEjB,SAAS,EAAE,IAAI;IAEf,OAAO,EAAE,IAAI;IAEb,gBAAgB,EAAE,IAAI;IAEtB,YAAY,EAAE,IAAI;CACnB,CAAC,CAAA;AAGF,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAA;AACrC,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAA;AACjC,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,IAAY,EAAE,EAAE;IAC1C,IAAI,IAAI,GAAG,eAAK,CAAC,IAAI,CAAC,CAAA;IAEtB,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE;QAEjC,IAAI,IAAI,CAAC,MAAM,KAAK,EAAE,EAAE;YACtB,IAAI,GAAG,eAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;SAC3B;QAED,IAAI,GAAG,eAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;KAChC;IAED,OAAO,IAAI,CAAC,OAAO,EAAE,CAAA;AACvB,CAAC,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"schema-validation.js","sourceRoot":"","sources":["../../src/schema-validation.ts"],"names":[],"mappings":";;;;;;AACA,gEAA6D;AAC7D,8CAAqB;AACrB,kDAAyB;AAEzB,MAAM,GAAG,GAAG,IAAI,aAAG,CAAC;IAElB,WAAW,EAAE,IAAI;IAEjB,SAAS,EAAE,IAAI;IAEf,OAAO,EAAE,IAAI;IAEb,gBAAgB,EAAE,IAAI;IAEtB,YAAY,EAAE,IAAI;CACnB,CAAC,CAAA;AAGF,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAA;AACrC,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAA;AACjC,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,IAAY,EAAE,EAAE;IAC1C,IAAI,IAAI,GAAG,eAAK,CAAC,IAAI,CAAC,CAAA;IAEtB,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE;QAEjC,IAAI,IAAI,CAAC,MAAM,KAAK,EAAE,EAAE;YACtB,IAAI,GAAG,eAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;SAC3B;QAED,IAAI,GAAG,eAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;KAChC;IAED,OAAO,IAAI,CAAC,OAAO,EAAE,CAAA;AACvB,CAAC,CAAC,CAAA;AAMF,SAAgB,cAAc,CAAC,GAAY,EAAE,MAAc,EAAE,SAAkB;IAC7E,IAAI,QAA8B,CAAA;IAElC,IAAI,SAAS,EAAE;QAEb,QAAQ,GAAG,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,SAAS,CAAC,SAAS,CAAE,CAAA;KAC9F;SAAM;QACL,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;KAC/B;IAED,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;QAElB,MAAM,IAAI,oCAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;KAC7C;AACH,CAAC;AAdD,wCAcC"}
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
import { EventEmitter } from 'events';
|
|
3
3
|
import createRequestClient from '../create-request-client';
|
|
4
4
|
import { JSONLikeObject, JSONObject } from '../json-object';
|
|
5
|
-
import { InputData } from '../mapping-kit';
|
|
6
5
|
import type { DynamicFieldResponse, InputField, RequestExtension, ExecuteInput, Result } from './types';
|
|
7
6
|
import type { JSONSchema4 } from 'json-schema';
|
|
8
7
|
import { AuthTokens } from './parse-settings';
|
|
@@ -22,27 +21,24 @@ export interface ActionDefinition<Settings, Payload = any> extends BaseActionDef
|
|
|
22
21
|
[K in keyof Payload]?: RequestFn<Settings, Payload, DynamicFieldResponse>;
|
|
23
22
|
};
|
|
24
23
|
perform: RequestFn<Settings, Payload>;
|
|
25
|
-
performBatch?: RequestFn<Settings, Payload[]>;
|
|
26
24
|
}
|
|
27
25
|
interface ExecuteDynamicFieldInput<Settings, Payload> {
|
|
28
26
|
settings: Settings;
|
|
29
27
|
payload: Payload;
|
|
30
28
|
page?: string;
|
|
31
29
|
}
|
|
32
|
-
interface ExecuteBundle<T = unknown, Data = unknown> {
|
|
33
|
-
data: Data;
|
|
34
|
-
settings: T;
|
|
35
|
-
mapping: JSONObject;
|
|
36
|
-
auth: AuthTokens | undefined;
|
|
37
|
-
}
|
|
38
30
|
export declare class Action<Settings, Payload extends JSONLikeObject> extends EventEmitter {
|
|
39
31
|
readonly definition: ActionDefinition<Settings, Payload>;
|
|
40
32
|
readonly destinationName: string;
|
|
41
33
|
readonly schema?: JSONSchema4;
|
|
42
34
|
private extendRequest;
|
|
43
|
-
constructor(destinationName: string, definition: ActionDefinition<Settings, Payload>, extendRequest?: RequestExtension<Settings>);
|
|
44
|
-
execute(bundle:
|
|
45
|
-
|
|
35
|
+
constructor(destinationName: string, definition: ActionDefinition<Settings, Payload>, extendRequest?: RequestExtension<Settings, Payload>);
|
|
36
|
+
execute(bundle: {
|
|
37
|
+
data: unknown;
|
|
38
|
+
settings: Settings;
|
|
39
|
+
mapping: JSONObject;
|
|
40
|
+
auth: AuthTokens | undefined;
|
|
41
|
+
}): Promise<Result[]>;
|
|
46
42
|
executeDynamicField(field: string, data: ExecuteDynamicFieldInput<Settings, Payload>): unknown;
|
|
47
43
|
private performRequest;
|
|
48
44
|
private createRequestClient;
|