@orion-js/graphql 3.11.8 → 4.0.0-alpha.2

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 (122) hide show
  1. package/dist/index.cjs +107839 -0
  2. package/dist/index.d.ts +570 -0
  3. package/dist/index.js +107812 -0
  4. package/package.json +30 -21
  5. package/LICENSE +0 -21
  6. package/jest.config.js +0 -8
  7. package/lib/buildSchema/getArgs/getField.d.ts +0 -1
  8. package/lib/buildSchema/getArgs/getField.js +0 -49
  9. package/lib/buildSchema/getArgs/index.d.ts +0 -1
  10. package/lib/buildSchema/getArgs/index.js +0 -24
  11. package/lib/buildSchema/getMutation.d.ts +0 -3
  12. package/lib/buildSchema/getMutation.js +0 -18
  13. package/lib/buildSchema/getQuery.d.ts +0 -3
  14. package/lib/buildSchema/getQuery.js +0 -18
  15. package/lib/buildSchema/getResolvers/index.d.ts +0 -3
  16. package/lib/buildSchema/getResolvers/index.js +0 -43
  17. package/lib/buildSchema/getResolvers/index.test.d.ts +0 -1
  18. package/lib/buildSchema/getResolvers/index.test.js +0 -65
  19. package/lib/buildSchema/getResolvers/resolversStore.d.ts +0 -3
  20. package/lib/buildSchema/getResolvers/resolversStore.js +0 -5
  21. package/lib/buildSchema/getSubscription.d.ts +0 -3
  22. package/lib/buildSchema/getSubscription.js +0 -17
  23. package/lib/buildSchema/getSubscriptions/index.d.ts +0 -2
  24. package/lib/buildSchema/getSubscriptions/index.js +0 -26
  25. package/lib/buildSchema/getSubscriptions/index.test.d.ts +0 -1
  26. package/lib/buildSchema/getSubscriptions/index.test.js +0 -52
  27. package/lib/buildSchema/getType/BigIntScalar.d.ts +0 -3
  28. package/lib/buildSchema/getType/BigIntScalar.js +0 -35
  29. package/lib/buildSchema/getType/DateScalar.d.ts +0 -3
  30. package/lib/buildSchema/getType/DateScalar.js +0 -10
  31. package/lib/buildSchema/getType/JSONScalar.d.ts +0 -3
  32. package/lib/buildSchema/getType/JSONScalar.js +0 -42
  33. package/lib/buildSchema/getType/enum.test.d.ts +0 -1
  34. package/lib/buildSchema/getType/enum.test.js +0 -80
  35. package/lib/buildSchema/getType/getScalar.d.ts +0 -1
  36. package/lib/buildSchema/getType/getScalar.js +0 -58
  37. package/lib/buildSchema/getType/getTypeAsResolver.d.ts +0 -10
  38. package/lib/buildSchema/getType/getTypeAsResolver.js +0 -26
  39. package/lib/buildSchema/getType/index.d.ts +0 -2
  40. package/lib/buildSchema/getType/index.js +0 -86
  41. package/lib/buildSchema/index.d.ts +0 -3
  42. package/lib/buildSchema/index.js +0 -17
  43. package/lib/cleanResolvers.d.ts +0 -1
  44. package/lib/cleanResolvers.js +0 -8
  45. package/lib/errorHandler.d.ts +0 -1
  46. package/lib/errorHandler.js +0 -42
  47. package/lib/getApolloOptions/formatError.d.ts +0 -1
  48. package/lib/getApolloOptions/formatError.js +0 -14
  49. package/lib/getApolloOptions/index.d.ts +0 -3
  50. package/lib/getApolloOptions/index.js +0 -26
  51. package/lib/index.d.ts +0 -12
  52. package/lib/index.js +0 -51
  53. package/lib/pubsub.d.ts +0 -3
  54. package/lib/pubsub.js +0 -12
  55. package/lib/resolversSchemas/ResolverParamsInfo.d.ts +0 -9
  56. package/lib/resolversSchemas/ResolverParamsInfo.js +0 -47
  57. package/lib/resolversSchemas/getBasicResultQuery.d.ts +0 -1
  58. package/lib/resolversSchemas/getBasicResultQuery.js +0 -24
  59. package/lib/resolversSchemas/getDynamicFields.d.ts +0 -2
  60. package/lib/resolversSchemas/getDynamicFields.js +0 -19
  61. package/lib/resolversSchemas/getField.d.ts +0 -1
  62. package/lib/resolversSchemas/getField.js +0 -50
  63. package/lib/resolversSchemas/getField.test.d.ts +0 -1
  64. package/lib/resolversSchemas/getField.test.js +0 -56
  65. package/lib/resolversSchemas/getModelLoadedResolvers.d.ts +0 -3
  66. package/lib/resolversSchemas/getModelLoadedResolvers.js +0 -21
  67. package/lib/resolversSchemas/getStaticFields.d.ts +0 -3
  68. package/lib/resolversSchemas/getStaticFields.js +0 -20
  69. package/lib/resolversSchemas/index.d.ts +0 -7
  70. package/lib/resolversSchemas/index.js +0 -9
  71. package/lib/resolversSchemas/params.d.ts +0 -5
  72. package/lib/resolversSchemas/params.js +0 -31
  73. package/lib/resolversSchemas/params.test.d.ts +0 -1
  74. package/lib/resolversSchemas/params.test.js +0 -131
  75. package/lib/resolversSchemas/serializeSchema.d.ts +0 -2
  76. package/lib/resolversSchemas/serializeSchema.js +0 -22
  77. package/lib/resolversSchemas/serializeSchema.test.d.ts +0 -1
  78. package/lib/resolversSchemas/serializeSchema.test.js +0 -56
  79. package/lib/service/global.d.ts +0 -10
  80. package/lib/service/global.js +0 -60
  81. package/lib/service/index.d.ts +0 -4
  82. package/lib/service/index.js +0 -20
  83. package/lib/service/index.test.d.ts +0 -1
  84. package/lib/service/index.test.js +0 -63
  85. package/lib/service/middlewares.test.d.ts +0 -1
  86. package/lib/service/middlewares.test.js +0 -125
  87. package/lib/service/model.d.ts +0 -14
  88. package/lib/service/model.js +0 -48
  89. package/lib/service/model.test.d.ts +0 -1
  90. package/lib/service/model.test.js +0 -126
  91. package/lib/service/otherParams.d.ts +0 -7
  92. package/lib/service/otherParams.js +0 -28
  93. package/lib/service/subscription.d.ts +0 -6
  94. package/lib/service/subscription.js +0 -43
  95. package/lib/service/subscription.test.d.ts +0 -1
  96. package/lib/service/subscription.test.js +0 -55
  97. package/lib/startGraphQL.d.ts +0 -2
  98. package/lib/startGraphQL.js +0 -43
  99. package/lib/startGraphQL.test.d.ts +0 -1
  100. package/lib/startGraphQL.test.js +0 -414
  101. package/lib/startGraphiQL.d.ts +0 -3
  102. package/lib/startGraphiQL.js +0 -207
  103. package/lib/startWebsocket.d.ts +0 -11
  104. package/lib/startWebsocket.js +0 -48
  105. package/lib/startWebsocket.test.d.ts +0 -1
  106. package/lib/startWebsocket.test.js +0 -303
  107. package/lib/subscription/getChannelName.d.ts +0 -1
  108. package/lib/subscription/getChannelName.js +0 -9
  109. package/lib/subscription/getChannelName.test.d.ts +0 -1
  110. package/lib/subscription/getChannelName.test.js +0 -26
  111. package/lib/subscription/index.d.ts +0 -3
  112. package/lib/subscription/index.js +0 -34
  113. package/lib/types/index.d.ts +0 -3
  114. package/lib/types/index.js +0 -19
  115. package/lib/types/startGraphQL.d.ts +0 -41
  116. package/lib/types/startGraphQL.js +0 -2
  117. package/lib/types/subscription.d.ts +0 -15
  118. package/lib/types/subscription.js +0 -2
  119. package/lib/websockerViewer.d.ts +0 -2
  120. package/lib/websockerViewer.js +0 -20
  121. package/tsconfig.json +0 -20
  122. package/yarn-error.log +0 -3949
