chainflow 0.1.9 → 5.0.3

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.

Potentially problematic release.


This version of chainflow might be problematic. Click here for more details.

Files changed (77) hide show
  1. package/.idea/codeStyles/Project.xml +27 -0
  2. package/.idea/codeStyles/codeStyleConfig.xml +5 -0
  3. package/.idea/dotenv-master.iml +12 -0
  4. package/.idea/inspectionProfiles/Project_Default.xml +6 -0
  5. package/.idea/modules.xml +8 -0
  6. package/.idea/vcs.xml +6 -0
  7. package/.vscode/settings.json +2 -0
  8. package/CHANGELOG.md +431 -0
  9. package/LICENSE +23 -21
  10. package/README-es.md +442 -0
  11. package/README.md +633 -599
  12. package/config.d.ts +1 -0
  13. package/config.js +9 -0
  14. package/index.js +35 -0
  15. package/lib/cli-options.js +11 -0
  16. package/lib/env-options.js +24 -0
  17. package/lib/main.d.ts +156 -0
  18. package/lib/main.js +314 -0
  19. package/package.json +56 -52
  20. package/pk.json +64 -0
  21. package/dist/core/chainflow.d.ts +0 -47
  22. package/dist/core/chainflow.js +0 -116
  23. package/dist/core/chainflow.js.map +0 -1
  24. package/dist/core/inputNode.d.ts +0 -34
  25. package/dist/core/inputNode.js +0 -218
  26. package/dist/core/inputNode.js.map +0 -1
  27. package/dist/core/logger.d.ts +0 -4
  28. package/dist/core/logger.js +0 -19
  29. package/dist/core/logger.js.map +0 -1
  30. package/dist/core/sourceNode.d.ts +0 -24
  31. package/dist/core/sourceNode.js +0 -37
  32. package/dist/core/sourceNode.js.map +0 -1
  33. package/dist/core/store.d.ts +0 -13
  34. package/dist/core/store.js +0 -91
  35. package/dist/core/store.js.map +0 -1
  36. package/dist/core/utils/config.d.ts +0 -16
  37. package/dist/core/utils/config.js +0 -13
  38. package/dist/core/utils/config.js.map +0 -1
  39. package/dist/core/utils/constants.d.ts +0 -2
  40. package/dist/core/utils/constants.js +0 -6
  41. package/dist/core/utils/constants.js.map +0 -1
  42. package/dist/core/utils/initializers.d.ts +0 -12
  43. package/dist/core/utils/initializers.js +0 -18
  44. package/dist/core/utils/initializers.js.map +0 -1
  45. package/dist/core/utils/link.d.ts +0 -65
  46. package/dist/core/utils/link.js +0 -34
  47. package/dist/core/utils/link.js.map +0 -1
  48. package/dist/core/utils/symbols.d.ts +0 -7
  49. package/dist/core/utils/symbols.js +0 -11
  50. package/dist/core/utils/symbols.js.map +0 -1
  51. package/dist/http/endpoint.d.ts +0 -68
  52. package/dist/http/endpoint.js +0 -222
  53. package/dist/http/endpoint.js.map +0 -1
  54. package/dist/http/errors.d.ts +0 -16
  55. package/dist/http/errors.js +0 -36
  56. package/dist/http/errors.js.map +0 -1
  57. package/dist/http/logger.d.ts +0 -4
  58. package/dist/http/logger.js +0 -21
  59. package/dist/http/logger.js.map +0 -1
  60. package/dist/http/origin.d.ts +0 -29
  61. package/dist/http/origin.js +0 -62
  62. package/dist/http/origin.js.map +0 -1
  63. package/dist/http/reqBuilder.d.ts +0 -14
  64. package/dist/http/reqBuilder.js +0 -50
  65. package/dist/http/reqBuilder.js.map +0 -1
  66. package/dist/http/utils/client.d.ts +0 -27
  67. package/dist/http/utils/client.js +0 -88
  68. package/dist/http/utils/client.js.map +0 -1
  69. package/dist/http/utils/constants.d.ts +0 -2
  70. package/dist/http/utils/constants.js +0 -12
  71. package/dist/http/utils/constants.js.map +0 -1
  72. package/dist/http/utils/id.d.ts +0 -5
  73. package/dist/http/utils/id.js +0 -9
  74. package/dist/http/utils/id.js.map +0 -1
  75. package/dist/index.d.ts +0 -10
  76. package/dist/index.js +0 -30
  77. package/dist/index.js.map +0 -1
