@nattyjs/testing 0.0.1-beta.20

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 ADDED
@@ -0,0 +1,11 @@
1
+ # `types`
2
+
3
+ > TODO: description
4
+
5
+ ## Usage
6
+
7
+ ```
8
+ const test = require('test');
9
+
10
+ // TODO: DEMONSTRATE API
11
+ ```
package/dist/index.cjs ADDED
@@ -0,0 +1,73 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const cli = require('@nattyjs/cli');
6
+ const axios = require('axios');
7
+
8
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e["default"] : e; }
9
+
10
+ const axios__default = /*#__PURE__*/_interopDefaultLegacy(axios);
11
+
12
+ async function $setup() {
13
+ await cli.init("test");
14
+ }
15
+
16
+ function createRequest(requestInfo) {
17
+ const instance = axios__default.create({
18
+ withCredentials: true,
19
+ baseURL: requestInfo.host || process.env.host
20
+ });
21
+ instance.interceptors.request.use((config) => {
22
+ if (requestInfo && requestInfo.headers) {
23
+ for (const [key, value] of Object.entries(requestInfo.headers)) {
24
+ config.headers[key] = value;
25
+ }
26
+ }
27
+ return config;
28
+ }, (error) => {
29
+ return Promise.reject(error);
30
+ });
31
+ return instance;
32
+ }
33
+
34
+ function getRequestPath(request) {
35
+ return Array.isArray(request.path) ? request.path.join("/") : request.path;
36
+ }
37
+
38
+ function getResponse(response) {
39
+ return { body: response.data, headers: response.headers, status: response.status };
40
+ }
41
+
42
+ function $get(request) {
43
+ const requestObject = typeof request == "string" ? { path: [request] } : Array.isArray(request) ? { path: request } : request;
44
+ return new Promise((resolve) => {
45
+ createRequest(requestObject).get(getRequestPath(requestObject)).then((t) => resolve(getResponse(t))).catch((t) => resolve(getResponse(t)));
46
+ });
47
+ }
48
+
49
+ function $post(request) {
50
+ const requestObject = Array.isArray(request) ? { path: request } : request;
51
+ return new Promise((resolve) => {
52
+ createRequest(requestObject).post(getRequestPath(requestObject), request.body).then((t) => resolve(getResponse(t))).catch((t) => resolve(getResponse(t)));
53
+ });
54
+ }
55
+
56
+ function $put(request) {
57
+ return new Promise((resolve) => {
58
+ createRequest(request).post(getRequestPath(request), request.body).then((t) => resolve(getResponse(t))).catch((t) => resolve(getResponse(t)));
59
+ });
60
+ }
61
+
62
+ function $delete(request) {
63
+ const requestObject = Array.isArray(request) ? { path: request } : request;
64
+ return new Promise((resolve) => {
65
+ createRequest(requestObject).delete(getRequestPath(requestObject)).then((t) => resolve(getResponse(t))).catch((t) => resolve(getResponse(t)));
66
+ });
67
+ }
68
+
69
+ exports.$delete = $delete;
70
+ exports.$get = $get;
71
+ exports.$post = $post;
72
+ exports.$put = $put;
73
+ exports.$setup = $setup;
@@ -0,0 +1,30 @@
1
+ declare function $setup(): Promise<void>;
2
+
3
+ interface BaseRequest {
4
+ host?: string;
5
+ path: string | string[];
6
+ headers?: {
7
+ [key: string]: string;
8
+ };
9
+ }
10
+ interface PayloadRequest extends BaseRequest {
11
+ body: any;
12
+ }
13
+
14
+ interface Response<T> {
15
+ body: T;
16
+ headers: {
17
+ [key: string]: string;
18
+ };
19
+ status: number;
20
+ }
21
+
22
+ declare function $get<T>(request: BaseRequest | string | string[]): Promise<Response<T>>;
23
+
24
+ declare function $post<T>(request: PayloadRequest): Promise<Response<T>>;
25
+
26
+ declare function $put<T>(request: PayloadRequest): Promise<Response<T>>;
27
+
28
+ declare function $delete<T>(request: BaseRequest | string[]): Promise<Response<T>>;
29
+
30
+ export { $delete, $get, $post, $put, $setup };
package/dist/index.mjs ADDED
@@ -0,0 +1,61 @@
1
+ import { init } from '@nattyjs/cli';
2
+ import axios from 'axios';
3
+
4
+ async function $setup() {
5
+ await init("test");
6
+ }
7
+
8
+ function createRequest(requestInfo) {
9
+ const instance = axios.create({
10
+ withCredentials: true,
11
+ baseURL: requestInfo.host || process.env.host
12
+ });
13
+ instance.interceptors.request.use((config) => {
14
+ if (requestInfo && requestInfo.headers) {
15
+ for (const [key, value] of Object.entries(requestInfo.headers)) {
16
+ config.headers[key] = value;
17
+ }
18
+ }
19
+ return config;
20
+ }, (error) => {
21
+ return Promise.reject(error);
22
+ });
23
+ return instance;
24
+ }
25
+
26
+ function getRequestPath(request) {
27
+ return Array.isArray(request.path) ? request.path.join("/") : request.path;
28
+ }
29
+
30
+ function getResponse(response) {
31
+ return { body: response.data, headers: response.headers, status: response.status };
32
+ }
33
+
34
+ function $get(request) {
35
+ const requestObject = typeof request == "string" ? { path: [request] } : Array.isArray(request) ? { path: request } : request;
36
+ return new Promise((resolve) => {
37
+ createRequest(requestObject).get(getRequestPath(requestObject)).then((t) => resolve(getResponse(t))).catch((t) => resolve(getResponse(t)));
38
+ });
39
+ }
40
+
41
+ function $post(request) {
42
+ const requestObject = Array.isArray(request) ? { path: request } : request;
43
+ return new Promise((resolve) => {
44
+ createRequest(requestObject).post(getRequestPath(requestObject), request.body).then((t) => resolve(getResponse(t))).catch((t) => resolve(getResponse(t)));
45
+ });
46
+ }
47
+
48
+ function $put(request) {
49
+ return new Promise((resolve) => {
50
+ createRequest(request).post(getRequestPath(request), request.body).then((t) => resolve(getResponse(t))).catch((t) => resolve(getResponse(t)));
51
+ });
52
+ }
53
+
54
+ function $delete(request) {
55
+ const requestObject = Array.isArray(request) ? { path: request } : request;
56
+ return new Promise((resolve) => {
57
+ createRequest(requestObject).delete(getRequestPath(requestObject)).then((t) => resolve(getResponse(t))).catch((t) => resolve(getResponse(t)));
58
+ });
59
+ }
60
+
61
+ export { $delete, $get, $post, $put, $setup };
package/package.json ADDED
@@ -0,0 +1,25 @@
1
+ {
2
+ "name": "@nattyjs/testing",
3
+ "version": "0.0.1-beta.20",
4
+ "keywords": [],
5
+ "author": "ajayojha <ojhaajay@outlook.com>",
6
+ "license": "ISC",
7
+ "description": "",
8
+ "module": "./dist/index.mjs",
9
+ "main": "./dist/index.cjs",
10
+ "types": "./dist/index.d.ts",
11
+ "files": [
12
+ "dist"
13
+ ],
14
+ "scripts": {
15
+ "build": "unbuild"
16
+ },
17
+ "devDependencies": {
18
+ "unbuild": "1.2.1"
19
+ },
20
+ "dependencies": {
21
+ "@nattyjs/cli": "0.0.1-beta.21",
22
+ "@nattyjs/types": "0.0.1-beta.21",
23
+ "axios": "1.6.2"
24
+ }
25
+ }