chainflow 0.1.3 → 0.1.5
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 +30 -10
- package/dist/core/inputNode.d.ts +6 -6
- package/dist/core/inputNode.js +19 -16
- package/dist/core/inputNode.js.map +1 -1
- package/dist/core/sourceNode.d.ts +2 -2
- package/dist/core/sourceNode.js +1 -1
- package/dist/core/sourceNode.js.map +1 -1
- package/dist/core/utils/initializers.d.ts +3 -3
- package/dist/core/utils/initializers.js +2 -2
- package/dist/core/utils/initializers.js.map +1 -1
- package/dist/core/utils/link.d.ts +5 -5
- package/dist/core/utils/link.js +2 -2
- package/dist/core/utils/link.js.map +1 -1
- package/dist/http/endpoint.d.ts +16 -9
- package/dist/http/endpoint.js +24 -14
- 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 +1 -1
package/README.md
CHANGED
|
@@ -101,6 +101,14 @@ The above setup will result in the following API calls:
|
|
|
101
101
|
|
|
102
102
|
## More Features
|
|
103
103
|
|
|
104
|
+
### Query params
|
|
105
|
+
|
|
106
|
+
Define query params with the `query` method on an endpoint.
|
|
107
|
+
|
|
108
|
+
```typescript
|
|
109
|
+
const getUsersInGroup = origin.get('/user').query({ groupId: 'some-id' });
|
|
110
|
+
```
|
|
111
|
+
|
|
104
112
|
### Path params
|
|
105
113
|
|
|
106
114
|
Define path params by wrapping a param name with `{}` in the endpoint path.
|
|
@@ -109,12 +117,12 @@ Define path params by wrapping a param name with `{}` in the endpoint path.
|
|
|
109
117
|
const getGroupsWithUser = origin.get('/groups/{userId}');
|
|
110
118
|
```
|
|
111
119
|
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
Define query params with the `query` method on an endpoint.
|
|
120
|
+
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
121
|
|
|
116
122
|
```typescript
|
|
117
|
-
const
|
|
123
|
+
const getGroupsWithUser = origin.get('/groups/{userId}').pathParams({
|
|
124
|
+
userId: 'user123',
|
|
125
|
+
});
|
|
118
126
|
```
|
|
119
127
|
|
|
120
128
|
### Headers
|
|
@@ -164,7 +172,7 @@ const createUser = origin.post('/user').body({
|
|
|
164
172
|
|
|
165
173
|
### `link`
|
|
166
174
|
|
|
167
|
-
You can use the `link` function to specify a callback to transform the response value before it is passed to the node.
|
|
175
|
+
You can use the `link` function to specify a callback to transform the response value before it is passed to the input node.
|
|
168
176
|
|
|
169
177
|
```typescript
|
|
170
178
|
const addGreeting = (name: string) => `Hello ${name}`;
|
|
@@ -355,10 +363,10 @@ flow1.extend(flow2).run(); // calls endpoint 1, 2 and 3
|
|
|
355
363
|
By default, Chainflows will parse response bodies as JSON objects. To change this, you can call `.config` to change that configuration on an `endpoint` (or on an `OriginServer`, to apply it to all endpoints created from it) like so:
|
|
356
364
|
|
|
357
365
|
```typescript
|
|
358
|
-
import {
|
|
366
|
+
import { RESP_PARSER } from 'chainflow';
|
|
359
367
|
|
|
360
368
|
const getUser = origin.get('/user').config({
|
|
361
|
-
respParser:
|
|
369
|
+
respParser: RESP_PARSER.TEXT,
|
|
362
370
|
});
|
|
363
371
|
```
|
|
364
372
|
|
|
@@ -373,17 +381,29 @@ const getUser = origin.get('/user').config({
|
|
|
373
381
|
There are 4 supported ways to parse response bodies (as provided by the underlying HTTP client, `undici`): `arrayBuffer`, `blob`, `json` and `text`.
|
|
374
382
|
|
|
375
383
|
`respValidator`
|
|
376
|
-
Another configuration option is how to validate the response to an endpoint. By default, Chainflow
|
|
384
|
+
Another configuration option is how to validate the response to an endpoint. By default, Chainflow rejects responses that have HTTP status code 400 and above and throws an error. You can pass in a custom `respValidator` to change when a response is rejected.
|
|
377
385
|
|
|
378
386
|
```typescript
|
|
379
|
-
const
|
|
387
|
+
const getUser = origin.get("/user").config({
|
|
380
388
|
respValidator: (resp) => {
|
|
381
|
-
if (resp.statusCode !== 201)
|
|
389
|
+
if (resp.statusCode !== 201)
|
|
390
|
+
return { valid: false, msg: "Failed to retrieve users." };
|
|
391
|
+
if (!Object.keys(resp.body as Record<string, unknown>).includes("id"))
|
|
392
|
+
return { valid: false, msg: "Response did not provide user ID." };
|
|
382
393
|
return { valid: true };
|
|
383
394
|
},
|
|
384
395
|
});
|
|
385
396
|
```
|
|
386
397
|
|
|
398
|
+
Your custom validator callback should have a return type:
|
|
399
|
+
|
|
400
|
+
```typescript
|
|
401
|
+
{
|
|
402
|
+
valid: boolean; // false if response should be rejected
|
|
403
|
+
msg?: string; // error message
|
|
404
|
+
}
|
|
405
|
+
```
|
|
406
|
+
|
|
387
407
|
### `store`
|
|
388
408
|
|
|
389
409
|
Instead of direct links between endpoints, you can use a central store to keep values from some endpoints and have other endpoints take from it via the special `store` object.
|
package/dist/core/inputNode.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { SourceNode } from './sourceNode';
|
|
2
2
|
import { getNodeValue, setSource, setSources } from './utils/symbols';
|
|
3
|
-
export declare enum
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
3
|
+
export declare enum NODE_VALUE {
|
|
4
|
+
GENERATOR = 0,
|
|
5
|
+
REQUIRED = 1,
|
|
6
|
+
SOURCE = 2,
|
|
7
|
+
SOURCE_WITH_CALLBACK = 3,
|
|
8
|
+
MERGE_SOURCES_WITH_CALLBACK = 4
|
|
9
9
|
}
|
|
10
10
|
type SourceValue = any;
|
|
11
11
|
export type SourceValues = {
|
package/dist/core/inputNode.js
CHANGED
|
@@ -12,16 +12,16 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
12
12
|
};
|
|
13
13
|
var _InputNode_instances, _InputNode_isKvObject, _InputNode_default, _InputNode_required, _InputNode_sources, _InputNode_generator, _InputNode_matchSourceHash, _InputNode_accessSource, _InputNode_getSingleSourceNodeValue, _InputNode_getMultiSourceNodeValues;
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.InputNode = exports.
|
|
15
|
+
exports.InputNode = exports.NODE_VALUE = void 0;
|
|
16
16
|
const symbols_1 = require("./utils/symbols");
|
|
17
|
-
var
|
|
18
|
-
(function (
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
})(
|
|
17
|
+
var NODE_VALUE;
|
|
18
|
+
(function (NODE_VALUE) {
|
|
19
|
+
NODE_VALUE[NODE_VALUE["GENERATOR"] = 0] = "GENERATOR";
|
|
20
|
+
NODE_VALUE[NODE_VALUE["REQUIRED"] = 1] = "REQUIRED";
|
|
21
|
+
NODE_VALUE[NODE_VALUE["SOURCE"] = 2] = "SOURCE";
|
|
22
|
+
NODE_VALUE[NODE_VALUE["SOURCE_WITH_CALLBACK"] = 3] = "SOURCE_WITH_CALLBACK";
|
|
23
|
+
NODE_VALUE[NODE_VALUE["MERGE_SOURCES_WITH_CALLBACK"] = 4] = "MERGE_SOURCES_WITH_CALLBACK";
|
|
24
|
+
})(NODE_VALUE || (exports.NODE_VALUE = NODE_VALUE = {}));
|
|
25
25
|
/** A data node for constructing an input object. */
|
|
26
26
|
class InputNode {
|
|
27
27
|
constructor(val) {
|
|
@@ -41,19 +41,19 @@ class InputNode {
|
|
|
41
41
|
return;
|
|
42
42
|
}
|
|
43
43
|
switch (val[symbols_1.nodeValueIdentifier]) {
|
|
44
|
-
case
|
|
44
|
+
case NODE_VALUE.GENERATOR:
|
|
45
45
|
__classPrivateFieldSet(this, _InputNode_generator, val.generator, "f");
|
|
46
46
|
return;
|
|
47
|
-
case
|
|
47
|
+
case NODE_VALUE.REQUIRED:
|
|
48
48
|
__classPrivateFieldSet(this, _InputNode_required, true, "f");
|
|
49
49
|
return;
|
|
50
|
-
case
|
|
50
|
+
case NODE_VALUE.SOURCE:
|
|
51
51
|
this[symbols_1.setSource](val);
|
|
52
52
|
return;
|
|
53
|
-
case
|
|
53
|
+
case NODE_VALUE.SOURCE_WITH_CALLBACK /** @todo explore refactoring here */:
|
|
54
54
|
this[symbols_1.setSource](val.source, val.callback);
|
|
55
55
|
return;
|
|
56
|
-
case
|
|
56
|
+
case NODE_VALUE.MERGE_SOURCES_WITH_CALLBACK:
|
|
57
57
|
this[symbols_1.setSources](val.sources, val.callback);
|
|
58
58
|
return;
|
|
59
59
|
}
|
|
@@ -184,8 +184,11 @@ _InputNode_matchSourceHash = function _InputNode_matchSourceHash(sourceValues, u
|
|
|
184
184
|
let sourceVal = payload;
|
|
185
185
|
let i = 0;
|
|
186
186
|
while (i < path.length) {
|
|
187
|
-
//
|
|
188
|
-
|
|
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) {
|
|
189
192
|
if (allowUndefined)
|
|
190
193
|
return undefined;
|
|
191
194
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inputNode.js","sourceRoot":"","sources":["../../src/core/inputNode.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,6CAQyB;AAEzB,IAAY,
|
|
1
|
+
{"version":3,"file":"inputNode.js","sourceRoot":"","sources":["../../src/core/inputNode.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { NODE_VALUE } from './inputNode';
|
|
2
2
|
import { nodeHash, nodePath, nodeValueIdentifier, allowUndefined } from './utils/symbols';
|
|
3
3
|
/** Creates a new Source Node with the given hash. */
|
|
4
4
|
export declare const sourceNode: (hash: string) => SourceNode;
|
|
@@ -7,7 +7,7 @@ export interface SourceNode {
|
|
|
7
7
|
[nodeHash]: string;
|
|
8
8
|
[nodePath]: string[];
|
|
9
9
|
[allowUndefined]?: boolean;
|
|
10
|
-
[nodeValueIdentifier]:
|
|
10
|
+
[nodeValueIdentifier]: NODE_VALUE;
|
|
11
11
|
[key: string]: SourceNode;
|
|
12
12
|
}
|
|
13
13
|
/** An intermediate object used to contain information on the SourceNode being built. */
|
package/dist/core/sourceNode.js
CHANGED
|
@@ -17,7 +17,7 @@ exports.SourceNodeHandler = {
|
|
|
17
17
|
case symbols_1.allowUndefined:
|
|
18
18
|
return obj.allowUndefined;
|
|
19
19
|
case symbols_1.nodeValueIdentifier:
|
|
20
|
-
return inputNode_1.
|
|
20
|
+
return inputNode_1.NODE_VALUE.SOURCE;
|
|
21
21
|
default: {
|
|
22
22
|
const newPath = [...obj.path];
|
|
23
23
|
newPath.push(prop);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sourceNode.js","sourceRoot":"","sources":["../../src/core/sourceNode.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"sourceNode.js","sourceRoot":"","sources":["../../src/core/sourceNode.ts"],"names":[],"mappings":";;;AAAA,2CAAyC;AACzC,6CAA0F;AAE1F,qDAAqD;AAC9C,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,EAAE,CACzC,IAAI,KAAK,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,yBAAiB,CAA0B,CAAC;AAD/D,QAAA,UAAU,cACqD;AAkB5E,4FAA4F;AAC/E,QAAA,iBAAiB,GAAG;IAC/B,GAAG,CAAC,GAAkB,EAAE,IAAS;QAC/B,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,kBAAQ;gBACX,OAAO,GAAG,CAAC,IAAI,CAAC;YAClB,KAAK,kBAAQ;gBACX,OAAO,GAAG,CAAC,IAAI,CAAC;YAClB,KAAK,wBAAc;gBACjB,OAAO,GAAG,CAAC,cAAc,CAAC;YAC5B,KAAK,6BAAmB;gBACtB,OAAO,sBAAU,CAAC,MAAM,CAAC;YAC3B,OAAO,CAAC,CAAC,CAAC;gBACR,MAAM,OAAO,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC9B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACnB,OAAO,IAAI,KAAK,CACd;oBACE,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,cAAc,EAAE,GAAG,CAAC,cAAc;iBACnC,EACD,yBAAiB,CACO,CAAC;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;IACD,GAAG,CAAC,GAAkB,EAAE,IAAS,EAAE,GAAQ;QACzC,IAAI,IAAI,KAAK,wBAAc;YAAE,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,GAAG,CAAC,CAAC;IACjE,CAAC;CACF,CAAC"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { NODE_VALUE } from '../inputNode';
|
|
2
2
|
import { nodeValueIdentifier } from './symbols';
|
|
3
3
|
/** Provides a generator function to produce a value for an input. */
|
|
4
4
|
export declare const gen: (generator: () => any) => {
|
|
5
5
|
generator: () => any;
|
|
6
|
-
[nodeValueIdentifier]:
|
|
6
|
+
[nodeValueIdentifier]: NODE_VALUE;
|
|
7
7
|
};
|
|
8
8
|
/** Used to mark a param without a default value
|
|
9
9
|
* as required to be taken from another source. */
|
|
10
10
|
export declare const required: () => {
|
|
11
|
-
[nodeValueIdentifier]:
|
|
11
|
+
[nodeValueIdentifier]: NODE_VALUE;
|
|
12
12
|
};
|
|
@@ -6,13 +6,13 @@ const symbols_1 = require("./symbols");
|
|
|
6
6
|
/** Provides a generator function to produce a value for an input. */
|
|
7
7
|
const gen = (generator) => ({
|
|
8
8
|
generator,
|
|
9
|
-
[symbols_1.nodeValueIdentifier]: inputNode_1.
|
|
9
|
+
[symbols_1.nodeValueIdentifier]: inputNode_1.NODE_VALUE.GENERATOR,
|
|
10
10
|
});
|
|
11
11
|
exports.gen = gen;
|
|
12
12
|
/** Used to mark a param without a default value
|
|
13
13
|
* as required to be taken from another source. */
|
|
14
14
|
const required = () => ({
|
|
15
|
-
[symbols_1.nodeValueIdentifier]: inputNode_1.
|
|
15
|
+
[symbols_1.nodeValueIdentifier]: inputNode_1.NODE_VALUE.REQUIRED,
|
|
16
16
|
});
|
|
17
17
|
exports.required = required;
|
|
18
18
|
//# sourceMappingURL=initializers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initializers.js","sourceRoot":"","sources":["../../../src/core/utils/initializers.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"initializers.js","sourceRoot":"","sources":["../../../src/core/utils/initializers.ts"],"names":[],"mappings":";;;AAAA,4CAA0C;AAC1C,uCAAgD;AAEhD,qEAAqE;AAC9D,MAAM,GAAG,GAAG,CAAC,SAAoB,EAAE,EAAE,CAAC,CAAC;IAC5C,SAAS;IACT,CAAC,6BAAmB,CAAC,EAAE,sBAAU,CAAC,SAAS;CAC5C,CAAC,CAAC;AAHU,QAAA,GAAG,OAGb;AAEH;kDACkD;AAC3C,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,CAAC;IAC7B,CAAC,6BAAmB,CAAC,EAAE,sBAAU,CAAC,QAAQ;CAC3C,CAAC,CAAC;AAFU,QAAA,QAAQ,YAElB"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { InputNode,
|
|
1
|
+
import { InputNode, NODE_VALUE } from '../inputNode';
|
|
2
2
|
import { nodeValueIdentifier } from './symbols';
|
|
3
3
|
import { SourceNode } from '../sourceNode';
|
|
4
|
-
interface SourceInfo {
|
|
5
|
-
[nodeValueIdentifier]:
|
|
4
|
+
export interface SourceInfo {
|
|
5
|
+
[nodeValueIdentifier]: NODE_VALUE;
|
|
6
6
|
source: SourceNode;
|
|
7
7
|
callback: ((val: any) => any) | undefined;
|
|
8
8
|
}
|
|
@@ -23,8 +23,8 @@ 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 {
|
|
27
|
-
[nodeValueIdentifier]:
|
|
26
|
+
export interface MergeSourcesInfo {
|
|
27
|
+
[nodeValueIdentifier]: NODE_VALUE;
|
|
28
28
|
sources: SourceNode[];
|
|
29
29
|
callback: ((val: any) => any) | undefined;
|
|
30
30
|
}
|
package/dist/core/utils/link.js
CHANGED
|
@@ -7,7 +7,7 @@ exports.link = ((...args) => {
|
|
|
7
7
|
if (['function', 'undefined'].includes(typeof args[1])) {
|
|
8
8
|
const [source, callback] = args;
|
|
9
9
|
return {
|
|
10
|
-
[symbols_1.nodeValueIdentifier]: inputNode_1.
|
|
10
|
+
[symbols_1.nodeValueIdentifier]: inputNode_1.NODE_VALUE.SOURCE_WITH_CALLBACK,
|
|
11
11
|
source,
|
|
12
12
|
callback,
|
|
13
13
|
};
|
|
@@ -21,7 +21,7 @@ exports.linkMerge = ((...args) => {
|
|
|
21
21
|
if (['function', 'undefined'].includes(typeof args[1])) {
|
|
22
22
|
const [sources, callback] = args;
|
|
23
23
|
return {
|
|
24
|
-
[symbols_1.nodeValueIdentifier]: inputNode_1.
|
|
24
|
+
[symbols_1.nodeValueIdentifier]: inputNode_1.NODE_VALUE.MERGE_SOURCES_WITH_CALLBACK,
|
|
25
25
|
sources,
|
|
26
26
|
callback,
|
|
27
27
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"link.js","sourceRoot":"","sources":["../../../src/core/utils/link.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"link.js","sourceRoot":"","sources":["../../../src/core/utils/link.ts"],"names":[],"mappings":";;;AAAA,4CAAqD;AACrD,uCAAuE;AA0B1D,QAAA,IAAI,GAAS,CAAC,CAAC,GAAG,IAAsB,EAAE,EAAE;IACvD,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,IAA8D,CAAC;QAC1F,OAAO;YACL,CAAC,6BAAmB,CAAC,EAAE,sBAAU,CAAC,oBAAoB;YACtD,MAAM;YACN,QAAQ;SACT,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,GAAG,IAAkD,CAAC;QACpF,IAAI,CAAC,mBAAS,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACpC,CAAC;AACH,CAAC,CAAS,CAAC;AAsCE,QAAA,SAAS,GAAc,CAAC,CAAC,GAAG,IAA2B,EAAE,EAAE;IACtE,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,IAG3B,CAAC;QACF,OAAO;YACL,CAAC,6BAAmB,CAAC,EAAE,sBAAU,CAAC,2BAA2B;YAC7D,OAAO;YACP,QAAQ;SACT,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,GAAG,IAIhC,CAAC;QACF,IAAI,CAAC,oBAAU,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACrC,CAAC;AACH,CAAC,CAAc,CAAC"}
|
package/dist/http/endpoint.d.ts
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import { InputNode, SourceValues,
|
|
1
|
+
import { InputNode, SourceValues, NODE_VALUE } from '../core/inputNode';
|
|
2
2
|
import { Dispatcher } from 'undici';
|
|
3
3
|
import { CallOpts, 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
|
-
[nodeValueIdentifier]:
|
|
10
|
+
[nodeValueIdentifier]: NODE_VALUE;
|
|
10
11
|
}
|
|
11
12
|
/** Describes all the possible input nodes of a HTTP request. */
|
|
12
13
|
export interface HttpInputNodes {
|
|
@@ -17,18 +18,21 @@ export interface HttpInputNodes {
|
|
|
17
18
|
}
|
|
18
19
|
/** Configurations for the endpoint. */
|
|
19
20
|
export interface EndpointConfig {
|
|
20
|
-
respParser?: `${
|
|
21
|
-
respValidator?: (resp:
|
|
21
|
+
respParser?: `${RESP_PARSER}`;
|
|
22
|
+
respValidator?: (resp: ParsedResponse) => {
|
|
22
23
|
valid: boolean;
|
|
23
24
|
msg?: string;
|
|
24
25
|
};
|
|
25
26
|
}
|
|
27
|
+
type ParsedResponse = Omit<Dispatcher.ResponseData, 'body'> & {
|
|
28
|
+
body: unknown;
|
|
29
|
+
};
|
|
26
30
|
/** Formats to parse the response body. */
|
|
27
|
-
export declare enum
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
31
|
+
export declare enum RESP_PARSER {
|
|
32
|
+
ARRAY_BUFFER = "arrayBuffer",
|
|
33
|
+
BLOB = "blob",
|
|
34
|
+
JSON = "json",
|
|
35
|
+
TEXT = "text"
|
|
32
36
|
}
|
|
33
37
|
/**
|
|
34
38
|
* Manages request and response nodes,
|
|
@@ -53,6 +57,8 @@ export declare class Endpoint implements IEndpoint {
|
|
|
53
57
|
query(params: any): this;
|
|
54
58
|
/** Sets custom headers for requests. */
|
|
55
59
|
headers(params: Record<string, string | INodeWithValue | undefined>): this;
|
|
60
|
+
/** Sets the path params (if they exist in the URL). */
|
|
61
|
+
pathParams(params: Record<string, string | SourceNode | SourceInfo | MergeSourcesInfo>): this;
|
|
56
62
|
/** Sets headers provided by the originServer object. */
|
|
57
63
|
baseHeaders(node: InputNode): this;
|
|
58
64
|
/** Declare values to store from responses to this endpoint. */
|
|
@@ -62,3 +68,4 @@ export declare class Endpoint implements IEndpoint {
|
|
|
62
68
|
/** Passes the request input nodes of this endpoint to a callback. */
|
|
63
69
|
set(setter: (nodes: HttpInputNodes) => void): this;
|
|
64
70
|
}
|
|
71
|
+
export {};
|
package/dist/http/endpoint.js
CHANGED
|
@@ -24,7 +24,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
24
24
|
};
|
|
25
25
|
var _Endpoint_instances, _Endpoint_addr, _Endpoint_path, _Endpoint_method, _Endpoint_req, _Endpoint_resp, _Endpoint_config, _Endpoint_store, _Endpoint_extractPathParams, _Endpoint_insertPathParams, _Endpoint_insertQueryParams, _Endpoint_validateResp, _Endpoint_findMissingValues, _Endpoint_parseResponse;
|
|
26
26
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
27
|
-
exports.Endpoint = exports.
|
|
27
|
+
exports.Endpoint = exports.RESP_PARSER = void 0;
|
|
28
28
|
const hash_1 = require("./utils/hash");
|
|
29
29
|
const inputNode_1 = require("../core/inputNode");
|
|
30
30
|
const reqBuilder_1 = require("./reqBuilder");
|
|
@@ -40,13 +40,13 @@ const constants_1 = require("./utils/constants");
|
|
|
40
40
|
const deepmerge = (0, deepmerge_1.default)();
|
|
41
41
|
const PATH_PARAM_REGEX = /\/(\{[^{}]+\})/g;
|
|
42
42
|
/** Formats to parse the response body. */
|
|
43
|
-
var
|
|
44
|
-
(function (
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
})(
|
|
43
|
+
var RESP_PARSER;
|
|
44
|
+
(function (RESP_PARSER) {
|
|
45
|
+
RESP_PARSER["ARRAY_BUFFER"] = "arrayBuffer";
|
|
46
|
+
RESP_PARSER["BLOB"] = "blob";
|
|
47
|
+
RESP_PARSER["JSON"] = "json";
|
|
48
|
+
RESP_PARSER["TEXT"] = "text";
|
|
49
|
+
})(RESP_PARSER || (exports.RESP_PARSER = RESP_PARSER = {}));
|
|
50
50
|
/**
|
|
51
51
|
* Manages request and response nodes,
|
|
52
52
|
* as well as calls to that endpoint
|
|
@@ -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,10 +162,10 @@ class Endpoint {
|
|
|
152
162
|
});
|
|
153
163
|
if (resp == null)
|
|
154
164
|
throw new errors_1.InvalidResponseError('No response received.');
|
|
155
|
-
const
|
|
165
|
+
const parsedResp = Object.assign(Object.assign({}, resp), { body: resp.body.body && (yield __classPrivateFieldGet(this, _Endpoint_instances, "m", _Endpoint_parseResponse).call(this, resp.body)) });
|
|
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);
|
|
156
167
|
if (!results.valid)
|
|
157
168
|
throw new errors_1.InvalidResponseError(results.msg);
|
|
158
|
-
const parsedResp = Object.assign(Object.assign({}, resp), { body: yield __classPrivateFieldGet(this, _Endpoint_instances, "m", _Endpoint_parseResponse).call(this, resp.body) });
|
|
159
169
|
return __classPrivateFieldGet(this, _Endpoint_store, "f").storeValues(parsedResp);
|
|
160
170
|
});
|
|
161
171
|
}
|
|
@@ -218,13 +228,13 @@ _Endpoint_addr = new WeakMap(), _Endpoint_path = new WeakMap(), _Endpoint_method
|
|
|
218
228
|
}, _Endpoint_parseResponse = function _Endpoint_parseResponse(body) {
|
|
219
229
|
return __awaiter(this, void 0, void 0, function* () {
|
|
220
230
|
switch (__classPrivateFieldGet(this, _Endpoint_config, "f").respParser) {
|
|
221
|
-
case
|
|
231
|
+
case RESP_PARSER.ARRAY_BUFFER:
|
|
222
232
|
return yield body.arrayBuffer();
|
|
223
|
-
case
|
|
233
|
+
case RESP_PARSER.BLOB:
|
|
224
234
|
return yield body.blob();
|
|
225
|
-
case
|
|
235
|
+
case RESP_PARSER.TEXT:
|
|
226
236
|
return yield body.text();
|
|
227
|
-
case
|
|
237
|
+
case RESP_PARSER.JSON:
|
|
228
238
|
default:
|
|
229
239
|
return yield body.json();
|
|
230
240
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../../src/http/endpoint.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAA4C;AAC5C,
|
|
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"}
|