@smartlyio/oats-runtime 6.3.1 → 6.3.2

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/dist/client.d.ts CHANGED
@@ -42,5 +42,5 @@ export interface OpTree<T> {
42
42
  tree: OpTree<T>;
43
43
  };
44
44
  }
45
- export declare function createClientFactory<Spec>(handlers: server.Handler[]): ClientFactory<Spec>;
45
+ export declare function createClientFactory<Spec>(handlers: server.Handler[], opts?: server.HandlerOptions): ClientFactory<Spec>;
46
46
  export {};
package/dist/client.js CHANGED
@@ -110,9 +110,9 @@ function fillInPathParams(params, path) {
110
110
  return params[param];
111
111
  });
112
112
  }
113
- function makeMethod(adapter, handler, pathParams) {
113
+ function makeMethod(adapter, handler, pathParams, opts) {
114
114
  const params = paramObject(pathParams, handler.path);
115
- const call = server.safe(handler.headers, handler.params, handler.query, handler.body, handler.response, ctx => adapter({ ...ctx, path: fillInPathParams(params, handler.path), servers: handler.servers }), { mode: 'client' });
115
+ const call = server.safe(handler.headers, handler.params, handler.query, handler.body, handler.response, ctx => adapter({ ...ctx, path: fillInPathParams(params, handler.path), servers: handler.servers }), { ...opts, mode: 'client' });
116
116
  return (ctx) => call({
117
117
  path: handler.path,
118
118
  servers: handler.servers,
@@ -124,24 +124,24 @@ function makeMethod(adapter, handler, pathParams) {
124
124
  requestContext: { path: handler.path }
125
125
  });
126
126
  }
127
- function fromTree(adapter, tree, pathParams) {
127
+ function fromTree(adapter, tree, pathParams, opts) {
128
128
  const node = tree.param ? makeParam(adapter, tree.param, pathParams) : {};
129
129
  Object.keys(tree.methods).forEach(key => {
130
130
  (0, assert_1.assert)(!node[key], 'duplicate path part ' + key);
131
- node[key] = makeMethod(adapter, tree.methods[key], pathParams);
131
+ node[key] = makeMethod(adapter, tree.methods[key], pathParams, opts);
132
132
  });
133
133
  Object.keys(tree.parts).forEach(key => {
134
134
  (0, assert_1.assert)(!node[key], 'duplicate path part ' + key);
135
- node[key] = fromTree(adapter, tree.parts[key], pathParams);
135
+ node[key] = fromTree(adapter, tree.parts[key], pathParams, opts);
136
136
  });
137
137
  return node;
138
138
  }
139
- function createClientFactory(handlers) {
139
+ function createClientFactory(handlers, opts) {
140
140
  return (adapter) => {
141
141
  const tree = handlers.reduce((memo, handler) => {
142
142
  return addPath(memo, handler.path, handler.method, handler);
143
143
  }, emptyTree());
144
- return fromTree(adapter, tree, []);
144
+ return fromTree(adapter, tree, [], opts);
145
145
  };
146
146
  }
147
147
  exports.createClientFactory = createClientFactory;
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/server.d.ts CHANGED
@@ -87,6 +87,7 @@ export interface HandlerOptions {
87
87
  validationOptions?: {
88
88
  query?: MakeOptions;
89
89
  params?: MakeOptions;
90
+ body?: MakeOptions;
90
91
  };
91
92
  }
92
93
  export declare function createHandlerFactory<Spec extends Record<string, any>>(handlers: Handler[], opts?: HandlerOptions): HandlerFactory<Spec>;
package/dist/server.js CHANGED
@@ -95,7 +95,7 @@ function safe(headers, params, query, body, response, endpoint, { validationOpti
95
95
  convertFromNetwork: true
96
96
  }).success(throwRequestValidationError.bind(null, 'params')),
97
97
  query: serializeWhenClient(mode, query(ctx.query || {}, { ...validationOptions.query, ...internalMakeOptions }).success(throwRequestValidationError.bind(null, 'query'))),
98
- body: getOutBody(mode, body(voidify(ctx.body), internalMakeOptions).success(throwRequestValidationError.bind(null, 'body'))),
98
+ body: getOutBody(mode, body(voidify(ctx.body), { ...validationOptions.body, ...internalMakeOptions }).success(throwRequestValidationError.bind(null, 'body'))),
99
99
  requestContext: ctx.requestContext
100
100
  });
101
101
  const responseValue = response(result, { convertFromNetwork: mode === 'client' }).success(throwResponseValidationError.bind(null, `body ${ctx.path}`, result.value.value));
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.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": "6.3.1",
3
+ "version": "6.3.2",
4
4
  "license": "MIT",
5
5
  "description": "Runtime for Oats a Openapi3 based generator for typescript aware servers and clients",
6
6
  "private": false,
@@ -40,17 +40,17 @@
40
40
  "client"
41
41
  ],
42
42
  "devDependencies": {
43
- "@types/jest": "29.5.0",
44
- "@types/lodash": "4.14.192",
43
+ "@types/jest": "29.5.1",
44
+ "@types/lodash": "4.14.194",
45
45
  "@types/node": "18.16.1",
46
46
  "fast-check": "2.25.0",
47
47
  "jest": "29.5.0",
48
48
  "jsverify": "0.8.4",
49
- "prettier": "2.8.7",
49
+ "prettier": "2.8.8",
50
50
  "ts-jest": "29.1.0",
51
51
  "ts-node": "10.9.1",
52
52
  "tsconfig-paths": "4.2.0",
53
53
  "typescript": "4.9.5"
54
54
  },
55
- "gitHead": "03e6a375425b88cb03b8d69b7ef96a5f425081ab"
55
+ "gitHead": "1845da69167295bf6978962a11c574399bc94188"
56
56
  }
