quantum-flow 1.15.3 → 1.17.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.
- package/README.md +161 -43
- package/dist/app/http/Application.d.ts +5 -5
- package/dist/app/http/Application.js +44 -27
- package/dist/app/http/Application.js.map +1 -1
- package/dist/constants.d.ts +5 -0
- package/dist/constants.js +6 -1
- package/dist/constants.js.map +1 -1
- package/dist/graphql/decorators.d.ts +7 -35
- package/dist/graphql/decorators.js +83 -31
- package/dist/graphql/decorators.js.map +1 -1
- package/dist/graphql/index.d.ts +1 -1
- package/dist/graphql/module.d.ts +9 -3
- package/dist/graphql/module.js +201 -52
- package/dist/graphql/module.js.map +1 -1
- package/dist/graphql/pubsubService.d.ts +6 -0
- package/dist/graphql/pubsubService.js +17 -0
- package/dist/graphql/pubsubService.js.map +1 -0
- package/dist/types/graphql.d.ts +28 -2
- package/dist/types/http.d.ts +2 -0
- package/dist/ws/server.d.ts +2 -1
- package/dist/ws/server.js +1 -1
- package/dist/ws/server.js.map +1 -1
- package/package.json +3 -1
package/README.md
CHANGED
|
@@ -433,67 +433,185 @@ lambdaAdapter.usePlugin(dbConnectionPlugin);
|
|
|
433
433
|
export const handler = lambdaAdapter.handler;
|
|
434
434
|
```
|
|
435
435
|
|
|
436
|
-
|
|
436
|
+
## GraphQL
|
|
437
|
+
|
|
438
|
+
Quantum Flow provides first‑class GraphQL support through a set of declarative decorators, inspired by TypeGraphQL. You can build a fully typed GraphQL schema by annotating your resolvers and types directly in TypeScript.
|
|
439
|
+
GraphQL support requires the `graphql` and `graphql-yoga` packages.
|
|
440
|
+
|
|
441
|
+
### Core GraphQL Decorators
|
|
442
|
+
|
|
443
|
+
| Decorator | Description |
|
|
444
|
+
| ------------------------------ | ------------------------------------------------------------------------- |
|
|
445
|
+
| `@ObjectType()` | Marks a class as a GraphQL object type. |
|
|
446
|
+
| `@Field(type?)` | Defines a field on an object or input type. |
|
|
447
|
+
| `@InputType()` | Marks a class as a GraphQL input type (for arguments). |
|
|
448
|
+
| `@Resolver(type?)` | Marks a class as a GraphQL resolver (optionally specifies the root type). |
|
|
449
|
+
| `@Query(returns?)` | Defines a method as a GraphQL query (field of the Query type). |
|
|
450
|
+
| `@Mutation(returns?)` | Defines a method as a GraphQL mutation (field of the Mutation type). |
|
|
451
|
+
| `@FieldResolver(returns?)` | Defines a method that resolves a field of an object type. |
|
|
452
|
+
| `@Arg(name?, type?, options?)` | Declares a method argument as a GraphQL argument. |
|
|
453
|
+
| `@Root()` | Injects the parent object in a field resolver. |
|
|
454
|
+
| `@Context()` | Injects the GraphQL context (e.g., request object). |
|
|
455
|
+
| `@InjectPubSub()` | Injects PubSub for publishing events. |
|
|
456
|
+
| `@PubSub()` | Injects PubSub for subscriptions. |
|
|
457
|
+
| `@Context()` | Injects the GraphQL context (e.g., request object). |
|
|
458
|
+
|
|
459
|
+
### Defining Object Types
|
|
437
460
|
|
|
438
|
-
|
|
461
|
+
```typescript
|
|
462
|
+
import { ObjectType, Field, ID } from 'quantum-flow/graphql';
|
|
463
|
+
|
|
464
|
+
@ObjectType()
|
|
465
|
+
export class User {
|
|
466
|
+
@Field(() => ID)
|
|
467
|
+
id: string;
|
|
468
|
+
@Field()
|
|
469
|
+
name: string;
|
|
470
|
+
@Field({ nullable: true })
|
|
471
|
+
email?: string;
|
|
472
|
+
@Field(() => [String])
|
|
473
|
+
roles: string[];
|
|
474
|
+
}
|
|
475
|
+
```
|
|
439
476
|
|
|
440
|
-
###
|
|
477
|
+
### Defining Input Types
|
|
478
|
+
|
|
479
|
+
```typescript
|
|
480
|
+
import { InputType, Field } from 'quantum-flow/graphql';
|
|
481
|
+
|
|
482
|
+
@InputType()
|
|
483
|
+
export class CreateUserInput {
|
|
484
|
+
@Field()
|
|
485
|
+
name: string;
|
|
486
|
+
@Field()
|
|
487
|
+
email: string;
|
|
488
|
+
@Field({ nullable: true })
|
|
489
|
+
bio?: string;
|
|
490
|
+
@Field(() => [String], { nullable: true })
|
|
491
|
+
roles?: string[];
|
|
492
|
+
}
|
|
493
|
+
```
|
|
441
494
|
|
|
442
|
-
|
|
443
|
-
- `@InputType(name?: string)`: Class decorator to define a GraphQL InputType.
|
|
444
|
-
- `@Field(type?)`: Property decorator to define a GraphQL field with optional type or nullable option.
|
|
445
|
-
- `@Arg(name?, type?, options?)`: Parameter decorator to define GraphQL arguments for resolver methods.
|
|
446
|
-
- `@Query(returnType?)`: Method decorator to define a GraphQL query resolver.
|
|
447
|
-
- `@Mutation(returnType?)`: Method decorator to define a GraphQL mutation resolver.
|
|
448
|
-
- `@Subscription(returnType?)`: Method decorator to define a GraphQL subscription resolver.
|
|
495
|
+
### Writing Resolvers
|
|
449
496
|
|
|
450
|
-
|
|
497
|
+
GraphQL resolvers are classes decorated with `@Resolver`. They contain methods annotated with `@Query`, `@Mutation`, or `@FieldResolver`.
|
|
451
498
|
|
|
452
499
|
```typescript
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
export class
|
|
500
|
+
import { Resolver, Query, Mutation, Arg } from 'quantum-flow/graphql';
|
|
501
|
+
import { User, CreateUserInput } from './user.types';
|
|
502
|
+
|
|
503
|
+
@Resolver()
|
|
504
|
+
export class UserResolver {
|
|
505
|
+
private users: User[] = [];
|
|
506
|
+
@Query(() => [User])
|
|
507
|
+
async getUsers(): Promise<User[]> {...}
|
|
508
|
+
@Query(() => User, { nullable: true })
|
|
509
|
+
async getUser(@Arg('id', () => String) id: string): Promise<User | undefined> {...}
|
|
510
|
+
|
|
511
|
+
@Mutation(() => User)
|
|
512
|
+
async createUser(@Arg('input', () => CreateUserInput) input: CreateUserInput): Promise<User> {...}
|
|
513
|
+
}
|
|
458
514
|
```
|
|
459
515
|
|
|
460
|
-
###
|
|
516
|
+
### Field Resolvers (Resolving Relationships)
|
|
517
|
+
|
|
518
|
+
Field resolvers allow you to add fields to an existing object type without modifying the original class. They are especially useful for loading related data.
|
|
461
519
|
|
|
462
520
|
```typescript
|
|
463
|
-
import {
|
|
464
|
-
import {
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
@
|
|
472
|
-
@
|
|
521
|
+
import { Resolver, FieldResolver, Root } from 'quantum-flow/graphql';
|
|
522
|
+
import { User } from './user.types';
|
|
523
|
+
import { Post } from './post.types';
|
|
524
|
+
|
|
525
|
+
@Resolver(() => User)
|
|
526
|
+
export class UserRelationsResolver {
|
|
527
|
+
constructor(private posts: Post[] = []) {}
|
|
528
|
+
|
|
529
|
+
@FieldResolver(() => [Post])
|
|
530
|
+
async posts(@Root() user: User): Promise<Post[]> {...}
|
|
473
531
|
}
|
|
532
|
+
```
|
|
474
533
|
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
534
|
+
### Using Context
|
|
535
|
+
|
|
536
|
+
Context can be used to share information across resolvers (e.g., authenticated user, database connection, request headers). It is defined in the server configuration and injected with `@Context()`.
|
|
537
|
+
Server setup (inside your main server class, e.g., HttpServer):
|
|
538
|
+
|
|
539
|
+
```typescript
|
|
540
|
+
import { Resolver, Query, Context } from 'quantum-flow/graphql';
|
|
541
|
+
|
|
542
|
+
@Resolver()
|
|
543
|
+
export class AuthResolver {
|
|
544
|
+
@Query(() => User)
|
|
545
|
+
async me(@Context() ctx: any): Promise<User> {...}
|
|
481
546
|
}
|
|
547
|
+
```
|
|
482
548
|
|
|
483
|
-
|
|
484
|
-
export class GraphQlController {
|
|
549
|
+
### Using Subscriptions
|
|
485
550
|
|
|
486
|
-
|
|
487
|
-
async getUser(@Arg('id', String, { required: true }) id: string) {...}
|
|
551
|
+
To use subscriptions, please enable websocket flag on graphql config.`.
|
|
488
552
|
|
|
489
|
-
|
|
490
|
-
|
|
553
|
+
```typescript
|
|
554
|
+
import { Resolver, Query, Context, TPubSub } from 'quantum-flow/graphql';
|
|
555
|
+
|
|
556
|
+
@Resolver()
|
|
557
|
+
export class MessageResolver {
|
|
558
|
+
@Query(() => [Message])
|
|
559
|
+
async messages(): Promise<Message[]> {
|
|
560
|
+
return [];
|
|
561
|
+
}
|
|
491
562
|
|
|
492
|
-
@Mutation(
|
|
493
|
-
async
|
|
563
|
+
@Mutation(() => Message)
|
|
564
|
+
async createMessage(
|
|
565
|
+
@Arg('input') input: CreateMessageInput,
|
|
566
|
+
@InjectPubSub() pubsub: TPubSub,
|
|
567
|
+
): Promise<Message> {
|
|
568
|
+
const message: Message = {
|
|
569
|
+
id: Date.now().toString(),
|
|
570
|
+
content: input.content,
|
|
571
|
+
userId: input.userId,
|
|
572
|
+
createdAt: new Date(),
|
|
573
|
+
};
|
|
574
|
+
|
|
575
|
+
await pubsub.publish('NEW_MESSAGE', message);
|
|
576
|
+
return message;
|
|
577
|
+
}
|
|
494
578
|
|
|
495
|
-
|
|
579
|
+
@Subscription(() => Message)
|
|
580
|
+
async newMessage(
|
|
581
|
+
@PubSub({ filter: (payload, variables) => payload.userId === variables.userId })
|
|
582
|
+
pubsub: TPubSub,
|
|
583
|
+
@Arg('userId') userId: string,
|
|
584
|
+
) {
|
|
585
|
+
return pubsub.asyncIterator('NEW_MESSAGE');
|
|
586
|
+
}
|
|
496
587
|
}
|
|
497
588
|
```
|
|
498
589
|
|
|
499
|
-
|
|
590
|
+
### Server Configuration
|
|
591
|
+
|
|
592
|
+
To enable GraphQL, add a `graphql` field to your `@Server` decorator:
|
|
593
|
+
|
|
594
|
+
```typescript
|
|
595
|
+
import { Server } from 'quantum-flow/http';
|
|
596
|
+
import { UserResolver } from './resolvers/user.resolver';
|
|
597
|
+
import { UserRelationsResolver } from './resolvers/user-relations.resolver';
|
|
598
|
+
|
|
599
|
+
@Server({
|
|
600
|
+
resolvers: [UserResolver, UserRelationsResolver], // list of resolver classes
|
|
601
|
+
graphql: {
|
|
602
|
+
enabled: true,
|
|
603
|
+
websocket: true //enable websocket for subscriptions
|
|
604
|
+
path: '/graphql', // endpoint path (default: '/graphql')
|
|
605
|
+
playground: true, // enable GraphQL Playground (default: false)
|
|
606
|
+
},
|
|
607
|
+
})
|
|
608
|
+
export class App {}
|
|
609
|
+
```
|
|
610
|
+
|
|
611
|
+
### Important Notes
|
|
612
|
+
|
|
613
|
+
- Resolvers must be separate from REST controllers. Do not put GraphQL methods in classes decorated with `@Controller`.
|
|
614
|
+
- Always use `@Resolver` for GraphQL.
|
|
615
|
+
- All resolver classes must be listed in the `resolvers` array of the server configuration.
|
|
616
|
+
- Field resolvers require the target object type to be explicitly passed to `@Resolver(() => Type)`.
|
|
617
|
+
- The framework automatically builds the GraphQL schema from the decorators metadata.
|
|
@@ -3,21 +3,21 @@ import http from 'http';
|
|
|
3
3
|
import { GraphQLModule } from '../../graphql/module';
|
|
4
4
|
import { Plugin } from '../plugin';
|
|
5
5
|
export declare class HttpServer extends Plugin implements IHttpServer {
|
|
6
|
-
app: http.Server;
|
|
7
|
-
plugins: HttpPlugin[];
|
|
8
6
|
private config;
|
|
7
|
+
private graphqlHandler?;
|
|
9
8
|
private isRunning;
|
|
10
9
|
private sse?;
|
|
11
10
|
private websocket?;
|
|
12
|
-
private
|
|
11
|
+
private resolverClasses;
|
|
13
12
|
controllers: ControllerType[];
|
|
14
13
|
middlewares: MiddlewareCB[];
|
|
15
14
|
graphql?: GraphQLModule;
|
|
16
|
-
|
|
15
|
+
app: http.Server;
|
|
16
|
+
plugins: HttpPlugin[];
|
|
17
17
|
constructor(configOrClass: new (...args: any[]) => any);
|
|
18
|
+
private collectControllers;
|
|
18
19
|
private logConfig;
|
|
19
20
|
listen(port?: number, host?: string): Promise<http.Server>;
|
|
20
|
-
private getAllControllers;
|
|
21
21
|
close(): Promise<void>;
|
|
22
22
|
status(): {
|
|
23
23
|
running: boolean;
|
|
@@ -6,40 +6,44 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.HttpServer = void 0;
|
|
7
7
|
const _constants_1 = require("../../constants.js");
|
|
8
8
|
const _utils_1 = require("../../utils/index.js");
|
|
9
|
+
const graphql_subscriptions_1 = require("graphql-subscriptions");
|
|
10
|
+
const ws_1 = require("graphql-ws/use/ws");
|
|
9
11
|
const graphql_yoga_1 = require("graphql-yoga");
|
|
10
12
|
const http_1 = __importDefault(require("http"));
|
|
11
13
|
const module_1 = require("../../graphql/module");
|
|
14
|
+
const pubsubService_1 = require("../../graphql/pubsubService");
|
|
12
15
|
const server_1 = require("../../sse/server");
|
|
13
16
|
const service_1 = require("../../sse/service");
|
|
14
17
|
const server_2 = require("../../ws/server");
|
|
15
18
|
const service_2 = require("../../ws/service");
|
|
16
19
|
const plugin_1 = require("../plugin");
|
|
17
20
|
class HttpServer extends plugin_1.Plugin {
|
|
18
|
-
app;
|
|
19
|
-
plugins = [];
|
|
20
21
|
config;
|
|
22
|
+
graphqlHandler;
|
|
21
23
|
isRunning = false;
|
|
22
24
|
sse;
|
|
23
25
|
websocket;
|
|
24
|
-
|
|
26
|
+
resolverClasses = [];
|
|
25
27
|
controllers = [];
|
|
26
28
|
middlewares = [];
|
|
27
29
|
graphql;
|
|
28
|
-
|
|
30
|
+
app;
|
|
31
|
+
plugins = [];
|
|
29
32
|
constructor(configOrClass) {
|
|
30
33
|
super();
|
|
31
34
|
this.config = (0, _utils_1.resolveConfig)(configOrClass);
|
|
35
|
+
this.resolverClasses = (this.config.resolvers || []).filter((r) => typeof r === 'function' && r.name);
|
|
32
36
|
this.controllers = this.controllers.concat(this.config.controllers ?? []);
|
|
33
37
|
this.middlewares = this.middlewares.concat(this.config.middlewares ?? []);
|
|
34
|
-
this.
|
|
38
|
+
this.collectControllers(this.config.controllers);
|
|
35
39
|
const app = http_1.default.createServer(this.requestHandler.bind(this));
|
|
36
40
|
for (const st of this.config.statics ?? []) {
|
|
37
41
|
const staticMw = (0, _utils_1.staticMiddleware)(st.path, st.options);
|
|
38
42
|
this.middlewares?.unshift(staticMw);
|
|
39
43
|
}
|
|
40
|
-
if (this.config.websocket?.enabled) {
|
|
41
|
-
this.websocket = new server_2.WebSocketServer(app, { path: this.config.websocket
|
|
42
|
-
this.websocket.registerControllers(this.
|
|
44
|
+
if (this.config.websocket?.enabled || this.config.graphql?.websocket) {
|
|
45
|
+
this.websocket = new server_2.WebSocketServer(app, { path: this.config.websocket?.path ?? '/ws' });
|
|
46
|
+
this.websocket.registerControllers(this.controllers);
|
|
43
47
|
service_2.WebSocketService.getInstance().initialize(this.websocket);
|
|
44
48
|
}
|
|
45
49
|
if (this.config.graphql?.enabled) {
|
|
@@ -47,13 +51,24 @@ class HttpServer extends plugin_1.Plugin {
|
|
|
47
51
|
}
|
|
48
52
|
if (this.config.sse?.enabled) {
|
|
49
53
|
this.sse = new server_1.SSEServer();
|
|
50
|
-
this.sse.registerControllers(this.
|
|
54
|
+
this.sse.registerControllers(this.controllers);
|
|
51
55
|
service_1.SSEService.getInstance().initialize(this.sse);
|
|
52
56
|
}
|
|
53
57
|
this.app = app;
|
|
54
|
-
console.log(this.controllers);
|
|
55
58
|
this.logConfig();
|
|
56
59
|
}
|
|
60
|
+
collectControllers(controllers = []) {
|
|
61
|
+
for (const ControllerClass of controllers || []) {
|
|
62
|
+
if (typeof ControllerClass !== 'function') {
|
|
63
|
+
continue;
|
|
64
|
+
}
|
|
65
|
+
this.controllers.push(ControllerClass);
|
|
66
|
+
const subControllers = Reflect.getMetadata(_constants_1.CONTROLLERS, ControllerClass.prototype) || [];
|
|
67
|
+
if (subControllers.length > 0) {
|
|
68
|
+
this.collectControllers(subControllers);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
57
72
|
logConfig() {
|
|
58
73
|
console.log(`
|
|
59
74
|
╔════════════════════════════════════════╗
|
|
@@ -66,14 +81,13 @@ class HttpServer extends plugin_1.Plugin {
|
|
|
66
81
|
║ 🔧 Error handler: ${!this.config.errorHandler}
|
|
67
82
|
║ 🎯 Global Interceptors: ${!!this.config.interceptor?.length}
|
|
68
83
|
║ 📦 Controllers: ${_constants_1.STATISTIC.controllers}
|
|
69
|
-
║ 📦 Routes: ${this.
|
|
70
|
-
║ 📦
|
|
84
|
+
║ 📦 Routes: ${this.controllers.length}
|
|
85
|
+
║ 📦 GraphQL resolvers: ${this.resolverClasses.length}
|
|
71
86
|
╚════════════════════════════════════════╝
|
|
72
87
|
`);
|
|
73
88
|
}
|
|
74
89
|
async listen(port, host) {
|
|
75
90
|
if (this.isRunning) {
|
|
76
|
-
console.log('⚠️ Server is already running');
|
|
77
91
|
return this.app;
|
|
78
92
|
}
|
|
79
93
|
const listenPort = port || this.config.port || 3000;
|
|
@@ -93,7 +107,6 @@ class HttpServer extends plugin_1.Plugin {
|
|
|
93
107
|
});
|
|
94
108
|
await this.callPluginMethod('onStart', this.app);
|
|
95
109
|
this.app.on('error', (error) => {
|
|
96
|
-
console.error('❌ Server error:', error);
|
|
97
110
|
reject(error);
|
|
98
111
|
});
|
|
99
112
|
}
|
|
@@ -102,16 +115,6 @@ class HttpServer extends plugin_1.Plugin {
|
|
|
102
115
|
}
|
|
103
116
|
});
|
|
104
117
|
}
|
|
105
|
-
getAllControllers(controllers = []) {
|
|
106
|
-
const result = [];
|
|
107
|
-
for (const ControllerClass of controllers || []) {
|
|
108
|
-
const instance = new ControllerClass();
|
|
109
|
-
result.push(instance);
|
|
110
|
-
const subControllers = Reflect.getMetadata(_constants_1.CONTROLLERS, ControllerClass.prototype) || [];
|
|
111
|
-
result.push(...this.getAllControllers(subControllers));
|
|
112
|
-
}
|
|
113
|
-
return result;
|
|
114
|
-
}
|
|
115
118
|
async close() {
|
|
116
119
|
return new Promise((resolve, reject) => {
|
|
117
120
|
if (!this.isRunning) {
|
|
@@ -242,7 +245,6 @@ class HttpServer extends plugin_1.Plugin {
|
|
|
242
245
|
await this.callPluginHook('afterResponse', appRequest, res);
|
|
243
246
|
}
|
|
244
247
|
async handleError(error, request, response, startTime) {
|
|
245
|
-
console.log(error);
|
|
246
248
|
let serialized = (0, _utils_1.serializeError)(error);
|
|
247
249
|
if (!this.config.errorHandler) {
|
|
248
250
|
return this.sendResponse(response, { data: serialized }, startTime);
|
|
@@ -261,14 +263,29 @@ class HttpServer extends plugin_1.Plugin {
|
|
|
261
263
|
setupGraphQL() {
|
|
262
264
|
if (!this.config.graphql?.enabled)
|
|
263
265
|
return;
|
|
264
|
-
|
|
266
|
+
if (this.resolverClasses.length === 0) {
|
|
267
|
+
return;
|
|
268
|
+
}
|
|
269
|
+
const pubsub = pubsubService_1.PubSubService.getInstance();
|
|
270
|
+
const graphqlModule = new module_1.GraphQLModule(this.resolverClasses);
|
|
265
271
|
const schema = graphqlModule.getSchema();
|
|
272
|
+
console.log('📦 PubSub instance created:', {
|
|
273
|
+
isPubSub: pubsub instanceof graphql_subscriptions_1.PubSub,
|
|
274
|
+
hasPublish: typeof pubsub.publish === 'function',
|
|
275
|
+
hasAsyncIterator: typeof pubsub.asyncIterator === 'function',
|
|
276
|
+
});
|
|
266
277
|
const yoga = (0, graphql_yoga_1.createYoga)({
|
|
267
278
|
schema,
|
|
268
|
-
context: (
|
|
279
|
+
context: (ctx) => {
|
|
280
|
+
const req = ctx.request || ctx.req;
|
|
281
|
+
return { req, headers: req?.headers, pubsub };
|
|
282
|
+
},
|
|
269
283
|
graphiql: !!this.config.graphql?.playground,
|
|
270
284
|
});
|
|
271
285
|
this.graphqlHandler = yoga;
|
|
286
|
+
if (this.websocket) {
|
|
287
|
+
(0, ws_1.useServer)({ schema, context: () => ({ pubsub }) }, this.websocket.wss);
|
|
288
|
+
}
|
|
272
289
|
this.use(async (req, res) => {
|
|
273
290
|
const path = this.config.graphql?.path ?? '/graphql';
|
|
274
291
|
if (req.requestUrl.pathname?.startsWith(path)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Application.js","sourceRoot":"","sources":["../../../src/app/http/Application.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Application.js","sourceRoot":"","sources":["../../../src/app/http/Application.ts"],"names":[],"mappings":"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"}
|
package/dist/constants.d.ts
CHANGED
|
@@ -32,3 +32,8 @@ export declare const GRAPHQL_TYPE = "graphql:type";
|
|
|
32
32
|
export declare const GRAPHQL_INPUT_TYPE = "graphql:inputType";
|
|
33
33
|
export declare const GRAPHQL_FIELD = "graphql:field";
|
|
34
34
|
export declare const GRAPHQL_ARG = "graphql:arg";
|
|
35
|
+
export declare const GRAPHQL_FIELD_RESOLVER = "graphql:fieldresolver";
|
|
36
|
+
export declare const GRAPHQL_RESOLVER = "graphql:resolver";
|
|
37
|
+
export declare const GRAPHQL_PUBSUB = "graphql:pubsub";
|
|
38
|
+
export declare const GRAPHQL_INJECT_PUBSUB = "graphql:injectpubsub";
|
|
39
|
+
export declare const GRAPHQL_PARAMETER = "graphql:parameter";
|
package/dist/constants.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.GRAPHQL_ARG = exports.GRAPHQL_FIELD = exports.GRAPHQL_INPUT_TYPE = exports.GRAPHQL_TYPE = exports.GRAPHQL_SUBSCRIPTION = exports.GRAPHQL_MUTATION = exports.GRAPHQL_QUERY = exports.STATIC_METADATA_KEY = exports.SSE_SERVICE_KEY = exports.SSE_TOPIC_KEY = exports.SSE_METADATA_KEY = exports.CORS_METADATA = exports.INCREMENT_STATISTIC = exports.STATISTIC = exports.TO_VALIDATE = exports.OK_STATUSES = exports.STOPPED = exports.SANITIZE = exports.CATCH = exports.INTECEPT = exports.WS_SERVICE_KEY = exports.WS_TOPIC_KEY = exports.WS_HANDLER = exports.USE_MIDDLEWARE = exports.SERVER_CONFIG_KEY = exports.OK_METADATA_KEY = exports.ENDPOINT = exports.INTERCEPTOR = exports.CONTROLLERS = exports.MIDDLEWARES = exports.ROUTE_MIDDLEWARES = exports.ROUTE_PREFIX = exports.APP_METADATA_KEY = exports.PARAM_METADATA_KEY = void 0;
|
|
3
|
+
exports.GRAPHQL_PARAMETER = exports.GRAPHQL_INJECT_PUBSUB = exports.GRAPHQL_PUBSUB = exports.GRAPHQL_RESOLVER = exports.GRAPHQL_FIELD_RESOLVER = exports.GRAPHQL_ARG = exports.GRAPHQL_FIELD = exports.GRAPHQL_INPUT_TYPE = exports.GRAPHQL_TYPE = exports.GRAPHQL_SUBSCRIPTION = exports.GRAPHQL_MUTATION = exports.GRAPHQL_QUERY = exports.STATIC_METADATA_KEY = exports.SSE_SERVICE_KEY = exports.SSE_TOPIC_KEY = exports.SSE_METADATA_KEY = exports.CORS_METADATA = exports.INCREMENT_STATISTIC = exports.STATISTIC = exports.TO_VALIDATE = exports.OK_STATUSES = exports.STOPPED = exports.SANITIZE = exports.CATCH = exports.INTECEPT = exports.WS_SERVICE_KEY = exports.WS_TOPIC_KEY = exports.WS_HANDLER = exports.USE_MIDDLEWARE = exports.SERVER_CONFIG_KEY = exports.OK_METADATA_KEY = exports.ENDPOINT = exports.INTERCEPTOR = exports.CONTROLLERS = exports.MIDDLEWARES = exports.ROUTE_MIDDLEWARES = exports.ROUTE_PREFIX = exports.APP_METADATA_KEY = exports.PARAM_METADATA_KEY = void 0;
|
|
4
4
|
exports.PARAM_METADATA_KEY = 'design:parameters';
|
|
5
5
|
exports.APP_METADATA_KEY = 'app:configuration';
|
|
6
6
|
exports.ROUTE_PREFIX = 'route:prefix';
|
|
@@ -46,4 +46,9 @@ exports.GRAPHQL_TYPE = 'graphql:type';
|
|
|
46
46
|
exports.GRAPHQL_INPUT_TYPE = 'graphql:inputType';
|
|
47
47
|
exports.GRAPHQL_FIELD = 'graphql:field';
|
|
48
48
|
exports.GRAPHQL_ARG = 'graphql:arg';
|
|
49
|
+
exports.GRAPHQL_FIELD_RESOLVER = 'graphql:fieldresolver';
|
|
50
|
+
exports.GRAPHQL_RESOLVER = 'graphql:resolver';
|
|
51
|
+
exports.GRAPHQL_PUBSUB = 'graphql:pubsub';
|
|
52
|
+
exports.GRAPHQL_INJECT_PUBSUB = 'graphql:injectpubsub';
|
|
53
|
+
exports.GRAPHQL_PARAMETER = 'graphql:parameter';
|
|
49
54
|
//# sourceMappingURL=constants.js.map
|
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,kBAAkB,GAAG,mBAAmB,CAAC;AACzC,QAAA,gBAAgB,GAAG,mBAAmB,CAAC;AACvC,QAAA,YAAY,GAAG,cAAc,CAAC;AAC9B,QAAA,iBAAiB,GAAG,mBAAmB,CAAC;AACxC,QAAA,WAAW,GAAG,wBAAwB,CAAC;AACvC,QAAA,WAAW,GAAG,iBAAiB,CAAC;AAChC,QAAA,WAAW,GAAG,kBAAkB,CAAC;AACjC,QAAA,QAAQ,GAAG,iBAAiB,CAAC;AAC7B,QAAA,eAAe,GAAG,WAAW,CAAC;AAE9B,QAAA,iBAAiB,GAAG,eAAe,CAAC;AACpC,QAAA,cAAc,GAAG,0BAA0B,CAAC;AAE5C,QAAA,UAAU,GAAG,mBAAmB,CAAC;AACjC,QAAA,YAAY,GAAG,iBAAiB,CAAC;AACjC,QAAA,cAAc,GAAG,mBAAmB,CAAC;AACrC,QAAA,QAAQ,GAAG,kBAAkB,CAAC;AAC9B,QAAA,KAAK,GAAG,cAAc,CAAC;AACvB,QAAA,QAAQ,GAAG,iBAAiB,CAAC;AAE7B,QAAA,OAAO,GAAG;;;;;WAKZ,CAAC;AAEC,QAAA,WAAW,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACjE,QAAA,WAAW,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AAElE,QAAA,SAAS,GAA6C;IACjE,WAAW,EAAE,CAAC;IACd,MAAM,EAAE,CAAC;CACV,CAAC;AAEK,MAAM,mBAAmB,GAAG,CAAC,IAA8B,EAAE,EAAE;IACpE,iBAAS,CAAC,IAAI,CAAC,GAAG,iBAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACxC,CAAC,CAAC;AAFW,QAAA,mBAAmB,uBAE9B;AAEW,QAAA,aAAa,GAAG,aAAa,CAAC;AAC9B,QAAA,gBAAgB,GAAG,cAAc,CAAC;AAClC,QAAA,aAAa,GAAG,YAAY,CAAC;AAC7B,QAAA,eAAe,GAAG,aAAa,CAAC;AAChC,QAAA,mBAAmB,GAAG,eAAe,CAAC;AACtC,QAAA,aAAa,GAAG,eAAe,CAAC;AAChC,QAAA,gBAAgB,GAAG,kBAAkB,CAAC;AACtC,QAAA,oBAAoB,GAAG,sBAAsB,CAAC;AAC9C,QAAA,YAAY,GAAG,cAAc,CAAC;AAC9B,QAAA,kBAAkB,GAAG,mBAAmB,CAAC;AACzC,QAAA,aAAa,GAAG,eAAe,CAAC;AAChC,QAAA,WAAW,GAAG,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,kBAAkB,GAAG,mBAAmB,CAAC;AACzC,QAAA,gBAAgB,GAAG,mBAAmB,CAAC;AACvC,QAAA,YAAY,GAAG,cAAc,CAAC;AAC9B,QAAA,iBAAiB,GAAG,mBAAmB,CAAC;AACxC,QAAA,WAAW,GAAG,wBAAwB,CAAC;AACvC,QAAA,WAAW,GAAG,iBAAiB,CAAC;AAChC,QAAA,WAAW,GAAG,kBAAkB,CAAC;AACjC,QAAA,QAAQ,GAAG,iBAAiB,CAAC;AAC7B,QAAA,eAAe,GAAG,WAAW,CAAC;AAE9B,QAAA,iBAAiB,GAAG,eAAe,CAAC;AACpC,QAAA,cAAc,GAAG,0BAA0B,CAAC;AAE5C,QAAA,UAAU,GAAG,mBAAmB,CAAC;AACjC,QAAA,YAAY,GAAG,iBAAiB,CAAC;AACjC,QAAA,cAAc,GAAG,mBAAmB,CAAC;AACrC,QAAA,QAAQ,GAAG,kBAAkB,CAAC;AAC9B,QAAA,KAAK,GAAG,cAAc,CAAC;AACvB,QAAA,QAAQ,GAAG,iBAAiB,CAAC;AAE7B,QAAA,OAAO,GAAG;;;;;WAKZ,CAAC;AAEC,QAAA,WAAW,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACjE,QAAA,WAAW,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AAElE,QAAA,SAAS,GAA6C;IACjE,WAAW,EAAE,CAAC;IACd,MAAM,EAAE,CAAC;CACV,CAAC;AAEK,MAAM,mBAAmB,GAAG,CAAC,IAA8B,EAAE,EAAE;IACpE,iBAAS,CAAC,IAAI,CAAC,GAAG,iBAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACxC,CAAC,CAAC;AAFW,QAAA,mBAAmB,uBAE9B;AAEW,QAAA,aAAa,GAAG,aAAa,CAAC;AAC9B,QAAA,gBAAgB,GAAG,cAAc,CAAC;AAClC,QAAA,aAAa,GAAG,YAAY,CAAC;AAC7B,QAAA,eAAe,GAAG,aAAa,CAAC;AAChC,QAAA,mBAAmB,GAAG,eAAe,CAAC;AACtC,QAAA,aAAa,GAAG,eAAe,CAAC;AAChC,QAAA,gBAAgB,GAAG,kBAAkB,CAAC;AACtC,QAAA,oBAAoB,GAAG,sBAAsB,CAAC;AAC9C,QAAA,YAAY,GAAG,cAAc,CAAC;AAC9B,QAAA,kBAAkB,GAAG,mBAAmB,CAAC;AACzC,QAAA,aAAa,GAAG,eAAe,CAAC;AAChC,QAAA,WAAW,GAAG,aAAa,CAAC;AAC5B,QAAA,sBAAsB,GAAG,uBAAuB,CAAC;AACjD,QAAA,gBAAgB,GAAG,kBAAkB,CAAC;AACtC,QAAA,cAAc,GAAG,gBAAgB,CAAC;AAClC,QAAA,qBAAqB,GAAG,sBAAsB,CAAC;AAC/C,QAAA,iBAAiB,GAAG,mBAAmB,CAAC"}
|
|
@@ -1,45 +1,17 @@
|
|
|
1
|
+
import { ArgOptions, GraphQLType, PubSubConfig } from '../types/index.js';
|
|
1
2
|
import 'reflect-metadata';
|
|
2
|
-
import { ArgOptions, GraphQLType, QueryMetadata } from '../types/index.js';
|
|
3
|
-
export interface MutationMetadata extends QueryMetadata {
|
|
4
|
-
}
|
|
5
|
-
export interface SubscriptionMetadata extends QueryMetadata {
|
|
6
|
-
}
|
|
7
|
-
/**
|
|
8
|
-
* Class decorator to mark a class as a GraphQL ObjectType.
|
|
9
|
-
* @param {string} [name] - Optional name of the GraphQL ObjectType. Defaults to the class name.
|
|
10
|
-
*/
|
|
11
3
|
export declare function ObjectType(name?: string): ClassDecorator;
|
|
12
|
-
/**
|
|
13
|
-
* Class decorator to mark a class as a GraphQL InputType.
|
|
14
|
-
* @param {string} [name] - Optional name of the GraphQL InputType. Defaults to the class name.
|
|
15
|
-
*/
|
|
16
4
|
export declare function InputType(name?: string): ClassDecorator;
|
|
17
|
-
/**
|
|
18
|
-
* Property decorator to mark a class property as a GraphQL Field.
|
|
19
|
-
* @param {GraphQLType | (() => GraphQLType) | { nullable: true }} [type] - The GraphQL type or a function returning the type. Can specify nullable.
|
|
20
|
-
*/
|
|
21
5
|
export declare function Field(type?: GraphQLType | (() => GraphQLType) | {
|
|
22
6
|
nullable: true;
|
|
23
7
|
}): PropertyDecorator;
|
|
24
|
-
/**
|
|
25
|
-
* Parameter decorator to define a GraphQL argument.
|
|
26
|
-
* @param {string} [name] - Name of the argument.
|
|
27
|
-
* @param {GraphQLType} [type] - GraphQL type of the argument.
|
|
28
|
-
* @param {ArgOptions} [options] - Additional options like required, description, defaultValue.
|
|
29
|
-
*/
|
|
30
8
|
export declare function Arg(name?: string, type?: GraphQLType, options?: ArgOptions): ParameterDecorator;
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
* @param {GraphQLType | (() => GraphQLType)} [returnType] - Return type of the query.
|
|
34
|
-
*/
|
|
9
|
+
export declare function Root(): ParameterDecorator;
|
|
10
|
+
export declare function Context(): ParameterDecorator;
|
|
35
11
|
export declare function Query(returnType?: GraphQLType | (() => GraphQLType)): MethodDecorator;
|
|
36
|
-
/**
|
|
37
|
-
* Method decorator to mark a method as a GraphQL Mutation.
|
|
38
|
-
* @param {GraphQLType | (() => GraphQLType)} [returnType] - Return type of the mutation.
|
|
39
|
-
*/
|
|
40
12
|
export declare function Mutation(returnType?: GraphQLType | (() => GraphQLType)): MethodDecorator;
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
13
|
+
export declare function FieldResolver(returns?: any): MethodDecorator;
|
|
14
|
+
export declare function Resolver(type?: any): ClassDecorator;
|
|
15
|
+
export declare function PubSub(config?: PubSubConfig | string): ParameterDecorator;
|
|
16
|
+
export declare function InjectPubSub(): ParameterDecorator;
|
|
45
17
|
export declare function Subscription(returnType?: GraphQLType | (() => GraphQLType)): MethodDecorator;
|