graphile-utils 5.0.0-beta.38 → 5.0.0-beta.39

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 CHANGED
@@ -1,5 +1,148 @@
1
1
  # graphile-utils
2
2
 
3
+ ## 5.0.0-beta.39
4
+
5
+ ### Patch Changes
6
+
7
+ - [#2482](https://github.com/graphile/crystal/pull/2482)
8
+ [`459e1869a2ec58925b2bac5458af487c52a8ca37`](https://github.com/graphile/crystal/commit/459e1869a2ec58925b2bac5458af487c52a8ca37)
9
+ Thanks [@benjie](https://github.com/benjie)! - Minimum version of Node.js
10
+ bumped to Node 22 (the latest LTS).
11
+
12
+ - [#2527](https://github.com/graphile/crystal/pull/2527)
13
+ [`576fb8bad56cb940ab444574d752e914d462018a`](https://github.com/graphile/crystal/commit/576fb8bad56cb940ab444574d752e914d462018a)
14
+ Thanks [@{](https://github.com/{)! - In order to make the libraries more type
15
+ safe, `makeGrafastSchema` (from `grafast`) and `makeExtendSchemaPlugin` (from
16
+ `postgraphile/utils`) have deprecated the `typeDefs`/`plans` pattern since
17
+ `plans` (like `resolvers` in the traditional format) ended up being a
18
+ mish-mash of lots of different types and `__`-prefixed fields for special
19
+ cases.
20
+
21
+ Instead the configuration should be split into `typeDefs` with `objects`,
22
+ `interfaces`, `unions`, `inputObjects`, `scalars` and `enums`; and object and
23
+ input object fields should be specified via the `plans` entry within the type
24
+ to avoid conflicts with `resolveType`/`isTypeOf`/`planType`/`scope` and
25
+ similar type-level (rather than field-level) properties. Similarly, enum
26
+ values should be added under a `values` property. This also means these
27
+ type-level fields no longer have the `__` prefix.
28
+
29
+ Migration is quite straightforward:
30
+
31
+ 1. **Add new top-level properties**. Add `objects`, `interfaces`, `unions`,
32
+ `inputObjects`, `scalars`, and `enums` as top level properties alongside
33
+ `typeDefs` and `plans`. Each should be an empty object. You can skip any
34
+ where you're not defining types of that kind.
35
+ 1. **Split definitions based on type kind**. For each type defined in `plans`
36
+ move it into the appropriate new property based on the keyword used to
37
+ define the type in the `typeDefs` (`type` → `objects`, `interface`
38
+ → `interfaces`, `union` → `unions`, `input object` →
39
+ `inputObjects`, `scalar` → `scalars`, `enum` → `enums`).
40
+ 1. **Move field plans into nested `plans: {...}` object**. For each type
41
+ defined in the new `objects` and `inputObjects` maps: create a
42
+ `plans: { ... }` entry inside the type and move all fields (anything not
43
+ prefixed with `__`) inside this new (nested) property.
44
+ 1. **Move enum values into nested `values: {...}` object**. For each type
45
+ defined in the new `enums` map: create a `values: { ... }` entry inside the
46
+ type and move all values (anything not prefixed with `__`) inside this new
47
+ (nested) property.
48
+ 1. **Remove `__` prefixes**. For each type across
49
+ `objects`/`interfaces`/`unions`/`interfaceObjects`/`scalars` and `enums`:
50
+ remove the `__` prefix from any methods/properties.
51
+
52
+ Example:
53
+
54
+ ```diff
55
+ typeDefs: ...,
56
+ -plans: {
57
+ +objects: {
58
+
59
+ - __isTypeOf(v) {
60
+ + isTypeOf(v) {
61
+ return v.username != null;
62
+ },
63
+ + plans: {
64
+ fieldName($source, fieldArgs) {
65
+ // ...
66
+ },
67
+ + },
68
+ },
69
+ +},
70
+ +interfaces: {,
71
+ MyInterface: {
72
+ - __resolveType($specifier) {
73
+ + resolveType($specifier) {
74
+ // ...
75
+ }
76
+ }
77
+ +},
78
+ +enums: {
79
+ MyEnum: {
80
+ + values: {
81
+ ONE: {value: 1},
82
+ TWO: {value: 2},
83
+ THREE: {value: 3},
84
+ + }
85
+ }
86
+ },
87
+ ```
88
+
89
+ Other changes:
90
+
91
+ - `ObjectPlans`/`GrafastPlans`/`FieldPlans`/`InputObjectPlans`/`ScalarPlans`
92
+ all changed to signular
93
+ - `InterfaceOrUnionPlans` split to `InterfacePlan`/`UnionPlan` (identical
94
+ currently)
95
+ - Shape of `ObjectPlan`/`InterfacePlan`/`UnionPlan` has changed;
96
+ `DeprecatedObjectPlan`/etc exist for backcompat
97
+ - `FieldArgs` can now accept an input shape indicating the args and their
98
+ types
99
+ - `FieldPlanResolver<TArgs, TParentStep, TResultStep>` has switched the order
100
+ of the first two generic parameters:
101
+ `FieldPlanResolver<TParentStep, TArgs, TResultStep>` - this is to reflect
102
+ the order of the arguments to the function. Also null has been removed from
103
+ the generics.
104
+ - Various generics (including `GrafastFieldConfig`) that used to take a
105
+ GraphQL type instance as a generic parameter no longer do - you need to use
106
+ external code generation because TypeScript cannot handle the dynamic
107
+ creation.
108
+ - `GrafastFieldConfig` last two generics swapped order.
109
+ - `GrafastArgumentConfig` generics completely changed
110
+
111
+ - Updated dependencies
112
+ [[`0e36cb9077c76710d2e407830323f86c5038126e`](https://github.com/graphile/crystal/commit/0e36cb9077c76710d2e407830323f86c5038126e),
113
+ [`c0c3f48fa9f60cb9a4436ea135979b779ecc71ec`](https://github.com/graphile/crystal/commit/c0c3f48fa9f60cb9a4436ea135979b779ecc71ec),
114
+ [`cef9a37f846b4af105ac20960530d65c9f44afa9`](https://github.com/graphile/crystal/commit/cef9a37f846b4af105ac20960530d65c9f44afa9),
115
+ [`56ce94a847c6a4094643665cbf5d3712f56140b6`](https://github.com/graphile/crystal/commit/56ce94a847c6a4094643665cbf5d3712f56140b6),
116
+ [`070467c4ea693a2516fc8006bebb88b1ab96fb26`](https://github.com/graphile/crystal/commit/070467c4ea693a2516fc8006bebb88b1ab96fb26),
117
+ [`192a27e08763ea26607344a2ea6c7f5c595cc2a3`](https://github.com/graphile/crystal/commit/192a27e08763ea26607344a2ea6c7f5c595cc2a3),
118
+ [`142e39f26ce329f09bee0b5427f1ddc5103e610e`](https://github.com/graphile/crystal/commit/142e39f26ce329f09bee0b5427f1ddc5103e610e),
119
+ [`6ef6abce15936a896156d5316020df55cf7d18e3`](https://github.com/graphile/crystal/commit/6ef6abce15936a896156d5316020df55cf7d18e3),
120
+ [`0239c2d519300a72f545e0db7c371adae4ade2a9`](https://github.com/graphile/crystal/commit/0239c2d519300a72f545e0db7c371adae4ade2a9),
121
+ [`09d95319be3e25e023dfbab9d1542dfe06f65355`](https://github.com/graphile/crystal/commit/09d95319be3e25e023dfbab9d1542dfe06f65355),
122
+ [`0ea439d33ccef7f8d01ac5f54893ab2bbf1cbd4d`](https://github.com/graphile/crystal/commit/0ea439d33ccef7f8d01ac5f54893ab2bbf1cbd4d),
123
+ [`8034614d1078b1bd177b6e7fcc949420614e3245`](https://github.com/graphile/crystal/commit/8034614d1078b1bd177b6e7fcc949420614e3245),
124
+ [`a830770e775a65ce1d09fa767f38e84f5c0e5139`](https://github.com/graphile/crystal/commit/a830770e775a65ce1d09fa767f38e84f5c0e5139),
125
+ [`459e1869a2ec58925b2bac5458af487c52a8ca37`](https://github.com/graphile/crystal/commit/459e1869a2ec58925b2bac5458af487c52a8ca37),
126
+ [`c350e49e372ec12a4cbf04fb6b4260e01832d12b`](https://github.com/graphile/crystal/commit/c350e49e372ec12a4cbf04fb6b4260e01832d12b),
127
+ [`3176ea3e57d626b39613a73117ef97627370ec83`](https://github.com/graphile/crystal/commit/3176ea3e57d626b39613a73117ef97627370ec83),
128
+ [`46a42f5547c041289aa98657ebc6815f4b6c8539`](https://github.com/graphile/crystal/commit/46a42f5547c041289aa98657ebc6815f4b6c8539),
129
+ [`be3f174c5aae8fe78a240e1bc4e1de7f18644b43`](https://github.com/graphile/crystal/commit/be3f174c5aae8fe78a240e1bc4e1de7f18644b43),
130
+ [`c43ed67b9d3acbadb172ee88ba9c2a4d32528a25`](https://github.com/graphile/crystal/commit/c43ed67b9d3acbadb172ee88ba9c2a4d32528a25),
131
+ [`576fb8bad56cb940ab444574d752e914d462018a`](https://github.com/graphile/crystal/commit/576fb8bad56cb940ab444574d752e914d462018a),
132
+ [`9f459101fa4428aa4bac71531e75f99e33da8e17`](https://github.com/graphile/crystal/commit/9f459101fa4428aa4bac71531e75f99e33da8e17),
133
+ [`921665df8babe2651ab3b5886ab68bb518f2125b`](https://github.com/graphile/crystal/commit/921665df8babe2651ab3b5886ab68bb518f2125b),
134
+ [`78bb1a615754d772a5fda000e96073c91fa9eba7`](https://github.com/graphile/crystal/commit/78bb1a615754d772a5fda000e96073c91fa9eba7),
135
+ [`ab0bcda5fc3c136eea09493a7d9ed4542975858e`](https://github.com/graphile/crystal/commit/ab0bcda5fc3c136eea09493a7d9ed4542975858e),
136
+ [`455f4811d37ad8fff91183c7a88621bcf9d79acf`](https://github.com/graphile/crystal/commit/455f4811d37ad8fff91183c7a88621bcf9d79acf),
137
+ [`45adaff886e7cd72b864150927be6c0cb4a7dfe8`](https://github.com/graphile/crystal/commit/45adaff886e7cd72b864150927be6c0cb4a7dfe8),
138
+ [`b05d57b932ea00d10715dcab9f79d443408881fc`](https://github.com/graphile/crystal/commit/b05d57b932ea00d10715dcab9f79d443408881fc)]:
139
+ - grafast@0.1.1-beta.22
140
+ - @dataplan/pg@0.0.1-beta.33
141
+ - graphile-build-pg@5.0.0-beta.39
142
+ - graphile-build@5.0.0-beta.34
143
+ - graphile-config@0.0.1-beta.16
144
+ - tamedevil@0.0.0-beta.8
145
+
3
146
  ## 5.0.0-beta.38
4
147
 
5
148
  ### Patch Changes
package/README.md CHANGED
@@ -31,11 +31,7 @@ And please give some love to our featured sponsors 🤩:
31
31
 
32
32
  <table><tr>
33
33
  <td align="center"><a href="https://www.the-guild.dev/"><img src="https://graphile.org/images/sponsors/theguild.png" width="90" height="90" alt="The Guild" /><br />The Guild</a> *</td>
34
- <td align="center"><a href="https://dovetailapp.com/"><img src="https://graphile.org/images/sponsors/dovetail.png" width="90" height="90" alt="Dovetail" /><br />Dovetail</a> *</td>
35
- <td align="center"><a href="https://stellate.co/"><img src="https://graphile.org/images/sponsors/Stellate.png" width="90" height="90" alt="Stellate" /><br />Stellate</a> *</td>
36
34
  <td align="center"><a href="https://gosteelhead.com/"><img src="https://graphile.org/images/sponsors/steelhead.svg" width="90" height="90" alt="Steelhead" /><br />Steelhead</a> *</td>
37
- </tr><tr>
38
- <td align="center"><a href=""><img src="https://graphile.org/images/sponsors/latchbio.jpg" width="90" height="90" alt="LatchBio" /><br />LatchBio</a> *</td>
39
35
  </tr></table>
40
36
 
41
37
  <em>\* Sponsors the entire Graphile suite</em>
@@ -72,7 +68,9 @@ const MySchemaExtensionPlugin =
72
68
  makeExtendSchemaPlugin(
73
69
  build => ({
74
70
  typeDefs: gql`...`,
75
- resolvers: ...
71
+ objects: {...},
72
+ interfaces: {...},
73
+ unions: {...},
76
74
  })
77
75
  );
78
76
 
@@ -82,32 +80,44 @@ module.exports = MySchemaExtensionPlugin;
82
80
  e.g.:
83
81
 
84
82
  ```js
85
- makeExtendSchemaPlugin((build) => ({
86
- typeDefs: gql`
87
- type Random {
88
- float: Float!
89
- number(min: Int!, max: Int!): Int!
90
- }
91
- extend type Query {
92
- random: Random
93
- }
94
- `,
95
- resolvers: {
96
- Query: {
97
- random() {
98
- return {};
83
+ makeExtendSchemaPlugin((build) => {
84
+ const {
85
+ grafast: { constant },
86
+ } = build;
87
+ return {
88
+ typeDefs: gql`
89
+ type Random {
90
+ float: Float!
91
+ number(min: Int!, max: Int!): Int!
92
+ }
93
+ extend type Query {
94
+ random: Random
95
+ }
96
+ `,
97
+ objects: {
98
+ Query: {
99
+ plans: {
100
+ random() {
101
+ return constant({});
102
+ },
103
+ },
99
104
  },
100
- },
101
- Random: {
102
- float() {
103
- return Math.random();
104
- },
105
- number(_parent, { min, max }) {
106
- return min + Math.floor(Math.random() * (max - min + 1));
105
+ Random: {
106
+ plans: {
107
+ float() {
108
+ return lambda(null, () => Math.random());
109
+ },
110
+ number(_parent, { $min, $max }) {
111
+ return lambda(
112
+ [$min, $max],
113
+ ([min, max]) => min + Math.floor(Math.random() * (max - min + 1)),
114
+ );
115
+ },
116
+ },
107
117
  },
108
118
  },
109
- },
110
- }));
119
+ };
120
+ });
111
121
  ```
112
122
 
113
123
  ### `makeAddInflectorsPlugin`
package/dist/index.d.ts CHANGED
@@ -1,11 +1,17 @@
1
+ import type { BaseGraphQLArguments, Step } from "grafast";
1
2
  export { EXPORTABLE } from "./exportable.js";
2
3
  export { gql } from "./gql.js";
3
4
  export { makeAddInflectorsPlugin } from "./makeAddInflectorsPlugin.js";
4
5
  export { makeAddPgTableConditionPlugin } from "./makeAddPgTableConditionPlugin.js";
5
6
  export { makeAddPgTableOrderByPlugin, MakeAddPgTableOrderByPluginOrders, NullsSortMethod, orderByAscDesc, OrderByAscDescOptions, } from "./makeAddPgTableOrderByPlugin.js";
6
7
  export { ChangeNullabilityRules, ChangeNullabilityTypeRules, makeChangeNullabilityPlugin, NullabilitySpec, NullabilitySpecString, } from "./makeChangeNullabilityPlugin.js";
7
- export { EnumResolver, ExtensionDefinition, makeExtendSchemaPlugin, ObjectFieldConfig, ObjectPlan, ObjectResolver, Plans, Resolvers, } from "./makeExtendSchemaPlugin.js";
8
+ export { EnumResolver, ExtensionDefinition, makeExtendSchemaPlugin, ObjectPlan, ObjectResolver, Plans, Resolvers, } from "./makeExtendSchemaPlugin.js";
8
9
  export { makeJSONPgSmartTagsPlugin, makePgSmartTagsFromFilePlugin, makePgSmartTagsPlugin, TagsFilePlugin, } from "./makePgSmartTagsPlugin.js";
9
10
  export { makeProcessSchemaPlugin } from "./makeProcessSchemaPlugin.js";
10
11
  export { makeWrapPlansPlugin, PlanWrapperFilter, PlanWrapperFilterRule, PlanWrapperFn, PlanWrapperRule, PlanWrapperRules, PlanWrapperRulesGenerator, } from "./makeWrapPlansPlugin.js";
12
+ declare module "grafast" {
13
+ interface ObjectFieldConfig<TSource extends Step = Step, TArgs extends BaseGraphQLArguments = any, TResultStep extends Step = Step> {
14
+ scope?: Omit<GraphileBuild.ScopeObjectFieldsField, "fieldName">;
15
+ }
16
+ }
11
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AACnF,OAAO,EACL,2BAA2B,EAC3B,iCAAiC,EACjC,eAAe,EACf,cAAc,EACd,qBAAqB,GACtB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,sBAAsB,EACtB,0BAA0B,EAC1B,2BAA2B,EAC3B,eAAe,EACf,qBAAqB,GACtB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,UAAU,EACV,cAAc,EACd,KAAK,EACL,SAAS,GACV,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,yBAAyB,EACzB,6BAA6B,EAC7B,qBAAqB,EACrB,cAAc,GACf,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,qBAAqB,EACrB,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,yBAAyB,GAC1B,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE1D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AACnF,OAAO,EACL,2BAA2B,EAC3B,iCAAiC,EACjC,eAAe,EACf,cAAc,EACd,qBAAqB,GACtB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,sBAAsB,EACtB,0BAA0B,EAC1B,2BAA2B,EAC3B,eAAe,EACf,qBAAqB,GACtB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,sBAAsB,EACtB,UAAU,EACV,cAAc,EACd,KAAK,EACL,SAAS,GACV,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,yBAAyB,EACzB,6BAA6B,EAC7B,qBAAqB,EACrB,cAAc,GACf,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,qBAAqB,EACrB,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,yBAAyB,GAC1B,MAAM,0BAA0B,CAAC;AAGlC,OAAO,QAAQ,SAAS,CAAC;IACvB,UAAU,iBAAiB,CACzB,OAAO,SAAS,IAAI,GAAG,IAAI,EAC3B,KAAK,SAAS,oBAAoB,GAAG,GAAG,EACxC,WAAW,SAAS,IAAI,GAAG,IAAI;QAE/B,KAAK,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,sBAAsB,EAAE,WAAW,CAAC,CAAC;KACjE;CACF"}
package/dist/index.js CHANGED
@@ -25,4 +25,5 @@ var makeProcessSchemaPlugin_js_1 = require("./makeProcessSchemaPlugin.js");
25
25
  Object.defineProperty(exports, "makeProcessSchemaPlugin", { enumerable: true, get: function () { return makeProcessSchemaPlugin_js_1.makeProcessSchemaPlugin; } });
26
26
  var makeWrapPlansPlugin_js_1 = require("./makeWrapPlansPlugin.js");
27
27
  Object.defineProperty(exports, "makeWrapPlansPlugin", { enumerable: true, get: function () { return makeWrapPlansPlugin_js_1.makeWrapPlansPlugin; } });
28
+ /* eslint-enable @typescript-eslint/no-unused-vars */
28
29
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,iDAA6C;AAApC,2GAAA,UAAU,OAAA;AACnB,mCAA+B;AAAtB,6FAAA,GAAG,OAAA;AACZ,2EAAuE;AAA9D,qIAAA,uBAAuB,OAAA;AAChC,uFAAmF;AAA1E,iJAAA,6BAA6B,OAAA;AACtC,mFAM0C;AALxC,6IAAA,2BAA2B,OAAA;AAG3B,gIAAA,cAAc,OAAA;AAGhB,mFAM0C;AAHxC,6IAAA,2BAA2B,OAAA;AAI7B,yEASqC;AANnC,mIAAA,sBAAsB,OAAA;AAOxB,uEAKoC;AAJlC,qIAAA,yBAAyB,OAAA;AACzB,yIAAA,6BAA6B,OAAA;AAC7B,iIAAA,qBAAqB,OAAA;AACrB,0HAAA,cAAc,OAAA;AAEhB,2EAAuE;AAA9D,qIAAA,uBAAuB,OAAA;AAChC,mEAQkC;AAPhC,6HAAA,mBAAmB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAEA,iDAA6C;AAApC,2GAAA,UAAU,OAAA;AACnB,mCAA+B;AAAtB,6FAAA,GAAG,OAAA;AACZ,2EAAuE;AAA9D,qIAAA,uBAAuB,OAAA;AAChC,uFAAmF;AAA1E,iJAAA,6BAA6B,OAAA;AACtC,mFAM0C;AALxC,6IAAA,2BAA2B,OAAA;AAG3B,gIAAA,cAAc,OAAA;AAGhB,mFAM0C;AAHxC,6IAAA,2BAA2B,OAAA;AAI7B,yEAQqC;AALnC,mIAAA,sBAAsB,OAAA;AAMxB,uEAKoC;AAJlC,qIAAA,yBAAyB,OAAA;AACzB,yIAAA,6BAA6B,OAAA;AAC7B,iIAAA,qBAAqB,OAAA;AACrB,0HAAA,cAAc,OAAA;AAEhB,2EAAuE;AAA9D,qIAAA,uBAAuB,OAAA;AAChC,mEAQkC;AAPhC,6HAAA,mBAAmB,OAAA;AAmBrB,qDAAqD"}
@@ -1,28 +1,15 @@
1
- import type { ExecutableStep, FieldPlanResolver } from "grafast";
2
- import type { DirectiveDefinitionNode, DocumentNode, EnumTypeDefinitionNode, GraphQLDirective, GraphQLEnumType, GraphQLFieldResolver, GraphQLInputObjectType, GraphQLInterfaceType, GraphQLIsTypeOfFn, GraphQLObjectType, GraphQLScalarType, GraphQLScalarTypeConfig, GraphQLTypeResolver, GraphQLUnionType, InputObjectTypeDefinitionNode, InterfaceTypeDefinitionNode, ObjectTypeDefinitionNode, ScalarTypeDefinitionNode, UnionTypeDefinitionNode } from "grafast/graphql";
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, InterfaceTypeDefinitionNode, ObjectTypeDefinitionNode, ScalarTypeDefinitionNode, UnionTypeDefinitionNode } from "grafast/graphql";
3
3
  import type { GraphileBuild } from "graphile-build";
4
- export interface ObjectFieldConfig<TSource = any, TContext = any> {
5
- scope?: GraphileBuild.ScopeObjectFieldsField;
6
- plan?: FieldPlanResolver<any, any, any>;
7
- subscribePlan?: FieldPlanResolver<any, any, any>;
8
- /** @deprecated Use 'plan' */
9
- resolve?: GraphQLFieldResolver<TSource, TContext>;
10
- /** @deprecated Use 'subscribePlan' */
11
- subscribe?: GraphQLFieldResolver<TSource, TContext>;
4
+ export type ObjectResolver<TSource = any, TContext = any> = {
5
+ [key: string]: GraphQLFieldResolver<TSource, TContext> | ObjectFieldConfig;
6
+ } & {
12
7
  __resolveType?: GraphQLTypeResolver<TSource, TContext>;
13
8
  __isTypeOf?: GraphQLIsTypeOfFn<TSource, TContext>;
14
- }
15
- export interface ObjectResolver<TSource = any, TContext = any> {
16
- [key: string]: GraphQLFieldResolver<TSource, TContext> | ObjectFieldConfig<TSource, TContext>;
17
- }
18
- export type ObjectPlan<TSource = any, TContext = any> = {
19
- __assertStep?: ((step: ExecutableStep) => asserts step is ExecutableStep) | {
20
- new (...args: any[]): ExecutableStep;
21
- };
22
- __scope?: GraphileBuild.ScopeObject;
23
- } & {
24
- [key: string]: FieldPlanResolver<any, any, any> | ObjectFieldConfig<TSource, TContext>;
25
9
  };
10
+ export interface ObjectPlan<TSource extends Step = Step> extends GrafastObjectPlan<TSource> {
11
+ __scope?: GraphileBuild.ScopeObject;
12
+ }
26
13
  export type EnumResolver = {
27
14
  __scope?: GraphileBuild.ScopeEnum;
28
15
  } & {
@@ -30,25 +17,34 @@ export type EnumResolver = {
30
17
  };
31
18
  export interface TypeResolver {
32
19
  __resolveType?: GraphQLTypeResolver<any, any>;
20
+ __toSpecifier?($step: Step): Step;
21
+ __planType?($specifier: Step, info: PlanTypeInfo): AbstractTypePlanner;
33
22
  __scope?: GraphileBuild.ScopeUnion | GraphileBuild.ScopeInterface;
34
23
  }
35
24
  export interface InputObjectResolver {
36
25
  __scope?: GraphileBuild.ScopeInputObject;
37
26
  }
38
- /** @deprecated Use Plans instead */
39
- export interface Resolvers<TSource = any, TContext = any> {
40
- [key: string]: ObjectResolver<TSource, TContext> | EnumResolver | TypeResolver | InputObjectResolver | GraphQLScalarType | (GraphQLScalarTypeConfig<any, any> & {
27
+ /** @deprecated Use objects/scalars/etc instead */
28
+ export interface Resolvers {
29
+ [typeName: string]: ObjectResolver | EnumResolver | TypeResolver | InputObjectResolver | GraphQLScalarType | (GraphQLScalarTypeConfig<any, any> & {
41
30
  __scope?: GraphileBuild.ScopeScalar;
42
31
  });
43
32
  }
44
- export interface Plans<TSource = any, TContext = any> {
45
- [key: string]: ObjectPlan<TSource, TContext> | EnumResolver | GraphQLScalarType | GraphQLScalarTypeConfig<any, any>;
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
+ });
46
44
  }
47
- export interface ExtensionDefinition {
48
- typeDefs: DocumentNode | DocumentNode[];
45
+ export interface ExtensionDefinition extends Pick<GrafastSchemaConfig, "typeDefs" | "plans" | "scalars" | "enums" | "objects" | "unions" | "interfaces" | "inputObjects"> {
49
46
  /** @deprecated Use 'plans' instead */
50
47
  resolvers?: Resolvers;
51
- plans?: Plans;
52
48
  }
53
49
  type ParentConstructors<T> = {
54
50
  new (...args: any[]): T;
@@ -1 +1 @@
1
- {"version":3,"file":"makeExtendSchemaPlugin.d.ts","sourceRoot":"","sources":["../src/makeExtendSchemaPlugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"makeExtendSchemaPlugin.d.ts","sourceRoot":"","sources":["../src/makeExtendSchemaPlugin.ts"],"names":[],"mappings":"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"}
@@ -21,8 +21,8 @@ function makeExtendSchemaPlugin(generator, uniquePluginName = `ExtendSchemaPlugi
21
21
  return build;
22
22
  },
23
23
  init(_, build, _context) {
24
- const { GraphQLDirective, GraphQLEnumType, GraphQLError, GraphQLInputObjectType, GraphQLInterfaceType, GraphQLObjectType, GraphQLScalarType, GraphQLUnionType, Kind, } = graphql;
25
- const { typeDefs, resolvers = Object.create(null), plans = Object.create(null), } = typeof generator === "function"
24
+ const { GraphQLDirective, GraphQLEnumType, GraphQLError, GraphQLInputObjectType, GraphQLInterfaceType, GraphQLObjectType, GraphQLScalarType, GraphQLUnionType, Kind, parse, } = graphql;
25
+ const { typeDefs, resolvers = Object.create(null), plans: rawPlans, enums, scalars, inputObjects, interfaces, unions, objects, } = typeof generator === "function"
26
26
  ? generator.length === 1
27
27
  ? generator(build)
28
28
  : /* TODO: DELETE THIS! */
@@ -31,14 +31,22 @@ function makeExtendSchemaPlugin(generator, uniquePluginName = `ExtendSchemaPlugi
31
31
  if (typeDefs == null) {
32
32
  throw new Error("The first argument to makeExtendSchemaPlugin must be an object containing a `typeDefs` field.");
33
33
  }
34
- const typeDefsArr = Array.isArray(typeDefs) ? typeDefs : [typeDefs];
35
- const mergedTypeDefinitions = typeDefsArr.reduce((definitions, typeDef) => {
36
- if (!typeDef || typeDef.kind !== "Document") {
37
- throw new Error('The first argument to makeExtendSchemaPlugin must be an object containing a `typeDefs` field; the value for this field must be generated by the `gql` helper (`import { gql, makeExtendSchemaPlugin } from "postgraphile/utils"`), or be an array of the same.');
38
- }
39
- definitions.push(...typeDef.definitions);
40
- return definitions;
41
- }, []);
34
+ const document = typeof typeDefs === "string"
35
+ ? parse(typeDefs)
36
+ : Array.isArray(typeDefs)
37
+ ? {
38
+ kind: graphql.Kind.DOCUMENT,
39
+ definitions: typeDefs.flatMap((t) => {
40
+ if (!t || t.kind !== "Document") {
41
+ throw new Error('The first argument to makeExtendSchemaPlugin must be an object containing a `typeDefs` field; the value for this field must be generated by the `gql` helper (`import { gql, makeExtendSchemaPlugin } from "postgraphile/utils"`), or be an array of the same.');
42
+ }
43
+ return t.definitions;
44
+ }),
45
+ }
46
+ : typeDefs;
47
+ if (!document || document.kind !== "Document") {
48
+ throw new Error('The first argument to makeExtendSchemaPlugin must be an object containing a `typeDefs` field; the value for this field must be generated by the `gql` helper (`import { gql, makeExtendSchemaPlugin } from "postgraphile/utils"`), or be an array of the same.');
49
+ }
42
50
  const typeExtensions = {
43
51
  GraphQLSchema: {
44
52
  directives: [],
@@ -49,7 +57,7 @@ function makeExtendSchemaPlugin(generator, uniquePluginName = `ExtendSchemaPlugi
49
57
  GraphQLInterfaceType: {},
50
58
  };
51
59
  const newTypes = [];
52
- mergedTypeDefinitions.forEach((definition) => {
60
+ document.definitions.forEach((definition) => {
53
61
  if (definition.kind === "EnumTypeDefinition") {
54
62
  newTypes.push({
55
63
  type: GraphQLEnumType,
@@ -120,6 +128,161 @@ function makeExtendSchemaPlugin(generator, uniquePluginName = `ExtendSchemaPlugi
120
128
  throw new Error(`Unexpected '${definition.kind}' definition; we were expecting 'GraphQLEnumType', 'ObjectTypeExtension', 'InputObjectTypeExtension', 'ObjectTypeDefinition' or 'InputObjectTypeDefinition', i.e. something like 'extend type Foo { ... }'`);
121
129
  }
122
130
  });
131
+ let plans;
132
+ if (rawPlans) {
133
+ if (objects ||
134
+ unions ||
135
+ interfaces ||
136
+ inputObjects ||
137
+ scalars ||
138
+ enums) {
139
+ throw new Error(`plans is deprecated and may not be specified alongside newer approaches`);
140
+ }
141
+ plans = rawPlans;
142
+ }
143
+ else {
144
+ // Hackily convert the new format into the old format. We'll do away with
145
+ // this in future, but for now it's the easiest way to ensure compatibility
146
+ plans = {};
147
+ const definitionNodes = document.definitions.filter((d) => d.kind === Kind.OBJECT_TYPE_DEFINITION ||
148
+ d.kind === Kind.INTERFACE_TYPE_DEFINITION ||
149
+ d.kind === Kind.UNION_TYPE_DEFINITION ||
150
+ d.kind === Kind.INPUT_OBJECT_TYPE_DEFINITION ||
151
+ d.kind === Kind.ENUM_TYPE_DEFINITION ||
152
+ d.kind === Kind.SCALAR_TYPE_DEFINITION ||
153
+ d.kind === Kind.OBJECT_TYPE_EXTENSION ||
154
+ d.kind === Kind.INTERFACE_TYPE_EXTENSION ||
155
+ d.kind === Kind.UNION_TYPE_EXTENSION ||
156
+ d.kind === Kind.INPUT_OBJECT_TYPE_EXTENSION ||
157
+ d.kind === Kind.ENUM_TYPE_EXTENSION ||
158
+ d.kind === Kind.SCALAR_TYPE_EXTENSION);
159
+ const assertLocation = (typeName, expectedLocation) => {
160
+ const nodes = definitionNodes.filter((n) => n.name.value === typeName);
161
+ const node = nodes[0];
162
+ if (!node) {
163
+ throw new Error(`You detailed '${expectedLocation}.${typeName}', but the '${typeName}' type is not defined or extended in your 'typeDefs'.`);
164
+ }
165
+ const [description, attr, names = []] = (() => {
166
+ if (node.kind === Kind.OBJECT_TYPE_EXTENSION ||
167
+ node.kind === Kind.OBJECT_TYPE_DEFINITION) {
168
+ return [
169
+ "an object type",
170
+ "objects",
171
+ nodes
172
+ .flatMap((n) => n.fields?.map((f) => f.name.value))
173
+ .filter(isNotNullish),
174
+ ];
175
+ }
176
+ else if (node.kind === Kind.INTERFACE_TYPE_EXTENSION ||
177
+ node.kind === Kind.INTERFACE_TYPE_DEFINITION) {
178
+ return ["an interface type", "interfaces"];
179
+ }
180
+ else if (node.kind === Kind.UNION_TYPE_EXTENSION ||
181
+ node.kind === Kind.UNION_TYPE_DEFINITION) {
182
+ return ["a union type", "unions"];
183
+ }
184
+ else if (node.kind === Kind.INPUT_OBJECT_TYPE_EXTENSION ||
185
+ node.kind === Kind.INPUT_OBJECT_TYPE_DEFINITION) {
186
+ return [
187
+ "an input object type",
188
+ "inputObjects",
189
+ nodes
190
+ .flatMap((n) => n.fields?.map((f) => f.name.value))
191
+ .filter(isNotNullish),
192
+ ];
193
+ }
194
+ else if (node.kind === Kind.SCALAR_TYPE_EXTENSION ||
195
+ node.kind === Kind.SCALAR_TYPE_DEFINITION) {
196
+ return ["a scalar type", "scalars"];
197
+ }
198
+ else if (node.kind === Kind.ENUM_TYPE_EXTENSION ||
199
+ node.kind === Kind.ENUM_TYPE_DEFINITION) {
200
+ return [
201
+ "an enum type",
202
+ "enums",
203
+ nodes
204
+ .flatMap((n) => n.values?.map((f) => f.name.value))
205
+ .filter(isNotNullish),
206
+ ];
207
+ }
208
+ else {
209
+ throw new Error(`Type ${typeName} not understood`);
210
+ }
211
+ })();
212
+ if (expectedLocation !== attr) {
213
+ throw new Error(`You defined '${typeName}' under '${expectedLocation}', but it is ${description} so it should be defined under '${attr}'.`);
214
+ }
215
+ return names;
216
+ };
217
+ for (const [typeName, spec] of Object.entries(objects ?? {})) {
218
+ const fields = assertLocation(typeName, "objects");
219
+ const o = {};
220
+ plans[typeName] = o;
221
+ const { plans: planResolvers = {}, ...rest } = spec;
222
+ for (const [key, val] of Object.entries(rest)) {
223
+ o[`__${key}`] = val;
224
+ }
225
+ for (const [key, val] of Object.entries(planResolvers)) {
226
+ if (!fields.includes(key)) {
227
+ throw new Error(`Object type '${typeName}' field '${key}' was not defined in this plugin.`);
228
+ }
229
+ o[key] = val;
230
+ }
231
+ }
232
+ for (const [typeName, spec] of Object.entries(inputObjects ?? {})) {
233
+ const fields = assertLocation(typeName, "inputObjects");
234
+ const o = {};
235
+ plans[typeName] = o;
236
+ const { plans: planResolvers = {}, ...rest } = spec;
237
+ for (const [key, val] of Object.entries(rest)) {
238
+ o[`__${key}`] = val;
239
+ }
240
+ for (const [key, val] of Object.entries(planResolvers)) {
241
+ if (!fields.includes(key)) {
242
+ throw new Error(`Input object type '${typeName}' field '${key}' was not defined in this plugin.`);
243
+ }
244
+ o[key] = val;
245
+ }
246
+ }
247
+ for (const [typeName, spec] of Object.entries(unions ?? {})) {
248
+ assertLocation(typeName, "unions");
249
+ const o = {};
250
+ plans[typeName] = o;
251
+ for (const [key, val] of Object.entries(spec)) {
252
+ o[`__${key}`] = val;
253
+ }
254
+ }
255
+ for (const [typeName, spec] of Object.entries(interfaces ?? {})) {
256
+ assertLocation(typeName, "interfaces");
257
+ const o = {};
258
+ plans[typeName] = o;
259
+ for (const [key, val] of Object.entries(spec)) {
260
+ o[`__${key}`] = val;
261
+ }
262
+ }
263
+ for (const [typeName, spec] of Object.entries(scalars ?? {})) {
264
+ assertLocation(typeName, "scalars");
265
+ plans[typeName] = spec;
266
+ }
267
+ for (const [typeName, spec] of Object.entries(enums ?? {})) {
268
+ const enumValues = assertLocation(typeName, "enums");
269
+ const o = {};
270
+ plans[typeName] = o;
271
+ const { values = {}, ...rest } = spec;
272
+ if ("plans" in rest) {
273
+ throw new Error(`Enum type '${typeName}' cannot have field plans, please use 'values'.`);
274
+ }
275
+ for (const [key, val] of Object.entries(rest)) {
276
+ o[`__${key}`] = val;
277
+ }
278
+ for (const [key, val] of Object.entries(values)) {
279
+ if (!enumValues.includes(key)) {
280
+ throw new Error(`Enum type '${typeName}' value '${key}' was not defined in this plugin.`);
281
+ }
282
+ o[key] = val;
283
+ }
284
+ }
285
+ }
123
286
  build.makeExtendSchemaPlugin[uniquePluginName] = {
124
287
  typeExtensions,
125
288
  newTypes,
@@ -177,11 +340,12 @@ function makeExtendSchemaPlugin(generator, uniquePluginName = `ExtendSchemaPlugi
177
340
  const name = getName(definition.name);
178
341
  const description = getDescription(definition.description);
179
342
  const directives = getDirectives(definition.directives);
343
+ const p = (plans[name] ?? {});
180
344
  const scope = {
181
345
  __origin: `makeExtendSchemaPlugin`,
182
346
  directives,
183
347
  ...scopeFromDirectives(directives),
184
- ...plans[name]?.__scope,
348
+ ...p.__scope,
185
349
  };
186
350
  build.registerObjectType(name, scope, () => ({
187
351
  interfaces: () => getInterfaces(definition.interfaces, build),
@@ -191,11 +355,17 @@ function makeExtendSchemaPlugin(generator, uniquePluginName = `ExtendSchemaPlugi
191
355
  description,
192
356
  }
193
357
  : null),
194
- ...(plans?.[name]?.__assertStep
358
+ ...(p.__isTypeOf
359
+ ? {
360
+ isTypeOf: p.__isTypeOf,
361
+ }
362
+ : null),
363
+ ...(p.__assertStep || p.__planType
195
364
  ? {
196
365
  extensions: {
197
366
  grafast: {
198
- assertStep: plans[name].__assertStep,
367
+ assertStep: p.__assertStep,
368
+ planType: p.__planType,
199
369
  },
200
370
  },
201
371
  }
@@ -229,14 +399,21 @@ function makeExtendSchemaPlugin(generator, uniquePluginName = `ExtendSchemaPlugi
229
399
  const name = getName(definition.name);
230
400
  const description = getDescription(definition.description);
231
401
  const directives = getDirectives(definition.directives);
402
+ const tp = plans[name];
403
+ const tr = resolvers[name];
404
+ if (tp && tr) {
405
+ throw new Error(`You must set only plans.${name} or resolvers.${name} - not both!`);
406
+ }
407
+ const t = tp ?? tr;
232
408
  const scope = {
233
409
  __origin: `makeExtendSchemaPlugin`,
234
410
  directives,
235
411
  ...scopeFromDirectives(directives),
236
- ...plans[name]?.__scope,
412
+ ...t?.__scope,
237
413
  };
238
- const resolveType = resolvers[name]
239
- ?.__resolveType;
414
+ const resolveType = t?.__resolveType;
415
+ const toSpecifier = t?.__toSpecifier;
416
+ const planType = t?.__planType;
240
417
  build.registerUnionType(name, scope, () => ({
241
418
  types: () => {
242
419
  if (Array.isArray(definition.types)) {
@@ -252,6 +429,8 @@ function makeExtendSchemaPlugin(generator, uniquePluginName = `ExtendSchemaPlugi
252
429
  }
253
430
  },
254
431
  ...(resolveType ? { resolveType } : null),
432
+ ...(toSpecifier ? { toSpecifier } : null),
433
+ ...(planType ? { planType } : null),
255
434
  ...(description ? { description } : null),
256
435
  }), uniquePluginName);
257
436
  }
@@ -261,16 +440,25 @@ function makeExtendSchemaPlugin(generator, uniquePluginName = `ExtendSchemaPlugi
261
440
  const name = getName(definition.name);
262
441
  const description = getDescription(definition.description);
263
442
  const directives = getDirectives(definition.directives);
443
+ const tp = plans[name];
444
+ const tr = resolvers[name];
445
+ if (tp && tr) {
446
+ throw new Error(`You must set only plans.${name} or resolvers.${name} - not both!`);
447
+ }
448
+ const t = tp ?? tr;
264
449
  const scope = {
265
450
  __origin: `makeExtendSchemaPlugin`,
266
451
  directives,
267
452
  ...scopeFromDirectives(directives),
268
- ...plans[name]?.__scope,
453
+ ...t?.__scope,
269
454
  };
270
- const resolveType = resolvers[name]
271
- ?.__resolveType;
455
+ const resolveType = t?.__resolveType;
456
+ const toSpecifier = t?.__toSpecifier;
457
+ const planType = t?.__planType;
272
458
  build.registerInterfaceType(name, scope, () => ({
273
459
  ...(resolveType ? { resolveType } : null),
460
+ ...(toSpecifier ? { toSpecifier } : null),
461
+ ...(planType ? { planType } : null),
274
462
  ...(description ? { description } : null),
275
463
  fields: (fieldsContext) => getFields(fieldsContext.Self, definition.fields, Object.create(null), // Interface doesn't need resolvers
276
464
  Object.create(null), // Interface doesn't need resolvers
@@ -712,4 +900,7 @@ function scopeFromDirectives(directives) {
712
900
  .reduce((memo, a) => Object.assign(memo, a), Object.create(null)),
713
901
  };
714
902
  }
903
+ function isNotNullish(v) {
904
+ return v != null;
905
+ }
715
906
  //# sourceMappingURL=makeExtendSchemaPlugin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"makeExtendSchemaPlugin.js","sourceRoot":"","sources":["../src/makeExtendSchemaPlugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"makeExtendSchemaPlugin.js","sourceRoot":"","sources":["../src/makeExtendSchemaPlugin.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@ export interface PlanWrapperRules {
13
13
  };
14
14
  }
15
15
  export type PlanWrapperRulesGenerator = (build: Partial<GraphileBuild.Build> & GraphileBuild.BuildBase) => PlanWrapperRules;
16
- export type PlanWrapperFilter<T> = (context: GraphileBuild.ContextObjectFieldsField, build: GraphileBuild.Build, field: GrafastFieldConfig<any, any, any, any>) => T | null;
16
+ export type PlanWrapperFilter<T> = (context: GraphileBuild.ContextObjectFieldsField, build: GraphileBuild.Build, field: GrafastFieldConfig<any, any, any>) => T | null;
17
17
  export type PlanWrapperFilterRule<T> = (match: T) => PlanWrapperRule | PlanWrapperFn;
18
18
  export declare function makeWrapPlansPlugin(rulesOrGenerator: PlanWrapperRules | PlanWrapperRulesGenerator): GraphileConfig.Plugin;
19
19
  export declare function makeWrapPlansPlugin<T>(filter: PlanWrapperFilter<T>, rule: PlanWrapperFilterRule<T>): GraphileConfig.Plugin;
@@ -1 +1 @@
1
- {"version":3,"file":"makeWrapPlansPlugin.d.ts","sourceRoot":"","sources":["../src/makeWrapPlansPlugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,SAAS,EACT,SAAS,EACT,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAEjB,KAAK,UAAU,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC;AAEhD,KAAK,sBAAsB,GAAG,CAC5B,GAAG,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,KAC9D,UAAU,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAElD,MAAM,MAAM,aAAa,GAAG,CAC1B,IAAI,EAAE,sBAAsB,EAE5B,OAAO,EAAE,OAAO,SAAS,EAAE,cAAc,EACzC,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,SAAS,KACZ,GAAG,CAAC;AAET,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,aAAa,CAAC;CAEtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,CAAC,QAAQ,EAAE,MAAM,GAAG;QAClB,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,GAAG,aAAa,CAAC;KACtD,CAAC;CACH;AAED,MAAM,MAAM,yBAAyB,GAAG,CACtC,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC,SAAS,KAC1D,gBAAgB,CAAC;AAEtB,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,CACjC,OAAO,EAAE,aAAa,CAAC,wBAAwB,EAC/C,KAAK,EAAE,aAAa,CAAC,KAAK,EAC1B,KAAK,EAAE,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,KAC1C,CAAC,GAAG,IAAI,CAAC;AAEd,MAAM,MAAM,qBAAqB,CAAC,CAAC,IAAI,CACrC,KAAK,EAAE,CAAC,KACL,eAAe,GAAG,aAAa,CAAC;AAIrC,wBAAgB,mBAAmB,CACjC,gBAAgB,EAAE,gBAAgB,GAAG,yBAAyB,GAC7D,cAAc,CAAC,MAAM,CAAC;AACzB,wBAAgB,mBAAmB,CAAC,CAAC,EACnC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC5B,IAAI,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAC7B,cAAc,CAAC,MAAM,CAAC"}
1
+ {"version":3,"file":"makeWrapPlansPlugin.d.ts","sourceRoot":"","sources":["../src/makeWrapPlansPlugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,SAAS,EACT,SAAS,EACT,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAEjB,KAAK,UAAU,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC;AAEhD,KAAK,sBAAsB,GAAG,CAC5B,GAAG,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,KAC9D,UAAU,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAElD,MAAM,MAAM,aAAa,GAAG,CAC1B,IAAI,EAAE,sBAAsB,EAE5B,OAAO,EAAE,OAAO,SAAS,EAAE,cAAc,EACzC,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,SAAS,KACZ,GAAG,CAAC;AAET,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,aAAa,CAAC;CAEtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,CAAC,QAAQ,EAAE,MAAM,GAAG;QAClB,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,GAAG,aAAa,CAAC;KACtD,CAAC;CACH;AAED,MAAM,MAAM,yBAAyB,GAAG,CACtC,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC,SAAS,KAC1D,gBAAgB,CAAC;AAEtB,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,CACjC,OAAO,EAAE,aAAa,CAAC,wBAAwB,EAC/C,KAAK,EAAE,aAAa,CAAC,KAAK,EAC1B,KAAK,EAAE,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,KACrC,CAAC,GAAG,IAAI,CAAC;AAEd,MAAM,MAAM,qBAAqB,CAAC,CAAC,IAAI,CACrC,KAAK,EAAE,CAAC,KACL,eAAe,GAAG,aAAa,CAAC;AAIrC,wBAAgB,mBAAmB,CACjC,gBAAgB,EAAE,gBAAgB,GAAG,yBAAyB,GAC7D,cAAc,CAAC,MAAM,CAAC;AACzB,wBAAgB,mBAAmB,CAAC,CAAC,EACnC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC5B,IAAI,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAC7B,cAAc,CAAC,MAAM,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "graphile-utils",
3
- "version": "5.0.0-beta.38",
3
+ "version": "5.0.0-beta.39",
4
4
  "description": "Utilities to help with building graphile-build plugins",
5
5
  "type": "commonjs",
6
6
  "main": "dist/index.js",
@@ -39,19 +39,19 @@
39
39
  "dependencies": {
40
40
  "debug": "^4.3.4",
41
41
  "json5": "^2.2.3",
42
- "tslib": "^2.6.2"
42
+ "tslib": "^2.8.1"
43
43
  },
44
44
  "engines": {
45
45
  "node": ">=14.17"
46
46
  },
47
47
  "peerDependencies": {
48
- "@dataplan/pg": "^0.0.1-beta.32",
49
- "grafast": "^0.1.1-beta.21",
50
- "graphile-build": "^5.0.0-beta.33",
51
- "graphile-build-pg": "^5.0.0-beta.38",
52
- "graphile-config": "^0.0.1-beta.15",
48
+ "@dataplan/pg": "^0.0.1-beta.33",
49
+ "grafast": "^0.1.1-beta.22",
50
+ "graphile-build": "^5.0.0-beta.34",
51
+ "graphile-build-pg": "^5.0.0-beta.39",
52
+ "graphile-config": "^0.0.1-beta.16",
53
53
  "graphql": "^16.1.0-experimental-stream-defer.6",
54
- "tamedevil": "^0.0.0-beta.7"
54
+ "tamedevil": "^0.0.0-beta.8"
55
55
  },
56
56
  "peerDependenciesMeta": {
57
57
  "@dataplan/pg": {
@@ -62,14 +62,14 @@
62
62
  }
63
63
  },
64
64
  "devDependencies": {
65
- "graphile-build": "^5.0.0-beta.33",
66
- "graphile-build-pg": "^5.0.0-beta.38",
65
+ "graphile-build": "^5.0.0-beta.34",
66
+ "graphile-build-pg": "^5.0.0-beta.39",
67
67
  "jest": "^29.6.4",
68
- "jest-serializer-graphql-schema": "^5.0.0-beta.3",
68
+ "jest-serializer-graphql-schema": "^5.0.0-beta.4",
69
69
  "nodemon": "^3.0.1",
70
- "postgraphile": "^5.0.0-beta.39",
70
+ "postgraphile": "^5.0.0-beta.41",
71
71
  "ts-node": "^10.9.1",
72
- "typescript": "^5.2.2"
72
+ "typescript": "^5.8.3"
73
73
  },
74
74
  "files": [
75
75
  "dist",