package/src/client.ts CHANGED
@@ -180,7 +180,12 @@ function fillInPathParams(params: { [key: string]: string }, path: string) {
180
180
  });
181
181
  }
182
182
 
183
- function makeMethod(adapter: ClientAdapter, handler: server.Handler, pathParams: string[]) {
183
+ function makeMethod(
184
+ adapter: ClientAdapter,
185
+ handler: server.Handler,
186
+ pathParams: string[],
187
+ opts?: server.HandlerOptions
188
+ ) {
184
189
  const params = paramObject(pathParams, handler.path);
185
190
  const call = server.safe<any, any, any, any, any, RequestContext>(
186
191
  handler.headers,
@@ -190,7 +195,7 @@ function makeMethod(adapter: ClientAdapter, handler: server.Handler, pathParams:
190
195
  handler.response,
191
196
  ctx =>
192
197
  adapter({ ...ctx, path: fillInPathParams(params, handler.path), servers: handler.servers }),
193
- { mode: 'client' }
198
+ { ...opts, mode: 'client' }
194
199
  );
195
200
  return (ctx: ClientArg<any, any, any>) =>
196
201
  call({
@@ -208,25 +213,29 @@ function makeMethod(adapter: ClientAdapter, handler: server.Handler, pathParams:
208
213
  function fromTree(
209
214
  adapter: ClientAdapter,
210
215
  tree: OpTree<server.Handler>,
211
- pathParams: string[]
216
+ pathParams: string[],
217
+ opts?: server.HandlerOptions
212
218
  ): ClientSpec {
213
219
  const node: any = tree.param ? makeParam(adapter, tree.param, pathParams) : {};
214
220
  Object.keys(tree.methods).forEach(key => {
215
221
  assert(!node[key], 'duplicate path part ' + key);
216
- node[key] = makeMethod(adapter, tree.methods[key], pathParams);
222
+ node[key] = makeMethod(adapter, tree.methods[key], pathParams, opts);
217
223
  });
218
224
  Object.keys(tree.parts).forEach(key => {
219
225
  assert(!node[key], 'duplicate path part ' + key);
220
- node[key] = fromTree(adapter, tree.parts[key], pathParams);
226
+ node[key] = fromTree(adapter, tree.parts[key], pathParams, opts);
221
227
  });
222
228
  return node;
223
229
  }
224
230
 
225
- export function createClientFactory<Spec>(handlers: server.Handler[]): ClientFactory<Spec> {
231
+ export function createClientFactory<Spec>(
232
+ handlers: server.Handler[],
233
+ opts?: server.HandlerOptions
234
+ ): ClientFactory<Spec> {
226
235
  return (adapter: ClientAdapter): Spec => {
227
236
  const tree: OpTree<server.Handler> = handlers.reduce((memo, handler) => {
228
237
  return addPath(memo, handler.path, handler.method, handler);
229
238
  }, emptyTree<server.Handler>());
230
- return fromTree(adapter, tree, []) as unknown as Spec;
239
+ return fromTree(adapter, tree, [], opts) as unknown as Spec;
231
240
  };
232
241
  }
package/src/server.ts CHANGED
@@ -204,7 +204,7 @@ export function safe<
204
204
  ),
205
205
  body: getOutBody<Body>(
206
206
  mode,
207
- body(voidify(ctx.body), internalMakeOptions).success(
207
+ body(voidify(ctx.body), { ...validationOptions.body, ...internalMakeOptions }).success(
208
208
  throwRequestValidationError.bind(null, 'body')
209
209
  )
210
210
  ),
@@ -323,6 +323,7 @@ export interface HandlerOptions {
323
323
  validationOptions?: {
324
324
  query?: MakeOptions;
325
325
  params?: MakeOptions;
326
+ body?: MakeOptions;
326
327
  };
327
328
  }
328
329