@thangnv-dev/domain-nest 0.0.1

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 (65) hide show
  1. package/dist/aggregate-root.d.ts +8 -0
  2. package/dist/aggregate-root.d.ts.map +1 -0
  3. package/dist/aggregate-root.js +24 -0
  4. package/dist/aggregate-root.js.map +1 -0
  5. package/dist/base-entity.d.ts +9 -0
  6. package/dist/base-entity.d.ts.map +1 -0
  7. package/dist/base-entity.js +46 -0
  8. package/dist/base-entity.js.map +1 -0
  9. package/dist/base-entity.model.d.ts +14 -0
  10. package/dist/base-entity.model.d.ts.map +1 -0
  11. package/dist/base-entity.model.js +97 -0
  12. package/dist/base-entity.model.js.map +1 -0
  13. package/dist/connection/connection-builder.d.ts +22 -0
  14. package/dist/connection/connection-builder.d.ts.map +1 -0
  15. package/dist/connection/connection-builder.js +216 -0
  16. package/dist/connection/connection-builder.js.map +1 -0
  17. package/dist/connection/connection-types.d.ts +38 -0
  18. package/dist/connection/connection-types.d.ts.map +1 -0
  19. package/dist/connection/connection-types.js +2 -0
  20. package/dist/connection/connection-types.js.map +1 -0
  21. package/dist/connection/index.d.ts +3 -0
  22. package/dist/connection/index.d.ts.map +1 -0
  23. package/dist/connection/index.js +2 -0
  24. package/dist/connection/index.js.map +1 -0
  25. package/dist/connection-builder.d.ts +24 -0
  26. package/dist/connection-builder.d.ts.map +1 -0
  27. package/dist/connection-builder.js +112 -0
  28. package/dist/connection-builder.js.map +1 -0
  29. package/dist/domain-event-subscriber.d.ts +11 -0
  30. package/dist/domain-event-subscriber.d.ts.map +1 -0
  31. package/dist/domain-event-subscriber.js +59 -0
  32. package/dist/domain-event-subscriber.js.map +1 -0
  33. package/dist/domain-event.d.ts +6 -0
  34. package/dist/domain-event.d.ts.map +1 -0
  35. package/dist/domain-event.js +5 -0
  36. package/dist/domain-event.js.map +1 -0
  37. package/dist/domain.module.d.ts +3 -0
  38. package/dist/domain.module.d.ts.map +1 -0
  39. package/dist/domain.module.js +19 -0
  40. package/dist/domain.module.js.map +1 -0
  41. package/dist/graphql/connection-builder.d.ts +2 -0
  42. package/dist/graphql/connection-builder.d.ts.map +1 -0
  43. package/dist/graphql/connection-builder.js +2 -0
  44. package/dist/graphql/connection-builder.js.map +1 -0
  45. package/dist/graphql/connection.d.ts +43 -0
  46. package/dist/graphql/connection.d.ts.map +1 -0
  47. package/dist/graphql/connection.js +193 -0
  48. package/dist/graphql/connection.js.map +1 -0
  49. package/dist/graphql/index.d.ts +3 -0
  50. package/dist/graphql/index.d.ts.map +1 -0
  51. package/dist/graphql/index.js +2 -0
  52. package/dist/graphql/index.js.map +1 -0
  53. package/dist/graphql/relay.d.ts +40 -0
  54. package/dist/graphql/relay.d.ts.map +1 -0
  55. package/dist/graphql/relay.js +174 -0
  56. package/dist/graphql/relay.js.map +1 -0
  57. package/dist/index.d.ts +7 -0
  58. package/dist/index.d.ts.map +1 -0
  59. package/dist/index.js +7 -0
  60. package/dist/index.js.map +1 -0
  61. package/dist/relay-primitives.d.ts +26 -0
  62. package/dist/relay-primitives.d.ts.map +1 -0
  63. package/dist/relay-primitives.js +116 -0
  64. package/dist/relay-primitives.js.map +1 -0
  65. package/package.json +52 -0
