@nest-native/trpc 0.5.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.
Files changed (53) hide show
  1. package/README.md +200 -0
  2. package/dist/constants.d.ts +7 -0
  3. package/dist/constants.js +11 -0
  4. package/dist/constants.js.map +1 -0
  5. package/dist/context/trpc-context-creator.d.ts +93 -0
  6. package/dist/context/trpc-context-creator.js +260 -0
  7. package/dist/context/trpc-context-creator.js.map +1 -0
  8. package/dist/context/trpc-enhancer-runtime.factory.d.ts +10 -0
  9. package/dist/context/trpc-enhancer-runtime.factory.js +31 -0
  10. package/dist/context/trpc-enhancer-runtime.factory.js.map +1 -0
  11. package/dist/decorators/ctx.decorator.d.ts +9 -0
  12. package/dist/decorators/ctx.decorator.js +19 -0
  13. package/dist/decorators/ctx.decorator.js.map +1 -0
  14. package/dist/decorators/input.decorator.d.ts +9 -0
  15. package/dist/decorators/input.decorator.js +19 -0
  16. package/dist/decorators/input.decorator.js.map +1 -0
  17. package/dist/decorators/param-metadata.util.d.ts +7 -0
  18. package/dist/decorators/param-metadata.util.js +22 -0
  19. package/dist/decorators/param-metadata.util.js.map +1 -0
  20. package/dist/decorators/procedure.decorator.d.ts +34 -0
  21. package/dist/decorators/procedure.decorator.js +58 -0
  22. package/dist/decorators/procedure.decorator.js.map +1 -0
  23. package/dist/decorators/router.decorator.d.ts +11 -0
  24. package/dist/decorators/router.decorator.js +23 -0
  25. package/dist/decorators/router.decorator.js.map +1 -0
  26. package/dist/enums.d.ts +9 -0
  27. package/dist/enums.js +15 -0
  28. package/dist/enums.js.map +1 -0
  29. package/dist/generators/schema-generator.d.ts +29 -0
  30. package/dist/generators/schema-generator.js +171 -0
  31. package/dist/generators/schema-generator.js.map +1 -0
  32. package/dist/generators/zod-serializer.d.ts +9 -0
  33. package/dist/generators/zod-serializer.js +137 -0
  34. package/dist/generators/zod-serializer.js.map +1 -0
  35. package/dist/index.d.ts +9 -0
  36. package/dist/index.js +27 -0
  37. package/dist/index.js.map +1 -0
  38. package/dist/interfaces.d.ts +58 -0
  39. package/dist/interfaces.js +3 -0
  40. package/dist/interfaces.js.map +1 -0
  41. package/dist/trpc-http-adapter.d.ts +27 -0
  42. package/dist/trpc-http-adapter.js +209 -0
  43. package/dist/trpc-http-adapter.js.map +1 -0
  44. package/dist/trpc-request-storage.d.ts +12 -0
  45. package/dist/trpc-request-storage.js +6 -0
  46. package/dist/trpc-request-storage.js.map +1 -0
  47. package/dist/trpc-router.d.ts +40 -0
  48. package/dist/trpc-router.js +346 -0
  49. package/dist/trpc-router.js.map +1 -0
  50. package/dist/trpc.module.d.ts +24 -0
  51. package/dist/trpc.module.js +72 -0
  52. package/dist/trpc.module.js.map +1 -0
  53. package/package.json +74 -0
