chainflow 0.1.4 → 0.1.6
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/README.md +16 -7
- package/dist/core/chainflow.d.ts +6 -13
- package/dist/core/chainflow.js +3 -2
- package/dist/core/chainflow.js.map +1 -1
- package/dist/core/inputNode.d.ts +1 -1
- package/dist/core/inputNode.js +13 -13
- package/dist/core/inputNode.js.map +1 -1
- package/dist/core/utils/link.d.ts +2 -2
- package/dist/http/endpoint.d.ts +13 -3
- package/dist/http/endpoint.js +11 -1
- package/dist/http/endpoint.js.map +1 -1
- package/dist/http/utils/client.d.ts +1 -0
- package/dist/http/utils/client.js +2 -1
- package/dist/http/utils/client.js.map +1 -1
- package/package.json +5 -3
package/README.md
CHANGED
|
@@ -6,8 +6,9 @@
|
|
|
6
6
|
|
|
7
7
|
[](https://www.npmjs.com/package/chainflow)
|
|
8
8
|
|
|
9
|
-
[](https://github.com/edwinlzs/chainflow/actions)
|
|
10
10
|
|
|
11
|
+
[](https://codecov.io/gh/edwinlzs/chainflow)
|
|
11
12
|
</div>
|
|
12
13
|
|
|
13
14
|
## Not Released Yet
|
|
@@ -16,7 +17,7 @@ Hi! If you are here, you're a bit early. I'm still setting up some stuff for the
|
|
|
16
17
|
|
|
17
18
|
## Documentation
|
|
18
19
|
|
|
19
|
-
Read the guides over at
|
|
20
|
+
Read the guides over at [Chainflow Docs](https://edwinlzs.github.io/chainflow-docs/) to get started!
|
|
20
21
|
|
|
21
22
|
## Use Cases
|
|
22
23
|
|
|
@@ -101,6 +102,14 @@ The above setup will result in the following API calls:
|
|
|
101
102
|
|
|
102
103
|
## More Features
|
|
103
104
|
|
|
105
|
+
### Query params
|
|
106
|
+
|
|
107
|
+
Define query params with the `query` method on an endpoint.
|
|
108
|
+
|
|
109
|
+
```typescript
|
|
110
|
+
const getUsersInGroup = origin.get('/user').query({ groupId: 'some-id' });
|
|
111
|
+
```
|
|
112
|
+
|
|
104
113
|
### Path params
|
|
105
114
|
|
|
106
115
|
Define path params by wrapping a param name with `{}` in the endpoint path.
|
|
@@ -109,12 +118,12 @@ Define path params by wrapping a param name with `{}` in the endpoint path.
|
|
|
109
118
|
const getGroupsWithUser = origin.get('/groups/{userId}');
|
|
110
119
|
```
|
|
111
120
|
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
Define query params with the `query` method on an endpoint.
|
|
121
|
+
You can specify values for your path params by calling `pathParams`. Note that path params which do not actually exist in the path will be discarded.
|
|
115
122
|
|
|
116
123
|
```typescript
|
|
117
|
-
const
|
|
124
|
+
const getGroupsWithUser = origin.get('/groups/{userId}').pathParams({
|
|
125
|
+
userId: 'user123',
|
|
126
|
+
});
|
|
118
127
|
```
|
|
119
128
|
|
|
120
129
|
### Headers
|
|
@@ -164,7 +173,7 @@ const createUser = origin.post('/user').body({
|
|
|
164
173
|
|
|
165
174
|
### `link`
|
|
166
175
|
|
|
167
|
-
You can use the `link` function to specify a callback to transform the response value before it is passed to the node.
|
|
176
|
+
You can use the `link` function to specify a callback to transform the response value before it is passed to the input node.
|
|
168
177
|
|
|
169
178
|
```typescript
|
|
170
179
|
const addGreeting = (name: string) => `Hello ${name}`;
|
package/dist/core/chainflow.d.ts
CHANGED
|
@@ -2,20 +2,12 @@ import { SourceValues } from './inputNode';
|
|
|
2
2
|
import { IStore } from './store';
|
|
3
3
|
export interface CallResult {
|
|
4
4
|
resp: any;
|
|
5
|
-
store
|
|
5
|
+
store?: IStore<unknown>;
|
|
6
6
|
}
|
|
7
7
|
/** Defines an endpoint that a chainflow can call upon. */
|
|
8
|
-
export interface IEndpoint {
|
|
8
|
+
export interface IEndpoint<T> {
|
|
9
9
|
hash: string;
|
|
10
|
-
call: (sources: SourceValues, opts?:
|
|
11
|
-
}
|
|
12
|
-
/** Options for configuring an endpoint call.
|
|
13
|
-
* @todo to decouple from chainflow in future versions. */
|
|
14
|
-
export interface CallOpts {
|
|
15
|
-
headers?: Record<string, string>;
|
|
16
|
-
query?: Record<string, string>;
|
|
17
|
-
pathParams?: Record<string, string>;
|
|
18
|
-
body?: Record<string, any>;
|
|
10
|
+
call: (sources: SourceValues, opts?: T) => Promise<CallResult>;
|
|
19
11
|
}
|
|
20
12
|
/** Special object used to link an InputNode to a chainflow seed. */
|
|
21
13
|
export declare const seed: import("./sourceNode").SourceNode;
|
|
@@ -28,7 +20,7 @@ export declare class Chainflow {
|
|
|
28
20
|
/** Adds a seed to this chainflow. */
|
|
29
21
|
seed(seed: Record<string, any>): this;
|
|
30
22
|
/** Adds an endpoint call to the callchain. */
|
|
31
|
-
call(endpoint: IEndpoint
|
|
23
|
+
call<T>(endpoint: IEndpoint<T>, opts?: T): this;
|
|
32
24
|
/** Resets the chainflow's state by clearing its accumulated sources. */
|
|
33
25
|
reset(): void;
|
|
34
26
|
/** Creates a clone of this chainflow's callqueue and initial sources
|
|
@@ -39,6 +31,7 @@ export declare class Chainflow {
|
|
|
39
31
|
/** Causes this chainflow to continue from the state of
|
|
40
32
|
* sources values of another chainflow. */
|
|
41
33
|
continuesFrom(cf: Chainflow): this;
|
|
42
|
-
/** @todo Returns the accumulated responses of this chainflow. */
|
|
34
|
+
/** @todo Returns the accumulated responses of this chainflow. */
|
|
35
|
+
responses(): void;
|
|
43
36
|
}
|
|
44
37
|
export declare const chainflow: () => Chainflow;
|
package/dist/core/chainflow.js
CHANGED
|
@@ -56,7 +56,7 @@ class Chainflow {
|
|
|
56
56
|
(0, logger_1.log)(`Calling endpoint with hash "${hash}"`);
|
|
57
57
|
try {
|
|
58
58
|
const { resp, store } = yield endpoint.call(__classPrivateFieldGet(this, _Chainflow_sources, "f"), opts);
|
|
59
|
-
if (Object.keys(store).length > 0)
|
|
59
|
+
if (store && Object.keys(store).length > 0)
|
|
60
60
|
__classPrivateFieldGet(this, _Chainflow_sources, "f")[constants_1.STORE_HASH][0] = deepmerge(__classPrivateFieldGet(this, _Chainflow_sources, "f")[constants_1.STORE_HASH][0], store);
|
|
61
61
|
__classPrivateFieldGet(this, _Chainflow_sources, "f")[hash] = [resp];
|
|
62
62
|
}
|
|
@@ -102,7 +102,8 @@ class Chainflow {
|
|
|
102
102
|
__classPrivateFieldSet(this, _Chainflow_initSources, Object.assign(Object.assign({}, __classPrivateFieldGet(this, _Chainflow_initSources, "f")), __classPrivateFieldGet(cf, _Chainflow_sources, "f")), "f");
|
|
103
103
|
return this;
|
|
104
104
|
}
|
|
105
|
-
/** @todo Returns the accumulated responses of this chainflow. */
|
|
105
|
+
/** @todo Returns the accumulated responses of this chainflow. */
|
|
106
|
+
responses() { }
|
|
106
107
|
}
|
|
107
108
|
exports.Chainflow = Chainflow;
|
|
108
109
|
_Chainflow_sources = new WeakMap(), _Chainflow_initSources = new WeakMap(), _Chainflow_callqueue = new WeakMap();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chainflow.js","sourceRoot":"","sources":["../../src/core/chainflow.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,6CAA0C;AAC1C,mEAAgD;AAEhD,qCAAqC;AACrC,iDAA0D;AAE1D,MAAM,SAAS,GAAG,IAAA,mBAAc,GAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"chainflow.js","sourceRoot":"","sources":["../../src/core/chainflow.ts"],"names":[],"mappings":"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"}
|
package/dist/core/inputNode.d.ts
CHANGED
|
@@ -19,7 +19,7 @@ export declare class InputNode {
|
|
|
19
19
|
constructor(val: any);
|
|
20
20
|
/** Sets a source node for this input node. */
|
|
21
21
|
[setSource](source: SourceNode, callback?: (val: any) => any): void;
|
|
22
|
-
/** Sets multiple source nodes to be
|
|
22
|
+
/** Sets multiple source nodes to be merged into a single value for this input node */
|
|
23
23
|
[setSources](sources: SourceNode[] | {
|
|
24
24
|
[key: string]: SourceNode;
|
|
25
25
|
}, callback?: (val: any) => any): void;
|
package/dist/core/inputNode.js
CHANGED
|
@@ -10,7 +10,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
10
10
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
11
11
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
12
12
|
};
|
|
13
|
-
var _InputNode_instances, _InputNode_isKvObject, _InputNode_default, _InputNode_required, _InputNode_sources, _InputNode_generator, _InputNode_matchSourceHash, _InputNode_accessSource, _InputNode_getSingleSourceNodeValue,
|
|
13
|
+
var _InputNode_instances, _InputNode_isKvObject, _InputNode_default, _InputNode_required, _InputNode_sources, _InputNode_generator, _InputNode_matchSourceHash, _InputNode_accessSource, _InputNode_getSingleSourceNodeValue, _InputNode_getMergeSourceNodeValues;
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.InputNode = exports.NODE_VALUE = void 0;
|
|
16
16
|
const symbols_1 = require("./utils/symbols");
|
|
@@ -82,7 +82,7 @@ class InputNode {
|
|
|
82
82
|
callback,
|
|
83
83
|
};
|
|
84
84
|
}
|
|
85
|
-
/** Sets multiple source nodes to be
|
|
85
|
+
/** Sets multiple source nodes to be merged into a single value for this input node */
|
|
86
86
|
[symbols_1.setSources](sources, callback) {
|
|
87
87
|
const hashes = new Set();
|
|
88
88
|
let accessInfo;
|
|
@@ -126,10 +126,10 @@ class InputNode {
|
|
|
126
126
|
const source = __classPrivateFieldGet(this, _InputNode_sources, "f")[sourceHash];
|
|
127
127
|
let sourceVal;
|
|
128
128
|
if ('accessInfo' in source) {
|
|
129
|
-
sourceVal = __classPrivateFieldGet(this, _InputNode_instances, "m",
|
|
129
|
+
sourceVal = __classPrivateFieldGet(this, _InputNode_instances, "m", _InputNode_getMergeSourceNodeValues).call(this, source, sourceValues);
|
|
130
130
|
}
|
|
131
131
|
else {
|
|
132
|
-
sourceVal = __classPrivateFieldGet(this, _InputNode_instances, "m", _InputNode_getSingleSourceNodeValue).call(this, sourceHash, source.path, sourceValues
|
|
132
|
+
sourceVal = __classPrivateFieldGet(this, _InputNode_instances, "m", _InputNode_getSingleSourceNodeValue).call(this, sourceHash, source.path, sourceValues);
|
|
133
133
|
}
|
|
134
134
|
if (sourceVal !== undefined || ('allowUndefined' in source && source.allowUndefined)) {
|
|
135
135
|
return source.callback ? source.callback(sourceVal) : sourceVal;
|
|
@@ -180,26 +180,26 @@ _InputNode_matchSourceHash = function _InputNode_matchSourceHash(sourceValues, u
|
|
|
180
180
|
}
|
|
181
181
|
return availSourceHashes.includes(hash) && !usedSources.includes(hash);
|
|
182
182
|
});
|
|
183
|
-
}, _InputNode_accessSource = function _InputNode_accessSource(payload, path
|
|
183
|
+
}, _InputNode_accessSource = function _InputNode_accessSource(payload, path) {
|
|
184
184
|
let sourceVal = payload;
|
|
185
185
|
let i = 0;
|
|
186
186
|
while (i < path.length) {
|
|
187
|
-
//
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
187
|
+
// still in the process of walking the path to the actual
|
|
188
|
+
// source value, hence current sourceVal should be an object
|
|
189
|
+
// However, `typeof null` returns 'object'
|
|
190
|
+
// hence the 2nd condition checks against `null`
|
|
191
|
+
if (typeof sourceVal !== 'object' || sourceVal == null)
|
|
191
192
|
return;
|
|
192
|
-
}
|
|
193
193
|
const accessor = path[i];
|
|
194
194
|
sourceVal = sourceVal[accessor];
|
|
195
195
|
i += 1;
|
|
196
196
|
}
|
|
197
197
|
return sourceVal;
|
|
198
|
-
}, _InputNode_getSingleSourceNodeValue = function _InputNode_getSingleSourceNodeValue(hash, path, sourceValues
|
|
198
|
+
}, _InputNode_getSingleSourceNodeValue = function _InputNode_getSingleSourceNodeValue(hash, path, sourceValues) {
|
|
199
199
|
const sourceObject = sourceValues[hash][0];
|
|
200
200
|
// get value from a linked source
|
|
201
|
-
return __classPrivateFieldGet(this, _InputNode_instances, "m", _InputNode_accessSource).call(this, sourceObject, path
|
|
202
|
-
},
|
|
201
|
+
return __classPrivateFieldGet(this, _InputNode_instances, "m", _InputNode_accessSource).call(this, sourceObject, path);
|
|
202
|
+
}, _InputNode_getMergeSourceNodeValues = function _InputNode_getMergeSourceNodeValues(sources, sourceValues) {
|
|
203
203
|
let sourceVals;
|
|
204
204
|
sources.isArray ? (sourceVals = []) : (sourceVals = {});
|
|
205
205
|
for (const info of sources.accessInfo) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inputNode.js","sourceRoot":"","sources":["../../src/core/inputNode.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,6CAQyB;AAEzB,IAAY,UAMX;AAND,WAAY,UAAU;IACpB,qDAAS,CAAA;IACT,mDAAQ,CAAA;IACR,+CAAM,CAAA;IACN,2EAAoB,CAAA;IACpB,yFAA2B,CAAA;AAC7B,CAAC,EANW,UAAU,0BAAV,UAAU,QAMrB;AAiCD,oDAAoD;AACpD,MAAa,SAAS;IAcpB,YAAY,GAAQ;;QAXpB,+EAA+E;QAC/E,gCAAuB,KAAK,EAAC;QAC7B,iCAAiC;QACjC,qCAAc;QACd,+DAA+D;QAC/D,8BAAqB,KAAK,EAAC;QAC3B,mEAAmE;QACnE,6BAAuD,EAAE,EAAC;QAC1D,qEAAqE;QACrE,uCAAoC;QAGlC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;YAChB,uBAAA,IAAI,sBAAY,GAAG,MAAA,CAAC;YACpB,OAAO;QACT,CAAC;QAED,QAAQ,GAAG,CAAC,6BAAmB,CAAC,EAAE,CAAC;YACjC,KAAK,UAAU,CAAC,SAAS;gBACvB,uBAAA,IAAI,wBAAc,GAAG,CAAC,SAAS,MAAA,CAAC;gBAChC,OAAO;YACT,KAAK,UAAU,CAAC,QAAQ;gBACtB,uBAAA,IAAI,uBAAa,IAAI,MAAA,CAAC;gBACtB,OAAO;YACT,KAAK,UAAU,CAAC,MAAM;gBACpB,IAAI,CAAC,mBAAS,CAAC,CAAC,GAAG,CAAC,CAAC;gBACrB,OAAO;YACT,KAAK,UAAU,CAAC,oBAAoB,CAAC,qCAAqC;gBACxE,IAAI,CAAC,mBAAS,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAC1C,OAAO;YACT,KAAK,UAAU,CAAC,2BAA2B;gBACzC,IAAI,CAAC,oBAAU,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAC5C,OAAO;QACX,CAAC;QAED,QAAQ,OAAO,GAAG,EAAE,CAAC;YACnB,KAAK,QAAQ;gBACX,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;oBACvB,uDAAuD;oBACvD,uBAAA,IAAI,sBAAY,GAAG,MAAA,CAAC;oBACpB,MAAM;gBACR,CAAC;gBAED,uBAAA,IAAI,yBAAe,IAAI,MAAA,CAAC;gBACxB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE;oBACxC,IAAY,CAAC,GAAG,CAAC,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC;gBAC1C,CAAC,CAAC,CAAC;gBACH,MAAM;YACR;gBACE,uBAAA,IAAI,sBAAY,GAAG,MAAA,CAAC;gBACpB,MAAM;QACV,CAAC;IACH,CAAC;IAED,8CAA8C;IAC9C,kOAAC,mBAAS,EAAC,CAAC,MAAkB,EAAE,QAA4B;QAC1D,uBAAA,IAAI,0BAAS,CAAC,MAAM,CAAC,kBAAQ,CAAC,CAAC,GAAG;YAChC,IAAI,EAAE,MAAM,CAAC,kBAAQ,CAAC;YACtB,cAAc,EAAE,MAAM,CAAC,wBAAc,CAAC;YACtC,QAAQ;SACT,CAAC;IACJ,CAAC;IAED,
|
|
1
|
+
{"version":3,"file":"inputNode.js","sourceRoot":"","sources":["../../src/core/inputNode.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { InputNode, NODE_VALUE } from '../inputNode';
|
|
2
2
|
import { nodeValueIdentifier } from './symbols';
|
|
3
3
|
import { SourceNode } from '../sourceNode';
|
|
4
|
-
interface SourceInfo {
|
|
4
|
+
export interface SourceInfo {
|
|
5
5
|
[nodeValueIdentifier]: NODE_VALUE;
|
|
6
6
|
source: SourceNode;
|
|
7
7
|
callback: ((val: any) => any) | undefined;
|
|
@@ -23,7 +23,7 @@ interface Link {
|
|
|
23
23
|
(dest: InputNode, source: SourceNode, callback?: (val: any) => any): void;
|
|
24
24
|
}
|
|
25
25
|
export declare const link: Link;
|
|
26
|
-
interface MergeSourcesInfo {
|
|
26
|
+
export interface MergeSourcesInfo {
|
|
27
27
|
[nodeValueIdentifier]: NODE_VALUE;
|
|
28
28
|
sources: SourceNode[];
|
|
29
29
|
callback: ((val: any) => any) | undefined;
|
package/dist/http/endpoint.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { InputNode, SourceValues, NODE_VALUE } from '../core/inputNode';
|
|
2
2
|
import { Dispatcher } from 'undici';
|
|
3
|
-
import {
|
|
3
|
+
import { CallResult, IEndpoint } from '../core/chainflow';
|
|
4
4
|
import { SourceNode } from '../core/sourceNode';
|
|
5
5
|
import { nodeValueIdentifier } from '../core/utils/symbols';
|
|
6
6
|
import { IStore } from '../core/store';
|
|
7
7
|
import { SUPPORTED_METHOD } from './utils/constants';
|
|
8
|
+
import { MergeSourcesInfo, SourceInfo } from '../core/utils/link';
|
|
8
9
|
export interface INodeWithValue {
|
|
9
10
|
[nodeValueIdentifier]: NODE_VALUE;
|
|
10
11
|
}
|
|
@@ -33,11 +34,18 @@ export declare enum RESP_PARSER {
|
|
|
33
34
|
JSON = "json",
|
|
34
35
|
TEXT = "text"
|
|
35
36
|
}
|
|
37
|
+
/** Options for configuring an endpoint call. */
|
|
38
|
+
export interface HTTPCallOpts {
|
|
39
|
+
headers?: Record<string, string>;
|
|
40
|
+
query?: Record<string, string>;
|
|
41
|
+
pathParams?: Record<string, string>;
|
|
42
|
+
body?: Record<string, any>;
|
|
43
|
+
}
|
|
36
44
|
/**
|
|
37
45
|
* Manages request and response nodes,
|
|
38
46
|
* as well as calls to that endpoint
|
|
39
47
|
*/
|
|
40
|
-
export declare class Endpoint implements IEndpoint {
|
|
48
|
+
export declare class Endpoint implements IEndpoint<HTTPCallOpts> {
|
|
41
49
|
#private;
|
|
42
50
|
/** A hash that uniquely identifies this endpoint. */
|
|
43
51
|
hash: string;
|
|
@@ -56,12 +64,14 @@ export declare class Endpoint implements IEndpoint {
|
|
|
56
64
|
query(params: any): this;
|
|
57
65
|
/** Sets custom headers for requests. */
|
|
58
66
|
headers(params: Record<string, string | INodeWithValue | undefined>): this;
|
|
67
|
+
/** Sets the path params (if they exist in the URL). */
|
|
68
|
+
pathParams(params: Record<string, string | SourceNode | SourceInfo | MergeSourcesInfo>): this;
|
|
59
69
|
/** Sets headers provided by the originServer object. */
|
|
60
70
|
baseHeaders(node: InputNode): this;
|
|
61
71
|
/** Declare values to store from responses to this endpoint. */
|
|
62
72
|
store(callback: (resp: SourceNode) => IStore<SourceNode>): this;
|
|
63
73
|
/** Calls this endpoint with responses provided from earlier requests in the chain. */
|
|
64
|
-
call(responses: SourceValues, opts?:
|
|
74
|
+
call(responses: SourceValues, opts?: HTTPCallOpts): Promise<CallResult>;
|
|
65
75
|
/** Passes the request input nodes of this endpoint to a callback. */
|
|
66
76
|
set(setter: (nodes: HttpInputNodes) => void): this;
|
|
67
77
|
}
|
package/dist/http/endpoint.js
CHANGED
|
@@ -99,6 +99,16 @@ class Endpoint {
|
|
|
99
99
|
__classPrivateFieldGet(this, _Endpoint_req, "f").headers = params;
|
|
100
100
|
return this;
|
|
101
101
|
}
|
|
102
|
+
/** Sets the path params (if they exist in the URL). */
|
|
103
|
+
pathParams(params) {
|
|
104
|
+
const pathParamKeys = Object.keys(__classPrivateFieldGet(this, _Endpoint_req, "f").pathParams);
|
|
105
|
+
Object.entries(params).forEach(([key, val]) => {
|
|
106
|
+
if (pathParamKeys.includes(key)) {
|
|
107
|
+
__classPrivateFieldGet(this, _Endpoint_req, "f").pathParams[key] = new inputNode_1.InputNode(val);
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
return this;
|
|
111
|
+
}
|
|
102
112
|
/** Sets headers provided by the originServer object. */
|
|
103
113
|
baseHeaders(node) {
|
|
104
114
|
__classPrivateFieldGet(this, _Endpoint_req, "f").baseHeaders = node;
|
|
@@ -152,7 +162,7 @@ class Endpoint {
|
|
|
152
162
|
});
|
|
153
163
|
if (resp == null)
|
|
154
164
|
throw new errors_1.InvalidResponseError('No response received.');
|
|
155
|
-
const parsedResp = Object.assign(Object.assign({}, resp), { body: yield __classPrivateFieldGet(this, _Endpoint_instances, "m", _Endpoint_parseResponse).call(this, resp.body) });
|
|
165
|
+
const parsedResp = Object.assign(Object.assign({}, resp), { body: resp.body.body && (yield __classPrivateFieldGet(this, _Endpoint_instances, "m", _Endpoint_parseResponse).call(this, resp.body)) });
|
|
156
166
|
const results = (_c = (_b = (_a = __classPrivateFieldGet(this, _Endpoint_config, "f")).respValidator) === null || _b === void 0 ? void 0 : _b.call(_a, parsedResp)) !== null && _c !== void 0 ? _c : __classPrivateFieldGet(this, _Endpoint_instances, "m", _Endpoint_validateResp).call(this, parsedResp);
|
|
157
167
|
if (!results.valid)
|
|
158
168
|
throw new errors_1.InvalidResponseError(results.msg);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../../src/http/endpoint.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAA4C;AAC5C,iDAAwE;AACxE,6CAA0C;AAC1C,4DAAkE;AAElE,qCAIkB;AAElB,mEAAgD;AAChD,mDAA4D;AAC5D,mDAA0E;AAC1E,6DAAsD;AAEtD,yCAA8C;AAC9C,qCAAgC;AAChC,iDAAwE;
|
|
1
|
+
{"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../../src/http/endpoint.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.defaultHeaders = void 0;
|
|
13
13
|
const undici_1 = require("undici");
|
|
14
14
|
const logger_1 = require("../logger");
|
|
15
|
+
/** @todo evaluate if defaults should change */
|
|
15
16
|
exports.defaultHeaders = {
|
|
16
17
|
connection: 'keep-alive',
|
|
17
18
|
accept: '*/*',
|
|
@@ -21,7 +22,7 @@ exports.defaultHeaders = {
|
|
|
21
22
|
/** Sends a HTTP request. */
|
|
22
23
|
const request = ({ addr, path, method, body, headers, }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
23
24
|
const finalHeaders = Object.assign(Object.assign({}, exports.defaultHeaders), headers);
|
|
24
|
-
(0, logger_1.log)(`[${method}] [${addr}${path}] with headers %O${body ? ' and payload %O' : ''}`, finalHeaders, body);
|
|
25
|
+
(0, logger_1.log)(`[${method}] [${addr}${path}] with headers %O${body ? ' and payload %O' : ''}`, finalHeaders, body !== null && body !== void 0 ? body : '');
|
|
25
26
|
try {
|
|
26
27
|
const resp = yield (0, undici_1.request)(`${addr}${path}`, {
|
|
27
28
|
method,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/http/utils/client.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mCAAkD;AAClD,sCAAsC;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/http/utils/client.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mCAAkD;AAClD,sCAAsC;AAItC,+CAA+C;AAClC,QAAA,cAAc,GAAG;IAC5B,UAAU,EAAE,YAAY;IACxB,MAAM,EAAE,KAAK;IACb,cAAc,EAAE,kBAAkB;IAClC,iCAAiC;CAClC,CAAC;AAEF,4BAA4B;AAC5B,MAAM,OAAO,GAAG,CAAO,EACrB,IAAI,EACJ,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,OAAO,GAOR,EAAE,EAAE;IACH,MAAM,YAAY,mCACb,sBAAc,GACd,OAAO,CACX,CAAC;IAEF,IAAA,YAAG,EACD,IAAI,MAAM,MAAM,IAAI,GAAG,IAAI,oBAAoB,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,EAAE,EAC9E,YAAY,EACZ,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,EAAE,CACX,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,IAAA,gBAAa,EAAC,GAAG,IAAI,GAAG,IAAI,EAAE,EAAE;YACjD,MAAM;YACN,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAC1B,OAAO,EAAE,YAAY;SACtB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAA,aAAI,EAAC,mBAAmB,GAAG,EAAE,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC,CAAA,CAAC;AAEF,kBAAe,EAAE,OAAO,EAAE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "chainflow",
|
|
3
|
-
"version": "0.1.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.1.6",
|
|
4
|
+
"description": "Build dynamic and composable API workflows",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
7
|
"author": "edwinlzs (https://github.com/edwinlzs)",
|
|
@@ -44,8 +44,10 @@
|
|
|
44
44
|
"workflow",
|
|
45
45
|
"api",
|
|
46
46
|
"http",
|
|
47
|
+
"client",
|
|
47
48
|
"typescript",
|
|
48
|
-
"javascript"
|
|
49
|
+
"javascript",
|
|
50
|
+
"nodejs"
|
|
49
51
|
],
|
|
50
52
|
"scripts": {
|
|
51
53
|
"build": "tsc",
|