@segment/actions-core 3.8.4-canary.16 → 3.9.1-alpha.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.js +1 -1
- package/dist/cjs/create-request-client.js.map +1 -1
- package/dist/cjs/create-test-integration.d.ts +0 -3
- package/dist/cjs/create-test-integration.js +0 -20
- package/dist/cjs/create-test-integration.js.map +1 -1
- package/dist/cjs/destination-kit/action.d.ts +7 -12
- package/dist/cjs/destination-kit/action.js +1 -31
- package/dist/cjs/destination-kit/action.js.map +1 -1
- package/dist/cjs/destination-kit/index.d.ts +6 -17
- package/dist/cjs/destination-kit/index.js +48 -71
- package/dist/cjs/destination-kit/index.js.map +1 -1
- package/dist/cjs/destination-kit/types.d.ts +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 +8 -11
- package/dist/cjs/schema-validation.js.map +1 -1
- package/dist/esm/create-request-client.js +1 -1
- package/dist/esm/create-request-client.js.map +1 -1
- package/dist/esm/create-test-integration.d.ts +0 -3
- package/dist/esm/create-test-integration.js +0 -20
- package/dist/esm/create-test-integration.js.map +1 -1
- package/dist/esm/destination-kit/action.d.ts +7 -12
- package/dist/esm/destination-kit/action.js +2 -32
- package/dist/esm/destination-kit/action.js.map +1 -1
- package/dist/esm/destination-kit/index.d.ts +6 -17
- package/dist/esm/destination-kit/index.js +48 -71
- package/dist/esm/destination-kit/index.js.map +1 -1
- package/dist/esm/destination-kit/types.d.ts +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 +8 -11
- package/dist/esm/schema-validation.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +6 -7
- package/dist/cjs/retry.d.ts +0 -6
- package/dist/cjs/retry.js +0 -23
- package/dist/cjs/retry.js.map +0 -1
- package/dist/esm/retry.d.ts +0 -6
- package/dist/esm/retry.js +0 -19
- package/dist/esm/retry.js.map +0 -1
|
@@ -10,7 +10,7 @@ const request_client_1 = __importDefault(require("./request-client"));
|
|
|
10
10
|
const baseClient = request_client_1.default({
|
|
11
11
|
timeout: 10000,
|
|
12
12
|
headers: {
|
|
13
|
-
'user-agent': 'Segment
|
|
13
|
+
'user-agent': 'Segment'
|
|
14
14
|
},
|
|
15
15
|
beforeRequest: [
|
|
16
16
|
add_basic_auth_header_1.default
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-request-client.js","sourceRoot":"","sources":["../../src/create-request-client.ts"],"names":[],"mappings":";;;;;AAAA,8GAAkF;AAClF,kGAAwE;AACxE,oGAA0E;AAC1E,sEAAoF;AAGpF,MAAM,UAAU,GAAG,wBAAc,CAAC;IAChC,OAAO,EAAE,KAAK;IACd,OAAO,EAAE;QACP,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"create-request-client.js","sourceRoot":"","sources":["../../src/create-request-client.ts"],"names":[],"mappings":";;;;;AAAA,8GAAkF;AAClF,kGAAwE;AACxE,oGAA0E;AAC1E,sEAAoF;AAGpF,MAAM,UAAU,GAAG,wBAAc,CAAC;IAChC,OAAO,EAAE,KAAK;IACd,OAAO,EAAE;QACP,YAAY,EAAE,SAAS;KACxB;IACD,aAAa,EAAE;QAEb,+BAAkB;KACnB;IACD,aAAa,EAAE,CAAC,0BAAe,EAAE,yBAAc,CAAC;CACjD,CAAC,CAAA;AAOF,SAAwB,mBAAmB,CAAC,GAAG,cAAmC;IAChF,IAAI,MAAM,GAAG,UAAU,CAAA;IAIvB,KAAK,MAAM,OAAO,IAAI,cAAc,IAAI,EAAE,EAAE;QAC1C,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;KAChC;IAGD,OAAO,CAAiB,GAAW,EAAE,OAAwB,EAAE,EAAE;QAC/D,OAAO,MAAM,CAAyB,GAAG,EAAE,OAAO,CAAC,CAAA;IACrD,CAAC,CAAA;AACH,CAAC;AAbD,sCAaC"}
|
|
@@ -14,9 +14,6 @@ declare class TestDestination<T> extends Destination<T> {
|
|
|
14
14
|
responses: Destination['responses'];
|
|
15
15
|
constructor(destination: DestinationDefinition<T>);
|
|
16
16
|
testAction(action: string, { event, mapping, settings, useDefaultMappings, auth }: InputData<T>): Promise<Destination['responses']>;
|
|
17
|
-
testBatchAction(action: string, { events, mapping, settings, useDefaultMappings, auth }: Omit<InputData<T>, 'event'> & {
|
|
18
|
-
events?: SegmentEvent[];
|
|
19
|
-
}): Promise<Destination['responses']>;
|
|
20
17
|
}
|
|
21
18
|
export declare function createTestIntegration<T>(destination: DestinationDefinition<T>): TestDestination<T>;
|
|
22
19
|
export {};
|
|
@@ -26,26 +26,6 @@ class TestDestination extends destination_kit_1.Destination {
|
|
|
26
26
|
this.responses = [];
|
|
27
27
|
return responses;
|
|
28
28
|
}
|
|
29
|
-
async testBatchAction(action, { events, mapping, settings, useDefaultMappings, auth }) {
|
|
30
|
-
mapping = mapping ?? {};
|
|
31
|
-
if (useDefaultMappings) {
|
|
32
|
-
const fields = this.definition.actions[action].fields;
|
|
33
|
-
const defaultMappings = map_values_1.mapValues(fields, 'default');
|
|
34
|
-
mapping = { ...defaultMappings, ...mapping };
|
|
35
|
-
}
|
|
36
|
-
if (!events || !events.length) {
|
|
37
|
-
events = [{ type: 'track' }];
|
|
38
|
-
}
|
|
39
|
-
await super.executeBatch(action, {
|
|
40
|
-
events: events.map((event) => create_test_event_1.createTestEvent(event)),
|
|
41
|
-
mapping,
|
|
42
|
-
settings: settings ?? {},
|
|
43
|
-
auth
|
|
44
|
-
});
|
|
45
|
-
const responses = this.responses;
|
|
46
|
-
this.responses = [];
|
|
47
|
-
return responses;
|
|
48
|
-
}
|
|
49
29
|
}
|
|
50
30
|
function createTestIntegration(destination) {
|
|
51
31
|
return new TestDestination(destination);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-test-integration.js","sourceRoot":"","sources":["../../src/create-test-integration.ts"],"names":[],"mappings":";;;AAAA,2DAAqD;AACrD,uDAA+C;AAC/C,6CAAwC;AAgCxC,MAAM,eAAmB,SAAQ,6BAAc;IAG7C,YAAY,WAAqC;QAC/C,KAAK,CAAC,WAAW,CAAC,CAAA;QAHpB,cAAS,GAA6B,EAAE,CAAA;IAIxC,CAAC;IAGD,KAAK,CAAC,UAAU,CACd,MAAc,EACd,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,IAAI,EAAgB;QAEpE,OAAO,GAAG,OAAO,IAAI,EAAE,CAAA;QAEvB,IAAI,kBAAkB,EAAE;YACtB,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAA;YACrD,MAAM,eAAe,GAAG,sBAAS,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;YACpD,OAAO,GAAG,EAAE,GAAG,eAAe,EAAE,GAAG,OAAO,EAAgB,CAAA;SAC3D;QAED,MAAM,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE;YAChC,KAAK,EAAE,mCAAe,CAAC,KAAK,CAAC;YAC7B,OAAO;YACP,QAAQ,EAAE,QAAQ,IAAK,EAAQ;YAC/B,IAAI;SACL,CAAC,CAAA;QAEF,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAA;QAChC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAA;QAEnB,OAAO,SAAS,CAAA;IAClB,CAAC;
|
|
1
|
+
{"version":3,"file":"create-test-integration.js","sourceRoot":"","sources":["../../src/create-test-integration.ts"],"names":[],"mappings":";;;AAAA,2DAAqD;AACrD,uDAA+C;AAC/C,6CAAwC;AAgCxC,MAAM,eAAmB,SAAQ,6BAAc;IAG7C,YAAY,WAAqC;QAC/C,KAAK,CAAC,WAAW,CAAC,CAAA;QAHpB,cAAS,GAA6B,EAAE,CAAA;IAIxC,CAAC;IAGD,KAAK,CAAC,UAAU,CACd,MAAc,EACd,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,IAAI,EAAgB;QAEpE,OAAO,GAAG,OAAO,IAAI,EAAE,CAAA;QAEvB,IAAI,kBAAkB,EAAE;YACtB,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAA;YACrD,MAAM,eAAe,GAAG,sBAAS,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;YACpD,OAAO,GAAG,EAAE,GAAG,eAAe,EAAE,GAAG,OAAO,EAAgB,CAAA;SAC3D;QAED,MAAM,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE;YAChC,KAAK,EAAE,mCAAe,CAAC,KAAK,CAAC;YAC7B,OAAO;YACP,QAAQ,EAAE,QAAQ,IAAK,EAAQ;YAC/B,IAAI;SACL,CAAC,CAAA;QAEF,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAA;QAChC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAA;QAEnB,OAAO,SAAS,CAAA;IAClB,CAAC;CACF;AAED,SAAgB,qBAAqB,CAAI,WAAqC;IAC5E,OAAO,IAAI,eAAe,CAAC,WAAW,CAAC,CAAA;AACzC,CAAC;AAFD,sDAEC"}
|
|
@@ -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,28 +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
|
-
readonly hasBatchSupport: boolean;
|
|
43
34
|
private extendRequest;
|
|
44
|
-
constructor(destinationName: string, definition: ActionDefinition<Settings, Payload>, extendRequest?: RequestExtension<Settings>);
|
|
45
|
-
execute(bundle:
|
|
46
|
-
|
|
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[]>;
|
|
47
42
|
executeDynamicField(field: string, data: ExecuteDynamicFieldInput<Settings, Payload>): unknown;
|
|
48
43
|
private performRequest;
|
|
49
44
|
private createRequestClient;
|
|
@@ -10,14 +10,12 @@ const mapping_kit_1 = require("../mapping-kit");
|
|
|
10
10
|
const fields_to_jsonschema_1 = require("./fields-to-jsonschema");
|
|
11
11
|
const fetch_1 = require("../fetch");
|
|
12
12
|
const schema_validation_1 = require("../schema-validation");
|
|
13
|
-
const errors_1 = require("../errors");
|
|
14
13
|
class Action extends events_1.EventEmitter {
|
|
15
14
|
constructor(destinationName, definition, extendRequest) {
|
|
16
15
|
super();
|
|
17
16
|
this.definition = definition;
|
|
18
17
|
this.destinationName = destinationName;
|
|
19
18
|
this.extendRequest = extendRequest;
|
|
20
|
-
this.hasBatchSupport = typeof definition.performBatch === 'function';
|
|
21
19
|
if (Object.keys(definition.fields ?? {}).length) {
|
|
22
20
|
this.schema = fields_to_jsonschema_1.fieldsToJsonSchema(definition.fields);
|
|
23
21
|
}
|
|
@@ -27,8 +25,7 @@ class Action extends events_1.EventEmitter {
|
|
|
27
25
|
const payload = mapping_kit_1.transform(bundle.mapping, bundle.data);
|
|
28
26
|
results.push({ output: 'Mappings resolved' });
|
|
29
27
|
if (this.schema) {
|
|
30
|
-
|
|
31
|
-
schema_validation_1.validateSchema(payload, this.schema, { schemaKey });
|
|
28
|
+
schema_validation_1.validateSchema(payload, this.schema, `${this.destinationName}:${this.definition.title}`);
|
|
32
29
|
results.push({ output: 'Payload validated' });
|
|
33
30
|
}
|
|
34
31
|
const dataBundle = {
|
|
@@ -42,33 +39,6 @@ class Action extends events_1.EventEmitter {
|
|
|
42
39
|
results.push({ output: output });
|
|
43
40
|
return results;
|
|
44
41
|
}
|
|
45
|
-
async executeBatch(bundle) {
|
|
46
|
-
if (!this.hasBatchSupport) {
|
|
47
|
-
throw new errors_1.IntegrationError('This action does not support batched requests.', 'NotImplemented', 501);
|
|
48
|
-
}
|
|
49
|
-
let payloads = mapping_kit_1.transformBatch(bundle.mapping, bundle.data);
|
|
50
|
-
if (this.schema) {
|
|
51
|
-
const schema = this.schema;
|
|
52
|
-
const schemaKey = `${this.destinationName}:${this.definition.title}`;
|
|
53
|
-
payloads = payloads.filter((payload) => schema_validation_1.validateSchema(payload, schema, {
|
|
54
|
-
schemaKey,
|
|
55
|
-
throwIfInvalid: false
|
|
56
|
-
}));
|
|
57
|
-
}
|
|
58
|
-
if (payloads.length === 0) {
|
|
59
|
-
return;
|
|
60
|
-
}
|
|
61
|
-
if (this.definition.performBatch) {
|
|
62
|
-
const data = {
|
|
63
|
-
rawData: bundle.data,
|
|
64
|
-
rawMapping: bundle.mapping,
|
|
65
|
-
settings: bundle.settings,
|
|
66
|
-
payload: payloads,
|
|
67
|
-
auth: bundle.auth
|
|
68
|
-
};
|
|
69
|
-
await this.performRequest(this.definition.performBatch, data);
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
42
|
executeDynamicField(field, data) {
|
|
73
43
|
const fn = this.definition.dynamicFields?.[field];
|
|
74
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;
|
|
@@ -103,18 +94,16 @@ export declare class Destination<Settings = JSONObject> {
|
|
|
103
94
|
readonly responses: DecoratedResponse[];
|
|
104
95
|
readonly settingsSchema?: JSONSchema4;
|
|
105
96
|
constructor(destination: DestinationDefinition<Settings>);
|
|
106
|
-
validateSettings(settings: Settings): void;
|
|
107
97
|
testAuthentication(settings: Settings): Promise<void>;
|
|
108
98
|
refreshAccessToken(settings: Settings, oauthData: OAuth2ClientCredentials): Promise<RefreshAccessTokenResult> | undefined;
|
|
109
99
|
private partnerAction;
|
|
110
100
|
protected executeAction(actionSlug: string, { event, mapping, settings, auth }: EventInput<Settings>): Promise<Result[]>;
|
|
111
|
-
executeBatch(actionSlug: string, { events, mapping, settings, auth }: BatchEventInput<Settings>): Promise<{
|
|
112
|
-
output: string;
|
|
113
|
-
}[]>;
|
|
114
101
|
private onSubscription;
|
|
115
|
-
onEvent(event: SegmentEvent, settings: JSONObject, options?:
|
|
116
|
-
|
|
117
|
-
|
|
102
|
+
onEvent(event: SegmentEvent, settings: JSONObject, options?: {
|
|
103
|
+
onTokenRefresh?: (tokens: RefreshAccessTokenResult) => void;
|
|
104
|
+
onComplete?: (stats: SubscriptionStats) => void;
|
|
105
|
+
}): Promise<Result[]>;
|
|
106
|
+
private onEventInternal;
|
|
118
107
|
private getSubscriptions;
|
|
119
108
|
private getDestinationSettings;
|
|
120
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) {
|
|
@@ -30,25 +30,14 @@ class Destination {
|
|
|
30
30
|
this.partnerAction(action, destination.actions[action]);
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
|
-
validateSettings(settings) {
|
|
34
|
-
if (this.settingsSchema) {
|
|
35
|
-
try {
|
|
36
|
-
schema_validation_1.validateSchema(settings, this.settingsSchema, { schemaKey: `${this.name}:settings` });
|
|
37
|
-
}
|
|
38
|
-
catch (error) {
|
|
39
|
-
if (error.name === 'AggregateAjvError' || error.name === 'ValidationError') {
|
|
40
|
-
error.status = 400;
|
|
41
|
-
}
|
|
42
|
-
throw error;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
33
|
async testAuthentication(settings) {
|
|
47
34
|
const destinationSettings = this.getDestinationSettings(settings);
|
|
48
35
|
const auth = parse_settings_1.getAuthData(settings);
|
|
49
36
|
const data = { settings: destinationSettings, auth };
|
|
50
|
-
const context = { settings: destinationSettings, payload:
|
|
51
|
-
this.
|
|
37
|
+
const context = { settings: destinationSettings, payload: {}, auth };
|
|
38
|
+
if (this.settingsSchema) {
|
|
39
|
+
schema_validation_1.validateSchema(settings, this.settingsSchema, `${this.name}:settings`);
|
|
40
|
+
}
|
|
52
41
|
if (!this.authentication?.testAuthentication) {
|
|
53
42
|
return;
|
|
54
43
|
}
|
|
@@ -67,7 +56,7 @@ class Destination {
|
|
|
67
56
|
}
|
|
68
57
|
const context = {
|
|
69
58
|
settings,
|
|
70
|
-
payload:
|
|
59
|
+
payload: {},
|
|
71
60
|
auth: parse_settings_1.getAuthData(settings)
|
|
72
61
|
};
|
|
73
62
|
const options = this.extendRequest?.(context) ?? {};
|
|
@@ -87,10 +76,10 @@ class Destination {
|
|
|
87
76
|
this.actions[slug] = action;
|
|
88
77
|
return this;
|
|
89
78
|
}
|
|
90
|
-
|
|
79
|
+
executeAction(actionSlug, { event, mapping, settings, auth }) {
|
|
91
80
|
const action = this.actions[actionSlug];
|
|
92
81
|
if (!action) {
|
|
93
|
-
return [];
|
|
82
|
+
return Promise.resolve([]);
|
|
94
83
|
}
|
|
95
84
|
return action.execute({
|
|
96
85
|
mapping,
|
|
@@ -99,53 +88,41 @@ class Destination {
|
|
|
99
88
|
auth
|
|
100
89
|
});
|
|
101
90
|
}
|
|
102
|
-
async
|
|
103
|
-
const action = this.actions[actionSlug];
|
|
104
|
-
if (!action) {
|
|
105
|
-
return [];
|
|
106
|
-
}
|
|
107
|
-
await action.executeBatch({
|
|
108
|
-
mapping,
|
|
109
|
-
data: events,
|
|
110
|
-
settings,
|
|
111
|
-
auth
|
|
112
|
-
});
|
|
113
|
-
return [{ output: 'successfully processed batch of events' }];
|
|
114
|
-
}
|
|
115
|
-
async onSubscription(subscription, events, settings, auth, onComplete) {
|
|
91
|
+
async onSubscription(subscription, event, settings, auth, onComplete) {
|
|
116
92
|
const subscriptionStartedAt = time_1.time();
|
|
117
93
|
const actionSlug = subscription.partnerAction;
|
|
118
94
|
const input = {
|
|
95
|
+
event,
|
|
119
96
|
mapping: subscription.mapping || {},
|
|
120
97
|
settings,
|
|
121
98
|
auth
|
|
122
99
|
};
|
|
100
|
+
let state = 'pending';
|
|
123
101
|
let results = null;
|
|
124
102
|
try {
|
|
125
103
|
if (!subscription.subscribe || typeof subscription.subscribe !== 'string') {
|
|
104
|
+
state = 'skipped';
|
|
126
105
|
results = [{ output: 'invalid subscription' }];
|
|
127
106
|
return results;
|
|
128
107
|
}
|
|
129
108
|
const parsedSubscription = destination_subscriptions_1.parseFql(subscription.subscribe);
|
|
130
109
|
if (parsedSubscription.error) {
|
|
110
|
+
state = 'skipped';
|
|
131
111
|
results = [{ output: `invalid subscription : ${parsedSubscription.error.message}` }];
|
|
132
112
|
return results;
|
|
133
113
|
}
|
|
134
|
-
const
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
if (subscribedEvents.length === 0) {
|
|
114
|
+
const isSubscribed = destination_subscriptions_1.validate(parsedSubscription, event);
|
|
115
|
+
if (!isSubscribed) {
|
|
116
|
+
state = 'skipped';
|
|
138
117
|
results = [{ output: 'not subscribed' }];
|
|
139
118
|
return results;
|
|
140
119
|
}
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
else {
|
|
145
|
-
return await this.executeAction(actionSlug, { ...input, event: subscribedEvents[0] });
|
|
146
|
-
}
|
|
120
|
+
results = await this.executeAction(actionSlug, input);
|
|
121
|
+
state = 'done';
|
|
122
|
+
return results;
|
|
147
123
|
}
|
|
148
124
|
catch (error) {
|
|
125
|
+
state = 'errored';
|
|
149
126
|
results = [{ error }];
|
|
150
127
|
if (error.name === 'AggregateAjvError' || error.name === 'ValidationError') {
|
|
151
128
|
error.status = 400;
|
|
@@ -160,8 +137,9 @@ class Destination {
|
|
|
160
137
|
destination: this.name,
|
|
161
138
|
action: actionSlug,
|
|
162
139
|
subscribe: subscription.subscribe,
|
|
140
|
+
state,
|
|
163
141
|
input: {
|
|
164
|
-
|
|
142
|
+
event: input.event,
|
|
165
143
|
mapping: input.mapping,
|
|
166
144
|
settings: input.settings
|
|
167
145
|
},
|
|
@@ -169,36 +147,35 @@ class Destination {
|
|
|
169
147
|
});
|
|
170
148
|
}
|
|
171
149
|
}
|
|
172
|
-
onEvent(event, settings, options) {
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
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();
|
|
177
171
|
}
|
|
178
|
-
async
|
|
172
|
+
async onEventInternal(event, settings, onComplete) {
|
|
179
173
|
const subscriptions = this.getSubscriptions(settings);
|
|
180
174
|
const destinationSettings = this.getDestinationSettings(settings);
|
|
181
|
-
|
|
182
|
-
const
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
const results = await Promise.all(promises);
|
|
186
|
-
return [].concat(...results);
|
|
187
|
-
};
|
|
188
|
-
const onFailedAttempt = async (error) => {
|
|
189
|
-
const statusCode = error?.status ?? error?.response?.status ?? 500;
|
|
190
|
-
if (!(statusCode === 401 && this.authentication?.scheme === OAUTH2_SCHEME)) {
|
|
191
|
-
throw error;
|
|
192
|
-
}
|
|
193
|
-
const oauthSettings = parse_settings_1.getOAuth2Data(settings);
|
|
194
|
-
const newTokens = await this.refreshAccessToken(destinationSettings, oauthSettings);
|
|
195
|
-
if (!newTokens) {
|
|
196
|
-
throw new errors_1.InvalidAuthenticationError('Failed to refresh access token');
|
|
197
|
-
}
|
|
198
|
-
settings = parse_settings_1.updateOAuthSettings(settings, newTokens);
|
|
199
|
-
options?.onTokenRefresh?.(newTokens);
|
|
200
|
-
};
|
|
201
|
-
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);
|
|
202
179
|
}
|
|
203
180
|
getSubscriptions(settings) {
|
|
204
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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"}
|
|
@@ -72,4 +72,4 @@ export interface PathDirective {
|
|
|
72
72
|
'@path': string;
|
|
73
73
|
}
|
|
74
74
|
export declare type Directive = IfDirective | TemplateDirective | PathDirective;
|
|
75
|
-
export declare type RequestExtension<Settings, Payload =
|
|
75
|
+
export declare type RequestExtension<Settings, Payload = unknown> = (data: ExecuteInput<Settings, Payload>) => RequestOptions;
|
|
@@ -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":";;;;;;AAAA,gCAA4B;AAE5B,iDAA4C;AAC5C,iDAAuC;AACvC,kDAA+D;AAC/D,0DAAqD;AACrD,0DAAiC;AASjC,MAAM,UAAU,GAAe,EAAE,CAAA;AACjC,MAAM,eAAe,GAAG,sBAAsB,CAAA;AAE9C,SAAS,iBAAiB,CAAC,IAAY,EAAE,EAAa;IACpD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QAC/B,MAAM,IAAI,KAAK,CAAC,IAAI,IAAI,gCAAgC,CAAC,CAAA;KAC1D;IAED,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;AACvB,CAAC;AAED,SAAS,uBAAuB,CAAC,IAAY,EAAE,EAAmB;IAChE,iBAAiB,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACzC,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;QACnC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;YAC3B,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,0BAA0B,yBAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;SACpE;QAED,OAAO,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IACzB,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,GAAe,EAAE,OAAmB;IACxD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAW,CAAA;IAC1E,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;IACpC,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,CAAA;IAEvB,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE;QACrC,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,kCAAkC,yBAAU,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;KACpF;IAED,OAAO,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;AACpC,CAAC;AAED,iBAAiB,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IACzC,IAAI,SAAS,GAAG,KAAK,CAAA;IAErB,IAAI,CAAC,uBAAQ,CAAC,IAAI,CAAC,EAAE;QACnB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;KAC/D;IAED,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE;QAC7B,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAC3C,SAAS,GAAG,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,CAAA;KAClD;SAAM;QACL,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;KAChD;IAED,IAAI,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE;QACxC,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;KACnC;SAAM,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE;QAClC,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;KACnC;AACH,CAAC,CAAC,CAAA;AAEF,uBAAuB,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IACjD,OAAO,SAAG,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAA;AAC7C,CAAC,CAAC,CAAA;AAEF,uBAAuB,CAAC,WAAW,EAAE,CAAC,QAAgB,EAAE,OAAO,EAAE,EAAE;IACjE,OAAO,qBAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;AAClC,CAAC,CAAC,CAAA;AAGF,iBAAiB,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IAC/C,OAAO,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;AAChC,CAAC,CAAC,CAAA;AASF,SAAS,OAAO,CAAC,OAAiB,EAAE,OAAmB;IACrD,IAAI,CAAC,uBAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAO,CAAC,OAAO,CAAC,EAAE;QAC3C,OAAO,OAAO,CAAA;KACf;IAED,IAAI,0BAAW,CAAC,OAAO,CAAC,EAAE;QACxB,OAAO,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;KACtC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QAC1B,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAA;KACvD;IAED,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;QACtC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;QAC1B,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;KACvC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC;
|
|
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;
|
|
@@ -6,16 +6,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.validateSchema = void 0;
|
|
7
7
|
const ajv_human_errors_1 = require("@segment/ajv-human-errors");
|
|
8
8
|
const ajv_1 = __importDefault(require("ajv"));
|
|
9
|
-
const ajv_formats_1 = __importDefault(require("ajv-formats"));
|
|
10
9
|
const dayjs_1 = __importDefault(require("dayjs"));
|
|
11
|
-
const ajv =
|
|
10
|
+
const ajv = new ajv_1.default({
|
|
12
11
|
coerceTypes: true,
|
|
13
12
|
allErrors: true,
|
|
14
|
-
allowUnionTypes: true,
|
|
15
13
|
verbose: true,
|
|
16
|
-
removeAdditional: true
|
|
17
|
-
|
|
18
|
-
|
|
14
|
+
removeAdditional: true,
|
|
15
|
+
jsonPointers: true
|
|
16
|
+
});
|
|
17
|
+
ajv.addFormat('password', () => true);
|
|
18
|
+
ajv.addFormat('text', () => true);
|
|
19
19
|
ajv.addFormat('date-like', (data) => {
|
|
20
20
|
let date = dayjs_1.default(data);
|
|
21
21
|
if (String(Number(data)) === data) {
|
|
@@ -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 && validate.errors) {
|
|
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":";;;;;;
|
|
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"}
|