oc-server 2.0.4 → 2.0.6

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/Server.d.ts CHANGED
@@ -35,6 +35,13 @@ type TransformOcParameters<T extends OcParameters> = Prettify<Pick<{
35
35
  [K in keyof T]: T[K]['mandatory'] extends true ? never : K;
36
36
  }[keyof T]>>>;
37
37
  interface ServerOptions<S extends boolean> {
38
+ /**
39
+ * If true, the server will stream the response to the client.
40
+ * This is useful for long polling or streaming responses.
41
+ * It will also serialize data structures like Map, Set, etc.
42
+ *
43
+ * @default false
44
+ */
38
45
  stream?: S;
39
46
  }
40
47
  export declare class Server<E = {
@@ -45,7 +52,7 @@ export declare class Server<E = {
45
52
  private _middleware;
46
53
  constructor(_options?: ServerOptions<Streaming>);
47
54
  middleware<I = MiddlewareInput, O = MiddlewareOutput>(action: Action<I, O, E, P, unknown>): Omit<Server<E, P, A, InitialInput, InitialOutput, I, O, Streaming>, P extends Record<string, unknown> ? IsGeneralStringName<E> extends false ? 'middleware' | 'definePlugins' | 'defineEnv' : 'middleware' | 'definePlugins' : IsGeneralStringName<E> extends false ? 'middleware' | 'defineEnv' : 'middleware'>;
48
- withParameters<T extends OcParameters>(params: T): Server<E, P, A, TransformOcParameters<T>, InitialOutput, TransformOcParameters<T>, MiddlewareOutput, Streaming>;
55
+ withParameters<T extends OcParameters>(params: T): Server<E, P, A, TransformOcParameters<T>, InitialOutput, MiddlewareInput, MiddlewareOutput, Streaming>;
49
56
  defineEnv<Env>(): P extends Record<string, any> ? Omit<Server<Env, P, A, InitialInput, InitialOutput, MiddlewareInput, MiddlewareOutput, Streaming>, 'defineEnv' | 'definePlugins'> : Omit<Server<Env, P, A, InitialInput, InitialOutput, MiddlewareInput, MiddlewareOutput, Streaming>, 'defineEnv'>;
50
57
  definePlugins<Plugins>(): IsGeneralStringName<E> extends true ? Omit<Server<E, Plugins, A, InitialInput, InitialOutput, MiddlewareInput, MiddlewareOutput, Streaming>, 'definePlugins'> : Omit<Server<E, Plugins, A, InitialInput, InitialOutput, MiddlewareInput, MiddlewareOutput, Streaming>, 'definePlugins' | 'defineEnv'>;
51
58
  handler<I = InitialInput, O = InitialOutput>(action: Action<I, O, E, P, MiddlewareOutput>): HandledServer<E, P, A, I, O, MiddlewareInput, MiddlewareOutput, Streaming>;
@@ -68,6 +75,8 @@ export type RegisteredServer = Register extends {
68
75
  } ? TServer : AnyServer;
69
76
  export type GetMiddlewareInput<TServer extends AnyServer> = TServer extends HandledServer<any, any, any, any, any, infer I> ? I : any;
70
77
  type GetInitialData<TServer extends AnyServer> = TServer extends HandledServer<any, any, any, any, infer O, any, any, infer Streaming> ? Streaming extends true ? Exclude<O, undefined | null> : Exclude<ToPrettyJson<O>, undefined | null> : any;
78
+ type GetHandlerParameters<TServer extends AnyServer> = TServer extends HandledServer<any, any, any, infer I, any, any, any, any> ? I : any;
79
+ export type HandlerParameters = GetHandlerParameters<RegisteredServer>;
71
80
  export type InitialData = GetInitialData<RegisteredServer>;
72
81
  export type ComponentSettings = {
73
82
  id: string;
@@ -1,7 +1,5 @@
1
1
  import { AnyServer, RegisteredServer, Action, GetMiddlewareInput } from './Server';
2
- import { Prettify, ToPrettyJson } from './types';
3
- type IfAny<T, Y, N> = 0 extends 1 & T ? Y : N;
4
- type IsAny<T> = IfAny<T, true, never>;
2
+ import { IsAny, Prettify, ToPrettyJson } from './types';
5
3
  type InferInput<R> = R extends Action<infer I, any, any, any, any> ? I : any;
6
4
  type InferOutput<R> = R extends Action<any, infer O, any, any, any> ? ToPrettyJson<O> : never;
7
5
  type IsEmptyObject<T> = keyof T extends never ? true : false;
package/dist/types.d.ts CHANGED
@@ -46,4 +46,6 @@ export type DataContext<T = any, E = Env, P = any, S = unknown> = {
46
46
  } : {});
47
47
  type Callback<D, E = Error> = (error: E | null, data?: D) => void;
48
48
  export type DataProvider<Parameters = any, Return = any, Environment = Env> = (context: DataContext<Parameters, Environment>, callback: Callback<Return>) => void;
49
+ type IfAny<T, Y, N> = 0 extends 1 & T ? Y : N;
50
+ export type IsAny<T> = IfAny<T, true, never>;
49
51
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oc-server",
3
- "version": "2.0.4",
3
+ "version": "2.0.6",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",