@ldsg/graphql 0.3.5 → 0.3.6
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/resource.d.ts +1 -1
- package/dist/resource.d.ts.map +1 -1
- package/dist/resource.js +27 -4
- package/dist/types/graphql-middleware-info.d.ts +8 -0
- package/dist/types/graphql-middleware-info.d.ts.map +1 -0
- package/dist/types/graphql-middleware-info.js +2 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +1 -0
- package/package.json +6 -6
package/dist/resource.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { GraphqlSpecificResourceSettings } from "./types";
|
|
|
4
4
|
export declare class GraphqlResource extends Resource<GraphqlSpecificResourceSettings> {
|
|
5
5
|
extendExpressApp: ExtendExpressApp;
|
|
6
6
|
getGraphQLSchema: () => {
|
|
7
|
-
schema: import("graphql").
|
|
7
|
+
schema: import("graphql-middleware/dist/types").GraphQLSchemaWithFragmentReplacements;
|
|
8
8
|
};
|
|
9
9
|
}
|
|
10
10
|
//# sourceMappingURL=resource.d.ts.map
|
package/dist/resource.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../src/resource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../src/resource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAK1C,OAAO,EAGL,+BAA+B,EAEhC,MAAM,SAAS,CAAC;AAEjB,qBAAa,eAAgB,SAAQ,QAAQ,CAAC,+BAA+B,CAAC;IAC5E,gBAAgB,EAAE,gBAAgB,CAehC;IAEF,gBAAgB;;MA+Dd;CACH"}
|
package/dist/resource.js
CHANGED
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.GraphqlResource = void 0;
|
|
4
4
|
const resource_1 = require("@ldsg/resource");
|
|
5
5
|
const graphql_compose_1 = require("graphql-compose");
|
|
6
|
+
const graphql_middleware_1 = require("graphql-middleware");
|
|
6
7
|
const graphql_yoga_1 = require("graphql-yoga");
|
|
7
8
|
const constants_1 = require("./constants");
|
|
8
9
|
class GraphqlResource extends resource_1.Resource {
|
|
@@ -20,19 +21,41 @@ class GraphqlResource extends resource_1.Resource {
|
|
|
20
21
|
};
|
|
21
22
|
this.getGraphQLSchema = () => {
|
|
22
23
|
const schemaComposer = new graphql_compose_1.SchemaComposer();
|
|
23
|
-
const { parentId, getFilteredResources } = this;
|
|
24
|
-
const {
|
|
24
|
+
const { id, parentId, getFilteredResources } = this;
|
|
25
|
+
const {
|
|
26
|
+
/**
|
|
27
|
+
* 同级资源
|
|
28
|
+
*/
|
|
29
|
+
resources: peerResources, } = getFilteredResources({
|
|
25
30
|
parentId,
|
|
26
31
|
});
|
|
27
|
-
|
|
32
|
+
peerResources.forEach((resource) => {
|
|
28
33
|
var _a;
|
|
29
34
|
(_a = resource.modifyGraphQLSchema) === null || _a === void 0 ? void 0 : _a.call(resource, {
|
|
30
35
|
schemaComposer,
|
|
31
36
|
});
|
|
32
37
|
});
|
|
38
|
+
const {
|
|
39
|
+
/**
|
|
40
|
+
* 子级资源
|
|
41
|
+
*/
|
|
42
|
+
resources: childResources, } = getFilteredResources({
|
|
43
|
+
parentId: id,
|
|
44
|
+
});
|
|
45
|
+
const graphqlMiddlewareInfos = [];
|
|
46
|
+
childResources.forEach((resource) => {
|
|
47
|
+
var _a;
|
|
48
|
+
const getGraphqlMiddlewareInfoRes = (_a = resource.getGraphqlMiddlewareInfo) === null || _a === void 0 ? void 0 : _a.call(resource);
|
|
49
|
+
if (getGraphqlMiddlewareInfoRes) {
|
|
50
|
+
graphqlMiddlewareInfos.push(getGraphqlMiddlewareInfoRes);
|
|
51
|
+
}
|
|
52
|
+
});
|
|
33
53
|
const schema = schemaComposer.buildSchema();
|
|
54
|
+
const sortedGraphqlMiddlewareInfos = graphqlMiddlewareInfos.sort((a, b) => a.sort - b.sort);
|
|
55
|
+
const sortedGraphqlMiddlewares = sortedGraphqlMiddlewareInfos.map((sortedGraphqlMiddlewareInfo) => sortedGraphqlMiddlewareInfo.middleware);
|
|
56
|
+
const schemaWithMiddleware = (0, graphql_middleware_1.applyMiddleware)(schema, ...sortedGraphqlMiddlewares);
|
|
34
57
|
const res = {
|
|
35
|
-
schema,
|
|
58
|
+
schema: schemaWithMiddleware,
|
|
36
59
|
};
|
|
37
60
|
return res;
|
|
38
61
|
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { IMiddleware, IMiddlewareGenerator } from "graphql-middleware";
|
|
2
|
+
export interface GraphqlMiddlewareInfo {
|
|
3
|
+
middleware: IMiddleware<any, any, any> | IMiddlewareGenerator<any, any, any>;
|
|
4
|
+
sort: number;
|
|
5
|
+
}
|
|
6
|
+
export type GraphqlMiddlewareInfos = GraphqlMiddlewareInfo[];
|
|
7
|
+
export type GetGraphqlMiddlewareInfo = () => GraphqlMiddlewareInfo;
|
|
8
|
+
//# sourceMappingURL=graphql-middleware-info.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graphql-middleware-info.d.ts","sourceRoot":"","sources":["../../src/types/graphql-middleware-info.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAEvE,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAC7E,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,sBAAsB,GAAG,qBAAqB,EAAE,CAAC;AAE7D,MAAM,MAAM,wBAAwB,GAAG,MAAM,qBAAqB,CAAC"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC"}
|
package/dist/types/index.js
CHANGED
|
@@ -14,6 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./graphql-middleware-info"), exports);
|
|
17
18
|
__exportStar(require("./modify-graphql-schema"), exports);
|
|
18
19
|
__exportStar(require("./schema-composer-params"), exports);
|
|
19
20
|
__exportStar(require("./specific-resource-settings"), exports);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ldsg/graphql",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.6",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"files": [
|
|
@@ -16,16 +16,16 @@
|
|
|
16
16
|
"dependencies": {
|
|
17
17
|
"graphql-compose": "^9.1.0",
|
|
18
18
|
"graphql-yoga": "^5.13.4",
|
|
19
|
-
"@ldsg/handler": "0.3.
|
|
20
|
-
"@ldsg/resource
|
|
21
|
-
"@ldsg/resource": "0.3.
|
|
19
|
+
"@ldsg/handler": "0.3.6",
|
|
20
|
+
"@ldsg/resource": "0.3.6",
|
|
21
|
+
"@ldsg/resource-definition": "0.3.6"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|
|
24
24
|
"@types/supertest": "^6.0.0",
|
|
25
25
|
"graphql": "16.11.0",
|
|
26
26
|
"supertest": "^6.3.4",
|
|
27
|
-
"@ldsg/application": "0.3.
|
|
28
|
-
"@ldsg/types": "0.3.
|
|
27
|
+
"@ldsg/application": "0.3.6",
|
|
28
|
+
"@ldsg/types": "0.3.6"
|
|
29
29
|
},
|
|
30
30
|
"scripts": {
|
|
31
31
|
"build": "tsc --project tsconfig.build.json",
|