@trayio/cdk-dsl 0.4.0 → 0.6.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/connector/operation/CompositeOperationHandler.d.ts +1 -1
- package/dist/connector/operation/CompositeOperationHandler.d.ts.map +1 -1
- package/dist/connector/operation/HttpOperationHandler.d.ts +3 -3
- package/dist/connector/operation/HttpOperationHandler.d.ts.map +1 -1
- package/dist/connector/operation/HttpOperationHandler.js +18 -10
- package/dist/connector/operation/OperationHandler.d.ts +79 -36
- package/dist/connector/operation/OperationHandler.d.ts.map +1 -1
- package/dist/connector/operation/OperationHandler.js +49 -98
- package/dist/connector/operation/OperationHandlerInvocation.d.ts +1 -2
- package/dist/connector/operation/OperationHandlerInvocation.d.ts.map +1 -1
- package/dist/connector/operation/OperationHandlerSetup.d.ts +45 -0
- package/dist/connector/operation/OperationHandlerSetup.d.ts.map +1 -0
- package/dist/connector/operation/OperationHandlerSetup.js +125 -0
- package/dist/connector/operation/OperationHandlerTest.d.ts +1 -2
- package/dist/connector/operation/OperationHandlerTest.d.ts.map +1 -1
- package/dist/connector/operation/OperationHandlerTest.js +6 -6
- package/package.json +4 -1
- package/dist/connector/operation/OperationHandlerReference.d.ts +0 -4
- package/dist/connector/operation/OperationHandlerReference.d.ts.map +0 -1
- package/dist/connector/operation/OperationHandlerReference.js +0 -2
- package/dist/connector/operation/OperationHandlerResult.d.ts +0 -27
- package/dist/connector/operation/OperationHandlerResult.d.ts.map +0 -1
- package/dist/connector/operation/OperationHandlerResult.js +0 -61
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { OperationHandlerResult } from './
|
|
1
|
+
import { OperationHandlerResult } from './OperationHandler';
|
|
2
2
|
import { OperationHandlerInvocation } from './OperationHandlerInvocation';
|
|
3
3
|
export type CompositeOperationHandlerFunction<AUTH, IN, OUT> = (auth: AUTH, input: IN, invoke: OperationHandlerInvocation<AUTH>) => Promise<OperationHandlerResult<OUT>>;
|
|
4
4
|
export declare class CompositeOperationHandler<AUTH, IN, OUT> {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CompositeOperationHandler.d.ts","sourceRoot":"","sources":["../../../src/connector/operation/CompositeOperationHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"CompositeOperationHandler.d.ts","sourceRoot":"","sources":["../../../src/connector/operation/CompositeOperationHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE1E,MAAM,MAAM,iCAAiC,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,IAAI,CAC9D,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,EAAE,EACT,MAAM,EAAE,0BAA0B,CAAC,IAAI,CAAC,KACpC,OAAO,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC;AAE1C,qBAAa,yBAAyB,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG;IACnD,QAAQ,CAAC,IAAI,EAAE,2BAA2B,CAA+B;IACzE,QAAQ,CAAC,eAAe,EAAE,iCAAiC,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;gBAG1E,eAAe,EAAE,iCAAiC,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC;CAIlE"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { HttpMethod, HttpRequest, HttpHeaderValue, HttpResponse } from '@trayio/tray-commons/http/Http';
|
|
2
|
-
import { OperationHandlerResult } from './
|
|
2
|
+
import { OperationHandlerResult } from './OperationHandler';
|
|
3
3
|
export declare class HttpOperationRequest {
|
|
4
4
|
private jsonSerialization;
|
|
5
5
|
readonly path: string;
|
|
@@ -19,8 +19,8 @@ export declare class HttpOperationResponse {
|
|
|
19
19
|
constructor(response: HttpResponse);
|
|
20
20
|
getStatusCode(): number;
|
|
21
21
|
getHeader(name: string): HttpHeaderValue | undefined;
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
parseWithEmptyBody(): OperationHandlerResult<undefined>;
|
|
23
|
+
parseWithBodyAsJson<T>(): OperationHandlerResult<T>;
|
|
24
24
|
}
|
|
25
25
|
export type HttpOperationResponseHandler<OUT> = (response: HttpOperationResponse) => OperationHandlerResult<OUT>;
|
|
26
26
|
export declare class HttpOperationHandler<AUTH, IN, OUT> {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpOperationHandler.d.ts","sourceRoot":"","sources":["../../../src/connector/operation/HttpOperationHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,UAAU,EACV,WAAW,EACX,eAAe,EACf,YAAY,EACZ,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"HttpOperationHandler.d.ts","sourceRoot":"","sources":["../../../src/connector/operation/HttpOperationHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,UAAU,EACV,WAAW,EACX,eAAe,EACf,YAAY,EACZ,MAAM,gCAAgC,CAAC;AAMxC,OAAO,EACN,sBAAsB,EAEtB,MAAM,oBAAoB,CAAC;AAiB5B,qBAAa,oBAAoB;IAChC,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;gBAElB,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW;IAOlE,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,oBAAoB;IAQhD,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,oBAAoB;IAUnE,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,oBAAoB;IAUjE,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,oBAAoB;IAIpD,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,GAAG,oBAAoB;CASrE;AAED,MAAM,MAAM,2BAA2B,CAAC,IAAI,EAAE,EAAE,IAAI,CACnD,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,EAAE,EACT,OAAO,EAAE,oBAAoB,KACzB,oBAAoB,CAAC;AAE1B,qBAAa,qBAAqB;IACjC,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,QAAQ,CAAe;gBAEnB,QAAQ,EAAE,YAAY;IAKlC,aAAa,IAAI,MAAM;IAIvB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IAIpD,kBAAkB,IAAI,sBAAsB,CAAC,SAAS,CAAC;IAcvD,mBAAmB,CAAC,CAAC,KAAK,sBAAsB,CAAC,CAAC,CAAC;CA6BnD;AAED,MAAM,MAAM,4BAA4B,CAAC,GAAG,IAAI,CAC/C,QAAQ,EAAE,qBAAqB,KAC3B,sBAAsB,CAAC,GAAG,CAAC,CAAC;AAEjC,qBAAa,oBAAoB,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG;IAC9C,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAA0B;IAC/D,QAAQ,CAAC,OAAO,EAAE,oBAAoB,CAAC;IACvC,QAAQ,CAAC,cAAc,EAAE,2BAA2B,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC/D,QAAQ,CAAC,eAAe,EAAE,4BAA4B,CAAC,GAAG,CAAC,CAAC;gBAG3D,OAAO,EAAE,oBAAoB,EAC7B,cAAc,EAAE,2BAA2B,CAAC,IAAI,EAAE,EAAE,CAAC,EACrD,eAAe,EAAE,4BAA4B,CAAC,GAAG,CAAC;CAMnD;AAED,qBAAa,yCAAyC,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG;IACnE,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,cAAc,CAAwC;gBAG7D,OAAO,EAAE,oBAAoB,EAC7B,cAAc,EAAE,2BAA2B,CAAC,IAAI,EAAE,EAAE,CAAC;IAMtD,cAAc,CACb,eAAe,EAAE,4BAA4B,CAAC,GAAG,CAAC,GAChD,oBAAoB,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC;CAOtC;AAED,qBAAa,wCAAwC,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG;IAClE,OAAO,CAAC,OAAO,CAAuB;gBAE1B,OAAO,EAAE,oBAAoB;IAIzC,aAAa,CACZ,cAAc,EAAE,2BAA2B,CAAC,IAAI,EAAE,EAAE,CAAC,GACnD,yCAAyC,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC;CAM3D;AAED,qBAAa,iCAAiC,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG;IAC3D,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,wCAAwC,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC;IAM1E,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,wCAAwC,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC;IAM3E,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,wCAAwC,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC;IAM1E,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,wCAAwC,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC;IAM5E,MAAM,CACL,IAAI,EAAE,MAAM,GACV,wCAAwC,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC;IAM1D,OAAO,CAAC,cAAc;CAatB;AAED,MAAM,MAAM,yBAAyB,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,IAAI,CACtD,IAAI,EAAE,iCAAiC,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,KAClD,oBAAoB,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC"}
|
|
@@ -28,7 +28,8 @@ const Http_1 = require("@trayio/tray-commons/http/Http");
|
|
|
28
28
|
const JsonSerialization_1 = require("@trayio/tray-commons/serialization/JsonSerialization");
|
|
29
29
|
const fs = __importStar(require("fs"));
|
|
30
30
|
const pathLib = __importStar(require("path"));
|
|
31
|
-
const
|
|
31
|
+
const E = __importStar(require("fp-ts/Either"));
|
|
32
|
+
const OperationHandler_1 = require("./OperationHandler");
|
|
32
33
|
// TODO: move to TTM
|
|
33
34
|
const readJsonFile = (jsonFilePath) => JSON.parse(fs.readFileSync(jsonFilePath, 'utf8'));
|
|
34
35
|
// TODO: move to TTM
|
|
@@ -74,19 +75,26 @@ class HttpOperationResponse {
|
|
|
74
75
|
getHeader(name) {
|
|
75
76
|
return this.response.headers[name];
|
|
76
77
|
}
|
|
77
|
-
|
|
78
|
+
parseWithEmptyBody() {
|
|
78
79
|
if (this.response.statusCode >= 300) {
|
|
79
|
-
return
|
|
80
|
+
return OperationHandler_1.OperationHandlerResult.failure(OperationHandler_1.OperationHandlerError.apiError(`API returned a status code of ${this.response.statusCode}`, {
|
|
81
|
+
statusCode: this.response.statusCode,
|
|
82
|
+
}));
|
|
80
83
|
}
|
|
81
|
-
return
|
|
84
|
+
return OperationHandler_1.OperationHandlerResult.success(undefined);
|
|
82
85
|
}
|
|
83
|
-
|
|
84
|
-
if (this.response.statusCode >= 300) {
|
|
85
|
-
return OperationHandlerResult_1.OperationHandlerResult.failure(`Error ${this.response.statusCode}`); // TODO add detailed errors and custom error responses
|
|
86
|
-
}
|
|
86
|
+
parseWithBodyAsJson() {
|
|
87
87
|
const deserializedBodyE = this.jsonSerialization.deserialize(this.response.body);
|
|
88
|
-
const
|
|
89
|
-
|
|
88
|
+
const result = E.match((error) => OperationHandler_1.OperationHandlerResult.failure(OperationHandler_1.OperationHandlerError.connectorError(`Could not deserialise the body of the response: ${error.message}`)), (deserializedBody) => {
|
|
89
|
+
if (this.response.statusCode >= 300) {
|
|
90
|
+
return OperationHandler_1.OperationHandlerResult.failure(OperationHandler_1.OperationHandlerError.apiError(`API returned a status code of ${this.response.statusCode}`, {
|
|
91
|
+
statusCode: this.response.statusCode,
|
|
92
|
+
body: deserializedBody,
|
|
93
|
+
}));
|
|
94
|
+
}
|
|
95
|
+
return OperationHandler_1.OperationHandlerResult.success(deserializedBody);
|
|
96
|
+
})(deserializedBodyE);
|
|
97
|
+
return result;
|
|
90
98
|
}
|
|
91
99
|
}
|
|
92
100
|
exports.HttpOperationResponse = HttpOperationResponse;
|
|
@@ -1,40 +1,83 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
export type
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
1
|
+
import { Result, ResultInterface } from '@trayio/tray-commons/result/Result';
|
|
2
|
+
import { DynamicObject } from '@trayio/tray-commons/dynamictype/DynamicType';
|
|
3
|
+
export type OperationHandlerReference<AUTH, IN, OUT> = {
|
|
4
|
+
name: string;
|
|
5
|
+
};
|
|
6
|
+
export type BaseTriggerOperationHttpRequest = {
|
|
7
|
+
method: string;
|
|
8
|
+
path: string;
|
|
9
|
+
headers: Record<string, string[]>;
|
|
10
|
+
query: Record<string, string[]>;
|
|
11
|
+
fragment?: string;
|
|
12
|
+
};
|
|
13
|
+
export type RegularTriggerOperationHttpRequest = BaseTriggerOperationHttpRequest & {
|
|
14
|
+
_tag: 'RegularTriggerOperationHttpRequest';
|
|
15
|
+
readonly hasLargeBody: false;
|
|
16
|
+
body: string;
|
|
17
|
+
form?: Record<string, string[]>;
|
|
18
|
+
};
|
|
19
|
+
export type LargeTriggerOperationHttpRequest = BaseTriggerOperationHttpRequest & {
|
|
20
|
+
_tag: 'LargeTriggerOperationHttpRequest';
|
|
21
|
+
readonly hasLargeBody: true;
|
|
22
|
+
bodySize: number;
|
|
23
|
+
bodyUrl: string;
|
|
24
|
+
bodyMessage: string;
|
|
25
|
+
};
|
|
26
|
+
export type TriggerOperationHttpRequest = RegularTriggerOperationHttpRequest | LargeTriggerOperationHttpRequest;
|
|
27
|
+
export type TriggerOperationHttpResponse = {
|
|
28
|
+
status_code: number;
|
|
29
|
+
headers: Record<string, string[]>;
|
|
30
|
+
body?: string;
|
|
31
|
+
};
|
|
32
|
+
export interface TriggerOperationHttpResponseInterface {
|
|
33
|
+
withStatusCode: (statusCode: number) => TriggerOperationHttpResponse;
|
|
34
|
+
withStatusCodeAndHeaders: (statusCode: number, headers: Record<string, string[]>) => TriggerOperationHttpResponse;
|
|
35
|
+
withStatusCodeAndBody: (statusCode: number, body: string) => TriggerOperationHttpResponse;
|
|
36
|
+
withAllFields: (statusCode: number, headers: Record<string, string[]>, body: string) => TriggerOperationHttpResponse;
|
|
13
37
|
}
|
|
14
|
-
export declare
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
38
|
+
export declare const TriggerOperationHttpResponse: TriggerOperationHttpResponseInterface;
|
|
39
|
+
export type TriggerRequestOperationInput<T> = {
|
|
40
|
+
input: T;
|
|
41
|
+
request: TriggerOperationHttpRequest;
|
|
42
|
+
};
|
|
43
|
+
export type TriggerRequestOperationOutput<T> = {
|
|
44
|
+
output: T;
|
|
45
|
+
response?: TriggerOperationHttpResponse;
|
|
46
|
+
};
|
|
47
|
+
export type TriggerResponseOperationInput<I, R> = {
|
|
48
|
+
input: I;
|
|
49
|
+
response: R;
|
|
50
|
+
};
|
|
51
|
+
export type OperationHandlerError = ConnectorError | ApiError | UserInputError | OauthRefreshError | SkipTriggerError;
|
|
52
|
+
export type BaseOperationHandlerError = {
|
|
53
|
+
message: string;
|
|
54
|
+
response?: DynamicObject;
|
|
55
|
+
};
|
|
56
|
+
export type ConnectorError = BaseOperationHandlerError & {
|
|
57
|
+
_tag: 'ConnectorError';
|
|
58
|
+
};
|
|
59
|
+
export type ApiError = BaseOperationHandlerError & {
|
|
60
|
+
_tag: 'ApiError';
|
|
61
|
+
};
|
|
62
|
+
export type UserInputError = BaseOperationHandlerError & {
|
|
63
|
+
_tag: 'UserInputError';
|
|
64
|
+
};
|
|
65
|
+
export type OauthRefreshError = BaseOperationHandlerError & {
|
|
66
|
+
_tag: 'OauthRefreshError';
|
|
67
|
+
};
|
|
68
|
+
export type SkipTriggerError = BaseOperationHandlerError & {
|
|
69
|
+
_tag: 'SkipTriggerError';
|
|
70
|
+
};
|
|
71
|
+
export interface OperationHandlerErrorInterface {
|
|
72
|
+
connectorError: (message: string, response?: DynamicObject) => OperationHandlerError;
|
|
73
|
+
apiError: (message: string, response?: DynamicObject) => OperationHandlerError;
|
|
74
|
+
userInputError: (message: string, response?: DynamicObject) => OperationHandlerError;
|
|
75
|
+
oauthRefreshError: (message: string, response?: DynamicObject) => OperationHandlerError;
|
|
76
|
+
skipTriggerError: (message: string, response?: DynamicObject) => OperationHandlerError;
|
|
25
77
|
}
|
|
26
|
-
export declare
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
static resolve<AUTH, IN, OUT>(reference: OperationHandlerReference<AUTH, IN, OUT>): O.Option<OperationHandler<AUTH, IN, OUT>>;
|
|
30
|
-
private registry;
|
|
31
|
-
private constructor();
|
|
32
|
-
private register;
|
|
33
|
-
private resolve;
|
|
78
|
+
export declare const OperationHandlerError: OperationHandlerErrorInterface;
|
|
79
|
+
export type OperationHandlerResult<T> = Result<OperationHandlerError, T>;
|
|
80
|
+
export interface OperationHandlerResultInterface extends ResultInterface {
|
|
34
81
|
}
|
|
35
|
-
export
|
|
36
|
-
export interface OperationHandlerSetupInterface {
|
|
37
|
-
configureHandler: <AUTH, IN, OUT>(name: string, handlerSetup: OperationHandlerSetup<AUTH, IN, OUT>) => OperationHandlerReference<AUTH, IN, OUT>;
|
|
38
|
-
}
|
|
39
|
-
export declare const OperationHandlerSetup: OperationHandlerSetupInterface;
|
|
82
|
+
export declare const OperationHandlerResult: OperationHandlerResultInterface;
|
|
40
83
|
//# sourceMappingURL=OperationHandler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OperationHandler.d.ts","sourceRoot":"","sources":["../../../src/connector/operation/OperationHandler.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"OperationHandler.d.ts","sourceRoot":"","sources":["../../../src/connector/operation/OperationHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,101 +1,52 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.
|
|
27
|
-
const
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
return OperationHandlerRegistry.instance.register(handler);
|
|
75
|
-
}
|
|
76
|
-
static resolve(reference) {
|
|
77
|
-
return OperationHandlerRegistry.instance.resolve(reference);
|
|
78
|
-
}
|
|
79
|
-
constructor() {
|
|
80
|
-
this.registry = new Map();
|
|
81
|
-
}
|
|
82
|
-
register(handler) {
|
|
83
|
-
this.registry.set(handler.name, handler);
|
|
84
|
-
}
|
|
85
|
-
resolve(reference) {
|
|
86
|
-
const handler = this.registry.get(reference.name);
|
|
87
|
-
if (!handler) {
|
|
88
|
-
return O.none;
|
|
89
|
-
}
|
|
90
|
-
return O.some(handler);
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
exports.OperationHandlerRegistry = OperationHandlerRegistry;
|
|
94
|
-
OperationHandlerRegistry.instance = new OperationHandlerRegistry();
|
|
95
|
-
exports.OperationHandlerSetup = {
|
|
96
|
-
configureHandler: (name, handlerSetup) => {
|
|
97
|
-
const handler = handlerSetup(OperationHandlerConfiguration.withName(name));
|
|
98
|
-
OperationHandlerRegistry.register(handler);
|
|
99
|
-
return { name: handler.name };
|
|
100
|
-
},
|
|
3
|
+
exports.OperationHandlerResult = exports.OperationHandlerError = exports.TriggerOperationHttpResponse = void 0;
|
|
4
|
+
const Result_1 = require("@trayio/tray-commons/result/Result");
|
|
5
|
+
exports.TriggerOperationHttpResponse = {
|
|
6
|
+
withStatusCode: (statusCode) => ({
|
|
7
|
+
status_code: statusCode,
|
|
8
|
+
headers: {},
|
|
9
|
+
}),
|
|
10
|
+
withStatusCodeAndHeaders: (statusCode, headers) => ({
|
|
11
|
+
status_code: statusCode,
|
|
12
|
+
headers,
|
|
13
|
+
}),
|
|
14
|
+
withStatusCodeAndBody: (statusCode, body) => ({
|
|
15
|
+
status_code: statusCode,
|
|
16
|
+
headers: {},
|
|
17
|
+
body,
|
|
18
|
+
}),
|
|
19
|
+
withAllFields: (statusCode, headers, body) => ({
|
|
20
|
+
status_code: statusCode,
|
|
21
|
+
headers,
|
|
22
|
+
body,
|
|
23
|
+
}),
|
|
24
|
+
};
|
|
25
|
+
exports.OperationHandlerError = {
|
|
26
|
+
connectorError: (message, response) => ({
|
|
27
|
+
_tag: 'ConnectorError',
|
|
28
|
+
message,
|
|
29
|
+
response,
|
|
30
|
+
}),
|
|
31
|
+
apiError: (message, response) => ({
|
|
32
|
+
_tag: 'ApiError',
|
|
33
|
+
message,
|
|
34
|
+
response,
|
|
35
|
+
}),
|
|
36
|
+
userInputError: (message, response) => ({
|
|
37
|
+
_tag: 'UserInputError',
|
|
38
|
+
message,
|
|
39
|
+
response,
|
|
40
|
+
}),
|
|
41
|
+
oauthRefreshError: (message, response) => ({
|
|
42
|
+
_tag: 'OauthRefreshError',
|
|
43
|
+
message,
|
|
44
|
+
response,
|
|
45
|
+
}),
|
|
46
|
+
skipTriggerError: (message, response) => ({
|
|
47
|
+
_tag: 'SkipTriggerError',
|
|
48
|
+
message,
|
|
49
|
+
response,
|
|
50
|
+
}),
|
|
101
51
|
};
|
|
52
|
+
exports.OperationHandlerResult = Result_1.Result;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { OperationHandlerReference } from './
|
|
2
|
-
import { OperationHandlerResult } from './OperationHandlerResult';
|
|
1
|
+
import { OperationHandlerReference, OperationHandlerResult } from './OperationHandler';
|
|
3
2
|
export type OperationHandlerInvocation<AUTH> = <IN, OUT>(handlerReference: OperationHandlerReference<AUTH, IN, OUT>) => (input: IN) => Promise<OperationHandlerResult<OUT>>;
|
|
4
3
|
//# sourceMappingURL=OperationHandlerInvocation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OperationHandlerInvocation.d.ts","sourceRoot":"","sources":["../../../src/connector/operation/OperationHandlerInvocation.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"OperationHandlerInvocation.d.ts","sourceRoot":"","sources":["../../../src/connector/operation/OperationHandlerInvocation.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,yBAAyB,EACzB,sBAAsB,EACtB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,MAAM,0BAA0B,CAAC,IAAI,IAAI,CAAC,EAAE,EAAE,GAAG,EACtD,gBAAgB,EAAE,yBAAyB,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,KACtD,CAAC,KAAK,EAAE,EAAE,KAAK,OAAO,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import * as O from 'fp-ts/Option';
|
|
2
|
+
import { DynamicObject } from '@trayio/tray-commons/dynamictype/DynamicType';
|
|
3
|
+
import { CompositeOperationHandler, CompositeOperationHandlerFunction } from './CompositeOperationHandler';
|
|
4
|
+
import { HttpOperationHandler, HttpOperationHandlerSetup } from './HttpOperationHandler';
|
|
5
|
+
import { OperationHandlerValidation, OperationHandlerInputValidationSetup, OperationHandlerOutputValidationSetup } from './OperationHandlerValidation';
|
|
6
|
+
import { OperationHandlerReference, TriggerOperationHttpResponse, TriggerRequestOperationInput, TriggerRequestOperationOutput, TriggerResponseOperationInput } from './OperationHandler';
|
|
7
|
+
export type OperationHandlerImplementation<AUTH, IN, OUT> = HttpOperationHandler<AUTH, IN, OUT> | CompositeOperationHandler<AUTH, IN, OUT>;
|
|
8
|
+
export declare class OperationHandler<AUTH, IN, OUT> {
|
|
9
|
+
readonly name: string;
|
|
10
|
+
readonly isPrivate: boolean;
|
|
11
|
+
readonly validation: O.Option<OperationHandlerValidation<AUTH, IN, OUT>>;
|
|
12
|
+
readonly implementation: OperationHandlerImplementation<AUTH, IN, OUT>;
|
|
13
|
+
constructor(name: string, isPrivate: boolean, validation: O.Option<OperationHandlerValidation<AUTH, IN, OUT>>, implementation: OperationHandlerImplementation<AUTH, IN, OUT>);
|
|
14
|
+
}
|
|
15
|
+
export declare class OperationHandlerConfiguration<AUTH, IN, OUT> {
|
|
16
|
+
static withName<AUTH, IN, OUT>(name: string): OperationHandlerConfiguration<AUTH, IN, OUT>;
|
|
17
|
+
private name;
|
|
18
|
+
private isPrivate;
|
|
19
|
+
private validation;
|
|
20
|
+
private constructor();
|
|
21
|
+
private(): OperationHandlerConfiguration<AUTH, IN, OUT>;
|
|
22
|
+
addInputValidation(inputValidationSetup: OperationHandlerInputValidationSetup<AUTH, IN>): OperationHandlerConfiguration<AUTH, IN, OUT>;
|
|
23
|
+
addOutputValidation(outputValidationSetup: OperationHandlerOutputValidationSetup<AUTH, IN, OUT>): OperationHandlerConfiguration<AUTH, IN, OUT>;
|
|
24
|
+
usingHttp(httpSetup: HttpOperationHandlerSetup<AUTH, IN, OUT>): OperationHandler<AUTH, IN, OUT>;
|
|
25
|
+
usingComposite(compositeFunction: CompositeOperationHandlerFunction<AUTH, IN, OUT>): OperationHandler<AUTH, IN, OUT>;
|
|
26
|
+
}
|
|
27
|
+
export declare class OperationHandlerRegistry {
|
|
28
|
+
private static instance;
|
|
29
|
+
static register<AUTH, IN, OUT>(handler: OperationHandler<AUTH, IN, OUT>): void;
|
|
30
|
+
static resolve<AUTH, IN, OUT>(reference: OperationHandlerReference<AUTH, IN, OUT>): O.Option<OperationHandler<AUTH, IN, OUT>>;
|
|
31
|
+
private registry;
|
|
32
|
+
private constructor();
|
|
33
|
+
private register;
|
|
34
|
+
private resolve;
|
|
35
|
+
}
|
|
36
|
+
export type OperationHandlerSetup<AUTH, IN, OUT> = (handler: OperationHandlerConfiguration<AUTH, IN, OUT>) => OperationHandler<AUTH, IN, OUT>;
|
|
37
|
+
export interface OperationHandlerSetupInterface {
|
|
38
|
+
configureHandler: <AUTH, IN, OUT>(name: string, handlerSetup: OperationHandlerSetup<AUTH, IN, OUT>) => OperationHandlerReference<AUTH, IN, OUT>;
|
|
39
|
+
configureTriggerCreateHandler: <AUTH, IN>(name: string, handlerSetup: OperationHandlerSetup<AUTH, IN, DynamicObject>) => OperationHandlerReference<AUTH, IN, DynamicObject>;
|
|
40
|
+
configureTriggerDestroyHandler: <AUTH, IN>(name: string, handlerSetup: OperationHandlerSetup<AUTH, IN, DynamicObject>) => OperationHandlerReference<AUTH, IN, DynamicObject>;
|
|
41
|
+
configureTriggerRequestHandler: <AUTH, IN, OUT>(name: string, handlerSetup: OperationHandlerSetup<AUTH, TriggerRequestOperationInput<IN>, TriggerRequestOperationOutput<OUT>>) => OperationHandlerReference<AUTH, TriggerRequestOperationInput<IN>, TriggerRequestOperationOutput<OUT>>;
|
|
42
|
+
configureTriggerResponseHandler: <AUTH, IN, RES>(name: string, handlerSetup: OperationHandlerSetup<AUTH, TriggerResponseOperationInput<IN, RES>, TriggerOperationHttpResponse>) => OperationHandlerReference<AUTH, TriggerResponseOperationInput<IN, RES>, TriggerOperationHttpResponse>;
|
|
43
|
+
}
|
|
44
|
+
export declare const OperationHandlerSetup: OperationHandlerSetupInterface;
|
|
45
|
+
//# sourceMappingURL=OperationHandlerSetup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OperationHandlerSetup.d.ts","sourceRoot":"","sources":["../../../src/connector/operation/OperationHandlerSetup.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.OperationHandlerSetup = exports.OperationHandlerRegistry = exports.OperationHandlerConfiguration = exports.OperationHandler = void 0;
|
|
27
|
+
const O = __importStar(require("fp-ts/Option"));
|
|
28
|
+
const CompositeOperationHandler_1 = require("./CompositeOperationHandler");
|
|
29
|
+
const HttpOperationHandler_1 = require("./HttpOperationHandler");
|
|
30
|
+
const OperationHandlerValidation_1 = require("./OperationHandlerValidation");
|
|
31
|
+
class OperationHandler {
|
|
32
|
+
constructor(name, isPrivate, validation, implementation) {
|
|
33
|
+
this.name = name;
|
|
34
|
+
this.isPrivate = isPrivate;
|
|
35
|
+
this.validation = validation;
|
|
36
|
+
this.implementation = implementation;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
exports.OperationHandler = OperationHandler;
|
|
40
|
+
class OperationHandlerConfiguration {
|
|
41
|
+
static withName(name) {
|
|
42
|
+
return new OperationHandlerConfiguration(name, false, O.none);
|
|
43
|
+
}
|
|
44
|
+
constructor(name, isPrivate, validation) {
|
|
45
|
+
this.name = name;
|
|
46
|
+
this.isPrivate = isPrivate;
|
|
47
|
+
this.validation = validation;
|
|
48
|
+
}
|
|
49
|
+
private() {
|
|
50
|
+
return new OperationHandlerConfiguration(this.name, true, this.validation);
|
|
51
|
+
}
|
|
52
|
+
addInputValidation(inputValidationSetup) {
|
|
53
|
+
const currentValidation = O.getOrElse(() => OperationHandlerValidation_1.OperationHandlerValidation.emptyValidation())(this.validation);
|
|
54
|
+
const inputValidation = inputValidationSetup(new OperationHandlerValidation_1.OperationHandlerInputValidationConditionConfiguration());
|
|
55
|
+
const newValidation = currentValidation.addInputValidation(inputValidation);
|
|
56
|
+
return new OperationHandlerConfiguration(this.name, this.isPrivate, O.some(newValidation));
|
|
57
|
+
}
|
|
58
|
+
addOutputValidation(outputValidationSetup) {
|
|
59
|
+
const currentValidation = O.getOrElse(() => OperationHandlerValidation_1.OperationHandlerValidation.emptyValidation())(this.validation);
|
|
60
|
+
const outputValidation = outputValidationSetup(new OperationHandlerValidation_1.OperationHandlerOutputValidationConditionConfiguration());
|
|
61
|
+
const newValidation = currentValidation.addOutputValidation(outputValidation);
|
|
62
|
+
return new OperationHandlerConfiguration(this.name, this.isPrivate, O.some(newValidation));
|
|
63
|
+
}
|
|
64
|
+
usingHttp(httpSetup) {
|
|
65
|
+
return new OperationHandler(this.name, this.isPrivate, this.validation, httpSetup(new HttpOperationHandler_1.HttpOperationHandlerConfiguration()));
|
|
66
|
+
}
|
|
67
|
+
usingComposite(compositeFunction) {
|
|
68
|
+
return new OperationHandler(this.name, this.isPrivate, this.validation, new CompositeOperationHandler_1.CompositeOperationHandler(compositeFunction));
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
exports.OperationHandlerConfiguration = OperationHandlerConfiguration;
|
|
72
|
+
class OperationHandlerRegistry {
|
|
73
|
+
static register(handler) {
|
|
74
|
+
return OperationHandlerRegistry.instance.register(handler);
|
|
75
|
+
}
|
|
76
|
+
static resolve(reference) {
|
|
77
|
+
return OperationHandlerRegistry.instance.resolve(reference);
|
|
78
|
+
}
|
|
79
|
+
constructor() {
|
|
80
|
+
this.registry = new Map();
|
|
81
|
+
}
|
|
82
|
+
register(handler) {
|
|
83
|
+
this.registry.set(handler.name, handler);
|
|
84
|
+
}
|
|
85
|
+
resolve(reference) {
|
|
86
|
+
const handler = this.registry.get(reference.name);
|
|
87
|
+
if (!handler) {
|
|
88
|
+
return O.none;
|
|
89
|
+
}
|
|
90
|
+
return O.some(handler);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
exports.OperationHandlerRegistry = OperationHandlerRegistry;
|
|
94
|
+
OperationHandlerRegistry.instance = new OperationHandlerRegistry();
|
|
95
|
+
exports.OperationHandlerSetup = {
|
|
96
|
+
configureHandler: (name, handlerSetup) => {
|
|
97
|
+
const handler = handlerSetup(OperationHandlerConfiguration.withName(name));
|
|
98
|
+
OperationHandlerRegistry.register(handler);
|
|
99
|
+
return { name: handler.name };
|
|
100
|
+
},
|
|
101
|
+
configureTriggerCreateHandler: (name, handlerSetup) => {
|
|
102
|
+
const handler = handlerSetup(OperationHandlerConfiguration.withName(name));
|
|
103
|
+
OperationHandlerRegistry.register(handler);
|
|
104
|
+
return {
|
|
105
|
+
name: handler.name,
|
|
106
|
+
};
|
|
107
|
+
},
|
|
108
|
+
configureTriggerDestroyHandler: (name, handlerSetup) => {
|
|
109
|
+
const handler = handlerSetup(OperationHandlerConfiguration.withName(`${name}_destroy`));
|
|
110
|
+
OperationHandlerRegistry.register(handler);
|
|
111
|
+
return {
|
|
112
|
+
name: handler.name,
|
|
113
|
+
};
|
|
114
|
+
},
|
|
115
|
+
configureTriggerRequestHandler: (name, handlerSetup) => {
|
|
116
|
+
const handler = handlerSetup(OperationHandlerConfiguration.withName(`${name}_request`));
|
|
117
|
+
OperationHandlerRegistry.register(handler);
|
|
118
|
+
return { name: handler.name };
|
|
119
|
+
},
|
|
120
|
+
configureTriggerResponseHandler: (name, handlerSetup) => {
|
|
121
|
+
const handler = handlerSetup(OperationHandlerConfiguration.withName(`${name}_response`));
|
|
122
|
+
OperationHandlerRegistry.register(handler);
|
|
123
|
+
return { name: handler.name };
|
|
124
|
+
},
|
|
125
|
+
};
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import * as O from 'fp-ts/Option';
|
|
2
|
-
import { OperationHandlerReference } from './
|
|
3
|
-
import { OperationHandlerResult } from './OperationHandlerResult';
|
|
2
|
+
import { OperationHandlerReference, OperationHandlerResult } from './OperationHandler';
|
|
4
3
|
import { OperationHandlerInvocation } from './OperationHandlerInvocation';
|
|
5
4
|
export type OperationHandlerTestCaseResult<AUTH, IN, OUT, TCTX, TCCTX> = {
|
|
6
5
|
auth: AUTH;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OperationHandlerTest.d.ts","sourceRoot":"","sources":["../../../src/connector/operation/OperationHandlerTest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAIlC,OAAO,
|
|
1
|
+
{"version":3,"file":"OperationHandlerTest.d.ts","sourceRoot":"","sources":["../../../src/connector/operation/OperationHandlerTest.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,7 +28,7 @@ const O = __importStar(require("fp-ts/Option"));
|
|
|
28
28
|
const function_1 = require("fp-ts/function");
|
|
29
29
|
const fs = __importStar(require("fs"));
|
|
30
30
|
const pathLib = __importStar(require("path"));
|
|
31
|
-
const
|
|
31
|
+
const OperationHandler_1 = require("./OperationHandler");
|
|
32
32
|
// TODO: move to TTM
|
|
33
33
|
const getCallerModuleFolderPath = () => {
|
|
34
34
|
const callerPathOpt = (0, function_1.pipe)(O.fromNullable(module.require.main), O.map((module) => module.path));
|
|
@@ -70,7 +70,7 @@ class OperationHandlerTestCaseFinallyConfiguration {
|
|
|
70
70
|
return new OperationHandlerTestCase(this.description, this.auth, this.testContext, this.givenFunction, this.whenFunction, this.thenFunction, finallyFunction);
|
|
71
71
|
}
|
|
72
72
|
finallyDoNothing() {
|
|
73
|
-
return this.finally(() => Promise.resolve(
|
|
73
|
+
return this.finally(() => Promise.resolve(OperationHandler_1.OperationHandlerResult.success(undefined)));
|
|
74
74
|
}
|
|
75
75
|
}
|
|
76
76
|
exports.OperationHandlerTestCaseFinallyConfiguration = OperationHandlerTestCaseFinallyConfiguration;
|
|
@@ -109,7 +109,7 @@ class OperationHandlerTestCaseGivenConfiguration {
|
|
|
109
109
|
return new OperationHandlerTestCaseWhenConfiguration(this.description, this.auth, this.testContext, givenFunction);
|
|
110
110
|
}
|
|
111
111
|
givenNoContext() {
|
|
112
|
-
return this.given(() => Promise.resolve(
|
|
112
|
+
return this.given(() => Promise.resolve(OperationHandler_1.OperationHandlerResult.success({})));
|
|
113
113
|
}
|
|
114
114
|
}
|
|
115
115
|
exports.OperationHandlerTestCaseGivenConfiguration = OperationHandlerTestCaseGivenConfiguration;
|
|
@@ -126,7 +126,7 @@ class OperationHandlerTestCaseAuthConfiguration {
|
|
|
126
126
|
return new OperationHandlerTestCaseWhenConfiguration(this.description, this.defaultAuth, this.testContext, givenFunction);
|
|
127
127
|
}
|
|
128
128
|
givenNoContext() {
|
|
129
|
-
return this.given(() => Promise.resolve(
|
|
129
|
+
return this.given(() => Promise.resolve(OperationHandler_1.OperationHandlerResult.success({})));
|
|
130
130
|
}
|
|
131
131
|
}
|
|
132
132
|
exports.OperationHandlerTestCaseAuthConfiguration = OperationHandlerTestCaseAuthConfiguration;
|
|
@@ -166,7 +166,7 @@ class OperationHandlerTestAfterAllConfiguration {
|
|
|
166
166
|
return new OperationHandlerTest(this.handlerReference, this.auth, this.beforeAllFunction, this.testCaseFactories, afterAllFunction);
|
|
167
167
|
}
|
|
168
168
|
nothingAfterAll() {
|
|
169
|
-
return this.afterAll(() => Promise.resolve(
|
|
169
|
+
return this.afterAll(() => Promise.resolve(OperationHandler_1.OperationHandlerResult.success(undefined)));
|
|
170
170
|
}
|
|
171
171
|
}
|
|
172
172
|
exports.OperationHandlerTestAfterAllConfiguration = OperationHandlerTestAfterAllConfiguration;
|
|
@@ -191,7 +191,7 @@ class OperationHandlerTestBeforeAllConfiguration {
|
|
|
191
191
|
return new OperationHandlerTestMandatoryTestCaseConfiguration(this.handlerReference, this.auth, beforeAllFunction);
|
|
192
192
|
}
|
|
193
193
|
nothingBeforeAll() {
|
|
194
|
-
return this.beforeAll(() => Promise.resolve(
|
|
194
|
+
return this.beforeAll(() => Promise.resolve(OperationHandler_1.OperationHandlerResult.success({})));
|
|
195
195
|
}
|
|
196
196
|
}
|
|
197
197
|
exports.OperationHandlerTestBeforeAllConfiguration = OperationHandlerTestBeforeAllConfiguration;
|
package/package.json
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@trayio/cdk-dsl",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"description": "A DSL for connector development",
|
|
5
5
|
"exports": {
|
|
6
6
|
"./*": "./dist/*.js"
|
|
7
7
|
},
|
|
8
8
|
"author": "Tray.io",
|
|
9
9
|
"license": "MIT",
|
|
10
|
+
"engines": {
|
|
11
|
+
"node": ">=18.x"
|
|
12
|
+
},
|
|
10
13
|
"publishConfig": {
|
|
11
14
|
"access": "public"
|
|
12
15
|
},
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OperationHandlerReference.d.ts","sourceRoot":"","sources":["../../../src/connector/operation/OperationHandlerReference.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,yBAAyB,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,IAAI;IACtD,IAAI,EAAE,MAAM,CAAC;CACb,CAAC"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import * as E from 'fp-ts/Either';
|
|
2
|
-
export type OperationHandlerFailure = {
|
|
3
|
-
readonly _tag: 'OperationHandlerFailure';
|
|
4
|
-
readonly isSuccess: false;
|
|
5
|
-
readonly isFailure: true;
|
|
6
|
-
readonly error: string;
|
|
7
|
-
};
|
|
8
|
-
export type OperationHandlerSuccess<T> = {
|
|
9
|
-
readonly _tag: 'OperationHandlerSuccess';
|
|
10
|
-
readonly isSuccess: true;
|
|
11
|
-
readonly isFailure: false;
|
|
12
|
-
readonly value: T;
|
|
13
|
-
};
|
|
14
|
-
export type OperationHandlerResult<T> = OperationHandlerFailure | OperationHandlerSuccess<T>;
|
|
15
|
-
export interface OperationHandlerResultInterface {
|
|
16
|
-
success: <T>(value: T) => OperationHandlerResult<T>;
|
|
17
|
-
failure: <T>(error: string) => OperationHandlerResult<T>;
|
|
18
|
-
getSuccessfulValueOrFail: <T>(result: OperationHandlerResult<T>) => T;
|
|
19
|
-
map: <T, R>(result: OperationHandlerResult<T>, mapping: (value: T) => R) => OperationHandlerResult<R>;
|
|
20
|
-
}
|
|
21
|
-
export declare const OperationHandlerResult: OperationHandlerResultInterface;
|
|
22
|
-
export interface OperationHandlerResultInternalInterface {
|
|
23
|
-
fromEitherWithSimpleError: <T>(either: E.Either<Error, T>) => OperationHandlerResult<T>;
|
|
24
|
-
fromEitherWithSimpleErrorAndUnknown: <T>(either: E.Either<Error, unknown>) => OperationHandlerResult<T>;
|
|
25
|
-
}
|
|
26
|
-
export declare const OperationHandlerResultInternal: OperationHandlerResultInternalInterface;
|
|
27
|
-
//# sourceMappingURL=OperationHandlerResult.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OperationHandlerResult.d.ts","sourceRoot":"","sources":["../../../src/connector/operation/OperationHandlerResult.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAElC,MAAM,MAAM,uBAAuB,GAAG;IACrC,QAAQ,CAAC,IAAI,EAAE,yBAAyB,CAAC;IACzC,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,uBAAuB,CAAC,CAAC,IAAI;IACxC,QAAQ,CAAC,IAAI,EAAE,yBAAyB,CAAC;IACzC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,sBAAsB,CAAC,CAAC,IACjC,uBAAuB,GACvB,uBAAuB,CAAC,CAAC,CAAC,CAAC;AAE9B,MAAM,WAAW,+BAA+B;IAC/C,OAAO,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,sBAAsB,CAAC,CAAC,CAAC,CAAC;IACpD,OAAO,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,sBAAsB,CAAC,CAAC,CAAC,CAAC;IACzD,wBAAwB,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,sBAAsB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACtE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EACT,MAAM,EAAE,sBAAsB,CAAC,CAAC,CAAC,EACjC,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,KACpB,sBAAsB,CAAC,CAAC,CAAC,CAAC;CAC/B;AAED,eAAO,MAAM,sBAAsB,EAAE,+BAgCpC,CAAC;AAEF,MAAM,WAAW,uCAAuC;IACvD,yBAAyB,EAAE,CAAC,CAAC,EAC5B,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,KACtB,sBAAsB,CAAC,CAAC,CAAC,CAAC;IAC/B,mCAAmC,EAAE,CAAC,CAAC,EACtC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,KAC5B,sBAAsB,CAAC,CAAC,CAAC,CAAC;CAC/B;AAED,eAAO,MAAM,8BAA8B,EAAE,uCAiB3C,CAAC"}
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.OperationHandlerResultInternal = exports.OperationHandlerResult = void 0;
|
|
27
|
-
const E = __importStar(require("fp-ts/Either"));
|
|
28
|
-
exports.OperationHandlerResult = {
|
|
29
|
-
success: (value) => ({
|
|
30
|
-
_tag: 'OperationHandlerSuccess',
|
|
31
|
-
isSuccess: true,
|
|
32
|
-
isFailure: false,
|
|
33
|
-
value,
|
|
34
|
-
}),
|
|
35
|
-
failure: (error) => ({
|
|
36
|
-
_tag: 'OperationHandlerFailure',
|
|
37
|
-
isSuccess: false,
|
|
38
|
-
isFailure: true,
|
|
39
|
-
error,
|
|
40
|
-
}),
|
|
41
|
-
getSuccessfulValueOrFail(result) {
|
|
42
|
-
switch (result.isSuccess) {
|
|
43
|
-
case true:
|
|
44
|
-
return result.value;
|
|
45
|
-
case false:
|
|
46
|
-
throw new Error(result.error);
|
|
47
|
-
}
|
|
48
|
-
},
|
|
49
|
-
map: (result, mapping) => {
|
|
50
|
-
switch (result.isSuccess) {
|
|
51
|
-
case true:
|
|
52
|
-
return exports.OperationHandlerResult.success(mapping(result.value));
|
|
53
|
-
case false:
|
|
54
|
-
return exports.OperationHandlerResult.failure(result.error);
|
|
55
|
-
}
|
|
56
|
-
},
|
|
57
|
-
};
|
|
58
|
-
exports.OperationHandlerResultInternal = {
|
|
59
|
-
fromEitherWithSimpleError: (either) => E.match((error) => exports.OperationHandlerResult.failure(error.message), (value) => exports.OperationHandlerResult.success(value))(either),
|
|
60
|
-
fromEitherWithSimpleErrorAndUnknown: (either) => E.match((error) => exports.OperationHandlerResult.failure(error.message), (value) => exports.OperationHandlerResult.success(value))(either),
|
|
61
|
-
};
|