@orion-js/graphql 3.11.15 → 4.0.0-alpha.3
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/dist/index.cjs +107849 -0
- package/dist/index.d.ts +570 -0
- package/dist/index.js +107822 -0
- package/package.json +30 -21
- package/LICENSE +0 -21
- package/jest.config.js +0 -8
- package/lib/buildSchema/getArgs/getField.d.ts +0 -1
- package/lib/buildSchema/getArgs/getField.js +0 -49
- package/lib/buildSchema/getArgs/index.d.ts +0 -1
- package/lib/buildSchema/getArgs/index.js +0 -24
- package/lib/buildSchema/getMutation.d.ts +0 -3
- package/lib/buildSchema/getMutation.js +0 -18
- package/lib/buildSchema/getQuery.d.ts +0 -3
- package/lib/buildSchema/getQuery.js +0 -18
- package/lib/buildSchema/getResolvers/index.d.ts +0 -3
- package/lib/buildSchema/getResolvers/index.js +0 -43
- package/lib/buildSchema/getResolvers/index.test.d.ts +0 -1
- package/lib/buildSchema/getResolvers/index.test.js +0 -65
- package/lib/buildSchema/getResolvers/resolversStore.d.ts +0 -3
- package/lib/buildSchema/getResolvers/resolversStore.js +0 -5
- package/lib/buildSchema/getSubscription.d.ts +0 -3
- package/lib/buildSchema/getSubscription.js +0 -17
- package/lib/buildSchema/getSubscriptions/index.d.ts +0 -2
- package/lib/buildSchema/getSubscriptions/index.js +0 -26
- package/lib/buildSchema/getSubscriptions/index.test.d.ts +0 -1
- package/lib/buildSchema/getSubscriptions/index.test.js +0 -52
- package/lib/buildSchema/getType/BigIntScalar.d.ts +0 -3
- package/lib/buildSchema/getType/BigIntScalar.js +0 -35
- package/lib/buildSchema/getType/DateScalar.d.ts +0 -3
- package/lib/buildSchema/getType/DateScalar.js +0 -10
- package/lib/buildSchema/getType/JSONScalar.d.ts +0 -3
- package/lib/buildSchema/getType/JSONScalar.js +0 -42
- package/lib/buildSchema/getType/enum.test.d.ts +0 -1
- package/lib/buildSchema/getType/enum.test.js +0 -80
- package/lib/buildSchema/getType/getScalar.d.ts +0 -1
- package/lib/buildSchema/getType/getScalar.js +0 -58
- package/lib/buildSchema/getType/getTypeAsResolver.d.ts +0 -10
- package/lib/buildSchema/getType/getTypeAsResolver.js +0 -26
- package/lib/buildSchema/getType/index.d.ts +0 -2
- package/lib/buildSchema/getType/index.js +0 -86
- package/lib/buildSchema/index.d.ts +0 -3
- package/lib/buildSchema/index.js +0 -17
- package/lib/cleanResolvers.d.ts +0 -1
- package/lib/cleanResolvers.js +0 -8
- package/lib/errorHandler.d.ts +0 -1
- package/lib/errorHandler.js +0 -42
- package/lib/getApolloOptions/formatError.d.ts +0 -1
- package/lib/getApolloOptions/formatError.js +0 -14
- package/lib/getApolloOptions/index.d.ts +0 -3
- package/lib/getApolloOptions/index.js +0 -26
- package/lib/index.d.ts +0 -12
- package/lib/index.js +0 -51
- package/lib/pubsub.d.ts +0 -3
- package/lib/pubsub.js +0 -12
- package/lib/resolversSchemas/ResolverParamsInfo.d.ts +0 -9
- package/lib/resolversSchemas/ResolverParamsInfo.js +0 -47
- package/lib/resolversSchemas/getBasicResultQuery.d.ts +0 -1
- package/lib/resolversSchemas/getBasicResultQuery.js +0 -24
- package/lib/resolversSchemas/getDynamicFields.d.ts +0 -2
- package/lib/resolversSchemas/getDynamicFields.js +0 -19
- package/lib/resolversSchemas/getField.d.ts +0 -1
- package/lib/resolversSchemas/getField.js +0 -50
- package/lib/resolversSchemas/getField.test.d.ts +0 -1
- package/lib/resolversSchemas/getField.test.js +0 -56
- package/lib/resolversSchemas/getModelLoadedResolvers.d.ts +0 -3
- package/lib/resolversSchemas/getModelLoadedResolvers.js +0 -21
- package/lib/resolversSchemas/getStaticFields.d.ts +0 -3
- package/lib/resolversSchemas/getStaticFields.js +0 -20
- package/lib/resolversSchemas/index.d.ts +0 -7
- package/lib/resolversSchemas/index.js +0 -9
- package/lib/resolversSchemas/params.d.ts +0 -5
- package/lib/resolversSchemas/params.js +0 -31
- package/lib/resolversSchemas/params.test.d.ts +0 -1
- package/lib/resolversSchemas/params.test.js +0 -131
- package/lib/resolversSchemas/serializeSchema.d.ts +0 -2
- package/lib/resolversSchemas/serializeSchema.js +0 -22
- package/lib/resolversSchemas/serializeSchema.test.d.ts +0 -1
- package/lib/resolversSchemas/serializeSchema.test.js +0 -56
- package/lib/service/global.d.ts +0 -10
- package/lib/service/global.js +0 -60
- package/lib/service/index.d.ts +0 -4
- package/lib/service/index.js +0 -20
- package/lib/service/index.test.d.ts +0 -1
- package/lib/service/index.test.js +0 -63
- package/lib/service/middlewares.test.d.ts +0 -1
- package/lib/service/middlewares.test.js +0 -125
- package/lib/service/model.d.ts +0 -14
- package/lib/service/model.js +0 -48
- package/lib/service/model.test.d.ts +0 -1
- package/lib/service/model.test.js +0 -126
- package/lib/service/otherParams.d.ts +0 -7
- package/lib/service/otherParams.js +0 -28
- package/lib/service/subscription.d.ts +0 -6
- package/lib/service/subscription.js +0 -43
- package/lib/service/subscription.test.d.ts +0 -1
- package/lib/service/subscription.test.js +0 -55
- package/lib/startGraphQL.d.ts +0 -2
- package/lib/startGraphQL.js +0 -43
- package/lib/startGraphQL.test.d.ts +0 -1
- package/lib/startGraphQL.test.js +0 -414
- package/lib/startGraphiQL.d.ts +0 -3
- package/lib/startGraphiQL.js +0 -207
- package/lib/startWebsocket.d.ts +0 -11
- package/lib/startWebsocket.js +0 -48
- package/lib/startWebsocket.test.d.ts +0 -1
- package/lib/startWebsocket.test.js +0 -303
- package/lib/subscription/getChannelName.d.ts +0 -1
- package/lib/subscription/getChannelName.js +0 -9
- package/lib/subscription/getChannelName.test.d.ts +0 -1
- package/lib/subscription/getChannelName.test.js +0 -26
- package/lib/subscription/index.d.ts +0 -3
- package/lib/subscription/index.js +0 -34
- package/lib/types/index.d.ts +0 -3
- package/lib/types/index.js +0 -19
- package/lib/types/startGraphQL.d.ts +0 -41
- package/lib/types/startGraphQL.js +0 -2
- package/lib/types/subscription.d.ts +0 -15
- package/lib/types/subscription.js +0 -2
- package/lib/websockerViewer.d.ts +0 -2
- package/lib/websockerViewer.js +0 -20
- package/tsconfig.json +0 -20
- 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,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,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,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
|
-
});
|
package/lib/service/global.d.ts
DELETED
|
@@ -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
|
-
};
|
package/lib/service/global.js
DELETED
|
@@ -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;
|
package/lib/service/index.d.ts
DELETED
package/lib/service/index.js
DELETED
|
@@ -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';
|