chainflow 0.1.3 → 0.1.4
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 +17 -5
- package/dist/core/inputNode.d.ts +6 -6
- package/dist/core/inputNode.js +14 -14
- 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 +3 -3
- package/dist/core/utils/link.js +2 -2
- package/dist/core/utils/link.js.map +1 -1
- package/dist/http/endpoint.d.ts +13 -9
- package/dist/http/endpoint.js +14 -14
- package/dist/http/endpoint.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -355,10 +355,10 @@ flow1.extend(flow2).run(); // calls endpoint 1, 2 and 3
|
|
|
355
355
|
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
356
|
|
|
357
357
|
```typescript
|
|
358
|
-
import {
|
|
358
|
+
import { RESP_PARSER } from 'chainflow';
|
|
359
359
|
|
|
360
360
|
const getUser = origin.get('/user').config({
|
|
361
|
-
respParser:
|
|
361
|
+
respParser: RESP_PARSER.TEXT,
|
|
362
362
|
});
|
|
363
363
|
```
|
|
364
364
|
|
|
@@ -373,17 +373,29 @@ const getUser = origin.get('/user').config({
|
|
|
373
373
|
There are 4 supported ways to parse response bodies (as provided by the underlying HTTP client, `undici`): `arrayBuffer`, `blob`, `json` and `text`.
|
|
374
374
|
|
|
375
375
|
`respValidator`
|
|
376
|
-
Another configuration option is how to validate the response to an endpoint. By default, Chainflow
|
|
376
|
+
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
377
|
|
|
378
378
|
```typescript
|
|
379
|
-
const
|
|
379
|
+
const getUser = origin.get("/user").config({
|
|
380
380
|
respValidator: (resp) => {
|
|
381
|
-
if (resp.statusCode !== 201)
|
|
381
|
+
if (resp.statusCode !== 201)
|
|
382
|
+
return { valid: false, msg: "Failed to retrieve users." };
|
|
383
|
+
if (!Object.keys(resp.body as Record<string, unknown>).includes("id"))
|
|
384
|
+
return { valid: false, msg: "Response did not provide user ID." };
|
|
382
385
|
return { valid: true };
|
|
383
386
|
},
|
|
384
387
|
});
|
|
385
388
|
```
|
|
386
389
|
|
|
390
|
+
Your custom validator callback should have a return type:
|
|
391
|
+
|
|
392
|
+
```typescript
|
|
393
|
+
{
|
|
394
|
+
valid: boolean; // false if response should be rejected
|
|
395
|
+
msg?: string; // error message
|
|
396
|
+
}
|
|
397
|
+
```
|
|
398
|
+
|
|
387
399
|
### `store`
|
|
388
400
|
|
|
389
401
|
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
|
}
|
|
@@ -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
4
|
interface SourceInfo {
|
|
5
|
-
[nodeValueIdentifier]:
|
|
5
|
+
[nodeValueIdentifier]: NODE_VALUE;
|
|
6
6
|
source: SourceNode;
|
|
7
7
|
callback: ((val: any) => any) | undefined;
|
|
8
8
|
}
|
|
@@ -24,7 +24,7 @@ interface Link {
|
|
|
24
24
|
}
|
|
25
25
|
export declare const link: Link;
|
|
26
26
|
interface MergeSourcesInfo {
|
|
27
|
-
[nodeValueIdentifier]:
|
|
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,4 +1,4 @@
|
|
|
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';
|
|
@@ -6,7 +6,7 @@ import { nodeValueIdentifier } from '../core/utils/symbols';
|
|
|
6
6
|
import { IStore } from '../core/store';
|
|
7
7
|
import { SUPPORTED_METHOD } from './utils/constants';
|
|
8
8
|
export interface INodeWithValue {
|
|
9
|
-
[nodeValueIdentifier]:
|
|
9
|
+
[nodeValueIdentifier]: NODE_VALUE;
|
|
10
10
|
}
|
|
11
11
|
/** Describes all the possible input nodes of a HTTP request. */
|
|
12
12
|
export interface HttpInputNodes {
|
|
@@ -17,18 +17,21 @@ export interface HttpInputNodes {
|
|
|
17
17
|
}
|
|
18
18
|
/** Configurations for the endpoint. */
|
|
19
19
|
export interface EndpointConfig {
|
|
20
|
-
respParser?: `${
|
|
21
|
-
respValidator?: (resp:
|
|
20
|
+
respParser?: `${RESP_PARSER}`;
|
|
21
|
+
respValidator?: (resp: ParsedResponse) => {
|
|
22
22
|
valid: boolean;
|
|
23
23
|
msg?: string;
|
|
24
24
|
};
|
|
25
25
|
}
|
|
26
|
+
type ParsedResponse = Omit<Dispatcher.ResponseData, 'body'> & {
|
|
27
|
+
body: unknown;
|
|
28
|
+
};
|
|
26
29
|
/** Formats to parse the response body. */
|
|
27
|
-
export declare enum
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
export declare enum RESP_PARSER {
|
|
31
|
+
ARRAY_BUFFER = "arrayBuffer",
|
|
32
|
+
BLOB = "blob",
|
|
33
|
+
JSON = "json",
|
|
34
|
+
TEXT = "text"
|
|
32
35
|
}
|
|
33
36
|
/**
|
|
34
37
|
* Manages request and response nodes,
|
|
@@ -62,3 +65,4 @@ export declare class Endpoint implements IEndpoint {
|
|
|
62
65
|
/** Passes the request input nodes of this endpoint to a callback. */
|
|
63
66
|
set(setter: (nodes: HttpInputNodes) => void): this;
|
|
64
67
|
}
|
|
68
|
+
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
|
|
@@ -152,10 +152,10 @@ class Endpoint {
|
|
|
152
152
|
});
|
|
153
153
|
if (resp == null)
|
|
154
154
|
throw new errors_1.InvalidResponseError('No response received.');
|
|
155
|
-
const
|
|
155
|
+
const parsedResp = Object.assign(Object.assign({}, resp), { body: yield __classPrivateFieldGet(this, _Endpoint_instances, "m", _Endpoint_parseResponse).call(this, resp.body) });
|
|
156
|
+
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
157
|
if (!results.valid)
|
|
157
158
|
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
159
|
return __classPrivateFieldGet(this, _Endpoint_store, "f").storeValues(parsedResp);
|
|
160
160
|
});
|
|
161
161
|
}
|
|
@@ -218,13 +218,13 @@ _Endpoint_addr = new WeakMap(), _Endpoint_path = new WeakMap(), _Endpoint_method
|
|
|
218
218
|
}, _Endpoint_parseResponse = function _Endpoint_parseResponse(body) {
|
|
219
219
|
return __awaiter(this, void 0, void 0, function* () {
|
|
220
220
|
switch (__classPrivateFieldGet(this, _Endpoint_config, "f").respParser) {
|
|
221
|
-
case
|
|
221
|
+
case RESP_PARSER.ARRAY_BUFFER:
|
|
222
222
|
return yield body.arrayBuffer();
|
|
223
|
-
case
|
|
223
|
+
case RESP_PARSER.BLOB:
|
|
224
224
|
return yield body.blob();
|
|
225
|
-
case
|
|
225
|
+
case RESP_PARSER.TEXT:
|
|
226
226
|
return yield body.text();
|
|
227
|
-
case
|
|
227
|
+
case RESP_PARSER.JSON:
|
|
228
228
|
default:
|
|
229
229
|
return yield body.json();
|
|
230
230
|
}
|
|
@@ -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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"}
|