@@ -1,36 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ParseResponseError = exports.InvalidResponseError = exports.RequestFailedError = exports.RequiredValuesNotFoundError = void 0;
4
- /** When there is no value available for a required input node. */
5
- class RequiredValuesNotFoundError extends Error {
6
- constructor(id, missingValues) {
7
- super(`Endpoint with id "${id}" is missing required values with these paths: ${missingValues.join(', ')}`);
8
- this.name = 'RequiredValuesNotFoundError';
9
- }
10
- }
11
- exports.RequiredValuesNotFoundError = RequiredValuesNotFoundError;
12
- /** When a request to an endpoint fails to execute or receive a response. */
13
- class RequestFailedError extends Error {
14
- constructor(msg) {
15
- super(`Request failed: ${msg}`);
16
- this.name = 'RequestFailedError';
17
- }
18
- }
19
- exports.RequestFailedError = RequestFailedError;
20
- /** When a response fails a validation check. */
21
- class InvalidResponseError extends Error {
22
- constructor(msg) {
23
- super(`Response is invalid: ${msg !== null && msg !== void 0 ? msg : '[No error message is configured for this validation error]'}`);
24
- this.name = 'InvalidResponseError';
25
- }
26
- }
27
- exports.InvalidResponseError = InvalidResponseError;
28
- /** When the client fails to parse a response body. */
29
- class ParseResponseError extends Error {
30
- constructor(msg) {
31
- super(`Failed to parse response: ${msg}`);
32
- this.name = 'ParseResponseError';
33
- }
34
- }
35
- exports.ParseResponseError = ParseResponseError;
36
- //# sourceMappingURL=errors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/http/errors.ts"],"names":[],"mappings":";;;AAAA,kEAAkE;AAClE,MAAa,2BAA4B,SAAQ,KAAK;IACpD,YAAY,EAAU,EAAE,aAAuB;QAC7C,KAAK,CACH,qBAAqB,EAAE,kDAAkD,aAAa,CAAC,IAAI,CACzF,IAAI,CACL,EAAE,CACJ,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,6BAA6B,CAAC;IAC5C,CAAC;CACF;AATD,kEASC;AAED,4EAA4E;AAC5E,MAAa,kBAAmB,SAAQ,KAAK;IAC3C,YAAY,GAAY;QACtB,KAAK,CAAC,mBAAmB,GAAG,EAAE,CAAC,CAAC;QAChC,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AALD,gDAKC;AAED,gDAAgD;AAChD,MAAa,oBAAqB,SAAQ,KAAK;IAC7C,YAAY,GAAY;QACtB,KAAK,CACH,wBAAwB,GAAG,aAAH,GAAG,cAAH,GAAG,GAAI,4DAA4D,EAAE,CAC9F,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AAPD,oDAOC;AACD,sDAAsD;AACtD,MAAa,kBAAmB,SAAQ,KAAK;IAC3C,YAAY,GAAY;QACtB,KAAK,CAAC,6BAA6B,GAAG,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AALD,gDAKC"}
@@ -1,4 +0,0 @@
1
- import debug from 'debug';
2
- export declare const log: debug.Debugger;
3
- export declare const warn: debug.Debugger;
4
- export declare const enableLogs: () => void;
@@ -1,21 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.enableLogs = exports.warn = exports.log = void 0;
7
- /* istanbul ignore file */
8
- const debug_1 = __importDefault(require("debug"));
9
- const logger_1 = require("../core/logger");
10
- exports.log = (0, debug_1.default)('chainflow:http');
11
- exports.warn = (0, debug_1.default)('chainflow:http:error');
12
- const enableLogs = () => {
13
- exports.log.enabled = true;
14
- exports.warn.enabled = true;
15
- (0, logger_1.enableLogs)();
16
- };
17
- exports.enableLogs = enableLogs;
18
- if (process.env.ENABLE_CHAINFLOW_LOGS === 'true') {
19
- (0, exports.enableLogs)();
20
- }
21
- //# sourceMappingURL=logger.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/http/logger.ts"],"names":[],"mappings":";;;;;;AAAA,0BAA0B;AAC1B,kDAA0B;AAC1B,2CAA8D;AAEjD,QAAA,GAAG,GAAG,IAAA,eAAK,EAAC,gBAAgB,CAAC,CAAC;AAC9B,QAAA,IAAI,GAAG,IAAA,eAAK,EAAC,sBAAsB,CAAC,CAAC;AAE3C,MAAM,UAAU,GAAG,GAAG,EAAE;IAC7B,WAAG,CAAC,OAAO,GAAG,IAAI,CAAC;IACnB,YAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACpB,IAAA,mBAAc,GAAE,CAAC;AACnB,CAAC,CAAC;AAJW,QAAA,UAAU,cAIrB;AAEF,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,KAAK,MAAM,EAAE,CAAC;IACjD,IAAA,kBAAU,GAAE,CAAC;AACf,CAAC"}
@@ -1,29 +0,0 @@
1
- import { Endpoint, EndpointConfig, INodeWithValue } from './endpoint';
2
- import { InputNode } from '../core/inputNode';
3
- /** Convenience function for creating an endpoint builder
4
- * with supported HTTP methods defined on it. */
5
- export declare const origin: (origin?: string) => Origin;
6
- /** Function for defining a new endpoint. */
7
- type MakeEndpoint = (path: string) => Endpoint;
8
- export type Origin = OriginBase & {
9
- get: MakeEndpoint;
10
- post: MakeEndpoint;
11
- put: MakeEndpoint;
12
- delete: MakeEndpoint;
13
- patch: MakeEndpoint;
14
- options: MakeEndpoint;
15
- };
16
- /** Stores the base url and defines methods to build endpoints with methods. */
17
- declare class OriginBase {
18
- #private;
19
- /** Sets configuration for all endpoints made by this origin. */
20
- config(config: EndpointConfig): this;
21
- /** Sets the base headers for all endpoints made by this origin. */
22
- headers(params: Record<string, string | INodeWithValue | undefined>): this;
23
- /** Configure linking of this Req's input nodes. */
24
- set(setter: ({ headers }: {
25
- headers: InputNode;
26
- }) => void): this;
27
- constructor(origin?: string);
28
- }
29
- export {};
@@ -1,62 +0,0 @@
1
- "use strict";
2
- var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
3
- if (kind === "m") throw new TypeError("Private method is not writable");
4
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
5
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
6
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
7
- };
8
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
9
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
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
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
- };
13
- var _OriginBase_origin, _OriginBase_headers, _OriginBase_config;
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.origin = void 0;
16
- const endpoint_1 = require("./endpoint");
17
- const inputNode_1 = require("../core/inputNode");
18
- const constants_1 = require("./utils/constants");
19
- /** Convenience function for creating an endpoint builder
20
- * with supported HTTP methods defined on it. */
21
- const origin = (origin) => new OriginBase(origin);
22
- exports.origin = origin;
23
- /** Stores the base url and defines methods to build endpoints with methods. */
24
- class OriginBase {
25
- /** Sets configuration for all endpoints made by this origin. */
26
- config(config) {
27
- __classPrivateFieldSet(this, _OriginBase_config, config, "f");
28
- return this;
29
- }
30
- /** Sets the base headers for all endpoints made by this origin. */
31
- headers(params) {
32
- __classPrivateFieldSet(this, _OriginBase_headers, new inputNode_1.InputNode(params), "f");
33
- return this;
34
- }
35
- /** Configure linking of this Req's input nodes. */
36
- set(setter) {
37
- setter({
38
- headers: __classPrivateFieldGet(this, _OriginBase_headers, "f"),
39
- });
40
- return this;
41
- }
42
- constructor(origin) {
43
- _OriginBase_origin.set(this, void 0);
44
- _OriginBase_headers.set(this, void 0);
45
- _OriginBase_config.set(this, {});
46
- __classPrivateFieldSet(this, _OriginBase_origin, origin, "f");
47
- __classPrivateFieldSet(this, _OriginBase_headers, new inputNode_1.InputNode(undefined), "f");
48
- constants_1.SUPPORTED_METHODS.forEach((method) => {
49
- // define methods to create endpoints from HTTP methods
50
- Reflect.defineProperty(this, method, {
51
- value: (path) => {
52
- var _a;
53
- return new endpoint_1.Endpoint({ url: `${(_a = __classPrivateFieldGet(this, _OriginBase_origin, "f")) !== null && _a !== void 0 ? _a : ''}${path}`, method })
54
- .baseHeaders(__classPrivateFieldGet(this, _OriginBase_headers, "f"))
55
- .config(__classPrivateFieldGet(this, _OriginBase_config, "f"));
56
- },
57
- });
58
- });
59
- }
60
- }
61
- _OriginBase_origin = new WeakMap(), _OriginBase_headers = new WeakMap(), _OriginBase_config = new WeakMap();
62
- //# sourceMappingURL=origin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"origin.js","sourceRoot":"","sources":["../../src/http/origin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,yCAAsE;AACtE,iDAA8C;AAC9C,iDAAsD;AAEtD;gDACgD;AACzC,MAAM,MAAM,GAAG,CAAC,MAAe,EAAE,EAAE,CAAC,IAAI,UAAU,CAAC,MAAM,CAAW,CAAC;AAA/D,QAAA,MAAM,UAAyD;AAc5E,+EAA+E;AAC/E,MAAM,UAAU;IAKd,gEAAgE;IAChE,MAAM,CAAC,MAAsB;QAC3B,uBAAA,IAAI,sBAAW,MAAM,MAAA,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,mEAAmE;IACnE,OAAO,CAAC,MAA2D;QACjE,uBAAA,IAAI,uBAAY,IAAI,qBAAS,CAAC,MAAM,CAAC,MAAA,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,mDAAmD;IACnD,GAAG,CAAC,MAAqD;QACvD,MAAM,CAAC;YACL,OAAO,EAAE,uBAAA,IAAI,2BAAS;SACvB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,YAAY,MAAe;QAxB3B,qCAAiB;QACjB,sCAAoB;QACpB,6BAA0B,EAAE,EAAC;QAuB3B,uBAAA,IAAI,sBAAW,MAAM,MAAA,CAAC;QACtB,uBAAA,IAAI,uBAAY,IAAI,qBAAS,CAAC,SAAS,CAAC,MAAA,CAAC;QACzC,6BAAiB,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YACnC,uDAAuD;YACvD,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE;gBACnC,KAAK,EAAE,CAAC,IAAY,EAAE,EAAE;;oBACtB,OAAO,IAAI,mBAAQ,CAAC,EAAE,GAAG,EAAE,GAAG,MAAA,uBAAA,IAAI,0BAAQ,mCAAI,EAAE,GAAG,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC;yBACjE,WAAW,CAAC,uBAAA,IAAI,2BAAS,CAAC;yBAC1B,MAAM,CAAC,uBAAA,IAAI,0BAAQ,CAAC,CAAC;gBAC1B,CAAC;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -1,14 +0,0 @@
1
- import { InputNode } from '../core/inputNode';
2
- /** Contains node definitions for a request. */
3
- export declare class ReqBuilder {
4
- #private;
5
- baseHeaders: InputNode;
6
- pathParams: InputNode;
7
- constructor();
8
- get body(): InputNode;
9
- set body(payload: any);
10
- get query(): InputNode;
11
- set query(params: any);
12
- get headers(): InputNode;
13
- set headers(params: any);
14
- }
@@ -1,50 +0,0 @@
1
- "use strict";
2
- var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
3
- if (kind === "m") throw new TypeError("Private method is not writable");
4
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
5
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
6
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
7
- };
8
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
9
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
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
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
- };
13
- var _ReqBuilder_headers, _ReqBuilder_queryParams, _ReqBuilder_body;
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.ReqBuilder = void 0;
16
- const inputNode_1 = require("../core/inputNode");
17
- /** Contains node definitions for a request. */
18
- class ReqBuilder {
19
- constructor() {
20
- _ReqBuilder_headers.set(this, void 0);
21
- _ReqBuilder_queryParams.set(this, void 0);
22
- _ReqBuilder_body.set(this, void 0);
23
- this.baseHeaders = new inputNode_1.InputNode(undefined);
24
- __classPrivateFieldSet(this, _ReqBuilder_headers, new inputNode_1.InputNode(undefined), "f");
25
- this.pathParams = new inputNode_1.InputNode(undefined);
26
- __classPrivateFieldSet(this, _ReqBuilder_queryParams, new inputNode_1.InputNode(undefined), "f");
27
- __classPrivateFieldSet(this, _ReqBuilder_body, new inputNode_1.InputNode(undefined), "f");
28
- }
29
- get body() {
30
- return __classPrivateFieldGet(this, _ReqBuilder_body, "f");
31
- }
32
- set body(payload) {
33
- __classPrivateFieldSet(this, _ReqBuilder_body, new inputNode_1.InputNode(payload), "f");
34
- }
35
- get query() {
36
- return __classPrivateFieldGet(this, _ReqBuilder_queryParams, "f");
37
- }
38
- set query(params) {
39
- __classPrivateFieldSet(this, _ReqBuilder_queryParams, new inputNode_1.InputNode(params), "f");
40
- }
41
- get headers() {
42
- return __classPrivateFieldGet(this, _ReqBuilder_headers, "f");
43
- }
44
- set headers(params) {
45
- __classPrivateFieldSet(this, _ReqBuilder_headers, new inputNode_1.InputNode(params), "f");
46
- }
47
- }
48
- exports.ReqBuilder = ReqBuilder;
49
- _ReqBuilder_headers = new WeakMap(), _ReqBuilder_queryParams = new WeakMap(), _ReqBuilder_body = new WeakMap();
50
- //# sourceMappingURL=reqBuilder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"reqBuilder.js","sourceRoot":"","sources":["../../src/http/reqBuilder.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,iDAA8C;AAE9C,+CAA+C;AAC/C,MAAa,UAAU;IAOrB;QALA,sCAAoB;QAEpB,0CAAwB;QACxB,mCAAiB;QAGf,IAAI,CAAC,WAAW,GAAG,IAAI,qBAAS,CAAC,SAAS,CAAC,CAAC;QAC5C,uBAAA,IAAI,uBAAY,IAAI,qBAAS,CAAC,SAAS,CAAC,MAAA,CAAC;QACzC,IAAI,CAAC,UAAU,GAAG,IAAI,qBAAS,CAAC,SAAS,CAAC,CAAC;QAC3C,uBAAA,IAAI,2BAAgB,IAAI,qBAAS,CAAC,SAAS,CAAC,MAAA,CAAC;QAC7C,uBAAA,IAAI,oBAAS,IAAI,qBAAS,CAAC,SAAS,CAAC,MAAA,CAAC;IACxC,CAAC;IAED,IAAI,IAAI;QACN,OAAO,uBAAA,IAAI,wBAAM,CAAC;IACpB,CAAC;IAED,IAAI,IAAI,CAAC,OAAY;QACnB,uBAAA,IAAI,oBAAS,IAAI,qBAAS,CAAC,OAAO,CAAC,MAAA,CAAC;IACtC,CAAC;IAED,IAAI,KAAK;QACP,OAAO,uBAAA,IAAI,+BAAa,CAAC;IAC3B,CAAC;IAED,IAAI,KAAK,CAAC,MAAW;QACnB,uBAAA,IAAI,2BAAgB,IAAI,qBAAS,CAAC,MAAM,CAAC,MAAA,CAAC;IAC5C,CAAC;IAED,IAAI,OAAO;QACT,OAAO,uBAAA,IAAI,2BAAS,CAAC;IACvB,CAAC;IAED,IAAI,OAAO,CAAC,MAAW;QACrB,uBAAA,IAAI,uBAAY,IAAI,qBAAS,CAAC,MAAM,CAAC,MAAA,CAAC;IACxC,CAAC;CACF;AAtCD,gCAsCC"}
@@ -1,27 +0,0 @@
1
- import { Dispatcher } from 'undici';
2
- import { SUPPORTED_METHOD } from './constants';
3
- export type SUPPORTED_METHOD_UPPERCASE = Uppercase<SUPPORTED_METHOD>;
4
- /** Formats to parse the response body. */
5
- export declare enum RESP_PARSER {
6
- ARRAY_BUFFER = "arrayBuffer",
7
- BLOB = "blob",
8
- JSON = "json",
9
- TEXT = "text"
10
- }
11
- /** A utility to modify the default headers sent in every endpoint call. */
12
- export declare const defaultHeaders: (headers?: Record<string, string>, replace?: boolean) => void;
13
- /** @todo explore allowing the client to be swapped out. */
14
- export interface IHttpClient<Resp> {
15
- request: (params: IHttpReq) => Promise<Resp>;
16
- }
17
- export interface IHttpReq {
18
- url: string;
19
- method: SUPPORTED_METHOD_UPPERCASE;
20
- body?: any;
21
- headers?: Record<string, string>;
22
- respParser?: `${RESP_PARSER}`;
23
- }
24
- export type ParsedHttpResp = Omit<Dispatcher.ResponseData, 'body'> & {
25
- body: unknown;
26
- };
27
- export declare const httpClient: IHttpClient<ParsedHttpResp>;
@@ -1,88 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.httpClient = exports.defaultHeaders = exports.RESP_PARSER = void 0;
13
- const undici_1 = require("undici");
14
- const logger_1 = require("../logger");
15
- const errors_1 = require("../errors");
16
- /** Formats to parse the response body. */
17
- var RESP_PARSER;
18
- (function (RESP_PARSER) {
19
- RESP_PARSER["ARRAY_BUFFER"] = "arrayBuffer";
20
- RESP_PARSER["BLOB"] = "blob";
21
- RESP_PARSER["JSON"] = "json";
22
- RESP_PARSER["TEXT"] = "text";
23
- })(RESP_PARSER || (exports.RESP_PARSER = RESP_PARSER = {}));
24
- let _defaultHeaders = {
25
- 'content-type': 'application/json',
26
- 'User-Agent': 'Chainflow/0.1',
27
- };
28
- /** A utility to modify the default headers sent in every endpoint call. */
29
- const defaultHeaders = (headers, replace) => {
30
- replace
31
- ? (_defaultHeaders = headers)
32
- : (_defaultHeaders = Object.assign(Object.assign({}, _defaultHeaders), headers));
33
- };
34
- exports.defaultHeaders = defaultHeaders;
35
- /** Executes sending a HTTP request. */
36
- const request = ({ url, method, body, headers, respParser }) => __awaiter(void 0, void 0, void 0, function* () {
37
- const finalHeaders = Object.assign(Object.assign({}, _defaultHeaders), headers);
38
- if (logger_1.log.enabled) {
39
- (0, logger_1.log)(`[${method}] [${url}]`);
40
- (0, logger_1.log)('headers: %O', finalHeaders);
41
- body != null && (0, logger_1.log)('body: %O', body);
42
- }
43
- const resp = yield (0, undici_1.request)(url, {
44
- method,
45
- body: body ? JSON.stringify(body) : null /** @todo consider using buffer */,
46
- headers: Object.keys(finalHeaders).length > 0 ? finalHeaders : null,
47
- }).catch((err) => {
48
- throw new errors_1.RequestFailedError(`${err}`);
49
- });
50
- const parsedResp = Object.assign(Object.assign({}, resp), { body: yield parseResponse(resp, respParser).catch((err) => {
51
- throw new errors_1.ParseResponseError(err);
52
- }) });
53
- if (logger_1.log.enabled) {
54
- (0, logger_1.log)('response: %O', {
55
- statusCode: parsedResp.statusCode,
56
- body: parsedResp.body,
57
- });
58
- }
59
- return parsedResp;
60
- });
61
- /** Parses a response body according to the specified parser. */
62
- const parseResponse = (resp, respParser) => __awaiter(void 0, void 0, void 0, function* () {
63
- switch (respParser) {
64
- case RESP_PARSER.ARRAY_BUFFER:
65
- return yield resp.body.arrayBuffer();
66
- case RESP_PARSER.BLOB:
67
- return yield resp.body.blob();
68
- case RESP_PARSER.TEXT:
69
- return yield resp.body.text();
70
- case RESP_PARSER.JSON:
71
- return yield resp.body.json();
72
- default:
73
- if (checkJsonSafe(resp))
74
- return yield resp.body.json();
75
- return yield resp.body.text();
76
- }
77
- });
78
- /**
79
- * Check required to avoid errors when attempting `json()` on an empty body.
80
- * Refer to section under `ResponseData` at
81
- * https://github.com/nodejs/undici/blob/main/docs/docs/api/Dispatcher.md
82
- */
83
- const checkJsonSafe = (resp) => {
84
- var _a;
85
- return Boolean(resp.statusCode !== 204 && ((_a = resp.headers['content-type']) === null || _a === void 0 ? void 0 : _a.includes('application/json')));
86
- };
87
- exports.httpClient = { request };
88
- //# sourceMappingURL=client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/http/utils/client.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export type SUPPORTED_METHOD = 'get' | 'post' | 'put' | 'delete' | 'patch' | 'options';
2
- export declare const SUPPORTED_METHODS: SUPPORTED_METHOD[];
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SUPPORTED_METHODS = void 0;
4
- exports.SUPPORTED_METHODS = [
5
- 'get',
6
- 'post',
7
- 'put',
8
- 'delete',
9
- 'patch',
10
- 'options',
11
- ];
12
- //# sourceMappingURL=constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/http/utils/constants.ts"],"names":[],"mappings":";;;AACa,QAAA,iBAAiB,GAAuB;IACnD,KAAK;IACL,MAAM;IACN,KAAK;IACL,QAAQ;IACR,OAAO;IACP,SAAS;CACV,CAAC"}
@@ -1,5 +0,0 @@
1
- /** @todo explore improving this */
2
- export declare const getEndpointId: ({ url, method }: {
3
- url: string;
4
- method: string;
5
- }) => string;
@@ -1,9 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getEndpointId = void 0;
4
- /** @todo explore improving this */
5
- const getEndpointId = ({ url, method }) => {
6
- return `[${method.toUpperCase()}] ${url}`;
7
- };
8
- exports.getEndpointId = getEndpointId;
9
- //# sourceMappingURL=id.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"id.js","sourceRoot":"","sources":["../../../src/http/utils/id.ts"],"names":[],"mappings":";;;AAAA,mCAAmC;AAC5B,MAAM,aAAa,GAAG,CAAC,EAAE,GAAG,EAAE,MAAM,EAAmC,EAAU,EAAE;IACxF,OAAO,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,GAAG,EAAE,CAAC;AAC5C,CAAC,CAAC;AAFW,QAAA,aAAa,iBAExB"}
package/dist/index.d.ts DELETED
@@ -1,10 +0,0 @@
1
- export * from './core/chainflow';
2
- export * from './core/utils/initializers';
3
- export * from './core/inputNode';
4
- export * from './core/utils/link';
5
- export * from './core/utils/config';
6
- export * from './http/endpoint';
7
- export * from './http/reqBuilder';
8
- export * from './http/origin';
9
- export { enableLogs } from './http/logger';
10
- export { defaultHeaders } from './http/utils/client';
package/dist/index.js DELETED
@@ -1,30 +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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.defaultHeaders = exports.enableLogs = void 0;
18
- __exportStar(require("./core/chainflow"), exports);
19
- __exportStar(require("./core/utils/initializers"), exports);
20
- __exportStar(require("./core/inputNode"), exports);
21
- __exportStar(require("./core/utils/link"), exports);
22
- __exportStar(require("./core/utils/config"), exports);
23
- __exportStar(require("./http/endpoint"), exports);
24
- __exportStar(require("./http/reqBuilder"), exports);
25
- __exportStar(require("./http/origin"), exports);
26
- var logger_1 = require("./http/logger");
27
- Object.defineProperty(exports, "enableLogs", { enumerable: true, get: function () { return logger_1.enableLogs; } });
28
- var client_1 = require("./http/utils/client");
29
- Object.defineProperty(exports, "defaultHeaders", { enumerable: true, get: function () { return client_1.defaultHeaders; } });
30
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,4DAA0C;AAC1C,mDAAiC;AACjC,oDAAkC;AAClC,sDAAoC;AACpC,kDAAgC;AAChC,oDAAkC;AAClC,gDAA8B;AAC9B,wCAA2C;AAAlC,oGAAA,UAAU,OAAA;AACnB,8CAAqD;AAA5C,wGAAA,cAAc,OAAA"}