@pothos/plugin-drizzle 0.18.1 → 0.19.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (165) hide show
  1. package/CHANGELOG.md +357 -0
  2. package/README.md +1199 -563
  3. package/dts/connection-helpers.d.ts +18 -8
  4. package/dts/connection-helpers.d.ts.map +1 -1
  5. package/dts/drizzle-field-builder.d.ts +4 -11
  6. package/dts/drizzle-field-builder.d.ts.map +1 -1
  7. package/dts/global-types.d.ts.map +1 -1
  8. package/dts/index.d.ts.map +1 -1
  9. package/dts/model-loader.d.ts +18 -17
  10. package/dts/model-loader.d.ts.map +1 -1
  11. package/dts/types.d.ts +82 -22
  12. package/dts/types.d.ts.map +1 -1
  13. package/dts/utils/adapter.d.ts +39 -0
  14. package/dts/utils/adapter.d.ts.map +1 -0
  15. package/dts/utils/await-selections.d.ts +12 -0
  16. package/dts/utils/await-selections.d.ts.map +1 -0
  17. package/dts/utils/config.d.ts +23 -3
  18. package/dts/utils/config.d.ts.map +1 -1
  19. package/dts/utils/cursors.d.ts +6 -6
  20. package/dts/utils/cursors.d.ts.map +1 -1
  21. package/dts/utils/map-query.d.ts +22 -21
  22. package/dts/utils/map-query.d.ts.map +1 -1
  23. package/dts/utils/path-info.d.ts +13 -0
  24. package/dts/utils/path-info.d.ts.map +1 -0
  25. package/dts/utils/relation-filter.d.ts +48 -0
  26. package/dts/utils/relation-filter.d.ts.map +1 -0
  27. package/dts/utils/selections.d.ts +2 -21
  28. package/dts/utils/selections.d.ts.map +1 -1
  29. package/esm/connection-helpers.d.ts +18 -8
  30. package/esm/connection-helpers.d.ts.map +1 -1
  31. package/esm/connection-helpers.js +52 -19
  32. package/esm/connection-helpers.js.map +1 -1
  33. package/esm/drizzle-field-builder.d.ts +4 -11
  34. package/esm/drizzle-field-builder.d.ts.map +1 -1
  35. package/esm/drizzle-field-builder.js +138 -96
  36. package/esm/drizzle-field-builder.js.map +1 -1
  37. package/esm/field-builder.js +61 -47
  38. package/esm/field-builder.js.map +1 -1
  39. package/esm/global-types.d.ts.map +1 -1
  40. package/esm/index.d.ts.map +1 -1
  41. package/esm/index.js +37 -61
  42. package/esm/index.js.map +1 -1
  43. package/esm/model-loader.d.ts +18 -17
  44. package/esm/model-loader.d.ts.map +1 -1
  45. package/esm/model-loader.js +76 -45
  46. package/esm/model-loader.js.map +1 -1
  47. package/esm/schema-builder.js +40 -149
  48. package/esm/schema-builder.js.map +1 -1
  49. package/esm/types.d.ts +82 -22
  50. package/esm/types.d.ts.map +1 -1
  51. package/esm/types.js.map +1 -1
  52. package/esm/utils/adapter.d.ts +39 -0
  53. package/esm/utils/adapter.d.ts.map +1 -0
  54. package/esm/utils/adapter.js +137 -0
  55. package/esm/utils/adapter.js.map +1 -0
  56. package/esm/utils/await-selections.d.ts +12 -0
  57. package/esm/utils/await-selections.d.ts.map +1 -0
  58. package/esm/utils/await-selections.js +19 -0
  59. package/esm/utils/await-selections.js.map +1 -0
  60. package/esm/utils/config.d.ts +23 -3
  61. package/esm/utils/config.d.ts.map +1 -1
  62. package/esm/utils/config.js +1 -4
  63. package/esm/utils/config.js.map +1 -1
  64. package/esm/utils/cursors.d.ts +6 -6
  65. package/esm/utils/cursors.d.ts.map +1 -1
  66. package/esm/utils/cursors.js +75 -92
  67. package/esm/utils/cursors.js.map +1 -1
  68. package/esm/utils/map-query.d.ts +22 -21
  69. package/esm/utils/map-query.d.ts.map +1 -1
  70. package/esm/utils/map-query.js +40 -354
  71. package/esm/utils/map-query.js.map +1 -1
  72. package/esm/utils/path-info.d.ts +13 -0
  73. package/esm/utils/path-info.d.ts.map +1 -0
  74. package/esm/utils/path-info.js +37 -0
  75. package/esm/utils/path-info.js.map +1 -0
  76. package/esm/utils/relation-filter.d.ts +48 -0
  77. package/esm/utils/relation-filter.d.ts.map +1 -0
  78. package/esm/utils/relation-filter.js +92 -0
  79. package/esm/utils/relation-filter.js.map +1 -0
  80. package/esm/utils/selections.d.ts +2 -21
  81. package/esm/utils/selections.d.ts.map +1 -1
  82. package/esm/utils/selections.js +1 -133
  83. package/esm/utils/selections.js.map +1 -1
  84. package/lib/connection-helpers.js +51 -18
  85. package/lib/connection-helpers.js.map +1 -1
  86. package/lib/drizzle-field-builder.js +136 -94
  87. package/lib/drizzle-field-builder.js.map +1 -1
  88. package/lib/field-builder.js +58 -44
  89. package/lib/field-builder.js.map +1 -1
  90. package/lib/index.js +36 -60
  91. package/lib/index.js.map +1 -1
  92. package/lib/model-loader.js +76 -45
  93. package/lib/model-loader.js.map +1 -1
  94. package/lib/schema-builder.js +40 -149
  95. package/lib/schema-builder.js.map +1 -1
  96. package/lib/types.js.map +1 -1
  97. package/lib/utils/adapter.js +147 -0
  98. package/lib/utils/adapter.js.map +1 -0
  99. package/lib/utils/await-selections.js +20 -0
  100. package/lib/utils/await-selections.js.map +1 -0
  101. package/lib/utils/config.js +1 -4
  102. package/lib/utils/config.js.map +1 -1
  103. package/lib/utils/cursors.js +67 -90
  104. package/lib/utils/cursors.js.map +1 -1
  105. package/lib/utils/map-query.js +28 -359
  106. package/lib/utils/map-query.js.map +1 -1
  107. package/lib/utils/path-info.js +39 -0
  108. package/lib/utils/path-info.js.map +1 -0
  109. package/lib/utils/relation-filter.js +91 -0
  110. package/lib/utils/relation-filter.js.map +1 -0
  111. package/lib/utils/selections.js +3 -158
  112. package/lib/utils/selections.js.map +1 -1
  113. package/package.json +10 -8
  114. package/src/connection-helpers.ts +168 -54
  115. package/src/drizzle-field-builder.ts +296 -176
  116. package/src/field-builder.ts +110 -77
  117. package/src/global-types.ts +0 -32
  118. package/src/index.ts +42 -68
  119. package/src/model-loader.ts +110 -71
  120. package/src/schema-builder.ts +76 -169
  121. package/src/types.ts +178 -46
  122. package/src/utils/adapter.ts +197 -0
  123. package/src/utils/await-selections.ts +31 -0
  124. package/src/utils/config.ts +1 -5
  125. package/src/utils/cursors.ts +84 -83
  126. package/src/utils/map-query.ts +51 -734
  127. package/src/utils/path-info.ts +40 -0
  128. package/src/utils/relation-filter.ts +185 -0
  129. package/src/utils/selections.ts +2 -207
  130. package/dts/utils/deep-equal.d.ts +0 -2
  131. package/dts/utils/deep-equal.d.ts.map +0 -1
  132. package/dts/utils/drizzle-graphql.d.ts +0 -2
  133. package/dts/utils/drizzle-graphql.d.ts.map +0 -1
  134. package/dts/utils/loader-map.d.ts +0 -11
  135. package/dts/utils/loader-map.d.ts.map +0 -1
  136. package/dts/utils/usage.d.ts +0 -5
  137. package/dts/utils/usage.d.ts.map +0 -1
  138. package/esm/utils/deep-equal.d.ts +0 -2
  139. package/esm/utils/deep-equal.d.ts.map +0 -1
  140. package/esm/utils/deep-equal.js +0 -45
  141. package/esm/utils/deep-equal.js.map +0 -1
  142. package/esm/utils/drizzle-graphql.d.ts +0 -2
  143. package/esm/utils/drizzle-graphql.d.ts.map +0 -1
  144. package/esm/utils/drizzle-graphql.js +0 -232
  145. package/esm/utils/drizzle-graphql.js.map +0 -1
  146. package/esm/utils/loader-map.d.ts +0 -11
  147. package/esm/utils/loader-map.d.ts.map +0 -1
  148. package/esm/utils/loader-map.js +0 -35
  149. package/esm/utils/loader-map.js.map +0 -1
  150. package/esm/utils/usage.d.ts +0 -5
  151. package/esm/utils/usage.d.ts.map +0 -1
  152. package/esm/utils/usage.js +0 -59
  153. package/esm/utils/usage.js.map +0 -1
  154. package/lib/utils/deep-equal.js +0 -55
  155. package/lib/utils/deep-equal.js.map +0 -1
  156. package/lib/utils/drizzle-graphql.js +0 -236
  157. package/lib/utils/drizzle-graphql.js.map +0 -1
  158. package/lib/utils/loader-map.js +0 -56
  159. package/lib/utils/loader-map.js.map +0 -1
  160. package/lib/utils/usage.js +0 -83
  161. package/lib/utils/usage.js.map +0 -1
  162. package/src/utils/deep-equal.ts +0 -57
  163. package/src/utils/drizzle-graphql.ts +0 -274
  164. package/src/utils/loader-map.ts +0 -49
  165. package/src/utils/usage.ts +0 -62