@@ -0,0 +1,112 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ 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;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { BadRequestException, Injectable } from '@nestjs/common';
11
+ let ConnectionBuilder = class ConnectionBuilder {
12
+ repository;
13
+ constructor(repository) {
14
+ this.repository = repository;
15
+ }
16
+ async build(args) {
17
+ const normalizedArgs = this.normalizeArgs(args);
18
+ const [where, orderBy, options] = await Promise.all([
19
+ this.resolveWhere(normalizedArgs),
20
+ this.resolveOrderBy(normalizedArgs),
21
+ this.resolveFindOptions(normalizedArgs),
22
+ ]);
23
+ const includeCount = this.includeTotalCount(normalizedArgs);
24
+ const findOptions = {
25
+ ...options,
26
+ orderBy,
27
+ first: normalizedArgs.first,
28
+ after: normalizedArgs.after,
29
+ last: normalizedArgs.last,
30
+ before: normalizedArgs.before,
31
+ includeCount,
32
+ };
33
+ const cursor = await this.repository.findByCursor(where, findOptions);
34
+ const edges = await Promise.all(cursor.items.map(async (entity, index) => ({
35
+ cursor: cursor.from(entity),
36
+ node: await this.toNode(entity, index),
37
+ })));
38
+ return {
39
+ edges,
40
+ pageInfo: {
41
+ hasNextPage: cursor.hasNextPage,
42
+ hasPreviousPage: cursor.hasPrevPage,
43
+ startCursor: cursor.startCursor ?? undefined,
44
+ endCursor: cursor.endCursor ?? undefined,
45
+ },
46
+ totalCount: includeCount ? cursor.totalCount : undefined,
47
+ };
48
+ }
49
+ getDefaultPageSize() {
50
+ return 20;
51
+ }
52
+ getMaxPageSize() {
53
+ return 100;
54
+ }
55
+ includeTotalCount(_args) {
56
+ return true;
57
+ }
58
+ resolveFindOptions(_args) {
59
+ return {};
60
+ }
61
+ normalizeArgs(args) {
62
+ const maxPageSize = this.getMaxPageSize();
63
+ const defaultPageSize = this.getDefaultPageSize();
64
+ if (!Number.isInteger(maxPageSize) || maxPageSize < 1) {
65
+ throw new Error('ConnectionBuilder.getMaxPageSize() must return a positive integer.');
66
+ }
67
+ if (!Number.isInteger(defaultPageSize) ||
68
+ defaultPageSize < 1 ||
69
+ defaultPageSize > maxPageSize) {
70
+ throw new Error('ConnectionBuilder.getDefaultPageSize() must return a positive integer <= max page size.');
71
+ }
72
+ if (args.first !== undefined && args.last !== undefined) {
73
+ throw new BadRequestException('Use either "first" or "last", not both.');
74
+ }
75
+ if (args.first === undefined && args.last === undefined) {
76
+ return {
77
+ first: defaultPageSize,
78
+ after: args.after,
79
+ before: args.before,
80
+ };
81
+ }
82
+ if (args.first !== undefined) {
83
+ this.assertValidPageSize('first', args.first, maxPageSize);
84
+ return {
85
+ first: args.first,
86
+ after: args.after,
87
+ before: args.before,
88
+ };
89
+ }
90
+ const last = args.last ?? defaultPageSize;
91
+ this.assertValidPageSize('last', last, maxPageSize);
92
+ return {
93
+ last,
94
+ after: args.after,
95
+ before: args.before,
96
+ };
97
+ }
98
+ assertValidPageSize(key, value, maxPageSize) {
99
+ if (!Number.isInteger(value) || value < 1) {
100
+ throw new BadRequestException(`"${key}" must be a positive integer.`);
101
+ }
102
+ if (value > maxPageSize) {
103
+ throw new BadRequestException(`"${key}" cannot be greater than ${maxPageSize}.`);
104
+ }
105
+ }
106
+ };
107
+ ConnectionBuilder = __decorate([
108
+ Injectable(),
109
+ __metadata("design:paramtypes", [Function])
110
+ ], ConnectionBuilder);
111
+ export { ConnectionBuilder };
112
+ //# sourceMappingURL=connection-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection-builder.js","sourceRoot":"","sources":["../src/connection-builder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { EntityManager, EventSubscriber, type FlushEventArgs, type TransactionEventArgs } from '@mikro-orm/core';
2
+ import { EventEmitter2 } from '@nestjs/event-emitter';
3
+ export declare class DomainEventSubscriber implements EventSubscriber {
4
+ private readonly emitter;
5
+ private readonly pendingEvents;
6
+ constructor(em: EntityManager, emitter: EventEmitter2);
7
+ afterFlush(args: FlushEventArgs): Promise<void>;
8
+ afterTransactionCommit(args: TransactionEventArgs): Promise<void>;
9
+ afterTransactionRollback(args: TransactionEventArgs): Promise<void>;
10
+ }
11
+ //# sourceMappingURL=domain-event-subscriber.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domain-event-subscriber.d.ts","sourceRoot":"","sources":["../src/domain-event-subscriber.ts"],"names":[],"mappings":"AACA,OAAO,EACL,aAAa,EACb,eAAe,EACf,KAAK,cAAc,EACnB,KAAK,oBAAoB,EAE1B,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAIrD,qBACa,qBAAsB,YAAW,eAAe;IAKzD,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJ1B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA2C;gBAGvE,EAAE,EAAE,aAAa,EACA,OAAO,EAAE,aAAa;IAKnC,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB/C,sBAAsB,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAWjE,wBAAwB,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;CAI1E"}
@@ -0,0 +1,59 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ 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;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { Injectable } from '@nestjs/common';
11
+ import { EntityManager, } from '@mikro-orm/core';
12
+ import { EventEmitter2 } from '@nestjs/event-emitter';
13
+ import { BaseAggregateRoot } from './aggregate-root.js';
14
+ let DomainEventSubscriber = class DomainEventSubscriber {
15
+ emitter;
16
+ pendingEvents = new WeakMap();
17
+ constructor(em, emitter) {
18
+ this.emitter = emitter;
19
+ em.getEventManager().registerSubscriber(this);
20
+ }
21
+ async afterFlush(args) {
22
+ const changeSets = args.uow.getChangeSets();
23
+ const collected = [];
24
+ for (const cs of changeSets) {
25
+ const entity = cs.entity;
26
+ if (!(entity instanceof BaseAggregateRoot)) {
27
+ continue;
28
+ }
29
+ collected.push(...entity.pullDomainEvents());
30
+ }
31
+ if (collected.length > 0) {
32
+ const existing = this.pendingEvents.get(args.uow) ?? [];
33
+ this.pendingEvents.set(args.uow, [...existing, ...collected]);
34
+ }
35
+ }
36
+ async afterTransactionCommit(args) {
37
+ if (!args.uow)
38
+ return;
39
+ const events = this.pendingEvents.get(args.uow);
40
+ this.pendingEvents.delete(args.uow);
41
+ if (!events)
42
+ return;
43
+ for (const event of events) {
44
+ this.emitter.emit(event.eventName, event);
45
+ }
46
+ }
47
+ async afterTransactionRollback(args) {
48
+ if (!args.uow)
49
+ return;
50
+ this.pendingEvents.delete(args.uow);
51
+ }
52
+ };
53
+ DomainEventSubscriber = __decorate([
54
+ Injectable(),
55
+ __metadata("design:paramtypes", [EntityManager,
56
+ EventEmitter2])
57
+ ], DomainEventSubscriber);
58
+ export { DomainEventSubscriber };
59
+ //# sourceMappingURL=domain-event-subscriber.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domain-event-subscriber.js","sourceRoot":"","sources":["../src/domain-event-subscriber.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EACL,aAAa,GAKd,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAIhD,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAKb;IAJF,aAAa,GAAG,IAAI,OAAO,EAA6B,CAAA;IAEzE,YACE,EAAiB,EACA,OAAsB;QAAtB,YAAO,GAAP,OAAO,CAAe;QAEvC,EAAE,CAAC,eAAe,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAA;IAC/C,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAoB;QACnC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAA;QAC3C,MAAM,SAAS,GAAkB,EAAE,CAAA;QAEnC,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,CAAA;YACxB,IAAI,CAAC,CAAC,MAAM,YAAY,iBAAiB,CAAC,EAAE,CAAC;gBAC3C,SAAQ;YACV,CAAC;YACD,SAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAA;QAC9C,CAAC;QAED,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAA;YACvD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,QAAQ,EAAE,GAAG,SAAS,CAAC,CAAC,CAAA;QAC/D,CAAC;IACH,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,IAA0B;QACrD,IAAI,CAAC,IAAI,CAAC,GAAG;YAAE,OAAM;QACrB,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC/C,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACnC,IAAI,CAAC,MAAM;YAAE,OAAM;QAEnB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;QAC3C,CAAC;IACH,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,IAA0B;QACvD,IAAI,CAAC,IAAI,CAAC,GAAG;YAAE,OAAM;QACrB,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACrC,CAAC;CACF,CAAA;AA3CY,qBAAqB;IADjC,UAAU,EAAE;qCAKL,aAAa;QACS,aAAa;GAL9B,qBAAqB,CA2CjC"}
@@ -0,0 +1,6 @@
1
+ import 'temporal-polyfill/global';
2
+ export declare abstract class DomainEvent {
3
+ readonly occurredAt: Temporal.Instant;
4
+ abstract readonly eventName: string;
5
+ }
6
+ //# sourceMappingURL=domain-event.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domain-event.d.ts","sourceRoot":"","sources":["../src/domain-event.ts"],"names":[],"mappings":"AAAA,OAAO,0BAA0B,CAAA;AAEjC,8BAAsB,WAAW;IAC/B,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAyB;IAC9D,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CACpC"}
@@ -0,0 +1,5 @@
1
+ import 'temporal-polyfill/global';
2
+ export class DomainEvent {
3
+ occurredAt = Temporal.Now.instant();
4
+ }
5
+ //# sourceMappingURL=domain-event.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domain-event.js","sourceRoot":"","sources":["../src/domain-event.ts"],"names":[],"mappings":"AAAA,OAAO,0BAA0B,CAAA;AAEjC,MAAM,OAAgB,WAAW;IACtB,UAAU,GAAqB,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,CAAA;CAE/D"}
@@ -0,0 +1,3 @@
1
+ export declare class DomainModule {
2
+ }
3
+ //# sourceMappingURL=domain.module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domain.module.d.ts","sourceRoot":"","sources":["../src/domain.module.ts"],"names":[],"mappings":"AAIA,qBAIa,YAAY;CAAG"}
@@ -0,0 +1,19 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ 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;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { Module } from '@nestjs/common';
8
+ import { EventEmitterModule } from '@nestjs/event-emitter';
9
+ import { DomainEventSubscriber } from './domain-event-subscriber.js';
10
+ let DomainModule = class DomainModule {
11
+ };
12
+ DomainModule = __decorate([
13
+ Module({
14
+ imports: [EventEmitterModule.forRoot()],
15
+ providers: [DomainEventSubscriber],
16
+ })
17
+ ], DomainModule);
18
+ export { DomainModule };
19
+ //# sourceMappingURL=domain.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domain.module.js","sourceRoot":"","sources":["../src/domain.module.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AAM7D,IAAM,YAAY,GAAlB,MAAM,YAAY;CAAG,CAAA;AAAf,YAAY;IAJxB,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC;QACvC,SAAS,EAAE,CAAC,qBAAqB,CAAC;KACnC,CAAC;GACW,YAAY,CAAG"}
@@ -0,0 +1,2 @@
1
+ export { ConnectionBuilder } from '../connection/connection-builder.js';
2
+ //# sourceMappingURL=connection-builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection-builder.d.ts","sourceRoot":"","sources":["../../src/graphql/connection-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export { ConnectionBuilder } from '../connection/connection-builder.js';
2
+ //# sourceMappingURL=connection-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection-builder.js","sourceRoot":"","sources":["../../src/graphql/connection-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAA"}
@@ -0,0 +1,43 @@
1
+ import type { Type } from '@nestjs/common';
2
+ import type { ConnectionArgs as GenericConnectionArgs, ConnectionLazyValue as GenericConnectionLazyValue, ConnectionNode as GenericConnectionNode, ConnectionPageInfo as GenericConnectionPageInfo, ConnectionResult as GenericConnectionResult } from '../connection/connection-types.js';
3
+ export type ConnectionNode = GenericConnectionNode;
4
+ export type ConnectionPageInfo = GenericConnectionPageInfo;
5
+ export type ConnectionLazyValue<T> = GenericConnectionLazyValue<T>;
6
+ export type ConnectionResult<TNode extends ConnectionNode = ConnectionNode> = GenericConnectionResult<TNode>;
7
+ export type ConnectionArgsShape = GenericConnectionArgs;
8
+ export declare enum ConnectionPageMode {
9
+ CURSOR = "cursor",
10
+ OFFSET = "offset"
11
+ }
12
+ export declare class ConnectionArgs implements ConnectionArgsShape {
13
+ first?: number;
14
+ after?: string;
15
+ last?: number;
16
+ before?: string;
17
+ limit?: number;
18
+ offset?: number;
19
+ includeCount?: boolean;
20
+ }
21
+ export declare class PageInfo {
22
+ mode: ConnectionPageMode;
23
+ hasNextPage: boolean;
24
+ hasPreviousPage: boolean;
25
+ startCursor?: string;
26
+ endCursor?: string;
27
+ limit?: number;
28
+ offset?: number;
29
+ constructor(input: ConnectionPageInfo);
30
+ }
31
+ export declare abstract class Connection<TNode extends ConnectionNode = ConnectionNode> {
32
+ private readonly nodesLoader;
33
+ private readonly totalCountLoader?;
34
+ private nodesPromise?;
35
+ private totalCountPromise?;
36
+ pageInfo: PageInfo;
37
+ get totalCount(): Promise<number | undefined> | undefined;
38
+ protected constructor(input: ConnectionResult<TNode>);
39
+ get nodes(): ConnectionLazyValue<TNode[]>;
40
+ protected getNodes(): Promise<TNode[]>;
41
+ }
42
+ export declare function createConnectionType<TNode extends ConnectionNode>(nodeType: Type<TNode>): Type<Connection<TNode>>;
43
+ //# sourceMappingURL=connection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/graphql/connection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AAQ1C,OAAO,KAAK,EACV,cAAc,IAAI,qBAAqB,EACvC,mBAAmB,IAAI,0BAA0B,EACjD,cAAc,IAAI,qBAAqB,EACvC,kBAAkB,IAAI,yBAAyB,EAC/C,gBAAgB,IAAI,uBAAuB,EAC5C,MAAM,mCAAmC,CAAA;AAE1C,MAAM,MAAM,cAAc,GAAG,qBAAqB,CAAA;AAClD,MAAM,MAAM,kBAAkB,GAAG,yBAAyB,CAAA;AAC1D,MAAM,MAAM,mBAAmB,CAAC,CAAC,IAAI,0BAA0B,CAAC,CAAC,CAAC,CAAA;AAClE,MAAM,MAAM,gBAAgB,CAAC,KAAK,SAAS,cAAc,GAAG,cAAc,IACxE,uBAAuB,CAAC,KAAK,CAAC,CAAA;AAChC,MAAM,MAAM,mBAAmB,GAAG,qBAAqB,CAAA;AAEvD,oBAAY,kBAAkB;IAC5B,MAAM,WAAW;IACjB,MAAM,WAAW;CAClB;AAMD,qBACa,cAAe,YAAW,mBAAmB;IAExD,KAAK,CAAC,EAAE,MAAM,CAAA;IAGd,KAAK,CAAC,EAAE,MAAM,CAAA;IAGd,IAAI,CAAC,EAAE,MAAM,CAAA;IAGb,MAAM,CAAC,EAAE,MAAM,CAAA;IAGf,KAAK,CAAC,EAAE,MAAM,CAAA;IAGd,MAAM,CAAC,EAAE,MAAM,CAAA;IAGf,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB;AAED,qBACa,QAAQ;IAEnB,IAAI,EAAG,kBAAkB,CAAA;IAGzB,WAAW,EAAG,OAAO,CAAA;IAGrB,eAAe,EAAG,OAAO,CAAA;IAGzB,WAAW,CAAC,EAAE,MAAM,CAAA;IAGpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAGlB,KAAK,CAAC,EAAE,MAAM,CAAA;IAGd,MAAM,CAAC,EAAE,MAAM,CAAA;gBAEH,KAAK,EAAE,kBAAkB;CAiBtC;AAED,8BACsB,UAAU,CAAC,KAAK,SAAS,cAAc,GAAG,cAAc;IAC5E,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAwB;IACpD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAmC;IACrE,OAAO,CAAC,YAAY,CAAC,CAAkB;IACvC,OAAO,CAAC,iBAAiB,CAAC,CAA6B;IAGvD,QAAQ,EAAG,QAAQ,CAAA;IAEnB,IACI,UAAU,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,GAAG,SAAS,CAUxD;IAED,SAAS,aAAa,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC;IASpD,IAAI,KAAK,IAAI,mBAAmB,CAAC,KAAK,EAAE,CAAC,CAExC;IAED,SAAS,CAAC,QAAQ,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;CAOvC;AAED,wBAAgB,oBAAoB,CAAC,KAAK,SAAS,cAAc,EAC/D,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,GACpB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAczB"}
@@ -0,0 +1,193 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ 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;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { ArgsType, Field, Int, ObjectType, registerEnumType, } from '@nestjs/graphql';
11
+ export var ConnectionPageMode;
12
+ (function (ConnectionPageMode) {
13
+ ConnectionPageMode["CURSOR"] = "cursor";
14
+ ConnectionPageMode["OFFSET"] = "offset";
15
+ })(ConnectionPageMode || (ConnectionPageMode = {}));
16
+ registerEnumType(ConnectionPageMode, {
17
+ name: 'ConnectionPageMode',
18
+ });
19
+ let ConnectionArgs = class ConnectionArgs {
20
+ first;
21
+ after;
22
+ last;
23
+ before;
24
+ limit;
25
+ offset;
26
+ includeCount;
27
+ };
28
+ __decorate([
29
+ Field(() => Int, { name: 'first', nullable: true }),
30
+ __metadata("design:type", Number)
31
+ ], ConnectionArgs.prototype, "first", void 0);
32
+ __decorate([
33
+ Field(() => String, { name: 'after', nullable: true }),
34
+ __metadata("design:type", String)
35
+ ], ConnectionArgs.prototype, "after", void 0);
36
+ __decorate([
37
+ Field(() => Int, { name: 'last', nullable: true }),
38
+ __metadata("design:type", Number)
39
+ ], ConnectionArgs.prototype, "last", void 0);
40
+ __decorate([
41
+ Field(() => String, { name: 'before', nullable: true }),
42
+ __metadata("design:type", String)
43
+ ], ConnectionArgs.prototype, "before", void 0);
44
+ __decorate([
45
+ Field(() => Int, { name: 'limit', nullable: true }),
46
+ __metadata("design:type", Number)
47
+ ], ConnectionArgs.prototype, "limit", void 0);
48
+ __decorate([
49
+ Field(() => Int, { name: 'offset', nullable: true }),
50
+ __metadata("design:type", Number)
51
+ ], ConnectionArgs.prototype, "offset", void 0);
52
+ __decorate([
53
+ Field(() => Boolean, { name: 'includeCount', nullable: true }),
54
+ __metadata("design:type", Boolean)
55
+ ], ConnectionArgs.prototype, "includeCount", void 0);
56
+ ConnectionArgs = __decorate([
57
+ ArgsType()
58
+ ], ConnectionArgs);
59
+ export { ConnectionArgs };
60
+ let PageInfo = class PageInfo {
61
+ mode;
62
+ hasNextPage;
63
+ hasPreviousPage;
64
+ startCursor;
65
+ endCursor;
66
+ limit;
67
+ offset;
68
+ constructor(input) {
69
+ this.mode =
70
+ input.mode === 'offset'
71
+ ? ConnectionPageMode.OFFSET
72
+ : ConnectionPageMode.CURSOR;
73
+ this.hasNextPage = input.hasNextPage;
74
+ this.hasPreviousPage = input.hasPreviousPage;
75
+ if (input.mode === 'cursor') {
76
+ this.startCursor = input.startCursor;
77
+ this.endCursor = input.endCursor;
78
+ return;
79
+ }
80
+ this.limit = input.limit;
81
+ this.offset = input.offset;
82
+ }
83
+ };
84
+ __decorate([
85
+ Field(() => ConnectionPageMode, { name: 'mode' }),
86
+ __metadata("design:type", String)
87
+ ], PageInfo.prototype, "mode", void 0);
88
+ __decorate([
89
+ Field(() => Boolean, { name: 'hasNextPage' }),
90
+ __metadata("design:type", Boolean)
91
+ ], PageInfo.prototype, "hasNextPage", void 0);
92
+ __decorate([
93
+ Field(() => Boolean, { name: 'hasPreviousPage' }),
94
+ __metadata("design:type", Boolean)
95
+ ], PageInfo.prototype, "hasPreviousPage", void 0);
96
+ __decorate([
97
+ Field(() => String, { name: 'startCursor', nullable: true }),
98
+ __metadata("design:type", String)
99
+ ], PageInfo.prototype, "startCursor", void 0);
100
+ __decorate([
101
+ Field(() => String, { name: 'endCursor', nullable: true }),
102
+ __metadata("design:type", String)
103
+ ], PageInfo.prototype, "endCursor", void 0);
104
+ __decorate([
105
+ Field(() => Int, { name: 'limit', nullable: true }),
106
+ __metadata("design:type", Number)
107
+ ], PageInfo.prototype, "limit", void 0);
108
+ __decorate([
109
+ Field(() => Int, { name: 'offset', nullable: true }),
110
+ __metadata("design:type", Number)
111
+ ], PageInfo.prototype, "offset", void 0);
112
+ PageInfo = __decorate([
113
+ ObjectType('PageInfo'),
114
+ __metadata("design:paramtypes", [Object])
115
+ ], PageInfo);
116
+ export { PageInfo };
117
+ let Connection = class Connection {
118
+ nodesLoader;
119
+ totalCountLoader;
120
+ nodesPromise;
121
+ totalCountPromise;
122
+ pageInfo;
123
+ get totalCount() {
124
+ if (!this.totalCountLoader) {
125
+ return undefined;
126
+ }
127
+ if (!this.totalCountPromise) {
128
+ this.totalCountPromise = this.totalCountLoader();
129
+ }
130
+ return this.totalCountPromise;
131
+ }
132
+ constructor(input) {
133
+ this.pageInfo = new PageInfo(input.pageInfo);
134
+ this.nodesLoader = createLazyLoader(() => input.nodes);
135
+ this.totalCountLoader =
136
+ input.totalCount === undefined
137
+ ? undefined
138
+ : createLazyLoader(() => input.totalCount);
139
+ }
140
+ get nodes() {
141
+ return this.getNodes();
142
+ }
143
+ getNodes() {
144
+ if (!this.nodesPromise) {
145
+ this.nodesPromise = this.nodesLoader();
146
+ }
147
+ return this.nodesPromise;
148
+ }
149
+ };
150
+ __decorate([
151
+ Field(() => PageInfo, { name: 'pageInfo' }),
152
+ __metadata("design:type", PageInfo)
153
+ ], Connection.prototype, "pageInfo", void 0);
154
+ __decorate([
155
+ Field(() => Int, { name: 'totalCount', nullable: true }),
156
+ __metadata("design:type", Object),
157
+ __metadata("design:paramtypes", [])
158
+ ], Connection.prototype, "totalCount", null);
159
+ Connection = __decorate([
160
+ ObjectType('Connection', { isAbstract: true }),
161
+ __metadata("design:paramtypes", [Object])
162
+ ], Connection);
163
+ export { Connection };
164
+ export function createConnectionType(nodeType) {
165
+ let ConnectionType = class ConnectionType extends Connection {
166
+ get nodes() {
167
+ return this.getNodes();
168
+ }
169
+ constructor(input) {
170
+ super(input);
171
+ }
172
+ };
173
+ __decorate([
174
+ Field(() => [nodeType], { name: 'nodes' }),
175
+ __metadata("design:type", Promise),
176
+ __metadata("design:paramtypes", [])
177
+ ], ConnectionType.prototype, "nodes", null);
178
+ ConnectionType = __decorate([
179
+ ObjectType({ isAbstract: true }),
180
+ __metadata("design:paramtypes", [Object])
181
+ ], ConnectionType);
182
+ return ConnectionType;
183
+ }
184
+ function createLazyLoader(getValue) {
185
+ return async () => {
186
+ const value = getValue();
187
+ if (typeof value === 'function') {
188
+ return value();
189
+ }
190
+ return value;
191
+ };
192
+ }
193
+ //# sourceMappingURL=connection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/graphql/connection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { PageInfo, Connection, createConnectionType, ConnectionArgs, ConnectionPageMode, } from './connection.js';
2
+ export type { ConnectionNode, ConnectionPageInfo, ConnectionLazyValue, ConnectionResult, ConnectionArgsShape, } from './connection.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/graphql/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,UAAU,EACV,oBAAoB,EACpB,cAAc,EACd,kBAAkB,GACnB,MAAM,iBAAiB,CAAA;AACxB,YAAY,EACV,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,iBAAiB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export { PageInfo, Connection, createConnectionType, ConnectionArgs, ConnectionPageMode, } from './connection.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/graphql/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,UAAU,EACV,oBAAoB,EACpB,cAAc,EACd,kBAAkB,GACnB,MAAM,iBAAiB,CAAA"}
@@ -0,0 +1,40 @@
1
+ import type { Type } from '@nestjs/common';
2
+ import type { ConnectionArgs as GenericConnectionArgs, ConnectionEdge as GenericConnectionEdge, ConnectionLazyValue as GenericConnectionLazyValue, ConnectionNode as GenericConnectionNode, ConnectionPageInfo as GenericConnectionPageInfo, ConnectionResult as GenericConnectionResult } from '../connection/connection-types.js';
3
+ export type RelayNode = GenericConnectionNode;
4
+ export type RelayPageInfo = GenericConnectionPageInfo;
5
+ export type RelayEdge<TNode extends RelayNode = RelayNode> = GenericConnectionEdge<TNode>;
6
+ export type RelayLazyValue<T> = GenericConnectionLazyValue<T>;
7
+ export type RelayConnection<TEdge extends RelayEdge = RelayEdge> = GenericConnectionResult<TEdge>;
8
+ export type RelayConnectionArgs = GenericConnectionArgs;
9
+ export declare class ConnectionArgs implements RelayConnectionArgs {
10
+ first?: number;
11
+ after?: string;
12
+ last?: number;
13
+ before?: string;
14
+ }
15
+ export declare class PageInfo implements RelayPageInfo {
16
+ hasNextPage: boolean;
17
+ hasPreviousPage: boolean;
18
+ startCursor?: string;
19
+ endCursor?: string;
20
+ constructor(input: RelayPageInfo);
21
+ }
22
+ export declare abstract class Edge<TNode extends RelayNode> implements RelayEdge<TNode> {
23
+ cursor: string;
24
+ abstract node: TNode;
25
+ protected constructor(cursor: string);
26
+ }
27
+ export declare abstract class Connection<TEdge extends RelayEdge = RelayEdge> implements RelayConnection<TEdge> {
28
+ private readonly edgesLoader;
29
+ private readonly totalCountLoader?;
30
+ private edgesPromise?;
31
+ private totalCountPromise?;
32
+ pageInfo: PageInfo;
33
+ get totalCount(): Promise<number | undefined> | undefined;
34
+ protected constructor(input: RelayConnection<TEdge>);
35
+ abstract get edges(): RelayLazyValue<TEdge[]>;
36
+ protected getEdges(): Promise<TEdge[]>;
37
+ }
38
+ export declare function createEdgeType<TNode extends RelayNode>(nodeType: Type<TNode>): Type<RelayEdge<TNode>>;
39
+ export declare function createConnectionType<TEdge extends RelayEdge>(edgeType: Type<TEdge>): Type<RelayConnection<TEdge>>;
40
+ //# sourceMappingURL=relay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relay.d.ts","sourceRoot":"","sources":["../../src/graphql/relay.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AAE1C,OAAO,KAAK,EACV,cAAc,IAAI,qBAAqB,EACvC,cAAc,IAAI,qBAAqB,EACvC,mBAAmB,IAAI,0BAA0B,EACjD,cAAc,IAAI,qBAAqB,EACvC,kBAAkB,IAAI,yBAAyB,EAC/C,gBAAgB,IAAI,uBAAuB,EAC5C,MAAM,mCAAmC,CAAA;AAE1C,MAAM,MAAM,SAAS,GAAG,qBAAqB,CAAA;AAE7C,MAAM,MAAM,aAAa,GAAG,yBAAyB,CAAA;AAErD,MAAM,MAAM,SAAS,CAAC,KAAK,SAAS,SAAS,GAAG,SAAS,IAAI,qBAAqB,CAAC,KAAK,CAAC,CAAA;AAEzF,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,0BAA0B,CAAC,CAAC,CAAC,CAAA;AAE7D,MAAM,MAAM,eAAe,CAAC,KAAK,SAAS,SAAS,GAAG,SAAS,IAAI,uBAAuB,CAAC,KAAK,CAAC,CAAA;AAEjG,MAAM,MAAM,mBAAmB,GAAG,qBAAqB,CAAA;AAEvD,qBACa,cAAe,YAAW,mBAAmB;IAExD,KAAK,CAAC,EAAE,MAAM,CAAA;IAGd,KAAK,CAAC,EAAE,MAAM,CAAA;IAGd,IAAI,CAAC,EAAE,MAAM,CAAA;IAGb,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,qBACa,QAAS,YAAW,aAAa;IAE5C,WAAW,EAAG,OAAO,CAAA;IAGrB,eAAe,EAAG,OAAO,CAAA;IAGzB,WAAW,CAAC,EAAE,MAAM,CAAA;IAGpB,SAAS,CAAC,EAAE,MAAM,CAAA;gBAEN,KAAK,EAAE,aAAa;CAMjC;AAED,8BACsB,IAAI,CAAC,KAAK,SAAS,SAAS,CAAE,YAAW,SAAS,CAAC,KAAK,CAAC;IAE7E,MAAM,EAAG,MAAM,CAAA;IAEf,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAA;IAEpB,SAAS,aAAa,MAAM,EAAE,MAAM;CAGrC;AAED,8BACsB,UAAU,CAAC,KAAK,SAAS,SAAS,GAAG,SAAS,CAClE,YAAW,eAAe,CAAC,KAAK,CAAC;IAEjC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAwB;IACpD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAmC;IACrE,OAAO,CAAC,YAAY,CAAC,CAAkB;IACvC,OAAO,CAAC,iBAAiB,CAAC,CAA6B;IAGvD,QAAQ,EAAG,QAAQ,CAAA;IAEnB,IACI,UAAU,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,GAAG,SAAS,CAUxD;IAED,SAAS,aAAa,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC;IAOnD,QAAQ,KAAK,KAAK,IAAI,cAAc,CAAC,KAAK,EAAE,CAAC,CAAA;IAE7C,SAAS,CAAC,QAAQ,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;CAOvC;AAED,wBAAgB,cAAc,CAAC,KAAK,SAAS,SAAS,EACpD,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,GACpB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAaxB;AAED,wBAAgB,oBAAoB,CAAC,KAAK,SAAS,SAAS,EAC1D,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,GACpB,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAc9B"}