graphile-build-pg 5.0.0-alpha.11 → 5.0.0-alpha.13

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.
Files changed (64) hide show
  1. package/CHANGELOG.md +164 -0
  2. package/README.md +1 -3
  3. package/dist/index.d.ts +1 -0
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +3 -1
  6. package/dist/index.js.map +1 -1
  7. package/dist/pgServices.d.ts +4 -0
  8. package/dist/pgServices.d.ts.map +1 -1
  9. package/dist/pgServices.js +16 -6
  10. package/dist/pgServices.js.map +1 -1
  11. package/dist/plugins/PgAttributesPlugin.d.ts.map +1 -1
  12. package/dist/plugins/PgAttributesPlugin.js +71 -61
  13. package/dist/plugins/PgAttributesPlugin.js.map +1 -1
  14. package/dist/plugins/PgBasicsPlugin.d.ts +7 -2
  15. package/dist/plugins/PgBasicsPlugin.d.ts.map +1 -1
  16. package/dist/plugins/PgBasicsPlugin.js +7 -1
  17. package/dist/plugins/PgBasicsPlugin.js.map +1 -1
  18. package/dist/plugins/PgCodecsPlugin.d.ts.map +1 -1
  19. package/dist/plugins/PgCodecsPlugin.js +12 -8
  20. package/dist/plugins/PgCodecsPlugin.js.map +1 -1
  21. package/dist/plugins/PgConditionArgumentPlugin.d.ts.map +1 -1
  22. package/dist/plugins/PgConditionArgumentPlugin.js +3 -2
  23. package/dist/plugins/PgConditionArgumentPlugin.js.map +1 -1
  24. package/dist/plugins/PgCustomTypeFieldPlugin.d.ts +3 -0
  25. package/dist/plugins/PgCustomTypeFieldPlugin.d.ts.map +1 -1
  26. package/dist/plugins/PgCustomTypeFieldPlugin.js +37 -9
  27. package/dist/plugins/PgCustomTypeFieldPlugin.js.map +1 -1
  28. package/dist/plugins/PgInterfaceModeUnionAllRowsPlugin.d.ts.map +1 -1
  29. package/dist/plugins/PgInterfaceModeUnionAllRowsPlugin.js +4 -1
  30. package/dist/plugins/PgInterfaceModeUnionAllRowsPlugin.js.map +1 -1
  31. package/dist/plugins/PgMutationCreatePlugin.js +2 -1
  32. package/dist/plugins/PgMutationCreatePlugin.js.map +1 -1
  33. package/dist/plugins/PgMutationPayloadEdgePlugin.d.ts.map +1 -1
  34. package/dist/plugins/PgMutationPayloadEdgePlugin.js +6 -2
  35. package/dist/plugins/PgMutationPayloadEdgePlugin.js.map +1 -1
  36. package/dist/plugins/PgMutationUpdateDeletePlugin.d.ts.map +1 -1
  37. package/dist/plugins/PgMutationUpdateDeletePlugin.js +28 -26
  38. package/dist/plugins/PgMutationUpdateDeletePlugin.js.map +1 -1
  39. package/dist/plugins/PgNodeIdAttributesPlugin.d.ts +21 -0
  40. package/dist/plugins/PgNodeIdAttributesPlugin.d.ts.map +1 -0
  41. package/dist/plugins/PgNodeIdAttributesPlugin.js +130 -0
  42. package/dist/plugins/PgNodeIdAttributesPlugin.js.map +1 -0
  43. package/dist/plugins/PgOrderAllAttributesPlugin.js +3 -3
  44. package/dist/plugins/PgOrderAllAttributesPlugin.js.map +1 -1
  45. package/dist/plugins/PgPolymorphismPlugin.d.ts.map +1 -1
  46. package/dist/plugins/PgPolymorphismPlugin.js +3 -4
  47. package/dist/plugins/PgPolymorphismPlugin.js.map +1 -1
  48. package/dist/plugins/PgProceduresPlugin.d.ts +1 -1
  49. package/dist/plugins/PgProceduresPlugin.d.ts.map +1 -1
  50. package/dist/plugins/PgProceduresPlugin.js +5 -4
  51. package/dist/plugins/PgProceduresPlugin.js.map +1 -1
  52. package/dist/plugins/PgRelationsPlugin.d.ts +3 -0
  53. package/dist/plugins/PgRelationsPlugin.d.ts.map +1 -1
  54. package/dist/plugins/PgRelationsPlugin.js +23 -9
  55. package/dist/plugins/PgRelationsPlugin.js.map +1 -1
  56. package/dist/plugins/PgTablesPlugin.js +3 -2
  57. package/dist/plugins/PgTablesPlugin.js.map +1 -1
  58. package/dist/plugins/PgTypesPlugin.d.ts.map +1 -1
  59. package/dist/plugins/PgTypesPlugin.js +4 -3
  60. package/dist/plugins/PgTypesPlugin.js.map +1 -1
  61. package/dist/preset.d.ts.map +1 -1
  62. package/dist/preset.js +2 -0
  63. package/dist/preset.js.map +1 -1
  64. package/package.json +12 -11
package/CHANGELOG.md CHANGED
@@ -1,5 +1,169 @@
1
1
  # graphile-build-pg
2
2
 
