@segment/actions-core 2.0.2 → 2.1.0-next.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 +0 -3
- package/dist/cjs/create-request-client.js +0 -7
- package/dist/cjs/create-request-client.js.map +1 -1
- package/dist/cjs/create-test-event.js +1 -1
- package/dist/cjs/create-test-event.js.map +1 -1
- package/dist/cjs/create-test-integration.d.ts +0 -19
- package/dist/cjs/create-test-integration.js +0 -1
- package/dist/cjs/create-test-integration.js.map +1 -1
- package/dist/cjs/destination-kit/action.d.ts +0 -30
- package/dist/cjs/destination-kit/action.js +0 -38
- package/dist/cjs/destination-kit/action.js.map +1 -1
- package/dist/cjs/destination-kit/fields-to-jsonschema.js +0 -2
- package/dist/cjs/destination-kit/fields-to-jsonschema.js.map +1 -1
- package/dist/cjs/destination-kit/index.d.ts +0 -10
- package/dist/cjs/destination-kit/index.js +3 -6
- package/dist/cjs/destination-kit/index.js.map +1 -1
- package/dist/cjs/destination-kit/step.d.ts +0 -12
- package/dist/cjs/destination-kit/step.js +0 -7
- package/dist/cjs/destination-kit/step.js.map +1 -1
- package/dist/cjs/destination-kit/types.d.ts +0 -4
- package/dist/cjs/fetch.js +0 -1
- package/dist/cjs/fetch.js.map +1 -1
- package/dist/cjs/get.d.ts +0 -4
- package/dist/cjs/get.js +1 -11
- package/dist/cjs/get.js.map +1 -1
- package/dist/cjs/map-values.d.ts +0 -4
- package/dist/cjs/map-values.js +0 -5
- package/dist/cjs/map-values.js.map +1 -1
- package/dist/cjs/mapping-kit/index.d.ts +0 -6
- package/dist/cjs/mapping-kit/index.js +0 -87
- package/dist/cjs/mapping-kit/index.js.map +1 -1
- package/dist/cjs/mapping-kit/is-directive.js +0 -1
- package/dist/cjs/mapping-kit/is-directive.js.map +1 -1
- package/dist/cjs/mapping-kit/placeholders.d.ts +0 -3
- package/dist/cjs/mapping-kit/placeholders.js +0 -8
- package/dist/cjs/mapping-kit/placeholders.js.map +1 -1
- package/dist/cjs/mapping-kit/validate.js +0 -84
- package/dist/cjs/mapping-kit/validate.js.map +1 -1
- package/dist/cjs/middleware/after-response/prepare-headers.js +0 -3
- package/dist/cjs/middleware/after-response/prepare-headers.js.map +1 -1
- package/dist/cjs/middleware/after-response/prepare-response.js +0 -4
- package/dist/cjs/middleware/after-response/prepare-response.js.map +1 -1
- package/dist/cjs/omit.d.ts +0 -3
- package/dist/cjs/omit.js +0 -3
- package/dist/cjs/omit.js.map +1 -1
- package/dist/cjs/real-type-of.d.ts +0 -5
- package/dist/cjs/real-type-of.js +0 -5
- package/dist/cjs/real-type-of.js.map +1 -1
- package/dist/cjs/request-client.d.ts +0 -53
- package/dist/cjs/request-client.js +0 -35
- package/dist/cjs/request-client.js.map +1 -1
- package/dist/cjs/segment-event.d.ts +0 -40
- package/dist/cjs/time.d.ts +0 -6
- package/dist/cjs/time.js +0 -6
- package/dist/cjs/time.js.map +1 -1
- package/dist/cjs/types.d.ts +0 -4
- package/dist/esm/create-request-client.d.ts +0 -3
- package/dist/esm/create-request-client.js +0 -7
- package/dist/esm/create-request-client.js.map +1 -1
- package/dist/esm/create-test-event.js +1 -1
- package/dist/esm/create-test-event.js.map +1 -1
- package/dist/esm/create-test-integration.d.ts +0 -19
- package/dist/esm/create-test-integration.js +0 -1
- package/dist/esm/create-test-integration.js.map +1 -1
- package/dist/esm/destination-kit/action.d.ts +0 -30
- package/dist/esm/destination-kit/action.js +0 -38
- package/dist/esm/destination-kit/action.js.map +1 -1
- package/dist/esm/destination-kit/fields-to-jsonschema.js +0 -2
- package/dist/esm/destination-kit/fields-to-jsonschema.js.map +1 -1
- package/dist/esm/destination-kit/index.d.ts +0 -10
- package/dist/esm/destination-kit/index.js +3 -6
- package/dist/esm/destination-kit/index.js.map +1 -1
- package/dist/esm/destination-kit/step.d.ts +0 -12
- package/dist/esm/destination-kit/step.js +0 -7
- package/dist/esm/destination-kit/step.js.map +1 -1
- package/dist/esm/destination-kit/types.d.ts +0 -4
- package/dist/esm/fetch.js +0 -1
- package/dist/esm/fetch.js.map +1 -1
- package/dist/esm/get.d.ts +0 -4
- package/dist/esm/get.js +1 -11
- package/dist/esm/get.js.map +1 -1
- package/dist/esm/map-values.d.ts +0 -4
- package/dist/esm/map-values.js +0 -5
- package/dist/esm/map-values.js.map +1 -1
- package/dist/esm/mapping-kit/index.d.ts +0 -6
- package/dist/esm/mapping-kit/index.js +1 -88
- package/dist/esm/mapping-kit/index.js.map +1 -1
- package/dist/esm/mapping-kit/is-directive.js +0 -1
- package/dist/esm/mapping-kit/is-directive.js.map +1 -1
- package/dist/esm/mapping-kit/placeholders.d.ts +0 -3
- package/dist/esm/mapping-kit/placeholders.js +0 -8
- package/dist/esm/mapping-kit/placeholders.js.map +1 -1
- package/dist/esm/mapping-kit/validate.js +0 -84
- package/dist/esm/mapping-kit/validate.js.map +1 -1
- package/dist/esm/middleware/after-response/prepare-headers.js +0 -3
- package/dist/esm/middleware/after-response/prepare-headers.js.map +1 -1
- package/dist/esm/middleware/after-response/prepare-response.js +0 -4
- package/dist/esm/middleware/after-response/prepare-response.js.map +1 -1
- package/dist/esm/omit.d.ts +0 -3
- package/dist/esm/omit.js +0 -3
- package/dist/esm/omit.js.map +1 -1
- package/dist/esm/real-type-of.d.ts +0 -5
- package/dist/esm/real-type-of.js +0 -5
- package/dist/esm/real-type-of.js.map +1 -1
- package/dist/esm/request-client.d.ts +0 -53
- package/dist/esm/request-client.js +0 -35
- package/dist/esm/request-client.js.map +1 -1
- package/dist/esm/segment-event.d.ts +0 -40
- package/dist/esm/time.d.ts +0 -6
- package/dist/esm/time.js +0 -6
- package/dist/esm/time.js.map +1 -1
- package/dist/esm/types.d.ts +0 -4
- package/package.json +15 -11
- package/dist/cjs/dayjs.d.ts +0 -2
- package/dist/cjs/dayjs.js +0 -10
- package/dist/cjs/dayjs.js.map +0 -1
- package/dist/esm/dayjs.d.ts +0 -2
- package/dist/esm/dayjs.js +0 -5
- package/dist/esm/dayjs.js.map +0 -1
|
@@ -23,17 +23,12 @@ interface PartnerActions<Settings, Payload extends JSONLikeObject> {
|
|
|
23
23
|
[key: string]: Action<Settings, Payload>;
|
|
24
24
|
}
|
|
25
25
|
export interface DestinationDefinition<Settings = unknown> {
|
|
26
|
-
/** The name of the destination */
|
|
27
26
|
name: string;
|
|
28
|
-
/** An optional function to extend requests sent from the destination (including all actions) */
|
|
29
27
|
extendRequest?: RequestExtension<Settings>;
|
|
30
|
-
/** Optional authentication configuration */
|
|
31
28
|
authentication?: AuthenticationScheme<Settings>;
|
|
32
|
-
/** Actions */
|
|
33
29
|
actions: {
|
|
34
30
|
[key: string]: ActionDefinition<Settings>;
|
|
35
31
|
};
|
|
36
|
-
/** Subscription presets automatically applied in quick setup */
|
|
37
32
|
presets?: Subscription[];
|
|
38
33
|
}
|
|
39
34
|
export interface Subscription {
|
|
@@ -51,7 +46,6 @@ interface Authentication<Settings> {
|
|
|
51
46
|
testAuthentication: (request: RequestClient, input: TestAuthSettings<Settings>) => Promise<unknown> | unknown;
|
|
52
47
|
}
|
|
53
48
|
export interface CustomAuthentication<Settings> extends Authentication<Settings> {
|
|
54
|
-
/** Typically used for "API Key" authentication. */
|
|
55
49
|
scheme: 'custom';
|
|
56
50
|
}
|
|
57
51
|
export interface BasicAuthentication<Settings> extends Authentication<Settings> {
|
|
@@ -80,10 +74,6 @@ export declare class Destination<Settings = JSONObject> {
|
|
|
80
74
|
private partnerAction;
|
|
81
75
|
protected executeAction(actionSlug: string, { event, mapping, settings }: EventInput<Settings>): Promise<StepResult[]>;
|
|
82
76
|
private onSubscription;
|
|
83
|
-
/**
|
|
84
|
-
* Note: Until we move subscriptions upstream (into int-consumer) we've opted
|
|
85
|
-
* to have failures abort the set of subscriptions and get potentially retried by centrifuge
|
|
86
|
-
*/
|
|
87
77
|
onEvent(event: SegmentEvent, settings: JSONObject, onComplete?: (stats: SubscriptionStats) => void): Promise<StepResult[]>;
|
|
88
78
|
private getSubscriptions;
|
|
89
79
|
private getDestinationSettings;
|
|
@@ -14,7 +14,6 @@ export class Destination {
|
|
|
14
14
|
this.actions = {};
|
|
15
15
|
this.authentication = destination.authentication;
|
|
16
16
|
this.responses = [];
|
|
17
|
-
// Convert to complete JSON Schema
|
|
18
17
|
if ((_a = this.authentication) === null || _a === void 0 ? void 0 : _a.fields) {
|
|
19
18
|
this.settingsSchema = fieldsToJsonSchema(this.authentication.fields);
|
|
20
19
|
}
|
|
@@ -92,6 +91,9 @@ export class Destination {
|
|
|
92
91
|
catch (error) {
|
|
93
92
|
state = 'errored';
|
|
94
93
|
results = [{ error }];
|
|
94
|
+
if (error.name === 'AggregateAjvError' || error.name === 'ValidationError') {
|
|
95
|
+
error.status = 400;
|
|
96
|
+
}
|
|
95
97
|
throw error;
|
|
96
98
|
}
|
|
97
99
|
finally {
|
|
@@ -112,10 +114,6 @@ export class Destination {
|
|
|
112
114
|
});
|
|
113
115
|
}
|
|
114
116
|
}
|
|
115
|
-
/**
|
|
116
|
-
* Note: Until we move subscriptions upstream (into int-consumer) we've opted
|
|
117
|
-
* to have failures abort the set of subscriptions and get potentially retried by centrifuge
|
|
118
|
-
*/
|
|
119
117
|
async onEvent(event, settings, onComplete) {
|
|
120
118
|
const subscriptions = this.getSubscriptions(settings);
|
|
121
119
|
const destinationSettings = this.getDestinationSettings(settings);
|
|
@@ -126,7 +124,6 @@ export class Destination {
|
|
|
126
124
|
getSubscriptions(settings) {
|
|
127
125
|
const { subscription, subscriptions } = settings;
|
|
128
126
|
let parsedSubscriptions;
|
|
129
|
-
// To support event tester we need to parse and validate multiple subscriptions from the settings
|
|
130
127
|
if (subscription) {
|
|
131
128
|
parsedSubscriptions = [subscription];
|
|
132
129
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destination-kit/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AAEhE,OAAO,EAAE,MAAM,EAAoB,QAAQ,EAAa,MAAM,UAAU,CAAA;AAExE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAGxC,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAC/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAClD,OAAO,mBAAsC,MAAM,0BAA0B,CAAA;AAM7E,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,CAAA;AAyEjD,MAAM,OAAO,WAAW;IAUtB,YAAY,WAA4C;;QACtD,IAAI,CAAC,UAAU,GAAG,WAAW,CAAA;QAC7B,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC,IAAI,CAAA;QAC5B,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC,aAAa,CAAA;QAC9C,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;QACjB,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC,cAAc,CAAA;QAChD,IAAI,CAAC,SAAS,GAAG,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destination-kit/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AAEhE,OAAO,EAAE,MAAM,EAAoB,QAAQ,EAAa,MAAM,UAAU,CAAA;AAExE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAGxC,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAC/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAClD,OAAO,mBAAsC,MAAM,0BAA0B,CAAA;AAM7E,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,CAAA;AAyEjD,MAAM,OAAO,WAAW;IAUtB,YAAY,WAA4C;;QACtD,IAAI,CAAC,UAAU,GAAG,WAAW,CAAA;QAC7B,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC,IAAI,CAAA;QAC5B,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC,aAAa,CAAA;QAC9C,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;QACjB,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC,cAAc,CAAA;QAChD,IAAI,CAAC,SAAS,GAAG,EAAE,CAAA;QAGnB,IAAI,MAAA,IAAI,CAAC,cAAc,0CAAE,MAAM,EAAE;YAC/B,IAAI,CAAC,cAAc,GAAG,kBAAkB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAA;SACrE;QAED,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE;YACrD,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAA;SACxD;IACH,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,QAAkB;;QACzC,MAAM,OAAO,GAA+B,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,CAAA;QAEvF,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;YAC1D,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;SAChC;QAED,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,cAAc,0CAAE,kBAAkB,CAAA,EAAE;YAC5C,OAAM;SACP;QAED,MAAM,OAAO,GAAG,MAAA,MAAA,IAAI,CAAC,aAAa,+CAAlB,IAAI,EAAiB,OAAO,CAAC,mCAAI,EAAE,CAAA;QACnD,MAAM,aAAa,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAA;QAElD,IAAI;YACF,MAAM,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,aAAa,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;SAC1E;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;SAC3C;IACH,CAAC;IAEO,aAAa,CAAC,IAAY,EAAE,UAAsC;QACxE,MAAM,MAAM,GAAG,IAAI,MAAM,CAAe,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,CAAA;QAEvE,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,EAAE;YACjC,IAAI,QAAQ,EAAE;gBACZ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;aAC9B;QACH,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAA;QAE3B,OAAO,IAAI,CAAA;IACb,CAAC;IAES,aAAa,CACrB,UAAkB,EAClB,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAwB;QAElD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;QACvC,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,IAAI,sBAAsB,CAAC,UAAU,CAAC,CAAA;SAC7C;QAED,OAAO,MAAM,CAAC,OAAO,CAAC;YACpB,YAAY,EAAE,EAAE;YAChB,OAAO;YACP,OAAO,EAAE,KAAK;YACd,QAAQ;SACT,CAAC,CAAA;IACJ,CAAC;IAEO,KAAK,CAAC,cAAc,CAC1B,YAA0B,EAC1B,KAAmB,EACnB,QAAkB,EAClB,UAA+C;QAE/C,MAAM,qBAAqB,GAAG,IAAI,EAAE,CAAA;QACpC,MAAM,UAAU,GAAG,YAAY,CAAC,aAAa,CAAA;QAC7C,MAAM,KAAK,GAAG;YACZ,KAAK;YACL,OAAO,EAAE,YAAY,CAAC,OAAO,IAAI,EAAE;YACnC,QAAQ;SACT,CAAA;QAED,IAAI,KAAK,GAAG,SAAS,CAAA;QACrB,IAAI,OAAO,GAAwB,IAAI,CAAA;QAEvC,IAAI;YACF,IAAI,OAAO,YAAY,CAAC,SAAS,KAAK,QAAQ,EAAE;gBAC9C,KAAK,GAAG,SAAS,CAAA;gBACjB,OAAO,GAAG,CAAC,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC,CAAA;gBAC9C,OAAO,OAAO,CAAA;aACf;YAED,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,CAAA;YACtE,IAAI,CAAC,YAAY,EAAE;gBACjB,KAAK,GAAG,SAAS,CAAA;gBACjB,OAAO,GAAG,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAA;gBACxC,OAAO,OAAO,CAAA;aACf;YAED,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;YACrD,KAAK,GAAG,MAAM,CAAA;YAEd,OAAO,OAAO,CAAA;SACf;QAAC,OAAO,KAAK,EAAE;YACd,KAAK,GAAG,SAAS,CAAA;YACjB,OAAO,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;YAErB,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE;gBAC1E,KAAK,CAAC,MAAM,GAAG,GAAG,CAAA;aACnB;YAED,MAAM,KAAK,CAAA;SACZ;gBAAS;YACR,MAAM,mBAAmB,GAAG,IAAI,EAAE,CAAA;YAClC,MAAM,oBAAoB,GAAG,QAAQ,CAAC,qBAAqB,EAAE,mBAAmB,CAAC,CAAA;YAEjF,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAG;gBACX,QAAQ,EAAE,oBAAoB;gBAC9B,WAAW,EAAE,IAAI,CAAC,IAAI;gBACtB,MAAM,EAAE,UAAU;gBAClB,SAAS,EAAE,YAAY,CAAC,SAAS;gBACjC,KAAK;gBACL,KAAK,EAAE;oBACL,KAAK,EAAG,KAAK,CAAC,KAAmC;oBACjD,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,QAAQ,EAAG,KAAK,CAAC,QAAsC;iBACxD;gBACD,MAAM,EAAE,OAAO;aAChB,CAAC,CAAA;SACH;IACH,CAAC;IAMM,KAAK,CAAC,OAAO,CAClB,KAAmB,EACnB,QAAoB,EACpB,UAA+C;QAE/C,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAA;QACrD,MAAM,mBAAmB,GAAG,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAA;QAEjE,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CAClD,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,KAAK,EAAE,mBAAmB,EAAE,UAAU,CAAC,CAC1E,CAAA;QAED,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAE3C,OAAQ,EAAmB,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAA;IAChD,CAAC;IAEO,gBAAgB,CAAC,QAAoB;QAC3C,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,QAAQ,CAAA;QAChD,IAAI,mBAAmB,CAAA;QAGvB,IAAI,YAAY,EAAE;YAChB,mBAAmB,GAAG,CAAC,YAAY,CAAC,CAAA;SACrC;aAAM,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE;YAC5C,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;SAChD;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;YACvC,mBAAmB,GAAG,aAAa,CAAA;SACpC;aAAM;YACL,mBAAmB,GAAG,EAAE,CAAA;SACzB;QAED,OAAO,mBAAqC,CAAA;IAC9C,CAAC;IAEO,sBAAsB,CAAC,QAAoB;QACjD,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,aAAa,EAAE,GAAG,QAAQ,CAAA;QACjE,OAAQ,aAAqC,CAAA;IAC/C,CAAC;CACF"}
|
|
@@ -6,30 +6,18 @@ export interface StepResult {
|
|
|
6
6
|
error?: JSONObject | null;
|
|
7
7
|
}
|
|
8
8
|
export interface ExecuteInput<Settings, Payload> {
|
|
9
|
-
/** The subscription mapping definition */
|
|
10
9
|
readonly mapping?: JSONObject;
|
|
11
|
-
/** The global destination settings */
|
|
12
10
|
readonly settings: Settings;
|
|
13
|
-
/** The transformed input data, based on `mapping` + `event` */
|
|
14
11
|
payload: Payload;
|
|
15
|
-
/** The ids from cached requests */
|
|
16
12
|
cachedFields: {
|
|
17
13
|
[key: string]: string | null | undefined;
|
|
18
14
|
};
|
|
19
|
-
/** The page used in autocomplete */
|
|
20
15
|
page?: string;
|
|
21
16
|
}
|
|
22
|
-
/**
|
|
23
|
-
* Step is the base class for all discrete execution steps. It handles executing the step, logging,
|
|
24
|
-
* catching errors, and returning a result object.
|
|
25
|
-
*/
|
|
26
17
|
export declare class Step<Settings, Payload> extends EventEmitter {
|
|
27
18
|
executeStep?(data: ExecuteInput<Settings, Payload>): Promise<JSONObject | string | null | undefined>;
|
|
28
19
|
execute(data: ExecuteInput<Settings, Payload>): Promise<StepResult>;
|
|
29
20
|
}
|
|
30
|
-
/**
|
|
31
|
-
* Steps is a list of one or more Step instances that can be executed in-order.
|
|
32
|
-
*/
|
|
33
21
|
export declare class Steps<Settings, Payload> {
|
|
34
22
|
steps: Step<Settings, Payload>[];
|
|
35
23
|
constructor();
|
|
@@ -1,8 +1,4 @@
|
|
|
1
1
|
import { EventEmitter } from 'events';
|
|
2
|
-
/**
|
|
3
|
-
* Step is the base class for all discrete execution steps. It handles executing the step, logging,
|
|
4
|
-
* catching errors, and returning a result object.
|
|
5
|
-
*/
|
|
6
2
|
export class Step extends EventEmitter {
|
|
7
3
|
async execute(data) {
|
|
8
4
|
const result = {
|
|
@@ -21,9 +17,6 @@ export class Step extends EventEmitter {
|
|
|
21
17
|
return result;
|
|
22
18
|
}
|
|
23
19
|
}
|
|
24
|
-
/**
|
|
25
|
-
* Steps is a list of one or more Step instances that can be executed in-order.
|
|
26
|
-
*/
|
|
27
20
|
export class Steps {
|
|
28
21
|
constructor() {
|
|
29
22
|
this.steps = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step.js","sourceRoot":"","sources":["../../../src/destination-kit/step.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"step.js","sourceRoot":"","sources":["../../../src/destination-kit/step.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAyBrC,MAAM,OAAO,IAAwB,SAAQ,YAAY;IAGvD,KAAK,CAAC,OAAO,CAAC,IAAqC;QACjD,MAAM,MAAM,GAAe;YACzB,MAAM,EAAE,IAAI;YACZ,KAAK,EAAE,IAAI;SACZ,CAAA;QAED,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB,OAAO,MAAM,CAAA;SACd;QAED,IAAI;YACF,MAAM,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;SAC7C;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,CAAC,KAAK,GAAG,CAAC,CAAA;SACjB;QAED,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AAKD,MAAM,OAAO,KAAK;IAGhB;QACE,IAAI,CAAC,KAAK,GAAG,EAAE,CAAA;IACjB,CAAC;IAED,IAAI,CAAC,IAA6B;QAChC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACvB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAqC;QACjD,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YAC3B,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAA;SACpC;QAED,MAAM,OAAO,GAAiB,EAAE,CAAA;QAEhC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE;YAC7B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YAEvC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAEpB,IAAI,MAAM,CAAC,KAAK,EAAE;gBAChB,MAAK;aACN;SACF;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;CACF"}
|
|
@@ -16,8 +16,4 @@ export interface AutocompleteItem {
|
|
|
16
16
|
export interface InputField extends Omit<JSONSchema4, 'required'> {
|
|
17
17
|
required?: boolean;
|
|
18
18
|
}
|
|
19
|
-
/**
|
|
20
|
-
* A function to configure a request client instance with options
|
|
21
|
-
* that will be applied to every request made by that instance
|
|
22
|
-
*/
|
|
23
19
|
export declare type RequestExtension<Settings, Payload = unknown> = (data: ExecuteInput<Settings, Payload>) => RequestOptions;
|
package/dist/esm/fetch.js
CHANGED
package/dist/esm/fetch.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../src/fetch.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../src/fetch.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAE/D,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAA;AACrC,eAAe,KAAK,CAAA"}
|
package/dist/esm/get.d.ts
CHANGED
|
@@ -1,5 +1 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Lightweight alternative to lodash.get with similar coverage
|
|
3
|
-
* Supports basic path lookup via dot notation `'foo.bar[0].baz'` or an array ['foo', 'bar', '0', 'baz']
|
|
4
|
-
*/
|
|
5
1
|
export declare function get<T = unknown, Default = undefined>(obj: any, path: string | string[], defValue?: Default): T | Default | undefined;
|
package/dist/esm/get.js
CHANGED
|
@@ -1,17 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
* Lightweight alternative to lodash.get with similar coverage
|
|
3
|
-
* Supports basic path lookup via dot notation `'foo.bar[0].baz'` or an array ['foo', 'bar', '0', 'baz']
|
|
4
|
-
*/
|
|
5
|
-
export function get(
|
|
6
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
7
|
-
obj, path, defValue) {
|
|
8
|
-
// If path is not defined or it has false value
|
|
1
|
+
export function get(obj, path, defValue) {
|
|
9
2
|
if (!path)
|
|
10
3
|
return defValue;
|
|
11
|
-
// Check if path is string or array. Regex : ensure that we do not have '.' and brackets.
|
|
12
|
-
// Regex explained: https://regexr.com/58j0k
|
|
13
4
|
const pathArray = Array.isArray(path) ? path : path.match(/([^[.\]])+/g);
|
|
14
|
-
// Find value if exist return otherwise return undefined value
|
|
15
5
|
const value = pathArray.reduce((prevObj, key) => prevObj && prevObj[key], obj);
|
|
16
6
|
return typeof value !== 'undefined' ? value : defValue;
|
|
17
7
|
}
|
package/dist/esm/get.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../src/get.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../src/get.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,GAAG,CAEjB,GAAQ,EACR,IAAuB,EACvB,QAAkB;IAGlB,IAAI,CAAC,IAAI;QAAE,OAAO,QAAQ,CAAA;IAI1B,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAc,CAAA;IAGtF,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAA;IAC9E,OAAO,OAAO,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAA;AACxD,CAAC"}
|
package/dist/esm/map-values.d.ts
CHANGED
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Lightweight alternative to lodash.mapValues
|
|
3
|
-
* Creates an object with the same keys as the input object
|
|
4
|
-
*/
|
|
5
1
|
export declare function mapValues<Values extends Record<string, unknown>, Obj extends Record<string, Values>, ValueKey extends keyof Values>(obj: Obj, key: ValueKey): {
|
|
6
2
|
[K in keyof Obj]: Obj[K][ValueKey];
|
|
7
3
|
};
|
package/dist/esm/map-values.js
CHANGED
|
@@ -1,10 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Lightweight alternative to lodash.mapValues
|
|
3
|
-
* Creates an object with the same keys as the input object
|
|
4
|
-
*/
|
|
5
1
|
export function mapValues(obj, key) {
|
|
6
2
|
return Object.entries(obj).reduce((agg, [name, value]) => {
|
|
7
|
-
// @ts-ignore this is a pretty complex type, skipping for now
|
|
8
3
|
agg[name] = value[key];
|
|
9
4
|
return agg;
|
|
10
5
|
}, {});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"map-values.js","sourceRoot":"","sources":["../../src/map-values.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"map-values.js","sourceRoot":"","sources":["../../src/map-values.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,SAAS,CAIvB,GAAQ,EAAE,GAAa;IACvB,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE;QAEvD,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAA;QACtB,OAAO,GAAG,CAAA;IACZ,CAAC,EAAE,EAA4C,CAAC,CAAA;AAClD,CAAC"}
|
|
@@ -1,8 +1,2 @@
|
|
|
1
1
|
import { JSONObject, JSONLikeObject } from '../json-object';
|
|
2
|
-
/**
|
|
3
|
-
* Validates and transforms a mapping by applying the input payload
|
|
4
|
-
* based on the directives and raw values defined in the mapping object
|
|
5
|
-
* @param mapping - the directives and raw values
|
|
6
|
-
* @param payload - the input data to apply to directives
|
|
7
|
-
*/
|
|
8
2
|
export declare function transform(mapping: JSONLikeObject, payload?: JSONObject): JSONObject;
|
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
import { v4 as uuidv4 } from 'uuid';
|
|
2
|
-
import dayjs from '../dayjs';
|
|
3
1
|
import { get } from '../get';
|
|
4
2
|
import { isDirective } from './is-directive';
|
|
5
3
|
import { render } from './placeholders';
|
|
6
|
-
import { realTypeOf, isObject,
|
|
4
|
+
import { realTypeOf, isObject, isArray } from '../real-type-of';
|
|
7
5
|
import { removeUndefined } from '../remove-undefined';
|
|
8
6
|
import validate from './validate';
|
|
9
7
|
const directives = {};
|
|
@@ -32,9 +30,6 @@ function runDirective(obj, payload) {
|
|
|
32
30
|
}
|
|
33
31
|
return directiveFn(value, payload);
|
|
34
32
|
}
|
|
35
|
-
registerStringDirective('@base64', (str, _payload) => {
|
|
36
|
-
return Buffer.from(str).toString('base64');
|
|
37
|
-
});
|
|
38
33
|
registerDirective('@if', (opts, payload) => {
|
|
39
34
|
let condition = false;
|
|
40
35
|
if (!isObject(opts)) {
|
|
@@ -58,86 +53,12 @@ registerDirective('@if', (opts, payload) => {
|
|
|
58
53
|
return resolve(opts.else, payload);
|
|
59
54
|
}
|
|
60
55
|
});
|
|
61
|
-
registerDirective('@json', (value, payload) => {
|
|
62
|
-
return JSON.stringify(resolve(value, payload));
|
|
63
|
-
});
|
|
64
|
-
registerStringDirective('@lowercase', (str, _payload) => {
|
|
65
|
-
return str.toLowerCase();
|
|
66
|
-
});
|
|
67
|
-
registerDirective('@merge', (arr, payload) => {
|
|
68
|
-
if (!Array.isArray(arr)) {
|
|
69
|
-
throw new Error(`@merge: expected array, got ${realTypeOf(arr)}`);
|
|
70
|
-
}
|
|
71
|
-
const objects = arr.map((v) => resolve(v, payload));
|
|
72
|
-
return Object.assign({}, ...objects);
|
|
73
|
-
});
|
|
74
|
-
function resolveObjectAndFields(directive, opts, payload) {
|
|
75
|
-
if (!isObject(opts)) {
|
|
76
|
-
throw new Error(`${directive}: expected object, got ${realTypeOf(opts)}`);
|
|
77
|
-
}
|
|
78
|
-
const obj = resolve(opts.object, payload);
|
|
79
|
-
if (!isObject(obj)) {
|
|
80
|
-
throw new Error(`${directive}: expected object, got ${realTypeOf(obj)}`);
|
|
81
|
-
}
|
|
82
|
-
const fields = resolve(opts.fields, payload);
|
|
83
|
-
if (!Array.isArray(fields)) {
|
|
84
|
-
throw new Error(`${directive}: expected fields as array, got ${realTypeOf(fields)}`);
|
|
85
|
-
}
|
|
86
|
-
return [obj, fields];
|
|
87
|
-
}
|
|
88
|
-
registerDirective('@omit', (opts, payload) => {
|
|
89
|
-
const [obj, fields] = resolveObjectAndFields('@omit', opts, payload);
|
|
90
|
-
const clonedObj = JSON.parse(JSON.stringify(obj));
|
|
91
|
-
fields.forEach((f) => delete clonedObj[f]);
|
|
92
|
-
return clonedObj;
|
|
93
|
-
});
|
|
94
56
|
registerStringDirective('@path', (path, payload) => {
|
|
95
57
|
return get(payload, path.replace('$.', ''));
|
|
96
58
|
});
|
|
97
|
-
registerDirective('@pick', (opts, payload) => {
|
|
98
|
-
const [obj, fields] = resolveObjectAndFields('@pick', opts, payload);
|
|
99
|
-
const clean = {};
|
|
100
|
-
fields.forEach((f) => {
|
|
101
|
-
if (Object.prototype.hasOwnProperty.call(obj, f)) {
|
|
102
|
-
clean[f] = obj[f];
|
|
103
|
-
}
|
|
104
|
-
});
|
|
105
|
-
return clean;
|
|
106
|
-
});
|
|
107
|
-
registerDirective('@root', (_, payload) => payload);
|
|
108
59
|
registerStringDirective('@template', (template, payload) => {
|
|
109
60
|
return render(template, payload);
|
|
110
61
|
});
|
|
111
|
-
registerDirective('@timestamp', (opts, payload) => {
|
|
112
|
-
if (!isObject(opts)) {
|
|
113
|
-
throw new Error(`@timestamp: requires an object, got ${realTypeOf(opts)}`);
|
|
114
|
-
}
|
|
115
|
-
const ts = resolve(opts.timestamp, payload);
|
|
116
|
-
if (!isString(ts)) {
|
|
117
|
-
throw new Error(`@timestamp: timestamp must be a string, got ${realTypeOf(ts)}`);
|
|
118
|
-
}
|
|
119
|
-
const format = resolve(opts.format, payload);
|
|
120
|
-
if (!isString(format)) {
|
|
121
|
-
throw new Error(`@timestamp: format must be a string, got ${realTypeOf(format)}`);
|
|
122
|
-
}
|
|
123
|
-
const inputFormat = resolve(opts.inputFormat, payload);
|
|
124
|
-
if (inputFormat !== undefined && !isString(inputFormat)) {
|
|
125
|
-
throw new Error(`@timestamp: inputFormat must be a string, got ${realTypeOf(inputFormat)}`);
|
|
126
|
-
}
|
|
127
|
-
const dayjsTs = dayjs.utc(ts, inputFormat);
|
|
128
|
-
if (format === 'json') {
|
|
129
|
-
return dayjsTs.toJSON();
|
|
130
|
-
}
|
|
131
|
-
return dayjsTs.format(format);
|
|
132
|
-
});
|
|
133
|
-
registerDirective('@uuid', (_, _payload) => uuidv4());
|
|
134
|
-
/**
|
|
135
|
-
* Resolves a mapping value/object by applying the input payload based on directives
|
|
136
|
-
* *WARNING* This function mutates `mapping` when an object
|
|
137
|
-
* @param mapping - the mapping directives or raw values to resolve
|
|
138
|
-
* @param payload - the input data to apply to the mapping directives
|
|
139
|
-
* @todo support arrays or array directives?
|
|
140
|
-
*/
|
|
141
62
|
function resolve(mapping, payload) {
|
|
142
63
|
if (!isObject(mapping) && !isArray(mapping)) {
|
|
143
64
|
return mapping;
|
|
@@ -154,22 +75,14 @@ function resolve(mapping, payload) {
|
|
|
154
75
|
}
|
|
155
76
|
return mapping;
|
|
156
77
|
}
|
|
157
|
-
/**
|
|
158
|
-
* Validates and transforms a mapping by applying the input payload
|
|
159
|
-
* based on the directives and raw values defined in the mapping object
|
|
160
|
-
* @param mapping - the directives and raw values
|
|
161
|
-
* @param payload - the input data to apply to directives
|
|
162
|
-
*/
|
|
163
78
|
export function transform(mapping, payload = {}) {
|
|
164
79
|
const payloadType = realTypeOf(payload);
|
|
165
80
|
if (payloadType !== 'object') {
|
|
166
81
|
throw new Error(`payload must be an object, got ${payloadType}`);
|
|
167
82
|
}
|
|
168
|
-
// throws if the mapping config is invalid
|
|
169
83
|
validate(mapping);
|
|
170
84
|
let resolved = resolve(mapping, payload);
|
|
171
85
|
resolved = removeUndefined(resolved);
|
|
172
|
-
// Cast because we know there are no `undefined` values anymore
|
|
173
86
|
return resolved;
|
|
174
87
|
}
|
|
175
88
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mapping-kit/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mapping-kit/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,6 @@ export function isDirective(obj) {
|
|
|
8
8
|
if (!hasDirectivePrefix) {
|
|
9
9
|
return false;
|
|
10
10
|
}
|
|
11
|
-
// Ensure there aren't any other keys besides `@directive` or `_metadata`
|
|
12
11
|
const otherKeys = keys.filter((key) => !key.startsWith('@') && key !== '_metadata');
|
|
13
12
|
if (otherKeys.length === 0) {
|
|
14
13
|
return true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"is-directive.js","sourceRoot":"","sources":["../../../src/mapping-kit/is-directive.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAE1C,MAAM,UAAU,WAAW,CAAC,GAAY;IACtC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;QAClB,OAAO,KAAK,CAAA;KACb;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC7B,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAA;IAClE,IAAI,CAAC,kBAAkB,EAAE;QACvB,OAAO,KAAK,CAAA;KACb;
|
|
1
|
+
{"version":3,"file":"is-directive.js","sourceRoot":"","sources":["../../../src/mapping-kit/is-directive.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAE1C,MAAM,UAAU,WAAW,CAAC,GAAY;IACtC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;QAClB,OAAO,KAAK,CAAA;KACb;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC7B,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAA;IAClE,IAAI,CAAC,kBAAkB,EAAE;QACvB,OAAO,KAAK,CAAA;KACb;IAGD,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,WAAW,CAAC,CAAA;IACnF,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;QAC1B,OAAO,IAAI,CAAA;KACZ;IAED,OAAO,KAAK,CAAA;AACd,CAAC"}
|
|
@@ -17,9 +17,6 @@ function escapeHtml(value) {
|
|
|
17
17
|
return entityMap[match];
|
|
18
18
|
});
|
|
19
19
|
}
|
|
20
|
-
/**
|
|
21
|
-
* Replaces curly brace placeholders in a template with real content
|
|
22
|
-
*/
|
|
23
20
|
export function render(template, data = {}) {
|
|
24
21
|
if (typeof template !== 'string') {
|
|
25
22
|
throw new TypeError(`Invalid template! Template should be a "string" but ${realTypeOf(template)} was given.`);
|
|
@@ -27,11 +24,8 @@ export function render(template, data = {}) {
|
|
|
27
24
|
function replacer(chars, escape) {
|
|
28
25
|
return (match) => {
|
|
29
26
|
var _a;
|
|
30
|
-
// Remove the wrapping curly braces
|
|
31
27
|
match = match.slice(chars, -chars).trim();
|
|
32
|
-
// Grab the value from data, if it exists
|
|
33
28
|
const value = get(data, match);
|
|
34
|
-
// Replace with the value (or empty string)
|
|
35
29
|
if (escape) {
|
|
36
30
|
return String((_a = escapeHtml(value)) !== null && _a !== void 0 ? _a : '');
|
|
37
31
|
}
|
|
@@ -39,9 +33,7 @@ export function render(template, data = {}) {
|
|
|
39
33
|
};
|
|
40
34
|
}
|
|
41
35
|
return (template
|
|
42
|
-
// Replace unescaped content
|
|
43
36
|
.replace(/\{\{\{([^}]+)\}\}\}/g, replacer(3, false))
|
|
44
|
-
// Replace escaped content
|
|
45
37
|
.replace(/\{\{([^}]+)\}\}/g, replacer(2, true)));
|
|
46
38
|
}
|
|
47
39
|
//# sourceMappingURL=placeholders.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"placeholders.js","sourceRoot":"","sources":["../../../src/mapping-kit/placeholders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE5C,MAAM,SAAS,GAA2B;IACxC,GAAG,EAAE,OAAO;IACZ,GAAG,EAAE,MAAM;IACX,GAAG,EAAE,MAAM;IACX,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,OAAO;IACZ,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,QAAQ;CACd,CAAA;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IAE3C,OAAO,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE;QAC5C,OAAO,SAAS,CAAC,KAAK,CAAC,CAAA;IACzB,CAAC,CAAC,CAAA;AACJ,CAAC;
|
|
1
|
+
{"version":3,"file":"placeholders.js","sourceRoot":"","sources":["../../../src/mapping-kit/placeholders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE5C,MAAM,SAAS,GAA2B;IACxC,GAAG,EAAE,OAAO;IACZ,GAAG,EAAE,MAAM;IACX,GAAG,EAAE,MAAM;IACX,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,OAAO;IACZ,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,QAAQ;CACd,CAAA;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IAE3C,OAAO,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE;QAC5C,OAAO,SAAS,CAAC,KAAK,CAAC,CAAA;IACzB,CAAC,CAAC,CAAA;AACJ,CAAC;AAKD,MAAM,UAAU,MAAM,CAAC,QAAgB,EAAE,OAAgB,EAAE;IACzD,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;QAChC,MAAM,IAAI,SAAS,CAAC,uDAAuD,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAA;KAC9G;IAED,SAAS,QAAQ,CAAC,KAAa,EAAE,MAAe;QAC9C,OAAO,CAAC,KAAa,EAAU,EAAE;;YAE/B,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAA;YAGzC,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;YAG9B,IAAI,MAAM,EAAE;gBACV,OAAO,MAAM,CAAC,MAAA,UAAU,CAAC,KAAK,CAAC,mCAAI,EAAE,CAAC,CAAA;aACvC;YAED,OAAO,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAW,CAAA;QAChC,CAAC,CAAA;IACH,CAAC;IAED,OAAO,CACL,QAAQ;SAEL,OAAO,CAAC,sBAAsB,EAAE,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;SAEnD,OAAO,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAClD,CAAA;AACH,CAAC"}
|
|
@@ -28,7 +28,6 @@ function realTypeOrDirective(value) {
|
|
|
28
28
|
}
|
|
29
29
|
const directives = {};
|
|
30
30
|
function validateDirective(obj, stack = []) {
|
|
31
|
-
// "allow" non-directive objects so that we can throw a more descriptive error below
|
|
32
31
|
if (!isDirective(obj) && !isObject(obj)) {
|
|
33
32
|
const type = realTypeOf(obj);
|
|
34
33
|
throw new ValidationError(`should be a directive object but it is ${indefiniteArticle(type)} ${type}`, stack);
|
|
@@ -38,7 +37,6 @@ function validateDirective(obj, stack = []) {
|
|
|
38
37
|
if (directiveKeys.length > 1) {
|
|
39
38
|
throw new ValidationError(`should only have one @-prefixed key but it has ${directiveKeys.length} keys`, stack);
|
|
40
39
|
}
|
|
41
|
-
// Check that there aren't other keys besides @directive or _metadata
|
|
42
40
|
const otherKeys = keys.filter((key) => !key.startsWith('@') && key !== '_metadata');
|
|
43
41
|
if (otherKeys.length > 0) {
|
|
44
42
|
throw new ValidationError(`should only have one @-prefixed key but it has ${keys.length} keys`, stack);
|
|
@@ -77,28 +75,6 @@ function validateDirectiveOrString(v, stack = []) {
|
|
|
77
75
|
throw new ValidationError(`should be a string or a mapping directive but it is ${indefiniteArticle(type)} ${type}`, stack);
|
|
78
76
|
}
|
|
79
77
|
}
|
|
80
|
-
function validateDirectiveOrObject(v, stack = []) {
|
|
81
|
-
const type = realTypeOrDirective(v);
|
|
82
|
-
switch (type) {
|
|
83
|
-
case 'directive':
|
|
84
|
-
return validateDirective(v, stack);
|
|
85
|
-
case 'object':
|
|
86
|
-
return validateObject(v, stack);
|
|
87
|
-
default:
|
|
88
|
-
throw new ValidationError(`should be a mapping directive or an object but it is ${indefiniteArticle(type)} ${type}`, stack);
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
function validateDirectiveOrArray(v, stack = []) {
|
|
92
|
-
const type = realTypeOrDirective(v);
|
|
93
|
-
switch (type) {
|
|
94
|
-
case 'directive':
|
|
95
|
-
return validateDirective(v, stack);
|
|
96
|
-
case 'array':
|
|
97
|
-
return validateArray(v, stack);
|
|
98
|
-
default:
|
|
99
|
-
throw new ValidationError(`should be a mapping directive or an array but it is ${indefiniteArticle(type)} ${type}`, stack);
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
78
|
function validateObject(value, stack = []) {
|
|
103
79
|
const type = realTypeOrDirective(value);
|
|
104
80
|
if (type !== 'object') {
|
|
@@ -173,9 +149,6 @@ function directive(names, fn) {
|
|
|
173
149
|
};
|
|
174
150
|
});
|
|
175
151
|
}
|
|
176
|
-
directive('@base64', (v, stack) => {
|
|
177
|
-
validateDirectiveOrString(v, stack);
|
|
178
|
-
});
|
|
179
152
|
directive('@if', (v, stack) => {
|
|
180
153
|
validateObjectWithFields(v, {
|
|
181
154
|
exists: { optional: validateDirectiveOrRaw },
|
|
@@ -184,68 +157,12 @@ directive('@if', (v, stack) => {
|
|
|
184
157
|
else: { optional: validateDirectiveOrRaw }
|
|
185
158
|
}, stack);
|
|
186
159
|
});
|
|
187
|
-
directive('@json', (v, stack) => {
|
|
188
|
-
validateDirectiveOrRaw(v, stack);
|
|
189
|
-
});
|
|
190
|
-
directive('@lowercase', (v, stack) => {
|
|
191
|
-
validateDirectiveOrString(v, stack);
|
|
192
|
-
});
|
|
193
|
-
directive('@merge', (v, stack = []) => {
|
|
194
|
-
validateArray(v, stack);
|
|
195
|
-
const arr = v;
|
|
196
|
-
const errors = [];
|
|
197
|
-
arr.forEach((obj, i) => {
|
|
198
|
-
try {
|
|
199
|
-
validateDirectiveOrObject(obj, [...stack, `${i}`]);
|
|
200
|
-
}
|
|
201
|
-
catch (error) {
|
|
202
|
-
errors.push(error);
|
|
203
|
-
}
|
|
204
|
-
});
|
|
205
|
-
if (errors.length) {
|
|
206
|
-
throw new AggregateError(errors);
|
|
207
|
-
}
|
|
208
|
-
});
|
|
209
|
-
directive(['@omit', '@pick'], (v, stack = []) => {
|
|
210
|
-
validateObjectWithFields(v, {
|
|
211
|
-
object: { required: validateDirectiveOrObject },
|
|
212
|
-
fields: { required: validateDirectiveOrArray }
|
|
213
|
-
}, stack);
|
|
214
|
-
const obj = v;
|
|
215
|
-
if (Array.isArray(obj.fields)) {
|
|
216
|
-
const errors = [];
|
|
217
|
-
obj.fields.forEach((field, i) => {
|
|
218
|
-
try {
|
|
219
|
-
validateDirectiveOrString(field, [...stack, i.toString()]);
|
|
220
|
-
}
|
|
221
|
-
catch (error) {
|
|
222
|
-
errors.push(error);
|
|
223
|
-
}
|
|
224
|
-
});
|
|
225
|
-
if (errors.length) {
|
|
226
|
-
throw new AggregateError(errors);
|
|
227
|
-
}
|
|
228
|
-
}
|
|
229
|
-
});
|
|
230
160
|
directive('@path', (v, stack) => {
|
|
231
161
|
validateDirectiveOrString(v, stack);
|
|
232
162
|
});
|
|
233
|
-
directive('@root', () => {
|
|
234
|
-
// no-op
|
|
235
|
-
});
|
|
236
163
|
directive('@template', (v, stack) => {
|
|
237
164
|
validateDirectiveOrString(v, stack);
|
|
238
165
|
});
|
|
239
|
-
directive('@timestamp', (v, stack) => {
|
|
240
|
-
validateObjectWithFields(v, {
|
|
241
|
-
format: { required: validateDirectiveOrString },
|
|
242
|
-
inputFormat: { optional: validateDirectiveOrString },
|
|
243
|
-
timestamp: { required: validateDirectiveOrString }
|
|
244
|
-
}, stack);
|
|
245
|
-
});
|
|
246
|
-
directive('@uuid', () => {
|
|
247
|
-
// no-op
|
|
248
|
-
});
|
|
249
166
|
function indefiniteArticle(s) {
|
|
250
167
|
switch (s.charAt(0)) {
|
|
251
168
|
case 'a':
|
|
@@ -267,7 +184,6 @@ export default function validate(mapping, stack = []) {
|
|
|
267
184
|
case 'array':
|
|
268
185
|
return validateArray(mapping, stack);
|
|
269
186
|
default:
|
|
270
|
-
// All other types are valid "raw" mappings
|
|
271
187
|
return null;
|
|
272
188
|
}
|
|
273
189
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/mapping-kit/validate.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAc,MAAM,iBAAiB,CAAA;AAElE,MAAM,eAAgB,SAAQ,WAAW;IACvC,YAAY,OAAe,EAAE,QAAkB,EAAE;QAC/C,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,CAAA;IAC1C,CAAC;CACF;AAED,SAAS,aAAa,CAAC,MAAe;IACpC,MAAM,MAAM,GAAY,EAAE,CAAA;IAE1B,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACvB,IAAI,KAAK,YAAY,cAAc,EAAE;YACnC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAA;SACtB;aAAM;YACL,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;SACnB;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc;IACzC,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;IAC9B,IAAI,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,KAAe,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE;QACpF,OAAO,WAAW,CAAA;KACnB;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAQD,MAAM,UAAU,GAAwB,EAAE,CAAA;AAE1C,SAAS,iBAAiB,CAAC,GAAY,EAAE,QAAkB,EAAE;
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/mapping-kit/validate.ts"],"names":[],"mappings":"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"}
|