@smartlyio/oats-runtime 5.0.0 → 5.1.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.
- package/README.md +0 -3
- package/dist/client.d.ts +4 -1
- package/dist/client.js +1 -1
- package/dist/client.js.map +1 -1
- package/package.json +3 -3
- package/src/client.ts +12 -3
- package/jest.config.js +0 -38
package/README.md
CHANGED
|
@@ -1,6 +1,3 @@
|
|
|
1
1
|
# Runtime for smartlyio/oats
|
|
2
2
|
|
|
3
3
|
This package provides the runtime code required for using [@smartlyio/oats](https://www.npmjs.com/package/@smartlyio/oats) generated Openapi3 clients and servers. For usage examples see [oats github page](https://github.com/smartlyio/oats).
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
package/dist/client.d.ts
CHANGED
|
@@ -11,7 +11,10 @@ declare type PathParam = (param: string | number) => ClientSpec | ClientEndpoint
|
|
|
11
11
|
export interface ClientSpec {
|
|
12
12
|
readonly [part: string]: ClientSpec | PathParam | ClientEndpoint<any, any, any, any>;
|
|
13
13
|
}
|
|
14
|
-
export declare type
|
|
14
|
+
export declare type RequestContext = {
|
|
15
|
+
path: string;
|
|
16
|
+
};
|
|
17
|
+
export declare type ClientAdapter = server.Endpoint<server.Headers | undefined, server.Params | undefined, server.Query | undefined, server.RequestBody<any> | undefined, server.Response<number, any, any, Record<string, any>>, RequestContext>;
|
|
15
18
|
export declare type ClientFactory<Spec> = (adapter: ClientAdapter) => Spec;
|
|
16
19
|
interface RequestBody<T, ContentType> {
|
|
17
20
|
contentType: ContentType;
|
package/dist/client.js
CHANGED
|
@@ -104,7 +104,7 @@ function makeMethod(adapter, handler, pathParams) {
|
|
|
104
104
|
headers: (0, safe_navigation_1.default)(ctx).headers.$,
|
|
105
105
|
query: (0, safe_navigation_1.default)(ctx).query.$,
|
|
106
106
|
body: (0, safe_navigation_1.default)(ctx).body.$,
|
|
107
|
-
requestContext: {}
|
|
107
|
+
requestContext: { path: handler.path }
|
|
108
108
|
});
|
|
109
109
|
}
|
|
110
110
|
function fromTree(adapter, tree, pathParams) {
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":";;;AAAA,mCAAmC;AACnC,gEAA8C;AAC9C,qCAAkC;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@smartlyio/oats-runtime",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.1.3",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "Runtime for Oats a Openapi3 based generator for typescript aware servers and clients",
|
|
6
6
|
"private": false,
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"devDependencies": {
|
|
42
42
|
"@types/jest": "27.4.1",
|
|
43
43
|
"@types/lodash": "4.14.182",
|
|
44
|
-
"@types/node": "16.11.
|
|
44
|
+
"@types/node": "16.11.45",
|
|
45
45
|
"fast-check": "2.25.0",
|
|
46
46
|
"jest": "27.5.1",
|
|
47
47
|
"jsverify": "0.8.4",
|
|
@@ -51,5 +51,5 @@
|
|
|
51
51
|
"tsconfig-paths": "3.14.1",
|
|
52
52
|
"typescript": "4.6.4"
|
|
53
53
|
},
|
|
54
|
-
"gitHead": "
|
|
54
|
+
"gitHead": "4435ca6c009e17d76408d41ed47301065ddcead5"
|
|
55
55
|
}
|
package/src/client.ts
CHANGED
|
@@ -28,7 +28,16 @@ export interface ClientSpec {
|
|
|
28
28
|
readonly [part: string]: ClientSpec | PathParam | ClientEndpoint<any, any, any, any>;
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
-
export type
|
|
31
|
+
export type RequestContext = { path: string };
|
|
32
|
+
|
|
33
|
+
export type ClientAdapter = server.Endpoint<
|
|
34
|
+
server.Headers | undefined,
|
|
35
|
+
server.Params | undefined,
|
|
36
|
+
server.Query | undefined,
|
|
37
|
+
server.RequestBody<any> | undefined,
|
|
38
|
+
server.Response<number, any, any, Record<string, any>>,
|
|
39
|
+
RequestContext
|
|
40
|
+
>;
|
|
32
41
|
export type ClientFactory<Spec> = (adapter: ClientAdapter) => Spec;
|
|
33
42
|
|
|
34
43
|
interface RequestBody<T, ContentType> {
|
|
@@ -177,7 +186,7 @@ function fillInPathParams(params: { [key: string]: string }, path: string) {
|
|
|
177
186
|
|
|
178
187
|
function makeMethod(adapter: ClientAdapter, handler: server.Handler, pathParams: string[]) {
|
|
179
188
|
const params = paramObject(pathParams, handler.path);
|
|
180
|
-
const call = server.safe(
|
|
189
|
+
const call = server.safe<any, any, any, any, any, RequestContext>(
|
|
181
190
|
handler.headers,
|
|
182
191
|
handler.params,
|
|
183
192
|
handler.query,
|
|
@@ -196,7 +205,7 @@ function makeMethod(adapter: ClientAdapter, handler: server.Handler, pathParams:
|
|
|
196
205
|
headers: safe(ctx).headers.$,
|
|
197
206
|
query: safe(ctx).query.$,
|
|
198
207
|
body: safe(ctx).body.$,
|
|
199
|
-
requestContext: {}
|
|
208
|
+
requestContext: { path: handler.path }
|
|
200
209
|
});
|
|
201
210
|
}
|
|
202
211
|
|
package/jest.config.js
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
module.exports = {
|
|
2
|
-
moduleFileExtensions: ['js', 'ts', 'tsx'],
|
|
3
|
-
moduleNameMapper: {
|
|
4
|
-
"@smartlyio/oats$": "<rootDir>/packages/oats/index.ts",
|
|
5
|
-
"@smartlyio/oats-runtime$": "<rootDir>/packages/oats-runtime/src/runtime.ts",
|
|
6
|
-
"@smartlyio/oats-axios-adapter$": "<rootDir>/packages/oats-axios-adapter/index.ts",
|
|
7
|
-
"@smartlyio/oats-koa-adapter$": "<rootDir>/packages/oats-koa-adapter/index.ts",
|
|
8
|
-
"@smartlyio/oats-fast-check$": "<rootDir>/packages/oats-fast-check/src/index.ts"
|
|
9
|
-
},
|
|
10
|
-
|
|
11
|
-
testRegex: '.*\\.spec.(tsx?)$',
|
|
12
|
-
|
|
13
|
-
collectCoverageFrom: [
|
|
14
|
-
'packages/*/src/**/*.{ts,tsxx}',
|
|
15
|
-
'!packages/*/src/**/*.story.*'
|
|
16
|
-
],
|
|
17
|
-
|
|
18
|
-
coverageThreshold: {
|
|
19
|
-
global: {
|
|
20
|
-
branches: 20,
|
|
21
|
-
statements: 20,
|
|
22
|
-
},
|
|
23
|
-
},
|
|
24
|
-
|
|
25
|
-
modulePathIgnorePatterns: ['<rootDir>/packages/*/dist'],
|
|
26
|
-
|
|
27
|
-
transform: {
|
|
28
|
-
'^.+\\.(ts|js)x?$': 'ts-jest',
|
|
29
|
-
},
|
|
30
|
-
|
|
31
|
-
globals: {
|
|
32
|
-
'ts-jest': {
|
|
33
|
-
isolatedModules: true,
|
|
34
|
-
diagnostics: true,
|
|
35
|
-
},
|
|
36
|
-
},
|
|
37
|
-
setupFilesAfterEnv: [],
|
|
38
|
-
};
|