nmtjs 0.16.0-beta.7 → 0.16.0-beta.9

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/index.d.ts CHANGED
@@ -6,7 +6,7 @@ export declare namespace neemata {
6
6
  const server: typeof defineServer;
7
7
  const injectables: Readonly<{
8
8
  logger: ((label: string) => import("@nmtjs/core").FactoryInjectable<import("pino").Logger, {
9
- logger: import("@nmtjs/core").LazyInjectable<import("pino").Logger>;
9
+ logger: import("@nmtjs/core").LazyInjectable<import("pino").Logger, import("@nmtjs/core").Scope.Global>;
10
10
  }>) & import("@nmtjs/core").LazyInjectable<import("pino").Logger, import("@nmtjs/core").Scope.Global>;
11
11
  inject: import("@nmtjs/core").LazyInjectable<(<T extends import("@nmtjs/core").AnyInjectable>(injectable: T, context: { [K in keyof T["dependencies"]]?: import("@nmtjs/core").ResolveInjectableType<T["dependencies"][K]> | import("@nmtjs/core").AnyInjectable<import("@nmtjs/core").ResolveInjectableType<T["dependencies"][K]>> | undefined; }, scope?: Exclude<import("@nmtjs/core").Scope, import("@nmtjs/core").Scope.Transient>) => Promise<import("@nmtjs/core").ResolveInjectableType<T>>) & {
12
12
  explicit: <T extends import("@nmtjs/core").AnyInjectable>(injectable: T, context: { [K in keyof T["dependencies"]]?: import("@nmtjs/core").ResolveInjectableType<T["dependencies"][K]> | import("@nmtjs/core").AnyInjectable<import("@nmtjs/core").ResolveInjectableType<T["dependencies"][K]>> | undefined; }, scope?: Exclude<import("@nmtjs/core").Scope, import("@nmtjs/core").Scope.Transient>) => Promise<{
@@ -91,6 +91,13 @@ export declare namespace neemata {
91
91
  const contractProcedure: typeof createContractProcedure;
92
92
  const middleware: typeof createMiddleware;
93
93
  const meta: typeof createMeta;
94
+ const config: import("@nmtjs/core").Meta<import("./runtime/index.ts").RuntimeConfig, import("@nmtjs/core").MetadataKind.STATIC, Readonly<{
95
+ callId: string;
96
+ connection: import("@nmtjs/gateway").GatewayConnection;
97
+ container: import("@nmtjs/core").Container;
98
+ path: readonly import("./runtime/index.ts").ApiMetaRouteContext[];
99
+ procedure: import("./runtime/index.ts").ApiMetaProcedureContext;
100
+ }>>;
94
101
  const guard: typeof createGuard;
95
102
  const filter: typeof createFilter;
96
103
  const job: typeof createJob;
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { CoreInjectables, createConsolePrettyDestination, createFactoryInjectable, createLazyInjectable, createValueInjectable, } from '@nmtjs/core';
2
2
  import { createTransport, GatewayInjectables } from '@nmtjs/gateway';
3
- import { createContractProcedure, createContractRouter, createFilter, createGuard, createHook, createJob, createJobRouterOperation, createJobsRouter, createMeta, createMiddleware, createPlugin, createProcedure, createRootRouter, createRouter, createStep, defineApplication, defineServer, RuntimeInjectables, } from './runtime/index.js';
3
+ import { config as runtimeConfig, createContractProcedure, createContractRouter, createFilter, createGuard, createHook, createJob, createJobRouterOperation, createJobsRouter, createMeta, createMiddleware, createPlugin, createProcedure, createRootRouter, createRouter, createStep, defineApplication, defineServer, RuntimeInjectables, } from './runtime/index.js';
4
4
  import { createCounterMetric, createGaugeMetric, createHistogramMetric, createSummaryMetric, } from './runtime/metrics/metric.js';
5
5
  export var neemata;
6
6
  (function (neemata) {
@@ -29,6 +29,7 @@ export var neemata;
29
29
  neemata.contractProcedure = createContractProcedure;
30
30
  neemata.middleware = createMiddleware;
31
31
  neemata.meta = createMeta;
32
+ neemata.config = runtimeConfig;
32
33
  neemata.guard = createGuard;
33
34
  neemata.filter = createFilter;
34
35
  neemata.job = createJob;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,eAAe,EACf,8BAA8B,EAC9B,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAEpE,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,YAAY,EACZ,WAAW,EACX,UAAU,EACV,SAAS,EACT,wBAAwB,EACxB,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACV,iBAAiB,EACjB,YAAY,EACZ,kBAAkB,GACnB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,6BAA6B,CAAA;AAEpC,MAAM,KAAW,OAAO,CAqCvB;AArCD,WAAiB,OAAO;IACT,WAAG,GAAG,iBAAiB,CAAA;IACvB,cAAM,GAAG,YAAY,CAAA;IACrB,mBAAW,GAAG,MAAM,CAAC,MAAM,CAAC;QACvC,GAAG,eAAe;QAClB,GAAG,kBAAkB;QACrB,GAAG,kBAAkB;KACtB,CAAC,CAAA;IACW,cAAM,GAAG,mBAAW,CAAA;IACpB,iBAAS,GAAG,eAAe,CAAA;IAC3B,cAAM,GAAG,YAAY,CAAA;IACrB,eAAO,GAAG,MAAM,CAAC,MAAM,CAAC;QACnC,OAAO,EAAE,8BAA8B;KACxC,CAAC,CAAA;IACW,aAAK,GAAG,qBAAqB,CAAA;IAC7B,YAAI,GAAG,oBAAoB,CAAA;IAC3B,eAAO,GAAG,uBAAuB,CAAA;IACjC,kBAAU,GAAG,gBAAgB,CAAA;IAC7B,cAAM,GAAG,YAAY,CAAA;IACrB,sBAAc,GAAG,oBAAoB,CAAA;IACrC,iBAAS,GAAG,gBAAgB,CAAA;IAC5B,0BAAkB,GAAG,wBAAwB,CAAA;IAC7C,iBAAS,GAAG,eAAe,CAAA;IAC3B,yBAAiB,GAAG,uBAAuB,CAAA;IAC3C,kBAAU,GAAG,gBAAgB,CAAA;IAC7B,YAAI,GAAG,UAAU,CAAA;IACjB,aAAK,GAAG,WAAW,CAAA;IACnB,cAAM,GAAG,YAAY,CAAA;IACrB,WAAG,GAAG,SAAS,CAAA;IACf,YAAI,GAAG,UAAU,CAAA;IACjB,YAAI,GAAG,UAAU,CAAA;IACjB,eAAO,GAAG,MAAM,CAAC,MAAM,CAAC;QACnC,OAAO,EAAE,mBAAmB;QAC5B,KAAK,EAAE,iBAAiB;QACxB,SAAS,EAAE,qBAAqB;QAChC,OAAO,EAAE,mBAAmB;KAC7B,CAAC,CAAA;AACJ,CAAC,EArCgB,OAAO,KAAP,OAAO,QAqCvB;AAED,OAAO,EAAE,CAAC,EAAE,MAAM,iBAAiB,CAAA;AACnC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,EAEL,WAAW,EACX,sBAAsB,GACvB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AACzE,OAAO,EAAE,CAAC,EAAE,MAAM,aAAa,CAAA;AAE/B,OAAO,EACL,QAAQ,EACR,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,SAAS,EACT,UAAU,GACX,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EAAE,OAAO,IAAI,CAAC,EAAE,CAAA;AACvB,eAAe,OAAO,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,eAAe,EACf,8BAA8B,EAC9B,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAEpE,OAAO,EACL,MAAM,IAAI,aAAa,EACvB,uBAAuB,EACvB,oBAAoB,EACpB,YAAY,EACZ,WAAW,EACX,UAAU,EACV,SAAS,EACT,wBAAwB,EACxB,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACV,iBAAiB,EACjB,YAAY,EACZ,kBAAkB,GACnB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,6BAA6B,CAAA;AAEpC,MAAM,KAAW,OAAO,CAsCvB;AAtCD,WAAiB,OAAO;IACT,WAAG,GAAG,iBAAiB,CAAA;IACvB,cAAM,GAAG,YAAY,CAAA;IACrB,mBAAW,GAAG,MAAM,CAAC,MAAM,CAAC;QACvC,GAAG,eAAe;QAClB,GAAG,kBAAkB;QACrB,GAAG,kBAAkB;KACtB,CAAC,CAAA;IACW,cAAM,GAAG,mBAAW,CAAA;IACpB,iBAAS,GAAG,eAAe,CAAA;IAC3B,cAAM,GAAG,YAAY,CAAA;IACrB,eAAO,GAAG,MAAM,CAAC,MAAM,CAAC;QACnC,OAAO,EAAE,8BAA8B;KACxC,CAAC,CAAA;IACW,aAAK,GAAG,qBAAqB,CAAA;IAC7B,YAAI,GAAG,oBAAoB,CAAA;IAC3B,eAAO,GAAG,uBAAuB,CAAA;IACjC,kBAAU,GAAG,gBAAgB,CAAA;IAC7B,cAAM,GAAG,YAAY,CAAA;IACrB,sBAAc,GAAG,oBAAoB,CAAA;IACrC,iBAAS,GAAG,gBAAgB,CAAA;IAC5B,0BAAkB,GAAG,wBAAwB,CAAA;IAC7C,iBAAS,GAAG,eAAe,CAAA;IAC3B,yBAAiB,GAAG,uBAAuB,CAAA;IAC3C,kBAAU,GAAG,gBAAgB,CAAA;IAC7B,YAAI,GAAG,UAAU,CAAA;IACjB,cAAM,GAAG,aAAa,CAAA;IACtB,aAAK,GAAG,WAAW,CAAA;IACnB,cAAM,GAAG,YAAY,CAAA;IACrB,WAAG,GAAG,SAAS,CAAA;IACf,YAAI,GAAG,UAAU,CAAA;IACjB,YAAI,GAAG,UAAU,CAAA;IACjB,eAAO,GAAG,MAAM,CAAC,MAAM,CAAC;QACnC,OAAO,EAAE,mBAAmB;QAC5B,KAAK,EAAE,iBAAiB;QACxB,SAAS,EAAE,qBAAqB;QAChC,OAAO,EAAE,mBAAmB;KAC7B,CAAC,CAAA;AACJ,CAAC,EAtCgB,OAAO,KAAP,OAAO,QAsCvB;AAED,OAAO,EAAE,CAAC,EAAE,MAAM,iBAAiB,CAAA;AACnC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,EAEL,WAAW,EACX,sBAAsB,GACvB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AACzE,OAAO,EAAE,CAAC,EAAE,MAAM,aAAa,CAAA;AAE/B,OAAO,EACL,QAAQ,EACR,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,SAAS,EACT,UAAU,GACX,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EAAE,OAAO,IAAI,CAAC,EAAE,CAAA;AACvB,eAAe,OAAO,CAAA"}
@@ -3,12 +3,13 @@ import { randomUUID } from 'node:crypto';
3
3
  import { inspect } from 'node:util';
4
4
  import { withTimeout } from '@nmtjs/common';
5
5
  import { IsStreamProcedureContract } from '@nmtjs/contract';
6
- import { getMetaBindingMeta, isStaticMetaBinding, Scope } from '@nmtjs/core';
6
+ import { getMetaBindingMeta, getStaticMetaValue, isStaticMetaBinding, Scope, } from '@nmtjs/core';
7
7
  import { createGatewayStaticMetaView, isAsyncIterable, rpcStreamAbortSignal, } from '@nmtjs/gateway';
8
8
  import { ErrorCode } from '@nmtjs/protocol';
9
9
  import { ProtocolError } from '@nmtjs/protocol/server';
10
10
  import { NeemataTypeError, registerDefaultLocale, type } from '@nmtjs/type';
11
11
  import { prettifyError } from 'zod/mini';
12
+ import { config, defaultRuntimeConfig } from './config.js';
12
13
  import { kDefaultProcedure } from './constants.js';
13
14
  registerDefaultLocale();
14
15
  export class ApiError extends ProtocolError {
@@ -104,10 +105,10 @@ export class ApplicationApi {
104
105
  const context = await container.createContext(dependencies);
105
106
  const result = await handler(context, input);
106
107
  if (isIterableProcedure) {
107
- return this.handleIterableOutput(procedure, result);
108
+ return this.handleIterableOutput(procedure, result, metaBindings.config);
108
109
  }
109
110
  else {
110
- return this.handleOutput(procedure, result);
111
+ return this.handleOutput(procedure, result, metaBindings.config);
111
112
  }
112
113
  }
113
114
  };
@@ -133,10 +134,12 @@ export class ApplicationApi {
133
134
  beforeDecode.push(binding);
134
135
  }
135
136
  }
137
+ const runtimeConfig = getStaticMetaValue(staticBindings, config);
136
138
  return Object.freeze({
137
139
  static: Object.freeze(staticBindings),
138
140
  beforeDecode: Object.freeze(beforeDecode),
139
141
  afterDecode: Object.freeze(afterDecode),
142
+ config: Object.freeze({ ...defaultRuntimeConfig, ...runtimeConfig }),
140
143
  });
141
144
  }
142
145
  applyStaticMetaBindings(container, bindings) {
@@ -211,7 +214,7 @@ export class ApplicationApi {
211
214
  }
212
215
  }
213
216
  }
214
- handleIterableOutput(procedure, response) {
217
+ handleIterableOutput(procedure, response, runtimeConfig) {
215
218
  if (!isAsyncIterable(response))
216
219
  throw new Error('Response is an async iterable');
217
220
  const chunkType = procedure.contract.output;
@@ -219,10 +222,12 @@ export class ApplicationApi {
219
222
  throw new Error('Stream procedure must have a defined output type');
220
223
  return async function* (onDone) {
221
224
  try {
222
- if (chunkType instanceof type.AnyType === false) {
225
+ if (runtimeConfig.serializeOutput === false) {
226
+ yield* response;
227
+ }
228
+ else if (chunkType instanceof type.AnyType === false) {
223
229
  for await (const chunk of response) {
224
- const encoded = chunkType.encode(chunk);
225
- yield encoded;
230
+ yield chunkType.encode(chunk);
226
231
  }
227
232
  }
228
233
  else {
@@ -234,8 +239,10 @@ export class ApplicationApi {
234
239
  }
235
240
  };
236
241
  }
237
- handleOutput(procedure, response) {
242
+ handleOutput(procedure, response, runtimeConfig) {
238
243
  if (procedure.contract.output instanceof type.NeverType === false) {
244
+ if (runtimeConfig.serializeOutput === false)
245
+ return response;
239
246
  const type = procedure.contract.output;
240
247
  return type.encode(response);
241
248
  }
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../src/runtime/application/api/api.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAA;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAiBnC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAA;AAC3D,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAC5E,OAAO,EACL,2BAA2B,EAC3B,eAAe,EACf,oBAAoB,GACrB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AACtD,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAUxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAElD,qBAAqB,EAAE,CAAA;AAgCvB,MAAM,OAAO,QAAS,SAAQ,aAAa;IACzC,QAAQ;QACN,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,CAAA;IACjF,CAAC;CACF;AAED,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,IAAI,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAA;AAE9E,MAAM,OAAO,cAAc;IACN,OAAO;IAA1B,YAAmB,OAAmB;uBAAnB,OAAO;IAAe,CAAC;IAE1C,IAAI,CAAC,aAAqB;QACxB,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;QAC5D,IAAI,SAAS;YAAE,OAAO,SAAS,CAAA;QAE/B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;QAC/D,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAA;QAE7B,MAAM,QAAQ,EAAE,CAAA;IAClB,CAAC;IAED,KAAK,CAAC,OAAO,CACX,OAA8B;QAE9B,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QAExD,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;QAE9D,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,MAAM,EAAE,yBAAyB,CAAC,SAAS,CAAC,QAAQ,CAAC;YACrD,IAAI,EAAE,2BAA2B,CAAC,YAAY,CAAC,MAAM,CAAC;SACvD,CAAoC,CAAA;IACvC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAA8B;QACvC,MAAM,MAAM,GAAG,UAAU,EAAE,CAAA;QAE3B,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAA;QAE1D,MAAM,CACJ,SAAS,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,EAC9B,oDAAoD,CACrD,CAAA;QAED,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QAExD,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;QAE9D,MAAM,WAAW,GAAmB,MAAM,CAAC,MAAM,CAAC;YAChD,MAAM;YACN,OAAO;YACP,SAAS;YACT,MAAM;YACN,UAAU;YACV,SAAS;YACT,IAAI;SACL,CAAC,CAAA;QAEF,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAA;QAClE,MAAM,mBAAmB,GAAG,SAAS,CAAC,aAAa;YACjD,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC;YAC9C,CAAC,CAAC,SAAS,CAAA;QAEb,IAAI,mBAAmB,EAAE,CAAC;YACxB,SAAS,CAAC,OAAO,CAAC,oBAAoB,EAAE,mBAAmB,CAAC,CAAA;QAC9D,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAC9C,WAAW,EACX,YAAY,CACb,CAAA;YACD,OAAO,OAAO;gBACZ,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;gBAClD,CAAC,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,CAAA;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;YAC5D,IAAI,OAAO,KAAK,KAAK,IAAI,KAAK,YAAY,aAAa,KAAK,KAAK,EAAE,CAAC;gBAClE,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;gBAC/D,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;gBACnC,MAAM,IAAI,QAAQ,CAChB,SAAS,CAAC,mBAAmB,EAC7B,uBAAuB,CACxB,CAAA;YACH,CAAC;YACD,MAAM,OAAO,CAAA;QACf,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAClC,WAA2B,EAC3B,YAAkC;QAElC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,WAAW,CAAA;QAEtE,MAAM,OAAO,GAAmB,MAAM,CAAC,MAAM,CAAC;YAC5C,MAAM;YACN,UAAU;YACV,SAAS;YACT,IAAI;YACJ,SAAS;SACV,CAAC,CAAA;QAEF,MAAM,mBAAmB,GAAG,yBAAyB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;QAEzE,IAAI,CAAC,uBAAuB,CAAC,SAAS,EAAE,YAAY,CAAC,MAAM,CAAC,CAAA;QAE5D,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAA;QAExD,MAAM,eAAe,GAAG,KAAK,EAAE,OAAY,EAAE,EAAE;YAC7C,MAAM,UAAU,GAAG,CAAC,MAAM,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAA;YACnD,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,IAAI,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE,CAC9B,eAAe,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;gBACxD,OAAO,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;YAClE,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,CAAC,wBAAwB,CACjC,SAAS,EACT,YAAY,CAAC,YAAY,EACzB,OAAO,EACP,OAAO,CACR,CAAA;gBACD,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;gBAClD,MAAM,IAAI,CAAC,wBAAwB,CACjC,SAAS,EACT,YAAY,CAAC,WAAW,EACxB,OAAO,EACP,KAAK,CACN,CAAA;gBACD,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;gBACpD,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,SAAS,CAAA;gBAC3C,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,aAAa,CAAC,YAAY,CAAC,CAAA;gBAC3D,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;gBAC5C,IAAI,mBAAmB,EAAE,CAAC;oBACxB,OAAO,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;gBACrD,CAAC;qBAAM,CAAC;oBACN,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;gBAC7C,CAAC;YACH,CAAC;QACH,CAAC,CAAA;QAED,OAAO,eAAe,CAAA;IACxB,CAAC;IAEO,mBAAmB,CACzB,IAAiB,EACjB,SAAuB;QAEvB,MAAM,QAAQ,GAAG;YACf,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI;YACpB,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;YACxC,GAAG,SAAS,CAAC,IAAI;SAClB,CAAA;QAED,MAAM,cAAc,GAAwB,EAAE,CAAA;QAC9C,MAAM,YAAY,GAA4B,EAAE,CAAA;QAChD,MAAM,WAAW,GAA4B,EAAE,CAAA;QAE/C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC;gBACjC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAC9B,CAAC;iBAAM,IAAI,OAAO,CAAC,KAAK,KAAK,aAAa,EAAE,CAAC;gBAC3C,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAC3B,CAAC;iBAAM,CAAC;gBACN,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAC5B,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC;YACrC,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC;YACzC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC;SACxC,CAAC,CAAA;IACJ,CAAC;IAEO,uBAAuB,CAC7B,SAAoB,EACpB,QAAsC;QAEtC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,SAAS,CAAC,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;QAC/D,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,wBAAwB,CACpC,SAAoB,EACpB,QAA0C,EAC1C,OAAuB,EACvB,KAAc;QAEd,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;YACnE,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;YAC5D,SAAS,CAAC,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAA;QACvD,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,WAA2B;QAC1D,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,WAAW,CAAA;QAClD,MAAM,WAAW,GAAG;YAClB,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW;YAC3B,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;YACpD,GAAG,SAAS,CAAC,WAAW;SACzB,CAAA;QACD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAC9B,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;YACnC,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,aAAa,CAAC,UAAU,CAAC,YAAY,CAAC,CAAA;YAClE,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,GAAG,EAAE,CAAA;QAC3C,CAAC,CAAC,CACH,CAAA;QACD,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAA;IAClC,CAAC;IAEO,WAAW,CAAC,QAAa,EAAE,OAAe;QAChD,MAAM,YAAY,GAAG,QAAQ,YAAY,OAAO,IAAI,OAAO,GAAG,CAAC,CAAA;QAC/D,IAAI,CAAC,YAAY;YAAE,OAAO,QAAQ,CAAA;QAClC,OAAO,WAAW,CAChB,QAAQ,EACR,OAAO,EACP,IAAI,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAC1D,CAAA;IACH,CAAC;IAEO,KAAK,CAAC,YAAY,CACxB,WAA2B,EAC3B,OAAuB,EACvB,OAAY;QAEZ,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,WAAW,CAAA;QAClD,MAAM,MAAM,GAAG;YACb,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM;YACtB,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YAC/C,GAAG,SAAS,CAAC,MAAM;SACpB,CAAA;QACD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;YAC7D,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,CAC5B,GAAG,EACH,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,CAAC,CACvC,CAAA;YACD,IAAI,MAAM,KAAK,KAAK;gBAAE,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;QAC/D,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,EAAE,SAAS,EAAkB,EAAE,KAAU;QACnE,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAC9B,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBAC1C,IAAI,KAAK,YAAY,MAAM,CAAC,UAAU,EAAE,CAAC;oBACvC,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;oBAC9D,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;oBACnD,IAAI,CAAC,YAAY,IAAI,YAAY,YAAY,QAAQ,KAAK,KAAK;wBAC7D,SAAQ;oBACV,OAAO,YAAY,CAAA;gBACrB,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAEO,WAAW,CAAC,SAAuB,EAAE,OAAY;QACvD,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,YAAY,IAAI,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;YACjE,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAA;YACrC,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;YAC7B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,YAAY,gBAAgB;oBACnC,MAAM,IAAI,QAAQ,CAChB,SAAS,CAAC,eAAe,EACzB,6BAA6B,aAAa,CAAC,KAAK,CAAC,EAAE,EACnD,KAAK,CAAC,MAAM,CACb,CAAA;gBACH,MAAM,KAAK,CAAA;YACb,CAAC;QACH,CAAC;IACH,CAAC;IAEO,oBAAoB,CAAC,SAAuB,EAAE,QAAa;QACjE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;QAClD,MAAM,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAA;QAC3C,IAAI,SAAS,YAAY,IAAI,CAAC,SAAS;YACrC,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;QAErE,OAAO,KAAK,SAAS,CAAC,EAAE,MAAmB;YACzC,IAAI,CAAC;gBACH,IAAI,SAAS,YAAY,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;oBAChD,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;wBACnC,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;wBACvC,MAAM,OAAO,CAAA;oBACf,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,KAAK,CAAC,CAAC,QAAQ,CAAA;gBACjB,CAAC;YACH,CAAC;oBAAS,CAAC;gBACT,MAAM,EAAE,EAAE,CAAA;YACZ,CAAC;QACH,CAAC,CAAA;IACH,CAAC;IAEO,YAAY,CAAC,SAAuB,EAAE,QAAa;QACzD,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,YAAY,IAAI,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;YAClE,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAA;YACtC,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QAC9B,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;CACF"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../src/runtime/application/api/api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { MetadataKind } from '@nmtjs/core';
2
+ export interface RuntimeConfig {
3
+ serializeOutput?: boolean;
4
+ }
5
+ export declare const config: import("@nmtjs/core").Meta<RuntimeConfig, MetadataKind.STATIC, Readonly<{
6
+ callId: string;
7
+ connection: import("@nmtjs/gateway").GatewayConnection;
8
+ container: import("@nmtjs/core").Container;
9
+ path: readonly import("./meta.ts").ApiMetaRouteContext[];
10
+ procedure: import("./meta.ts").ApiMetaProcedureContext;
11
+ }>>;
12
+ export declare const defaultRuntimeConfig: Readonly<{
13
+ serializeOutput: true;
14
+ }>;
@@ -0,0 +1,6 @@
1
+ import { createMeta } from '@nmtjs/core';
2
+ export const config = createMeta();
3
+ export const defaultRuntimeConfig = Object.freeze({
4
+ serializeOutput: true,
5
+ });
6
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/runtime/application/api/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAQxC,MAAM,CAAC,MAAM,MAAM,GAAG,UAAU,EAI7B,CAAA;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC;IAChD,eAAe,EAAE,IAAI;CACY,CAAC,CAAA"}
@@ -11,6 +11,7 @@ export type AnyFactoryMetaBinding<T extends AnyMeta = AnyMeta, Deps extends Depe
11
11
  export type AnyMetaBinding = StaticMetaBinding | AnyFactoryMetaBinding;
12
12
  export declare function createMeta<Value, Kind extends MetadataKind = MetadataKind>(): Meta<Value, Kind>;
13
13
  export * from './api.ts';
14
+ export * from './config.ts';
14
15
  export * from './constants.ts';
15
16
  export * from './filters.ts';
16
17
  export * from './guards.ts';
@@ -4,6 +4,7 @@ export function createMeta() {
4
4
  return createCoreMeta();
5
5
  }
6
6
  export * from './api.js';
7
+ export * from './config.js';
7
8
  export * from './constants.js';
8
9
  export * from './filters.js';
9
10
  export * from './guards.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/runtime/application/api/index.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,UAAU,IAAI,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAKxE,OAAO,EAAE,YAAY,EAAE,CAAA;AAmCvB,MAAM,UAAU,UAAU;IAIxB,OAAO,cAAc,EAAoD,CAAA;AAC3E,CAAC;AAED,cAAc,UAAU,CAAA;AACxB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/runtime/application/api/index.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,UAAU,IAAI,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAKxE,OAAO,EAAE,YAAY,EAAE,CAAA;AAmCvB,MAAM,UAAU,UAAU;IAIxB,OAAO,cAAc,EAAoD,CAAA;AAC3E,CAAC;AAED,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA"}
package/package.json CHANGED
@@ -42,16 +42,16 @@
42
42
  "oxc-resolver": "11.19.1",
43
43
  "prom-client": "git@github.com:siimon/prom-client.git#d4d2dcb366384833951e0116caca707b5f62aa5e",
44
44
  "vite": "8.0.8",
45
- "@nmtjs/common": "0.16.0-beta.7",
46
- "@nmtjs/contract": "0.16.0-beta.7",
47
- "@nmtjs/gateway": "0.16.0-beta.7",
48
- "@nmtjs/json-format": "0.16.0-beta.7",
49
- "@nmtjs/msgpack-format": "0.16.0-beta.7",
50
- "@nmtjs/protocol": "0.16.0-beta.7",
51
- "@nmtjs/ws-transport": "0.16.0-beta.7",
52
- "@nmtjs/type": "0.16.0-beta.7",
53
- "@nmtjs/http-transport": "0.16.0-beta.7",
54
- "@nmtjs/core": "0.16.0-beta.7"
45
+ "@nmtjs/common": "0.16.0-beta.9",
46
+ "@nmtjs/core": "0.16.0-beta.9",
47
+ "@nmtjs/gateway": "0.16.0-beta.9",
48
+ "@nmtjs/http-transport": "0.16.0-beta.9",
49
+ "@nmtjs/contract": "0.16.0-beta.9",
50
+ "@nmtjs/msgpack-format": "0.16.0-beta.9",
51
+ "@nmtjs/json-format": "0.16.0-beta.9",
52
+ "@nmtjs/ws-transport": "0.16.0-beta.9",
53
+ "@nmtjs/protocol": "0.16.0-beta.9",
54
+ "@nmtjs/type": "0.16.0-beta.9"
55
55
  },
56
56
  "devDependencies": {
57
57
  "@nmtjs/proxy": "1.0.0-beta.6",
@@ -74,7 +74,7 @@
74
74
  "LICENSE.md",
75
75
  "README.md"
76
76
  ],
77
- "version": "0.16.0-beta.7",
77
+ "version": "0.16.0-beta.9",
78
78
  "scripts": {
79
79
  "clean-build": "rm -rf ./dist"
80
80
  }
package/src/index.ts CHANGED
@@ -11,6 +11,7 @@ import {
11
11
  import { createTransport, GatewayInjectables } from '@nmtjs/gateway'
12
12
 
13
13
  import {
14
+ config as runtimeConfig,
14
15
  createContractProcedure,
15
16
  createContractRouter,
16
17
  createFilter,
@@ -63,6 +64,7 @@ export namespace neemata {
63
64
  export const contractProcedure = createContractProcedure
64
65
  export const middleware = createMiddleware
65
66
  export const meta = createMeta
67
+ export const config = runtimeConfig
66
68
  export const guard = createGuard
67
69
  export const filter = createFilter
68
70
  export const job = createJob
@@ -19,7 +19,12 @@ import type {
19
19
  } from '@nmtjs/gateway'
20
20
  import { withTimeout } from '@nmtjs/common'
21
21
  import { IsStreamProcedureContract } from '@nmtjs/contract'
22
- import { getMetaBindingMeta, isStaticMetaBinding, Scope } from '@nmtjs/core'
22
+ import {
23
+ getMetaBindingMeta,
24
+ getStaticMetaValue,
25
+ isStaticMetaBinding,
26
+ Scope,
27
+ } from '@nmtjs/core'
23
28
  import {
24
29
  createGatewayStaticMetaView,
25
30
  isAsyncIterable,
@@ -30,6 +35,7 @@ import { ProtocolError } from '@nmtjs/protocol/server'
30
35
  import { NeemataTypeError, registerDefaultLocale, type } from '@nmtjs/type'
31
36
  import { prettifyError } from 'zod/mini'
32
37
 
38
+ import type { RuntimeConfig } from './config.ts'
33
39
  import type { kDefaultProcedure as kDefaultProcedureKey } from './constants.ts'
34
40
  import type { AnyFilter } from './filters.ts'
35
41
  import type { AnyGuard } from './guards.ts'
@@ -38,6 +44,7 @@ import type { AnyMiddleware } from './middlewares.ts'
38
44
  import type { AnyProcedure } from './procedure.ts'
39
45
  import type { AnyRouter } from './router.ts'
40
46
  import type { ApiCallContext } from './types.ts'
47
+ import { config, defaultRuntimeConfig } from './config.ts'
41
48
  import { kDefaultProcedure } from './constants.ts'
42
49
 
43
50
  registerDefaultLocale()
@@ -70,6 +77,7 @@ type ResolvedMetaBindings = Readonly<{
70
77
  static: readonly StaticMetaBinding[]
71
78
  beforeDecode: readonly AnyFactoryMetaBinding[]
72
79
  afterDecode: readonly AnyFactoryMetaBinding[]
80
+ config: Required<RuntimeConfig>
73
81
  }>
74
82
 
75
83
  export class ApiError extends ProtocolError {
@@ -206,9 +214,13 @@ export class ApplicationApi implements GatewayApi {
206
214
  const context = await container.createContext(dependencies)
207
215
  const result = await handler(context, input)
208
216
  if (isIterableProcedure) {
209
- return this.handleIterableOutput(procedure, result)
217
+ return this.handleIterableOutput(
218
+ procedure,
219
+ result,
220
+ metaBindings.config,
221
+ )
210
222
  } else {
211
- return this.handleOutput(procedure, result)
223
+ return this.handleOutput(procedure, result, metaBindings.config)
212
224
  }
213
225
  }
214
226
  }
@@ -240,10 +252,13 @@ export class ApplicationApi implements GatewayApi {
240
252
  }
241
253
  }
242
254
 
255
+ const runtimeConfig = getStaticMetaValue(staticBindings, config)
256
+
243
257
  return Object.freeze({
244
258
  static: Object.freeze(staticBindings),
245
259
  beforeDecode: Object.freeze(beforeDecode),
246
260
  afterDecode: Object.freeze(afterDecode),
261
+ config: Object.freeze({ ...defaultRuntimeConfig, ...runtimeConfig }),
247
262
  })
248
263
  }
249
264
 
@@ -348,7 +363,11 @@ export class ApplicationApi implements GatewayApi {
348
363
  }
349
364
  }
350
365
 
351
- private handleIterableOutput(procedure: AnyProcedure, response: any) {
366
+ private handleIterableOutput(
367
+ procedure: AnyProcedure,
368
+ response: any,
369
+ runtimeConfig: Required<RuntimeConfig>,
370
+ ) {
352
371
  if (!isAsyncIterable(response))
353
372
  throw new Error('Response is an async iterable')
354
373
  const chunkType = procedure.contract.output
@@ -357,10 +376,11 @@ export class ApplicationApi implements GatewayApi {
357
376
 
358
377
  return async function* (onDone?: () => void) {
359
378
  try {
360
- if (chunkType instanceof type.AnyType === false) {
379
+ if (runtimeConfig.serializeOutput === false) {
380
+ yield* response
381
+ } else if (chunkType instanceof type.AnyType === false) {
361
382
  for await (const chunk of response) {
362
- const encoded = chunkType.encode(chunk)
363
- yield encoded
383
+ yield chunkType.encode(chunk)
364
384
  }
365
385
  } else {
366
386
  yield* response
@@ -371,8 +391,13 @@ export class ApplicationApi implements GatewayApi {
371
391
  }
372
392
  }
373
393
 
374
- private handleOutput(procedure: AnyProcedure, response: any) {
394
+ private handleOutput(
395
+ procedure: AnyProcedure,
396
+ response: any,
397
+ runtimeConfig: Required<RuntimeConfig>,
398
+ ) {
375
399
  if (procedure.contract.output instanceof type.NeverType === false) {
400
+ if (runtimeConfig.serializeOutput === false) return response
376
401
  const type = procedure.contract.output
377
402
  return type.encode(response)
378
403
  }
@@ -0,0 +1,18 @@
1
+ import type { MetadataKind } from '@nmtjs/core'
2
+ import { createMeta } from '@nmtjs/core'
3
+
4
+ import type { ApiMetaContext } from './meta.ts'
5
+
6
+ export interface RuntimeConfig {
7
+ serializeOutput?: boolean
8
+ }
9
+
10
+ export const config = createMeta<
11
+ RuntimeConfig,
12
+ MetadataKind.STATIC,
13
+ ApiMetaContext
14
+ >()
15
+
16
+ export const defaultRuntimeConfig = Object.freeze({
17
+ serializeOutput: true,
18
+ } satisfies Required<RuntimeConfig>)
@@ -57,6 +57,7 @@ export function createMeta<
57
57
  }
58
58
 
59
59
  export * from './api.ts'
60
+ export * from './config.ts'
60
61
  export * from './constants.ts'
61
62
  export * from './filters.ts'
62
63
  export * from './guards.ts'