@@ -1 +0,0 @@
1
- export {};
@@ -1,56 +0,0 @@
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 __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- const typed_model_1 = require("@orion-js/typed-model");
16
- const getField_1 = __importDefault(require("./getField"));
17
- describe('Field serialization', () => {
18
- it('should return a valid serialization of the field', async () => {
19
- const schema = {
20
- name: {
21
- type: String,
22
- a: '1234'
23
- }
24
- };
25
- const result = await (0, getField_1.default)(schema.name);
26
- expect(result).toEqual({ type: 'string', a: '1234', __graphQLType: 'String' });
27
- });
28
- it('should pass field options with simple array fields', async () => {
29
- const schema = {
30
- name: {
31
- type: [String],
32
- a: '1234'
33
- }
34
- };
35
- const result = await (0, getField_1.default)(schema.name);
36
- expect(result.a).toEqual(schema.name.a);
37
- });
38
- it('Should allow serialization of typed models', async () => {
39
- let Point = class Point {
40
- };
41
- __decorate([
42
- (0, typed_model_1.Prop)({ label: 'Name' }),
43
- __metadata("design:type", String)
44
- ], Point.prototype, "name", void 0);
45
- Point = __decorate([
46
- (0, typed_model_1.TypedModel)()
47
- ], Point);
48
- const schema = {
49
- point: {
50
- type: Point
51
- }
52
- };
53
- const result = await (0, getField_1.default)(schema.point);
54
- expect(result.type.name).toEqual({ type: 'string', label: 'Name', __graphQLType: 'String' });
55
- });
56
- });
@@ -1,3 +0,0 @@
1
- import { Model } from '@orion-js/models';
2
- import { StartGraphQLOptions } from '../types/startGraphQL';
3
- export declare function getModelLoadedResolvers(model: Model, options: StartGraphQLOptions): any[];
@@ -1,21 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getModelLoadedResolvers = void 0;
4
- function getModelLoadedResolvers(model, options) {
5
- if (!options.modelResolvers)
6
- return [];
7
- const resolvers = options.modelResolvers[model.name];
8
- if (!resolvers)
9
- return [];
10
- const keys = Object.keys(resolvers);
11
- return keys
12
- .map(key => {
13
- const resolver = resolvers[key];
14
- return {
15
- ...resolver,
16
- key
17
- };
18
- })
19
- .filter(resolver => !resolver.private);
20
- }
21
- exports.getModelLoadedResolvers = getModelLoadedResolvers;
@@ -1,3 +0,0 @@
1
- import { Model } from '@orion-js/models';
2
- import { SchemaNode } from '@orion-js/schema';
3
- export declare function getStaticFields(model: Model): Array<SchemaNode>;
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getStaticFields = void 0;
4
- function getStaticFields(model) {
5
- const schema = model.getSchema();
6
- if (!schema)
7
- return [];
8
- const keys = Object.keys(schema).filter(key => !key.startsWith('__'));
9
- return (keys
10
- .map((key) => {
11
- const field = schema[key];
12
- return {
13
- ...field,
14
- key
15
- };
16
- })
17
- // there is a compile error if we don't do this
18
- .filter(field => !field.private));
19
- }
20
- exports.getStaticFields = getStaticFields;
@@ -1,7 +0,0 @@
1
- declare const _default: {
2
- params: import("@orion-js/resolvers").Resolver<({ mutation, name }: any, viewer: any) => Promise<{
3
- resolver: import("@orion-js/resolvers").Resolver<import("@orion-js/resolvers").GlobalResolverResolve, undefined>;
4
- name: any;
5
- }>, undefined>;
6
- };
7
- export default _default;
@@ -1,9 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const params_1 = __importDefault(require("./params"));
7
- exports.default = {
8
- params: params_1.default
9
- };
@@ -1,5 +0,0 @@
1
- declare const _default: import("@orion-js/resolvers").Resolver<({ mutation, name }: any, viewer: any) => Promise<{
2
- resolver: import("@orion-js/resolvers").Resolver<import("@orion-js/resolvers").GlobalResolverResolve, undefined>;
3
- name: any;
4
- }>, undefined>;
5
- export default _default;
@@ -1,31 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const resolvers_1 = require("@orion-js/resolvers");
7
- const helpers_1 = require("@orion-js/helpers");
8
- const ResolverParamsInfo_1 = __importDefault(require("./ResolverParamsInfo"));
9
- const resolversStore_1 = require("../buildSchema/getResolvers/resolversStore");
10
- exports.default = (0, resolvers_1.resolver)({
11
- params: {
12
- name: {
13
- type: 'ID'
14
- },
15
- mutation: {
16
- type: Boolean
17
- }
18
- },
19
- returns: ResolverParamsInfo_1.default,
20
- mutation: false,
21
- resolve: async function ({ mutation, name }, viewer) {
22
- const resolver = resolversStore_1.resolversStore[name];
23
- if (!resolver) {
24
- throw new helpers_1.UserError('notFound', `${mutation ? 'Mutation' : 'Query'} named "${name}" not found`);
25
- }
26
- if (!!resolver.mutation !== !!mutation) {
27
- throw new helpers_1.UserError('incorrectType', `"${name}" is ${mutation ? 'not' : ''} a mutation`);
28
- }
29
- return { resolver, name };
30
- }
31
- });
@@ -1 +0,0 @@
1
- export {};
@@ -1,131 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const params_1 = __importDefault(require("./params"));
7
- const resolversStore_1 = require("../buildSchema/getResolvers/resolversStore");
8
- const resolvers_1 = require("@orion-js/resolvers");
9
- const models_1 = require("@orion-js/models");
10
- describe('Get params tests', () => {
11
- it('Should return the correct information for a resolver that returns a string array', async () => {
12
- resolversStore_1.resolversStore.aResolver = (0, resolvers_1.resolver)({
13
- params: {
14
- aParam: {
15
- type: String
16
- }
17
- },
18
- returns: [String],
19
- async resolve() {
20
- return ['a', 'b'];
21
- }
22
- });
23
- const response = (await params_1.default.execute({
24
- params: {
25
- name: 'aResolver',
26
- mutation: false
27
- }
28
- }));
29
- const params = await response.params();
30
- const result = await response.result();
31
- const basicResultQuery = await response.basicResultQuery();
32
- expect(response.name).toEqual('aResolver');
33
- expect(params).toEqual({ aParam: { type: 'string', __graphQLType: 'String' } });
34
- expect(result).toEqual(undefined);
35
- expect(basicResultQuery).toEqual('');
36
- });
37
- it('Should return the correct information for a resolver that returns a string', async () => {
38
- resolversStore_1.resolversStore.aaResolver = (0, resolvers_1.resolver)({
39
- params: {
40
- aParam: {
41
- type: String
42
- }
43
- },
44
- returns: [String],
45
- async resolve() {
46
- return 'a';
47
- }
48
- });
49
- const response = (await params_1.default.execute({
50
- params: {
51
- name: 'aaResolver',
52
- mutation: false
53
- }
54
- }));
55
- const params = await response.params();
56
- const result = await response.result();
57
- const basicResultQuery = await response.basicResultQuery();
58
- expect(response.name).toEqual('aaResolver');
59
- expect(params).toEqual({ aParam: { type: 'string', __graphQLType: 'String' } });
60
- expect(result).toEqual(undefined);
61
- expect(basicResultQuery).toEqual('');
62
- });
63
- it('Should return the correct information for a resolver that returns a array of a model', async () => {
64
- const model = (0, models_1.createModel)({
65
- name: 'Item',
66
- schema: {
67
- name: {
68
- type: String
69
- }
70
- }
71
- });
72
- resolversStore_1.resolversStore.bResolver = (0, resolvers_1.resolver)({
73
- params: {
74
- aParam: {
75
- type: String
76
- }
77
- },
78
- returns: [model],
79
- async resolve() {
80
- return [{ name: 'Nico' }];
81
- }
82
- });
83
- const response = (await params_1.default.execute({
84
- params: {
85
- name: 'bResolver',
86
- mutation: false
87
- }
88
- }));
89
- const params = await response.params();
90
- const result = await response.result();
91
- const basicResultQuery = await response.basicResultQuery();
92
- expect(response.name).toEqual('bResolver');
93
- expect(params).toEqual({ aParam: { type: 'string', __graphQLType: 'String' } });
94
- expect(result).toEqual('Item');
95
- expect(basicResultQuery).toEqual('{ name }');
96
- });
97
- it('Should return the correct information for a resolver that returns a model', async () => {
98
- const model2 = (0, models_1.createModel)({
99
- name: 'Item2',
100
- schema: {
101
- name: {
102
- type: String
103
- }
104
- }
105
- });
106
- resolversStore_1.resolversStore.cResolver = (0, resolvers_1.resolver)({
107
- params: {
108
- aParam: {
109
- type: String
110
- }
111
- },
112
- returns: model2,
113
- async resolve() {
114
- return [{ name: 'Nico' }];
115
- }
116
- });
117
- const response = (await params_1.default.execute({
118
- params: {
119
- name: 'cResolver',
120
- mutation: false
121
- }
122
- }));
123
- const params = await response.params();
124
- const result = await response.result();
125
- const basicResultQuery = await response.basicResultQuery();
126
- expect(response.name).toEqual('cResolver');
127
- expect(params).toEqual({ aParam: { type: 'string', __graphQLType: 'String' } });
128
- expect(result).toEqual('Item2');
129
- expect(basicResultQuery).toEqual('{ name }');
130
- });
131
- });
@@ -1,2 +0,0 @@
1
- import { Schema } from '@orion-js/schema';
2
- export default function serializeSchema(params: any): Promise<Schema>;
@@ -1,22 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const getField_1 = __importDefault(require("./getField"));
7
- async function serializeSchema(params) {
8
- if (!params)
9
- return;
10
- if (typeof params === 'function' && params.getModel && params.__schemaId) {
11
- params = params.getModel().getCleanSchema(); // typed model
12
- }
13
- if (Object.keys(params).length === 0)
14
- return;
15
- const fields = {};
16
- for (const key of Object.keys(params)) {
17
- const field = params[key];
18
- fields[key] = await (0, getField_1.default)(field);
19
- }
20
- return fields;
21
- }
22
- exports.default = serializeSchema;
@@ -1 +0,0 @@
1
- export {};
@@ -1,56 +0,0 @@
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 __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- const typed_model_1 = require("@orion-js/typed-model");
16
- const serializeSchema_1 = __importDefault(require("./serializeSchema"));
17
- it('should create a JSON of the schema', async () => {
18
- const schema = {
19
- name: {
20
- type: String
21
- }
22
- };
23
- const result = await (0, serializeSchema_1.default)(schema);
24
- expect(result).toEqual({ name: { type: 'string', __graphQLType: 'String' } });
25
- });
26
- it('should pass field options', async () => {
27
- const schema = {
28
- name: {
29
- type: [String],
30
- label: '1234'
31
- }
32
- };
33
- const result = await (0, serializeSchema_1.default)(schema);
34
- expect(result.name).toEqual({
35
- type: ['string'],
36
- label: '1234',
37
- __graphQLType: '[String]'
38
- });
39
- });
40
- it('should serialize a typed model', async () => {
41
- let Point = class Point {
42
- };
43
- __decorate([
44
- (0, typed_model_1.Prop)({ label: 'Name' }),
45
- __metadata("design:type", String)
46
- ], Point.prototype, "name", void 0);
47
- Point = __decorate([
48
- (0, typed_model_1.TypedModel)()
49
- ], Point);
50
- const result = await (0, serializeSchema_1.default)(Point);
51
- expect(result.name).toEqual({
52
- type: 'string',
53
- label: 'Name',
54
- __graphQLType: 'String'
55
- });
56
- });
@@ -1,10 +0,0 @@
1
- import { GlobalResolverResolve, ResolverOptions, Resolver } from '@orion-js/resolvers';
2
- export declare function Resolvers(): ClassDecorator;
3
- export interface GlobalResolverPropertyDescriptor extends Omit<PropertyDecorator, 'value'> {
4
- value?: GlobalResolverResolve;
5
- }
6
- export declare function Query(options?: Omit<ResolverOptions<any>, 'resolve' | 'mutation'>): (target: any, propertyKey: string, descriptor: GlobalResolverPropertyDescriptor) => void;
7
- export declare function Mutation(options?: Omit<ResolverOptions<any>, 'resolve' | 'mutation'>): (target: any, propertyKey: string, descriptor: GlobalResolverPropertyDescriptor) => void;
8
- export declare function getServiceResolvers(target: any): {
9
- [key: string]: Resolver<GlobalResolverResolve>;
10
- };
@@ -1,60 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getServiceResolvers = exports.Mutation = exports.Query = exports.Resolvers = void 0;
4
- const services_1 = require("@orion-js/services");
5
- const resolvers_1 = require("@orion-js/resolvers");
6
- const helpers_1 = require("@orion-js/helpers");
7
- const otherParams_1 = require("./otherParams");
8
- function Resolvers() {
9
- return (target) => {
10
- (0, services_1.Service)()(target);
11
- target.prototype.service = target;
12
- };
13
- }
14
- exports.Resolvers = Resolvers;
15
- function Query(options) {
16
- return (target, propertyKey, descriptor) => {
17
- if (!descriptor.value)
18
- throw new Error(`You must pass resolver function to ${propertyKey}`);
19
- target.resolvers = target.resolvers || {};
20
- target.resolvers[propertyKey] = (0, resolvers_1.resolver)({
21
- resolverId: propertyKey,
22
- params: (0, otherParams_1.getTargetMetadata)(target, propertyKey, 'params'),
23
- returns: (0, otherParams_1.getTargetMetadata)(target, propertyKey, 'returns'),
24
- middlewares: (0, otherParams_1.getTargetMetadata)(target, propertyKey, 'middlewares'),
25
- ...options,
26
- resolve: async (params, viewer, info) => {
27
- const instance = (0, services_1.getInstance)(target.service);
28
- return await instance[propertyKey](params, viewer, info);
29
- },
30
- });
31
- };
32
- }
33
- exports.Query = Query;
34
- function Mutation(options) {
35
- return (target, propertyKey, descriptor) => {
36
- if (!descriptor.value)
37
- throw new Error(`You must pass resolver function to ${propertyKey}`);
38
- target.resolvers = target.resolvers || {};
39
- target.resolvers[propertyKey] = (0, resolvers_1.resolver)({
40
- resolverId: propertyKey,
41
- params: (0, otherParams_1.getTargetMetadata)(target, propertyKey, 'params'),
42
- returns: (0, otherParams_1.getTargetMetadata)(target, propertyKey, 'returns'),
43
- middlewares: (0, otherParams_1.getTargetMetadata)(target, propertyKey, 'middlewares'),
44
- ...options,
45
- mutation: true,
46
- resolve: async (params, viewer, info) => {
47
- const instance = (0, services_1.getInstance)(target.service);
48
- return await instance[propertyKey](params, viewer, info);
49
- },
50
- });
51
- };
52
- }
53
- exports.Mutation = Mutation;
54
- function getServiceResolvers(target) {
55
- if (!target.prototype) {
56
- throw new helpers_1.UserError('You must pass a class to getResolvers');
57
- }
58
- return target.prototype.resolvers || {};
59
- }
60
- exports.getServiceResolvers = getServiceResolvers;
@@ -1,4 +0,0 @@
1
- export * from './global';
2
- export * from './model';
3
- export * from './subscription';
4
- export * from './otherParams';
@@ -1,20 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./global"), exports);
18
- __exportStar(require("./model"), exports);
19
- __exportStar(require("./subscription"), exports);
20
- __exportStar(require("./otherParams"), exports);
@@ -1 +0,0 @@
1
- import 'reflect-metadata';
@@ -1,63 +0,0 @@
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
- Object.defineProperty(exports, "__esModule", { value: true });
12
- require("reflect-metadata");
13
- const services_1 = require("@orion-js/services");
14
- const index_1 = require("./index");
15
- describe('Resolvers with service injection', () => {
16
- it('should allow to pass a service as resolve', async () => {
17
- let ExampleRepo = class ExampleRepo {
18
- getLastName() {
19
- return 'Lopez';
20
- }
21
- };
22
- ExampleRepo = __decorate([
23
- (0, services_1.Service)()
24
- ], ExampleRepo);
25
- let ExampleResolverService = class ExampleResolverService {
26
- async sayHi(params) {
27
- return this.addAge(`My name is ${params.name} ${this.repo.getLastName()}`);
28
- }
29
- async setName() {
30
- this.repo.getLastName();
31
- }
32
- async addAge(params) {
33
- return `${params} and I'm 100 years old`;
34
- }
35
- };
36
- __decorate([
37
- (0, services_1.Inject)(),
38
- __metadata("design:type", ExampleRepo)
39
- ], ExampleResolverService.prototype, "repo", void 0);
40
- __decorate([
41
- (0, index_1.Query)({
42
- params: { name: { type: 'string' } },
43
- returns: String,
44
- }),
45
- __metadata("design:type", Function),
46
- __metadata("design:paramtypes", [Object]),
47
- __metadata("design:returntype", Promise)
48
- ], ExampleResolverService.prototype, "sayHi", null);
49
- __decorate([
50
- (0, index_1.Mutation)({ returns: String }),
51
- __metadata("design:type", Function),
52
- __metadata("design:paramtypes", []),
53
- __metadata("design:returntype", Promise)
54
- ], ExampleResolverService.prototype, "setName", null);
55
- ExampleResolverService = __decorate([
56
- (0, index_1.Resolvers)()
57
- ], ExampleResolverService);
58
- const resolvers = (0, index_1.getServiceResolvers)(ExampleResolverService);
59
- expect(resolvers.sayHi).toBeDefined();
60
- const result = await resolvers.sayHi.execute({ params: { name: 'Orion' } });
61
- expect(result).toBe(`My name is Orion Lopez and I'm 100 years old`);
62
- });
63
- });
@@ -1 +0,0 @@
1
- import 'reflect-metadata';