@pothos/plugin-prisma 0.17.1 → 0.19.0

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 (168) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/README.md +403 -308
  3. package/esm/field-builder.js +12 -14
  4. package/esm/field-builder.js.map +1 -1
  5. package/esm/generator.js +4 -0
  6. package/esm/generator.js.map +1 -1
  7. package/esm/global-types.d.ts +23 -5
  8. package/esm/global-types.d.ts.map +1 -1
  9. package/esm/index.d.ts +4 -1
  10. package/esm/index.d.ts.map +1 -1
  11. package/esm/index.js +46 -1
  12. package/esm/index.js.map +1 -1
  13. package/esm/model-loader.d.ts +5 -6
  14. package/esm/model-loader.d.ts.map +1 -1
  15. package/esm/model-loader.js +12 -69
  16. package/esm/model-loader.js.map +1 -1
  17. package/esm/prisma-field-builder.d.ts +25 -6
  18. package/esm/prisma-field-builder.d.ts.map +1 -1
  19. package/esm/prisma-field-builder.js +86 -117
  20. package/esm/prisma-field-builder.js.map +1 -1
  21. package/esm/schema-builder.js +15 -4
  22. package/esm/schema-builder.js.map +1 -1
  23. package/esm/types.d.ts +73 -77
  24. package/esm/types.d.ts.map +1 -1
  25. package/esm/types.js +1 -0
  26. package/esm/types.js.map +1 -1
  27. package/esm/{cursors.d.ts → util/cursors.d.ts} +10 -8
  28. package/esm/util/cursors.d.ts.map +1 -0
  29. package/esm/{cursors.js → util/cursors.js} +34 -13
  30. package/esm/util/cursors.js.map +1 -0
  31. package/{lib/refs.d.ts → esm/util/datamodel.d.ts} +9 -8
  32. package/esm/util/datamodel.d.ts.map +1 -0
  33. package/esm/{refs.js → util/datamodel.js} +27 -30
  34. package/esm/util/datamodel.js.map +1 -0
  35. package/esm/util/deep-equal.d.ts +2 -0
  36. package/esm/util/deep-equal.d.ts.map +1 -0
  37. package/esm/util/deep-equal.js +39 -0
  38. package/esm/util/deep-equal.js.map +1 -0
  39. package/esm/util/loader-map.d.ts +6 -0
  40. package/esm/util/loader-map.d.ts.map +1 -0
  41. package/esm/{loader-map.js → util/loader-map.js} +10 -12
  42. package/esm/util/loader-map.js.map +1 -0
  43. package/esm/util/map-query.d.ts +6 -0
  44. package/esm/util/map-query.d.ts.map +1 -0
  45. package/esm/util/map-query.js +169 -0
  46. package/esm/util/map-query.js.map +1 -0
  47. package/esm/util/relation-map.d.ts +9 -0
  48. package/esm/util/relation-map.d.ts.map +1 -0
  49. package/esm/util/relation-map.js +20 -0
  50. package/esm/util/relation-map.js.map +1 -0
  51. package/esm/util/selections.d.ts +20 -0
  52. package/esm/util/selections.d.ts.map +1 -0
  53. package/esm/util/selections.js +139 -0
  54. package/esm/util/selections.js.map +1 -0
  55. package/lib/field-builder.js +16 -18
  56. package/lib/field-builder.js.map +1 -1
  57. package/lib/generator.js +4 -0
  58. package/lib/generator.js.map +1 -1
  59. package/lib/global-types.d.ts +23 -5
  60. package/lib/global-types.d.ts.map +1 -1
  61. package/lib/index.d.ts +4 -1
  62. package/lib/index.d.ts.map +1 -1
  63. package/lib/index.js +45 -0
  64. package/lib/index.js.map +1 -1
  65. package/lib/model-loader.d.ts +5 -6
  66. package/lib/model-loader.d.ts.map +1 -1
  67. package/lib/model-loader.js +13 -70
  68. package/lib/model-loader.js.map +1 -1
  69. package/lib/prisma-field-builder.d.ts +25 -6
  70. package/lib/prisma-field-builder.d.ts.map +1 -1
  71. package/lib/prisma-field-builder.js +90 -121
  72. package/lib/prisma-field-builder.js.map +1 -1
  73. package/lib/schema-builder.js +18 -7
  74. package/lib/schema-builder.js.map +1 -1
  75. package/lib/types.d.ts +73 -77
  76. package/lib/types.d.ts.map +1 -1
  77. package/lib/types.js +2 -0
  78. package/lib/types.js.map +1 -1
  79. package/lib/{cursors.d.ts → util/cursors.d.ts} +10 -8
  80. package/lib/util/cursors.d.ts.map +1 -0
  81. package/lib/{cursors.js → util/cursors.js} +39 -14
  82. package/lib/util/cursors.js.map +1 -0
  83. package/{esm/refs.d.ts → lib/util/datamodel.d.ts} +9 -8
  84. package/lib/util/datamodel.d.ts.map +1 -0
  85. package/lib/{refs.js → util/datamodel.js} +32 -35
  86. package/lib/util/datamodel.js.map +1 -0
  87. package/lib/util/deep-equal.d.ts +2 -0
  88. package/lib/util/deep-equal.d.ts.map +1 -0
  89. package/lib/util/deep-equal.js +43 -0
  90. package/lib/util/deep-equal.js.map +1 -0
  91. package/lib/util/loader-map.d.ts +6 -0
  92. package/lib/util/loader-map.d.ts.map +1 -0
  93. package/lib/{loader-map.js → util/loader-map.js} +10 -12
  94. package/lib/util/loader-map.js.map +1 -0
  95. package/lib/util/map-query.d.ts +6 -0
  96. package/lib/util/map-query.d.ts.map +1 -0
  97. package/lib/util/map-query.js +175 -0
  98. package/lib/util/map-query.js.map +1 -0
  99. package/lib/util/relation-map.d.ts +9 -0
  100. package/lib/util/relation-map.d.ts.map +1 -0
  101. package/lib/util/relation-map.js +24 -0
  102. package/lib/util/relation-map.js.map +1 -0
  103. package/lib/util/selections.d.ts +20 -0
  104. package/lib/util/selections.d.ts.map +1 -0
  105. package/lib/util/selections.js +148 -0
  106. package/lib/util/selections.js.map +1 -0
  107. package/package.json +7 -7
  108. package/src/field-builder.ts +12 -12
  109. package/src/generator.ts +18 -0
  110. package/src/global-types.ts +59 -12
  111. package/src/index.ts +75 -1
  112. package/src/model-loader.ts +19 -92
  113. package/src/prisma-field-builder.ts +199 -147
  114. package/src/schema-builder.ts +29 -7
  115. package/src/types.ts +138 -102
  116. package/src/{cursors.ts → util/cursors.ts} +45 -20
  117. package/src/{refs.ts → util/datamodel.ts} +36 -40
  118. package/src/util/deep-equal.ts +51 -0
  119. package/src/{loader-map.ts → util/loader-map.ts} +13 -13
  120. package/src/util/map-query.ts +327 -0
  121. package/src/util/relation-map.ts +36 -0
  122. package/src/util/selections.ts +192 -0
  123. package/.turbo/turbo-build.log +0 -17
  124. package/.turbo/turbo-test.log +0 -18
  125. package/.turbo/turbo-type.log +0 -5
  126. package/babel.config.js +0 -3
  127. package/esm/cursors.d.ts.map +0 -1
  128. package/esm/cursors.js.map +0 -1
  129. package/esm/loader-map.d.ts +0 -6
  130. package/esm/loader-map.d.ts.map +0 -1
  131. package/esm/loader-map.js.map +0 -1
  132. package/esm/refs.d.ts.map +0 -1
  133. package/esm/refs.js.map +0 -1
  134. package/esm/util/index.d.ts +0 -5
  135. package/esm/util/index.d.ts.map +0 -1
  136. package/esm/util/index.js +0 -16
  137. package/esm/util/index.js.map +0 -1
  138. package/esm/util/map-includes.d.ts +0 -6
  139. package/esm/util/map-includes.d.ts.map +0 -1
  140. package/esm/util/map-includes.js +0 -184
  141. package/esm/util/map-includes.js.map +0 -1
  142. package/esm/util/merge-includes.d.ts +0 -3
  143. package/esm/util/merge-includes.d.ts.map +0 -1
  144. package/esm/util/merge-includes.js +0 -91
  145. package/esm/util/merge-includes.js.map +0 -1
  146. package/lib/cursors.d.ts.map +0 -1
  147. package/lib/cursors.js.map +0 -1
  148. package/lib/loader-map.d.ts +0 -6
  149. package/lib/loader-map.d.ts.map +0 -1
  150. package/lib/loader-map.js.map +0 -1
  151. package/lib/refs.d.ts.map +0 -1
  152. package/lib/refs.js.map +0 -1
  153. package/lib/util/index.d.ts +0 -5
  154. package/lib/util/index.d.ts.map +0 -1
  155. package/lib/util/index.js +0 -30
  156. package/lib/util/index.js.map +0 -1
  157. package/lib/util/map-includes.d.ts +0 -6
  158. package/lib/util/map-includes.d.ts.map +0 -1
  159. package/lib/util/map-includes.js +0 -189
  160. package/lib/util/map-includes.js.map +0 -1
  161. package/lib/util/merge-includes.d.ts +0 -3
  162. package/lib/util/merge-includes.d.ts.map +0 -1
  163. package/lib/util/merge-includes.js +0 -96
  164. package/lib/util/merge-includes.js.map +0 -1
  165. package/src/util/index.ts +0 -26
  166. package/src/util/map-includes.ts +0 -328
  167. package/src/util/merge-includes.ts +0 -121
  168. package/tsconfig.tsbuildinfo +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"prisma-field-builder.js","sourceRoot":"","sources":["../src/prisma-field-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prisma-field-builder.js","sourceRoot":"","sources":["../src/prisma-field-builder.ts"],"names":[],"mappings":"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"}
