graphile-utils 4.12.2 → 5.0.0-0.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/CHANGELOG.md +35 -0
- package/README.md +33 -24
- package/dist/gql.d.ts +3 -0
- package/dist/gql.d.ts.map +1 -0
- package/dist/gql.js +60 -0
- package/dist/gql.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +21 -0
- package/dist/index.js.map +1 -0
- package/dist/makeAddInflectorsPlugin.d.ts +3 -0
- package/dist/makeAddInflectorsPlugin.d.ts.map +1 -0
- package/dist/makeAddInflectorsPlugin.js +42 -0
- package/dist/makeAddInflectorsPlugin.js.map +1 -0
- package/dist/makeChangeNullabilityPlugin.d.ts +15 -0
- package/dist/makeChangeNullabilityPlugin.d.ts.map +1 -0
- package/dist/makeChangeNullabilityPlugin.js +146 -0
- package/dist/makeChangeNullabilityPlugin.js.map +1 -0
- package/dist/makeExtendSchemaPlugin.d.ts +78 -0
- package/dist/makeExtendSchemaPlugin.d.ts.map +1 -0
- package/dist/makeExtendSchemaPlugin.js +654 -0
- package/dist/makeExtendSchemaPlugin.js.map +1 -0
- package/{node8plus → dist}/makePgSmartTagsPlugin.d.ts +25 -10
- package/dist/makePgSmartTagsPlugin.d.ts.map +1 -0
- package/dist/makePgSmartTagsPlugin.js +398 -0
- package/dist/makePgSmartTagsPlugin.js.map +1 -0
- package/dist/makeProcessSchemaPlugin.d.ts +6 -0
- package/dist/makeProcessSchemaPlugin.d.ts.map +1 -0
- package/dist/makeProcessSchemaPlugin.js +20 -0
- package/dist/makeProcessSchemaPlugin.js.map +1 -0
- package/dist/makeWrapPlansPlugin.d.ts +22 -0
- package/dist/makeWrapPlansPlugin.d.ts.map +1 -0
- package/dist/makeWrapPlansPlugin.js +94 -0
- package/dist/makeWrapPlansPlugin.js.map +1 -0
- package/dist/parseIdentifierParts.d.ts +2 -0
- package/dist/parseIdentifierParts.d.ts.map +1 -0
- package/{node8plus → dist}/parseIdentifierParts.js +2 -1
- package/dist/parseIdentifierParts.js.map +1 -0
- package/package.json +38 -26
- package/LICENSE.md +0 -24
- package/node8plus/fieldHelpers.d.ts +0 -13
- package/node8plus/fieldHelpers.js +0 -81
- package/node8plus/fieldHelpers.js.map +0 -1
- package/node8plus/gql.d.ts +0 -11
- package/node8plus/gql.js +0 -76
- package/node8plus/gql.js.map +0 -1
- package/node8plus/index.d.ts +0 -12
- package/node8plus/index.js +0 -26
- package/node8plus/index.js.map +0 -1
- package/node8plus/introspectionHelpers.d.ts +0 -7
- package/node8plus/introspectionHelpers.js +0 -62
- package/node8plus/introspectionHelpers.js.map +0 -1
- package/node8plus/makeAddInflectorsPlugin.d.ts +0 -7
- package/node8plus/makeAddInflectorsPlugin.js +0 -21
- package/node8plus/makeAddInflectorsPlugin.js.map +0 -1
- package/node8plus/makeAddPgTableConditionPlugin.d.ts +0 -8
- package/node8plus/makeAddPgTableConditionPlugin.js +0 -89
- package/node8plus/makeAddPgTableConditionPlugin.js.map +0 -1
- package/node8plus/makeAddPgTableOrderByPlugin.d.ts +0 -23
- package/node8plus/makeAddPgTableOrderByPlugin.js +0 -76
- package/node8plus/makeAddPgTableOrderByPlugin.js.map +0 -1
- package/node8plus/makeChangeNullabilityPlugin.d.ts +0 -8
- package/node8plus/makeChangeNullabilityPlugin.js +0 -28
- package/node8plus/makeChangeNullabilityPlugin.js.map +0 -1
- package/node8plus/makeExtendSchemaPlugin.d.ts +0 -28
- package/node8plus/makeExtendSchemaPlugin.js +0 -703
- package/node8plus/makeExtendSchemaPlugin.js.map +0 -1
- package/node8plus/makePgSmartTagsPlugin.js +0 -200
- package/node8plus/makePgSmartTagsPlugin.js.map +0 -1
- package/node8plus/makePluginByCombiningPlugins.d.ts +0 -2
- package/node8plus/makePluginByCombiningPlugins.js +0 -11
- package/node8plus/makePluginByCombiningPlugins.js.map +0 -1
- package/node8plus/makeProcessSchemaPlugin.d.ts +0 -5
- package/node8plus/makeProcessSchemaPlugin.js +0 -9
- package/node8plus/makeProcessSchemaPlugin.js.map +0 -1
- package/node8plus/makeWrapResolversPlugin.d.ts +0 -30
- package/node8plus/makeWrapResolversPlugin.js +0 -80
- package/node8plus/makeWrapResolversPlugin.js.map +0 -1
- package/node8plus/parseIdentifierParts.d.ts +0 -1
- package/node8plus/parseIdentifierParts.js.map +0 -1
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
function makeAddPgTableConditionPlugin(schemaName, tableName, conditionFieldName, conditionFieldSpecGenerator, conditionGenerator) {
|
|
4
|
-
const displayName = `makeAddPgTableConditionPlugin__${schemaName}__${tableName}__${conditionFieldName}`;
|
|
5
|
-
const plugin = builder => {
|
|
6
|
-
const instance = Symbol(displayName);
|
|
7
|
-
builder.hook("build", function trackSeen(build) {
|
|
8
|
-
if (!build._pluginMeta) {
|
|
9
|
-
// eslint-disable-next-line no-param-reassign
|
|
10
|
-
build._pluginMeta = {};
|
|
11
|
-
}
|
|
12
|
-
// eslint-disable-next-line no-param-reassign
|
|
13
|
-
build._pluginMeta[instance] = {
|
|
14
|
-
seen: false,
|
|
15
|
-
};
|
|
16
|
-
return build;
|
|
17
|
-
});
|
|
18
|
-
builder.hook("finalize", function checkSeen(schema, build) {
|
|
19
|
-
const meta = build._pluginMeta[instance];
|
|
20
|
-
if (!meta.seen) {
|
|
21
|
-
// eslint-disable-next-line no-console
|
|
22
|
-
console.error(`WARNING: failed to add condition '${conditionFieldName}' to table "${schemaName}"."${tableName}"; did you get the schema/table name right?`);
|
|
23
|
-
}
|
|
24
|
-
return schema;
|
|
25
|
-
});
|
|
26
|
-
builder.hook("GraphQLInputObjectType:fields", function addConditionInputField(fields, build, context) {
|
|
27
|
-
const { scope: { isPgCondition, pgIntrospection: table }, fieldWithHooks, } = context;
|
|
28
|
-
if (!isPgCondition ||
|
|
29
|
-
!table ||
|
|
30
|
-
table.kind !== "class" ||
|
|
31
|
-
table.namespaceName !== schemaName ||
|
|
32
|
-
table.name !== tableName) {
|
|
33
|
-
return fields;
|
|
34
|
-
}
|
|
35
|
-
const conditionFieldSpec = conditionFieldSpecGenerator(build);
|
|
36
|
-
const meta = build._pluginMeta[instance];
|
|
37
|
-
meta.seen = true;
|
|
38
|
-
return build.extend(fields, {
|
|
39
|
-
[conditionFieldName]: fieldWithHooks(conditionFieldName, conditionFieldSpec, {
|
|
40
|
-
addPgTableCondition: {
|
|
41
|
-
schemaName,
|
|
42
|
-
tableName,
|
|
43
|
-
conditionFieldSpec,
|
|
44
|
-
conditionFieldName,
|
|
45
|
-
},
|
|
46
|
-
}),
|
|
47
|
-
});
|
|
48
|
-
});
|
|
49
|
-
builder.hook("GraphQLObjectType:fields:field:args", function addSqlWhereClause(args, build, context) {
|
|
50
|
-
const { pgSql: sql } = build;
|
|
51
|
-
const { scope: { isPgFieldConnection, isPgFieldSimpleCollection, pgFieldIntrospection: procOrTable, pgFieldIntrospectionTable: tableIfProc, }, addArgDataGenerator, } = context;
|
|
52
|
-
const table = tableIfProc || procOrTable;
|
|
53
|
-
if ((!isPgFieldConnection && !isPgFieldSimpleCollection) ||
|
|
54
|
-
!table ||
|
|
55
|
-
table.kind !== "class" ||
|
|
56
|
-
table.namespaceName !== schemaName ||
|
|
57
|
-
table.name !== tableName) {
|
|
58
|
-
return args;
|
|
59
|
-
}
|
|
60
|
-
addArgDataGenerator(function conditionSQLBuilder({ condition, }) {
|
|
61
|
-
if (!condition || !(conditionFieldName in condition)) {
|
|
62
|
-
return {};
|
|
63
|
-
}
|
|
64
|
-
const { [conditionFieldName]: conditionValue } = condition;
|
|
65
|
-
return {
|
|
66
|
-
pgQuery: (queryBuilder) => {
|
|
67
|
-
const sqlCondition = conditionGenerator(conditionValue, {
|
|
68
|
-
queryBuilder,
|
|
69
|
-
sql,
|
|
70
|
-
sqlTableAlias: queryBuilder.getTableAlias(),
|
|
71
|
-
}, build);
|
|
72
|
-
if (sqlCondition) {
|
|
73
|
-
queryBuilder.where(sqlCondition);
|
|
74
|
-
}
|
|
75
|
-
},
|
|
76
|
-
};
|
|
77
|
-
});
|
|
78
|
-
return args;
|
|
79
|
-
}, [],
|
|
80
|
-
// Make sure we're loaded before PgConnectionArgOrderBy, otherwise
|
|
81
|
-
// ordering added by conditions will be overridden by the default
|
|
82
|
-
// ordering.
|
|
83
|
-
["PgConnectionArgOrderBy"], []);
|
|
84
|
-
};
|
|
85
|
-
plugin.displayName = displayName;
|
|
86
|
-
return plugin;
|
|
87
|
-
}
|
|
88
|
-
exports.default = makeAddPgTableConditionPlugin;
|
|
89
|
-
//# sourceMappingURL=makeAddPgTableConditionPlugin.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"makeAddPgTableConditionPlugin.js","sourceRoot":"","sources":["../src/makeAddPgTableConditionPlugin.ts"],"names":[],"mappings":";;AAKA,SAAwB,6BAA6B,CACnD,UAAkB,EAClB,SAAiB,EACjB,kBAA0B,EAC1B,2BAAsE,EACtE,kBAQ2B;IAE3B,MAAM,WAAW,GAAG,kCAAkC,UAAU,KAAK,SAAS,KAAK,kBAAkB,EAAE,CAAC;IACxG,MAAM,MAAM,GAAW,OAAO,CAAC,EAAE;QAC/B,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,SAAS,CAAC,KAAK;YAC5C,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;gBACtB,6CAA6C;gBAC7C,KAAK,CAAC,WAAW,GAAG,EAAE,CAAC;aACxB;YACD,6CAA6C;YAC7C,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG;gBAC5B,IAAI,EAAE,KAAK;aACZ,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,SAAS,CAAC,MAAM,EAAE,KAAK;YACvD,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YACzC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;gBACd,sCAAsC;gBACtC,OAAO,CAAC,KAAK,CACX,qCAAqC,kBAAkB,eAAe,UAAU,MAAM,SAAS,6CAA6C,CAC7I,CAAC;aACH;YACD,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,IAAI,CACV,+BAA+B,EAC/B,SAAS,sBAAsB,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO;YACpD,MAAM,EACJ,KAAK,EAAE,EAAE,aAAa,EAAE,eAAe,EAAE,KAAK,EAAE,EAChD,cAAc,GACf,GAAG,OAAO,CAAC;YACZ,IACE,CAAC,aAAa;gBACd,CAAC,KAAK;gBACN,KAAK,CAAC,IAAI,KAAK,OAAO;gBACtB,KAAK,CAAC,aAAa,KAAK,UAAU;gBAClC,KAAK,CAAC,IAAI,KAAK,SAAS,EACxB;gBACA,OAAO,MAAM,CAAC;aACf;YACD,MAAM,kBAAkB,GAAG,2BAA2B,CAAC,KAAK,CAAC,CAAC;YAC9D,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YACzC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,OAAO,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE;gBAC1B,CAAC,kBAAkB,CAAC,EAAE,cAAc,CAClC,kBAAkB,EAClB,kBAAkB,EAClB;oBACE,mBAAmB,EAAE;wBACnB,UAAU;wBACV,SAAS;wBACT,kBAAkB;wBAClB,kBAAkB;qBACnB;iBACF,CACF;aACF,CAAC,CAAC;QACL,CAAC,CACF,CAAC;QACF,OAAO,CAAC,IAAI,CACV,qCAAqC,EACrC,SAAS,iBAAiB,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO;YAC7C,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;YAC7B,MAAM,EACJ,KAAK,EAAE,EACL,mBAAmB,EACnB,yBAAyB,EACzB,oBAAoB,EAAE,WAAW,EACjC,yBAAyB,EAAE,WAAW,GACvC,EACD,mBAAmB,GACpB,GAAG,OAAO,CAAC;YACZ,MAAM,KAAK,GAAG,WAAW,IAAI,WAAW,CAAC;YACzC,IACE,CAAC,CAAC,mBAAmB,IAAI,CAAC,yBAAyB,CAAC;gBACpD,CAAC,KAAK;gBACN,KAAK,CAAC,IAAI,KAAK,OAAO;gBACtB,KAAK,CAAC,aAAa,KAAK,UAAU;gBAClC,KAAK,CAAC,IAAI,KAAK,SAAS,EACxB;gBACA,OAAO,IAAI,CAAC;aACb;YAED,mBAAmB,CAAC,SAAS,mBAAmB,CAAC,EAC/C,SAAS,GAGV;gBACC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,kBAAkB,IAAI,SAAS,CAAC,EAAE;oBACpD,OAAO,EAAE,CAAC;iBACX;gBACD,MAAM,EAAE,CAAC,kBAAkB,CAAC,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC;gBAC3D,OAAO;oBACL,OAAO,EAAE,CAAC,YAA0B,EAAE,EAAE;wBACtC,MAAM,YAAY,GAAG,kBAAkB,CACrC,cAAc,EACd;4BACE,YAAY;4BACZ,GAAG;4BACH,aAAa,EAAE,YAAY,CAAC,aAAa,EAAE;yBAC5C,EACD,KAAK,CACN,CAAC;wBACF,IAAI,YAAY,EAAE;4BAChB,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;yBAClC;oBACH,CAAC;iBACF,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC;QACd,CAAC,EACD,EAAE;QACF,kEAAkE;QAClE,iEAAiE;QACjE,YAAY;QACZ,CAAC,wBAAwB,CAAC,EAC1B,EAAE,CACH,CAAC;IACJ,CAAC,CAAC;IACF,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,OAAO,MAAM,CAAC;AAChB,CAAC;AA1ID,gDA0IC"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import type { SQL, QueryBuilder } from "graphile-build-pg";
|
|
2
|
-
import type { Build, Plugin } from "graphile-build";
|
|
3
|
-
declare type OrderBySpecIdentity = string | SQL | ((options: {
|
|
4
|
-
queryBuilder: QueryBuilder;
|
|
5
|
-
}) => SQL);
|
|
6
|
-
declare type OrderSpec = [OrderBySpecIdentity, boolean] | [OrderBySpecIdentity, boolean, boolean];
|
|
7
|
-
export interface MakeAddPgTableOrderByPluginOrders {
|
|
8
|
-
[orderByEnumValue: string]: {
|
|
9
|
-
value: {
|
|
10
|
-
alias?: string;
|
|
11
|
-
specs: Array<OrderSpec>;
|
|
12
|
-
unique: boolean;
|
|
13
|
-
};
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
export default function makeAddPgTableOrderByPlugin(schemaName: string, tableName: string, ordersGenerator: (build: Build) => MakeAddPgTableOrderByPluginOrders, hint?: string): Plugin;
|
|
17
|
-
export declare type NullsSortMethod = "first" | "last" | "first-iff-ascending" | "last-iff-ascending" | undefined;
|
|
18
|
-
export interface OrderByAscDescOptions {
|
|
19
|
-
unique?: boolean;
|
|
20
|
-
nulls?: NullsSortMethod;
|
|
21
|
-
}
|
|
22
|
-
export declare function orderByAscDesc(baseName: string, columnOrSqlFragment: OrderBySpecIdentity, uniqueOrOptions?: boolean | OrderByAscDescOptions): MakeAddPgTableOrderByPluginOrders;
|
|
23
|
-
export {};
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.orderByAscDesc = void 0;
|
|
4
|
-
function makeAddPgTableOrderByPlugin(schemaName, tableName, ordersGenerator, hint = `Adding orders with makeAddPgTableOrderByPlugin to "${schemaName}"."${tableName}"`) {
|
|
5
|
-
const displayName = `makeAddPgTableOrderByPlugin_${schemaName}_${tableName}`;
|
|
6
|
-
const plugin = builder => {
|
|
7
|
-
builder.hook("GraphQLEnumType:values", (values, build, context) => {
|
|
8
|
-
const { extend } = build;
|
|
9
|
-
const { scope: { isPgRowSortEnum, pgIntrospection: table }, } = context;
|
|
10
|
-
if (!isPgRowSortEnum ||
|
|
11
|
-
!table ||
|
|
12
|
-
table.kind !== "class" ||
|
|
13
|
-
table.namespaceName !== schemaName ||
|
|
14
|
-
table.name !== tableName) {
|
|
15
|
-
return values;
|
|
16
|
-
}
|
|
17
|
-
const newValues = ordersGenerator(build);
|
|
18
|
-
return extend(values, newValues, hint);
|
|
19
|
-
});
|
|
20
|
-
};
|
|
21
|
-
plugin.displayName = displayName;
|
|
22
|
-
return plugin;
|
|
23
|
-
}
|
|
24
|
-
exports.default = makeAddPgTableOrderByPlugin;
|
|
25
|
-
function orderByAscDesc(baseName, columnOrSqlFragment, uniqueOrOptions = false) {
|
|
26
|
-
const options = typeof uniqueOrOptions === "boolean"
|
|
27
|
-
? { unique: uniqueOrOptions }
|
|
28
|
-
: uniqueOrOptions !== null && uniqueOrOptions !== void 0 ? uniqueOrOptions : {};
|
|
29
|
-
const { unique = false, nulls } = options;
|
|
30
|
-
if (typeof unique !== "boolean") {
|
|
31
|
-
throw new Error(`Invalid value for "unique" passed to orderByAscDesc for ${baseName}. Unique must be a boolean.`);
|
|
32
|
-
}
|
|
33
|
-
const isValidNullsOption = [
|
|
34
|
-
"first",
|
|
35
|
-
"last",
|
|
36
|
-
"first-iff-ascending",
|
|
37
|
-
"last-iff-ascending",
|
|
38
|
-
undefined,
|
|
39
|
-
].includes(nulls);
|
|
40
|
-
if (!isValidNullsOption) {
|
|
41
|
-
throw new Error(`Invalid value for "nulls" passed to orderByAscDesc for ${baseName}. Nulls must be sorted by one of: undefined | "first" | "last" | "first-iff-ascending" | "last-iff-ascending".`);
|
|
42
|
-
}
|
|
43
|
-
const defaultAscendingSpec = [columnOrSqlFragment, true];
|
|
44
|
-
const defaultDescendingSpec = [columnOrSqlFragment, false];
|
|
45
|
-
const ascendingSpec = typeof nulls === "undefined"
|
|
46
|
-
? defaultAscendingSpec
|
|
47
|
-
: [
|
|
48
|
-
...defaultAscendingSpec,
|
|
49
|
-
["first", "first-iff-ascending"].includes(nulls),
|
|
50
|
-
];
|
|
51
|
-
const descendingSpec = typeof nulls === "undefined"
|
|
52
|
-
? defaultDescendingSpec
|
|
53
|
-
: [
|
|
54
|
-
...defaultDescendingSpec,
|
|
55
|
-
["first", "last-iff-ascending"].includes(nulls),
|
|
56
|
-
];
|
|
57
|
-
const orders = {
|
|
58
|
-
[`${baseName}_ASC`]: {
|
|
59
|
-
value: {
|
|
60
|
-
alias: `${baseName}_ASC`,
|
|
61
|
-
specs: [ascendingSpec],
|
|
62
|
-
unique,
|
|
63
|
-
},
|
|
64
|
-
},
|
|
65
|
-
[`${baseName}_DESC`]: {
|
|
66
|
-
value: {
|
|
67
|
-
alias: `${baseName}_DESC`,
|
|
68
|
-
specs: [descendingSpec],
|
|
69
|
-
unique,
|
|
70
|
-
},
|
|
71
|
-
},
|
|
72
|
-
};
|
|
73
|
-
return orders;
|
|
74
|
-
}
|
|
75
|
-
exports.orderByAscDesc = orderByAscDesc;
|
|
76
|
-
//# sourceMappingURL=makeAddPgTableOrderByPlugin.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"makeAddPgTableOrderByPlugin.js","sourceRoot":"","sources":["../src/makeAddPgTableOrderByPlugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
function makeChangeNullabilityPlugin(rules) {
|
|
4
|
-
return (builder, _options) => {
|
|
5
|
-
function changeNullability(field, build, context) {
|
|
6
|
-
const { Self, scope: { fieldName }, } = context;
|
|
7
|
-
const typeRules = rules[Self.name];
|
|
8
|
-
if (!typeRules) {
|
|
9
|
-
return field;
|
|
10
|
-
}
|
|
11
|
-
const shouldBeNullable = typeRules[fieldName];
|
|
12
|
-
if (shouldBeNullable == null) {
|
|
13
|
-
return field;
|
|
14
|
-
}
|
|
15
|
-
const { graphql: { getNullableType, GraphQLNonNull }, } = build;
|
|
16
|
-
const nullableType = getNullableType(field.type);
|
|
17
|
-
return Object.assign(Object.assign({}, field), { type: shouldBeNullable
|
|
18
|
-
? nullableType
|
|
19
|
-
: nullableType === field.type
|
|
20
|
-
? new GraphQLNonNull(field.type)
|
|
21
|
-
: field.type });
|
|
22
|
-
}
|
|
23
|
-
builder.hook("GraphQLInputObjectType:fields:field", changeNullability);
|
|
24
|
-
builder.hook("GraphQLObjectType:fields:field", changeNullability);
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
exports.default = makeChangeNullabilityPlugin;
|
|
28
|
-
//# sourceMappingURL=makeChangeNullabilityPlugin.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"makeChangeNullabilityPlugin.js","sourceRoot":"","sources":["../src/makeChangeNullabilityPlugin.ts"],"names":[],"mappings":";;AAeA,SAAwB,2BAA2B,CACjD,KAA6B;IAE7B,OAAO,CAAC,OAAsB,EAAE,QAAiB,EAAE,EAAE;QACnD,SAAS,iBAAiB,CAExB,KAAY,EAAE,KAAY,EAAE,OAAuB;YACnD,MAAM,EACJ,IAAI,EACJ,KAAK,EAAE,EAAE,SAAS,EAAE,GACrB,GAAG,OAAO,CAAC;YACZ,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnC,IAAI,CAAC,SAAS,EAAE;gBACd,OAAO,KAAK,CAAC;aACd;YACD,MAAM,gBAAgB,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;YAC9C,IAAI,gBAAgB,IAAI,IAAI,EAAE;gBAC5B,OAAO,KAAK,CAAC;aACd;YACD,MAAM,EACJ,OAAO,EAAE,EAAE,eAAe,EAAE,cAAc,EAAE,GAC7C,GAAG,KAAK,CAAC;YACV,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACjD,uCACK,KAAK,KACR,IAAI,EAAE,gBAAgB;oBACpB,CAAC,CAAC,YAAY;oBACd,CAAC,CAAC,YAAY,KAAK,KAAK,CAAC,IAAI;wBAC7B,CAAC,CAAC,IAAI,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC;wBAChC,CAAC,CAAC,KAAK,CAAC,IAAI,IACd;QACJ,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,qCAAqC,EAAE,iBAAiB,CAAC,CAAC;QACvE,OAAO,CAAC,IAAI,CAAC,gCAAgC,EAAE,iBAAiB,CAAC,CAAC;IACpE,CAAC,CAAC;AACJ,CAAC;AAnCD,8CAmCC"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import type { Build, Plugin, Options } from "graphile-build";
|
|
2
|
-
import type { GraphQLIsTypeOfFn, GraphQLTypeResolver, GraphQLResolveInfo, DocumentNode } from "graphql";
|
|
3
|
-
import { GraphileHelpers } from "./fieldHelpers";
|
|
4
|
-
export declare type AugmentedGraphQLFieldResolver<TSource, TContext, TArgs = {
|
|
5
|
-
[argName: string]: any;
|
|
6
|
-
}> = (parent: TSource, args: TArgs, context: TContext, info: GraphQLResolveInfo & {
|
|
7
|
-
graphile: GraphileHelpers<TSource>;
|
|
8
|
-
}, useInfoDotGraphileInstead: GraphileHelpers<TSource>) => any;
|
|
9
|
-
export interface ObjectFieldResolver<TSource = any, TContext = any> {
|
|
10
|
-
resolve?: AugmentedGraphQLFieldResolver<TSource, TContext>;
|
|
11
|
-
subscribe?: AugmentedGraphQLFieldResolver<TSource, TContext>;
|
|
12
|
-
__resolveType?: GraphQLTypeResolver<TSource, TContext>;
|
|
13
|
-
__isTypeOf?: GraphQLIsTypeOfFn<TSource, TContext>;
|
|
14
|
-
}
|
|
15
|
-
export interface ObjectResolver<TSource = any, TContext = any> {
|
|
16
|
-
[key: string]: AugmentedGraphQLFieldResolver<TSource, TContext> | ObjectFieldResolver<TSource, TContext>;
|
|
17
|
-
}
|
|
18
|
-
export interface EnumResolver {
|
|
19
|
-
[key: string]: string | number | Array<any> | Record<string, any> | symbol;
|
|
20
|
-
}
|
|
21
|
-
export interface Resolvers<TSource = any, TContext = any> {
|
|
22
|
-
[key: string]: ObjectResolver<TSource, TContext> | EnumResolver;
|
|
23
|
-
}
|
|
24
|
-
export interface ExtensionDefinition {
|
|
25
|
-
typeDefs: DocumentNode | DocumentNode[];
|
|
26
|
-
resolvers?: Resolvers;
|
|
27
|
-
}
|
|
28
|
-
export default function makeExtendSchemaPlugin(generator: ExtensionDefinition | ((build: Build, schemaOptions: Options) => ExtensionDefinition), uniqueId?: string): Plugin;
|