3
+ ## 5.0.0-alpha.13
4
+
5
+ ### Patch Changes
6
+
7
+ - [#402](https://github.com/benjie/postgraphile-private/pull/402)
8
+ [`70b2c3900`](https://github.com/benjie/postgraphile-private/commit/70b2c3900cd29d241e968fc81d6279848fafb9ae)
9
+ Thanks [@benjie](https://github.com/benjie)! - pgCodecAttribute behavior now
10
+ uses attributeName rather than attribute spec in the callback (BREAKING)
11
+
12
+ - [#402](https://github.com/benjie/postgraphile-private/pull/402)
13
+ [`37d829b89`](https://github.com/benjie/postgraphile-private/commit/37d829b8912fb3d2b7e1aa99d2314444d136971d)
14
+ Thanks [@benjie](https://github.com/benjie)! - Ability to control whether the
15
+ nodeId or regular column CRUD mutations are used
16
+
17
+ - [#402](https://github.com/benjie/postgraphile-private/pull/402)
18
+ [`ff91a5660`](https://github.com/benjie/postgraphile-private/commit/ff91a5660c5a33ab32555ab3da12f880179d9892)
19
+ Thanks [@benjie](https://github.com/benjie)! - Added
20
+ `postgraphile/presets/relay` preset:
21
+
22
+ - Hides primary key columns from output schema, and includes `id: ID` instead
23
+ - Hides foreign key columns from output schema, expecting you to use the
24
+ relation instead
25
+ - Hides columns that are part of the primary key from update/delete mutations
26
+ (but still present for create if the column is writeable - it shouldn't be)
27
+ - Hides columns that are part of a foreign key from CRUD mutations/filters,
28
+ instead exposes the `ID` for the remote side of the relation
29
+ - Does not allow ordering by individual primary key columns (though you can
30
+ still order by `PRIMARY_KEY_ASC`/`DESC`)
31
+ - Does not allow ordering by individual foreign key columns
32
+ - Turns off the row fetchers that don't use the node `ID`
33
+ - Turns off the CRUD mutations that don't use the node `ID`
34
+ - Functions can now use `@arg0variant nodeId` to indicate the first argument
35
+ (increase the `0` for other arguments) should accept a node `ID` (this
36
+ currently only works where the argument type is a table type)
37
+ - Removes relations from mutation payloads, these should be traversed via the
38
+ record instead (they're redundant)
39
+
40
+ Most of these changes are reversible, so for example if you really want to
41
+ turn back on `Query.userByUsername` you can do so by adding the `+connection`
42
+ behavior to the "unique username" constraint on the `users` table.
43
+
44
+ - [#402](https://github.com/benjie/postgraphile-private/pull/402)
45
+ [`644938276`](https://github.com/benjie/postgraphile-private/commit/644938276ebd48c5486ba9736a525fcc66d7d714)
46
+ Thanks [@benjie](https://github.com/benjie)! - Use `file://` URLs in import()
47
+ to fix compatibility with Windows (e.g. when loading `graphile.config.mjs`)
48
+
49
+ - [#402](https://github.com/benjie/postgraphile-private/pull/402)
50
+ [`339cb005e`](https://github.com/benjie/postgraphile-private/commit/339cb005ed91aa8d421cdacd934877aee32e3f23)
51
+ Thanks [@benjie](https://github.com/benjie)! - Remove relations from mutation
52
+ payloads (unless using V4 preset) - they're redundant.
53
+ - Updated dependencies
54
+ [[`644938276`](https://github.com/benjie/postgraphile-private/commit/644938276ebd48c5486ba9736a525fcc66d7d714),
55
+ [`47365f0df`](https://github.com/benjie/postgraphile-private/commit/47365f0df2644fd91839a6698998e1463df8de79)]:
56
+ - graphile-build@5.0.0-alpha.12
57
+ - graphile-config@0.0.1-alpha.5
58
+ - @dataplan/pg@0.0.1-alpha.12
59
+ - grafast@0.0.1-alpha.11
60
+
61
+ ## 5.0.0-alpha.12
62
+
63
+ ### Patch Changes
64
+
65
+ - [#399](https://github.com/benjie/postgraphile-private/pull/399)
66
+ [`409581534`](https://github.com/benjie/postgraphile-private/commit/409581534f41ac2cf0ff21c77c2bcd8eaa8218fd)
67
+ Thanks [@benjie](https://github.com/benjie)! - Change many of the dependencies
68
+ to be instead (or also) peerDependencies, to avoid duplicate modules.
69
+
70
+ - [#396](https://github.com/benjie/postgraphile-private/pull/396)
71
+ [`17fe531d7`](https://github.com/benjie/postgraphile-private/commit/17fe531d729e88a7126b0e2e06fc1ee9ab3ac5b8)
72
+ Thanks [@benjie](https://github.com/benjie)! - pgUnionAll uses a slightly more
73
+ optimal SQL (where JSON isn't cast to `::text` and then back to `::json`)
74
+
75
+ - [#376](https://github.com/benjie/postgraphile-private/pull/376)
76
+ [`326aa99cd`](https://github.com/benjie/postgraphile-private/commit/326aa99cd5e6b5cc8f30e4500382738eb63b792d)
77
+ Thanks [@benjie](https://github.com/benjie)! - Can now give constraints
78
+ separate forward/backward behaviors
79
+
80
+ - [#400](https://github.com/benjie/postgraphile-private/pull/400)
81
+ [`9238d3ce4`](https://github.com/benjie/postgraphile-private/commit/9238d3ce4f6f59295ba849d6325286e4847c1bac)
82
+ Thanks [@benjie](https://github.com/benjie)! - Use `file://` URLs in import()
83
+ to fix compatibility with Windows (e.g. when loading `graphile.config.mjs`).
84
+
85
+ - [#396](https://github.com/benjie/postgraphile-private/pull/396)
86
+ [`b5eb7c490`](https://github.com/benjie/postgraphile-private/commit/b5eb7c490305b869e1bfc176a5a417e28f1411cd)
87
+ Thanks [@benjie](https://github.com/benjie)! - Cursor pagination over nullable
88
+ columns _should_ now work, although it is untested.
89
+
90
+ - [#399](https://github.com/benjie/postgraphile-private/pull/399)
91
+ [`976958e80`](https://github.com/benjie/postgraphile-private/commit/976958e80c791819cd80e96df8209dcff1918585)
92
+ Thanks [@benjie](https://github.com/benjie)! - Plugins can now use
93
+ build.grafast rather than adding grafast as a peerDependency.
94
+
95
+ - [#396](https://github.com/benjie/postgraphile-private/pull/396)
96
+ [`7573bf374`](https://github.com/benjie/postgraphile-private/commit/7573bf374897228b613b19f37b4e076737db3279)
97
+ Thanks [@benjie](https://github.com/benjie)! - Address a decent number of
98
+ TODO/FIXME/etc comments in the codebase.
99
+
100
+ - [#378](https://github.com/benjie/postgraphile-private/pull/378)
101
+ [`95b2ab41e`](https://github.com/benjie/postgraphile-private/commit/95b2ab41e41976de852276b83f7fb5924555e7c5)
102
+ Thanks [@benjie](https://github.com/benjie)! - Support for nested arrays via
103
+ PostgreSQL domains.
104
+
105
+ - [#383](https://github.com/benjie/postgraphile-private/pull/383)
106
+ [`2c8586b36`](https://github.com/benjie/postgraphile-private/commit/2c8586b367b76af91d1785cc90455c70911fdec7)
107
+ Thanks [@benjie](https://github.com/benjie)! - Change
108
+ 'objectType.extensions.grafast.Step' to
109
+ 'objectType.extensions.grafast.assertStep', accept it via object spec,
110
+ deprecate registerObjectType form that accepts it (pass via object spec
111
+ instead), improve typings around it.
112
+
113
+ - [#378](https://github.com/benjie/postgraphile-private/pull/378)
114
+ [`6f545683c`](https://github.com/benjie/postgraphile-private/commit/6f545683c981af4ee40d51b272a053b01d535491)
115
+ Thanks [@benjie](https://github.com/benjie)! - Fix bug handling domains over
116
+ composite types.
117
+
118
+ - [#396](https://github.com/benjie/postgraphile-private/pull/396)
119
+ [`b66d2503b`](https://github.com/benjie/postgraphile-private/commit/b66d2503b90eb458af709bb593e5a00d869df03f)
120
+ Thanks [@benjie](https://github.com/benjie)! - hasNextPage (via hasMore) now
121
+ uses an access plan rather than a lambda plan.
122
+
123
+ - [#401](https://github.com/benjie/postgraphile-private/pull/401)
124
+ [`b868aa63f`](https://github.com/benjie/postgraphile-private/commit/b868aa63f7759396b71fdd1e8eda1012352ad595)
125
+ Thanks [@benjie](https://github.com/benjie)! - Added `Build.dataplanPg` so
126
+ plugins don't need to import this module.
127
+
128
+ - [#396](https://github.com/benjie/postgraphile-private/pull/396)
129
+ [`3caaced6c`](https://github.com/benjie/postgraphile-private/commit/3caaced6cfbac4a187a245a61eb103edcb8cd4c9)
130
+ Thanks [@benjie](https://github.com/benjie)! - When fetching a single row, an
131
+ `ORDER BY` clause will no longer be added.
132
+
133
+ - [#396](https://github.com/benjie/postgraphile-private/pull/396)
134
+ [`9f2507ed9`](https://github.com/benjie/postgraphile-private/commit/9f2507ed9fe8a6abe93c9c8a1cff410446587fd6)
135
+ Thanks [@benjie](https://github.com/benjie)! - Codecs can now (optionally)
136
+ have executors associated (typically useful for record codecs); so we've
137
+ eradicated runtime resource definition for columns that use composite types
138
+ (or lists thereof) - all composite types accessible from attributes are now
139
+ guaranteed to have a table-like resource generated in the registry.
140
+ - Updated dependencies
141
+ [[`659508371`](https://github.com/benjie/postgraphile-private/commit/659508371e79e76b581532978fe26d50a54e6248),
142
+ [`409581534`](https://github.com/benjie/postgraphile-private/commit/409581534f41ac2cf0ff21c77c2bcd8eaa8218fd),
143
+ [`4d64ac127`](https://github.com/benjie/postgraphile-private/commit/4d64ac12799be55680448aab6906312bcbc525ab),
144
+ [`17fe531d7`](https://github.com/benjie/postgraphile-private/commit/17fe531d729e88a7126b0e2e06fc1ee9ab3ac5b8),
145
+ [`b7533bd4d`](https://github.com/benjie/postgraphile-private/commit/b7533bd4dfc210cb8b113b8fa06f163a212aa5e4),
146
+ [`56b52295c`](https://github.com/benjie/postgraphile-private/commit/56b52295c77d1748c01754d5e71702e05c8a2dd3),
147
+ [`9feb769c2`](https://github.com/benjie/postgraphile-private/commit/9feb769c2df0c57971ed26a937be4a1bee7a7524),
148
+ [`b5eb7c490`](https://github.com/benjie/postgraphile-private/commit/b5eb7c490305b869e1bfc176a5a417e28f1411cd),
149
+ [`976958e80`](https://github.com/benjie/postgraphile-private/commit/976958e80c791819cd80e96df8209dcff1918585),
150
+ [`7573bf374`](https://github.com/benjie/postgraphile-private/commit/7573bf374897228b613b19f37b4e076737db3279),
151
+ [`95b2ab41e`](https://github.com/benjie/postgraphile-private/commit/95b2ab41e41976de852276b83f7fb5924555e7c5),
152
+ [`2c8586b36`](https://github.com/benjie/postgraphile-private/commit/2c8586b367b76af91d1785cc90455c70911fdec7),
153
+ [`8230fcaeb`](https://github.com/benjie/postgraphile-private/commit/8230fcaeb0286c905fc0dad4b7af2d94bac88a44),
154
+ [`c43802d74`](https://github.com/benjie/postgraphile-private/commit/c43802d7419f93d18964c654f16d0937a2e23ca0),
155
+ [`b118b8f6d`](https://github.com/benjie/postgraphile-private/commit/b118b8f6dc18196212cfb0a05486e1dd8d77ccf8),
156
+ [`b66d2503b`](https://github.com/benjie/postgraphile-private/commit/b66d2503b90eb458af709bb593e5a00d869df03f),
157
+ [`9008c4f87`](https://github.com/benjie/postgraphile-private/commit/9008c4f87df53be4051c49f9836358dc2baa59df),
158
+ [`47ff7e824`](https://github.com/benjie/postgraphile-private/commit/47ff7e824b2fc96c11f601c3814d0200208711ce),
159
+ [`e8c81cd20`](https://github.com/benjie/postgraphile-private/commit/e8c81cd2046390ed5b6799aa7ff3d90b28a1861a),
160
+ [`3caaced6c`](https://github.com/benjie/postgraphile-private/commit/3caaced6cfbac4a187a245a61eb103edcb8cd4c9),
161
+ [`9f2507ed9`](https://github.com/benjie/postgraphile-private/commit/9f2507ed9fe8a6abe93c9c8a1cff410446587fd6)]:
162
+ - @dataplan/pg@0.0.1-alpha.11
163
+ - graphile-build@5.0.0-alpha.11
164
+ - grafast@0.0.1-alpha.10
165
+ - pg-introspection@0.0.1-alpha.3
166
+
3
167
  ## 5.0.0-alpha.11
4
168
 
5
169
  ### Patch Changes
package/README.md CHANGED
@@ -38,14 +38,12 @@ and development via sponsorship.
38
38
  And please give some love to our featured sponsors 🤩:
39
39
 
40
40
  <table><tr>
41
- <td align="center"><a href="https://surge.io/"><img src="https://graphile.org/images/sponsors/surge.png" width="90" height="90" alt="Surge" /><br />Surge</a> *</td>
42
41
  <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>
43
42
  <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>
44
43
  <td align="center"><a href="https://qwick.com/"><img src="https://graphile.org/images/sponsors/qwick.png" width="90" height="90" alt="Qwick" /><br />Qwick</a> *</td>
45
- </tr><tr>
46
44
  <td align="center"><a href="https://www.netflix.com/"><img src="https://graphile.org/images/sponsors/Netflix.png" width="90" height="90" alt="Netflix" /><br />Netflix</a> *</td>
45
+ </tr><tr>
47
46
  <td align="center"><a href=""><img src="https://graphile.org/images/sponsors/chadf.png" width="90" height="90" alt="Chad Furman" /><br />Chad Furman</a> *</td>
48
- <td align="center"><a href="https://www.enzuzo.com/"><img src="https://graphile.org/images/sponsors/enzuzo.png" width="90" height="90" alt="Enzuzo" /><br />Enzuzo</a> *</td>
49
47
  <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>
50
48
  </tr></table>
51
49
 
package/dist/index.d.ts CHANGED
@@ -20,6 +20,7 @@ export { PgJWTPlugin } from "./plugins/PgJWTPlugin.js";
20
20
  export { PgMutationCreatePlugin } from "./plugins/PgMutationCreatePlugin.js";
21
21
  export { PgMutationPayloadEdgePlugin } from "./plugins/PgMutationPayloadEdgePlugin.js";
22
22
  export { PgMutationUpdateDeletePlugin } from "./plugins/PgMutationUpdateDeletePlugin.js";
23
+ export { PgNodeIdAttributesPlugin } from "./plugins/PgNodeIdAttributesPlugin.js";
23
24
  export { PgOrderAllAttributesPlugin } from "./plugins/PgOrderAllAttributesPlugin.js";
24
25
  export { PgOrderByPrimaryKeyPlugin } from "./plugins/PgOrderByPrimaryKeyPlugin.js";
25
26
  export { PgOrderCustomFieldsPlugin } from "./plugins/PgOrderCustomFieldsPlugin.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,WAAW,EACX,cAAc,EACd,eAAe,GAChB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,4BAA4B,EAC5B,yBAAyB,GAC1B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,4BAA4B,EAAE,MAAM,2CAA2C,CAAC;AACzF,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AACnF,OAAO,EAAE,6BAA6B,EAAE,MAAM,4CAA4C,CAAC;AAC3F,OAAO,EAAE,wCAAwC,EAAE,MAAM,uDAAuD,CAAC;AACjH,OAAO,EAAE,4BAA4B,EAAE,MAAM,2CAA2C,CAAC;AACzF,OAAO,EAAE,4BAA4B,EAAE,MAAM,2CAA2C,CAAC;AACzF,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,gCAAgC,EAAE,MAAM,+CAA+C,CAAC;AACjG,OAAO,EAAE,iCAAiC,EAAE,MAAM,gDAAgD,CAAC;AACnG,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAC;AACvF,OAAO,EAAE,4BAA4B,EAAE,MAAM,2CAA2C,CAAC;AACzF,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AACrF,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AACnF,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,WAAW,EACX,cAAc,EACd,eAAe,GAChB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,4BAA4B,EAC5B,yBAAyB,GAC1B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,4BAA4B,EAAE,MAAM,2CAA2C,CAAC;AACzF,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AACnF,OAAO,EAAE,6BAA6B,EAAE,MAAM,4CAA4C,CAAC;AAC3F,OAAO,EAAE,wCAAwC,EAAE,MAAM,uDAAuD,CAAC;AACjH,OAAO,EAAE,4BAA4B,EAAE,MAAM,2CAA2C,CAAC;AACzF,OAAO,EAAE,4BAA4B,EAAE,MAAM,2CAA2C,CAAC;AACzF,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,gCAAgC,EAAE,MAAM,+CAA+C,CAAC;AACjG,OAAO,EAAE,iCAAiC,EAAE,MAAM,gDAAgD,CAAC;AACnG,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAC;AACvF,OAAO,EAAE,4BAA4B,EAAE,MAAM,2CAA2C,CAAC;AACzF,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AACrF,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AACnF,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.addBehaviorToTags = exports.defaultPreset = exports.PgTypesPlugin = exports.PgTablesPlugin = exports.PgTableNodePlugin = exports.PgRowByUniquePlugin = exports.PgRelationsPlugin = exports.PgRegistryPlugin = exports.PgRBACPlugin = exports.PgProceduresPlugin = exports.PgPolymorphismPlugin = exports.PgOrderCustomFieldsPlugin = exports.PgOrderByPrimaryKeyPlugin = exports.PgOrderAllAttributesPlugin = exports.PgMutationUpdateDeletePlugin = exports.PgMutationPayloadEdgePlugin = exports.PgMutationCreatePlugin = exports.PgJWTPlugin = exports.PgIntrospectionPlugin = exports.PgInterfaceModeUnionAllRowsPlugin = exports.PgFirstLastBeforeAfterArgsPlugin = exports.PgFakeConstraintsPlugin = exports.PgEnumTablesPlugin = exports.PgCustomTypeFieldPlugin = exports.PgConnectionTotalCountPlugin = exports.PgConnectionArgOrderByPlugin = exports.PgConnectionArgOrderByDefaultValuePlugin = exports.PgConditionCustomFieldsPlugin = exports.PgConditionArgumentPlugin = exports.PgCodecsPlugin = exports.PgBasicsPlugin = exports.PgAttributesPlugin = exports.PgAttributeDeprecationPlugin = exports.PgAllRowsPlugin = exports.withPgClientFromPgService = exports.getWithPgClientFromPgService = void 0;
3
+ exports.addBehaviorToTags = exports.defaultPreset = exports.PgTypesPlugin = exports.PgTablesPlugin = exports.PgTableNodePlugin = exports.PgRowByUniquePlugin = exports.PgRelationsPlugin = exports.PgRegistryPlugin = exports.PgRBACPlugin = exports.PgProceduresPlugin = exports.PgPolymorphismPlugin = exports.PgOrderCustomFieldsPlugin = exports.PgOrderByPrimaryKeyPlugin = exports.PgOrderAllAttributesPlugin = exports.PgNodeIdAttributesPlugin = exports.PgMutationUpdateDeletePlugin = exports.PgMutationPayloadEdgePlugin = exports.PgMutationCreatePlugin = exports.PgJWTPlugin = exports.PgIntrospectionPlugin = exports.PgInterfaceModeUnionAllRowsPlugin = exports.PgFirstLastBeforeAfterArgsPlugin = exports.PgFakeConstraintsPlugin = exports.PgEnumTablesPlugin = exports.PgCustomTypeFieldPlugin = exports.PgConnectionTotalCountPlugin = exports.PgConnectionArgOrderByPlugin = exports.PgConnectionArgOrderByDefaultValuePlugin = exports.PgConditionCustomFieldsPlugin = exports.PgConditionArgumentPlugin = exports.PgCodecsPlugin = exports.PgBasicsPlugin = exports.PgAttributesPlugin = exports.PgAttributeDeprecationPlugin = exports.PgAllRowsPlugin = exports.withPgClientFromPgService = exports.getWithPgClientFromPgService = void 0;
4
4
  var pgServices_js_1 = require("./pgServices.js");
5
5
  Object.defineProperty(exports, "getWithPgClientFromPgService", { enumerable: true, get: function () { return pgServices_js_1.getWithPgClientFromPgService; } });
6
6
  Object.defineProperty(exports, "withPgClientFromPgService", { enumerable: true, get: function () { return pgServices_js_1.withPgClientFromPgService; } });
@@ -44,6 +44,8 @@ var PgMutationPayloadEdgePlugin_js_1 = require("./plugins/PgMutationPayloadEdgeP
44
44
  Object.defineProperty(exports, "PgMutationPayloadEdgePlugin", { enumerable: true, get: function () { return PgMutationPayloadEdgePlugin_js_1.PgMutationPayloadEdgePlugin; } });
45
45
  var PgMutationUpdateDeletePlugin_js_1 = require("./plugins/PgMutationUpdateDeletePlugin.js");
46
46
  Object.defineProperty(exports, "PgMutationUpdateDeletePlugin", { enumerable: true, get: function () { return PgMutationUpdateDeletePlugin_js_1.PgMutationUpdateDeletePlugin; } });
47
+ var PgNodeIdAttributesPlugin_js_1 = require("./plugins/PgNodeIdAttributesPlugin.js");
48
+ Object.defineProperty(exports, "PgNodeIdAttributesPlugin", { enumerable: true, get: function () { return PgNodeIdAttributesPlugin_js_1.PgNodeIdAttributesPlugin; } });
47
49
  var PgOrderAllAttributesPlugin_js_1 = require("./plugins/PgOrderAllAttributesPlugin.js");
48
50
  Object.defineProperty(exports, "PgOrderAllAttributesPlugin", { enumerable: true, get: function () { return PgOrderAllAttributesPlugin_js_1.PgOrderAllAttributesPlugin; } });
49
51
  var PgOrderByPrimaryKeyPlugin_js_1 = require("./plugins/PgOrderByPrimaryKeyPlugin.js");
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAOA,iDAGyB;AAFvB,6HAAA,4BAA4B,OAAA;AAC5B,0HAAA,yBAAyB,OAAA;AAE3B,mEAA+D;AAAtD,qHAAA,eAAe,OAAA;AACxB,6FAAyF;AAAhF,+IAAA,4BAA4B,OAAA;AACrC,yEAAqE;AAA5D,2HAAA,kBAAkB,OAAA;AAC3B,iEAA6D;AAApD,mHAAA,cAAc,OAAA;AACvB,iEAA6D;AAApD,mHAAA,cAAc,OAAA;AACvB,uFAAmF;AAA1E,yIAAA,yBAAyB,OAAA;AAClC,+FAA2F;AAAlF,iJAAA,6BAA6B,OAAA;AACtC,qHAAiH;AAAxG,uKAAA,wCAAwC,OAAA;AACjD,6FAAyF;AAAhF,+IAAA,4BAA4B,OAAA;AACrC,6FAAyF;AAAhF,+IAAA,4BAA4B,OAAA;AACrC,mFAA+E;AAAtE,qIAAA,uBAAuB,OAAA;AAChC,yEAAqE;AAA5D,2HAAA,kBAAkB,OAAA;AAC3B,mFAA+E;AAAtE,qIAAA,uBAAuB,OAAA;AAChC,qGAAiG;AAAxF,uJAAA,gCAAgC,OAAA;AACzC,uGAAmG;AAA1F,yJAAA,iCAAiC,OAAA;AAC1C,+EAA2E;AAAlE,iIAAA,qBAAqB,OAAA;AAC9B,2DAAuD;AAA9C,6GAAA,WAAW,OAAA;AACpB,iFAA6E;AAApE,mIAAA,sBAAsB,OAAA;AAC/B,2FAAuF;AAA9E,6IAAA,2BAA2B,OAAA;AACpC,6FAAyF;AAAhF,+IAAA,4BAA4B,OAAA;AACrC,yFAAqF;AAA5E,2IAAA,0BAA0B,OAAA;AACnC,uFAAmF;AAA1E,yIAAA,yBAAyB,OAAA;AAClC,uFAAmF;AAA1E,yIAAA,yBAAyB,OAAA;AAClC,6EAAyE;AAAhE,+HAAA,oBAAoB,OAAA;AAC7B,yEAAqE;AAA5D,2HAAA,kBAAkB,OAAA;AAC3B,6DAAyD;AAAhD,+GAAA,YAAY,OAAA;AACrB,qEAAiE;AAAxD,uHAAA,gBAAgB,OAAA;AACzB,uEAAmE;AAA1D,yHAAA,iBAAiB,OAAA;AAC1B,2EAAuE;AAA9D,6HAAA,mBAAmB,OAAA;AAC5B,uEAAmE;AAA1D,yHAAA,iBAAiB,OAAA;AAC1B,iEAA6D;AAApD,mHAAA,cAAc,OAAA;AACvB,+DAA2D;AAAlD,iHAAA,aAAa,OAAA;AACtB,yCAA4C;AAAnC,0GAAA,aAAa,OAAA;AACtB,uCAA+C;AAAtC,6GAAA,iBAAiB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAOA,iDAGyB;AAFvB,6HAAA,4BAA4B,OAAA;AAC5B,0HAAA,yBAAyB,OAAA;AAE3B,mEAA+D;AAAtD,qHAAA,eAAe,OAAA;AACxB,6FAAyF;AAAhF,+IAAA,4BAA4B,OAAA;AACrC,yEAAqE;AAA5D,2HAAA,kBAAkB,OAAA;AAC3B,iEAA6D;AAApD,mHAAA,cAAc,OAAA;AACvB,iEAA6D;AAApD,mHAAA,cAAc,OAAA;AACvB,uFAAmF;AAA1E,yIAAA,yBAAyB,OAAA;AAClC,+FAA2F;AAAlF,iJAAA,6BAA6B,OAAA;AACtC,qHAAiH;AAAxG,uKAAA,wCAAwC,OAAA;AACjD,6FAAyF;AAAhF,+IAAA,4BAA4B,OAAA;AACrC,6FAAyF;AAAhF,+IAAA,4BAA4B,OAAA;AACrC,mFAA+E;AAAtE,qIAAA,uBAAuB,OAAA;AAChC,yEAAqE;AAA5D,2HAAA,kBAAkB,OAAA;AAC3B,mFAA+E;AAAtE,qIAAA,uBAAuB,OAAA;AAChC,qGAAiG;AAAxF,uJAAA,gCAAgC,OAAA;AACzC,uGAAmG;AAA1F,yJAAA,iCAAiC,OAAA;AAC1C,+EAA2E;AAAlE,iIAAA,qBAAqB,OAAA;AAC9B,2DAAuD;AAA9C,6GAAA,WAAW,OAAA;AACpB,iFAA6E;AAApE,mIAAA,sBAAsB,OAAA;AAC/B,2FAAuF;AAA9E,6IAAA,2BAA2B,OAAA;AACpC,6FAAyF;AAAhF,+IAAA,4BAA4B,OAAA;AACrC,qFAAiF;AAAxE,uIAAA,wBAAwB,OAAA;AACjC,yFAAqF;AAA5E,2IAAA,0BAA0B,OAAA;AACnC,uFAAmF;AAA1E,yIAAA,yBAAyB,OAAA;AAClC,uFAAmF;AAA1E,yIAAA,yBAAyB,OAAA;AAClC,6EAAyE;AAAhE,+HAAA,oBAAoB,OAAA;AAC7B,yEAAqE;AAA5D,2HAAA,kBAAkB,OAAA;AAC3B,6DAAyD;AAAhD,+GAAA,YAAY,OAAA;AACrB,qEAAiE;AAAxD,uHAAA,gBAAgB,OAAA;AACzB,uEAAmE;AAA1D,yHAAA,iBAAiB,OAAA;AAC1B,2EAAuE;AAA9D,6HAAA,mBAAmB,OAAA;AAC5B,uEAAmE;AAA1D,yHAAA,iBAAiB,OAAA;AAC1B,iEAA6D;AAApD,mHAAA,cAAc,OAAA;AACvB,+DAA2D;AAAlD,iHAAA,aAAa,OAAA;AACtB,yCAA4C;AAAnC,0GAAA,aAAa,OAAA;AACtB,uCAA+C;AAAtC,6GAAA,iBAAiB,OAAA"}
@@ -1,5 +1,9 @@
1
1
  import type { PgClient, WithPgClient } from "@dataplan/pg";
2
2
  import type { PromiseOrDirect } from "grafast";
3
+ /**
4
+ * Is "thenable".
5
+ */
6
+ export declare function isPromiseLike<T>(t: T | Promise<T> | PromiseLike<T>): t is PromiseLike<T>;
3
7
  /**
4
8
  * Get or build the 'withPgClient' callback function for a given database
5
9
  * config, caching it to make future lookups faster.
@@ -1 +1 @@
1
- {"version":3,"file":"pgServices.d.ts","sourceRoot":"","sources":["../src/pgServices.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAyD/C;;;GAGG;AACH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,cAAc,CAAC,sBAAsB,GAC5C,eAAe,CAAC,YAAY,CAAC,CA2D/B;AAED,wBAAsB,yBAAyB,CAAC,CAAC,EAC/C,MAAM,EAAE,cAAc,CAAC,sBAAsB,EAC7C,UAAU,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,GAAG,IAAI,EAC5C,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAC7C,OAAO,CAAC,CAAC,CAAC,CAUZ;AAGD,wBAAsB,kCAAkC,CAAC,CAAC,EACxD,MAAM,EAAE,cAAc,CAAC,sBAAsB,EAC7C,UAAU,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,GAAG,IAAI,EAC5C,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAC7C,OAAO,CAAC,CAAC,CAAC,CAWZ"}
1
+ {"version":3,"file":"pgServices.d.ts","sourceRoot":"","sources":["../src/pgServices.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAG/C;;GAEG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAC7B,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GACjC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAErB;AA2DD;;;GAGG;AACH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,cAAc,CAAC,sBAAsB,GAC5C,eAAe,CAAC,YAAY,CAAC,CA2D/B;AAED,wBAAsB,yBAAyB,CAAC,CAAC,EAC/C,MAAM,EAAE,cAAc,CAAC,sBAAsB,EAC7C,UAAU,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,GAAG,IAAI,EAC5C,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAC7C,OAAO,CAAC,CAAC,CAAC,CAUZ;AAGD,wBAAsB,kCAAkC,CAAC,CAAC,EACxD,MAAM,EAAE,cAAc,CAAC,sBAAsB,EAC7C,UAAU,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,GAAG,IAAI,EAC5C,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAC7C,OAAO,CAAC,CAAC,CAAC,CAWZ"}
@@ -1,7 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.withSuperuserPgClientFromPgService = exports.withPgClientFromPgService = exports.getWithPgClientFromPgService = void 0;
4
- const grafast_1 = require("grafast");
3
+ exports.withSuperuserPgClientFromPgService = exports.withPgClientFromPgService = exports.getWithPgClientFromPgService = exports.isPromiseLike = void 0;
4
+ const node_url_1 = require("node:url");
5
+ /**
6
+ * Is "thenable".
7
+ */
8
+ function isPromiseLike(t) {
9
+ return t != null && typeof t.then === "function";
10
+ }
11
+ exports.isPromiseLike = isPromiseLike;
5
12
  const isTest = process.env.NODE_ENV === "test";
6
13
  const withPgClientDetailsByConfigCache = new Map();
7
14
  function reallyLoadAdaptor(adaptorString) {
@@ -11,7 +18,10 @@ function reallyLoadAdaptor(adaptorString) {
11
18
  }
12
19
  catch (e) {
13
20
  if (e.code === "ERR_REQUIRE_ESM") {
14
- const adaptorPromise = import(adaptorString);
21
+ const importSpecifier = adaptorString.match(/^([a-z]:|\.\/|\/)/i)
22
+ ? (0, node_url_1.pathToFileURL)(adaptorString).href
23
+ : adaptorString;
24
+ const adaptorPromise = import(importSpecifier);
15
25
  return adaptorPromise.then((adaptor) => adaptor?.createWithPgClient ? adaptor : adaptor?.default);
16
26
  }
17
27
  else {
@@ -28,7 +38,7 @@ function loadAdaptor(adaptorString) {
28
38
  else {
29
39
  const result = reallyLoadAdaptor(adaptorString);
30
40
  loadAdaptorCache.set(adaptorString, result);
31
- if ((0, grafast_1.isPromiseLike)(result)) {
41
+ if (isPromiseLike(result)) {
32
42
  result.then((resolved) => {
33
43
  loadAdaptorCache.set(adaptorString, resolved);
34
44
  }, () => { });
@@ -43,7 +53,7 @@ function loadAdaptor(adaptorString) {
43
53
  function getWithPgClientFromPgService(config) {
44
54
  const existing = withPgClientDetailsByConfigCache.get(config);
45
55
  if (existing) {
46
- if ((0, grafast_1.isPromiseLike)(existing)) {
56
+ if (isPromiseLike(existing)) {
47
57
  return existing.then((v) => {
48
58
  v.retainers++;
49
59
  return v.withPgClient;
@@ -97,7 +107,7 @@ function getWithPgClientFromPgService(config) {
97
107
  exports.getWithPgClientFromPgService = getWithPgClientFromPgService;
98
108
  async function withPgClientFromPgService(config, pgSettings, callback) {
99
109
  const withPgClientFromPgService = getWithPgClientFromPgService(config);
100
- const withPgClient = (0, grafast_1.isPromiseLike)(withPgClientFromPgService)
110
+ const withPgClient = isPromiseLike(withPgClientFromPgService)
101
111
  ? await withPgClientFromPgService
102
112
  : withPgClientFromPgService;
103
113
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"pgServices.js","sourceRoot":"","sources":["../src/pgServices.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pgServices.js","sourceRoot":"","sources":["../src/pgServices.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"PgAttributesPlugin.d.ts","sourceRoot":"","sources":["../../src/plugins/PgAttributesPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAC;AAC7B,OAAO,kBAAkB,CAAC;AAC1B,OAAO,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAGV,gBAAgB,EAGhB,qBAAqB,EAGtB,MAAM,cAAc,CAAC;AAYtB,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,aAAa,CAAC;QACtB,UAAU,UAAU;YAClB;;;;;;;eAOG;YACH,cAAc,CACZ,IAAI,EAAE,aAAa,CAAC,UAAU,EAC9B,OAAO,EAAE;gBACP,KAAK,EAAE,qBAAqB,CAAC;gBAC7B,aAAa,EAAE,MAAM,CAAC;gBACtB,SAAS,CAAC,EAAE,OAAO,CAAC;aACrB,GACA,MAAM,CAAC;YAEV;;;eAGG;YACH,mBAAmB,CACjB,IAAI,EAAE,aAAa,CAAC,UAAU,EAC9B,KAAK,EAAE,qBAAqB,EAC5B,KAAK,EAAE,SAAS,MAAM,EAAE,GACvB,MAAM,CAAC;YAEV;;;;eAIG;YACH,SAAS,CACP,IAAI,EAAE,aAAa,CAAC,UAAU,EAC9B,OAAO,EAAE;gBACP,aAAa,EAAE,MAAM,CAAC;gBACtB,KAAK,EAAE,qBAAqB,CAAC;aAC9B,GACA,MAAM,CAAC;SACX;QAED,UAAU,gBAAgB;YACxB,WAAW,CAAC,EAAE,OAAO,CAAC;YACtB,SAAS,CAAC,EAAE,OAAO,CAAC;YACpB,aAAa,CAAC,EAAE,OAAO,CAAC;YACxB,WAAW,CAAC,EAAE,OAAO,CAAC;YACtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;YAC3B,WAAW,CAAC,EAAE,gBAAgB,CAAC;SAChC;KACF;CACF;AAuOD,eAAO,MAAM,kBAAkB,EAAE,cAAc,CAAC,MAsO/C,CAAC"}
1
+ {"version":3,"file":"PgAttributesPlugin.d.ts","sourceRoot":"","sources":["../../src/plugins/PgAttributesPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAC;AAC7B,OAAO,kBAAkB,CAAC;AAC1B,OAAO,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAGV,gBAAgB,EAIhB,qBAAqB,EAEtB,MAAM,cAAc,CAAC;AAStB,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,aAAa,CAAC;QACtB,UAAU,UAAU;YAClB;;;;;;;eAOG;YACH,cAAc,CACZ,IAAI,EAAE,aAAa,CAAC,UAAU,EAC9B,OAAO,EAAE;gBACP,KAAK,EAAE,qBAAqB,CAAC;gBAC7B,aAAa,EAAE,MAAM,CAAC;gBACtB,SAAS,CAAC,EAAE,OAAO,CAAC;aACrB,GACA,MAAM,CAAC;YAEV;;;eAGG;YACH,mBAAmB,CACjB,IAAI,EAAE,aAAa,CAAC,UAAU,EAC9B,KAAK,EAAE,qBAAqB,EAC5B,KAAK,EAAE,SAAS,MAAM,EAAE,GACvB,MAAM,CAAC;YAEV;;;;eAIG;YACH,SAAS,CACP,IAAI,EAAE,aAAa,CAAC,UAAU,EAC9B,OAAO,EAAE;gBACP,aAAa,EAAE,MAAM,CAAC;gBACtB,KAAK,EAAE,qBAAqB,CAAC;aAC9B,GACA,MAAM,CAAC;SACX;QAED,UAAU,gBAAgB;YACxB,WAAW,CAAC,EAAE,OAAO,CAAC;YACtB,SAAS,CAAC,EAAE,OAAO,CAAC;YACpB,aAAa,CAAC,EAAE,OAAO,CAAC;YACxB,WAAW,CAAC,EAAE,OAAO,CAAC;YACtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;YAC3B,WAAW,CAAC,EAAE,gBAAgB,CAAC;SAChC;KACF;CACF;AAuLD,eAAO,MAAM,kBAAkB,EAAE,cAAc,CAAC,MAoP/C,CAAC"}
@@ -5,29 +5,11 @@ require("./PgTablesPlugin.js");
5
5
  require("../interfaces.js");
6
6
  require("graphile-config");
7
7
  const pg_1 = require("@dataplan/pg");
8
+ const grafast_1 = require("grafast");
8
9
  const graphile_build_1 = require("graphile-build");
9
10
  const version_js_1 = require("../version.js");
10
- function unwrapCodec(codec) {
11
- if (codec.arrayOfCodec) {
12
- return unwrapCodec(codec.arrayOfCodec);
13
- }
14
- return codec;
15
- }
16
- // TODO: get rid of this! Determine the resources at build time
17
- const getResource = (0, graphile_build_1.EXPORTABLE)((PgResource) => (registry, baseCodec, pgResources, $record) => {
18
- const executor = $record.resource.executor;
19
- const resource = pgResources.find((potentialSource) =>
20
- // These have already been filtered by codec
21
- potentialSource.executor === executor) ??
22
- // HACK: yuck yuck yuck
23
- // TODO: yuck; we should not be building a PgResource on demand. We
24
- // should be able to detect this is necessary and add it to the
25
- // registry preemptively.
26
- new PgResource(registry, PgResource.configFromCodec(executor, baseCodec));
27
- return resource;
28
- }, [pg_1.PgResource]);
29
11
  function processAttribute(fields, build, context, attributeName, overrideName) {
30
- const { extend, graphql: { getNullableType, GraphQLNonNull, GraphQLList }, inflection, getGraphQLTypeByPgCodec, input: { pgRegistry: registry }, } = build;
12
+ const { extend, inflection, input: { pgRegistry: registry }, } = build;
31
13
  const { scope: { pgCodec: rawPgCodec }, } = context;
32
14
  if (!rawPgCodec || !rawPgCodec.attributes) {
33
15
  return;
@@ -35,7 +17,7 @@ function processAttribute(fields, build, context, attributeName, overrideName) {
35
17
  const pgCodec = rawPgCodec;
36
18
  const isInterface = context.type === "GraphQLInterfaceType";
37
19
  const attribute = pgCodec.attributes[attributeName];
38
- if (!build.behavior.pgCodecAttributeMatches([pgCodec, attribute], "attribute:select")) {
20
+ if (!build.behavior.pgCodecAttributeMatches([pgCodec, attributeName], "attribute:select")) {
39
21
  // Don't allow selecting this attribute.
40
22
  return;
41
23
  }
@@ -44,19 +26,13 @@ function processAttribute(fields, build, context, attributeName, overrideName) {
44
26
  attributeName,
45
27
  codec: pgCodec,
46
28
  });
47
- const baseCodec = unwrapCodec(attribute.codec);
48
- const baseType = getGraphQLTypeByPgCodec(baseCodec, "output");
49
- const arrayOrNotType = attribute.codec.arrayOfCodec
50
- ? new GraphQLList(baseType)
51
- : baseType;
52
- if (!arrayOrNotType) {
29
+ const resolveResult = resolveOutputType(build, attribute.codec, attribute.notNull);
30
+ if (!resolveResult) {
53
31
  console.warn(`Couldn't find a 'output' variant for PgCodec ${pgCodec.name}'s '${attributeName}' attribute (${attribute.codec.name}; array=${!!attribute.codec.arrayOfCodec}, domain=${!!attribute.codec
54
32
  .domainOfCodec}, enum=${!!attribute.codec.values})`);
55
33
  return;
56
34
  }
57
- const type = attribute.notNull
58
- ? new GraphQLNonNull(getNullableType(arrayOrNotType))
59
- : arrayOrNotType;
35
+ const [baseCodec, type] = resolveResult;
60
36
  if (!type) {
61
37
  // Could not determine the type, skip this field
62
38
  console.warn(`Could not determine the type for attribute '${attributeName}' of ${pgCodec.name}`);
@@ -66,6 +42,16 @@ function processAttribute(fields, build, context, attributeName, overrideName) {
66
42
  description: attribute.description,
67
43
  type: type,
68
44
  };
45
+ const executor = pgCodec.executor;
46
+ const resource = baseCodec.attributes
47
+ ? Object.values(registry.pgResources).find((potentialSource) => potentialSource.codec === baseCodec &&
48
+ !potentialSource.parameters &&
49
+ potentialSource.executor === executor)
50
+ : null;
51
+ if (baseCodec.attributes && !resource) {
52
+ // We can't load codecs with attributes unless we know the executor.
53
+ return;
54
+ }
69
55
  if (!isInterface) {
70
56
  const makePlan = () => {
71
57
  // See if there's a resource to pull record types from (e.g. for relations/etc)
@@ -76,7 +62,10 @@ function processAttribute(fields, build, context, attributeName, overrideName) {
76
62
  }, [attributeName]);
77
63
  }
78
64
  else {
79
- const pgResources = Object.values(registry.pgResources).filter((potentialSource) => potentialSource.codec === baseCodec && !potentialSource.parameters);
65
+ if (!resource) {
66
+ // This error only exists to satisfy TypeScript
67
+ throw new Error("This should be unreachable");
68
+ }
80
69
  // TODO: this is pretty horrible in the export; we should fix that.
81
70
  if (!attribute.codec.arrayOfCodec) {
82
71
  const notNull = attribute.notNull || attribute.codec.notNull;
@@ -87,45 +76,38 @@ function processAttribute(fields, build, context, attributeName, overrideName) {
87
76
  * the base table using e.g. `(table.column).attribute =
88
77
  * joined_thing.column`
89
78
  */
90
- return (0, graphile_build_1.EXPORTABLE)((attributeName, baseCodec, getResource, notNull, pgResources, pgSelectSingleFromRecord, registry) => ($record) => {
79
+ return (0, graphile_build_1.EXPORTABLE)((attributeName, notNull, pgSelectSingleFromRecord, resource) => ($record) => {
91
80
  const $plan = $record.get(attributeName);
92
- const $select = pgSelectSingleFromRecord(getResource(registry, baseCodec, pgResources, $record), $plan);
81
+ const $select = pgSelectSingleFromRecord(resource, $plan);
93
82
  if (notNull) {
94
83
  $select.coalesceToEmptyObject();
95
84
  }
96
85
  $select.getClassStep().setTrusted();
97
86
  return $select;
98
- }, [
99
- attributeName,
100
- baseCodec,
101
- getResource,
102
- notNull,
103
- pgResources,
104
- pg_1.pgSelectSingleFromRecord,
105
- registry,
106
- ]);
87
+ }, [attributeName, notNull, pg_1.pgSelectSingleFromRecord, resource]);
88
+ }
89
+ else if (attribute.codec.arrayOfCodec.arrayOfCodec?.arrayOfCodec) {
90
+ throw new Error("Triple nested arrays are currently unsupported... Feel free to send a PR that refactors this whole section!");
91
+ }
92
+ else if (attribute.codec.arrayOfCodec.arrayOfCodec) {
93
+ return (0, graphile_build_1.EXPORTABLE)((attributeName, each, pgSelectFromRecords, resource) => ($record) => {
94
+ const $val = $record.get(attributeName);
95
+ return each($val, ($list) => {
96
+ const $select = pgSelectFromRecords(resource, $list);
97
+ $select.setTrusted();
98
+ return $select;
99
+ });
100
+ }, [attributeName, grafast_1.each, pg_1.pgSelectFromRecords, resource]);
107
101
  }
108
102
  else {
103
+ // atrribute.codec.arrayOfCodec is set
109
104
  // Many records from resource
110
- /*
111
- * TODO: if we refactor `PgSelectSingleStep` we can probably
112
- * optimise this to do inline selection and still join against
113
- * the base table using e.g. `(table.column).attribute =
114
- * joined_thing.column`
115
- */
116
- return (0, graphile_build_1.EXPORTABLE)((attributeName, baseCodec, getResource, pgResources, pgSelectFromRecords, registry) => ($record) => {
105
+ return (0, graphile_build_1.EXPORTABLE)((attributeName, pgSelectFromRecords, resource) => ($record) => {
117
106
  const $val = $record.get(attributeName);
118
- const $select = pgSelectFromRecords(getResource(registry, baseCodec, pgResources, $record), $val);
107
+ const $select = pgSelectFromRecords(resource, $val);
119
108
  $select.setTrusted();
120
109
  return $select;
121
- }, [
122
- attributeName,
123
- baseCodec,
124
- getResource,
125
- pgResources,
126
- pg_1.pgSelectFromRecords,
127
- registry,
128
- ]);
110
+ }, [attributeName, pg_1.pgSelectFromRecords, resource]);
129
111
  }
130
112
  }
131
113
  };
@@ -235,7 +217,7 @@ exports.PgAttributesPlugin = {
235
217
  return fields;
236
218
  },
237
219
  GraphQLInputObjectType_fields(fields, build, context) {
238
- const { extend, inflection } = build;
220
+ const { extend, inflection, input: { pgRegistry }, } = build;
239
221
  const { scope: { isPgRowType, isPgCompoundType, isPgPatch, isPgBaseInput, pgCodec: rawPgCodec, }, fieldWithHooks, } = context;
240
222
  if (!(isPgRowType || isPgCompoundType) ||
241
223
  !rawPgCodec ||
@@ -250,8 +232,11 @@ exports.PgAttributesPlugin = {
250
232
  : isPgPatch
251
233
  ? "update"
252
234
  : "insert";
253
- const fieldBehaviorScope = `attribute:${action}`;
254
- if (!build.behavior.pgCodecAttributeMatches([pgCodec, attribute], fieldBehaviorScope)) {
235
+ const relations = Object.values(pgRegistry.pgRelations[pgCodec.name] ?? {}).filter((r) => !r.isReferencee && r.isUnique);
236
+ const isPartOfRelation = relations.some((r) => r.localAttributes.includes(attributeName));
237
+ const prefix = isPartOfRelation ? `relation:` : ``;
238
+ const fieldBehaviorScope = `${prefix}attribute:${action}`;
239
+ if (!build.behavior.pgCodecAttributeMatches([pgCodec, attributeName], fieldBehaviorScope)) {
255
240
  return memo;
256
241
  }
257
242
  const fieldName = inflection.attribute({
@@ -291,4 +276,29 @@ exports.PgAttributesPlugin = {
291
276
  },
292
277
  },
293
278
  };
279
+ function resolveOutputType(build, codec, notNull) {
280
+ const { getGraphQLTypeByPgCodec, graphql: { GraphQLList, GraphQLNonNull, getNullableType, isOutputType }, } = build;
281
+ if (codec.arrayOfCodec) {
282
+ const resolvedResult = resolveOutputType(build, codec.arrayOfCodec);
283
+ if (!resolvedResult) {
284
+ return null;
285
+ }
286
+ const [innerCodec, innerType] = resolvedResult;
287
+ const nullableType = new GraphQLList(innerType);
288
+ const type = notNull || codec.notNull
289
+ ? new GraphQLNonNull(nullableType)
290
+ : nullableType;
291
+ return [innerCodec, type];
292
+ }
293
+ else {
294
+ const baseType = getGraphQLTypeByPgCodec(codec, "output");
295
+ if (!baseType || !isOutputType(baseType)) {
296
+ return null;
297
+ }
298
+ const type = notNull || codec.notNull
299
+ ? new GraphQLNonNull(getNullableType(baseType))
300
+ : baseType;
301
+ return [codec, type];
302
+ }
303
+ }
294
304
  //# sourceMappingURL=PgAttributesPlugin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PgAttributesPlugin.js","sourceRoot":"","sources":["../../src/plugins/PgAttributesPlugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PgAttributesPlugin.js","sourceRoot":"","sources":["../../src/plugins/PgAttributesPlugin.ts"],"names":[],"mappings":";;;AAAA,+BAA6B;AAC7B,4BAA0B;AAC1B,2BAAyB;AAYzB,qCAA6E;AAE7E,qCAA+B;AAC/B,mDAA4C;AAG5C,8CAAwC;AAyDxC,SAAS,gBAAgB,CACvB,MAAuC,EACvC,KAA0B,EAC1B,OAEwC,EACxC,aAAqB,EACrB,YAAqB;IAErB,MAAM,EACJ,MAAM,EACN,UAAU,EACV,KAAK,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,GAChC,GAAG,KAAK,CAAC;IAEV,MAAM,EACJ,KAAK,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,GAC/B,GAAG,OAAO,CAAC;IACZ,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE;QACzC,OAAO;KACR;IAED,MAAM,OAAO,GAAG,UAAmC,CAAC;IAEpD,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,KAAK,sBAAsB,CAAC;IAE5D,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IAEpD,IACE,CAAC,KAAK,CAAC,QAAQ,CAAC,uBAAuB,CACrC,CAAC,OAAO,EAAE,aAAa,CAAC,EACxB,kBAAkB,CACnB,EACD;QACA,wCAAwC;QACxC,OAAO;KACR;IAED,MAAM,kBAAkB,GACtB,YAAY;QACZ,UAAU,CAAC,SAAS,CAAC;YACnB,aAAa;YACb,KAAK,EAAE,OAAO;SACf,CAAC,CAAC;IACL,MAAM,aAAa,GAAG,iBAAiB,CACrC,KAAK,EACL,SAAS,CAAC,KAAK,EACf,SAAS,CAAC,OAAO,CAClB,CAAC;IACF,IAAI,CAAC,aAAa,EAAE;QAClB,OAAO,CAAC,IAAI,CACV,gDACE,OAAO,CAAC,IACV,OAAO,aAAa,gBAClB,SAAS,CAAC,KAAK,CAAC,IAClB,WAAW,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,YAAY,CAAC,CAAC,SAAS,CAAC,KAAK;aACnE,aAAa,UAAU,CAAC,CAAE,SAAS,CAAC,KAAa,CAAC,MAAM,GAAG,CAC/D,CAAC;QACF,OAAO;KACR;IACD,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,aAAa,CAAC;IAExC,IAAI,CAAC,IAAI,EAAE;QACT,gDAAgD;QAChD,OAAO,CAAC,IAAI,CACV,+CAA+C,aAAa,QAAQ,OAAO,CAAC,IAAI,EAAE,CACnF,CAAC;QACF,OAAO;KACR;IACD,MAAM,SAAS,GAAgD;QAC7D,WAAW,EAAE,SAAS,CAAC,WAAW;QAClC,IAAI,EAAE,IAAyB;KAChC,CAAC;IAEF,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAClC,MAAM,QAAQ,GAAG,SAAS,CAAC,UAAU;QACnC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,IAAI,CACtC,CAAC,eAAe,EAAE,EAAE,CAClB,eAAe,CAAC,KAAK,KAAK,SAAS;YACnC,CAAC,eAAe,CAAC,UAAU;YAC3B,eAAe,CAAC,QAAQ,KAAK,QAAQ,CACxC;QACH,CAAC,CAAC,IAAI,CAAC;IACT,IAAI,SAAS,CAAC,UAAU,IAAI,CAAC,QAAQ,EAAE;QACrC,oEAAoE;QACpE,OAAO;KACR;IAED,IAAI,CAAC,WAAW,EAAE;QAChB,MAAM,QAAQ,GAAG,GAAG,EAAE;YACpB,+EAA+E;YAC/E,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;gBACzB,uBAAuB;gBACvB,OAAO,IAAA,2BAAU,EACf,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,OAA2B,EAAE,EAAE;oBACjD,OAAO,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBACpC,CAAC,EACD,CAAC,aAAa,CAAC,CAChB,CAAC;aACH;iBAAM;gBACL,IAAI,CAAC,QAAQ,EAAE;oBACb,+CAA+C;oBAC/C,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;iBAC/C;gBACD,mEAAmE;gBACnE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,EAAE;oBACjC,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC;oBAC7D,8BAA8B;oBAC9B;;;;;uBAKG;oBACH,OAAO,IAAA,2BAAU,EACf,CAAC,aAAa,EAAE,OAAO,EAAE,wBAAwB,EAAE,QAAQ,EAAE,EAAE,CAC7D,CAAC,OAAgC,EAAE,EAAE;wBACnC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;wBACzC,MAAM,OAAO,GAAG,wBAAwB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;wBAC1D,IAAI,OAAO,EAAE;4BACX,OAAO,CAAC,qBAAqB,EAAE,CAAC;yBACjC;wBACD,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;wBACpC,OAAO,OAAO,CAAC;oBACjB,CAAC,EACH,CAAC,aAAa,EAAE,OAAO,EAAE,6BAAwB,EAAE,QAAQ,CAAC,CAC7D,CAAC;iBACH;qBAAM,IAAI,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,YAAY,EAAE;oBAClE,MAAM,IAAI,KAAK,CACb,6GAA6G,CAC9G,CAAC;iBACH;qBAAM,IAAI,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE;oBACpD,OAAO,IAAA,2BAAU,EACf,CAAC,aAAa,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,EAAE,CACrD,CAAC,OAAgC,EAAE,EAAE;wBACnC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CACtB,aAAa,CAC0C,CAAC;wBAC1D,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE;4BAC1B,MAAM,OAAO,GAAG,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;4BACrD,OAAO,CAAC,UAAU,EAAE,CAAC;4BACrB,OAAO,OAAO,CAAC;wBACjB,CAAC,CAAC,CAAC;oBACL,CAAC,EACH,CAAC,aAAa,EAAE,cAAI,EAAE,wBAAmB,EAAE,QAAQ,CAAC,CACrD,CAAC;iBACH;qBAAM;oBACL,sCAAsC;oBACtC,6BAA6B;oBAC7B,OAAO,IAAA,2BAAU,EACf,CAAC,aAAa,EAAE,mBAAmB,EAAE,QAAQ,EAAE,EAAE,CAC/C,CAAC,OAAgC,EAAE,EAAE;wBACnC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CACtB,aAAa,CAC6B,CAAC;wBAC7C,MAAM,OAAO,GAAG,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;wBACpD,OAAO,CAAC,UAAU,EAAE,CAAC;wBACrB,OAAO,OAAO,CAAC;oBACjB,CAAC,EACH,CAAC,aAAa,EAAE,wBAAmB,EAAE,QAAQ,CAAC,CAC/C,CAAC;iBACH;aACF;QACH,CAAC,CAAC;QACF,SAAS,CAAC,IAAI,GAAG,QAAQ,EAAS,CAAC;KACpC;IACD,MAAM,GAAG,MAAM,CACb,MAAM,EACN;QACE,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC,cAAc,CAC1C;YACE,SAAS,EAAE,kBAAkB;YAC7B,gBAAgB,EAAE,SAAS;SAC5B,EACD,SAAS,CACV;KACF,EACD,WAAW,aAAa,iCAAiC,OAAO,CAAC,IAAI,GAAG,CACzE,CAAC;AACJ,CAAC;AAEY,QAAA,kBAAkB,GAA0B;IACvD,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EACT,wFAAwF;IAC1F,OAAO,EAAE,oBAAO;IAChB,KAAK,EAAE,CAAC,gBAAgB,CAAC;IAEzB,UAAU,EAAE;QACV,GAAG,EAAE;YACH,cAAc,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE;gBAC9C,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;gBAClD,OAAO,IAAI,CAAC,mBAAmB,CAC7B,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,IAAI,aAAa,CAClD,CAAC;YACJ,CAAC;YAED,mBAAmB,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK;gBACvC,OAAO,KAAK;qBACT,GAAG,CAAC,CAAC,aAAa,EAAE,EAAE;oBACrB,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;gBAClD,CAAC,CAAC;qBACD,IAAI,CAAC,OAAO,CAAC,CAAC;YACnB,CAAC;YAED,SAAS,CAAC,OAAO,EAAE,OAAO;gBACxB,MAAM,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;gBACxE,iDAAiD;gBACjD,OAAO,kBAAkB,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW;oBAC9D,CAAC,CAAC,OAAO;oBACT,CAAC,CAAC,kBAAkB,CAAC;YACzB,CAAC;SACF;KACF;IAED,MAAM,EAAE;QACN,cAAc,EAAE;YACd,gBAAgB,EAAE,2BAA2B;SAC9C;QACD,KAAK,EAAE;YACL,2BAA2B,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO;gBAChD,MAAM,EACJ,KAAK,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,GACnC,GAAG,OAAO,CAAC;gBAEZ,IAAI,CAAC,cAAc,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE;oBAC3C,OAAO,MAAM,CAAC;iBACf;gBAED,KAAK,MAAM,aAAa,IAAI,OAAO,CAAC,UAAU,EAAE;oBAC9C,QAAQ,cAAc,CAAC,IAAI,EAAE;wBAC3B,KAAK,QAAQ,CAAC,CAAC;4BACb,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;gCAC5D,SAAS;6BACV;4BACD,MAAM;yBACP;wBACD,KAAK,YAAY,CAAC,CAAC;4BACjB,MAAM;yBACP;wBACD,KAAK,OAAO,CAAC,CAAC;4BACZ,MAAM;yBACP;wBACD,OAAO,CAAC,CAAC;4BACP,MAAM,KAAK,GAAU,cAAc,CAAC;4BACpC,MAAM,IAAI,KAAK,CACb,+BAAgC,KAAa,CAAC,IAAI,GAAG,CACtD,CAAC;yBACH;qBACF;oBACD,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;iBACzD;gBACD,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,wBAAwB,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO;gBAC7C,MAAM,EACJ,KAAK,EAAE,EACL,OAAO,EACP,aAAa,EACb,cAAc,EACd,4BAA4B,GAC7B,GACF,GAAG,OAAO,CAAC;gBAEZ,IAAI,CAAC,aAAa,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE;oBAC1C,OAAO,MAAM,CAAC;iBACf;gBAED,KAAK,MAAM,aAAa,IAAI,OAAO,CAAC,UAAU,EAAE;oBAC9C,IAAI,YAAY,GAAuB,SAAS,CAAC;oBACjD,IAAI,cAAc,EAAE;wBAClB,QAAQ,cAAc,CAAC,IAAI,EAAE;4BAC3B,KAAK,QAAQ,CAAC,CAAC;gCACb,MAAM,KAAK,GAAG,4BAA4B,EAAE,UAAU,CAAC,IAAI,CACzD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,aAAa,CACrC,CAAC;gCACF,IACE,CAAC,cAAc,CAAC,gBAAgB,CAAC,QAAQ,CAAC,aAAa,CAAC;oCACxD,CAAC,KAAK,EACN;oCACA,SAAS;iCACV;gCACD,IAAI,KAAK,EAAE,MAAM,EAAE;oCACjB,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC;iCAC7B;gCAED,MAAM;6BACP;4BACD,KAAK,YAAY,CAAC,CAAC;gCACjB,MAAM;6BACP;4BACD,KAAK,OAAO,CAAC,CAAC;gCACZ,MAAM;6BACP;4BACD,OAAO,CAAC,CAAC;gCACP,MAAM,KAAK,GAAU,cAAc,CAAC;gCACpC,MAAM,IAAI,KAAK,CACb,+BAAgC,KAAa,CAAC,IAAI,GAAG,CACtD,CAAC;6BACH;yBACF;qBACF;oBACD,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;iBACvE;gBACD,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,6BAA6B,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO;gBAClD,MAAM,EACJ,MAAM,EACN,UAAU,EACV,KAAK,EAAE,EAAE,UAAU,EAAE,GACtB,GAAG,KAAK,CAAC;gBACV,MAAM,EACJ,KAAK,EAAE,EACL,WAAW,EACX,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,OAAO,EAAE,UAAU,GACpB,EACD,cAAc,GACf,GAAG,OAAO,CAAC;gBACZ,IACE,CAAC,CAAC,WAAW,IAAI,gBAAgB,CAAC;oBAClC,CAAC,UAAU;oBACX,CAAC,UAAU,CAAC,UAAU;oBACtB,UAAU,CAAC,WAAW,EACtB;oBACA,OAAO,MAAM,CAAC;iBACf;gBACD,MAAM,OAAO,GAAG,UAAmC,CAAC;gBAEpD,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,UAA+B,CAAC,CAAC,MAAM,CACnE,CAAC,IAAI,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC,EAAE,EAAE,CACnC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE;oBAC3B,MAAM,MAAM,GAAG,aAAa;wBAC1B,CAAC,CAAC,MAAM;wBACR,CAAC,CAAC,SAAS;4BACX,CAAC,CAAC,QAAQ;4BACV,CAAC,CAAC,QAAQ,CAAC;oBAEb,MAAM,SAAS,GACb,MAAM,CAAC,MAAM,CACX,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAE7C,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;oBAC/C,MAAM,gBAAgB,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAC5C,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,aAAa,CAAC,CAC1C,CAAC;oBACF,MAAM,MAAM,GAAG,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;oBAEnD,MAAM,kBAAkB,GAAG,GAAG,MAAM,aAAa,MAAM,EAAE,CAAC;oBAC1D,IACE,CAAC,KAAK,CAAC,QAAQ,CAAC,uBAAuB,CACrC,CAAC,OAAO,EAAE,aAAa,CAAC,EACxB,kBAAkB,CACnB,EACD;wBACA,OAAO,IAAI,CAAC;qBACb;oBAED,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;wBACrC,aAAa;wBACb,KAAK,EAAE,OAAO;qBACf,CAAC,CAAC;oBACH,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE;wBACnB,MAAM,IAAI,KAAK,CACb,uDAAuD,SAAS,uBAAuB,OAAO,CAAC,IAAI,sBAAsB,aAAa,GAAG,CAC1I,CAAC;qBACH;oBACD,MAAM,aAAa,GAAG,KAAK,CAAC,uBAAuB,CACjD,SAAS,CAAC,KAAK,EACf,OAAO,CACR,CAAC;oBACF,IAAI,CAAC,aAAa,EAAE;wBAClB,OAAO,IAAI,CAAC;qBACb;oBACD,OAAO,MAAM,CACX,IAAI,EACJ;wBACE,CAAC,SAAS,CAAC,EAAE,cAAc,CACzB;4BACE,SAAS;4BACT,kBAAkB;4BAClB,OAAO;4BACP,WAAW,EAAE,SAAS;yBACvB,EACD;4BACE,WAAW,EAAE,SAAS,CAAC,WAAW;4BAClC,IAAI,EAAE,KAAK,CAAC,UAAU,CACpB,aAAa;gCACX,SAAS;gCACT,CAAC,CAAC,SAAS,CAAC,OAAO;oCACjB,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC;gCACvC,SAAS,CAAC,UAAU;gCACpB,OAAO,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,UAAU,CAAC,EACjD,aAAa,CACd;4BACD,6BAA6B,EAAE,IAAI;4BACnC,6BAA6B,EAAE,IAAI;4BACnC,SAAS,EAAE,IAAA,2BAAU,EACnB,CAAC,aAAa,EAAE,EAAE,CAChB,SAAS,IAAI,CAAC,OAA6B,EAAE,GAAG;gCAC9C,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;4BACxC,CAAC,EACH,CAAC,aAAa,CAAC,CAChB;yBACF,CACF;qBACF,EACD,iCAAiC,OAAO,CAAC,IAAI,GAAG,CAQjD,CAAC;gBACJ,CAAC,CAAC,EACJ,MAAM,CACP,CAAC;YACJ,CAAC;SACF;KACF;CACF,CAAC;AAEF,SAAS,iBAAiB,CACxB,KAA0B,EAC1B,KAAc,EACd,OAAiB;IAEjB,MAAM,EACJ,uBAAuB,EACvB,OAAO,EAAE,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,YAAY,EAAE,GACxE,GAAG,KAAK,CAAC;IACV,IAAI,KAAK,CAAC,YAAY,EAAE;QACtB,MAAM,cAAc,GAAG,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;QACpE,IAAI,CAAC,cAAc,EAAE;YACnB,OAAO,IAAI,CAAC;SACb;QACD,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,GAAG,cAAc,CAAC;QAC/C,MAAM,YAAY,GAAG,IAAI,WAAW,CAAC,SAAS,CAAC,CAAC;QAChD,MAAM,IAAI,GACR,OAAO,IAAI,KAAK,CAAC,OAAO;YACtB,CAAC,CAAC,IAAI,cAAc,CAAC,YAAY,CAAC;YAClC,CAAC,CAAC,YAAY,CAAC;QACnB,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;KAC3B;SAAM;QACL,MAAM,QAAQ,GAAG,uBAAuB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC1D,IAAI,CAAC,QAAQ,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE;YACxC,OAAO,IAAI,CAAC;SACb;QACD,MAAM,IAAI,GACR,OAAO,IAAI,KAAK,CAAC,OAAO;YACtB,CAAC,CAAC,IAAI,cAAc,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YAC/C,CAAC,CAAC,QAAQ,CAAC;QACf,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;KACtB;AACH,CAAC"}