@smartlyio/oats-fetch-adapter 1.0.0 → 6.3.0

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,12 @@
1
+ # fetch client adapter for smartlyio/oats
2
+
3
+ See [smartlyio/oats](https://github.com/smartlyio/oats)
4
+
5
+ This adapter provides two ways to bind the generated client definitions
6
+
7
+ ```ts
8
+ import * as adapter from '@smartlyio/oats-fetch-adapter';
9
+
10
+ adapter.create()(definitions);
11
+ ```
12
+
package/dist/index.d.ts CHANGED
@@ -1,2 +1,5 @@
1
1
  import * as runtime from '@smartlyio/oats-runtime';
2
- export declare const bind: runtime.client.ClientAdapter;
2
+ /**
3
+ * @returns oats runtime client adapter.
4
+ */
5
+ export declare function create(): runtime.client.ClientAdapter;
package/dist/index.js CHANGED
@@ -1,15 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.bind = void 0;
3
+ exports.create = void 0;
4
4
  const runtime = require("@smartlyio/oats-runtime");
5
- const assert = require("assert");
5
+ const assert_1 = require("./src/assert");
6
6
  const FormData = require("form-data");
7
7
  function toRequestData(data) {
8
8
  if (data == null) {
9
9
  return data;
10
10
  }
11
+ if (data.contentType === 'text/plain') {
12
+ return data.value;
13
+ }
11
14
  if (data.contentType === 'application/json') {
12
- return axiosToJson(data.value);
15
+ return JSON.stringify(data.value);
13
16
  }
14
17
  if (['application/x-www-form-urlencoded', 'multipart/form-data'].indexOf(data.contentType) >= 0) {
15
18
  const form = new FormData();
@@ -24,38 +27,8 @@ function toRequestData(data) {
24
27
  });
25
28
  return form;
26
29
  }
27
- assert.fail('unknown content type for axios client ' + data.contentType);
28
- }
29
- function axiosToJson(data) {
30
- if (data instanceof runtime.valueClass.ValueClass) {
31
- return runtime.valueClass.toJSON(data);
32
- }
33
- return data;
30
+ (0, assert_1.fail)('unknown content type for client ' + data.contentType);
34
31
  }