@@ -0,0 +1,346 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ var TrpcRouter_1;
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.TrpcRouter = void 0;
17
+ const common_1 = require("@nestjs/common");
18
+ const constants_1 = require("@nestjs/common/constants");
19
+ const core_1 = require("@nestjs/core");
20
+ const context_id_factory_1 = require("@nestjs/core/helpers/context-id-factory");
21
+ const constants_2 = require("@nestjs/core/injector/constants");
22
+ const server_1 = require("@trpc/server");
23
+ const constants_3 = require("./constants");
24
+ const trpc_context_creator_1 = require("./context/trpc-context-creator");
25
+ const trpc_enhancer_runtime_factory_1 = require("./context/trpc-enhancer-runtime.factory");
26
+ const enums_1 = require("./enums");
27
+ const schema_generator_1 = require("./generators/schema-generator");
28
+ const trpc_request_storage_1 = require("./trpc-request-storage");
29
+ let TrpcRouter = TrpcRouter_1 = class TrpcRouter {
30
+ constructor(discoveryService, metadataScanner, modulesContainer, reflector, applicationConfig, moduleRef, options) {
31
+ this.discoveryService = discoveryService;
32
+ this.metadataScanner = metadataScanner;
33
+ this.modulesContainer = modulesContainer;
34
+ this.reflector = reflector;
35
+ this.applicationConfig = applicationConfig;
36
+ this.moduleRef = moduleRef;
37
+ this.options = options;
38
+ this.logger = new common_1.Logger(TrpcRouter_1.name);
39
+ this.collectedRouterInfos = [];
40
+ this.contextCreator = new trpc_context_creator_1.TrpcContextCreator((0, trpc_enhancer_runtime_factory_1.createTrpcEnhancerRuntime)(this.modulesContainer, this.applicationConfig));
41
+ }
42
+ onModuleInit() {
43
+ this.appRouter = this.buildRouter();
44
+ if (this.options.autoSchemaFile) {
45
+ (0, schema_generator_1.generateSchema)(this.collectedRouterInfos, this.options.autoSchemaFile);
46
+ this.logger.log(`Generated AppRouter types at "${this.options.autoSchemaFile}"`);
47
+ }
48
+ }
49
+ getRouter() {
50
+ return this.appRouter;
51
+ }
52
+ resolveModuleKey(metatype) {
53
+ for (const [key, module] of this.modulesContainer) {
54
+ if (module.hasProvider(metatype)) {
55
+ return key;
56
+ }
57
+ }
58
+ return '';
59
+ }
60
+ buildRouter() {
61
+ const state = {
62
+ trpc: server_1.initTRPC.context().create(),
63
+ routerMap: {},
64
+ registeredAliases: new Set(),
65
+ namespaceAliases: new Set(),
66
+ registeredProcedures: new Map(),
67
+ };
68
+ this.collectedRouterInfos = [];
69
+ for (const wrapper of this.discoveryService.getProviders()) {
70
+ this.registerRouterProvider(state, wrapper);
71
+ }
72
+ return state.trpc.router(state.routerMap);
73
+ }
74
+ registerRouterProvider(state, wrapper) {
75
+ const context = this.createRouterProviderContext(state, wrapper);
76
+ if (!context) {
77
+ return;
78
+ }
79
+ const methodNames = this.metadataScanner.getAllMethodNames(context.prototype);
80
+ for (const methodName of methodNames) {
81
+ this.registerRouterMethod(context, methodName);
82
+ }
83
+ this.commitRouterProvider(context);
84
+ }
85
+ createRouterProviderContext(state, wrapper) {
86
+ const { instance, metatype } = wrapper;
87
+ if (!metatype) {
88
+ return undefined;
89
+ }
90
+ const routerMeta = this.reflector.get(constants_3.TRPC_ROUTER_METADATA, metatype);
91
+ if (!routerMeta) {
92
+ return undefined;
93
+ }
94
+ const prototype = instance && typeof instance === 'object'
95
+ ? Object.getPrototypeOf(instance)
96
+ : metatype.prototype;
97
+ if (!prototype) {
98
+ return undefined;
99
+ }
100
+ const routerClassName = this.getRouterClassName(metatype);
101
+ const alias = this.normalizeRouterAlias(routerMeta.alias, routerClassName);
102
+ return {
103
+ state,
104
+ wrapper,
105
+ metatype,
106
+ routerClassName,
107
+ alias,
108
+ moduleKey: this.resolveModuleKey(metatype),
109
+ procedureMap: {},
110
+ routerInfo: { alias, procedures: [] },
111
+ prototype,
112
+ };
113
+ }
114
+ registerRouterMethod(context, methodName) {
115
+ const methodRef = context.prototype[methodName];
116
+ if (typeof methodRef !== 'function') {
117
+ return;
118
+ }
119
+ const procedureName = Reflect.getMetadata(constants_3.TRPC_PROCEDURE_METADATA, methodRef);
120
+ const procedureType = Reflect.getMetadata(constants_3.TRPC_PROCEDURE_TYPE_METADATA, methodRef);
121
+ if (!procedureName && !procedureType) {
122
+ return;
123
+ }
124
+ this.assertValidProcedureMetadata(context.routerClassName, methodName, procedureName, procedureType);
125
+ const resolvedProcedureType = procedureType;
126
+ const inputSchema = Reflect.getMetadata(constants_3.TRPC_INPUT_METADATA, methodRef);
127
+ const outputSchema = Reflect.getMetadata(constants_3.TRPC_OUTPUT_METADATA, methodRef);
128
+ const wrappedHandler = this.createWrappedHandler(context, methodName, methodRef);
129
+ this.assertUniqueProcedurePath(context.state.registeredProcedures, {
130
+ routerClassName: context.routerClassName,
131
+ methodName,
132
+ procedureName,
133
+ path: this.formatProcedurePath(context.alias, procedureName),
134
+ });
135
+ context.procedureMap[procedureName] = this.createProcedure(context.state.trpc.procedure, resolvedProcedureType, inputSchema, outputSchema, wrappedHandler);
136
+ this.logger.log(`Mapped {${resolvedProcedureType}} "${context.alias ? context.alias + '.' : ''}${procedureName}" procedure`);
137
+ context.routerInfo.procedures.push({
138
+ name: procedureName,
139
+ type: resolvedProcedureType,
140
+ inputSchema,
141
+ outputSchema,
142
+ });
143
+ }
144
+ createWrappedHandler(context, methodName, methodRef) {
145
+ const paramTypes = Reflect.getMetadata(constants_1.PARAMTYPES_METADATA, context.prototype, methodName) ??
146
+ [];
147
+ return this.contextCreator.create({
148
+ callback: methodRef,
149
+ methodName,
150
+ moduleKey: context.moduleKey,
151
+ paramTypes,
152
+ inquirerId: context.wrapper.id,
153
+ resolveContextId: () => this.resolveContextId(context.wrapper),
154
+ resolveInstance: (contextId) => this.resolveRouterInstance(context.wrapper, context.metatype, contextId),
155
+ });
156
+ }
157
+ createProcedure(baseProcedure, procedureType, inputSchema, outputSchema, wrappedHandler) {
158
+ let procedure = baseProcedure;
159
+ if (inputSchema) {
160
+ procedure = procedure.input(inputSchema);
161
+ }
162
+ if (outputSchema && procedureType !== enums_1.ProcedureType.SUBSCRIPTION) {
163
+ procedure = procedure.output(outputSchema);
164
+ }
165
+ switch (procedureType) {
166
+ case enums_1.ProcedureType.QUERY:
167
+ return procedure.query(async ({ input, ctx }) => {
168
+ return wrappedHandler(input, ctx);
169
+ });
170
+ case enums_1.ProcedureType.MUTATION:
171
+ return procedure.mutation(async ({ input, ctx }) => {
172
+ return wrappedHandler(input, ctx);
173
+ });
174
+ case enums_1.ProcedureType.SUBSCRIPTION:
175
+ return this.createSubscriptionProcedure(procedure, outputSchema, wrappedHandler);
176
+ }
177
+ }
178
+ createSubscriptionProcedure(procedure, outputSchema, wrappedHandler) {
179
+ const validateOutput = (value) => this.validateSubscriptionOutput(outputSchema, value);
180
+ return procedure.subscription(async function* ({ input, ctx, }) {
181
+ const result = await wrappedHandler(input, ctx);
182
+ if (result != null &&
183
+ typeof result === 'object' &&
184
+ Symbol.asyncIterator in result) {
185
+ for await (const chunk of result) {
186
+ yield await validateOutput(chunk);
187
+ }
188
+ }
189
+ else {
190
+ yield await validateOutput(result);
191
+ }
192
+ });
193
+ }
194
+ commitRouterProvider(context) {
195
+ if (Object.keys(context.procedureMap).length === 0) {
196
+ return;
197
+ }
198
+ if (context.alias) {
199
+ this.assertUniqueAliasPath(context.alias, context.routerClassName, context.state.registeredAliases, context.state.namespaceAliases);
200
+ this.assignAliasedRouter(context.state.routerMap, context.alias, context.state.trpc.router(context.procedureMap));
201
+ }
202
+ else {
203
+ Object.assign(context.state.routerMap, context.procedureMap);
204
+ }
205
+ this.collectedRouterInfos.push(context.routerInfo);
206
+ }
207
+ getRouterClassName(metatype) {
208
+ return metatype.name;
209
+ }
210
+ normalizeRouterAlias(alias, routerClassName) {
211
+ if (alias === undefined) {
212
+ return undefined;
213
+ }
214
+ const segments = alias
215
+ .split('.')
216
+ .map(segment => segment.trim());
217
+ if (segments.some(segment => segment.length === 0)) {
218
+ throw this.createConfigurationError(`Invalid tRPC router alias "${alias}" on ${routerClassName}.`, 'Use @Router() for a root router, or provide a non-empty dotted alias such as @Router("users") or @Router("admin.users").');
219
+ }
220
+ return segments.join('.');
221
+ }
222
+ assertValidProcedureMetadata(routerClassName, methodName, procedureName, procedureType) {
223
+ if (!procedureName || procedureName.trim().length === 0) {
224
+ throw this.createConfigurationError(`Invalid tRPC procedure name on ${routerClassName}.${methodName}.`, 'Pass a non-empty name to @Query(), @Mutation(), or @Subscription(), or omit the name to use the method name.');
225
+ }
226
+ if (!procedureType) {
227
+ throw this.createConfigurationError(`Invalid tRPC procedure metadata on ${routerClassName}.${methodName} for procedure "${procedureName}".`, 'Apply exactly one procedure decorator: @Query(), @Mutation(), or @Subscription().');
228
+ }
229
+ }
230
+ formatProcedurePath(alias, procedureName) {
231
+ return alias ? `${alias}.${procedureName}` : procedureName;
232
+ }
233
+ assertUniqueProcedurePath(registeredProcedures, candidate) {
234
+ const existing = registeredProcedures.get(candidate.path);
235
+ if (existing) {
236
+ throw this.createConfigurationError(`Duplicate tRPC procedure path "${candidate.path}" discovered in ${candidate.routerClassName}.${candidate.methodName}.`, `It was already registered by ${existing.routerClassName}.${existing.methodName}. Rename one procedure with @Query("name"), @Mutation("name"), or @Subscription("name"), or change one router alias.`);
237
+ }
238
+ registeredProcedures.set(candidate.path, candidate);
239
+ }
240
+ assertUniqueAliasPath(alias, routerClassName, registeredAliases, namespaceAliases) {
241
+ if (registeredAliases.has(alias)) {
242
+ throw this.createConfigurationError(`Duplicate tRPC router alias "${alias}" discovered on ${routerClassName}.`, 'Use a unique router alias, or merge the procedures into a single router class.');
243
+ }
244
+ const segments = alias.split('.');
245
+ for (let index = 1; index < segments.length; index += 1) {
246
+ const prefix = segments.slice(0, index).join('.');
247
+ if (registeredAliases.has(prefix)) {
248
+ throw this.createConfigurationError(`Conflicting tRPC router alias "${alias}" discovered on ${routerClassName}.`, `The alias "${prefix}" is already registered as a router. Rename one alias so a path segment is not both a router and a namespace.`);
249
+ }
250
+ }
251
+ if (namespaceAliases.has(alias)) {
252
+ throw this.createConfigurationError(`Conflicting tRPC router alias "${alias}" discovered on ${routerClassName}.`, 'That alias is already used as a namespace for another router. Rename one alias so a path segment is not both a router and a namespace.');
253
+ }
254
+ registeredAliases.add(alias);
255
+ for (let index = 1; index < segments.length; index += 1) {
256
+ namespaceAliases.add(segments.slice(0, index).join('.'));
257
+ }
258
+ }
259
+ createConfigurationError(message, suggestion) {
260
+ return new Error(`${message} Suggested fix: ${suggestion}`);
261
+ }
262
+ assignAliasedRouter(routerMap, alias, router) {
263
+ const segments = alias
264
+ .split('.')
265
+ .map(segment => segment.trim())
266
+ .filter(Boolean);
267
+ let cursor = routerMap;
268
+ for (let index = 0; index < segments.length - 1; index += 1) {
269
+ const segment = segments[index];
270
+ const next = cursor[segment];
271
+ if (!next || typeof next !== 'object') {
272
+ cursor[segment] = {};
273
+ }
274
+ cursor = cursor[segment];
275
+ }
276
+ const leaf = segments[segments.length - 1];
277
+ cursor[leaf] = router;
278
+ }
279
+ resolveContextId(wrapper) {
280
+ const store = trpc_request_storage_1.trpcRequestStorage.getStore();
281
+ if (!store?.req) {
282
+ return constants_2.STATIC_CONTEXT;
283
+ }
284
+ if (!store.contextId) {
285
+ store.contextId = context_id_factory_1.ContextIdFactory.getByRequest(store.req);
286
+ }
287
+ if (!store.requestRegistered) {
288
+ const requestProviderValue = wrapper?.isDependencyTreeDurable?.() && store.contextId.payload
289
+ ? store.contextId.payload
290
+ : Object.assign(store.req, store.contextId.payload ?? {});
291
+ this.moduleRef.registerRequestByContextId(requestProviderValue, store.contextId);
292
+ store.requestRegistered = true;
293
+ }
294
+ return store.contextId;
295
+ }
296
+ async resolveRouterInstance(wrapper, metatype, contextId) {
297
+ if (contextId === constants_2.STATIC_CONTEXT && wrapper?.instance) {
298
+ return wrapper.instance;
299
+ }
300
+ try {
301
+ return await this.moduleRef.resolve(metatype, contextId, {
302
+ strict: false,
303
+ });
304
+ }
305
+ catch {
306
+ return wrapper?.instance;
307
+ }
308
+ }
309
+ async validateSubscriptionOutput(outputSchema, value) {
310
+ if (!outputSchema) {
311
+ return value;
312
+ }
313
+ if (typeof outputSchema.parseAsync === 'function') {
314
+ return outputSchema.parseAsync(value);
315
+ }
316
+ if (typeof outputSchema.parse === 'function') {
317
+ return outputSchema.parse(value);
318
+ }
319
+ if (typeof outputSchema.validateSync === 'function') {
320
+ return outputSchema.validateSync(value);
321
+ }
322
+ if (typeof outputSchema.create === 'function') {
323
+ return outputSchema.create(value);
324
+ }
325
+ if (typeof outputSchema.assert === 'function') {
326
+ outputSchema.assert(value);
327
+ return value;
328
+ }
329
+ if (typeof outputSchema === 'function') {
330
+ return outputSchema(value);
331
+ }
332
+ return value;
333
+ }
334
+ };
335
+ exports.TrpcRouter = TrpcRouter;
336
+ exports.TrpcRouter = TrpcRouter = TrpcRouter_1 = __decorate([
337
+ (0, common_1.Injectable)(),
338
+ __param(6, (0, common_1.Inject)(constants_3.TRPC_MODULE_OPTIONS)),
339
+ __metadata("design:paramtypes", [core_1.DiscoveryService,
340
+ core_1.MetadataScanner,
341
+ core_1.ModulesContainer,
342
+ core_1.Reflector,
343
+ core_1.ApplicationConfig,
344
+ core_1.ModuleRef, Object])
345
+ ], TrpcRouter);
346
+ //# sourceMappingURL=trpc-router.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trpc-router.js","sourceRoot":"","sources":["../trpc-router.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { DynamicModule } from '@nestjs/common';
2
+ import { TrpcModuleAsyncOptions, TrpcModuleOptions } from './interfaces';
3
+ /**
4
+ * NestJS module providing native tRPC integration.
5
+ *
6
+ * Use `TrpcModule.forRoot()` to register the tRPC handler with static options,
7
+ * or `TrpcModule.forRootAsync()` for dynamic/factory-based configuration.
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * @Module({
12
+ * imports: [
13
+ * TrpcModule.forRoot({ path: '/trpc' }),
14
+ * ],
15
+ * })
16
+ * export class AppModule {}
17
+ * ```
18
+ *
19
+ * @publicApi
20
+ */
21
+ export declare class TrpcModule {
22
+ static forRoot<TContext = any>(options?: TrpcModuleOptions<TContext>): DynamicModule;
23
+ static forRootAsync<TContext = any>(options: TrpcModuleAsyncOptions<TContext>): DynamicModule;
24
+ }
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var TrpcModule_1;
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.TrpcModule = void 0;
11
+ const common_1 = require("@nestjs/common");
12
+ const core_1 = require("@nestjs/core");
13
+ const constants_1 = require("./constants");
14
+ const trpc_http_adapter_1 = require("./trpc-http-adapter");
15
+ const trpc_router_1 = require("./trpc-router");
16
+ /**
17
+ * NestJS module providing native tRPC integration.
18
+ *
19
+ * Use `TrpcModule.forRoot()` to register the tRPC handler with static options,
20
+ * or `TrpcModule.forRootAsync()` for dynamic/factory-based configuration.
21
+ *
22
+ * @example
23
+ * ```ts
24
+ * @Module({
25
+ * imports: [
26
+ * TrpcModule.forRoot({ path: '/trpc' }),
27
+ * ],
28
+ * })
29
+ * export class AppModule {}
30
+ * ```
31
+ *
32
+ * @publicApi
33
+ */
34
+ let TrpcModule = TrpcModule_1 = class TrpcModule {
35
+ static forRoot(options = {}) {
36
+ const optionsProvider = {
37
+ provide: constants_1.TRPC_MODULE_OPTIONS,
38
+ useValue: options,
39
+ };
40
+ return {
41
+ module: TrpcModule_1,
42
+ global: options.isGlobal ?? false,
43
+ imports: [core_1.DiscoveryModule],
44
+ providers: [optionsProvider, trpc_router_1.TrpcRouter, trpc_http_adapter_1.TrpcHttpAdapter],
45
+ exports: [trpc_router_1.TrpcRouter],
46
+ };
47
+ }
48
+ static forRootAsync(options) {
49
+ const asyncOptionsProvider = {
50
+ provide: constants_1.TRPC_MODULE_OPTIONS,
51
+ useFactory: options.useFactory,
52
+ inject: options.inject ?? [],
53
+ };
54
+ return {
55
+ module: TrpcModule_1,
56
+ global: options.isGlobal ?? false,
57
+ imports: [core_1.DiscoveryModule, ...(options.imports ?? [])],
58
+ providers: [
59
+ asyncOptionsProvider,
60
+ ...(options.extraProviders ?? []),
61
+ trpc_router_1.TrpcRouter,
62
+ trpc_http_adapter_1.TrpcHttpAdapter,
63
+ ],
64
+ exports: [trpc_router_1.TrpcRouter],
65
+ };
66
+ }
67
+ };
68
+ exports.TrpcModule = TrpcModule;
69
+ exports.TrpcModule = TrpcModule = TrpcModule_1 = __decorate([
70
+ (0, common_1.Module)({})
71
+ ], TrpcModule);
72
+ //# sourceMappingURL=trpc.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trpc.module.js","sourceRoot":"","sources":["../trpc.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAiE;AACjE,uCAA+C;AAC/C,2CAAkD;AAElD,2DAAsD;AACtD,+CAA2C;AAE3C;;;;;;;;;;;;;;;;;GAiBG;AAEI,IAAM,UAAU,kBAAhB,MAAM,UAAU;IACrB,MAAM,CAAC,OAAO,CAAiB,UAAuC,EAAiC;QACrG,MAAM,eAAe,GAAa;YAChC,OAAO,EAAE,+BAAmB;YAC5B,QAAQ,EAAE,OAAO;SAClB,CAAC;QAEF,OAAO;YACL,MAAM,EAAE,YAAU;YAClB,MAAM,EAAE,OAAO,CAAC,QAAQ,IAAI,KAAK;YACjC,OAAO,EAAE,CAAC,sBAAe,CAAC;YAC1B,SAAS,EAAE,CAAC,eAAe,EAAE,wBAAU,EAAE,mCAAe,CAAC;YACzD,OAAO,EAAE,CAAC,wBAAU,CAAC;SACtB,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,YAAY,CAAiB,OAAyC;QAC3E,MAAM,oBAAoB,GAAa;YACrC,OAAO,EAAE,+BAAmB;YAC5B,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;SAC7B,CAAC;QAEF,OAAO;YACL,MAAM,EAAE,YAAU;YAClB,MAAM,EAAE,OAAO,CAAC,QAAQ,IAAI,KAAK;YACjC,OAAO,EAAE,CAAC,sBAAe,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;YACtD,SAAS,EAAE;gBACT,oBAAoB;gBACpB,GAAG,CAAC,OAAO,CAAC,cAAc,IAAI,EAAE,CAAC;gBACjC,wBAAU;gBACV,mCAAe;aAChB;YACD,OAAO,EAAE,CAAC,wBAAU,CAAC;SACtB,CAAC;IACJ,CAAC;CACF,CAAA;AApCY,gCAAU;qBAAV,UAAU;IADtB,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,UAAU,CAoCtB"}
package/package.json ADDED
@@ -0,0 +1,74 @@
1
+ {
2
+ "name": "@nest-native/trpc",
3
+ "version": "0.5.0",
4
+ "description": "Decorator-first tRPC integration bridge for NestJS",
5
+ "keywords": [
6
+ "nestjs",
7
+ "trpc",
8
+ "nestjs-trpc",
9
+ "typescript",
10
+ "rpc",
11
+ "decorators",
12
+ "zod",
13
+ "class-validator",
14
+ "validation",
15
+ "express",
16
+ "fastify",
17
+ "zero-deps"
18
+ ],
19
+ "author": "Rodrigo Nogueira",
20
+ "license": "MIT",
21
+ "homepage": "https://github.com/nest-native/trpc#readme",
22
+ "repository": {
23
+ "type": "git",
24
+ "url": "git+https://github.com/nest-native/trpc.git",
25
+ "directory": "packages/trpc"
26
+ },
27
+ "main": "./dist/index.js",
28
+ "types": "./dist/index.d.ts",
29
+ "exports": {
30
+ ".": {
31
+ "types": "./dist/index.d.ts",
32
+ "require": "./dist/index.js",
33
+ "default": "./dist/index.js"
34
+ },
35
+ "./package.json": "./package.json"
36
+ },
37
+ "files": [
38
+ "dist/**/*.d.ts",
39
+ "dist/**/*.js",
40
+ "dist/**/*.js.map"
41
+ ],
42
+ "publishConfig": {
43
+ "access": "public"
44
+ },
45
+ "engines": {
46
+ "node": ">=20"
47
+ },
48
+ "scripts": {
49
+ "clean": "rimraf dist tsconfig.tsbuildinfo",
50
+ "build": "npm run clean && tsc -p tsconfig.build.json",
51
+ "typecheck": "tsc --noEmit -p tsconfig.json"
52
+ },
53
+ "peerDependencies": {
54
+ "@nestjs/common": "^11.0.0",
55
+ "@nestjs/core": "^11.0.0",
56
+ "@trpc/server": "^11.0.0",
57
+ "reflect-metadata": "^0.1.12 || ^0.2.0",
58
+ "rxjs": "^7.0.0",
59
+ "zod": "^4.4.3"
60
+ },
61
+ "peerDependenciesMeta": {
62
+ "zod": {
63
+ "optional": true
64
+ }
65
+ },
66
+ "devDependencies": {
67
+ "@nestjs/common": "^11.1.24",
68
+ "@nestjs/core": "^11.1.24",
69
+ "@trpc/client": "^11.17.0",
70
+ "@trpc/server": "^11.16.0",
71
+ "rxjs": "^7.8.1",
72
+ "typescript": "6.0.3"
73
+ }
74
+ }