@@ -25,24 +25,35 @@ Object.defineProperty(exports, "__esModule", { value: true });
25
25
  require("./global-types");
26
26
  const core_1 = __importStar(require("@pothos/core"));
27
27
  const field_builder_1 = require("./field-builder");
28
+ const model_loader_1 = require("./model-loader");
28
29
  const node_ref_1 = __importDefault(require("./node-ref"));
29
- const refs_1 = require("./refs");
30
- const util_1 = require("./util");
30
+ const datamodel_1 = require("./util/datamodel");
31
+ const map_query_1 = require("./util/map-query");
32
+ const relation_map_1 = require("./util/relation-map");
31
33
  const schemaBuilderProto = core_1.default.prototype;
32
34
  schemaBuilderProto.prismaObject = function prismaObject(type, { fields, findUnique, ...options }) {
33
35
  var _a, _b;
34
- const ref = options.variant ? this.objectRef(options.variant) : (0, refs_1.getRefFromModel)(type, this);
36
+ const ref = options.variant ? this.objectRef(options.variant) : (0, datamodel_1.getRefFromModel)(type, this);
35
37
  const name = (_b = (_a = options.variant) !== null && _a !== void 0 ? _a : options.name) !== null && _b !== void 0 ? _b : type;
38
+ const fieldMap = (0, relation_map_1.getRelationMap)(this.options.prisma.client).get(type);
36
39
  ref.name = name;
37
- (0, refs_1.setFindUniqueForRef)(ref, this, findUnique);
38
40
  this.objectType(ref, {
39
41
  ...options,
40
42
  extensions: {
41
43
  ...options.extensions,
42
44
  pothosPrismaInclude: options.include,
45
+ pothosPrismaModel: type,
46
+ pothosPrismaFieldMap: fieldMap,
47
+ pothosPrismaSelect: options.select,
48
+ pothosPrismaLoader: model_loader_1.ModelLoader.forRef(type, findUnique ||
49
+ (() => {
50
+ throw new Error(`Missing findUnique for ${ref.name}`);
51
+ }), this),
43
52
  },
44
53
  name,
45
- fields: fields ? () => fields(new field_builder_1.PrismaObjectFieldBuilder(name, this, type)) : undefined,
54
+ fields: fields
55
+ ? () => fields(new field_builder_1.PrismaObjectFieldBuilder(name, this, type, (0, relation_map_1.getRelationMap)(this.options.prisma.client).get(type)))
56
+ : undefined,
46
57
  });
47
58
  return ref;
48
59
  };