@@ -1,7 +1,7 @@
1
- import { type CompatibleTypes, type ExposeNullability, type FieldKind, type FieldRef, type InferredFieldOptionKeys, type InputFieldMap, type InputShapeFromFields, type InterfaceParam, type NormalizeArgs, ObjectRef, type PluginName, type SchemaTypes, type ShapeFromTypeParam, type TypeParam } from '@pothos/core';
1
+ import { type CompatibleTypes, type ExposeNullability, type FieldKind, type FieldRef, type InferredFieldOptionKeys, type InputFieldMap, type InterfaceParam, type NormalizeArgs, ObjectRef, type PluginName, type SchemaTypes, type ShapeFromTypeParam, type TypeParam } from '@pothos/core';
2
2
  import { type BuildQueryResult, type DBQueryConfig, type InferSelectModel, type SQL, type TableRelationalConfig } from 'drizzle-orm';
3
3
  import type { DrizzleRef } from './interface-ref.js';
4
- import type { DrizzleConnectionShape, ListRelation, RelatedConnectionOptions, RelatedCountOptions, RelatedFieldOptions, ShapeFromConnection, TypesForRelation, VariantFieldOptions } from './types.js';
4
+ import type { DrizzleConnectionShape, ListRelation, RelatedConnectionOptions, RelatedCountOptions, RelatedFieldOptions, RelatedSelectionFieldOptions, ShapeFromConnection, TypesForRelation, VariantFieldOptions } from './types.js';
5
5
  declare const RootBuilder: {
6
6
  new <Types extends SchemaTypes, Shape, Kind extends FieldKind>(builder: PothosSchemaTypes.SchemaBuilder<Types>, kind: FieldKind, graphqlKind: PothosSchemaTypes.PothosKindToGraphQLType[FieldKind]): PothosSchemaTypes.RootFieldBuilder<Types, Shape, Kind>;
7
7
  };
@@ -89,15 +89,8 @@ export declare class DrizzleObjectFieldBuilder<Types extends SchemaTypes, TableC
89
89
  ]>): FieldRef<Types, TypesForRelation<Types, TableConfig['relations'][Field]>, 'Object'>;
