joist-graphql-resolver-utils 1.74.3 → 1.75.0
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entityResolver.d.ts","sourceRoot":"","sources":["../src/entityResolver.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"entityResolver.d.ts","sourceRoot":"","sources":["../src/entityResolver.ts"],"names":[],"mappings":"AACA,OAAO,EACL,aAAa,EACb,UAAU,EACV,MAAM,EACN,cAAc,EAGd,IAAI,EAUJ,SAAS,EACV,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,KAAK,gBAAgB,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;AAE5E;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,MAAM,IAAI;KAC5C,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,SAAS,IAAI,GAC1B,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GACzC,CAAC,CAAC,CAAC,CAAC,SAAS,gBAAgB,GAAG,gBAAgB,EAAE,GAClD,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GACtC,CAAC,CAAC,CAAC,CAAC,SAAS,UAAU,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GACnC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GACrC,CAAC,CAAC,CAAC,CAAC,SAAS,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,GAC3C,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,GACnC,CAAC,CAAC,CAAC,CAAC,SAAS,aAAa,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GACtC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,GACnC,CAAC,CAAC,CAAC,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GAC7B,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,GACnC,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,GACnC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,GACnC,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,MAAM,CAAC,GAC1B,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,GACnC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;CAC3C,CAAC;AAEF;;GAEG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACtG,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC,EACjC,OAAO,CAAC,EAAE,CAAC,GACV,cAAc,CAAC,CAAC,CAAC,GAAG;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,CA6EjE"}
|
package/build/entityResolver.js
CHANGED
|
@@ -6,7 +6,9 @@ const joist_orm_1 = require("joist-orm");
|
|
|
6
6
|
* Creates field resolvers for each of the fields on our entity.
|
|
7
7
|
*/
|
|
8
8
|
function entityResolver(entityMetadata, aliases) {
|
|
9
|
-
const idResolver = (
|
|
9
|
+
const idResolver = (entityOrId) => {
|
|
10
|
+
return typeof entityOrId === "string" ? entityOrId : entityOrId.idOrFail;
|
|
11
|
+
};
|
|
10
12
|
const primitiveResolvers = Object.values(entityMetadata.fields)
|
|
11
13
|
.filter((ormField) => !isPrimaryKeyField(ormField) && !isReferenceField(ormField) && !isCollectionField(ormField))
|
|
12
14
|
.map((ormField) => {
|
|
@@ -20,7 +22,23 @@ function entityResolver(entityMetadata, aliases) {
|
|
|
20
22
|
});
|
|
21
23
|
const referenceResolvers = Object.values(entityMetadata.fields)
|
|
22
24
|
.filter((ormField) => isReferenceField(ormField))
|
|
23
|
-
.map((ormField) => [
|
|
25
|
+
.map((ormField) => [
|
|
26
|
+
ormField.fieldName,
|
|
27
|
+
(entity, args, ctx, info) => {
|
|
28
|
+
// Use the `info` to see if the query is only returning `{ id }` and if so avoid fetching the entity
|
|
29
|
+
if ((ormField.kind === "m2o" || ormField.kind === "poly") && info.fieldNodes.length === 1) {
|
|
30
|
+
const selectionSet = info.fieldNodes[0].selectionSet;
|
|
31
|
+
if (selectionSet) {
|
|
32
|
+
if (selectionSet.selections.length === 1 &&
|
|
33
|
+
selectionSet.selections[0].kind === "Field" &&
|
|
34
|
+
selectionSet.selections[0].name.value === "id") {
|
|
35
|
+
return entity[ormField.fieldName].id;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return entity[ormField.fieldName].load();
|
|
40
|
+
},
|
|
41
|
+
]);
|
|
24
42
|
const collectionResolvers = Object.values(entityMetadata.fields)
|
|
25
43
|
.filter((ormField) => isCollectionField(ormField))
|
|
26
44
|
.map((ormField) => [ormField.fieldName, (entity) => entity[ormField.fieldName].load()]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entityResolver.js","sourceRoot":"","sources":["../src/entityResolver.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"entityResolver.js","sourceRoot":"","sources":["../src/entityResolver.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "joist-graphql-resolver-utils",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.75.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -21,8 +21,8 @@
|
|
|
21
21
|
],
|
|
22
22
|
"dependencies": {
|
|
23
23
|
"graphql": "^16.6.0",
|
|
24
|
-
"joist-orm": "1.
|
|
25
|
-
"joist-test-utils": "1.
|
|
24
|
+
"joist-orm": "1.75.0",
|
|
25
|
+
"joist-test-utils": "1.75.0"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"@swc/core": "^1.3.24",
|