@@ -53,7 +64,7 @@ schemaBuilderProto.prismaNode = function prismaNode(type, { findUnique, name, va
53
64
  throw new TypeError('builder.prismaNode requires @pothos/plugin-relay to be installed');
54
65
  }
55
66
  const typeName = (_b = variant !== null && variant !== void 0 ? variant : name) !== null && _b !== void 0 ? _b : type;
56
- const delegate = (0, refs_1.getDelegateFromModel)(this.options.prisma.client, type);
67
+ const delegate = (0, datamodel_1.getDelegateFromModel)(this.options.prisma.client, type);
57
68
  const nodeRef = new node_ref_1.default(typeName);
58
69
  const extendedOptions = {
59
70
  ...options,
@@ -61,7 +72,7 @@ schemaBuilderProto.prismaNode = function prismaNode(type, { findUnique, name, va
61
72
  interfaces: [interfaceRef, ...((_c = options.interfaces) !== null && _c !== void 0 ? _c : [])],
62
73
  findUnique: (parent, context) => findUnique(options.id.resolve(parent, context), context),
63
74
  loadWithoutCache: async (id, context, info) => {
64
- const query = (0, util_1.queryFromInfo)(context, info, typeName);
75
+ const query = (0, map_query_1.queryFromInfo)(context, info, typeName);
65
76
  const record = await delegate.findUnique({
66
77
  ...query,
67
78
  rejectOnNotFound: true,
@@ -1 +1 @@
1
- {"version":3,"file":"schema-builder.js","sourceRoot":"","sources":["../src/schema-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema-builder.js","sourceRoot":"","sources":["../src/schema-builder.ts"],"names":[],"mappings":"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"}
package/lib/types.d.ts CHANGED
@@ -1,103 +1,99 @@
1
1
  import { GraphQLResolveInfo } from 'graphql';
2
- import { FieldKind, FieldMap, FieldNullability, FieldOptionsFromKind, InputFieldMap, InputFieldsFromShape, InputShapeFromFields, InterfaceParam, ListResolveValue, MaybePromise, ObjectRef, OutputShape, OutputType, SchemaTypes, ShapeFromTypeParam, ShapeWithNullability, typeBrandKey, TypeParam } from '@pothos/core';
2
+ import { FieldKind, FieldMap, FieldNullability, FieldOptionsFromKind, InputFieldMap, InputFieldsFromShape, InputShapeFromFields, InterfaceParam, ListResolveValue, MaybePromise, Normalize, ObjectRef, OutputShape, OutputType, SchemaTypes, ShapeFromTypeParam, ShapeWithNullability, typeBrandKey, TypeParam } from '@pothos/core';
3
3
  import { PrismaObjectFieldBuilder } from './field-builder';
4
4
  import { PrismaObjectRef } from './object-ref';
5
5
  export interface PrismaDelegate {
6
6
  findUnique: (...args: any[]) => Promise<unknown>;
7
7
  }
8
- declare type RelationKeys<T> = {
9
- [K in keyof T]: T[K] extends (args: {}) => {
10
- then: (cb: (result: unknown) => unknown) => unknown;
11
- } ? K : never;
12
- }[keyof T];
13
- export declare type ModelTypes<Model extends {}> = Model extends {
14
- findUnique: (options: infer UniqueOptions & {
15
- where?: infer Where | null | undefined;
16
- select?: infer Select | null | undefined;
17
- } & ({
18
- include?: infer Include | null | undefined;
19
- } | {})) => infer Chain & {
20
- then: (cb: (result: infer Shape | null) => unknown) => unknown;
21
- };
22
- } ? PrismaModelTypes & {
23
- Shape: Shape;
24
- Include: unknown extends Include ? never : Include;
25
- Where: Where;
26
- Fields: keyof Select;
27
- ListRelation: ListRelationFields<Include> & string;
28
- Relations: {
29
- [RelationName in RelationKeys<Chain>]: Chain[RelationName] extends (args: {}) => {
30
- then: (cb: (result: infer Relation) => unknown) => unknown;
31
- } ? {
32
- Shape: Relation;
33
- Types: PrismaModelTypes;
34
- } : never;
35
- };
36
- } : never;
8
+ export declare const prismaModelName: unique symbol;
37
9
  export interface PrismaModelTypes {
38
10
  Name: string;
39
11
  Shape: {};
40
12
  Include: unknown;
13
+ Select: unknown;
41
14
  Where: {};
42
15
  Fields: string;
43
16
  ListRelations: string;
17
+ RelationName: string;
44
18
  Relations: Record<string, {
45
19
  Shape: unknown;
46
20
  Types: PrismaModelTypes;
47
21
  }>;
48
22
  }
49
- export declare type ListRelationFields<T> = {
50
- [K in keyof T]: T[K] extends infer Option ? Option extends {
51
- orderBy?: unknown;
52
- } ? K : never : never;
53
- }[keyof T];
54
- export declare type PrismaObjectFieldsShape<Types extends SchemaTypes, Model extends PrismaModelTypes, NeedsResolve extends boolean, Shape extends object> = (t: PrismaObjectFieldBuilder<Types, Model, NeedsResolve, Shape>) => FieldMap;
55
- export declare type ShapeFromInclude<Model extends PrismaModelTypes, Include> = {} extends Include ? Model['Shape'] : {
56
- [K in keyof Include & keyof Model['Relations']]: Model['Relations'][K]['Shape'] extends infer RelationShape ? RelationShape extends (infer ItemShape)[] ? (ItemShape & (Include[K] extends {
57
- include?: infer NestedInclude & object;
58
- } ? ShapeFromInclude<Model['Relations'][K]['Types'], NestedInclude> : {}))[] : RelationShape & ((Include[K] extends {
59
- include?: infer NestedInclude & object;
60
- } ? ShapeFromInclude<Model['Relations'][K]['Types'], NestedInclude> : {}) | null) : never;
23
+ declare type ExtractModel<Types extends SchemaTypes, ParentShape> = ParentShape extends {
24
+ [prismaModelName]?: infer Name;
25
+ } ? Types['PrismaTypes'][Name & keyof Types['PrismaTypes']] extends infer Model ? Model extends PrismaModelTypes ? Model : never : never : never;
26
+ export declare type PrismaObjectFieldOptions<Types extends SchemaTypes, ParentShape, Type extends TypeParam<Types>, Nullable extends FieldNullability<Type>, Args extends InputFieldMap, Select, ResolveReturnShape> = PothosSchemaTypes.ObjectFieldOptions<Types, unknown extends Select ? ParentShape : ParentShape & ShapeFromSelection<ExtractModel<Types, ParentShape>, {
27
+ select: Select;
28
+ }>, Type, Nullable, Args, ResolveReturnShape> & {
29
+ select?: ExtractModel<Types, ParentShape>['Select'] & Select;
61
30
  };
62
- export declare type ShapeWithInclude<Model extends PrismaModelTypes, Include extends Model['Include']> = Model['Shape'] & ([Include] extends [never] ? {} : ShapeFromInclude<Model, Include>);
63
- export declare type PrismaObjectTypeOptions<Types extends SchemaTypes, Model extends PrismaModelTypes, Interfaces extends InterfaceParam<Types>[], FindUnique, Include extends Model['Include'], Shape extends object> = NameOrVariant & Omit<PothosSchemaTypes.ObjectTypeOptions<Types, Shape> | PothosSchemaTypes.ObjectTypeWithInterfaceOptions<Types, Shape, Interfaces>, 'fields'> & {
64
- include?: Include;
65
- fields?: PrismaObjectFieldsShape<Types, Model, FindUnique extends null ? true : false, Shape>;
31
+ declare type PrismaObjectFieldsShape<Types extends SchemaTypes, Model extends PrismaModelTypes, NeedsResolve extends boolean, Shape extends object, Select> = Model['Select'] extends Select ? (t: PrismaObjectFieldBuilder<Types, Model, NeedsResolve, Shape>) => FieldMap : (t: PrismaSelectionFieldBuilder<Types, Model, Shape>) => FieldMap;
32
+ declare type PrismaSelectionFieldBuilder<Types extends SchemaTypes, Model extends PrismaModelTypes, Shape extends object> = PrismaObjectFieldBuilder<Types, Model, false, Shape>;
33
+ interface BaseSelection {
34
+ include?: unknown;
35
+ select?: unknown;
36
+ }
37
+ export declare type SelectedKeys<T> = {
38
+ [K in keyof T]: T[K] extends false ? never : K;
39
+ }[keyof T];
40
+ export declare type ShapeFromSelection<Model extends PrismaModelTypes, Selection> = Normalize<Selection extends BaseSelection ? unknown extends Selection['select'] ? Model['Shape'] & RelationShapeFromInclude<Model, Selection['include']> : Pick<Model['Shape'], SelectedKeys<Selection['select']>> & RelationShapeFromInclude<Model, Selection['select']> : Model['Shape']>;
41
+ declare type RelationShapeFromInclude<Model extends PrismaModelTypes, Include> = Normalize<{
42
+ [K in SelectedKeys<Include> as K extends Model['RelationName'] ? K : never]: K extends keyof Model['Relations'] ? Model['Relations'][K]['Shape'] extends unknown[] ? ShapeFromSelection<Model['Relations'][K]['Types'], Include[K]>[] : ShapeFromSelection<Model['Relations'][K]['Types'], Include[K]> : unknown;
43
+ }>;
44
+ export declare type PrismaObjectTypeOptions<Types extends SchemaTypes, Model extends PrismaModelTypes, Interfaces extends InterfaceParam<Types>[], FindUnique, Include, Select, Shape extends object> = NameOrVariant & Omit<PothosSchemaTypes.ObjectTypeOptions<Types, Shape> | PothosSchemaTypes.ObjectTypeWithInterfaceOptions<Types, Shape, Interfaces>, 'fields'> & {
45
+ fields?: PrismaObjectFieldsShape<Types, Model, FindUnique extends null ? true : false, Shape & (FindUnique extends null ? {} : {
46
+ [prismaModelName]?: Model['Name'];
47
+ }), Select>;
48
+ } & ({
49
+ include?: Include & Model['Include'];
50
+ select?: never;
66
51
  findUnique: FindUnique & (((parent: Shape, context: Types['Context']) => Model['Where']) | null);
67
- };
68
- export declare type NameOrVariant = {
52
+ } | {
53
+ select: Model['Select'] & Select;
54
+ include?: never;
55
+ findUnique: (parent: Shape, context: Types['Context']) => Model['Where'];
56
+ });
57
+ declare type NameOrVariant = {
69
58
  name?: never;
70
59
  variant?: string;
71
60
  } | {
72
61
  name?: string;
73
62
  variant?: never;
74
63
  };
75
- export declare type PrismaNodeOptions<Types extends SchemaTypes, Model extends PrismaModelTypes, Interfaces extends InterfaceParam<Types>[], Include extends Model['Include'], Shape extends object> = NameOrVariant & Omit<PothosSchemaTypes.ObjectTypeOptions<Types, Shape> | PothosSchemaTypes.ObjectTypeWithInterfaceOptions<Types, Shape, Interfaces>, 'fields' | 'isTypeOf'> & {
76
- include?: Include;
64
+ export declare type PrismaNodeOptions<Types extends SchemaTypes, Model extends PrismaModelTypes, Interfaces extends InterfaceParam<Types>[], Include, Select, Shape extends object> = NameOrVariant & Omit<PothosSchemaTypes.ObjectTypeOptions<Types, Shape> | PothosSchemaTypes.ObjectTypeWithInterfaceOptions<Types, Shape, Interfaces>, 'fields' | 'isTypeOf'> & {
77
65
  id: Omit<FieldOptionsFromKind<Types, Shape, 'ID', false, {}, 'Object', OutputShape<Types, 'ID'>, MaybePromise<OutputShape<Types, 'ID'>>>, 'args' | 'nullable' | 'resolve' | 'type'> & {
78
66
  resolve: (parent: Shape, context: Types['Context']) => MaybePromise<OutputShape<Types, 'ID'>>;
79
67
  };
80
- fields?: PrismaObjectFieldsShape<Types, Model, false, Shape>;
68
+ fields?: PrismaObjectFieldsShape<Types, Model, false, Shape & {
69
+ [prismaModelName]?: Model['Name'];
70
+ }, Select>;
81
71
  findUnique: (id: string, context: Types['Context']) => Model['Where'];
82
- };
83
- export declare type QueryForField<Types extends SchemaTypes, Args extends InputFieldMap, Include> = Include extends {
72
+ } & ({
73
+ include?: Include & Model['Include'];
74
+ select?: never;
75
+ } | {
76
+ select: Model['Select'] & Select;
77
+ include?: never;
78
+ });
79
+ declare type QueryForField<Types extends SchemaTypes, Args extends InputFieldMap, Include> = Include extends {
84
80
  where?: unknown;
85
81
  } ? Omit<Include, 'include' | 'select'> | ((args: InputShapeFromFields<Args>, ctx: Types['Context']) => Omit<Include, 'include' | 'select'>) : never;
86
- export declare type IncludeFromRelation<Model extends PrismaModelTypes, Field extends keyof Model['Include']> = Model['Include'][Field] extends infer Include ? Include extends {
87
- include?: infer T;
88
- } ? NonNullable<T> : never : never;
89
- export declare type CursorFromRelation<Model extends PrismaModelTypes, Field extends Model['ListRelations']> = Field extends keyof Model['Include'] ? Model['Include'][Field] extends infer Include ? Include extends {
82
+ declare type QueryFromRelation<Model extends PrismaModelTypes, Field extends keyof Model['Include']> = Model['Include'][Field] extends infer Include ? Include extends {
83
+ include?: infer I;
84
+ select?: infer S;
85
+ } ? {
86
+ include?: NonNullable<I>;
87
+ select?: NonNullable<S>;
88
+ } : never : never;
89
+ declare type CursorFromRelation<Model extends PrismaModelTypes, Field extends Model['ListRelations']> = Field extends keyof Model['Include'] ? Model['Include'][Field] extends infer Include ? Include extends {
90
90
  cursor?: infer T;
91
91
  } ? keyof T : never : never : never;
92
- export declare type RefForRelation<Model extends PrismaModelTypes, Field extends keyof Model['Relations']> = Model['Relations'][Field] extends unknown[] ? [ObjectRef<Model['Relations'][Field]>] : ObjectRef<Model['Relations'][Field]>;
92
+ declare type RefForRelation<Model extends PrismaModelTypes, Field extends keyof Model['Relations']> = Model['Relations'][Field] extends unknown[] ? [ObjectRef<Model['Relations'][Field]>] : ObjectRef<Model['Relations'][Field]>;
93
93
  export declare type RelatedFieldOptions<Types extends SchemaTypes, Model extends PrismaModelTypes, Field extends keyof Model['Relations'], Nullable extends boolean, Args extends InputFieldMap, ResolveReturnShape, NeedsResolve extends boolean, Shape> = Omit<PothosSchemaTypes.ObjectFieldOptions<Types, Shape, RefForRelation<Model, Field>, Nullable, Args, ResolveReturnShape>, 'resolve' | 'type'> & (NeedsResolve extends false ? {
94
- resolve?: (query: {
95
- include?: IncludeFromRelation<Model, Field & keyof Model['Include']>;
96
- }, parent: Shape, args: InputShapeFromFields<Args>, context: Types['Context'], info: GraphQLResolveInfo) => MaybePromise<ShapeWithNullability<Types, Model['Relations'][Field]['Shape'], Nullable>>;
94
+ resolve?: (query: QueryFromRelation<Model, Field & keyof Model['Include']>, parent: Shape, args: InputShapeFromFields<Args>, context: Types['Context'], info: GraphQLResolveInfo) => MaybePromise<ShapeWithNullability<Types, Model['Relations'][Field]['Shape'], Nullable>>;
97
95
  } : {
98
- resolve: (query: {
99
- include?: IncludeFromRelation<Model, Field & keyof Model['Include']>;
100
- }, parent: Shape, args: InputShapeFromFields<Args>, context: Types['Context'], info: GraphQLResolveInfo) => MaybePromise<ShapeWithNullability<Types, Model['Relations'][Field]['Shape'], Nullable>>;
96
+ resolve: (query: QueryFromRelation<Model, Field & keyof Model['Include']>, parent: Shape, args: InputShapeFromFields<Args>, context: Types['Context'], info: GraphQLResolveInfo) => MaybePromise<ShapeWithNullability<Types, Model['Relations'][Field]['Shape'], Nullable>>;
101
97
  }) & {
102
98
  type?: PrismaObjectRef<Model['Relations'][Field]['Types']>;
103
99
  query?: QueryForField<Types, Args, Model['Include'][Field & keyof Model['Include']]>;
@@ -151,24 +147,24 @@ export declare type RelatedConnectionOptions<Types extends SchemaTypes, Model ex
151
147
  export declare type WithBrand<T> = T & {
152
148
  [typeBrandKey]: string;
153
149
  };
154
- export declare type IncludeMap = Record<string, Record<string, unknown> | boolean>;
155
- export interface IncludeCounts {
156
- current: Record<string, boolean>;
157
- parent: Record<string, boolean>;
150
+ export declare type IncludeMap = Record<string, SelectionMap | boolean>;
151
+ export interface SelectionMap {
152
+ select?: Record<string, SelectionMap | boolean>;
153
+ include?: Record<string, SelectionMap | boolean>;
154
+ where?: {};
158
155
  }
156
+ export declare type FieldSelection = Record<string, SelectionMap | boolean> | ((args: object, context: object, query: (selection: SelectionMap | boolean | ((args: object, context: object) => SelectionMap)) => SelectionMap | boolean) => SelectionMap);
159
157
  export declare type LoaderMappings = Record<string, {
160
158
  field: string;
161
- alias?: string;
162
159
  mappings: LoaderMappings;
163
160
  indirectPath: string[];
164
- }[]>;
165
- export interface SubFieldInclude {
166
- type?: string;
167
- name: string;
168
- }
169
- export interface IndirectLoadMap {
170
- subFields: SubFieldInclude[];
171
- path: string[];
161
+ }>;
162
+ export interface IndirectInclude {
163
+ getType: () => string;
164
+ path: {
165
+ type?: string;
166
+ name: string;
167
+ }[];
172
168
  }
173
169
  export declare type ShapeFromConnection<T> = T extends {
174
170
  shape: unknown;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/lib/types.js CHANGED
@@ -1,4 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.prismaModelName = void 0;
3
4
  const core_1 = require("@pothos/core");
5
+ exports.prismaModelName = Symbol.for('Pothos.prismaModelName');
4
6
  //# sourceMappingURL=types.js.map
package/lib/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;AACA,uCAmBsB"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AACA,uCAoBsB;AAQT,QAAA,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC"}
@@ -1,26 +1,28 @@
1
1
  import { MaybePromise } from '@pothos/core';
2
- interface PrismaCursorConnectionQueryOptions {
2
+ export declare function formatCursorChunk(value: unknown): string;
3
+ export declare function formatCursor(fields: string | string[]): (value: Record<string, unknown>) => string;
4
+ export declare function parseRawCursor(cursor: unknown): unknown;
5
+ export declare function parseCompositeCursor(fields: string[]): (cursor: string) => Record<string, unknown>;
6
+ export interface PrismaCursorConnectionQueryOptions {
3
7
  args: PothosSchemaTypes.DefaultConnectionArguments;
4
8
  defaultSize?: number;
5
9
  maxSize?: number;
6
- column: string;
10
+ parseCursor: (cursor: string) => Record<string, unknown>;
7
11
  }
8
12
  interface ResolvePrismaCursorConnectionOptions extends PrismaCursorConnectionQueryOptions {
9
13
  query: {};
10
14
  totalCount?: number;
11
15
  }
12
- export declare function prismaCursorConnectionQuery({ args: { before, after, first, last }, maxSize, defaultSize, column, }: PrismaCursorConnectionQueryOptions): {
16
+ export declare function prismaCursorConnectionQuery({ args: { before, after, first, last }, maxSize, defaultSize, parseCursor, }: PrismaCursorConnectionQueryOptions): {
13
17
  take: number;
14
18
  skip: number;
15
19
  cursor?: undefined;
16
20
  } | {
17
- cursor: {
18
- [x: string]: string | number | Date;
19
- };
21
+ cursor: Record<string, unknown>;
20
22
  take: number;
21
23
  skip: number;
22
24
  };
23
- export declare function wrapConnectionResult<T extends {}>(results: T[], args: PothosSchemaTypes.DefaultConnectionArguments, take: number, column: string, totalCount?: number): {
25
+ export declare function wrapConnectionResult<T extends {}>(results: T[], args: PothosSchemaTypes.DefaultConnectionArguments, take: number, cursor: (node: T) => string, totalCount?: number): {
24
26
  totalCount: number | undefined;
25
27
  edges: ({
26
28
  cursor: string;
@@ -33,7 +35,7 @@ export declare function wrapConnectionResult<T extends {}>(results: T[], args: P
33
35
  hasNextPage: boolean;
34
36
  };
35
37
  };
36
- export declare function resolvePrismaCursorConnection<T extends {}>(options: ResolvePrismaCursorConnectionOptions, resolve: (query: {
38
+ export declare function resolvePrismaCursorConnection<T extends {}>(options: ResolvePrismaCursorConnectionOptions, cursor: (node: T) => string, resolve: (query: {
37
39
  include?: {};
38
40
  cursor?: {};
39
41
  take: number;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cursors.d.ts","sourceRoot":"","sources":["../../src/util/cursors.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAK5C,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,UAa/C;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,WACrC,OAAO,MAAM,EAAE,OAAO,CAAC,YASvC;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,WAwB7C;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,YACnC,MAAM,6BAevB;AAED,MAAM,WAAW,kCAAkC;IACjD,IAAI,EAAE,iBAAiB,CAAC,0BAA0B,CAAC;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC1D;AAED,UAAU,oCAAqC,SAAQ,kCAAkC;IACvF,KAAK,EAAE,EAAE,CAAC;IACV,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,2BAA2B,CAAC,EAC1C,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EACpC,OAA0B,EAC1B,WAA0B,EAC1B,WAAW,GACZ,EAAE,kCAAkC;;;;;;;;EAwCpC;AAED,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,EAAE,EAC/C,OAAO,EAAE,CAAC,EAAE,EACZ,IAAI,EAAE,iBAAiB,CAAC,0BAA0B,EAClD,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,EAC3B,UAAU,CAAC,EAAE,MAAM;;;;;;;;;;;;EA4BpB;AAED,wBAAsB,6BAA6B,CAAC,CAAC,SAAS,EAAE,EAC9D,OAAO,EAAE,oCAAoC,EAC7C,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,EAC3B,OAAO,EAAE,CAAC,KAAK,EAAE;IAAE,OAAO,CAAC,EAAE,EAAE,CAAC;IAAC,MAAM,CAAC,EAAE,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,KAAK,YAAY,CAAC,CAAC,EAAE,CAAC;;;;;;;;;;;;GASjG"}
@@ -1,22 +1,32 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.resolvePrismaCursorConnection = exports.wrapConnectionResult = exports.prismaCursorConnectionQuery = void 0;
3
+ exports.resolvePrismaCursorConnection = exports.wrapConnectionResult = exports.prismaCursorConnectionQuery = exports.parseCompositeCursor = exports.parseRawCursor = exports.formatCursor = exports.formatCursorChunk = void 0;
4
4
  const DEFAULT_MAX_SIZE = 100;
5
5
  const DEFAULT_SIZE = 20;
6
- function formatCursor(value) {
6
+ function formatCursorChunk(value) {
7
7
  if (value instanceof Date) {
8
- return Buffer.from(`GPC:D:${String(Number(value))}`).toString('base64');
8
+ return `D:${String(Number(value))}`;
9
9
  }
10
10
  switch (typeof value) {
11
11
  case 'number':
12
- return Buffer.from(`GPC:N:${value}`).toString('base64');
12
+ return `N:${value}`;
13
13
  case 'string':
14
- return Buffer.from(`GPC:S:${value}`).toString('base64');
14
+ return `S:${value}`;
15
15
  default:
16
16
  throw new TypeError(`Unsupported cursor type ${typeof value}`);
17
17
  }
18
18
  }
19
- function parseCursor(cursor) {
19
+ exports.formatCursorChunk = formatCursorChunk;
20
+ function formatCursor(fields) {
21
+ return (value) => {
22
+ if (typeof fields === 'string') {
23
+ return Buffer.from(`GPC:${formatCursorChunk(value[fields])}`).toString('base64');
24
+ }
25
+ return Buffer.from(`GPC:J:${JSON.stringify(fields.map((name) => value[name]))}`).toString('base64');
26
+ };
27
+ }
28
+ exports.formatCursor = formatCursor;
29
+ function parseRawCursor(cursor) {
20
30
  if (typeof cursor !== 'string') {
21
31
  throw new TypeError('Cursor must be a string');
22
32
  }
@@ -30,6 +40,8 @@ function parseCursor(cursor) {
30
40
  return Number.parseInt(value, 10);
31
41
  case 'D':
32
42
  return new Date(Number.parseInt(value, 10));
43
+ case 'J':
44
+ return JSON.parse(value);
33
45
  default:
34
46
  throw new TypeError(`Invalid cursor type ${type}`);
35
47
  }
@@ -38,7 +50,22 @@ function parseCursor(cursor) {
38
50
  throw new Error(`Invalid cursor: ${cursor}`);
39
51
  }
40
52
  }
41
- function prismaCursorConnectionQuery({ args: { before, after, first, last }, maxSize = DEFAULT_MAX_SIZE, defaultSize = DEFAULT_SIZE, column, }) {
53
+ exports.parseRawCursor = parseRawCursor;
54
+ function parseCompositeCursor(fields) {
55
+ return (cursor) => {
56
+ const parsed = parseRawCursor(cursor);
57
+ if (!Array.isArray(parsed)) {
58
+ throw new TypeError(`Expected compound cursor to contain an array, but got ${parsed}`);
59
+ }
60
+ const record = {};
61
+ fields.forEach((field, i) => {
62
+ record[field] = parsed[i];
63
+ });
64
+ return record;
65
+ };
66
+ }
67
+ exports.parseCompositeCursor = parseCompositeCursor;
68
+ function prismaCursorConnectionQuery({ args: { before, after, first, last }, maxSize = DEFAULT_MAX_SIZE, defaultSize = DEFAULT_SIZE, parseCursor, }) {
42
69
  var _a;
43
70
  if (first != null && first < 0) {
44
71
  throw new TypeError('Argument "first" must be a non-negative integer');
@@ -66,15 +93,13 @@ function prismaCursorConnectionQuery({ args: { before, after, first, last }, max
66
93
  return cursor == null
67
94
  ? { take, skip: 0 }
68
95
  : {
69
- cursor: {
70
- [column]: parseCursor(cursor),
71
- },
96
+ cursor: parseCursor(cursor),
72
97
  take,
73
98
  skip: 1,
74
99
  };
75
100
  }
76
101
  exports.prismaCursorConnectionQuery = prismaCursorConnectionQuery;
77
- function wrapConnectionResult(results, args, take, column, totalCount) {
102
+ function wrapConnectionResult(results, args, take, cursor, totalCount) {
78
103
  var _a, _b;
79
104
  const gotFullResults = results.length === Math.abs(take);
80
105
  const hasNextPage = args.before ? true : gotFullResults;
@@ -85,7 +110,7 @@ function wrapConnectionResult(results, args, take, column, totalCount) {
85
110
  const edges = nodes.map((value, index) => value == null
86
111
  ? null
87
112
  : {
88
- cursor: formatCursor(value[column]),
113
+ cursor: cursor(value),
89
114
  node: value,
90
115
  });
91
116
  return {
@@ -100,13 +125,13 @@ function wrapConnectionResult(results, args, take, column, totalCount) {
100
125
  };
101
126
  }
102
127
  exports.wrapConnectionResult = wrapConnectionResult;
103
- async function resolvePrismaCursorConnection(options, resolve) {
128
+ async function resolvePrismaCursorConnection(options, cursor, resolve) {
104
129
  const query = prismaCursorConnectionQuery(options);
105
130
  const results = await resolve({
106
131
  ...options.query,
107
132
  ...query,
108
133
  });
109
- return wrapConnectionResult(results, options.args, query.take, options.column, options.totalCount);
134
+ return wrapConnectionResult(results, options.args, query.take, cursor, options.totalCount);
110
135
  }
111
136
  exports.resolvePrismaCursorConnection = resolvePrismaCursorConnection;
112
137
  //# sourceMappingURL=cursors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cursors.js","sourceRoot":"","sources":["../../src/util/cursors.ts"],"names":[],"mappings":";;;AAGA,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAC7B,MAAM,YAAY,GAAG,EAAE,CAAC;AAExB,SAAgB,iBAAiB,CAAC,KAAc;IAC9C,IAAI,KAAK,YAAY,IAAI,EAAE;QACzB,OAAO,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;KACrC;IAED,QAAQ,OAAO,KAAK,EAAE;QACpB,KAAK,QAAQ;YACX,OAAO,KAAK,KAAK,EAAE,CAAC;QACtB,KAAK,QAAQ;YACX,OAAO,KAAK,KAAK,EAAE,CAAC;QACtB;YACE,MAAM,IAAI,SAAS,CAAC,2BAA2B,OAAO,KAAK,EAAE,CAAC,CAAC;KAClE;AACH,CAAC;AAbD,8CAaC;AAED,SAAgB,YAAY,CAAC,MAAyB;IACpD,OAAO,CAAC,KAA8B,EAAE,EAAE;QACxC,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;YAC9B,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;SAClF;QAED,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CACvF,QAAQ,CACT,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAVD,oCAUC;AAED,SAAgB,cAAc,CAAC,MAAe;IAC5C,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;QAC9B,MAAM,IAAI,SAAS,CAAC,yBAAyB,CAAC,CAAC;KAChD;IAED,IAAI;QACF,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC;QACzD,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAA6B,CAAC;QAEpF,QAAQ,IAAI,EAAE;YACZ,KAAK,GAAG;gBACN,OAAO,KAAK,CAAC;YACf,KAAK,GAAG;gBACN,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACpC,KAAK,GAAG;gBACN,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;YAC9C,KAAK,GAAG;gBACN,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAY,CAAC;YACtC;gBACE,MAAM,IAAI,SAAS,CAAC,uBAAuB,IAAI,EAAE,CAAC,CAAC;SACtD;KACF;IAAC,MAAM;QACN,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAM,EAAE,CAAC,CAAC;KAC9C;AACH,CAAC;AAxBD,wCAwBC;AAED,SAAgB,oBAAoB,CAAC,MAAgB;IACnD,OAAO,CAAC,MAAc,EAAE,EAAE;QACxB,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAc,CAAC;QAEnD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YAC1B,MAAM,IAAI,SAAS,CAAC,yDAAyD,MAAM,EAAE,CAAC,CAAC;SACxF;QAED,MAAM,MAAM,GAA4B,EAAE,CAAC;QAE3C,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;YAC1B,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AAhBD,oDAgBC;AAcD,SAAgB,2BAA2B,CAAC,EAC1C,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EACpC,OAAO,GAAG,gBAAgB,EAC1B,WAAW,GAAG,YAAY,EAC1B,WAAW,GACwB;;IACnC,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,GAAG,CAAC,EAAE;QAC9B,MAAM,IAAI,SAAS,CAAC,iDAAiD,CAAC,CAAC;KACxE;IAED,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE;QAC5B,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;KACnE;IAED,IAAI,MAAM,IAAI,KAAK,EAAE;QACnB,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;KACtF;IAED,IAAI,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE;QAClC,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;KACzE;IAED,IAAI,MAAM,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,EAAE;QACnC,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;KACtF;IAED,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE;QACjC,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;KACpF;IAED,MAAM,MAAM,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,KAAK,CAAC;IAE/B,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,MAAA,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,IAAI,mCAAI,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAE/D,IAAI,MAAM,EAAE;QACV,IAAI,GAAG,CAAC,IAAI,CAAC;KACd;IAED,OAAO,MAAM,IAAI,IAAI;QACnB,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE;QACnB,CAAC,CAAC;YACE,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC;YAC3B,IAAI;YACJ,IAAI,EAAE,CAAC;SACR,CAAC;AACR,CAAC;AA7CD,kEA6CC;AAED,SAAgB,oBAAoB,CAClC,OAAY,EACZ,IAAkD,EAClD,IAAY,EACZ,MAA2B,EAC3B,UAAmB;;IAEnB,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACzD,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC;IACxD,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC;IACjF,MAAM,KAAK,GAAG,cAAc;QAC1B,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjE,CAAC,CAAC,OAAO,CAAC;IAEZ,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CACvC,KAAK,IAAI,IAAI;QACX,CAAC,CAAC,IAAI;QACN,CAAC,CAAC;YACE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC;YACrB,IAAI,EAAE,KAAK;SACZ,CACN,CAAC;IAEF,OAAO;QACL,UAAU;QACV,KAAK;QACL,QAAQ,EAAE;YACR,WAAW,EAAE,MAAA,KAAK,CAAC,CAAC,CAAC,0CAAE,MAAM;YAC7B,SAAS,EAAE,MAAA,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,0CAAE,MAAM;YAC1C,eAAe;YACf,WAAW;SACZ;KACF,CAAC;AACJ,CAAC;AAjCD,oDAiCC;AAEM,KAAK,UAAU,6BAA6B,CACjD,OAA6C,EAC7C,MAA2B,EAC3B,OAAgG;IAEhG,MAAM,KAAK,GAAG,2BAA2B,CAAC,OAAO,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC;QAC5B,GAAG,OAAO,CAAC,KAAK;QAChB,GAAG,KAAK;KACT,CAAC,CAAC;IAEH,OAAO,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;AAC7F,CAAC;AAZD,sEAYC"}