graphile-utils 5.0.0-beta.9 → 5.0.0-rc.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/CHANGELOG.md +1064 -1
- package/README.md +87 -72
- package/dist/exportable.d.ts +4 -1
- package/dist/exportable.d.ts.map +1 -1
- package/dist/exportable.js +15 -4
- package/dist/exportable.js.map +1 -1
- package/dist/gql.js +1 -2
- package/dist/gql.js.map +1 -1
- package/dist/index.d.ts +42 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -1
- package/dist/index.js.map +1 -1
- package/dist/makeAddInflectorsPlugin.js +2 -3
- package/dist/makeAddInflectorsPlugin.js.map +1 -1
- package/dist/makeAddPgTableConditionPlugin.d.ts +32 -6
- package/dist/makeAddPgTableConditionPlugin.d.ts.map +1 -1
- package/dist/makeAddPgTableConditionPlugin.js +28 -11
- package/dist/makeAddPgTableConditionPlugin.js.map +1 -1
- package/dist/makeAddPgTableOrderByPlugin.d.ts +15 -10
- package/dist/makeAddPgTableOrderByPlugin.d.ts.map +1 -1
- package/dist/makeAddPgTableOrderByPlugin.js +43 -35
- package/dist/makeAddPgTableOrderByPlugin.js.map +1 -1
- package/dist/makeChangeNullabilityPlugin.d.ts +3 -1
- package/dist/makeChangeNullabilityPlugin.d.ts.map +1 -1
- package/dist/makeChangeNullabilityPlugin.js +98 -18
- package/dist/makeChangeNullabilityPlugin.js.map +1 -1
- package/dist/makeExtendSchemaPlugin.d.ts +55 -26
- package/dist/makeExtendSchemaPlugin.d.ts.map +1 -1
- package/dist/makeExtendSchemaPlugin.js +402 -105
- package/dist/makeExtendSchemaPlugin.js.map +1 -1
- package/dist/makePgSmartTagsPlugin.d.ts +16 -3
- package/dist/makePgSmartTagsPlugin.d.ts.map +1 -1
- package/dist/makePgSmartTagsPlugin.js +24 -18
- package/dist/makePgSmartTagsPlugin.js.map +1 -1
- package/dist/makeProcessSchemaPlugin.d.ts +3 -1
- package/dist/makeProcessSchemaPlugin.d.ts.map +1 -1
- package/dist/makeProcessSchemaPlugin.js +4 -2
- package/dist/makeProcessSchemaPlugin.js.map +1 -1
- package/dist/makeWrapPlansPlugin.d.ts +6 -3
- package/dist/makeWrapPlansPlugin.d.ts.map +1 -1
- package/dist/makeWrapPlansPlugin.js +40 -18
- package/dist/makeWrapPlansPlugin.js.map +1 -1
- package/dist/parseIdentifierParts.js +1 -2
- package/dist/parseIdentifierParts.js.map +1 -1
- package/package.json +29 -23
|
@@ -1,15 +1,12 @@
|
|
|
1
|
-
import type { PgOrderSpec,
|
|
2
|
-
type
|
|
1
|
+
import type { PgOrderSpec, PgSelectQueryBuilder } from "@dataplan/pg";
|
|
2
|
+
import type { GraphQLEnumValueConfig } from "graphql";
|
|
3
|
+
type OrderBySpecIdentity = string | Omit<PgOrderSpec, "direction"> | ((queryBuilder: PgSelectQueryBuilder, info: {
|
|
4
|
+
scope: unknown;
|
|
5
|
+
}) => Omit<PgOrderSpec, "direction">);
|
|
3
6
|
export interface MakeAddPgTableOrderByPluginOrders {
|
|
4
|
-
[orderByEnumValue: string]:
|
|
5
|
-
extensions: {
|
|
6
|
-
grafast: {
|
|
7
|
-
applyPlan($select: PgSelectStep): void;
|
|
8
|
-
};
|
|
9
|
-
};
|
|
10
|
-
};
|
|
7
|
+
[orderByEnumValue: string]: GraphQLEnumValueConfig;
|
|
11
8
|
}
|
|
12
|
-
export declare function
|
|
9
|
+
export declare function addPgTableOrderBy(match: {
|
|
13
10
|
serviceName?: string;
|
|
14
11
|
schemaName: string;
|
|
15
12
|
tableName: string;
|
|
@@ -18,7 +15,15 @@ export type NullsSortMethod = "first" | "last" | "first-iff-ascending" | "last-i
|
|
|
18
15
|
export interface OrderByAscDescOptions {
|
|
19
16
|
unique?: boolean;
|
|
20
17
|
nulls?: NullsSortMethod;
|
|
18
|
+
/**
|
|
19
|
+
* If this expression/column is nullable, you must set this true otherwise
|
|
20
|
+
* cursor pagination over null values will break. If `nulls` is specified,
|
|
21
|
+
* we'll default this to true.
|
|
22
|
+
*/
|
|
23
|
+
nullable?: boolean;
|
|
21
24
|
}
|
|
22
25
|
export declare function orderByAscDesc(baseName: string, attributeOrSqlFragment: OrderBySpecIdentity, uniqueOrOptions?: boolean | OrderByAscDescOptions): MakeAddPgTableOrderByPluginOrders;
|
|
26
|
+
/** @deprecated renamed to addPgTableOrderBy */
|
|
27
|
+
export declare const makeAddPgTableOrderByPlugin: typeof addPgTableOrderBy;
|
|
23
28
|
export {};
|
|
24
29
|
//# sourceMappingURL=makeAddPgTableOrderByPlugin.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"makeAddPgTableOrderByPlugin.d.ts","sourceRoot":"","sources":["../src/makeAddPgTableOrderByPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"makeAddPgTableOrderByPlugin.d.ts","sourceRoot":"","sources":["../src/makeAddPgTableOrderByPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,oBAAoB,EAErB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAItD,KAAK,mBAAmB,GACpB,MAAM,GACN,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,GAC9B,CAAC,CACC,YAAY,EAAE,oBAAoB,EAClC,IAAI,EAAE;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,KACrB,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;AAEzC,MAAM,WAAW,iCAAiC;IAChD,CAAC,gBAAgB,EAAE,MAAM,GAAG,sBAAsB,CAAC;CACpD;AAID,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE;IACL,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB,EACD,eAAe,EAAE,CACf,KAAK,EAAE,aAAa,CAAC,KAAK,KACvB,iCAAiC,EACtC,IAAI,SAAuF,GAC1F,cAAc,CAAC,MAAM,CAyCvB;AAED,MAAM,MAAM,eAAe,GACvB,OAAO,GACP,MAAM,GACN,qBAAqB,GACrB,oBAAoB,GACpB,SAAS,CAAC;AAEd,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,sBAAsB,EAAE,mBAAmB,EAC3C,eAAe,GAAE,OAAO,GAAG,qBAA6B,GACvD,iCAAiC,CAsKnC;AAED,+CAA+C;AAC/C,eAAO,MAAM,2BAA2B,0BAAoB,CAAC"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.makeAddPgTableOrderByPlugin = void 0;
|
|
4
|
+
exports.addPgTableOrderBy = addPgTableOrderBy;
|
|
5
|
+
exports.orderByAscDesc = orderByAscDesc;
|
|
4
6
|
const exportable_js_1 = require("./exportable.js");
|
|
5
7
|
const counterByName = new Map();
|
|
6
|
-
function
|
|
8
|
+
function addPgTableOrderBy(match, ordersGenerator, hint = `Adding orders with addPgTableOrderBy to "${match.schemaName}"."${match.tableName}"`) {
|
|
7
9
|
const { serviceName = "main", schemaName, tableName } = match;
|
|
8
|
-
const baseDisplayName = `
|
|
10
|
+
const baseDisplayName = `addPgTableOrderBy_${schemaName}_${tableName}`;
|
|
9
11
|
let counter = counterByName.get(baseDisplayName);
|
|
10
12
|
if (!counter) {
|
|
11
13
|
counter = 0;
|
|
@@ -37,12 +39,11 @@ function makeAddPgTableOrderByPlugin(match, ordersGenerator, hint = `Adding orde
|
|
|
37
39
|
};
|
|
38
40
|
return plugin;
|
|
39
41
|
}
|
|
40
|
-
exports.makeAddPgTableOrderByPlugin = makeAddPgTableOrderByPlugin;
|
|
41
42
|
function orderByAscDesc(baseName, attributeOrSqlFragment, uniqueOrOptions = false) {
|
|
42
43
|
const options = typeof uniqueOrOptions === "boolean"
|
|
43
44
|
? { unique: uniqueOrOptions }
|
|
44
|
-
: uniqueOrOptions ?? {};
|
|
45
|
-
const { unique = false, nulls } = options;
|
|
45
|
+
: (uniqueOrOptions ?? {});
|
|
46
|
+
const { unique = false, nulls, nullable = nulls != null } = options;
|
|
46
47
|
if (typeof unique !== "boolean") {
|
|
47
48
|
throw new Error(`Invalid value for "unique" passed to orderByAscDesc for ${baseName}. Unique must be a boolean.`);
|
|
48
49
|
}
|
|
@@ -67,89 +68,96 @@ function orderByAscDesc(baseName, attributeOrSqlFragment, uniqueOrOptions = fals
|
|
|
67
68
|
? "FIRST"
|
|
68
69
|
: "LAST";
|
|
69
70
|
let spec;
|
|
70
|
-
const
|
|
71
|
-
? (0, exportable_js_1.EXPORTABLE)((ascendingNulls, attributeOrSqlFragment, unique) => function
|
|
72
|
-
|
|
71
|
+
const ascendingCb = typeof attributeOrSqlFragment === "string"
|
|
72
|
+
? (0, exportable_js_1.EXPORTABLE)((ascendingNulls, attributeOrSqlFragment, nullable, unique) => function apply(queryBuilder) {
|
|
73
|
+
queryBuilder.orderBy({
|
|
73
74
|
nulls: ascendingNulls,
|
|
74
75
|
attribute: attributeOrSqlFragment,
|
|
75
76
|
direction: "ASC",
|
|
77
|
+
nullable,
|
|
76
78
|
});
|
|
77
79
|
if (unique) {
|
|
78
|
-
|
|
80
|
+
queryBuilder.setOrderIsUnique();
|
|
79
81
|
}
|
|
80
|
-
}, [ascendingNulls, attributeOrSqlFragment, unique])
|
|
82
|
+
}, [ascendingNulls, attributeOrSqlFragment, nullable, unique])
|
|
81
83
|
: typeof attributeOrSqlFragment === "function"
|
|
82
|
-
? (0, exportable_js_1.EXPORTABLE)((ascendingNulls, attributeOrSqlFragment, unique) => function
|
|
83
|
-
|
|
84
|
+
? (0, exportable_js_1.EXPORTABLE)((ascendingNulls, attributeOrSqlFragment, nullable, unique) => function apply(queryBuilder, info) {
|
|
85
|
+
queryBuilder.orderBy({
|
|
84
86
|
nulls: ascendingNulls,
|
|
85
|
-
...attributeOrSqlFragment(
|
|
87
|
+
...attributeOrSqlFragment(queryBuilder, info),
|
|
86
88
|
direction: "ASC",
|
|
89
|
+
nullable,
|
|
87
90
|
});
|
|
88
91
|
if (unique) {
|
|
89
|
-
|
|
92
|
+
queryBuilder.setOrderIsUnique();
|
|
90
93
|
}
|
|
91
|
-
}, [ascendingNulls, attributeOrSqlFragment, unique])
|
|
94
|
+
}, [ascendingNulls, attributeOrSqlFragment, nullable, unique])
|
|
92
95
|
: ((spec = {
|
|
93
96
|
nulls: ascendingNulls,
|
|
94
97
|
...attributeOrSqlFragment,
|
|
95
98
|
direction: "ASC",
|
|
99
|
+
nullable,
|
|
96
100
|
}),
|
|
97
|
-
(0, exportable_js_1.EXPORTABLE)((spec, unique) => function
|
|
98
|
-
|
|
101
|
+
(0, exportable_js_1.EXPORTABLE)((spec, unique) => function apply(queryBuilder) {
|
|
102
|
+
queryBuilder.orderBy(spec);
|
|
99
103
|
if (unique) {
|
|
100
|
-
|
|
104
|
+
queryBuilder.setOrderIsUnique();
|
|
101
105
|
}
|
|
102
106
|
}, [spec, unique]));
|
|
103
|
-
const
|
|
104
|
-
? (0, exportable_js_1.EXPORTABLE)((attributeOrSqlFragment, descendingNulls, unique) => function
|
|
105
|
-
|
|
107
|
+
const descendingCb = typeof attributeOrSqlFragment === "string"
|
|
108
|
+
? (0, exportable_js_1.EXPORTABLE)((attributeOrSqlFragment, descendingNulls, nullable, unique) => function apply(queryBuilder) {
|
|
109
|
+
queryBuilder.orderBy({
|
|
106
110
|
nulls: descendingNulls,
|
|
107
111
|
attribute: attributeOrSqlFragment,
|
|
108
112
|
direction: "DESC",
|
|
113
|
+
nullable,
|
|
109
114
|
});
|
|
110
115
|
if (unique) {
|
|
111
|
-
|
|
116
|
+
queryBuilder.setOrderIsUnique();
|
|
112
117
|
}
|
|
113
|
-
}, [attributeOrSqlFragment, descendingNulls, unique])
|
|
118
|
+
}, [attributeOrSqlFragment, descendingNulls, nullable, unique])
|
|
114
119
|
: typeof attributeOrSqlFragment === "function"
|
|
115
|
-
? (0, exportable_js_1.EXPORTABLE)((attributeOrSqlFragment, descendingNulls, unique) => function
|
|
116
|
-
|
|
120
|
+
? (0, exportable_js_1.EXPORTABLE)((attributeOrSqlFragment, descendingNulls, nullable, unique) => function apply(queryBuilder, info) {
|
|
121
|
+
queryBuilder.orderBy({
|
|
117
122
|
nulls: descendingNulls,
|
|
118
|
-
...attributeOrSqlFragment(
|
|
123
|
+
...attributeOrSqlFragment(queryBuilder, info),
|
|
119
124
|
direction: "DESC",
|
|
125
|
+
nullable,
|
|
120
126
|
});
|
|
121
127
|
if (unique) {
|
|
122
|
-
|
|
128
|
+
queryBuilder.setOrderIsUnique();
|
|
123
129
|
}
|
|
124
|
-
}, [attributeOrSqlFragment, descendingNulls, unique])
|
|
130
|
+
}, [attributeOrSqlFragment, descendingNulls, nullable, unique])
|
|
125
131
|
: ((spec = {
|
|
126
132
|
nulls: descendingNulls,
|
|
127
133
|
...attributeOrSqlFragment,
|
|
128
134
|
direction: "DESC",
|
|
135
|
+
nullable,
|
|
129
136
|
}),
|
|
130
|
-
(0, exportable_js_1.EXPORTABLE)((spec, unique) => function
|
|
131
|
-
|
|
137
|
+
(0, exportable_js_1.EXPORTABLE)((spec, unique) => function apply(queryBuilder) {
|
|
138
|
+
queryBuilder.orderBy(spec);
|
|
132
139
|
if (unique) {
|
|
133
|
-
|
|
140
|
+
queryBuilder.setOrderIsUnique();
|
|
134
141
|
}
|
|
135
142
|
}, [spec, unique]));
|
|
136
143
|
const orders = {
|
|
137
144
|
[`${baseName}_ASC`]: {
|
|
138
145
|
extensions: {
|
|
139
146
|
grafast: {
|
|
140
|
-
|
|
147
|
+
apply: ascendingCb,
|
|
141
148
|
},
|
|
142
149
|
},
|
|
143
150
|
},
|
|
144
151
|
[`${baseName}_DESC`]: {
|
|
145
152
|
extensions: {
|
|
146
153
|
grafast: {
|
|
147
|
-
|
|
154
|
+
apply: descendingCb,
|
|
148
155
|
},
|
|
149
156
|
},
|
|
150
157
|
},
|
|
151
158
|
};
|
|
152
159
|
return orders;
|
|
153
160
|
}
|
|
154
|
-
|
|
161
|
+
/** @deprecated renamed to addPgTableOrderBy */
|
|
162
|
+
exports.makeAddPgTableOrderByPlugin = addPgTableOrderBy;
|
|
155
163
|
//# sourceMappingURL=makeAddPgTableOrderByPlugin.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"makeAddPgTableOrderByPlugin.js","sourceRoot":"","sources":["../src/makeAddPgTableOrderByPlugin.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"makeAddPgTableOrderByPlugin.js","sourceRoot":"","sources":["../src/makeAddPgTableOrderByPlugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,5 +11,7 @@ export interface ChangeNullabilityTypeRules {
|
|
|
11
11
|
export interface ChangeNullabilityRules {
|
|
12
12
|
[typeName: string]: ChangeNullabilityTypeRules;
|
|
13
13
|
}
|
|
14
|
-
export declare function
|
|
14
|
+
export declare function changeNullability(rules: ChangeNullabilityRules): GraphileConfig.Plugin;
|
|
15
|
+
/** @deprecated renamed to changeNullability */
|
|
16
|
+
export declare const makeChangeNullabilityPlugin: typeof changeNullability;
|
|
15
17
|
//# sourceMappingURL=makeChangeNullabilityPlugin.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"makeChangeNullabilityPlugin.d.ts","sourceRoot":"","sources":["../src/makeChangeNullabilityPlugin.ts"],"names":[],"mappings":"AAUA,MAAM,MAAM,qBAAqB,GAC7B,EAAE,GACF,GAAG,GACH,IAAI,GACJ,KAAK,GACL,KAAK,GACL,MAAM,GACN,MAAM,GACN,OAAO,GACP,OAAO,GACP,QAAQ,GACR,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,SAAS,CAAC;AAGd,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,qBAAqB,CAAC;AAE9D,MAAM,WAAW,0BAA0B;IACzC,CAAC,SAAS,EAAE,MAAM,GACd,eAAe,GACf;QACE,IAAI,CAAC,EAAE,eAAe,CAAC;QACvB,IAAI,CAAC,EAAE;YACL,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CAAC;SACpC,CAAC;KACH,CAAC;CACP;AACD,MAAM,WAAW,sBAAsB;IACrC,CAAC,QAAQ,EAAE,MAAM,GAAG,0BAA0B,CAAC;CAChD;
|
|
1
|
+
{"version":3,"file":"makeChangeNullabilityPlugin.d.ts","sourceRoot":"","sources":["../src/makeChangeNullabilityPlugin.ts"],"names":[],"mappings":"AAUA,MAAM,MAAM,qBAAqB,GAC7B,EAAE,GACF,GAAG,GACH,IAAI,GACJ,KAAK,GACL,KAAK,GACL,MAAM,GACN,MAAM,GACN,OAAO,GACP,OAAO,GACP,QAAQ,GACR,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,SAAS,CAAC;AAGd,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,qBAAqB,CAAC;AAE9D,MAAM,WAAW,0BAA0B;IACzC,CAAC,SAAS,EAAE,MAAM,GACd,eAAe,GACf;QACE,IAAI,CAAC,EAAE,eAAe,CAAC;QACvB,IAAI,CAAC,EAAE;YACL,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CAAC;SACpC,CAAC;KACH,CAAC;CACP;AACD,MAAM,WAAW,sBAAsB;IACrC,CAAC,QAAQ,EAAE,MAAM,GAAG,0BAA0B,CAAC;CAChD;AA6ED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,sBAAsB,GAC5B,cAAc,CAAC,MAAM,CAsJvB;AAsDD,+CAA+C;AAC/C,eAAO,MAAM,2BAA2B,0BAAoB,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.makeChangeNullabilityPlugin = void 0;
|
|
4
|
+
exports.changeNullability = changeNullability;
|
|
4
5
|
const node_util_1 = require("node:util");
|
|
5
6
|
let counter = 0;
|
|
6
7
|
function doIt(inType, rawSpec, graphql, location, originalSpec = rawSpec) {
|
|
@@ -51,15 +52,32 @@ function doIt(inType, rawSpec, graphql, location, originalSpec = rawSpec) {
|
|
|
51
52
|
return nullableType;
|
|
52
53
|
}
|
|
53
54
|
}
|
|
54
|
-
return inType;
|
|
55
55
|
}
|
|
56
|
-
function
|
|
57
|
-
const expectedMatches = Object.entries(rules).flatMap(([typeName, typeRules]) => Object.keys(typeRules).
|
|
56
|
+
function changeNullability(rules) {
|
|
57
|
+
const expectedMatches = Object.entries(rules).flatMap(([typeName, typeRules]) => Object.keys(typeRules).flatMap((fieldName) => {
|
|
58
|
+
const r = typeRules[fieldName];
|
|
59
|
+
if (typeof r === "string" || typeof r === "boolean") {
|
|
60
|
+
return `${typeName}.${fieldName}`;
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
const results = [];
|
|
64
|
+
if (r.type != null) {
|
|
65
|
+
results.push(`${typeName}.${fieldName}`);
|
|
66
|
+
}
|
|
67
|
+
if (r.args) {
|
|
68
|
+
for (const argName of Object.keys(r.args)) {
|
|
69
|
+
results.push(`${typeName}.${fieldName}(${argName}:)`);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return results;
|
|
73
|
+
}
|
|
74
|
+
}));
|
|
58
75
|
let pendingMatches = new Set();
|
|
59
76
|
function objectOrInterfaceFieldCallback(field, build, context) {
|
|
77
|
+
const { graphql } = build;
|
|
60
78
|
const { Self, scope: { fieldName }, } = context;
|
|
61
79
|
const typeRules = rules[Self.name];
|
|
62
|
-
if (
|
|
80
|
+
if (typeRules == null) {
|
|
63
81
|
return field;
|
|
64
82
|
}
|
|
65
83
|
const rawRule = typeRules[fieldName];
|
|
@@ -67,16 +85,19 @@ function makeChangeNullabilityPlugin(rules) {
|
|
|
67
85
|
return field;
|
|
68
86
|
}
|
|
69
87
|
const rule = typeof rawRule !== "object" ? { type: rawRule } : rawRule;
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
88
|
+
const spec = rule.type;
|
|
89
|
+
const coord = `${Self.name}.${fieldName}`;
|
|
90
|
+
pendingMatches.delete(coord);
|
|
91
|
+
if (spec != null) {
|
|
92
|
+
field.type = doIt(field.type, spec, graphql, coord);
|
|
73
93
|
}
|
|
74
94
|
return field;
|
|
75
95
|
}
|
|
76
96
|
function objectOrInterfaceArgsArgCallback(arg, build, context) {
|
|
97
|
+
const { graphql } = build;
|
|
77
98
|
const { Self, scope: { fieldName, argName }, } = context;
|
|
78
99
|
const typeRules = rules[Self.name];
|
|
79
|
-
if (
|
|
100
|
+
if (typeRules == null) {
|
|
80
101
|
return arg;
|
|
81
102
|
}
|
|
82
103
|
const rawRule = typeRules[fieldName];
|
|
@@ -85,8 +106,10 @@ function makeChangeNullabilityPlugin(rules) {
|
|
|
85
106
|
}
|
|
86
107
|
const rule = typeof rawRule !== "object" ? { type: rawRule } : rawRule;
|
|
87
108
|
const spec = rule.args?.[argName];
|
|
88
|
-
|
|
89
|
-
|
|
109
|
+
const coord = `${Self.name}.${fieldName}(${argName}:)`;
|
|
110
|
+
pendingMatches.delete(coord);
|
|
111
|
+
if (spec != null) {
|
|
112
|
+
arg.type = doIt(arg.type, spec, graphql, coord);
|
|
90
113
|
}
|
|
91
114
|
return arg;
|
|
92
115
|
}
|
|
@@ -100,9 +123,10 @@ function makeChangeNullabilityPlugin(rules) {
|
|
|
100
123
|
return _;
|
|
101
124
|
},
|
|
102
125
|
GraphQLInputObjectType_fields_field(field, build, context) {
|
|
126
|
+
const { graphql } = build;
|
|
103
127
|
const { Self, scope: { fieldName }, } = context;
|
|
104
128
|
const typeRules = rules[Self.name];
|
|
105
|
-
if (
|
|
129
|
+
if (typeRules == null) {
|
|
106
130
|
return field;
|
|
107
131
|
}
|
|
108
132
|
const rawRule = typeRules[fieldName];
|
|
@@ -110,9 +134,11 @@ function makeChangeNullabilityPlugin(rules) {
|
|
|
110
134
|
return field;
|
|
111
135
|
}
|
|
112
136
|
const rule = typeof rawRule !== "object" ? { type: rawRule } : rawRule;
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
137
|
+
const spec = rule.type;
|
|
138
|
+
const coord = `${Self.name}.${fieldName}`;
|
|
139
|
+
pendingMatches.delete(coord);
|
|
140
|
+
if (spec != null) {
|
|
141
|
+
field.type = doIt(field.type, spec, graphql, coord);
|
|
116
142
|
}
|
|
117
143
|
if (rule.args) {
|
|
118
144
|
throw new Error(`${Self.name} is an input type, field '${fieldName}' cannot have args`);
|
|
@@ -123,11 +149,14 @@ function makeChangeNullabilityPlugin(rules) {
|
|
|
123
149
|
GraphQLInterfaceType_fields_field_args_arg: objectOrInterfaceArgsArgCallback,
|
|
124
150
|
GraphQLObjectType_fields_field: objectOrInterfaceFieldCallback,
|
|
125
151
|
GraphQLObjectType_fields_field_args_arg: objectOrInterfaceArgsArgCallback,
|
|
126
|
-
finalize(schema) {
|
|
152
|
+
finalize(schema, build) {
|
|
127
153
|
if (pendingMatches.size > 0) {
|
|
128
|
-
|
|
154
|
+
const { graphql } = build;
|
|
155
|
+
throw new Error(`The following entries in your changeNullability(...) didn't match anything in your GraphQL schema; please check your spelling:\n- ${[
|
|
129
156
|
...pendingMatches,
|
|
130
|
-
]
|
|
157
|
+
]
|
|
158
|
+
.map((match) => explainCoordinate(graphql, schema, match))
|
|
159
|
+
.join("\n- ")}`);
|
|
131
160
|
}
|
|
132
161
|
return schema;
|
|
133
162
|
},
|
|
@@ -135,5 +164,56 @@ function makeChangeNullabilityPlugin(rules) {
|
|
|
135
164
|
},
|
|
136
165
|
};
|
|
137
166
|
}
|
|
138
|
-
|
|
167
|
+
function explainCoordinate(graphql, schema, coord) {
|
|
168
|
+
const matches = coord.match(/^([A-Za-z0-9_]+)\.([A-Za-z0-9_]+)(?:\(([A-Za-z0-9_]+):\))?$/);
|
|
169
|
+
if (!matches) {
|
|
170
|
+
return `${coord} (invalid schema coordinate; check your spelling)`;
|
|
171
|
+
}
|
|
172
|
+
const [_, typeName, fieldName, argName] = matches;
|
|
173
|
+
const type = schema.getType(typeName);
|
|
174
|
+
if (!type) {
|
|
175
|
+
return `${coord} (type '${typeName}' does not exist)`;
|
|
176
|
+
}
|
|
177
|
+
if (graphql.isScalarType(type)) {
|
|
178
|
+
return `${coord} (type '${typeName}' is a scalar, which has no fields)`;
|
|
179
|
+
}
|
|
180
|
+
if (graphql.isEnumType(type)) {
|
|
181
|
+
return `${coord} (type '${typeName}' is an enum, which has no fields)`;
|
|
182
|
+
}
|
|
183
|
+
if (graphql.isUnionType(type)) {
|
|
184
|
+
return `${coord} (type '${typeName}' is a union, which has no fields)`;
|
|
185
|
+
}
|
|
186
|
+
if (graphql.isInputObjectType(type)) {
|
|
187
|
+
const field = type.getFields()[fieldName];
|
|
188
|
+
if (field) {
|
|
189
|
+
if (argName) {
|
|
190
|
+
return `${coord} (inputType='${typeName}',field='${fieldName}' has no arguments as it is an input field)`;
|
|
191
|
+
}
|
|
192
|
+
else {
|
|
193
|
+
return `${coord} (inputType='${typeName}',field='${fieldName}' was not processed??)`;
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
else {
|
|
197
|
+
return `${coord} (inputType='${typeName}' has no field '${fieldName}')`;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
const field = type.getFields()[fieldName];
|
|
201
|
+
if (!field) {
|
|
202
|
+
return `${coord} (type='${typeName}' has no field '${fieldName}')`;
|
|
203
|
+
}
|
|
204
|
+
if (argName) {
|
|
205
|
+
const arg = field.args.find((a) => a.name === argName);
|
|
206
|
+
if (arg) {
|
|
207
|
+
return `${coord} (type='${typeName}',field='${fieldName}',argument='${argName}' was not processed??)`;
|
|
208
|
+
}
|
|
209
|
+
else {
|
|
210
|
+
return `${coord} (type='${typeName}',field='${fieldName}' has no argument named '${argName}')`;
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
else {
|
|
214
|
+
return `${coord} (type='${typeName}',field='${fieldName}' was not processed??)`;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
/** @deprecated renamed to changeNullability */
|
|
218
|
+
exports.makeChangeNullabilityPlugin = changeNullability;
|
|
139
219
|
//# sourceMappingURL=makeChangeNullabilityPlugin.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"makeChangeNullabilityPlugin.js","sourceRoot":"","sources":["../src/makeChangeNullabilityPlugin.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"makeChangeNullabilityPlugin.js","sourceRoot":"","sources":["../src/makeChangeNullabilityPlugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,37 +1,50 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { DirectiveDefinitionNode,
|
|
1
|
+
import type { AbstractTypePlanner, DeprecatedObjectPlan, GrafastSchemaConfig, ObjectFieldConfig, ObjectPlan as GrafastObjectPlan, PlanTypeInfo, Step } from "grafast";
|
|
2
|
+
import type { DirectiveDefinitionNode, EnumTypeDefinitionNode, GraphQLDirective, GraphQLEnumType, GraphQLFieldResolver, GraphQLInputObjectType, GraphQLInterfaceType, GraphQLIsTypeOfFn, GraphQLObjectType, GraphQLScalarType, GraphQLScalarTypeConfig, GraphQLTypeResolver, GraphQLUnionType, InputObjectTypeDefinitionNode, InputObjectTypeExtensionNode, InterfaceTypeDefinitionNode, InterfaceTypeExtensionNode, ObjectTypeDefinitionNode, ObjectTypeExtensionNode, ScalarTypeDefinitionNode, UnionTypeDefinitionNode } from "grafast/graphql";
|
|
3
3
|
import type { GraphileBuild } from "graphile-build";
|
|
4
|
-
export
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
/** @deprecated Use 'plan' */
|
|
8
|
-
resolve?: GraphQLFieldResolver<TSource, TContext>;
|
|
9
|
-
/** @deprecated Use 'subscribePlan' */
|
|
10
|
-
subscribe?: GraphQLFieldResolver<TSource, TContext>;
|
|
4
|
+
export type ObjectResolver<TSource = any, TContext = any> = {
|
|
5
|
+
[key: string]: GraphQLFieldResolver<TSource, TContext> | ObjectFieldConfig;
|
|
6
|
+
} & {
|
|
11
7
|
__resolveType?: GraphQLTypeResolver<TSource, TContext>;
|
|
12
8
|
__isTypeOf?: GraphQLIsTypeOfFn<TSource, TContext>;
|
|
9
|
+
};
|
|
10
|
+
export interface ObjectPlan<TSource extends Step = Step> extends GrafastObjectPlan<TSource> {
|
|
11
|
+
__scope?: GraphileBuild.ScopeObject;
|
|
13
12
|
}
|
|
14
|
-
export
|
|
15
|
-
|
|
16
|
-
}
|
|
17
|
-
export interface ObjectPlan<TSource = any, TContext = any> {
|
|
18
|
-
[key: string]: FieldPlanResolver<any, any, any> | ObjectFieldConfig<TSource, TContext>;
|
|
19
|
-
}
|
|
20
|
-
export interface EnumResolver {
|
|
13
|
+
export type EnumResolver = {
|
|
14
|
+
__scope?: GraphileBuild.ScopeEnum;
|
|
15
|
+
} & {
|
|
21
16
|
[key: string]: string | number | Array<any> | Record<string, any> | symbol;
|
|
17
|
+
};
|
|
18
|
+
export interface TypeResolver {
|
|
19
|
+
__resolveType?: GraphQLTypeResolver<any, any>;
|
|
20
|
+
__toSpecifier?($step: Step): Step;
|
|
21
|
+
__planType?($specifier: Step, info: PlanTypeInfo): AbstractTypePlanner;
|
|
22
|
+
__scope?: GraphileBuild.ScopeUnion | GraphileBuild.ScopeInterface;
|
|
23
|
+
}
|
|
24
|
+
export interface InputObjectResolver {
|
|
25
|
+
__scope?: GraphileBuild.ScopeInputObject;
|
|
22
26
|
}
|
|
23
|
-
/** @deprecated Use
|
|
24
|
-
export interface Resolvers
|
|
25
|
-
[
|
|
27
|
+
/** @deprecated Use objects/scalars/etc instead */
|
|
28
|
+
export interface Resolvers {
|
|
29
|
+
[typeName: string]: ObjectResolver | EnumResolver | TypeResolver | InputObjectResolver | GraphQLScalarType | (GraphQLScalarTypeConfig<any, any> & {
|
|
30
|
+
__scope?: GraphileBuild.ScopeScalar;
|
|
31
|
+
});
|
|
26
32
|
}
|
|
27
|
-
|
|
28
|
-
|
|
33
|
+
/** @deprecated Use objects/scalars/etc instead */
|
|
34
|
+
export interface Plans {
|
|
35
|
+
[typeName: string]: (DeprecatedObjectPlan & {
|
|
36
|
+
__scope?: GraphileBuild.ScopeObject;
|
|
37
|
+
}) | (EnumResolver & {
|
|
38
|
+
__scope?: GraphileBuild.ScopeEnum;
|
|
39
|
+
}) | (GraphQLScalarType & {
|
|
40
|
+
__scope?: GraphileBuild.ScopeScalar;
|
|
41
|
+
}) | (Omit<GraphQLScalarTypeConfig<any, any>, "name"> & {
|
|
42
|
+
__scope?: GraphileBuild.ScopeScalar;
|
|
43
|
+
});
|
|
29
44
|
}
|
|
30
|
-
export interface ExtensionDefinition {
|
|
31
|
-
typeDefs: DocumentNode | DocumentNode[];
|
|
45
|
+
export interface ExtensionDefinition extends Pick<GrafastSchemaConfig, "typeDefs" | "plans" | "scalars" | "enums" | "objects" | "unions" | "interfaces" | "inputObjects"> {
|
|
32
46
|
/** @deprecated Use 'plans' instead */
|
|
33
47
|
resolvers?: Resolvers;
|
|
34
|
-
plans?: Plans;
|
|
35
48
|
}
|
|
36
49
|
type ParentConstructors<T> = {
|
|
37
50
|
new (...args: any[]): T;
|
|
@@ -58,12 +71,26 @@ type NewTypeDef = {
|
|
|
58
71
|
type: typeof GraphQLDirective;
|
|
59
72
|
definition: DirectiveDefinitionNode;
|
|
60
73
|
};
|
|
74
|
+
interface TypeExtensions {
|
|
75
|
+
GraphQLSchema: {
|
|
76
|
+
directives: Array<DirectiveDefinitionNode>;
|
|
77
|
+
};
|
|
78
|
+
GraphQLInputObjectType: {
|
|
79
|
+
[name: string]: InputObjectTypeExtensionNode[];
|
|
80
|
+
};
|
|
81
|
+
GraphQLObjectType: {
|
|
82
|
+
[name: string]: ObjectTypeExtensionNode[];
|
|
83
|
+
};
|
|
84
|
+
GraphQLInterfaceType: {
|
|
85
|
+
[name: string]: InterfaceTypeExtensionNode[];
|
|
86
|
+
};
|
|
87
|
+
}
|
|
61
88
|
declare global {
|
|
62
89
|
namespace GraphileBuild {
|
|
63
90
|
interface Build {
|
|
64
91
|
makeExtendSchemaPlugin: {
|
|
65
92
|
[uniquePluginName: string]: {
|
|
66
|
-
typeExtensions:
|
|
93
|
+
typeExtensions: TypeExtensions;
|
|
67
94
|
newTypes: Array<NewTypeDef>;
|
|
68
95
|
resolvers: Resolvers;
|
|
69
96
|
plans: Plans;
|
|
@@ -72,6 +99,8 @@ declare global {
|
|
|
72
99
|
}
|
|
73
100
|
}
|
|
74
101
|
}
|
|
75
|
-
export declare function
|
|
102
|
+
export declare function extendSchema(generator: ExtensionDefinition | ((build: GraphileBuild.Build) => ExtensionDefinition), uniquePluginName?: string): GraphileConfig.Plugin;
|
|
103
|
+
/** @deprecated Renamed to 'extendSchema' */
|
|
104
|
+
export declare const makeExtendSchemaPlugin: typeof extendSchema;
|
|
76
105
|
export {};
|
|
77
106
|
//# sourceMappingURL=makeExtendSchemaPlugin.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"makeExtendSchemaPlugin.d.ts","sourceRoot":"","sources":["../src/makeExtendSchemaPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"makeExtendSchemaPlugin.d.ts","sourceRoot":"","sources":["../src/makeExtendSchemaPlugin.ts"],"names":[],"mappings":"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"}
|