35
- const bind = async (arg) => {
36
- if (arg.servers.length !== 1) {
37
- return assert.fail('cannot decide which server to use from ' + arg.servers.join(', '));
38
- }
39
- const server = arg.servers[0];
40
- const params = axiosToJson(arg.query);
41
- const data = toRequestData(arg.body);
42
- const url = new URL(server + arg.path);
43
- Object.entries(params).forEach(([key, value]) => url.searchParams.append(key, `${value}`));
44
- const response = await fetch(new Request(url.toString(), {
45
- method: arg.method,
46
- headers: arg.headers,
47
- body: data
48
- }));
49
- const contentType = getContentType(response);
50
- return {
51
- status: response.status,
52
- value: {
53
- contentType,
54
- value: await getResponseData(contentType, response)
55
- }
56
- };
57
- };
58
- exports.bind = bind;
59
32
  function getContentType(response) {
60
33
  const type = response.headers.get('content-type');
61
34
  if (!type) {
@@ -75,6 +48,46 @@ function getResponseData(contentType, response) {
75
48
  if (response.status === 204) {
76
49
  return '';
77
50
  }
78
- return response.json();
51
+ if (contentType.includes('application/json')) {
52
+ return response.json();
53
+ }
54
+ return response.text();
55
+ }
56
+ /**
57
+ * @returns oats runtime client adapter.
58
+ */
59
+ function create() {
60
+ return async (arg) => {
61
+ if (arg.servers.length !== 1) {
62
+ return (0, assert_1.fail)('cannot decide which server to use from ' + arg.servers.join(', '));
63
+ }
64
+ const server = arg.servers[0];
65
+ const data = toRequestData(arg.body);
66
+ const url = new URL(server + arg.path);
67
+ const requestContentType = arg.body?.contentType;
68
+ Object.entries(arg.query ?? {})
69
+ .filter(([, value]) => !!value)
70
+ .forEach(([key, value]) => url.searchParams.append(key, `${value}`));
71
+ const response = await fetch(new Request(url.toString(), {
72
+ method: arg.method,
73
+ headers: {
74
+ ...(requestContentType ? { 'content-type': requestContentType } : {}),
75
+ ...arg.headers
76
+ },
77
+ body: data
78
+ }));
79
+ const contentType = getContentType(response);
80
+ const headers = {};
81
+ response.headers.forEach((value, key) => (headers[key] = value));
82
+ return {
83
+ status: response.status,
84
+ value: {
85
+ contentType,
86
+ value: await getResponseData(contentType, response)
87
+ },
88
+ headers
89
+ };
90
+ };
79
91
  }
92
+ exports.create = create;
80
93
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function fail(msg: string): never;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fail = void 0;
4
+ function fail(msg) {
5
+ throw new Error(msg);
6
+ }
7
+ exports.fail = fail;
8
+ //# sourceMappingURL=assert.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assert.js","sourceRoot":"","sources":["../../src/assert.ts"],"names":[],"mappings":";;;AAAA,SAAgB,IAAI,CAAC,GAAW;IAC9B,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;AACvB,CAAC;AAFD,oBAEC"}
package/index.ts CHANGED
@@ -1,13 +1,16 @@
1
1
  import * as runtime from '@smartlyio/oats-runtime';
2
- import * as assert from 'assert';
2
+ import { fail } from './src/assert';
3
3
  import * as FormData from 'form-data';
4
4
 
5
5
  function toRequestData(data: runtime.server.RequestBody<any> | undefined) {
6
6
  if (data == null) {
7
7
  return data;
8
8
  }
9
+ if (data.contentType === 'text/plain') {
10
+ return data.value;
11
+ }
9
12
  if (data.contentType === 'application/json') {
10
- return axiosToJson(data.value);
13
+ return JSON.stringify(data.value);
11
14
  }
12
15
  if (['application/x-www-form-urlencoded', 'multipart/form-data'].indexOf(data.contentType) >= 0) {
13
16
  const form = new FormData();
@@ -21,46 +24,9 @@ function toRequestData(data: runtime.server.RequestBody<any> | undefined) {
21
24
  });
22
25
  return form;
23
26
  }
24
- assert.fail('unknown content type for axios client ' + data.contentType);
25
- }
26
-
27
- function axiosToJson(data: any) {
28
- if (data instanceof runtime.valueClass.ValueClass) {
29
- return runtime.valueClass.toJSON(data);
30
- }
31
- return data;
27
+ fail('unknown content type for client ' + data.contentType);
32
28
  }
33
29
 
34
- export const bind: runtime.client.ClientAdapter = async (
35
- arg: runtime.server.EndpointArg<any, any, any, any>
36
- ): Promise<any> => {
37
- if (arg.servers.length !== 1) {
38
- return assert.fail('cannot decide which server to use from ' + arg.servers.join(', '));
39
- }
40
- const server = arg.servers[0];
41
- const params = axiosToJson(arg.query);
42
- const data = toRequestData(arg.body);
43
- const url = new URL(server + arg.path);
44
-
45
- Object.entries(params).forEach(([key, value]) => url.searchParams.append(key, `${value}`));
46
-
47
- const response = await fetch(
48
- new Request(url.toString(), {
49
- method: arg.method,
50
- headers: arg.headers,
51
- body: data
52
- })
53
- );
54
- const contentType = getContentType(response);
55
- return {
56
- status: response.status,
57
- value: {
58
- contentType,
59
- value: await getResponseData(contentType, response)
60
- }
61
- };
62
- };
63
-
64
30
  function getContentType(response: Response) {
65
31
  const type = response.headers.get('content-type');
66
32
  if (!type) {
@@ -81,5 +47,53 @@ function getResponseData(contentType: string, response: Response) {
81
47
  if (response.status === 204) {
82
48
  return '';
83
49
  }
84
- return response.json();
50
+ if (contentType.includes('application/json')) {
51
+ return response.json();
52
+ }
53
+
54
+ return response.text();
55
+ }
56
+
57
+ /**
58
+ * @returns oats runtime client adapter.
59
+ */
60
+ export function create(): runtime.client.ClientAdapter {
61
+ return async arg => {
62
+ if (arg.servers.length !== 1) {
63
+ return fail('cannot decide which server to use from ' + arg.servers.join(', '));
64
+ }
65
+ const server = arg.servers[0];
66
+ const data = toRequestData(arg.body);
67
+ const url = new URL(server + arg.path);
68
+ const requestContentType = arg.body?.contentType;
69
+
70
+ Object.entries(arg.query ?? {})
71
+ .filter(([, value]) => !!value)
72
+ .forEach(([key, value]) => url.searchParams.append(key, `${value}`));
73
+
74
+ const response = await fetch(
75
+ new Request(url.toString(), {
76
+ method: arg.method,
77
+ headers: {
78
+ ...(requestContentType ? { 'content-type': requestContentType } : {}),
79
+ ...arg.headers
80
+ },
81
+ body: data
82
+ })
83
+ );
84
+
85
+ const contentType = getContentType(response);
86
+
87
+ const headers: Record<string, string> = {};
88
+ response.headers.forEach((value, key) => (headers[key] = value));
89
+
90
+ return {
91
+ status: response.status,
92
+ value: {
93
+ contentType,
94
+ value: await getResponseData(contentType, response)
95
+ },
96
+ headers
97
+ };
98
+ };
85
99
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smartlyio/oats-fetch-adapter",
3
- "version": "1.0.0",
3
+ "version": "6.3.0",
4
4
  "license": "MIT",
5
5
  "description": "Fetch adapter for Oats a Openapi3 based generator for typescript aware servers and clients",
6
6
  "private": false,
@@ -8,20 +8,18 @@
8
8
  "main": "dist/index.js",
9
9
  "types": "dist/index.d.ts",
10
10
  "scripts": {
11
- "lint": "eslint . --ext .ts",
12
- "lint:fix": "eslint . --ext .ts --fix",
13
11
  "clean": "rm -rf ./dist && rm -f ./tmp/*.ts",
14
- "build": "yarn clean && yarn lint && yarn tsc",
15
- "prepublish": "yarn build"
12
+ "build": "yarn clean && yarn tsc",
13
+ "lint": "eslint --max-warnings=0 --ext .ts .",
14
+ "lint:fix": "eslint --max-warnings=0 --ext .ts . --fix"
16
15
  },
17
16
  "repository": {
18
17
  "type": "git",
19
18
  "url": "https://github.com/smartlyio/oats.git"
20
19
  },
21
20
  "peerDependencies": {
22
- "@smartlyio/oats-runtime": "^2.13.1",
23
- "node-fetch": "^2.6.1",
24
- "typescript": "^4.2.4"
21
+ "@smartlyio/oats-runtime": "^6.3.0",
22
+ "typescript": "^4.9.5"
25
23
  },
26
24
  "dependencies": {
27
25
  "form-data": "^4.0.0"
@@ -36,18 +34,17 @@
36
34
  "client"
37
35
  ],
38
36
  "devDependencies": {
39
- "@smartlyio/oats-runtime": "^2.13.1",
40
- "@types/form-data": "2.5.0",
41
- "@types/node": "14.14.41",
42
- "@typescript-eslint/eslint-plugin": "4.22.0",
43
- "@typescript-eslint/parser": "4.22.0",
44
- "eslint": "7.24.0",
45
- "eslint-config-prettier": "8.2.0",
46
- "eslint-plugin-import": "2.22.1",
47
- "eslint-plugin-jest": "24.3.5",
48
- "eslint-plugin-prettier": "3.4.0",
49
- "node-fetch": "^2.6.1",
50
- "prettier": "2.2.1",
51
- "typescript": "4.2.4"
52
- }
37
+ "@smartlyio/oats-runtime": "^6.3.0",
38
+ "@types/node": "18.15.11",
39
+ "@typescript-eslint/eslint-plugin": "5.57.1",
40
+ "@typescript-eslint/parser": "5.57.1",
41
+ "eslint": "8.37.0",
42
+ "eslint-config-prettier": "8.8.0",
43
+ "eslint-plugin-import": "2.27.5",
44
+ "eslint-plugin-jest": "27.2.1",
45
+ "eslint-plugin-prettier": "4.2.1",
46
+ "prettier": "2.8.7",
47
+ "typescript": "4.9.5"
48
+ },
49
+ "gitHead": "03cd43a34c863806058e219835173cdb09dd2fac"
53
50
  }
package/src/assert.ts ADDED
@@ -0,0 +1,3 @@
1
+ export function fail(msg: string): never {
2
+ throw new Error(msg);
3
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "extends": "./tsconfig.json",
3
+ "exclude": []
4
+ }
package/renovate.json DELETED
@@ -1,41 +0,0 @@
1
- {
2
- "extends": [
3
- "config:js-lib"
4
- ],
5
- "timezone": "Europe/Helsinki",
6
- "prHourlyLimit": 5,
7
- "labels": ["patch"],
8
- "packageRules": [
9
- {
10
- "groupName": "Smartly packages",
11
- "packagePatterns": [
12
- "^@smartly\/"
13
- ],
14
- "excludePackagePatterns": [
15
- "^@smartly\/asset-"
16
- ],
17
- "schedule": "at any time"
18
- },
19
- {
20
- "groupName": "Smartly Asset Library Components",
21
- "packagePatterns": [
22
- "^@smartly\/asset-"
23
- ],
24
- "schedule": "at any time"
25
- },
26
- {
27
- "groupName": "Smartly Oats",
28
- "packagePatterns": [
29
- "^@smartlyio\/oats"
30
- ],
31
- "schedule": "at any time"
32
- },
33
- {
34
- "depTypeList": ["devDependencies"],
35
- "schedule" : "before 8am on monday",
36
- "groupName": "devDependencies",
37
- "automerge": true,
38
- "labels": ["dependencies", "no release"]
39
- }
40
- ]
41
- }