@orion-js/graphql 3.9.0 → 3.11.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.
- package/lib/buildSchema/getResolvers/index.js +4 -4
- package/lib/buildSchema/getResolvers/index.test.js +3 -3
- package/lib/buildSchema/getType/enum.test.js +3 -3
- package/lib/buildSchema/getType/getTypeAsResolver.d.ts +1 -1
- package/lib/buildSchema/getType/getTypeAsResolver.js +3 -3
- package/lib/service/global.js +9 -9
- package/lib/service/index.test.js +1 -1
- package/lib/service/model.d.ts +2 -2
- package/lib/service/model.js +7 -7
- package/lib/service/otherParams.js +1 -1
- package/lib/service/subscription.js +5 -5
- package/lib/startGraphQL.test.js +119 -74
- package/package.json +10 -10
- package/yarn-error.log +0 -3949
|
@@ -13,7 +13,7 @@ async function default_1(options, mutation) {
|
|
|
13
13
|
.map(key => {
|
|
14
14
|
return {
|
|
15
15
|
name: key,
|
|
16
|
-
resolver: resolvers[key]
|
|
16
|
+
resolver: resolvers[key],
|
|
17
17
|
};
|
|
18
18
|
})
|
|
19
19
|
.filter(({ resolver }) => !!resolver.mutation === !!mutation)
|
|
@@ -26,16 +26,16 @@ async function default_1(options, mutation) {
|
|
|
26
26
|
fields[name] = {
|
|
27
27
|
type,
|
|
28
28
|
args,
|
|
29
|
-
async resolve(root, params, context) {
|
|
29
|
+
async resolve(root, params, context, info) {
|
|
30
30
|
try {
|
|
31
|
-
const result = await resolver.resolve(params, context);
|
|
31
|
+
const result = await resolver.resolve(params, context, info);
|
|
32
32
|
return result;
|
|
33
33
|
}
|
|
34
34
|
catch (error) {
|
|
35
35
|
(0, errorHandler_1.default)(error, { context, resolver, options, name });
|
|
36
36
|
throw error;
|
|
37
37
|
}
|
|
38
|
-
}
|
|
38
|
+
},
|
|
39
39
|
};
|
|
40
40
|
}
|
|
41
41
|
return fields;
|
|
@@ -46,9 +46,9 @@ describe('Test get resolvers schema', () => {
|
|
|
46
46
|
return {
|
|
47
47
|
userId: params.userId,
|
|
48
48
|
name: 'test',
|
|
49
|
-
age: 10
|
|
49
|
+
age: 10,
|
|
50
50
|
};
|
|
51
|
-
}
|
|
51
|
+
},
|
|
52
52
|
});
|
|
53
53
|
const resolvers = { globalResolver };
|
|
54
54
|
const mutation = false;
|
|
@@ -59,7 +59,7 @@ describe('Test get resolvers schema', () => {
|
|
|
59
59
|
expect(await schema.globalResolver.resolve(null, { userId: '1' })).toEqual({
|
|
60
60
|
userId: '1',
|
|
61
61
|
name: 'test',
|
|
62
|
-
age: 10
|
|
62
|
+
age: 10,
|
|
63
63
|
});
|
|
64
64
|
});
|
|
65
65
|
});
|
|
@@ -34,7 +34,7 @@ describe('Enum test', () => {
|
|
|
34
34
|
returns: colorsEnum,
|
|
35
35
|
async resolve(params) {
|
|
36
36
|
return params.color;
|
|
37
|
-
}
|
|
37
|
+
},
|
|
38
38
|
});
|
|
39
39
|
const resolvers = { globalResolver };
|
|
40
40
|
const mutation = false;
|
|
@@ -62,7 +62,7 @@ describe('Enum test', () => {
|
|
|
62
62
|
returns: Clone1,
|
|
63
63
|
async resolve(params) {
|
|
64
64
|
return params;
|
|
65
|
-
}
|
|
65
|
+
},
|
|
66
66
|
});
|
|
67
67
|
const Clone2 = (0, typed_model_1.cloneSchemaClass)(TestParams, { name: 'TestParams3', pickFields: ['color'] });
|
|
68
68
|
const Clone3 = (0, typed_model_1.cloneSchemaClass)(TestParams, { name: 'TestParams4', pickFields: ['color'] });
|
|
@@ -71,7 +71,7 @@ describe('Enum test', () => {
|
|
|
71
71
|
returns: Clone3,
|
|
72
72
|
async resolve(params) {
|
|
73
73
|
return params;
|
|
74
|
-
}
|
|
74
|
+
},
|
|
75
75
|
});
|
|
76
76
|
const resolvers = { globalResolver, globalResolver2 };
|
|
77
77
|
const options = { resolvers };
|
|
@@ -11,16 +11,16 @@ function default_1({ resolver, getGraphQLType, options, model }) {
|
|
|
11
11
|
return {
|
|
12
12
|
type,
|
|
13
13
|
args,
|
|
14
|
-
async resolve(item, params, context) {
|
|
14
|
+
async resolve(item, params, context, info) {
|
|
15
15
|
try {
|
|
16
|
-
const result = await resolver.resolve(item, params, context);
|
|
16
|
+
const result = await resolver.resolve(item, params, context, info);
|
|
17
17
|
return result;
|
|
18
18
|
}
|
|
19
19
|
catch (error) {
|
|
20
20
|
(0, errorHandler_1.default)(error, { context, resolver, options, model });
|
|
21
21
|
throw error;
|
|
22
22
|
}
|
|
23
|
-
}
|
|
23
|
+
},
|
|
24
24
|
};
|
|
25
25
|
}
|
|
26
26
|
exports.default = default_1;
|
package/lib/service/global.js
CHANGED
|
@@ -6,14 +6,14 @@ const resolvers_1 = require("@orion-js/resolvers");
|
|
|
6
6
|
const helpers_1 = require("@orion-js/helpers");
|
|
7
7
|
const otherParams_1 = require("./otherParams");
|
|
8
8
|
function Resolvers() {
|
|
9
|
-
return
|
|
9
|
+
return (target) => {
|
|
10
10
|
(0, services_1.Service)()(target);
|
|
11
11
|
target.prototype.service = target;
|
|
12
12
|
};
|
|
13
13
|
}
|
|
14
14
|
exports.Resolvers = Resolvers;
|
|
15
15
|
function Query(options) {
|
|
16
|
-
return
|
|
16
|
+
return (target, propertyKey, descriptor) => {
|
|
17
17
|
if (!descriptor.value)
|
|
18
18
|
throw new Error(`You must pass resolver function to ${propertyKey}`);
|
|
19
19
|
target.resolvers = target.resolvers || {};
|
|
@@ -23,16 +23,16 @@ function Query(options) {
|
|
|
23
23
|
returns: (0, otherParams_1.getTargetMetadata)(target, propertyKey, 'returns'),
|
|
24
24
|
middlewares: (0, otherParams_1.getTargetMetadata)(target, propertyKey, 'middlewares'),
|
|
25
25
|
...options,
|
|
26
|
-
resolve: async (params, viewer) => {
|
|
26
|
+
resolve: async (params, viewer, info) => {
|
|
27
27
|
const instance = (0, services_1.getInstance)(target.service);
|
|
28
|
-
return await instance[propertyKey](params, viewer);
|
|
29
|
-
}
|
|
28
|
+
return await instance[propertyKey](params, viewer, info);
|
|
29
|
+
},
|
|
30
30
|
});
|
|
31
31
|
};
|
|
32
32
|
}
|
|
33
33
|
exports.Query = Query;
|
|
34
34
|
function Mutation(options) {
|
|
35
|
-
return
|
|
35
|
+
return (target, propertyKey, descriptor) => {
|
|
36
36
|
if (!descriptor.value)
|
|
37
37
|
throw new Error(`You must pass resolver function to ${propertyKey}`);
|
|
38
38
|
target.resolvers = target.resolvers || {};
|
|
@@ -43,10 +43,10 @@ function Mutation(options) {
|
|
|
43
43
|
middlewares: (0, otherParams_1.getTargetMetadata)(target, propertyKey, 'middlewares'),
|
|
44
44
|
...options,
|
|
45
45
|
mutation: true,
|
|
46
|
-
resolve: async (params, viewer) => {
|
|
46
|
+
resolve: async (params, viewer, info) => {
|
|
47
47
|
const instance = (0, services_1.getInstance)(target.service);
|
|
48
|
-
return await instance[propertyKey](params, viewer);
|
|
49
|
-
}
|
|
48
|
+
return await instance[propertyKey](params, viewer, info);
|
|
49
|
+
},
|
|
50
50
|
});
|
|
51
51
|
};
|
|
52
52
|
}
|
|
@@ -40,7 +40,7 @@ describe('Resolvers with service injection', () => {
|
|
|
40
40
|
__decorate([
|
|
41
41
|
(0, index_1.Query)({
|
|
42
42
|
params: { name: { type: 'string' } },
|
|
43
|
-
returns: String
|
|
43
|
+
returns: String,
|
|
44
44
|
}),
|
|
45
45
|
__metadata("design:type", Function),
|
|
46
46
|
__metadata("design:paramtypes", [Object]),
|
package/lib/service/model.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { GlobalResolverResolve, ResolverOptions, ModelResolverResolve, ModelResolver } from '@orion-js/resolvers';
|
|
1
|
+
import { GlobalResolverResolve, ResolverOptions, ModelResolverResolve, ModelResolver as ModelResolverType } from '@orion-js/resolvers';
|
|
2
2
|
export interface ModelResolverPropertyDescriptor extends Omit<PropertyDecorator, 'value'> {
|
|
3
3
|
value?: ModelResolverResolve;
|
|
4
4
|
}
|
|
@@ -9,6 +9,6 @@ export interface ModelResolversOptions {
|
|
|
9
9
|
export declare function ModelResolvers(typedSchema: any, options?: ModelResolversOptions): ClassDecorator;
|
|
10
10
|
export declare function getServiceModelResolvers(target: any): {
|
|
11
11
|
[key: string]: {
|
|
12
|
-
[key: string]:
|
|
12
|
+
[key: string]: ModelResolverType<GlobalResolverResolve>;
|
|
13
13
|
};
|
|
14
14
|
};
|
package/lib/service/model.js
CHANGED
|
@@ -6,7 +6,7 @@ const resolvers_1 = require("@orion-js/resolvers");
|
|
|
6
6
|
const helpers_1 = require("@orion-js/helpers");
|
|
7
7
|
const otherParams_1 = require("./otherParams");
|
|
8
8
|
function ModelResolver(options) {
|
|
9
|
-
return
|
|
9
|
+
return (target, propertyKey, descriptor) => {
|
|
10
10
|
if (!descriptor.value)
|
|
11
11
|
throw new Error(`You must pass resolver function to ${propertyKey}`);
|
|
12
12
|
target.resolvers = target.resolvers || {};
|
|
@@ -15,20 +15,20 @@ function ModelResolver(options) {
|
|
|
15
15
|
returns: (0, otherParams_1.getTargetMetadata)(target, propertyKey, 'returns'),
|
|
16
16
|
middlewares: (0, otherParams_1.getTargetMetadata)(target, propertyKey, 'middlewares'),
|
|
17
17
|
...options,
|
|
18
|
-
resolve: async (item, params, viewer) => {
|
|
18
|
+
resolve: async (item, params, viewer, info) => {
|
|
19
19
|
const instance = (0, services_1.getInstance)(target.service);
|
|
20
|
-
return await instance[propertyKey](item, params, viewer);
|
|
21
|
-
}
|
|
20
|
+
return await instance[propertyKey](item, params, viewer, info);
|
|
21
|
+
},
|
|
22
22
|
});
|
|
23
23
|
};
|
|
24
24
|
}
|
|
25
25
|
exports.ModelResolver = ModelResolver;
|
|
26
26
|
function ModelResolvers(typedSchema, options = {}) {
|
|
27
|
-
return
|
|
27
|
+
return (target) => {
|
|
28
28
|
(0, services_1.Service)()(target);
|
|
29
29
|
target.prototype.modelName = options.modelName || typedSchema.name;
|
|
30
30
|
if (!target.prototype.modelName) {
|
|
31
|
-
throw new Error(
|
|
31
|
+
throw new Error('The specified model has no name or is not a model');
|
|
32
32
|
}
|
|
33
33
|
target.prototype.typedSchema = typedSchema;
|
|
34
34
|
target.prototype.service = target;
|
|
@@ -42,7 +42,7 @@ function getServiceModelResolvers(target) {
|
|
|
42
42
|
throw new helpers_1.UserError('You must pass a class to getResolvers');
|
|
43
43
|
}
|
|
44
44
|
return {
|
|
45
|
-
[target.prototype.modelName]: target.prototype.resolvers || {}
|
|
45
|
+
[target.prototype.modelName]: target.prototype.resolvers || {},
|
|
46
46
|
};
|
|
47
47
|
}
|
|
48
48
|
exports.getServiceModelResolvers = getServiceModelResolvers;
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.ResolverReturns = exports.ResolverParams = exports.UseMiddleware = exports.getTargetMetadata = void 0;
|
|
4
4
|
function createRegisterResolverMetadata(metadataKey, isArray = false) {
|
|
5
5
|
return (metadata) => {
|
|
6
|
-
return
|
|
6
|
+
return (target, propertyKey, descriptor) => {
|
|
7
7
|
if (!descriptor.value)
|
|
8
8
|
throw new Error(`You must pass resolver function to ${propertyKey}`);
|
|
9
9
|
target[metadataKey] = target[metadataKey] || {};
|
|
@@ -5,7 +5,7 @@ const services_1 = require("@orion-js/services");
|
|
|
5
5
|
const helpers_1 = require("@orion-js/helpers");
|
|
6
6
|
const __1 = require("..");
|
|
7
7
|
function Subscriptions() {
|
|
8
|
-
return
|
|
8
|
+
return (target) => {
|
|
9
9
|
(0, services_1.Service)()(target);
|
|
10
10
|
target.prototype.service = target;
|
|
11
11
|
target.prototype.serviceType = 'subscriptions';
|
|
@@ -13,10 +13,10 @@ function Subscriptions() {
|
|
|
13
13
|
}
|
|
14
14
|
exports.Subscriptions = Subscriptions;
|
|
15
15
|
function Subscription(options) {
|
|
16
|
-
return
|
|
16
|
+
return (object, propertyName, index) => {
|
|
17
17
|
const sub = (0, __1.subscription)({
|
|
18
18
|
name: propertyName,
|
|
19
|
-
...options
|
|
19
|
+
...options,
|
|
20
20
|
});
|
|
21
21
|
object.subscriptions = object.subscriptions || {};
|
|
22
22
|
object.subscriptions[propertyName] = sub;
|
|
@@ -24,12 +24,12 @@ function Subscription(options) {
|
|
|
24
24
|
object,
|
|
25
25
|
propertyName,
|
|
26
26
|
index,
|
|
27
|
-
value:
|
|
27
|
+
value: _containerInstance => {
|
|
28
28
|
if (!object.serviceType || object.serviceType !== 'subscriptions') {
|
|
29
29
|
throw new Error('You must pass a class decorated with @Subscriptions if you want to use @Subscription');
|
|
30
30
|
}
|
|
31
31
|
return sub;
|
|
32
|
-
}
|
|
32
|
+
},
|
|
33
33
|
});
|
|
34
34
|
};
|
|
35
35
|
}
|