@pothos/plugin-prisma 0.17.2 → 3.0.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 (163) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/README.md +403 -308
  3. package/esm/field-builder.js +11 -13
  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 +18 -78
  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 +88 -119
  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 +20 -18
  56. package/lib/field-builder.js.map +1 -1
  57. package/lib/generator.js +9 -1
  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 +50 -1
  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 +19 -79
  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 +92 -123
  72. package/lib/prisma-field-builder.js.map +1 -1
  73. package/lib/schema-builder.js +23 -8
  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 +8 -8
  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 +27 -106
  113. package/src/prisma-field-builder.ts +199 -147
  114. package/src/schema-builder.ts +29 -7
  115. package/src/types.ts +149 -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/esm/cursors.d.ts.map +0 -1
  124. package/esm/cursors.js.map +0 -1
  125. package/esm/loader-map.d.ts +0 -6
  126. package/esm/loader-map.d.ts.map +0 -1
  127. package/esm/loader-map.js.map +0 -1
  128. package/esm/refs.d.ts.map +0 -1
  129. package/esm/refs.js.map +0 -1
  130. package/esm/util/index.d.ts +0 -5
  131. package/esm/util/index.d.ts.map +0 -1
  132. package/esm/util/index.js +0 -16
  133. package/esm/util/index.js.map +0 -1
  134. package/esm/util/map-includes.d.ts +0 -6
  135. package/esm/util/map-includes.d.ts.map +0 -1
  136. package/esm/util/map-includes.js +0 -184
  137. package/esm/util/map-includes.js.map +0 -1
  138. package/esm/util/merge-includes.d.ts +0 -3
  139. package/esm/util/merge-includes.d.ts.map +0 -1
  140. package/esm/util/merge-includes.js +0 -91
  141. package/esm/util/merge-includes.js.map +0 -1
  142. package/lib/cursors.d.ts.map +0 -1
  143. package/lib/cursors.js.map +0 -1
  144. package/lib/loader-map.d.ts +0 -6
  145. package/lib/loader-map.d.ts.map +0 -1
  146. package/lib/loader-map.js.map +0 -1
  147. package/lib/refs.d.ts.map +0 -1
  148. package/lib/refs.js.map +0 -1
  149. package/lib/util/index.d.ts +0 -5
  150. package/lib/util/index.d.ts.map +0 -1
  151. package/lib/util/index.js +0 -30
  152. package/lib/util/index.js.map +0 -1
  153. package/lib/util/map-includes.d.ts +0 -6
  154. package/lib/util/map-includes.d.ts.map +0 -1
  155. package/lib/util/map-includes.js +0 -189
  156. package/lib/util/map-includes.js.map +0 -1
  157. package/lib/util/merge-includes.d.ts +0 -3
  158. package/lib/util/merge-includes.d.ts.map +0 -1
  159. package/lib/util/merge-includes.js +0 -96
  160. package/lib/util/merge-includes.js.map +0 -1
  161. package/src/util/index.ts +0 -26
  162. package/src/util/map-includes.ts +0 -328
  163. package/src/util/merge-includes.ts +0 -121
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 extends (...args: any[]) => infer S ? S : Select;
28
+ }>, Type, Nullable, Args, ResolveReturnShape> & {
29
+ select?: Select & (ExtractModel<Types, ParentShape>['Select'] | ((args: InputShapeFromFields<Args>, ctx: Types['Context']) => ExtractModel<Types, ParentShape>['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":"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"}
@@ -1,15 +1,16 @@
1
1
  import { ObjectRef, SchemaTypes } from '@pothos/core';
2
- import { Prisma } from '../tests/client';
3
- import { PrismaObjectRef } from './object-ref';
4
- import { PrismaDelegate } from './types';
5
- import { PrismaModelTypes } from '.';
2
+ import { Prisma } from '../../tests/client';
3
+ import { PrismaObjectRef } from '../object-ref';
4
+ import { PrismaDelegate, PrismaModelTypes } from '../types';
6
5
  export declare const refMap: WeakMap<object, Map<string, PrismaObjectRef<PrismaModelTypes, {}>>>;
7
6
  export declare const findUniqueMap: WeakMap<object, Map<ObjectRef<unknown, unknown>, ((args: unknown, ctx: {}) => unknown) | null>>;
8
7
  export declare const includeForRefMap: WeakMap<object, Map<ObjectRef<unknown, unknown>, Record<string, unknown> | null>>;
9
8
  export declare function getRefFromModel<Types extends SchemaTypes>(name: string, builder: PothosSchemaTypes.SchemaBuilder<Types>): PrismaObjectRef<PrismaModelTypes>;
10
- export declare function getFindUniqueForRef<Types extends SchemaTypes>(ref: ObjectRef<unknown>, builder: PothosSchemaTypes.SchemaBuilder<Types>): ((args: unknown, context: Types['Context']) => unknown) | null;
11
- export declare function setFindUniqueForRef<Types extends SchemaTypes>(ref: ObjectRef<unknown>, builder: PothosSchemaTypes.SchemaBuilder<Types>, findUnique: ((args: any, context: Types['Context']) => unknown) | null): void;
12
9
  export declare function getRelation<Types extends SchemaTypes>(name: string, builder: PothosSchemaTypes.SchemaBuilder<Types>, relation: string): Prisma.DMMF.Field;
13
- export declare function getRelatedDelegate<Types extends SchemaTypes>(name: string, builder: PothosSchemaTypes.SchemaBuilder<Types>, relation: string): string;
10
+ export declare function getModel<Types extends SchemaTypes>(name: string, builder: PothosSchemaTypes.SchemaBuilder<Types>): Prisma.DMMF.Model;
11
+ export declare function getCursorFormatter<Types extends SchemaTypes>(name: string, builder: PothosSchemaTypes.SchemaBuilder<Types>, cursor: string): (value: Record<string, unknown>) => string;
12
+ export declare function getCursorParser<Types extends SchemaTypes>(name: string, builder: PothosSchemaTypes.SchemaBuilder<Types>, cursor: string): (rawCursor: string) => {
13
+ [x: string]: unknown;
14
+ };
14
15
  export declare function getDelegateFromModel(client: Record<string, unknown>, model: string): PrismaDelegate;
15
- //# sourceMappingURL=refs.d.ts.map
16
+ //# sourceMappingURL=datamodel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datamodel.d.ts","sourceRoot":"","sources":["../../src/util/datamodel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAG5D,eAAO,MAAM,MAAM,qEAAwE,CAAC;AAC5F,eAAO,MAAM,aAAa,2DAEQ,OAAO,OAAO,EAAE,KAAK,OAAO,UAC3D,CAAC;AAEJ,eAAO,MAAM,gBAAgB,mFAG1B,CAAC;AAEJ,wBAAgB,eAAe,CAAC,KAAK,SAAS,WAAW,EACvD,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,GAC9C,eAAe,CAAC,gBAAgB,CAAC,CAWnC;AAED,wBAAgB,WAAW,CAAC,KAAK,SAAS,WAAW,EACnD,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,EAC/C,QAAQ,EAAE,MAAM,qBAejB;AAED,wBAAgB,QAAQ,CAAC,KAAK,SAAS,WAAW,EAChD,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,qBAahD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,SAAS,WAAW,EAC1D,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,EAC/C,MAAM,EAAE,MAAM,8CAMf;AAED,wBAAgB,eAAe,CAAC,KAAK,SAAS,WAAW,EACvD,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,EAC/C,MAAM,EAAE,MAAM,eAQK,MAAM;;EAG1B;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,kBAUlF"}
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getDelegateFromModel = exports.getRelatedDelegate = exports.getRelation = exports.setFindUniqueForRef = exports.getFindUniqueForRef = exports.getRefFromModel = exports.includeForRefMap = exports.findUniqueMap = exports.refMap = void 0;
4
- const object_ref_1 = require("./object-ref");
3
+ exports.getDelegateFromModel = exports.getCursorParser = exports.getCursorFormatter = exports.getModel = exports.getRelation = exports.getRefFromModel = exports.includeForRefMap = exports.findUniqueMap = exports.refMap = void 0;
4
+ const object_ref_1 = require("../object-ref");
5
+ const cursors_1 = require("./cursors");
5
6
  exports.refMap = new WeakMap();
6
7
  exports.findUniqueMap = new WeakMap();
7
8
  exports.includeForRefMap = new WeakMap();
@@ -16,28 +17,19 @@ function getRefFromModel(name, builder) {
16
17
  return cache.get(name);
17
18
  }
18
19
  exports.getRefFromModel = getRefFromModel;
19
- function getFindUniqueForRef(ref, builder) {
20
- if (!exports.findUniqueMap.has(builder)) {
21
- exports.findUniqueMap.set(builder, new Map());
22
- }
23
- const cache = exports.findUniqueMap.get(builder);
24
- if (!cache.has(ref)) {
25
- return null;
20
+ function getRelation(name, builder, relation) {
21
+ const modelData = getModel(name, builder);
22
+ const fieldData = modelData.fields.find((field) => field.name === relation);
23
+ if (!fieldData) {
24
+ throw new Error(`Field '${relation}' not found in model '${name}'`);
26
25
  }
27
- return cache.get(ref);
28
- }
29
- exports.getFindUniqueForRef = getFindUniqueForRef;
30
- function setFindUniqueForRef(ref, builder,
31
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
32
- findUnique) {
33
- if (!exports.findUniqueMap.has(builder)) {
34
- exports.findUniqueMap.set(builder, new Map());
26
+ if (fieldData.kind !== 'object') {
27
+ throw new Error(`Field ${relation} of model '${name}' is not a relation (${fieldData.kind})`);
35
28
  }
36
- const cache = exports.findUniqueMap.get(builder);
37
- cache.set(ref, findUnique);
29
+ return fieldData;
38
30
  }
39
- exports.setFindUniqueForRef = setFindUniqueForRef;
40
- function getRelation(name, builder, relation) {
31
+ exports.getRelation = getRelation;
32
+ function getModel(name, builder) {
41
33
  const { client } = builder.options.prisma;
42
34
  // eslint-disable-next-line no-underscore-dangle
43
35
  const dmmf = client
@@ -46,21 +38,26 @@ function getRelation(name, builder, relation) {
46
38
  if (!modelData) {
47
39
  throw new Error(`Model '${name}' not found in DMMF`);
48
40
  }
49
- const fieldData = modelData.fields.find((field) => field.name === relation);
50
- if (!fieldData) {
51
- throw new Error(`Field '${relation}' not found in model '${name}'`);
52
- }
53
- if (fieldData.kind !== 'object') {
54
- throw new Error(`Field ${relation} of model '${name}' is not a relation (${fieldData.kind})`);
55
- }
56
- return fieldData;
41
+ return modelData;
57
42
  }
58
- exports.getRelation = getRelation;
59
- function getRelatedDelegate(name, builder, relation) {
60
- const fieldData = getRelation(name, builder, relation);
61
- return fieldData.type;
43
+ exports.getModel = getModel;
44
+ function getCursorFormatter(name, builder, cursor) {
45
+ var _a, _b, _c;
46
+ const modelData = getModel(name, builder);
47
+ const primaryKey = (_b = (_a = modelData.primaryKey) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : (_c = modelData.primaryKey) === null || _c === void 0 ? void 0 : _c.fields.join('_');
48
+ return (0, cursors_1.formatCursor)(cursor === primaryKey ? modelData.primaryKey.fields : cursor);
49
+ }
50
+ exports.getCursorFormatter = getCursorFormatter;
51
+ function getCursorParser(name, builder, cursor) {
52
+ var _a, _b, _c;
53
+ const modelData = getModel(name, builder);
54
+ const primaryKey = (_b = (_a = modelData.primaryKey) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : (_c = modelData.primaryKey) === null || _c === void 0 ? void 0 : _c.fields.join('_');
55
+ const parser = cursor === primaryKey ? (0, cursors_1.parseCompositeCursor)(modelData.primaryKey.fields) : cursors_1.parseRawCursor;
56
+ return (rawCursor) => ({
57
+ [cursor]: parser(rawCursor),
58
+ });
62
59
  }
63
- exports.getRelatedDelegate = getRelatedDelegate;
60
+ exports.getCursorParser = getCursorParser;
64
61
  function getDelegateFromModel(client, model) {
65
62
  const lowerCase = `${model.slice(0, 1).toLowerCase()}${model.slice(1)}`;
66
63
  const delegate = lowerCase in client ? client[lowerCase] : null;
@@ -70,4 +67,4 @@ function getDelegateFromModel(client, model) {
70
67
  return delegate;
71
68
  }
72
69
  exports.getDelegateFromModel = getDelegateFromModel;
73
- //# sourceMappingURL=refs.js.map
70
+ //# sourceMappingURL=datamodel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datamodel.js","sourceRoot":"","sources":["../../src/util/datamodel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function deepEqual(left: unknown, right: unknown, ignore?: Set<string>): boolean;
2
+ //# sourceMappingURL=deep-equal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deep-equal.d.ts","sourceRoot":"","sources":["../../src/util/deep-equal.ts"],"names":[],"mappings":"AACA,wBAAgB,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,WAiD5E"}