90
90
  relatedField<Field extends keyof TableConfig['relations'], Type extends TypeParam<Types>, Nullable extends boolean, Args extends InputFieldMap, Select extends DBQueryConfig<'many', Types['DrizzleRelations'], TableConfig>, ShapeWithSelection = Shape & BuildQueryResult<Types['DrizzleRelations'], TableConfig, Select & {
91
91
  columns: {};
92
- }>>(relationName: Field, options: {
93
- type: Type;
94
- nullable?: Nullable;
95
- args?: Args;
96
- description?: string;
97
- select: (buildFilter: (parentTable: TableConfig['table']) => SQL, args: Args extends InputFieldMap ? InputShapeFromFields<Args> : {}, ctx: Types['Context'], nestedQuery: (query: DBQueryConfig<'many', Types['DrizzleRelations'], TableConfig>) => DBQueryConfig<'many', Types['DrizzleRelations'], TableConfig>) => Select;
98
- resolve: (parent: ShapeWithSelection, args: Args extends InputFieldMap ? InputShapeFromFields<Args> : {}, ctx: Types['Context'], info: unknown) => ShapeFromTypeParam<Types, Type, Nullable>;
99
- }): FieldRef<Types, ShapeFromTypeParam<Types, Type, Nullable>, 'DrizzleObject'>;
100
- relatedCount<Field extends keyof TableConfig['relations'], Args extends InputFieldMap, Where extends SQL | undefined>(relationName: Field, ...allArgs: NormalizeArgs<[options: RelatedCountOptions<Types, Shape, Args, Where>]>): FieldRef<Types, number, 'DrizzleObject'>;
92
+ }>>(relationName: Field, options: RelatedSelectionFieldOptions<Types, TableConfig, Type, Nullable, Args, Select, ShapeWithSelection>): FieldRef<Types, ShapeFromTypeParam<Types, Type, Nullable>, 'DrizzleObject'>;
93
+ relatedCount<Field extends ListRelation<TableConfig>, Args extends InputFieldMap, Where extends SQL | undefined>(relationName: Field, ...allArgs: NormalizeArgs<[options: RelatedCountOptions<Types, Shape, Args, Where>]>): FieldRef<Types, number, 'DrizzleObject'>;
101
94
  expose<Type extends TypeParam<Types>, Nullable extends boolean, ResolveReturnShape, Name extends CompatibleTypes<Types, ExposableShape, Type, Nullable>>(...args: NormalizeArgs<[
102
95
  name: Name,
103
96
  options: ExposeNullability<Types, Type, ExposableShape, Name, Nullable> & Omit<PothosSchemaTypes.ObjectFieldOptions<Types, Shape, Type, Nullable, {}, ResolveReturnShape>, 'nullable' | 'select' | InferredFieldOptionKeys>
@@ -1 +1 @@
1
- {"version":3,"file":"drizzle-field-builder.d.ts","sourceRoot":"","sources":["../src/drizzle-field-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"drizzle-field-builder.d.ts","sourceRoot":"","sources":["../src/drizzle-field-builder.ts"],"names":[],"mappings":"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"}
@@ -11,13 +11,14 @@ function _define_property(obj, key, value) {
11
11
  }
12
12
  return obj;
13
13
  }
14
- import { isThenable, ObjectRef, PothosSchemaError, RootFieldBuilder } from '@pothos/core';
15
- import { and, eq, Many } from 'drizzle-orm';
16
- import { Kind as GraphQLKind, getNamedType, isInterfaceType, isObjectType } from 'graphql';
14
+ import { completeValue, isThenable, ObjectRef, PothosSchemaError, RootFieldBuilder } from '@pothos/core';
15
+ import { getLoaderMapping, selectedFieldNames } from '@pothos/selection-mapper';
16
+ import { and, Many, relationsFilterToSQL } from 'drizzle-orm';
17
17
  import { getClient, getSchemaConfig } from './utils/config.js';
18
18
  import { drizzleCursorConnectionQuery, getCursorFormatter, wrapConnectionResult } from './utils/cursors.js';
19
+ import { pathInfoFor } from './utils/path-info.js';
19
20
  import { getRefFromModel } from './utils/refs.js';
20
- import { omitUndefinedKeys } from './utils/selections.js';
21
+ import { buildRelationFilter } from './utils/relation-filter.js';
21
22
  // Workaround for FieldKind not being extended on Builder classes
22
23
  const RootBuilder = RootFieldBuilder;
23
24
  export class DrizzleObjectFieldBuilder extends RootBuilder {
@@ -60,18 +61,16 @@ export class DrizzleObjectFieldBuilder extends RootBuilder {
60
61
  }
61
62
  const ref = (_options_type = options.type) !== null && _options_type !== void 0 ? _options_type : getRefFromModel(relatedTable.name, this.builder);
62
63
  const { query = {}, extensions, ...rest } = options;
63
- const relationSelect = (args, context, nestedQuery, _resolveSelection, pathInfo)=>{
64
- const relQuery = {
64
+ // Built once per field: the select allocates nothing when the nested selection is sync. The
65
+ // nested selection already carries the field's `query` (it is merged into the child first),
66
+ // so nothing is spread over it.
67
+ const selectRelation = (nested)=>({
65
68
  columns: {},
66
69
  with: {
67
- [name]: omitUndefinedKeys({
68
- ...nestedQuery(query),
69
- ...typeof query === 'function' ? query(args, context, pathInfo) : query
70
- })
70
+ [name]: nested
71
71
  }
72
- };
73
- return relQuery;
74
- };
72
+ });
73
+ const relationSelect = (args, context, nestedQuery, _resolveSelection, pathInfo)=>completeValue(nestedQuery(typeof query === 'function' ? query(args, context, pathInfo) : query), selectRelation);
75
74
  return this.field({
76
75
  ...rest,
77
76
  type: relationField instanceof Many ? [
@@ -79,7 +78,8 @@ export class DrizzleObjectFieldBuilder extends RootBuilder {
79
78
  ] : ref,
80
79
  extensions: {
81
80
  ...extensions,
82
- pothosDrizzleSelect: relationSelect
81
+ pothosDrizzleSelect: relationSelect,
82
+ pothosDrizzleLoaded: (value)=>value[name] !== undefined
83
83
  },
84
84
  resolve: (parent)=>parent[name]
85
85
  });
@@ -91,25 +91,18 @@ export class DrizzleObjectFieldBuilder extends RootBuilder {
91
91
  if (!relationField) {
92
92
  throw new PothosSchemaError(`Could not find relation ${relationName} on table ${this.table}`);
93
93
  }
94
- const buildFilter = (parentTable)=>{
95
- const { sourceColumns, targetColumns } = relationField;
96
- return and(...sourceColumns.map((sourceCol, i)=>eq(targetColumns[i], parentTable[sourceCol.name])));
97
- };
94
+ // Explicit NOT NULL is required even for primary keys: SQLite permits nullable text and
95
+ // composite primary keys. Without a total identity the relation filter keeps EXISTS.
96
+ const targetKey = relationField.throughTable ? schemaConfig.getUniqueConstraints(relationField.targetTableName).find((columns)=>columns.every((column)=>column.notNull)) : undefined;
98
97
  const relationSelect = (args, context, nestedQuery)=>{
99
- var _selection_columns;
100
- const selection = options.select(buildFilter, args, context, nestedQuery);
101
- return {
102
- columns: (_selection_columns = selection.columns) !== null && _selection_columns !== void 0 ? _selection_columns : {},
103
- extras: selection.extras,
104
- with: selection.with
105
- };
98
+ const buildFilter = (parentTable)=>buildRelationFilter(getClient(this.builder, context), relationField, parentTable, targetKey).filter;
99
+ return completeValue(options.select(buildFilter, args, context, nestedQuery), pickSelection);
106
100
  };
101
+ const { select: _select, extensions, ...fieldOptions } = options;
107
102
  return this.field({
108
- type: options.type,
109
- nullable: options.nullable,
110
- args: options.args,
111
- description: options.description,
103
+ ...fieldOptions,
112
104
  extensions: {
105
+ ...extensions,
113
106
  pothosDrizzleSelect: relationSelect
114
107
  },
115
108
  resolve: options.resolve
@@ -122,17 +115,34 @@ export class DrizzleObjectFieldBuilder extends RootBuilder {
122
115
  const schemaConfig = getSchemaConfig(this.builder);
123
116
  const relationField = (_schemaConfig_relations = schemaConfig.relations) === null || _schemaConfig_relations === void 0 ? void 0 : _schemaConfig_relations[this.table].relations[relationName];
124
117
  const relatedTable = schemaConfig.relations[relationField.targetTableName];
118
+ // A related row counts once however many junction rows lead to it, which the count needs a
119
+ // column identifying a target row to say. Without one it falls back to counting the target
120
+ // table filtered by the relation, which says the same thing more slowly.
121
+ const targetKey = schemaConfig.findPrimaryKey(relationField.targetTableName);
122
+ const distinctBy = (targetKey === null || targetKey === void 0 ? void 0 : targetKey.length) === 1 && targetKey[0].notNull ? targetKey[0] : undefined;
123
+ // Built once per field; the `extras` function it returns is what the plan carried before.
124
+ const countExtras = (whereClause, ctx, buildFilter)=>({
125
+ extras: {
126
+ [countKey]: (parent)=>{
127
+ const client = getClient(this.builder, ctx);
128
+ if (!distinctBy) {
129
+ return client.$count(relatedTable.table, whereClause ? and(buildFilter(parent), whereClause) : buildFilter(parent));
130
+ }
131
+ return buildRelationFilter(client, relationField, parent).countDistinctRows(distinctBy, whereClause);
132
+ }
133
+ }
134
+ });
125
135
  return this.relatedField(relationName, {
126
136
  ...options,
127
137
  type: 'Int',
128
138
  nullable: false,
139
+ extensions: {
140
+ ...options.extensions,
141
+ pothosDrizzleLoaded: (value)=>value[countKey] !== undefined
142
+ },
129
143
  select: (buildFilter, args, ctx)=>{
130
144
  const whereClause = typeof where === 'function' ? where(args, ctx) : where;
131
- return {
132
- extras: {
133
- [countKey]: (parent)=>getClient(this.builder, ctx).$count(relatedTable.table, whereClause ? and(buildFilter(parent), whereClause) : buildFilter(parent))
134
- }
135
- };
145
+ return isThenable(whereClause) ? whereClause.then((resolved)=>countExtras(resolved, ctx, buildFilter)) : countExtras(whereClause, ctx, buildFilter);
136
146
  },
137
147
  resolve: (parent)=>parent[countKey]
138
148
  });
@@ -176,9 +186,9 @@ export class DrizzleObjectFieldBuilder extends RootBuilder {
176
186
  'ID'
177
187
  ])), _define_property(this, "exposeStringList", this.createExpose([
178
188
  'String'
179
- ])), _define_property(this, "table", void 0), _define_property(this, "typename", void 0), _define_property(this, "relatedConnection", function relatedConnection(name, { maxSize = (_this_builder_options_drizzle = this.builder.options.drizzle) === null || _this_builder_options_drizzle === void 0 ? void 0 : _this_builder_options_drizzle.maxConnectionSize, defaultSize = (_this_builder_options_drizzle1 = this.builder.options.drizzle) === null || _this_builder_options_drizzle1 === void 0 ? void 0 : _this_builder_options_drizzle1.defaultConnectionSize, query, resolve: _, extensions, description, totalCount, ...options } = {}, connectionOptions = {}, edgeOptions = {}) {
189
+ ])), _define_property(this, "table", void 0), _define_property(this, "typename", void 0), _define_property(this, "relatedConnection", function relatedConnection(name, { maxSize = (_this_builder_options_drizzle = this.builder.options.drizzle) === null || _this_builder_options_drizzle === void 0 ? void 0 : _this_builder_options_drizzle.maxConnectionSize, defaultSize = (_this_builder_options_drizzle1 = this.builder.options.drizzle) === null || _this_builder_options_drizzle1 === void 0 ? void 0 : _this_builder_options_drizzle1.defaultConnectionSize, query, extensions, description, totalCount, ...options } = {}, connectionOptions = {}, edgeOptions = {}) {
180
190
  var _options_type;
181
- var _schemaConfig_relations;
191
+ var _schemaConfig_relations, _this_builder_options_drizzle2;
182
192
  const schemaConfig = getSchemaConfig(this.builder);
183
193
  const relationField = (_schemaConfig_relations = schemaConfig.relations) === null || _schemaConfig_relations === void 0 ? void 0 : _schemaConfig_relations[this.table].relations[name];
184
194
  const relatedTable = schemaConfig.relations[relationField.targetTableName];
@@ -187,19 +197,31 @@ export class DrizzleObjectFieldBuilder extends RootBuilder {
187
197
  }
188
198
  const ref = (_options_type = options.type) !== null && _options_type !== void 0 ? _options_type : getRefFromModel(relationField.targetTableName, this.builder);
189
199
  let typeName;
190
- const buildCountFilter = (parentTable)=>{
191
- const { sourceColumns, targetColumns } = relationField;
192
- return and(...sourceColumns.map((sourceCol, i)=>eq(targetColumns[i], parentTable[sourceCol.name])));
200
+ const filterTotalCount = ((_this_builder_options_drizzle2 = this.builder.options.drizzle) === null || _this_builder_options_drizzle2 === void 0 ? void 0 : _this_builder_options_drizzle2.filterConnectionTotalCount) !== false;
201
+ // The count for `totalCount` matches the connection's own filter: what the relation selects
202
+ // (including a `through` join and the relation's own `where`) plus the `where` from the
203
+ // field's `query`, so the count agrees with the rows being paginated. The `where` goes
204
+ // through the same `relationsFilterToSQL` the relational query builder puts it through, and
205
+ // `countRows` combines the two in the same order, so the count's predicate is the page
206
+ // query's predicate less the limit and the keyset clauses.
207
+ const buildCount = (client, parentTable, where)=>{
208
+ const { countRows } = buildRelationFilter(client, relationField, parentTable);
209
+ if (!where || !filterTotalCount) {
210
+ return countRows();
211
+ }
212
+ return countRows(relationsFilterToSQL(relatedTable.table, where, relatedTable.relations, schemaConfig.relations));
193
213
  };
194
- const getQuery = (args, ctx, pathInfo)=>{
195
- var _ref, _ref1;
196
- const { limit, orderBy, where, ...fieldQuery } = (_ref = typeof query === 'function' ? query(args, ctx, pathInfo) : query) !== null && _ref !== void 0 ? _ref : {};
214
+ // The field's `query` may be async, so the result is a promise when it is. The `PathInfo` is
215
+ // provided by the adapter, and only read for a callback that takes one.
216
+ const resolveFieldQuery = (args, ctx, pathInfo)=>completeValue(typeof query === 'function' ? query(args, ctx, pathInfo) : query, orEmpty);
217
+ const getQuery = (args, ctx, { limit, orderBy, where, ...fieldQuery })=>{
218
+ var _ref;
197
219
  const { cursorFields, columns, ...connectionQuery } = drizzleCursorConnectionQuery({
198
220
  ctx,
199
221
  maxSize,
200
222
  defaultSize,
201
223
  args,
202
- orderBy: (_ref1 = typeof orderBy === 'function' ? orderBy(relatedTable.table) : orderBy) !== null && _ref1 !== void 0 ? _ref1 : getSchemaConfig(this.builder).getPrimaryKey(relationField.targetTableName),
224
+ orderBy: (_ref = typeof orderBy === 'function' ? orderBy(relatedTable.table) : orderBy) !== null && _ref !== void 0 ? _ref : getSchemaConfig(this.builder).getPrimaryKey(relationField.targetTableName),
203
225
  extras: fieldQuery.extras,
204
226
  where,
205
227
  config: schemaConfig,
@@ -218,23 +240,30 @@ export class DrizzleObjectFieldBuilder extends RootBuilder {
218
240
  cursorFields
219
241
  };
220
242
  };
221
- const relationSelect = (args, context, nestedQuery, getSelection, pathInfo)=>{
222
- typeName !== null && typeName !== void 0 ? typeName : typeName = this.builder.configStore.getTypeConfig(ref).name;
223
- const hasTotalCount = totalCount && !!getSelection([
224
- 'totalCount'
225
- ]);
226
- const hasEdges = !!getSelection([
227
- 'edges'
228
- ]);
229
- const hasNodes = !!getSelection([
230
- 'nodes'
231
- ]);
232
- const hasPageInfo = !!getSelection([
233
- 'pageInfo'
234
- ]);
235
- const totalCountOnly = hasTotalCount && !hasEdges && !hasNodes && !hasPageInfo;
243
+ const countKey = `_${name}_count`;
244
+ // What the document asks of this connection, read the way the planner reads it (through
245
+ // fragments, directives, and a wrapping type), so the resolve side agrees with the plan. The
246
+ // selection is read once per request and shared by every parent row.
247
+ const connectionSelectionFromNames = (selected)=>{
248
+ const hasTotalCount = !!totalCount && selected.has('totalCount');
249
+ for (const field of selected){
250
+ if (field !== 'totalCount' && field !== '__typename') {
251
+ return {
252
+ hasTotalCount,
253
+ totalCountOnly: false
254
+ };
255
+ }
256
+ }
257
+ return {
258
+ hasTotalCount,
259
+ totalCountOnly: hasTotalCount
260
+ };
261
+ };
262
+ const connectionSelection = (context, info)=>connectionSelectionFromNames(selectedFieldNames(context, info));
263
+ // Built once per field, so a synchronous plan allocates nothing beyond the map itself.
264
+ const selectConnection = (fieldQuery, nested, context, hasTotalCount, totalCountOnly)=>{
236
265
  const countSelection = {
237
- [`_${name}_count`]: (parent)=>getClient(this.builder, context).$count(relatedTable.table, buildCountFilter(parent))
266
+ [countKey]: (parent)=>buildCount(getClient(this.builder, context), parent, fieldQuery.where)
238
267
  };
239
268
  if (totalCountOnly) {
240
269
  return {
@@ -243,7 +272,21 @@ export class DrizzleObjectFieldBuilder extends RootBuilder {
243
272
  extras: countSelection
244
273
  };
245
274
  }
246
- const nested = nestedQuery(getQuery(args, context, pathInfo).select, {
275
+ return {
276
+ columns: {},
277
+ with: {
278
+ [name]: nested
279
+ },
280
+ extras: hasTotalCount ? countSelection : {}
281
+ };
282
+ };
283
+ const relationSelect = (args, context, nestedQuery, getSelection, pathInfo)=>{
284
+ typeName !== null && typeName !== void 0 ? typeName : typeName = this.builder.configStore.getTypeConfig(ref).name;
285
+ const { hasTotalCount, totalCountOnly } = connectionSelectionFromNames(getSelection());
286
+ const fieldQuery = resolveFieldQuery(args, context, pathInfo);
287
+ // The nested plan starts now, with a query that waits for the field's `query` when that is
288
+ // async, so every callback beneath the connection runs in the same tick.
289
+ const nested = totalCountOnly ? undefined : nestedQuery(isThenable(fieldQuery) ? fieldQuery.then((resolved)=>getQuery(args, context, resolved).select) : getQuery(args, context, fieldQuery).select, {
247
290
  getType: ()=>typeName,
248
291
  paths: [
249
292
  [
@@ -261,27 +304,34 @@ export class DrizzleObjectFieldBuilder extends RootBuilder {
261
304
  ]
262
305
  ]
263
306
  });
264
- return {
265
- columns: {},
266
- with: {
267
- [name]: nested
268
- },
269
- extras: hasTotalCount ? countSelection : {}
270
- };
307
+ return isThenable(fieldQuery) || isThenable(nested) ? Promise.all([
308
+ fieldQuery,
309
+ nested
310
+ ]).then(([resolvedQuery, resolvedNested])=>selectConnection(resolvedQuery, resolvedNested, context, hasTotalCount, totalCountOnly)) : selectConnection(fieldQuery, nested, context, hasTotalCount, totalCountOnly);
311
+ };
312
+ // The loaded path, per parent row: the rows are on the parent, only the page is needed.
313
+ const resolveLoaded = (fieldQuery, parent, args, context, countValue)=>{
314
+ const { select, cursorFields } = getQuery(args, context, fieldQuery);
315
+ return wrapConnectionResult(parent[name], args, select.limit, getCursorFormatter(cursorFields, schemaConfig), undefined, parent, countValue);
271
316
  };
272
317
  const fieldRef = this.connection({
273
318
  ...options,
274
319
  extensions: {
275
320
  ...extensions,
276
- pothosDrizzleSelect: relationSelect
321
+ pothosDrizzleSelect: relationSelect,
322
+ pothosDrizzleLoaded: (value, info, context)=>{
323
+ const { hasTotalCount, totalCountOnly } = connectionSelection(context, info);
324
+ return (!hasTotalCount || value[countKey] !== undefined) && (totalCountOnly || value[name] !== undefined);
325
+ }
277
326
  },
278
327
  description,
279
328
  type: ref,
280
329
  resolve: (parent, args, context, info)=>{
281
- const countKey = `_${name}_count`;
330
+ var _getLoaderMapping;
282
331
  const parentRecord = parent;
283
332
  const countValue = totalCount ? parentRecord[countKey] : undefined;
284
- if (!(name in parentRecord)) {
333
+ // Only totalCount was requested: the relation was never selected, so skip the cursors.
334
+ if (connectionSelection(context, info).totalCountOnly) {
285
335
  return {
286
336
  parent,
287
337
  args,
@@ -295,32 +345,13 @@ export class DrizzleObjectFieldBuilder extends RootBuilder {
295
345
  }
296
346
  };
297
347
  }
298
- // Detect totalCountOnly to skip cursor computation when only totalCount is requested
299
- const returnType = getNamedType(info.returnType);
300
- const fields = isObjectType(returnType) || isInterfaceType(returnType) ? returnType.getFields() : {};
301
- const totalCountOnly = info.fieldNodes.every((selection)=>{
302
- var _selection_selectionSet;
303
- return (_selection_selectionSet = selection.selectionSet) === null || _selection_selectionSet === void 0 ? void 0 : _selection_selectionSet.selections.every((s)=>{
304
- var _fields_s_name_value_extensions, _fields_s_name_value;
305
- return s.kind === GraphQLKind.FIELD && (((_fields_s_name_value = fields[s.name.value]) === null || _fields_s_name_value === void 0 ? void 0 : (_fields_s_name_value_extensions = _fields_s_name_value.extensions) === null || _fields_s_name_value_extensions === void 0 ? void 0 : _fields_s_name_value_extensions.pothosDrizzleTotalCount) || s.name.value === '__typename');
306
- });
307
- });
308
- if (totalCountOnly) {
309
- return {
310
- parent,
311
- args,
312
- totalCount: countValue,
313
- edges: [],
314
- pageInfo: {
315
- startCursor: null,
316
- endCursor: null,
317
- hasPreviousPage: false,
318
- hasNextPage: false
319
- }
320
- };
321
- }
322
- const { select, cursorFields } = getQuery(args, context);
323
- return wrapConnectionResult(parentRecord[name], args, select.limit, getCursorFormatter(cursorFields, schemaConfig), undefined, parent, countValue);
348
+ // The same position the select path planned this field at, recorded alongside its
349
+ // loader mapping, so a `query` that branches on its path pages the rows it selected.
350
+ // Asked of `parent`, because that is whose rows are being paged: a sibling row of the
351
+ // same list may have been loaded by a different plan, at a different position.
352
+ const position = (_getLoaderMapping = getLoaderMapping(context, info.path, info.parentType.name, parent)) === null || _getLoaderMapping === void 0 ? void 0 : _getLoaderMapping.position;
353
+ const fieldQuery = resolveFieldQuery(args, context, pathInfoFor(position));
354
+ return isThenable(fieldQuery) ? fieldQuery.then((resolved)=>resolveLoaded(resolved, parent, args, context, countValue)) : resolveLoaded(fieldQuery, parent, args, context, countValue);
324
355
  }
325
356
  }, connectionOptions instanceof ObjectRef ? connectionOptions : {
326
357
  ...connectionOptions,
@@ -344,5 +375,16 @@ export class DrizzleObjectFieldBuilder extends RootBuilder {
344
375
  this.typename = typename;
345
376
  }
346
377
  }
378
+ /** A relation `query` callback may return nothing; the connection then adds no filter. */ function orEmpty(query) {
379
+ return query !== null && query !== void 0 ? query : {};
380
+ }
381
+ /** A `relatedField` select's map, with the columns it may have left out defaulted. */ function pickSelection(selection) {
382
+ var _ref;
383
+ return {
384
+ columns: (_ref = selection === null || selection === void 0 ? void 0 : selection.columns) !== null && _ref !== void 0 ? _ref : {},
385
+ extras: selection === null || selection === void 0 ? void 0 : selection.extras,
386
+ with: selection === null || selection === void 0 ? void 0 : selection.with
387
+ };
388
+ }
347
389
 
348
390
  //# sourceMappingURL=drizzle-field-builder.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/drizzle-field-builder.ts"],"names":["isThenable","ObjectRef","PothosSchemaError","RootFieldBuilder","and","eq","Many","Kind","GraphQLKind","getNamedType","isInterfaceType","isObjectType","getClient","getSchemaConfig","drizzleCursorConnectionQuery","getCursorFormatter","wrapConnectionResult","getRefFromModel","omitUndefinedKeys","RootBuilder","DrizzleObjectFieldBuilder","variant","allArgs","isNull","nullable","options","ref","builder","selfSelect","_args","_context","nestedQuery","select","field","type","extensions","pothosDrizzleSelect","resolve","parent","args","context","info","parentIsNull","then","resolved","relation","name","schemaConfig","relationField","relations","table","relatedTable","targetTableName","query","rest","relationSelect","_resolveSelection","pathInfo","relQuery","columns","with","relatedField","relationName","buildFilter","parentTable","sourceColumns","targetColumns","map","sourceCol","i","selection","extras","description","relatedCount","where","countKey","ctx","whereClause","$count","expose","typeConfig","configStore","getTypeConfig","typename","graphqlKind","usingSelect","exposeField","pothosDrizzleVariant","createExpose","exposeBoolean","exposeFloat","exposeInt","exposeID","exposeString","exposeBooleanList","exposeFloatList","exposeIntList","exposeIDList","exposeStringList","relatedConnection","maxSize","drizzle","maxConnectionSize","defaultSize","defaultConnectionSize","_","totalCount","connectionOptions","edgeOptions","typeName","buildCountFilter","getQuery","limit","orderBy","fieldQuery","cursorFields","connectionQuery","getPrimaryKey","config","Math","abs","getSelection","hasTotalCount","hasEdges","hasNodes","hasPageInfo","totalCountOnly","countSelection","nested","getType","paths","fieldRef","connection","parentRecord","countValue","undefined","edges","pageInfo","startCursor","endCursor","hasPreviousPage","hasNextPage","returnType","fields","getFields","fieldNodes","every","selectionSet","selections","s","kind","FIELD","value","pothosDrizzleTotalCount","t","int"],"mappings":"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"}
1
+ {"version":3,"sources":["../src/drizzle-field-builder.ts"],"names":["completeValue","isThenable","ObjectRef","PothosSchemaError","RootFieldBuilder","getLoaderMapping","selectedFieldNames","and","Many","relationsFilterToSQL","getClient","getSchemaConfig","drizzleCursorConnectionQuery","getCursorFormatter","wrapConnectionResult","pathInfoFor","getRefFromModel","buildRelationFilter","RootBuilder","DrizzleObjectFieldBuilder","variant","allArgs","isNull","nullable","options","ref","builder","selfSelect","_args","_context","nestedQuery","select","field","type","extensions","pothosDrizzleSelect","resolve","parent","args","context","info","parentIsNull","then","resolved","relation","name","schemaConfig","relationField","relations","table","relatedTable","targetTableName","query","rest","selectRelation","nested","columns","with","relationSelect","_resolveSelection","pathInfo","pothosDrizzleLoaded","value","undefined","relatedField","relationName","targetKey","throughTable","getUniqueConstraints","find","every","column","notNull","buildFilter","parentTable","filter","pickSelection","_select","fieldOptions","relatedCount","where","countKey","findPrimaryKey","distinctBy","length","countExtras","whereClause","ctx","extras","client","$count","countDistinctRows","expose","typeConfig","configStore","getTypeConfig","typename","graphqlKind","usingSelect","exposeField","pothosDrizzleVariant","createExpose","exposeBoolean","exposeFloat","exposeInt","exposeID","exposeString","exposeBooleanList","exposeFloatList","exposeIntList","exposeIDList","exposeStringList","relatedConnection","maxSize","drizzle","maxConnectionSize","defaultSize","defaultConnectionSize","description","totalCount","connectionOptions","edgeOptions","typeName","filterTotalCount","filterConnectionTotalCount","buildCount","countRows","resolveFieldQuery","orEmpty","getQuery","limit","orderBy","fieldQuery","cursorFields","connectionQuery","getPrimaryKey","config","Math","abs","connectionSelectionFromNames","selected","hasTotalCount","has","totalCountOnly","connectionSelection","selectConnection","countSelection","getSelection","getType","paths","Promise","all","resolvedQuery","resolvedNested","resolveLoaded","countValue","fieldRef","connection","parentRecord","edges","pageInfo","startCursor","endCursor","hasPreviousPage","hasNextPage","position","path","parentType","fields","t","int","pothosDrizzleTotalCount","selection"],"mappings":";;;;;;;;;;;;;AAAA,SAEEA,aAAa,EAObC,UAAU,EAGVC,SAAS,EAETC,iBAAiB,EACjBC,gBAAgB,QAIX,eAAe;AACtB,SACEC,gBAAgB,EAEhBC,kBAAkB,QACb,2BAA2B;AAClC,SACEC,GAAG,EAIHC,IAAI,EAEJC,oBAAoB,QAKf,cAAc;AAerB,SAASC,SAAS,EAAEC,eAAe,QAAQ,oBAAoB;AAC/D,SAEEC,4BAA4B,EAC5BC,kBAAkB,EAClBC,oBAAoB,QACf,qBAAqB;AAC5B,SAASC,WAAW,QAAQ,uBAAuB;AACnD,SAASC,eAAe,QAAQ,kBAAkB;AAClD,SAASC,mBAAmB,QAAmC,6BAA6B;AAG5F,iEAAiE;AACjE,MAAMC,cAMFd;AAWJ,OAAO,MAAMe,kCAKHD;IA+aRE,QAOEA,OAAgB,EAChB,GAAGC,OAaF,EACyC;QAC1C,MAAM,CAAC,EAAEC,MAAM,EAAEC,QAAQ,EAAE,GAAGC,SAAS,GAAG,CAAC,CAAU,CAAC,GAAGH;QACzD,MAAMI,MACJ,OAAOL,YAAY,WAAWJ,gBAAgBI,SAAS,IAAI,CAACM,OAAO,IAAIN;QAEzE,MAAMO,aAAa,CACjBC,OACAC,UACAC;gBACeN;mBAAZM,aAAYN,kBAAAA,QAAQO,MAAM,cAAdP,6BAAAA,kBAAkB,CAAC;;QAEpC,OAAO,IAAI,CAACQ,KAAK,CAAC;YAChB,GAAIR,OAAO;YACXS,MAAMR;YACNS,YAAY;mBACPV,oBAAAA,8BAAAA,QAASU,UAAU,AAAtB;gBACAC,qBAAqBR;YACvB;YACAJ,QAAQ,EAAEA,qBAAAA,sBAAAA,WAAY,CAAC,CAACD;YACxBc,SAASd,SACL,CAACe,QAAQC,MAAMC,SAASC;gBACtB,MAAMC,eAAenB,OAAOe,QAAiBC,MAAeC,SAASC;gBACrE,IAAIC,cAAc;oBAChB,IAAIxC,WAAWwC,eAAe;wBAC5B,OAAOA,aAAaC,IAAI,CAAC,CAACC,WAAcA,WAAW,OAAON;oBAC5D;oBACA,OAAO;gBACT;gBACA,OAAOA;YACT,IACA,CAACA,SAAWA;QAClB;IACF;IAEAO,SAMEC,IAAW,EACX,GAAGxB,OAYF,EACoF;YAWzEG;YARUsB;QAFtB,MAAM,CAACtB,UAAU,CAAC,CAAU,CAAC,GAAGH;QAChC,MAAMyB,eAAenC,gBAAgB,IAAI,CAACe,OAAO;QACjD,MAAMqB,iBAAgBD,0BAAAA,aAAaE,SAAS,cAAtBF,8CAAAA,uBAAwB,CAAC,IAAI,CAACG,KAAK,CAAC,CAACD,SAAS,CAACH,KAAe;QACpF,MAAMK,eAAeJ,aAAaE,SAAS,CAACD,cAAcI,eAAe,CAAC;QAE1E,IAAI,CAACD,cAAc;YACjB,MAAM,IAAI/C,kBACR,CAAC,wBAAwB,EAAE0C,KAAe,UAAU,EAAE,IAAI,CAACI,KAAK,EAAE;QAEtE;QACA,MAAMxB,OAAMD,gBAAAA,QAAQS,IAAI,cAAZT,2BAAAA,gBAAgBR,gBAAgBkC,aAAaL,IAAI,EAAE,IAAI,CAACnB,OAAO;QAE3E,MAAM,EAAE0B,QAAQ,CAAC,CAAC,EAAElB,UAAU,EAAE,GAAGmB,MAAM,GAAG7B;QAE5C,4FAA4F;QAC5F,4FAA4F;QAC5F,gCAAgC;QAChC,MAAM8B,iBAAiB,CAACC,SAAqB,CAAA;gBAAEC,SAAS,CAAC;gBAAGC,MAAM;oBAAE,CAACZ,KAAK,EAAEU;gBAAO;YAAE,CAAA;QACrF,MAAMG,iBAAiB,CACrBpB,MACAC,SACAT,aACA6B,mBACAC,WAEA5D,cACE8B,YACE,OAAOsB,UAAU,aACb,AAACA,MAA6Dd,MAAMC,SAASqB,YAC7ER,QAENE;QAGJ,OAAO,IAAI,CAACtB,KAAK,CAAC;YAChB,GAAIqB,IAAI;YACRpB,MAAMc,yBAAyBvC,OAAO;gBAACiB;aAAI,GAAGA;YAC9CS,YAAY;gBACV,GAAGA,UAAU;gBACbC,qBAAqBuB;gBACrBG,qBAAqB,CAACC,QACpBA,KAAK,CAACjB,KAAe,KAAKkB;YAC9B;YACA3B,SAAS,CAACC,SAAkCA,MAAM,CAACQ,KAAe;QACpE;IACF;IAEAmB,aASEC,YAAmB,EACnBzC,OAQC,EAC4E;YAEvDsB;QADtB,MAAMA,eAAenC,gBAAgB,IAAI,CAACe,OAAO;QACjD,MAAMqB,iBAAgBD,0BAAAA,aAAaE,SAAS,cAAtBF,8CAAAA,uBAAwB,CAAC,IAAI,CAACG,KAAK,CAAC,CAACD,SAAS,CAACiB,aAAuB;QAE5F,IAAI,CAAClB,eAAe;YAClB,MAAM,IAAI5C,kBACR,CAAC,wBAAwB,EAAE8D,aAAuB,UAAU,EAAE,IAAI,CAAChB,KAAK,EAAE;QAE9E;QAEA,wFAAwF;QACxF,qFAAqF;QACrF,MAAMiB,YAAYnB,cAAcoB,YAAY,GACxCrB,aACGsB,oBAAoB,CAACrB,cAAcI,eAAe,EAClDkB,IAAI,CAAC,CAACb,UAAYA,QAAQc,KAAK,CAAC,CAACC,SAAWA,OAAOC,OAAO,KAC7DT;QAEJ,MAAML,iBAAiB,CACrBpB,MACAC,SACAT;YAEA,MAAM2C,cAAc,CAACC,cACnBzD,oBACEP,UAAU,IAAI,CAACgB,OAAO,EAAEa,UACxBQ,eACA2B,aACAR,WACAS,MAAM;YAEV,OAAO3E,cACLwB,QAAQO,MAAM,CAAC0C,aAAsBnC,MAAeC,SAAST,cAG7D8C;QAEJ;QAEA,MAAM,EAAE7C,QAAQ8C,OAAO,EAAE3C,UAAU,EAAE,GAAG4C,cAAc,GAAGtD;QAEzD,OAAO,IAAI,CAACQ,KAAK,CAAC;YAChB,GAAG8C,YAAY;YACf5C,YAAY;gBACV,GAAGA,UAAU;gBACbC,qBAAqBuB;YACvB;YACAtB,SAASZ,QAAQY,OAAO;QAC1B;IACF;IAEA2C,aAKEd,YAAmB,EACnB,GAAG5C,OAAiF,EAC1C;YAIpByB;QAHtB,MAAM,CAAC,EAAEkC,KAAK,EAAE,GAAGxD,SAAS,GAAG,CAAC,CAAU,CAAC,GAAGH;QAC9C,MAAM4D,WAAW,CAAC,CAAC,EAAEhB,aAAuB,MAAM,CAAC;QACnD,MAAMnB,eAAenC,gBAAgB,IAAI,CAACe,OAAO;QACjD,MAAMqB,iBAAgBD,0BAAAA,aAAaE,SAAS,cAAtBF,8CAAAA,uBAAwB,CAAC,IAAI,CAACG,KAAK,CAAC,CAACD,SAAS,CAACiB,aAAuB;QAC5F,MAAMf,eAAeJ,aAAaE,SAAS,CAACD,cAAcI,eAAe,CAAC;QAC1E,2FAA2F;QAC3F,2FAA2F;QAC3F,yEAAyE;QACzE,MAAMe,YAAYpB,aAAaoC,cAAc,CAACnC,cAAcI,eAAe;QAC3E,MAAMgC,aAAajB,CAAAA,sBAAAA,gCAAAA,UAAWkB,MAAM,MAAK,KAAKlB,SAAS,CAAC,EAAE,CAACM,OAAO,GAAGN,SAAS,CAAC,EAAE,GAAGH;QAEpF,0FAA0F;QAC1F,MAAMsB,cAAc,CAClBC,aACAC,KACAd,cAEC,CAAA;gBACCe,QAAQ;oBACN,CAACP,SAAS,EAAE,CAAC5C;wBACX,MAAMoD,SAAS/E,UAAU,IAAI,CAACgB,OAAO,EAAE6D;wBAEvC,IAAI,CAACJ,YAAY;4BACf,OAAOM,OAAOC,MAAM,CAClBxC,aAAaD,KAAK,EAClBqC,cAAc/E,IAAIkE,YAAYpC,SAASiD,eAAeb,YAAYpC;wBAEtE;wBAEA,OAAOpB,oBACLwE,QACA1C,eACAV,QACAsD,iBAAiB,CAACR,YAAYG;oBAClC;gBACF;YACF,CAAA;QAEF,OAAO,IAAI,CAACtB,YAAY,CAACC,cAAc;YACrC,GAAGzC,OAAO;YACVS,MAAM;YACNV,UAAU;YACVW,YAAY;gBACV,GAAG,AAACV,QAAqDU,UAAU;gBACnE2B,qBAAqB,CAACC,QAAmCA,KAAK,CAACmB,SAAS,KAAKlB;YAC/E;YACAhC,QAAQ,CACN0C,aACAnC,MACAiD;gBAEA,MAAMD,cACJ,OAAON,UAAU,aACb,AAACA,MAAyE1C,MAAMiD,OAChFP;gBAEN,OAAO/E,WAAWqF,eACdA,YAAY5C,IAAI,CAAC,CAACC,WAChB0C,YAAY1C,UAA6B4C,KAAKd,gBAEhDY,YAAYC,aAAaC,KAAKd;YACpC;YACArC,SAAS,CAACC,SAAmCA,MAAM,CAAC4C,SAAS;QAC/D;IACF;IAEAW,OAME,GAAGtD,IAgBF,EAC4E;YAIvDuD;QAHtB,MAAM,CAAChD,MAAMrB,UAAU,CAAC,CAAU,CAAC,GAAGc;QAEtC,MAAMuD,aAAa,IAAI,CAACnE,OAAO,CAACoE,WAAW,CAACC,aAAa,CAAC,IAAI,CAACC,QAAQ,EAAE,IAAI,CAACC,WAAW;QACzF,MAAMC,cAAc,CAAC,GAACL,yBAAAA,WAAW3D,UAAU,cAArB2D,6CAAAA,uBAAuB1D,mBAAmB;QAEhE,OAAO,IAAI,CAACgE,WAAW,CAAwBtD,MAAe;YAC5D,GAAGrB,OAAO;YACVU,YAAY;gBACV,GAAGV,QAAQU,UAAU;gBACrBkE,sBAAsBvD;gBACtBV,qBAAqB+D,eAAe;oBAClC1C,SAAS;wBAAE,CAACX,KAAe,EAAE;oBAAK;gBACpC;YACF;QACF;IACF;IAEQwD,aAA4CpE,IAAU,EAAE;QAC9D,OAAO,CAUL,GAAGK;YAoBH,MAAM,CAACO,MAAMrB,UAAU,CAAC,CAAU,CAAC,GAAGc;YAEtC,OAAO,IAAI,CAACsD,MAAM,CAChB/C,MACA;gBACE,GAAGrB,OAAO;gBACVS;YACF;QAEJ;IACF;IA1WA,YACE+D,QAAgB,EAChBtE,OAA+C,EAC/CuB,KAAa,EACbgD,cAAoE,QAAQ,CAC5E;YArUY,+BACI;QAqUhB,KAAK,CAACvE,SAAS,iBAAiBuE,cAxalCK,uBAAAA,iBAAgB,IAAI,CAACD,YAAY,CAAC,aAElCE,uBAAAA,eAAc,IAAI,CAACF,YAAY,CAAC,WAEhCG,uBAAAA,aAAY,IAAI,CAACH,YAAY,CAAC,SAE9BI,uBAAAA,YAAW,IAAI,CAACJ,YAAY,CAAC,QAE7BK,uBAAAA,gBAAe,IAAI,CAACL,YAAY,CAAC,YAEjCM,uBAAAA,qBAAoB,IAAI,CAACN,YAAY,CAAC;YAAC;SAAU,IAEjDO,uBAAAA,mBAAkB,IAAI,CAACP,YAAY,CAAC;YAAC;SAAQ,IAE7CQ,uBAAAA,iBAAgB,IAAI,CAACR,YAAY,CAAC;YAAC;SAAM,IAEzCS,uBAAAA,gBAAe,IAAI,CAACT,YAAY,CAAC;YAAC;SAAK,IAEvCU,uBAAAA,oBAAmB,IAAI,CAACV,YAAY,CAAC;YAAC;SAAS,IAE/CpD,uBAAAA,SAAAA,KAAAA,IAEA+C,uBAAAA,YAAAA,KAAAA,IAEAgB,uBAAAA,qBAsE4D,SAASA,kBAEnEnE,IAAY,EACZ,EACEoE,WAAU,gCAAA,IAAI,CAACvF,OAAO,CAACF,OAAO,CAAC0F,OAAO,cAA5B,oDAAA,8BAA8BC,iBAAiB,EACzDC,eAAc,iCAAA,IAAI,CAAC1F,OAAO,CAACF,OAAO,CAAC0F,OAAO,cAA5B,qDAAA,+BAA8BG,qBAAqB,EACjEjE,KAAK,EACLlB,UAAU,EACVoF,WAAW,EACXC,UAAU,EACV,GAAG/F,SASJ,GAAG,CAAC,CAAC,EACNgG,oBAAoB,CAAC,CAAC,EACtBC,cAAc,CAAC,CAAC;gBAYJjG;gBATUsB,yBAYG;YAbzB,MAAMA,eAAenC,gBAAgB,IAAI,CAACe,OAAO;YACjD,MAAMqB,iBAAgBD,0BAAAA,aAAaE,SAAS,cAAtBF,8CAAAA,uBAAwB,CAAC,IAAI,CAACG,KAAK,CAAC,CAACD,SAAS,CAACH,KAAe;YACpF,MAAMK,eAAeJ,aAAaE,SAAS,CAACD,cAAcI,eAAe,CAAC;YAE1E,IAAI,CAACD,cAAc;gBACjB,MAAM,IAAI/C,kBACR,CAAC,wBAAwB,EAAE0C,KAAe,UAAU,EAAE,IAAI,CAACI,KAAK,EAAE;YAEtE;YAEA,MAAMxB,OAAMD,gBAAAA,QAAQS,IAAI,cAAZT,2BAAAA,gBAAgBR,gBAAgB+B,cAAcI,eAAe,EAAE,IAAI,CAACzB,OAAO;YACvF,IAAIgG;YAEJ,MAAMC,mBAAmB,EAAA,iCAAA,IAAI,CAACjG,OAAO,CAACF,OAAO,CAAC0F,OAAO,cAA5B,qDAAA,+BAA8BU,0BAA0B,MAAK;YAEtF,4FAA4F;YAC5F,wFAAwF;YACxF,uFAAuF;YACvF,4FAA4F;YAC5F,uFAAuF;YACvF,2DAA2D;YAC3D,MAAMC,aAAa,CACjBpC,QACAf,aACAM;gBAEA,MAAM,EAAE8C,SAAS,EAAE,GAAG7G,oBACpBwE,QACA1C,eACA2B;gBAGF,IAAI,CAACM,SAAS,CAAC2C,kBAAkB;oBAC/B,OAAOG;gBACT;gBAEA,OAAOA,UACL,AAACrH,qBACCyC,aAAaD,KAAK,EAClB+B,OACA9B,aAAaF,SAAS,EACtBF,aAAaE,SAAS;YAG5B;YAUA,6FAA6F;YAC7F,wEAAwE;YACxE,MAAM+E,oBAAoB,CACxBzF,MACAiD,KACA3B,WAEA5D,cACG,OAAOoD,UAAU,aACd,AACEA,MAKAd,MAAMiD,KAAK3B,YACbR,OACJ4E;YAGJ,MAAMC,WAAW,CACf3F,MACAiD,KACA,EAAE2C,KAAK,EAAEC,OAAO,EAAEnD,KAAK,EAAE,GAAGoD,YAAkC;oBAQzD;gBANL,MAAM,EAAEC,YAAY,EAAE7E,OAAO,EAAE,GAAG8E,iBAAiB,GAAG1H,6BAA6B;oBACjF2E;oBACA0B;oBACAG;oBACA9E;oBACA6F,OAAO,GACJ,OAAA,OAAOA,YAAY,aAAaA,QAAQjF,aAAaD,KAAK,IAAIkF,qBAA9D,kBAAA,OACDxH,gBAAgB,IAAI,CAACe,OAAO,EAAE6G,aAAa,CAACxF,cAAcI,eAAe;oBAC3EqC,QAAQ4C,WAAW5C,MAAM;oBACzBR;oBACAwD,QAAQ1F;oBACRG,OAAOC;gBACT;gBAEA,OAAO;oBACLnB,QAAQ;wBACN,GAAGqG,UAAU;wBACb,GAAGE,eAAe;wBAClB9E,SAAS;4BACP,GAAG4E,WAAW5E,OAAO;4BACrB,GAAGA,OAAO;wBACZ;wBACA0E,OAAOO,KAAKC,GAAG,CAACR,kBAAAA,mBAAAA,QAASI,gBAAgBJ,KAAK;oBAChD;oBACAG;gBACF;YACF;YAEA,MAAMpD,WAAW,CAAC,CAAC,EAAEpC,KAAe,MAAM,CAAC;YAE3C,wFAAwF;YACxF,6FAA6F;YAC7F,qEAAqE;YACrE,MAAM8F,+BAA+B,CAACC;gBACpC,MAAMC,gBAAgB,CAAC,CAACtB,cAAcqB,SAASE,GAAG,CAAC;gBACnD,KAAK,MAAM9G,SAAS4G,SAAU;oBAC5B,IAAI5G,UAAU,gBAAgBA,UAAU,cAAc;wBACpD,OAAO;4BAAE6G;4BAAeE,gBAAgB;wBAAM;oBAChD;gBACF;gBACA,OAAO;oBAAEF;oBAAeE,gBAAgBF;gBAAc;YACxD;YACA,MAAMG,sBAAsB,CAACzG,SAAiBC,OAC5CmG,6BAA6BrI,mBAAmBiC,SAASC;YAE3D,uFAAuF;YACvF,MAAMyG,mBAAmB,CACvBb,YACA7E,QACAhB,SACAsG,eACAE;gBAEA,MAAMG,iBAAiB;oBACrB,CAACjE,SAAS,EAAE,CAAC5C,SACXwF,WAAWnH,UAAU,IAAI,CAACgB,OAAO,EAAEa,UAAUF,QAAQ+F,WAAWpD,KAAK;gBACzE;gBAEA,IAAI+D,gBAAgB;oBAClB,OAAO;wBACLvF,SAAS,CAAC;wBACVC,MAAM,CAAC;wBACP+B,QAAQ0D;oBACV;gBACF;gBAEA,OAAO;oBACL1F,SAAS,CAAC;oBACVC,MAAM;wBACJ,CAACZ,KAAK,EAAEU;oBACV;oBACAiC,QAAQqD,gBAAgBK,iBAAiB,CAAC;gBAC5C;YACF;YAEA,MAAMxF,iBAAiB,CACrBpB,MACAC,SACAT,aACAqH,cACAvF;gBAEA8D,qBAAAA,sBAAAA,WAAAA,WAAa,IAAI,CAAChG,OAAO,CAACoE,WAAW,CAACC,aAAa,CAACtE,KAAKoB,IAAI;gBAE7D,MAAM,EAAEgG,aAAa,EAAEE,cAAc,EAAE,GAAGJ,6BAA6BQ;gBACvE,MAAMf,aAAaL,kBAAkBzF,MAAMC,SAASqB;gBACpD,2FAA2F;gBAC3F,yEAAyE;gBACzE,MAAML,SAASwF,iBACXhF,YACCjC,YACC7B,WAAWmI,cACPA,WAAW1F,IAAI,CAAC,CAACC,WAAasF,SAAS3F,MAAMC,SAASI,UAAUZ,MAAM,IACtEkG,SAAS3F,MAAMC,SAAS6F,YAAYrG,MAAM,EAC9C;oBACEqH,SAAS,IAAM1B;oBACf2B,OAAO;wBAAC;4BAAC;gCAAExG,MAAM;4BAAQ;yBAAE;wBAAE;4BAAC;gCAAEA,MAAM;4BAAQ;4BAAG;gCAAEA,MAAM;4BAAO;yBAAE;qBAAC;gBACrE;gBAGN,OAAO5C,WAAWmI,eAAenI,WAAWsD,UACxC+F,QAAQC,GAAG,CAAC;oBAACnB;oBAAY7E;iBAAO,EAAEb,IAAI,CAAC,CAAC,CAAC8G,eAAeC,eAAe,GACrER,iBAAiBO,eAAeC,gBAAgBlH,SAASsG,eAAeE,mBAE1EE,iBAAiBb,YAAY7E,QAAQhB,SAASsG,eAAeE;YACnE;YAEA,wFAAwF;YACxF,MAAMW,gBAAgB,CACpBtB,YACA/F,QACAC,MACAC,SACAoH;gBAEA,MAAM,EAAE5H,MAAM,EAAEsG,YAAY,EAAE,GAAGJ,SAAS3F,MAAMC,SAAS6F;gBAEzD,OAAOtH,qBACL,AAACuB,MAAkC,CAACQ,KAAK,EACzCP,MACAP,OAAOmG,KAAK,EACZrH,mBAAmBwH,cAAcvF,eACjCiB,WACA1B,QACAsH;YAEJ;YACA,MAAMC,WAAW,AACf,IAAI,CAGJC,UAAU,CACV;gBACE,GAAGrI,OAAO;gBACVU,YAAY;oBACV,GAAGA,UAAU;oBACbC,qBAAqBuB;oBACrBG,qBAAqB,CACnBC,OACAtB,MACAD;wBAEA,MAAM,EAAEsG,aAAa,EAAEE,cAAc,EAAE,GAAGC,oBAAoBzG,SAASC;wBAEvE,OACE,AAAC,CAAA,CAACqG,iBAAiB/E,KAAK,CAACmB,SAAS,KAAKlB,SAAQ,KAC9CgF,CAAAA,kBAAkBjF,KAAK,CAACjB,KAAe,KAAKkB,SAAQ;oBAEzD;gBACF;gBACAuD;gBACArF,MAAMR;gBACNW,SAAS,CACPC,QACAC,MACAC,SACAC;wBA2BiBnC;oBAzBjB,MAAMyJ,eAAezH;oBACrB,MAAMsH,aAAapC,aACduC,YAAY,CAAC7E,SAAS,GACvBlB;oBAEJ,uFAAuF;oBACvF,IAAIiF,oBAAoBzG,SAASC,MAAMuG,cAAc,EAAE;wBACrD,OAAO;4BACL1G;4BACAC;4BACAiF,YAAYoC;4BACZI,OAAO,EAAE;4BACTC,UAAU;gCACRC,aAAa;gCACbC,WAAW;gCACXC,iBAAiB;gCACjBC,aAAa;4BACf;wBACF;oBACF;oBAEA,kFAAkF;oBAClF,qFAAqF;oBACrF,sFAAsF;oBACtF,+EAA+E;oBAC/E,MAAMC,YAAWhK,oBAAAA,iBACfkC,SACAC,KAAK8H,IAAI,EACT9H,KAAK+H,UAAU,CAAC1H,IAAI,EACpBR,qBAJehC,wCAAAA,kBAKdgK,QAAQ;oBACX,MAAMjC,aAAaL,kBAAkBzF,MAAMC,SAASxB,YAAYsJ;oBAEhE,OAAOpK,WAAWmI,cACdA,WAAW1F,IAAI,CAAC,CAACC,WACf+G,cAAc/G,UAAUN,QAAQC,MAAMC,SAASoH,eAEjDD,cAActB,YAAY/F,QAAQC,MAAMC,SAASoH;gBACvD;YACF,GACAnC,6BAA6BtH,YACzBsH,oBACA;gBACE,GAAGA,iBAAiB;gBACpBgD,QAAQjD,aACJ,CACEkD;wBASG;2BARC;wBACJlD,YAAYkD,EAAEC,GAAG,CAAC;4BAChBnJ,UAAU;4BACVW,YAAY;gCACVyI,yBAAyB;4BAC3B;4BACAvI,SAAS,CAACyH,aAAeA,WAAWtC,UAAU;wBAChD;4BACG,4BAAA,AAACC,kBAAsDgD,MAAM,cAA7D,gDAAA,+BAAChD,mBAA+DiD,EAAnE;oBACF;oBACA,AAACjD,kBAA4CgD,MAAM;YACzD,GACJ/C;YAEF,OAAOmC;QACT;QAUE,IAAI,CAAC3G,KAAK,GAAGA;QACb,IAAI,CAAC+C,QAAQ,GAAGA;IAClB;AAiWF;AAEA,wFAAwF,GACxF,SAASgC,QAA0B5E,KAA2B;IAC5D,OAAOA,kBAAAA,mBAAAA,QAAU,CAAC;AACpB;AAEA,oFAAoF,GACpF,SAASwB,cAAcgG,SAAyE;;IAC9F,OAAO;QACLpH,OAAO,UAAEoH,sBAAAA,gCAAAA,UAAWpH,OAAO,uCAAI,CAAC;QAChCgC,MAAM,EAAEoF,sBAAAA,gCAAAA,UAAWpF,MAAM;QACzB/B,IAAI,EAAEmH,sBAAAA,gCAAAA,UAAWnH,IAAI;IACvB;AACF"}